diff --git a/.gitignore b/.gitignore index 574521980..42eb1d846 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ *.blend2 *.blend3 /.idea/ +*.xcf \ No newline at end of file diff --git a/API.md b/API.md index f2070b8e7..865630c78 100644 --- a/API.md +++ b/API.md @@ -41,6 +41,7 @@ A lot of things are possible by using one of the APIs in the mods. Note that not * Beds: `ITEMS/mcl_beds` * Buckets: `ITEMS/mcl_buckets` * Dispenser support: `ITEMS/REDSTONE/mcl_dispensers` +* Campfires: `ITEMS/mcl_campfires` ### Mobs * Mobs: `ENTITIES/mcl_mobs` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 232d577d2..dc8c4a5ee 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,8 +2,8 @@ So you want to contribute to MineClone2? Wow, thank you! :-) -MineClone2 is maintained by Nicu and Cora. If you have any -problems or questions, contact us (See Links section below). +MineClone2 is maintained by AncientMariner and Nicu. If you have any +problems or questions, contact us on Discord/Matrix (See Links section below). You can help with MineClone2's development in many different ways, whether you're a programmer or not. @@ -240,7 +240,7 @@ work causes problems, we ask you fix the issues as soon as possible. ### Changing Gameplay Pull Requests that change gameplay have to be properly researched and -need to state their sources. These PRs also need Fleckenstein's approval +need to state their sources. These PRs also need the maintainer's approval before they are merged. You can use these sources: @@ -375,7 +375,7 @@ merged. - Resolving conflicts and problems within the community #### Current maintainers -* Cora - responsible for gameplay review, publishing releases, +* AncientMariner - responsible for gameplay review, publishing releases, technical guidelines * Nicu - responsible for community related issues diff --git a/CREDITS.md b/CREDITS.md index 9c2930155..c1307a3bc 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -35,7 +35,8 @@ * SumianVoice * MrRar * talamh -* Faerraven +* Faerraven / Michieal +* FossFanatic ## Contributors * Laurent Rocher @@ -96,6 +97,12 @@ * TheOnlyJoeEnderman * Ranko Saotome * Gregor Parzefall +* Wbjitscool +* b3nderman +* CyberMango +* gldrk +* SmokeyDope +* atomdmac ## MineClone5 * kay27 @@ -147,11 +154,13 @@ * jordan4ibanez * paramat * cora +* Faerraven / Michieal ## 3D Models * 22i * tobyplowy * epCode +* Faerraven / Michieal ## Textures * XSSheep @@ -166,6 +175,7 @@ * RandomLegoBrick * cora * Faerraven / Michieal +* Nicu ## Translations * Wuzzy @@ -180,9 +190,13 @@ * snowyu * 3raven * SakuraRiu +* anarquimico +* syl ## Funders * 40W +* bauknecht +* Cora ## Special thanks * celeron55 for creating Minetest @@ -190,4 +204,7 @@ * wsor for working tirelessly in the shadows for the good of all of us, particularly helping with solving contentDB and copyright issues. * The workaholics who spent way too much time writing for the Minecraft Wiki. It's an invaluable resource for creating this game * Notch and Jeb for being the major forces behind Minecraft -* Dark Reaven Music (https://soundcloud.com/dark-reaven-music) for the main menu theme (Calmed Cube), which is licensed under https://creativecommons.org/licenses/by-sa/3.0/ +* Dark Reaven Music (https://soundcloud.com/dark-reaven-music) for the main menu theme (Calmed Cube) and Traitor (horizonchris96), which is licensed under https://creativecommons.org/licenses/by-sa/3.0/ +* Jester for helping to finely tune MineClone2 (https://www.youtube.com/@Jester-8-bit). Songs: Hailing Forest, Gift, 0dd BL0ck, Flock of One (License CC BY-SA 4.0) +* Exhale & Tim Unwin for some wonderful MineClone2 tracks (https://www.youtube.com/channel/UClFo_JDWoG4NGrPQY0JPD_g). Songs: Valley of Ghosts, Lonely Blossom, Farmer (License CC BY-SA 4.0) +* Diminixed for 3 fantastic tracks and remastering and leveling volumes. Songs: Afternoon Lullaby (pianowtune02), Spooled (ambientwip02), Never Grow Up (License CC BY-SA 4.0) diff --git a/HOW_TO_PLAY.md b/HOW_TO_PLAY.md new file mode 100644 index 000000000..bc6cad1a5 --- /dev/null +++ b/HOW_TO_PLAY.md @@ -0,0 +1,21 @@ +Survive, farm, build, explore, play with friends, and do much more. Inspired by a well known block game, pushing beyond. + +How to play: + +#### Download Minetest +- Navigate to https://www.minetest.net/ to download the client. +- Once installed, open and select the "Content" tab + +#### Install MineClone2 from ContentDB +- Click "Browse Online Content" and filter by Games (select "Games" from the dropdown box) +- Find "MineClone2" (should be first on the list or on the first page) +- Click the [+] button next to MineClone2 and wait for download to finish +- Click "Back to Main Menu" + +#### Create new world and play +- Click "Start Game" tab +- At the bottom click the MineClone2 icon (the 2 dirt with grass blocks) +- Click "New", give your world a name +- You can leave seed blank or put in a word of your choice +- Select your new world +- Click "Play Game" and enjoy! \ No newline at end of file diff --git a/MODELS.md b/MODELS.md new file mode 100644 index 000000000..4b9094c33 --- /dev/null +++ b/MODELS.md @@ -0,0 +1,70 @@ +#Models in Minetest/Mineclone2 + +Models are an important part of all entities & unique nodes in Mineclone2. They provide a 3 dimensional map of an object for which textures are then applied to. This document is for modders, it quickly highlights some important information for the software needed to open models in Mineclone2. + +## Minetest Wiki +For more detailed information on actually using blender to create and modify models for Minetest/Mineclone2, please visit the Minetest wiki's page on using Blender [Here](https://wiki.minetest.net/Using_Blender) + +##Recommended software + +###Blender + +Blender is a very popular and free modeling software supported on Windows, MacOS, and most Linux distributions. It is recommended to use Blender to create and modify 3D models within the minetest engine. + +Download blender [Here](https://www.blender.org/download/) + +### .b3d addon for blender + +Blitz 3D (.b3d) Is one of the main animated model formats used for entities in the minetest engine. It cannot be imported to blender without a plugin called "Import-Export:Bitz 3D format (.b3d)". + +The most up to date version of this Blender plugin can be downloaded [Here](https://github.com/GreenXenith/io_scene_b3d/releases/tag/f189786) + +##Types of model formats + +###Animated, skinned models +* Blitz 3D files (.b3d) + +* Microsoft DirectX (.x) (binary & text, compression is not supported) + +###Static meshes +* Wavefront OBJ (.obj) + +Note: The sometimes accompanying .mtl files are not supported and can safely be deleted. + +Note: Do not use .b3d and .x files for static meshes at the moment, Minetest currently spawns animated mesh scene nodes for these, which may result in reduced performance. + +### Supported texture formats + +* .png + +* .jpg + +* .bmp (depreciated, please use .png or .jpg) + +* .tga (depreciated, please use .png or .jpg) + +Note: Any formats not mentioned above but known to work in the past were removed in 5.5.0 and aren't supported anymore. + +##Pros & Cons of .b3d vs .x + +###B3D +* [+] Binary format means a small size + +* [-] Difficult to postprocess after exporting + +* [-] Difficult to debug problems + +###X (text version) +* [+] Can be parsed easily with lua scripts + +* [+] Can be easily generated by scripts + +* [+] Easy to debug issues (you can just read it) + +* [+] Can be optimized by quantizing some data + +* [-] Blender exporter is kinda buggy and inefficient + +* [-] Probably still bigger than an equivalent .b3d + +Note: Avoid using the binary X format! It's actually just a tokenized version of the ASCII representation, and may actually be less efficient than a sufficiently optimized text .x file! diff --git a/README.md b/README.md index f69647efe..2d2eafb5d 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ An unofficial Minecraft-like game for Minetest. Forked from MineClone by davedevils. Developed by many people. Not developed or endorsed by Mojang AB. -Version: 0.82 (in development) - ### Gameplay You start in a randomly-generated world made entirely of cubes. You can explore the world and dig and build almost every block in the world to create new @@ -80,7 +78,7 @@ The MineClone2 repository is hosted at Mesehub. To contribute or report issues, * Mesehub: * Discord: -* YouTube +* YouTube: * IRC: * Matrix: * Reddit: diff --git a/README_locale/README.fr.md b/README_locale/README.fr.md index 989b6d377..9317f09f3 100644 --- a/README_locale/README.fr.md +++ b/README_locale/README.fr.md @@ -1,48 +1,45 @@ # MineClone2 -Un jeu non-officiel similaire à Minecraft pour Minetest. Forké depuis Mineclone par davedevils. Développé par de nombreuses personnes. Ni développé ou supporté par Mojang AB. - - Version: 0.79 (en dévelopment) +Un jeu non-officiel similaire à Minecraft pour Minetest. Forké depuis Mineclone par davedevils. Développé par de nombreuses personnes. Pas développé ni supporté par Mojang AB. ### Gameplay - Vous atterissez dans un monde fait entièrement de cubes et généré aléatoirement. Vous pouvez explorer le monde, miner et construire presque n'importe quel bloc pour créer de nouvelles structures. Vous pouvez choisir de jouer en "mode survie" dans lequel vous devez combattre des monstres et la faim et progresser lentement dans différents aspects du jeu, comme l'extraction de minerai, l'agriculture, la construction de machines et ainsi de suite. Ou alors vous pouvez jouer en "mode créatif" où vous pouvez construire à peu près n'importe quoi instantanément. ### Résumé du Gameplay * Jeu de type bac-à-sable, sans objetifs -* Survie : combattre des monstres hostiles et la faim -* Creuser pour du minerai et d'autres trésors -* Magie : gagner de l'expérience et enchanter les outils -* Utiliser les blocs ramassés pour construire de magnifiques bâtiments, votre imagination est la limite -* Ramasser des fleurs (et d'autres sources de teinture) et colorez votre monde +* Survie : combattez des monstres hostiles et la faim +* Creusez pour du minerai et d'autres trésors +* Magie : gagnez de l'expérience et enchantez les outils +* Utilisez les blocs ramassés pour construire de magnifiques bâtiments, votre imagination est la seule limite +* Ramassez des fleurs (et d'autres sources de teinture) et colorez votre monde * Trouvez des graines et commencez à cultiver * Trouvez ou fabriquez des centaines d'objets -* Construisez un réseau ferroviaire complexe et amusez vous avec les wagonnets +* Construisez un réseau ferroviaire complexe et amusez-vous avec les wagonnets * En mode créatif vous pouvez construire presque n'importe quoi gratuitement et sans limite ## Comment jouer (démarrer rapidement) ### Commencer * **Frappez un arbre** jusqu'à ce qu'il casse et donne du bois * Placez le **bois dans la grille 2x2** (la "grille de fabrication" de votre menu d'inventaire) et fabriquez 4 planches de bois -* Placer les 4 planches de bois dans la grille 2x2 et **fabriquez une table d'artisanat** -* **Cliquez droit la table d'artisanat** (icone livre) pour apprendre toutes les recettes possibles +* Placer les 4 planches de bois dans la grille 2x2 et **fabriquez un établi** +* **Faites un clic droit sur l'établi** (icone livre) pour apprendre toutes les recettes possibles * **Fabriquez une pioche de bois** pour miner la pierre -* Différents outils minent différentes sortes de blocs. Essayez les ! -* Continuez à jouer comme vous voulez. Amusez vous ! +* Différents outils minent différentes sortes de blocs. Essayez-les ! +* Continuez à jouer comme vous voulez. Amusez-vous ! ### Agriculture * Trouvez des graines * Fabriquez une houe -* Cliquez droit la terre ou des blocs similaires avec la houe pour créer des terres agricoles +* Faites un clic droit sur la terre ou des blocs similaires avec la houe pour créer des terres agricoles * Placer des graines sur des terres agricoles et regardez les pousser * Récoltez les plantes une fois matûres * Les terres agricoles proche de l'eau deviennent humides et accélèrent la croissance ### Four -* Fabriquer un Four +* Fabriquez un four * Le four permet d'obtenir plus d'objets -* L'emplacement du haut doit contienir un objet fondable (par ex : minerai de fer) -* L'emplacement du bas doit contienir un objet combustible (par ex : charbon) +* L'emplacement du haut doit contenir un objet fondable (par ex : minerai de fer) +* L'emplacement du bas doit contenir un objet combustible (par ex : charbon) * Voir le guide d'artisanat pour en apprendre plus sur les objets fondables et combustibles ### Aide supplémentaire @@ -62,43 +59,43 @@ Il n'y a pas de support de MineClone2 dans les versions développement de Minete Pour installer MineClone2 (si ce n'est pas déjà fait), déplacez ce dossier dans le dossier “games” de Minetest. Consultez l'aide de Minetest pour en apprendre plus. ## Liens utiles -Le dépôt de MineClone2 est hébergé sur Mesehub. Pour contribuer ou rapporter des problèmes, aller là-bas. +Le dépôt de MineClone2 est hébergé sur Mesehub. Pour contribuer ou signaler des problèmes, allez là-bas. -* Mesehub: -* Discord: -* YouTube -* IRC: -* Matrix: -* Reddit: -* Minetest forums: -* ContentDB: -* OpenCollective: +* Mesehub : +* Discord : +* YouTube : +* IRC : +* Matrix : +* Reddit : +* Forums Minetest : +* ContentDB : +* OpenCollective : ## Objectif -* Créer un clone stable, moddable, libre et gratuit basé sur le moteur de jeu Minetest avec des fonctionalités abouties, utilisable à la fois en mode solo et multijoueur. Actuellement, beaucoup des fonctionalités de **Minecraft Java Edition** sont déjà implémentées et leur amélioration est prioritaire sur les nouvelles demandes. -* Avec une priorité moindre, implémenter les fonctionalités des versions **Minecraft + OptiFine** (OtiFine autant que supporté par le moteur Minetest). Cela signifie que les fonctionalités présentes dans les versions listées sont priorisées. -* Dans l'idéal, créer une expérience performante qui tourne bien sur des ordinateurs à basse performance. Malheureusement, en raison des mécanismes de Minecraft et des limitations du moteur Minetest ainsi que de la petite taille de la communauté de joueurs sur des ordinateurs à basse performances, les optimisations sont difficiles à explorer. +* Essentiellement, créer un clone de Minecraft stable, moddable, libre et gratuit basé sur le moteur de jeu Minetest avec des fonctionnalités abouties, utilisable à la fois en mode solo et multijoueur. Actuellement, beaucoup des fonctionnalités de **Minecraft Java Edition** sont déjà implémentées et leur amélioration est prioritaire sur les nouvelles demandes. +* Avec une priorité moindre, implémenter les fonctionnalités des versions **Minecraft + OptiFine** (OptiFine autant que supporté par le moteur Minetest). Cela signifie que les fonctionnalités présentes dans les versions listées sont priorisées. +* Dans l'idéal, créer une expérience performante qui tourne bien sur des ordinateurs à basse performance. Malheureusement, en raison des mécanismes de Minecraft et des limitations du moteur Minetest ainsi que de la petite taille de la communauté de joueurs sur des ordinateurs à basses performances, les optimisations sont difficiles à explorer. ## Statut de complétion Ce jeu est actuellement au stade **beta**. -Il est jouable mais incomplet en fonctionalités. +Il est jouable mais incomplet en fonctionnalités. La rétro-compatibilité n'est pas entièrement garantie, mettre votre monde à jour peut causer de petits bugs. Si vous voulez utiliser la version de développement de MineClone2 en production, la branche master est habituellement relativement stable. Les branches de test fusionnent souvent des pull requests expérimentales et doivent être considérées comme moins stable. -Les principales fonctionalités suivantes sont disponibles : +Les principales fonctionnalités suivantes sont disponibles : * Outils, armes * Armure -* Système de fabrication : grille 2x2, table d'artisanat (grille 3x3), four, incluant un guide de fabrication -* Coffres, grands coffres, coffre ender, boite de shulker +* Système de fabrication : grille 2x2, établi (grille 3x3), four, incluant un guide de fabrication +* Coffres, grands coffres, coffre ender, boites de Shulker * Fours, entonnoirs * Faim * La plupart des monstres et animaux -* Tout les minerais de Minecraft +* Tous les minerais de Minecraft * La plupart des blocs de l'overworld * Eau et lave * Météo -* 28 biomes + 5 biomes du nether +* 28 biomes + 5 biomes du Nether * Le Nether, monde souterrain brûlant dans une autre dimension * Circuits Redstone (partiel) * Effets de Statut (partiel) @@ -107,10 +104,10 @@ Les principales fonctionalités suivantes sont disponibles : * Brassage, potions, flèches trempées (partiel) * Bâteaux * Feu -* Blocs de construction : escaliers, dalles, portes, trappes, barrière, portillon, muret +* Blocs de construction : escaliers, dalles, portes, trappes, barrières, portillons, murets * Horloge * Boussole -* Eponge +* Éponge * Bloc de slime * Petites plantes et pousses * Teintures @@ -118,26 +115,30 @@ Les principales fonctionalités suivantes sont disponibles : * Blocs de décoration : verre, verre teinté, vitres, barres de fer, terre cuites (et couleurs), têtes et plus * Cadres d'objets * Juke-boxes +* Lits +* Menu d'inventaire +* Inventaire créatif +* Agriculture * Livres pour écrire * Commandes * Villages * L'End * et plus ! -Les fonctionalités suivantes sont incomplètes : +Les fonctionnalités suivantes sont incomplètes : -* certains monstres et animaux -* certains composants de Redstone +* Certains monstres et animaux +* Certains composants de Redstone * Wagonnets spéciaux -* quelques blocs et objets non-triviaux +* Quelques blocs et objets non-triviaux -Fonctionalités bonus (absentes de Minecraft) : +Fonctionnalités bonus (absentes de Minecraft) : * Guide d'artisanat intégré au jeu qui montre les recettes d'artisanat et de cuisson * Système d'aide intégré au jeu contenant des informations à propos des techniques de base, blocs, objets et plus -* Recettes d'artisanat temporaires. Elles existent uniquement pour rendre des objets accessibles qui ne le seraient pas autrement sauf en mode créatif. Elles seront retirées au cours de l'avancement du développement et de l'ajout de nouvelles fonctionalités. +* Recettes d'artisanat temporaires. Elles existent uniquement pour rendre des objets accessibles qui ne le seraient pas autrement sauf en mode créatif. Elles seront retirées au cours de l'avancement du développement et de l'ajout de nouvelles fonctionnalités. * Pousses dans les coffres en mapgen v6 -* Entièrement moddable (grâce la puissante API lua de Minetest) +* Entièrement moddable (grâce la puissante API Lua de Minetest) * Nouveaux blocs et objets : * Outil de recherche, montre l'aide de ce qu'il touche * Plus de dalles et d'escaliers @@ -149,22 +150,24 @@ Fonctionalités bonus (absentes de Minecraft) : * Avant-poste du Nether (Forteresse) Différences techniques avec Minecraft : + * Limite en hauteur de 31000 blocs (bien plus grand que Minecraft) * Taille horizontale du monde 62000×62000 blocs (bien plus petit que Minecraft mais toujours très grand) * Toujours assez incomplet et buggé -* Des blocs, objets, ennemis et fonctionalités manquent +* Des blocs, objets, ennemis et fonctionnalités manquent * Quelques objets ont des noms légèrement différents pour être plus faciles à distinguer * Des musiques différentes pour le juke-boxe * Des textures différentes (Pixel Perfection) * Des sons différents (sources diverses) * Un moteur de jeu différent (Minetest) * Des bonus cachés différents + ...et enfin MineClone2 est un logiciel libre ! ## Autres fichiers readme -* `LICENSE.txt`: Le texte de la license GPLv3 -* `CONTRIBUTING.md`: Information pour ceux qui veulent contribuer -* `API.md`: Pour les modders Minetest qui veulent modder ce jeu -* `LEGAL.md`: Information légale -* `CREDITS.md`: Liste des contributeurs \ No newline at end of file +* `LICENSE.txt` : Le texte de la licence GPLv3 +* `CONTRIBUTING.md` : Information pour ceux qui veulent contribuer +* `API.md` : Pour les modders Minetest qui veulent modder ce jeu +* `LEGAL.md` : Information légale +* `CREDITS.md` : Liste de toutes les personnes qui ont contribué diff --git a/RELEASE.md b/RELEASE.md index 01eb71e7f..144e1729a 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,19 +1,75 @@ +### Standard Release + #File to document release steps with a view to evolving into a script #Update CREDITS.md -#Update version in README.md (soon to be game.conf from of 0.82.0) +#Update version in game.conf lua tools/generate_ingame_credits.lua git add CREDITS.md git add mods/HUD/mcl_credits/people.lua +git add game.conf -git add README.md -# To uncomment when applicable -#git add game.conf +#git add RELEASE.md -git commit -m "Pre-release update credits and set version 0.81.1" +git commit -m "Pre-release update credits and set version 0.82.0" -git tag 0.81.1 +git tag 0.82.0 -git push origin 0.81.1 \ No newline at end of file +git push origin 0.82.0 + +#Update version in game.conf to -SNAPSHOT + +git commit -m "Post-release set version 0.82.0-SNAPSHOT" + +### Hotfix Release + +##### Prepare release branch + +When hotfixing, you should never release new features. Any new code increases risk of new bugs which has additional testing/release concerns. +To mitigate this, you just release the last release, and the relevant bug fix. For this, we do the following: + +* Create release branch from the last release tag, push it: + +git checkout -b release/0.82.1 0.82.0 + +git push origin release/0.82.1 + +##### Prepare feature branch and fix + +* Create feature branch from that release branch (can review it to check only fix is there, nothing else, and use to also merge into master separately) + +git checkout -b hotfix_bug_1_branch + +* Fix crash/serious bug and commit +* Push branch and create pr to the release and also the master branch (Do not rebase, to reduce merge conflict risk. Do not delete after first merge or it needs to be repushed) + +##### Update version and tag the release + +* After all fixes are in release branch, pull it locally (best to avoid a merge conflict as feature branch will need to be merged into master also, which already changed version): + +* Update version in game.conf to hotfix version and commit it. Example: version=0.82.1 + +* Tag it, push tag and branch: + +git tag 0.82.1 + +git push origin 0.82.1 + +git push origin release/0.82.1 + +Note: If you have to do more than 1 hotfix release, can do it on the same release branch. + +### Release via ContentDB + +* Go to MineClone2 page (https://content.minetest.net/packages/Wuzzy/mineclone2/) +* Click +Release +* Enter the release tag number in the title and Git reference box. For example (without quotes): "0.82.1" +* In the minimum minetest version, put the oldest supported version (as of 14/02/2023 it is 5.5), leave the Maximum minetest version blank +* Click save. Release is now live. + +##### Inform people + +* Add a comment to the forum post with the release number and what is involved, and maintainer will update main post. +* Add a comment in Discord announcement \ No newline at end of file diff --git a/game.conf b/game.conf index 1fa1d6671..b364f026f 100644 --- a/game.conf +++ b/game.conf @@ -1,4 +1,4 @@ title = MineClone 2 description = A survival sandbox game. Survive, gather, hunt, build, explore, and do much more. disallowed_mapgens = v6 -version=MCL2-0.82-indev \ No newline at end of file +version=0.82.0-SNAPSHOT \ No newline at end of file diff --git a/menu/footer.png b/menu/footer.png index 72f80a43c..fff8c3f64 100644 Binary files a/menu/footer.png and b/menu/footer.png differ diff --git a/mods/CORE/_mcl_autogroup/init.lua b/mods/CORE/_mcl_autogroup/init.lua index e04fb2eac..c0c5021b5 100644 --- a/mods/CORE/_mcl_autogroup/init.lua +++ b/mods/CORE/_mcl_autogroup/init.lua @@ -204,7 +204,7 @@ end -- Checks if the given node would drop its useful drop if dug by a given tool. -- Returns true if it will yield its useful drop, false otherwise. -function mcl_autogroup.can_harvest(nodename, toolname) +function mcl_autogroup.can_harvest(nodename, toolname, player) local ndef = minetest.registered_nodes[nodename] if not ndef then @@ -228,7 +228,9 @@ function mcl_autogroup.can_harvest(nodename, toolname) end -- Check if it can be dug by hand - local tdef = minetest.registered_tools[""] + if not player or not player:is_player() then return false end + local name = player:get_inventory():get_stack("hand", 1):get_name() + local tdef = minetest.registered_items[name] if tdef then for g, gdef in pairs(tdef._mcl_diggroups) do if ndef.groups[g] then @@ -260,7 +262,7 @@ local function get_tool_capabilities(tdef) -- If the damage group and punch interval from hand is not included, -- then the user will not be able to attack with the tool. - local hand_toolcaps = minetest.registered_tools[""].tool_capabilities + local hand_toolcaps = mcl_meshhand.survival_hand_tool_caps return { full_punch_interval = hand_toolcaps.full_punch_interval, damage_groups = hand_toolcaps.damage_groups @@ -280,7 +282,7 @@ end -- would have to add _mcl_autogroup as a dependency which would break the mod -- loading order. function mcl_autogroup.get_groupcaps(toolname, efficiency) - local tdef = minetest.registered_tools[toolname] + local tdef = minetest.registered_items[toolname] local groupcaps = table.copy(get_tool_capabilities(tdef).groupcaps or {}) add_groupcaps(toolname, groupcaps, tdef._mcl_diggroups, efficiency) return groupcaps @@ -298,6 +300,10 @@ end -- loading order. function mcl_autogroup.get_wear(toolname, diggroup) local tdef = minetest.registered_tools[toolname] + if not tdef then + minetest.log("warning", "Adding wear for tool: " .. tostring(toolname) .. " failed with diggroup: " .. tostring(diggroup)) + return nil + end local uses = tdef._mcl_diggroups[diggroup].uses return math.ceil(65535 / uses) end @@ -350,7 +356,7 @@ local function overwrite() end end - for tname, tdef in pairs(minetest.registered_tools) do + for tname, tdef in pairs(minetest.registered_items) do -- Assign groupcaps for digging the registered digging groups -- depending on the _mcl_diggroups in the tool definition if tdef._mcl_diggroups then diff --git a/mods/CORE/mcl_autogroup/API.md b/mods/CORE/mcl_autogroup/API.md index 79b9770b5..b3a913ab6 100644 --- a/mods/CORE/mcl_autogroup/API.md +++ b/mods/CORE/mcl_autogroup/API.md @@ -1,10 +1,11 @@ # mcl_autogroup This mod emulate digging times from mc. -## mcl_autogroup.can_harvest(nodename, toolname) -Return true if can be dig with . +## mcl_autogroup.can_harvest(nodename, toolname, player) +Return true if can be dig with by . * nodename: string, valid nodename * toolname: (optional) string, valid toolname +* player: (optinal) ObjectRef, valid player ## mcl_autogroup.get_groupcaps(toolname, efficiency) This function is used to calculate diggroups for tools. diff --git a/mods/CORE/mcl_damage/init.lua b/mods/CORE/mcl_damage/init.lua index 773e7a43e..8804b8561 100644 --- a/mods/CORE/mcl_damage/init.lua +++ b/mods/CORE/mcl_damage/init.lua @@ -155,7 +155,6 @@ end, true) minetest.register_on_player_hpchange(function(player, hp_change, mt_reason) if not damage_enabled then return 0 end if player:get_hp() > 0 then - mt_reason.approved = true if hp_change < 0 then mcl_damage.run_damage_callbacks(player, -hp_change, mcl_damage.from_mt(mt_reason)) end @@ -163,9 +162,7 @@ minetest.register_on_player_hpchange(function(player, hp_change, mt_reason) end, false) minetest.register_on_dieplayer(function(player, mt_reason) - if mt_reason.approved then - mcl_damage.run_death_callbacks(player, mcl_damage.from_mt(mt_reason)) - end + mcl_damage.run_death_callbacks(player, mcl_damage.from_mt(mt_reason)) minetest.log("action","Player "..player:get_player_name().." died at "..minetest.pos_to_string(vector.round(player:get_pos()))) end) diff --git a/mods/CORE/mcl_explosions/init.lua b/mods/CORE/mcl_explosions/init.lua index b67c7c6a2..2b8b25b1e 100644 --- a/mods/CORE/mcl_explosions/init.lua +++ b/mods/CORE/mcl_explosions/init.lua @@ -13,6 +13,7 @@ under the LGPLv2.1 license. mcl_explosions = {} local mod_fire = minetest.get_modpath("mcl_fire") +local explosions_griefing = minetest.settings:get_bool("mcl_explosions_griefing", true) --local CONTENT_FIRE = minetest.get_content_id("mcl_fire:fire") local math = math @@ -191,7 +192,7 @@ local function trace_explode(pos, strength, raydirs, radius, info, direct, sourc local grief_protected = info.grief_protected -- Trace rays for environment destruction - if info.griefing then + if info.griefing and explosions_griefing then for i = 1, #raydirs do local rpos_x = pos.x local rpos_y = pos.y diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_mob_death.png b/mods/CORE/mcl_particles/textures/mcl_particles_mob_death.png deleted file mode 100644 index 6dc9cdc69..000000000 Binary files a/mods/CORE/mcl_particles/textures/mcl_particles_mob_death.png and /dev/null differ diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_smoke_anim.png b/mods/CORE/mcl_particles/textures/mcl_particles_smoke_anim.png deleted file mode 100644 index 6c85a6feb..000000000 Binary files a/mods/CORE/mcl_particles/textures/mcl_particles_smoke_anim.png and /dev/null differ diff --git a/mods/CORE/mcl_sounds/sounds/default_grass_footstep.1.ogg b/mods/CORE/mcl_sounds/sounds/default_grass_footstep.1.ogg index a04cdb47c..22d1ad6b8 100644 Binary files a/mods/CORE/mcl_sounds/sounds/default_grass_footstep.1.ogg and b/mods/CORE/mcl_sounds/sounds/default_grass_footstep.1.ogg differ diff --git a/mods/CORE/mcl_sounds/sounds/default_grass_footstep.2.ogg b/mods/CORE/mcl_sounds/sounds/default_grass_footstep.2.ogg index d193068d2..4ccd8a0f3 100644 Binary files a/mods/CORE/mcl_sounds/sounds/default_grass_footstep.2.ogg and b/mods/CORE/mcl_sounds/sounds/default_grass_footstep.2.ogg differ diff --git a/mods/CORE/mcl_sounds/sounds/default_grass_footstep.3.ogg b/mods/CORE/mcl_sounds/sounds/default_grass_footstep.3.ogg index e1897ea38..20db84eda 100644 Binary files a/mods/CORE/mcl_sounds/sounds/default_grass_footstep.3.ogg and b/mods/CORE/mcl_sounds/sounds/default_grass_footstep.3.ogg differ diff --git a/mods/CORE/mcl_util/init.lua b/mods/CORE/mcl_util/init.lua index 4684234e5..b6c0956cd 100644 --- a/mods/CORE/mcl_util/init.lua +++ b/mods/CORE/mcl_util/init.lua @@ -2,8 +2,8 @@ mcl_util = {} -- Updates all values in t using values from to*. function table.update(t, ...) - for _, to in ipairs{...} do - for k,v in pairs(to) do + for _, to in ipairs {...} do + for k, v in pairs(to) do t[k] = v end end @@ -12,8 +12,8 @@ end -- Updates nil values in t using values from to*. function table.update_nil(t, ...) - for _, to in ipairs{...} do - for k,v in pairs(to) do + for _, to in ipairs {...} do + for k, v in pairs(to) do if t[k] == nil then t[k] = v end @@ -22,9 +22,9 @@ function table.update_nil(t, ...) return t end -local LOGGING_ON = minetest.settings:get_bool("mcl_logging_default",false) +local LOGGING_ON = minetest.settings:get_bool("mcl_logging_default", false) local LOG_MODULE = "[MCL2]" -function mcl_util.mcl_log (message, module, bypass_default_logger) +function mcl_util.mcl_log(message, module, bypass_default_logger) local selected_module = LOG_MODULE if module then selected_module = module @@ -34,7 +34,6 @@ function mcl_util.mcl_log (message, module, bypass_default_logger) end end - function mcl_util.file_exists(name) if type(name) ~= "string" then return end local f = io.open(name) @@ -69,7 +68,7 @@ function mcl_util.rotate_axis_and_place(itemstack, placer, pointed_thing, infini local undef = minetest.registered_nodes[unode.name] if undef and undef.on_rightclick then undef.on_rightclick(pointed_thing.under, unode, placer, - itemstack, pointed_thing) + itemstack, pointed_thing) return end local fdir = minetest.dir_to_facedir(placer:get_look_dir()) @@ -151,23 +150,23 @@ end function mcl_util.get_double_container_neighbor_pos(pos, param2, side) if side == "right" then if param2 == 0 then - return {x=pos.x-1, y=pos.y, z=pos.z} + return {x = pos.x - 1, y = pos.y, z = pos.z} elseif param2 == 1 then - return {x=pos.x, y=pos.y, z=pos.z+1} + return {x = pos.x, y = pos.y, z = pos.z + 1} elseif param2 == 2 then - return {x=pos.x+1, y=pos.y, z=pos.z} + return {x = pos.x + 1, y = pos.y, z = pos.z} elseif param2 == 3 then - return {x=pos.x, y=pos.y, z=pos.z-1} + return {x = pos.x, y = pos.y, z = pos.z - 1} end else if param2 == 0 then - return {x=pos.x+1, y=pos.y, z=pos.z} + return {x = pos.x + 1, y = pos.y, z = pos.z} elseif param2 == 1 then - return {x=pos.x, y=pos.y, z=pos.z-1} + return {x = pos.x, y = pos.y, z = pos.z - 1} elseif param2 == 2 then - return {x=pos.x-1, y=pos.y, z=pos.z} + return {x = pos.x - 1, y = pos.y, z = pos.z} elseif param2 == 3 then - return {x=pos.x, y=pos.y, z=pos.z+1} + return {x = pos.x, y = pos.y, z = pos.z + 1} end end end @@ -185,7 +184,7 @@ end function mcl_util.get_eligible_transfer_item_slot(src_inventory, src_list, dst_inventory, dst_list, condition) local size = src_inventory:get_size(src_list) local stack - for i=1, size do + for i = 1, size do stack = src_inventory:get_stack(src_list, i) if not stack:is_empty() and (condition == nil or condition(stack, src_inventory, src_list, dst_inventory, dst_list)) then return i @@ -288,10 +287,10 @@ function mcl_util.move_item_container(source_pos, destination_pos, source_list, -- Main inventory for most container types if sctype == 2 or sctype == 3 or sctype == 5 or sctype == 6 or sctype == 7 then source_list = "main" - -- Furnace: output + -- Furnace: output elseif sctype == 4 then source_list = "dst" - -- Unknown source container type. Bail out + -- Unknown source container type. Bail out else return false end @@ -344,7 +343,7 @@ function mcl_util.move_item_container(source_pos, destination_pos, source_list, -- Main inventory for most container types if dctype == 2 or dctype == 3 or dctype == 5 or dctype == 6 or dctype == 7 then destination_list = "main" - -- Furnace source slot + -- Furnace source slot elseif dctype == 4 then destination_list = "src" end @@ -409,7 +408,7 @@ end -- Returns true if item (itemstring or ItemStack) can be used as a furnace fuel. -- Returns false otherwise function mcl_util.is_fuel(item) - return minetest.get_craft_result({method="fuel", width=1, items={item}}).time ~= 0 + return minetest.get_craft_result({method = "fuel", width = 1, items = {item}}).time ~= 0 end -- Returns a on_place function for plants @@ -456,7 +455,7 @@ function mcl_util.generate_on_place_plant_function(condition) if success then if idef.sounds and idef.sounds.place then - minetest.sound_play(idef.sounds.place, {pos=pointed_thing.above, gain=1}, true) + minetest.sound_play(idef.sounds.place, {pos = pointed_thing.above, gain = 1}, true) end end itemstack = new_itemstack @@ -557,6 +556,11 @@ function mcl_util.deal_damage(target, damage, mcl_reason) end end + local is_immortal = target:get_armor_groups().immortal or 0 + if is_immortal>0 then + return + end + local hp = target:get_hp() if hp > 0 then @@ -643,78 +647,80 @@ end local function roundN(n, d) if type(n) ~= "number" then return n end - local m = 10^d - return math.floor(n * m + 0.5) / m + local m = 10 ^ d + return math.floor(n * m + 0.5) / m end -local function close_enough(a,b) - local rt=true +local function close_enough(a, b) + local rt = true if type(a) == "table" and type(b) == "table" then - for k,v in pairs(a) do - if roundN(v,2) ~= roundN(b[k],2) then - rt=false + for k, v in pairs(a) do + if roundN(v, 2) ~= roundN(b[k], 2) then + rt = false break end end else - rt = roundN(a,2) == roundN(b,2) + rt = roundN(a, 2) == roundN(b, 2) end return rt end -local function props_changed(props,oldprops) - local changed=false - local p={} - for k,v in pairs(props) do - if not close_enough(v,oldprops[k]) then - p[k]=v - changed=true +local function props_changed(props, oldprops) + local changed = false + local p = {} + for k, v in pairs(props) do + if not close_enough(v, oldprops[k]) then + p[k] = v + changed = true end end - return changed,p + return changed, p end --tests for roundN -local test_round1=15 -local test_round2=15.00199999999 -local test_round3=15.00111111 -local test_round4=15.00999999 +local test_round1 = 15 +local test_round2 = 15.00199999999 +local test_round3 = 15.00111111 +local test_round4 = 15.00999999 -assert(roundN(test_round1,2)==roundN(test_round1,2)) -assert(roundN(test_round1,2)==roundN(test_round2,2)) -assert(roundN(test_round1,2)==roundN(test_round3,2)) -assert(roundN(test_round1,2)~=roundN(test_round4,2)) +assert(roundN(test_round1, 2) == roundN(test_round1, 2)) +assert(roundN(test_round1, 2) == roundN(test_round2, 2)) +assert(roundN(test_round1, 2) == roundN(test_round3, 2)) +assert(roundN(test_round1, 2) ~= roundN(test_round4, 2)) -- tests for close_enough -local test_cb = {-0.35,0,-0.35,0.35,0.8,0.35} --collisionboxes -local test_cb_close = {-0.351213,0,-0.35,0.35,0.8,0.351212} -local test_cb_diff = {-0.35,0,-1.35,0.35,0.8,0.35} +local test_cb = {-0.35, 0, -0.35, 0.35, 0.8, 0.35} --collisionboxes +local test_cb_close = {-0.351213, 0, -0.35, 0.35, 0.8, 0.351212} +local test_cb_diff = {-0.35, 0, -1.35, 0.35, 0.8, 0.35} local test_eh = 1.65 --eye height local test_eh_close = 1.65123123 local test_eh_diff = 1.35 -local test_nt = { r = 225, b = 225, a = 225, g = 225 } --nametag -local test_nt_diff = { r = 225, b = 225, a = 0, g = 225 } +local test_nt = {r = 225, b = 225, a = 225, g = 225} --nametag +local test_nt_diff = {r = 225, b = 225, a = 0, g = 225} -assert(close_enough(test_cb,test_cb_close)) -assert(not close_enough(test_cb,test_cb_diff)) -assert(close_enough(test_eh,test_eh_close)) -assert(not close_enough(test_eh,test_eh_diff)) -assert(not close_enough(test_nt,test_nt_diff)) --no floats involved here +assert(close_enough(test_cb, test_cb_close)) +assert(not close_enough(test_cb, test_cb_diff)) +assert(close_enough(test_eh, test_eh_close)) +assert(not close_enough(test_eh, test_eh_diff)) +assert(not close_enough(test_nt, test_nt_diff)) --no floats involved here --tests for properties_changed -local test_properties_set1={collisionbox = {-0.35,0,-0.35,0.35,0.8,0.35}, eye_height = 0.65, nametag_color = { r = 225, b = 225, a = 225, g = 225 }} -local test_properties_set2={collisionbox = {-0.35,0,-0.35,0.35,0.8,0.35}, eye_height = 1.35, nametag_color = { r = 225, b = 225, a = 225, g = 225 }} +local test_properties_set1 = {collisionbox = {-0.35, 0, -0.35, 0.35, 0.8, 0.35}, eye_height = 0.65, + nametag_color = {r = 225, b = 225, a = 225, g = 225}} +local test_properties_set2 = {collisionbox = {-0.35, 0, -0.35, 0.35, 0.8, 0.35}, eye_height = 1.35, + nametag_color = {r = 225, b = 225, a = 225, g = 225}} -local test_p1,_=props_changed(test_properties_set1,test_properties_set1) -local test_p2,_=props_changed(test_properties_set1,test_properties_set2) +local test_p1, _ = props_changed(test_properties_set1, test_properties_set1) +local test_p2, _ = props_changed(test_properties_set1, test_properties_set2) assert(not test_p1) assert(test_p2) -function mcl_util.set_properties(obj,props) - local changed,p=props_changed(props,obj:get_properties()) +function mcl_util.set_properties(obj, props) + local changed, p = props_changed(props, obj:get_properties()) if changed then obj:set_properties(p) end @@ -728,3 +734,312 @@ function mcl_util.set_bone_position(obj, bone, pos, rot) obj:set_bone_position(bone, pos or current_pos, rot or current_rot) end end + +---Return a function to use in `on_place`. +--- +---Allow to bypass the `buildable_to` node field in a `on_place` callback. +--- +---You have to make sure that the nodes you return true for have `buildable_to = true`. +---@param func fun(node_name: string): boolean Return `true` if node must not replace the buildable_to node which have `node_name` +---@return fun(itemstack: ItemStack, placer: ObjectRef, pointed_thing: pointed_thing, param2: integer): ItemStack? +function mcl_util.bypass_buildable_to(func) + -------------------------- + -- MINETEST CODE: UTILS -- + -------------------------- + + local function copy_pointed_thing(pointed_thing) + return { + type = pointed_thing.type, + above = pointed_thing.above and vector.copy(pointed_thing.above), + under = pointed_thing.under and vector.copy(pointed_thing.under), + ref = pointed_thing.ref, + } + end + + local function user_name(user) + return user and user:get_player_name() or "" + end + + -- Returns a logging function. For empty names, does not log. + local function make_log(name) + return name ~= "" and minetest.log or function() end + end + + local function check_attached_node(p, n, group_rating) + local def = core.registered_nodes[n.name] + local d = vector.zero() + if group_rating == 3 then + -- always attach to floor + d.y = -1 + elseif group_rating == 4 then + -- always attach to ceiling + d.y = 1 + elseif group_rating == 2 then + -- attach to facedir or 4dir direction + if (def.paramtype2 == "facedir" or + def.paramtype2 == "colorfacedir") then + -- Attach to whatever facedir is "mounted to". + -- For facedir, this is where tile no. 5 point at. + + -- The fallback vector here is in case 'facedir to dir' is nil due + -- to voxelmanip placing a wallmounted node without resetting a + -- pre-existing param2 value that is out-of-range for facedir. + -- The fallback vector corresponds to param2 = 0. + d = core.facedir_to_dir(n.param2) or vector.new(0, 0, 1) + elseif (def.paramtype2 == "4dir" or + def.paramtype2 == "color4dir") then + -- Similar to facedir handling + d = core.fourdir_to_dir(n.param2) or vector.new(0, 0, 1) + end + elseif def.paramtype2 == "wallmounted" or + def.paramtype2 == "colorwallmounted" then + -- Attach to whatever this node is "mounted to". + -- This where tile no. 2 points at. + + -- The fallback vector here is used for the same reason as + -- for facedir nodes. + d = core.wallmounted_to_dir(n.param2) or vector.new(0, 1, 0) + else + d.y = -1 + end + local p2 = vector.add(p, d) + local nn = core.get_node(p2).name + local def2 = core.registered_nodes[nn] + if def2 and not def2.walkable then + return false + end + return true + end + + return function(itemstack, placer, pointed_thing, param2) + ------------------- + -- MINETEST CODE -- + ------------------- + local def = itemstack:get_definition() + if def.type ~= "node" or pointed_thing.type ~= "node" then + return itemstack + end + + local under = pointed_thing.under + local oldnode_under = minetest.get_node_or_nil(under) + local above = pointed_thing.above + local oldnode_above = minetest.get_node_or_nil(above) + local playername = user_name(placer) + local log = make_log(playername) + + if not oldnode_under or not oldnode_above then + log("info", playername .. " tried to place" + .. " node in unloaded position " .. minetest.pos_to_string(above)) + return itemstack + end + + local olddef_under = minetest.registered_nodes[oldnode_under.name] + olddef_under = olddef_under or minetest.nodedef_default + local olddef_above = minetest.registered_nodes[oldnode_above.name] + olddef_above = olddef_above or minetest.nodedef_default + + if not olddef_above.buildable_to and not olddef_under.buildable_to then + log("info", playername .. " tried to place" + .. " node in invalid position " .. minetest.pos_to_string(above) + .. ", replacing " .. oldnode_above.name) + return itemstack + end + + --------------------- + -- CUSTOMIZED CODE -- + --------------------- + + -- Place above pointed node + local place_to = vector.copy(above) + + -- If node under is buildable_to, check for callback result and place into it instead + if olddef_under.buildable_to and not func(oldnode_under.name) then + log("info", "node under is buildable to") + place_to = vector.copy(under) + end + + ------------------- + -- MINETEST CODE -- + ------------------- + + if minetest.is_protected(place_to, playername) then + log("action", playername + .. " tried to place " .. def.name + .. " at protected position " + .. minetest.pos_to_string(place_to)) + minetest.record_protection_violation(place_to, playername) + return itemstack + end + + local oldnode = minetest.get_node(place_to) + local newnode = {name = def.name, param1 = 0, param2 = param2 or 0} + + -- Calculate direction for wall mounted stuff like torches and signs + if def.place_param2 ~= nil then + newnode.param2 = def.place_param2 + elseif (def.paramtype2 == "wallmounted" or + def.paramtype2 == "colorwallmounted") and not param2 then + local dir = vector.subtract(under, above) + newnode.param2 = minetest.dir_to_wallmounted(dir) + -- Calculate the direction for furnaces and chests and stuff + elseif (def.paramtype2 == "facedir" or + def.paramtype2 == "colorfacedir" or + def.paramtype2 == "4dir" or + def.paramtype2 == "color4dir") and not param2 then + local placer_pos = placer and placer:get_pos() + if placer_pos then + local dir = vector.subtract(above, placer_pos) + newnode.param2 = minetest.dir_to_facedir(dir) + log("info", "facedir: " .. newnode.param2) + end + end + + local metatable = itemstack:get_meta():to_table().fields + + -- Transfer color information + if metatable.palette_index and not def.place_param2 then + local color_divisor = nil + if def.paramtype2 == "color" then + color_divisor = 1 + elseif def.paramtype2 == "colorwallmounted" then + color_divisor = 8 + elseif def.paramtype2 == "colorfacedir" then + color_divisor = 32 + elseif def.paramtype2 == "color4dir" then + color_divisor = 4 + elseif def.paramtype2 == "colordegrotate" then + color_divisor = 32 + end + if color_divisor then + local color = math.floor(metatable.palette_index / color_divisor) + local other = newnode.param2 % color_divisor + newnode.param2 = color * color_divisor + other + end + end + + -- Check if the node is attached and if it can be placed there + local an = minetest.get_item_group(def.name, "attached_node") + if an ~= 0 and + not check_attached_node(place_to, newnode, an) then + log("action", "attached node " .. def.name .. + " cannot be placed at " .. minetest.pos_to_string(place_to)) + return itemstack + end + + log("action", playername .. " places node " + .. def.name .. " at " .. minetest.pos_to_string(place_to)) + + -- Add node and update + minetest.add_node(place_to, newnode) + + -- Play sound if it was done by a player + if playername ~= "" and def.sounds and def.sounds.place then + minetest.sound_play(def.sounds.place, { + pos = place_to, + exclude_player = playername, + }, true) + end + + local take_item = true + + -- Run callback + if def.after_place_node then + -- Deepcopy place_to and pointed_thing because callback can modify it + local place_to_copy = vector.copy(place_to) + local pointed_thing_copy = copy_pointed_thing(pointed_thing) + if def.after_place_node(place_to_copy, placer, itemstack, + pointed_thing_copy) then + take_item = false + end + end + + -- Run script hook + for _, callback in ipairs(minetest.registered_on_placenodes) do + -- Deepcopy pos, node and pointed_thing because callback can modify them + local place_to_copy = vector.copy(place_to) + local newnode_copy = {name = newnode.name, param1 = newnode.param1, param2 = newnode.param2} + local oldnode_copy = {name = oldnode.name, param1 = oldnode.param1, param2 = oldnode.param2} + local pointed_thing_copy = copy_pointed_thing(pointed_thing) + if callback(place_to_copy, newnode_copy, placer, oldnode_copy, itemstack, pointed_thing_copy) then + take_item = false + end + end + + if take_item then + itemstack:take_item() + end + return itemstack + end +end + +--[[Check for a protection violation in a given area. +-- +-- Applies is_protected() to a 3D lattice of points in the defined volume. The points are spaced +-- evenly throughout the volume and have a spacing similar to, but no larger than, "interval". +-- +-- @param pos1 A position table of the area volume's first edge. +-- @param pos2 A position table of the area volume's second edge. +-- @param player The player performing the action. +-- @param interval Optional. Max spacing between checked points at the volume. +-- Default: Same as minetest.is_area_protected. +-- +-- @return true on protection violation detection. false otherwise. +-- +-- @notes *All corners and edges of the defined volume are checked. +]] +function mcl_util.check_area_protection(pos1, pos2, player, interval) + local name = player and player:get_player_name() or "" + + local protected_pos = minetest.is_area_protected(pos1, pos2, name, interval) + if protected_pos then + minetest.record_protection_violation(protected_pos, name) + return true + end + + return false +end + +--[[Check for a protection violation on a single position. +-- +-- @param position A position table to check for protection violation. +-- @param player The player performing the action. +-- +-- @return true on protection violation detection. false otherwise. +]] +function mcl_util.check_position_protection(position, player) + local name = player and player:get_player_name() or "" + + if minetest.is_protected(position, name) then + minetest.record_protection_violation(position, name) + return true + end + + return false +end + +local palette_indexes = {grass_palette_index = 0, foliage_palette_index = 0, water_palette_index = 0} +function mcl_util.get_palette_indexes_from_pos(pos) + local biome_data = minetest.get_biome_data(pos) + local biome = biome_data.biome + local biome_name = minetest.get_biome_name(biome) + local reg_biome = minetest.registered_biomes[biome_name] + if reg_biome and reg_biome._mcl_grass_palette_index and reg_biome._mcl_foliage_palette_index and reg_biome._mcl_water_palette_index then + local gpi = reg_biome._mcl_grass_palette_index + local fpi = reg_biome._mcl_foliage_palette_index + local wpi = reg_biome._mcl_water_palette_index + local palette_indexes = {grass_palette_index = gpi, foliage_palette_index = fpi, water_palette_index = wpi} + return palette_indexes + else + return palette_indexes + end +end + +function mcl_util.get_colorwallmounted_rotation(pos) + local colorwallmounted_node = minetest.get_node(pos) + for i = 0, 32, 1 do + local colorwallmounted_rotation = colorwallmounted_node.param2 - (i * 8) + if colorwallmounted_rotation < 6 then + return colorwallmounted_rotation + end + end +end diff --git a/mods/ENTITIES/mcl_boats/locale/mcl_boats.fr.tr b/mods/ENTITIES/mcl_boats/locale/mcl_boats.fr.tr index f132f14df..76905c1f3 100644 --- a/mods/ENTITIES/mcl_boats/locale/mcl_boats.fr.tr +++ b/mods/ENTITIES/mcl_boats/locale/mcl_boats.fr.tr @@ -1,13 +1,13 @@ # textdomain: mcl_boats -Acacia Boat=Bateau en Acacia -Birch Boat=Bateau en Bouleau +Acacia Boat=Bateau en acacia +Birch Boat=Bateau en bouleau Boat=Bateau Boats are used to travel on the surface of water.=Les bateaux sont utilisés pour voyager à la surface de l'eau. -Dark Oak Boat=Bateau en Chêne Noir -Jungle Boat=Bateau en Acajou -Oak Boat=Bateau en Chêne +Dark Oak Boat=Bateau en chêne noir +Jungle Boat=Bateau en acajou +Oak Boat=Bateau en chêne Rightclick on a water source to place the boat. Rightclick the boat to enter it. Use [Left] and [Right] to steer, [Forwards] to speed up and [Backwards] to slow down or move backwards. Use [Sneak] to leave the boat, punch the boat to make it drop as an item.=Faites un clic droit sur une source d'eau pour placer le bateau. Faites un clic droit sur le bateau pour y entrer. Utilisez [Gauche] et [Droite] pour diriger, [Avant] pour accélérer et [Arrière] pour ralentir ou reculer. Utilisez [Sneak] pour le quitter, frappez le bateau pour le faire tomber en tant qu'objet. -Spruce Boat=Bateau en Sapin +Spruce Boat=Bateau en sapin Water vehicle=Véhicule aquatique Sneak to dismount=Se baisser pour descendre -Obsidian Boat=Bateau en Obsidienne \ No newline at end of file +Obsidian Boat=Bateau en obsidienne diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_acacia_boat.png b/mods/ENTITIES/mcl_boats/textures/mcl_boats_acacia_boat.png deleted file mode 100644 index 3ba009117..000000000 Binary files a/mods/ENTITIES/mcl_boats/textures/mcl_boats_acacia_boat.png and /dev/null differ diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_birch_boat.png b/mods/ENTITIES/mcl_boats/textures/mcl_boats_birch_boat.png deleted file mode 100644 index ac0f3dc1b..000000000 Binary files a/mods/ENTITIES/mcl_boats/textures/mcl_boats_birch_boat.png and /dev/null differ diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_oak_boat.png b/mods/ENTITIES/mcl_boats/textures/mcl_boats_oak_boat.png deleted file mode 100644 index 371596f63..000000000 Binary files a/mods/ENTITIES/mcl_boats/textures/mcl_boats_oak_boat.png and /dev/null differ diff --git a/mods/ENTITIES/mcl_burning/api.lua b/mods/ENTITIES/mcl_burning/api.lua index df0953398..cba73b846 100644 --- a/mods/ENTITIES/mcl_burning/api.lua +++ b/mods/ENTITIES/mcl_burning/api.lua @@ -153,6 +153,11 @@ function mcl_burning.extinguish(obj) end function mcl_burning.tick(obj, dtime, storage) + if not storage then + minetest.log("warning", "No storage for burning tick. Should not happen: " .. dump(obj)) + return + end + if storage.burn_time then storage.burn_time = storage.burn_time - dtime diff --git a/mods/ENTITIES/mcl_item_entity/init.lua b/mods/ENTITIES/mcl_item_entity/init.lua index 60cfe9dd9..48a2f34cb 100644 --- a/mods/ENTITIES/mcl_item_entity/init.lua +++ b/mods/ENTITIES/mcl_item_entity/init.lua @@ -252,10 +252,17 @@ function minetest.handle_node_drops(pos, drops, digger) -- NOTE: This function override allows digger to be nil. -- This means there is no digger. This is a special case which allows this function to be called -- by hand. Creative Mode is intentionally ignored in this case. - - if (digger and digger:is_player() and minetest.is_creative_enabled(digger:get_player_name())) or doTileDrops == false then + if digger and digger:is_player() and minetest.is_creative_enabled(digger:get_player_name()) then + local inv = digger:get_inventory() + if inv then + for _, item in ipairs(drops) do + if not inv:contains_item("main", item, true) then + inv:add_item("main", item) + end + end + end return - end + elseif not doTileDrops then return end -- Check if node will yield its useful drop by the digger's tool local dug_node = minetest.get_node(pos) @@ -263,9 +270,9 @@ function minetest.handle_node_drops(pos, drops, digger) local tool if digger then tool = digger:get_wielded_item() - tooldef = minetest.registered_tools[tool:get_name()] + tooldef = minetest.registered_items[tool:get_name()] - if not mcl_autogroup.can_harvest(dug_node.name, tool:get_name()) then + if not mcl_autogroup.can_harvest(dug_node.name, tool:get_name(), digger) then return end end diff --git a/mods/ENTITIES/mcl_minecarts/init.lua b/mods/ENTITIES/mcl_minecarts/init.lua index 6a837207f..aa9ef7edc 100644 --- a/mods/ENTITIES/mcl_minecarts/init.lua +++ b/mods/ENTITIES/mcl_minecarts/init.lua @@ -66,6 +66,7 @@ local function register_entity(entity_id, mesh, textures, drop, on_rightclick, o on_rightclick = on_rightclick, _driver = nil, -- player who sits in and controls the minecart (only for minecart!) + _passenger = nil, -- for mobs _punched = false, -- used to re-send _velocity and position _velocity = {x=0, y=0, z=0}, -- only used on punch _start_pos = nil, -- Used to calculate distance for “On A Rail” achievement @@ -86,6 +87,7 @@ local function register_entity(entity_id, mesh, textures, drop, on_rightclick, o local data = minetest.deserialize(staticdata) if type(data) == "table" then self._railtype = data._railtype + self._passenger = data._passenger end self.object:set_armor_groups({immortal=1}) @@ -177,6 +179,8 @@ local function register_entity(entity_id, mesh, textures, drop, on_rightclick, o cart.on_activate_by_rail = on_activate_by_rail + local passenger_attach_position = vector.new(0, -1.75, 0) + function cart:on_step(dtime) local ctrl, player = nil, nil if self._driver then @@ -212,6 +216,32 @@ local function register_entity(entity_id, mesh, textures, drop, on_rightclick, o end end + -- Grab mob + if math.random(1,20) > 15 and not self._passenger then + if self.name == "mcl_minecarts:minecart" then + local mobsnear = minetest.get_objects_inside_radius(self.object:get_pos(), 1.3) + for n=1, #mobsnear do + local mob = mobsnear[n] + if mob then + local entity = mob:get_luaentity() + if entity and entity.is_mob then + self._passenger = entity + mob:set_attach(self.object, "", passenger_attach_position, vector.zero()) + break + end + end + end + end + -- Make room in the minecart after the mob dies + elseif self._passenger then + if math.random(1,20) == 1 then + local dead = self._passenger:check_for_death() + if dead == true then + self._passenger = nil + end + end + end + -- Drop minecart if it isn't on a rail anymore if self._last_float_check >= mcl_minecarts.check_float_time then pos = self.object:get_pos() diff --git a/mods/ENTITIES/mcl_minecarts/locale/mcl_minecarts.fr.tr b/mods/ENTITIES/mcl_minecarts/locale/mcl_minecarts.fr.tr index 8ad3b34b2..2b9833a78 100644 --- a/mods/ENTITIES/mcl_minecarts/locale/mcl_minecarts.fr.tr +++ b/mods/ENTITIES/mcl_minecarts/locale/mcl_minecarts.fr.tr @@ -10,15 +10,15 @@ To obtain the minecart and TNT, punch them while holding down the sneak key. You A minecart with furnace is a vehicle that travels on rails. It can propel itself with fuel.=Une wagonnet avec un four est un véhicule qui se déplace sur rails. Il peut se propulser avec du carburant. Place it on rails. If you give it some coal, the furnace will start burning for a long time and the minecart will be able to move itself. Punch it to get it moving.=Placez-le sur des rails. Si vous lui donnez du charbon, le four commencera à brûler pendant longtemps et le wagonnet pourra se déplacer. Frappez-le pour le faire bouger. To obtain the minecart and furnace, punch them while holding down the sneak key.=Pour obtenir le wagonnet et le four, frappez-les tout en maintenant la touche furtive enfoncée. -Minecart with Chest=Wagonnet avec Coffre -Minecart with Furnace=Wagonnet avec Four -Minecart with Command Block=Wagonnet avec Bloc de Commande -Minecart with Hopper=Wagonnet avec Entonoir +Minecart with Chest=Wagonnet avec coffre +Minecart with Furnace=Wagonnet avec four +Minecart with Command Block=Wagonnet avec bloc de commande +Minecart with Hopper=Wagonnet avec entonnoir Minecart with TNT=Wagonnet avec TNT Place them on the ground to build your railway, the rails will automatically connect to each other and will turn into curves, T-junctions, crossings and slopes as needed.=Placez-les sur le sol pour construire votre chemin de fer, les rails se connecteront automatiquement les uns aux autres et se transformeront en courbes, en jonctions en T, en traversées et en pentes au besoin. Rail=Rail Rails can be used to build transport tracks for minecarts. Normal rails slightly slow down minecarts due to friction.=Les rails peuvent être utilisés pour construire des voies de transport pour les wagonnets. Les rails ralentissent légèrement les wagonnets en raison de la friction. -Powered Rail=Rail allimenté +Powered Rail=Rail alimenté Rails can be used to build transport tracks for minecarts. Powered rails are able to accelerate and brake minecarts.=Les rails peuvent être utilisés pour construire des voies de transport pour les wagonnets. Les rails motorisés sont capables d'accélérer et de freiner les wagonnets. Without redstone power, the rail will brake minecarts. To make this rail accelerate minecarts, power it with redstone power.=Sans énergie de redstone, le rail freinera les wagonnets. Pour que ce rail accélère les minecarts, alimentez-le avec une source d'énergie redstone. Activator Rail=Rail d'activation diff --git a/mods/ENTITIES/mcl_minecarts/rails.lua b/mods/ENTITIES/mcl_minecarts/rails.lua index 5117fe48c..9c9050341 100644 --- a/mods/ENTITIES/mcl_minecarts/rails.lua +++ b/mods/ENTITIES/mcl_minecarts/rails.lua @@ -2,7 +2,7 @@ local S = minetest.get_translator(minetest.get_current_modname()) -- Template rail function local function register_rail(itemstring, tiles, def_extras, creative) - local groups = {handy=1,pickaxey=1, attached_node=1,rail=1,connect_to_raillike=minetest.raillike_group("rail"),dig_by_water=1,destroy_by_lava_flow=1, transport=1} + local groups = {handy=1,pickaxey=1, attached_node=1,rail=1,connect_to_raillike=minetest.raillike_group("rail"),dig_by_water=0,destroy_by_lava_flow=0, transport=1} if creative == false then groups.not_in_creative_inventory = 1 end diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart_furnace.png b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart_furnace.png deleted file mode 100644 index 7beaaa1c7..000000000 Binary files a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart_furnace.png and /dev/null differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator.png b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator.png deleted file mode 100644 index 15f2cdba6..000000000 Binary files a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator.png and /dev/null differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_crossing.png b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_crossing.png deleted file mode 100644 index 52674486d..000000000 Binary files a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_crossing.png and /dev/null differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_crossing_powered.png b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_crossing_powered.png deleted file mode 100644 index 08b20a814..000000000 Binary files a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_crossing_powered.png and /dev/null differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_curved.png b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_curved.png deleted file mode 100644 index b5dabcc01..000000000 Binary files a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_curved.png and /dev/null differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_curved_powered.png b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_curved_powered.png deleted file mode 100644 index 2a9cc6029..000000000 Binary files a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_curved_powered.png and /dev/null differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_powered.png b/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_powered.png deleted file mode 100644 index c118032ef..000000000 Binary files a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_powered.png and /dev/null differ diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index e9265d36b..39d2f45a9 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -4,26 +4,27 @@ local math, vector, minetest, mcl_mobs = math, vector, minetest, mcl_mobs -- API for Mobs Redo: MineClone 2 Edition (MRM) local PATHFINDING = "gowp" +local CRASH_WARN_FREQUENCY = 60 +local LIFETIMER_DISTANCE = 47 -- Localize local S = minetest.get_translator("mcl_mobs") -local LOGGING_ON = minetest.settings:get_bool("mcl_logging_mobs_villager",false) -local function mcl_log (message) - if LOGGING_ON then - mcl_util.mcl_log (message, "[Mobs]", true) - end -end +local DEVELOPMENT = minetest.settings:get_bool("mcl_development",false) -- Invisibility mod check mcl_mobs.invis = {} local remove_far = true -local mobs_griefing = minetest.settings:get_bool("mobs_griefing") ~= false -local spawn_protected = minetest.settings:get_bool("mobs_spawn_protected") ~= false + local mobs_debug = minetest.settings:get_bool("mobs_debug", false) -- Shows helpful debug info above each mob local spawn_logging = minetest.settings:get_bool("mcl_logging_mobs_spawn",true) +local MAPGEN_LIMIT = mcl_vars.mapgen_limit +local MAPGEN_MOB_LIMIT = MAPGEN_LIMIT - 90 +-- 30927 seems to be the edge of the world, so could be closer, but this is safer + + -- Peaceful mode message so players will know there are no monsters if minetest.settings:get_bool("only_peaceful_mobs", false) then minetest.register_on_joinplayer(function(player) @@ -32,15 +33,6 @@ if minetest.settings:get_bool("only_peaceful_mobs", false) then end) end -local node_ok = function(pos, fallback) - fallback = fallback or mcl_mobs.fallback_node - local node = minetest.get_node_or_nil(pos) - if node and minetest.registered_nodes[node.name] then - return node - end - return minetest.registered_nodes[fallback] -end - function mob_class:update_tag() --update nametag and/or the debug box local tag if mobs_debug then @@ -69,6 +61,18 @@ function mob_class:update_tag() --update nametag and/or the debug box }) end +function mob_class:jock_to(mob, reletive_pos, rot) + local pos = self.object:get_pos() + if not pos then return end + + self.jockey = mob + local jock = minetest.add_entity(pos, mob) + if not jock then return end + jock:get_luaentity().docile_by_day = false + jock:get_luaentity().riden_by_jock = true + self.object:set_attach(jock, "", reletive_pos, rot) +end + function mob_class:get_staticdata() for _,p in pairs(minetest.get_connected_players()) do @@ -130,8 +134,8 @@ function mob_class:mob_activate(staticdata, def, dtime) end end - if not self.base_texture then - + --If textures in definition change, reload textures + if not self.base_texture or (def.textures and table.indexof(def.textures, self.base_texture) == -1) then -- compatiblity with old simple mobs textures if type(def.textures[1]) == "string" then def.textures = {def.textures} @@ -262,6 +266,13 @@ function mob_class:mob_activate(staticdata, def, dtime) self._current_animation = nil self:set_animation( "stand") + + if self.riden_by_jock then --- Keep this function before self.on_spawn() is run. + self.object:remove() + return + end + + if self.on_spawn and not self.on_spawn_run then if self.on_spawn(self) then self.on_spawn_run = true @@ -278,6 +289,9 @@ function mob_class:mob_activate(staticdata, def, dtime) self._run_armor_init = true end + + + if def.after_activate then def.after_activate(self, staticdata, def, dtime) end @@ -306,13 +320,13 @@ function mob_class:do_states(dtime) end local function update_timers (self, dtime) - -- knockback timer + -- knockback timer. set in on_punch if self.pause_timer > 0 then self.pause_timer = self.pause_timer - dtime return true end - -- attack timer + -- attack timer. Not anymore, it seems. Used for also occassionally processing mob step too! self.timer = self.timer + dtime if self.state ~= "attack" and self.state ~= PATHFINDING then @@ -328,88 +342,192 @@ local function update_timers (self, dtime) end end --- main mob function -function mob_class:on_step(dtime) - self.lifetimer = self.lifetimer - dtime +function mob_class:outside_limits() + local pos = self.object:get_pos() + if pos then + local posx = math.abs(pos.x) + local posy = math.abs(pos.y) + local posz = math.abs(pos.z) + if posx > MAPGEN_MOB_LIMIT or posy > MAPGEN_MOB_LIMIT or posz > MAPGEN_MOB_LIMIT then + --minetest.log("action", "Getting close to limits of worldgen: " .. minetest.pos_to_string(pos)) + if posx > MAPGEN_LIMIT or posy > MAPGEN_LIMIT or posz > MAPGEN_LIMIT then + minetest.log("action", "Warning mob past limits of worldgen: " .. minetest.pos_to_string(pos)) + else + if self.state ~= "stand" then + minetest.log("action", "Warning mob close to limits of worldgen: " .. minetest.pos_to_string(pos)) + self.state = "stand" + self:set_animation("stand") + self.object:set_acceleration(vector.zero()) + self.object:set_velocity(vector.zero()) + end + end + return true + end + end +end +local function on_step_work (self, dtime) local pos = self.object:get_pos() if not pos then return end - if self:check_despawn(pos) then return true end + if self:check_despawn(pos, dtime) then return true end + if self:outside_limits() then return end + + -- Start: Death/damage processing + -- All damage needs to be undertaken at the start. We need to exit processing if the mob dies. + if self:check_death_and_slow_mob() then + --minetest.log("action", "Mob is dying: ".. tostring(self.name)) + -- Do we abandon out of here now? + end - self:slow_mob() if self:falling(pos) then return end - self:check_suspend() - self:check_water_flow() + local player_in_active_range = self:player_in_active_range() - self:env_danger_movement_checks (dtime) + self:check_suspend(player_in_active_range) if not self.fire_resistant then mcl_burning.tick(self.object, dtime, self) - -- mcl_burning.tick may remove object immediately - if not self.object:get_pos() then return end - end + if not self.object:get_pos() then return end -- mcl_burning.tick may remove object immediately - if mobs_debug then self:update_tag() end - - if self.state == "die" then return end - - if self.jump_sound_cooloff > 0 then - self.jump_sound_cooloff = self.jump_sound_cooloff - dtime - end - if self.opinion_sound_cooloff > 0 then - self.opinion_sound_cooloff = self.opinion_sound_cooloff - dtime - end - - --Mob following code. - self:follow_flop() - --set animation speed relitive to velocity - self:set_animation_speed() - self:check_smooth_rotation(dtime) - self:check_head_swivel(dtime) - - self:do_jump() - self:set_armor_texture() - self:check_runaway_from() - - self:monster_attack() - self:npc_attack() - self:check_breeding() - self:check_aggro(dtime) - - -- run custom function (defined in mob lua file) - if self.do_custom then - if self.do_custom(self, dtime) == false then - return + if self:check_for_death("fire", {type = "fire"}) then + return true end end - if update_timers(self, dtime) then return end + if self:env_damage (dtime, pos) then return end - self:check_particlespawners(dtime) - self:check_item_pickup() + if self.state == "die" then return end + -- End: Death/damage processing - -- mob plays random sound at times. Should be 120. Zombie and mob farms are ridiculous - if math.random(1, 70) == 1 then - self:mob_sound("random", true) + self:check_water_flow() + self:env_danger_movement_checks (dtime) + + -- Follow code is heavy and probably shouldn't run when not in range, but we need to extract the cancel follow stuff + self:check_follow() + self:flop() + + self:check_smooth_rotation(dtime) + + if player_in_active_range then + self:set_animation_speed() -- set animation speed relative to velocity + + self:check_head_swivel(dtime) + + if self.jump_sound_cooloff > 0 then self.jump_sound_cooloff = self.jump_sound_cooloff - dtime end + self:do_jump() + + self:check_runaway_from() + self:monster_attack() + self:npc_attack() + + self:check_herd(dtime) end - if self:env_damage (dtime, pos) then return end - if self:do_states(dtime) then return end + self:check_aggro(dtime) + + if self.do_custom and self.do_custom(self, dtime) == false then return end + + -- In certain circumstances, we abandon processing of certain functionality + local skip_processing = false + if update_timers(self, dtime) then + skip_processing = true + end + + if not skip_processing then + self:check_breeding() + + if player_in_active_range then + self:check_item_pickup() + self:set_armor_texture() + + if self.opinion_sound_cooloff > 0 then + self.opinion_sound_cooloff = self.opinion_sound_cooloff - dtime + end + -- mob plays random sound at times. Should be 120. Zombie and mob farms are ridiculous + if math.random(1, 70) == 1 then + self:mob_sound("random", true) + end + end + + self:check_particlespawners(dtime) + + if self:do_states(dtime) then return end + end + + if mobs_debug then self:update_tag() end if not self.object:get_luaentity() then return false end end +local last_crash_warn_time = 0 + +local function log_error (stack_trace, info, info2) + minetest.log("action", "--- Bug report start (please provide a few lines before this also for context) ---") + minetest.log("action", "Error: " .. stack_trace) + minetest.log("action", "Bug info: " .. info) + if info2 then + minetest.log("action", "Bug info additional: " .. info2) + end + minetest.log("action", "--- Bug report end ---") +end + +local function warn_user_error () + local current_time = os.time() + local time_since_warning = current_time - last_crash_warn_time + + --minetest.log("previous_crash_time: " .. current_time) + --minetest.log("last_crash_time: " .. last_crash_warn_time) + --minetest.log("time_since_warning: " .. time_since_warning) + + if time_since_warning > CRASH_WARN_FREQUENCY then + last_crash_warn_time = current_time + minetest.log("A game crashing bug was prevented. Please provide debug.log information to MineClone2 dev team for investigation. (Search for: --- Bug report start)") + end +end + +local on_step_error_handler = function () + warn_user_error () + local info = debug.getinfo(1, "SnlufL") + log_error(tostring(debug.traceback()), dump(info)) +end + + + +-- main mob function +function mob_class:on_step(dtime) + if not DEVELOPMENT then + -- Removed as bundled Lua (5.1 doesn't support xpcall) + --local status, retVal = xpcall(on_step_work, on_step_error_handler, self, dtime) + local status, retVal = pcall(on_step_work, self, dtime) + if status then + return retVal + else + warn_user_error () + local pos = self.object:get_pos() + if pos then + local node = minetest.get_node(pos) + if node and node.name == "ignore" then + minetest.log("warning", "Pos is ignored: " .. dump(pos)) + end + end + log_error (dump(retVal), dump(pos), dump(self)) + end + else + return on_step_work (self, dtime) + end +end + local timer = 0 -minetest.register_globalstep(function(dtime) + +local function update_lifetimer(dtime) timer = timer + dtime if timer < 1 then return end for _, player in pairs(minetest.get_connected_players()) do local pos = player:get_pos() - for _, obj in pairs(minetest.get_objects_inside_radius(pos, 47)) do + for _, obj in pairs(minetest.get_objects_inside_radius(pos, LIFETIMER_DISTANCE)) do local lua = obj:get_luaentity() if lua and lua.is_mob then lua.lifetimer = math.max(20, lua.lifetimer) @@ -418,22 +536,125 @@ minetest.register_globalstep(function(dtime) end end timer = 0 +end + +minetest.register_globalstep(function(dtime) + update_lifetimer(dtime) end) -minetest.register_chatcommand("clearmobs",{ - privs={maphack=true}, - params = "||", - description=S("Removes all spawned mobs except nametagged and tamed ones. all removes all mobs, nametagged only nametagged ones and with the range paramter all mobs in a distance of the current player are removed."), - func=function(n,param) - local p = minetest.get_player_by_name(n) - local num=tonumber(param) + +minetest.register_chatcommand("clearmobs", { + privs = { maphack = true }, + params = "[all|monster|passive| [|nametagged|tamed]]", + description = S("Removes specified mobs except nametagged and tamed ones. For the second parameter, use nametagged/tamed to select only nametagged/tamed mobs, or a range to specify a maximum distance from the player."), + func = function(player, param) + local default = false + if not param or param == "" then + default = true + minetest.chat_send_player(player, + S("Default usage. Clearing hostile mobs. For more options please type: /help clearmobs")) + end + local mob, unsafe = param:match("^([%w]+)[ ]?([%w%d]*)$") + + local all = false + local nametagged = false + local tamed = false + + local mob_name, mob_type, range + + -- Param 1 resolve + if mob and mob ~= "" then + if mob == "all" then + all = true + elseif mob == "passive" or mob == "monster" then + mob_type = mob + elseif mob then + mob_name = mob + end + --minetest.log ("mob: [" .. mob .. "]") + else + --minetest.log("No valid first param") + if default then + --minetest.log("Use default") + mob_type = "monster" + end + --return + end + + -- Param 2 resolve + if unsafe and unsafe ~= "" then + --minetest.log ("unsafe: [" .. unsafe .. "]") + if unsafe == "nametagged" then + nametagged = true + elseif unsafe == "tamed" then + tamed = true + end + + local num = tonumber(unsafe) + if num then range = num end + end + + local p = minetest.get_player_by_name(player) + for _,o in pairs(minetest.luaentities) do - if o.is_mob then - if param == "all" or - ( param == "nametagged" and o.nametag ) or - ( param == "" and ( not o.nametag or o.nametag == "" ) and not o.tamed ) or - ( num and num > 0 and vector.distance(p:get_pos(),o.object:get_pos()) <= num ) then - o.object:remove() + if o and o.is_mob then + local mob_match = false + + if all then + --minetest.log("Match - All mobs specified") + mob_match = true + elseif mob_type then + + --minetest.log("Match - o.type: ".. tostring(o.type)) + --minetest.log("mob_type: ".. tostring(mob_type)) + if mob_type == "monster" and o.type == mob_type then + --minetest.log("Match - monster") + mob_match = true + elseif mob_type == "passive" and o.type ~= "monster" and o.type ~= "npc" then + --minetest.log("Match - passive") + mob_match = true + else + --minetest.log("No match for type.") + end + + elseif mob_name and (o.name == mob_name or string.find(o.name, mob_name)) then + --minetest.log("Match - mob_name = ".. tostring(o.name)) + mob_match = true + else + --minetest.log("No match - o.type = ".. tostring(o.type)) + --minetest.log("No match - mob_name = ".. tostring(o.name)) + --minetest.log("No match - mob_type = ".. tostring(mob_name)) + end + + if mob_match then + local in_range = true + if (not range or range <= 0 ) then + in_range = true + else + if ( vector.distance(p:get_pos(),o.object:get_pos()) <= range ) then + in_range = true + else + --minetest.log("Out of range") + in_range = false + end + end + + --minetest.log("o.nametag: ".. tostring(o.nametag)) + + if nametagged then + if o.nametag then + --minetest.log("Namedtagged and it has a name tag. Kill it") + o.object:remove() + end + elseif tamed then + if o.tamed then + --minetest.log("Tamed. Kill it") + o.object:remove() + end + elseif in_range and (not o.nametag or o.nametag == "") and not o.tamed then + --minetest.log("No nametag or tamed. Kill it") + o.object:remove() + end end end end diff --git a/mods/ENTITIES/mcl_mobs/breeding.lua b/mods/ENTITIES/mcl_mobs/breeding.lua index 33e05f23b..a70d9cbea 100644 --- a/mods/ENTITIES/mcl_mobs/breeding.lua +++ b/mods/ENTITIES/mcl_mobs/breeding.lua @@ -2,8 +2,8 @@ local math, vector, minetest, mcl_mobs = math, vector, minetest, mcl_mobs local mob_class = mcl_mobs.mob_class local HORNY_TIME = 30 -local HORNY_AGAIN_TIME = 300 -local CHILD_GROW_TIME = 60*20 +local HORNY_AGAIN_TIME = 30 -- was 300 or 15*20 +local CHILD_GROW_TIME = 60 local LOGGING_ON = minetest.settings:get_bool("mcl_logging_mobs_villager",false) @@ -178,7 +178,7 @@ function mob_class:check_breeding() -- jump when fully grown so as not to fall into ground self.object:set_velocity({ x = 0, - y = self.jump_height*3, + y = self.jump_height, z = 0 }) end @@ -190,18 +190,16 @@ function mob_class:check_breeding() end return - end + else + -- horny animal can mate for HORNY_TIME seconds, + -- afterwards horny animal cannot mate again for HORNY_AGAIN_TIME seconds + if self.horny == true then + self.hornytimer = self.hornytimer + 1 - -- horny animal can mate for HORNY_TIME seconds, - -- afterwards horny animal cannot mate again for HORNY_AGAIN_TIME seconds - if self.horny == true - and self.hornytimer < HORNY_TIME + HORNY_AGAIN_TIME then - - self.hornytimer = self.hornytimer + 1 - - if self.hornytimer >= HORNY_TIME + HORNY_AGAIN_TIME then - self.hornytimer = 0 - self.horny = false + if self.hornytimer >= HORNY_TIME + HORNY_AGAIN_TIME then + self.hornytimer = 0 + self.horny = false + end end end diff --git a/mods/ENTITIES/mcl_mobs/combat.lua b/mods/ENTITIES/mcl_mobs/combat.lua index 1886c7ccc..5fa95db1b 100644 --- a/mods/ENTITIES/mcl_mobs/combat.lua +++ b/mods/ENTITIES/mcl_mobs/combat.lua @@ -329,10 +329,7 @@ end -- find someone to attack function mob_class:monster_attack() - if not damage_enabled - or self.passive ~= false - or self.state == "attack" - or self:day_docile() then + if not damage_enabled or self.passive ~= false or self.state == "attack" or self:day_docile() then return end @@ -341,9 +338,11 @@ function mob_class:monster_attack() local player, obj, min_player local type, name = "", "" local min_dist = self.view_range + 1 - local objs = minetest.get_objects_inside_radius(s, self.view_range) + local blacklist_attack = {} + local objs = minetest.get_objects_inside_radius(s, self.view_range) + for n = 1, #objs do if not objs[n]:is_player() then obj = objs[n]:get_luaentity() @@ -359,32 +358,29 @@ function mob_class:monster_attack() end for n = 1, #objs do - - if objs[n]:is_player() then if mcl_mobs.invis[ objs[n]:get_player_name() ] or (not self:object_in_range(objs[n])) then type = "" elseif (self.type == "monster" or self._aggro) then + -- self.aggro made player be attacked by npc again if out of range then back in again + -- Does it serve a purpose other than that? player = objs[n] type = "player" name = "player" end else obj = objs[n]:get_luaentity() - if obj then player = obj.object type = obj.type name = obj.name or "" end - end -- find specific mob to attack, failing that attack player/npc/animal if specific_attack(self.specific_attack, name) - and (type == "player" or ( type == "npc" and self.attack_npcs ) - or (type == "animal" and self.attack_animals == true)) then - + and (type == "player" or ( type == "npc" and self.attack_npcs ) + or (type == "animal" and self.attack_animals == true)) then p = player:get_pos() sp = s @@ -400,10 +396,9 @@ function mob_class:monster_attack() attacked_p = true end end + -- choose closest player to attack - if dist < min_dist - and not attacked_p - and self:line_of_sight( sp, p, 2) == true then + if dist < min_dist and not attacked_p and self:line_of_sight( sp, p, 2) == true then min_dist = dist min_player = player end @@ -434,11 +429,9 @@ function mob_class:npc_attack() local objs = minetest.get_objects_inside_radius(s, self.view_range) for n = 1, #objs do - obj = objs[n]:get_luaentity() if obj and obj.type == "monster" then - p = obj.object:get_pos() sp = s @@ -448,8 +441,7 @@ function mob_class:npc_attack() p.y = p.y + 1 sp.y = sp.y + 1 - if dist < min_dist - and self:line_of_sight( sp, p, 2) == true then + if dist < min_dist and self:line_of_sight( sp, p, 2) == true then min_dist = dist min_player = obj.object end @@ -746,7 +738,7 @@ function mob_class:on_punch(hitter, tflp, tool_capabilities, dir) local name = hitter:get_player_name() or "" - -- attack puncher and call other mobs for help + -- attack puncher if self.passive == false and self.state ~= "flop" and (self.child == false or self.type == "monster") @@ -758,37 +750,37 @@ function mob_class:on_punch(hitter, tflp, tool_capabilities, dir) self:do_attack(hitter) self._aggro= true end + end - -- alert others to the attack - local objs = minetest.get_objects_inside_radius(hitter:get_pos(), self.view_range) - local obj = nil + -- alert others to the attack + local objs = minetest.get_objects_inside_radius(hitter:get_pos(), self.view_range) + local obj = nil - for n = 1, #objs do + for n = 1, #objs do - obj = objs[n]:get_luaentity() + obj = objs[n]:get_luaentity() - if obj then - -- only alert members of same mob or friends - if obj.group_attack - and obj.state ~= "attack" - and obj.owner ~= name then - if obj.name == self.name then - obj:do_attack(hitter) - elseif type(obj.group_attack) == "table" then - for i=1, #obj.group_attack do - if obj.name == obj.group_attack[i] then - obj._aggro = true - obj:do_attack(hitter) - break - end + if obj then + -- only alert members of same mob or friends + if obj.group_attack + and obj.state ~= "attack" + and obj.owner ~= name then + if obj.name == self.name then + obj:do_attack(hitter) + elseif type(obj.group_attack) == "table" then + for i=1, #obj.group_attack do + if obj.group_attack[i] == self.name then + obj._aggro = true + obj:do_attack(hitter) + break end end end + end - -- have owned mobs attack player threat - if obj.owner == name and obj.owner_loyal then - obj:do_attack(self.object) - end + -- have owned mobs attack player threat + if obj.owner == name and obj.owner_loyal then + obj:do_attack(self.object) end end end @@ -796,12 +788,23 @@ end function mob_class:check_aggro(dtime) if not self._aggro or not self.attack then return end - if not self._check_aggro_timer or self._check_aggro_timer > 5 then + + if not self._check_aggro_timer then self._check_aggro_timer = 0 - if not self.attack:get_pos() or vector.distance(self.attack:get_pos(),self.object:get_pos()) > 128 then - self._aggro = nil - self.attack = nil - self.state = "stand" + end + + if self._check_aggro_timer > 5 then + self._check_aggro_timer = 0 + + if self.attack then + -- TODO consider removing this in favour of what is done in do_states_attack + -- Attack is dropped in do_states_attack if out of range, so won't even trigger here + -- I do not think this code does anything. Are mobs still loaded in at 128? + if not self.attack:get_pos() or vector.distance(self.attack:get_pos(),self.object:get_pos()) > 128 then + self._aggro = nil + self.attack = nil + self.state = "stand" + end end end self._check_aggro_timer = self._check_aggro_timer + dtime @@ -823,7 +826,10 @@ function mob_class:do_states_attack (dtime) self.state = "stand" self:set_velocity( 0) self:set_animation( "stand") + self.attack = nil + self._aggro = nil + self.v_start = false self.timer = 0 self.blinktimer = 0 diff --git a/mods/ENTITIES/mcl_mobs/effects.lua b/mods/ENTITIES/mcl_mobs/effects.lua index 81ebdbd2e..699993979 100644 --- a/mods/ENTITIES/mcl_mobs/effects.lua +++ b/mods/ENTITIES/mcl_mobs/effects.lua @@ -1,4 +1,4 @@ -local math, vector, minetest, mcl_mobs = math, vector, minetest, mcl_mobs +local math, tonumber, vector, minetest, mcl_mobs = math, tonumber, vector, minetest, mcl_mobs local mob_class = mcl_mobs.mob_class local active_particlespawners = {} local disable_blood = minetest.settings:get_bool("mobs_disable_blood") @@ -8,6 +8,15 @@ local player_transfer_distance = tonumber(minetest.settings:get("player_transfer if player_transfer_distance == 0 then player_transfer_distance = math.huge end +local function validate_vector (vect) + if vect then + if tonumber(vect.x) and tonumber(vect.y) and tonumber(vect.z) then + return true + end + end + return false +end + -- custom particle effects function mcl_mobs.effect(pos, amount, texture, min_size, max_size, radius, gravity, glow, go_down) @@ -232,13 +241,17 @@ function mob_class:set_animation(anim, fixed_frame) if not self.animation or not anim then return end + + if self.jockey and self.object:get_attach() then + anim = "jockey" + elseif not self.object:get_attach() then + self.jockey = nil + end + if self.state == "die" and anim ~= "die" and anim ~= "stand" then return end - if self.jockey then - anim = "jockey" - end if self:flight_check() and self.fly and anim == "walk" then anim = "fly" end @@ -280,30 +293,63 @@ local function dir_to_pitch(dir) return -math.atan2(-dir.y, xz) end -function mob_class:check_head_swivel(dtime) - if not self.head_swivel or type(self.head_swivel) ~= "string" then return end - local final_rotation = vector.new(0,0,0) - local oldp,oldr = self.object:get_bone_position(self.head_swivel) - +local function who_are_you_looking_at (self) local pos = self.object:get_pos() - for _, obj in pairs(minetest.get_objects_inside_radius(pos, 10)) do - if obj:is_player() and not self.attack or obj:get_luaentity() and obj:get_luaentity().name == self.name and self ~= obj:get_luaentity() then - if not self._locked_object then - if math.random(5000/self.curiosity) == 1 or vector.distance(pos,obj:get_pos())<4 and obj:is_player() then - self._locked_object = obj - end - else - if math.random(10000/self.curiosity) == 1 then - self._locked_object = nil - end - end - end - end + local stop_look_at_player_chance = math.random(833/self.curiosity) + -- was 10000 - div by 12 for avg entities as outside loop + + local stop_look_at_player = stop_look_at_player_chance == 1 if self.attack or self.following then self._locked_object = self.attack or self.following + elseif self._locked_object then + if stop_look_at_player then + --minetest.log("Stop look: ".. self.name) + self._locked_object = nil + end + elseif not self._locked_object then + if math.random(1, 30) then + --minetest.log("Change look check: ".. self.name) + + -- For the wither this was 20/60=0.33, so probably need to rebalance and divide rates. + -- but frequency of check isn't good as it is costly. Making others too infrequent requires testing + local chance = 20/self.curiosity + + if chance < 1 then chance = 1 end + local look_at_player_chance = math.random(chance) + + -- was 5000 but called in loop based on entities. so div by 12 as estimate avg of entities found, + -- then div by 20 as less freq lookup + + local look_at_player = look_at_player_chance == 1 + + for _, obj in pairs(minetest.get_objects_inside_radius(pos, 8)) do + if obj:is_player() and vector.distance(pos,obj:get_pos()) < 4 then + --minetest.log("Change look to player: ".. self.name) + self._locked_object = obj + break + elseif obj:is_player() or (obj:get_luaentity() and obj:get_luaentity().name == self.name and self ~= obj:get_luaentity()) then + if look_at_player then + --minetest.log("Change look to mob: ".. self.name) + self._locked_object = obj + break + end + end + end + end + end +end + +function mob_class:check_head_swivel(dtime) + if not self.head_swivel or type(self.head_swivel) ~= "string" then return end + + + who_are_you_looking_at (self) + + local final_rotation = vector.new(0,0,0) + local oldp,oldr = self.object:get_bone_position(self.head_swivel) if self._locked_object and (self._locked_object:is_player() or self._locked_object:get_luaentity()) and self._locked_object:get_hp() > 0 then local _locked_object_eye_height = 1.5 @@ -318,40 +364,41 @@ function mob_class:check_head_swivel(dtime) if self.object:get_attach() then self_rot = self.object:get_attach():get_rotation() end - if self.rot then - local player_pos = self._locked_object:get_pos() - local direction_player = vector.direction(vector.add(self.object:get_pos(), vector.new(0, self.head_eye_height*.7, 0)), vector.add(player_pos, vector.new(0, _locked_object_eye_height, 0))) - local mob_yaw = math.deg(-(-(self_rot.y)-(-minetest.dir_to_yaw(direction_player))))+self.head_yaw_offset - local mob_pitch = math.deg(-dir_to_pitch(direction_player))*self.head_pitch_multiplier - if (mob_yaw < -60 or mob_yaw > 60) and not (self.attack and self.state == "attack" and not self.runaway) then - final_rotation = vector.multiply(oldr, 0.9) - elseif self.attack and self.state == "attack" and not self.runaway then - if self.head_yaw == "y" then - final_rotation = vector.new(mob_pitch, mob_yaw, 0) - elseif self.head_yaw == "z" then - final_rotation = vector.new(mob_pitch, 0, -mob_yaw) - end + local player_pos = self._locked_object:get_pos() + local direction_player = vector.direction(vector.add(self.object:get_pos(), vector.new(0, self.head_eye_height*.7, 0)), vector.add(player_pos, vector.new(0, _locked_object_eye_height, 0))) + local mob_yaw = math.deg(-(-(self_rot.y)-(-minetest.dir_to_yaw(direction_player))))+self.head_yaw_offset + local mob_pitch = math.deg(-dir_to_pitch(direction_player))*self.head_pitch_multiplier - else + if (mob_yaw < -60 or mob_yaw > 60) and not (self.attack and self.state == "attack" and not self.runaway) then + final_rotation = vector.multiply(oldr, 0.9) + elseif self.attack and self.state == "attack" and not self.runaway then + if self.head_yaw == "y" then + final_rotation = vector.new(mob_pitch, mob_yaw, 0) + elseif self.head_yaw == "z" then + final_rotation = vector.new(mob_pitch, 0, -mob_yaw) + end - if self.head_yaw == "y" then - final_rotation = vector.new(((mob_pitch-oldr.x)*.3)+oldr.x, ((mob_yaw-oldr.y)*.3)+oldr.y, 0) - elseif self.head_yaw == "z" then - final_rotation = vector.new(((mob_pitch-oldr.x)*.3)+oldr.x, 0, -(((mob_yaw-oldr.y)*.3)+oldr.y)*3) - end + else + + if self.head_yaw == "y" then + final_rotation = vector.new(((mob_pitch-oldr.x)*.3)+oldr.x, ((mob_yaw-oldr.y)*.3)+oldr.y, 0) + elseif self.head_yaw == "z" then + final_rotation = vector.new(((mob_pitch-oldr.x)*.3)+oldr.x, 0, -(((mob_yaw-oldr.y)*.3)+oldr.y)*3) end end end elseif not self._locked_object and math.abs(oldr.y) > 3 and math.abs(oldr.x) < 3 then final_rotation = vector.multiply(oldr, 0.9) else - final_rotation = vector.new(0,0,0) + --final_rotation = vector.new(0,0,0) end mcl_util.set_bone_position(self.object,self.head_swivel, vector.new(0,self.bone_eye_height,self.horrizonatal_head_height), final_rotation) end + + function mob_class:set_animation_speed() local v = self.object:get_velocity() if v then @@ -367,7 +414,7 @@ function mob_class:set_animation_speed() end end --set_speed - if self.acc then + if validate_vector(self.acc) then self.object:add_velocity(self.acc) end end diff --git a/mods/ENTITIES/mcl_mobs/init.lua b/mods/ENTITIES/mcl_mobs/init.lua index ed3641dc5..c32fca820 100644 --- a/mods/ENTITIES/mcl_mobs/init.lua +++ b/mods/ENTITIES/mcl_mobs/init.lua @@ -489,7 +489,7 @@ function mcl_mobs.register_egg(mob, desc, background_color, overlay_color, addeg on_place = function(itemstack, placer, pointed_thing) local pos = pointed_thing.above - + -- am I clicking on something with existing on_rightclick function? local under = minetest.get_node(pointed_thing.under) local def = minetest.registered_nodes[under.name] @@ -497,12 +497,11 @@ function mcl_mobs.register_egg(mob, desc, background_color, overlay_color, addeg return def.on_rightclick(pointed_thing.under, under, placer, itemstack) end - if pos - and within_limits(pos, 0) - and not minetest.is_protected(pos, placer:get_player_name()) then - + if pos and within_limits(pos, 0) and not minetest.is_protected(pos, placer:get_player_name()) then local name = placer:get_player_name() local privs = minetest.get_player_privs(name) + + if under.name == "mcl_mobspawners:spawner" then if minetest.is_protected(pointed_thing.under, name) then minetest.record_protection_violation(pointed_thing.under, name) @@ -512,7 +511,14 @@ function mcl_mobs.register_egg(mob, desc, background_color, overlay_color, addeg minetest.chat_send_player(name, S("You need the “maphack” privilege to change the mob spawner.")) return itemstack end - mcl_mobspawners.setup_spawner(pointed_thing.under, itemstack:get_name()) + + local dim = mcl_worlds.pos_to_dimension(placer:get_pos()) + local mob_light_lvl = {mcl_mobs:mob_light_lvl(itemstack:get_name(),dim)} + + --minetest.log("min light: " .. mob_light_lvl[1]) + --minetest.log("max light: " .. mob_light_lvl[2]) + + mcl_mobspawners.setup_spawner(pointed_thing.under, itemstack:get_name(), mob_light_lvl[1], mob_light_lvl[2]) if not minetest.is_creative_enabled(name) then itemstack:take_item() end diff --git a/mods/ENTITIES/mcl_mobs/locale/template.txt b/mods/ENTITIES/mcl_mobs/locale/template.txt index e24974a41..9674a8ca6 100644 --- a/mods/ENTITIES/mcl_mobs/locale/template.txt +++ b/mods/ENTITIES/mcl_mobs/locale/template.txt @@ -9,3 +9,5 @@ Before you use the name tag, you need to set a name at an anvil. Then you can us Only peaceful mobs allowed!= Give names to mobs= Set name at anvil= +Removes specified mobs except nametagged and tamed ones. For the second parameter, use nametagged/tamed to select only nametagged/tamed mobs, or a range to specify a maximum distance from the player.= +Default usage. Clearing hostile mobs. For more options please type: /help clearmobs= diff --git a/mods/ENTITIES/mcl_mobs/mod.conf b/mods/ENTITIES/mcl_mobs/mod.conf index 0d622f6a9..9c10e9a2b 100644 --- a/mods/ENTITIES/mcl_mobs/mod.conf +++ b/mods/ENTITIES/mcl_mobs/mod.conf @@ -2,4 +2,4 @@ name = mcl_mobs author = PilzAdam description = Adds a mob API for mods to add animals or monsters, etc. depends = mcl_particles -optional_depends = mcl_weather, mcl_explosions, mcl_hunger, mcl_worlds, invisibility, lucky_block, cmi, doc_identifier, mcl_armor, mcl_portals, mcl_experience +optional_depends = mcl_weather, mcl_explosions, mcl_hunger, mcl_worlds, invisibility, lucky_block, cmi, doc_identifier, mcl_armor, mcl_portals, mcl_experience, mcl_sculk diff --git a/mods/ENTITIES/mcl_mobs/movement.lua b/mods/ENTITIES/mcl_mobs/movement.lua index df00a42a7..9dedd7e2c 100644 --- a/mods/ENTITIES/mcl_mobs/movement.lua +++ b/mods/ENTITIES/mcl_mobs/movement.lua @@ -3,10 +3,7 @@ local mob_class = mcl_mobs.mob_class local DEFAULT_FALL_SPEED = -9.81*1.5 local FLOP_HEIGHT = 6 local FLOP_HOR_SPEED = 1.5 -local PATHFINDING = "gowp" -local node_ice = "mcl_core:ice" -local node_snowblock = "mcl_core:snowblock" local node_snow = "mcl_core:snow" @@ -21,14 +18,19 @@ local function atan(x) end end +local registered_fallback_node = minetest.registered_nodes[mcl_mobs.fallback_node] + -- get node but use fallback for nil or unknown local node_ok = function(pos, fallback) - fallback = fallback or mcl_mobs.fallback_node local node = minetest.get_node_or_nil(pos) if node and minetest.registered_nodes[node.name] then return node end - return minetest.registered_nodes[fallback] + if fallback then + return minetest.registered_nodes[fallback] + else + return registered_fallback_node + end end -- Returns true is node can deal damage to self @@ -200,14 +202,19 @@ function mob_class:can_jump_cliff() end -- is mob facing a cliff or danger -function mob_class:is_at_cliff_or_danger() - if self.fear_height == 0 or self:can_jump_cliff() or self._jumping_cliff or not self.object:get_luaentity() then -- 0 for no falling protection! +function mob_class:is_at_cliff_or_danger(can_jump_cliff) + if can_jump_cliff == nil then + can_jump_cliff = self:can_jump_cliff() + end + + if self.fear_height == 0 or can_jump_cliff or self._jumping_cliff or not self.object:get_luaentity() then -- 0 for no falling protection! return false end local yaw = self.object:get_yaw() local dir_x = -math.sin(yaw) * (self.collisionbox[4] + 0.5) local dir_z = math.cos(yaw) * (self.collisionbox[4] + 0.5) + local pos = self.object:get_pos() local ypos = pos.y + self.collisionbox[2] -- just above floor @@ -234,14 +241,24 @@ end -- copy the 'mob facing cliff_or_danger check' from above, and rework to avoid water -function mob_class:is_at_water_danger() - if not self.object:get_luaentity() or self:can_jump_cliff() or self._jumping_cliff then +function mob_class:is_at_water_danger(can_jump_cliff) + if can_jump_cliff == nil then + can_jump_cliff = self:can_jump_cliff() + end + + if not self.object:get_luaentity() or can_jump_cliff or self._jumping_cliff then return false end local yaw = self.object:get_yaw() + local pos = self.object:get_pos() + + if not yaw or not pos then + return + end + local dir_x = -math.sin(yaw) * (self.collisionbox[4] + 0.5) local dir_z = math.cos(yaw) * (self.collisionbox[4] + 0.5) - local pos = self.object:get_pos() + local ypos = pos.y + self.collisionbox[2] -- just above floor local free_fall, blocker = minetest.line_of_sight( @@ -270,7 +287,9 @@ end function mob_class:env_danger_movement_checks(dtime) local yaw = 0 - if self:is_at_water_danger() and self.state ~= "attack" then + + local can_jump_cliff = self:can_jump_cliff() + if self.state ~= "attack" and self:is_at_water_danger(can_jump_cliff) then if math.random(1, 10) <= 6 then self:set_velocity(0) self.state = "stand" @@ -278,13 +297,9 @@ function mob_class:env_danger_movement_checks(dtime) yaw = yaw + math.random(-0.5, 0.5) yaw = self:set_yaw( yaw, 8) end - else - if self.move_in_group ~= false then - self:check_herd(dtime) - end end - if self:is_at_cliff_or_danger() then + if self:is_at_cliff_or_danger(can_jump_cliff) then self:set_velocity(0) self.state = "stand" self:set_animation( "stand") @@ -453,7 +468,7 @@ end -- find and replace what mob is looking for (grass, wheat etc.) -function mob_class:replace(pos) +function mob_class:replace_node(pos) if not self.replace_rate or not self.replace_what @@ -607,75 +622,51 @@ end -- follow player if owner or holding item, if fish outta water then flop -function mob_class:follow_flop() - +function mob_class:check_follow() -- find player to follow - if (self.follow ~= "" - or self.order == "follow") - and not self.following + if (self.follow ~= "" or self.order == "follow") and not self.following and self.state ~= "attack" and self.order ~= "sit" and self.state ~= "runaway" then - local s = self.object:get_pos() local players = minetest.get_connected_players() - for n = 1, #players do - - if (self:object_in_range(players[n])) - and not mcl_mobs.invis[ players[n]:get_player_name() ] then - + if (self:object_in_range(players[n])) and not mcl_mobs.invis[ players[n]:get_player_name() ] then self.following = players[n] - break end end end - if self.type == "npc" - and self.order == "follow" - and self.state ~= "attack" - and self.order ~= "sit" - and self.owner ~= "" then + if self.type == "npc" and self.order == "follow" + and self.state ~= "attack" and self.order ~= "sit" and self.owner ~= "" then - -- npc stop following player if not owner - if self.following - and self.owner - and self.owner ~= self.following:get_player_name() then + if self.following and self.owner and self.owner ~= self.following:get_player_name() then self.following = nil end else -- stop following player if not holding specific item, -- mob is horny, fleeing or attacking - if self.following - and self.following:is_player() - and (self:follow_holding(self.following) == false or - self.horny or self.state == "runaway") then + if self.following and self.following:is_player() + and (self:follow_holding(self.following) == false or self.horny or self.state == "runaway") then self.following = nil end - end -- follow that thing if self.following then - local s = self.object:get_pos() + local p - if self.following:is_player() then - p = self.following:get_pos() - elseif self.following.object then - p = self.following.object:get_pos() end if p then - local dist = vector.distance(p, s) - -- dont follow if out of range if (not self:object_in_range(self.following)) then self.following = nil else @@ -685,17 +676,12 @@ function mob_class:follow_flop() } local yaw = (atan(vec.z / vec.x) +math.pi/ 2) - self.rotate - if p.x > s.x then yaw = yaw +math.pi end - self:set_yaw( yaw, 2.35) -- anyone but standing npc's can move along - if dist > 3 - and self.order ~= "stand" then - + if dist > 3 and self.order ~= "stand" then self:set_velocity(self.follow_velocity) - if self.walk_chance ~= 0 then self:set_animation( "run") end @@ -703,17 +689,18 @@ function mob_class:follow_flop() self:set_velocity(0) self:set_animation( "stand") end - return end end end +end +function mob_class:flop() -- swimmers flop when out of their element, and swim again when back in if self.fly then local s = self.object:get_pos() - if self:flight_check( s) == false then + if self:flight_check(s) == false then self.state = "flop" self.object:set_acceleration({x = 0, y = DEFAULT_FALL_SPEED, z = 0}) @@ -732,7 +719,6 @@ function mob_class:follow_flop() end self:set_animation( "stand", true) - return elseif self.state == "flop" then self.state = "stand" @@ -763,7 +749,10 @@ end local check_herd_timer = 0 function mob_class:check_herd(dtime) local pos = self.object:get_pos() - if not pos then return end + if not pos or self.state == "attack" then return end + -- Does any mob not move in group. Weird check for something not set? + if self.move_in_group == false then return end + check_herd_timer = check_herd_timer + dtime if check_herd_timer < 4 then return end check_herd_timer = 0 diff --git a/mods/ENTITIES/mcl_mobs/pathfinding.lua b/mods/ENTITIES/mcl_mobs/pathfinding.lua index ee39d28ad..ce706b190 100644 --- a/mods/ENTITIES/mcl_mobs/pathfinding.lua +++ b/mods/ENTITIES/mcl_mobs/pathfinding.lua @@ -3,6 +3,9 @@ local mob_class = mcl_mobs.mob_class local PATHFINDING_FAIL_THRESHOLD = 100 -- no. of ticks to fail before giving up. 20p/s. 5s helps them get through door local PATHFINDING_FAIL_WAIT = 30 -- how long to wait before trying to path again +local PATHING_START_DELAY = 4 -- When doing non-prioritised pathing, how long to wait until last mob pathed + +local PATHFINDING_SEARCH_DISTANCE = 50 -- How big the square is that pathfinding will look local PATHFINDING = "gowp" @@ -107,14 +110,20 @@ local function generate_enriched_path(wp_in, door_open_pos, door_close_pos, cur_ return wp_out end -function mob_class:ready_to_path() +local last_pathing_time = os.time() + +function mob_class:ready_to_path(prioritised) mcl_log("Check ready to path") if self._pf_last_failed and (os.time() - self._pf_last_failed) < PATHFINDING_FAIL_WAIT then mcl_log("Not ready to path as last fail is less than threshold: " .. (os.time() - self._pf_last_failed)) return false else - mcl_log("We are ready to pathfind, no previous fail or we are past threshold") - return true + local time_since_path_start = os.time() - last_pathing_time + mcl_log("time_since_path_start: " .. tostring(time_since_path_start)) + if prioritised or (time_since_path_start) > PATHING_START_DELAY then + mcl_log("We are ready to pathfind, no previous fail or we are past threshold") + return true + end end end @@ -144,7 +153,7 @@ local function calculate_path_through_door (p, cur_door_pos, t) if n.name == "air" then mcl_log("We have air space next to door at: " .. minetest.pos_to_string(pos_closest_to_door)) - prospective_wp = minetest.find_path(p,pos_closest_to_door,150,1,4) + prospective_wp = minetest.find_path(p, pos_closest_to_door, PATHFINDING_SEARCH_DISTANCE, 1, 4) if prospective_wp then mcl_log("Found a path to next to door".. minetest.pos_to_string(pos_closest_to_door)) @@ -154,7 +163,7 @@ local function calculate_path_through_door (p, cur_door_pos, t) if t then mcl_log("We have t, lets go from door to target") - local wp_otherside_door_to_target = minetest.find_path(other_side_of_door,t,150,1,4) + local wp_otherside_door_to_target = minetest.find_path(other_side_of_door, t, PATHFINDING_SEARCH_DISTANCE, 1, 4) if wp_otherside_door_to_target and #wp_otherside_door_to_target > 0 then append_paths (prospective_wp, wp_otherside_door_to_target) @@ -190,9 +199,13 @@ local function calculate_path_through_door (p, cur_door_pos, t) return enriched_path end -function mob_class:gopath(target,callback_arrived) + + +function mob_class:gopath(target, callback_arrived, prioritised) if self.state == PATHFINDING then mcl_log("Already pathfinding, don't set another until done.") return end - if not self:ready_to_path() then return end + if not self:ready_to_path(prioritised) then return end + + last_pathing_time = os.time() self.order = nil @@ -200,7 +213,7 @@ function mob_class:gopath(target,callback_arrived) local t = vector.offset(target,0,1,0) --Check direct route - local wp = minetest.find_path(p,t,150,1,4) + local wp = minetest.find_path(p, t, PATHFINDING_SEARCH_DISTANCE, 1, 4) if not wp then mcl_log("### No direct path. Path through door closest to target.") @@ -410,7 +423,7 @@ function mob_class:check_gowp(dtime) mcl_log("No current target") end - local final_wp = minetest.find_path(p,self._target,150,1,4) + local final_wp = minetest.find_path(p, self._target, PATHFINDING_SEARCH_DISTANCE, 1, 4) if final_wp then mcl_log("We can get to target here.") -- self.waypoints = final_wp diff --git a/mods/ENTITIES/mcl_mobs/physics.lua b/mods/ENTITIES/mcl_mobs/physics.lua index 0617fd1e8..956eb992c 100644 --- a/mods/ENTITIES/mcl_mobs/physics.lua +++ b/mods/ENTITIES/mcl_mobs/physics.lua @@ -47,7 +47,8 @@ end function mob_class:player_in_active_range() for _,p in pairs(minetest.get_connected_players()) do - if vector.distance(self.object:get_pos(),p:get_pos()) <= mob_active_range then return true end + local pos = self.object:get_pos() + if pos and vector.distance(pos, p:get_pos()) <= mob_active_range then return true end -- slightly larger than the mc 32 since mobs spawn on that circle and easily stand still immediately right after spawning. end end @@ -182,15 +183,17 @@ function mob_class:collision() return({x,z}) end -function mob_class:slow_mob() +function mob_class:check_death_and_slow_mob() local d = 0.85 - if self:check_dying() then d = 0.92 end + local dying = self:check_dying() + if dying then d = 0.92 end local v = self.object:get_velocity() if v then --diffuse object velocity self.object:set_velocity({x = v.x*d, y = v.y, z = v.z*d}) end + return dying end -- move mob in facing direction @@ -308,6 +311,8 @@ end function mob_class:set_yaw(yaw, delay, dtime) if self.noyaw then return end + if not self.object:get_yaw() or not self.object:get_pos() then return end + if self.state ~= PATHFINDING then self._turn_to = yaw end @@ -459,6 +464,14 @@ function mob_class:check_for_death(cause, cmi_cause) self:mob_sound("death") local function death_handle(self) + if cmi_cause and cmi_cause["type"] then + --minetest.log("cmi_cause: " .. tostring(cmi_cause["type"])) + end + --minetest.log("cause: " .. tostring(cause)) + + -- TODO other env damage shouldn't drop xp + -- "rain", "water", "drowning", "suffocation" + -- dropped cooked item if mob died in fire or lava if cause == "lava" or cause == "fire" then self:item_drop(true, 0) @@ -475,9 +488,21 @@ function mob_class:check_for_death(cause, cmi_cause) self:item_drop(cooked, looting) if ((not self.child) or self.type ~= "animal") and (minetest.get_us_time() - self.xp_timestamp <= math.huge) then - mcl_experience.throw_xp(self.object:get_pos(), math.random(self.xp_min, self.xp_max)) + local pos = self.object:get_pos() + local xp_amount = math.random(self.xp_min, self.xp_max) + + if not mcl_sculk.handle_death(pos, xp_amount) then + --minetest.log("Xp not thrown") + if minetest.is_creative_enabled("") ~= true then + mcl_experience.throw_xp(pos, xp_amount) + end + else + --minetest.log("xp thrown") + end end end + + end -- execute custom death function @@ -497,6 +522,12 @@ function mob_class:check_for_death(cause, cmi_cause) end end + if self.jockey or self.riden_by_jock then + self.riden_by_jock = nil + self.jockey = nil + end + + local collisionbox if self.collisionbox then collisionbox = table.copy(self.collisionbox) @@ -519,17 +550,16 @@ function mob_class:check_for_death(cause, cmi_cause) self:set_velocity(0) local acc = self.object:get_acceleration() - acc.x, acc.y, acc.z = 0, DEFAULT_FALL_SPEED, 0 - self.object:set_acceleration(acc) + if acc then + acc.x, acc.y, acc.z = 0, DEFAULT_FALL_SPEED, 0 + self.object:set_acceleration(acc) + end local length -- default death function and die animation (if defined) if self.instant_death then length = 0 - elseif self.animation - and self.animation.die_start - and self.animation.die_end then - + elseif self.animation and self.animation.die_start and self.animation.die_end then local frames = self.animation.die_end - self.animation.die_start local speed = self.animation.die_speed or 15 length = math.max(frames / speed, 0) + DEATH_DELAY @@ -545,7 +575,6 @@ function mob_class:check_for_death(cause, cmi_cause) if not self.object:get_luaentity() then return end - death_handle(self) local dpos = self.object:get_pos() local cbox = self.collisionbox @@ -554,6 +583,7 @@ function mob_class:check_for_death(cause, cmi_cause) self.object:remove() mcl_mobs.death_effect(dpos, yaw, cbox, not self.instant_death) end + if length <= 0 then kill(self) else @@ -604,24 +634,34 @@ function mob_class:do_env_damage() return true end - local sunlight = minetest.get_natural_light(pos, self.time_of_day) - - -- bright light harms mob - if self.light_damage ~= 0 and (sunlight or 0) > 12 then - if self:deal_light_damage(pos, self.light_damage) then - return true + local node = minetest.get_node(pos) + if node then + if node.name ~= "ignore" then + -- put below code in this block if we can prove that unloaded maps are causing crash. + -- it should warn then error + else + --minetest.log("warning", "Pos is ignored: " .. dump(pos)) end - end - local _, dim = mcl_worlds.y_to_layer(pos.y) - if (self.sunlight_damage ~= 0 or self.ignited_by_sunlight) and (sunlight or 0) >= minetest.LIGHT_MAX and dim == "overworld" then - if self.armor_list and not self.armor_list.helmet or not self.armor_list or self.armor_list and self.armor_list.helmet and self.armor_list.helmet == "" then - if self.ignited_by_sunlight then - mcl_burning.set_on_fire(self.object, 10) - else - self:deal_light_damage(pos, self.sunlight_damage) + + local sunlight = minetest.get_natural_light(pos, self.time_of_day) + + if self.light_damage ~= 0 and (sunlight or 0) > 12 then + if self:deal_light_damage(pos, self.light_damage) then return true end end + local _, dim = mcl_worlds.y_to_layer(pos.y) + if (self.sunlight_damage ~= 0 or self.ignited_by_sunlight) and (sunlight or 0) >= minetest.LIGHT_MAX and dim == "overworld" then + if self.armor_list and not self.armor_list.helmet or not self.armor_list or self.armor_list and self.armor_list.helmet and self.armor_list.helmet == "" then + if self.ignited_by_sunlight then + mcl_burning.set_on_fire(self.object, 10) + else + self:deal_light_damage(pos, self.sunlight_damage) + return true + end + end + end + end local y_level = self.collisionbox[2] @@ -642,11 +682,11 @@ function mob_class:do_env_damage() end local nodef = minetest.registered_nodes[self.standing_in] + local nodef2 = minetest.registered_nodes[self.standing_on] -- rain if self.rain_damage > 0 then if mcl_weather.rain.raining and mcl_weather.is_outdoor(pos) then - self.health = self.health - self.rain_damage if self:check_for_death("rain", {type = "environment", @@ -659,13 +699,9 @@ function mob_class:do_env_damage() pos.y = pos.y + 1 -- for particle effect position -- water damage - if self.water_damage > 0 - and nodef.groups.water then - + if self.water_damage > 0 and nodef.groups.water then if self.water_damage ~= 0 then - self.health = self.health - self.water_damage - mcl_mobs.effect(pos, 5, "mcl_particles_smoke.png", nil, nil, 1, nil) if self:check_for_death("water", {type = "environment", @@ -673,15 +709,10 @@ function mob_class:do_env_damage() return true end end - - -- lava damage - elseif self.lava_damage > 0 - and (nodef.groups.lava) then - + elseif self.lava_damage > 0 and (nodef.groups.lava) then + -- lava damage if self.lava_damage ~= 0 then - self.health = self.health - self.lava_damage - mcl_mobs.effect(pos, 5, "fire_basic_flame.png", nil, nil, 1, nil) mcl_burning.set_on_fire(self.object, 10) @@ -690,15 +721,20 @@ function mob_class:do_env_damage() return true end end - - -- fire damage - elseif self.fire_damage > 0 - and (nodef.groups.fire) then - + elseif self.fire_damage > 0 and (nodef2.groups.fire) then + -- magma damage if self.fire_damage ~= 0 then - self.health = self.health - self.fire_damage + if self:check_for_death("fire", {type = "environment", + pos = pos, node = self.standing_in}) then + return true + end + end + elseif self.fire_damage > 0 and (nodef.groups.fire) then + -- fire damage + if self.fire_damage ~= 0 then + self.health = self.health - self.fire_damage mcl_mobs.effect(pos, 5, "fire_basic_flame.png", nil, nil, 1, nil) mcl_burning.set_on_fire(self.object, 5) @@ -707,12 +743,9 @@ function mob_class:do_env_damage() return true end end - - -- damage_per_second node check elseif nodef.damage_per_second ~= 0 and not nodef.groups.lava and not nodef.groups.fire then - + -- damage_per_second node check self.health = self.health - nodef.damage_per_second - mcl_mobs.effect(pos, 5, "mcl_particles_smoke.png") if self:check_for_death("dps", {type = "environment", @@ -724,6 +757,7 @@ function mob_class:do_env_damage() -- Drowning damage if self.breath_max ~= -1 then local drowning = false + if self.breathes_in_water then if minetest.get_item_group(self.standing_in, "water") == 0 then drowning = true @@ -731,10 +765,9 @@ function mob_class:do_env_damage() elseif nodef.drowning > 0 then drowning = true end + if drowning then - self.breath = math.max(0, self.breath - 1) - mcl_mobs.effect(pos, 2, "bubble.png", nil, nil, 1, nil) if self.breath <= 0 then local dmg @@ -785,25 +818,25 @@ function mob_class:do_env_damage() self.suffocation_timer = 0 end - return self:check_for_death("", {type = "unknown"}) + return self:check_for_death("unknown", {type = "unknown"}) end function mob_class:env_damage (dtime, pos) -- environmental damage timer (every 1 second) self.env_damage_timer = self.env_damage_timer + dtime - if (self.state == "attack" and self.env_damage_timer > 1) - or self.state ~= "attack" then - self:check_entity_cramming() + + if self.env_damage_timer > 1 then self.env_damage_timer = 0 + self:check_entity_cramming() + -- check for environmental damage (water, fire, lava etc.) if self:do_env_damage() then return true end - -- node replace check (cow eats grass etc.) - self:replace(pos) + self:replace_node(pos) -- (sheep eats grass etc.) end end @@ -870,33 +903,32 @@ function mob_class:falling(pos) -- floating in water (or falling) local v = self.object:get_velocity() + if v then + if v.y > 0 then + -- apply gravity when moving up + self.object:set_acceleration({ + x = 0, + y = DEFAULT_FALL_SPEED, + z = 0 + }) - if v.y > 0 then - - -- apply gravity when moving up - self.object:set_acceleration({ - x = 0, - y = DEFAULT_FALL_SPEED, - z = 0 - }) - - elseif v.y <= 0 and v.y > self.fall_speed then - - -- fall downwards at set speed - self.object:set_acceleration({ - x = 0, - y = self.fall_speed, - z = 0 - }) - else - -- stop accelerating once max fall speed hit - self.object:set_acceleration({x = 0, y = 0, z = 0}) + elseif v.y <= 0 and v.y > self.fall_speed then + -- fall downwards at set speed + self.object:set_acceleration({ + x = 0, + y = self.fall_speed, + z = 0 + }) + else + -- stop accelerating once max fall speed hit + self.object:set_acceleration({x = 0, y = 0, z = 0}) + end end + local acc = self.object:get_acceleration() + if minetest.registered_nodes[node_ok(pos).name].groups.lava then - - if self.floats_on_lava == 1 then - + if acc and self.floats_on_lava == 1 then self.object:set_acceleration({ x = 0, y = -self.fall_speed / (math.max(1, v.y) ^ 2), @@ -907,9 +939,7 @@ function mob_class:falling(pos) -- in water then float up if minetest.registered_nodes[node_ok(pos).name].groups.water then - - if self.floats == 1 then - + if acc and self.floats == 1 then self.object:set_acceleration({ x = 0, y = -self.fall_speed / (math.max(1, v.y) ^ 2), @@ -917,10 +947,8 @@ function mob_class:falling(pos) }) end else - -- fall damage onto solid ground - if self.fall_damage == 1 - and self.object:get_velocity().y == 0 then + if self.fall_damage == 1 and self.object:get_velocity().y == 0 then local n = node_ok(vector.offset(pos,0,-1,0)).name local d = (self.old_y or 0) - self.object:get_pos().y @@ -981,24 +1009,31 @@ end function mob_class:check_dying() if ((self.state and self.state=="die") or self:check_for_death()) and not self.animation.die_end then local rot = self.object:get_rotation() - rot.z = ((math.pi/2-rot.z)*.2)+rot.z - self.object:set_rotation(rot) + if rot then + rot.z = ((math.pi/2-rot.z)*.2)+rot.z + self.object:set_rotation(rot) + end return true end end -function mob_class:check_suspend() - if not self:player_in_active_range() then - local pos = self.object:get_pos() +function mob_class:check_suspend(player_in_active_range) + local pos = self.object:get_pos() + + if pos and not player_in_active_range then local node_under = node_ok(vector.offset(pos,0,-1,0)).name - local acc = self.object:get_acceleration() + self:set_animation( "stand", true) - if acc.y > 0 or node_under ~= "air" then - self.object:set_acceleration(vector.new(0,0,0)) - self.object:set_velocity(vector.new(0,0,0)) - end - if acc.y == 0 and node_under == "air" then - self:falling(pos) + + local acc = self.object:get_acceleration() + if acc then + if acc.y > 0 or node_under ~= "air" then + self.object:set_acceleration(vector.zero()) + self.object:set_velocity(vector.zero()) + end + if acc.y == 0 and node_under == "air" then + self:falling(pos) + end end return true end diff --git a/mods/ENTITIES/mcl_mobs/spawning.lua b/mods/ENTITIES/mcl_mobs/spawning.lua index 01ef2a823..be8e1028e 100644 --- a/mods/ENTITIES/mcl_mobs/spawning.lua +++ b/mods/ENTITIES/mcl_mobs/spawning.lua @@ -24,25 +24,60 @@ local vector_floor = vector.floor local table_copy = table.copy local table_remove = table.remove - local pairs = pairs + +local LOGGING_ON = minetest.settings:get_bool("mcl_logging_mobs_spawning", false) +local function mcl_log (message) + if LOGGING_ON then + mcl_util.mcl_log (message, "[Mobs spawn]", true) + end +end + local dbg_spawn_attempts = 0 local dbg_spawn_succ = 0 local dbg_spawn_counts = {} --- range for mob count -local aoc_range = 136 + local remove_far = true +local WAIT_FOR_SPAWN_ATTEMPT = 10 +local FIND_SPAWN_POS_RETRIES = 16 +local FIND_SPAWN_POS_RETRIES_SUCCESS_RESPIN = 8 + +local MOB_SPAWN_ZONE_INNER = 24 +local MOB_SPAWN_ZONE_MIDDLE = 32 +local MOB_SPAWN_ZONE_OUTER = 128 + +-- range for mob count +local MOB_CAP_INNER_RADIUS = 32 +local aoc_range = 136 + +local MISSING_CAP_DEFAULT = 15 +local MOBS_CAP_CLOSE = 5 + +local SPAWN_MAPGEN_LIMIT = mcl_vars.mapgen_limit - 150 + local mob_cap = { - monster = tonumber(minetest.settings:get("mcl_mob_cap_monster")) or 70, - animal = tonumber(minetest.settings:get("mcl_mob_cap_animal")) or 10, + hostile = tonumber(minetest.settings:get("mcl_mob_cap_monster")) or 70, + passive = tonumber(minetest.settings:get("mcl_mob_cap_animal")) or 13, ambient = tonumber(minetest.settings:get("mcl_mob_cap_ambient")) or 15, - water = tonumber(minetest.settings:get("mcl_mob_cap_water")) or 5, --currently unused + water = tonumber(minetest.settings:get("mcl_mob_cap_water")) or 8, water_ambient = tonumber(minetest.settings:get("mcl_mob_cap_water_ambient")) or 20, --currently unused player = tonumber(minetest.settings:get("mcl_mob_cap_player")) or 75, total = tonumber(minetest.settings:get("mcl_mob_cap_total")) or 500, } +local peaceful_percentage_spawned = tonumber(minetest.settings:get("mcl_mob_peaceful_percentage_spawned")) or 35 +local peaceful_group_percentage_spawned = tonumber(minetest.settings:get("mcl_mob_peaceful_group_percentage_spawned")) or 15 +local hostile_group_percentage_spawned = tonumber(minetest.settings:get("mcl_mob_hostile_group_percentage_spawned")) or 20 + +mcl_log("Mob cap hostile: " .. mob_cap.hostile) +mcl_log("Mob cap water: " .. mob_cap.water) +mcl_log("Mob cap passive: " .. mob_cap.passive) + +mcl_log("Percentage of peacefuls spawned: " .. peaceful_percentage_spawned) +mcl_log("Percentage of peaceful spawns are group: " .. peaceful_group_percentage_spawned) +mcl_log("Percentage of hostile spawns are group: " .. hostile_group_percentage_spawned) + --do mobs spawn? local mobs_spawn = minetest.settings:get_bool("mobs_spawn", true) ~= false local spawn_protected = minetest.settings:get_bool("mobs_spawn_protected") ~= false @@ -169,6 +204,8 @@ local list_of_all_biomes = { "MushroomIslandShore", "JungleM_shore", "Jungle_shore", + "BambooJungleM_shore", + "BambooJungle_shore", "MangroveSwamp_shore", -- dimension biome: @@ -216,6 +253,10 @@ local list_of_all_biomes = { "JungleEdge", "SavannaM", "MangroveSwamp", + "BambooJungle", + "BambooJungleEdge", + "BambooJungleEdgeM", + "BambooJungleM", } -- count how many mobs are in an area @@ -244,6 +285,60 @@ local function count_mobs_total(mob_type) return num end +local function count_mobs_add_entry (mobs_list, mob_cat) + if mobs_list[mob_cat] then + mobs_list[mob_cat] = mobs_list[mob_cat] + 1 + else + mobs_list[mob_cat] = 1 + end +end + +--categorise_by can be name or type or spawn_class +local function count_mobs_all(categorise_by, pos) + local mobs_found_wide = {} + local mobs_found_close = {} + + local num = 0 + for _,entity in pairs(minetest.luaentities) do + if entity and entity.is_mob then + + local add_entry = false + --local mob_type = entity.type -- animal / monster / npc + local mob_cat = entity[categorise_by] + + if pos then + local mob_pos = entity.object:get_pos() + if mob_pos then + local distance = vector.distance(pos, mob_pos) + --mcl_log("distance: ".. distance) + if distance <= MOB_SPAWN_ZONE_MIDDLE then + --mcl_log("distance is close") + count_mobs_add_entry (mobs_found_close, mob_cat) + count_mobs_add_entry (mobs_found_wide, mob_cat) + add_entry = true + elseif distance <= MOB_SPAWN_ZONE_OUTER then + --mcl_log("distance is wide") + count_mobs_add_entry (mobs_found_wide, mob_cat) + add_entry = true + else + --mcl_log("mob_pos: " .. minetest.pos_to_string(mob_pos)) + end + end + else + count_mobs_add_entry (mobs_found_wide, mob_cat) + add_entry = true + end + + + if add_entry then + num = num + 1 + end + end + end + --mcl_log("num: ".. num) + return mobs_found_close, mobs_found_wide, num +end + local function count_mobs_total_cap(mob_type) local num = 0 for _,l in pairs(minetest.luaentities) do @@ -256,6 +351,32 @@ local function count_mobs_total_cap(mob_type) return num end +local function output_mob_stats(mob_counts, total_mobs, chat_display) + if (total_mobs) then + local total_output = "Total mobs found: " .. total_mobs + if chat_display then + minetest.log(total_output) + else + minetest.log("action", total_output) + end + + end + local detailed = "" + if mob_counts then + for k, v1 in pairs(mob_counts) do + detailed = detailed .. tostring(k) .. ": " .. tostring(v1) .. "; " + end + end + if detailed and detailed ~= "" then + if chat_display then + minetest.log(detailed) + else + minetest.log("action", detailed) + end + end +end + + -- global functions function mcl_mobs:spawn_abm_check(pos, node, name) @@ -292,6 +413,8 @@ WARNING: BIOME INTEGRATION NEEDED -> How to get biome through lua?? --this is where all of the spawning information is kept local spawn_dictionary = {} +--this is where all of the spawning information is kept for mobs that don't naturally spawn +local non_spawn_dictionary = {} local summary_chance = 0 function mcl_mobs:spawn_setup(def) @@ -357,7 +480,69 @@ function mcl_mobs:spawn_setup(def) summary_chance = summary_chance + chance end -function mcl_mobs:spawn_specific(name, dimension, type_of_spawning, biomes, min_light, max_light, interval, chance, aoc, min_height, max_height, day_toggle, on_spawn) +function mcl_mobs:mob_light_lvl(mob_name, dimension) + local spawn_dictionary_consolidated = {} + + if non_spawn_dictionary[mob_name] then + local mob_dimension = non_spawn_dictionary[mob_name][dimension] + if mob_dimension then + --minetest.log("Found in non spawn dictionary for dimension") + return mob_dimension.min_light, mob_dimension.max_light + else + --minetest.log("Found in non spawn dictionary but not for dimension") + local overworld_non_spawn_def = non_spawn_dictionary[mob_name]["overworld"] + if overworld_non_spawn_def then + return overworld_non_spawn_def.min_light, overworld_non_spawn_def.max_light + end + end + else + --minetest.log("must be in spawning dictionary") + for i,v in pairs(spawn_dictionary) do + local current_mob_name = spawn_dictionary[i].name + local current_mob_dim = spawn_dictionary[i].dimension + if mob_name == current_mob_name then + if not spawn_dictionary_consolidated[current_mob_name] then + spawn_dictionary_consolidated[current_mob_name] = {} + end + spawn_dictionary_consolidated[current_mob_name][current_mob_dim] = { + ["min_light"] = spawn_dictionary[i].min_light, + ["max_light"] = spawn_dictionary[i].max_light + } + end + end + + if spawn_dictionary_consolidated[mob_name] then + --minetest.log("is in consolidated") + local mob_dimension = spawn_dictionary_consolidated[mob_name][dimension] + if mob_dimension then + --minetest.log("found for dimension") + return mob_dimension.min_light, mob_dimension.max_light + else + --minetest.log("not found for dimension, use overworld def") + local mob_dimension_default = spawn_dictionary_consolidated[mob_name]["overworld"] + if mob_dimension_default then + return mob_dimension_default.min_light, mob_dimension_default.max_light + end + end + else + --minetest.log("not in consolidated") + end + end + + minetest.log("action", "There are no light levels for mob (" .. tostring(mob_name) .. ") in dimension (" .. tostring(dimension) .. "). Return defaults") + return 0, minetest.LIGHT_MAX+1 +end + +function mcl_mobs:non_spawn_specific(mob_name,dimension,min_light,max_light) + table.insert(non_spawn_dictionary, mob_name) + non_spawn_dictionary[mob_name] = { + [dimension] = { + min_light = min_light , max_light = max_light + } + } +end + +function mcl_mobs:spawn_specific(name, dimension, type_of_spawning, biomes, min_light, max_light, interval, chance, aoc, min_height, max_height, day_toggle, on_spawn, check_position) -- Do mobs spawn at all? if not mobs_spawn then @@ -394,22 +579,28 @@ function mcl_mobs:spawn_specific(name, dimension, type_of_spawning, biomes, min_ spawn_dictionary[key]["min_height"] = min_height spawn_dictionary[key]["max_height"] = max_height spawn_dictionary[key]["day_toggle"] = day_toggle + spawn_dictionary[key]["check_position"] = check_position summary_chance = summary_chance + chance end + local two_pi = 2 * math.pi local function get_next_mob_spawn_pos(pos) - local distance = math_random(25, 32) + -- TODO We should consider spawning something a little further away sporadically. + -- It would be good for sky farms and variance, rather than all being on the 24 - 32 block away radius + local distance = math_random(MOB_SPAWN_ZONE_INNER, MOB_SPAWN_ZONE_MIDDLE) local angle = math_random() * two_pi + + -- TODO Floor xoff and zoff and add 0.5 so it tries to spawn in the middle of the square. Less failed attempts. local xoff = math_round(distance * math_cos(angle)) - local yoff = math_round(distance * math_sin(angle)) - return vector.offset(pos, xoff, 0, yoff) + local zoff = math_round(distance * math_sin(angle)) + return vector.offset(pos, xoff, 0, zoff) end local function decypher_limits(posy) posy = math_floor(posy) - return posy - 32, posy + 32 + return posy - MOB_SPAWN_ZONE_MIDDLE, posy + MOB_SPAWN_ZONE_MIDDLE end --a simple helper function for mob_spawn @@ -460,15 +651,20 @@ local function has_room(self,pos) return true end -local function spawn_check(pos,spawn_def,ignore_caps) - if not spawn_def then return end + + +local function spawn_check(pos, spawn_def) + if not spawn_def or not pos then return end + dbg_spawn_attempts = dbg_spawn_attempts + 1 local dimension = mcl_worlds.pos_to_dimension(pos) local mob_def = minetest.registered_entities[spawn_def.name] local mob_type = mob_def.type local gotten_node = get_node(pos).name local gotten_biome = minetest.get_biome_data(pos) + if not gotten_node or not gotten_biome then return end + gotten_biome = get_biome_name(gotten_biome.biome) --makes it easier to work with local is_ground = minetest.get_item_group(gotten_node,"solid") ~= 0 @@ -483,34 +679,38 @@ local function spawn_check(pos,spawn_def,ignore_caps) local is_leaf = get_item_group(gotten_node, "leaves") ~= 0 local is_bedrock = gotten_node == "mcl_core:bedrock" local is_grass = minetest.get_item_group(gotten_node,"grass_block") ~= 0 - local mob_count_wide = 0 - local mob_count = 0 - if not ignore_caps then - mob_count = count_mobs(pos,32,mob_type) - mob_count_wide = count_mobs(pos,aoc_range,mob_type) - end + if pos.y >= spawn_def.min_height + and pos.y <= spawn_def.max_height + and spawn_def.dimension == dimension + and biome_check(spawn_def.biomes, gotten_biome) then - if pos and spawn_def - and ( mob_count_wide < (mob_cap[mob_type] or 15) ) - and ( mob_count < 5 ) - and pos.y >= spawn_def.min_height - and pos.y <= spawn_def.max_height - and spawn_def.dimension == dimension - and biome_check(spawn_def.biomes, gotten_biome) - and (is_ground or spawn_def.type_of_spawning ~= "ground") - and (spawn_def.type_of_spawning ~= "ground" or not is_leaf) - and has_room(mob_def,pos) - and (spawn_def.check_position and spawn_def.check_position(pos) or true) - and (not is_farm_animal(spawn_def.name) or is_grass) - and (spawn_def.type_of_spawning ~= "water" or is_water) - and ( not spawn_protected or not minetest.is_protected(pos, "") ) - and not is_bedrock then - --only need to poll for node light if everything else worked - local gotten_light = get_node_light(pos) - if gotten_light >= spawn_def.min_light and gotten_light <= spawn_def.max_light then - return true + --mcl_log("Level 1 spawn check passed") + --minetest.log("Mob: " .. mob_def.name) + + if (is_ground or spawn_def.type_of_spawning ~= "ground") + and (spawn_def.type_of_spawning ~= "ground" or not is_leaf) + and (not is_farm_animal(spawn_def.name) or is_grass) + and (spawn_def.type_of_spawning ~= "water" or is_water) + and not is_bedrock + and has_room(mob_def,pos) + and (spawn_def.check_position and spawn_def.check_position(pos) or spawn_def.check_position == nil) + and ( not spawn_protected or not minetest.is_protected(pos, "") ) then + + --mcl_log("Level 2 spawn check passed") + + local gotten_light = get_node_light(pos) + if gotten_light >= spawn_def.min_light and gotten_light <= spawn_def.max_light then + --mcl_log("Level 3 spawn check passed") + return true + else + mcl_log("Spawn check level 3 failed") + end + else + mcl_log("Spawn check level 2 failed") end + else + mcl_log("Spawn check level 1 failed") end return false end @@ -529,8 +729,7 @@ function mcl_mobs.spawn(pos,id) end -local function spawn_group(p,mob,spawn_on,group_max,group_min) - if not group_min then group_min = 1 end +local function spawn_group(p,mob,spawn_on,amount_to_spawn) local nn= minetest.find_nodes_in_area_under_air(vector.offset(p,-5,-3,-5),vector.offset(p,5,3,5),spawn_on) local o table.shuffle(nn) @@ -538,9 +737,10 @@ local function spawn_group(p,mob,spawn_on,group_max,group_min) nn = {} table.insert(nn,p) end - for i = 1, math.random(group_min,group_max) do + + for i = 1, amount_to_spawn do local sp = vector.offset(nn[math.random(#nn)],0,1,0) - if spawn_check(nn[math.random(#nn)],mob,true) then + if spawn_check(nn[math.random(#nn)],mob) then if mob.type_of_spawning == "water" then sp = get_water_spawn(sp) end @@ -628,25 +828,116 @@ if mobs_spawn then local perlin_noise - local function spawn_a_mob(pos, dimension, y_min, y_max) - --create a disconnected clone of the spawn dictionary - --prevents memory leak + -- Get pos to spawn, x and z are randomised, y is range + + + local function mob_cap_space (pos, mob_type, mob_counts_close, mob_counts_wide) + + -- Some mob examples + --type = "monster", spawn_class = "hostile", + --type = "animal", spawn_class = "passive", + --local cod = { type = "animal", spawn_class = "water", + + local type_cap = mob_cap[mob_type] or MISSING_CAP_DEFAULT + local close_zone_cap = MOBS_CAP_CLOSE + + local mob_total_wide = mob_counts_wide[mob_type] + if not mob_total_wide then + --mcl_log("none of type found. set as 0") + mob_total_wide = 0 + end + + local cap_space_wide = type_cap - mob_total_wide + if cap_space_wide < 1 then + cap_space_wide = 0 + end + + local mob_total_close = mob_counts_close[mob_type] + if not mob_total_close then + --mcl_log("none of type found. set as 0") + mob_total_close = 0 + end + + local cap_space_close = close_zone_cap - mob_total_close + if cap_space_close < 1 then + cap_space_close = 0 + end + + --mcl_log("spawn_class: " .. spawn_class) + + if false and mob_type == "water" then + mcl_log("mob_type: " .. mob_type .. " and pos: " .. minetest.pos_to_string(pos)) + mcl_log("wide: " .. mob_total_wide .. "/" .. type_cap) + mcl_log("cap_space_wide: " .. cap_space_wide) + mcl_log("close: " .. mob_total_close .. "/" .. close_zone_cap) + mcl_log("cap_space_close: " .. cap_space_close) + end + + return cap_space_wide, cap_space_close + end + + local function find_spawning_position(pos, max_times) + local spawning_position + + local max_loops = 1 + if max_times then max_loops = max_times end + + local y_min, y_max = decypher_limits(pos.y) + + mcl_log("mapgen_limit: " .. SPAWN_MAPGEN_LIMIT) + local i = 0 + repeat + local goal_pos = get_next_mob_spawn_pos(pos) + + if math.abs(goal_pos.x) <= SPAWN_MAPGEN_LIMIT and math.abs(pos.y) <= SPAWN_MAPGEN_LIMIT and math.abs(goal_pos.z) <= SPAWN_MAPGEN_LIMIT then + local spawning_position_list = find_nodes_in_area_under_air( + {x = goal_pos.x, y = y_min, z = goal_pos.z}, + {x = goal_pos.x, y = y_max, z = goal_pos.z}, + {"group:solid", "group:water", "group:lava"} + ) + if #spawning_position_list > 0 then + mcl_log("Spawning positions available: " .. minetest.pos_to_string(goal_pos)) + spawning_position = spawning_position_list[math_random(1, #spawning_position_list)] + else + mcl_log("Spawning position isn't good. Do not spawn: " .. minetest.pos_to_string(goal_pos)) + end + + else + mcl_log("Pos outside mapgen limits: " .. minetest.pos_to_string(goal_pos)) + end + + + i = i + 1 + if i >= max_loops then + mcl_log("Cancel finding spawn positions at: " .. max_loops) + break + end + until spawning_position + return spawning_position + end + + local function spawn_a_mob(pos) + --create a disconnected clone of the spawn dictionary, prevents memory leak local mob_library_worker_table = table_copy(spawn_dictionary) - local goal_pos = get_next_mob_spawn_pos(pos) + + local spawning_position = find_spawning_position(pos, FIND_SPAWN_POS_RETRIES) + if not spawning_position then + minetest.log("action", "[Mobs spawn] Cannot find a valid spawn position after retries: " .. FIND_SPAWN_POS_RETRIES) + return + end + + local mob_counts_close, mob_counts_wide, total_mobs = count_mobs_all("spawn_class", spawning_position) + --output_mob_stats(mob_counts_close, total_mobs) + --output_mob_stats(mob_counts_wide) + --grab mob that fits into the spawning location --randomly grab a mob, don't exclude any possibilities - local spawning_position_list = find_nodes_in_area_under_air( - {x = goal_pos.x, y = y_min, z = goal_pos.z}, - {x = goal_pos.x, y = y_max, z = goal_pos.z}, - {"group:solid", "group:water", "group:lava"} - ) - if #spawning_position_list <= 0 then return end - local spawning_position = spawning_position_list[math_random(1, #spawning_position_list)] - perlin_noise = perlin_noise or minetest_get_perlin(noise_params) local noise = perlin_noise:get_3d(spawning_position) local current_summary_chance = summary_chance + table.shuffle(mob_library_worker_table) + while #mob_library_worker_table > 0 do local mob_chance_offset = (math_round(noise * current_summary_chance + 12345) % current_summary_chance) + 1 local mob_index = 1 @@ -657,39 +948,95 @@ if mobs_spawn then mob_chance = mob_library_worker_table[mob_index].chance step_chance = step_chance + mob_chance end - local mob_def = mob_library_worker_table[mob_index] --minetest.log(mob_def.name.." "..step_chance.. " "..mob_chance) + + local mob_def = mob_library_worker_table[mob_index] if mob_def and mob_def.name and minetest.registered_entities[mob_def.name] then - local spawn_in_group = minetest.registered_entities[mob_def.name].spawn_in_group or 4 - local spawn_in_group_min = minetest.registered_entities[mob_def.name].spawn_in_group_min or 1 - local mob_type = minetest.registered_entities[mob_def.name].type - if spawn_check(spawning_position,mob_def) then - if mob_def.type_of_spawning == "water" then - spawning_position = get_water_spawn(spawning_position) - if not spawning_position then - minetest.log("warning","[mcl_mobs] no water spawn for mob "..mob_def.name.." found at "..minetest.pos_to_string(vector.round(pos))) + + local mob_def_ent = minetest.registered_entities[mob_def.name] + --local mob_type = mob_def_ent.type + local mob_spawn_class = mob_def_ent.spawn_class + + --mcl_log("mob_spawn_class: " .. mob_spawn_class) + + local cap_space_wide, cap_space_close = mob_cap_space (spawning_position, mob_spawn_class, mob_counts_close, mob_counts_wide) + + + if cap_space_close > 0 and cap_space_wide > 0 then + --mcl_log("Cap space available") + + -- Spawn caps for animals and water creatures fill up rapidly. Need to throttle this somewhat + -- for performance and for early game challenge. We don't want to reduce hostiles though. + local spawn_hostile = (mob_spawn_class == "hostile") + local spawn_passive = (mob_spawn_class ~= "hostile") and math.random(100) < peaceful_percentage_spawned + -- or not hostile + --mcl_log("Spawn_passive: " .. tostring(spawn_passive)) + --mcl_log("Spawn_hostile: " .. tostring(spawn_hostile)) + + if (spawn_hostile or spawn_passive) and spawn_check(spawning_position,mob_def) then + if mob_def.type_of_spawning == "water" then + spawning_position = get_water_spawn(spawning_position) + if not spawning_position then + minetest.log("warning","[mcl_mobs] no water spawn for mob "..mob_def.name.." found at "..minetest.pos_to_string(vector.round(pos))) + return + end + end + if mob_def_ent.can_spawn and not mob_def_ent.can_spawn(spawning_position) then + minetest.log("warning","[mcl_mobs] mob "..mob_def.name.." refused to spawn at "..minetest.pos_to_string(vector.round(spawning_position))) return end - end - if minetest.registered_entities[mob_def.name].can_spawn and not minetest.registered_entities[mob_def.name].can_spawn(spawning_position) then - minetest.log("warning","[mcl_mobs] mob "..mob_def.name.." refused to spawn at "..minetest.pos_to_string(vector.round(spawning_position))) - return - end - --everything is correct, spawn mob - local object - if spawn_in_group and ( mob_type ~= "monster" or math.random(5) == 1 ) then - if logging then - minetest.log("action", "[mcl_mobs] A group of mob " .. mob_def.name .. " spawns on " ..minetest.get_node(vector.offset(spawning_position,0,-1,0)).name .." at " .. minetest.pos_to_string(spawning_position, 1)) - end - object = spawn_group(spawning_position,mob_def,{minetest.get_node(vector.offset(spawning_position,0,-1,0)).name},spawn_in_group,spawn_in_group_min) - else - if logging then - minetest.log("action", "[mcl_mobs] Mob " .. mob_def.name .. " spawns on " ..minetest.get_node(vector.offset(spawning_position,0,-1,0)).name .." at ".. minetest.pos_to_string(spawning_position, 1)) + --everything is correct, spawn mob + local spawn_in_group = mob_def_ent.spawn_in_group or 4 + + local spawn_group_hostile = (mob_spawn_class == "hostile") and (math.random(100) < hostile_group_percentage_spawned) + local spawn_group_passive = (mob_spawn_class ~= "hostile") and (math.random(100) < peaceful_group_percentage_spawned) + + mcl_log("spawn_group_hostile: " .. tostring(spawn_group_hostile)) + mcl_log("spawn_group_passive: " .. tostring(spawn_group_passive)) + + local spawned + if spawn_in_group and (spawn_group_hostile or spawn_group_passive) then + local group_min = mob_def_ent.spawn_in_group_min or 1 + if not group_min then group_min = 1 end + + local amount_to_spawn = math.random(group_min,spawn_in_group) + + if amount_to_spawn > cap_space_wide then + mcl_log("Spawning quantity: " .. amount_to_spawn) + mcl_log("Throttle amount to cap space: " .. cap_space_wide) + amount_to_spawn = cap_space_wide + end + + if logging then + minetest.log("action", "[mcl_mobs] A group of " ..amount_to_spawn .. " " .. mob_def.name .. " mob spawns on " ..minetest.get_node(vector.offset(spawning_position,0,-1,0)).name .." at " .. minetest.pos_to_string(spawning_position, 1)) + end + spawned = spawn_group(spawning_position,mob_def,{minetest.get_node(vector.offset(spawning_position,0,-1,0)).name}, amount_to_spawn) + else + if logging then + minetest.log("action", "[mcl_mobs] Mob " .. mob_def.name .. " spawns on " ..minetest.get_node(vector.offset(spawning_position,0,-1,0)).name .." at ".. minetest.pos_to_string(spawning_position, 1)) + end + spawned = mcl_mobs.spawn(spawning_position, mob_def.name) end - object = mcl_mobs.spawn(spawning_position, mob_def.name) + + if spawned then + --mcl_log("We have spawned") + mob_counts_close, mob_counts_wide, total_mobs = count_mobs_all("type", pos) + local new_spawning_position = find_spawning_position(pos, FIND_SPAWN_POS_RETRIES_SUCCESS_RESPIN) + if new_spawning_position then + mcl_log("Setting new spawning position") + spawning_position = new_spawning_position + else + mcl_log("Cannot set new spawning position") + end + end + else + --mcl_log("Spawn check failed") end + else + mcl_log("Cap space full") end + end current_summary_chance = current_summary_chance - mob_chance table_remove(mob_library_worker_table, mob_index) @@ -701,28 +1048,32 @@ if mobs_spawn then local timer = 0 minetest.register_globalstep(function(dtime) + timer = timer + dtime - if timer < 10 then return end + if timer < WAIT_FOR_SPAWN_ATTEMPT then return end timer = 0 + local players = get_connected_players() local total_mobs = count_mobs_total_cap() if total_mobs > mob_cap.total or total_mobs > #players * mob_cap.player then minetest.log("action","[mcl_mobs] global mob cap reached. no cycle spawning.") return end --mob cap per player + for _, player in pairs(players) do local pos = player:get_pos() local dimension = mcl_worlds.pos_to_dimension(pos) -- ignore void and unloaded area if dimension ~= "void" and dimension ~= "default" then - local y_min, y_max = decypher_limits(pos.y) - spawn_a_mob(pos, dimension, y_min, y_max) + spawn_a_mob(pos) end end end) end -function mob_class:check_despawn(pos) +function mob_class:check_despawn(pos, dtime) + self.lifetimer = self.lifetimer - dtime + -- Despawning: when lifetimer expires, remove mob if remove_far and self.can_despawn == true @@ -746,14 +1097,16 @@ function mob_class:check_despawn(pos) end end + minetest.register_chatcommand("mobstats",{ privs = { debug = true }, func = function(n,param) - minetest.chat_send_player(n,dump(dbg_spawn_counts)) + --minetest.chat_send_player(n,dump(dbg_spawn_counts)) local pos = minetest.get_player_by_name(n):get_pos() - minetest.chat_send_player(n,"mobs within 32 radius of player:"..count_mobs(pos,32)) - minetest.chat_send_player(n,"total mobs:"..count_mobs_total()) - minetest.chat_send_player(n,"spawning attempts since server start:"..dbg_spawn_attempts) - minetest.chat_send_player(n,"successful spawns since server start:"..dbg_spawn_succ) + minetest.chat_send_player(n,"mobs: within 32 radius of player/total loaded :"..count_mobs(pos,MOB_CAP_INNER_RADIUS) .. "/" .. count_mobs_total()) + minetest.chat_send_player(n,"spawning attempts since server start:" .. dbg_spawn_succ .. "/" .. dbg_spawn_attempts) + + local mob_counts_close, mob_counts_wide, total_mobs = count_mobs_all("name") -- Can use "type" + output_mob_stats(mob_counts_wide, total_mobs, true) end }) diff --git a/mods/ENTITIES/mcl_mobs/textures/mobs_blood.png b/mods/ENTITIES/mcl_mobs/textures/mobs_blood.png deleted file mode 100644 index aa4a6123c..000000000 Binary files a/mods/ENTITIES/mcl_mobs/textures/mobs_blood.png and /dev/null differ diff --git a/mods/ENTITIES/mcl_paintings/textures/mcl_paintings_painting.png b/mods/ENTITIES/mcl_paintings/textures/mcl_paintings_painting.png deleted file mode 100644 index afaaa935d..000000000 Binary files a/mods/ENTITIES/mcl_paintings/textures/mcl_paintings_painting.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/blaze.lua b/mods/ENTITIES/mobs_mc/blaze.lua index 18b7ea676..6d92de210 100644 --- a/mods/ENTITIES/mobs_mc/blaze.lua +++ b/mods/ENTITIES/mobs_mc/blaze.lua @@ -207,5 +207,6 @@ mcl_mobs.register_arrow("mobs_mc:blaze_fireball", { end }) --- spawn eggs +mcl_mobs:non_spawn_specific("mobs_mc:blaze", "overworld", 0, 11) +-- spawn eggs. mcl_mobs.register_egg("mobs_mc:blaze", S("Blaze"), "#f6b201", "#fff87e", 0) diff --git a/mods/ENTITIES/mobs_mc/chicken.lua b/mods/ENTITIES/mobs_mc/chicken.lua index 399294390..ca942d355 100644 --- a/mods/ENTITIES/mobs_mc/chicken.lua +++ b/mods/ENTITIES/mobs_mc/chicken.lua @@ -12,13 +12,13 @@ mcl_mobs.register_mob("mobs_mc:chicken", { description = S("Chicken"), type = "animal", spawn_class = "passive", - + passive = true, + runaway = true, hp_min = 4, hp_max = 4, xp_min = 1, xp_max = 3, collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.69, 0.2}, - runaway = true, floats = 1, head_swivel = "head.control", bone_eye_height = 4, diff --git a/mods/ENTITIES/mobs_mc/cod.lua b/mods/ENTITIES/mobs_mc/cod.lua index bc65faebe..9e8b62269 100644 --- a/mods/ENTITIES/mobs_mc/cod.lua +++ b/mods/ENTITIES/mobs_mc/cod.lua @@ -40,14 +40,14 @@ local cod = { xp_max = 3, armor = 100, rotate = 180, - spawn_in_group_min = 3, - spawn_in_group = 8, + spawn_in_group_min = 2, -- was 3 + spawn_in_group = 4, -- was 8 nerfed until we can cap them properly locally. this is a group size, not a per spawn attempt tilt_swim = true, collisionbox = {-0.3, 0.0, -0.3, 0.3, 0.79, 0.3}, visual = "mesh", mesh = "extra_mobs_cod.b3d", textures = { - {"extra_mobs_cod.png"} + {"mobs_mc_cod.png"} }, sounds = { }, diff --git a/mods/ENTITIES/mobs_mc/cow+mooshroom.lua b/mods/ENTITIES/mobs_mc/cow+mooshroom.lua index 9de5d1cce..64f74c516 100644 --- a/mods/ENTITIES/mobs_mc/cow+mooshroom.lua +++ b/mods/ENTITIES/mobs_mc/cow+mooshroom.lua @@ -7,13 +7,14 @@ local cow_def = { type = "animal", spawn_class = "passive", passive = true, + runaway = true, hp_min = 10, hp_max = 10, xp_min = 1, xp_max = 3, collisionbox = {-0.45, -0.01, -0.45, 0.45, 1.39, 0.45}, spawn_in_group = 4, - spawn_in_group_min = 3, + spawn_in_group_min = 2, visual = "mesh", mesh = "mobs_mc_cow.b3d", textures = { { @@ -40,7 +41,6 @@ local cow_def = { max = 2, looting = "common",}, }, - runaway = true, sounds = { random = "mobs_mc_cow", damage = "mobs_mc_cow_hurt", @@ -93,8 +93,8 @@ mcl_mobs.register_mob("mobs_mc:cow", cow_def) -- Mooshroom local mooshroom_def = table.copy(cow_def) mooshroom_def.description = S("Mooshroom") -mooshroom_def.spawn_in_group_min = 4 -mooshroom_def.spawn_in_group = 8 +mooshroom_def.spawn_in_group_min = 2 +mooshroom_def.spawn_in_group = 4 mooshroom_def.textures = { {"mobs_mc_mooshroom.png", "mobs_mc_mushroom_red.png"}, {"mobs_mc_mooshroom_brown.png", "mobs_mc_mushroom_brown.png" } } mooshroom_def.on_rightclick = function(self, clicker) if self:feed_tame(clicker, 1, true, false) then return end diff --git a/mods/ENTITIES/mobs_mc/creeper.lua b/mods/ENTITIES/mobs_mc/creeper.lua index 6bbb37d5a..fa0717e47 100644 --- a/mods/ENTITIES/mobs_mc/creeper.lua +++ b/mods/ENTITIES/mobs_mc/creeper.lua @@ -39,7 +39,7 @@ mcl_mobs.register_mob("mobs_mc:creeper", { }, makes_footstep_sound = true, walk_velocity = 1.05, - run_velocity = 2.1, + run_velocity = 2.0, runaway_from = { "mobs_mc:ocelot", "mobs_mc:cat" }, attack_type = "explode", diff --git a/mods/ENTITIES/mobs_mc/dolphin.lua b/mods/ENTITIES/mobs_mc/dolphin.lua index 0e5c8e7ee..153734c39 100644 --- a/mods/ENTITIES/mobs_mc/dolphin.lua +++ b/mods/ENTITIES/mobs_mc/dolphin.lua @@ -42,8 +42,8 @@ local dolphin = { walk_chance = 100, breath_max = 120, rotate = 180, - spawn_in_group_min = 3, - spawn_in_group = 5, + spawn_in_group_min = 2, -- was 3 + spawn_in_group = 4, -- was 4. nerfed until water has own cap, and it represents max pack size rather than per spawn attempt tilt_swim = true, collisionbox = {-0.3, 0.0, -0.3, 0.3, 0.79, 0.3}, visual = "mesh", diff --git a/mods/ENTITIES/mobs_mc/ender_dragon.lua b/mods/ENTITIES/mobs_mc/ender_dragon.lua index ef4c8f811..fb92f51c4 100644 --- a/mods/ENTITIES/mobs_mc/ender_dragon.lua +++ b/mods/ENTITIES/mobs_mc/ender_dragon.lua @@ -174,3 +174,4 @@ mcl_mobs.register_egg("mobs_mc:enderdragon", S("Ender Dragon"), "#252525", "#b31 mcl_wip.register_wip_item("mobs_mc:enderdragon") +mcl_mobs:non_spawn_specific("mobs_mc:enderdragon","overworld",0,minetest.LIGHT_MAX+1) diff --git a/mods/ENTITIES/mobs_mc/enderman.lua b/mods/ENTITIES/mobs_mc/enderman.lua index 2688977fe..8415084e1 100644 --- a/mods/ENTITIES/mobs_mc/enderman.lua +++ b/mods/ENTITIES/mobs_mc/enderman.lua @@ -259,6 +259,7 @@ mcl_mobs.register_mob("mobs_mc:enderman", { description = S("Enderman"), type = "monster", spawn_class = "passive", + can_despawn = true, passive = true, pathfinding = 1, hp_min = 40, @@ -344,7 +345,8 @@ mcl_mobs.register_mob("mobs_mc:enderman", { self:teleport(nil) end end - else return end + end + -- AGRESSIVELY WARP/CHASE PLAYER BEHAVIOUR HERE. if self.state == "attack" then if self.attack then @@ -357,9 +359,11 @@ mcl_mobs.register_mob("mobs_mc:enderman", { end end else --if not attacking try to tp to the dark - local light = minetest.get_node_light(enderpos) - if light and light > minetest.LIGHT_MAX then - self:teleport(nil) + if dim == 'overworld' then + local light = minetest.get_node_light(enderpos) + if light and light > minetest.LIGHT_MAX then + self:teleport(nil) + end end end -- ARROW / DAYTIME PEOPLE AVOIDANCE BEHAVIOUR HERE. @@ -386,6 +390,7 @@ mcl_mobs.register_mob("mobs_mc:enderman", { end end end + -- PROVOKED BEHAVIOUR HERE. local enderpos = self.object:get_pos() if self.provoked == "broke_contact" then @@ -442,6 +447,23 @@ mcl_mobs.register_mob("mobs_mc:enderman", { end end end + + -- ATTACK ENDERMITE + local enderpos = self.object:get_pos() + if math.random(1,140) == 1 then + local mobsnear = minetest.get_objects_inside_radius(enderpos, 64) + for n=1, #mobsnear do + local mob = mobsnear[n] + if mob then + local entity = mob:get_luaentity() + if entity and entity.name == "mobs_mc:endermite" then + self.attack = mob + self.state = 'attack' + end + end + end + end + -- TAKE AND PLACE STUFF BEHAVIOUR BELOW. if not mobs_griefing then return @@ -469,6 +491,7 @@ mcl_mobs.register_mob("mobs_mc:enderman", { local dug = minetest.get_node_or_nil(take_pos) if dug and dug.name == "air" then self._taken_node = node.name + self.can_despawn = false local def = minetest.registered_nodes[self._taken_node] -- Update animation and texture accordingly (adds visibly carried block) local block_type @@ -519,6 +542,7 @@ mcl_mobs.register_mob("mobs_mc:enderman", { if success then local def = minetest.registered_nodes[self._taken_node] -- Update animation accordingly (removes visible block) + self.can_despawn = true self.animation = select_enderman_animation("normal") self:set_animation(self.animation.current) if def.sounds and def.sounds.place then diff --git a/mods/ENTITIES/mobs_mc/endermite.lua b/mods/ENTITIES/mobs_mc/endermite.lua index 612054be8..7542f267b 100644 --- a/mods/ENTITIES/mobs_mc/endermite.lua +++ b/mods/ENTITIES/mobs_mc/endermite.lua @@ -39,3 +39,4 @@ mcl_mobs.register_mob("mobs_mc:endermite", { }) mcl_mobs.register_egg("mobs_mc:endermite", S("Endermite"), "#161616", "#6d6d6d", 0) +mcl_mobs:non_spawn_specific("mobs_mc:endermite","overworld",0,7) diff --git a/mods/ENTITIES/mobs_mc/ghast.lua b/mods/ENTITIES/mobs_mc/ghast.lua index 0f7e73344..1a3d34e1b 100644 --- a/mods/ENTITIES/mobs_mc/ghast.lua +++ b/mods/ENTITIES/mobs_mc/ghast.lua @@ -139,6 +139,6 @@ mcl_mobs.register_arrow("mobs_mc:fireball", { - +mcl_mobs:non_spawn_specific("mobs_mc:ghast","overworld","0","7") -- spawn eggs mcl_mobs.register_egg("mobs_mc:ghast", S("Ghast"), "#f9f9f9", "#bcbcbc", 0) diff --git a/mods/ENTITIES/mobs_mc/glow_squid.lua b/mods/ENTITIES/mobs_mc/glow_squid.lua index 9f3a45e34..5975671b1 100644 --- a/mods/ENTITIES/mobs_mc/glow_squid.lua +++ b/mods/ENTITIES/mobs_mc/glow_squid.lua @@ -25,7 +25,7 @@ local base_psdef = { local psdefs = {} for i=1,4 do local p = table.copy(base_psdef) - p.texture = "extra_mobs_glow_squid_glint"..i..".png" + p.texture = "mobs_mc_glow_squid_glint"..i..".png" table.insert(psdefs,p) end @@ -47,7 +47,7 @@ mcl_mobs.register_mob("mobs_mc:glow_squid", { visual = "mesh", mesh = "extra_mobs_glow_squid.b3d", textures = { - { "extra_mobs_glow_squid.png" } + { "mobs_mc_glow_squid.png" } }, sounds = { damage = { name = "mobs_mc_squid_hurt", gain = 0.3 }, diff --git a/mods/ENTITIES/mobs_mc/guardian.lua b/mods/ENTITIES/mobs_mc/guardian.lua index e9a15264b..f2addbfa0 100644 --- a/mods/ENTITIES/mobs_mc/guardian.lua +++ b/mods/ENTITIES/mobs_mc/guardian.lua @@ -102,6 +102,6 @@ mcl_mobs.register_mob("mobs_mc:guardian", { -- Spawning disabled due to size issues -- TODO: Re-enable spawning --mcl_mobs:spawn_specific("mobs_mc:guardian", { "mcl_core:water_source", "mclx_core:river_water_source" }, { "mcl_core:water_source", "mclx_core:river_water_source" }, 0, minetest.LIGHT_MAX+1, 30, 25000, 2, mcl_vars.mg_overworld_min, mobs_mc.water_level - 10) - +mcl_mobs:non_spawn_specific("mobs_mc:guardian","overworld",0,minetest.LIGHT_MAX+1) -- spawn eggs mcl_mobs.register_egg("mobs_mc:guardian", S("Guardian"), "#5a8272", "#f17d31", 0) diff --git a/mods/ENTITIES/mobs_mc/guardian_elder.lua b/mods/ENTITIES/mobs_mc/guardian_elder.lua index d08cc1846..094c0513c 100644 --- a/mods/ENTITIES/mobs_mc/guardian_elder.lua +++ b/mods/ENTITIES/mobs_mc/guardian_elder.lua @@ -113,5 +113,4 @@ mcl_mobs.register_mob("mobs_mc:guardian_elder", { -- spawn eggs mcl_mobs.register_egg("mobs_mc:guardian_elder", S("Elder Guardian"), "#ceccba", "#747693", 0) - - +mcl_mobs:non_spawn_specific("mobs_mc:guardian_elder","overworld",0,minetest.LIGHT_MAX+1) diff --git a/mods/ENTITIES/mobs_mc/hoglin+zoglin.lua b/mods/ENTITIES/mobs_mc/hoglin+zoglin.lua index e5cdcc8a8..8bad858a8 100644 --- a/mods/ENTITIES/mobs_mc/hoglin+zoglin.lua +++ b/mods/ENTITIES/mobs_mc/hoglin+zoglin.lua @@ -36,7 +36,7 @@ local hoglin = { jump = true, makes_footstep_sound = true, walk_velocity = 1, - run_velocity = 4, + run_velocity = 2.8, drops = { {name = "mobs_mcitems:leather", chance = 1, @@ -120,7 +120,6 @@ mcl_mobs:spawn_specific( "nether", "ground", { -"Nether", "CrimsonForest" }, 0, @@ -131,5 +130,7 @@ minetest.LIGHT_MAX+1, mcl_vars.mg_nether_min, mcl_vars.mg_nether_max) +mcl_mobs:non_spawn_specific("mobs_mc:hoglin","overworld",0,7) + -- spawn eggs mcl_mobs.register_egg("mobs_mc:hoglin", S("Hoglin"), "#85682e", "#2b2140", 0) diff --git a/mods/ENTITIES/mobs_mc/horse.lua b/mods/ENTITIES/mobs_mc/horse.lua index 7f61627bc..07aa58572 100644 --- a/mods/ENTITIES/mobs_mc/horse.lua +++ b/mods/ENTITIES/mobs_mc/horse.lua @@ -125,7 +125,7 @@ local horse = { type = "animal", spawn_class = "passive", spawn_in_group_min = 2, - spawn_in_group = 6, + spawn_in_group = 4, -- was 6. nerfed until group size is a cap rather than per spawn cycle visual = "mesh", mesh = "mobs_mc_horse.b3d", visual_size = {x=3.0, y=3.0}, @@ -646,3 +646,5 @@ mcl_mobs.register_egg("mobs_mc:skeleton_horse", S("Skeleton Horse"), "#68684f", --mobs:register_egg("mobs_mc:zombie_horse", S("Zombie Horse"), "#2a5a37", "#84d080", 0) mcl_mobs.register_egg("mobs_mc:donkey", S("Donkey"), "#534539", "#867566", 0) mcl_mobs.register_egg("mobs_mc:mule", S("Mule"), "#1b0200", "#51331d", 0) +mcl_mobs:non_spawn_specific("mobs_mc:mule","overworld",9,minetest.LIGHT_MAX+1) +mcl_mobs:non_spawn_specific("mobs_mc:skeleton_horse","overworld",9,minetest.LIGHT_MAX+1) diff --git a/mods/ENTITIES/mobs_mc/iron_golem.lua b/mods/ENTITIES/mobs_mc/iron_golem.lua index 7ca4dd88a..6b428c6f8 100644 --- a/mods/ENTITIES/mobs_mc/iron_golem.lua +++ b/mods/ENTITIES/mobs_mc/iron_golem.lua @@ -15,7 +15,7 @@ mcl_mobs.register_mob("mobs_mc:iron_golem", { description = S("Iron Golem"), type = "npc", spawn_class = "passive", - passive = true, + passive = false, hp_min = 100, hp_max = 100, breath_max = -1, @@ -42,7 +42,7 @@ mcl_mobs.register_mob("mobs_mc:iron_golem", { damage = 14, knock_back = false, reach = 3, - group_attack = true, + group_attack = { "mobs_mc:villager" }, attacks_monsters = true, attack_type = "dogfight", _got_poppy = false, @@ -206,3 +206,4 @@ function mobs_mc.check_iron_golem_summon(pos) end end end +mcl_mobs:non_spawn_specific("mobs_mc:iron_golem","overworld",0,minetest.LIGHT_MAX+1) diff --git a/mods/ENTITIES/mobs_mc/llama.lua b/mods/ENTITIES/mobs_mc/llama.lua index 503f4207b..32bfc97ea 100644 --- a/mods/ENTITIES/mobs_mc/llama.lua +++ b/mods/ENTITIES/mobs_mc/llama.lua @@ -56,8 +56,8 @@ mcl_mobs.register_mob("mobs_mc:llama", { shoot_interval = 5.5, arrow = "mobs_mc:llamaspit", shoot_offset = 1, --3.5 *would* be a good value visually but it somehow messes with the projectiles trajectory - spawn_in_group_min = 4, - spawn_in_group = 6, + spawn_in_group_min = 2, -- was 4 + spawn_in_group = 4, -- was 6 nerfed until we can cap them properly locally. this is a group size, not a per spawn attempt head_swivel = "head.control", bone_eye_height = 11, diff --git a/mods/ENTITIES/mobs_mc/ocelot.lua b/mods/ENTITIES/mobs_mc/ocelot.lua index 8a7ea7545..65181a581 100644 --- a/mods/ENTITIES/mobs_mc/ocelot.lua +++ b/mods/ENTITIES/mobs_mc/ocelot.lua @@ -164,7 +164,7 @@ cat.on_spawn = function(self) if not self._texture then self._texture = cat.textures[math.random(#cat.textures)] end - self.object:set_properties({textures = {self._texture}}) + self.object:set_properties({textures = self._texture}) end mcl_mobs.register_mob("mobs_mc:cat", cat) diff --git a/mods/ENTITIES/mobs_mc/pig.lua b/mods/ENTITIES/mobs_mc/pig.lua index 99e05391f..7f2ebc88d 100644 --- a/mods/ENTITIES/mobs_mc/pig.lua +++ b/mods/ENTITIES/mobs_mc/pig.lua @@ -6,6 +6,7 @@ mcl_mobs.register_mob("mobs_mc:pig", { description = S("Pig"), type = "animal", spawn_class = "passive", + passive = true, runaway = true, hp_min = 10, hp_max = 10, diff --git a/mods/ENTITIES/mobs_mc/piglin.lua b/mods/ENTITIES/mobs_mc/piglin.lua index 90e19ef02..b8c8faf21 100644 --- a/mods/ENTITIES/mobs_mc/piglin.lua +++ b/mods/ENTITIES/mobs_mc/piglin.lua @@ -62,8 +62,8 @@ local piglin = { }, jump = true, makes_footstep_sound = true, - walk_velocity = 4.317, - run_velocity = 5.6121, + walk_velocity = 1.4, + run_velocity = 2.8, drops = { {name = "mcl_bows:crossbow", chance = 10, @@ -283,6 +283,7 @@ piglin_brute.group_attack = { "mobs_mc:piglin", "mobs_mc:piglin_brute" } mcl_mobs.register_mob("mobs_mc:piglin_brute", piglin_brute) +mcl_mobs:non_spawn_specific("mobs_mc:piglin","overworld",0,7) -- Regular spawning in the Nether mcl_mobs:spawn_specific( "mobs_mc:piglin", @@ -299,7 +300,7 @@ minetest.LIGHT_MAX+1, 3, mcl_vars.mg_lava_nether_max, mcl_vars.mg_nether_max) - +mcl_mobs:non_spawn_specific("mobs_mc:sword_piglin","overworld",0,7) mcl_mobs:spawn_specific( "mobs_mc:sword_piglin", "nether", @@ -318,3 +319,4 @@ mcl_vars.mg_nether_max) -- spawn eggs mcl_mobs.register_egg("mobs_mc:piglin", S("Piglin"), "#7b4a17","#d5c381", 0) mcl_mobs.register_egg("mobs_mc:piglin_brute", S("Piglin Brute"), "#562b0c","#ddc89d", 0) +mcl_mobs:non_spawn_specific("mobs_mc:piglin_brute","overworld",0,7) diff --git a/mods/ENTITIES/mobs_mc/pillager.lua b/mods/ENTITIES/mobs_mc/pillager.lua index 0b6b036f7..5e07d8dc5 100644 --- a/mods/ENTITIES/mobs_mc/pillager.lua +++ b/mods/ENTITIES/mobs_mc/pillager.lua @@ -122,3 +122,4 @@ pillager = { mcl_mobs.register_mob("mobs_mc:pillager", pillager) mcl_mobs.register_egg("mobs_mc:pillager", S("Pillager"), "#532f36", "#959b9b", 0) +mcl_mobs:non_spawn_specific("mobs_mc:pillager","overworld",0,7) diff --git a/mods/ENTITIES/mobs_mc/rabbit.lua b/mods/ENTITIES/mobs_mc/rabbit.lua index 6d13fbe22..6c4317519 100644 --- a/mods/ENTITIES/mobs_mc/rabbit.lua +++ b/mods/ENTITIES/mobs_mc/rabbit.lua @@ -217,3 +217,4 @@ mcl_mobs.register_egg("mobs_mc:rabbit", S("Rabbit"), "#995f40", "#734831", 0) -- Note: This spawn egg does not exist in Minecraft mcl_mobs.register_egg("mobs_mc:killer_bunny", S("Killer Bunny"), "#f2f2f2", "#ff0000", 0) +mcl_mobs:non_spawn_specific("mobs_mc:killer_bunny","overworld",9,minetest.LIGHT_MAX+1) diff --git a/mods/ENTITIES/mobs_mc/salmon.lua b/mods/ENTITIES/mobs_mc/salmon.lua index 873d4bb74..19c935389 100644 --- a/mods/ENTITIES/mobs_mc/salmon.lua +++ b/mods/ENTITIES/mobs_mc/salmon.lua @@ -25,7 +25,7 @@ local salmon = { visual = "mesh", mesh = "extra_mobs_salmon.b3d", textures = { - {"extra_mobs_salmon.png"} + {"mobs_mc_salmon.png"} }, sounds = { }, diff --git a/mods/ENTITIES/mobs_mc/sheep.lua b/mods/ENTITIES/mobs_mc/sheep.lua index caa22205b..c71fa9b54 100644 --- a/mods/ENTITIES/mobs_mc/sheep.lua +++ b/mods/ENTITIES/mobs_mc/sheep.lua @@ -56,6 +56,7 @@ mcl_mobs.register_mob("mobs_mc:sheep", { description = S("Sheep"), type = "animal", spawn_class = "passive", + passive = true, hp_min = 8, hp_max = 8, xp_min = 1, diff --git a/mods/ENTITIES/mobs_mc/shulker.lua b/mods/ENTITIES/mobs_mc/shulker.lua index 46737e90f..ecf60debd 100644 --- a/mods/ENTITIES/mobs_mc/shulker.lua +++ b/mods/ENTITIES/mobs_mc/shulker.lua @@ -178,7 +178,7 @@ mcl_mobs.register_arrow("mobs_mc:shulkerbullet", { mcl_mobs.register_egg("mobs_mc:shulker", S("Shulker"), "#946694", "#4d3852", 0) - +mcl_mobs:non_spawn_specific("mobs_mc:shulker","overworld",0,minetest.LIGHT_MAX+1) --[[ mcl_mobs:spawn_specific( "mobs_mc:shulker", diff --git a/mods/ENTITIES/mobs_mc/silverfish.lua b/mods/ENTITIES/mobs_mc/silverfish.lua index e0bcc23aa..ab659a2a0 100644 --- a/mods/ENTITIES/mobs_mc/silverfish.lua +++ b/mods/ENTITIES/mobs_mc/silverfish.lua @@ -56,3 +56,4 @@ mcl_mobs.register_mob("mobs_mc:silverfish", { }) mcl_mobs.register_egg("mobs_mc:silverfish", S("Silverfish"), "#6d6d6d", "#313131", 0) +mcl_mobs:non_spawn_specific("mobs_mc:silverfish","overworld",0,11) diff --git a/mods/ENTITIES/mobs_mc/skeleton+stray.lua b/mods/ENTITIES/mobs_mc/skeleton+stray.lua index ca2fe25fa..0ee53e8ec 100644 --- a/mods/ENTITIES/mobs_mc/skeleton+stray.lua +++ b/mods/ENTITIES/mobs_mc/skeleton+stray.lua @@ -45,7 +45,7 @@ local skeleton = { } }, walk_velocity = 1.2, - run_velocity = 2.4, + run_velocity = 2.0, damage = 2, reach = 2, drops = { @@ -89,23 +89,11 @@ local skeleton = { die_speed = 15, die_loop = false, }, - jock = "mobs_mc:spider", on_spawn = function(self) - minetest.after(1,function() - if self and self.object then - if math.random(100) == 1 or self.jockey == true then -- 1% like from MCwiki - self.jockey = true - local jock = minetest.add_entity(self.object:get_pos(), "mobs_mc:spider") - jock:get_luaentity().docile_by_day = false - self.object:set_attach(jock, "", vector.new(0,0,0), vector.new(0,0,0)) - end - self.jockey = false - return true - end - end) - end, - on_detach=function(self, parent) - self.jockey = false + if math.random(100) == 1 then + self:jock_to("mobs_mc:spider", vector.zero(), vector.zero()) + end + return true end, ignited_by_sunlight = true, view_range = 16, diff --git a/mods/ENTITIES/mobs_mc/skeleton_wither.lua b/mods/ENTITIES/mobs_mc/skeleton_wither.lua index 94fa78120..314260581 100644 --- a/mods/ENTITIES/mobs_mc/skeleton_wither.lua +++ b/mods/ENTITIES/mobs_mc/skeleton_wither.lua @@ -43,7 +43,7 @@ mcl_mobs.register_mob("mobs_mc:witherskeleton", { distance = 16, }, walk_velocity = 1.2, - run_velocity = 2.4, + run_velocity = 2.0, damage = 7, reach = 2, drops = { @@ -118,3 +118,4 @@ mcl_vars.mg_nether_max) --]] -- spawn eggs mcl_mobs.register_egg("mobs_mc:witherskeleton", S("Wither Skeleton"), "#141414", "#474d4d", 0) +mcl_mobs:non_spawn_specific("mobs_mc:witherskeleton","overworld",0,7) diff --git a/mods/ENTITIES/mobs_mc/slime+magma_cube.lua b/mods/ENTITIES/mobs_mc/slime+magma_cube.lua index 31ecad187..71a45b5ab 100644 --- a/mods/ENTITIES/mobs_mc/slime+magma_cube.lua +++ b/mods/ENTITIES/mobs_mc/slime+magma_cube.lua @@ -1,10 +1,111 @@ --License for code WTFPL and otherwise stated in readmes - --- FIXME: Slimes should spawn only in "slime chunks" which make up only --- 10% of the map. --- local S = minetest.get_translator("mobs_mc") +local MAPBLOCK_SIZE = 16 + +local seed = minetest.get_mapgen_setting("seed") + +local slime_chunk_match +local x_modifier +local z_modifier + +local function split_by_char (inputstr, sep, limit) + if sep == nil then + sep = "%d" + end + local t = {} + + local i = 0 + for str in string.gmatch(inputstr, "(["..sep.."])") do + i = i --+ 1 + table.insert(t, tonumber(str)) + if limit and i >= limit then + break + end + end + return t +end + +--Seed: "16002933932875202103" == random seed +--Seed: "1807191622654296300" == cheese +--Seed: "1" = 1 +local function process_seed (seed) + --minetest.log("seed: " .. seed) + + local split_chars = split_by_char(tostring(seed), nil, 10) + + slime_chunk_match = split_chars[1] + x_modifier = split_chars[2] + z_modifier = split_chars[3] + + --minetest.log("x_modifier: " .. tostring(x_modifier)) + --minetest.log("z_modifier: " .. tostring(z_modifier)) + --minetest.log("slime_chunk_match: " .. tostring(slime_chunk_match)) +end + +local processed = process_seed (seed) + + +local function convert_to_chunk_value (co_ord, modifier) + local converted = math.floor(math.abs(co_ord) / MAPBLOCK_SIZE) + + if modifier then + converted = (converted + modifier) + end + converted = converted % 10 + + --minetest.log("co_ord: " .. co_ord) + --minetest.log("converted: " .. converted) + return converted +end + +assert(convert_to_chunk_value(-16) == 1, "Incorrect convert_to_chunk_value result") +assert(convert_to_chunk_value(-15) == 0, "Incorrect convert_to_chunk_value result") +assert(convert_to_chunk_value(-1) == 0, "Incorrect convert_to_chunk_value result") +assert(convert_to_chunk_value(0) == 0, "Incorrect convert_to_chunk_value result") +assert(convert_to_chunk_value(1) == 0, "Incorrect convert_to_chunk_value result") +assert(convert_to_chunk_value(15) == 0, "Incorrect convert_to_chunk_value result") +assert(convert_to_chunk_value(16) == 1, "Incorrect convert_to_chunk_value result") +assert(convert_to_chunk_value(31) == 1, "Incorrect convert_to_chunk_value result") +assert(convert_to_chunk_value(32) == 2, "Incorrect convert_to_chunk_value result") +assert(convert_to_chunk_value(1599) == 9, "Incorrect convert_to_chunk_value result") +assert(convert_to_chunk_value(1600) == 0, "Incorrect convert_to_chunk_value result") + +assert(convert_to_chunk_value(0,9) == 9, "Incorrect convert_to_chunk_value result") +assert(convert_to_chunk_value(16,5) == 6, "Incorrect convert_to_chunk_value result") +assert(convert_to_chunk_value(1599,4) == 3, "Incorrect convert_to_chunk_value result") + +local function calculate_chunk_value (pos, x_mod, z_mod) + local chunk_val = math.abs(convert_to_chunk_value(pos.x, x_mod) - convert_to_chunk_value(pos.z, z_mod)) % 10 + return chunk_val +end + +assert(calculate_chunk_value(vector.new(0,0,0)) == 0, "calculate_chunk_value failed") +assert(calculate_chunk_value(vector.new(0,0,0), 1, 1) == 0, "calculate_chunk_value failed") +assert(calculate_chunk_value(vector.new(0,0,0), 2, 1) == 1, "calculate_chunk_value failed") +assert(calculate_chunk_value(vector.new(64,0,16)) == (4-1), "calculate_chunk_value failed") +assert(calculate_chunk_value(vector.new(16,0,64)) == (3), "calculate_chunk_value failed") +assert(calculate_chunk_value(vector.new(-160,0,-160)) == 0, "calculate_chunk_value failed") + +local function is_slime_chunk(pos) + if not pos then return end + + local chunk_val = calculate_chunk_value (pos, x_modifier, z_modifier) + local slime_chunk = chunk_val == slime_chunk_match + + --minetest.log("x: " ..pos.x .. ", z:" .. pos.z) + + --minetest.log("seed slime_chunk_match: " .. tostring(slime_chunk_match)) + --minetest.log("chunk_val: " .. tostring(chunk_val)) + --minetest.log("Is slime chunk: " .. tostring(slime_chunk)) + return slime_chunk +end + +local check_position = function (pos) + return is_slime_chunk(pos) +end + + -- Returns a function that spawns children in a circle around pos. -- To be used as on_die callback. -- self: mob reference @@ -104,8 +205,8 @@ local slime_big = { attack_type = "dogfight", passive = false, jump = true, - walk_velocity = 2.5, - run_velocity = 2.5, + walk_velocity = 1.9, + run_velocity = 1.9, walk_chance = 0, jump_height = 5.2, fear_height = 0, @@ -125,8 +226,8 @@ slime_small.collisionbox = {-0.51, -0.01, -0.51, 0.51, 1.00, 0.51} slime_small.visual_size = {x=6.25, y=6.25} slime_small.damage = 3 slime_small.reach = 2.75 -slime_small.walk_velocity = 1.3 -slime_small.run_velocity = 1.3 +slime_small.walk_velocity = 1.8 +slime_small.run_velocity = 1.8 slime_small.jump_height = 4.3 slime_small.spawn_small_alternative = "mobs_mc:slime_tiny" slime_small.on_die = spawn_children_on_die("mobs_mc:slime_tiny", 0.6, 1.0) @@ -149,8 +250,8 @@ slime_tiny.drops = { min = 0, max = 2,}, } -slime_tiny.walk_velocity = 0.7 -slime_tiny.run_velocity = 0.7 +slime_tiny.walk_velocity = 1.7 +slime_tiny.run_velocity = 1.7 slime_tiny.jump_height = 3 slime_tiny.spawn_small_alternative = nil slime_tiny.on_die = nil @@ -212,7 +313,8 @@ minetest.LIGHT_MAX+1, 12000, 4, cave_min, -cave_max) +cave_max, +nil, nil, check_position) mcl_mobs:spawn_specific( "mobs_mc:slime_tiny", @@ -238,7 +340,8 @@ minetest.LIGHT_MAX+1, 8500, 4, cave_min, -cave_max) +cave_max, +nil, nil, check_position) mcl_mobs:spawn_specific( "mobs_mc:slime_small", @@ -264,7 +367,8 @@ minetest.LIGHT_MAX+1, 10000, 4, cave_min, -cave_max) +cave_max, +nil, nil, check_position) mcl_mobs:spawn_specific( "mobs_mc:slime_big", @@ -300,8 +404,8 @@ local magma_cube_big = { attack = "mobs_mc_magma_cube_attack", distance = 16, }, - walk_velocity = 4, - run_velocity = 4, + walk_velocity = 2.5, + run_velocity = 2.5, damage = 6, reach = 3, armor = 53, @@ -353,7 +457,7 @@ magma_cube_small.visual_size = {x=6.25, y=6.25} magma_cube_small.damage = 3 magma_cube_small.reach = 2.75 magma_cube_small.walk_velocity = .8 -magma_cube_small.run_velocity = 2.6 +magma_cube_small.run_velocity = 2.0 magma_cube_small.jump_height = 6 magma_cube_small.damage = 4 magma_cube_small.reach = 2.75 @@ -431,6 +535,11 @@ nether_max) -- spawn eggs mcl_mobs.register_egg("mobs_mc:magma_cube_big", S("Magma Cube"), "#350000", "#fcfc00") +-- non_spawn_specific is typically for mobs who don't spawn in the overworld, or mobs that don't spawn +-- naturally. However, slimes are a particular case where they spawn under different conditions in the same +-- dimension. +mcl_mobs:non_spawn_specific("mobs_mc:slime_big","overworld",0,minetest.LIGHT_MAX+1) +mcl_mobs:non_spawn_specific("mobs_mc:magma_cube_big","overworld",0, minetest.LIGHT_MAX+1) mcl_mobs.register_egg("mobs_mc:slime_big", S("Slime"), "#52a03e", "#7ebf6d") -- FIXME: add spawn eggs for small and tiny slimes and magma cubes diff --git a/mods/ENTITIES/mobs_mc/snowman.lua b/mods/ENTITIES/mobs_mc/snowman.lua index f9f0043c2..ec2a14675 100644 --- a/mods/ENTITIES/mobs_mc/snowman.lua +++ b/mods/ENTITIES/mobs_mc/snowman.lua @@ -197,3 +197,4 @@ end -- Spawn egg mcl_mobs.register_egg("mobs_mc:snowman", S("Snow Golem"), "#f2f2f2", "#fd8f47", 0) +mcl_mobs:non_spawn_specific("mobs_mc:snowman","overworld",0,minetest.LIGHT_MAX+1) diff --git a/mods/ENTITIES/mobs_mc/spider.lua b/mods/ENTITIES/mobs_mc/spider.lua index 403edba6d..65d3a2d21 100644 --- a/mods/ENTITIES/mobs_mc/spider.lua +++ b/mods/ENTITIES/mobs_mc/spider.lua @@ -62,9 +62,6 @@ local spider = { self.object:get_children()[1]:set_detach() end end, - detach_child=function(self, child) - child:get_luaentity().jockey = false - end, head_swivel = "Head_Control", bone_eye_height = 1, curiosity = 10, @@ -86,7 +83,7 @@ local spider = { distance = 16, }, walk_velocity = 1.3, - run_velocity = 2.8, + run_velocity = 2.4, jump = true, jump_height = 4, view_range = 16, @@ -292,6 +289,8 @@ mcl_mobs:spawn_specific( mcl_vars.mg_overworld_min, mcl_vars.mg_overworld_max) +mcl_mobs:non_spawn_specific("mobs_mc:cave_spider","overworld",0,7) + -- spawn eggs mcl_mobs.register_egg("mobs_mc:spider", S("Spider"), "#342d26", "#a80e0e", 0) mcl_mobs.register_egg("mobs_mc:cave_spider", S("Cave Spider"), "#0c424e", "#a80e0e", 0) diff --git a/mods/ENTITIES/mobs_mc/strider.lua b/mods/ENTITIES/mobs_mc/strider.lua index a49845f7e..142025e06 100644 --- a/mods/ENTITIES/mobs_mc/strider.lua +++ b/mods/ENTITIES/mobs_mc/strider.lua @@ -246,3 +246,4 @@ mcl_mobs:spawn_setup({ -- spawn eggs mcl_mobs.register_egg("mobs_mc:strider", S("Strider"), "#000000", "#FF0000", 0) +mcl_mobs:non_spawn_specific("mobs_mc:strider","overworld",0,minetest.LIGHT_MAX+1) diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_dolphin.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_dolphin.png deleted file mode 100644 index 6b8a40bf2..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_dolphin.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_hoglin.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_hoglin.png deleted file mode 100644 index c85d6a25b..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_hoglin.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_strider.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_strider.png deleted file mode 100644 index 5039afe36..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_strider.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_strider_cold.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_strider_cold.png deleted file mode 100644 index ecf6bbb90..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_strider_cold.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_a.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_a.png deleted file mode 100644 index 3f9abe3dc..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_a.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_b.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_b.png deleted file mode 100644 index 587ada083..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_b.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_2.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_2.png deleted file mode 100644 index 1403e277c..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_2.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_3.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_3.png deleted file mode 100644 index a1a7cfd88..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_3.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_4.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_4.png deleted file mode 100644 index 417ba86cf..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_4.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_5.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_5.png deleted file mode 100644 index 63ec19567..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_5.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_2.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_2.png deleted file mode 100644 index 1834146bb..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_2.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_5.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_5.png deleted file mode 100644 index 6288da9a5..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_5.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_6.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_6.png deleted file mode 100644 index ea82ed883..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_6.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_zombified_piglin.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_zombified_piglin.png deleted file mode 100644 index 358c22bc3..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_zombified_piglin.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_black.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_black.png deleted file mode 100644 index 8f13938f8..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_black.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_brown.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_brown.png deleted file mode 100644 index b90ba3c88..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_brown.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_green.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_green.png deleted file mode 100644 index 4dca4fdf5..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_green.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_pink.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_pink.png deleted file mode 100644 index 193a8e087..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_pink.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_purple.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_purple.png deleted file mode 100644 index bd7f67c6f..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_purple.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_white.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_white.png deleted file mode 100644 index 15b3ba43d..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_white.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_yellow.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_yellow.png deleted file mode 100644 index 6b3fd6157..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_axolotl_yellow.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_chicken.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_chicken.png deleted file mode 100644 index a9e516c6b..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_chicken.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_diamond.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_diamond.png deleted file mode 100644 index 32f0c05f3..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_diamond.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_emerald.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_emerald.png deleted file mode 100644 index bdb1ef667..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_emerald.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_enderman_cactus_background.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_enderman_cactus_background.png deleted file mode 100644 index 576684878..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_enderman_cactus_background.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_ghast.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_ghast.png deleted file mode 100644 index d3c14bbcc..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_ghast.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_gold.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_gold.png deleted file mode 100644 index e136dad54..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_gold.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_black.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_black.png deleted file mode 100644 index a1b3f7aae..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_black.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_brown.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_brown.png deleted file mode 100644 index 9024f9564..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_brown.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_chestnut.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_chestnut.png deleted file mode 100644 index 1a39e0bbf..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_chestnut.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_darkbrown.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_darkbrown.png deleted file mode 100644 index 8298d8047..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_darkbrown.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_gray.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_gray.png deleted file mode 100644 index 733ca4e2a..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_gray.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_skeleton.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_skeleton.png deleted file mode 100644 index 922090afc..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_skeleton.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_white.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_white.png deleted file mode 100644 index dc8df13c6..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_white.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_zombie.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_zombie.png deleted file mode 100644 index b6f3522f3..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_zombie.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_iron.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_iron.png deleted file mode 100644 index 8573938f3..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_iron.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_black.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_black.png deleted file mode 100644 index e380a6bd6..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_black.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_blue.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_blue.png deleted file mode 100644 index b15cdf11f..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_blue.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_brown.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_brown.png deleted file mode 100644 index b879f18e2..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_brown.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_cyan.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_cyan.png deleted file mode 100644 index c41324867..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_cyan.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_gray.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_gray.png deleted file mode 100644 index d850c7ec8..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_gray.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_green.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_green.png deleted file mode 100644 index c0ffc074d..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_green.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_light_blue.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_light_blue.png deleted file mode 100644 index 025c923be..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_light_blue.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_light_gray.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_light_gray.png deleted file mode 100644 index 715b954d4..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_light_gray.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_lime.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_lime.png deleted file mode 100644 index 4ac62011b..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_lime.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_magenta.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_magenta.png deleted file mode 100644 index cba899ca1..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_magenta.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_orange.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_orange.png deleted file mode 100644 index 42fe00c8a..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_orange.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_pink.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_pink.png deleted file mode 100644 index fe5296db4..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_pink.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_purple.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_purple.png deleted file mode 100644 index ede94f98e..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_purple.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_red.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_red.png deleted file mode 100644 index 09b419194..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_red.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_white.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_white.png deleted file mode 100644 index 94852fac4..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_white.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_yellow.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_yellow.png deleted file mode 100644 index e082fe7b5..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_decor_yellow.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_pillager.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_pillager.png deleted file mode 100644 index 1fe768ac1..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_pillager.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_cat.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_cat.png deleted file mode 100644 index 123ffc337..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_cat.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_cave_spider.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_cave_spider.png deleted file mode 100644 index d5f453de8..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_cave_spider.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_dragon.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_dragon.png deleted file mode 100644 index 7f7558241..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_dragon.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_enderman.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_enderman.png deleted file mode 100644 index da9ad3555..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_enderman.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_endermite.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_endermite.png deleted file mode 100644 index 8e0fdba94..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_endermite.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_evoker.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_evoker.png deleted file mode 100644 index 01908a557..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_evoker.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_ghast.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_ghast.png deleted file mode 100644 index ed3370dec..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_ghast.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_guardian_elder.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_guardian_elder.png deleted file mode 100644 index a524502b0..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_guardian_elder.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_horse_skeleton.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_horse_skeleton.png deleted file mode 100644 index 0f11de7c9..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_horse_skeleton.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_horse_zombie.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_horse_zombie.png deleted file mode 100644 index 9c7db2249..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_horse_zombie.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_illusioner.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_illusioner.png deleted file mode 100644 index 953e90f44..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_illusioner.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_killer_bunny.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_killer_bunny.png deleted file mode 100644 index 51dbdaa7c..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_killer_bunny.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_magmacube.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_magmacube.png deleted file mode 100644 index 5d6d58d3f..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_magmacube.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_parrot.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_parrot.png deleted file mode 100644 index a9a2895f8..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_parrot.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_salmon.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_salmon.png deleted file mode 100644 index a4b80e757..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_salmon.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_skeleton.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_skeleton.png deleted file mode 100644 index ad6d9f228..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_skeleton.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_slime.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_slime.png deleted file mode 100644 index 6f2e39702..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_slime.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_spider.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_spider.png deleted file mode 100644 index f89a6ade2..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_spider.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_squid.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_squid.png deleted file mode 100644 index 73e475f46..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_squid.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_vex.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_vex.png deleted file mode 100644 index 8d01c05c2..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_vex.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_villager.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_villager.png deleted file mode 100644 index 6b0d0c083..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_villager.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_vindicator.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_vindicator.png deleted file mode 100644 index a8b208c83..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_vindicator.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_zombie.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_zombie.png deleted file mode 100644 index 3d16dbb93..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_zombie.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_stone.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_stone.png deleted file mode 100644 index 3e4e4485c..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_stone.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_stray.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_stray.png deleted file mode 100644 index 94c9f3c47..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_stray.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_stray_overlay.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_stray_overlay.png deleted file mode 100644 index 881bfbda5..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_stray_overlay.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_witch.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_witch.png deleted file mode 100644 index abae57aa4..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_witch.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wither.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_wither.png deleted file mode 100644 index 3895ded6e..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wither.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wither_half_health.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_wither_half_health.png deleted file mode 100644 index edce2e987..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wither_half_health.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wither_skeleton.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_wither_skeleton.png deleted file mode 100644 index 3cd240e2a..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wither_skeleton.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf_icon_roam.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf_icon_roam.png deleted file mode 100644 index cf9671f70..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf_icon_roam.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf_icon_sit.png b/mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf_icon_sit.png deleted file mode 100644 index 50d764502..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf_icon_sit.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/textures/spawn_egg.png b/mods/ENTITIES/mobs_mc/textures/spawn_egg.png deleted file mode 100644 index aa9045e67..000000000 Binary files a/mods/ENTITIES/mobs_mc/textures/spawn_egg.png and /dev/null differ diff --git a/mods/ENTITIES/mobs_mc/tropical_fish.lua b/mods/ENTITIES/mobs_mc/tropical_fish.lua index bb9b63f64..702c692b8 100644 --- a/mods/ENTITIES/mobs_mc/tropical_fish.lua +++ b/mods/ENTITIES/mobs_mc/tropical_fish.lua @@ -67,7 +67,7 @@ local tropical_fish = { xp_min = 1, xp_max = 3, armor = 100, - spawn_in_group = 9, + spawn_in_group = 4, -- was 9. nerfed until aquatics use own cap rather than animal, and it represents pack size, not per spawn attempt tilt_swim = true, collisionbox = {-0.2, 0.0, -0.2, 0.2, 0.1, 0.2}, visual = "mesh", diff --git a/mods/ENTITIES/mobs_mc/vex.lua b/mods/ENTITIES/mobs_mc/vex.lua index f2cd6f14b..fbb33804d 100644 --- a/mods/ENTITIES/mobs_mc/vex.lua +++ b/mods/ENTITIES/mobs_mc/vex.lua @@ -95,3 +95,4 @@ mcl_mobs.register_mob("mobs_mc:vex", { -- spawn eggs mcl_mobs.register_egg("mobs_mc:vex", S("Vex"), "#7a90a4", "#e8edf1", 0) +mcl_mobs:non_spawn_specific("mobs_mc:vex","overworld",0,7) diff --git a/mods/ENTITIES/mobs_mc/villager.lua b/mods/ENTITIES/mobs_mc/villager.lua index bb23758c5..db44843f2 100644 --- a/mods/ENTITIES/mobs_mc/villager.lua +++ b/mods/ENTITIES/mobs_mc/villager.lua @@ -122,7 +122,7 @@ local professions = { }, { { E1, { "mcl_farming:carrot_item_gold", 3, 10 } }, - { E1, { "mcl_potions:speckled_melon", 4, 1 } }, + { E1, { "mcl_potions:speckled_melon", 1, 4 } }, TRADE_V6_BIRCH_SAPLING, TRADE_V6_DARK_OAK_SAPLING, TRADE_V6_ACACIA_SAPLING, @@ -172,6 +172,7 @@ local professions = { { { "mcl_mobitems:string", 15, 20 }, E1 }, { E1, { "mcl_bows:arrow", 8, 12 } }, { { "mcl_core:gravel", 10, 10, "mcl_core:emerald", 1, 1 }, { "mcl_core:flint", 6, 10 } }, + { { "mcl_core:stick", 32, 32 }, E1 }, }, { { { "mcl_core:flint", 26, 26 }, E1 }, @@ -235,7 +236,7 @@ local professions = { librarian = { name = N("Librarian"), texture = "mobs_mc_villager_librarian.png", - jobsite = "mcl_books:bookshelf", --FIXME: lectern + jobsite = "mcl_lectern:lectern", trades = { { { { "mcl_core:paper", 24, 36 }, E1 }, @@ -616,6 +617,13 @@ local function set_textures(self) self.object:set_properties({textures=badge_textures}) end +-- TODO Pass in self and if nitwit, go to bed later. +local function is_night() + local tod = minetest.get_timeofday() + tod = ( tod * 24000 ) % 24000 + return tod > 17500 or tod < 6500 +end + function get_activity(tod) -- night hours = tod > 18541 or tod < 5458 if not tod then @@ -625,8 +633,8 @@ function get_activity(tod) local lunch_start = 11000 local lunch_end = 13500 - local work_start = 7000 - local work_end = 16500 + local work_start = 7500 + local work_end = 16000 local activity = nil if weather_mod and mcl_weather.get_weather() == "thunder" then @@ -634,7 +642,7 @@ function get_activity(tod) activity = SLEEP elseif (tod > work_start and tod < lunch_start) or (tod > lunch_end and tod < work_end) then activity = WORK - elseif mcl_beds.is_night() then + elseif is_night() then activity = SLEEP elseif tod > lunch_start and tod < lunch_end then activity = GATHERING @@ -828,7 +836,7 @@ local function go_home(entity, sleep) else --minetest.log("Need to walk to home") end - end) + end, true) end end @@ -1165,6 +1173,7 @@ local function do_work (self) self.order = nil return end + self:gopath(jobsite, function(self, jobsite) if not self then --mcl_log("missing self. not good") @@ -1308,7 +1317,7 @@ local function do_activity (self) local jobsite_valid = false - if not mcl_beds.is_night() then + if not is_night() then if self.order == SLEEP then self.order = nil end if not validate_jobsite(self) then @@ -1930,8 +1939,6 @@ end) --[=======[ MOB REGISTRATION AND SPAWNING ]=======] -local pick_up = { "mcl_farming:bread", "mcl_farming:carrot_item", "mcl_farming:beetroot_item" , "mcl_farming:potato_item" } - mcl_mobs.register_mob("mobs_mc:villager", { description = S("Villager"), type = "npc", @@ -1976,7 +1983,7 @@ mcl_mobs.register_mob("mobs_mc:villager", { head_shake_start = 131, head_shake_end = 141, head_shake_loop = false, head_nod_start = 121, head_nod_end = 131, head_nod_loop = false, }, - follow = pick_up, + follow = { "mcl_farming:bread", "mcl_farming:carrot_item", "mcl_farming:beetroot_item" , "mcl_farming:potato_item" }, nofollow = true, view_range = 16, fear_height = 4, @@ -1986,7 +1993,7 @@ mcl_mobs.register_mob("mobs_mc:villager", { _id = nil, _profession = "unemployed", look_at_player = true, - pick_up = pick_up, + pick_up = { "mcl_farming:bread", "mcl_farming:carrot_item", "mcl_farming:beetroot_item" , "mcl_farming:potato_item" }, can_open_doors = true, on_pick_up = function(self,itementity) local clicker @@ -2003,6 +2010,7 @@ mcl_mobs.register_mob("mobs_mc:villager", { return it end, on_rightclick = function(self, clicker) + --minetest.log("In villager right click") if self.child or self._profession == "unemployed" or self._profession == "nitwit" then self.order = nil return @@ -2191,4 +2199,5 @@ mobs_mc.water_level+1, mcl_vars.mg_overworld_max) --]] -- spawn eggs +mcl_mobs:non_spawn_specific("mobs_mc:villager","overworld", 0, minetest.LIGHT_MAX+1) mcl_mobs.register_egg("mobs_mc:villager", S("Villager"), "#563d33", "#bc8b72", 0) diff --git a/mods/ENTITIES/mobs_mc/villager_evoker.lua b/mods/ENTITIES/mobs_mc/villager_evoker.lua index 4d46a7260..a34f0ffe9 100644 --- a/mods/ENTITIES/mobs_mc/villager_evoker.lua +++ b/mods/ENTITIES/mobs_mc/villager_evoker.lua @@ -90,3 +90,4 @@ mcl_mobs.register_mob("mobs_mc:evoker", { -- spawn eggs mcl_mobs.register_egg("mobs_mc:evoker", S("Evoker"), "#959b9b", "#1e1c1a", 0) +mcl_mobs:non_spawn_specific("mobs_mc:evoker","overworld",0,7) diff --git a/mods/ENTITIES/mobs_mc/villager_illusioner.lua b/mods/ENTITIES/mobs_mc/villager_illusioner.lua index f7c034eb0..930a1edfe 100644 --- a/mods/ENTITIES/mobs_mc/villager_illusioner.lua +++ b/mods/ENTITIES/mobs_mc/villager_illusioner.lua @@ -66,3 +66,4 @@ mcl_mobs.register_mob("mobs_mc:illusioner", { }) mcl_mobs.register_egg("mobs_mc:illusioner", S("Illusioner"), "#3f5cbb", "#8a8686", 0) +mcl_mobs:non_spawn_specific("mobs_mc:illusioner","overworld",0,7) diff --git a/mods/ENTITIES/mobs_mc/villager_vindicator.lua b/mods/ENTITIES/mobs_mc/villager_vindicator.lua index b2dcb827a..9ccb8509c 100644 --- a/mods/ENTITIES/mobs_mc/villager_vindicator.lua +++ b/mods/ENTITIES/mobs_mc/villager_vindicator.lua @@ -78,3 +78,4 @@ mcl_mobs.register_mob("mobs_mc:vindicator", { -- spawn eggs mcl_mobs.register_egg("mobs_mc:vindicator", S("Vindicator"), "#959b9b", "#275e61", 0) +mcl_mobs:non_spawn_specific("mobs_mc:vindicator","overworld",0,7) diff --git a/mods/ENTITIES/mobs_mc/villager_zombie.lua b/mods/ENTITIES/mobs_mc/villager_zombie.lua index 9a1e30e70..37dce5623 100644 --- a/mods/ENTITIES/mobs_mc/villager_zombie.lua +++ b/mods/ENTITIES/mobs_mc/villager_zombie.lua @@ -55,7 +55,7 @@ mcl_mobs.register_mob("mobs_mc:villager_zombie", { damage = 3, reach = 2, walk_velocity = 1.2, - run_velocity = 2.4, + run_velocity = 1.8, attack_type = "dogfight", group_attack = true, drops = { @@ -109,6 +109,7 @@ mcl_mobs.register_mob("mobs_mc:villager_zombie", { clicker:set_wielded_item(wielditem) self._curing = math.random(3 * 60, 5 * 60) self.shaking = true + self.can_despawn = false end end end, diff --git a/mods/ENTITIES/mobs_mc/witch.lua b/mods/ENTITIES/mobs_mc/witch.lua index 266d5b0c3..b00a68116 100644 --- a/mods/ENTITIES/mobs_mc/witch.lua +++ b/mods/ENTITIES/mobs_mc/witch.lua @@ -106,5 +106,5 @@ mcl_mobs.register_arrow("mobs_mc:potion_arrow", { -- spawn eggs mcl_mobs.register_egg("mobs_mc:witch", S("Witch"), "#340000", "#51a03e", 0, true) - +mcl_mobs:non_spawn_specific("mobs_mc:witch","overworld",0,7) mcl_wip.register_wip_item("mobs_mc:witch") diff --git a/mods/ENTITIES/mobs_mc/wither.lua b/mods/ENTITIES/mobs_mc/wither.lua index dda2beafa..6b47d601a 100644 --- a/mods/ENTITIES/mobs_mc/wither.lua +++ b/mods/ENTITIES/mobs_mc/wither.lua @@ -132,3 +132,4 @@ mcl_mobs.register_arrow("mobs_mc:wither_skull", { mcl_mobs.register_egg("mobs_mc:wither", S("Wither"), "#4f4f4f", "#4f4f4f", 0, true) mcl_wip.register_wip_item("mobs_mc:wither") +mcl_mobs:non_spawn_specific("mobs_mc:wither","overworld",0,minetest.LIGHT_MAX+1) diff --git a/mods/ENTITIES/mobs_mc/zombie.lua b/mods/ENTITIES/mobs_mc/zombie.lua index a54f51dec..6a4f5d48a 100644 --- a/mods/ENTITIES/mobs_mc/zombie.lua +++ b/mods/ENTITIES/mobs_mc/zombie.lua @@ -79,7 +79,7 @@ local zombie = { distance = 16, }, walk_velocity = .8, - run_velocity = 1.6, + run_velocity = 1.8, damage = 3, reach = 2, fear_height = 4, diff --git a/mods/ENTITIES/mobs_mc/zombiepig.lua b/mods/ENTITIES/mobs_mc/zombiepig.lua index 4e89db4f6..f753b5f85 100644 --- a/mods/ENTITIES/mobs_mc/zombiepig.lua +++ b/mods/ENTITIES/mobs_mc/zombiepig.lua @@ -153,3 +153,4 @@ mcl_vars.mg_nether_max) -- spawn eggs mcl_mobs.register_egg("mobs_mc:pigman", S("Zombie Pigman"), "#ea9393", "#4c7129", 0) +mcl_mobs:non_spawn_specific("mobs_mc:pigman","overworld",0,minetest.LIGHT_MAX+1) diff --git a/mods/ENVIRONMENT/lightning/textures/lightning_lightning_1.png b/mods/ENVIRONMENT/lightning/textures/lightning_lightning_1.png deleted file mode 100644 index 37af59e04..000000000 Binary files a/mods/ENVIRONMENT/lightning/textures/lightning_lightning_1.png and /dev/null differ diff --git a/mods/ENVIRONMENT/lightning/textures/lightning_lightning_2.png b/mods/ENVIRONMENT/lightning/textures/lightning_lightning_2.png deleted file mode 100644 index 7bab36b74..000000000 Binary files a/mods/ENVIRONMENT/lightning/textures/lightning_lightning_2.png and /dev/null differ diff --git a/mods/ENVIRONMENT/lightning/textures/lightning_lightning_3.png b/mods/ENVIRONMENT/lightning/textures/lightning_lightning_3.png deleted file mode 100644 index f090529ec..000000000 Binary files a/mods/ENVIRONMENT/lightning/textures/lightning_lightning_3.png and /dev/null differ diff --git a/mods/ENVIRONMENT/mcl_weather/rain.lua b/mods/ENVIRONMENT/mcl_weather/rain.lua index 7dcc48637..00dc2f6eb 100644 --- a/mods/ENVIRONMENT/mcl_weather/rain.lua +++ b/mods/ENVIRONMENT/mcl_weather/rain.lua @@ -27,10 +27,10 @@ local psdef= { time=0, minpos = vector.new(-15,20,-15), maxpos = vector.new(15,25,15), - minvel = vector.new(-2,-17,-2), - maxvel = vector.new(2,-8,2), - minacc = vector.new(0,0,0), - maxacc = vector.new(0,-0.5,0), + minvel = vector.new(0,-20,0), + maxvel = vector.new(0,-15,0), + minacc = vector.new(0,-0.8,0), + maxacc = vector.new(0,-0.8,0), minexptime = 1, maxexptime = 4, minsize = 4, @@ -226,7 +226,7 @@ if mcl_weather.allow_abm then } for a=1, #around do local apos = vector.add(pos, around[a]) - if mcl_weather.is_outdoor(apos) then + if mcl_weather.is_outdoor(apos) and mcl_weather.has_rain(apos) then minetest.remove_node(pos) minetest.sound_play("fire_extinguish_flame", {pos = pos, max_hear_distance = 8, gain = 0.1}, true) return @@ -244,7 +244,7 @@ if mcl_weather.allow_abm then chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) -- Rain is equivalent to a water bottle - if mcl_weather.rain.raining and mcl_weather.is_outdoor(pos) then + if mcl_weather.rain.raining and mcl_weather.is_outdoor(pos) and mcl_weather.has_rain(pos) then if node.name == "mcl_cauldrons:cauldron" then minetest.set_node(pos, {name="mcl_cauldrons:cauldron_1"}) elseif node.name == "mcl_cauldrons:cauldron_1" then @@ -267,7 +267,7 @@ if mcl_weather.allow_abm then interval = 22.0, chance = 3, action = function(pos, node, active_object_count, active_object_count_wider) - if mcl_weather.rain.raining and mcl_weather.is_outdoor(pos) then + if mcl_weather.rain.raining and mcl_weather.is_outdoor(pos) and mcl_weather.has_rain(pos) then if node.name == "mcl_farming:soil" then minetest.set_node(pos, {name="mcl_farming:soil_wet"}) end diff --git a/mods/ENVIRONMENT/mcl_weather/skycolor.lua b/mods/ENVIRONMENT/mcl_weather/skycolor.lua index 3163b0a9d..711f46caa 100644 --- a/mods/ENVIRONMENT/mcl_weather/skycolor.lua +++ b/mods/ENVIRONMENT/mcl_weather/skycolor.lua @@ -1,7 +1,7 @@ local mods_loaded = false local NIGHT_VISION_RATIO = 0.45 -local water_color = "#0b4880" +local water_color = "#3F76E4" local mg_name = minetest.get_mapgen_setting("mg_name") @@ -11,16 +11,22 @@ function mcl_weather.set_sky_box_clear(player, sky, fog) local sc = { day_sky = "#7BA4FF", day_horizon = "#C0D8FF", - dawn_sky = "#B4BAFA", - dawn_horizon = "#BAC1F0", + dawn_sky = "#7BA4FF", + dawn_horizon = "#C0D8FF", night_sky = "#000000", night_horizon = "#4A6790", + indoors = "#C0D8FF", + fog_sun_tint = "#ff5f33", + fog_moon_tint = nil, + fog_tint_type = "custom" } if sky then sc.day_sky = sky + sc.dawn_sky = sky end if fog then sc.day_horizon = fog + sc.dawn_horizon = fog end player:set_sky({ type = "regular", @@ -119,7 +125,14 @@ mcl_weather.skycolor = { local pos = player:get_pos() local dim = mcl_worlds.pos_to_dimension(pos) local has_weather = (mcl_worlds.has_weather(pos) and (mcl_weather.state == "snow" or mcl_weather.state =="rain" or mcl_weather.state == "thunder") and mcl_weather.has_snow(pos)) or ((mcl_weather.state =="rain" or mcl_weather.state == "thunder") and mcl_weather.has_rain(pos)) - if minetest.get_item_group(minetest.get_node(vector.new(pos.x,pos.y+1.5,pos.z)).name, "water") ~= 0 then + local checkname = minetest.get_node(vector.new(pos.x,pos.y+1.5,pos.z)).name + if minetest.get_item_group(checkname, "water") ~= 0 then + local biome_index = minetest.get_biome_data(player:get_pos()).biome + local biome_name = minetest.get_biome_name(biome_index) + local biome = minetest.registered_biomes[biome_name] + if biome then water_color = biome._mcl_waterfogcolor end + if not biome then water_color = "#3F76E4" end + if checkname == "mclx_core:river_water_source" or checkname == "mclx_core:river_water_flowing" then water_color = "#0084FF" end player:set_sky({ type = "regular", sky_color = { day_sky = water_color, @@ -128,8 +141,12 @@ mcl_weather.skycolor = { dawn_horizon = water_color, night_sky = water_color, night_horizon = water_color, + indoors = water_color, + fog_sun_tint = water_color, + fog_moon_tint = water_color, + fog_tint_type = "custom" }, - clouds = true, + clouds = false, }) end if dim == "overworld" then @@ -210,9 +227,23 @@ mcl_weather.skycolor = { end end elseif dim == "end" then + local biomesky = "#000000" + local biomefog = "#A080A0" + if mg_name ~= "v6" and mg_name ~= "singlenode" then + local biome_index = minetest.get_biome_data(player:get_pos()).biome + local biome_name = minetest.get_biome_name(biome_index) + local biome = minetest.registered_biomes[biome_name] + if biome then + --minetest.log("action", string.format("Biome found for number: %s in biome: %s", tostring(biome_index), biome_name)) + biomesky = biome._mcl_skycolor + biomefog = biome._mcl_fogcolor -- The End biomes seemingly don't use the fog colour, despite having this value according to the wiki. The sky colour is seemingly used for both sky and fog? + else + --minetest.log("action", string.format("No biome for number: %s in biome: %s", tostring(biome_index), biome_name)) + end + end local t = "mcl_playerplus_end_sky.png" player:set_sky({ type = "skybox", - base_color = "#000000", + base_color = biomesky, textures = {t,t,t,t,t,t}, clouds = false, }) @@ -221,24 +252,33 @@ mcl_weather.skycolor = { player:set_stars({visible = false}) mcl_weather.skycolor.override_day_night_ratio(player, 0.5) elseif dim == "nether" then - local nether_sky = { - Nether = "#300808", - BasaltDelta = "#685F70", - SoulsandValley = "#1B4745", - CrimsonForest = "#330303", - WarpedForest = "#1A051A" - } - local biometint = nether_sky[minetest.get_biome_name(minetest.get_biome_data(player:get_pos()).biome)] - + local biomesky = "#6EB1FF" + local biomefog = "#330808" + if mg_name ~= "v6" and mg_name ~= "singlenode" then + local biome_index = minetest.get_biome_data(player:get_pos()).biome + local biome_name = minetest.get_biome_name(biome_index) + local biome = minetest.registered_biomes[biome_name] + if biome then + --minetest.log("action", string.format("Biome found for number: %s in biome: %s", tostring(biome_index), biome_name)) + biomesky = biome._mcl_skycolor -- The Nether biomes seemingly don't use the sky colour, despite having this value according to the wiki. The fog colour is used for both sky and fog. + biomefog = biome._mcl_fogcolor + else + --minetest.log("action", string.format("No biome for number: %s in biome: %s", tostring(biome_index), biome_name)) + end + end mcl_weather.set_sky_color(player, { type = "regular", sky_color = { - day_sky = "#300808", - day_horizon = biometint, - dawn_sky = "#300808", - dawn_horizon = biometint, - night_sky = "#300808", - night_horizon = biometint, + day_sky = biomefog, + day_horizon = biomefog, + dawn_sky = biomefog, + dawn_horizon = biomefog, + night_sky = biomefog, + night_horizon = biomefog, + indoors = biomefog, + fog_sun_tint = biomefog, + fog_moon_tint = biomefog, + fog_tint_type = "custom" }, clouds = false, }) diff --git a/mods/ENVIRONMENT/mcl_weather/snow.lua b/mods/ENVIRONMENT/mcl_weather/snow.lua index 8de0dc0ae..9ff2605df 100644 --- a/mods/ENVIRONMENT/mcl_weather/snow.lua +++ b/mods/ENVIRONMENT/mcl_weather/snow.lua @@ -102,35 +102,6 @@ function mcl_weather.snow.add_player(player) end end -local timer = 0 -minetest.register_globalstep(function(dtime) - if mcl_weather.state ~= "snow" then - return false - end - - timer = timer + dtime; - if timer >= 0.5 then - timer = 0 - else - return - end - - if mcl_weather.snow.init_done == false then - mcl_weather.snow.set_sky_box() - mcl_weather.snow.init_done = true - end - - for _, player in pairs(get_connected_players()) do - if mcl_weather.is_underwater(player) or not mcl_weather.has_snow(player:get_pos()) then - mcl_weather.remove_spawners_player(player) - mcl_weather.set_sky_box_clear(player) - else - mcl_weather.snow.add_player(player) - mcl_weather.snow.set_sky_box() - end - end -end) - -- register snow weather if mcl_weather.reg_weathers.snow == nil then mcl_weather.reg_weathers.snow = { diff --git a/mods/ENVIRONMENT/mcl_zombie_sieges/init.lua b/mods/ENVIRONMENT/mcl_zombie_sieges/init.lua index 21c644cda..c2a53d79a 100644 --- a/mods/ENVIRONMENT/mcl_zombie_sieges/init.lua +++ b/mods/ENVIRONMENT/mcl_zombie_sieges/init.lua @@ -1,3 +1,4 @@ +local zombie_siege_enabled = minetest.settings:get_bool("mcl_raids_zombie_siege", false) local function check_spawn_pos(pos) return minetest.get_natural_light(pos) < 7 @@ -33,6 +34,13 @@ mcl_events.register_event("zombie_siege",{ --minetest.log("Cond start zs") local r = {} + if not zombie_siege_enabled then + --minetest.log("action", "Zombie siege disabled") + return r + else + --minetest.log("action", "Zombie siege start check") + end + local t = minetest.get_timeofday() local pr = PseudoRandom(minetest.get_day_count()) local rnd = pr:next(1,10) @@ -42,7 +50,7 @@ mcl_events.register_event("zombie_siege",{ for _,p in pairs(minetest.get_connected_players()) do local village = mcl_raids.find_village(p:get_pos()) if village then - --minetest.log("Found village") + minetest.log("action", "Zombie siege is starting") table.insert(r,{ player = p:get_player_name(), pos = village}) end end diff --git a/mods/HELP/doc/doc/locale/doc.fr.tr b/mods/HELP/doc/doc/locale/doc.fr.tr index f7f33b0f5..78c8bba76 100644 --- a/mods/HELP/doc/doc/locale/doc.fr.tr +++ b/mods/HELP/doc/doc/locale/doc.fr.tr @@ -24,7 +24,7 @@ Help > (No Category)=Aide > (Aucune catégorie) Hidden entries: @1=Pages cachées : @1 Nameless entry (@1)=Pages sans nom (@1) New entries: @1=Nouvelles pages : @1 -New help entry unlocked: @1 > @2=Nouvelles pages d'aide débloquées : @1 +New help entry unlocked: @1 > @2=Nouvelles pages d'aide débloquées : @1 > @2 No categories have been registered, but they are required to provide help.=Aucune catégorie n'a été enregistrée, mais elles sont nécessaires pour fournir l'aide. The Documentation System [doc] does not come with help contents on its own, it needs additional mods to add help content. Please make sure such mods are enabled on for this world, and try again.=Le Système de Documentation [doc] n'est fourni avec aucun contenu d'aide, il a besoin d'autres mods pour ajouter le contenu de l'aide. Vérifiez que de tels mods sont activés pour ce monde, et réessayez. Number of entries: @1=Nombre de pages : @1 diff --git a/mods/HELP/doc/doc/textures/doc_awards_icon_generic.png b/mods/HELP/doc/doc/textures/doc_awards_icon_generic.png deleted file mode 100644 index b33fa34ad..000000000 Binary files a/mods/HELP/doc/doc/textures/doc_awards_icon_generic.png and /dev/null differ diff --git a/mods/HELP/doc/doc/textures/doc_button_icon_hires.png b/mods/HELP/doc/doc/textures/doc_button_icon_hires.png deleted file mode 100644 index 25c9fe4e9..000000000 Binary files a/mods/HELP/doc/doc/textures/doc_button_icon_hires.png and /dev/null differ diff --git a/mods/HELP/doc/doc/textures/doc_button_icon_lores.png b/mods/HELP/doc/doc/textures/doc_button_icon_lores.png deleted file mode 100644 index 3df6195c7..000000000 Binary files a/mods/HELP/doc/doc/textures/doc_button_icon_lores.png and /dev/null differ diff --git a/mods/HELP/doc/doc/textures/inventory_plus_doc_inventory_plus.png b/mods/HELP/doc/doc/textures/inventory_plus_doc_inventory_plus.png deleted file mode 100644 index 3df6195c7..000000000 Binary files a/mods/HELP/doc/doc/textures/inventory_plus_doc_inventory_plus.png and /dev/null differ diff --git a/mods/HELP/doc/doc_identifier/textures/doc_identifier_identifier.png b/mods/HELP/doc/doc_identifier/textures/doc_identifier_identifier.png deleted file mode 100644 index 00b3147a0..000000000 Binary files a/mods/HELP/doc/doc_identifier/textures/doc_identifier_identifier.png and /dev/null differ diff --git a/mods/HELP/doc/doc_items/locale/doc_items.fr.tr b/mods/HELP/doc/doc_items/locale/doc_items.fr.tr index 824ceeeba..269c97480 100644 --- a/mods/HELP/doc/doc_items/locale/doc_items.fr.tr +++ b/mods/HELP/doc/doc_items/locale/doc_items.fr.tr @@ -2,7 +2,7 @@ Using it as fuel turns it into: @1.=L'utiliser comme combustible le transforme en : @1. @1 seconds=@1 secondes # Item count times item name -@1×@2=@1×@ +@1×@2=@1×@2 # Itemname (25%) @1 (@2%)=@1 (@2%) # Itemname (<0.5%) @@ -96,11 +96,11 @@ This block will drop the following when mined: @1.=Ce bloc donnera les objets su This block will drop the following when mined: @1.=Ce bloc donnera les objets suivant lorsque miné : @1. This block will make you bounce off with an elasticity of @1%.=Ce bloc vous fera rebondir avec une élasticité de @1%. This block will randomly drop one of the following when mined: @1.=Ce bloc laissera tomber de manière aléatoire un des éléments suivants lorsque miné : @1. -This block will randomly drop up to @1 drops of the following possible drops when mined: @2.=Ce bloc laissera tomber de manière aléatoire jusqu'à @1 des éléments suivants lorque miné : +This block will randomly drop up to @1 drops of the following possible drops when mined: @2.=Ce bloc laissera tomber de manière aléatoire jusqu'à @1 des éléments suivants lorque miné : @2. This block won't drop anything when mined.=Ce bloc ne donnera rien lorsque miné. This is a decorational block.=C'est un bloc de décoration. -This is a melee weapon which deals damage by punching.=C'est une arme de mêlée qui inflige des dommages en frappant. -Maximum damage per hit:=Dommages maximaux par frappe : +This is a melee weapon which deals damage by punching.=C'est une arme de mêlée qui inflige des dégâts en frappant. +Maximum damage per hit:=Dégâts maximaux par frappe : This item belongs to the @1 group.=Cet objet appartient au groupe @1. This item belongs to these groups: @1.=Cet objet appartient aux groupes suivants : @1 This item can serve as a smelting fuel with a burning time of @1.=Cet objet peut servir de combustible pendant @1. diff --git a/mods/HELP/mcl_craftguide/textures/craftguide_arrow.png b/mods/HELP/mcl_craftguide/textures/craftguide_arrow.png deleted file mode 100644 index cde70b1ce..000000000 Binary files a/mods/HELP/mcl_craftguide/textures/craftguide_arrow.png and /dev/null differ diff --git a/mods/HELP/mcl_craftguide/textures/craftguide_clear_icon.png b/mods/HELP/mcl_craftguide/textures/craftguide_clear_icon.png deleted file mode 100644 index 9244264ad..000000000 Binary files a/mods/HELP/mcl_craftguide/textures/craftguide_clear_icon.png and /dev/null differ diff --git a/mods/HELP/mcl_craftguide/textures/craftguide_furnace.png b/mods/HELP/mcl_craftguide/textures/craftguide_furnace.png deleted file mode 100644 index c425604d2..000000000 Binary files a/mods/HELP/mcl_craftguide/textures/craftguide_furnace.png and /dev/null differ diff --git a/mods/HELP/mcl_craftguide/textures/craftguide_next_icon.png b/mods/HELP/mcl_craftguide/textures/craftguide_next_icon.png deleted file mode 100644 index 82cf3d361..000000000 Binary files a/mods/HELP/mcl_craftguide/textures/craftguide_next_icon.png and /dev/null differ diff --git a/mods/HELP/mcl_craftguide/textures/craftguide_prev_icon.png b/mods/HELP/mcl_craftguide/textures/craftguide_prev_icon.png deleted file mode 100644 index b26cd157f..000000000 Binary files a/mods/HELP/mcl_craftguide/textures/craftguide_prev_icon.png and /dev/null differ diff --git a/mods/HELP/mcl_craftguide/textures/craftguide_search_icon.png b/mods/HELP/mcl_craftguide/textures/craftguide_search_icon.png deleted file mode 100644 index aace8044a..000000000 Binary files a/mods/HELP/mcl_craftguide/textures/craftguide_search_icon.png and /dev/null differ diff --git a/mods/HELP/mcl_craftguide/textures/craftguide_zoomin_icon.png b/mods/HELP/mcl_craftguide/textures/craftguide_zoomin_icon.png deleted file mode 100644 index 5b8ecc2cb..000000000 Binary files a/mods/HELP/mcl_craftguide/textures/craftguide_zoomin_icon.png and /dev/null differ diff --git a/mods/HELP/mcl_doc/locale/mcl_doc.fr.tr b/mods/HELP/mcl_doc/locale/mcl_doc.fr.tr index 90e0c9b0e..a3fd6c983 100644 --- a/mods/HELP/mcl_doc/locale/mcl_doc.fr.tr +++ b/mods/HELP/mcl_doc/locale/mcl_doc.fr.tr @@ -28,38 +28,38 @@ This item can be repaired at an anvil with any item in the “@1” group.=Cet a This item cannot be renamed at an anvil.=Cet objet ne peut pas être renommé sur une enclume. This block crushes any block it falls into.=Ce bloc écrase tout bloc dans lequel il tombe. When this block falls deeper than 1 block, it causes damage to any player it hits. The damage dealt is B×2−2 hit points with B @= number of blocks fallen. The damage can never be more than 40 HP.=Lorsque ce bloc tombe plus profondément que 1 bloc, il inflige des dégâts à tout joueur qu'il frappe. Les dégâts infligés sont B×2−2 points de vie avec B @= nombre de blocs tombés. Les dégâts ne peuvent jamais dépasser 40 PV. -Diamond Pickaxe=Pioche en Diamant -Iron Pickaxe=Pioche en Fer -Stone Pickaxe=Pioche en Pierre -Golden Pickaxe=Pioche en Or -Wooden Pickaxe=Pioche en Bois -Diamond Axe=Hache en Diamant -Iron Axe=Hache en Fer -Stone Axe=Hache en Pierre -Golden Axe=Hache en Or -Wooden Axe=Hache en Bois -Diamond Shovel=Pelle en Diamant -Iron Shovel=Pelle en Fer -Stone Shovel=Pelle en Pierre -Golden Shovel=Pelle en Or -Wooden Shovel=Pelle de Bois +Diamond Pickaxe=Pioche en diamant +Iron Pickaxe=Pioche en fer +Stone Pickaxe=Pioche en pierre +Golden Pickaxe=Pioche en or +Wooden Pickaxe=Pioche en bois +Diamond Axe=Hache en diamant +Iron Axe=Hache en fer +Stone Axe=Hache en pierre +Golden Axe=Hache en or +Wooden Axe=Hache en bois +Diamond Shovel=Pelle en diamant +Iron Shovel=Pelle en fer +Stone Shovel=Pelle en pierre +Golden Shovel=Pelle en or +Wooden Shovel=Pelle en bois This block can be mined by any tool instantly.=Ce bloc peut être miné par n'importe quel outil instantanément. This block can be mined by:=Ce bloc peut être miné par: -Hardness: ∞=Dureté: ∞ -Hardness: @1=Dureté: @1 +Hardness: ∞=Dureté : ∞ +Hardness: @1=Dureté : @1 This block will not be destroyed by TNT explosions.=Ce bloc ne sera pas détruit par les explosions de TNT. This block drops itself when mined by shears.=Ce bloc se laisse tomber lorsqu'il est exploité par cisaille. @1×@2=@1×@2 -This blocks drops the following when mined by shears: @1=Ce bloc laisse tomber les choses suivantes lorsqu'il est exploité par cisaille: +This blocks drops the following when mined by shears: @1=Ce bloc laisse tomber les choses suivantes lorsqu'il est exploité par cisaille : @1 , =, • Shears=• Cisailles • Sword=• Epées • Hand=• Mains This is a melee weapon which deals damage by punching.=Il s'agit d'une arme de mêlée qui inflige des dégâts en frappant. -Maximum damage: @1 HP=Dégâts maximum: @1 -Full punch interval: @1 s=Interval de coup: @1 s +Maximum damage: @1 HP=Dégâts maximum : @1 PV +Full punch interval: @1 s=Interval de coup : @1 s This tool is capable of mining.=Cet outil est capable d'exploiter. -Mining speed: @1=Vitesse de minage: @1 +Mining speed: @1=Vitesse de minage : @1 Painfully slow=Péniblement lent Very slow=Très lent Slow=Lent @@ -69,10 +69,10 @@ Extremely fast=Extrêmenent rapide Instantaneous=Instantané @1 uses=@1 utilisations Unlimited uses=Utilisations illimitées -Block breaking strength: @1=Résistance de rupture de bloc: @1 -Mining durability: @1=Durabilité de minage: @1 -Armor points: @1=Point d'armure: @1 -Armor durability: @1=Durabilité de l'armure: @1 +Block breaking strength: @1=Résistance de rupture de bloc : @1 +Mining durability: @1=Durabilité de minage : @1 +Armor points: @1=Point d'armure : @1 +Armor durability: @1=Durabilité de l'armure : @1 It can be worn on the head.=Il peut être porté sur la tête. It can be worn on the torso.=Il peut être porté au torse. It can be worn on the legs.=Il peut être porté aux jambes. diff --git a/mods/HELP/mcl_doc_basics/locale/mcl_doc_basics.fr.tr b/mods/HELP/mcl_doc_basics/locale/mcl_doc_basics.fr.tr index 98fcd81b3..28f2593fa 100644 --- a/mods/HELP/mcl_doc_basics/locale/mcl_doc_basics.fr.tr +++ b/mods/HELP/mcl_doc_basics/locale/mcl_doc_basics.fr.tr @@ -18,7 +18,7 @@ Basic controls:=Contrôles de base: • [I] for the inventory=• [I] pour l'inventaire • First items in inventory appear in hotbar below=• Les premiers éléments de l'inventaire apparaissent dans la barre de raccourci ci-dessous • Lowest row in inventory appears in hotbar below=• La ligne la plus basse de l'inventaire apparaît dans la barre d'outils ci-dessous -• [Esc] to close this window=• [Esc] pour fermer cette fenêtre +• [Esc] to close this window=• [Échap] pour fermer cette fenêtre How to play:=Comment jouer: • Punch a tree trunk until it breaks and collect wood=• Frappez un tronc d'arbre jusqu'à ce qu'il se brise et ramassez du bois • Place the wood into the 2×2 grid (your “crafting grid”) in your inventory menu and craft 4 wood planks=• Placez le bois dans la grille 2×2 (votre "grille d'établi") dans votre menu d'inventaire et fabriquez 4 planches de bois @@ -39,75 +39,75 @@ Minetest is usually bundled with a simple default game, named “Minetest Game Minetest as well as Minetest Game are both unfinished at the moment, so please forgive us when not everything works out perfectly.=Minetest ainsi que Minetest Game sont tous deux inachevés pour le moment, alors veuillez nous pardonner quand tout ne fonctionne pas parfaitement. Sneaking=Se faufiler Sneaking makes you walk slower and prevents you from falling off the edge of a block.=Se faufiler vous fait marcher plus lentement et vous empêche de tomber du bord d'un bloc. -To sneak, hold down the sneak key (default: [Shift]). When you release it, you stop sneaking. Careful: When you release the sneak key at a ledge, you might fall!=Pour vous faufiler, maintenez enfoncée la touche furtive (par défaut: [Shift]). Lorsque vous le relâchez, vous arrêtez de vous faufiler. Attention: lorsque vous relâchez la touche furtive sur un rebord, vous risquez de tomber! -• Sneak: [Shift]=• Se faufiler: [Shift] +To sneak, hold down the sneak key (default: [Shift]). When you release it, you stop sneaking. Careful: When you release the sneak key at a ledge, you might fall!=Pour vous faufiler, maintenez enfoncée la touche furtive (par défaut : [Shift]). Lorsque vous la relâchez, vous arrêtez de vous faufiler. Attention : lorsque vous relâchez la touche furtive sur un rebord, vous risquez de tomber ! +• Sneak: [Shift]=• Se faufiler : [Shift] Sneaking only works when you stand on solid ground, are not in a liquid and don't climb.=Se faufiler ne fonctionne que lorsque vous vous tenez sur un sol solide, pas dans un liquide et ne grimpez pas. If you jump while holding the sneak key, you also jump slightly higher than usual.=Si vous sautez tout en maintenant la touche furtive, vous sautez également légèrement plus haut que d'habitude. Sneaking might be disabled by mods. In this case, you still walk slower by sneaking, but you will no longer be stopped at ledges.=Le faufilement peut être désactivé par les mods. Dans ce cas, vous marchez toujours plus lentement en vous faufilant, mais vous ne serez plus arrêté aux rebords. Controls=Les contrôles -These are the default controls:=Ce sont les contrôles par défaut: -Basic movement:=Mouvement de base: -• Moving the mouse around: Look around=• Déplacer la souris: regardez autour -• W: Move forwards=• W: Avancer -• A: Move to the left=• A: Déplacer vers la gauche -• D: Move to the right=• D: Déplacer vers la droite -• S: Move backwards=• S: Reculer -• E: Sprint=• E: Courrir -While standing on solid ground:=En position debout sur un sol solide: -• Space: Jump=• Espace: Sauter -• Shift: Sneak=• Shift: Faufiler +These are the default controls:=Ce sont les contrôles par défaut : +Basic movement:=Mouvement de base : +• Moving the mouse around: Look around=• Déplacer la souris : regarder autour +• W: Move forwards=• W : Avancer +• A: Move to the left=• A : Déplacer vers la gauche +• D: Move to the right=• D : Déplacer vers la droite +• S: Move backwards=• S : Reculer +• E: Sprint=• E : Courir +While standing on solid ground:=En position debout sur un sol solide : +• Space: Jump=• Espace : Sauter +• Shift: Sneak=• Shift : Faufiler While on a ladder, swimming in a liquid or fly mode is active=Sur une échelle, nager dans un liquide ou le mode voler est actif -• Space: Move up=• Espace: Monter -• Shift: Move down=• Shift: Descendre -Extended movement (requires privileges):=Déplacement étendu (nécessite des privilèges): -• J: Toggle fast mode, makes you run or fly fast (requires “fast” privilege)=• J: Basculer en mode rapide, vous permet de courir ou de voler rapidement (nécessite le privilège "fast") -• K: Toggle fly mode, makes you move freely in all directions (requires “fly” privilege)=• K: Basculer en mode vol, vous permet de vous déplacer librement dans toutes les directions (nécessite le privilège "fly") -• H: Toggle noclip mode, makes you go through walls in fly mode (requires “noclip” privilege)=• H: Bascule le mode noclip, vous fait passer à travers les murs en mode vol (nécessite le privilège "noclip") -• E: Move even faster when in fast mode=• E: Déplacez-vous encore plus rapidement en mode rapide -• E: Walk fast in fast mode=• E: Marchez vite en mode rapide -World interaction:=Interaction avec le monde: -• Left mouse button: Punch / mine blocks / take items=• Bouton gauche de la souris: Perforer / miner des blocs / prendre des objets -• Left mouse button: Punch / mine blocks=• Bouton gauche de la souris: Perforer / miner des blocs -• Right mouse button: Build or use pointed block=• Bouton droit de la souris: Créer ou utiliser un bloc pointu -• Shift+Right mouse button: Build=• Shift+Bouton droit de la souris: Construire -• Roll mouse wheel: Select next/previous item in hotbar=• Molette de la souris: Sélectionnez l'élément suivant / précédent dans la barre active -• Roll mouse wheel / B / N: Select next/previous item in hotbar=• Faites rouler la molette de la souris / B / N: Sélectionnez l'élément suivant / précédent dans la barre de raccourci -• 1-9: Select item in hotbar directly=• 1-9: sélectionnez directement l'élément dans la barre de raccourci -• Q: Drop item stack=• Q: Déposer la pile d'objets -• Shift+Q: Drop 1 item=• Shift+Q: Déposer 1 élément -• I: Show/hide inventory menu=• I: Afficher/masquer le menu d'inventaire +• Space: Move up=• Espace : Monter +• Shift: Move down=• Shift : Descendre +Extended movement (requires privileges):=Déplacement étendu (nécessite des privilèges) : +• J: Toggle fast mode, makes you run or fly fast (requires “fast” privilege)=• J : Basculer en mode rapide, vous permet de courir ou de voler rapidement (nécessite le privilège "fast") +• K: Toggle fly mode, makes you move freely in all directions (requires “fly” privilege)=• K : Basculer en mode vol, vous permet de vous déplacer librement dans toutes les directions (nécessite le privilège "fly") +• H: Toggle noclip mode, makes you go through walls in fly mode (requires “noclip” privilege)=• H : Bascule le mode noclip, vous fait passer à travers les murs en mode vol (nécessite le privilège "noclip") +• E: Move even faster when in fast mode=• E : Déplacez-vous encore plus rapidement en mode rapide +• E: Walk fast in fast mode=• E : Marchez vite en mode rapide +World interaction:=Interaction avec le monde : +• Left mouse button: Punch / mine blocks / take items=• Bouton gauche de la souris : Frapper / miner des blocs / prendre des objets +• Left mouse button: Punch / mine blocks=• Bouton gauche de la souris : Frapper / miner des blocs +• Right mouse button: Build or use pointed block=• Bouton droit de la souris : Créer ou utiliser un bloc pointu +• Shift+Right mouse button: Build=• Shift+Bouton droit de la souris : Construire +• Roll mouse wheel: Select next/previous item in hotbar=• Molette de la souris : Sélectionnez l'élément suivant / précédent dans la barre active +• Roll mouse wheel / B / N: Select next/previous item in hotbar=• Faites rouler la molette de la souris / B / N : Sélectionnez l'élément suivant / précédent dans la barre de raccourci +• 1-9: Select item in hotbar directly=• 1-9 : sélectionnez directement l'élément dans la barre de raccourci +• Q: Drop item stack=• Q : Déposer la pile d'objets +• Shift+Q: Drop 1 item=• Shift+Q : Déposer 1 élément +• I: Show/hide inventory menu=• I : Afficher/masquer le menu d'inventaire Inventory interaction:=Interaction d'inventaire: See the entry “Basics > Inventory”.=Voir l'entrée «Bases> Inventaire». -Camera:=Caméra: -• Z: Zoom=• Z: Zoom -• F7: Toggle camera mode=• F7: Bascule le mode caméra -• F8: Toggle cinematic mode=• F8: Basculer le mode cinématique -Interface:=Interface: -• Esc: Open menu window (pauses in single-player mode) or close window=• Esc: Ouvrir la fenêtre du menu (fait une pause en mode solo) ou fermer la fenêtre -• F1: Show/hide HUD=• F1: Afficher/masquer le HUD -• F2: Show/hide chat=• F2: Afficher/masquer le chat -• F9: Toggle minimap=• F9: Basculer la mini-carte -• Shift+F9: Toggle minimap rotation mode=• Shift+F9: Bascule le mode de rotation de la mini-carte -• F10: Open/close console/chat log=• F10: Ouvrir/fermer la console/journal de chat -• F12: Take a screenshot=• F12: Prendre une capture d'écran -Server interaction:=Interaction avec le serveur: -• T: Open chat window (chat requires the “shout” privilege)=• T: Ouvrir la fenêtre de discussion (la discussion nécessite le privilège "shout") -• /: Start issuing a server command=• /: Lancer l'émission d'une commande serveur -Technical:=Technique: -• R: Toggle far view (disables all fog and allows viewing far away, can make game very slow)=• R: Basculer la vue éloignée (désactive tout le brouillard et permet une visualisation éloignée, peut rendre le jeu très lent) -• +: Increase minimal viewing distance=• +: Augmentez la distance de visionnement minimale -• -: Decrease minimal viewing distance=• -: Diminue la distance de visionnement minimale -• F3: Enable/disable fog=• F3: Activer/désactiver le brouillard -• F5: Enable/disable debug screen which also shows your coordinates=• F5: Activer / désactiver l'écran de débogage qui affiche également vos coordonnées -• F6: Only useful for developers. Enables/disables profiler=• F6: utile uniquement pour les développeurs. Active/désactive le profileur -• P: Only useful for developers. Writes current stack traces=• P: utile uniquement pour les développeurs. Écrit les traces de pile actuelles +Camera:=Caméra : +• Z: Zoom=• Z : Zoom +• F7: Toggle camera mode=• F7 : Bascule le mode caméra +• F8: Toggle cinematic mode=• F8 : Basculer le mode cinématique +Interface:=Interface : +• Esc: Open menu window (pauses in single-player mode) or close window=• Échap : Ouvrir la fenêtre du menu (fait une pause en mode solo) ou fermer la fenêtre +• F1: Show/hide HUD=• F1 : Afficher/masquer le HUD +• F2: Show/hide chat=• F2 : Afficher/masquer le chat +• F9: Toggle minimap=• F9 : Basculer la mini-carte +• Shift+F9: Toggle minimap rotation mode=• Shift+F9 : Bascule le mode de rotation de la mini-carte +• F10: Open/close console/chat log=• F10 : Ouvrir/fermer la console/journal de chat +• F12: Take a screenshot=• F12 : Prendre une capture d'écran +Server interaction:=Interaction avec le serveur : +• T: Open chat window (chat requires the “shout” privilege)=• T : Ouvrir la fenêtre de discussion (la discussion nécessite le privilège "shout") +• /: Start issuing a server command=• / : Lancer l'émission d'une commande serveur +Technical:=Technique : +• R: Toggle far view (disables all fog and allows viewing far away, can make game very slow)=• R : Basculer la vue éloignée (désactive tout le brouillard et permet une visualisation éloignée, peut rendre le jeu très lent) +• +: Increase minimal viewing distance=• + : Augmente la distance de vision minimale +• -: Decrease minimal viewing distance=• - : Diminue la distance de vision minimale +• F3: Enable/disable fog=• F3 : Activer/désactiver le brouillard +• F5: Enable/disable debug screen which also shows your coordinates=• F5 : Activer / désactiver l'écran de débogage qui affiche également vos coordonnées +• F6: Only useful for developers. Enables/disables profiler=• F6 : utile uniquement pour les développeurs. Active/désactive le profileur +• P: Only useful for developers. Writes current stack traces=• P : utile uniquement pour les développeurs. Écrit les traces de pile actuelles Players=Joueurs -Players (actually: “player characters”) are the characters which users control.=Les joueurs (en fait: "personnages joueurs") sont les personnages que les utilisateurs contrôlent. +Players (actually: “player characters”) are the characters which users control.=Les joueurs (en fait : "personnages joueurs") sont les personnages que les utilisateurs contrôlent. Players are living beings. They start with a number of health points (HP) and a number of breath points (BP).=Les joueurs sont des êtres vivants. Ils commencent par un certain nombre de points de vie (PV) et un certain nombre de points de respiration (BP). Players are capable of walking, sneaking, jumping, climbing, swimming, diving, mining, building, fighting and using tools and blocks.=Les joueurs sont capables de marcher, se faufiler, sauter, grimper, nager, plonger, exploiter, construire, se battre et utiliser des outils et des blocs. Players can take damage for a variety of reasons, here are some:=Les joueurs peuvent subir des dégâts pour diverses raisons, en voici quelques-unes: • Taking fall damage=• Prendre des dégâts de chute -• Touching a block which causes direct damage=• Toucher un bloc qui cause des dommages directs +• Touching a block which causes direct damage=• Toucher un bloc qui cause des dégâts directs • Drowning=• Noyade • Being attacked by another player=• Être attaqué par un autre joueur • Being attacked by a computer enemy=• Être attaqué par un ennemi informatique @@ -120,9 +120,9 @@ Items=Objects Items are things you can carry along and store in inventories. They can be used for crafting, smelting, building, mining, and more. Types of items include blocks, tools, weapons and items only used for crafting.=Les objets sont des choses que vous pouvez emporter et stocker dans des inventaires. Ils peuvent être utilisés pour l'artisanat, la fusion, la construction, l'exploitation minière, etc. Les types d'objets comprennent des blocs, des outils, des armes et des objets uniquement utilisés pour l'artisanat. An item stack is a collection of items of the same type which fits into a single item slot. Item stacks can be dropped on the ground. Items which drop into the same coordinates will form an item stack.=Une pile d'objets est une collection d'objets du même type qui tient dans un seul emplacement d'objet. Les piles d'objets peuvent être déposées au sol. Les objets qui tombent dans les mêmes coordonnées formeront une pile d'objets. Items have several properties, including the following:=Les éléments ont plusieurs propriétés, notamment les suivantes: -• Maximum stack size: Number of items which fit on 1 item stack=• Taille maximale de la pile: Nombre d'articles pouvant tenir sur une pile d'articles -• Pointing range: How close things must be to be pointed while wielding this item=• Plage de pointage: A quelle distance les choses doivent être pointées lorsque vous maniez cet objet -• Group memberships: See “Basics > Groups”=• Appartenance à un groupe: Voir "Général> Groupes" +• Maximum stack size: Number of items which fit on 1 item stack=• Taille maximale de la pile : Nombre d'articles pouvant tenir sur une pile d'articles +• Pointing range: How close things must be to be pointed while wielding this item=• Plage de pointage : A quelle distance les choses doivent être pointées lorsque vous maniez cet objet +• Group memberships: See “Basics > Groups”=• Appartenance à un groupe : Voir "Général> Groupes" • May be used for crafting or cooking=• Peut être utilisé pour l'artisanat ou la cuisine Dropped item stacks will be collected automatically when you stand close to them.=Les piles d'objets déposés seront collectées automatiquement lorsque vous vous tenez près d'eux. Tools=Outils @@ -131,45 +131,45 @@ When nothing is wielded, players use their hand which may act as tool and weapon A common subset of tools is mining tools. These are important to break all kinds of blocks. Weapons are a kind of tool. There are of course many other possible tools. Special actions of tools are usually done by left-click or right-click.=Un sous-ensemble d'outils sont les outils de minage. Ceux-ci sont importants pour casser toutes sortes de blocs. Les armes sont une sorte d'outil. Il existe bien sûr de nombreux autres outils possibles. Les actions spéciales des outils sont généralement effectuées par un clic gauche ou un clic droit. Mining tools are important to break all kinds of blocks. Weapons are another kind of tool. There are some other more specialized tools. Special actions of tools are usually done by right-click.=Les outils miniers sont importants pour briser toutes sortes de blocs. Les armes sont un autre type d'outil. Il existe d'autres outils plus spécialisés. Les actions spéciales des outils sont généralement effectuées par un clic droit. When nothing is wielded, players use their hand which may act as tool and weapon. The hand is capable of punching and deals minimum damage.=Quand rien n'est manié, les joueurs utilisent leur main qui peut servir d'outil et d'arme. La main est capable de poinçonner et inflige un minimum de dégâts. -Many tools will wear off when using them and may eventually get destroyed. The damage is displayed in a damage bar below the tool icon. If no damage bar is shown, the tool is in mint condition. Tools may be repairable by crafting, see “Basics > Crafting”.=De nombreux outils s'usent lors de leur utilisation et peuvent éventuellement être détruits. Les dégâts sont affichés dans une barre de dégâts sous l'icône de l'outil. Si aucune barre de dommage n'est affichée, l'outil est en parfait état. Les outils peuvent être réparables par artisanat, voir «Bases> Artisanat». +Many tools will wear off when using them and may eventually get destroyed. The damage is displayed in a damage bar below the tool icon. If no damage bar is shown, the tool is in mint condition. Tools may be repairable by crafting, see “Basics > Crafting”.=De nombreux outils s'usent lors de leur utilisation et peuvent éventuellement être détruits. Les dégâts sont affichés dans une barre de dégâts sous l'icône de l'outil. Si aucune barre de dégâts n'est affichée, l'outil est en parfait état. Les outils peuvent être réparables par artisanat, voir «Bases> Artisanat». Weapons=Armes Some items are usable as a melee weapon when wielded. Weapons share most of the properties of tools.=Certains objets sont utilisables comme arme de mêlée lorsqu'ils sont utilisés. Les armes partagent la plupart des propriétés des outils. -Melee weapons deal damage by punching players and other animate objects. There are two ways to attack:=Les armes de mêlée infligent des dégâts en frappant les joueurs et d'autres objets animés. Il y a deux façons d'attaquer: -• Single punch: Left-click once to deal a single punch=• Coup de poing unique: Cliquez une fois avec le bouton gauche pour traiter un coup de poing -• Quick punching: Hold down the left mouse button to deal quick repeated punches=• Poinçonnage rapide: Maintenez le bouton gauche de la souris enfoncé pour effectuer des coups de poing répétés rapidement -There are two core attributes of melee weapons:=Il y a deux attributs principaux des armes de mêlée: -• Maximum damage: Damage which is dealt after a hit when the weapon was fully recovered=• Dégâts maximum: Dégâts qui sont infligés après un coup lorsque l'arme a été complètement récupérée -• Full punch interval: Time it takes for fully recovering from a punch=• Intervalle de poinçonnage complet: temps nécessaire pour récupérer complètement d'un poinçon -A weapon only deals full damage when it has fully recovered from a previous punch. Otherwise, the weapon will deal only reduced damage. This means, quick punching is very fast, but also deals rather low damage. Note the full punch interval does not limit how fast you can attack.=Une arme n'inflige des dégâts complets que lorsqu'elle a complètement récupéré d'un coup de poing précédent. Sinon, l'arme n'infligera que des dégâts réduits. Cela signifie que le poinçonnage rapide est très rapide, mais inflige également des dégâts plutôt faibles. Notez que l'intervalle de punch complet ne limite pas la vitesse à laquelle vous pouvez attaquer. -There is a rule which sometimes makes attacks impossible: Players, animate objects and weapons belong to damage groups. A weapon only deals damage to those who share at least one damage group with it. So if you're using the wrong weapon, you might not deal any damage at all.=Il existe une règle qui rend parfois les attaques impossibles: les joueurs, les objets animés et les armes appartiennent à des groupes de dégâts. Une arme inflige uniquement des dégâts à ceux qui partagent au moins un groupe de dégâts avec elle. Donc, si vous utilisez la mauvaise arme, vous pourriez ne pas infliger de dégâts du tout. +Melee weapons deal damage by punching players and other animate objects. There are two ways to attack:=Les armes de mêlée infligent des dégâts en frappant les joueurs et d'autres objets animés. Il y a deux façons d'attaquer : +• Single punch: Left-click once to deal a single punch=• Coup unique : Cliquez une fois avec le bouton gauche pour donner un coup +• Quick punching: Hold down the left mouse button to deal quick repeated punches=• Coup rapide : Maintenez le bouton gauche de la souris enfoncé pour effectuer des coups répétés rapidement +There are two core attributes of melee weapons:=Il y a deux attributs principaux des armes de mêlée : +• Maximum damage: Damage which is dealt after a hit when the weapon was fully recovered=• Dégâts maximum : Dégâts qui sont infligés après un coup lorsque l'arme a complètement récupéré +• Full punch interval: Time it takes for fully recovering from a punch=• Intervalle de coup complet : temps nécessaire pour récupérer complètement d'un coup +A weapon only deals full damage when it has fully recovered from a previous punch. Otherwise, the weapon will deal only reduced damage. This means, quick punching is very fast, but also deals rather low damage. Note the full punch interval does not limit how fast you can attack.=Une arme n'inflige des dégâts complets que lorsqu'elle a complètement récupéré d'un coup précédent. Sinon, l'arme n'infligera que des dégâts réduits. Cela signifie que le coup rapide est très rapide, mais inflige également des dégâts plutôt faibles. Notez que l'intervalle de coup complet ne limite pas la vitesse à laquelle vous pouvez attaquer. +There is a rule which sometimes makes attacks impossible: Players, animate objects and weapons belong to damage groups. A weapon only deals damage to those who share at least one damage group with it. So if you're using the wrong weapon, you might not deal any damage at all.=Il existe une règle qui rend parfois les attaques impossibles : les joueurs, les objets animés et les armes appartiennent à des groupes de dégâts. Une arme inflige uniquement des dégâts à ceux qui partagent au moins un groupe de dégâts avec elle. Donc, si vous utilisez la mauvaise arme, vous pourriez ne pas infliger de dégâts du tout. Pointing=Pointage -“Pointing” means looking at something in range with the crosshair. Pointing is needed for interaction, like mining, punching, using, etc. Pointable things include blocks, players, computer enemies and objects.="Pointage" signifie regarder quelque chose à portée avec le réticule. Le pointage est nécessaire pour l'interaction, comme l'extraction, le poinçonnage, l'utilisation, etc. +“Pointing” means looking at something in range with the crosshair. Pointing is needed for interaction, like mining, punching, using, etc. Pointable things include blocks, players, computer enemies and objects.="Pointage" signifie regarder quelque chose à portée avec le réticule. Le pointage est nécessaire pour l'interaction, comme l'extraction, la frappe, l'utilisation, etc. To point something, it must be in the pointing range (also just called “range”) of your wielded item. There's a default range when you are not wielding anything. A pointed thing will be outlined or highlighted (depending on your settings). Pointing is not possible with the 3rd person front camera.=Pour pointer quelque chose, il doit se trouver dans la plage de pointage (également appelée simplement "plage") de votre objet brandi. Il y a une plage par défaut lorsque vous ne maniez rien. Une chose pointue sera soulignée ou mise en évidence (en fonction de vos paramètres). Le pointage n'est pas possible avec la caméra frontale à la 3ème personne. A few things can not be pointed. Most blocks are pointable. A few blocks, like air, can never be pointed. Other blocks, like liquids can only be pointed by special items.=Certaines choses ne peuvent pas être signalées. La plupart des blocs sont pointables. Quelques blocs, comme l'air, ne peuvent jamais être pointés. D'autres blocs, comme les liquides, ne peuvent être pointés que par des objets spéciaux. Camera=Caméra -There are 3 different views which determine the way you see the world. The modes are:=Il y a 3 vues différentes qui déterminent la façon dont vous voyez le monde. Les modes sont: -• 1: First-person view (default)=• 1: Vue à la première personne (par défaut) -• 2: Third-person view from behind=• 2: Vue à la troisième personne par derrière -• 3: Third-person view from the front=• 3: Vue à la troisième personne de face +There are 3 different views which determine the way you see the world. The modes are:=Il y a 3 vues différentes qui déterminent la façon dont vous voyez le monde. Les modes sont : +• 1: First-person view (default)=• 1 : Vue à la première personne (par défaut) +• 2: Third-person view from behind=• 2 : Vue à la troisième personne par derrière +• 3: Third-person view from the front=• 3 : Vue à la troisième personne de face You can change the camera mode by pressing [F7].=Vous pouvez changer le mode de l'appareil photo en appuyant sur [F7]. You might be able to zoom with [Z] to zoom the view at the crosshair. This allows you to look further.=Vous pourrez peut-être zoomer avec [Z] pour zoomer la vue sur le réticule. Cela vous permet de regarder plus loin. Zooming is a gameplay feature that might be enabled or disabled by the game. By default, zooming is enabled when in Creative Mode but disabled otherwise.=Le zoom est une fonctionnalité de gameplay qui peut être activée ou désactivée par le jeu. Par défaut, le zoom est activé en mode créatif mais désactivé dans le cas contraire. There is also Cinematic Mode which can be toggled with [F8]. With Cinematic Mode enabled, the camera movements become more smooth. Some players don't like it, it is a matter of taste.=Il y a aussi le mode cinématique qui peut être basculé avec [F8]. Lorsque le mode cinématique est activé, les mouvements de la caméra deviennent plus fluides. Certains joueurs ne l'aiment pas, c'est une question de goût. By holding down [Z], you can zoom the view at your crosshair. You need the “zoom” privilege to do this.=En maintenant [Z] enfoncé, vous pouvez agrandir la vue sur votre réticule. Vous avez besoin du privilège "zoom" pour ce faire. -• Switch camera mode: [F7]=• Changer le mode de l'appareil photo: [F7] -• Toggle Cinematic Mode: [F8]=• Basculer le mode cinématique: [F8] -• Zoom: [Z]=• Zoom: [Z] +• Switch camera mode: [F7]=• Changer le mode de l'appareil photo : [F7] +• Toggle Cinematic Mode: [F8]=• Basculer le mode cinématique : [F8] +• Zoom: [Z]=• Zoom : [Z] Blocks=Blocs The world of MineClone 2 is made entirely out of blocks (voxels, to be precise). Blocks can be added or removed with the correct tools.=Le monde de MineClone 2 est entièrement constitué de blocs (voxels, pour être précis). Les blocs peuvent être ajoutés ou supprimés avec les bons outils. The world is made entirely out of blocks (voxels, to be precise). Blocks can be added or removed with the correct tools.=Le monde est entièrement fait de blocs (voxels, pour être précis). Les blocs peuvent être ajoutés ou supprimés avec les bons outils. Blocks can have a wide range of different properties which determine mining times, behavior, looks, shape, and much more. Their properties include:=Les blocs peuvent avoir un large éventail de propriétés différentes qui déterminent les temps d'exploration, le comportement, l'apparence, la forme et bien plus encore. Leurs propriétés comprennent: -• Collidable: Collidable blocks can not be passed through; players can walk on them. Non-collidable blocks can be passed through freely=• Collidable: les blocs collidables ne peuvent pas être traversés; les joueurs peuvent marcher dessus. Les blocs non collidables peuvent passer librement -• Pointable: Pointable blocks show a wireframe or a halo box when pointed. But you will just point through non-pointable blocks. Liquids are usually non-pointable but they can be pointed at by some special tools=• Pointable: les blocs pointables affichent un filaire ou une boîte de halo lorsqu'ils sont pointés. Mais vous pointerez simplement à travers des blocs non pointables. Les liquides sont généralement non pointables mais ils peuvent être pointés par certains outils spéciaux -• Mining properties: By which tools it can be mined, how fast and how much it wears off tools=• Propriétés minières: par quels outils il peut être extrait, à quelle vitesse et combien il s'use -• Climbable: While you are at a climbable block, you won't fall and you can move up and down with the jump and sneak keys=• Grimpable: Pendant que vous êtes sur un bloc grimpable, vous ne tomberez pas et vous pouvez vous déplacer de haut en bas avec les touches de saut et de furtivité -• Drowning damage: See the entry “Basics > Player”=• Dommages liés à la noyade: voir l'entrée "Bases> Joueur" -• Liquids: See the entry “Basics > Liquids”=• Liquides: voir l'entrée "Bases> Liquides" -• Group memberships: Group memberships are used to determine mining properties, crafting, interactions between blocks and more=• Appartenances aux groupes: les appartenances aux groupes sont utilisées pour déterminer les propriétés minières, l'artisanat, les interactions entre les blocs, etc. +• Collidable: Collidable blocks can not be passed through; players can walk on them. Non-collidable blocks can be passed through freely=• Collidable : les blocs collidables ne peuvent pas être traversés; les joueurs peuvent marcher dessus. Les blocs non collidables peuvent passer librement +• Pointable: Pointable blocks show a wireframe or a halo box when pointed. But you will just point through non-pointable blocks. Liquids are usually non-pointable but they can be pointed at by some special tools=• Pointable : les blocs pointables affichent un filaire ou une boîte de halo lorsqu'ils sont pointés. Mais vous pointerez simplement à travers des blocs non pointables. Les liquides sont généralement non pointables mais ils peuvent être pointés par certains outils spéciaux +• Mining properties: By which tools it can be mined, how fast and how much it wears off tools=• Propriétés minières : par quels outils il peut être extrait, à quelle vitesse et combien il s'use +• Climbable: While you are at a climbable block, you won't fall and you can move up and down with the jump and sneak keys=• Grimpable : Pendant que vous êtes sur un bloc grimpable, vous ne tomberez pas et vous pouvez vous déplacer de haut en bas avec les touches de saut et de furtivité +• Drowning damage: See the entry “Basics > Player”=• Dégâts liés à la noyade : voir l'entrée "Bases> Joueur" +• Liquids: See the entry “Basics > Liquids”=• Liquides : voir l'entrée "Bases> Liquides" +• Group memberships: Group memberships are used to determine mining properties, crafting, interactions between blocks and more=• Appartenances aux groupes : les appartenances aux groupes sont utilisées pour déterminer les propriétés minières, l'artisanat, les interactions entre les blocs, etc. Mining=Exploitation minière Mining (or digging) is the process of breaking blocks to remove them. To mine a block, point it and hold down the left mouse button until it breaks.=L'exploitation minière (ou creuser) est le processus de rupture des blocs pour les retirer. Pour extraire un bloc, pointez-le et maintenez enfoncé le bouton gauche de la souris jusqu'à ce qu'il se casse. Blocks require a mining tool to be mined. Different blocks are mined by different mining tools, and some blocks can not be mined by any tool. Blocks vary in hardness and tools vary in strength. Mining tools will wear off over time. The mining time and the tool wear depend on the block and the mining tool. The fastest way to find out how efficient your mining tools are is by just trying them out on various blocks. Any items you gather by mining will drop on the ground, ready to be collected.=Les blocs nécessitent un outil de minage pour être minés. Différents blocs sont extraits par différents outils d'exploration de données, et certains blocs ne peuvent être extraits par aucun outil. Les blocs varient en dureté et les outils varient en résistance. Les outils miniers s'useront avec le temps. Le temps d'extraction et l'usure de l'outil dépendent du bloc et de l'outil d'extraction. Le moyen le plus rapide de découvrir l'efficacité de vos outils d'exploration est simplement de les essayer sur différents blocs. Tous les objets que vous récupérez par extraction tomberont au sol, prêts à être récupérés. @@ -182,28 +182,28 @@ Building=Construire Almost all blocks can be built (or placed). Building is very simple and has no delay.=Presque tous les blocs peuvent être construits (ou placés). La construction est très simple et n'a pas de retard. To build your wielded block, point at a block in the world and right-click. If this is not possible because the pointed block has a special right-click action, hold down the sneak key before right-clicking.=Pour construire votre bloc brandi, pointez sur un bloc dans le monde et faites un clic droit. Si cela n'est pas possible car le bloc pointé a une action spéciale de clic droit, maintenez la touche furtive avant de cliquer avec le bouton droit. Blocks can almost always be built at pointable blocks. One exception are blocks attached to the floor; these can only be built on the floor.=Les blocs peuvent presque toujours être construits sur des blocs pointables. Une exception est les blocs attachés au sol; ceux-ci ne peuvent être construits que sur le sol. -Normally, blocks are built in front of the pointed side of the pointed block. A few blocks are different: When you try to build at them, they are replaced.=Normalement, les blocs sont construits devant le côté pointu du bloc pointu. Quelques blocs sont différents: lorsque vous essayez de les construire, ils sont remplacés. +Normally, blocks are built in front of the pointed side of the pointed block. A few blocks are different: When you try to build at them, they are replaced.=Normalement, les blocs sont construits devant le côté pointu du bloc pointu. Quelques blocs sont différents : lorsque vous essayez de les construire, ils sont remplacés. Liquids=Liquides Liquids are special dynamic blocks. Liquids like to spread and flow to their surrounding blocks. Players can swim and drown in them.=Les liquides sont des blocs dynamiques spéciaux. Les liquides aiment se propager et s'écouler vers leurs blocs environnants. Les joueurs peuvent nager et se noyer en eux. -Liquids usually come in two forms: In source form (S) and in flowing form (F).=Les liquides se présentent généralement sous deux formes: sous forme source (S) et sous forme fluide (F). +Liquids usually come in two forms: In source form (S) and in flowing form (F).=Les liquides se présentent généralement sous deux formes : sous forme source (S) et sous forme fluide (F). Liquid sources have the shape of a full cube. A liquid source will generate flowing liquids around it from time to time, and, if the liquid is renewable, it also generates liquid sources. A liquid source can sustain itself. As long it is left alone, a liquid source will normally keep its place and does not drain out.=Les sources liquides ont la forme d'un cube plein. Une source de liquide génère de temps à autre des liquides qui coulent autour d'elle et, si le liquide est renouvelable, elle génère également des sources de liquide. Une source liquide peut se maintenir. Tant qu'elle est laissée seule, une source liquide gardera normalement sa place et ne s'écoulera pas. Flowing liquids take a sloped form. Flowing liquids spread around the world until they drain. A flowing liquid can not sustain itself and always comes from a liquid source, either directly or indirectly. Without a liquid source, a flowing liquid will eventually drain out and disappear.=Les liquides qui coulent prennent une forme inclinée. Les liquides qui coulent se répandent dans le monde jusqu'à ce qu'ils s'écoulent. Un liquide qui coule ne peut pas subvenir à ses besoins et provient toujours d'une source de liquide, directement ou indirectement. Sans source de liquide, un liquide qui s'écoule finira par s'écouler et disparaître. All liquids share the following properties:=Tous les liquides partagent les propriétés suivantes: • All properties of blocks (including drowning damage)=• Toutes les propriétés des blocs (y compris les dégâts de noyade) -• Renewability: Renewable liquids can create new sources=• Renouvelabilité: les liquides renouvelables peuvent créer de nouvelles sources -• Flowing range: How many flowing liquids are created at maximum per liquid source, it determines how far the liquid will spread. Possible are ranges from 0 to 8. At 0, no flowing liquids will be created. Image 5 shows a liquid of flowing range 2=• Plage d'écoulement: le nombre de liquides qui s'écoulent au maximum par source de liquide détermine la distance de propagation du liquide. Les plages possibles sont comprises entre 0 et 8. À 0, aucun liquide ne sera créé. L'image 5 montre un liquide de gamme fluide 2 -• Viscosity: How slow players move through it and how slow the liquid spreads=• Viscosité: la vitesse à laquelle les joueurs se déplacent et la vitesse de propagation du liquide +• Renewability: Renewable liquids can create new sources=• Renouvelabilité : les liquides renouvelables peuvent créer de nouvelles sources +• Flowing range: How many flowing liquids are created at maximum per liquid source, it determines how far the liquid will spread. Possible are ranges from 0 to 8. At 0, no flowing liquids will be created. Image 5 shows a liquid of flowing range 2=• Plage d'écoulement : le nombre de liquides qui s'écoulent au maximum par source de liquide détermine la distance de propagation du liquide. Les plages possibles sont comprises entre 0 et 8. À 0, aucun liquide ne sera créé. L'image 5 montre un liquide de gamme fluide 2 +• Viscosity: How slow players move through it and how slow the liquid spreads=• Viscosité : la vitesse à laquelle les joueurs se déplacent et la vitesse de propagation du liquide Renewable liquids create new liquid sources at open spaces (image 2). A new liquid source is created when:=Les liquides renouvelables créent de nouvelles sources de liquide dans les espaces ouverts (image 2). Une nouvelle source de liquide est créée lorsque: • Two renewable liquid blocks of the same type touch each other diagonally=• Deux blocs liquides renouvelables du même type se touchent en diagonale • These blocks are also on the same height=• Ces blocs sont également à la même hauteur • One of the two “corners” is open space which allows liquids to flow in=• L'un des deux «coins» est un espace ouvert qui permet aux liquides de s'écouler When those criteria are met, the open space is filled with a new liquid source of the same type (image 3).=Lorsque ces critères sont remplis, l'espace ouvert est rempli d'une nouvelle source de liquide du même type (image 3). -Swimming in a liquid is fairly straightforward: The usual direction keys for basic movement, the jump key for rising and the sneak key for sinking.=Nager dans un liquide est assez simple: les touches de direction habituelles pour les mouvements de base, la touche de saut pour la montée et la touche furtive pour le naufrage. +Swimming in a liquid is fairly straightforward: The usual direction keys for basic movement, the jump key for rising and the sneak key for sinking.=Nager dans un liquide est assez simple : les touches de direction habituelles pour les mouvements de base, la touche de saut pour la montée et la touche furtive pour le naufrage. The physics for swimming and diving in a liquid are:=La physique pour nager et plonger dans un liquide est: • The higher the viscosity, the slower you move=• Plus la viscosité est élevée, plus vous vous déplacez lentement • If you rest, you'll slowly sink=• Si vous vous reposez, vous coulerez lentement -• There is no fall damage for falling into a liquid as such=• Il n'y a aucun dommage de chute pour tomber dans un liquide en tant que tel -• If you fall into a liquid, you will be slowed down on impact (but don't stop instantly). Your impact depth is determined by your speed and the liquid viscosity. For a safe high drop into a liquid, make sure there is enough liquid above the ground, otherwise you might hit the ground and take fall damage=• Si vous tombez dans un liquide, vous serez ralenti à l'impact (mais ne vous arrêtez pas instantanément). Votre profondeur d'impact est déterminée par votre vitesse et la viscosité du liquide. Pour une chute élevée et sûre dans un liquide, assurez-vous qu'il y a suffisamment de liquide au-dessus du sol, sinon vous pourriez toucher le sol et subir des dommages de chute +• There is no fall damage for falling into a liquid as such=• Il n'y a aucun dégât de chute pour tomber dans un liquide en tant que tel +• If you fall into a liquid, you will be slowed down on impact (but don't stop instantly). Your impact depth is determined by your speed and the liquid viscosity. For a safe high drop into a liquid, make sure there is enough liquid above the ground, otherwise you might hit the ground and take fall damage=• Si vous tombez dans un liquide, vous serez ralenti à l'impact (mais ne vous arrêtez pas instantanément). Votre profondeur d'impact est déterminée par votre vitesse et la viscosité du liquide. Pour une chute élevée et sûre dans un liquide, assurez-vous qu'il y a suffisamment de liquide au-dessus du sol, sinon vous pourriez toucher le sol et subir des dégâts de chute Liquids are often not pointable. But some special items are able to point all liquids.=Les liquides sont souvent inutiles. Mais certains objets spéciaux sont capables de pointer tous les liquides. Crafting=Artisanat Crafting is the task of combining several items to form a new item.=L'artisanat consiste à combiner plusieurs éléments pour former un nouvel élément. @@ -212,10 +212,10 @@ To complete the craft, take the result item from the output slot, which will con A description on how to craft an item is called a “crafting recipe”. You need this knowledge to craft. There are multiple ways to learn crafting recipes. One way is by using a crafting guide, which contains a list of available crafting recipes. Some games provide crafting guides. There are also some mods which you can download online for installing a crafting guide. Another way is by reading the online manual of the game (if one is available).=Une description sur la façon de fabriquer un objet est appelée "recette d'artisanat". Vous avez besoin de ces connaissances pour créer. Il existe plusieurs façons d'apprendre des recettes d'artisanat. Une façon consiste à utiliser un guide d'artisanat, qui contient une liste des recettes d'artisanat disponibles. Certains jeux proposent des guides d'artisanat. Il existe également des mods que vous pouvez télécharger en ligne pour installer un guide d'artisanat. Une autre façon consiste à lire le manuel en ligne du jeu (s'il en existe un). Crafting recipes consist of at least one input item and exactly one stack of output items. When performing a single craft, it will consume exactly one item from each stack of the crafting grid, unless the crafting recipe defines replacements.=Les recettes d'artisanat consistent en au moins un élément d'entrée et exactement une pile d'éléments de sortie. Lors de l'exécution d'un seul métier, il consommera exactement un objet de chaque pile de la grille de fabrication, à moins que la recette de fabrication ne définisse des remplacements. There are multiple types of crafting recipes:=Il existe plusieurs types de recettes d'artisanat: -• Shaped (image 2): Items need to be placed in a particular shape=• En forme (image 2): Les articles doivent être placés dans une forme particulière -• Shapeless (images 3 and 4): Items need to be placed somewhere in input (both images show the same recipe)=• Sans forme (images 3 et 4): Les éléments doivent être placés quelque part dans l'entrée (les deux images montrent la même recette) -• Cooking: Explained in “Basics > Cooking”=• Cuisine: expliquée dans "Bases> Cuisine" -• Repairing (image 5): Place two damaged tools into the crafting grid anywhere to get a tool which is repaired by 5%=• Réparation (image 5): Placez deux outils endommagés dans la grille d'artisanat n'importe où pour obtenir un outil qui est réparé de 5% +• Shaped (image 2): Items need to be placed in a particular shape=• En forme (image 2) : Les articles doivent être placés dans une forme particulière +• Shapeless (images 3 and 4): Items need to be placed somewhere in input (both images show the same recipe)=• Sans forme (images 3 et 4) : Les éléments doivent être placés quelque part dans l'entrée (les deux images montrent la même recette) +• Cooking: Explained in “Basics > Cooking”=• Cuisine : expliquée dans "Bases> Cuisine" +• Repairing (image 5): Place two damaged tools into the crafting grid anywhere to get a tool which is repaired by 5%=• Réparation (image 5) : Placez deux outils endommagés dans la grille d'artisanat n'importe où pour obtenir un outil qui est réparé de 5% In some crafting recipes, some input items do not need to be a concrete item, instead they need to be a member of a group (see “Basics > Groups”). These recipes offer a bit more freedom in the input items. Images 6-8 show the same group-based recipe. Here, 8 items of the “stone” group are required, which is true for all of the shown items.=Dans certaines recettes d'artisanat, certains éléments d'entrée n'ont pas besoin d'être un élément concret, ils doivent plutôt être membres d'un groupe (voir "Bases> Groupes"). Ces recettes offrent un peu plus de liberté dans les éléments d'entrée. Les images 6-8 montrent la même recette de groupe. Ici, 8 éléments du groupe "pierre" sont requis, ce qui est vrai pour tous les éléments affichés. Rarely, crafting recipes have replacements. This means, whenever you perform a craft, some items in the crafting grid will not be consumed, but instead will be replaced by another item.=Rarement, les recettes d'artisanat ont des remplacements. Cela signifie que chaque fois que vous effectuez un métier, certains objets de la grille de fabrication ne seront pas consommés, mais seront remplacés à la place par un autre objet. Cooking=Cuisine @@ -225,9 +225,9 @@ Each cookable item requires time to be cooked. This time is specific to the item Hotbar=Hotbar At the bottom of the screen you see some squares. This is called the “hotbar”. The hotbar allows you to quickly access the first items from your player inventory.=Au bas de l'écran, vous voyez des carrés. C'est ce qu'on appelle la "hotbar". La barre d'accès vous permet d'accéder rapidement aux premiers éléments de votre inventaire de joueur. You can change the selected item with the mouse wheel or the keyboard.=Vous pouvez modifier l'élément sélectionné avec la molette de la souris ou le clavier. -• Select previous item in hotbar: [Mouse wheel up] or [B]=• Sélectionnez l'élément précédent dans la hotbar: [Molette de la souris vers le haut] ou [B] -• Select next item in hotbar: [Mouse wheel down] or [N]=• Sélectionnez l'élément suivant dans la hotbar: [Molette de la souris vers le bas] ou [N] -• Select item in hotbar directly: [1]-[9]=• Sélectionnez l'élément dans la hotbar directement: [1]-[9] +• Select previous item in hotbar: [Mouse wheel up] or [B]=• Sélectionnez l'élément précédent dans la hotbar : [Molette de la souris vers le haut] ou [B] +• Select next item in hotbar: [Mouse wheel down] or [N]=• Sélectionnez l'élément suivant dans la hotbar : [Molette de la souris vers le bas] ou [N] +• Select item in hotbar directly: [1]-[9]=• Sélectionnez l'élément dans la hotbar directement : [1]-[9] The selected item is also your wielded item.=L'élément sélectionné est également votre élément brandi. Minimap=Mini-carte If you have a map item in any of your hotbar slots, you can use the minimap.=Si vous avez un élément de carte dans l'un de vos emplacements de hotbar vous pouvez utiliser la minicarte. @@ -237,173 +237,173 @@ Surface mode (image 1) is a top-down view of the world, roughly resembling the c Radar mode (image 2) is more complicated. It displays the “denseness” of the area around you and changes with your height. Roughly, the more green an area is, the less “dense” it is. Black areas have many blocks. Use the radar to find caverns, hidden areas, walls and more. The rectangular shapes in image 2 clearly expose the position of a dungeon.=Le mode radar (image 2) est plus compliqué. Il affiche la «densité» de la zone autour de vous et change avec votre taille. En gros, plus une zone est verte, moins elle est «dense». Les zones noires ont de nombreux blocs. Utilisez le radar pour trouver des cavernes, des zones cachées, des murs et plus encore. Les formes rectangulaires de l'image 2 révèlent clairement la position d'un donjon. There are also two different rotation modes. In “square mode”, the rotation of the minimap is fixed. If you press [Shift]+[F9] to switch to “circle mode”, the minimap will instead rotate with your looking direction, so “up” is always your looking direction.=Il existe également deux modes de rotation différents. En "mode carré", la rotation de la minicarte est fixe. Si vous appuyez sur [Shift] + [F9] pour passer en "mode cercle", la minicarte tournera à la place avec votre direction de recherche, donc "haut" est toujours votre direction de recherche. In some games, the minimap may be disabled.=Dans certains jeux, la minicarte peut être désactivée. -• Toggle minimap mode: [F9]=• Basculer le mode mini-carte: [F9] -• Toggle minimap rotation mode: [Shift]+[F9]=• Basculer le mode de rotation de la mini-carte: [Shift]+[F9] +• Toggle minimap mode: [F9]=• Basculer le mode mini-carte : [F9] +• Toggle minimap rotation mode: [Shift]+[F9]=• Basculer le mode de rotation de la mini-carte : [Shift]+[F9] Inventory=Inventaire Inventories are used to store item stacks. There are other uses, such as crafting. An inventory consists of a rectangular grid of item slots. Each item slot can either be empty or hold one item stack. Item stacks can be moved freely between most slots.=Les stocks sont utilisés pour stocker des piles d'articles. Il existe d'autres utilisations, telles que l'artisanat. Un inventaire se compose d'une grille rectangulaire d'emplacements d'objets. Chaque emplacement d'objet peut être vide ou contenir une pile d'objets. Les piles d'objets peuvent être déplacées librement entre la plupart des emplacements. -You have your own inventory which is called your “player inventory”, you can open it with the inventory key (default: [I]). The first inventory slots are also used as slots in your hotbar.=Vous avez votre propre inventaire qui s'appelle votre "inventaire de joueur", vous pouvez l'ouvrir avec la touche d'inventaire (par défaut: [I]). Les premiers emplacements d'inventaire sont également utilisés comme emplacements dans votre hotbar. +You have your own inventory which is called your “player inventory”, you can open it with the inventory key (default: [I]). The first inventory slots are also used as slots in your hotbar.=Vous avez votre propre inventaire qui s'appelle votre "inventaire de joueur", vous pouvez l'ouvrir avec la touche d'inventaire (par défaut : [I]). Les premiers emplacements d'inventaire sont également utilisés comme emplacements dans votre hotbar. Blocks can also have their own inventory, e.g. chests and furnaces.=Les blocs peuvent également avoir leur propre inventaire, par exemple coffres et fours. Inventory controls:=Contrôles d'inventaire: -Taking: You can take items from an occupied slot if the cursor holds nothing.=Prendre: vous pouvez prendre des objets dans un emplacement occupé si le curseur ne contient rien. -• Left click: take entire item stack=• Clic gauche: Prendre toute la pile d'objets -• Right click: take half from the item stack (rounded up)=• Clic droit: Prendre la moitié de la pile d'objets (arrondi vers le haut) -• Middle click: take 10 items from the item stack=• Clic du milieu: Prenez 10 objets de la pile d'objets -• Mouse wheel down: take 1 item from the item stack=• Molette de la souris vers le bas: Prenez 1 objet de la pile d'objets -Putting: You can put items onto a slot if the cursor holds 1 or more items and the slot is either empty or contains an item stack of the same item type.=Placer: Vous pouvez placer des objets dans un emplacement si le curseur contient un ou plusieurs objets et que l'emplacement est vide ou contient une pile d'objets du même type d'objet. -• Left click: put entire item stack=• Clic gauche: Mettre toute la pile d'objets -• Right click: put 1 item of the item stack=• Clic droit: Mettre 1 élément de la pile d'objets -• Right click or mouse wheel up: put 1 item of the item stack=• Clic droit ou roulette de la souris vers le haut: Placez 1 article dans la pile d'objets -• Middle click: put 10 items of the item stack=• Clic du milieu: Mettez 10 objets dans la pile d'objets -Exchanging: You can exchange items if the cursor holds 1 or more items and the destination slot is occupied by a different item type.=Échange: vous pouvez échanger des objets si le curseur contient un ou plusieurs objets et que l'emplacement de destination est occupé par un type d'objet différent. -• Click: exchange item stacks=• Cliquez: Echangez les piles d'articles -Throwing away: If you hold an item stack and click with it somewhere outside the menu, the item stack gets thrown away into the environment.=Jeter: Si vous maintenez une pile d'objets et cliquez avec elle quelque part en dehors du menu, la pile d'objets est jetée dans l'environnement. -Quick transfer: You can quickly transfer an item stack to/from the player inventory to/from another item's inventory slot like a furnace, chest, or any other item with an inventory slot when that item's inventory is accessed. The target inventory is generally the most relevant inventory in this context.=Transfert rapide: vous pouvez rapidement transférer une pile d'objets vers / depuis l'inventaire du joueur vers / depuis l'emplacement d'inventaire d'un autre objet comme un four, un coffre ou tout autre élément avec un emplacement d'inventaire lorsque l'inventaire de cet article est accessible. L'inventaire cible est généralement l'inventaire le plus pertinent dans ce contexte. -• Sneak+Left click: Automatically transfer item stack=• Faufiler+clic gauche: transférer automatiquement la pile d'objets +Taking: You can take items from an occupied slot if the cursor holds nothing.=Prendre : vous pouvez prendre des objets dans un emplacement occupé si le curseur ne contient rien. +• Left click: take entire item stack=• Clic gauche : Prendre toute la pile d'objets +• Right click: take half from the item stack (rounded up)=• Clic droit : Prendre la moitié de la pile d'objets (arrondi vers le haut) +• Middle click: take 10 items from the item stack=• Clic du milieu : Prenez 10 objets de la pile d'objets +• Mouse wheel down: take 1 item from the item stack=• Molette de la souris vers le bas : Prenez 1 objet de la pile d'objets +Putting: You can put items onto a slot if the cursor holds 1 or more items and the slot is either empty or contains an item stack of the same item type.=Placer : Vous pouvez placer des objets dans un emplacement si le curseur contient un ou plusieurs objets et que l'emplacement est vide ou contient une pile d'objets du même type d'objet. +• Left click: put entire item stack=• Clic gauche : Mettre toute la pile d'objets +• Right click: put 1 item of the item stack=• Clic droit : Mettre 1 élément de la pile d'objets +• Right click or mouse wheel up: put 1 item of the item stack=• Clic droit ou roulette de la souris vers le haut : Placez 1 article dans la pile d'objets +• Middle click: put 10 items of the item stack=• Clic du milieu : Mettez 10 objets dans la pile d'objets +Exchanging: You can exchange items if the cursor holds 1 or more items and the destination slot is occupied by a different item type.=Échange : vous pouvez échanger des objets si le curseur contient un ou plusieurs objets et que l'emplacement de destination est occupé par un type d'objet différent. +• Click: exchange item stacks=• Cliquez : Echangez les piles d'articles +Throwing away: If you hold an item stack and click with it somewhere outside the menu, the item stack gets thrown away into the environment.=Jeter : Si vous maintenez une pile d'objets et cliquez avec elle quelque part en dehors du menu, la pile d'objets est jetée dans l'environnement. +Quick transfer: You can quickly transfer an item stack to/from the player inventory to/from another item's inventory slot like a furnace, chest, or any other item with an inventory slot when that item's inventory is accessed. The target inventory is generally the most relevant inventory in this context.=Transfert rapide : vous pouvez rapidement transférer une pile d'objets vers / depuis l'inventaire du joueur vers / depuis l'emplacement d'inventaire d'un autre objet comme un four, un coffre ou tout autre élément avec un emplacement d'inventaire lorsque l'inventaire de cet article est accessible. L'inventaire cible est généralement l'inventaire le plus pertinent dans ce contexte. +• Sneak+Left click: Automatically transfer item stack=• Faufiler+clic gauche : transférer automatiquement la pile d'objets Online help=Aide en ligne You may want to check out these online resources related to MineClone 2.=Vous voudrez peut-être consulter ces ressources en ligne liées à MineClone 2. -MineClone 2 download and forum discussion: =Téléchargement de MineClone 2 et discussion sur le forum: +MineClone 2 download and forum discussion: =Téléchargement de MineClone 2 et discussion sur le forum : Here you find the most recent version of MineClone 2 and can discuss it.=Vous trouverez ici la version la plus récente de MineClone 2 et pouvez en discuter. -Bug tracker: =Suivi des bogues: +Bug tracker: =Suivi des bogues : Report bugs here.=Signalez les bugs ici. Minetest links:=Liens Minetest: You may want to check out these online resources related to Minetest:=Vous voudrez peut-être consulter ces ressources en ligne liées à Minetest: -Official homepage of Minetest: =Page d'accueil officielle de Minetest: +Official homepage of Minetest: =Page d'accueil officielle de Minetest : The main place to find the most recent version of Minetest, the engine used by MineClone 2.=L'endroit principal pour trouver la version la plus récente de Minetest, le moteur utilisé par MineClone 2. The main place to find the most recent version of Minetest.=L'endroit principal pour trouver la version la plus récente de Minetest. -Community wiki: =Wiki de la communauté: +Community wiki: =Wiki de la communauté : A community-based documentation website for Minetest. Anyone with an account can edit it! It also features a documentation of Minetest Game.=Un site Web de documentation communautaire pour Minetest. N'importe qui avec un compte peut le modifier! C'est aussi une documentation pour Minetest. -Minetest forums: =Forums de minetest: +Minetest forums: =Forums de minetest : A web-based discussion platform where you can discuss everything related to Minetest. This is also a place where player-made mods and games are published and discussed. The discussions are mainly in English, but there is also space for discussion in other languages.=Une plate-forme de discussion en ligne où vous pouvez discuter de tout ce qui concerne Minetest. C'est également un endroit où les mods et les jeux créés par les joueurs sont publiés et discutés. Les discussions se déroulent principalement en anglais, mais il existe également un espace de discussion dans d'autres langues. -Chat: =Chat: +Chat: =Chat : A generic Internet Relay Chat channel for everything related to Minetest where people can meet to discuss in real-time. If you do not understand IRC, see the Community Wiki for help.=Un canal de discussion générique pour tout ce qui concerne le Minetest où les gens peuvent se rencontrer pour discuter en temps réel. Si vous ne comprenez pas IRC, consultez le wiki de la communauté pour obtenir de l'aide. Groups=Groupes Items, players and objects (animate and inanimate) can be members of any number of groups. Groups serve multiple purposes:=Les objets, les joueurs et les objets (animés et inanimés) peuvent être membres de plusieurs de groupes. Les groupes ont plusieurs objectifs: -• Crafting recipes: Slots in a crafting recipe may not require a specific item, but instead an item which is a member of a particular group, or multiple groups=• Recettes d'artisanat: Les emplacements d'une recette d'artisanat peuvent ne pas nécessiter un élément spécifique, mais plutôt un élément qui est membre d'un groupe particulier ou de plusieurs groupes. -• Digging times: Diggable blocks belong to groups which are used to determine digging times. Mining tools are capable of digging blocks belonging to certain groups=• Temps de creusement: Les blocs pouvant être creusés appartiennent à des groupes qui sont utilisés pour déterminer les temps de creusement. Les outils miniers sont capables de creuser des blocs appartenant à certains groupes -• Block behavior: Blocks may show a special behaviour and interact with other blocks when they belong to a particular group=• Comportement des blocs: Les blocs peuvent présenter un comportement spécial et interagir avec d'autres blocs lorsqu'ils appartiennent à un groupe particulier -• Damage and armor: Objects and players have armor groups, weapons have damage groups. These groups determine damage. See also: “Basics > Weapons”=• Dommages et armures: Les objets et les joueurs ont des groupes d'armures, les armes ont des groupes de dégâts. Ces groupes déterminent les dommages. Voir aussi: "Bases> Armes" +• Crafting recipes: Slots in a crafting recipe may not require a specific item, but instead an item which is a member of a particular group, or multiple groups=• Recettes d'artisanat : Les emplacements d'une recette d'artisanat peuvent ne pas nécessiter un élément spécifique, mais plutôt un élément qui est membre d'un groupe particulier ou de plusieurs groupes. +• Digging times: Diggable blocks belong to groups which are used to determine digging times. Mining tools are capable of digging blocks belonging to certain groups=• Temps de creusement : Les blocs pouvant être creusés appartiennent à des groupes qui sont utilisés pour déterminer les temps de creusement. Les outils miniers sont capables de creuser des blocs appartenant à certains groupes +• Block behavior: Blocks may show a special behaviour and interact with other blocks when they belong to a particular group=• Comportement des blocs : Les blocs peuvent présenter un comportement spécial et interagir avec d'autres blocs lorsqu'ils appartiennent à un groupe particulier +• Damage and armor: Objects and players have armor groups, weapons have damage groups. These groups determine damage. See also: “Basics > Weapons”=• Dégâts et armures : Les objets et les joueurs ont des groupes d'armures, les armes ont des groupes de dégâts. Ces groupes déterminent les dégâts. Voir aussi : "Bases> Armes" • Other uses=• Autres utilisations In the item help, many important groups are usually mentioned and explained.=Dans l'aide aux objets, de nombreux groupes importants sont généralement mentionnés et expliqués. Glossary=Glossaire This is a list of commonly used terms:=Voici une liste de termes couramment utilisés: Controls:=Les contrôles: -• Wielding: Holding an item in hand=• Maniement: Tenir un objet en main -• Pointing: Looking with the crosshair at something in range=• Pointage: Regarder avec le réticule quelque chose à portée -• Dropping: Throwing an item or item stack to the ground=• Lâcher: Jeter un objet ou une pile d'objets au sol -• Punching: Attacking with left-click, is also used on blocks=• Frapper: Attaque avec clic gauche, est également utilisé sur les blocs -• Sneaking: Walking slowly while (usually) avoiding to fall over edges=• Se faufiler: Marcher lentement tout en évitant (généralement) de tomber sur les bords -• Climbing: Moving up or down a climbable block=• Escalade: Monter ou descendre un bloc grimpable +• Wielding: Holding an item in hand=• Maniement : Tenir un objet en main +• Pointing: Looking with the crosshair at something in range=• Pointage : Regarder avec le réticule quelque chose à portée +• Dropping: Throwing an item or item stack to the ground=• Lâcher : Jeter un objet ou une pile d'objets au sol +• Punching: Attacking with left-click, is also used on blocks=• Frapper : Attaque avec clic gauche, est également utilisé sur les blocs +• Sneaking: Walking slowly while (usually) avoiding to fall over edges=• Se faufiler : Marcher lentement tout en évitant (généralement) de tomber sur les bords +• Climbing: Moving up or down a climbable block=• Escalade : Monter ou descendre un bloc grimpable Blocks:=Blocs: -• Block: Cubes that the worlds are made of=• Bloc: Cubes dont les mondes sont faits -• Mining/digging: Using a mining tool to break a block=• Exploration/minage: Utilisation d'un outil d'exploration pour casser un bloc -• Building/placing: Putting a block somewhere=• Construction/Placement: Placer un bloc quelque part -• Drop: Items you get after mining a block=• Drop: Les objets que vous obtenez après avoir extrait un bloc -• Using a block: Right-clicking a block to access its special function=• Utilisation d'un bloc: Clic droit sur un bloc pour accéder à sa fonction spéciale +• Block: Cubes that the worlds are made of=• Bloc : Cubes dont les mondes sont faits +• Mining/digging: Using a mining tool to break a block=• Exploration/minage : Utilisation d'un outil d'exploration pour casser un bloc +• Building/placing: Putting a block somewhere=• Construction/Placement : Placer un bloc quelque part +• Drop: Items you get after mining a block=• Drop : Les objets que vous obtenez après avoir extrait un bloc +• Using a block: Right-clicking a block to access its special function=• Utilisation d'un bloc : Clic droit sur un bloc pour accéder à sa fonction spéciale Items:=Objects: -• Item: A single thing that players can possess=• Objet: Une seule chose que les joueurs peuvent posséder -• Item stack: A collection of items of the same kind=• Pile d'objets: Une collection d'objets du même type -• Maximum stack size: Maximum amount of items in an item stack=• Taille maximale de la pile: Quantité maximale d'éléments dans une pile d'éléments -• Slot / inventory slot: Can hold one item stack=• Emplacement/Emplacement d'inventaire: Peut contenir une pile d'objets -• Inventory: Provides several inventory slots for storage=• Inventaire: Fournit plusieurs emplacements d'inventaire pour le stockage -• Player inventory: The main inventory of a player=• Inventaire des joueurs: L'inventaire principal d'un joueur -• Tool: An item which you can use to do special things with when wielding=• Outil: Un élément que vous pouvez utiliser pour faire des choses spéciales avec lors du soudage -• Range: How far away things can be to be pointed by an item=• Plage: A quelle distance les objets peuvent être pointés par un élément -• Mining tool: A tool which allows to break blocks=• Outil minier: Un outil qui permet de casser des blocs -• Craftitem: An item which is (primarily or only) used for crafting=• Composant: Un objet qui est (principalement ou uniquement) utilisé pour l'artisanat +• Item: A single thing that players can possess=• Objet : Une seule chose que les joueurs peuvent posséder +• Item stack: A collection of items of the same kind=• Pile d'objets : Une collection d'objets du même type +• Maximum stack size: Maximum amount of items in an item stack=• Taille maximale de la pile : Quantité maximale d'éléments dans une pile d'éléments +• Slot / inventory slot: Can hold one item stack=• Emplacement/Emplacement d'inventaire : Peut contenir une pile d'objets +• Inventory: Provides several inventory slots for storage=• Inventaire : Fournit plusieurs emplacements d'inventaire pour le stockage +• Player inventory: The main inventory of a player=• Inventaire des joueurs : L'inventaire principal d'un joueur +• Tool: An item which you can use to do special things with when wielding=• Outil : Un élément que vous pouvez utiliser pour faire des choses spéciales avec lors du soudage +• Range: How far away things can be to be pointed by an item=• Plage : A quelle distance les objets peuvent être pointés par un élément +• Mining tool: A tool which allows to break blocks=• Outil minier : Un outil qui permet de casser des blocs +• Craftitem: An item which is (primarily or only) used for crafting=• Composant : Un objet qui est (principalement ou uniquement) utilisé pour l'artisanat Gameplay:=Gameplay: -• “heart”: A single health symbol, indicates 2 HP=• "coeur": Un seul symbole de santé, indique 2 PV -• “bubble”: A single breath symbol, indicates 1 BP=• "bulle": Un symbole de respiration unique, indique 1 BP -• HP: Hit point (equals half 1 “heart”)=• VP: point de vie (équivaut à un demi-«coeur») -• BP: Breath point, indicates breath when diving=• BP: Point de respiration, indique la respiration lors de la plongée -• Mob: Computer-controlled enemy=• Mob: Ennemi contrôlé par ordinateur -• Crafting: Combining multiple items to create new ones=• Artisanat: Combiner plusieurs objets pour en créer de nouveaux -• Crafting guide: A helper which shows available crafting recipes=• Guide d'artisanat: Un assistant qui montre les recettes d'artisanat disponibles -• Spawning: Appearing in the world=• Reproduction: Apparaissant dans le monde -• Respawning: Appearing again in the world after death=• Réapparition: Réapparaître dans le monde après la mort -• Group: Puts similar things together, often affects gameplay=• Groupe: Rassemble des choses similaires, affecte souvent le gameplay -• noclip: Allows to fly through walls=• noclip: Permet de voler à travers les murs +• “heart”: A single health symbol, indicates 2 HP=• "cœur" : Un seul symbole de santé, indique 2 PV +• “bubble”: A single breath symbol, indicates 1 BP=• "bulle" : Un symbole de respiration unique, indique 1 BP +• HP: Hit point (equals half 1 “heart”)=• PV : point de vie (équivaut à un demi-«cœur») +• BP: Breath point, indicates breath when diving=• BP : Point de respiration, indique la respiration lors de la plongée +• Mob: Computer-controlled enemy=• Mob : Ennemi contrôlé par ordinateur +• Crafting: Combining multiple items to create new ones=• Artisanat : Combiner plusieurs objets pour en créer de nouveaux +• Crafting guide: A helper which shows available crafting recipes=• Guide d'artisanat : Un assistant qui montre les recettes d'artisanat disponibles +• Spawning: Appearing in the world=• Reproduction : Apparaissant dans le monde +• Respawning: Appearing again in the world after death=• Réapparition : Réapparaître dans le monde après la mort +• Group: Puts similar things together, often affects gameplay=• Groupe : Rassemble des choses similaires, affecte souvent le gameplay +• noclip: Allows to fly through walls=• noclip : Permet de voler à travers les murs Interface=Interface -• Hotbar: Inventory slots at the bottom=• Hotbar: Emplacements d'inventaire en bas -• Statbar: Indicator made out of half-symbols, used for health and breath=• Statbar: Indicateur composé de demi-symboles, utilisé pour la santé et la respiration -• Minimap: The map or radar at the top right=• Mini-carte: La carte ou le radar en haut à droite -• Crosshair: Seen in the middle, used to point at things=• Réticule: Vu au milieu, utilisé pour pointer les choses +• Hotbar: Inventory slots at the bottom=• Hotbar : Emplacements d'inventaire en bas +• Statbar: Indicator made out of half-symbols, used for health and breath=• Statbar : Indicateur composé de demi-symboles, utilisé pour la santé et la respiration +• Minimap: The map or radar at the top right=• Mini-carte : La carte ou le radar en haut à droite +• Crosshair: Seen in the middle, used to point at things=• Réticule : Vu au milieu, utilisé pour pointer les choses Online multiplayer:=Multijoueur en ligne: -• PvP: Player vs Player. If active, players can deal damage to each other=• PvP: Joueur contre Joueur. S'ils sont actifs, les joueurs peuvent s'infliger mutuellement des dégâts -• Griefing: Destroying the buildings of other players against their will=• Deuil: Détruire les bâtiments des autres joueurs contre leur gré -• Protection: Mechanism to own areas of the world, which only allows the owners to modify blocks inside=• Protection: Mécanisme pour posséder des zones du monde, qui permet uniquement aux propriétaires de modifier les blocs à l'intérieur +• PvP: Player vs Player. If active, players can deal damage to each other=• PvP : Joueur contre Joueur. S'ils sont actifs, les joueurs peuvent s'infliger mutuellement des dégâts +• Griefing: Destroying the buildings of other players against their will=• Deuil : Détruire les bâtiments des autres joueurs contre leur gré +• Protection: Mechanism to own areas of the world, which only allows the owners to modify blocks inside=• Protection : Mécanisme pour posséder des zones du monde, qui permet uniquement aux propriétaires de modifier les blocs à l'intérieur Technical terms:=Termes techniques: -• Minetest: This game engine=• Minetest: Ce moteur de jeu -• MineClone 2: What you play right now=• MineClone 2: Ce que vous jouez en ce moment -• Minetest Game: A game for Minetest by the Minetest developers=• Minetest Game: Un jeu pour Minetest par les développeurs de Minetest -• Game: A complete playing experience to be used in Minetest; such as a game or sandbox or similar=• Jeu: Une expérience de jeu complète à utiliser dans Minetest; comme un jeu ou un bac à sable ou similaire -• Mod: A single subsystem which adds or modifies functionality; is the basic building block of games and can be used to further enhance or modify them=• Mod: un sous-système unique qui ajoute ou modifie des fonctionnalités; est le bloc de construction de base des jeux et peut être utilisé pour les améliorer ou les modifier davantage -• Privilege: Allows a player to do something=• Privilège: Permet à un joueur de faire quelque chose -• Node: Other word for “block”=• Noeud: Autre mot pour "bloc" +• Minetest: This game engine=• Minetest : Ce moteur de jeu +• MineClone 2: What you play right now=• MineClone 2 : Ce à quoi vous jouez en ce moment +• Minetest Game: A game for Minetest by the Minetest developers=• Minetest Game : Un jeu pour Minetest par les développeurs de Minetest +• Game: A complete playing experience to be used in Minetest; such as a game or sandbox or similar=• Jeu : Une expérience de jeu complète à utiliser dans Minetest; comme un jeu ou un bac à sable ou similaire +• Mod: A single subsystem which adds or modifies functionality; is the basic building block of games and can be used to further enhance or modify them=• Mod : un sous-système unique qui ajoute ou modifie des fonctionnalités; est le bloc de construction de base des jeux et peut être utilisé pour les améliorer ou les modifier davantage +• Privilege: Allows a player to do something=• Privilège : Permet à un joueur de faire quelque chose +• Node: Other word for “block”=• Noeud : Autre mot pour "bloc" Settings=Réglages There is a large variety of settings to configure Minetest. Pretty much every aspect can be changed that way.=Il existe une grande variété de paramètres pour configurer Minetest. Presque tous les aspects peuvent être modifiés de cette façon. -These are a few of the most important gameplay settings:=Voici quelques-uns des paramètres de jeu les plus importants: -• Damage enabled (enable_damage): Enables the health and breath attributes for all players. If disabled, players are immortal=• Dommage activé (enable_damage): Active les attributs de santé et de souffle pour tous les joueurs. Si désactivé, les joueurs sont immortels -• Creative Mode (creative_mode): Enables sandbox-style gameplay focusing on creativity rather than a challenging gameplay. The meaning depends on the game; usual changes are: Reduced dig times, easy access to almost all items, tools never wear off, etc.=• Mode créatif (creative_mode): permet un gameplay de style sandbox en se concentrant sur la créativité plutôt que sur un gameplay difficile. Le sens dépend du jeu; les changements habituels sont: temps de fouille réduits, accès facile à presque tous les articles, les outils ne s'usent jamais, etc. -• PvP (enable_pvp): Short for “Player vs Player”. If enabled, players can deal damage to each other=• PvP (enable_pvp): Abréviation de «Player vs Player». Si activé, les joueurs peuvent s'infliger mutuellement des dégâts +These are a few of the most important gameplay settings:=Voici quelques-uns des paramètres de jeu les plus importants : +• Damage enabled (enable_damage): Enables the health and breath attributes for all players. If disabled, players are immortal=• Dégât activé (enable_damage) : Active les attributs de santé et de souffle pour tous les joueurs. Si désactivé, les joueurs sont immortels +• Creative Mode (creative_mode): Enables sandbox-style gameplay focusing on creativity rather than a challenging gameplay. The meaning depends on the game; usual changes are: Reduced dig times, easy access to almost all items, tools never wear off, etc.=• Mode créatif (creative_mode) : permet un gameplay de style sandbox en se concentrant sur la créativité plutôt que sur un gameplay difficile. Le sens dépend du jeu ; les changements habituels sont : temps de fouille réduits, accès facile à presque tous les articles, les outils ne s'usent jamais, etc. +• PvP (enable_pvp): Short for “Player vs Player”. If enabled, players can deal damage to each other=• PvP (enable_pvp) : Abréviation de «Player vs Player». Si activé, les joueurs peuvent s'infliger mutuellement des dégâts For a full list of all available settings, use the “All Settings” dialog in the main menu.=Pour une liste complète de tous les paramètres disponibles, utilisez la boîte de dialogue "Tous les Paramètres" dans le menu principal. Movement modes=Modes de mouvement You can enable some special movement modes that change how you move.=Vous pouvez activer certains modes de déplacement spéciaux qui modifient votre façon de vous déplacer. -Pitch movement mode:=Mode de mouvement de tangage: -• Description: If this mode is activated, the movement keys will move you relative to your current view pitch (vertical look angle) when you're in a liquid or in fly mode.=• Description: Si ce mode est activé, les touches de déplacement vous déplaceront par rapport à votre hauteur de vue actuelle (angle de vue vertical) lorsque vous êtes en mode liquide ou en mode vol. -• Default key: [L]=• Touche par défaut: [L] +Pitch movement mode:=Mode de mouvement de tangage : +• Description: If this mode is activated, the movement keys will move you relative to your current view pitch (vertical look angle) when you're in a liquid or in fly mode.=• Description : Si ce mode est activé, les touches de déplacement vous déplaceront par rapport à votre hauteur de vue actuelle (angle de vue vertical) lorsque vous êtes en mode liquide ou en mode vol. +• Default key: [L]=• Touche par défaut : [L] • No privilege required=• Aucun privilège requis Fast mode:=Mode Rapide: • Description: Allows you to move much faster. Hold down the the “Use” key [E] to move faster. In the client configuration, you can further customize fast mode.=• Description: vous permet de vous déplacer beaucoup plus rapidement. Maintenez la touche "Utiliser" [E] enfoncée pour vous déplacer plus rapidement. Dans la configuration du client, vous pouvez personnaliser davantage le mode rapide. -• Default key: [J]=• Touche par défaut: [J] -• Required privilege: fast=• Privilège requis: fast +• Default key: [J]=• Touche par défaut : [J] +• Required privilege: fast=• Privilège requis : fast Fly mode:=Mode Vol: • Description: Gravity doesn't affect you and you can move freely in all directions. Use the jump key to rise and the sneak key to sink.=• Description: La gravité ne vous affecte pas et vous pouvez vous déplacer librement dans toutes les directions. Utilisez la touche de saut pour monter et la touche de sneak pour descendre. -• Default key: [K]=• Touche par défaut: [K] -• Required privilege: fly=• Privilège requis: fly +• Default key: [K]=• Touche par défaut : [K] +• Required privilege: fly=• Privilège requis : fly Noclip mode:=Mode Noclip: • Description: Allows you to move through walls. Only works when fly mode is enabled, too.=• Description: vous permet de vous déplacer à travers les murs. Fonctionne uniquement lorsque le mode avion est également activé. -• Default key: [H]=• Touche par défaut: [H] -• Required privilege: noclip=• Privilège requis: noclip +• Default key: [H]=• Touche par défaut : [H] +• Required privilege: noclip=• Privilège requis : noclip Console=Console With [F10] you can open and close the console. The main use of the console is to show the chat log and enter chat messages or server commands.=Avec [F10], vous pouvez ouvrir et fermer la console. L'utilisation principale de la console est d'afficher le journal de discussion et d'entrer des messages de discussion ou des commandes de serveur. Using the chat or server command key also opens the console, but it is smaller and will be closed after you sent a message.=L'utilisation de la touche de commande chat ou serveur ouvre également la console, mais elle est plus petite et sera fermée après l'envoi d'un message. Use the chat to communicate with other players. This requires you to have the “shout” privilege.=Utilisez le chat pour communiquer avec d'autres joueurs. Cela vous oblige à avoir le privilège "shout". Just type in the message and hit [Enter]. Public chat messages can not begin with “/”.=Tapez simplement le message et appuyez sur [Entrée]. Les messages de discussion publique ne peuvent pas commencer par "/". -You can send private messages: Say “/msg ” in chat to send “” which can only be seen by .=Vous pouvez envoyer des messages privés: Dites "/msg " dans le chat pour envoyer "" qui ne peut être vu que par . +You can send private messages: Say “/msg ” in chat to send “” which can only be seen by .=Vous pouvez envoyer des messages privés : Dites "/msg " dans le chat pour envoyer "" qui ne peut être vu que par . There are some special controls for the console:=Il existe des commandes spéciales pour la console: -• [F10] Open/close console=• [F10]: Ouvrir/fermer la console -• [Enter]: Send message or command=• [Entrée]: Envoyer un message ou une commande -• [Tab]: Try to auto-complete a partially-entered player name=• [Tab]: Essayez de compléter automatiquement un nom de joueur partiellement entré -• [Ctrl]+[Left]: Move cursor to the beginning of the previous word=• [Ctrl]+[Gauche]: Déplacer le curseur au début du mot précédent -• [Ctrl]+[Right]: Move cursor to the beginning of the next word=• [Ctrl]+[Droite]: Déplacez le curseur au début du mot suivant -• [Ctrl]+[Backspace]: Delete previous word=• [Ctrl]+[Retour arrière]: Supprimer le mot précédent -• [Ctrl]+[Delete]: Delete next word=• [Ctrl]+[Supprimer]: Supprimer le mot suivant -• [Ctrl]+[U]: Delete all text before the cursor=• [Ctrl]+[U]: Supprimer tout le texte avant le curseur -• [Ctrl]+[K]: Delete all text after the cursor=• [Ctrl]+[K]: Supprimer tout le texte après le curseur -• [Page up]: Scroll up=• [Page précédente]: Faites défiler vers le haut -• [Page down]: Scroll down=• [Page suivante]: Faites défiler vers le bas +• [F10] Open/close console=• [F10] : Ouvrir/fermer la console +• [Enter]: Send message or command=• [Entrée] : Envoyer un message ou une commande +• [Tab]: Try to auto-complete a partially-entered player name=• [Tab] : Essayez de compléter automatiquement un nom de joueur partiellement entré +• [Ctrl]+[Left]: Move cursor to the beginning of the previous word=• [Ctrl]+[Gauche] : Déplacer le curseur au début du mot précédent +• [Ctrl]+[Right]: Move cursor to the beginning of the next word=• [Ctrl]+[Droite] : Déplacez le curseur au début du mot suivant +• [Ctrl]+[Backspace]: Delete previous word=• [Ctrl]+[Retour arrière] : Supprimer le mot précédent +• [Ctrl]+[Delete]: Delete next word=• [Ctrl]+[Supprimer] : Supprimer le mot suivant +• [Ctrl]+[U]: Delete all text before the cursor=• [Ctrl]+[U] : Supprimer tout le texte avant le curseur +• [Ctrl]+[K]: Delete all text after the cursor=• [Ctrl]+[K] : Supprimer tout le texte après le curseur +• [Page up]: Scroll up=• [Page précédente] : Faites défiler vers le haut +• [Page down]: Scroll down=• [Page suivante] : Faites défiler vers le bas There is also an input history. Minetest saves your previous console inputs which you can quickly access later:=Il existe également un historique des entrées. Minetest enregistre vos entrées de console précédentes auxquelles vous pouvez accéder rapidement plus tard: -• [Up]: Go to previous entry in history=• [Haut]: Aller à l'entrée précédente de l'historique -• [Down]: Go to next entry in history=• [Bas]: Passer à la prochaine entrée de l'historique +• [Up]: Go to previous entry in history=• [Haut] : Aller à l'entrée précédente de l'historique +• [Down]: Go to next entry in history=• [Bas] : Passer à la prochaine entrée de l'historique Server commands=Commandes serveur Server commands (also called “chat commands”) are little helpers for advanced users. You don't need to use these commands when playing. But they might come in handy to perform some more technical tasks. Server commands work both in multi-player and single-player mode.=Les commandes serveur (également appelées "commandes de chat") sont de petites aides pour les utilisateurs avancés. Vous n'avez pas besoin d'utiliser ces commandes lors du jeu. Mais elles pourraient être utiles pour effectuer des tâches plus techniques. Les commandes du serveur fonctionnent à la fois en mode multi-joueurs et solo. Server commands can be entered by players using the chat to perform a special server action. There are a few commands which can be issued by everyone, but some commands only work if you have certain privileges granted on the server. There is a small set of basic commands which are always available, other commands can be added by mods.=Les commandes du serveur peuvent être saisies par les joueurs utilisant le chat pour effectuer une action spéciale du serveur. Il y a quelques commandes qui peuvent être émises par tout le monde, mais certaines commandes ne fonctionnent que si vous avez certains privilèges accordés sur le serveur. Il y a un petit ensemble de commandes de base qui sont toujours disponibles, d'autres commandes peuvent être ajoutées par des mods. -To issue a command, simply type it like a chat message or press Minetest's command key (default: [/]). All commands have to begin with “/”, for example “/mods”. The Minetest command key does the same as the chat key, except that the slash is already entered.=Pour lancer une commande, tapez-la simplement comme un message de discussion ou appuyez sur la touche de commande de Minetest (par défaut: [/]). Toutes les commandes doivent commencer par "/", par exemple "/mods". La touche de commande Minetest fait la même chose que la touche de conversation, sauf que la barre oblique est déjà entrée. -Commands may or may not give a response in the chat log, but errors will generally be shown in the chat. Try it for yourselves: Close this window and type in the “/mods” command. This will give you the list of available mods on this server.=Les commandes peuvent ou non donner une réponse dans le journal de discussion, mais les erreurs seront généralement affichées dans la discussion. Essayez-le par vous-même: Fermez cette fenêtre et tapez la commande "/mods". Cela vous donnera la liste des mods disponibles sur ce serveur. -“/help all” is a very important command: You get a list of all available commands on the server, a short explanation and the allowed parameters. This command is also important because the available commands often differ per server.="/Help all" est une commande très importante: vous obtenez une liste de toutes les commandes disponibles sur le serveur, une brève explication et les paramètres autorisés. Cette commande est également importante car les commandes disponibles diffèrent souvent selon le serveur. +To issue a command, simply type it like a chat message or press Minetest's command key (default: [/]). All commands have to begin with “/”, for example “/mods”. The Minetest command key does the same as the chat key, except that the slash is already entered.=Pour lancer une commande, tapez-la simplement comme un message de discussion ou appuyez sur la touche de commande de Minetest (par défaut : [/]). Toutes les commandes doivent commencer par "/", par exemple "/mods". La touche de commande Minetest fait la même chose que la touche de conversation, sauf que la barre oblique est déjà entrée. +Commands may or may not give a response in the chat log, but errors will generally be shown in the chat. Try it for yourselves: Close this window and type in the “/mods” command. This will give you the list of available mods on this server.=Les commandes peuvent ou non donner une réponse dans le journal de discussion, mais les erreurs seront généralement affichées dans la discussion. Essayez-le par vous-même : Fermez cette fenêtre et tapez la commande "/mods". Cela vous donnera la liste des mods disponibles sur ce serveur. +“/help all” is a very important command: You get a list of all available commands on the server, a short explanation and the allowed parameters. This command is also important because the available commands often differ per server.="/Help all" est une commande très importante : vous obtenez une liste de toutes les commandes disponibles sur le serveur, une brève explication et les paramètres autorisés. Cette commande est également importante car les commandes disponibles diffèrent souvent selon le serveur. Commands are followed by zero or more parameters.=Les commandes sont suivies de zéro ou plusieurs paramètres. In the command reference, you see some placeholders which you need to replace with an actual value. Here's an explanation:=Dans la référence de commande, vous voyez des espaces réservés que vous devez remplacer par une valeur réelle. Voici une explication: -• Text in greater-than and lower-than signs (e.g. “”): Placeholder for a parameter=• Texte en signes supérieur à et inférieur à (par exemple «»): Espace réservé pour un paramètre +• Text in greater-than and lower-than signs (e.g. “”): Placeholder for a parameter=• Texte en signes supérieur à et inférieur à (par exemple «») : Espace réservé pour un paramètre • Anything in square brackets (e.g. “[text]”) is optional and can be omitted=• Tout ce qui est entre crochets (par exemple «[texte]») est facultatif et peut être omis -• Pipe or slash (e.g. “text1 | text2 | text3”): Alternation. One of multiple texts must be used (e.g. “text2”)=• Tuyau ou barre oblique (par exemple, «texte1 | texte2 | texte3»): Alternance. L'un des multiples textes doit être utilisé (par exemple, "texte2") -• Parenthesis: (e.g. “(word1 word2) | word3”): Groups multiple words together, used for alternations=• Parenthèses: (par exemple «(mot1 mot2) | mot3»): Regroupe plusieurs mots, utilisés pour les alternances +• Pipe or slash (e.g. “text1 | text2 | text3”): Alternation. One of multiple texts must be used (e.g. “text2”)=• Tuyau ou barre oblique (par exemple, «texte1 | texte2 | texte3») : Alternance. L'un des multiples textes doit être utilisé (par exemple, "texte2") +• Parenthesis: (e.g. “(word1 word2) | word3”): Groups multiple words together, used for alternations=• Parenthèses : (par exemple «(mot1 mot2) | mot3») : Regroupe plusieurs mots, utilisés pour les alternances • Everything else is to be read as literal text=• Tout le reste doit être lu comme un texte littéral Here are some examples to illustrate the command syntax:=Voici quelques exemples pour illustrer la syntaxe de commande: -• /mods: No parameters. Just enter “/mods”=• /mods: aucun paramètre. Entrez simplement "/mods" +• /mods: No parameters. Just enter “/mods”=• /mods : aucun paramètre. Entrez simplement "/mods" • /me : 1 parameter. You have to enter “/me ” followed by any text, e.g. “/me orders pizza”=• /me : 1 paramètre. Vous devez saisir "/me" suivi de tout texte, par ex. "/me order pizza" -• /give : Two parameters. Example: “/give Player default:apple”=• /give : Deux paramètres. Exemple: "/give Player default:apple" -• /help [all|privs|]: Valid inputs are “/help”, “/help all”, “/help privs”, or “/help ” followed by a command name, like “/help time”=• /help [all | privs | ]: Les entrées valides sont "/help", "/help all", "/help privs" ou "/help" suivi d'un nom de commande, comme "/help time" -• /spawnentity [,,]: Valid inputs include “/spawnentity boats:boat” and “/spawnentity boats:boat 0,0,0”=• /spawnentity [,,]: Les entrées valides sont “/spawnentity boats:boat” et “/spawnentity boats:boat 0,0,0” +• /give : Two parameters. Example: “/give Player default:apple”=• /give : Deux paramètres. Exemple : "/give Player default:apple" +• /help [all|privs|]: Valid inputs are “/help”, “/help all”, “/help privs”, or “/help ” followed by a command name, like “/help time”=• /help [all | privs | ] : Les entrées valides sont "/help", "/help all", "/help privs" ou "/help" suivi d'un nom de commande, comme "/help time" +• /spawnentity [,,]: Valid inputs include “/spawnentity boats:boat” and “/spawnentity boats:boat 0,0,0”=• /spawnentity [,,] : Les entrées valides sont “/spawnentity boats:boat” et “/spawnentity boats:boat 0,0,0” Some final remarks:=Quelques remarques finales: • For /give and /giveme, you need an itemstring. This is an internally used unique item identifier which you may find in the item help if you have the “give” or “debug” privilege=• Pour /give et /giveme, vous avez besoin d'une chaîne d'objet. Il s'agit d'un identifiant d'élément unique utilisé en interne que vous pouvez trouver dans l'aide de l'élément si vous disposez du privilège "give" ou "debug". • For /spawnentity you need an entity name, which is another identifier=• Pour /spawnentity, vous avez besoin d'un nom d'entité, qui est un autre identifiant @@ -413,36 +413,36 @@ On a multiplayer server with the default configuration, new players start with t There is a small set of core privileges which you'll find on every server, other privileges might be added by mods.=Il existe un petit ensemble de privilèges de base que vous trouverez sur chaque serveur, d'autres privilèges peuvent être ajoutés par les mods. To view your own privileges, issue the server command “/privs”.=Pour afficher vos propres privilèges, exécutez la commande serveur "/privs". Here are a few basic privilege-related commands:=Voici quelques commandes de base liées aux privilèges: -• /privs: Lists your privileges=• /privs: Répertorie vos privilèges -• /privs : Lists the privileges of =• /privs : Répertorie les privilèges de -• /help privs: Shows a list and description about all privileges=• /help privs: Affiche une liste et une description de tous les privilèges +• /privs: Lists your privileges=• /privs : Répertorie vos privilèges +• /privs : Lists the privileges of =• /privs : Répertorie les privilèges de +• /help privs: Shows a list and description about all privileges=• /help privs : Affiche une liste et une description de tous les privilèges Players with the “privs” privilege can modify privileges at will:=Les joueurs avec le privilège "privs" peuvent modifier les privilèges à volonté: -• /grant : Grant to =• /grant : Accordez à -• /revoke : Revoke from =• /revoke : Révoquer de +• /grant : Grant to =• /grant : Accordez à +• /revoke : Revoke from =• /revoke : Révoquer de In single-player mode, you can use “/grantme all” to unlock all abilities.=En mode solo, vous pouvez utiliser "/grantme all" pour débloquer toutes les capacités. Light=Lumière As the world is entirely block-based, so is the light in the world. Each block has its own brightness. The brightness of a block is expressed in a “light level” which ranges from 0 (total darkness) to 15 (as bright as the sun).=Comme le monde est entièrement basé sur des blocs, la lumière du monde l'est également. Chaque bloc a sa propre luminosité. La luminosité d'un bloc s'exprime dans un "niveau de lumière" qui varie de 0 (obscurité totale) à 15 (aussi lumineux que le soleil). -There are two types of light: Sunlight and artificial light.=Il existe deux types de lumière: La lumière du soleil et la lumière artificielle. +There are two types of light: Sunlight and artificial light.=Il existe deux types de lumière : La lumière du soleil et la lumière artificielle. Artificial light is emitted by luminous blocks. Artificial light has a light level from 1-14.=La lumière artificielle est émise par des blocs lumineux. La lumière artificielle a un niveau de lumière de 1 à 14. Sunlight is the brightest light and always goes perfectly straight down from the sky at each time of the day. At night, the sunlight will become moonlight instead, which still provides a small amount of light. The light level of sunlight is 15.=La lumière du soleil est la lumière la plus brillante et descend toujours parfaitement directement du ciel à chaque heure de la journée. La nuit, la lumière du soleil deviendra le clair de lune à la place, qui fournit toujours une petite quantité de lumière. Le niveau de lumière solaire est de 15. Blocks have 3 levels of transparency:=Les blocs ont 3 niveaux de transparence: -• Transparent: Sunlight goes through limitless, artificial light goes through with losses=• Transparent: La lumière du soleil passe sans limite, la lumière artificielle passe avec des pertes -• Semi-transparent: Sunlight and artificial light go through with losses=• Semi-transparent: La lumière du soleil et la lumière artificielle subissent des pertes -• Opaque: No light passes through=• Opaque: Aucune lumière ne passe +• Transparent: Sunlight goes through limitless, artificial light goes through with losses=• Transparent : La lumière du soleil passe sans limite, la lumière artificielle passe avec des pertes +• Semi-transparent: Sunlight and artificial light go through with losses=• Semi-transparent : La lumière du soleil et la lumière artificielle subissent des pertes +• Opaque: No light passes through=• Opaque : Aucune lumière ne passe Artificial light will lose one level of brightness for each transparent or semi-transparent block it passes through, until only darkness remains (image 1).=La lumière artificielle perdra un niveau de luminosité pour chaque bloc transparent ou semi-transparent qu'elle traverse, jusqu'à ce qu'il ne reste que l'obscurité (image 1). Sunlight will preserve its brightness as long it only passes fully transparent blocks. When it passes through a semi-transparent block, it turns to artificial light. Image 2 shows the difference.=La lumière du soleil conservera sa luminosité tant qu'elle ne passera que par des blocs entièrement transparents. Lorsqu'il passe à travers un bloc semi-transparent, il se transforme en lumière artificielle. L'image 2 montre la différence. Note that “transparency” here only means that the block is able to carry brightness from its neighboring blocks. It is possible for a block to be transparent to light but you can't see trough the other side.=Notez que la "transparence" ici signifie uniquement que le bloc est capable de transporter la luminosité de ses blocs voisins. Il est possible qu'un bloc soit transparent à la lumière mais vous ne pouvez pas voir à travers l'autre côté. Coordinates=Coordonnées The world is a large cube. And because of this, a position in the world can be easily expressed with Cartesian coordinates. That is, for each position in the world, there are 3 values X, Y and Z.=Le monde est un grand cube. Et pour cette raison, une position dans le monde peut être facilement exprimée avec des coordonnées cartésiennes. Autrement dit, pour chaque position dans le monde, il existe 3 valeurs X, Y et Z. -Like this: (5, 45, -12)=Comme ceci: (5, 45, -12) -This refers to the position where X@=5, Y@=45 and Z@=-12. The 3 letters are called “axes”: Y is for the height. X and Z are for the horizontal position.=Cela fait référence à la position où X@=5, Y@=45 et Z@=-12. Les 3 lettres sont appelées "axes": Y est pour la hauteur. X et Z sont pour la position horizontale. +Like this: (5, 45, -12)=Comme ceci : (5, 45, -12) +This refers to the position where X@=5, Y@=45 and Z@=-12. The 3 letters are called “axes” : Y is for the height. X and Z are for the horizontal position.=Cela fait référence à la position où X@=5, Y@=45 et Z@=-12. Les 3 lettres sont appelées "axes" : Y est pour la hauteur. X et Z sont pour la position horizontale. The values for X, Y and Z work like this:=Les valeurs pour X, Y et Z fonctionnent comme ceci: • If you go up, Y increases=• Si vous montez, Y augmente • If you go down, Y decreases=• Si vous descendez, Y diminue • If you follow the sun, X increases=• Si vous suivez le soleil, X augmente • If you go to the reverse direction, X decreases=• Si vous allez dans le sens inverse, X diminue -• Follow the sun, then go right: Z increases=• Suivez le soleil, puis allez à droite: Z augmente -• Follow the sun, then go left: Z decreases=• Suivez le soleil, puis allez à gauche: Z diminue +• Follow the sun, then go right: Z increases=• Suivez le soleil, puis allez à droite : Z augmente +• Follow the sun, then go left: Z decreases=• Suivez le soleil, puis allez à gauche : Z diminue • The side length of a full cube is 1=• La longueur latérale d'un cube complet est de 1 You can view your current position in the debug screen (open with [F5]).=Vous pouvez afficher votre position actuelle dans l'écran de débogage (ouvrir avec [F5]). @@ -458,7 +458,7 @@ Enabling Creative Mode in MineClone 2 applies the following changes:=L'activatio • Tools don't wear off=• Les outils ne s'usent pas • You can eat food whenever you want=• Vous pouvez manger de la nourriture quand vous le souhaitez • You can always use the minimap (including radar mode)=• Vous pouvez toujours utiliser la minicarte (y compris le mode radar) -Damage is not affected by Creative Mode, it needs to be disabled separately.=Les dommages ne sont pas affectés par le mode créatif, ils doivent être désactivés séparément. +Damage is not affected by Creative Mode, it needs to be disabled separately.=Les dégâts ne sont pas affectés par le mode créatif, ils doivent être désactivés séparément. Mobs=Mobs Mobs are the living beings in the world. This includes animals and monsters.=Les mobs sont les êtres vivants du monde. Cela inclut les animaux et les monstres. Mobs appear randomly throughout the world. This is called “spawning”. Each mob kind appears on particular block types at a given light level. The height also plays a role. Peaceful mobs tend to spawn at daylight while hostile ones prefer darkness. Most mobs can spawn on any solid block but some mobs only spawn on particular blocks (like grass blocks).=Les mobs apparaissent de manière aléatoire à travers le monde. C'est ce qu'on appelle l'"apparition". Chaque type de mob apparaît sur des types de blocs particuliers à un niveau de lumière donné. La hauteur joue également un rôle. Les mobs pacifiques ont tendance à apparaître à la lumière du jour tandis que les hostiles préfèrent l'obscurité. La plupart des mobs peuvent apparaître sur n'importe quel bloc solide, mais certains n'apparaissent que sur des blocs particuliers (comme les blocs d'herbe). @@ -469,12 +469,12 @@ Animals are peaceful beings which roam the world aimlessly. You can feed, tame a Feeding:=Alimentation: Each animal has its own taste for food and doesn't just accept any food. To feed, hold an item in your hand and rightclick the animal.=Chaque animal a son propre goût pour la nourriture et n'accepte pas n'importe quelle nourriture. Pour vous nourrir, tenez un objet dans votre main et faites un clic droit sur l'animal. Animals are attraced to the food they like and follow you as long you hold the food item in hand.=Les animaux sont attirés par la nourriture qu'ils aiment et vous suivent aussi longtemps que vous tenez l'aliment en main. -Feeding an animal has three uses: Taming, healing and breeding.=Nourrir un animal a trois usages: Apprivoiser, guérir et se reproduire. +Feeding an animal has three uses: Taming, healing and breeding.=Nourrir un animal a trois usages : Apprivoiser, guérir et se reproduire. Feeding heals animals instantly, depending on the quality of the food item.=Nourrir les animaux guérit instantanément, selon la qualité de l'aliment. Taming:=Apprivoisement: A few animals can be tamed. You can generally do more things with tamed animals and use other items on them. For example, tame horses can be saddled and tame wolves fight on your side.=Quelques animaux peuvent être apprivoisés. Vous pouvez généralement faire plus de choses avec des animaux apprivoisés et utiliser d'autres objets dessus. Par exemple, les chevaux apprivoisés peuvent être sellés et les loups apprivoisés se battent à vos côtés. Breeding:=Reproduction: -When you have fed an animal up to its maximum health, then feed it again, you will activate “Love Mode” and many hearts appear around the animal.=Lorsque vous avez nourri un animal à sa santé maximale, puis le nourrir à nouveau, vous activerez le "Mode Amour" et de nombreux coeurs apparaissent autour de l'animal. +When you have fed an animal up to its maximum health, then feed it again, you will activate “Love Mode” and many hearts appear around the animal.=Lorsque vous avez nourri un animal à sa santé maximale, puis le nourrir à nouveau, vous activerez le "Mode Amour" et de nombreux cœurs apparaissent autour de l'animal. Two animals of the same species will start to breed if they are in Love Mode and close to each other. Soon a baby animal will pop up.=Deux animaux de la même espèce commenceront à se reproduire s'ils sont en mode Amour et proches l'un de l'autre. Bientôt, un bébé animal apparaîtra. Baby animals:=Bébés animaux: Baby animals are just like their adult couterparts, but they can't be tamed or bred and don't drop anything when they die. They grow to adults after a short time. When fed, they grow to adults faster.=Les bébés animaux sont comme leurs homologues adultes, mais ils ne peuvent pas être apprivoisés ou élevés et ne laissent rien tomber lorsqu'ils meurent. Ils deviennent adultes après peu de temps. Une fois nourris, ils deviennent plus vite adultes. @@ -490,7 +490,7 @@ Core hunger rules:=Règles fondamentales de la faim: • At 0 hunger points, you lose 1 HP every 4 seconds (down to 1 HP)=• À 0 point de faim, vous perdez 1 PV toutes les 4 secondes (jusqu'à 1 PV) • Poisonous food decreases your health=• La nourriture toxique diminue votre santé Details:=Détails: -You have 0-20 hunger points, indicated by 20 drumstick half-icons above the hotbar. You also have an invisible attribute: Saturation.=Vous avez 0-20 points de faim, indiqués par 20 demi-icônes de pilon de Poulet au-dessus de la hotbar. Vous avez également un attribut invisible: La saturation. +You have 0-20 hunger points, indicated by 20 drumstick half-icons above the hotbar. You also have an invisible attribute: Saturation.=Vous avez 0-20 points de faim, indiqués par 20 demi-icônes de pilon de Poulet au-dessus de la hotbar. Vous avez également un attribut invisible : La saturation. Hunger points reflect how full you are while saturation points reflect how long it takes until you're hungry again.=Les points de faim reflètent à quel point vous êtes plein tandis que les points de saturation reflètent le temps qu'il vous faut avant d'avoir à nouveau faim. Each food item increases both your hunger level as well your saturation.=Chaque aliment augmente à la fois votre niveau de faim et votre saturation. Food with a high saturation boost has the advantage that it will take longer until you get hungry again.=Les aliments avec une augmentation de saturation élevée ont l'avantage de prendre plus de temps jusqu'à ce que vous ayez de nouveau faim. diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_build.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_build.png deleted file mode 100644 index 3f89001f1..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_build.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_camera_behind.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_camera_behind.png deleted file mode 100644 index 2f17e4759..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_camera_behind.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_camera_ego.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_camera_ego.png deleted file mode 100644 index 98b533d2d..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_camera_ego.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_camera_front.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_camera_front.png deleted file mode 100644 index 71adb89fd..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_camera_front.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_grid.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_grid.png deleted file mode 100644 index bff1f91b1..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_grid.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_groups_1.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_groups_1.png deleted file mode 100644 index 878bc681b..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_groups_1.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_groups_2.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_groups_2.png deleted file mode 100644 index eb23f5e0d..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_groups_2.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_groups_3.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_groups_3.png deleted file mode 100644 index 149dc61d8..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_groups_3.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_repair.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_repair.png deleted file mode 100644 index fa21ddf93..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_repair.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_shaped.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_shaped.png deleted file mode 100644 index a5e2f8e70..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_shaped.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_shapeless_1.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_shapeless_1.png deleted file mode 100644 index 68fb58114..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_shapeless_1.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_shapeless_2.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_shapeless_2.png deleted file mode 100644 index 77a456914..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_craft_shapeless_2.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_carbone_ng.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_carbone_ng.png deleted file mode 100644 index 7ac6178f9..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_carbone_ng.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_hades.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_hades.png deleted file mode 100644 index debc08f8d..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_hades.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_lott.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_lott.png deleted file mode 100644 index db27d0acc..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_lott.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_moontest.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_moontest.png deleted file mode 100644 index 47ea2192d..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_moontest.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_mtg_1.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_mtg_1.png deleted file mode 100644 index d85d1cce7..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_mtg_1.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_mtg_2.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_mtg_2.png deleted file mode 100644 index 1ab57ba32..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_mtg_2.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_outback.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_outback.png deleted file mode 100644 index 540f4bbed..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_outback.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_pixture.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_pixture.png deleted file mode 100644 index ead1a160b..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_pixture.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_xtraores_xtension.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_xtraores_xtension.png deleted file mode 100644 index 7b1957505..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_gameplay_xtraores_xtension.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_hotbar.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_hotbar.png deleted file mode 100644 index 406f94db8..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_hotbar.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_hotbar_relations.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_hotbar_relations.png deleted file mode 100644 index 4286d2744..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_hotbar_relations.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_inventory.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_inventory.png deleted file mode 100644 index d23632f9f..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_inventory.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_inventory_detail.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_inventory_detail.png deleted file mode 100644 index 631daa6ea..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_inventory_detail.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_items_dropped.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_items_dropped.png deleted file mode 100644 index 4cbe82db2..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_items_dropped.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_light_test.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_light_test.png deleted file mode 100644 index 49f150365..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_light_test.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_light_torch.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_light_torch.png deleted file mode 100644 index d64fdedd2..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_light_torch.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_nonrenewable.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_nonrenewable.png deleted file mode 100644 index a0d238acb..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_nonrenewable.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_range.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_range.png deleted file mode 100644 index 622e98de3..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_range.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_renewable_1.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_renewable_1.png deleted file mode 100644 index ffb23fd14..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_renewable_1.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_renewable_2.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_renewable_2.png deleted file mode 100644 index 0eb44c54f..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_renewable_2.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_types.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_types.png deleted file mode 100644 index ac72b0cfa..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_liquids_types.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_minimap_map.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_minimap_map.png deleted file mode 100644 index b574f8b08..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_minimap_map.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_minimap_radar.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_minimap_radar.png deleted file mode 100644 index a743d6d9d..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_minimap_radar.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_minimap_round.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_minimap_round.png deleted file mode 100644 index 083903d36..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_minimap_round.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_nodes.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_nodes.png deleted file mode 100644 index 9f436ca37..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_nodes.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_players_flat.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_players_flat.png deleted file mode 100644 index 868cdb642..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_players_flat.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_players_lott.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_players_lott.png deleted file mode 100644 index 7427f2a7c..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_players_lott.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_players_sam.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_players_sam.png deleted file mode 100644 index afcd3111a..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_players_sam.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_pointing.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_pointing.png deleted file mode 100644 index 23b0dff16..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_pointing.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_sneak.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_sneak.png deleted file mode 100644 index 00325a2a9..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_sneak.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_tools.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_tools.png deleted file mode 100644 index 9bd639342..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_tools.png and /dev/null differ diff --git a/mods/HELP/mcl_doc_basics/textures/doc_basics_tools_mining.png b/mods/HELP/mcl_doc_basics/textures/doc_basics_tools_mining.png deleted file mode 100644 index 8655c5e2a..000000000 Binary files a/mods/HELP/mcl_doc_basics/textures/doc_basics_tools_mining.png and /dev/null differ diff --git a/mods/HELP/mcl_tt/locale/mcl_tt.fr.tr b/mods/HELP/mcl_tt/locale/mcl_tt.fr.tr index 6803e6e40..77e9a35b0 100644 --- a/mods/HELP/mcl_tt/locale/mcl_tt.fr.tr +++ b/mods/HELP/mcl_tt/locale/mcl_tt.fr.tr @@ -3,46 +3,46 @@ Head armor=Armure de tête Torso armor=Armure de torse Legs armor=Armure de jambes Feet armor=Armure de pieds -Armor points: @1=Points d'armure: @1 -Armor durability: @1=Durabilité d'armure: @1 -Protection: @1%=Protection: @1% -Hunger points: +@1=Points de faim: +@1 -Saturation points: +@1=Points de saturation: +@1 +Armor points: @1=Points d'armure : @1 +Armor durability: @1=Durabilité d'armure : @1 +Protection: @1%=Protection : @1% +Hunger points: +@1=Points de faim : +@1 +Saturation points: +@1=Points de saturation : +@1 Deals damage when falling=Inflige des dégâts en tombant Grows on grass blocks or dirt=Pousse sur des blocs d'herbe ou de terre Grows on grass blocks, podzol, dirt or coarse dirt=Pousse sur les blocs de gazon, le podzol, la terre ou la terre grossière Flammable=Inflammable -Zombie view range: -50%=Distance de vue de Zombie: -50% -Skeleton view range: -50%=Distance de vue de Squelette: -50% -Creeper view range: -50%=Distance de vue de Creeper: -50% -Damage: @1=Dégâts: @1 -Damage (@1): @2=Dégâts (@1): @2 -Healing: @1=Guérison: @1 -Healing (@1): @2=Guérison (@1): @2 -Full punch interval: @1s=Intervalle de coup: @1s -Contact damage: @1 per second=Dégâts de contact: @1 par seconde -Contact healing: @1 per second=Guérison de contact: @1 par seconde -Drowning damage: @1=Dégâts de noyade: @1 +Zombie view range: -50%=Distance de vue de Zombie : -50% +Skeleton view range: -50%=Distance de vue de Squelette : -50% +Creeper view range: -50%=Distance de vue de Creeper : -50% +Damage: @1=Dégâts : @1 +Damage (@1): @2=Dégâts (@1) : @2 +Healing: @1=Guérison : @1 +Healing (@1): @2=Guérison (@1) : @2 +Full punch interval: @1s=Intervalle de coup : @1s +Contact damage: @1 per second=Dégâts de contact : @1 par seconde +Contact healing: @1 per second=Guérison de contact : @1 par seconde +Drowning damage: @1=Dégâts de noyade : @1 Bouncy (@1%)=Rebondissant (@1%) -Luminance: @1=Luminance: @1 +Luminance: @1=Luminance : @1 Slippery=Glissant Climbable=Grimpable Climbable (only downwards)=Grimpable (uniquement vers le bas) No jumping=Ne pas sauter No swimming upwards=Ne pas nager vers le haut No rising=Pas de montée -Fall damage: @1%=Dégâts de chute: @1% -Fall damage: +@1%=Dégâts de chute: +@1% +Fall damage: @1%=Dégâts de chute : @1% +Fall damage: +@1%=Dégâts de chute : +@1% No fall damage=Pas de dégâts de chute -Mining speed: @1=Vitesse de minage: @1 +Mining speed: @1=Vitesse de minage : @1 Very fast=Très rapide Extremely fast=Extremement rapide Fast=Rapide Slow=Lent Very slow=Très lent Painfully slow=Péniblement lent -Mining durability: @1=Durabilité de minage: @1 -Block breaking strength: @1=Résistance à la rupture: @1 +Mining durability: @1=Durabilité de minage : @1 +Block breaking strength: @1=Résistance à la rupture : @1 @1 uses=@1 utilisations Unlimited uses=Utilisations illimitées -Durability: @1=Durabilité \ No newline at end of file +Durability: @1=Durabilité : @1 diff --git a/mods/HUD/awards/api.lua b/mods/HUD/awards/api.lua index 2bbea3c9b..6333272bd 100644 --- a/mods/HUD/awards/api.lua +++ b/mods/HUD/awards/api.lua @@ -305,7 +305,7 @@ function awards.unlock(name, award) local one = player:hud_add({ hud_elem_type = "image", name = "award_bg", - scale = {x = 1, y = 1}, + scale = {x = 1.25, y = 1}, text = background, position = {x = 0.5, y = 0}, offset = {x = 0, y = 138}, @@ -329,7 +329,7 @@ function awards.unlock(name, award) scale = {x = 100, y = 20}, text = hud_announce, position = {x = 0.5, y = 0}, - offset = {x = 0, y = 40}, + offset = {x = 30, y = 40}, alignment = {x = 0, y = -1}, z_index = 102, }) @@ -340,7 +340,7 @@ function awards.unlock(name, award) scale = {x = 100, y = 20}, text = title, position = {x = 0.5, y = 0}, - offset = {x = 30, y = 100}, + offset = {x = 35, y = 100}, alignment = {x = 0, y = -1}, z_index = 102, }) @@ -355,7 +355,7 @@ function awards.unlock(name, award) number = 2, text = icon, position = {x = 0.5, y = 0}, - offset = {x = -110, y = 62}, + offset = {x = -138, y = 62}, alignment = {x = 0, y = 0}, direction = 0, z_index = 102, diff --git a/mods/HUD/awards/locale/awards.fr.tr b/mods/HUD/awards/locale/awards.fr.tr index e69b77281..38959ccef 100644 --- a/mods/HUD/awards/locale/awards.fr.tr +++ b/mods/HUD/awards/locale/awards.fr.tr @@ -8,35 +8,35 @@ @1 (got)=@1 (obtenu) @1: @2=@1 : @2 @1’s awards:=Récompenses de @1: -(Secret Award)=(Récompense Secrètte) -= +(Secret Award)=(Récompense secrète) += = -Achievement gotten!=Succès obtenu ! -Achievement gotten:=Succès obtenu : -Achievement gotten: @1=Succès obtenu : @1 -Achievement not found.=Succès inconnu +Advancement Made!=Progrès réalisé ! +Advancement Made:=Progrès réalisé : +Advancement: @1=Progrès : @1 +Achievement not found.=Progrès inconnu All your awards and statistics have been cleared. You can now start again.=Toutes vos récompenses et statistiques ont été effacées. Vous pouvez maintenant recommencer. Awards=Récompenses Craft: @1×@2=Fabrication: @1×@2 Craft: @1=Fabrication: @1 Die @1 times.=Mort @1 fois. Die.=Mort. -Get the achievements statistics for the given player or yourself=Obtenez les statistiques de succès pour le joueur donné ou vous-même +Get the achievements statistics for the given player or yourself=Obtenez les statistiques de progrès pour le joueur donné ou vous-même Join the game @1 times.=Rejoignez le jeu @1 fois. Join the game.=Rejoignez le jeu. List awards in chat (deprecated)=Liste des récompenses dans le chat (obsolète) Place a block: @1=Placer un bloc: @1 Place blocks: @1×@2=Placer des blocs: @1×@2 -Secret achievement gotten!=Succès secret obtenu ! -Secret achievement gotten:=Succès secret obtenu : -Secret achievement gotten: @1=Succès secret obtenu : @1 -Show details of an achievement=Afficher les détails d'un succès -Show, clear, disable or enable your achievements=Affichez, effacez, désactivez ou activez vos succès -Get this achievement to find out what it is.=Obtenez ce succès pour découvrir de quoi il s'agit. +Secret Advancement Made!=Progrès secret réalisé ! +Secret Advancement Made:=Progrès secret réalisé : +Secret Advancement Made: @1=Progrès secret réalisé : @1 +Show details of an achievement=Afficher les détails d'un progrès +Show, clear, disable or enable your advancements.=Affichez, effacez, désactivez ou activez vos progrès. +Make this advancement to find out what it is.=Réalisez ce progrès pour découvrir de quoi il s'agit. Write @1 chat messages.=Écrivez @1 messages de chat. Write something in chat.=Écrivez quelque chose dans le chat. -You have disabled your achievements.=Vous avez désactivé vos succès. -You have enabled your achievements.=Vous avez activé vos succès. +You have disabled your advancements.=Vous avez désactivé vos progrès. +You have enabled your advancements.=Vous avez activé vos progrès. You have not gotten any awards.=Vous n'avez reçu aucune récompense. You've disabled awards. Type /awards enable to reenable.=Vous avez désactivé les récompenses. Tapez "/awards enable" pour les réactiver. [c|clear|disable|enable]=[c|clear|disable|enable] @@ -49,16 +49,16 @@ Place @1 block(s).=Placer @1 bloc(s). Dig @1 block(s).=Creuser @1 bloc(s). Eat @1 item(s).=Manger @1 aliment(s). Craft @1 item(s).=Fabriquer @1 objet(s). -Can give achievements to any player=Peut donner des succès à n'importe quel joueur -(grant ( | all)) | list=(grant ( | all)) | list -Give achievement to player or list all achievements=Donner un succès à un joueur ou répertorier tous les succès +Can give advancements to any player=Peut donner des progrès à n'importe quel joueur +(grant ( | all)) | list=(grant ( | all)) | list +Give advancement to player or list all advancements=Donner un progrès à un joueur ou répertorier tous les progrès @1 (@2)=@1 (@2) Invalid syntax.=Syntaxe invalide. Invalid action.=Action invalide. Player is not online.=Le joueur n'est pas en ligne. Done.=Terminé. -Achievement “@1” does not exist.=Le succès «@1» n'existe pas. -@1 has made the achievement @2=@1 a obtenu le succès +Advancement “@1” does not exist.=Le progrès «@1» n'existe pas. +@1 has made the advancement @2=@1 a obtenu le progrès @2 Mine a block: @1=Miner un bloc : @1 Mine blocks: @1×@2=Miner des blocs : @1×@2 -Awards are disabled, enable them first by using /awards enable!=Les succès sont désactivés, activez les d'abord en utilisant /awards enable ! +Awards are disabled, enable them first by using /awards enable!=Les récompenses sont désactivés, activez les d'abord en utilisant /awards enable ! diff --git a/mods/HUD/awards/textures/awards_bg_default.png b/mods/HUD/awards/textures/awards_bg_default.png deleted file mode 100644 index 86130d01f..000000000 Binary files a/mods/HUD/awards/textures/awards_bg_default.png and /dev/null differ diff --git a/mods/HUD/awards/textures/awards_bg_mining.png b/mods/HUD/awards/textures/awards_bg_mining.png deleted file mode 100644 index a6987794f..000000000 Binary files a/mods/HUD/awards/textures/awards_bg_mining.png and /dev/null differ diff --git a/mods/HUD/awards/textures/awards_template.png b/mods/HUD/awards/textures/awards_template.png deleted file mode 100644 index b29045480..000000000 Binary files a/mods/HUD/awards/textures/awards_template.png and /dev/null differ diff --git a/mods/HUD/awards/textures/awards_ui_icon.png b/mods/HUD/awards/textures/awards_ui_icon.png deleted file mode 100644 index 239ad71ec..000000000 Binary files a/mods/HUD/awards/textures/awards_ui_icon.png and /dev/null differ diff --git a/mods/HUD/awards/textures/awards_unknown.png b/mods/HUD/awards/textures/awards_unknown.png deleted file mode 100644 index b29045480..000000000 Binary files a/mods/HUD/awards/textures/awards_unknown.png and /dev/null differ diff --git a/mods/HUD/hudbars/textures/hudbars_bar_background.png b/mods/HUD/hudbars/textures/hudbars_bar_background.png deleted file mode 100644 index cbc6c3f51..000000000 Binary files a/mods/HUD/hudbars/textures/hudbars_bar_background.png and /dev/null differ diff --git a/mods/HUD/hudbars/textures/hudbars_bgicon_health.png b/mods/HUD/hudbars/textures/hudbars_bgicon_health.png deleted file mode 100644 index aa4a6123c..000000000 Binary files a/mods/HUD/hudbars/textures/hudbars_bgicon_health.png and /dev/null differ diff --git a/mods/HUD/hudbars/textures/hudbars_icon_breath.png b/mods/HUD/hudbars/textures/hudbars_icon_breath.png deleted file mode 100644 index f1d714fec..000000000 Binary files a/mods/HUD/hudbars/textures/hudbars_icon_breath.png and /dev/null differ diff --git a/mods/HUD/hudbars/textures/hudbars_icon_health.png b/mods/HUD/hudbars/textures/hudbars_icon_health.png deleted file mode 100644 index d0e304100..000000000 Binary files a/mods/HUD/hudbars/textures/hudbars_icon_health.png and /dev/null differ diff --git a/mods/HUD/mcl_achievements/init.lua b/mods/HUD/mcl_achievements/init.lua index ced758948..518a2cfbd 100644 --- a/mods/HUD/mcl_achievements/init.lua +++ b/mods/HUD/mcl_achievements/init.lua @@ -297,7 +297,7 @@ awards.register_achievement("mcl:whatAdeal", { awards.register_achievement("mcl:tacticalFishing", { title = S("Tactical Fishing"), description = S("Catch a fish... without a fishing rod!"), - icon = "pufferfish_bucket.png", + icon = "mcl_buckets_pufferfish_bucket.png", type = "Advancement", group = "Husbandry", }) @@ -305,7 +305,7 @@ awards.register_achievement("mcl:tacticalFishing", { awards.register_achievement("mcl:cutestPredator", { title = S("The Cutest Predator"), description = S("Catch an Axolotl with a bucket!"), - icon = "axolotl_bucket.png", + icon = "mcl_buckets_axolotl_bucket.png", type = "Advancement", group = "Husbandry", }) @@ -337,7 +337,7 @@ awards.register_achievement("mcl:fishyBusiness", { -- Triggered in mcl_compass awards.register_achievement("mcl:countryLode", { - title = S("Country Lode,\nTake Me Home"), + title = S("Country Lode, Take Me Home"), description = S("Use a compass on a Lodestone."), icon = "lodestone_side4.png", type = "Advancement", diff --git a/mods/HUD/mcl_achievements/locale/mcl_achievements.fr.tr b/mods/HUD/mcl_achievements/locale/mcl_achievements.fr.tr index 731d43490..d9ad699d4 100644 --- a/mods/HUD/mcl_achievements/locale/mcl_achievements.fr.tr +++ b/mods/HUD/mcl_achievements/locale/mcl_achievements.fr.tr @@ -3,78 +3,78 @@ Aquire Hardware=Acquérir du matériel Bake Bread=Faire du pain Benchmarking=Fabriquer Cow Tipper=Chevaucher une vache -Craft a bookshelf.=Fabriquez une Bibliothèque. +Craft a bookshelf.=Fabriquez une bibliothèque. Craft a cake using wheat, sugar, milk and an egg.=Fabriquez un gâteau avec du blé, du sucre, du lait et un œuf. Craft a crafting table from 4 wooden planks.=Fabriquez un établi à partir de 4 planches de bois. Craft a stone pickaxe using sticks and cobblestone.=Fabriquez une pioche en pierre à l'aide de bâtons et de pierre. Craft a wooden sword using wooden planks and sticks on a crafting table.=Fabriquez une épée en bois à l'aide de planches et de bâtons en bois sur un établi. -DIAMONDS!=DIAMANTS! -Delicious Fish=Délicieux Poisson +DIAMONDS!=DIAMANTS ! +Delicious Fish=Délicieux poisson Dispense With This=Dispenser de ça Eat a cooked porkchop.=Mangez du porc cuit. Eat a cooked rabbit.=Mangez du lapin cuit. Get really desperate and eat rotten flesh.=Soyez vraiment désespéré et mangez de la chair pourrie. Getting Wood=Obtenir du bois -Getting an Upgrade=Obtenir une augmentaton de niveau +Getting an Upgrade=Obtenir une augmentation de niveau Hit a skeleton, wither skeleton or stray by bow and arrow from a distance of at least 20 meters.=Frappez un squelette, wither squelette ou stray à l'arc et à la flèche à une distance d'au moins 20 mètres. Hot Topic=Sujet brûlant Into Fire=Dans le feu We Need to Go Deeper=Aller au fond des choses Iron Belly=Ventre de fer Librarian=Bibliothécaire -Mine emerald ore.=Mine de minerai d'émeraude. +Mine emerald ore.=Minez du minerai d'émeraude. On A Rail=Sur un rail Pick up a blaze rod from the floor.=Ramassez une tige de feu sur le sol. Pick up a diamond from the floor.=Ramassez un diamant sur le sol. -Pick up a wood item from the ground.@nHint: Punch a tree trunk until it pops out as an item.=Ramassez un objet en bois du sol.@nConseil: Frappez un tronc d'arbre jusqu'à ce qu'il ressorte comme un objet. -Pick up leather from the floor.@nHint: Cows and some other animals have a chance to drop leather, when killed.=Ramassez le cuir du sol.@nConseil: Les vaches et certains autres animaux ont une chance de laisser tomber le cuir lorsqu'ils sont tués. +Pick up a wood item from the ground.@nHint: Punch a tree trunk until it pops out as an item.=Ramassez un objet en bois au sol.@nAstuce : Frappez un tronc d'arbre jusqu'à ce qu'il ressorte comme un objet. +Pick up leather from the floor.@nHint: Cows and some other animals have a chance to drop leather, when killed.=Ramassez du cuir au sol.@nAstuce : Les vaches et certains autres animaux ont une chance de laisser tomber le cuir lorsqu'ils sont tués. Place a dispenser.=Placez un distributeur. Place a flower pot.=Placez un pot de fleurs. Pork Chop=Côtelette de porc Pot Planter=Jardinière en pot Rabbit Season=Saison du lapin Sniper Duel=Duel de sniper -Take a cooked fish from a furnace.@nHint: Use a fishing rod to catch a fish and cook it in a furnace.=Prenez un poisson cuit d'un four.@nConseil: Utilisez une canne à pêche pour attraper un poisson et faites-le cuire dans un four. -Take an iron ingot from a furnace's output slot.@nHint: To smelt an iron ingot, put a fuel (like coal) and iron ore into a furnace.=Prenez un lingot de fer dans la fente de sortie d'un four.@nConseil: Pour faire fondre un lingot de fer, mettez du combustible (comme du charbon) et du minerai de fer dans un four. +Take a cooked fish from a furnace.@nHint: Use a fishing rod to catch a fish and cook it in a furnace.=Prenez un poisson cuit d'un four.@nAstuce : Utilisez une canne à pêche pour attraper un poisson et faites-le cuire dans un four. +Take an iron ingot from a furnace's output slot.@nHint: To smelt an iron ingot, put a fuel (like coal) and iron ore into a furnace.=Prenez un lingot de fer dans la fente de sortie d'un four.@nAstuce : Pour faire fondre un lingot de fer, mettez du combustible (comme du charbon) et du minerai de fer dans un four. The Haggler=Le marchand The Lie=Le mensonge -Time to Farm!=C'est l'heure du fermier! -Time to Mine!=C'est l'heure de miner! -Time to Strike!=C'est l'heure de combattre! -Travel by minecart for at least 1000 meters from your starting point in a single ride.=Voyagez en wagonnet sur au moins 1000 mètres de votre point de départ en une seule fois. -Use 8 cobblestones to craft a furnace.=Utilise 8 pierres pour fabriquer un four. +Time to Farm!=C'est l'heure de cultiver ! +Time to Mine!=C'est l'heure de miner ! +Time to Strike!=C'est l'heure de combattre ! +Travel by minecart for at least 1000 meters from your starting point in a single ride.=Voyagez en wagonnet à au moins 1000 mètres de votre point de départ en une seule fois. +Use 8 cobblestones to craft a furnace.=Utilisez 8 pierres pour fabriquer un four. Use a crafting table to craft a wooden hoe from wooden planks and sticks.=Utilisez un établi pour fabriquer une houe en bois à partir de planches et de bâtons en bois. Use a crafting table to craft a wooden pickaxe from wooden planks and sticks.=Utilisez un établi pour fabriquer une pioche en bois à partir de planches et de bâtons en bois. Use obsidian and a fire starter to construct a Nether portal.=Utilisez de l'obsidienne et un briquet pour construire un portail du Nether. Use wheat to craft a bread.=Utilisez du blé pour fabriquer un pain. Who is Cutting Onions?=Qui épluche des oignons ? -Pick up a crying obsidian from the floor.=Ramasser une obsidienne pleureuse sur le sol. +Pick up a crying obsidian from the floor.=Ramassez une obsidienne pleureuse sur le sol. Hidden in the Depths=Caché dans les profondeurs -Pick up an Ancient Debris from the floor.=Ramasser un Ancien Débris par terre. +Pick up an Ancient Debris from the floor.=Ramassez un Ancien Débris par terre. The Nether=Le Nether Bring summer clothes.@nHint: Enter the Nether.=Apportez des vêtements d'été.@nAstuce : Entrez dans le Nether Isn't It Iron Pick=Bonne Pioche ! -Craft a iron pickaxe using sticks and iron.=Fabriquer une pioche de fer avec des batons et du fer. +Craft a iron pickaxe using sticks and iron.=Fabriquez une pioche de fer avec des batons et du fer. Postmortal=Aux frontières de la mort -Use a Totem of Undying to cheat death.=Utiliser un Totem d'imortalité pour tromper la mort. +Use a Totem of Undying to cheat death.=Utilisez un Totem d'imortalité pour tromper la mort. Sweet Dreams=Bonne nuit les petits Sleep in a bed to change your respawn point.=Dormez dans un lit pour changer votre point de réapparition. Not Quite "Nine" Lives=Presque "neuf" vies -Charge a Respawn Anchor to the maximum.=Charger une Ancre de Réapparition au maximum. +Charge a Respawn Anchor to the maximum.=Chargez une Ancre de Réapparition au maximum. What A Deal!=Adjugé, Vendu ! Successfully trade with a Villager.=Commercez avec succès avec un villageois. Withering Heights=Les Witherables Summon the wither from the dead.=Invoquez le Wither d'entre les morts. Fishy Business=Merci pour le poisson -Catch a fish.@nHint: Catch a fish, salmon, clownfish, or pufferfish.=Attrapez un poisson. \nAstuce : attrapez un poisson, saumon, poisson-clown, ou poisson-globe. -Country Lode,@nTake Me Home=Petit Poucet -Use a compass on a Lodestone.=utiliser une boussole sur une magnétite. +Catch a fish.@nHint: Catch a fish, salmon, clownfish, or pufferfish.=Attrapez un poisson.@nAstuce : attrapez un poisson, saumon, poisson-clown, ou poisson-globe. +Country Lode, Take Me Home=Petit Poucet +Use a compass on a Lodestone.=Utilisez une boussole sur une magnétite. Serious Dedication=Sérieux dévouement -Use a Netherite Ingot to upgrade a hoe, and then completely reevaluate your life choices.=Utilisez un lingot de netherite pour améliorez une houe, puis réévaluez complètement vos choix de vie. +Use a Netherite Ingot to upgrade a hoe, and then completely reevaluate your life choices.=Utilisez un lingot de Netherite pour améliorer une houe, puis réévaluez complètement vos choix de vie. Local Brewery=Apprenti chimiste -Brew a Potion.@nHint: Take a potion or glass bottle out of the brewing stand.=Concotez une potion.@nAstuce : Retirez une potion ou bouteille d'eau d'un alambic. +Brew a Potion.@nHint: Take a potion or glass bottle out of the brewing stand.=Concoctez une potion.@nAstuce : Retirez une potion ou une bouteille d'eau d'un alambic. Enchanter=Enchanté ! -Enchant an item using an Enchantment Table.=Enchanter un objet avec la table d'enchantement. +Enchant an item using an Enchantment Table.=Enchantez un objet avec la table d'enchantement. Bring Home the Beacon=Fais ta balise Use a beacon.=Utilisez une balise. Beaconator=Phare allumé diff --git a/mods/HUD/mcl_achievements/locale/mcl_achievements.ja.tr b/mods/HUD/mcl_achievements/locale/mcl_achievements.ja.tr index 592833cee..2e67d019e 100644 --- a/mods/HUD/mcl_achievements/locale/mcl_achievements.ja.tr +++ b/mods/HUD/mcl_achievements/locale/mcl_achievements.ja.tr @@ -69,7 +69,7 @@ The Cutest Predator=いちばんカワイイ捕食者 Catch an Axolotl with a bucket!=バケツでウーパールーパーを捕まえよう! Fishy Business=フィッシー・ビジネス Catch a fish.@nHint: Catch a fish, salmon, clownfish, or pufferfish.=魚を獲ろう。@nヒント:タラ、サケ、クマノミ、フグ等を釣ります。 -Country Lode,@nTake Me Home=この道ずっとゆけば@n鉱脈につづいてる +Country Lode, Take Me Home=この道ずっとゆけば 鉱脈につづいてる Use a compass on a Lodestone.=ロードストーンにコンパスを使おう。 Serious Dedication=真摯な取り組み Use a Netherite Ingot to upgrade a hoe, and then completely reevaluate your life choices.=ネザライトインゴットでクワをアップグレードしたら、人生設計の完全な見直しを図ろう。 diff --git a/mods/HUD/mcl_achievements/locale/template.txt b/mods/HUD/mcl_achievements/locale/template.txt index f229b2152..218288ed5 100644 --- a/mods/HUD/mcl_achievements/locale/template.txt +++ b/mods/HUD/mcl_achievements/locale/template.txt @@ -69,7 +69,7 @@ The Cutest Predator= Catch an Axolotl with a bucket! Fishy Business= Catch a fish.@nHint: Catch a fish, salmon, clownfish, or pufferfish.= -Country Lode,@nTake Me Home= +Country Lode, Take Me Home= Use a compass on a Lodestone.= Serious Dedication= Use a Netherite Ingot to upgrade a hoe, and then completely reevaluate your life choices.= diff --git a/mods/HUD/mcl_achievements/textures/mcl_achievements_button.png b/mods/HUD/mcl_achievements/textures/mcl_achievements_button.png deleted file mode 100644 index cef7e59cc..000000000 Binary files a/mods/HUD/mcl_achievements/textures/mcl_achievements_button.png and /dev/null differ diff --git a/mods/HUD/mcl_base_textures/textures/bubble.png b/mods/HUD/mcl_base_textures/textures/bubble.png deleted file mode 100644 index f1d714fec..000000000 Binary files a/mods/HUD/mcl_base_textures/textures/bubble.png and /dev/null differ diff --git a/mods/HUD/mcl_base_textures/textures/crack_anylength.png b/mods/HUD/mcl_base_textures/textures/crack_anylength.png deleted file mode 100644 index 07e5df8fd..000000000 Binary files a/mods/HUD/mcl_base_textures/textures/crack_anylength.png and /dev/null differ diff --git a/mods/HUD/mcl_base_textures/textures/crosshair.png b/mods/HUD/mcl_base_textures/textures/crosshair.png deleted file mode 100644 index 8e94dcc6b..000000000 Binary files a/mods/HUD/mcl_base_textures/textures/crosshair.png and /dev/null differ diff --git a/mods/HUD/mcl_base_textures/textures/heart.png b/mods/HUD/mcl_base_textures/textures/heart.png deleted file mode 100644 index d0e304100..000000000 Binary files a/mods/HUD/mcl_base_textures/textures/heart.png and /dev/null differ diff --git a/mods/HUD/mcl_base_textures/textures/object_crosshair.png b/mods/HUD/mcl_base_textures/textures/object_crosshair.png deleted file mode 100644 index 8e94dcc6b..000000000 Binary files a/mods/HUD/mcl_base_textures/textures/object_crosshair.png and /dev/null differ diff --git a/mods/HUD/mcl_credits/people.lua b/mods/HUD/mcl_credits/people.lua index 9c4208ece..d9ee02742 100644 --- a/mods/HUD/mcl_credits/people.lua +++ b/mods/HUD/mcl_credits/people.lua @@ -36,7 +36,8 @@ return { "SumianVoice", "MrRar", "talamh", - "Faerraven", + "Faerraven / Michieal", + "FossFanatic", }}, {S("Contributors"), 0x52FF00, { "Laurent Rocher", @@ -96,6 +97,9 @@ return { "anarquimico", "TheOnlyJoeEnderman", "Ranko Saotome", + "Gregor Parzefall", + "Wbjitscool", + "b3nderman", }}, {S("MineClone5"), 0xA60014, { "kay27", @@ -147,11 +151,13 @@ return { "jordan4ibanez", "paramat", "cora", + "Faerraven / Michieal", }}, {S("3D Models"), 0x0019FF, { "22i", "tobyplowy", "epCode", + "Faerraven / Michieal", }}, {S("Textures"), 0xFF9705, { "XSSheep", @@ -166,6 +172,7 @@ return { "RandomLegoBrick", "cora", "Faerraven / Michieal", + "Nicu", }}, {S("Translations"), 0x00FF60, { "Wuzzy", @@ -179,9 +186,12 @@ return { "Emojigit", "snowyu", "3raven", + "SakuraRiu", }}, {S("Funders"), 0xF7FF00, { "40W", + "bauknecht", + "Cora", }}, {S("Special thanks"), 0x00E9FF, { "celeron55 for creating Minetest", @@ -189,5 +199,6 @@ return { "wsor for working tirelessly in the shadows for the good of all of us, particularly helping with solving contentDB and copyright issues.", "The workaholics who spent way too much time writing for the Minecraft Wiki. It's an invaluable resource for creating this game", "Notch and Jeb for being the major forces behind Minecraft", + "Dark Reaven Music (https://soundcloud.com/dark-reaven-music) for the main menu theme (Calmed Cube), which is licensed under https://creativecommons.org/licenses/by-sa/3.0/", }}, } diff --git a/mods/HUD/mcl_credits/textures/credits_bg.png b/mods/HUD/mcl_credits/textures/credits_bg.png deleted file mode 100644 index ad74cbd30..000000000 Binary files a/mods/HUD/mcl_credits/textures/credits_bg.png and /dev/null differ diff --git a/mods/HUD/mcl_credits/textures/mineclone2_icon.png b/mods/HUD/mcl_credits/textures/mineclone2_icon.png deleted file mode 100644 index e479dfff5..000000000 Binary files a/mods/HUD/mcl_credits/textures/mineclone2_icon.png and /dev/null differ diff --git a/mods/HUD/mcl_credits/textures/mineclone2_logo.png b/mods/HUD/mcl_credits/textures/mineclone2_logo.png deleted file mode 100644 index 11435df51..000000000 Binary files a/mods/HUD/mcl_credits/textures/mineclone2_logo.png and /dev/null differ diff --git a/mods/HUD/mcl_death_messages/init.lua b/mods/HUD/mcl_death_messages/init.lua index 13ed23668..6c2040545 100644 --- a/mods/HUD/mcl_death_messages/init.lua +++ b/mods/HUD/mcl_death_messages/init.lua @@ -1,5 +1,7 @@ local S = minetest.get_translator(minetest.get_current_modname()) +local ASSIST_TIMEOUT_SEC = 5 + mcl_death_messages = { assist = {}, messages = { @@ -130,7 +132,7 @@ mcl_death_messages = { thorns = { _translator = S, killer = "@1 was killed trying to hurt @2", - item = "@1 was killed by @3 trying to hurt @2", -- yes, the order is intentional: @1 @3 @2 + item = "@1 tried to hurt @2 and died by @3", }, explosion = { _translator = S, @@ -147,7 +149,7 @@ mcl_death_messages = { fireworks = { _translator = S, plain = "@1 went off with a bang", - item = "@1 went off with a bang due to a firework fired from @3 by @2", -- order is intentional + item = "@1 went off with a bang due to a firework fired by @2 from @3", }, sweet_berry = { _translator = S, @@ -181,8 +183,10 @@ local function get_killer_message(obj, messages, reason) end local function get_assist_message(obj, messages, reason) - if messages.assist and mcl_death_messages.assist[obj] then - return messages._translator(messages.assist, mcl_util.get_object_name(obj), mcl_death_messages.assist[obj].name) + -- Avoid a timing issue if the assist passes its timeout. + local assist_details = mcl_death_messages.assist[obj] + if messages.assist and assist_details then + return messages._translator(messages.assist, mcl_util.get_object_name(obj), assist_details.name) end end @@ -232,20 +236,17 @@ mcl_damage.register_on_death(function(obj, reason) end) mcl_damage.register_on_damage(function(obj, damage, reason) - if obj:get_hp() - damage > 0 then - if reason.source then - mcl_death_messages.assist[obj] = {name = mcl_util.get_object_name(reason.source), timeout = 5} - else - mcl_death_messages.assist[obj] = nil + if (obj:get_hp() - damage > 0) and reason.source and + (reason.source:is_player() or obj:get_luaentity()) then + -- To avoid timing issues we cancel the previous job before adding a new one. + if mcl_death_messages.assist[obj] then + mcl_death_messages.assist[obj].job:cancel() end - end -end) -minetest.register_globalstep(function(dtime) - for obj, tbl in pairs(mcl_death_messages.assist) do - tbl.timeout = tbl.timeout - dtime - if not obj:is_player() and not obj:get_luaentity() or tbl.timeout > 0 then + -- Add a new assist object with a timeout job. + local new_job = minetest.after(ASSIST_TIMEOUT_SEC, function() mcl_death_messages.assist[obj] = nil - end + end) + mcl_death_messages.assist[obj] = {name = mcl_util.get_object_name(reason.source), job = new_job} end end) diff --git a/mods/HUD/mcl_death_messages/locale/mcl_death_messages.de.tr b/mods/HUD/mcl_death_messages/locale/mcl_death_messages.de.tr index 39235dff7..1e5003071 100644 --- a/mods/HUD/mcl_death_messages/locale/mcl_death_messages.de.tr +++ b/mods/HUD/mcl_death_messages/locale/mcl_death_messages.de.tr @@ -48,11 +48,11 @@ @1 was fireballed by @2=@1 wurde von @2 gefeuerballt @1 was fireballed by @2 using @3=@1 wurde von @2 mit @3 gefeuerballt @1 was killed trying to hurt @2=@1 ist bei dem Versuch, @2 zu verletzten gestorben -@1 was killed by @3 trying to hurt @2=@1 ist bei dem Versuch, @2 zu verletzten, von @3 getötet worden +@1 tried to hurt @2 and died by @3=@1 versuchte @2 zu verletzen und starb von @3 @1 blew up=@1 ist gesprengt worden @1 was blown up by @2=@1 wurde von @2 gesprengt @1 was blown up by @2 using @3=@1 wurde von @2 mit @3 gesprengt @1 was squished too much=@1 war zu gequetscht @1 was squashed by @2=@1 wurde von @2 erquetscht @1 went off with a bang=@1 ging mit einem Knall ab -@1 went off with a bang due to a firework fired from @3 by @2=@1 ging mit einem Knall wegen eines Feuerwerks, das mit @3 von @2 gefeuert wurde, ab +@1 went off with a bang due to a firework fired by @2 from @3=@1 ging mit einem Knall los aufgrund eines Feuerwerks, das von @2 von @3 abgefeuert wurde diff --git a/mods/HUD/mcl_death_messages/locale/mcl_death_messages.es.tr b/mods/HUD/mcl_death_messages/locale/mcl_death_messages.es.tr index a56199e00..bbdbb5a9e 100644 --- a/mods/HUD/mcl_death_messages/locale/mcl_death_messages.es.tr +++ b/mods/HUD/mcl_death_messages/locale/mcl_death_messages.es.tr @@ -20,6 +20,9 @@ A ghast scared @1 to death.=Se ha asustado @1 hasta morir. @1 took fatal fall damage.=@1 se hizo daño crítico por una caída. @1 fell victim to gravity.=@1 cayó víctima de la gravedad. @1 died.=@1 murió. +@1 was slain by @2.= +@1 tried to hurt @2 and died by @3=@1 trató de lastimar a @2 y murió por @3 +@1 went off with a bang due to a firework fired by @2 from @3=@1 se disparó con fuerza debido a un fuego artificial disparado por @2 desde @3 @1 was killed by a zombie.=@1 fue asesinado por un zombie. @1 was killed by a baby zombie.=@1 fue asesinado por un bebé zombie. @1 was killed by a blaze.=@1 fue asesinado por una llamarada. @@ -54,5 +57,4 @@ A ghast scared @1 to death.=Se ha asustado @1 hasta morir. @1 was killed by a husk.=@1 fue asesinado por un husk. @1 was killed by a baby husk.=@1 fue asesinado por un bebé husk. @1 was killed by a zombie pigman.=@1 fue asesinado por un cerdo zombie. -@1 was killed by a baby zombie pigman.=@1 fue asesinado por un bebé cerdo zombie. -@1 was slain by @2.= +@1 was killed by a baby zombie pigman.=@1 fue asesinado por un bebé cerdo zombie. \ No newline at end of file diff --git a/mods/HUD/mcl_death_messages/locale/mcl_death_messages.fr.tr b/mods/HUD/mcl_death_messages/locale/mcl_death_messages.fr.tr index 6bf704400..6859d56d3 100644 --- a/mods/HUD/mcl_death_messages/locale/mcl_death_messages.fr.tr +++ b/mods/HUD/mcl_death_messages/locale/mcl_death_messages.fr.tr @@ -6,7 +6,7 @@ @1 burned to death=@1 est mort(e) brûlé vif(ve) @1 was burnt to a crisp whilst fighting @2=@1 a été grillé comme une saucisse en combattant @2 @1 tried to swim in lava=@1 a essayé de nager dans la lave -@1 tried to swim in lava to escape @2=1 a essayé de nager dans la lave pour échapper à @2 +@1 tried to swim in lava to escape @2=@1 a essayé de nager dans la lave pour échapper à @2 @1 discovered the floor was lava=@1 a découvert que le sol était en lave @1 walked into danger zone due to @2=@1 a marché dans une zone de danger à cause de @2 @1 suffocated in a wall=@1 a étouffé dans un mur @@ -45,11 +45,11 @@ @1 was fireballed by @2=@1 a reçu une balle de feu lancée par @2 @1 was fireballed by @2 using @3=@1 a reçu une balle de feu lancée par @2 en utilisant @3 @1 was killed trying to hurt @2=@1 a été tué(e) en essayant de blesser @2 -@1 was killed by @3 trying to hurt @2=@1 a été tué(e) par @3 en essayant de blesser @2 +@1 tried to hurt @2 and died by @3=@1 a essayé de blesser @2 et est mort par @3 @1 blew up=@1 a explosé @1 was blown up by @2=@2 a fait exploser @1 @1 was blown up by @2 using @3=@2 a fait exploser @1 en utilisant @3 @1 was squished too much=@1 a été pressé(e) un peu trop @1 was squashed by @2=@1 a été écrasé(e) par @2 @1 went off with a bang=@1 est parti(e) avec un bang -@1 went off with a bang due to a firework fired from @3 by @2=@1 est parti(e) avec un bang dû à un feu d'artifice tiré depuis @3 par @2 \ No newline at end of file +@1 went off with a bang due to a firework fired by @2 from @3=@1 a explosé à cause d'un feu d'artifice tiré par @2 depuis @3 diff --git a/mods/HUD/mcl_death_messages/locale/mcl_death_messages.ja.tr b/mods/HUD/mcl_death_messages/locale/mcl_death_messages.ja.tr index a725b261f..0daae9c21 100644 --- a/mods/HUD/mcl_death_messages/locale/mcl_death_messages.ja.tr +++ b/mods/HUD/mcl_death_messages/locale/mcl_death_messages.ja.tr @@ -45,11 +45,11 @@ @1 was fireballed by @2=@1は@2によって火だるまにされた @1 was fireballed by @2 using @3=@1は@2の使った@3によって火だるまにされた @1 was killed trying to hurt @2=@1は@2を傷めつけようとして殺された -@1 was killed by @3 trying to hurt @2=@1は@2を傷めつけようとした@3に殺された +@1 tried to hurt @2 and died by @3=@1は@2を傷めつけようとした@3に殺された @1 blew up=@1は消し飛んだ @1 was blown up by @2=@1は@2によって爆破された @1 was blown up by @2 using @3=@1は@2の使った@3によって爆破された @1 was squished too much=@1はペラッペラになった @1 was squashed by @2=@1は@2に潰された @1 went off with a bang=@1は爆散した -@1 went off with a bang due to a firework fired from @3 by @2=@1は@2が@3から発射した花火により爆散した +@1 went off with a bang due to a firework fired by @2 from @3=@1は@2が@3から発射した花火により爆散した diff --git a/mods/HUD/mcl_death_messages/locale/mcl_death_messages.pl.tr b/mods/HUD/mcl_death_messages/locale/mcl_death_messages.pl.tr index 65fcde760..c979e7dd6 100644 --- a/mods/HUD/mcl_death_messages/locale/mcl_death_messages.pl.tr +++ b/mods/HUD/mcl_death_messages/locale/mcl_death_messages.pl.tr @@ -48,12 +48,12 @@ @1 was fireballed by @2=@1 została zabita kulą ognia przez @2 @1 was fireballed by @2 using @3=@1 została zabita kulą ognia przez @2 przy użyciu @3 @1 was killed trying to hurt @2=@1 została zabita gdy próbowała skrzywdzić @2 -@1 was killed by @3 trying to hurt @2=@1 została zabita przez @3 gdy próbowała skrzywdzić @2 +@1 tried to hurt @2 and died by @3=@1 próbował skrzywdzić @2 i zginął przed @3 @1 blew up=@1 wybuchła @1 was blown up by @2=@1 została wysadzona przez @2 @1 was blown up by @2 using @3=@1 została wysadzona przez @2 przy użyciu @3 @1 was squished too much=@1 została zbyt mocno ściśnięta @1 was squashed by @2=@1 została ściśnięta przez @2 @1 went off with a bang=@1 odeszła z hukiem -@1 went off with a bang due to a firework fired from @3 by @2=@1 odeszła z hukiem przez fajerwerki wystrzelone z @3 przez @2 +@1 went off with a bang due to a firework fired by @2 from @3=@1 wybuchł z hukiem z powodu fajerwerków wystrzelonych przez @2 z @3 diff --git a/mods/HUD/mcl_death_messages/locale/mcl_death_messages.ru.tr b/mods/HUD/mcl_death_messages/locale/mcl_death_messages.ru.tr index d5b6ec396..295f19986 100644 --- a/mods/HUD/mcl_death_messages/locale/mcl_death_messages.ru.tr +++ b/mods/HUD/mcl_death_messages/locale/mcl_death_messages.ru.tr @@ -21,6 +21,9 @@ A ghast scared @1 to death.=Гаст напугал @1 до смерти. @1 took fatal fall damage.=@1 получил(а) смертельный урон от падения. @1 fell victim to gravity.=@1 стал(а) жертвой гравитации. @1 died.=@1 умер(ла). +@1 was slain by @2.= +@1 tried to hurt @2 and died by @3=@1 пытался навредить @2 и умер от @3 +@1 went off with a bang due to a firework fired by @2 from @3=@1 взорвался из-за фейерверка, запущенного @2 из @3 @1 was killed by a zombie.=@1 был(а) убит(а) зомби. @1 was killed by a baby zombie.=@1 был(а) убит(а) малышом-зомби. @1 was killed by a blaze.=@1 был(а) убит(а) ифритом. @@ -56,4 +59,3 @@ A ghast scared @1 to death.=Гаст напугал @1 до смерти. @1 was killed by a baby husk.=@1 был(а) убит(а) машылом-кадавром. @1 was killed by a zombie pigman.=@1 был(а) убит(а) зомби-свиночеловеком. @1 was killed by a baby zombie pigman.=@1 был(а) убит(а) малышом-зомби-свиночеловеком. -@1 was slain by @2.= diff --git a/mods/HUD/mcl_death_messages/locale/template.txt b/mods/HUD/mcl_death_messages/locale/template.txt index 711dfb89b..f94607603 100644 --- a/mods/HUD/mcl_death_messages/locale/template.txt +++ b/mods/HUD/mcl_death_messages/locale/template.txt @@ -45,11 +45,11 @@ @1 was fireballed by @2= @1 was fireballed by @2 using @3= @1 was killed trying to hurt @2= -@1 was killed by @3 trying to hurt @2= +@1 tried to hurt @2 and died by @3= @1 blew up= @1 was blown up by @2= @1 was blown up by @2 using @3= @1 was squished too much= @1 was squashed by @2= @1 went off with a bang= -@1 went off with a bang due to a firework fired from @3 by @2= +@1 went off with a bang due to a firework fired by @2 from @3= diff --git a/mods/HUD/mcl_experience/textures/attributes.txt b/mods/HUD/mcl_experience/textures/attributes.txt deleted file mode 100644 index 892455baa..000000000 --- a/mods/HUD/mcl_experience/textures/attributes.txt +++ /dev/null @@ -1 +0,0 @@ -experience_orb - https://github.com/Gerold55/Experience-Mod/blob/master/textures/orb.png \ No newline at end of file diff --git a/mods/HUD/mcl_experience/textures/mcl_experience_bar.png b/mods/HUD/mcl_experience/textures/mcl_experience_bar.png deleted file mode 100644 index 19a2c029d..000000000 Binary files a/mods/HUD/mcl_experience/textures/mcl_experience_bar.png and /dev/null differ diff --git a/mods/HUD/mcl_experience/textures/mcl_experience_bar_background.png b/mods/HUD/mcl_experience/textures/mcl_experience_bar_background.png deleted file mode 100644 index f28a0e0dd..000000000 Binary files a/mods/HUD/mcl_experience/textures/mcl_experience_bar_background.png and /dev/null differ diff --git a/mods/HUD/mcl_experience/textures/mcl_experience_bottle.png b/mods/HUD/mcl_experience/textures/mcl_experience_bottle.png deleted file mode 100644 index 51b6e3406..000000000 Binary files a/mods/HUD/mcl_experience/textures/mcl_experience_bottle.png and /dev/null differ diff --git a/mods/HUD/mcl_experience/textures/mcl_experience_orb.png b/mods/HUD/mcl_experience/textures/mcl_experience_orb.png deleted file mode 100644 index 4d553833c..000000000 Binary files a/mods/HUD/mcl_experience/textures/mcl_experience_orb.png and /dev/null differ diff --git a/mods/HUD/mcl_formspec/textures/mcl_formspec_itemslot.png b/mods/HUD/mcl_formspec/textures/mcl_formspec_itemslot.png deleted file mode 100644 index 84958ecd4..000000000 Binary files a/mods/HUD/mcl_formspec/textures/mcl_formspec_itemslot.png and /dev/null differ diff --git a/mods/HUD/mcl_hbarmor/textures/hbarmor_bgicon.png b/mods/HUD/mcl_hbarmor/textures/hbarmor_bgicon.png deleted file mode 100644 index 86e68e403..000000000 Binary files a/mods/HUD/mcl_hbarmor/textures/hbarmor_bgicon.png and /dev/null differ diff --git a/mods/HUD/mcl_hbarmor/textures/hbarmor_icon.png b/mods/HUD/mcl_hbarmor/textures/hbarmor_icon.png deleted file mode 100644 index e0066a387..000000000 Binary files a/mods/HUD/mcl_hbarmor/textures/hbarmor_icon.png and /dev/null differ diff --git a/mods/HUD/mcl_inventory/creative.lua b/mods/HUD/mcl_inventory/creative.lua index a9a1d6dd9..32bb226f0 100644 --- a/mods/HUD/mcl_inventory/creative.lua +++ b/mods/HUD/mcl_inventory/creative.lua @@ -156,6 +156,7 @@ local function set_inv_page(page, player) creative_list = inventory_lists[page] end inv:set_size("main", #creative_list) + players[playername].inv_size = #creative_list inv:set_list("main", creative_list) end @@ -304,37 +305,21 @@ minetest.register_on_joinplayer(function (player) end end) -function mcl_inventory.set_creative_formspec(player, start_i, pagenum, inv_size, show, page, filter) - --reset_menu_item_bg() - pagenum = math.floor(pagenum) or 1 - +function mcl_inventory.set_creative_formspec(player) local playername = player:get_player_name() + if not players[playername] then return end - if not inv_size then - if page == "nix" then - local inv = minetest.get_inventory({type="detached", name="creative_"..playername}) - inv_size = inv:get_size("main") - elseif page and page ~= "inv" then - inv_size = #(inventory_lists[page]) - else - inv_size = 0 - end - end + local start_i = players[playername].start_i + local pagenum = start_i / (9*5) + 1 + local name = players[playername].page + local inv_size = players[playername].inv_size + local filter = players[playername].filter local pagemax = math.max(1, math.floor((inv_size-1) / (9*5) + 1)) - local name = "nix" local main_list local listrings = "listring[detached:creative_"..playername..";main]".. "listring[current_player;main]".. "listring[detached:trash;main]" - if page then - name = page - if players[playername] then - players[playername].page = page - end - end - --bg[name] = "crafting_creative_bg.png" - local inv_bg = "crafting_inventory_creative.png" if name == "inv" then inv_bg = "crafting_inventory_creative_survival.png" @@ -493,9 +478,6 @@ function mcl_inventory.set_creative_formspec(player, start_i, pagenum, inv_size, listrings if name == "nix" then - if filter == nil then - filter = "" - end formspec = formspec .. "field[5.3,1.34;4,0.75;search;;"..minetest.formspec_escape(filter).."]" formspec = formspec .. "field_close_on_enter[search;false]" end @@ -582,16 +564,11 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if page then players[name].page = page - end - if players[name].page then + else page = players[name].page end - -- Figure out current scroll bar from formspec - --local formspec = player:get_inventory_formspec() - local start_i = players[name].start_i - if fields.creative_prev then start_i = start_i - 9*5 elseif fields.creative_next then @@ -613,6 +590,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) else inv_size = 0 end + players[name].inv_size = inv_size if start_i >= inv_size then start_i = start_i - 9*5 @@ -622,72 +600,19 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end players[name].start_i = start_i - local filter = "" - if not fields.nix and fields.search and fields.search ~= "" then - filter = fields.search - players[name].filter = filter + if not fields.nix and fields.search then + players[name].filter = fields.search + else + players[name].filter = "" end - mcl_inventory.set_creative_formspec(player, start_i, start_i / (9*5) + 1, inv_size, false, page, filter) + mcl_inventory.set_creative_formspec(player) end) -if minetest.is_creative_enabled("") then - minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack) - -- Place infinite nodes, except for shulker boxes - local group = minetest.get_item_group(itemstack:get_name(), "shulker_box") - return group == 0 or group == nil - end) - - function minetest.handle_node_drops(pos, drops, digger) - if not digger or not digger:is_player() then - for _,item in ipairs(drops) do - minetest.add_item(pos, item) - end - end - local inv = digger:get_inventory() - if inv then - for _,item in ipairs(drops) do - if not inv:contains_item("main", item, true) then - inv:add_item("main", item) - end - end - end - end - - mcl_inventory.update_inventory_formspec = function(player) - local page - - local name = player:get_player_name() - - if players[name].page then - page = players[name].page - else - page = "nix" - end - - -- Figure out current scroll bar from formspec - --local formspec = player:get_inventory_formspec() - local start_i = players[name].start_i - - local inv_size - if page == "nix" then - local inv = minetest.get_inventory({type="detached", name="creative_"..name}) - inv_size = inv:get_size("main") - elseif page and page ~= "inv" then - inv_size = #(inventory_lists[page]) - else - inv_size = 0 - end - - local filter = players[name].filter - if filter == nil then - filter = "" - end - - mcl_inventory.set_creative_formspec(player, start_i, start_i / (9*5) + 1, inv_size, false, page, filter) - end -end +minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack) + return placer and placer:is_player() and minetest.is_creative_enabled(placer:get_player_name()) +end) minetest.register_on_joinplayer(function(player) -- Initialize variables and inventory @@ -700,7 +625,7 @@ minetest.register_on_joinplayer(function(player) end init(player) -- Setup initial creative inventory to the "nix" page. - mcl_inventory.set_creative_formspec(player, 0, 1, nil, false, "nix", "") + mcl_inventory.set_creative_formspec(player) end) minetest.register_on_player_inventory_action(function(player, action, inventory, inventory_info) diff --git a/mods/HUD/mcl_inventory/init.lua b/mods/HUD/mcl_inventory/init.lua index 9f54511a0..4ca0f2a73 100644 --- a/mods/HUD/mcl_inventory/init.lua +++ b/mods/HUD/mcl_inventory/init.lua @@ -46,14 +46,9 @@ function return_fields(player, name) end end -local function set_inventory(player, armor_change_only) +local function set_inventory(player) if minetest.is_creative_enabled(player:get_player_name()) then - if armor_change_only then - -- Stay on survival inventory plage if only the armor has been changed - mcl_inventory.set_creative_formspec(player, 0, 0, nil, nil, "inv") - else - mcl_inventory.set_creative_formspec(player, 0, 1) - end + mcl_inventory.set_creative_formspec(player) return end local inv = player:get_inventory() @@ -143,11 +138,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end end) -if not minetest.is_creative_enabled("") then - function mcl_inventory.update_inventory_formspec(player) - set_inventory(player) - end -end +mcl_inventory.update_inventory_formspec = set_inventory -- Drop crafting grid items on leaving minetest.register_on_leaveplayer(function(player) @@ -199,24 +190,6 @@ function minetest.is_creative_enabled(name) return false end ---Insta "digging" nodes in gamemode-creative -minetest.register_on_punchnode(function(pos, node, puncher, pointed_thing) - if not puncher or not puncher:is_player() then return end - local name = puncher:get_player_name() - if not minetest.is_creative_enabled(name) then return end - if pointed_thing.type ~= "node" then return end - local def = minetest.registered_nodes[node.name] - if def then - minetest.node_dig(pos,node,puncher) - return true - end -end) - ---Don't subtract from inv when placing in gamemode-creative -minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack, pointed_thing) - if placer and placer:is_player() and minetest.is_creative_enabled(placer:get_player_name()) then return true end -end) - local function in_table(n,h) for k,v in pairs(h) do if v == n then return true end @@ -238,6 +211,7 @@ function mcl_inventory.player_set_gamemode(p,g) elseif g == "creative" then mcl_experience.remove_hud(p) end + mcl_meshhand.update_player(p) set_inventory(p) end diff --git a/mods/HUD/mcl_inventory/locale/mcl_inventory.fr.tr b/mods/HUD/mcl_inventory/locale/mcl_inventory.fr.tr index 208eb01dc..afb7dc268 100644 --- a/mods/HUD/mcl_inventory/locale/mcl_inventory.fr.tr +++ b/mods/HUD/mcl_inventory/locale/mcl_inventory.fr.tr @@ -2,9 +2,9 @@ Recipe book=Livre de recettes Help=Aide Select player skin=Sélectionnez l'apparence du joueur -Achievements=Accomplissements -Building Blocks=Blocs de Construction -Decoration Blocks=Blocs de Décoration +Advancements=Progrès +Building Blocks=Blocs de construction +Decoration Blocks=Blocs de décoration Redstone=Redstone Transportation=Transport Brewing=Potion diff --git a/mods/HUD/mcl_inventory/textures/crafting_creative_next.png b/mods/HUD/mcl_inventory/textures/crafting_creative_next.png deleted file mode 100644 index 65586775c..000000000 Binary files a/mods/HUD/mcl_inventory/textures/crafting_creative_next.png and /dev/null differ diff --git a/mods/HUD/mcl_inventory/textures/crafting_creative_prev.png b/mods/HUD/mcl_inventory/textures/crafting_creative_prev.png deleted file mode 100644 index 30e4bc311..000000000 Binary files a/mods/HUD/mcl_inventory/textures/crafting_creative_prev.png and /dev/null differ diff --git a/mods/HUD/mcl_inventory/textures/crafting_formspec_bg.png b/mods/HUD/mcl_inventory/textures/crafting_formspec_bg.png deleted file mode 100644 index 5fd888dec..000000000 Binary files a/mods/HUD/mcl_inventory/textures/crafting_formspec_bg.png and /dev/null differ diff --git a/mods/HUD/mcl_inventory/textures/crafting_inventory_creative.png b/mods/HUD/mcl_inventory/textures/crafting_inventory_creative.png deleted file mode 100644 index b0348629e..000000000 Binary files a/mods/HUD/mcl_inventory/textures/crafting_inventory_creative.png and /dev/null differ diff --git a/mods/HUD/mcl_inventory/textures/crafting_inventory_creative_survival.png b/mods/HUD/mcl_inventory/textures/crafting_inventory_creative_survival.png deleted file mode 100644 index 828404ea2..000000000 Binary files a/mods/HUD/mcl_inventory/textures/crafting_inventory_creative_survival.png and /dev/null differ diff --git a/mods/HUD/mcl_inventory/textures/mcl_inventory_hotbar.png b/mods/HUD/mcl_inventory/textures/mcl_inventory_hotbar.png deleted file mode 100644 index d3dd364d6..000000000 Binary files a/mods/HUD/mcl_inventory/textures/mcl_inventory_hotbar.png and /dev/null differ diff --git a/mods/HUD/mcl_offhand/textures/mcl_wear_bar.png b/mods/HUD/mcl_offhand/textures/mcl_wear_bar.png deleted file mode 100644 index 6fee6bba6..000000000 Binary files a/mods/HUD/mcl_offhand/textures/mcl_wear_bar.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_off.png b/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_off.png deleted file mode 100644 index b7affc2ea..000000000 Binary files a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_off.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_on.png b/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_on.png deleted file mode 100644 index c2e250d50..000000000 Binary files a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_on.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_sides_sub.png b/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_sides_sub.png deleted file mode 100644 index 76d9187d3..000000000 Binary files a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_sides_sub.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mcl_droppers/init.lua b/mods/ITEMS/REDSTONE/mcl_droppers/init.lua index b9c46d6b8..5f8f94d84 100644 --- a/mods/ITEMS/REDSTONE/mcl_droppers/init.lua +++ b/mods/ITEMS/REDSTONE/mcl_droppers/init.lua @@ -99,6 +99,7 @@ local dropperdef = { mesecons = {effector = { -- Drop random item when triggered action_on = function(pos, node) + if not pos then return end local meta = minetest.get_meta(pos) local inv = meta:get_inventory() local droppos diff --git a/mods/ITEMS/REDSTONE/mcl_droppers/textures/mcl_droppers_dropper_front_horizontal.png b/mods/ITEMS/REDSTONE/mcl_droppers/textures/mcl_droppers_dropper_front_horizontal.png deleted file mode 100644 index e247e92c8..000000000 Binary files a/mods/ITEMS/REDSTONE/mcl_droppers/textures/mcl_droppers_dropper_front_horizontal.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mcl_droppers/textures/mcl_droppers_dropper_front_vertical.png b/mods/ITEMS/REDSTONE/mcl_droppers/textures/mcl_droppers_dropper_front_vertical.png deleted file mode 100644 index 37bc9fa20..000000000 Binary files a/mods/ITEMS/REDSTONE/mcl_droppers/textures/mcl_droppers_dropper_front_vertical.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mcl_observers/textures/mcl_observers_observer_side.png b/mods/ITEMS/REDSTONE/mcl_observers/textures/mcl_observers_observer_side.png deleted file mode 100644 index 84cd4065d..000000000 Binary files a/mods/ITEMS/REDSTONE/mcl_observers/textures/mcl_observers_observer_side.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mcl_observers/textures/mcl_observers_observer_top.png b/mods/ITEMS/REDSTONE/mcl_observers/textures/mcl_observers_observer_top.png deleted file mode 100644 index 73dab21be..000000000 Binary files a/mods/ITEMS/REDSTONE/mcl_observers/textures/mcl_observers_observer_top.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mcl_target/textures/mcl_target_target_side.png b/mods/ITEMS/REDSTONE/mcl_target/textures/mcl_target_target_side.png deleted file mode 100755 index 286f7767e..000000000 Binary files a/mods/ITEMS/REDSTONE/mcl_target/textures/mcl_target_target_side.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mcl_target/textures/mcl_target_target_top.png b/mods/ITEMS/REDSTONE/mcl_target/textures/mcl_target_target_top.png deleted file mode 100755 index b55ef3ec8..000000000 Binary files a/mods/ITEMS/REDSTONE/mcl_target/textures/mcl_target_target_top.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mesecons_button/init.lua b/mods/ITEMS/REDSTONE/mesecons_button/init.lua index fd765eded..449e70135 100644 --- a/mods/ITEMS/REDSTONE/mesecons_button/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_button/init.lua @@ -225,8 +225,8 @@ local woods = { { "junglewood", "mcl_core:junglewood", "default_junglewood.png", S("Jungle Button") }, { "mangrove_wood", "mcl_mangrove:mangrove_wood", "mcl_mangrove_planks.png", S("Mangrove Button") }, - { "crimson_hyphae_wood", "mcl_crimson:crimson_hyphae_wood", "crimson_hyphae_wood.png", S("Crimson Button") }, - { "warped_hyphae_wood", "mcl_crimson:warped_hyphae_wood", "warped_hyphae_wood.png", S("Warped Button") }, + { "crimson_hyphae_wood", "mcl_crimson:crimson_hyphae_wood", "mcl_crimson_crimson_hyphae_wood.png", S("Crimson Button") }, + { "warped_hyphae_wood", "mcl_crimson:warped_hyphae_wood", "mcl_crimson_warped_hyphae_wood.png", S("Warped Button") }, } for w=1, #woods do diff --git a/mods/ITEMS/REDSTONE/mesecons_button/locale/mesecons_button.fr.tr b/mods/ITEMS/REDSTONE/mesecons_button/locale/mesecons_button.fr.tr index 96f963b4b..5223b97ef 100644 --- a/mods/ITEMS/REDSTONE/mesecons_button/locale/mesecons_button.fr.tr +++ b/mods/ITEMS/REDSTONE/mesecons_button/locale/mesecons_button.fr.tr @@ -2,13 +2,13 @@ Use the button to push it.=Utilisez le bouton pour le pousser. Stone Button=Bouton de pierre A stone button is a redstone component made out of stone which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for 1 second.=Un bouton en pierre est un composant Redstone en pierre qui peut être poussé pour fournir de la puissance Redstone. Lorsqu'il est poussé, il alimente les composants Redstone adjacents pendant 1 seconde. -Oak Button=Bouton en Chêne -Acacia Button=Bouton en Acacia -Birch Button=Bouton en Bouleau -Dark Oak Button=Bouton en Chêne Noir -Spruce Button=Bouton en Sapin -Jungle Button=Bouton en Acajou +Oak Button=Bouton en chêne +Acacia Button=Bouton en acacia +Birch Button=Bouton en bouleau +Dark Oak Button=Bouton en chêne noir +Spruce Button=Bouton en sapin +Jungle Button=Bouton en acajou A wooden button is a redstone component made out of wood which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for 1.5 seconds. Wooden buttons may also be pushed by arrows.=Un bouton en bois est un composant de redstone en bois qui peut être poussé pour fournir une puissance de redstone. Lorsqu'il est poussé, il alimente les composants Redstone adjacents pendant 1,5 seconde. Les boutons en bois peuvent également être poussés par des flèches. Provides redstone power when pushed=Fournit une puissance de redstone lorsqu'il est poussé -Push duration: @1s=Durée de poussée: @1s +Push duration: @1s=Durée de poussée : @1s Pushable by arrow=Poussable par une flèche diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_sides_off.png b/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_sides_off.png deleted file mode 100644 index 326dbe63e..000000000 Binary files a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_sides_off.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_sides_on.png b/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_sides_on.png deleted file mode 100644 index bab909eb3..000000000 Binary files a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_sides_on.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mesecons_lightstone/textures/jeija_lightstone_gray_off.png b/mods/ITEMS/REDSTONE/mesecons_lightstone/textures/jeija_lightstone_gray_off.png deleted file mode 100644 index 7f0c18b70..000000000 Binary files a/mods/ITEMS/REDSTONE/mesecons_lightstone/textures/jeija_lightstone_gray_off.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mesecons_mvps/init.lua b/mods/ITEMS/REDSTONE/mesecons_mvps/init.lua index b2ff0916e..8ae4153cc 100644 --- a/mods/ITEMS/REDSTONE/mesecons_mvps/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_mvps/init.lua @@ -477,6 +477,19 @@ mesecon.register_mvps_unsticky("mcl_colorblocks:glazed_terracotta_black") mesecon.register_mvps_unsticky("mcl_colorblocks:glazed_terracotta_brown") mesecon.register_mvps_unsticky("mcl_colorblocks:glazed_terracotta_light_blue") mesecon.register_mvps_unsticky("mcl_colorblocks:glazed_terracotta_pink") +-- Bamboo +mesecon.register_mvps_unsticky("mcl_bamboo:bamboo") +mesecon.register_mvps_unsticky("mcl_bamboo:bamboo_endcap") + +mesecon.register_mvps_unsticky("mcl_bamboo:bamboo_1") +mesecon.register_mvps_unsticky("mcl_bamboo:bamboo_2") +mesecon.register_mvps_unsticky("mcl_bamboo:bamboo_3") + +mesecon.register_mvps_unsticky("mcl_bamboo:bamboo_door") +mesecon.register_mvps_unsticky("mcl_bamboo:bamboo_trapdoor") +mesecon.register_mvps_unsticky("mcl_signs:wall_sign_bamboo") +mesecon.register_mvps_unsticky("mcl_bamboo:scaffolding") + -- Beds mesecon.register_mvps_unsticky("mcl_beds:bed_black_top") mesecon.register_mvps_unsticky("mcl_beds:bed_black_bottom") diff --git a/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_back.png b/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_back.png deleted file mode 100644 index 6ea941df5..000000000 Binary files a/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_back.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_bottom.png b/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_bottom.png deleted file mode 100644 index b3b44718e..000000000 Binary files a/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_bottom.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_on_front.png b/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_on_front.png deleted file mode 100644 index a718134ca..000000000 Binary files a/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_on_front.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua b/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua index 9248e693e..97a9a223b 100644 --- a/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua @@ -223,8 +223,8 @@ local woods = { { "junglewood", "mcl_core:junglewood", "default_junglewood.png", S("Jungle Pressure Plate") }, { "mangrove_wood", "mcl_mangrove:mangrove_wood", "mcl_mangrove_planks.png", S("Mangrove Pressure Plate") }, - { "crimson_hyphae_wood", "mcl_crimson:crimson_hyphae_wood", "crimson_hyphae_wood.png", S("Crimson Pressure Plate") }, - { "warped_hyphae_wood", "mcl_crimson:warped_hyphae_wood", "warped_hyphae_wood.png", S("Warped Pressure Plate") }, + { "crimson_hyphae_wood", "mcl_crimson:crimson_hyphae_wood", "mcl_crimson_crimson_hyphae_wood.png", S("Crimson Pressure Plate") }, + { "warped_hyphae_wood", "mcl_crimson:warped_hyphae_wood", "mcl_crimson_warped_hyphae_wood.png", S("Warped Pressure Plate") }, } for w=1, #woods do diff --git a/mods/ITEMS/REDSTONE/mesecons_pressureplates/locale/mesecons_pressureplates.fr.tr b/mods/ITEMS/REDSTONE/mesecons_pressureplates/locale/mesecons_pressureplates.fr.tr index ef145de56..2007ec785 100644 --- a/mods/ITEMS/REDSTONE/mesecons_pressureplates/locale/mesecons_pressureplates.fr.tr +++ b/mods/ITEMS/REDSTONE/mesecons_pressureplates/locale/mesecons_pressureplates.fr.tr @@ -1,11 +1,11 @@ # textdomain: mesecons_pressureplates A pressure plate is a redstone component which supplies its surrounding blocks with redstone power while someone or something rests on top of it.=Une plaque de pression est un composant de redstone qui alimente ses blocs environnants en puissance de redstone pendant que quelqu'un ou quelque chose repose dessus. -Oak Pressure Plate=Plaque de pression en Chêne -Acacia Pressure Plate=Plaque de pression en Acacia -Birch Pressure Plate=Plaque de pression en Bouleau -Dark Oak Pressure Plate=Plaque de pression en Chêne Noir -Spruce Pressure Plate=Plaque de pression en Sapin -Jungle Pressure Plate=Plaque de pression en Acajou +Oak Pressure Plate=Plaque de pression en chêne +Acacia Pressure Plate=Plaque de pression en acacia +Birch Pressure Plate=Plaque de pression en bouleau +Dark Oak Pressure Plate=Plaque de pression en chêne noir +Spruce Pressure Plate=Plaque de pression en sapin +Jungle Pressure Plate=Plaque de pression en acajou A wooden pressure plate is a redstone component which supplies its surrounding blocks with redstone power while any movable object (including dropped items, players and mobs) rests on top of it.=Une plaque de pression en bois est un composant de redstone qui alimente ses blocs environnants en puissance de redstone tandis que tout objet mobile (y compris les objets lâchés, les joueurs et les mobs) repose dessus. Stone Pressure Plate=Plaque de pression en pierre A stone pressure plate is a redstone component which supplies its surrounding blocks with redstone power while a player or mob stands on top of it. It is not triggered by anything else.=Une plaque de pression en pierre est un composant de redstone qui alimente ses blocs environnants en puissance de redstone pendant qu'un joueur ou un mob se tient au-dessus. Il n'est déclenché par rien d'autre. diff --git a/mods/ITEMS/REDSTONE/mesecons_solarpanel/textures/jeija_solar_panel_side.png b/mods/ITEMS/REDSTONE/mesecons_solarpanel/textures/jeija_solar_panel_side.png deleted file mode 100644 index ca6c3d6a5..000000000 Binary files a/mods/ITEMS/REDSTONE/mesecons_solarpanel/textures/jeija_solar_panel_side.png and /dev/null differ diff --git a/mods/ITEMS/REDSTONE/mesecons_torch/textures/jeija_torches_off.png b/mods/ITEMS/REDSTONE/mesecons_torch/textures/jeija_torches_off.png deleted file mode 100644 index fff9a53a9..000000000 Binary files a/mods/ITEMS/REDSTONE/mesecons_torch/textures/jeija_torches_off.png and /dev/null differ diff --git a/mods/ITEMS/mcl_amethyst/grow.lua b/mods/ITEMS/mcl_amethyst/grow.lua index f1a23d9b7..9617c586d 100644 --- a/mods/ITEMS/mcl_amethyst/grow.lua +++ b/mods/ITEMS/mcl_amethyst/grow.lua @@ -36,17 +36,19 @@ local all_directions = { minetest.register_abm({ label = "Spawn Amethyst Bud", - nodenames = {"mcl_amethyst:budding_amethyst_block"}, - neighbors = {"air", "group:water"}, - interval = 20, + nodenames = { "mcl_amethyst:budding_amethyst_block" }, + neighbors = { "air", "group:water" }, + interval = 34.135, -- 34.135 is 1/2 of 68.27, which is the average time for one bud to grow 1 stage. chance = 2, action = function(pos) local check_pos = vector.add(all_directions[math.random(1, #all_directions)], pos) local check_node = minetest.get_node(check_pos) local check_node_name = check_node.name - if check_node_name ~= "air" and minetest.get_item_group(check_node_name, "water") == 0 then return end + if check_node_name ~= "air" and minetest.get_item_group(check_node_name, "water") == 0 then + return + end local param2 = minetest.dir_to_wallmounted(vector.subtract(pos, check_pos)) - local new_node = {name = "mcl_amethyst:small_amethyst_bud", param2 = param2} + local new_node = { name = "mcl_amethyst:small_amethyst_bud", param2 = param2 } minetest.swap_node(check_pos, new_node) end, }) diff --git a/mods/ITEMS/mcl_amethyst/locale/mcl_amethyst.fr.tr b/mods/ITEMS/mcl_amethyst/locale/mcl_amethyst.fr.tr index fbdab48f4..bd0c83f85 100644 --- a/mods/ITEMS/mcl_amethyst/locale/mcl_amethyst.fr.tr +++ b/mods/ITEMS/mcl_amethyst/locale/mcl_amethyst.fr.tr @@ -4,7 +4,7 @@ Amethyst Cluster is the final growth of amethyst bud.=L'agrégat d'améthyste es Amethyst Shard=Éclat d'améthyste An amethyst shard is a crystalline mineral.=Un éclat d'améthyste est un minéral cristallin. Block of Amethyst=Bloc d'améthyste -Budding Amethyst=Améthyste bourgeonante +Budding Amethyst=Améthyste bourgeonnante Calcite=Calcite Calcite can be found as part of amethyst geodes.=La calcite peut être trouvée dans les géodes d'améthyste. Large Amethyst Bud=Grand bourgeon d'améthyste @@ -14,6 +14,6 @@ Medium Amethyst Bud is the second growth of amethyst bud.=Le bourgeon d'améthys Small Amethyst Bud=Petit bourgeon d'améthyste Small Amethyst Bud is the first growth of amethyst bud.=Le petit bourgeon d'améthyste est le premier stade de la croissance du bourgeon d'améthyste. The Block of Amethyst is a decoration block crafted from amethyst shards.=Le bloc d'améthyste est un bloc décoratif fabriqué à partir d'éclats d'améthyste. -The Budding Amethyst can grow amethyst=L'améthyste bourgeonante peut faire croître de l'améthyste. +The Budding Amethyst can grow amethyst=L'améthyste bourgeonnante peut faire croître de l'améthyste. Tinted Glass=Verre teinté Tinted Glass is a type of glass which blocks lights while it is visually transparent.=Le verre teinté est un type de verre qui bloque la lumière tout en étant visuellement transparent. diff --git a/mods/ITEMS/mcl_amethyst/locale/mcl_amethyst.pt_BR.tr b/mods/ITEMS/mcl_amethyst/locale/mcl_amethyst.pt_BR.tr new file mode 100644 index 000000000..c5c440495 --- /dev/null +++ b/mods/ITEMS/mcl_amethyst/locale/mcl_amethyst.pt_BR.tr @@ -0,0 +1,19 @@ +# textdomain: mcl_amethyst +Amethyst Cluster=Aglomerado de Ametista +Amethyst Cluster is the final growth of amethyst bud.=O aglomerado de ametista é o final do crescimento do broto de ametista. +Amethyst Shard=Fragmento de Ametista +An amethyst shard is a crystalline mineral.=Um fragmento de ametista é um mineral cristalino. +Block of Amethyst=Bloco de Ametista +Budding Amethyst=Ametista Brotando +Calcite=Calcita +Calcite can be found as part of amethyst geodes.=Calcita pode ser encontrada como parte dos geodos de ametista. +Large Amethyst Bud=Broto de Ametista Grande +Large Amethyst Bud is the third growth of amethyst bud.=Broto de Ametista Grande é a terceira etapa de crescimento do broto de ametista. +Medium Amethyst Bud=Broto de Ametista Médio +Medium Amethyst Bud is the second growth of amethyst bud.=Broto de Ametista Médio é a segunda etapa de crescimento do broto de ametista. +Small Amethyst Bud=Broto de Ametista Pequeno +Small Amethyst Bud is the first growth of amethyst bud.=Broto de Ametista Pequeno é a primeira etapa de crescimento do broto de ametista. +The Block of Amethyst is a decoration block crafted from amethyst shards.=O bloco de ametista é um bloco decorativo feito a partir de fragmentos de ametista. +The Budding Amethyst can grow amethyst=A ametista brotando pode crescer ametista. +Tinted Glass=Vidro Tingido +Tinted Glass is a type of glass which blocks lights while it is visually transparent.=Vidro tingido é um tipo de vidro que bloqueia luzes enquanto é visualmente transparente. diff --git a/mods/ITEMS/mcl_amethyst/textures/LICENSE.txt b/mods/ITEMS/mcl_amethyst/textures/LICENSE.txt deleted file mode 100644 index f0993b6ce..000000000 --- a/mods/ITEMS/mcl_amethyst/textures/LICENSE.txt +++ /dev/null @@ -1 +0,0 @@ -Nova_Wostra Creative Commons Attribution-Share Alike 4.0 International License https://creativecommons.org/licenses/by-sa/4.0/ diff --git a/mods/ITEMS/mcl_anvils/locale/mcl_anvils.fr.tr b/mods/ITEMS/mcl_anvils/locale/mcl_anvils.fr.tr index 1f03de8e5..4bb909021 100644 --- a/mods/ITEMS/mcl_anvils/locale/mcl_anvils.fr.tr +++ b/mods/ITEMS/mcl_anvils/locale/mcl_anvils.fr.tr @@ -1,16 +1,16 @@ # textdomain: mcl_anvils -Set Name=Définir le Nom -Repair and Name=Réparation et Nomme +Set Name=Définir le nom +Repair and Name=Réparer et nommer Inventory=Inventaire Anvil=Enclume -The anvil allows you to repair tools and armor, and to give names to items. It has a limited durability, however. Don't let it fall on your head, it could be quite painful!=L'enclume vous permet de réparer des outils et des armures, et de donner des noms à des objets. Il a cependant une durabilité limitée. Ne la laissez pas tomber sur la tête, cela pourrait être assez douloureux! +The anvil allows you to repair tools and armor, and to give names to items. It has a limited durability, however. Don't let it fall on your head, it could be quite painful!=L'enclume vous permet de réparer des outils et des armures, et de donner des noms à des objets. Elle a cependant une durabilité limitée. Ne la laissez pas tomber sur votre tête, cela pourrait être assez douloureux ! To use an anvil, rightclick it. An anvil has 2 input slots (on the left) and one output slot.=Pour utiliser une enclume, faites un clic droit dessus. Une enclume a 2 emplacements d'entrée (à gauche) et un emplacement de sortie. To rename items, put an item stack in one of the item slots while keeping the other input slot empty. Type in a name, hit enter or “Set Name”, then take the renamed item from the output slot.=Pour renommer des objets, placez une pile d'objets dans l'un des emplacements d'objets tout en laissant l'autre emplacement d'entrée vide. Tapez un nom, appuyez sur Entrée ou sur «Définir le nom», puis prenez l'élément renommé dans l'emplacement de sortie. There are two possibilities to repair tools (and armor):=Il existe deux possibilités pour réparer les outils (et les armures): • Tool + Tool: Place two tools of the same type in the input slots. The “health” of the repaired tool is the sum of the “health” of both input tools, plus a 12% bonus.=• Outil + Outil: Placez deux outils du même type dans les emplacements d'entrée. La "santé" de l'outil réparé est la somme de la "santé" des deux outils d'entrée, plus un bonus de 12%. • Tool + Material: Some tools can also be repaired by combining them with an item that it's made of. For example, iron pickaxes can be repaired with iron ingots. This repairs the tool by 25%.=• Outil + Matériel: Certains outils peuvent également être réparés en les combinant avec un élément dont il est fait. Par exemple, les pioches de fer peuvent être réparées avec des lingots de fer. Cela répare l'outil de 25%. Armor counts as a tool. It is possible to repair and rename a tool in a single step.=L'armure compte comme un outil. Il est possible de réparer et de renommer un outil en une seule étape. -The anvil has limited durability and 3 damage levels: undamaged, slightly damaged and very damaged. Each time you repair or rename something, there is a 12% chance the anvil gets damaged. Anvils also have a chance of being damaged when they fall by more than 1 block. If a very damaged anvil is damaged again, it is destroyed.=L'enclume a une durabilité limitée et 3 niveaux de dommages: en bon état, légèrement endommagé et très endommagé. Chaque fois que vous réparez ou renommez quelque chose, il y a 12% de chances que l'enclume soit endommagée. Les enclumes ont également une chance d'être endommagées lorsqu'elles tombent de plus d'un bloc. Si une enclume très endommagée est à nouveau endommagée, elle est détruite. -Slightly Damaged Anvil=Enclume Légèrement Endommagée -Very Damaged Anvil=Enclume Très Endommagée +The anvil has limited durability and 3 damage levels: undamaged, slightly damaged and very damaged. Each time you repair or rename something, there is a 12% chance the anvil gets damaged. Anvils also have a chance of being damaged when they fall by more than 1 block. If a very damaged anvil is damaged again, it is destroyed.=L'enclume a une durabilité limitée et 3 niveaux de dommages : en bon état, légèrement endommagée et très endommagée. Chaque fois que vous réparez ou renommez quelque chose, il y a 12% de chances que l'enclume soit endommagée. Les enclumes ont également une chance d'être endommagées lorsqu'elles tombent de plus d'un bloc. Si une enclume très endommagée est à nouveau endommagée, elle est détruite. +Slightly Damaged Anvil=Enclume légèrement endommagée +Very Damaged Anvil=Enclume très endommagée Repair and rename items=Réparer et renommer des objets diff --git a/mods/ITEMS/mcl_anvils/locale/mcl_anvils.pt_BR.tr b/mods/ITEMS/mcl_anvils/locale/mcl_anvils.pt_BR.tr new file mode 100644 index 000000000..0d7fa486d --- /dev/null +++ b/mods/ITEMS/mcl_anvils/locale/mcl_anvils.pt_BR.tr @@ -0,0 +1,16 @@ +# textdomain: mcl_anvils +Set Name=Colocar nome +Repair and Name=Reparar e Nomear +Inventory=Inventário +Anvil=Bigorna +The anvil allows you to repair tools and armor, and to give names to items. It has a limited durability, however. Don't let it fall on your head, it could be quite painful!=A bigorna permite você reparar ferramentas e armaduras e nomear itens. No entanto, possui uma durabilidade limitada. Não a deixe cair sob sua cabeça, pode ser doloroso! +To use an anvil, rightclick it. An anvil has 2 input slots (on the left) and one output slot.=Para usar a bigorna, aperte-a com o botão direito. Uma bigorna possui 2 espaços de entrada (a esquerda) e um espaço de saída. +To rename items, put an item stack in one of the item slots while keeping the other input slot empty. Type in a name, hit enter or “Set Name”, then take the renamed item from the output slot.=Para renomear itens, coloque-o em um espaço de entrada enquanto mantém o outro vazio. Digite um nome e aperte enter ou "Colocar nome". Retire o item renomeado do espaço de saída. +There are two possibilities to repair tools (and armor):=Há duas possibilidades de reparar ferramentas (e armaduras): +• Tool + Tool: Place two tools of the same type in the input slots. The “health” of the repaired tool is the sum of the “health” of both input tools, plus a 12% bonus.= Ferramenta + Ferramenta: Coloque duas ferramentas do mesmo tipo nos espaços de entrada. A durabilidade da ferramenta reparada é a soma da durabilidade de ambas ferramentas utilizadas acrescido de um bônus de 12%. +• Tool + Material: Some tools can also be repaired by combining them with an item that it's made of. For example, iron pickaxes can be repaired with iron ingots. This repairs the tool by 25%.=Ferramenta + Material: Algumas ferramentas também podem ser reparadas combinando com o material da qual ela é feita. Por exemplo, picaretas de ferro podem ser reparadas com lingotes de ferro. Este repara a ferramenta por 25%. +Armor counts as a tool. It is possible to repair and rename a tool in a single step.=Armadura conta como uma ferramenta. É possível reparar e nomear uma ferramenta em uma única etapa. +Slightly Damaged Anvil=Bigorna danificada +The anvil has limited durability and 3 damage levels: undamaged, slightly damaged and very damaged. Each time you repair or rename something, there is a 12% chance the anvil gets damaged. Anvils also have a chance of being damaged when they fall by more than 1 block. If a very damaged anvil is damaged again, it is destroyed.=A bigorna tem durabilidade limitada e 3 níveis de dano: não danificada, danificada, muito danificada. Toda vez que você reparar ou nomear algo, há uma chance de 12% da bigorna ser danificada. Bigornas também possuem uma chance de serem danificadas quando cai por mais de 1 bloco. Se uma bigorna muito danificada sofre dano, ela é destruída. +Very Damaged Anvil=Bigorna muito danificada +Repair and rename items=Reparar e renomear itens diff --git a/mods/ITEMS/mcl_armor/locale/mcl_armor.fr.tr b/mods/ITEMS/mcl_armor/locale/mcl_armor.fr.tr index 19c24c73d..7663e2b40 100644 --- a/mods/ITEMS/mcl_armor/locale/mcl_armor.fr.tr +++ b/mods/ITEMS/mcl_armor/locale/mcl_armor.fr.tr @@ -1,29 +1,29 @@ # textdomain: mcl_armor This is a piece of equippable armor which reduces the amount of damage you receive.=Il s'agit d'un morceau d'armure équipable qui réduit la quantité de dégâts que vous recevez. To equip it, put it on the corresponding armor slot in your inventory menu.=Pour l'équiper, placez-le sur l'emplacement d'armure correspondant dans votre menu d'inventaire. -Leather Cap=Casquette en Cuir -Iron Helmet=Casque de Fer -Golden Helmet=Casque d'Or -Diamond Helmet=Casque de Diamant -Chain Helmet=Casque de Mailles +Leather Cap=Casquette en cuir +Iron Helmet=Casque de fer +Golden Helmet=Casque d'or +Diamond Helmet=Casque de diamant +Chain Helmet=Casque de mailles Netherite Helmet=Casque de Netherite -Leather Tunic=Tunique en Cuir -Iron Chestplate=Plastron de Fer -Golden Chestplate=Plastron d'Or -Diamond Chestplate=Plastron de Diamant -Chain Chestplate=Cotte de Mailles +Leather Tunic=Tunique en cuir +Iron Chestplate=Plastron de fer +Golden Chestplate=Plastron d'or +Diamond Chestplate=Plastron de diamant +Chain Chestplate=Cotte de mailles Netherite Chestplate=Plastron de Netherite -Leather Pants=Pantalon de Cuir -Iron Leggings=Jambières de Fer -Golden Leggings=Jambières d'Or -Diamond Leggings=Jambières de Diamant -Chain Leggings=Jambières de Mailles +Leather Pants=Pantalon de cuir +Iron Leggings=Jambières de fer +Golden Leggings=Jambières d'or +Diamond Leggings=Jambières de diamant +Chain Leggings=Jambières de mailles Netherite Leggings=Jambières de Netherite -Leather Boots=Bottes de Cuir -Iron Boots=Bottes de Fer -Golden Boots=Bottes d'Or -Diamond Boots=Bottes de Diamant -Chain Boots=Bottes de Mailles +Leather Boots=Bottes de cuir +Iron Boots=Bottes de fer +Golden Boots=Bottes d'or +Diamond Boots=Bottes de diamant +Chain Boots=Bottes de mailles Netherite Boots=Bottes de Netherite Elytra=Élytres @@ -36,11 +36,11 @@ Item cannot be removed from armor slots except due to death, breaking or in Crea Feather Falling=Chute amortie Reduces fall damage.=Réduit les dégats de chute. Fire Protection=Protection contre le feu -Reduces fire damage.=Reduit les dégats de feu. +Reduces fire damage.=Réduit les dégats de feu. Shooting consumes no regular arrows.=Le tir ne consomme pas de flèches standard. -Shoot 3 arrows at the cost of one.=Tirez sur 3 flèches au prix d'une. +Shoot 3 arrows at the cost of one.=Tirez 3 flèches pour le prix d'une. Projectile Protection=Protection contre les projectiles -Reduces projectile damage.=Réduit les dommages causés par les projectiles. +Reduces projectile damage.=Réduit les dégâts causés par les projectiles. Protection=Protection Reduces most types of damage by 4% for each level.=Réduit la plupart des types de dégâts de 4% pour chaque niveau. Thorns=Épines diff --git a/mods/ITEMS/mcl_armor/locale/mcl_armor.pt_BR.tr b/mods/ITEMS/mcl_armor/locale/mcl_armor.pt_BR.tr new file mode 100644 index 000000000..b12f07026 --- /dev/null +++ b/mods/ITEMS/mcl_armor/locale/mcl_armor.pt_BR.tr @@ -0,0 +1,48 @@ +# textdomain: mcl_armor +This is a piece of equippable armor which reduces the amount of damage you receive.= +To equip it, put it on the corresponding armor slot in your inventory menu.= +Leather Cap=Chapéu de Couro +Iron Helmet=Capacete de Ferro +Golden Helmet=Capacete de Ouro +Diamond Helmet=Capacete de Diamante +Chain Helmet=Capacete de Cota de Malha +Netherite Helmet=Capacete de Netherite +Leather Tunic=Túnica de Couro +Iron Chestplate=Peitoral de Ferro +Golden Chestplate=Peitoral de Ouro +Diamond Chestplate=Peitoral de Diamante +Chain Chestplate=Peitoral de Cota de Malha +Netherite Chestplate=Peitoral de Netherite +Leather Pants=Calças de Couro +Iron Leggings=Perneiras de Ferro +Golden Leggings=Perneiras de Ouro +Diamond Leggings=Perneiras de Diamante +Chain Leggings=Perneiras de Cota de Malha +Netherite Leggings=Perneiras de Netherite +Leather Boots=Botas de Couro +Iron Boots=Botas de Ferro +Golden Boots=Botas de Ouro +Diamond Boots=Botas de Diamante +Chain Boots=Botas de Cota de Malha +Netherite Boots=Botas de Netherite +Elytra=Elytra + +#Translations of enchantements +Increases underwater mining speed.=Aumenta a velocidade de mineração subaquática. +Blast Protection=Proteção Contra Explosão +Reduces explosion damage and knockback.=Reduz o dano e recúo de explosões. +Curse of Binding=Maldição do Vínculo +Item cannot be removed from armor slots except due to death, breaking or in Creative Mode.=Item não pode ser removido do espaço de armadura, exceto devido à morte, quebra ou no Modo Criativo. +Feather Falling=Pena Caindo +Reduces fall damage.=Reduz o dano de quedas. +Fire Protection=Proteçao Contra Fogo +Reduces fire damage.=Reduz o dano causado por fogo. +Shooting consumes no regular arrows.=Disparar não consome flechas normais. +Shoot 3 arrows at the cost of one.=Dispare 3 flechas ao custo de uma. +Projectile Protection=Proteção Contra Projéteis +Reduces projectile damage.=Reduz o dano causado por projéteis. +Protection=Proteção +Reduces most types of damage by 4% for each level.=Reduz a maioria dos tipos de dano por 4% para cada nível. +Thorns=Espinhos +Reflects some of the damage taken when hit, at the cost of reducing durability with each proc.=Reflete parte do dano tomado aos custos de reduzir a durabilidade com cada uso. +Aqua Affinity=Afinidade Aqua diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_boots_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_boots_netherite.png deleted file mode 100644 index 39f84afb1..000000000 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_boots_netherite.png and /dev/null differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_diamond.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_diamond.png deleted file mode 100644 index 3679ae6a0..000000000 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_diamond.png and /dev/null differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_leather.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_leather.png deleted file mode 100644 index eaa53582f..000000000 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_leather.png and /dev/null differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_netherite.png deleted file mode 100644 index 8e3a38366..000000000 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_netherite.png and /dev/null differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_netherite.png deleted file mode 100644 index c35f11247..000000000 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_netherite.png and /dev/null differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_chain.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_chain.png deleted file mode 100644 index 66f9bdce5..000000000 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_chain.png and /dev/null differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_gold.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_gold.png deleted file mode 100644 index ef1f9fa87..000000000 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_gold.png and /dev/null differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_chain.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_chain.png deleted file mode 100644 index 9ab14863f..000000000 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_chain.png and /dev/null differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_elytra.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_elytra.png deleted file mode 100644 index f5d5cfda6..000000000 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_elytra.png and /dev/null differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_chain.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_chain.png deleted file mode 100644 index f72a88da2..000000000 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_chain.png and /dev/null differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_chain.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_chain.png deleted file mode 100644 index c2641991e..000000000 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_chain.png and /dev/null differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_leather.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_leather.png deleted file mode 100644 index 41d49c373..000000000 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_leather.png and /dev/null differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_netherite.png b/mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_netherite.png deleted file mode 100644 index 7411e0a70..000000000 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_netherite.png and /dev/null differ diff --git a/mods/ITEMS/mcl_armor_stand/init.lua b/mods/ITEMS/mcl_armor_stand/init.lua index d6080b8f8..e23aba6b6 100644 --- a/mods/ITEMS/mcl_armor_stand/init.lua +++ b/mods/ITEMS/mcl_armor_stand/init.lua @@ -51,8 +51,8 @@ minetest.register_node("mcl_armor_stand:armor_stand", { _doc_items_usagehelp = S("Just place an armor item on the armor stand. To take the top piece of armor from the armor stand, select your hand and use the place key on the armor stand."), drawtype = "mesh", mesh = "3d_armor_stand.obj", - inventory_image = "3d_armor_stand_item.png", - wield_image = "3d_armor_stand_item.png", + inventory_image = "mcl_armor_stand_item.png", + wield_image = "mcl_armor_stand_item.png", tiles = {"default_wood.png", "mcl_stairs_stone_slab_top.png"}, paramtype = "light", paramtype2 = "facedir", diff --git a/mods/ITEMS/mcl_armor_stand/locale/mcl_armor_stand.pt_BR.tr b/mods/ITEMS/mcl_armor_stand/locale/mcl_armor_stand.pt_BR.tr new file mode 100644 index 000000000..2b80c0597 --- /dev/null +++ b/mods/ITEMS/mcl_armor_stand/locale/mcl_armor_stand.pt_BR.tr @@ -0,0 +1,5 @@ +# textdomain: mcl_armor_stand +Armor Stand=Suporte de Armadura +An armor stand is a decorative object which can display different pieces of armor. Anything which players can wear as armor can also be put on an armor stand.=O suporte de armadura é um objeto decorativo que pode exibir diferentes partes de armadura. Qualquer coisa que o jogador pode vestir como armadura também pode ser colocado no suporte de armadura. +Just place an armor item on the armor stand. To take the top piece of armor from the armor stand, select your hand and use the place key on the armor stand.=Apenas coloque um item de armadura no suporte de armadura. Para retirar a peça de armadura superior do suporte de armadura, selecione suas mãos e aperte o botão de colocar no suporte de armadura. +Displays pieces of armor=Exibe peças de armadura diff --git a/mods/ITEMS/mcl_bamboo/License.txt b/mods/ITEMS/mcl_bamboo/License.txt new file mode 100644 index 000000000..36caec951 --- /dev/null +++ b/mods/ITEMS/mcl_bamboo/License.txt @@ -0,0 +1,226 @@ + +GNU GENERAL PUBLIC LICENSE + +Version 3, 29 June 2007 + +Copyright © 2007 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. +Preamble + +The GNU General Public License is a free, copyleft license for software and other kinds of works. + +The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. + +To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. + +For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. + +Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. + +Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. + +Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. + +The precise terms and conditions for copying, distribution and modification follow. +TERMS AND CONDITIONS +0. Definitions. + +“This License” refers to version 3 of the GNU General Public License. + +“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. + +“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations. + +To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work. + +A “covered work” means either the unmodified Program or a work based on the Program. + +To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. + +To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. + +An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. +1. Source Code. + +The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work. + +A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. + +The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. + +The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. + +The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. + +The Corresponding Source for a work in source code form is that same work. +2. Basic Permissions. + +All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. +3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. + +When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. +4. Conveying Verbatim Copies. + +You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. +5. Conveying Modified Source Versions. + +You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified it, and giving a relevant date. + b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”. + c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. + d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. + +A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. +6. Conveying Non-Source Forms. + +You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: + + a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. + b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. + c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. + d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. + e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. + +A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. + +“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. + +If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). + +The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. + +Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. +7. Additional Terms. + +“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or + b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or + c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or + d) Limiting the use for publicity purposes of names of licensors or authors of the material; or + e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or + f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. + +All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. +8. Termination. + +You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). + +However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. + +Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. +9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. +10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. + +An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. +11. Patents. + +A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”. + +A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. + +In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. + +If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. + +A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. +12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. +13. Use with the GNU Affero General Public License. + +Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. +14. Revised Versions of this License. + +The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. + +Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. +15. Disclaimer of Warranty. + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. +16. Limitation of Liability. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +17. Interpretation of Sections 15 and 16. + +If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. + +END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”. + +You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . + +The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . diff --git a/mods/ITEMS/mcl_bamboo/README.md b/mods/ITEMS/mcl_bamboo/README.md index e330cf202..b1f91e641 100644 --- a/mods/ITEMS/mcl_bamboo/README.md +++ b/mods/ITEMS/mcl_bamboo/README.md @@ -1,19 +1,26 @@ mcl_bamboo ========= -This mod adds simple bamboo nodes to your Mineclone 2 world. +This mod adds working, familiar bamboo nodes to your Mineclone 2 world. -Code redo for Mineclone 2: Michieal. Original bamboo code by: Krock. +Code: MineClone2 dev team. Original (basic) bamboo code by: Small Joker. -License for code: GPL3; images / textures: CC-BY-SA. -Images Created by Michieal, except for: -Inventory / wield image: created by RandomLegoBrick#8692 and is CC0. +License for code: GPLv3. +License for images / textures: CC-BY-SA except where noted. +Images Created by Nicu, except for: + +* Inventory / wield image for Bamboo Stalk: created by RandomLegoBrick#8692 and is CC0. Dependencies: mcl_core, mcl_sounds, mcl_tools -Optional Dependencies = mcl_flowerpots, mclx_stairs, mcl_doors, mcl_signs, mesecons_pressureplates, mcl_fences, mesecons_button +Optional Dependencies = mcl_flowerpots, mclx_stairs, mcl_doors, mcl_signs, mesecons_pressureplates, mcl_fences, +mesecons_button. +Note that "mcl_boats" may be used at a later date. -Special thanks to Nicu for help with the nodebox stalk design. +Special thanks to Nicu for help with a ton of things from testing, to encouragement, to graphic design and nodebox work. +Nicu - You Rock! -Original code's forum topic: -Forum topic: https://forum.minetest.net/viewtopic.php?id=8289 \ No newline at end of file +Small Joker's bamboo forum topic: +Forum topic: https://forum.minetest.net/viewtopic.php?id=8289 + +Scaffold inspiration: Cora, because she said that it couldn't be done. \ No newline at end of file diff --git a/mods/ITEMS/mcl_bamboo/bamboo_base.lua b/mods/ITEMS/mcl_bamboo/bamboo_base.lua new file mode 100644 index 000000000..66ed9a5ca --- /dev/null +++ b/mods/ITEMS/mcl_bamboo/bamboo_base.lua @@ -0,0 +1,400 @@ +--- +--- Generated by EmmyLua(https://github.com/EmmyLua) +--- Created by michieal. +--- DateTime: 12/29/22 12:33 PM -- Restructure Date +--- Copyright (C) 2022 - 2023, Michieal. See License.txt + +-- CONSTS +local DOUBLE_DROP_CHANCE = 8 +-- Used everywhere. Often this is just the name, but it makes sense to me as BAMBOO, because that's how I think of it... +-- "BAMBOO" goes here. +local BAMBOO = "mcl_bamboo:bamboo" +local BAMBOO_ENDCAP_NAME = "mcl_bamboo:bamboo_endcap" +local BAMBOO_PLANK = BAMBOO .. "_plank" + +-- LOCALS +local modname = minetest.get_current_modname() +local S = minetest.get_translator(modname) +local node_sound = mcl_sounds.node_sound_wood_defaults() +local pr = PseudoRandom((os.time() + 15766) * 12) -- switched from math.random() to PseudoRandom because the random wasn't very random. + +local on_rotate +if minetest.get_modpath("screwdriver") then + on_rotate = screwdriver.disallow +end + +-- basic bamboo nodes. +local bamboo_def = { + description = "Bamboo", + tiles = {"mcl_bamboo_bamboo_bottom.png", "mcl_bamboo_bamboo_bottom.png", "mcl_bamboo_bamboo.png"}, + drawtype = "nodebox", + paramtype = "light", + groups = {handy = 1, axey = 1, choppy = 1, dig_by_piston = 1, plant = 1, non_mycelium_plant = 1, flammable = 3}, + sounds = node_sound, + + drop = { + max_items = 1, + -- From the API: + -- max_items: Maximum number of item lists to drop. + -- The entries in 'items' are processed in order. For each: + -- Item filtering is applied, chance of drop is applied, if both are + -- successful the entire item list is dropped. + -- Entry processing continues until the number of dropped item lists + -- equals 'max_items'. + -- Therefore, entries should progress from low to high drop chance. + items = { + -- Examples: + { + -- 1 in DOUBLE_DROP_CHANCE chance of dropping. + -- Default rarity is '1'. + rarity = DOUBLE_DROP_CHANCE, + items = {BAMBOO .. " 2"}, + }, + { + -- 1 in 1 chance of dropping. (Note: this means that it will drop 100% of the time.) + -- Default rarity is '1'. + rarity = 1, + items = {BAMBOO}, + }, + }, + }, + + inventory_image = "mcl_bamboo_bamboo_shoot.png", + wield_image = "mcl_bamboo_bamboo_shoot.png", + _mcl_blast_resistance = 1, + _mcl_hardness = 1.5, + node_box = { + type = "fixed", + fixed = { + {-0.175, -0.5, -0.195, 0.05, 0.5, 0.030}, + } + }, + collision_box = { + type = "fixed", + fixed = { + {-0.175, -0.5, -0.195, 0.05, 0.5, 0.030}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-0.175, -0.5, -0.195, 0.05, 0.5, 0.030}, + } + }, + node_placement_prediction = "", + + on_rotate = on_rotate, + + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + local node = minetest.get_node(pointed_thing.under) + local pos = pointed_thing.under + local nodename = node.name -- intentional use of nodename. + + mcl_bamboo.mcl_log("Node placement data:") + mcl_bamboo.mcl_log(dump(pointed_thing)) + mcl_bamboo.mcl_log("node name: " .. nodename) + + mcl_bamboo.mcl_log("Checking for protected placement of bamboo.") + if mcl_bamboo.is_protected(pos, placer) then + return + end + mcl_bamboo.mcl_log("placement of bamboo is not protected.") + + -- Use pointed node's on_rightclick function first, if present + if placer and not placer:get_player_control().sneak then + if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then + mcl_bamboo.mcl_log("Attempting targeted node's on_rightclick.") + return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) or itemstack + end + end + + if mcl_bamboo.is_bamboo(nodename) == false and nodename ~= BAMBOO_ENDCAP_NAME then + -- not bamboo... + mcl_bamboo.mcl_log("not bamboo...") + if nodename ~= "mcl_flowerpots:flower_pot" then + if mcl_bamboo.is_dirt(nodename) == false then + mcl_bamboo.mcl_log("bamboo dirt node not found; node name: " .. nodename) + return + end + end + end + + mcl_bamboo.mcl_log("placing bamboo directly.") + + local dir = vector.subtract(pointed_thing.under, pointed_thing.above) + local wdir = minetest.dir_to_wallmounted(dir) + local fdir = minetest.dir_to_facedir(dir) + if wdir ~= 1 then + return + end + + local place_item = ItemStack(itemstack) -- make a copy so that we don't indirectly mess with the original. + + local bamboo_node = mcl_bamboo.is_bamboo(nodename) or 0 + mcl_bamboo.mcl_log("node name: " .. nodename .. "\nbamboo_node: " .. bamboo_node) + + local rand_height + local BAMBOO_MAX_HEIGHT = 16 -- maximum height of 16, per wiki. + local first_shoot + local meta + + if bamboo_node and bamboo_node > 0 then + place_item = ItemStack(mcl_bamboo.bamboo_index[bamboo_node]) + + -- height check for placing bamboo nodes. because... lmfao bamboo stalk to the sky. + -- variables used in more than one spot. + local chk_pos + local node_name = "" + local dist = 0 + local height = -1 + + local BAMBOO_SOIL_DIST = BAMBOO_MAX_HEIGHT * -1 + -- ------------------- + for py = -1, BAMBOO_SOIL_DIST, -1 do + chk_pos = vector.offset(pos, 0, py, 0) + node_name = minetest.get_node(chk_pos).name + if mcl_bamboo.is_dirt(node_name) then + first_shoot = vector.offset(chk_pos, 0, 1, 0) + break + end + if mcl_bamboo.is_bamboo(node_name) == false then + break + end + end + -- requires knowing where the soil node is. + if first_shoot == nil then + return + end + meta = minetest.get_meta(first_shoot) + if meta then + height = meta:get_int("height", -1) + end + + dist = vector.distance(first_shoot, pos) + 1 -- +1 for the ground offset. + mcl_bamboo.mcl_log("Distance: " .. dist .. " Height: " .. height .. " Bamboo to place: " .. mcl_bamboo.bamboo_index[bamboo_node]) + -- okay, so don't go beyond max height... + -- Height is determined when the first node grows or is placed. + -- here, it's not found, so let them do 4-5 nodes up. (should help it grow.) + if dist < 5 and height < 5 then + -- allow + else + -- else, it's complicated. + if dist > 5 and height < 5 then + return + end + end + + if dist > height - 1 then + -- height found. here, we let them do it until they reach where the endcap will go. + return + end + else + local placed_type = pr:next(1, 4) -- randomly choose which one to place. + mcl_bamboo.mcl_log("Place_Bamboo_Shoot--Type: " .. placed_type) + place_item = ItemStack(mcl_bamboo.bamboo_index[placed_type]) + rand_height = pr:next(BAMBOO_MAX_HEIGHT - 4, BAMBOO_MAX_HEIGHT) + end + + local node_above_name = minetest.get_node(pointed_thing.above).name + mcl_bamboo.mcl_log("\n\n\nnode_above name: " .. node_above_name) + if node_above_name ~= "mcl_core:water_source" and node_above_name ~= "mcl_core:lava_source" + and node_above_name ~= "mcl_nether:nether_lava_source" then + local _, position = minetest.item_place(place_item, placer, pointed_thing, fdir) + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item(1) + end + if rand_height and rand_height > 1 then + if position then + mcl_bamboo.mcl_log("Setting Height Data...") + meta = minetest.get_meta(position) + if meta then + meta:set_int("height", rand_height) + end + end + end + return itemstack, pointed_thing.under + else + return + end + end, + + on_destruct = function(pos) + -- Node destructor; called before removing node. + local new_pos = vector.offset(pos, 0, 1, 0) + local node_above = minetest.get_node(new_pos) + local bamboo_node = mcl_bamboo.is_bamboo(node_above.name) or 0 + local istack = ItemStack(BAMBOO) + local sound_params = { + pos = new_pos, + gain = 1.0, -- default + max_hear_distance = 10, -- default, uses a Euclidean metric + } + + if node_above and ((bamboo_node and bamboo_node > 0) or node_above.name == BAMBOO_ENDCAP_NAME) then + minetest.remove_node(new_pos) + minetest.sound_play(node_sound.dug, sound_params, true) + if pr:next(1, DOUBLE_DROP_CHANCE) == 1 then + minetest.add_item(new_pos, istack) + end + minetest.add_item(new_pos, istack) + end + end, +} +minetest.register_node(BAMBOO, bamboo_def) + +local bamboo_top = table.copy(bamboo_def) +bamboo_top.groups = {not_in_creative_inventory = 1, handy = 1, axey = 1, choppy = 1, flammable = 3} +bamboo_top.tiles = {"mcl_bamboo_endcap.png"} +bamboo_top.drawtype = "plantlike_rooted" --"plantlike" +--bamboo_top.paramtype2 = "meshoptions" +--bamboo_top.param2 = 2 +-- bamboo_top.waving = 2 +bamboo_top.special_tiles = {{name = "mcl_bamboo_endcap.png"}} +bamboo_top.nodebox = nil +bamboo_top.selection_box = nil +bamboo_top.collision_box = nil + +bamboo_top.on_place = function(itemstack, _, _) + -- Should never occur... but, if it does, then nix it. + itemstack:set_name(BAMBOO) + return itemstack +end + +minetest.register_node(BAMBOO_ENDCAP_NAME, bamboo_top) + +local bamboo_block_def = { + description = "Bamboo Block", + tiles = {"mcl_bamboo_bamboo_bottom.png", "mcl_bamboo_bamboo_bottom.png", "mcl_bamboo_bamboo_block.png"}, + groups = {handy = 1, building_block = 1, axey = 1, flammable = 2, material_wood = 1, bamboo_block = 1, fire_encouragement = 5, fire_flammability = 5}, + sounds = node_sound, + paramtype2 = "facedir", + drops = "mcl_bamboo:bamboo_block", + _mcl_blast_resistance = 3, + _mcl_hardness = 2, + _mcl_stripped_variant = "mcl_bamboo:bamboo_block_stripped", -- this allows us to use the built in Axe's strip block. + on_place = function(itemstack, placer, pointed_thing) + + local pos = pointed_thing.under + + if mcl_bamboo.is_protected(pos, placer) then + return + end + + -- Use pointed node's on_rightclick function first, if present + local node = minetest.get_node(pointed_thing.under) + if placer and not placer:get_player_control().sneak then + if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then + return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) or itemstack + end + end + + return minetest.item_place(itemstack, placer, pointed_thing, minetest.dir_to_facedir(vector.direction(pointed_thing.above, pointed_thing.under))) + end, +} + +minetest.register_node("mcl_bamboo:bamboo_block", bamboo_block_def) + +local bamboo_stripped_block = table.copy(bamboo_block_def) +bamboo_stripped_block.on_rightclick = nil +bamboo_stripped_block.description = S("Stripped Bamboo Block") +bamboo_stripped_block.tiles = {"mcl_bamboo_bamboo_bottom_stripped.png", "mcl_bamboo_bamboo_bottom_stripped.png", + "mcl_bamboo_bamboo_block_stripped.png"} +minetest.register_node("mcl_bamboo:bamboo_block_stripped", bamboo_stripped_block) +minetest.register_node("mcl_bamboo:bamboo_plank", { + description = S("Bamboo Plank"), + _doc_items_longdesc = S("Bamboo Plank"), + _doc_items_hidden = false, + tiles = {"mcl_bamboo_bamboo_plank.png"}, + stack_max = 64, + is_ground_content = false, + groups = {handy = 1, axey = 1, flammable = 3, wood = 1, building_block = 1, material_wood = 1, fire_encouragement = 5, fire_flammability = 20}, + sounds = mcl_sounds.node_sound_wood_defaults(), + _mcl_blast_resistance = 3, + _mcl_hardness = 2, +}) + +-- Bamboo Part 2 Base nodes. +-- Bamboo Mosaic +local bamboo_mosaic = table.copy(minetest.registered_nodes[BAMBOO_PLANK]) +bamboo_mosaic.tiles = {"mcl_bamboo_bamboo_plank_mosaic.png"} +bamboo_mosaic.groups = {handy = 1, axey = 1, flammable = 3, fire_encouragement = 5, fire_flammability = 20} +bamboo_mosaic.description = S("Bamboo Mosaic Plank") +bamboo_mosaic._doc_items_longdesc = S("Bamboo Mosaic Plank") +minetest.register_node("mcl_bamboo:bamboo_mosaic", bamboo_mosaic) + +--[[ Bamboo alternative node types. Note that the table.copy's are very important! if you use a common node def and +make changes, even after registering them, the changes overwrite the previous node definitions, and in this case, +you will end up with 4 nodes all being type 3. --]] + +local bamboo_one_def = table.copy(bamboo_def) +bamboo_one_def.node_box = { + type = "fixed", + fixed = { + {-0.05, -0.5, 0.285, -0.275, 0.5, 0.06}, + } +} +bamboo_one_def.collision_box = { + -- see [Node boxes] for possibilities + type = "fixed", + fixed = { + {-0.05, -0.5, 0.285, -0.275, 0.5, 0.06}, + } +} +bamboo_one_def.selection_box = { + type = "fixed", + fixed = { + {-0.05, -0.5, 0.285, -0.275, 0.5, 0.06}, + } +} +bamboo_one_def.groups = {not_in_creative_inventory = 1, handy = 1, axey = 1, choppy = 1, flammable = 3} +mcl_bamboo.mcl_log(dump(mcl_bamboo.bamboo_index)) +minetest.register_node(mcl_bamboo.bamboo_index[2], bamboo_one_def) +local bamboo_two_def = table.copy(bamboo_def) + +bamboo_two_def.node_box = { + type = "fixed", + fixed = { + {0.25, -0.5, 0.325, 0.025, 0.5, 0.100}, + } +} +bamboo_two_def.collision_box = { + -- see [Node boxes] for possibilities + type = "fixed", + fixed = { + {0.25, -0.5, 0.325, 0.025, 0.5, 0.100}, + } +} +bamboo_two_def.selection_box = { + type = "fixed", + fixed = { + {0.25, -0.5, 0.325, 0.025, 0.5, 0.100}, + } +} +bamboo_two_def.groups = {not_in_creative_inventory = 1, handy = 1, axey = 1, choppy = 1, flammable = 3} +minetest.register_node(mcl_bamboo.bamboo_index[3], bamboo_two_def) +local bamboo_three_def = table.copy(bamboo_def) + +bamboo_three_def.node_box = { + type = "fixed", + fixed = { + {-0.125, -0.5, 0.125, -0.3125, 0.5, 0.3125}, + } +} +bamboo_three_def.collision_box = { + -- see [Node boxes] for possibilities + type = "fixed", + fixed = { + {-0.125, -0.5, 0.125, -0.3125, 0.5, 0.3125}, + } +} +bamboo_three_def.selection_box = { + type = "fixed", + fixed = { + {-0.125, -0.5, 0.125, -0.3125, 0.5, 0.3125}, + } +} +bamboo_three_def.groups = {not_in_creative_inventory = 1, handy = 1, axey = 1, choppy = 1, flammable = 3} +minetest.register_node(mcl_bamboo.bamboo_index[4], bamboo_three_def) diff --git a/mods/ITEMS/mcl_bamboo/bamboo_items.lua b/mods/ITEMS/mcl_bamboo/bamboo_items.lua new file mode 100644 index 000000000..70a7bf35b --- /dev/null +++ b/mods/ITEMS/mcl_bamboo/bamboo_items.lua @@ -0,0 +1,600 @@ +--- +--- Generated by EmmyLua(https://github.com/EmmyLua) +--- Created by michieal. +--- DateTime: 12/29/22 12:38 PM -- Restructure Date +--- Copyright (C) 2022 - 2023, Michieal. See License.txt + +-- CONSTS +-- Due to door fix #2736, doors are displayed backwards. When this is fixed, set this variable to false. +local BROKEN_DOORS = true + +-- FUTURE USE VARIABLE. MUST REMAIN FALSE UNTIL IT HAS BEEN FULLY IMPLEMENTED. DO NOT ENABLE. +local SIDE_SCAFFOLDING = false +local SIDE_SCAFFOLD_NAME = "mcl_bamboo:scaffolding_horizontal" +-- --------------------------------------------------------------------------- +local SCAFFOLDING_NAME = "mcl_bamboo:scaffolding" +-- Used everywhere. Often this is just the name, but it makes sense to me as BAMBOO, because that's how I think of it... +-- "BAMBOO" goes here. +local BAMBOO = "mcl_bamboo:bamboo" +local BAMBOO_PLANK = BAMBOO .. "_plank" + +-- LOCALS +local modname = minetest.get_current_modname() +local S = minetest.get_translator(modname) +local adj_nodes = { + vector.new(0, 0, 1), + vector.new(1, 0, 0), + vector.new(0, 0, -1), + vector.new(-1, 0, 0), +} +local node_sound = mcl_sounds.node_sound_wood_defaults() + +-- specific bamboo nodes (Items)... Pt. 1 +if minetest.get_modpath("mcl_flowerpots") then + mcl_bamboo.mcl_log("FlowerPot Section Entrance. Modpath exists.") + if mcl_flowerpots ~= nil then + -- Flower-potted Bamboo... + local flwr_name = BAMBOO + local flwr_def = { name = "bamboo_plant", + desc = S("Bamboo"), + image = "mcl_bamboo_bamboo_fpm.png", -- use with "register_potted_cube" + -- "mcl_bamboo_flower_pot.png", -- use with "register_potted_flower" + } + + -- Chose cube over "potted_flower" as "potted flower" looks bad. + mcl_flowerpots.register_potted_cube(flwr_name, flwr_def) -- mcl_flowerpots.register_potted_flower(flwr_name, flwr_def) + minetest.register_alias("bamboo_flower_pot", "mcl_flowerpots:flower_pot_bamboo_plant") + end +end + +if minetest.get_modpath("mcl_doors") then + if mcl_doors then + local top_door_tiles = {} + local bot_door_tiles = {} + + if BROKEN_DOORS then + top_door_tiles = { "mcl_bamboo_door_top_alt.png", "mcl_bamboo_door_top.png" } + bot_door_tiles = { "mcl_bamboo_door_bottom_alt.png", "mcl_bamboo_door_bottom.png" } + else + top_door_tiles = { "mcl_bamboo_door_top.png", "mcl_bamboo_door_top.png" } + bot_door_tiles = { "mcl_bamboo_door_bottom.png", "mcl_bamboo_door_bottom.png" } + end + + local name = "mcl_bamboo:bamboo_door" + local def = { + description = S("Bamboo Door."), + inventory_image = "mcl_bamboo_door_wield.png", + wield_image = "mcl_bamboo_door_wield.png", + groups = { handy = 1, axey = 1, material_wood = 1, flammable = -1 }, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + tiles_bottom = bot_door_tiles, + tiles_top = top_door_tiles, + sounds = mcl_sounds.node_sound_wood_defaults(), + } + + mcl_doors:register_door(name, def) + + name = "mcl_bamboo:bamboo_trapdoor" + local trap_def = { + description = S("Bamboo Trapdoor."), + inventory_image = "mcl_bamboo_door_complete.png", + groups = {}, + tile_front = "mcl_bamboo_trapdoor_side.png", + tile_side = "mcl_bamboo_trapdoor_side.png", + _doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."), + _doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."), + wield_image = "mcl_bamboo_trapdoor_side.png", + inventory_image = "mcl_bamboo_trapdoor_side.png", + groups = { handy = 1, axey = 1, mesecon_effector_on = 1, material_wood = 1, flammable = -1 }, + _mcl_hardness = 3, + _mcl_blast_resistance = 3, + sounds = mcl_sounds.node_sound_wood_defaults(), + } + + mcl_doors:register_trapdoor(name, trap_def) + + minetest.register_alias("bamboo_door", "mcl_bamboo:bamboo_door") + minetest.register_alias("bamboo_trapdoor", "mcl_bamboo:bamboo_trapdoor") + end +end + +if minetest.get_modpath("mcl_stairs") then + if mcl_stairs ~= nil then + mcl_stairs.register_stair_and_slab_simple( + "bamboo_block", + "mcl_bamboo:bamboo_block", + S("Bamboo Stair"), + S("Bamboo Slab"), + S("Double Bamboo Slab") + ) + mcl_stairs.register_stair_and_slab_simple( + "bamboo_stripped", + "mcl_bamboo:bamboo_block_stripped", + S("Stripped Bamboo Stair"), + S("Stripped Bamboo Slab"), + S("Double Stripped Bamboo Slab") + ) + mcl_stairs.register_stair_and_slab_simple( + "bamboo_plank", + BAMBOO_PLANK, + S("Bamboo Plank Stair"), + S("Bamboo Plank Slab"), + S("Double Bamboo Plank Slab") + ) + + -- let's add plank slabs to the wood_slab group. + local bamboo_plank_slab = "mcl_stairs:slab_bamboo_plank" + local node_groups = { + wood_slab = 1, + building_block = 1, + slab = 1, + axey = 1, + handy = 1, + stair = 1, + flammable = 1, + fire_encouragement = 5, + fire_flammability = 20 + } + + minetest.override_item(bamboo_plank_slab, { groups = node_groups }) + end +end + +if minetest.get_modpath("mesecons_pressureplates") then + + if mesecon ~= nil and mesecon.register_pressure_plate ~= nil then + -- make sure that pressure plates are installed. + + -- Bamboo Pressure Plate... + + -- Register a Pressure Plate (api command doc.) + -- basename: base name of the pressure plate + -- description: description displayed in the player's inventory + -- textures_off:textures of the pressure plate when inactive + -- textures_on: textures of the pressure plate when active + -- image_w: wield image of the pressure plate + -- image_i: inventory image of the pressure plate + -- recipe: crafting recipe of the pressure plate + -- sounds: sound table (like in minetest.register_node) + -- plusgroups: group memberships (attached_node=1 and not_in_creative_inventory=1 are already used) + -- activated_by: optimal table with elements denoting by which entities this pressure plate is triggered + -- Possible table fields: + -- * player=true: Player + -- * mob=true: Mob + -- By default, is triggered by all entities + -- longdesc: Customized long description for the in-game help (if omitted, a dummy text is used) + + mesecon.register_pressure_plate( + "mcl_bamboo:pressure_plate_bamboo_wood", + S("Bamboo Pressure Plate"), + { "mcl_bamboo_bamboo_plank.png" }, + { "mcl_bamboo_bamboo_plank.png" }, + "mcl_bamboo_bamboo_plank.png", + nil, + { { BAMBOO_PLANK, BAMBOO_PLANK } }, + mcl_sounds.node_sound_wood_defaults(), + { axey = 1, material_wood = 1 }, + nil, + S("A wooden pressure plate is a redstone component which supplies its surrounding blocks with redstone power while any movable object (including dropped items, players and mobs) rests on top of it.")) + + minetest.register_craft({ + type = "fuel", + recipe = "mcl_bamboo:pressure_plate_bamboo_wood_off", + burntime = 15 + }) + minetest.register_alias("bamboo_pressure_plate", "mcl_bamboo:pressure_plate_bamboo_wood") + + end +end + +if minetest.get_modpath("mcl_signs") then + mcl_bamboo.mcl_log("Signs Section Entrance. Modpath exists.") + if mcl_signs ~= nil then + -- Bamboo Signs... + mcl_signs.register_sign_custom("mcl_bamboo", "_bamboo", "mcl_bamboo_bamboo_sign.png", + "#ffffff", "mcl_bamboo_bamboo_sign_wield.png", "mcl_bamboo_bamboo_sign_wield.png", + "Bamboo Sign") + mcl_signs.register_sign_craft("mcl_bamboo", BAMBOO_PLANK, "_bamboo") + minetest.register_alias("bamboo_sign", "mcl_signs:wall_sign_bamboo") + end +end + +if minetest.get_modpath("mcl_fences") then + mcl_bamboo.mcl_log("Fences Section Entrance. Modpath exists.") + + local id = "bamboo_fence" + local wood_groups = { handy = 1, axey = 1, flammable = 2, fence_wood = 1, fire_encouragement = 5, fire_flammability = 20 } + local wood_connect = { "group:fence_wood" } + + local fence_id = mcl_fences.register_fence(id, S("Bamboo Fence"), "mcl_bamboo_fence_bamboo.png", wood_groups, + 2, 15, wood_connect, node_sound) + local gate_id = mcl_fences.register_fence_gate(id, S("Bamboo Fence Gate"), "mcl_bamboo_fence_gate_bamboo.png", + wood_groups, 2, 15, node_sound) -- note: about missing params.. will use defaults. + + mcl_bamboo.mcl_log(dump(fence_id)) + mcl_bamboo.mcl_log(dump(gate_id)) +end + +if minetest.get_modpath("mesecons_button") then + if mesecon ~= nil then + mesecon.register_button( + "bamboo", + S("Bamboo Button"), + "mcl_bamboo_bamboo_plank.png", + BAMBOO_PLANK, + node_sound, + { material_wood = 1, handy = 1, pickaxey = 1, flammable = 3, fire_flammability = 20, fire_encouragement = 5, }, + 1, + false, + S("A bamboo button is a redstone component made out of stone which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for 1 second."), + "mesecons_button_push") + end +end + +if minetest.get_modpath("mcl_stairs") then + if mcl_stairs ~= nil then + mcl_stairs.register_stair_and_slab_simple( + "bamboo_mosaic", + "mcl_bamboo:bamboo_mosaic", + S("Bamboo Mosaic Stair"), + S("Bamboo Mosaic Slab"), + S("Double Bamboo Mosaic Slab") + ) + end +end + +local disallow_on_rotate +if minetest.get_modpath("screwdriver") then + disallow_on_rotate = screwdriver.disallow +end + +minetest.register_node(SCAFFOLDING_NAME, { + description = S("Scaffolding"), + doc_items_longdesc = S("Scaffolding block used to climb up or out across areas."), + doc_items_hidden = false, + tiles = { "mcl_bamboo_scaffolding_top.png", "mcl_bamboo_scaffolding_top.png", "mcl_bamboo_scaffolding_bottom.png" }, + drawtype = "nodebox", + paramtype = "light", + use_texture_alpha = "clip", + node_box = { + type = "fixed", + fixed = { + { -0.5, 0.375, -0.5, 0.5, 0.5, 0.5 }, + { -0.5, -0.5, -0.5, -0.375, 0.5, -0.375 }, + { 0.375, -0.5, -0.5, 0.5, 0.5, -0.375 }, + { 0.375, -0.5, 0.375, 0.5, 0.5, 0.5 }, + { -0.5, -0.5, 0.375, -0.375, 0.5, 0.5 }, + } + }, + selection_box = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }, + }, + }, + buildable_to = false, + is_ground_content = false, + walkable = false, + climbable = true, + physical = true, + node_placement_prediction = "", + groups = { handy = 1, axey = 1, flammable = 3, building_block = 1, material_wood = 1, fire_encouragement = 5, fire_flammability = 20, dig_by_piston = 1, falling_node = 1, stack_falling = 1 }, + sounds = mcl_sounds.node_sound_wood_defaults(), + _mcl_blast_resistance = 0, + _mcl_hardness = 0, + + on_rotate = disallow_on_rotate, + + on_place = function(itemstack, placer, pointed) + mcl_bamboo.mcl_log("Checking for protected placement of scaffolding.") + local node = minetest.get_node(pointed.under) + local pos = pointed.under + local h = 0 + local current_base_node = node -- Current Base Node. + local below_node = minetest.get_node(vector.offset(pos, 0, -1, 0)) -- current node below the current_base_node. + + mcl_bamboo.mcl_log("Below Node: " .. below_node.name) + + -- check protected placement. + if mcl_bamboo.is_protected(pos, placer) then + return + end + mcl_bamboo.mcl_log("placement of scaffolding is not protected.") + -- place on solid nodes + -- Need to add in a check here... to prevent placing scaffolds against doors, chests, etc. + -- Added in a quick check. need to test it. + if node.name ~= SCAFFOLDING_NAME then + -- Start temp fix: This is a temp fix... will NOT work in final scaffolding implementation. + -- Use pointed node's on_rightclick function first, if present + if placer and not placer:get_player_control().sneak then + if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then + mcl_bamboo.mcl_log("attempting placement of bamboo via targeted node's on_rightclick.") + return minetest.registered_nodes[node.name].on_rightclick(pointed.under, node, placer, itemstack) or itemstack + end + end + -- End: Temp fix + + -- A quick check, that may or may not work, to attempt to prevent placing things on the side of other nodes. + local dir = vector.subtract(pointed.under, pointed.above) + local wdir = minetest.dir_to_wallmounted(dir) + if wdir == 1 then + minetest.set_node(pointed.above, { name = SCAFFOLDING_NAME, param2 = 0 }) + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item(1) + end + return itemstack + else + return + end + end + + --build up when placing on existing scaffold + --[[ + Quick explanation. scaffolding should be placed at the ground level ONLY. To do this, we look at a few + different nodes. Current node (current_node) is the top node being placed - make sure that it is air / unoccupied. + below_node (below node) is the node below the bottom node; Used to check to see if we are up in the air putting + more scaffolds on the top.. current_base_node (Current Base Node) is the targeted node for placement; we can only place + scaffolding on this one, to stack them up in the air. + --]] + repeat -- loop through, allowing placement. + pos = vector.offset(pos, 0, 1, 0) -- cleaned up vector. + local current_node = minetest.get_node(pos) -- current node. + if current_node.name == "air" then + -- first step to making scaffolding work like scaffolding should. + -- Prevent running up, and putting down new scaffolding + if current_base_node.name == SCAFFOLDING_NAME and below_node == SCAFFOLDING_NAME and SIDE_SCAFFOLDING == false then + return itemstack + end + + -- Make sure that the uppermost scaffolding doesn't violate protected areas. + if mcl_bamboo.is_protected(pos, placer) then + return itemstack + end + + -- okay, we're good. place the node and take the item unless we are in creative mode. + minetest.set_node(pos, node) + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item(1) + end + -- set the wielded item to the correct itemstack. (possibly unneeded code. but, works.) + placer:set_wielded_item(itemstack) + return itemstack -- finally, return the itemstack to finish on_place. + end + h = h + 1 + until current_node.name ~= node.name or itemstack:get_count() == 0 or h >= 128 -- loop check. + end, + on_destruct = function(pos) + -- Node destructor; called before removing node. + local new_pos = vector.offset(pos, 0, 1, 0) + local node_above = minetest.get_node(new_pos) + if node_above and node_above.name == SCAFFOLDING_NAME then + local sound_params = { + pos = new_pos, + gain = 1.0, -- default + max_hear_distance = 10, -- default, uses a Euclidean metric + } + + minetest.remove_node(new_pos) + minetest.sound_play(node_sound.dug, sound_params, true) + local istack = ItemStack(SCAFFOLDING_NAME) + minetest.add_item(new_pos, istack) + end + end, +}) + +-- FOR FUTURE USE. DO NOT ENABLE. DO NOT UNCOMMENT OUT. THIS WILL BREAK THE SCAFFOLDING, IF NOT FINISHED. +-- YOU HAVE BEEN WARNED. +--[[ +if SIDE_SCAFFOLDING then +minetest.register_node(SCAFFOLDING_NAME, { + description = S("Scaffolding"), + doc_items_longdesc = S("Scaffolding block used to climb up or out across areas."), + doc_items_hidden = false, + tiles = {"mcl_bamboo_scaffolding_top.png", "mcl_bamboo_scaffolding_top.png", "mcl_bamboo_scaffolding_bottom.png"}, + drawtype = "nodebox", + paramtype = "light", + use_texture_alpha = "clip", + node_box = { + type = "fixed", + fixed = { + {-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, -0.5, -0.375, 0.5, -0.375}, + {0.375, -0.5, -0.5, 0.5, 0.5, -0.375}, + {0.375, -0.5, 0.375, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0.375, -0.375, 0.5, 0.5}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + }, + buildable_to = false, + is_ground_content = false, + walkable = false, + climbable = true, + physical = true, + node_placement_prediction = "", + groups = {handy = 1, axey = 1, flammable = 3, building_block = 1, material_wood = 1, fire_encouragement = 5, fire_flammability = 20, falling_node = 1, stack_falling = 1}, + sounds = mcl_sounds.node_sound_wood_defaults(), + _mcl_blast_resistance = 0, + _mcl_hardness = 0, + + on_rotate = disallow_on_rotate, + + on_place = function(itemstack, placer, pointed) + mcl_bamboo.mcl_log("Checking for protected placement of scaffolding.") + local node = minetest.get_node(pointed.under) + local pos = pointed.under + local dir = vector.subtract(pointed.under, pointed.above) + local wdir = minetest.dir_to_wallmounted(dir) + local h = 0 + mcl_bamboo.mcl_log("WDIR: " .. wdir) + local fdir = minetest.dir_to_facedir(dir, true) + mcl_bamboo.mcl_log("FDIR: " .. fdir) + + local down_two = minetest.get_node(vector.offset(pointed.under, 0, -1, 0)) + + if wdir == 1 then + -- standing placement. + + if mcl_bamboo.is_protected(pos, placer) then + return + end + mcl_bamboo.mcl_log("placement of scaffolding is not protected.") + -- place on solid nodes + if node.name ~= SCAFFOLDING_NAME then + minetest.set_node(pointed.above, {name = SCAFFOLDING_NAME, param2 = 0}) + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item(1) + end + return itemstack + end + --build up when placing on existing scaffold + repeat + pos.y = pos.y + 1 + local current_node = minetest.get_node(pos) + local current_base_node = node + local below_node = down_two + if current_node.name == "air" then + -- first step to making scaffolding work like Minecraft scaffolding. + if current_base_node.name == SCAFFOLDING_NAME and below_node == SCAFFOLDING_NAME and SIDE_SCAFFOLDING == false then + return itemstack + end + + if mcl_bamboo.is_protected(pos, placer) then + return + end + + minetest.set_node(pos, node) + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item(1) + end + placer:set_wielded_item(itemstack) + return itemstack + end + h = h + 1 + until current_node.name ~= node.name or itemstack:get_count() == 0 or h >= 128 + + -- Commenting out untested code, for commit. + if SIDE_SCAFFOLDING == true then + local meta = minetest.get_meta(pos) + + if not meta then + return false + end + -- local count = meta:get_int("count", 0) + + h = minetest.get_node(pointed.under).param2 + local new_pos = pointed.under + repeat + local ctrl = placer:get_player_control() + if ctrl and ctrl.sneak then + if node.name == SCAFFOLDING_NAME or node.name == SIDE_SCAFFOLD_NAME then + local param_2 = h + + local node_param2 = param_2 + 1 + fdir = fdir + 1 -- convert fdir to a base of one. + local target_offset = adj_nodes[fdir] + + new_pos = vector.offset(new_pos, target_offset.x, 0, target_offset.z) + if mcl_bamboo.is_protected(new_pos, placer) then + -- disallow placement in protected area + return + end + + itemstack:take_item(1) + if minetest.get_node(new_pos).name == "air" then + minetest.set_node(new_pos, {name = SIDE_SCAFFOLD_NAME, param2 = node_param2}) + if node_param2 >= 6 then + node_param2 = 6 + minetest.minetest.dig_node(new_pos) + end + end + return itemstack + + end + + h = h + 1 + + end + until h >= 7 or itemstack.get_count() <= 0 + end + end + end, + on_destruct = function(pos) + -- Node destructor; called before removing node. + local new_pos = vector.offset(pos, 0, 1, 0) + local node_above = minetest.get_node(new_pos) + if node_above and node_above.name == SCAFFOLDING_NAME then + local sound_params = { + pos = new_pos, + gain = 1.0, -- default + max_hear_distance = 10, -- default, uses a Euclidean metric + } + + minetest.remove_node(new_pos) + minetest.sound_play(node_sound.dug, sound_params, true) + local istack = ItemStack(SCAFFOLDING_NAME) + minetest.add_item(new_pos, istack) + end + end, +}) + +minetest.register_node(SIDE_SCAFFOLD_NAME, { + description = S("Scaffolding"), + doc_items_longdesc = S("Scaffolding block used to climb up or out across areas."), + doc_items_hidden = false, + tiles = {"mcl_bamboo_scaffolding_top.png", "mcl_bamboo_scaffolding_top.png", "mcl_bamboo_scaffolding_bottom.png"}, + drop = "mcl_bamboo:scaffolding", + drawtype = "nodebox", + paramtype = "light", + use_texture_alpha = "clip", + node_box = { + type = "fixed", + fixed = { + {-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, + {-0.5, -0.5, -0.5, -0.375, 0.5, -0.375}, + {0.375, -0.5, -0.5, 0.5, 0.5, -0.375}, + {0.375, -0.5, 0.375, 0.5, 0.5, 0.5}, + {-0.5, -0.5, 0.375, -0.375, 0.5, 0.5}, + {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + }, + groups = {handy = 1, axey = 1, flammable = 3, building_block = 1, material_wood = 1, fire_encouragement = 5, fire_flammability = 20, not_in_creative_inventory = 1, falling_node = 1}, + _mcl_after_falling = function(pos) + if minetest.get_node(pos).name == "mcl_bamboo:scaffolding_horizontal" then + if minetest.get_node(vector.offset(pos, 0, 0, 0)).name ~= SCAFFOLDING_NAME then + minetest.remove_node(pos) + minetest.add_item(pos, SCAFFOLDING_NAME) + else + minetest.set_node(vector.offset(pos, 0, 1, 0), {name = SIDE_SCAFFOLD_NAME}) + end + end + end, + buildable_to = false, + is_ground_content = false, + walkable = false, + climbable = true, + physical = true, + + on_rotate = disallow_on_rotate, + + on_place = function(itemstack, placer, pointed_thing) + -- this function shouldn't be called, as this is never placed by the user. + -- it's placed only as a variant of regular scaffolding. + return false + end + + +}) +end +--]] diff --git a/mods/ITEMS/mcl_bamboo/globals.lua b/mods/ITEMS/mcl_bamboo/globals.lua new file mode 100644 index 000000000..f96395228 --- /dev/null +++ b/mods/ITEMS/mcl_bamboo/globals.lua @@ -0,0 +1,295 @@ +--- +--- Generated by EmmyLua(https://github.com/EmmyLua) +--- Created by michieal. +--- DateTime: 12/29/22 12:34 PM -- Restructure Date +--- Copyright (C) 2022 - 2023, Michieal. See License.txt + +local DEBUG = false + +local rand = math.random +math.randomseed((os.time() + 31) * 31415) -- try to make a valid seed +local BAMBOO_MAX_HEIGHT = 16 -- base height check. + +local BAMBOO_SOIL_DIST = BAMBOO_MAX_HEIGHT * -1 +local BAM_MAX_HEIGHT_STPCHK = BAMBOO_MAX_HEIGHT - 5 +local BAM_MAX_HEIGHT_TOP = BAMBOO_MAX_HEIGHT - 1 +local GROW_DOUBLE_CHANCE = 32 + +--Bamboo can be planted on moss blocks, grass blocks, dirt, coarse dirt, rooted dirt, gravel, mycelium, podzol, sand, red sand, or mud +mcl_bamboo.bamboo_dirt_nodes = { + "mcl_core:redsand", + "mcl_core:sand", + "mcl_core:dirt", + "mcl_core:coarse_dirt", + "mcl_core:dirt_with_grass", + "mcl_core:podzol", + "mcl_core:mycelium", + "mcl_lush_caves:rooted_dirt", + "mcl_lush_caves:moss", + "mcl_mud:mud", +} + +function mcl_bamboo.is_dirt(node_name) + local index = table.indexof(mcl_bamboo.bamboo_dirt_nodes, node_name) + if index == -1 then + return false + else + return true + end +end + +mcl_bamboo.bamboo_index = { + "mcl_bamboo:bamboo", + "mcl_bamboo:bamboo_1", + "mcl_bamboo:bamboo_2", + "mcl_bamboo:bamboo_3", +} + +function mcl_bamboo.is_bamboo(node_name) + local index = table.indexof(mcl_bamboo.bamboo_index, node_name) + if index == -1 then + return false + else + return index + end +end + +--- pos: node position; placer: ObjectRef that is placing the item +--- returns: true if protected, otherwise false. +function mcl_bamboo.is_protected(pos, placer) + local name = placer:get_player_name() + if minetest.is_protected(pos, name) then + minetest.record_protection_violation(pos, name) + return true + end + return false +end + +local BAMBOO_ENDCAP_NAME = "mcl_bamboo:bamboo_endcap" + +-- For when I learn more about the pistons... +function mcl_bamboo.break_orphaned(pos) + mcl_bamboo.mcl_log("Break_Orphaned called.") + local node_below = minetest.get_node(vector.offset(pos, 0, -1, 0)) + local node_name = node_below.name + + -- short circuit checks. + if mcl_bamboo.is_dirt(node_name) or mcl_bamboo.is_bamboo(node_name) or mcl_bamboo.is_bamboo(minetest.get_node(pos).name) == false then + return + end + + -- dig the node. + minetest.remove_node(pos) -- if that fails, remove the node + local istack = ItemStack("mcl_bamboo:bamboo") + local sound_params = { + pos = pos, + gain = 1.0, -- default + max_hear_distance = 10, -- default, uses a Euclidean metric + } + + minetest.remove_node(pos) + minetest.sound_play(mcl_sounds.node_sound_wood_defaults().dug, sound_params, true) + minetest.add_item(pos, istack) +end +--]] + +function mcl_bamboo.grow_bamboo(pos, bonemeal_applied) + local node_above = minetest.get_node(vector.offset(pos, 0, 1, 0)) + mcl_bamboo.mcl_log("Grow bamboo called; bonemeal: " .. tostring(bonemeal_applied)) + + if not bonemeal_applied and mcl_bamboo.is_bamboo(node_above.name) ~= false then + return false -- short circuit this function if we're trying to grow (std) the bamboo and it's not the top shoot. + end + if minetest.get_node_light(pos) < 8 then + return false + end + + -- variables used in more than one spot. + local first_shoot + local chk_pos + local soil_pos + local node_name = "" + local dist = 0 + local node_below + -- ------------------- + + mcl_bamboo.mcl_log("Grow bamboo; checking for soil: ") + -- the soil node below the bamboo. + for py = -1, BAMBOO_SOIL_DIST, -1 do + chk_pos = vector.offset(pos, 0, py, 0) + node_name = minetest.get_node(chk_pos).name + if mcl_bamboo.is_dirt(node_name) then + soil_pos = chk_pos + break + end + if mcl_bamboo.is_bamboo(node_name) == false then + break + end + end + -- requires knowing where the soil node is. + if soil_pos == nil then + return false -- returning false means don't use up the bonemeal. + end + + mcl_bamboo.mcl_log("Grow bamboo; soil found. ") + local grow_amount = rand(1, GROW_DOUBLE_CHANCE) + grow_amount = rand(1, GROW_DOUBLE_CHANCE) + grow_amount = rand(1, GROW_DOUBLE_CHANCE) -- because yeah, not truly random, or even a good prng. + grow_amount = rand(1, GROW_DOUBLE_CHANCE) + local init_height = rand(BAM_MAX_HEIGHT_STPCHK + 1, BAM_MAX_HEIGHT_TOP + 1) + mcl_bamboo.mcl_log("Grow bamboo; random height: " .. init_height) + + node_name = "" + + -- update: add randomized max height to first node's meta data. + first_shoot = vector.offset(soil_pos, 0, 1, 0) + local meta = minetest.get_meta(first_shoot) + node_below = minetest.get_node(first_shoot).name + + mcl_bamboo.mcl_log("Grow bamboo; checking height meta ") + -- check the meta data for the first node, to see how high to make the stalk. + if not meta then + -- if no metadata, set the metadata!!! + meta:set_int("height", init_height) + end + local height = meta:get_int("height", -1) + mcl_bamboo.mcl_log("Grow bamboo; meta-height: " .. height) + if height <= 10 then + height = init_height + meta:set_int("height", init_height) + end + + mcl_bamboo.mcl_log("Grow bamboo; height: " .. height) + + -- Bonemeal: Grows the bamboo by 1-2 stems. (per the minecraft wiki.) + if bonemeal_applied then + -- handle applying bonemeal. + for py = 1, BAM_MAX_HEIGHT_TOP do + -- find the top node of bamboo. + chk_pos = vector.offset(pos, 0, py, 0) + node_name = minetest.get_node(chk_pos).name + dist = vector.distance(soil_pos, chk_pos) + if mcl_bamboo.is_bamboo(node_name) == false or node_name == BAMBOO_ENDCAP_NAME then + break + end + end + + mcl_bamboo.mcl_log("Grow bamboo; dist: " .. dist) + + if node_name == BAMBOO_ENDCAP_NAME then + -- prevent overgrowth + return false + end + + -- check to see if we have a full stalk of bamboo. + if dist >= height - 1 then + if dist == height - 1 then + -- equals top of the stalk before the cap + if node_name == "air" then + mcl_bamboo.mcl_log("Grow bamboo; Placing endcap") + minetest.set_node(vector.offset(chk_pos, 0, 1, 0), { name = BAMBOO_ENDCAP_NAME }) + return true -- returning true means use up the bonemeal. + else + return false + end + else + -- okay, we're higher than the end cap, fail out. + return false -- returning false means don't use up the bonemeal. + end + end + + -- and now, the meat of the section... add bamboo to the stalk. + -- at this point, we should be lower than the generated maximum height. ~ about height -2 or lower. + if dist <= height - 2 then + if node_name == "air" then + -- here we can check to see if we can do up to 2 bamboo shoots onto the stalk + mcl_bamboo.mcl_log("Grow bamboo; Placing bamboo.") + minetest.set_node(chk_pos, { name = node_below }) + -- handle growing a second node. + if grow_amount == 2 then + chk_pos = vector.offset(chk_pos, 0, 1, 0) + if minetest.get_node(chk_pos).name == "air" then + mcl_bamboo.mcl_log("Grow bamboo; OOOH! It's twofer day!") + minetest.set_node(chk_pos, { name = node_below }) + end + end + return true -- exit out with a success. We've added 1-2 nodes, per the wiki. + end + end + end + + -- Non-Bonemeal growth. + for py = 1, BAM_MAX_HEIGHT_TOP do + -- Find the topmost node above the stalk, and check it for "air" + chk_pos = vector.offset(pos, 0, py, 0) + node_below = minetest.get_node(pos).name + node_name = minetest.get_node(chk_pos).name + dist = vector.distance(soil_pos, chk_pos) + + if node_name ~= "air" and mcl_bamboo.is_bamboo(node_name) == false then + break + end + + -- stop growing check. ie, handle endcap placement. + if dist >= height - 1 then + local above_node_name = minetest.get_node(vector.offset(chk_pos, 0, 1, 0)).name + if node_name == "air" and above_node_name == "air" then + if height - 1 == dist then + mcl_bamboo.mcl_log("Grow bamboo; Placing endcap") + minetest.set_node(chk_pos, { name = BAMBOO_ENDCAP_NAME }) + end + end + break + end + + -- handle regular node placement. + -- find the air node above the top shoot. place a node. And then, if short enough, + -- check for second node placement. + if node_name == "air" then + mcl_bamboo.mcl_log("Grow bamboo; dist: " .. dist) + mcl_bamboo.mcl_log("Grow bamboo; Placing bamboo.") + minetest.set_node(chk_pos, { name = node_below }) + -- handle growing a second node. (1 in 32 chance.) + if grow_amount == 2 and dist <= height - 2 then + chk_pos = vector.offset(chk_pos, 0, 1, 0) + if minetest.get_node(chk_pos).name == "air" then + mcl_bamboo.mcl_log("Grow bamboo; OOOH! It's twofer day!") + minetest.set_node(chk_pos, { name = node_below }) + end + end + break + end + end +end + +-- Add Groups function, courtesy of Warr1024. +function mcl_bamboo.add_groups(name, ...) + local def = minetest.registered_items[name] or error(name .. " not found") + local groups = {} + for k, v in pairs(def.groups) do + groups[k] = v + end + local function add_all(x, ...) + if not x then + return + end + groups[x] = 1 + return add_all(...) + end + addall(...) + return minetest.override_item(name, { groups = groups }) +end + +function mcl_bamboo.mcl_log(m, l) + if not m then + minetest.log("error", "expected string, received: " .. m) + return + end + if DEBUG then + if not l then + minetest.log("[mcl_bamboo]: " .. m) + else + minetest.log(l, "[mcl_bamboo]: " .. m) + end + end +end diff --git a/mods/ITEMS/mcl_bamboo/init.lua b/mods/ITEMS/mcl_bamboo/init.lua index 3c7cb58a7..f2323b66c 100644 --- a/mods/ITEMS/mcl_bamboo/init.lua +++ b/mods/ITEMS/mcl_bamboo/init.lua @@ -1,841 +1,106 @@ --- [bamboo] mod by Krock, modified by SmallJoker, Made for MineClone 2 by Michieal (as mcl_bamboo). --- Parts of mcl_scaffolding were used. Mcl_scaffolding originally created by Cora; modified for mcl_bamboo by Michieal. +-- [bamboo] mod by SmallJoker, Made for MineClone 2 by Michieal (as mcl_bamboo). +-- Parts of mcl_scaffolding were used. Mcl_scaffolding originally created by Cora; Fixed and heavily reworked +-- for mcl_bamboo by Michieal. -- Creation date: 12-01-2022 (Dec 1st, 2022) --- License for everything: GPL3 --- Bamboo max height: 12-16 +-- License for Media: CC-BY-SA 4.0 (except where noted); Code: GPLv3 +-- Copyright (C) 2022 - 2023, Michieal. See License.txt -- LOCALS local modname = minetest.get_current_modname() -local S = minetest.get_translator(modname) -local bamboo = "mcl_bamboo:bamboo" -local adj_nodes = { - vector.new(0, 0, 1), - vector.new(0, 0, -1), - vector.new(1, 0, 0), - vector.new(-1, 0, 0), -} -local node_sound = mcl_sounds.node_sound_wood_defaults() - --- CONSTS -local SIDE_SCAFFOLDING = false -local MAKE_STAIRS = true -local DEBUG = false -local USE_END_CAPS = false - --- Due to door fix #2736, doors are displayed backwards. When this is fixed, set this variable to false. -local BROKEN_DOORS = true - --- LOCAL FUNCTIONS - --- Add Groups function, courtesy of Warr1024. -function addgroups(name, ...) - local def = minetest.registered_items[name] or error(name .. " not found") - local groups = {} - for k, v in pairs(def.groups) do - groups[k] = v - end - local function addall(x, ...) - if not x then - return - end - groups[x] = 1 - return addall(...) - end - addall(...) - return minetest.override_item(name, {groups = groups}) -end - -local function create_nodes() - - local bamboo_def = { - description = "Bamboo", - tiles = {"mcl_bamboo_bamboo_bottom.png", "mcl_bamboo_bamboo_bottom.png", "mcl_bamboo_bamboo.png"}, - drawtype = "nodebox", - paramtype = "light", - groups = {handy = 1, axey = 1, choppy = 1, flammable = 3}, - sounds = node_sound, - drops = "mcl_bamboo:bamboo", - inventory_image = "mcl_bamboo_bamboo_shoot.png", - wield_image = "mcl_bamboo_bamboo_shoot.png", - _mcl_blast_resistance = 1, - _mcl_hardness = 2, - node_box = { - type = "fixed", - fixed = { - -- {0.1875, -0.5, -0.125, 0.4125, 0.5, 0.0625}, - -- {-0.125, -0.5, 0.125, -0.3125, 0.5, 0.3125}, - -- {-0.25, -0.5, -0.3125, 0, 0.5, -0.125}, - {-0.175, -0.5, -0.195, 0.05, 0.5, 0.030}, - } - }, - - --[[ - Node Box definitions for alternative styles. - {-0.05, -0.5, 0.285, -0.275, 0.5, 0.06}, - {0.25, -0.5, 0.325, 0.025, 0.5, 0.100}, - {-0.125, -0.5, 0.125, -0.3125, 0.5, 0.3125}, - --]] - - on_place = function(itemstack, placer, pointed_thing) - if pointed_thing.type ~= "node" then - return itemstack - end - local node = minetest.get_node(pointed_thing.under) - local pos = pointed_thing.under - if DEBUG then - minetest.log("mcl_bamboo::Node placement data:") - minetest.log(dump(pointed_thing)) - minetest.log(dump(node)) - end - - if DEBUG then - minetest.log("mcl_bamboo::Checking for protected placement of bamboo.") - end - local pname = placer:get_player_name() - if minetest.is_protected(pos, pname) then - minetest.record_protection_violation(pos, pname) - return - end - if DEBUG then - minetest.log("mcl_bamboo::placement of bamboo is not protected.") - end - - -- Use pointed node's on_rightclick function first, if present - if placer and not placer:get_player_control().sneak then - if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then - if DEBUG then - minetest.log("mcl_bamboo::attempting placement of bamboo via targeted node's on_rightclick.") - end - return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) or itemstack - end - end - - if node.name ~= "mcl_bamboo:bamboo" then - if node.name ~= "mcl_flowerpots:flower_pot" then - if minetest.get_item_group(node.name, "dirt") == 0 then - return itemstack - end - end - end - - if DEBUG then - minetest.log("mcl_bamboo::placing bamboo directly.") - end - return minetest.item_place(itemstack, placer, pointed_thing, minetest.dir_to_facedir(vector.direction(pointed_thing.above, pointed_thing.under))) - - end, - - on_destruct = function(pos) - -- Node destructor; called before removing node. - local new_pos = vector.offset(pos, 0, 1, 0) - local node_above = minetest.get_node(new_pos) - if node_above and node_above.name == "mcl_bamboo:bamboo" then - local sound_params = { - pos = new_pos, - gain = 1.0, -- default - max_hear_distance = 10, -- default, uses a Euclidean metric - } - - minetest.remove_node(new_pos) - minetest.sound_play(node_sound.dug, sound_params, true) - local istack = ItemStack("mcl_bamboo:bamboo") - minetest.add_item(new_pos, istack) - end - end, - } - minetest.register_node("mcl_bamboo:bamboo", bamboo_def) - local bamboo_top = table.copy(bamboo_def) - bamboo_top.groups = {not_in_creative_inventory = 1, handy = 1, axey = 1, choppy = 1, flammable = 3} - - bamboo_top.on_place = function(itemstack, placer, pointed_thing) - if pointed_thing.type ~= "node" then - return itemstack - end - local node = minetest.get_node(pointed_thing.under) - local pos = pointed_thing.under - if DEBUG then - minetest.log("mcl_bamboo::Node placement data:") - minetest.log(dump(pointed_thing)) - minetest.log(dump(node)) - end - - if DEBUG then - minetest.log("mcl_bamboo::Checking for protected placement of bamboo.") - end - local pname = placer:get_player_name() - if pname then - if minetest.is_protected(pos, pname) then - minetest.record_protection_violation(pos, pname) - return - end - --not for player use. - if minetest.is_creative_enabled(pname) == false then - itemstack:set_count(0) - return itemstack - end - end - if DEBUG then - minetest.log("mcl_bamboo::placement of bamboo is not protected.") - end - - if node.name ~= "mcl_bamboo:bamboo" then - return itemstack - end - - if DEBUG then - minetest.log("mcl_bamboo::placing bamboo directly.") - end - return minetest.item_place(itemstack, placer, pointed_thing, minetest.dir_to_facedir(vector.direction(pointed_thing.above, pointed_thing.under))) - end, - - minetest.register_node("mcl_bamboo:bamboo_top", bamboo_top) - - local bamboo_block_def = { - description = "Bamboo Block", - tiles = {"mcl_bamboo_bamboo_bottom.png", "mcl_bamboo_bamboo_bottom.png", "mcl_bamboo_bamboo_block.png"}, - groups = {handy = 1, building_block = 1, axey = 1, flammable = 2, material_wood = 1, bamboo_block = 1, fire_encouragement = 5, fire_flammability = 5}, - sounds = node_sound, - paramtype2 = "facedir", - drops = "mcl_bamboo:bamboo_block", - _mcl_blast_resistance = 3, - _mcl_hardness = 2, - _mcl_stripped_variant = "mcl_bamboo:bamboo_block_stripped", -- this allows us to use the built in Axe's strip block. - on_place = function(itemstack, placer, pointed_thing) - - local pos = pointed_thing.under - - local pname = placer:get_player_name() - if minetest.is_protected(pos, pname) then - minetest.record_protection_violation(pos, pname) - return - end - - -- Use pointed node's on_rightclick function first, if present - local node = minetest.get_node(pointed_thing.under) - if placer and not placer:get_player_control().sneak then - if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then - return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) or itemstack - end - end - - return minetest.item_place(itemstack, placer, pointed_thing, minetest.dir_to_facedir(vector.direction(pointed_thing.above, pointed_thing.under))) - end, - - } - - -- basic bamboo nodes. - minetest.register_node("mcl_bamboo:bamboo_block", bamboo_block_def) - local bamboo_stripped_block = table.copy(bamboo_block_def) - bamboo_stripped_block.on_rightclick = nil - bamboo_stripped_block.description = S("Stripped Bamboo Block") - bamboo_stripped_block.tiles = {"mcl_bamboo_bamboo_bottom.png", "mcl_bamboo_bamboo_bottom.png", "mcl_bamboo_bamboo_block_stripped.png"} - minetest.register_node("mcl_bamboo:bamboo_block_stripped", bamboo_stripped_block) - minetest.register_node("mcl_bamboo:bamboo_plank", { - description = S("Bamboo Plank"), - _doc_items_longdesc = S("Bamboo Plank"), - _doc_items_hidden = false, - tiles = {"mcl_bamboo_bamboo_plank.png"}, - stack_max = 64, - is_ground_content = false, - groups = {handy = 1, axey = 1, flammable = 3, wood = 1, building_block = 1, material_wood = 1, fire_encouragement = 5, fire_flammability = 20}, - sounds = mcl_sounds.node_sound_wood_defaults(), - _mcl_blast_resistance = 3, - _mcl_hardness = 2, - }) - - -- specific bamboo nodes... - if minetest.get_modpath("mcl_flowerpots") then - if DEBUG then - minetest.log("mcl_bamboo::FlowerPot Section Entrance. Modpath exists.") - end - if mcl_flowerpots ~= nil then - -- Flower-potted Bamboo... - local flwr_name = "mcl_bamboo:bamboo" - local flwr_def = {name = "bamboo_plant", - desc = S("Bamboo"), - image = "mcl_bamboo_bamboo_fpm.png", -- use with "register_potted_cube" - -- "mcl_bamboo_flower_pot.png", -- use with "register_potted_flower" - } - - mcl_flowerpots.register_potted_cube(flwr_name, flwr_def) - -- mcl_flowerpots.register_potted_flower(flwr_name, flwr_def) - minetest.register_alias("bamboo_flower_pot", "mcl_flowerpots:flower_pot_bamboo_plant") - end - end - - if minetest.get_modpath("mcl_doors") then - if mcl_doors then - local top_door_tiles = {} - local bot_door_tiles = {} - - if BROKEN_DOORS then - top_door_tiles = {"mcl_bamboo_door_top_alt.png", "mcl_bamboo_door_top.png"} - bot_door_tiles = {"mcl_bamboo_door_bottom_alt.png", "mcl_bamboo_door_bottom.png"} - else - top_door_tiles = {"mcl_bamboo_door_top.png", "mcl_bamboo_door_top.png"} - bot_door_tiles = {"mcl_bamboo_door_bottom.png", "mcl_bamboo_door_bottom.png"} - end - - local name = "mcl_bamboo:bamboo_door" - local def = { - description = S("Bamboo Door."), - inventory_image = "mcl_bamboo_door_wield.png", - wield_image = "mcl_bamboo_door_wield.png", - groups = {handy = 1, axey = 1, material_wood = 1, flammable = -1}, - _mcl_hardness = 3, - _mcl_blast_resistance = 3, - tiles_bottom = bot_door_tiles, - tiles_top = top_door_tiles, - sounds = mcl_sounds.node_sound_wood_defaults(), - } - - --[[ Registers a door - -- name: The name of the door - -- def: a table with the folowing fields: - -- description - -- inventory_image - -- groups - -- tiles_bottom: the tiles of the bottom part of the door {front, side} - -- tiles_top: the tiles of the bottom part of the door {front, side} - -- If the following fields are not defined the default values are used - -- node_box_bottom - -- node_box_top - -- selection_box_bottom - -- selection_box_top - -- only_placer_can_open: if true only the player who placed the door can - -- open it - -- only_redstone_can_open: if true, the door can only be opened by redstone, - -- not by rightclicking it - --]] - - mcl_doors:register_door(name, def) - - name = "mcl_bamboo:bamboo_trapdoor" - local trap_def = { - description = S("Bamboo Trapdoor."), - inventory_image = "mcl_bamboo_door_complete.png", - groups = {}, - tile_front = "mcl_bamboo_trapdoor_top.png", - tile_side = "mcl_bamboo_trapdoor_side.png", - _doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."), - _doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."), - wield_image = "mcl_bamboo_trapdoor_wield.png", - inventory_image = "mcl_bamboo_trapdoor_wield.png", - groups = {handy = 1, axey = 1, mesecon_effector_on = 1, material_wood = 1, flammable = -1}, - _mcl_hardness = 3, - _mcl_blast_resistance = 3, - sounds = mcl_sounds.node_sound_wood_defaults(), - } - - mcl_doors:register_trapdoor(name, trap_def) - - minetest.register_alias("bamboo_door", "mcl_bamboo:bamboo_door") - minetest.register_alias("bamboo_trapdoor", "mcl_bamboo:bamboo_trapdoor") - end - end - - if MAKE_STAIRS then - if minetest.get_modpath("mcl_stairs") then - if mcl_stairs ~= nil then - mcl_stairs.register_stair_and_slab_simple( - "bamboo_block", - "mcl_bamboo:bamboo_block", - S("Bamboo Stair"), - S("Bamboo Slab"), - S("Double Bamboo Slab") - ) - mcl_stairs.register_stair_and_slab_simple( - "bamboo_stripped", - "mcl_bamboo:bamboo_block_stripped", - S("Stripped Bamboo Stair"), - S("Stripped Bamboo Slab"), - S("Double Stripped Bamboo Slab") - ) - mcl_stairs.register_stair_and_slab_simple( - "bamboo_plank", - "mcl_bamboo:bamboo_plank", - S("Bamboo Plank Stair"), - S("Bamboo Plank Slab"), - S("Double Bamboo Plank Slab") - ) - - -- let's add plank slabs to the wood_slab group. - local bamboo_plank_slab = "mcl_stairs:slab_bamboo_plank" - local node_groups = { - wood_slab = 1, - building_block = 1, - slab = 1, - axey = 1, - handy = 1, - stair = 1, - flammable = 1, - fire_encouragement = 5, - fire_flammability = 20 - } - - minetest.override_item(bamboo_plank_slab, {groups = node_groups}) - end - end - end - - if minetest.get_modpath("mesecons_pressureplates") then - - if mesecon ~= nil and mesecon.register_pressure_plate ~= nil then - -- make sure that pressure plates are installed. - - -- Bamboo Pressure Plate... - - -- Register a Pressure Plate (api command doc.) - -- basename: base name of the pressure plate - -- description: description displayed in the player's inventory - -- textures_off:textures of the pressure plate when inactive - -- textures_on: textures of the pressure plate when active - -- image_w: wield image of the pressure plate - -- image_i: inventory image of the pressure plate - -- recipe: crafting recipe of the pressure plate - -- sounds: sound table (like in minetest.register_node) - -- plusgroups: group memberships (attached_node=1 and not_in_creative_inventory=1 are already used) - -- activated_by: optimal table with elements denoting by which entities this pressure plate is triggered - -- Possible table fields: - -- * player=true: Player - -- * mob=true: Mob - -- By default, is triggered by all entities - -- longdesc: Customized long description for the in-game help (if omitted, a dummy text is used) - - mesecon.register_pressure_plate( - "mcl_bamboo:pressure_plate_bamboo_wood", - S("Bamboo Pressure Plate"), - {"mcl_bamboo_bamboo_plank.png"}, - {"mcl_bamboo_bamboo_plank.png"}, - "mcl_bamboo_bamboo_plank.png", - nil, - {{"mcl_bamboo:bamboo_plank", "mcl_bamboo:bamboo_plank"}}, - mcl_sounds.node_sound_wood_defaults(), - {axey = 1, material_wood = 1}, - nil, - S("A wooden pressure plate is a redstone component which supplies its surrounding blocks with redstone power while any movable object (including dropped items, players and mobs) rests on top of it.")) - - minetest.register_craft({ - type = "fuel", - recipe = "mcl_bamboo:pressure_plate_bamboo_wood_off", - burntime = 15 - }) - minetest.register_alias("bamboo_pressure_plate", "mcl_bamboo:pressure_plate_bamboo_wood") - - end - end - - if minetest.get_modpath("mcl_signs") then - if DEBUG then - minetest.log("mcl_bamboo::Signs Section Entrance. Modpath exists.") - end - if mcl_signs ~= nil then - -- Bamboo Signs... - mcl_signs.register_sign_custom("mcl_bamboo", "_bamboo", "mcl_signs_sign_greyscale.png", - "#f6dc91", "default_sign_greyscale.png", "default_sign_greyscale.png", - "Bamboo Sign") - mcl_signs.register_sign_craft("mcl_bamboo", "mcl_bamboo:bamboo_plank", "_bamboo") - minetest.register_alias("bamboo_sign", "mcl_signs:wall_sign_bamboo") - end - end - - if minetest.get_modpath("mcl_fences") then - if DEBUG then - minetest.log("mcl_bamboo::Fences Section Entrance. Modpath exists.") - end - local id = "bamboo_fence" - local id_gate = "bamboo_fence_gate" - local wood_groups = {handy = 1, axey = 1, flammable = 2, fence_wood = 1, fire_encouragement = 5, fire_flammability = 20} - local wood_connect = {"group:fence_wood"} - - local fence_id = mcl_fences.register_fence(id, S("Bamboo Fence"), "mcl_bamboo_fence_bamboo.png", wood_groups, - 2, 15, wood_connect, node_sound) - local gate_id = mcl_fences.register_fence_gate(id, S("Bamboo Fence Gate"), "mcl_bamboo_fence_gate_bamboo.png", - wood_groups, 2, 15, node_sound) -- note: about missing params.. will use defaults. - - if DEBUG then - minetest.log(dump(fence_id)) - minetest.log(dump(gate_id)) - end - - local craft_wood = "mcl_bamboo:bamboo_plank" - minetest.register_craft({ - output = "mcl_bamboo:" .. id .. " 3", - recipe = { - {craft_wood, "mcl_core:stick", craft_wood}, - {craft_wood, "mcl_core:stick", craft_wood}, - } - }) - minetest.register_craft({ - output = "mcl_bamboo:" .. id_gate, - recipe = { - {"mcl_core:stick", craft_wood, "mcl_core:stick"}, - {"mcl_core:stick", craft_wood, "mcl_core:stick"}, - } - }) - -- mcl_fences.register_fence("nether_brick_fence", S("Nether Brick Fence"), "mcl_fences_fence_nether_brick.png", {pickaxey=1, deco_block=1, fence_nether_brick=1}, 2, 30, {"group:fence_nether_brick"}, mcl_sounds.node_sound_stone_defaults()) - minetest.register_alias("bamboo_fence", "mcl_fences:" .. id) - minetest.register_alias("bamboo_fence_gate", "mcl_fences:" .. id_gate) - end - - if minetest.get_modpath("mesecons_button") then - if mesecon ~= nil then - mesecon.register_button( - "bamboo", - S("Bamboo Button"), - "mcl_bamboo_bamboo_plank.png", - "mcl_bamboo:bamboo_plank", - node_sound, - {material_wood = 1, handy = 1, pickaxey = 1, flammable = 3, fire_flammability = 20, fire_encouragement = 5, }, - 1, - false, - S("A bamboo button is a redstone component made out of stone which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for 1 second."), - "mesecons_button_push") - end - end - - minetest.register_node("mcl_bamboo:scaffolding", { - description = S("Scaffolding"), - doc_items_longdesc = S("Scaffolding block used to climb up or out across areas."), - doc_items_hidden = false, - tiles = {"mcl_bamboo_scaffolding_top.png", "mcl_bamboo_scaffolding_top.png", "mcl_bamboo_scaffolding_bottom.png"}, - drawtype = "nodebox", - paramtype = "light", - use_texture_alpha = "clip", - node_box = { - type = "fixed", - fixed = { - {-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, - {-0.5, -0.5, -0.5, -0.375, 0.5, -0.375}, - {0.375, -0.5, -0.5, 0.5, 0.5, -0.375}, - {0.375, -0.5, 0.375, 0.5, 0.5, 0.5}, - {-0.5, -0.5, 0.375, -0.375, 0.5, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, - }, - }, - buildable_to = false, - is_ground_content = false, - walkable = false, - climbable = true, - physical = true, - node_placement_prediction = "", - groups = {handy = 1, axey = 1, flammable = 3, building_block = 1, material_wood = 1, fire_encouragement = 5, fire_flammability = 20, falling_node = 1, stack_falling = 1}, - sounds = mcl_sounds.node_sound_wood_defaults(), - _mcl_blast_resistance = 0, - _mcl_hardness = 0, - on_place = function(itemstack, placer, ptd) - if SIDE_SCAFFOLDING then - -- count param2 up when placing to the sides. Fall when > 6 - local ctrl = placer:get_player_control() - if ctrl and ctrl.sneak then - local pp2 = minetest.get_node(ptd.under).param2 - local np2 = pp2 + 1 - if minetest.get_node(vector.offset(ptd.above, 0, -1, 0)).name == "air" then - minetest.set_node(ptd.above, {name = "mcl_bamboo:scaffolding_horizontal", param2 = np2}) - itemstack:take_item(1) - end - if np2 > 6 then - minetest.check_single_for_falling(ptd.above) - end - return itemstack - end - end - - --place on solid nodes - local node = minetest.get_node(ptd.under) - if itemstack:get_name() ~= node.name then - minetest.set_node(ptd.above, {name = "mcl_bamboo:scaffolding", param2 = 0}) - itemstack:take_item(1) - return itemstack - end - - --build up when placing on existing scaffold - local h = 0 - local pos = ptd.under - repeat - pos.y = pos.y + 1 - h = h + 1 - local cn = minetest.get_node(pos) - if cn.name == "air" then - minetest.set_node(pos, node) - itemstack:take_item(1) - placer:set_wielded_item(itemstack) - return itemstack - end - until cn.name ~= node.name or h >= 32 - end, - on_destruct = function(pos) - -- Node destructor; called before removing node. - local new_pos = vector.offset(pos, 0, 1, 0) - local node_above = minetest.get_node(new_pos) - if node_above and node_above.name == "mcl_bamboo:scaffolding" then - local sound_params = { - pos = new_pos, - gain = 1.0, -- default - max_hear_distance = 10, -- default, uses a Euclidean metric - } - - minetest.remove_node(new_pos) - minetest.sound_play(node_sound.dug, sound_params, true) - local istack = ItemStack("mcl_bamboo:scaffolding") - minetest.add_item(new_pos, istack) - end - end, - - }) - - if SIDE_SCAFFOLDING then - --currently, disabled. - minetest.register_node("mcl_bamboo:scaffolding_horizontal", { - description = S("Scaffolding (horizontal)"), - doc_items_longdesc = S("Scaffolding block used to climb up or out across areas."), - doc_items_hidden = false, - tiles = {"mcl_bamboo_scaffolding_top.png", "mcl_bamboo_scaffolding_top.png", "mcl_bamboo_scaffolding_bottom.png"}, - drawtype = "nodebox", - paramtype = "light", - use_texture_alpha = "clip", - node_box = { - type = "fixed", - fixed = { - {-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, - {-0.5, -0.5, -0.5, -0.375, 0.5, -0.375}, - {0.375, -0.5, -0.5, 0.5, 0.5, -0.375}, - {0.375, -0.5, 0.375, 0.5, 0.5, 0.5}, - {-0.5, -0.5, 0.375, -0.375, 0.5, 0.5}, - {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, - }, - }, - groups = {handy = 1, axey = 1, flammable = 3, building_block = 1, material_wood = 1, fire_encouragement = 5, fire_flammability = 20, not_in_creative_inventory = 1, falling_node = 1}, - _mcl_after_falling = function(pos) - if minetest.get_node(pos).name == "mcl_bamboo:scaffolding_horizontal" then - if minetest.get_node(vector.offset(pos, 0, 0, 0)).name ~= "mcl_bamboo:scaffolding" then - minetest.remove_node(pos) - minetest.add_item(pos, "mcl_bamboo:scaffolding") - else - minetest.set_node(vector.offset(pos, 0, 1, 0), {name = "mcl_bamboo:scaffolding"}) - end - end - end - }) - end -end - -local function register_craftings() - -- Craftings - - minetest.register_craft({ - output = bamboo .. "_block", - recipe = { - {bamboo, bamboo, bamboo}, - {bamboo, bamboo, bamboo}, - {bamboo, bamboo, bamboo}, - } - }) - - minetest.register_craft({ - output = bamboo .. "_plank 2", - recipe = { - {bamboo .. "_block"}, - } - }) - - minetest.register_craft({ - output = bamboo .. "_plank 2", - recipe = { - {bamboo .. "_block_stripped"}, - } - }) - - minetest.register_craft({ - output = "mcl_core:stick", - recipe = { - {bamboo}, - {bamboo}, - } - }) - - minetest.register_craft({ - output = "mcl_bamboo:scaffolding 6", - recipe = {{bamboo, "mcl_mobitems:string", bamboo}, - {bamboo, "", bamboo}, - {bamboo, "", bamboo}} - }) - - minetest.register_craft({ - output = "mcl_bamboo:bamboo_door 3", - recipe = { - {bamboo .. "_plank", bamboo .. "_plank"}, - {bamboo .. "_plank", bamboo .. "_plank"}, - {bamboo .. "_plank", bamboo .. "_plank"} - } - }) - - minetest.register_craft({ - output = "mcl_bamboo:bamboo_trapdoor 2", - recipe = { - {bamboo .. "_plank", bamboo .. "_plank", bamboo .. "_plank"}, - {bamboo .. "_plank", bamboo .. "_plank", bamboo .. "_plank"}, - } - }) - - -- Fuels - minetest.register_craft({ - type = "fuel", - recipe = "mcl_bamboo:bamboo_door", - burntime = 10, - }) - - minetest.register_craft({ - type = "fuel", - recipe = "mcl_bamboo:bamboo_trapdoor", - burntime = 15, - }) - - minetest.register_craft({ - type = "fuel", - recipe = bamboo, - burntime = 2.5, -- supposed to be 1/2 that of a stick, per minecraft wiki as of JE 1.19.3 - }) - - minetest.register_craft({ - type = "fuel", - recipe = bamboo .. "_block", - burntime = 15, - }) - - minetest.register_craft({ - type = "fuel", - recipe = bamboo .. "_block_stripped", - burntime = 15, - }) - - minetest.register_craft({ - type = "fuel", - recipe = bamboo .. "_plank", - burntime = 7.5, - }) - - minetest.register_craft({ - type = "fuel", - recipe = "mcl_bamboo:scaffolding", - burntime = 20 - }) - - minetest.register_craft({ - type = "fuel", - recipe = "mcl_stairs:slab_bamboo_plank", - burntime = 7.5, - }) - minetest.register_craft({ - type = "fuel", - recipe = "mcl_stairs:slab_bamboo_block", - burntime = 7.5, - }) - minetest.register_craft({ - type = "fuel", - recipe = "mcl_stairs:slab_bamboo_stripped", - burntime = 7.5, - }) - - minetest.register_craft({ - type = "fuel", - recipe = "mesecons_button:button_bamboo_off", - burntime = 5, - }) - -end - -create_nodes() -register_craftings() - --- MAPGEN -dofile(minetest.get_modpath(modname) .. "/mapgen.lua") - -local BAMBOO_MAX_HEIGHT_CHECK = -16 +-- Used everywhere. Often this is just the name, but it makes sense to me as BAMBOO, because that's how I think of it... +-- "BAMBOO" goes here. +local BAMBOO = "mcl_bamboo:bamboo" + +mcl_bamboo = {} + +-- BAMBOO GLOBALS +dofile(minetest.get_modpath(modname) .. "/globals.lua") +-- BAMBOO Base Nodes +dofile(minetest.get_modpath(modname) .. "/bamboo_base.lua") +-- BAMBOO ITEMS +dofile(minetest.get_modpath(modname) .. "/bamboo_items.lua") +-- BAMBOO RECIPES +dofile(minetest.get_modpath(modname) .. "/recipes.lua") + +-- ------------------------------------------------------------ --ABMs minetest.register_abm({ - nodenames = {"mcl_bamboo:bamboo"}, - interval = 40, - chance = 40, - action = function(pos, node) - local soil_pos = nil - if minetest.get_node_light(pos) < 8 then - return - end - local found_soil = false - for py = -1, BAMBOO_MAX_HEIGHT_CHECK, -1 do - local chk_pos = vector.offset(pos, 0, py, 0) - local name = minetest.get_node(chk_pos).name - if minetest.get_item_group(name, "soil") ~= 0 then - found_soil = true - soil_pos = chk_pos - break - elseif name ~= "mcl_bamboo:bamboo" then - break - end - end - if not found_soil then - return - end - for py = 1, 14 do - local npos = vector.offset(pos, 0, py, 0) - local name = minetest.get_node(npos).name - if vector.distance(soil_pos, npos) >= 15 then - -- stop growing check. - if USE_END_CAPS then - if name == "air" then - minetest.set_node(npos, {name = "mcl_bamboo:bamboo_top"}) - end - end - break - end - if name == "air" then - minetest.set_node(npos, {name = "mcl_bamboo:bamboo"}) - break - elseif name ~= "mcl_bamboo:bamboo" then - break - end - end + label = "Bamboo Grow", + nodenames = mcl_bamboo.bamboo_index, + interval = 10, + chance = 20, + action = function(pos, _) + mcl_bamboo.grow_bamboo(pos, false) end, }) +--[[ TODO: Figure out how to make this work: +local function dropper_call(node, pushdir, stack, stackid) + mcl_bamboo.mcl_log("mvps_dropper call for bamboo:") + -- mcl_bamboo.break_orphaned() + + mcl_bamboo.mcl_log(dump(node)) + +end + +if minetest.get_modpath("mesecons_mvps") then + if mesecon then + mcl_bamboo.mcl_log("registering mvps_dropper for bamboo:") + for x = 1, #mcl_bamboo.bamboo_index do + mesecon.register_mvps_dropper(mcl_bamboo.bamboo_index[x],dropper_call) + mcl_bamboo.mcl_log("registering: " .. mcl_bamboo.bamboo_index[x]) + end + end +else +end +--]] + +minetest.register_abm({ + label = "Break Orphaned Bamboo", + nodenames = mcl_bamboo.bamboo_index, + interval = 1.5, + chance = 1, + action = function(pos, _) + mcl_bamboo.break_orphaned(pos) + end, +}) + + -- Base Aliases. +local SCAFFOLDING_NAME = "mcl_bamboo:scaffolding" minetest.register_alias("bamboo_block", "mcl_bamboo:bamboo_block") minetest.register_alias("bamboo_strippedblock", "mcl_bamboo:bamboo_block_stripped") -minetest.register_alias("bamboo", "mcl_bamboo:bamboo") +minetest.register_alias("bamboo", BAMBOO) minetest.register_alias("bamboo_plank", "mcl_bamboo:bamboo_plank") +minetest.register_alias("bamboo_mosaic", "mcl_bamboo:bamboo_mosaic") minetest.register_alias("mcl_stairs:stair_bamboo", "mcl_stairs:stair_bamboo_block") -minetest.register_alias("bamboo:bamboo", "mcl_bamboo:bamboo") +minetest.register_alias("bamboo_stairs", "mcl_stairs:stair_bamboo_block") +minetest.register_alias("bamboo:bamboo", BAMBOO) +minetest.register_alias("scaffold", SCAFFOLDING_NAME) +minetest.register_alias("mcl_scaffolding:scaffolding", SCAFFOLDING_NAME) +minetest.register_alias("mcl_scaffolding:scaffolding_horizontal", SCAFFOLDING_NAME) + +minetest.register_alias("bamboo_fence", "mcl_fences:bamboo_fence") +minetest.register_alias("bamboo_fence_gate", "mcl_fences:bamboo_fence_gate") --[[ -todo -- make scaffolds do side scaffold blocks, so that they jut out. +todo -- make scaffolds do side scaffold blocks, so that they jut out. (Shelved.) todo -- Also, make those blocks collapse (break) when a nearby connected scaffold breaks. -todo -- add in alternative bamboo styles to simulate random placement. (see commented out nde box definitions. -todo -- make endcap node for bamboo, so that they can be 12-16 nodes high and stop growing. -todo -- mash all of that together so that it drops as one item, and chooses what version to be, in on_place. -todo -- Raft -todo -- Raft with Chest. -todo -- Add in Extras. -todo: Added a new "Mosaic" plank variant that is unique to Bamboo called Bamboo Mosaic - It can be crafted with 1x2 Bamboo Slabs in a vertical strip - You can craft Stair and Slab variants of Bamboo Mosaic - Bamboo Mosaic blocks cannot be used as a crafting ingredient where other wooden blocks are used, but they can be - used as fuel. -todo -- add in fuel recipes for: - [-] bamboo slab + stripped bamboo slab - [-] bamboo stair + stripped bamboo stair + bamboo plank stair +waiting on specific things: +todo -- Raft -- need model +todo -- Raft with Chest. same. +todo -- handle bonemeal... (shelved until after redoing the bonemeal api). + +----------------------------------------------------------- +todo -- Add in Extras. -- Moved to Official Mod Pack. + +Notes: +When bone meal is used on it, it grows by 1–2 blocks. Bamboo can grow up to 12–16 blocks tall. +The top of a bamboo plant requires a light level of 9 or above to grow. + +Design Decision - to not make bamboo saplings, and not make them go through a ton of transformations. + --]] diff --git a/mods/ITEMS/mcl_bamboo/locale/template.txt b/mods/ITEMS/mcl_bamboo/locale/template.txt index 1701a4a05..e099419d7 100644 --- a/mods/ITEMS/mcl_bamboo/locale/template.txt +++ b/mods/ITEMS/mcl_bamboo/locale/template.txt @@ -1,7 +1,12 @@ # textdomain: mcl_bamboo +### bamboo_base.lua ### -### init.lua ### +Bamboo Mosaic Plank= +Bamboo Plank= +Stripped Bamboo Block= + +### bamboo_items.lua ### A bamboo button is a redstone component made out of stone which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for 1 second.= @@ -12,18 +17,18 @@ Bamboo Button= Bamboo Door.= Bamboo Fence= Bamboo Fence Gate= -Bamboo Plank= +Bamboo Mosaic Slab= +Bamboo Mosaic Stair= Bamboo Plank Slab= Bamboo Plank Stair= Bamboo Pressure Plate= -Bamboo Sign= Bamboo Slab= Bamboo Stair= Bamboo Trapdoor.= +Double Bamboo Mosaic Slab= Double Bamboo Plank Slab= Double Bamboo Slab= Double Stripped Bamboo Slab= -Nether Brick Fence= Scaffolding= Scaffolding (horizontal)= Scaffolding block used to climb up or out across areas.= @@ -33,4 +38,3 @@ Stripped Bamboo Stair= To open or close the trapdoor, rightclick it or send a redstone signal to it.= Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder.= - diff --git a/mods/ITEMS/mcl_bamboo/mapgen.lua b/mods/ITEMS/mcl_bamboo/mapgen.lua deleted file mode 100644 index 8fa61ca54..000000000 --- a/mods/ITEMS/mcl_bamboo/mapgen.lua +++ /dev/null @@ -1,60 +0,0 @@ -local item_water, item_dirt, item_grass - -item_water = "mcl_core:water_source" -item_dirt = "mcl_core:dirt" -item_grass = "mcl_core:dirt_with_grass" -local function make_bamboo(pos, size) - for y = 0, size - 1 do - local p = {x = pos.x, y = pos.y + y, z = pos.z} - if minetest.get_node(p).name ~= "air" then - return - end - minetest.set_node(p, {name = "mcl_bamboo:bamboo"}) - end -end - -minetest.register_on_generated(function(minp, maxp, seed) - if maxp.y < 2 and minp.y > 0 then - return - end - - local c_grass = minetest.get_content_id(item_grass) - local n_bamboo = minetest.get_perlin(8234, 3, 0.6, 100) - - local vm = minetest.get_voxel_manip() - local emin, emax = vm:read_from_map(minp, maxp) - local area = VoxelArea:new {MinEdge = emin, MaxEdge = emax} - local data = vm:get_data() - - local rand = PseudoRandom(seed % 8000) - for z = minp.z + 2, maxp.z - 2, 4 do - for x = minp.x + 2, maxp.x - 2, 4 do - local bamboo_amount = math.floor(n_bamboo:get_2d({x = x, y = z}) * 7 - 3) - for i = 1, bamboo_amount do - local p_pos = { - x = rand:next(x - 2, x + 2), - y = 0, - z = rand:next(z - 2, z + 2) - } - - local found = false - local node = -1 - for y = 4, 0, -1 do - p_pos.y = y - node = data[area:index(p_pos.x, p_pos.y, p_pos.z)] - if node == c_grass then - found = true - break - end - end - - if found and - minetest.find_node_near(p_pos, 5, {"group:water", item_water}) then - p_pos.y = p_pos.y + 1 - make_bamboo(p_pos, rand:next(4, 12)) - end - end - end - end -end -) diff --git a/mods/ITEMS/mcl_bamboo/mod.conf b/mods/ITEMS/mcl_bamboo/mod.conf index d4b93a7d9..1426b936f 100644 --- a/mods/ITEMS/mcl_bamboo/mod.conf +++ b/mods/ITEMS/mcl_bamboo/mod.conf @@ -1,4 +1,4 @@ name = mcl_bamboo depends = mcl_core, mcl_sounds, mcl_tools -optional_depends = mcl_flowerpots, mclx_stairs, mcl_doors, mcl_signs, mesecons_pressureplates, mcl_fences, mesecons_button +optional_depends = mcl_flowerpots, mclx_stairs, mcl_doors, mcl_signs, mesecons_pressureplates, mcl_fences, mesecons_button, mesecons_mvps author = Michieal \ No newline at end of file diff --git a/mods/ITEMS/mcl_bamboo/recipes.lua b/mods/ITEMS/mcl_bamboo/recipes.lua new file mode 100644 index 000000000..74f9f9879 --- /dev/null +++ b/mods/ITEMS/mcl_bamboo/recipes.lua @@ -0,0 +1,200 @@ +--- +--- Generated by EmmyLua(https://github.com/EmmyLua) +--- Created by michieal. +--- DateTime: 12/29/22 12:46 PM -- Restructure Date +--- These are all of the fuel recipes and all of the crafting recipes, consolidated into one place. +--- Copyright (C) 2022 - 2023, Michieal. See License.txt + +-- Used everywhere. Often this is just the name, but it makes sense to me as BAMBOO, because that's how I think of it... +-- "BAMBOO" goes here. +local BAMBOO = "mcl_bamboo:bamboo" +local BAMBOO_PLANK = BAMBOO .. "_plank" +-- Craftings +-- Basic Bamboo craftings +minetest.register_craft({ + output = "mcl_core:stick", + recipe = { + {BAMBOO}, + {BAMBOO}, + } +}) + +minetest.register_craft({ + output = BAMBOO .. "_block", + recipe = { + {BAMBOO, BAMBOO, BAMBOO}, + {BAMBOO, BAMBOO, BAMBOO}, + {BAMBOO, BAMBOO, BAMBOO}, + } +}) + +minetest.register_craft({ + output = BAMBOO_PLANK .. " 2", + recipe = { + {BAMBOO .. "_block"}, + } +}) + +minetest.register_craft({ + output = BAMBOO_PLANK .. " 2", + recipe = { + {BAMBOO .. "_block_stripped"}, + } +}) + +minetest.register_craft({ + output = BAMBOO .. "_mosaic", + recipe = { + {"mcl_stairs:slab_bamboo_plank"}, + {"mcl_stairs:slab_bamboo_plank"}, + } +}) + +-- Bamboo specific items + +if minetest.get_modpath("mcl_doors") and mcl_doors then + minetest.register_craft({ + output = "mcl_bamboo:bamboo_door 3", + recipe = { + {BAMBOO_PLANK, BAMBOO_PLANK}, + {BAMBOO_PLANK, BAMBOO_PLANK}, + {BAMBOO_PLANK, BAMBOO_PLANK} + } + }) + minetest.register_craft({ + output = "mcl_bamboo:bamboo_trapdoor 2", + recipe = { + {BAMBOO_PLANK, BAMBOO_PLANK, BAMBOO_PLANK}, + {BAMBOO_PLANK, BAMBOO_PLANK, BAMBOO_PLANK}, + } + }) +end +if minetest.get_modpath("mcl_fences") then + minetest.register_craft({ + output = "mcl_bamboo:bamboo_fence 3", + recipe = { + {BAMBOO_PLANK, "mcl_core:stick", BAMBOO_PLANK}, + {BAMBOO_PLANK, "mcl_core:stick", BAMBOO_PLANK}, + } + }) + minetest.register_craft({ + output = "mcl_bamboo:bamboo_fence_gate", + recipe = { + {"mcl_core:stick", BAMBOO_PLANK, "mcl_core:stick"}, + {"mcl_core:stick", BAMBOO_PLANK, "mcl_core:stick"}, + } + }) +end + +minetest.register_craft({ + output = "mcl_bamboo:scaffolding 6", + recipe = {{BAMBOO, "mcl_mobitems:string", BAMBOO}, + {BAMBOO, "", BAMBOO}, + {BAMBOO, "", BAMBOO}} +}) + +-- Fuels +-- Basic Bamboo nodes +minetest.register_craft({ + type = "fuel", + recipe = BAMBOO, + burntime = 2.5, -- supposed to be 1/2 that of a stick, per minecraft wiki as of JE 1.19.3 +}) + +minetest.register_craft({ + type = "fuel", + recipe = BAMBOO .. "_block", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = BAMBOO .. "_block_stripped", + burntime = 15, +}) + +minetest.register_craft({ + type = "fuel", + recipe = BAMBOO_PLANK, + burntime = 7.5, +}) + +minetest.register_craft({ + type = "fuel", + recipe = BAMBOO .. "_mosaic", + burntime = 7.5, +}) + +-- Bamboo Items +if minetest.get_modpath("mcl_doors") then + if mcl_doors then + minetest.register_craft({ + type = "fuel", + recipe = "mcl_bamboo:bamboo_door", + burntime = 10, + }) + + minetest.register_craft({ + type = "fuel", + recipe = "mcl_bamboo:bamboo_trapdoor", + burntime = 15, + }) + end +end + +if minetest.get_modpath("mcl_stairs") then + if mcl_stairs ~= nil then + minetest.register_craft({ + type = "fuel", + recipe = "mcl_stairs:slab_bamboo_plank", + burntime = 7.5, + }) + minetest.register_craft({ + type = "fuel", + recipe = "mcl_stairs:slab_bamboo_block", + burntime = 7.5, + }) + minetest.register_craft({ + type = "fuel", + recipe = "mcl_stairs:slab_bamboo_stripped", + burntime = 7.5, + }) + minetest.register_craft({ + type = "fuel", + recipe = "mcl_stairs:stair_bamboo_plank", + burntime = 15, + }) + minetest.register_craft({ + type = "fuel", + recipe = "mcl_stairs:stair_bamboo_block", + burntime = 15, + }) + minetest.register_craft({ + type = "fuel", + recipe = "mcl_stairs:stair_bamboo_stripped", + burntime = 15, + }) + minetest.register_craft({ + type = "fuel", + recipe = "mcl_stairs:slab_bamboo_mosaic", + burntime = 7.5, + }) + minetest.register_craft({ + type = "fuel", + recipe = "mcl_stairs:stair_bamboo_mosaic", + burntime = 15, + }) + end +end + +minetest.register_craft({ + type = "fuel", + recipe = "mesecons_button:button_bamboo_off", + burntime = 5, +}) + +minetest.register_craft({ + type = "fuel", + recipe = "mcl_bamboo:scaffolding", + burntime = 20 +}) diff --git a/mods/ITEMS/mcl_bamboo/textures/backup/mcl_bamboo_door_bottom.png b/mods/ITEMS/mcl_bamboo/textures/backup/mcl_bamboo_door_bottom.png deleted file mode 100644 index 286cdd381..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/backup/mcl_bamboo_door_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/backup/mcl_bamboo_door_top.png b/mods/ITEMS/mcl_bamboo/textures/backup/mcl_bamboo_door_top.png deleted file mode 100644 index 8aba3c825..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/backup/mcl_bamboo_door_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/backup/mcl_bamboo_door_wield.png b/mods/ITEMS/mcl_bamboo/textures/backup/mcl_bamboo_door_wield.png deleted file mode 100644 index 4c666cc6a..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/backup/mcl_bamboo_door_wield.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_block.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_block.png deleted file mode 100644 index 0bbbd9041..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_block_stripped.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_block_stripped.png deleted file mode 100644 index b9418a27b..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_block_stripped.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_bottom.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_bottom.png deleted file mode 100644 index 96f7c7974..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_plank.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_plank.png deleted file mode 100644 index cd19288f9..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_plank.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_bottom.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_bottom.png deleted file mode 100644 index 286cdd381..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_bottom_alt.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_bottom_alt.png deleted file mode 100644 index 00bd07b0b..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_bottom_alt.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_top.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_top.png deleted file mode 100644 index 8aba3c825..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_top_alt.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_top_alt.png deleted file mode 100644 index 6aa951c26..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_top_alt.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_wield.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_wield.png deleted file mode 100644 index 6d61e8fcf..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_door_wield.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_fence_bamboo.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_fence_bamboo.png deleted file mode 100644 index 1193b6b2f..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_fence_bamboo.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_fence_gate_bamboo.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_fence_gate_bamboo.png deleted file mode 100644 index bd51d0683..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_fence_gate_bamboo.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_scaffolding_bottom.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_scaffolding_bottom.png deleted file mode 100644 index 46cddd712..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_scaffolding_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_scaffolding_top.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_scaffolding_top.png deleted file mode 100644 index 4fb912a4a..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_scaffolding_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_trapdoor_side.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_trapdoor_side.png deleted file mode 100644 index 444c54bdd..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_trapdoor_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_trapdoor_top.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_trapdoor_top.png deleted file mode 100644 index 4ea65d465..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_trapdoor_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_trapdoor_wield.png b/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_trapdoor_wield.png deleted file mode 100644 index 1b30fc4c5..000000000 Binary files a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_trapdoor_wield.png and /dev/null differ diff --git a/mods/ITEMS/mcl_banners/locale/mcl_banners.fr.tr b/mods/ITEMS/mcl_banners/locale/mcl_banners.fr.tr index cadf37c37..48b25f708 100644 --- a/mods/ITEMS/mcl_banners/locale/mcl_banners.fr.tr +++ b/mods/ITEMS/mcl_banners/locale/mcl_banners.fr.tr @@ -1,36 +1,36 @@ # textdomain: mcl_banners -White Banner=Bannière Blanche +White Banner=Bannière blanche White=Blanc -Grey Banner=Bannière Grise +Grey Banner=Bannière grise Grey=Gris -Light Grey Banner=Bannière Gris Clair -Light Grey=Gris Clair -Black Banner=Bannière Noir +Light Grey Banner=Bannière gris clair +Light Grey=Gris clair +Black Banner=Bannière noire Black=Noir Red Banner=Bannière Rouge Red=Rouge -Yellow Banner=Bannière Jaune +Yellow Banner=Bannière jaune Yellow=Jaune -Green Banner=Bannière Verte +Green Banner=Bannière verte Green=Vert -Cyan Banner=Bannière Cyan +Cyan Banner=Bannière cyan Cyan=Cyan -Blue Banner=Bannière Bleue +Blue Banner=Bannière bleue Blue=Blue -Magenta Banner=Bannière Magenta +Magenta Banner=Bannière magenta Magenta=Magenta -Orange Banner=Bannière Orange +Orange Banner=Bannière orange Orange=Orange -Purple Banner=Bannière Violette +Purple Banner=Bannière violette Violet=Violet -Brown Banner=Bannière Marron +Brown Banner=Bannière marron Brown=Marron -Pink Banner=Bannière Rose +Pink Banner=Bannière rose Pink=Rose -Lime Banner=Bannière Vert Clair -Lime=Vert Clair -Light Blue Banner=Bannière Bleue Clair -Light Blue=Bleu Clair +Lime Banner=Bannière vert Clair +Lime=Vert clair +Light Blue Banner=Bannière bleue clair +Light Blue=Bleu clair Banners are tall colorful decorative blocks. They can be placed on the floor and at walls. Banners can be emblazoned with a variety of patterns using a lot of dye in crafting.=Les bannières sont de grands blocs décoratifs colorés. Ils peuvent être placés au sol et aux murs. Les bannières peuvent arborées une variété de motifs en utilisant beaucoup de colorant dans l'artisanat. Use crafting to draw a pattern on top of the banner. Emblazoned banners can be emblazoned again to combine various patterns. You can draw up to 12 layers on a banner that way. If the banner includes a gradient, only 3 layers are possible.=Utilisez l'artisanat pour dessiner un motif sur le dessus de la bannière. Les bannières blasonnées peuvent être à nouveau blasonnées pour combiner différents motifs. Vous pouvez dessiner jusqu'à 12 couches sur une bannière de cette façon. Si la bannière comprend un dégradé, seulement 3 couches sont possibles. You can copy the pattern of a banner by placing two banners of the same color in the crafting grid—one needs to be emblazoned, the other one must be clean. Finally, you can use a banner on a cauldron with water to wash off its top-most layer.=Vous pouvez copier le motif d'une bannière en plaçant deux bannières de la même couleur dans la grille de fabrication: l'une doit être décorée, l'autre doit être propre. Enfin, vous pouvez utiliser une bannière sur un chaudron avec de l'eau pour laver sa couche la plus haute. @@ -51,7 +51,7 @@ You can copy the pattern of a banner by placing two banners of the same color in @1 Per Fess=Division (@1) @1 Per Pale=Division (@1) @1 Per Pale Inverted=Division inverse (@1) -@1 Thing Charge=Chose (@ 1) +@1 Thing Charge=Chose (@1) @1 Lozenge=Rhombus (@1) @1 Skull Charge=Figure de crâne (@1) @1 Paly=Pieux (@1) diff --git a/mods/ITEMS/mcl_banners/locale/mcl_banners.pt_BR.tr b/mods/ITEMS/mcl_banners/locale/mcl_banners.pt_BR.tr new file mode 100644 index 000000000..2b9fd862d --- /dev/null +++ b/mods/ITEMS/mcl_banners/locale/mcl_banners.pt_BR.tr @@ -0,0 +1,77 @@ +# textdomain: mcl_banners +White Banner=Estandarte Branco +White=Branco +Grey Banner=Estandarte Cinza +Grey=Cinza +Light Grey Banner=Estandarte Cinza Claro +Light Grey=Cinza Claro +Black Banner=Estandarte Preto +Black=Preto +Red Banner=Estandarte Vermelho +Red=Vermelho +Yellow Banner=Estandarte Amarelo +Yellow=Amarelo +Green Banner=Estandarte Verde +Green=Verde +Cyan Banner=Estandarte Ciano +Cyan=Ciano +Blue Banner=Estandarte Azul +Blue=Azul +Magenta Banner=Estandarte Magenta +Magenta=Magenta +Orange Banner=Estandarte Laranja +Orange=Laranja +Purple Banner=Estandarte Roxo +Violet=Violeta +Brown Banner=Estandarte Marrom +Brown=Marrom +Pink Banner=Estandarte Rosa +Pink=Rosa +Lime Banner=Estandarte Lima +Lime=Lima +Light Blue Banner=Estandarte Azul Claro +Light Blue=Azul Claro +Banners are tall colorful decorative blocks. They can be placed on the floor and at walls. Banners can be emblazoned with a variety of patterns using a lot of dye in crafting.=Estandartes são altos e coloridos blocos decorativos. Podem ser colocados no chão ou em paredes. Estandartes podem ser brasonados com uma variedade de padrões usando muitos corantes na mesa de trabalho. +Use crafting to draw a pattern on top of the banner. Emblazoned banners can be emblazoned again to combine various patterns. You can draw up to 12 layers on a banner that way. If the banner includes a gradient, only 3 layers are possible.=Use a mesa de trabalho para desenhar um padrão sob o estandarte. Estandartes brasonados podem ser brasonados novamente para combinar diversos padrões. Você pode desenhar até 12 camadas em um estandarte dessa maneira. Se o estandarte possuir gradiente, apenas 3 camadas são possíveis. +You can copy the pattern of a banner by placing two banners of the same color in the crafting grid—one needs to be emblazoned, the other one must be clean. Finally, you can use a banner on a cauldron with water to wash off its top-most layer.=Você pode copiar o padrão de um estandarte colocando dois estandartes da mesma cor na mesa de trabalho - um necessita estar brasonado, o outro, limpo. Finalmente, você pode usar um estandarte em um calderão com água para lavar fora a camada mais recente. +@1 Bordure= +@1 Bricks= +@1 Roundel= +@1 Creeper Charge= +@1 Saltire= +@1 Bordure Indented= +@1 Per Bend Inverted= +@1 Per Bend Sinister Inverted= +@1 Per Bend= +@1 Per Bend Sinister= +@1 Flower Charge= +@1 Gradient= +@1 Base Gradient= +@1 Per Fess Inverted= +@1 Per Fess= +@1 Per Pale= +@1 Per Pale Inverted= +@1 Thing Charge= +@1 Lozenge= +@1 Skull Charge= +@1 Paly= +@1 Base Dexter Canton= +@1 Base Sinister Canton= +@1 Chief Dexter Canton= +@1 Chief Sinister Canton= +@1 Cross= +@1 Base= +@1 Pale= +@1 Bend Sinister= +@1 Bend= +@1 Pale Dexter= +@1 Fess= +@1 Pale Sinister= +@1 Chief= +@1 Chevron= +@1 Chevron Inverted= +@1 Base Indented= +@1 Chief Indented= +And one additional layer=E uma camada adicional +And @1 additional layers=E @1 camada adicional +Paintable decoration=Decoração pintável diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_triangle_top.png b/mods/ITEMS/mcl_banners/textures/mcl_banners_triangle_top.png deleted file mode 100644 index 7f626c26d..000000000 Binary files a/mods/ITEMS/mcl_banners/textures/mcl_banners_triangle_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_barrels/locale/mcl_barrels.pt_BR.tr b/mods/ITEMS/mcl_barrels/locale/mcl_barrels.pt_BR.tr new file mode 100644 index 000000000..b5a597f40 --- /dev/null +++ b/mods/ITEMS/mcl_barrels/locale/mcl_barrels.pt_BR.tr @@ -0,0 +1,5 @@ +# textdomain: mcl_barrels +Barrel=Barril +Barrels are containers which provide 27 inventory slots.=Barris são recipientes que fornecem 27 espaços no inventário. +To access its inventory, rightclick it. When broken, the items will drop out.=Para acessar seu inventário, clique com o botão direito nele. Quando quebrado, os itens serão derrubados ao chão. +27 inventory slots=27 espaços de inventário diff --git a/mods/ITEMS/mcl_barrels/textures/mcl_barrels_barrel_bottom.png b/mods/ITEMS/mcl_barrels/textures/mcl_barrels_barrel_bottom.png deleted file mode 100755 index 9c5788061..000000000 Binary files a/mods/ITEMS/mcl_barrels/textures/mcl_barrels_barrel_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_barrels/textures/mcl_barrels_barrel_side.png b/mods/ITEMS/mcl_barrels/textures/mcl_barrels_barrel_side.png deleted file mode 100755 index 8a01cc4a9..000000000 Binary files a/mods/ITEMS/mcl_barrels/textures/mcl_barrels_barrel_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_barrels/textures/mcl_barrels_barrel_top.png b/mods/ITEMS/mcl_barrels/textures/mcl_barrels_barrel_top.png deleted file mode 100755 index 8af5a5c90..000000000 Binary files a/mods/ITEMS/mcl_barrels/textures/mcl_barrels_barrel_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_barrels/textures/mcl_barrels_barrel_top_open.png b/mods/ITEMS/mcl_barrels/textures/mcl_barrels_barrel_top_open.png deleted file mode 100755 index 1d3a02be1..000000000 Binary files a/mods/ITEMS/mcl_barrels/textures/mcl_barrels_barrel_top_open.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beacons/locale/mcl_beacons.fr.tr b/mods/ITEMS/mcl_beacons/locale/mcl_beacons.fr.tr index f6290b800..d95a6225e 100644 --- a/mods/ITEMS/mcl_beacons/locale/mcl_beacons.fr.tr +++ b/mods/ITEMS/mcl_beacons/locale/mcl_beacons.fr.tr @@ -1,5 +1,5 @@ # textdomain: mcl_beacons Beacon=Balise Beacon:=Balise : -Primary Power:=Pouvoir Primaire : +Primary Power:=Pouvoir primaire : Inventory:=Inventaire : diff --git a/mods/ITEMS/mcl_beacons/locale/mcl_beacons.pt_BR.tr b/mods/ITEMS/mcl_beacons/locale/mcl_beacons.pt_BR.tr new file mode 100644 index 000000000..3446c32d7 --- /dev/null +++ b/mods/ITEMS/mcl_beacons/locale/mcl_beacons.pt_BR.tr @@ -0,0 +1,5 @@ +# textdomain: mcl_beacons +Beacon=Sinalizador +Beacon:=Sinalizador: +Primary Power:=Poder Primário: +Inventory:=Inventário: diff --git a/mods/ITEMS/mcl_beacons/textures/mcl_beacon.b3d b/mods/ITEMS/mcl_beacons/models/mcl_beacon.b3d similarity index 100% rename from mods/ITEMS/mcl_beacons/textures/mcl_beacon.b3d rename to mods/ITEMS/mcl_beacons/models/mcl_beacon.b3d diff --git a/mods/ITEMS/mcl_beacons/textures/beacon_UV.png b/mods/ITEMS/mcl_beacons/textures/beacon_UV.png deleted file mode 100644 index e65e7b3ed..000000000 Binary files a/mods/ITEMS/mcl_beacons/textures/beacon_UV.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/functions.lua b/mods/ITEMS/mcl_beds/functions.lua index 7199c7b7e..294dfc483 100644 --- a/mods/ITEMS/mcl_beds/functions.lua +++ b/mods/ITEMS/mcl_beds/functions.lua @@ -274,7 +274,11 @@ function mcl_beds.sleep() end -- Always clear weather mcl_weather.change_weather("none") - elseif mcl_beds.is_night() then + elseif mcl_beds.is_night() and weather_mod then + mcl_beds.skip_night() + mcl_beds.kick_players() + mcl_weather.change_weather("none") + elseif mcl_beds.is_night() and not weather_mod then mcl_beds.skip_night() mcl_beds.kick_players() end diff --git a/mods/ITEMS/mcl_beds/locale/mcl_beds.fr.tr b/mods/ITEMS/mcl_beds/locale/mcl_beds.fr.tr index c9c6de71e..cc69db33b 100644 --- a/mods/ITEMS/mcl_beds/locale/mcl_beds.fr.tr +++ b/mods/ITEMS/mcl_beds/locale/mcl_beds.fr.tr @@ -6,38 +6,38 @@ By using a bed, you set the starting point for your next life. If you die, you w In this world, going to bed won't skip the night, but it will skip thunderstorms.=Dans ce monde, aller au lit ne sautera pas la nuit, mais cela évitera les orages. Sleeping allows you to skip the night. The night is skipped when all players in this world went to sleep. The night is skipped after sleeping for a few seconds. Thunderstorms can be skipped in the same manner.=Dormir vous permet de sauter la nuit. La nuit est sautée lorsque tous les joueurs de ce monde se sont endormis. La nuit est sautée après avoir dormi quelques secondes. Les orages peuvent être évités de la même manière. Bed=Lit -Red Bed=Lit Rouge -Blue Bed=Lit Bleu -Cyan Bed=Lit Cyan -Grey Bed=Lit Gris -Light Grey Bed=Lit Gris Clair -Black Bed=Lit Noir -Yellow Bed=Lit Jaune -Green Bed=Lit Vert -Magenta Bed=Lit Magenta -Orange Bed=Lit Orange -Purple Bed=Lit Violet -Brown Bed=Lit Marron -Pink Bed=Lit Rose -Lime Bed=Lit Vert Clair -Light Blue Bed=Lit Bleu Clair -White Bed=Lit Blanc -You can't sleep, the bed's too far away!=Vous ne pouvez pas dormir, le lit est trop loin! -This bed is already occupied!=Ce lit est déjà occupé! -You have to stop moving before going to bed!=Vous devez arrêter de bouger avant de vous coucher! -You can't sleep now, monsters are nearby!=Vous ne pouvez pas dormir maintenant, les monstres sont à proximité! -You can't sleep, the bed is obstructed!=Vous ne pouvez pas dormir, le lit est obstrué! -It's too dangerous to sleep here!=C'est trop dangereux de dormir ici! -New respawn position set! But you can only sleep at night or during a thunderstorm.=Nouvelle position de réapparition définie! Mais vous ne pouvez dormir que la nuit ou pendant un orage. +Red Bed=Lit rouge +Blue Bed=Lit bleu +Cyan Bed=Lit cyan +Grey Bed=Lit gris +Light Grey Bed=Lit gris clair +Black Bed=Lit noir +Yellow Bed=Lit jaune +Green Bed=Lit vert +Magenta Bed=Lit magenta +Orange Bed=Lit orange +Purple Bed=Lit violet +Brown Bed=Lit marron +Pink Bed=Lit rose +Lime Bed=Lit vert clair +Light Blue Bed=Lit bleu clair +White Bed=Lit blanc +You can't sleep, the bed's too far away!=Vous ne pouvez pas dormir, le lit est trop loin ! +This bed is already occupied!=Ce lit est déjà occupé ! +You have to stop moving before going to bed!=Vous devez arrêter de bouger avant de vous coucher ! +You can't sleep now, monsters are nearby!=Vous ne pouvez pas dormir maintenant, les monstres sont à proximité ! +You can't sleep, the bed is obstructed!=Vous ne pouvez pas dormir, le lit est obstrué ! +It's too dangerous to sleep here!=C'est trop dangereux de dormir ici ! +New respawn position set! But you can only sleep at night or during a thunderstorm.=Nouvelle position de réapparition définie ! Mais vous ne pouvez dormir que la nuit ou pendant un orage. You can only sleep at night or during a thunderstorm.=Vous ne pouvez dormir que la nuit ou pendant un orage. -New respawn position set!=Nouvelle position de réapparition définie! +New respawn position set!=Nouvelle position de réapparition définie ! Leave bed=Quitter le lit Abort sleep=Abandonner le sommeil -Players in bed: @1/@2=Joueurs au lit: @1/@2 -Note: Night skip is disabled.=Remarque: Le saut de nuit est désactivé. +Players in bed: @1/@2=Joueurs au lit : @1/@2 +Note: Night skip is disabled.=Remarque : Le saut de nuit est désactivé. You're sleeping.=Tu dors. You will fall asleep when all players are in bed.=Vous vous endormirez lorsque tous les joueurs seront au lit. You will fall asleep when @1% of all players are in bed.=Vous vous endormirez lorsque @1% de tous les joueurs seront au lit. You're in bed.=Tu es au lit. Allows you to sleep=Vous permet de dormir -Respawn Anchor=Ancre de réapparition \ No newline at end of file +Respawn Anchor=Ancre de réapparition diff --git a/mods/ITEMS/mcl_beds/locale/mcl_beds.pt_BR.tr b/mods/ITEMS/mcl_beds/locale/mcl_beds.pt_BR.tr new file mode 100644 index 000000000..0cb9ad89d --- /dev/null +++ b/mods/ITEMS/mcl_beds/locale/mcl_beds.pt_BR.tr @@ -0,0 +1,43 @@ +# textdomain: mcl_beds +Beds allow you to sleep at night and make the time pass faster.=Camas permitem que você durma durante a noite e faz o tempo passar mais rápido. +To use a bed, stand close to it and right-click the bed to sleep in it. Sleeping only works when the sun sets, at night or during a thunderstorm. The bed must also be clear of any danger.=Para utilizar uma cama, se aproxime dela e clique com o botão direito para dormir na cama. Dormir só funciona quando o sol se põe, a noite ou durante uma tempestade. +You have heard of other worlds in which a bed would set the start point for your next life. But this world is not one of them.=Você andou escutando de outros mundos onde uma cama colocaria o ponto de partida de sua próxima vida. Mas esse mundo não é um deles. +By using a bed, you set the starting point for your next life. If you die, you will start your next life at this bed, unless it is obstructed or destroyed.=Ao utilizar uma cama, você marca o ponto de partida de sua próxima vida. Se você morrer, voce começará sua nova vida nesta cama, a não ser que ela está obstruída ou foi destruída. +In this world, going to bed won't skip the night, but it will skip thunderstorms.=Neste mundo, ir para a cama não pulará a noite, mas pulará tempestades. +Sleeping allows you to skip the night. The night is skipped when all players in this world went to sleep. The night is skipped after sleeping for a few seconds. Thunderstorms can be skipped in the same manner.=Dormir permite que você pule a noite. A noite é pulada quando todos os jogadores deste mundo forem dormir. A noite é pulada depois de dormir por alguns segundos. Tempestades podem ser puladas da mesma maneira. +Bed=Cama +Red Bed=Cama Vermelha +Blue Bed=Cama Azul +Cyan Bed=Cama Ciana +Grey Bed=Cama Cinza +Light Grey Bed=Cama Cinza Clara +Black Bed=Cama Preta +Yellow Bed=Cama Amarela +Green Bed=Cama Verde +Magenta Bed=Cama Magenta +Orange Bed=Cama Laranja +Purple Bed=Cama Roxa +Brown Bed=Cama Marrom +Pink Bed=Cama Rosa +Lime Bed=Cama Lima +Light Blue Bed=Cama Azul Clara +White Bed=Cama Brabca +You can't sleep, the bed's too far away!=Você não pode dormir, a cama está muito longe! +This bed is already occupied!=Esta cama já está ocupada! +You have to stop moving before going to bed!=Você precisa parar de se mover antes de deitar na cama! +You can't sleep now, monsters are nearby!=Você não pode dormir agora, há monstros perto! +You can't sleep, the bed is obstructed!=Você não pode dormir, a cama está obstruída! +It's too dangerous to sleep here!=É muito perigoso dormir aqui! +New respawn position set! But you can only sleep at night or during a thunderstorm.=Nova posição de respawn marcada! Mas você só pode dormir a noite ou durante uma tempestade. +You can only sleep at night or during a thunderstorm.=Você só pode dormir a noite ou durante uma tempestade. +New respawn position set!=Nova posição de respawn marcada! +Leave bed=Sair da cama +Abort sleep=Abortar dormir +Players in bed: @1/@2=Jogadores na cama: @1/@2 +Note: Night skip is disabled.=Nota: avançar a noite está desabilitado. +You're sleeping.=Voce está dormindo. +You will fall asleep when all players are in bed.=Você cairá no sono quando todos os jogadores estiverem na cama. +You will fall asleep when @1% of all players are in bed.=Você cairá no sono quando @1% de todos os jogadores estiverem na cama. +You're in bed.=Você está na cama. +Allows you to sleep=Permite que você durma +Respawn Anchor=Âncora de Respawn diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_black.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_black.png deleted file mode 100644 index 6e79589ce..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_black.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_blue.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_blue.png deleted file mode 100644 index 7be362c2c..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_blue.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_brown.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_brown.png deleted file mode 100644 index 734ca550e..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_brown.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_cyan.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_cyan.png deleted file mode 100644 index 61a9f9ce4..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_cyan.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_green.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_green.png deleted file mode 100644 index e70331fcc..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_green.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_grey.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_grey.png deleted file mode 100644 index da586dccf..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_grey.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_light_blue.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_light_blue.png deleted file mode 100644 index ee8d68a03..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_light_blue.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_lime.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_lime.png deleted file mode 100644 index bde92dd81..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_lime.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_magenta.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_magenta.png deleted file mode 100644 index 3d790fb16..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_magenta.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_orange.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_orange.png deleted file mode 100644 index 6cb474dd9..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_orange.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_pink.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_pink.png deleted file mode 100644 index 5336fc74a..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_pink.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_purple.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_purple.png deleted file mode 100644 index ec5df9693..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_purple.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_red.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_red.png deleted file mode 100644 index d6cfef4c4..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_red.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_silver.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_silver.png deleted file mode 100644 index 35691660a..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_silver.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_white.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_white.png deleted file mode 100644 index f4fda7032..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_white.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_yellow.png b/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_yellow.png deleted file mode 100644 index 4e00bb2e0..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_yellow.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beds/textures/respawn_anchor_top_on.png b/mods/ITEMS/mcl_beds/textures/respawn_anchor_top_on.png deleted file mode 100644 index ce84dedf2..000000000 Binary files a/mods/ITEMS/mcl_beds/textures/respawn_anchor_top_on.png and /dev/null differ diff --git a/mods/ITEMS/mcl_beehives/init.lua b/mods/ITEMS/mcl_beehives/init.lua index 100277078..82b3cae5f 100644 --- a/mods/ITEMS/mcl_beehives/init.lua +++ b/mods/ITEMS/mcl_beehives/init.lua @@ -48,16 +48,25 @@ local dig_hive = function(pos, node, oldmetadata, digger) local beenest = string.find(node.name, "mcl_beehives:bee_nest") local silk_touch = mcl_enchanting.has_enchantment(wield_item, "silk_touch") local is_creative = minetest.is_creative_enabled(digger:get_player_name()) + local inv = digger:get_inventory() if beehive then - minetest.add_item(pos, "mcl_beehives:beehive") - if not silk_touch and not is_creative then mcl_util.deal_damage(digger, 10) end + if not is_creative then + minetest.add_item(pos, "mcl_beehives:beehive") + if not silk_touch then mcl_util.deal_damage(digger, 10) end + elseif is_creative and inv:room_for_item("main", "mcl_beehives:beehive") and not inv:contains_item("main", "mcl_beehives:beehive") then + inv:add_item("main", "mcl_beehives:beehive") + end elseif beenest then - if silk_touch or is_creative then - minetest.add_item(pos, "mcl_beehives:bee_nest") - awards.unlock(digger:get_player_name(), "mcl:total_beelocation") - else - mcl_util.deal_damage(digger, 10) + if not is_creative then + if silk_touch then + minetest.add_item(pos, "mcl_beehives:bee_nest") + awards.unlock(digger:get_player_name(), "mcl:total_beelocation") + else + mcl_util.deal_damage(digger, 10) + end + elseif is_creative and inv:room_for_item("main", "mcl_beehives:bee_nest") and not inv:contains_item("main", "mcl_beehives:bee_nest") then + inv:add_item("main", "mcl_beehives:bee_nest") end end end diff --git a/mods/ITEMS/mcl_bells/locale/mcl_bells.pt_BR.tr b/mods/ITEMS/mcl_bells/locale/mcl_bells.pt_BR.tr new file mode 100644 index 000000000..a64a13324 --- /dev/null +++ b/mods/ITEMS/mcl_bells/locale/mcl_bells.pt_BR.tr @@ -0,0 +1,2 @@ +# textdomain: mcl_bells +Bell=Sino diff --git a/mods/ITEMS/mcl_blackstone/init.lua b/mods/ITEMS/mcl_blackstone/init.lua index cb6ef5493..c428fe7c6 100644 --- a/mods/ITEMS/mcl_blackstone/init.lua +++ b/mods/ITEMS/mcl_blackstone/init.lua @@ -12,7 +12,7 @@ minetest.register_node("mcl_blackstone:blackstone", { tiles = {"mcl_blackstone_top.png", "mcl_blackstone_top.png", "mcl_blackstone_side.png"}, sounds = mcl_sounds.node_sound_stone_defaults(), is_ground_content = false, - groups = {cracky = 3, pickaxey=2, material_stone=1, cobble=1}, + groups = {cracky = 3, pickaxey=1, material_stone=1, cobble=1}, _mcl_blast_resistance = 6, _mcl_hardness = 1.5, }) @@ -21,7 +21,7 @@ minetest.register_node("mcl_blackstone:blackstone_gilded", { tiles = {"mcl_blackstone_gilded.png"}, sounds = mcl_sounds.node_sound_stone_defaults(), is_ground_content = false, - groups = {cracky = 3, pickaxey=2, material_stone=1, xp=1}, + groups = {cracky = 3, pickaxey=1, material_stone=1, xp=1}, drop = { max_items = 1, items = { @@ -43,7 +43,7 @@ minetest.register_node("mcl_blackstone:nether_gold", { tiles = {"mcl_nether_gold_ore.png"}, sounds = mcl_sounds.node_sound_stone_defaults(), is_ground_content = false, - groups = {cracky = 3, pickaxey=2, material_stone=1, xp=1}, + groups = {cracky = 3, pickaxey=1, material_stone=1, xp=1}, drop = { max_items = 1, items = { @@ -67,7 +67,7 @@ minetest.register_node("mcl_blackstone:basalt_polished", { on_place = mcl_util.rotate_axis, on_rotate = on_rotate, is_ground_content = false, - groups = {cracky = 3, pickaxey=2, material_stone=1}, + groups = {cracky = 3, pickaxey=1, material_stone=1}, _mcl_blast_resistance = 4.2, _mcl_hardness = 1.25, }) @@ -79,7 +79,7 @@ minetest.register_node("mcl_blackstone:basalt", { on_place = mcl_util.rotate_axis, on_rotate = on_rotate, is_ground_content = false, - groups = {cracky = 3, pickaxey=2, material_stone=1}, + groups = {cracky = 3, pickaxey=1, material_stone=1}, _mcl_blast_resistance = 4.2, _mcl_hardness = 1.25, }) @@ -88,7 +88,7 @@ minetest.register_node("mcl_blackstone:basalt_smooth", { tiles = {"mcl_blackstone_basalt_smooth.png"}, sounds = mcl_sounds.node_sound_stone_defaults(), is_ground_content = false, - groups = {cracky = 3, pickaxey=2, material_stone=1}, + groups = {cracky = 3, pickaxey=1, material_stone=1}, _mcl_blast_resistance = 4.2, _mcl_hardness = 1.25, }) @@ -97,7 +97,7 @@ minetest.register_node("mcl_blackstone:blackstone_polished", { tiles = {"mcl_blackstone_polished.png"}, sounds = mcl_sounds.node_sound_stone_defaults(), is_ground_content = false, - groups = {cracky = 3, pickaxey=2, material_stone=1}, + groups = {cracky = 3, pickaxey=1, material_stone=1}, _mcl_blast_resistance = 6, _mcl_hardness = 2, }) @@ -106,7 +106,7 @@ minetest.register_node("mcl_blackstone:blackstone_chiseled_polished", { tiles = {"mcl_blackstone_chiseled_polished.png"}, sounds = mcl_sounds.node_sound_stone_defaults(), is_ground_content = false, - groups = {cracky = 3, pickaxey=2, material_stone=1}, + groups = {cracky = 3, pickaxey=1, material_stone=1}, _mcl_blast_resistance = 6, _mcl_hardness = 1.5, }) @@ -115,7 +115,7 @@ minetest.register_node("mcl_blackstone:blackstone_brick_polished", { tiles = {"mcl_blackstone_polished_bricks.png"}, sounds = mcl_sounds.node_sound_stone_defaults(), is_ground_content = false, - groups = {cracky = 3, pickaxey=2, material_stone=1}, + groups = {cracky = 3, pickaxey=1, material_stone=1}, _mcl_blast_resistance = 6, _mcl_hardness = 1.5, }) @@ -125,7 +125,7 @@ minetest.register_node("mcl_blackstone:quartz_brick", { sounds = mcl_sounds.node_sound_stone_defaults(), is_ground_content = false, sounds = mcl_sounds.node_sound_stone_defaults(), - groups = {cracky = 3, pickaxey=2, material_stone=1}, + groups = {cracky = 3, pickaxey=1, material_stone=1}, _mcl_blast_resistance = 0.8, _mcl_hardness = 0.8, }) diff --git a/mods/ITEMS/mcl_blackstone/locale/mcl_blackstone.fr.tr b/mods/ITEMS/mcl_blackstone/locale/mcl_blackstone.fr.tr index b91769083..a13d5c34a 100644 --- a/mods/ITEMS/mcl_blackstone/locale/mcl_blackstone.fr.tr +++ b/mods/ITEMS/mcl_blackstone/locale/mcl_blackstone.fr.tr @@ -21,8 +21,8 @@ Eternal Soul Fire=Feu éternel des âmes Gilded Blackstone=Roche noire dorée Nether Gold Ore=Minerai d'or du Nether Smooth Basalt=Basalte lisse -Blackstone Wall=Muret de Roche noire -Double Blackstone Slab=Double Dalle de roche noire -Polished Double Blackstone Slab=Double Dalle de pierre noire -Double Chiseled Polished Blackstone Slab=Double Dalle de pierre noire sculptée -Double Polished Blackstone Brick Slab=Double Dalle de briques de pierre noire \ No newline at end of file +Blackstone Wall=Muret de roche noire +Double Blackstone Slab=Double dalle de roche noire +Polished Double Blackstone Slab=Double dalle de pierre noire +Double Chiseled Polished Blackstone Slab=Double dalle de pierre noire sculptée +Double Polished Blackstone Brick Slab=Double dalle de briques de pierre noire diff --git a/mods/ITEMS/mcl_blackstone/locale/mcl_blackstone.pt_BR.tr b/mods/ITEMS/mcl_blackstone/locale/mcl_blackstone.pt_BR.tr new file mode 100644 index 000000000..e91d54e07 --- /dev/null +++ b/mods/ITEMS/mcl_blackstone/locale/mcl_blackstone.pt_BR.tr @@ -0,0 +1,28 @@ +# textdomain: mcl_blackstone +Blackstone=Rocha-negra +Polished Blackstone=Rocha-negra Polida +Chiseled Polished Blackstone=Rocha-negra Polida Cinzelada +Polished Blackstone Bricks=Tijolo de Rocha-negra Polida +Basalt=Basalto +Polished Basalt=Basalto Polido +Blackstone Slab=Laje de Rocha-negra +Polished Blackstone Slab=Laje de Rocha-negra Polida +Chiseled Polished Blackstone Slab=Laje de Rocha-negra Polida Cinzelada +Polished Blackstone Brick Slab=Laje de Tijolo de Rocha-negra Polida +Blackstone Stair=Escada de Rocha-negra +Polished Blackstone Stair=Escada de Rocha-negra Polida +Chiseled Polished Blackstone Stair=Escada de Rocha-negra Polida Cinzelada +Polished Blackstone Brick Stair=Escada de Tijolo de Rocha-negra Polida +Quartz Bricks=Tijolos de Quartzo +Soul Torch=Tocha de Alma +Soul Lantern=Lanterna de Alma +Soul Soil=Solo de Alma +Eternal Soul Fire=Eterno Fogo de Alma +Gilded Blackstone=Rocha-negra Dourada +Nether Gold Ore=Minério de Ouro do Nether +Smooth Basalt=Basalto Liso +Blackstone Wall=Muro de Rocha-negra +Double Blackstone Slab=Dupla Laje de Rocha-negra +Polished Double Blackstone Slab=Dupla Laje de Rocha-negra Polida +Double Chiseled Polished Blackstone Slab=Dupla Laje de Rocha-negra Polida Cinzelada +Double Polished Blackstone Brick Slab=Dupla Laje de Tijolo de Rocha-negra Polida diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_gilded.png b/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_gilded.png deleted file mode 100644 index 82423ca18..000000000 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_gilded.png and /dev/null differ diff --git a/mods/ITEMS/mcl_blackstone/textures/soul_torch_on_floor.png b/mods/ITEMS/mcl_blackstone/textures/soul_torch_on_floor.png deleted file mode 100644 index fc93c82d8..000000000 Binary files a/mods/ITEMS/mcl_blackstone/textures/soul_torch_on_floor.png and /dev/null differ diff --git a/mods/ITEMS/mcl_blackstone/textures/soul_torch_on_floor_animated.png b/mods/ITEMS/mcl_blackstone/textures/soul_torch_on_floor_animated.png deleted file mode 100644 index 2193d4610..000000000 Binary files a/mods/ITEMS/mcl_blackstone/textures/soul_torch_on_floor_animated.png and /dev/null differ diff --git a/mods/ITEMS/mcl_blast_furnace/locale/mcl_blast_furnace.fr.tr b/mods/ITEMS/mcl_blast_furnace/locale/mcl_blast_furnace.fr.tr index 16484251a..2b716d27a 100644 --- a/mods/ITEMS/mcl_blast_furnace/locale/mcl_blast_furnace.fr.tr +++ b/mods/ITEMS/mcl_blast_furnace/locale/mcl_blast_furnace.fr.tr @@ -1,8 +1,8 @@ # textdomain: mcl_blast_furnace Inventory=Inventaire -Blast Furnace=Haut Fourneau -Smelts ores faster than furnace=fond le minerai plus vite que le fourneau +Blast Furnace=Haut fourneau +Smelts ores faster than furnace=Fond le minerai plus vite que le four Use the recipe book to see what you can smelt, what you can use as fuel and how long it will burn.=Utiliser le livre de recettes pour voir ce que vous pouvez fondre, ce que vous pouvez utiliser comme combustible et combien de temps ça va brûler. Use the furnace to open the furnace menu.\nPlace a furnace fuel in the lower slot and the source material in the upper slot.\nThe furnace will slowly use its fuel to smelt the item.\nThe result will be placed into the output slot at the right side.=Utiliser le fourneau pour ouvrir le menu.\nPlacer le combustible dans la case en bas et le matériau source dans la case du haut.\nLe fourneau utilisera son combustible pour fondre lentement l'objet.\nLe résultat sera placé dans la case de sortie à droite. Blast Furnaces smelt several items, mainly ores and armor, using a furnace fuel, into something else.=Les hauts fourneaux fondent plusieurs objets, principalement du minerai et des pièces d'armure, en quelque chose d'autre. -Active Blast Furnace=Haut Fourneau Actif +Active Blast Furnace=Haut fourneau actif diff --git a/mods/ITEMS/mcl_blast_furnace/locale/mcl_blast_furnace.pt_BR.tr b/mods/ITEMS/mcl_blast_furnace/locale/mcl_blast_furnace.pt_BR.tr new file mode 100644 index 000000000..93d1c87e4 --- /dev/null +++ b/mods/ITEMS/mcl_blast_furnace/locale/mcl_blast_furnace.pt_BR.tr @@ -0,0 +1,8 @@ +# textdomain: mcl_blast_furnace +Inventory=Inventário +Blast Furnace=Alto-Forno +Smelts ores faster than furnace=Funde minérios mais rápido do que a fornalha +Use the recipe book to see what you can smelt, what you can use as fuel and how long it will burn.=Utilize o livro de receitas para ver o que você pode fundir, o que você pode usar de combustível e o quanto irá queimar. +Use the furnace to open the furnace menu.\nPlace a furnace fuel in the lower slot and the source material in the upper slot.\nThe furnace will slowly use its fuel to smelt the item.\nThe result will be placed into the output slot at the right side.=Utilize o alto-forno para abrir o menu. \nColoque o combustível no espaço inferior e a matéria-prima no espaço superior. \nO resultado será colocado no espaço de saída, ao lado direito. +Blast Furnaces smelt several items, mainly ores and armor, using a furnace fuel, into something else.=Alto-Forno derrete diversos itens, principalmente minérios e armaduras, utilizando um combustível, em algo diferente. +Active Blast Furnace=Alto-Forno Ativo diff --git a/mods/ITEMS/mcl_blast_furnace/textures/blast_furnace_front.png b/mods/ITEMS/mcl_blast_furnace/textures/blast_furnace_front.png deleted file mode 100644 index 02acd6d31..000000000 Binary files a/mods/ITEMS/mcl_blast_furnace/textures/blast_furnace_front.png and /dev/null differ diff --git a/mods/ITEMS/mcl_blast_furnace/textures/blast_furnace_front_on.png b/mods/ITEMS/mcl_blast_furnace/textures/blast_furnace_front_on.png deleted file mode 100644 index 712bac83f..000000000 Binary files a/mods/ITEMS/mcl_blast_furnace/textures/blast_furnace_front_on.png and /dev/null differ diff --git a/mods/ITEMS/mcl_blast_furnace/textures/blast_furnace_side.png b/mods/ITEMS/mcl_blast_furnace/textures/blast_furnace_side.png deleted file mode 100644 index 966b001e2..000000000 Binary files a/mods/ITEMS/mcl_blast_furnace/textures/blast_furnace_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_blast_furnace/textures/blast_furnace_top.png b/mods/ITEMS/mcl_blast_furnace/textures/blast_furnace_top.png deleted file mode 100644 index 03ce91b5c..000000000 Binary files a/mods/ITEMS/mcl_blast_furnace/textures/blast_furnace_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_books/locale/mcl_books.fr.tr b/mods/ITEMS/mcl_books/locale/mcl_books.fr.tr index 4006d033c..40f564270 100644 --- a/mods/ITEMS/mcl_books/locale/mcl_books.fr.tr +++ b/mods/ITEMS/mcl_books/locale/mcl_books.fr.tr @@ -1,6 +1,6 @@ # textdomain: mcl_books Book=Livre -Books are used to make bookshelves and book and quills.=Les livres sont utilisés pour fabriquer des étagères et des livres avec unes plumes. +Books are used to make bookshelves and book and quills.=Les livres sont utilisés pour fabriquer des étagères et des livres avec des plumes. “@1”="@1" Copy of “@1”=Copie de "@1" Copy of Copy of “@1”=Copie de Copie de "@1" @@ -12,9 +12,9 @@ Done=Terminé This item can be used to write down some notes.=Cet élément peut être utilisé pour prendre quelques notes. Hold it in the hand, then rightclick to read the current notes and edit then. You can edit the text as often as you like. You can also sign the book which turns it into a written book which you can stack, but it can't be edited anymore.=Tenez-le dans la main, puis faites un clic droit pour lire les notes actuelles et modifiez-les ensuite. Vous pouvez modifier le texte aussi souvent que vous le souhaitez. Vous pouvez également signer le livre ce qui le transforme en livre écrit que vous pouvez empiler, mais il ne peut plus être édité. A book can hold up to 4500 characters. The title length is limited to 64 characters.=Un livre peut contenir jusqu'à 4500 caractères. La longueur du titre est limitée à 64 caractères. -Enter book title:=Entrez le titre du livre: +Enter book title:=Entrez le titre du livre : by @1=par @1 -Note: The book will no longer be editable after signing=Remarque: le livre ne sera plus modifiable après la signature +Note: The book will no longer be editable after signing=Remarque : le livre ne sera plus modifiable après la signature Sign and Close=Signez et fermez Cancel=Annuler Nameless Book=Livre sans nom @@ -24,5 +24,5 @@ Hold it in your hand, then rightclick to read the book.=Tenez-le dans votre main To copy the text of the written book, place it into the crafting grid together with a book and quill (or multiple of those) and craft. The written book will not be consumed. Copies of copies can not be copied.=Pour copier le texte du livre écrit, placez-le dans la grille d'artisanat avec un livre et une plume (ou plusieurs) et récupérez le résultat. Le livre copié ne sera pas consommé. Les copies de copies ne peuvent pas être copiées. Bookshelf=Bibliothèque Bookshelves are used for decoration.=Les bibliothèques sont utilisées pour la décoration. -Book and Quill=Livre et Plume +Book and Quill=Livre et plume Write down some notes=Prenez quelques notes diff --git a/mods/ITEMS/mcl_books/locale/mcl_books.pt_BR.tr b/mods/ITEMS/mcl_books/locale/mcl_books.pt_BR.tr new file mode 100644 index 000000000..fbbb543fd --- /dev/null +++ b/mods/ITEMS/mcl_books/locale/mcl_books.pt_BR.tr @@ -0,0 +1,28 @@ +# textdomain: mcl_books +Book=Livro +Books are used to make bookshelves and book and quills.=Livros são utilizados para fazer prateleiras de livros e livro e pena. +“@1”= +Copy of “@1”=Copia de "@1" +Copy of Copy of “@1”=Cópia da Cópia de "@1" +Tattered Book=Livro Esfarrapado +by @1=por @1 +# as in “to sign a book” +Sign=Assinar +Done=Finalizar +This item can be used to write down some notes.=Este item pode ser utilizado para escrever algumas anotações. +Hold it in the hand, then rightclick to read the current notes and edit then. You can edit the text as often as you like. You can also sign the book which turns it into a written book which you can stack, but it can't be edited anymore.=Segure na mão e aperte o botão direito para ler e editar as anotações. Você pode editar o texto o quanto quiser. Você pode assinar o livro, o que o torna em um livro escrito em que você pode empilhar, mas não poderá ser editado mais. +A book can hold up to 4500 characters. The title length is limited to 64 characters.=Um livro pode conter até 4500 caracteres. O tamanho do título é limitado a 64 caracteres. +Enter book title:=Entre com o título do livro: +by @1=por @1 +Note: The book will no longer be editable after signing=Nota: o livro não será mais editável após assinar +Sign and Close=Assinar e Fechar +Cancel=Cancelar +Nameless Book=Livro sem título +Written Book=Livro Escrito +Written books contain some text written by someone. They can be read and copied, but not edited.=Livros escritos contém textos escritos por alguém. Eles podem ser lidos e copiados, mas não editados. +Hold it in your hand, then rightclick to read the book.=Segure em sua mão e aperte o botão direito para ler o livro. +To copy the text of the written book, place it into the crafting grid together with a book and quill (or multiple of those) and craft. The written book will not be consumed. Copies of copies can not be copied.=Para copiar o texto de um livro escrito, coloque-o na mesa de trabalho junto de um livro e pena (ou vários deste) e copie. O livro escrito não será consumido. Copias de copias não poderão ser copiadas. +Bookshelf=Estante de Livros +Bookshelves are used for decoration.=Estante de livros são utilizadas para decoração. +Book and Quill=Livro e Pena +Write down some notes=Escreve algumas anotações diff --git a/mods/ITEMS/mcl_bows/locale/mcl_bows.fr.tr b/mods/ITEMS/mcl_bows/locale/mcl_bows.fr.tr index 129095b4a..901be04df 100644 --- a/mods/ITEMS/mcl_bows/locale/mcl_bows.fr.tr +++ b/mods/ITEMS/mcl_bows/locale/mcl_bows.fr.tr @@ -10,9 +10,9 @@ The speed and damage of the arrow increases the longer you charge. The regular d To use the bow, you first need to have at least one arrow anywhere in your inventory (unless in Creative Mode). Hold down the right mouse button to charge, release to shoot.=Pour utiliser l'arc, vous devez d'abord avoir au moins une flèche n'importe où dans votre inventaire (sauf en mode créatif). Maintenez enfoncé le bouton droit de la souris pour charger, relâchez pour tirer. Bow=Arc Ammunition=Munition -Damage from bow: 1-10=Dégâts de l'arc: 1-10 -Damage from dispenser: 3=Dégâts du distributeur: 3 +Damage from bow: 1-10=Dégâts de l'arc : 1-10 +Damage from dispenser: 3=Dégâts du distributeur : 3 Launches arrows=Lance des flèches Crossbow=Arbalète Crossbows are ranged weapons to shoot arrows at your foes.=Les arbalètes sont des armes à distance pour tirer des flèches sur vos ennemis. -To use the crossbow, you first need to have at least one arrow anywhere in your inventory (unless in Creative Mode). Hold down the right mouse button to charge, release to shoot.=Pour utiliser l'arbalète, vous devez d'abord avoir au moins une flèche n'importe où dans votre inventaire (sauf en mode créatif). Maintenez enfoncé le bouton droit de la souris pour charger, relâchez pour tirer. \ No newline at end of file +To use the crossbow, you first need to have at least one arrow anywhere in your inventory (unless in Creative Mode). Hold down the right mouse button to charge, release to shoot.=Pour utiliser l'arbalète, vous devez d'abord avoir au moins une flèche n'importe où dans votre inventaire (sauf en mode créatif). Maintenez enfoncé le bouton droit de la souris pour charger, relâchez pour tirer. diff --git a/mods/ITEMS/mcl_bows/locale/mcl_bows.pt_BR.tr b/mods/ITEMS/mcl_bows/locale/mcl_bows.pt_BR.tr new file mode 100644 index 000000000..66044f8a0 --- /dev/null +++ b/mods/ITEMS/mcl_bows/locale/mcl_bows.pt_BR.tr @@ -0,0 +1,18 @@ +# textdomain: mcl_bows +Arrow=Flecha +Arrows are ammunition for bows and dispensers.=Flechas são munições para arcos e dispensores. +An arrow fired from a bow has a regular damage of 1-9. At full charge, there's a 20% chance of a critical hit dealing 10 damage instead. An arrow fired from a dispenser always deals 3 damage.=Uma flecha disparada de um arco tem um dano regular variando entre 1-9. Quando puxado o arco por completo há uma chance de 20% de acerto crítico, causando 10 de dano. Uma flecha disparada de um dispensor sempre provocará 3 de dano. +Arrows might get stuck on solid blocks and can be retrieved again. They are also capable of pushing wooden buttons.=Flechas poderão ficar presas em blocos sólidos e podem ser recuperadas novamente. Elas também são capazes de empurrar botões de madeira. +To use arrows as ammunition for a bow, just put them anywhere in your inventory, they will be used up automatically. To use arrows as ammunition for a dispenser, place them in the dispenser's inventory. To retrieve an arrow that sticks in a block, simply walk close to it.=Para usar flechas como munição para um arco, apenas as coloque em seu inventário, elas serão consumidas automaticamente. Para usar flechas como munição de dispensores, coloque as no inventário do dispensor. Para recuperar uma flecha presa em um bloco, simplemente se aproxime dela. +Bow=Arco +Bows are ranged weapons to shoot arrows at your foes.=Arcos são armas de longo alcance que disparam flechas em seus inimigos. +The speed and damage of the arrow increases the longer you charge. The regular damage of the arrow is between 1 and 9. At full charge, there's also a 20% of a critical hit, dealing 10 damage instead.=A velocidade e o dano da flecha aumenta quanto mais você puxar o arco. O dano regular de uma flecha varia entre 1 e 9. Quando puxado no máximo, há também uma chance de 20% de causar acerto crítico, efetuando 10 de dano. +To use the bow, you first need to have at least one arrow anywhere in your inventory (unless in Creative Mode). Hold down the right mouse button to charge, release to shoot.=Para usar o arco, você primeiro precisa possuir pelo menos uma flecha em qualquer lugar do seu inventário (a não ser no Modo Criativo). Segure o botão direito do mouse para puxar o arco, solte-o para disparar. +Bow=Arco +Ammunition=munição +Damage from bow: 1-10=Dano provocado pelo arco: 1-10 +Damage from dispenser: 3=Dano provocado pelo dispensor: 3 +Launches arrows=Dispara flechas +Crossbow=Besta +Crossbows are ranged weapons to shoot arrows at your foes.=Bestas são armas de longo alcance que disparam flechas em seus inimigos. +To use the crossbow, you first need to have at least one arrow anywhere in your inventory (unless in Creative Mode). Hold down the right mouse button to charge, release to shoot.=Para usar a besta, vocẽ primeiro precisa possuir pelo menos uma flecha em qualquer lugar do seu inventário (a não ser no Modo Criativo). Segure o botão direito do mouse para puxar, solte-o para disparar. diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_arrow.png b/mods/ITEMS/mcl_bows/textures/mcl_bows_arrow.png deleted file mode 100644 index f7bd92a9c..000000000 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_arrow.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_arrow_back.png b/mods/ITEMS/mcl_bows/textures/mcl_bows_arrow_back.png deleted file mode 100644 index 4fa82ce26..000000000 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_arrow_back.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_arrow_inv.png b/mods/ITEMS/mcl_bows/textures/mcl_bows_arrow_inv.png deleted file mode 100644 index 8635d28a1..000000000 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_arrow_inv.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_bow.png b/mods/ITEMS/mcl_bows/textures/mcl_bows_bow.png deleted file mode 100644 index 7d695bc93..000000000 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_bow.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_bow_0.png b/mods/ITEMS/mcl_bows/textures/mcl_bows_bow_0.png deleted file mode 100644 index 8bb41ea44..000000000 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_bow_0.png and /dev/null differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_bow_1.png b/mods/ITEMS/mcl_bows/textures/mcl_bows_bow_1.png deleted file mode 100644 index f85304e40..000000000 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_bow_1.png and /dev/null differ diff --git a/mods/ITEMS/mcl_brewing/locale/mcl_brewing.fr.tr b/mods/ITEMS/mcl_brewing/locale/mcl_brewing.fr.tr index 232026fba..6137edf55 100644 --- a/mods/ITEMS/mcl_brewing/locale/mcl_brewing.fr.tr +++ b/mods/ITEMS/mcl_brewing/locale/mcl_brewing.fr.tr @@ -5,6 +5,6 @@ To use a brewing stand, rightclick it.=Pour utiliser un alambic, faites un clic To brew, you need blaze powder as fuel, a brewing material and at least 1 glass bottle filled with a liquid.=Pour distiller, vous avez besoin de poudre de blaze comme carburant, d'un ingrédient à distiller et d'au moins 1 bouteille en verre remplie d'un liquide. Place the blaze powder in the left slot, the brewing material in the middle slot and 1-3 bottles in the remaining slots.=Placez la poudre de blaze dans l'emplacement de gauche, l'ingrédient à distiller dans l'emplacement du milieu et 1 à 3 bouteilles dans les emplacements restantes. When you have found a good combination, the brewing will commence automatically and steam starts to appear, using up the fuel and brewing material. The potions will soon be ready.=Lorsque vous avez trouvé une bonne combinaison, la distillation commencera automatiquement et de la vapeur commencera à apparaître, consommant le carburant et l'ingrédient à distiller. Les potions seront bientôt prêtes. -Different combinations of brewing materials and liquids will give different results. Try to experiment!=Différentes combinaisons d'ingrédients et de liquides donneront des résultats différents. Essayez d'expérimenter! -The stand allows you to brew potions!=L'alambic permet de produire des potions! +Different combinations of brewing materials and liquids will give different results. Try to experiment!=Différentes combinaisons d'ingrédients et de liquides donneront des résultats différents. Essayez d'expérimenter ! +The stand allows you to brew potions!=L'alambic permet de produire des potions ! Brew Potions=Potions diff --git a/mods/ITEMS/mcl_brewing/locale/mcl_brewing.pt_BR.tr b/mods/ITEMS/mcl_brewing/locale/mcl_brewing.pt_BR.tr new file mode 100644 index 000000000..8209bf3ce --- /dev/null +++ b/mods/ITEMS/mcl_brewing/locale/mcl_brewing.pt_BR.tr @@ -0,0 +1,10 @@ +# textdomain: mcl_brewing +Brewing Stand=Suporte de Fermentação +Inventory=Inventário +To use a brewing stand, rightclick it.=Para usar um suporte de fermentação, clique-o com o botão direito. +To brew, you need blaze powder as fuel, a brewing material and at least 1 glass bottle filled with a liquid.=Para fermentar, você precisa de Pó de Blaze como combutível, um material de fermentação e pelo menos 1 garrafa de vidro preenchida com líquido. +Place the blaze powder in the left slot, the brewing material in the middle slot and 1-3 bottles in the remaining slots.=Coloque o Pó de Blaze no espaço da esquerda, o material de fermentaçaõ no espaço do meio e 1-3 garrafas nos espaços restantes. +When you have found a good combination, the brewing will commence automatically and steam starts to appear, using up the fuel and brewing material. The potions will soon be ready.=Quando você encontrar uma boa combinação, a fermentação irá iniciar automaticamente e vapores começarão a aparecer, consumindo o combustível e o material de fermentação. A poção em breve estará pronta. +Different combinations of brewing materials and liquids will give different results. Try to experiment!=Diferentes combinações de materiais de fermentação e líquidos lhe darão diferentes resultados. Tente experimentar! +The stand allows you to brew potions!=O suporte permite que você produza poções. +Brew Potions=Produz Poções diff --git a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_base.png b/mods/ITEMS/mcl_brewing/textures/mcl_brewing_base.png deleted file mode 100644 index 8831ffb9b..000000000 Binary files a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_base.png and /dev/null differ diff --git a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_bubbles.png b/mods/ITEMS/mcl_brewing/textures/mcl_brewing_bubbles.png deleted file mode 100644 index 780352408..000000000 Binary files a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_bubbles.png and /dev/null differ diff --git a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_bubbles_active.png b/mods/ITEMS/mcl_brewing/textures/mcl_brewing_bubbles_active.png deleted file mode 100644 index 2a367807a..000000000 Binary files a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_bubbles_active.png and /dev/null differ diff --git a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_burner.png b/mods/ITEMS/mcl_brewing/textures/mcl_brewing_burner.png deleted file mode 100644 index e2e8e8afe..000000000 Binary files a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_burner.png and /dev/null differ diff --git a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_burner_active.png b/mods/ITEMS/mcl_brewing/textures/mcl_brewing_burner_active.png deleted file mode 100644 index 93655b673..000000000 Binary files a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_burner_active.png and /dev/null differ diff --git a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_fuel_bg.png b/mods/ITEMS/mcl_brewing/textures/mcl_brewing_fuel_bg.png deleted file mode 100644 index fd730958a..000000000 Binary files a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_fuel_bg.png and /dev/null differ diff --git a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_inventory.png b/mods/ITEMS/mcl_brewing/textures/mcl_brewing_inventory.png deleted file mode 100644 index 0ed2f4029..000000000 Binary files a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_inventory.png and /dev/null differ diff --git a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_potion_bg.png b/mods/ITEMS/mcl_brewing/textures/mcl_brewing_potion_bg.png deleted file mode 100644 index 818e41d4b..000000000 Binary files a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_potion_bg.png and /dev/null differ diff --git a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_side.png b/mods/ITEMS/mcl_brewing/textures/mcl_brewing_side.png deleted file mode 100644 index 057a405e0..000000000 Binary files a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_top.png b/mods/ITEMS/mcl_brewing/textures/mcl_brewing_top.png deleted file mode 100644 index 81e000053..000000000 Binary files a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_buckets/fishbuckets.lua b/mods/ITEMS/mcl_buckets/fishbuckets.lua index 9eb966084..185f72486 100644 --- a/mods/ITEMS/mcl_buckets/fishbuckets.lua +++ b/mods/ITEMS/mcl_buckets/fishbuckets.lua @@ -56,7 +56,7 @@ for techname, fishname in pairs(fish_names) do _doc_items_longdesc = S("This bucket is filled with water and @1.", S(fishname)), _doc_items_usagehelp = S("Place it to empty the bucket and place a @1. Obtain by right clicking on a @2 with a bucket of water.", S(fishname), S(fishname)), _tt_help = S("Places a water source and a @1.", S(fishname)), - inventory_image = techname .. "_bucket.png", + inventory_image = "mcl_buckets_" .. techname .. "_bucket.png", stack_max = 1, groups = {bucket = 1, fish_bucket = 1}, liquids_pointable = false, diff --git a/mods/ITEMS/mcl_buckets/init.lua b/mods/ITEMS/mcl_buckets/init.lua index 0851c3757..ecc867482 100644 --- a/mods/ITEMS/mcl_buckets/init.lua +++ b/mods/ITEMS/mcl_buckets/init.lua @@ -61,9 +61,8 @@ local function sound_take(itemname, pos) end local function place_liquid(pos, itemstring) - local fullness = registered_nodes[itemstring].liquid_range sound_place(itemstring, pos) - add_node(pos, {name=itemstring, param2=fullness}) + set_node(pos, {name=itemstring}) end local function give_bucket(new_bucket, itemstack, user) @@ -139,7 +138,7 @@ local function bucket_get_pointed_thing(user) local start = user:get_pos() start.y = start.y + user:get_properties().eye_height local look_dir = user:get_look_dir() - _end = vector.add(start, vector.multiply(look_dir, 5)) + local _end = vector.add(start, vector.multiply(look_dir, 5)) local ray = raycast(start, _end, false, true) for pointed_thing in ray do @@ -172,7 +171,7 @@ local function on_place_bucket(itemstack, user, pointed_thing) local node = get_node(pos) local node_def = registered_nodes[node.name] - if node_def and node_def.buildable_to or get_item_group(node.name, "cauldron") == 1 then + if node_def and node_def.buildable_to or get_item_group(node.name, "cauldron") == 1 or minetest.get_node(pos).name == "mcl_mangrove:mangrove_roots" then local result, take_bucket = get_extra_check(bucket_def.extra_check, pos, user) if result then local node_place = get_node_place(bucket_def.source_place, pos) diff --git a/mods/ITEMS/mcl_buckets/locale/mcl_buckets.fr.tr b/mods/ITEMS/mcl_buckets/locale/mcl_buckets.fr.tr index 2562a2f84..79a9d9d6d 100644 --- a/mods/ITEMS/mcl_buckets/locale/mcl_buckets.fr.tr +++ b/mods/ITEMS/mcl_buckets/locale/mcl_buckets.fr.tr @@ -1,14 +1,14 @@ # textdomain: mcl_buckets -Empty Bucket=Seau Vide +Empty Bucket=Seau vide A bucket can be used to collect and release liquids.=Un seau peut être utilisé pour recueillir et libérer les liquides. Punch a liquid source to collect it. You can then use the filled bucket to place the liquid somewhere else.=Frappez une source de liquide pour la collecter. Vous pouvez ensuite utiliser le seau rempli pour placer le liquide ailleurs. Lava Bucket=Seau de Lave A bucket can be used to collect and release liquids. This one is filled with hot lava, safely contained inside. Use with caution.=Un seau peut être utilisé pour recueillir et libérer les liquides. Celui-ci est rempli de lave chaude, contenue en toute sécurité à l'intérieur. À utiliser avec précaution. -Get in a safe distance and place the bucket to empty it and create a lava source at this spot. Don't burn yourself!=Eloignez-vous et placez le seau pour le vider et créez une source de lave à cet endroit. Ne vous brûlez pas! -Water Bucket=Seau d'Eau +Get in a safe distance and place the bucket to empty it and create a lava source at this spot. Don't burn yourself!=Éloignez-vous et placez le seau pour le vider et créez une source de lave à cet endroit. Ne vous brûlez pas ! +Water Bucket=Seau d'eau A bucket can be used to collect and release liquids. This one is filled with water.=Un seau peut être utilisé pour recueillir et libérer les liquides. Celui-ci est rempli d'eau. Place it to empty the bucket and create a water source.=Placez-le pour vider le seau et créer une source d'eau. -River Water Bucket=Seau d'Eau de Rivière +River Water Bucket=Seau d'eau de rivière A bucket can be used to collect and release liquids. This one is filled with river water.=Un seau peut être utilisé pour recueillir et libérer les liquides. Celui-ci est rempli d'eau de rivière. Place it to empty the bucket and create a river water source.=Placez-le pour vider le seau et créer une source d'eau de rivière. Collects liquids=Collecte des liquides @@ -17,8 +17,8 @@ Places a water source=Place une source d'eau Places a river water source=Place une source d'eau de rivière Cod=Morue Salmon=Saumon -Tropical Fish=Poisson Tropical +Tropical Fish=Poisson tropical Bucket of @1=Seau de @1 This bucket is filled with water and @1.=Ce seau est rempli d'eau et de @1. -Place it to empty the bucket and place a @1. Obtain by right clicking on a @2 fish with a bucket of water.=Le placer pour vider le seau et placer un @1. +Place it to empty the bucket and place a @1. Obtain by right clicking on a @2 fish with a bucket of water.=Le placer pour vider le seau et placer un @1. S'obtient en faisant un clic droit sur un poisson @2 avec un seau d'eau. Places a water source and a @1 fish.=Placer une source d'eau et un poisson @1. diff --git a/mods/ITEMS/mcl_buckets/locale/mcl_buckets.pt_BR.tr b/mods/ITEMS/mcl_buckets/locale/mcl_buckets.pt_BR.tr new file mode 100644 index 000000000..c419d76fe --- /dev/null +++ b/mods/ITEMS/mcl_buckets/locale/mcl_buckets.pt_BR.tr @@ -0,0 +1,24 @@ +# textdomain: mcl_buckets +Empty Bucket=Balde Vazio +A bucket can be used to collect and release liquids.=Um balde pode ser utilizado para coletar e soltar líquidos. +Punch a liquid source to collect it. You can then use the filled bucket to place the liquid somewhere else.=Soque uma fonte de líquido para coletá-la. Voce pode usar um balde cheio para colocar o líquido em algum outro lugar. +Lava Bucket=Balde com Lava +A bucket can be used to collect and release liquids. This one is filled with hot lava, safely contained inside. Use with caution.=Um balde pode ser utilizado para coletar e soltar líquidos. Este está preenchido com lava quente, contido seguramente dentro. Utilize com cautela. +Get in a safe distance and place the bucket to empty it and create a lava source at this spot. Don't burn yourself!=Tome uma distância segura e coloque o balde para esvaziá-lo e criar uma fonte de lava no local. Não se queime! +Water Bucket=Balde com Água +A bucket can be used to collect and release liquids. This one is filled with water.=Um balde pode ser utilizado para coletar e soltar líquidos. Este está preenchido com água. +Place it to empty the bucket and create a water source.=Coloque-o para esvaziar o balde e criar uma fonte de água. +River Water Bucket=Balde com Água de Rio +A bucket can be used to collect and release liquids. This one is filled with river water.=Um balde pode ser utilizado para coletar e soltar líquidos. Este está preenchido com água de rio. +Place it to empty the bucket and create a river water source.=Coloque-o para esvaziar o balde e criar uma fonte de água de rio. +Collects liquids=Coleta líquidos +Places a lava source=Coloca uma fonte de lava +Places a water source=Coloca uma fonte de água +Places a river water source=Coloca uma fonte de água de rio +Cod=Bacalhau +Salmon=Salmão +Tropical Fish=Peixe Tropical +Bucket of @1=Balde com @1 +This bucket is filled with water and @1.=Este balde está preenchido com água e @1 +Place it to empty the bucket and place a @1. Obtain by right clicking on a @2 fish with a bucket of water.=Coloque-o para esvaziar o balde e colocar um @1. Obtenha-o ao clicar com o botão direito em um peixe @2 com um balde com água. +Places a water source and a @1 fish.=Coloca a fonte de água e um peixe @1. diff --git a/mods/ITEMS/mcl_buckets/register.lua b/mods/ITEMS/mcl_buckets/register.lua index 365966724..d9054d498 100644 --- a/mods/ITEMS/mcl_buckets/register.lua +++ b/mods/ITEMS/mcl_buckets/register.lua @@ -65,6 +65,11 @@ if mod_mcl_core then end sound_place("mcl_core:water_source", pos) return false, true + -- Put water into mangrove roots + elseif minetest.get_node(pos).name == "mcl_mangrove:mangrove_roots" then + minetest.set_node(pos, {name="mcl_mangrove:water_logged_roots"}) + sound_place("mcl_core:water_source", pos) + return false, true -- Evaporate water if used in Nether (except on cauldron) else local dim = mcl_worlds.pos_to_dimension(pos) @@ -99,6 +104,11 @@ if mod_mclx_core then end sound_place("mcl_core:water_source", pos) return false, true + -- Put river water into mangrove roots + elseif minetest.get_node(pos).name == "mcl_mangrove:mangrove_roots" then + minetest.set_node(pos, {name="mcl_mangrove:river_water_logged_roots"}) + sound_place("mcl_core:water_source", pos) + return false, true else -- Evaporate water if used in Nether (except on cauldron) local dim = mcl_worlds.pos_to_dimension(pos) diff --git a/mods/ITEMS/mcl_buckets/textures/axolotl_bucket.png b/mods/ITEMS/mcl_buckets/textures/axolotl_bucket.png deleted file mode 100644 index 1923991c1..000000000 Binary files a/mods/ITEMS/mcl_buckets/textures/axolotl_bucket.png and /dev/null differ diff --git a/mods/ITEMS/mcl_cake/locale/mcl_cake.fr.tr b/mods/ITEMS/mcl_cake/locale/mcl_cake.fr.tr index 06e3b7ceb..55e5c8772 100644 --- a/mods/ITEMS/mcl_cake/locale/mcl_cake.fr.tr +++ b/mods/ITEMS/mcl_cake/locale/mcl_cake.fr.tr @@ -8,5 +8,5 @@ Cake (4 Slices Left)=Gâteau (reste 4 tranches) Cake (3 Slices Left)=Gâteau (reste 3 tranches) Cake (2 Slices Left)=Gâteau (reste 2 tranches) Cake (1 Slice Left)=Gâteau (reste 1 tranche) -With 7 tasty slices!=Avec 7 tranches savoureuses! -Hunger points: +@1 per slice=Points de faim: +@1 par tranche +With 7 tasty slices!=Avec 7 tranches savoureuses ! +Hunger points: +@1 per slice=Points de faim : +@1 par tranche diff --git a/mods/ITEMS/mcl_cake/locale/mcl_cake.pt_BR.tr b/mods/ITEMS/mcl_cake/locale/mcl_cake.pt_BR.tr new file mode 100644 index 000000000..d465e1812 --- /dev/null +++ b/mods/ITEMS/mcl_cake/locale/mcl_cake.pt_BR.tr @@ -0,0 +1,12 @@ +# textdomain: mcl_cake +Cake=Bolo +Cakes can be placed and eaten to restore hunger points. A cake has 7 slices. Each slice restores 2 hunger points and 0.4 saturation points. Cakes will be destroyed when dug or when the block below them is broken.=Bolos podem ser colocados e comidos para restaurar pontos de fome. Um bolo tem 7 pedaços. Cada pedaço restaura 2 pontos de fome e 0.4 pontos de saturação. Bolos serão destruídos quando eles, ou o bloco abaixo deles, é quebrado. +Place the cake anywhere, then rightclick it to eat a single slice. You can't eat from the cake when your hunger bar is full.=Coloque o bolo em qualquer lugar, e então aperte o botão direito nele para comer um pedaço. Você não consegue comer bolo quando sua barra de fome estiver cheia. +Cake (6 Slices Left)=Bolo (6 Pedaços Restantes) +Cake (5 Slices Left)=Bolo (5 Pedaços Restantes) +Cake (4 Slices Left)=Bolo (4 Pedaços Restantes) +Cake (3 Slices Left)=Bolo (3 Pedaços Restantes) +Cake (2 Slices Left)=Bolo (2 Pedaços Restantes) +Cake (1 Slice Left)=Bolo (1 Pedaço Restante) +With 7 tasty slices!=Com 7 deliciosos pedaços! +Hunger points: +@1 per slice=Pontos de fome: +@1 por pedaço diff --git a/mods/ITEMS/mcl_cake/textures/cake.png b/mods/ITEMS/mcl_cake/textures/cake.png deleted file mode 100644 index 736faa6db..000000000 Binary files a/mods/ITEMS/mcl_cake/textures/cake.png and /dev/null differ diff --git a/mods/ITEMS/mcl_cake/textures/cake_bottom.png b/mods/ITEMS/mcl_cake/textures/cake_bottom.png deleted file mode 100644 index d64db7f7d..000000000 Binary files a/mods/ITEMS/mcl_cake/textures/cake_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_cake/textures/cake_side.png b/mods/ITEMS/mcl_cake/textures/cake_side.png deleted file mode 100644 index 3d4643e41..000000000 Binary files a/mods/ITEMS/mcl_cake/textures/cake_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_cake/textures/cake_top.png b/mods/ITEMS/mcl_cake/textures/cake_top.png deleted file mode 100644 index 576c3fe8c..000000000 Binary files a/mods/ITEMS/mcl_cake/textures/cake_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_campfires/API.md b/mods/ITEMS/mcl_campfires/API.md new file mode 100644 index 000000000..abf61c6f1 --- /dev/null +++ b/mods/ITEMS/mcl_campfires/API.md @@ -0,0 +1,26 @@ +MineClone 2 Campfire API +======================== +`mcl_campfires.register_campfire` +--------------------------------- +Used to register campfires. + +**Example Usage** +``` +mcl_campfires.register_campfire("mcl_campfires:campfire", { + description = S("Campfire"), + inv_texture = "mcl_campfires_campfire_inv.png", + fire_texture = "mcl_campfires_campfire_fire.png", + lit_logs_texture = "mcl_campfires_campfire_log_lit.png", + drops = "mcl_core:charcoal_lump 2", + lightlevel = 14, + damage = 1, +}) +``` +**Values** +* description - human readable node name. +* inv_texture - campfire inventory texture. +* fire_texture - texture of the campfire fire. +* lit_logs_texture - texture for the logs of the lit campfire. if not changed, specify mcl_campfires_log.png. +* drops - what items drop when the campfire is mined. +* lightlevel - the level of light the campfire emits. +* damage - amount of damage the campfire deals when the player stands on it. \ No newline at end of file diff --git a/mods/ITEMS/mcl_campfires/api.lua b/mods/ITEMS/mcl_campfires/api.lua new file mode 100644 index 000000000..8b0aff85e --- /dev/null +++ b/mods/ITEMS/mcl_campfires/api.lua @@ -0,0 +1,117 @@ +local S = minetest.get_translator(minetest.get_current_modname()) +mcl_campfires = {} + +function mcl_campfires.register_campfire(name, def) + -- Define Campfire + minetest.register_node(name, { + description = def.description, + _tt_help = S("Cooks food and keeps bees happy."), + _doc_items_longdesc = S("Campfires have multiple uses, including keeping bees happy, cooking raw meat and fish, and as a trap."), + inventory_image = def.inv_texture, + wield_image = def.inv_texture, + drawtype = "mesh", + mesh = "mcl_campfires_campfire.obj", + tiles = {{name="mcl_campfires_log.png"},}, + use_texture_alpha = "clip", + groups = { handy=1, axey=1, material_wood=1, not_in_creative_inventory=1, campfire=1, }, + paramtype = "light", + paramtype2 = "facedir", + on_rightclick = function (pos, node, player, itemstack, pointed_thing) + if player:get_wielded_item():get_name() == "mcl_fire:flint_and_steel" then + node.name = name.."_lit" + minetest.set_node(pos, node) + end + end, + drop = def.drops, + _mcl_silk_touch_drop = {name}, + mcl_sounds.node_sound_wood_defaults(), + selection_box = { + type = 'fixed', + fixed = {-.5, -.5, -.5, .5, -.05, .5}, --left, bottom, front, right, top + }, + collision_box = { + type = 'fixed', + fixed = {-.5, -.5, -.5, .5, -.05, .5}, + }, + _mcl_blast_resistance = 2, + _mcl_hardness = 2, + }) + + --Define Lit Campfire + minetest.register_node(name.."_lit", { + description = def.description, + _tt_help = S("Cooks food and keeps bees happy."), + _doc_items_longdesc = S("Campfires have multiple uses, including keeping bees happy, cooking raw meat and fish, and as a trap."), + inventory_image = def.inv_texture, + wield_image = def.inv_texture, + drawtype = "mesh", + mesh = "mcl_campfires_campfire_lit.obj", + tiles = {{ + name=def.fire_texture, + animation={ + type="vertical_frames", + aspect_w=16, + aspect_h=16, + length=2.0 + }}, + {name=def.lit_logs_texture, + animation={ + type="vertical_frames", + aspect_w=16, + aspect_h=16, + length=2.0 + }} + }, + use_texture_alpha = "clip", + groups = { handy=1, axey=1, material_wood=1, campfire=1, lit_campfire=1 }, + paramtype = "light", + paramtype2 = "facedir", + on_rightclick = function (pos, node, player, itemstack, pointed_thing) + if player:get_wielded_item():get_name():find("shovel") then + node.name = name + minetest.set_node(pos, node) + minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16}, true) + end + end, + drop = def.drops, + _mcl_silk_touch_drop = {name.."_lit"}, + light_source = def.lightlevel, + mcl_sounds.node_sound_wood_defaults(), + selection_box = { + type = "fixed", + fixed = {-.5, -.5, -.5, .5, -.05, .5}, --left, bottom, front, right, top + }, + collision_box = { + type = "fixed", + fixed = {-.5, -.5, -.5, .5, -.05, .5}, + }, + _mcl_blast_resistance = 2, + _mcl_hardness = 2, + damage_per_second = def.damage, + }) +end + +local function burn_in_campfire(obj) + local p = obj:get_pos() + if p then + local n = minetest.find_node_near(p,0.4,{"group:lit_campfire"},true) + if n then + mcl_burning.set_on_fire(obj, 5) + end + end +end + +local etime = 0 +minetest.register_globalstep(function(dtime) + etime = dtime + etime + if etime < 0.5 then return end + etime = 0 + for _,pl in pairs(minetest.get_connected_players()) do + burn_in_campfire(pl) + end + for _,ent in pairs(minetest.luaentities) do + if ent.is_mob then + burn_in_campfire(ent.object) + end + end +end) diff --git a/mods/ITEMS/mcl_campfires/init.lua b/mods/ITEMS/mcl_campfires/init.lua index 083fbce57..058ba50ed 100644 --- a/mods/ITEMS/mcl_campfires/init.lua +++ b/mods/ITEMS/mcl_campfires/init.lua @@ -1,147 +1,9 @@ --- |||||||||||||||||||||||||||||||| --- ||||||||||| CAMPFIRES |||||||||| --- |||||||||||||||||||||||||||||||| - -- TO-DO: -- * Add Smoke Particles -- * Add Spark Particles -- * Add Cooking Meat -- * Add Working Sounds +local modname = minetest.get_modpath(minetest.get_current_modname()) -local S = minetest.get_translator(minetest.get_current_modname()) - -local campfires = { - { name = "Campfire", lightlevel = 14, techname = "campfire", damage = 1, drops = "mcl_core:charcoal_lump 2" }, - { name = "Soul Campfire", lightlevel = 10, techname = "soul_campfire", damage = 2, drops = "mcl_blackstone:soul_soil" }, -} - -for _, campfire in pairs(campfires) do --- Define Campfire - minetest.register_node("mcl_campfires:" .. campfire.techname, { - description = S(campfire.name), - _tt_help = S("Cooks food and keeps bees happy."), - _doc_items_longdesc = S("Campfires have multiple uses, including keeping bees happy, cooking raw meat and fish, and as a trap."), - inventory_image = "mcl_campfires_" .. campfire.techname .. "_inv.png", - drawtype = "mesh", - mesh = "mcl_campfires_campfire.obj", - tiles = {{name="mcl_campfires_log.png"},}, - use_texture_alpha = "clip", - groups = { handy=1, axey=1, material_wood=1, not_in_creative_inventory=1, campfire=1, }, - paramtype = "light", - paramtype2 = "facedir", - on_rightclick = function (pos, node, player, itemstack, pointed_thing) - if player:get_wielded_item():get_name() == "mcl_fire:flint_and_steel" then - node.name = "mcl_campfires:" .. campfire.techname .. "_lit" - minetest.set_node(pos, node) - end - end, - drop = campfire.drops, - _mcl_silk_touch_drop = {"mcl_campfires:" .. campfire.techname}, - mcl_sounds.node_sound_wood_defaults(), - selection_box = { - type = 'fixed', - fixed = {-.5, -.5, -.5, .5, -.05, .5}, --left, bottom, front, right, top - }, - collision_box = { - type = 'fixed', - fixed = {-.5, -.5, -.5, .5, -.05, .5}, - }, - _mcl_blast_resistance = 2, - _mcl_hardness = 2, - }) - - --Define Lit Campfire - minetest.register_node("mcl_campfires:" .. campfire.techname .. "_lit", { - description = S(campfire.name), - _tt_help = S("Cooks food and keeps bees happy."), - _doc_items_longdesc = S("Campfires have multiple uses, including keeping bees happy, cooking raw meat and fish, and as a trap."), - inventory_image = "mcl_campfires_" .. campfire.techname .. "_inv.png", - drawtype = "mesh", - mesh = "mcl_campfires_campfire_lit.obj", - tiles = {{ - name="mcl_campfires_" .. campfire.techname .. "_fire.png", - animation={ - type="vertical_frames", - aspect_w=16, - aspect_h=16, - length=2.0 - }}, - {name="mcl_campfires_" .. campfire.techname .. "_log_lit.png", - animation={ - type="vertical_frames", - aspect_w=16, - aspect_h=16, - length=2.0 - }} - }, - use_texture_alpha = "clip", - groups = { handy=1, axey=1, material_wood=1, campfire=1, lit_campfire=1 }, - paramtype = "light", - paramtype2 = "facedir", - on_rightclick = function (pos, node, player, itemstack, pointed_thing) - if player:get_wielded_item():get_name():find("shovel") then - node.name = "mcl_campfires:" .. campfire.techname - minetest.set_node(pos, node) - minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16}, true) - end - end, - drop = campfire.drops, - _mcl_silk_touch_drop = {"mcl_campfires:" .. campfire.techname .. "_lit"}, - light_source = campfire.lightlevel, - mcl_sounds.node_sound_wood_defaults(), - selection_box = { - type = "fixed", - fixed = {-.5, -.5, -.5, .5, -.05, .5}, --left, bottom, front, right, top - }, - collision_box = { - type = "fixed", - fixed = {-.5, -.5, -.5, .5, -.05, .5}, - }, - _mcl_blast_resistance = 2, - _mcl_hardness = 2, - damage_per_second = campfire.damage, - }) -end - -minetest.register_craft({ - output = "mcl_campfires:campfire_lit", - recipe = { - { "", "mcl_core:stick", "" }, - { "mcl_core:stick", "group:coal", "mcl_core:stick" }, - { "group:tree", "group:tree", "group:tree" }, - } -}) - -minetest.register_craft({ - output = "mcl_campfires:soul_campfire_lit", - recipe = { - { "", "mcl_core:stick", "" }, - { "mcl_core:stick", "group:soul_block", "mcl_core:stick" }, - { "group:tree", "group:tree", "group:tree" }, - } -}) - -local function burn_in_campfire(obj) - local p = obj:get_pos() - if p then - local n = minetest.find_node_near(p,0.4,{"group:lit_campfire"},true) - if n then - mcl_burning.set_on_fire(obj, 5) - end - end -end - -local etime = 0 -minetest.register_globalstep(function(dtime) - etime = dtime + etime - if etime < 0.5 then return end - etime = 0 - for _,pl in pairs(minetest.get_connected_players()) do - burn_in_campfire(pl) - end - for _,ent in pairs(minetest.luaentities) do - if ent.is_mob then - burn_in_campfire(ent.object) - end - end -end) +dofile(modname.."/api.lua") -- Load API File +dofile(modname.."/register.lua") -- Load Campfire Registration File diff --git a/mods/ITEMS/mcl_campfires/locale/mcl_campfires.pt_BR.tr b/mods/ITEMS/mcl_campfires/locale/mcl_campfires.pt_BR.tr new file mode 100644 index 000000000..27757ee41 --- /dev/null +++ b/mods/ITEMS/mcl_campfires/locale/mcl_campfires.pt_BR.tr @@ -0,0 +1,5 @@ +# textdomain: mcl_campfires +Campfire=Fogueira +Soul Campfire=Fogueira de Almas +Cooks food and keeps bees happy.=Cozinhe comida e mantenha as abelhas felizes. +Campfires have multiple uses, including keeping bees happy, cooking raw meat and fish, and as a trap.=Fogueiras possuem multiplos usos, incluindo manter abelhas felizes, cozinhar carnes cruas e peixes e como uma armadilha. diff --git a/mods/ITEMS/mcl_campfires/register.lua b/mods/ITEMS/mcl_campfires/register.lua new file mode 100644 index 000000000..87e9f415a --- /dev/null +++ b/mods/ITEMS/mcl_campfires/register.lua @@ -0,0 +1,42 @@ +local S = minetest.get_translator(minetest.get_current_modname()) + +-- Register Plain Campfire +mcl_campfires.register_campfire("mcl_campfires:campfire", { + description = S("Campfire"), + inv_texture = "mcl_campfires_campfire_inv.png", + fire_texture = "mcl_campfires_campfire_fire.png", + lit_logs_texture = "mcl_campfires_campfire_log_lit.png", + drops = "mcl_core:charcoal_lump 2", + lightlevel = 14, + damage = 1, +}) + +-- Register Soul Campfire +mcl_campfires.register_campfire("mcl_campfires:soul_campfire", { + description = S("Soul Campfire"), + inv_texture = "mcl_campfires_soul_campfire_inv.png", + fire_texture = "mcl_campfires_soul_campfire_fire.png", + lit_logs_texture = "mcl_campfires_soul_campfire_log_lit.png", + drops = "mcl_blackstone:soul_soil", + lightlevel = 10, + damage = 2, +}) + +-- Register Campfire Crafting +minetest.register_craft({ + output = "mcl_campfires:campfire_lit", + recipe = { + { "", "mcl_core:stick", "" }, + { "mcl_core:stick", "group:coal", "mcl_core:stick" }, + { "group:tree", "group:tree", "group:tree" }, + } +}) + +minetest.register_craft({ + output = "mcl_campfires:soul_campfire_lit", + recipe = { + { "", "mcl_core:stick", "" }, + { "mcl_core:stick", "group:soul_block", "mcl_core:stick" }, + { "group:tree", "group:tree", "group:tree" }, + } +}) diff --git a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_campfire_fire.png b/mods/ITEMS/mcl_campfires/textures/mcl_campfires_campfire_fire.png deleted file mode 100644 index d1288ec9d..000000000 Binary files a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_campfire_fire.png and /dev/null differ diff --git a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_campfire_inv.png b/mods/ITEMS/mcl_campfires/textures/mcl_campfires_campfire_inv.png deleted file mode 100644 index 6d8ee3c06..000000000 Binary files a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_campfire_inv.png and /dev/null differ diff --git a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_campfire_log_lit.png b/mods/ITEMS/mcl_campfires/textures/mcl_campfires_campfire_log_lit.png deleted file mode 100644 index 7dd086000..000000000 Binary files a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_campfire_log_lit.png and /dev/null differ diff --git a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_fire1.png b/mods/ITEMS/mcl_campfires/textures/mcl_campfires_fire1.png deleted file mode 100644 index 865d6e3e0..000000000 Binary files a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_fire1.png and /dev/null differ diff --git a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_log.png b/mods/ITEMS/mcl_campfires/textures/mcl_campfires_log.png deleted file mode 100644 index 2401f4889..000000000 Binary files a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_log.png and /dev/null differ diff --git a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_soul_campfire_fire.png b/mods/ITEMS/mcl_campfires/textures/mcl_campfires_soul_campfire_fire.png deleted file mode 100644 index ecf149833..000000000 Binary files a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_soul_campfire_fire.png and /dev/null differ diff --git a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_soul_campfire_inv.png b/mods/ITEMS/mcl_campfires/textures/mcl_campfires_soul_campfire_inv.png deleted file mode 100644 index 88c7a6e4c..000000000 Binary files a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_soul_campfire_inv.png and /dev/null differ diff --git a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_soul_campfire_log_lit.png b/mods/ITEMS/mcl_campfires/textures/mcl_campfires_soul_campfire_log_lit.png deleted file mode 100644 index 1cc1f8043..000000000 Binary files a/mods/ITEMS/mcl_campfires/textures/mcl_campfires_soul_campfire_log_lit.png and /dev/null differ diff --git a/mods/ITEMS/mcl_cartography_table/init.lua b/mods/ITEMS/mcl_cartography_table/init.lua index a7c66b4e2..dca9493ee 100644 --- a/mods/ITEMS/mcl_cartography_table/init.lua +++ b/mods/ITEMS/mcl_cartography_table/init.lua @@ -1,17 +1,18 @@ local S = minetest.get_translator(minetest.get_current_modname()) --- Cartography Table Code. Used to create and copy maps. Needs a GUI still. +-- Cartography Table Code. Used to create and copy maps. TODO: Needs a GUI still. minetest.register_node("mcl_cartography_table:cartography_table", { description = S("Cartography Table"), _tt_help = S("Used to create or copy maps"), _doc_items_longdesc = S("Is used to create or copy maps for use.."), tiles = { - "cartography_table_top.png", "cartography_table_side3.png", - "cartography_table_side3.png", "cartography_table_side2.png", - "cartography_table_side3.png", "cartography_table_side1.png" + "mcl_cartography_table_top.png", "mcl_cartography_table_side3.png", + "mcl_cartography_table_side3.png", "mcl_cartography_table_side2.png", + "mcl_cartography_table_side3.png", "mcl_cartography_table_side1.png" }, paramtype2 = "facedir", groups = { axey = 2, handy = 1, deco_block = 1, material_wood = 1, flammable = 1 }, + sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_blast_resistance = 2.5, _mcl_hardness = 2.5 }) @@ -24,4 +25,4 @@ minetest.register_craft({ { "group:wood", "group:wood", "" }, { "group:wood", "group:wood", "" }, } -}) \ No newline at end of file +}) diff --git a/mods/ITEMS/mcl_cartography_table/locale/mcl_cartography_table.fr.tr b/mods/ITEMS/mcl_cartography_table/locale/mcl_cartography_table.fr.tr index 5229d087d..7f0b128d0 100644 --- a/mods/ITEMS/mcl_cartography_table/locale/mcl_cartography_table.fr.tr +++ b/mods/ITEMS/mcl_cartography_table/locale/mcl_cartography_table.fr.tr @@ -1,4 +1,4 @@ # textdomain: mcl_cartography_table -Cartography Table=Table de Cartographie +Cartography Table=Table de cartographie Used to create or copy maps=Utilisée pour créer ou copier des cartes -Is used to create or copy maps for use..=Est utilisée pour créer ou copier des cartes.. \ No newline at end of file +Is used to create or copy maps for use..=Est utilisée pour créer ou copier des cartes.. diff --git a/mods/ITEMS/mcl_cartography_table/locale/mcl_cartography_table.pt_BR.tr b/mods/ITEMS/mcl_cartography_table/locale/mcl_cartography_table.pt_BR.tr new file mode 100644 index 000000000..da5e8e0af --- /dev/null +++ b/mods/ITEMS/mcl_cartography_table/locale/mcl_cartography_table.pt_BR.tr @@ -0,0 +1,4 @@ +# textdomain: mcl_cartography_table +Cartography Table=Mesa de Cartografia +Used to create or copy maps=Utilizada para criar ou copiar mapas +Is used to create or copy maps for use..=É usada para criar ou copiar mapas para uso.. diff --git a/mods/ITEMS/mcl_cartography_table/mod.conf b/mods/ITEMS/mcl_cartography_table/mod.conf index ebea16197..0a80c0111 100644 --- a/mods/ITEMS/mcl_cartography_table/mod.conf +++ b/mods/ITEMS/mcl_cartography_table/mod.conf @@ -1,3 +1,4 @@ name = mcl_cartography_table author = PrairieWind +depends = mcl_core, mcl_sounds, mcl_tools description = Adds the cartography table villager workstation to MineClone 2/5. Used to copy and create maps. \ No newline at end of file diff --git a/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side1.png b/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side1.png deleted file mode 100644 index 7573d6b98..000000000 Binary files a/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side1.png and /dev/null differ diff --git a/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side2.png b/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side2.png deleted file mode 100644 index f5dbd7ce5..000000000 Binary files a/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side2.png and /dev/null differ diff --git a/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side3.png b/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side3.png deleted file mode 100644 index 740303ba1..000000000 Binary files a/mods/ITEMS/mcl_cartography_table/textures/cartography_table_side3.png and /dev/null differ diff --git a/mods/ITEMS/mcl_cartography_table/textures/cartography_table_top.png b/mods/ITEMS/mcl_cartography_table/textures/cartography_table_top.png deleted file mode 100644 index cefff1fbd..000000000 Binary files a/mods/ITEMS/mcl_cartography_table/textures/cartography_table_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_cauldrons/init.lua b/mods/ITEMS/mcl_cauldrons/init.lua index 6a8270794..44bbebc22 100644 --- a/mods/ITEMS/mcl_cauldrons/init.lua +++ b/mods/ITEMS/mcl_cauldrons/init.lua @@ -67,12 +67,12 @@ local function register_filled_cauldron(water_level, description, liquid) local water_tex if liquid == "river_water" then id = id .. "r" - water_tex = "default_river_water_source_animated.png^[verticalframe:16:0" + water_tex = "default_water_source_animated.png^[verticalframe:16:0^[multiply:#0084FF" elseif liquid == "lava" then id = id .. "_lava" water_tex = "default_lava_source_animated.png^[verticalframe:16:0" else - water_tex = "default_water_source_animated.png^[verticalframe:16:0" + water_tex = "default_water_source_animated.png^[verticalframe:16:0^[multiply:#3F76E4" end minetest.register_node(id, { description = description, diff --git a/mods/ITEMS/mcl_cauldrons/locale/mcl_cauldrons.pt_BR.tr b/mods/ITEMS/mcl_cauldrons/locale/mcl_cauldrons.pt_BR.tr new file mode 100644 index 000000000..5259b3822 --- /dev/null +++ b/mods/ITEMS/mcl_cauldrons/locale/mcl_cauldrons.pt_BR.tr @@ -0,0 +1,11 @@ +# textdomain: mcl_cauldrons +Cauldron=Caldeirão +Cauldrons are used to store water and slowly fill up under rain. They can also be used to wash off banners.=Caldeirões são usados para armazenar água e acumular lentamente água da chuva. +Place a water bucket into the cauldron to fill it with water. Place an empty bucket on a full cauldron to retrieve the water. Place a water bottle into the cauldron to fill the cauldron to one third with water. Place a glass bottle in a cauldron with water to retrieve one third of the water. Use an emblazoned banner on a cauldron with water to wash off its top layer.=Coloque um balde com água no Caldeirão para enchê-lo com água. Coloque um balde vazio em um Caldeirão cheio para recuperar a água. Coloque uma garrafa com água no Caldeirão para preenchê-lo a um terço com água. Coloque uma garrafa de vidro no Caldeirão com água para recuperar um terço da água. Use um estandarte brasonado no Caldeirão com água para lavar sua primeira camada. +Cauldron (1/3 Water)=Caldeirão (1/3 Água) +Cauldron (2/3 Water)=Caldeirão (2/3 Água) +Cauldron (3/3 Water)=Caldeirão (3/3 Água) +Cauldron (1/3 River Water)=Caldeirão (1/3 Água de Rio) +Cauldron (2/3 River Water)=Caldeirão (2/3 Água de Rio) +Cauldron (3/3 River Water)=Caldeirão (3/3 Água de Rio) +Stores water=Armazena água diff --git a/mods/ITEMS/mcl_cauldrons/textures/mcl_cauldrons_cauldron.png b/mods/ITEMS/mcl_cauldrons/textures/mcl_cauldrons_cauldron.png deleted file mode 100644 index d373012fa..000000000 Binary files a/mods/ITEMS/mcl_cauldrons/textures/mcl_cauldrons_cauldron.png and /dev/null differ diff --git a/mods/ITEMS/mcl_chests/init.lua b/mods/ITEMS/mcl_chests/init.lua index 6d46103a3..38437c73f 100644 --- a/mods/ITEMS/mcl_chests/init.lua +++ b/mods/ITEMS/mcl_chests/init.lua @@ -72,9 +72,7 @@ minetest.register_entity("mcl_chests:chest", { self.players[playername] = true if not self.is_open then self:set_animation("open") - minetest.sound_play(self.sound_prefix .. "_open", { - pos = self.node_pos, - }) + minetest.sound_play(self.sound_prefix .. "_open", {pos=self.node_pos, gain=0.5, max_hear_distance = 16}, true) self.is_open = true end end, @@ -87,9 +85,7 @@ minetest.register_entity("mcl_chests:chest", { return end self:set_animation("close") - minetest.sound_play(self.sound_prefix .. "_close", { - pos = self.node_pos, - }) + minetest.sound_play(self.sound_prefix .. "_close", {pos=self.node_pos, gain=0.3, max_hear_distance = 16}, true) self.is_open = false end end, @@ -1061,8 +1057,8 @@ minetest.register_allow_player_inventory_action(function(player, action, inv, in or action == "take" and info.listname == "enderchest" ) then local def = player:get_wielded_item():get_definition() - - if not minetest.find_node_near(player:get_pos(), def and def.range or ItemStack():get_definition().range, "mcl_chests:ender_chest_small", true) then + local range = (def and def.range or player:get_inventory():get_stack("hand", 1):get_definition().range) + 1 + if not minetest.find_node_near(player:get_pos(), range, "mcl_chests:ender_chest_small", true) then return 0 end end diff --git a/mods/ITEMS/mcl_chests/locale/mcl_chests.fr.tr b/mods/ITEMS/mcl_chests/locale/mcl_chests.fr.tr index b84dac022..a9bf3672e 100644 --- a/mods/ITEMS/mcl_chests/locale/mcl_chests.fr.tr +++ b/mods/ITEMS/mcl_chests/locale/mcl_chests.fr.tr @@ -2,35 +2,35 @@ Chest=Coffre Chests are containers which provide 27 inventory slots. Chests can be turned into large chests with double the capacity by placing two chests next to each other.=Les coffres sont des conteneurs qui offrent 27 emplacements d'inventaire. Les coffres peuvent être transformés en grands coffres avec une capacité double en plaçant deux coffres l'un à côté de l'autre. To access its inventory, rightclick it. When broken, the items will drop out.=Pour accéder à son inventaire, faites un clic droit dessus. Une fois cassés, les articles tomberont. -Trapped Chest=Coffre Piégé +Trapped Chest=Coffre piégé A trapped chest is a container which provides 27 inventory slots. When it is opened, it sends a redstone signal to its adjacent blocks as long it stays open. Trapped chests can be turned into large trapped chests with double the capacity by placing two trapped chests next to each other.=Un coffre piégé est un conteneur qui fournit 27 emplacements d'inventaire. Lorsqu'il est ouvert, il envoie un signal redstone à ses blocs adjacents tant qu'il reste ouvert. Les coffres piégés peuvent être transformés en grands coffres piégés avec une capacité double en plaçant deux coffres piégés l'un à côté de l'autre. Ender Chest=Coffre Ender Ender chests grant you access to a single personal interdimensional inventory with 27 slots. This inventory is the same no matter from which ender chest you access it from. If you put one item into one ender chest, you will find it in all other ender chests. Each player will only see their own items, but not the items of other players.=Les coffres Ender vous donnent accès à un seul inventaire interdimensionnel personnel avec 27 emplacements. Cet inventaire est le même quel que soit le coffre d'ender d'où vous y accédez. Si vous placez un objet dans un coffre d'ender, vous le trouverez dans tous les autres coffres d'ender. Chaque joueur ne verra que ses propres objets, mais pas ceux des autres joueurs. Rightclick the ender chest to access your personal interdimensional inventory.=Faites un clic droit sur le coffre d'ender pour accéder à votre inventaire interdimensionnel personnel. -White Shulker Box=Boîte de Shulter Blanche -Light Grey Shulker Box=Boîte de Shulter Gris Clair -Orange Shulker Box=Boîte de Shulter Orange -Cyan Shulker Box=Boîte de Shulter Cyan -Magenta Shulker Box=Boîte de Shulter Magenta -Purple Shulker Box=Boîte de Shulter Violette -Light Blue Shulker Box=Boîte de Shulter Bleu Clair -Blue Shulker Box=Boîte de Shulter Bleue -Yellow Shulker Box=Boîte de Shulter Jaune -Brown Shulker Box=Boîte de Shulter Marron -Lime Shulker Box=Boîte de Shulter Vert Clair -Green Shulker Box=Boîte de Shulter Verte -Pink Shulker Box=Boîte de Shulter Rose -Red Shulker Box=Boîte de Shulter Rouge -Grey Shulker Box=Boîte de Shulter Grise -Black Shulker Box=Boîte de Shulter Noire -A shulker box is a portable container which provides 27 inventory slots for any item except shulker boxes. Shulker boxes keep their inventory when broken, so shulker boxes as well as their contents can be taken as a single item. Shulker boxes come in many different colors.=Une boîte shulker est un conteneur portable qui fournit 27 emplacements d'inventaire pour tout article, à l'exception des boîtes shulker. Les boîtes Shulker conservent leur inventaire lorsqu'elles sont brisées, de sorte que les boîtes Shulker ainsi que leur contenu peuvent être considérés comme un seul élément. Les boîtes Shulker sont disponibles dans de nombreuses couleurs différentes. -To access the inventory of a shulker box, place and right-click it. To take a shulker box and its contents with you, just break and collect it, the items will not fall out. Place the shulker box again to be able to retrieve its contents.=Pour accéder à l'inventaire d'une boîte shulker, placez-la et cliquez dessus avec le bouton droit. Pour emporter une boîte shulker et son contenu, il suffit de la casser et de la récupérer, les objets ne tomberont pas. Replacez la boîte shulker pour pouvoir récupérer son contenu. -Shulker Box=Boîte de Shulter -Large Chest=Coffre Large +White Shulker Box=Boîte de Shulker blanche +Light Grey Shulker Box=Boîte de Shulker gris clair +Orange Shulker Box=Boîte de Shulker orange +Cyan Shulker Box=Boîte de Shulker cyan +Magenta Shulker Box=Boîte de Shulker magenta +Purple Shulker Box=Boîte de Shulker violette +Light Blue Shulker Box=Boîte de Shulker bleu clair +Blue Shulker Box=Boîte de Shulker bleue +Yellow Shulker Box=Boîte de Shulker jaune +Brown Shulker Box=Boîte de Shulker marron +Lime Shulker Box=Boîte de Shulker vert clair +Green Shulker Box=Boîte de Shulker verte +Pink Shulker Box=Boîte de Shulker rose +Red Shulker Box=Boîte de Shulker rouge +Grey Shulker Box=Boîte de Shulker grise +Black Shulker Box=Boîte de Shulker noire +A shulker box is a portable container which provides 27 inventory slots for any item except shulker boxes. Shulker boxes keep their inventory when broken, so shulker boxes as well as their contents can be taken as a single item. Shulker boxes come in many different colors.=Une boîte de Shulker est un conteneur portable qui fournit 27 emplacements d'inventaire pour tout article, à l'exception des boîtes de Shulker. Les boîtes de Shulker conservent leur inventaire lorsqu'elles sont brisées, de sorte que les boîtes de Shulker ainsi que leur contenu peuvent être considérés comme un seul élément. Les boîtes de Shulker sont disponibles dans de nombreuses couleurs différentes. +To access the inventory of a shulker box, place and right-click it. To take a shulker box and its contents with you, just break and collect it, the items will not fall out. Place the shulker box again to be able to retrieve its contents.=Pour accéder à l'inventaire d'une boîte de Shulker, placez-la et cliquez dessus avec le bouton droit. Pour emporter une boîte de Shulker et son contenu, il suffit de la casser et de la récupérer, les objets ne tomberont pas. Replacez la boîte de Shulker pour pouvoir récupérer son contenu. +Shulker Box=Boîte de Shulker +Large Chest=Grand coffre Inventory=Inventaire 27 inventory slots=27 emplacements d'inventaire Can be carried around with its contents=Peut être transporté avec son contenu -Can be combined to a large chest=Peut être combiné à un grand coffre +Can be combined to a large chest=Peut être combiné pour former un grand coffre 27 interdimensional inventory slots=27 emplacements d'inventaire interdimensionnels Put items inside, retrieve them from any ender chest=Mettez des objets à l'intérieur, récupérez-les dans n'importe quel coffre Emits a redstone signal when opened=Émet un signal redstone à l'ouverture diff --git a/mods/ITEMS/mcl_chests/locale/mcl_chests.pt_BR.tr b/mods/ITEMS/mcl_chests/locale/mcl_chests.pt_BR.tr new file mode 100644 index 000000000..e0ca131c3 --- /dev/null +++ b/mods/ITEMS/mcl_chests/locale/mcl_chests.pt_BR.tr @@ -0,0 +1,36 @@ +# textdomain: mcl_chests +Chest=Baú +Chests are containers which provide 27 inventory slots. Chests can be turned into large chests with double the capacity by placing two chests next to each other.=Baús são recipientes que fornecem um inventário com 27 espaços. Baús podem ser convertidos em baús largos com o dobro da capacidade ao colocar dois baús um ao lado do outro. +To access its inventory, rightclick it. When broken, the items will drop out.=Para acessar seu inventário, clique-o com o botão direito. Quando quebrado, os itens serão derrubados no chão. +Trapped Chest=Baú com armadilha +A trapped chest is a container which provides 27 inventory slots. When it is opened, it sends a redstone signal to its adjacent blocks as long it stays open. Trapped chests can be turned into large trapped chests with double the capacity by placing two trapped chests next to each other.=Um baú com armadilha é um recipiente que fornece um inventário com 27 espaços. Quando aberto, envia um sinal de redstone para os blocos adjacentes enquanto estiver aberto. Baús com armadilhas podem se tornar báus largos com armadilha com o dobro da capacidade ao colocar dois baús com armadilha um ao lado do outro. +Ender Chest=Baú de Ender +Ender chests grant you access to a single personal interdimensional inventory with 27 slots. This inventory is the same no matter from which ender chest you access it from. If you put one item into one ender chest, you will find it in all other ender chests. Each player will only see their own items, but not the items of other players.=Baús de ender lhe garantem acesso à um inventário pessoal interdimensional com 27 espaços. Esse inventário é o mesmo independente do baú do ender que você acessar. Se você colocar um item em um baú de ender, você o encontrará em todos os outros baús de ender. Cada jogador poderá ver seus próprios itens, mas não os de outros jogadores. +Rightclick the ender chest to access your personal interdimensional inventory.=Aperte com o botão direito no baú de ender para acessar seu inventário pessoal interdimensional. +White Shulker Box=Caixa de Shulker Branca +Light Grey Shulker Box=Caixa de Shulker Cinza-Clara +Orange Shulker Box=Caixa de Shulker Laranja +Cyan Shulker Box=Caixa de Shulker Ciano +Magenta Shulker Box=Caixa de Shulker Magenta +Purple Shulker Box=Caixa de Shulker Roxa +Light Blue Shulker Box=Caixa de Shulker Azul-Clara +Blue Shulker Box=Caixa de Shulker Azul +Yellow Shulker Box=Caixa de Shulker Amarela +Brown Shulker Box=Caixa de Shulker Marrom +Lime Shulker Box=Caixa de Shulker Lima +Green Shulker Box=Caixa de Shulker Verde +Pink Shulker Box=Caixa de Shulker Rosa +Red Shulker Box=Caixa de Shulker Vermelha +Grey Shulker Box=Caixa de Shulker Cinza +Black Shulker Box=Caixa de Shulker Preta +A shulker box is a portable container which provides 27 inventory slots for any item except shulker boxes. Shulker boxes keep their inventory when broken, so shulker boxes as well as their contents can be taken as a single item. Shulker boxes come in many different colors.=Uma caixa de shulker é um recipiente portátil que fornece um inventário com 27 espaços para qualquer item exceto outras caixas de shulker. Caixas de shulker retêm seus inventários quando quebradas, portanto caixas de shulker, assim como seu conteúdo, podem ser carregadas como um único item. Caixas de shulker vêm em diferentes cores. +To access the inventory of a shulker box, place and right-click it. To take a shulker box and its contents with you, just break and collect it, the items will not fall out. Place the shulker box again to be able to retrieve its contents.=Para acessar o inventário de uma caixa de shulker, coloque-a e aperte-a com o botão direito. Para levar uma caixa de shulker com seu conteúdo com você, apenas quebre-a e a colete, os itens não cairão no chão. Coloque a caixa de shulker novamente para conseguir retirar seu conteúdo. +Shulker Box=Caixa de Shulker +Large Chest=Baú Largo +Inventory=Inventário +27 inventory slots=27 espaços de inventário +Can be carried around with its contents=Pode ser carregada com seu conteúdo +Can be combined to a large chest=Pode ser combinado para um baú largo +27 interdimensional inventory slots=27 espaços de inventário interdimensional +Put items inside, retrieve them from any ender chest=Coloque itens dentro, retire-os a partir de qualquer báu de ender +Emits a redstone signal when opened=Emite um sinal de redstone quando aberto diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_noise.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_noise.png deleted file mode 100644 index 4cc99c17e..000000000 Binary files a/mods/ITEMS/mcl_chests/textures/mcl_chests_noise.png and /dev/null differ diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_noise_double.png b/mods/ITEMS/mcl_chests/textures/mcl_chests_noise_double.png deleted file mode 100644 index 998413914..000000000 Binary files a/mods/ITEMS/mcl_chests/textures/mcl_chests_noise_double.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/locale/mcl_clock.pt_BR.tr b/mods/ITEMS/mcl_clock/locale/mcl_clock.pt_BR.tr new file mode 100644 index 000000000..a8d8ac178 --- /dev/null +++ b/mods/ITEMS/mcl_clock/locale/mcl_clock.pt_BR.tr @@ -0,0 +1,5 @@ +# textdomain: mcl_clock +Clocks are tools which shows the current time of day in the Overworld.=Relógios são ferramentas que mostram o tempo do dia na Superfície. +The clock contains a rotating disc with a sun symbol (yellow disc) and moon symbol and a little “pointer” which shows the current time of day by estimating the real position of the sun and the moon in the sky. Noon is represented by the sun symbol and midnight is represented by the moon symbol.=O relógio contêm um disco rotatório com um simbolo do sol (disco amarelo) e um símbolo da lua com um pequeno "ponteiro" que mostra o momento atual do dia estimando a posição real do sol e da lua no céu. Meio-dia é representado pelo símbolo do sol e meia-noite é representado pelo símbolo da lua. +Clock=Relógio +Displays the time of day in the Overworld=Mostra o tempo do dia na Superfície diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_07.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_07.png deleted file mode 100644 index 1e5d7c969..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_07.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_10.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_10.png deleted file mode 100644 index 68395a4c1..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_10.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_11.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_11.png deleted file mode 100644 index 8fcf0a83d..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_11.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_13.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_13.png deleted file mode 100644 index 501c5fa7d..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_13.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_14.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_14.png deleted file mode 100644 index 1f750d28c..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_14.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_15.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_15.png deleted file mode 100644 index 1126230cf..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_15.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_16.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_16.png deleted file mode 100644 index 7e13698a9..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_16.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_17.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_17.png deleted file mode 100644 index cc6af9240..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_17.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_18.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_18.png deleted file mode 100644 index beb08e694..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_18.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_20.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_20.png deleted file mode 100644 index 9f54e4a23..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_20.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_22.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_22.png deleted file mode 100644 index 8db493f6e..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_22.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_23.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_23.png deleted file mode 100644 index d7913629b..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_23.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_40.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_40.png deleted file mode 100644 index 9ce1c7091..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_40.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_43.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_43.png deleted file mode 100644 index 34521c99f..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_43.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_45.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_45.png deleted file mode 100644 index 8ba8622b6..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_45.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_46.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_46.png deleted file mode 100644 index 9f865c02b..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_46.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_48.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_48.png deleted file mode 100644 index 33300e32e..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_48.png and /dev/null differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_51.png b/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_51.png deleted file mode 100644 index f2b767437..000000000 Binary files a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_51.png and /dev/null differ diff --git a/mods/ITEMS/mcl_cocoas/locale/mcl_cocoas.pt_BR.tr b/mods/ITEMS/mcl_cocoas/locale/mcl_cocoas.pt_BR.tr new file mode 100644 index 000000000..4501fc1be --- /dev/null +++ b/mods/ITEMS/mcl_cocoas/locale/mcl_cocoas.pt_BR.tr @@ -0,0 +1,6 @@ +# textdomain: mcl_cocoas +Premature Cocoa Pod=Vagem de Cacau Prematuro +Cocoa pods grow on the side of jungle trees in 3 stages.=Vagens de cacau crescem ao lado de árvores de selva em 3 estágios. +Medium Cocoa Pod=Vagem de Cacau Média +Mature Cocoa Pod=Vagem de Cacau Madura +A mature cocoa pod grew on a jungle tree to its full size and it is ready to be harvested for cocoa beans. It won't grow any further.=Uma vagem de cacau madura cresceu em uma árvore de selva até seu tamanho máximo e está pronta para ser colhida em sementes de cacau. Não crescerá mais. diff --git a/mods/ITEMS/mcl_cocoas/textures/mcl_cocoas_cocoa_stage_0.png b/mods/ITEMS/mcl_cocoas/textures/mcl_cocoas_cocoa_stage_0.png deleted file mode 100644 index 37510cb52..000000000 Binary files a/mods/ITEMS/mcl_cocoas/textures/mcl_cocoas_cocoa_stage_0.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/locale/mcl_colorblocks.fr.tr b/mods/ITEMS/mcl_colorblocks/locale/mcl_colorblocks.fr.tr index d457364ef..f71b54063 100644 --- a/mods/ITEMS/mcl_colorblocks/locale/mcl_colorblocks.fr.tr +++ b/mods/ITEMS/mcl_colorblocks/locale/mcl_colorblocks.fr.tr @@ -1,76 +1,76 @@ # textdomain: mcl_colorblocks -White Terracotta=Terre Cuite Blanche -White Glazed Terracotta=Terre Cuite Emaillée Blanche -White Concrete Powder=Béton en Poudre Blanc -White Concrete=Béton Blanc -Grey Terracotta=Terre Cuite Grise -Grey Glazed Terracotta=Terre Cuite Emaillée Grise -Grey Concrete Powder=Béton en Poudre Gris -Grey Concrete=Béton Gris -Light Grey Terracotta=Terre Cuite Gris Clair -Light Grey Glazed Terracotta=Terre Cuite Emaillée Gris Clair -Light Grey Concrete Powder=Béton en Poudre Gris Clair -Light Grey Concrete=Béton Gris Clair -Black Terracotta=Terre Cuite Noir -Black Glazed Terracotta=Terre Cuite Emaillée Noir -Black Concrete Powder=Béton en Poudre Noir -Black Concrete=Béton Noir -Red Terracotta=Terre Cuite Rouge -Red Glazed Terracotta=Terre Cuite Emaillée Rouge -Red Concrete Powder=Béton en Poudre Rouge -Red Concrete=Béton Rouge -Yellow Terracotta=Terre Cuite Jaune -Yellow Glazed Terracotta=Terre Cuite Emaillée Jaune -Yellow Concrete Powder=Béton en Poudre Jaune -Yellow Concrete=Béton Jaune -Green Terracotta=Terre Cuite Verte -Green Glazed Terracotta=Terre Cuite Emaillée Verte -Green Concrete Powder=Béton en Poudre Vert -Green Concrete=Béton Vert -Cyan Terracotta=Terre Cuite Cyan -Cyan Glazed Terracotta=Terre Cuite Emaillée Cyan -Cyan Concrete Powder=Béton en Poudre Cyan -Cyan Concrete=Béton Cyan -Blue Terracotta=Terre Cuite Bleue -Blue Glazed Terracotta=Terre Cuite Emaillée Bleue -Blue Concrete Powder=Béton en Poudre Bleu -Blue Concrete=Béton Bleu -Magenta Terracotta=Terre Cuite Magenta -Magenta Glazed Terracotta=Terre Cuite Emaillée Magenta -Magenta Concrete Powder=Béton en Poudre Magenta -Magenta Concrete=Béton Magenta -Orange Terracotta=Terre Cuite Orange -Orange Glazed Terracotta=Terre Cuite Emaillée Orange -Orange Concrete Powder=Béton en Poudre Orange -Orange Concrete=Béton Orange -Purple Terracotta=Terre Cuite Violette -Purple Glazed Terracotta=Terre Cuite Emaillée Violette -Purple Concrete Powder=Béton en Poudre Violet -Purple Concrete=Béton Violet -Brown Terracotta=Terre Cuite Marron -Brown Glazed Terracotta=Terre Cuite Emaillée Marron -Brown Concrete Powder=Béton en Poudre Marron -Brown Concrete=Béton Marron -Pink Terracotta=Terre Cuite Rose -Pink Glazed Terracotta=Terre Cuite Emaillée Rose -Pink Concrete Powder=Béton en Poudre Rose -Pink Concrete=Béton Rose -Lime Terracotta=Terre Cuite Verte Clair -Lime Glazed Terracotta=Terre Cuite Emaillée Verte Clair -Lime Concrete Powder=Béton en Poudre Vert Clair -Lime Concrete=Béton Vert Clair -Light Blue Terracotta=Terre Cuite Bleu Clair -Light Blue Glazed Terracotta=Terre Cuite Emaillée Bleu Clair -Light Blue Concrete Powder=Béton en Poudre Bleu Clair -Light Blue Concrete=Béton Bleu Clair +White Terracotta=Terre cuite blanche +White Glazed Terracotta=Terre cuite emaillée blanche +White Concrete Powder=Béton en poudre blanc +White Concrete=Béton blanc +Grey Terracotta=Terre cuite grise +Grey Glazed Terracotta=Terre cuite emaillée grise +Grey Concrete Powder=Béton en goudre gris +Grey Concrete=Béton gris +Light Grey Terracotta=Terre cuite gris clair +Light Grey Glazed Terracotta=Terre cuite emaillée gris clair +Light Grey Concrete Powder=Béton en poudre gris clair +Light Grey Concrete=Béton gris clair +Black Terracotta=Terre cuite noir +Black Glazed Terracotta=Terre cuite emaillée noir +Black Concrete Powder=Béton en poudre noir +Black Concrete=Béton noir +Red Terracotta=Terre cuite rouge +Red Glazed Terracotta=Terre cuite emaillée rouge +Red Concrete Powder=Béton en poudre rouge +Red Concrete=Béton rouge +Yellow Terracotta=Terre cuite jaune +Yellow Glazed Terracotta=Terre cuite emaillée jaune +Yellow Concrete Powder=Béton en poudre jaune +Yellow Concrete=Béton jaune +Green Terracotta=Terre cuite verte +Green Glazed Terracotta=Terre cuite emaillée verte +Green Concrete Powder=Béton en poudre vert +Green Concrete=Béton vert +Cyan Terracotta=Terre cuite cyan +Cyan Glazed Terracotta=Terre cuite emaillée cyan +Cyan Concrete Powder=Béton en poudre cyan +Cyan Concrete=Béton cyan +Blue Terracotta=Terre cuite bleue +Blue Glazed Terracotta=Terre cuite emaillée bleue +Blue Concrete Powder=Béton en poudre bleu +Blue Concrete=Béton bleu +Magenta Terracotta=Terre cuite magenta +Magenta Glazed Terracotta=Terre cuite emaillée magenta +Magenta Concrete Powder=Béton en poudre magenta +Magenta Concrete=Béton magenta +Orange Terracotta=Terre cuite orange +Orange Glazed Terracotta=Terre cuite emaillée orange +Orange Concrete Powder=Béton en poudre orange +Orange Concrete=Béton orange +Purple Terracotta=Terre cuite violette +Purple Glazed Terracotta=Terre cuite emaillée violette +Purple Concrete Powder=Béton en poudre violet +Purple Concrete=Béton violet +Brown Terracotta=Terre cuite marron +Brown Glazed Terracotta=Terre cuite emaillée marron +Brown Concrete Powder=Béton en poudre marron +Brown Concrete=Béton marron +Pink Terracotta=Terre cuite rose +Pink Glazed Terracotta=Terre cuite emaillée rose +Pink Concrete Powder=Béton en poudre rose +Pink Concrete=Béton rose +Lime Terracotta=Terre cuite verte clair +Lime Glazed Terracotta=Terre cuite emaillée verte clair +Lime Concrete Powder=Béton en poudre vert clair +Lime Concrete=Béton vert clair +Light Blue Terracotta=Terre cuite bleu clair +Light Blue Glazed Terracotta=Terre cuite emaillée bleu clair +Light Blue Concrete Powder=Béton en poudre bleu clair +Light Blue Concrete=Béton bleu clair Terracotta is a basic building material. It comes in many different colors.=La terre cuite est un matériau de construction de base. Il est disponible dans de nombreuses couleurs différentes. Glazed terracotta is a decorative block with a complex pattern. It can be rotated by placing it in different directions.=La terre cuite émaillée est un bloc décoratif au motif complexe. Il peut être tourné en le plaçant dans différentes directions. Concrete powder is used for creating concrete, but it can also be used as decoration itself. It comes in different colors. Concrete powder turns into concrete of the same color when it comes in contact with water.=La poudre de béton est utilisée pour créer du béton, mais elle peut également être utilisée comme décoration elle-même. Il est disponible en différentes couleurs. La poudre de béton se transforme en béton de la même couleur au contact de l'eau. Concrete is a decorative block which comes in many different colors. It is notable for having a very strong and clean color.=Le béton est un bloc décoratif qui se décline en de nombreuses couleurs différentes. Il est remarquable pour avoir une couleur très forte et propre. -Terracotta=Terre Cuite +Terracotta=Terre cuite Terracotta is a basic building material which comes in many different colors. This particular block is uncolored.=La terre cuite est un matériau de construction de base qui se décline en de nombreuses couleurs différentes. Ce bloc particulier n'est pas coloré. -Colored Terracotta=Terre Cuite Coloré -Glazed Terracotta=Terre Cuite Emaillée -Concrete Powder=Béton en Poudre +Colored Terracotta=Terre cuite colorée +Glazed Terracotta=Terre cuite emaillée +Concrete Powder=Béton en poudre Concrete=Béton Turns into concrete on water contact=Se transforme en béton au contact de l'eau diff --git a/mods/ITEMS/mcl_colorblocks/locale/mcl_colorblocks.pt_BR.tr b/mods/ITEMS/mcl_colorblocks/locale/mcl_colorblocks.pt_BR.tr new file mode 100644 index 000000000..aa1236f90 --- /dev/null +++ b/mods/ITEMS/mcl_colorblocks/locale/mcl_colorblocks.pt_BR.tr @@ -0,0 +1,76 @@ +# textdomain: mcl_colorblocks +White Terracotta=Terracota Branca +White Glazed Terracotta=Terracota Esmaltada Branca +White Concrete Powder=Pó de Concreto Branco +White Concrete=Concreto Branco +Grey Terracotta=Terracota Cinza +Grey Glazed Terracotta=Terracota Esmaltada Cinza +Grey Concrete Powder=Pó de Concreto Cinza +Grey Concrete=Concreto Cinza +Light Grey Terracotta=Terracota Cinza-Clara +Light Grey Glazed Terracotta=Terracota Esmaltada Cinza-Clara +Light Grey Concrete Powder=Pó de Concreto Cinza-Claro +Light Grey Concrete=Concreto Cinza-Claro +Black Terracotta=Terracota Preta +Black Glazed Terracotta=Terracota Esmaltada Preta +Black Concrete Powder=Pó de Concreto Preto +Black Concrete=Concreto Preto +Red Terracotta=Terracota Vermalha +Red Glazed Terracotta=Terracota Esmaltada Vermelha +Red Concrete Powder=Pó de Concreto Vermelho +Red Concrete=Concreto Vermelho +Yellow Terracotta=Terracota Amarela +Yellow Glazed Terracotta=Terracota Esmaltada Amarela +Yellow Concrete Powder=Pó de Concreto Amarelo +Yellow Concrete=Concreto Amarelo +Green Terracotta=Terracota Verde +Green Glazed Terracotta=Terracota Esmaltada Verde +Green Concrete Powder=Pó de Concreto Verde +Green Concrete=Concreto Verde +Cyan Terracotta=Terracota Ciano +Cyan Glazed Terracotta=Terracota Esmaltada Ciano +Cyan Concrete Powder=Pó de Concreto Ciano +Cyan Concrete=Concreto Ciano +Blue Terracotta=Terracota Azul +Blue Glazed Terracotta=Terracota Esmaltada Azul +Blue Concrete Powder=Pó de Concreto Azul +Blue Concrete=Concreto Azul +Magenta Terracotta=Terracota Magenta +Magenta Glazed Terracotta=Terracota Esmaltada Magenta +Magenta Concrete Powder=Pó de Concreto Magenta +Magenta Concrete=Concreto Magenta +Orange Terracotta=Terracota Laranja +Orange Glazed Terracotta=Terracota Esmaltada Laranja +Orange Concrete Powder=Pó de Concreto Laranja +Orange Concrete=Concreto Laranja +Purple Terracotta=Terracota Roxa +Purple Glazed Terracotta=Terracota Esmaltada Roxa +Purple Concrete Powder=Pó de Concreto Roxo +Purple Concrete=Concreto Roxo +Brown Terracotta=Terracota Marrom +Brown Glazed Terracotta=Terracota Esmaltada Marrom +Brown Concrete Powder=Pó de Concreto Marrom +Brown Concrete=Concreto Marrom +Pink Terracotta=Terracota Rosa +Pink Glazed Terracotta=Terracota Esmaltada Rosa +Pink Concrete Powder=Pó de Concreto Rosa +Pink Concrete=Concreto Rosa +Lime Terracotta=Terracota Lima +Lime Glazed Terracotta=Terracota Esmaltada Lima +Lime Concrete Powder=Pó de Concreto Lima +Lime Concrete=Concreto Lima +Light Blue Terracotta=Terracota Azul-Clara +Light Blue Glazed Terracotta=Terracota Esmaltada Azul-Clara +Light Blue Concrete Powder=Pó de Concreto Azul-Claro +Light Blue Concrete=Concreto Azul-Claro +Terracotta is a basic building material. It comes in many different colors.=Terracota é um material de construção básico. +Glazed terracotta is a decorative block with a complex pattern. It can be rotated by placing it in different directions.=Terracota esmaltada é um bloco decorativo com padrões complexos. Pode ser rotacionado ao ser colocado em diferentes direções. +Concrete powder is used for creating concrete, but it can also be used as decoration itself. It comes in different colors. Concrete powder turns into concrete of the same color when it comes in contact with water.=Pó de concreto é utilizado para fabricar concreto, mas também pode ser usado como um bloco de decoração. Vem em diferentes cores. Pó de concreto se torna concreto da mesma cor quando entra em contato com água. +Concrete is a decorative block which comes in many different colors. It is notable for having a very strong and clean color.=Concreto é um bloco decorativo que vem em diferentes cores. É notável por possuir uma coloração forte e limpa. +Terracotta=Terracota +Terracotta is a basic building material which comes in many different colors. This particular block is uncolored.=Terracota é um material de construção básico que vem em diferentes cores. Este bloco em particular é incolor. +Colored Terracotta=Terracota Colorida +Glazed Terracotta=Terracota Esmaltada +Concrete Powder=Pó de Concreto +Concrete=Concreto +Turns into concrete on water contact=Se torna concreto em contato com água diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_blue.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_blue.png deleted file mode 100644 index 530be0509..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_blue.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_brown.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_brown.png deleted file mode 100644 index 3344f0757..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_brown.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_green.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_green.png deleted file mode 100644 index 5d1e5366c..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_green.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_grey.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_grey.png deleted file mode 100644 index 885b62fc7..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_grey.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_light_blue.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_light_blue.png deleted file mode 100644 index a6afea9d7..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_light_blue.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_lime.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_lime.png deleted file mode 100644 index d7ac27946..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_lime.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_magenta.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_magenta.png deleted file mode 100644 index 258efb786..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_magenta.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_pink.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_pink.png deleted file mode 100644 index 75dfa29a1..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_pink.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_black.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_black.png deleted file mode 100644 index f3447237b..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_black.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_blue.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_blue.png deleted file mode 100644 index 12c64fc6d..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_blue.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_brown.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_brown.png deleted file mode 100644 index 9e355c8a4..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_brown.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_grey.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_grey.png deleted file mode 100644 index 23d957a8f..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_grey.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_lime.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_lime.png deleted file mode 100644 index 536e5edc3..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_lime.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_pink.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_pink.png deleted file mode 100644 index 4a949719f..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_pink.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_red.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_red.png deleted file mode 100644 index 32195ff46..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_red.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_silver.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_silver.png deleted file mode 100644 index 37edd79b9..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_silver.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_yellow.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_yellow.png deleted file mode 100644 index 83d693e09..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_yellow.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_red.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_red.png deleted file mode 100644 index a02379ed3..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_red.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_white.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_white.png deleted file mode 100644 index 4561f6538..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_white.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_yellow.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_yellow.png deleted file mode 100644 index 990a5d2d9..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_yellow.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_blue.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_blue.png deleted file mode 100644 index 1fd064eae..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_blue.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_light_blue.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_light_blue.png deleted file mode 100644 index f78fa94a1..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_light_blue.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_lime.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_lime.png deleted file mode 100644 index 7e944f5f7..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_lime.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_orange.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_orange.png deleted file mode 100644 index 470d56943..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_orange.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_pink.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_pink.png deleted file mode 100644 index 7e71e8c8b..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_pink.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_purple.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_purple.png deleted file mode 100644 index f9d025bf9..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_purple.png and /dev/null differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_yellow.png b/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_yellow.png deleted file mode 100644 index 2f2bb4474..000000000 Binary files a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_yellow.png and /dev/null differ diff --git a/mods/ITEMS/mcl_compass/locale/mcl_compass.pt_BR.tr b/mods/ITEMS/mcl_compass/locale/mcl_compass.pt_BR.tr new file mode 100644 index 000000000..3e16f329d --- /dev/null +++ b/mods/ITEMS/mcl_compass/locale/mcl_compass.pt_BR.tr @@ -0,0 +1,10 @@ +# textdomain: mcl_compass +Compass=Bússola +Points to the world origin=Aponta para a origem do mundo +Compasses are tools which point to the world origin (X@=0, Z@=0) or the spawn point in the Overworld.=Bússolas são ferramentas que aponta para a origem do mundo (X@=0, Z@=0) ou para o lugar de spawn na Superfície. +A Compass always points to the world spawn point when the player is in the overworld. In other dimensions, it spins randomly.=Uma bússola sempre aponta para o lugar de spawn do mundo quando o jogador está na superfície. Em outras dimensões, ela gira aleatoriamente. +Lodestone Compass=Bússola Magnetizada +Points to a lodestone=Aponta para uma magnetita +Lodestone compasses resemble regular compasses, but they point to a specific lodestone.=Bússolas magnetizadas lembram bússolas comuns, mas apontam para uma magnetita específica. +A Lodestone compass can be made from an ordinary compass by using it on a lodestone. After becoming a lodestone compass, it always points to its linked lodestone, provided that they are in the same dimension. If not in the same dimension, the lodestone compass spins randomly, similarly to a regular compass when outside the overworld. A lodestone compass can be relinked with another lodestone.=Uma bússola magnetizada pode ser feita a partir de uma bússola comum ao utilizá-la em uma magnetita. Após se tornar uma bússola magnetizada, sempre apontará para a magnetita vinculada desde que estejam na mesma dimensão. Se não estão na mesma dimensão, uma bússola magnetizada girará aleatoriamente, similar a uma bússola comum quando está fora da superfície. Uma bússola magnetizada pode ser revinculada com outra magnetita. +Lodestone=Magnetita diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_00.png b/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_00.png deleted file mode 100644 index 5ba59433d..000000000 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_00.png and /dev/null differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_01.png b/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_01.png deleted file mode 100644 index 4688db60d..000000000 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_01.png and /dev/null differ diff --git a/mods/ITEMS/mcl_composters/init.lua b/mods/ITEMS/mcl_composters/init.lua index e1e39aefc..51c887531 100644 --- a/mods/ITEMS/mcl_composters/init.lua +++ b/mods/ITEMS/mcl_composters/init.lua @@ -76,6 +76,7 @@ local function composter_add_item(pos, node, player, itemstack, pointed_thing) if chance > 0 then if not is_creative_enabled(player:get_player_name()) then itemstack:take_item() + minetest.sound_play({name="default_gravel_dug", pos=pos, gain=1}, true) end -- calculate leveling up chance local rand = math.random(0,100) @@ -84,7 +85,6 @@ local function composter_add_item(pos, node, player, itemstack, pointed_thing) local level = registered_nodes[node.name]["_mcl_compost_level"] -- spawn green particles above new layer mcl_dye.add_bone_meal_particle(vector_offset(pos, 0, level/8, 0)) - -- TODO: play some sounds -- update composter block if level < 7 then level = level + 1 @@ -92,6 +92,7 @@ local function composter_add_item(pos, node, player, itemstack, pointed_thing) level = "ready" end swap_node(pos, {name = "mcl_composters:composter_" .. level}) + minetest.sound_play({name="default_grass_footstep", pos=pos, gain=0.4}, true) -- a full composter becomes ready for harvest after one second -- the block will get updated by the node timer callback set in node reg def if level == 7 then @@ -114,7 +115,7 @@ end local function composter_ready(pos) swap_node(pos, {name = "mcl_composters:composter_ready"}) -- maybe spawn particles again? - -- TODO: play some sounds + minetest.sound_play({name="default_dig_snappy", pos=above, gain=1}, true) return false end diff --git a/mods/ITEMS/mcl_copper/functions.lua b/mods/ITEMS/mcl_copper/functions.lua index 81dfdb69d..db756e425 100644 --- a/mods/ITEMS/mcl_copper/functions.lua +++ b/mods/ITEMS/mcl_copper/functions.lua @@ -3,43 +3,15 @@ local function register_oxidation_abm(abm_name, node_name, oxidized_variant) minetest.register_abm({ label = abm_name, - nodenames = {node_name}, + nodenames = { node_name }, interval = 500, chance = 3, action = function(pos, node) - minetest.swap_node(pos, {name = oxidized_variant, param2 = node.param2}) + minetest.swap_node(pos, { name = oxidized_variant, param2 = node.param2 }) end, }) end -function waxing_copper_block(pos, node, player, itemstack, convert_to) - if itemstack:get_name() == "mcl_honey:honeycomb" then - node.name = convert_to - minetest.set_node(pos, node) - awards.unlock(player:get_player_name(), "mcl:wax_on") - if not minetest.is_creative_enabled(player:get_player_name()) then - itemstack:take_item() - end - else - return true - end -end - -function scraping_copper_block(pos, node, player, itemstack, convert_to) - if itemstack:get_name():find("axe") then - node.name = convert_to - minetest.set_node(pos, node) - awards.unlock(player:get_player_name(), "mcl:wax_off") - if not minetest.is_creative_enabled(player:get_player_name()) then - local tool = itemstack:get_name() - local wear = mcl_autogroup.get_wear(tool, "axey") - itemstack:add_wear(wear) - end - else - return true - end -end - --[[ local stairs = { {"stair", "exposed", "_inner", "cut_inner"}, @@ -62,148 +34,42 @@ local stairs = { {"stair", "weathered", "", "exposed_cut"}, }]] ---[[ -local function anti_oxidation_particles(pointed_thing) - local pos = pointed_thing.under - minetest.add_particlespawner({ - amount = 8, - time = 1, - minpos = {x = pos.x - 1, y = pos.y - 1, z = pos.z - 1}, - maxpos = {x = pos.x + 1, y = pos.y + 1, z = pos.z + 1}, - minvel = {x = 0, y = 0, z = 0}, - maxvel = {x = 0, y = 0, z = 0}, - minacc = {x = 0, y = 0, z = 0}, - maxacc = {x = 0, y = 0, z = 0}, - minexptime = 0.5, - maxexptime = 1, - minsize = 1, - maxsize = 2.5, - collisiondetection = false, - vertical = false, - texture = "mcl_copper_anti_oxidation_particle.png", - glow = 5, - }) -end - -local function add_wear(placer, itemstack) - if not minetest.is_creative_enabled(placer:get_player_name()) then - local tool = itemstack:get_name() - local wear = mcl_autogroup.get_wear(tool, "axey") - itemstack:add_wear(wear) - end -end - -local function anti_oxidation(itemstack, placer, pointed_thing) - if pointed_thing.type ~= "node" then return end - - local node = minetest.get_node(pointed_thing.under) - local noddef = minetest.registered_nodes[minetest.get_node(pointed_thing.under).name] - - if not placer:get_player_control().sneak and noddef.on_rightclick then - return minetest.item_place(itemstack, placer, pointed_thing) - end - - if minetest.is_protected(pointed_thing.under, placer:get_player_name()) then - minetest.record_protection_violation(pointed_thing.under, placer:get_player_name()) - return itemstack - end - - if noddef._mcl_stripped_variant == nil then - for _, c in pairs(stairs) do - if noddef.name == "mcl_stairs:"..c[1].."_copper_"..c[2].."_cut"..c[3] then - minetest.swap_node(pointed_thing.under, {name="mcl_stairs:"..c[1].."_copper_"..c[4], param2=node.param2}) - anti_oxidation_particles(pointed_thing) - add_wear(placer, itemstack) - end - end - if noddef._mcl_anti_oxidation_variant ~= nil then - minetest.swap_node(pointed_thing.under, {name=noddef._mcl_anti_oxidation_variant, param2=node.param2}) - anti_oxidation_particles(pointed_thing) - add_wear(placer, itemstack) - end - elseif noddef._mcl_stripped_variant ~= nil then - minetest.swap_node(pointed_thing.under, {name=noddef._mcl_stripped_variant, param2=node.param2}) - add_wear(placer, itemstack) - else - return itemstack - end - return itemstack -end - -local function register_axe_override(axe_name) - minetest.override_item("mcl_tools:axe_"..axe_name, { - on_place = anti_oxidation, - }) -end]] - ---[[ Commented out for now because there the discussion how to handle this is ongoing -local stonelike = {"mcl_core:stone", "mcl_core:diorite", "mcl_core:andesite", "mcl_core:granite"} -if not deepslate_mod then - if minetest.settings:get_bool("mcl_generate_ores", true) then - minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_copper:stone_with_copper", - wherein = stonelike, - clust_scarcity = 830, - clust_num_ores = 5, - clust_size = 3, - y_min = mcl_vars.mg_overworld_min, - y_max = mcl_worlds.layer_to_y(39), - }) - minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_copper:stone_with_copper", - wherein = stonelike, - clust_scarcity = 1660, - clust_num_ores = 4, - clust_size = 2, - y_min = mcl_worlds.layer_to_y(40), - y_max = mcl_worlds.layer_to_y(63), - }) - end -end ---]] local block_oxidation = { - {"", "_exposed"}, - {"_cut", "_exposed_cut"}, - {"_exposed", "_weathered"}, - {"_exposed_cut", "_weathered_cut"}, - {"_weathered", "_oxidized"}, - {"_weathered_cut", "_oxidized_cut"} + { "", "_exposed" }, + { "_cut", "_exposed_cut" }, + { "_exposed", "_weathered" }, + { "_exposed_cut", "_weathered_cut" }, + { "_weathered", "_oxidized" }, + { "_weathered_cut", "_oxidized_cut" } } local stair_oxidation = { - {"slab", "cut", "exposed_cut"}, - {"slab", "exposed_cut", "weathered_cut"}, - {"slab", "weathered_cut", "oxidized_cut"}, - {"slab", "cut_top", "exposed_cut_top"}, - {"slab", "exposed_cut_top", "weathered_cut_top"}, - {"slab", "weathered_cut_top", "oxidized_cut_double"}, - {"slab", "cut_double", "exposed_cut_double"}, - {"slab", "exposed_cut_double", "weathered_cut_double"}, - {"slab", "weathered_cut_double", "oxidized_cut_double"}, - {"stair", "cut", "exposed_cut"}, - {"stair", "exposed_cut", "weathered_cut"}, - {"stair", "weathered_cut", "oxidized_cut"}, - {"stair", "cut_inner", "exposed_cut_inner"}, - {"stair", "exposed_cut_inner", "weathered_cut_inner"}, - {"stair", "weathered_cut_inner", "oxidized_cut_inner"}, - {"stair", "cut_outer", "exposed_cut_outer"}, - {"stair", "exposed_cut_outer", "weathered_cut_outer"}, - {"stair", "weathered_cut_outer", "oxidized_cut_outer"} + { "slab", "cut", "exposed_cut" }, + { "slab", "exposed_cut", "weathered_cut" }, + { "slab", "weathered_cut", "oxidized_cut" }, + { "slab", "cut_top", "exposed_cut_top" }, + { "slab", "exposed_cut_top", "weathered_cut_top" }, + { "slab", "weathered_cut_top", "oxidized_cut_double" }, + { "slab", "cut_double", "exposed_cut_double" }, + { "slab", "exposed_cut_double", "weathered_cut_double" }, + { "slab", "weathered_cut_double", "oxidized_cut_double" }, + { "stair", "cut", "exposed_cut" }, + { "stair", "exposed_cut", "weathered_cut" }, + { "stair", "weathered_cut", "oxidized_cut" }, + { "stair", "cut_inner", "exposed_cut_inner" }, + { "stair", "exposed_cut_inner", "weathered_cut_inner" }, + { "stair", "weathered_cut_inner", "oxidized_cut_inner" }, + { "stair", "cut_outer", "exposed_cut_outer" }, + { "stair", "exposed_cut_outer", "weathered_cut_outer" }, + { "stair", "weathered_cut_outer", "oxidized_cut_outer" } } for _, b in pairs(block_oxidation) do - register_oxidation_abm("Copper oxidation", "mcl_copper:block"..b[1], "mcl_copper:block"..b[2]) + register_oxidation_abm("Copper oxidation", "mcl_copper:block" .. b[1], "mcl_copper:block" .. b[2]) end for _, s in pairs(stair_oxidation) do - register_oxidation_abm("Copper oxidation", "mcl_stairs:"..s[1].."_copper_"..s[2], "mcl_stairs:"..s[1].."_copper_"..s[3]) + register_oxidation_abm("Copper oxidation", "mcl_stairs:" .. s[1] .. "_copper_" .. s[2], "mcl_stairs:" .. s[1] .. "_copper_" .. s[3]) + -- TODO: Make stairs and slabs be waxable / scrapable. Place the Node overrides here, just like they are on the copper nodes, and it will work properly. May need to update mcl_honey to call the waxing function for stairs and slabs. end ---local axes = {"wood", "stone", "iron", "gold", "diamond"} ---[[ -for _, axe in pairs(axes) do - register_axe_override(axe) -end -]] diff --git a/mods/ITEMS/mcl_copper/init.lua b/mods/ITEMS/mcl_copper/init.lua index a99d03f2c..937d262e2 100644 --- a/mods/ITEMS/mcl_copper/init.lua +++ b/mods/ITEMS/mcl_copper/init.lua @@ -1,5 +1,7 @@ local path = minetest.get_modpath("mcl_copper") +mcl_copper = {} -- initialize global variable. + dofile(path .. "/functions.lua") dofile(path .. "/nodes.lua") dofile(path .. "/items.lua") diff --git a/mods/ITEMS/mcl_copper/locale/mcl_copper.pt_BR.tr b/mods/ITEMS/mcl_copper/locale/mcl_copper.pt_BR.tr new file mode 100644 index 000000000..18aeb1304 --- /dev/null +++ b/mods/ITEMS/mcl_copper/locale/mcl_copper.pt_BR.tr @@ -0,0 +1,57 @@ +# textdomain: mcl_copper +A block of copper is mostly a decorative block.=Um bloco de cobre é principalmente um bloco decorativo. +A block used for compact raw copper storage.=Um bloco usado para armazenar minério de cobre compactado. +Block of Copper=Bloco de Cobre +Waxed Block of Copper=Bloco de Cobre Encerado +Block of Raw Copper=Bloco de Cobre Crú +Copper Ingot=Lingote de Cobre +Copper Ore=Minério de Cobre +Cut copper is a decorative block.=Cobre lapidado é um bloco decorativo +Cut Copper=Cobre Lapidado +Waxed Cut Copper=Cobre Lapidado Encerado +Double Slab of Cut Copper=Laje Dupla de Cobre Lapidado +Double Slab of Exposed Cut Copper=Laje Dupla de Cobre Lapidado Exposto +Double Slab of Oxidized Cut Copper=Laje Dupla de Cobre Lapidado Oxidado +Double Slab of Weathered Cut Copper=Laje Dupla de Cobre Lapidado Desgastado +Waxed Double Slab of Cut Copper=Laje Dupla de Cobre Lapidado Encerado +Waxed Double Slab of Exposed Cut Copper=Laje Dupla de Cobre Lapidado Exposto Encerado +Waxed Double Slab of Oxidized Cut Copper=Laje Dupla de Cobre Lapidado Oxidado Encerado +Waxed Double Slab of Weathered Cut Copper=Laje Dupla de Cobre Lapidado Desgastado Encerado +Exposed copper is a decorative block.=Cobre exposto é um bloco decorativo. +Exposed Copper=Cobre Exposto +Waxed Exposed Copper=Cobre Exposto Encerado +Exposed cut copper is a decorative block.=Cobre lapidado encerado é um bloco decorativo. +Exposed Cut Copper=Cobre Lapidado Exposto +Waxed Exposed Cut Copper=Cobre Lapidado Exposto Encerado +Molten Raw Copper. It is used to craft blocks.=Minério de Cobre Fundido. É utilizado para fabricar blocos. +Oxidized copper is a decorative block.=Cobre oxidado é um bloco decorativo. +Oxidized Copper=Cobre Oxidado +Waxed Oxidized Copper=Cobre Oxidado Encerado +Oxidized cut copper is a decorative block.=Cobre lapidado oxidado é um bloco decorativo. +Oxidized Cut Copper=Cobre Lapidado Oxidado +Waxed Oxidized Cut Copper=Cobre Lapidado Oxidado Encerado +Raw Copper. Mine a Copper Ore to get it.=Cobre Crú. Minere um minério de cobre para obtê-lo. +Raw Copper=Cobre Crú +Slab of Cut Copper=Laje de Cobre Lapidado +Slab of Exposed Cut Copper=Laje de Cobre Lapidado Exposto +Slab of Oxidized Cut Copper=Laje de Cobre Lapidado Oxidado +Slab of Weathered Cut Copper=Laje de Cobre Lapidado Desgastado +Waxed Slab of Cut Copper=Laje de Cobre Lapidado Encerado +Waxed Slab of Exposed Cut Copper=Laje de Cobre Lapidado Exposto Encerado +Waxed Slab of Oxidized Cut Copper=Laje de Cobre Lapidado Oxidado Encerado +Waxed Slab of Weathered Cut Copper=Laje de Cobre Lapidado Desgastado Encerado +Some copper contained in stone, it is pretty common and can be found below sea level.=Um pouco de cobre contido em rocha, é bem comum e pode ser encontrado abaixo do nível do mar. +Stairs of Cut Copper=Escadas de Cobre Lapidado +Stairs of Exposed Cut Copper=Escadas de Cobre Lapidado Exposto +Stairs of Oxidized Cut Copper=Escadas de Cobre Lapidado Oxidado +Stairs of Weathered Cut Copper=Escadas de Cobre Lapidado Desgastado +Waxed Stairs of Cut Copper=Escadas de Cobre Lapidado Encerado +Waxed Stairs of Exposed Cut Copper=Escadas de Cobre Lapidado Exposto Encerado +Waxed Stairs of Oxidized Cut Copper=Escadas de Cobre Lapidado Oxidado Encerado +Waxed Stairs of Weathered Cut Copper=Escadas de Cobre Lapidado Desgastado Encerado +Weathered copper is a decorative block.=Cobre desgastado é um bloco decorativo. +Weathered Copper=Cobre Desgastado +Waxed Weathered Copper=Cobre Desgastado Encerado +Weathered cut copper is a decorative block.=Cobre lapidado desgastado é um bloco decorativo. +Weathered Cut Copper=Cobre Lapidado Desgastado +Waxed Weathered Cut Copper=Cobre Lapidado Desgastado Encerado diff --git a/mods/ITEMS/mcl_copper/mod.conf b/mods/ITEMS/mcl_copper/mod.conf index dde96263a..8cf5fd579 100644 --- a/mods/ITEMS/mcl_copper/mod.conf +++ b/mods/ITEMS/mcl_copper/mod.conf @@ -1,4 +1,4 @@ name = mcl_copper author = NO11 -depends = mcl_core, mcl_sounds, mcl_stairs +depends = mcl_core, mcl_sounds, mcl_stairs, mcl_util description = Adds Copper Ore, blocks and items. diff --git a/mods/ITEMS/mcl_copper/nodes.lua b/mods/ITEMS/mcl_copper/nodes.lua index 6c498f9f6..c8bb139cf 100644 --- a/mods/ITEMS/mcl_copper/nodes.lua +++ b/mods/ITEMS/mcl_copper/nodes.lua @@ -12,7 +12,6 @@ minetest.register_node("mcl_copper:stone_with_copper", { _mcl_hardness = 3, _mcl_silk_touch_drop = true, _mcl_fortune_drop = mcl_core.fortune_drop_ore, - }) minetest.register_node("mcl_copper:block_raw", { @@ -35,7 +34,7 @@ minetest.register_node("mcl_copper:block", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 3, - on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block") end, + _mcl_copper_waxed_variant = "mcl_copper:waxed_block", }) minetest.register_node("mcl_copper:waxed_block", { @@ -47,7 +46,7 @@ minetest.register_node("mcl_copper:waxed_block", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 3, - on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block") end, + _mcl_stripped_variant = "mcl_copper:block", }) minetest.register_node("mcl_copper:block_exposed", { @@ -59,8 +58,8 @@ minetest.register_node("mcl_copper:block_exposed", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_anti_oxidation_varient = "mcl_copper:block", - on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_exposed") end, + _mcl_copper_waxed_variant = "mcl_copper:waxed_block_exposed", + _mcl_stripped_variant = "mcl_copper:block", }) minetest.register_node("mcl_copper:waxed_block_exposed", { @@ -72,7 +71,7 @@ minetest.register_node("mcl_copper:waxed_block_exposed", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block") end, + _mcl_stripped_variant = "mcl_copper:block", }) minetest.register_node("mcl_copper:block_weathered", { @@ -84,8 +83,8 @@ minetest.register_node("mcl_copper:block_weathered", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_anti_oxidation_varient = "mcl_copper:block_exposed", - on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_weathered") end, + _mcl_copper_waxed_variant = "mcl_copper:waxed_block_weathered", + _mcl_stripped_variant = "mcl_copper:block_exposed", }) minetest.register_node("mcl_copper:waxed_block_weathered", { @@ -97,7 +96,7 @@ minetest.register_node("mcl_copper:waxed_block_weathered", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block_exposed") end, + _mcl_stripped_variant = "mcl_copper:block_exposed", }) minetest.register_node("mcl_copper:block_oxidized", { @@ -109,8 +108,8 @@ minetest.register_node("mcl_copper:block_oxidized", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_anti_oxidation_varient = "mcl_copper:block_weathered", - on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_oxidized") end, + _mcl_copper_waxed_variant = "mcl_copper:waxed_block_oxidized", + _mcl_stripped_variant = "mcl_copper:block_weathered", }) minetest.register_node("mcl_copper:waxed_block_oxidized", { @@ -122,7 +121,7 @@ minetest.register_node("mcl_copper:waxed_block_oxidized", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block_weathered") end, + _mcl_stripped_variant = "mcl_copper:block_weathered", }) minetest.register_node("mcl_copper:block_cut", { @@ -134,7 +133,7 @@ minetest.register_node("mcl_copper:block_cut", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_cut") end, + _mcl_copper_waxed_variant = "mcl_copper:waxed_block_cut", }) minetest.register_node("mcl_copper:waxed_block_cut", { @@ -146,7 +145,7 @@ minetest.register_node("mcl_copper:waxed_block_cut", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block_cut") end, + _mcl_stripped_variant = "mcl_copper:block_cut", }) minetest.register_node("mcl_copper:block_exposed_cut", { @@ -158,8 +157,8 @@ minetest.register_node("mcl_copper:block_exposed_cut", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_anti_oxidation_varient = "mcl_copper:block_cut", - on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_exposed_cut") end, + _mcl_copper_waxed_variant = "mcl_copper:waxed_block_exposed_cut", + _mcl_stripped_variant = "mcl_copper:block_cut", }) minetest.register_node("mcl_copper:waxed_block_exposed_cut", { @@ -171,7 +170,7 @@ minetest.register_node("mcl_copper:waxed_block_exposed_cut", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block_cut") end, + _mcl_stripped_variant = "mcl_copper:block_cut", }) minetest.register_node("mcl_copper:block_weathered_cut", { @@ -183,8 +182,8 @@ minetest.register_node("mcl_copper:block_weathered_cut", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_anti_oxidation_varient = "mcl_copper:block_exposed_cut", - on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_weathered_cut") end, + _mcl_stripped_variant = "mcl_copper:block_exposed_cut", + _mcl_copper_waxed_variant = "mcl_copper:waxed_block_weathered_cut", }) minetest.register_node("mcl_copper:waxed_block_weathered_cut", { @@ -196,7 +195,7 @@ minetest.register_node("mcl_copper:waxed_block_weathered_cut", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block_exposed_cut") end, + _mcl_stripped_variant = "mcl_copper:block_exposed_cut", }) minetest.register_node("mcl_copper:block_oxidized_cut", { @@ -208,8 +207,8 @@ minetest.register_node("mcl_copper:block_oxidized_cut", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_anti_oxidation_varient = "mcl_copper:block_weathered_cut", - on_rightclick = function(pos, node, player, itemstack) waxing_copper_block(pos, node, player, itemstack, "mcl_copper:waxed_block_oxidized_cut") end, + _mcl_stripped_variant = "mcl_copper:block_weathered_cut", + _mcl_copper_waxed_variant = "mcl_copper:waxed_block_oxidized_cut", }) minetest.register_node("mcl_copper:waxed_block_oxidized_cut", { @@ -221,7 +220,7 @@ minetest.register_node("mcl_copper:waxed_block_oxidized_cut", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - on_rightclick = function(pos, node, player, itemstack) scraping_copper_block(pos, node, player, itemstack, "mcl_copper:block_weathered_cut") end, + _mcl_stripped_variant = "mcl_copper:block_weathered_cut", }) mcl_stairs.register_slab("copper_cut", "mcl_copper:block_cut", diff --git a/mods/ITEMS/mcl_core/functions.lua b/mods/ITEMS/mcl_core/functions.lua index 6ef9a86f9..b7623bf11 100644 --- a/mods/ITEMS/mcl_core/functions.lua +++ b/mods/ITEMS/mcl_core/functions.lua @@ -405,6 +405,7 @@ function mcl_core.generate_tree(pos, tree_type, options) elseif tree_type == BIRCH_TREE_ID then mcl_core.generate_birch_tree(pos) end + mcl_core.update_sapling_foliage_colors(pos) end -- Classic oak in v6 style @@ -801,23 +802,21 @@ end local grass_spread_randomizer = PseudoRandom(minetest.get_mapgen_setting("seed")) -function mcl_core.get_grass_palette_index(pos) - local biome_data = minetest.get_biome_data(pos) - local index = 0 - if biome_data then - local biome = biome_data.biome - local biome_name = minetest.get_biome_name(biome) - local reg_biome = minetest.registered_biomes[biome_name] - if reg_biome then - index = reg_biome._mcl_palette_index - end - end - return index +-- Return appropriate grass block node for pos +function mcl_core.get_grass_block_type(pos, requested_grass_block_name) + local grass_palette_index = mcl_util.get_palette_indexes_from_pos(pos).grass_palette_index + local grass_block_name = requested_grass_block_name or minetest.get_node(pos).name + return {name = grass_block_name, param2 = grass_palette_index} end --- Return appropriate grass block node for pos -function mcl_core.get_grass_block_type(pos) - return {name = "mcl_core:dirt_with_grass", param2 = mcl_core.get_grass_palette_index(pos)} +-- Return appropriate foliage block node for pos +function mcl_core.get_foliage_block_type(pos) + return {name = minetest.get_node(pos).name, param2 = mcl_util.get_palette_indexes_from_pos(pos).foliage_palette_index} +end + +-- Return appropriate water block node for pos +function mcl_core.get_water_block_type(pos) + return {name = minetest.get_node(pos).name, param2 = mcl_util.get_palette_indexes_from_pos(pos).water_palette_index} end ------------------------------ @@ -831,17 +830,18 @@ minetest.register_abm({ chance = 20, catch_up = false, action = function(pos) - if pos == nil then - return - end + if pos == nil then return end + local above = {x=pos.x, y=pos.y+1, z=pos.z} local abovenode = minetest.get_node(above) if minetest.get_item_group(abovenode.name, "liquid") ~= 0 or minetest.get_item_group(abovenode.name, "opaque") == 1 then -- Never grow directly below liquids or opaque blocks return end + local light_self = minetest.get_node_light(above) if not light_self then return end + --[[ Try to find a spreading dirt-type block (e.g. grass block or mycelium) within a 3×5×3 area, with the source block being on the 2nd-topmost layer. ]] local nodes = minetest.find_nodes_in_area({x=pos.x-1, y=pos.y-1, z=pos.z-1}, {x=pos.x+1, y=pos.y+3, z=pos.z+1}, "group:spreading_dirt_type") @@ -860,9 +860,10 @@ minetest.register_abm({ if light_self >= 4 and light_source >= 9 then -- All checks passed! Let's spread the grass/mycelium! + local n2 = minetest.get_node(p2) if minetest.get_item_group(n2.name, "grass_block") ~= 0 then - n2 = mcl_core.get_grass_block_type(pos) + n2 = mcl_core.get_grass_block_type(pos, "mcl_core:dirt_with_grass") end minetest.set_node(pos, {name=n2.name}) @@ -927,28 +928,17 @@ minetest.register_lbm({ label = "Replace legacy dry grass", name = "mcl_core:replace_legacy_dry_grass_0_65_0", nodenames = {"mcl_core:dirt_with_dry_grass", "mcl_core:dirt_with_dry_grass_snow"}, + run_at_every_load = true, action = function(pos, node) - local biome_data = minetest.get_biome_data(pos) - if biome_data then - local biome = biome_data.biome - local biome_name = minetest.get_biome_name(biome) - local reg_biome = minetest.registered_biomes[biome_name] - if reg_biome then - if node.name == "mcl_core:dirt_with_dry_grass_snow" then - node.name = "mcl_core:dirt_with_grass_snow" - else - node.name = "mcl_core:dirt_with_grass" - end - node.param2 = reg_biome._mcl_palette_index - -- Fall back to savanna palette index - if not node.param2 then - node.param2 = SAVANNA_INDEX - end - minetest.set_node(pos, node) - return - end + if node.name == "mcl_core:dirt_with_dry_grass_snow" then + node.name = "mcl_core:dirt_with_grass_snow" + else + node.name = "mcl_core:dirt_with_grass" + end + -- use savanna palette index to simulate dry grass. + if not node.param2 then + node.param2 = SAVANNA_INDEX end - node.param2 = SAVANNA_INDEX minetest.set_node(pos, node) return end, @@ -1084,6 +1074,16 @@ local grow_acacia = sapling_grow_action(ACACIA_TREE_ID, 2, true, false) local grow_spruce = sapling_grow_action(SPRUCE_TREE_ID, 1, true, true, "mcl_core:sprucesapling") local grow_birch = sapling_grow_action(BIRCH_TREE_ID, 1, true, false) +function mcl_core.update_sapling_foliage_colors(pos) + local pos1, pos2 = vector.offset(pos, -8, 0, -8), vector.offset(pos, 8, 30, 8) + local fnode + local foliage = minetest.find_nodes_in_area(pos1, pos2, {"group:foliage_palette", "group:foliage_palette_wallmounted"}) + for _, fpos in pairs(foliage) do + fnode = minetest.get_node(fpos) + minetest.set_node(fpos, fnode) + end +end + -- Attempts to grow the sapling at the specified position -- pos: Position -- node: Node table of the node at this position, from minetest.get_node @@ -1515,7 +1515,7 @@ end -- -- The snowable nodes also MUST have _mcl_snowed defined to contain the name -- of the snowed node. -function mcl_core.register_snowed_node(itemstring_snowed, itemstring_clear, tiles, sounds, clear_colorization, desc) +function mcl_core.register_snowed_node(itemstring_snowed, itemstring_clear, tiles, sounds, clear_colorization, desc, grass_palette) local def = table.copy(minetest.registered_nodes[itemstring_clear]) local create_doc_alias if def.description then @@ -1529,6 +1529,7 @@ function mcl_core.register_snowed_node(itemstring_snowed, itemstring_clear, tile def._doc_items_usagehelp = nil def._doc_items_create_entry = false def.groups.not_in_creative_inventory = 1 + def.groups.grass_palette = grass_palette if def.groups.grass_block == 1 then def.groups.grass_block_no_snow = nil def.groups.grass_block_snow = 1 diff --git a/mods/ITEMS/mcl_core/locale/mcl_core.de.tr b/mods/ITEMS/mcl_core/locale/mcl_core.de.tr index f8a441fdc..4f9071825 100644 --- a/mods/ITEMS/mcl_core/locale/mcl_core.de.tr +++ b/mods/ITEMS/mcl_core/locale/mcl_core.de.tr @@ -24,7 +24,7 @@ Andesite is an igneous rock.=Andesit ist ein magmatisches Gestein. Apple=Apfel Apples are food items which can be eaten.=Äpfel sind essbare Gegenstände. Barrier=Barriere -Barriers are invisble walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.=Barrieren sind unsichtbare feste Blöcke. Sie sind nützlich, um Grenzen für Abenteuerkarten und ähnliches zu bauen. Monster und Tiere werden auf Barrieren nicht auftauchen, und Zäune verbinden sich nicht mit Barrieren. Andere Blöcke können an Barrieren gebaut werden, wie bei allen anderen Blöcken. +Barriers are invisible walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.=Barrieren sind unsichtbare feste Blöcke. Sie sind nützlich, um Grenzen für Abenteuerkarten und ähnliches zu bauen. Monster und Tiere werden auf Barrieren nicht auftauchen, und Zäune verbinden sich nicht mit Barrieren. Andere Blöcke können an Barrieren gebaut werden, wie bei allen anderen Blöcken. Bedrock=Grundgestein Bedrock is a very hard type of rock. It can not be broken, destroyed, collected or moved by normal means, unless in Creative Mode.=Grundgestein ist ein sehr harter Gesteinstyp. Er kann unter normalen Umständen nicht abgebaut, zerstört, aufgesammelt oder verschoben werden, außer im Kreativmodus. Birch Bark=Birkenrinde diff --git a/mods/ITEMS/mcl_core/locale/mcl_core.es.tr b/mods/ITEMS/mcl_core/locale/mcl_core.es.tr index 0f8656520..cf16e5bda 100644 --- a/mods/ITEMS/mcl_core/locale/mcl_core.es.tr +++ b/mods/ITEMS/mcl_core/locale/mcl_core.es.tr @@ -24,7 +24,7 @@ Andesite is an igneous rock.=La andesita es una roca ígnea. Apple=Manzana Apples are food items which can be eaten.=Las manzanas son alimentos que se pueden comer. Barrier=Barrera -Barriers are invisble walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.=Las barreras son bloques transitables invisibles. Se utilizan para crear límites de mapas de aventura y similares. Los monstruos y los animales no aparecerán en las barreras, y las cercas no se conectan a las barreras. Otros bloques pueden construirse sobre barreras como en cualquier otro bloque. +Barriers are invisible walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.=Las barreras son bloques transitables invisibles. Se utilizan para crear límites de mapas de aventura y similares. Los monstruos y los animales no aparecerán en las barreras, y las cercas no se conectan a las barreras. Otros bloques pueden construirse sobre barreras como en cualquier otro bloque. Bedrock=Lecho de roca Bedrock is a very hard type of rock. It can not be broken, destroyed, collected or moved by normal means, unless in Creative Mode.=El lecho de roca es un tipo de roca muy duro. No se puede romper, destruir, recoger o mover por medios normales, a menos que esté en modo creativo. Birch Bark=Madera de abedul sin corteza diff --git a/mods/ITEMS/mcl_core/locale/mcl_core.fr.tr b/mods/ITEMS/mcl_core/locale/mcl_core.fr.tr index ad6c09b08..9a53caa51 100644 --- a/mods/ITEMS/mcl_core/locale/mcl_core.fr.tr +++ b/mods/ITEMS/mcl_core/locale/mcl_core.fr.tr @@ -13,170 +13,170 @@ A grass block is dirt with a grass cover. Grass blocks are resourceful blocks wh A lapis lazuli block is mostly a decorative block but also useful as a compact storage of lapis lazuli.=Un bloc de lapis-lazuli est principalement un bloc décoratif mais également utile comme stockage compact de lapis-lazuli. A lava source sets fire to a couple of air blocks above when they're next to a flammable block.=Une source de lave met le feu à quelques blocs d'air au-dessus lorsqu'ils sont à côté d'un bloc inflammable. A piece of ladder which allows you to climb vertically. Ladders can only be placed on the side of solid blocks and not on glass, leaves, ice, slabs, glowstone, nor sea lanterns.=Un morceau d'échelle qui vous permet de grimper verticalement. Les échelles ne peuvent être placées que sur le côté de blocs solides et non sur du verre, des feuilles, de la glace, des dalles, des pierres incandescentes ou des lanternes marines. -Acacia Bark=Bois d'Acacia -Acacia Leaves=Feuilles d'Acacia -Acacia Sapling=Pousse d'Acacia -Acacia Wood=Bûche d'Acacia -Acacia Wood Planks=Planches d'Acacia +Acacia Bark=Bois d'acacia +Acacia Leaves=Feuilles d'acacia +Acacia Sapling=Pousse d'acacia +Acacia Wood=Bûche d'acacia +Acacia Wood Planks=Planches d'acacia Acacia leaves are grown from acacia trees.=Les feuilles d'acacia sont cultivées à partir d'acacias. Andesite=Andésite Andesite is an igneous rock.=L'andésite est une roche ignée. Apple=Pomme Apples are food items which can be eaten.=Les pommes sont des aliments qui peuvent être consommés. Barrier=Barrière invisible -Barriers are invisble walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.=Les barrières sont des blocs accessibles à pied. Ils sont utilisés pour créer des limites de cartes d'aventure et similaires. Les monstres et les animaux n'apparaissent pas sur les barrières, et les clôtures ne se connectent pas aux barrières. D'autres blocs peuvent être construits sur des barrières comme sur n'importe quel autre bloc. +Barriers are invisible walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.=Les barrières sont des blocs accessibles à pied. Ils sont utilisés pour créer des limites de cartes d'aventure et similaires. Les monstres et les animaux n'apparaissent pas sur les barrières, et les clôtures ne se connectent pas aux barrières. D'autres blocs peuvent être construits sur des barrières comme sur n'importe quel autre bloc. Bedrock=Bedrock Bedrock is a very hard type of rock. It can not be broken, destroyed, collected or moved by normal means, unless in Creative Mode.=Le bedrock est un type de roche très dur. Il ne peut pas être brisé, détruit, collecté ou déplacé par des moyens normaux, sauf en mode créatif. -Birch Bark=Bois de Bouleau -Birch Leaves=Feuilles de Bouleau -Birch Sapling=Pousse de Bouleau -Birch Wood=Bûche de Bouleau -Birch Wood Planks=Planches de Bouleau +Birch Bark=Bois de bouleau +Birch Leaves=Feuilles de bouleau +Birch Sapling=Pousse de bouleau +Birch Wood=Bûche de bouleau +Birch Wood Planks=Planches de bouleau Birch leaves are grown from birch trees.=Les feuilles de bouleau sont cultivées à partir de bouleaux. -Black Stained Glass=Verre Noir -Block of Coal=Bloc de Charbon -Block of Diamond=Bloc de Diamant -Block of Emerald=Bloc d'Emeraude -Block of Gold=Bloc d'Or -Block of Iron=Bloc de Fer +Black Stained Glass=Verre noir +Block of Coal=Bloc de charbon +Block of Diamond=Bloc de diamant +Block of Emerald=Bloc d'émeraude +Block of Gold=Bloc d'or +Block of Iron=Bloc de fer Blocks of coal are useful as a compact storage of coal and very useful as a furnace fuel. A block of coal is as efficient as 10 coal.=Les blocs de charbon sont utiles comme stockage compact de charbon et très utiles comme combustible de four. Un bloc de charbon est aussi efficace que 10 charbon. -Blue Stained Glass=Verre Bleu -Bone Block=Bloc d'Os +Blue Stained Glass=Verre bleu +Bone Block=Bloc d'os Bone blocks are decorative blocks and a compact storage of bone meal.=Les blocs d'os sont des blocs décoratifs et un stockage compact de poudre d'os. Bowl=Bol Bowls are mainly used to hold tasty soups.=Les bols sont principalement utilisés pour contenir de délicieuses soupes. Brick=Brique -Brick Block=Bloc de Brique +Brick Block=Bloc de brique Brick blocks are a good building material for building solid houses and can take quite a punch.=Les blocs de briques sont un bon matériau de construction pour la construction de maisons solides et peuvent resite au coup. Bricks are used to craft brick blocks.=Les briques sont utilisées pour fabriquer des blocs de briques. -Brown Stained Glass=Verre Marron +Brown Stained Glass=Verre marron Cactus=Cactus -Charcoal=Charbon de Bois +Charcoal=Charbon de bois Charcoal is an alternative furnace fuel created by cooking wood in a furnace. It has the same burning time as coal and also shares many of its crafting recipes, but it can not be used to create coal blocks.=Le charbon de bois est un combustible de four alternatif créé par la cuisson du bois dans un four. Il a le même temps de combustion que le charbon et partage également bon nombre de ses recettes d'artisanat, mais il ne peut pas être utilisé pour créer des blocs de charbon. -Chiseled Stone Bricks=Pierre Sculptée -Chiseled Red Sandstone=Grès Rouge Sculptée -Chiseled Sandstone=Grès Sculptée +Chiseled Stone Bricks=Pierre sculptée +Chiseled Red Sandstone=Grès rouge sculpté +Chiseled Sandstone=Grès sculpté Chiseled red sandstone is a decorative building block.=Le grès rouge ciselé est un bloc de construction décoratif. Chiseled sandstone is a decorative building block.=Le grès ciselé est un bloc de construction décoratif. Clay=Argile -Clay Ball=Boule d'Argile +Clay Ball=Boule d'argile Clay balls are a raw material, mainly used to create bricks in the furnace.=Les boules d'argile sont une matière première, principalement utilisée pour créer des briques dans le four. Clay is a versatile kind of earth commonly found at beaches underwater.=L'argile est une terre polyvalente que l'on trouve couramment sur les plages sous-marines. Coal=Charbon -Coal Ore=Minerai de Charbon -Coarse Dirt=Terre Stérile +Coal Ore=Minerai de charbon +Coarse Dirt=Terre stérile Coarse dirt acts as a soil for some plants and is similar to dirt, but it will never grow a cover.=La terre stérile agit comme un sol pour certaines plantes et est similaire à la terre, mais elle ne fera jamais pousser grand chose. Cobblestone=Pierre -Cobweb=Toile d'Araignée +Cobweb=Toile d'araignée Cobwebs can be walked through, but significantly slow you down.=Les toiles d'araignée peuvent être parcourues, mais vous ralentissent considérablement. -Cracked Stone Bricks=Pierre Taillée Craquelée -Cut Red Sandstone=Grès Rouge Taillé -Cut Sandstone=Grès Taillé +Cracked Stone Bricks=Pierre taillée craquelée +Cut Red Sandstone=Grès rouge taillé +Cut Sandstone=Grès taillé Cut red sandstone is a decorative building block.=Le grès rouge taillé est un bloc de construction décoratif. Cut sandstone is a decorative building block.=Le grès taillé est un bloc de construction décoratif. -Cyan Stained Glass=Vitre Cyan -Dark Oak Bark=Bois de Chêne Noir -Dark Oak Leaves=Feuilles de Chêne Noir -Dark Oak Sapling=Pousse de Chêne Noir -Dark Oak Wood=Bûche de Chêne Noir -Dark Oak Wood Planks=Planche de Chêne Noir +Cyan Stained Glass=Vitre cyan +Dark Oak Bark=Bois de chêne noir +Dark Oak Leaves=Feuilles de chêne noir +Dark Oak Sapling=Pousse de chêne noir +Dark Oak Wood=Bûche de chêne noir +Dark Oak Wood Planks=Planche de chêne noir Dark oak leaves are grown from dark oak trees.=Les feuilles de chêne noir sont issues de chênes noirs. Dark oak saplings can grow into dark oaks, but only in groups. A lonely dark oak sapling won't grow. A group of four dark oak saplings grows into a dark oak after some time when they are placed on soil (such as dirt) in a 2×2 square and exposed to light.=Les pousses de chêne noir peuvent devenir des chênes noirs, mais seulement en groupes. Une pousse de chêne noir solitaire ne poussera pas. Un groupe de quatre pousses de chêne noir se transforme en chêne noir après un certain temps lorsqu'ils sont placés sur le sol (comme la terre) dans un carré 2×2 et exposés à la lumière. Dead Bush=Arbuste mort Dead bushes are unremarkable plants often found in dry areas. They can be harvested for sticks.=Les buissons morts sont des plantes inhabituelles que l'on trouve souvent dans les zones sèches. Ils peuvent être récoltés avec des bâtons. Diamond=Diamant -Diamond Ore=Minerai de Diamant +Diamond Ore=Minerai de diamant Diamond ore is rare and can be found in clusters near the bottom of the world.=Le minerai de diamant est rare et peut être trouvé en filons près du fond du monde. Diamonds are precious minerals and useful to create the highest tier of armor and tools.=Les diamants sont des minéraux précieux et utiles pour créer le plus haut niveau d'armure et d'outils. Diorite=Diorite Diorite is an igneous rock.=La diorite est une roche ignée. Dirt=Terre Dirt acts as a soil for a few plants. When in light, this block may grow a grass or mycelium cover if such blocks are nearby.=La terre agit comme un sol pour quelques plantes. Lorsqu'il est à la lumière, ce bloc peut faire pousser une couverture d'herbe ou de mycélium si ces blocs sont à proximité. -Emerald=Emeraude -Emerald Ore=Minerai d'Emeraude +Emerald=Émeraude +Emerald Ore=Minerai d'émeraude Emerald ore is the ore of emeralds. It is very rare and can be found alone, not in clusters.=Le minerai d'émeraude produit des émeraudes. Il est très rare et peut être trouvé seul, pas en filons. Emeralds are used in villager trades as currency.=Les émeraudes sont utilisées pour faire des échanges avec les villageois. Flint=Silex Flint is a raw material.=Le silex est une matière première. Flowing Lava=Lave qui coule Flowing Water=Eau qui coule -Frosted Ice=Glace Givrée +Frosted Ice=Glace givrée Frosted ice is a short-lived solid block. It melts into a water source within a few seconds.=La glace givrée est un bloc solide de courte durée. Il fond dans une source d'eau en quelques secondes. Glass=Verre -Gold Ingot=Lingot d'Or -Gold Nugget=Pépite d'Or -Gold Ore=Minerai d'Or +Gold Ingot=Lingot d'or +Gold Nugget=Pépite d'or +Gold Ore=Minerai d'or Gold nuggets are very small pieces of molten gold; the main purpose is to create gold ingots.=Les pépites d'or sont de très petites pièces d'or en fusion; le but principal est de créer des lingots d'or. -Golden Apple=Pomme Dorée -Golden apples are precious food items which can be eaten.=Les pommes dorrées sont des aliments précieux qui peuvent être consommés. +Golden Apple=Pomme dorée +Golden apples are precious food items which can be eaten.=Les pommes dorées sont des aliments précieux qui peuvent être consommés. Granite=Granite -Grass Block=Bloc d'Herbe -Grass Path=Chemin d'Herbe +Grass Block=Bloc d'herbe +Grass Path=Chemin d'herbe Grass paths are a decorative variant of grass blocks. Their top has a different color and they are a bit lower than grass blocks, making them useful to build footpaths. Grass paths can be created with a shovel. A grass path turns into dirt when it is below a solid block.=Les chemins d'herbe sont une variante décorative des blocs d'herbe. Leur sommet a une couleur différente et ils sont un peu plus bas que les blocs d'herbe, ce qui les rend utiles pour construire des sentiers. Les chemins d'herbe peuvent être créés avec une pelle. Un chemin d'herbe se transforme en terre quand il est en dessous d'un bloc solide. Gravel=Gravier -Green Stained Glass=Verre Vert -Grey Stained Glass=Verre Gris +Green Stained Glass=Verre vert +Grey Stained Glass=Verre gris Ice=Glace Ice is a solid block usually found in cold areas. It melts near block light sources at a light level of 12 or higher. When it melts or is broken while resting on top of another block, it will turn into a water source.=La glace est un bloc solide que l'on trouve généralement dans les régions froides. Il fond près des sources de lumière de bloc à un niveau de lumière de 12 ou plus. Lorsqu'il fond ou se casse en se reposant sur un autre bloc, il se transforme en source d'eau. In the End dimension, starting a fire on this block will create an eternal fire.=Dans la dimension End, démarrer un feu sur ce bloc créera un feu éternel. -Iron Ingot=Lingot de Fer -Iron Nugget=Pépite de Fer -Iron Ore=Minerai de Fer +Iron Ingot=Lingot de fer +Iron Nugget=Pépite de fer +Iron Ore=Minerai de fer Iron nuggets are very small pieces of molten iron; the main purpose is to create iron ingots.=Les pépites de fer sont de très petits morceaux de fer fondu; le but principal est de créer des lingots de fer. -Jungle Bark=Bois d'Acajou -Jungle Leaves=Feuilles d'Acajou -Jungle Sapling=Pousse d'Acajou -Jungle Wood=Bûche d'Acajou -Jungle Wood Planks=Planches d'Acajou -Jungle leaves are grown from jungle trees.=Les feuilles d'Acajou sont cultivées à partir d'arbres d'Acajou. +Jungle Bark=Bois d'acajou +Jungle Leaves=Feuilles d'acajou +Jungle Sapling=Pousse d'acajou +Jungle Wood=Bûche d'acajou +Jungle Wood Planks=Planches d'acajou +Jungle leaves are grown from jungle trees.=Les feuilles d'acajou sont cultivées à partir d'arbres d'acajou. Ladder=Échelle -Lapis Lazuli=Lapis Lazuli +Lapis Lazuli=Lapis-lazuli Lapis Lazuli are required for enchanting items on an enchanting table.=Les lapis-lazuli sont nécessaires pour enchanter des objets sur une table d'enchantement. -Lapis Lazuli Block=Bloc de Lapis-Lazuli -Lapis Lazuli Ore=Minerai de Lapis-Lazuli +Lapis Lazuli Block=Bloc de lapis-Lazuli +Lapis Lazuli Ore=Minerai de lapis-Lazuli Lapis lazuli ore is the ore of lapis lazuli. It can be rarely found in clusters near the bottom of the world.=Le minerai de lapis-lazuli produit du lapis-lazuli. Il peut être rarement trouvé dans des filons près du fond du monde. Lava Source=Source de Lave Lava is hot and rather dangerous. Don't touch it, it will hurt you a lot and it is hard to get out.=La lave est chaude et plutôt dangereuse. Ne le touchez pas, cela vous fera beaucoup de mal et il est difficile d'en sortir. -Light Blue Stained Glass=Verre Bleu Clair -Light Grey Stained Glass=Verre Gris Clair -Lime Stained Glass=Verre Vert Clair +Light Blue Stained Glass=Verre bleu clair +Light Grey Stained Glass=Verre gris clair +Lime Stained Glass=Verre vert clair Lit Redstone Ore=Minerai de Redstone -Magenta Stained Glass=Verre Magenta -Molten gold. It is used to craft armor, tools, and whatnot.=L'Or. Il est utilisé pour fabriquer des armures, des outils et ainsi de suite. -Molten iron. It is used to craft armor, tools, and whatnot.=Le Fer. Il est utilisé pour fabriquer des armures, des outils et ainsi de suite. -Mossy Cobblestone=Pierre Moussue -Mossy Stone Bricks=Pierre Taillée Moussue +Magenta Stained Glass=Verre magenta +Molten gold. It is used to craft armor, tools, and whatnot.=L'or. Il est utilisé pour fabriquer des armures, des outils et ainsi de suite. +Molten iron. It is used to craft armor, tools, and whatnot.=Le fer. Il est utilisé pour fabriquer des armures, des outils et ainsi de suite. +Mossy Cobblestone=Pierre moussue +Mossy Stone Bricks=Pierre taillée moussue Mycelium=Mycélium Mycelium is a type of dirt and the ideal soil for mushrooms. Unlike other dirt-type blocks, it can not be turned into farmland with a hoe. In light, mycelium slowly spreads over nearby dirt. Under an opaque block or a liquid, it eventually turns back into dirt.=Le mycélium est un type de terre et le sol idéal pour les champignons. Contrairement à d'autres blocs de terre, il ne peut pas être transformé en terres agricoles avec une houe. À la lumière, le mycélium se répand lentement sur la terre voisine. Sous un bloc opaque ou un liquide, il finit par redevenir de la terre. -Oak Bark=Bois de Chêne -Oak Leaves=Feuilles de Chêne -Oak Sapling=Pousse de Chêne -Oak Wood=Bûche de Chêne -Oak Wood Planks=Planches de Chêne +Oak Bark=Bois de chêne +Oak Leaves=Feuilles de chêne +Oak Sapling=Pousse de chêne +Oak Wood=Bûche de chêne +Oak Wood Planks=Planches de chêne Oak leaves are grown from oak trees.=Les feuilles de chêne sont cultivées à partir de chênes. Obsidian=Obsidienne Obsidian is an extremely hard mineral with an enourmous blast-resistance. Obsidian is formed when water meets lava.=L'obsidienne est un minéral extrêmement dur avec une énorme résistance à l'explosion. L'obsidienne se forme lorsque l'eau rencontre la lave. One of the most common blocks in the world, almost the entire underground consists of stone. It sometimes contains ores. Stone may be created when water meets lava.=L'un des blocs les plus courants au monde, presque tout le sous-sol est en pierre. Il contient parfois des minerais. La pierre peut être créée lorsque l'eau rencontre la lave. -Orange Stained Glass=Verre Orange -Packed Ice=Glace Compactée +Orange Stained Glass=Verre orange +Packed Ice=Glace compactée Packed ice is a compressed form of ice. It is opaque and solid.=La glace compactée est une forme de glace comprimée. Elle est opaque et solide. Paper=Papier Paper is used to craft books and maps.=Le papier est utilisé pour créer des livres et des cartes. -Pink Stained Glass=Verre Rose +Pink Stained Glass=Verre rose Podzol=Podzol Podzol is a type of dirt found in taiga forests. Only a few plants are able to survive on it.=Le podzol est un type de terre trouvé dans les forêts de la taïga. Seules quelques plantes peuvent y survivre. -Polished Andesite=Andésite Polie -Polished Diorite=Diorite Polie -Polished Granite=Granite Poli -Polished Stone=Roche Polie +Polished Andesite=Andésite polie +Polished Diorite=Diorite polie +Polished Granite=Granite poli +Polished Stone=Roche polie Polished andesite is a decorative building block made from andesite.=L'andésite polie est un bloc de construction décoratif en andésite. Polished diorite is a decorative building block made from diorite.=La diorite polie est un bloc de construction décoratif en diorite. Polished granite is a decorative building block made from granite.=Le granite poli est un bloc de construction décoratif en granit. -Purple Stained Glass=Verre Violet +Purple Stained Glass=Verre violet Realm Barrier=Barrière du royaume -Red Sand=Sable Rouge -Red Sandstone=Grès Rouge -Red Stained Glass=Verre Rouge +Red Sand=Sable rouge +Red Sandstone=Grès rouge +Red Stained Glass=Verre rouge Red sand is found in large quantities in mesa biomes.=Le sable rouge se trouve en grande quantité dans les biomes mesa. Red sandstone is compressed red sand and is a rather soft kind of stone.=Le grès rouge est du sable rouge comprimé et est une pierre plutôt tendre. Redstone Ore=Minerai de Redstone @@ -186,39 +186,39 @@ Sand is found in large quantities at beaches and deserts.=Le sable se trouve en Sandstone=Grès Sandstone is compressed sand and is a rather soft kind of stone.=Le grès est du sable comprimé et est un type de pierre plutôt tendre. Slime Block=Bloc de Slime -Slime blocks are very bouncy and prevent fall damage.=Les blocs de slime sont gonflables et empêchent les dommages de chute. -Smooth Red Sandstone=Grès Rouge Lisse -Smooth Sandstone=Grès Lisse +Slime blocks are very bouncy and prevent fall damage.=Les blocs de slime sont gonflables et empêchent les dégats de chute. +Smooth Red Sandstone=Grès rouge lisse +Smooth Sandstone=Grès lisse Smooth red sandstone is a decorative building block.=Le grès rouge lisse est un bloc de construction décoratif. Smooth sandstone is compressed sand and is a rather soft kind of stone.=Le grès lisse est du sable comprimé et est un type de pierre plutôt tendre. Snow=Neige Some coal contained in stone, it is very common and can be found inside stone in medium to large clusters at nearly every height.=Du charbon contenu dans la pierre, il est très commun et peut être trouvé à l'intérieur de la pierre en grappes moyennes à grandes à presque toutes les hauteurs. Some iron contained in stone, it is prety common and can be found below sea level.=Du fer contenu dans la pierre, il est assez courant et se trouve sous le niveau de la mer. -Spruce Bark=Bois de Sapin -Spruce Leaves=Feuilles de Sapin -Spruce Sapling=Pousse de Sapin -Spruce Wood=Bûche de Sapin -Spruce Wood Planks=Planches de Sapin +Spruce Bark=Bois de sapin +Spruce Leaves=Feuilles de sapin +Spruce Sapling=Pousse de sapin +Spruce Wood=Bûche de sapin +Spruce Wood Planks=Planches de sapin Spruce leaves are grown from spruce trees.=Les feuilles de sapin sont cultivées à partir de sapin. Stained glass is a decorative and mostly transparent block which comes in various different colors.=Le verre est un bloc décoratif et principalement transparent qui se décline en différentes couleurs. Stick=Bâton Sticks are a very versatile crafting material; used in countless crafting recipes.=Les bâtons sont un matériau d'artisanat très polyvalent; utilisé dans d'innombrables recettes d'artisanat. Stone=Roche -Stripped Acacia Log=Bûche d'Acacia Ecorcée -Stripped Acacia Wood=Bois d'Acacia Ecorcé -Stripped Birch Log=Bûche de Bouleau Ecorcée -Stripped Birch Wood=Bois de Bouleau Ecorcé +Stripped Acacia Log=Bûche d'acacia écorcée +Stripped Acacia Wood=Bois d'acacia écorcé +Stripped Birch Log=Bûche de bouleau écorcée +Stripped Birch Wood=Bois de bouleau écorcé Stripped Dark Oak Log=Bûche de Chêne Noir Stripped Dark Oak Wood=Bois de Chêne Noir -Stripped Jungle Log=Bûche d'Acajou Ecorcée -Stripped Jungle Wood=Bois d'Acajou Ecorcé -Stripped Oak Log=Bûche de Chêne Ecorcée -Stripped Oak Wood=Bois de Chêne Ecorcé -Stripped Spruce Log=Bûche de Sapin Ecorcée -Stripped Spruce Wood=Bois de Sapin Ecorcé -Stone Bricks=Pierre Taillée +Stripped Jungle Log=Bûche d'acajou écorcée +Stripped Jungle Wood=Bois d'acajou écorcé +Stripped Oak Log=Bûche de chêne écorcée +Stripped Oak Wood=Bois de chêne écorcé +Stripped Spruce Log=Bûche de sapin écorcée +Stripped Spruce Wood=Bois de sapin écorcé +Stone Bricks=Pierre taillée Sugar=Sucre -Sugar Canes=Canne à Sucre +Sugar Canes=Canne à sucre Sugar canes are a plant which has some uses in crafting. Sugar canes will slowly grow up to 3 blocks when they are next to water and are placed on a grass block, dirt, sand, red sand, podzol or coarse dirt. When a sugar cane is broken, all sugar canes connected above will break as well.=Les cannes à sucre sont une plante qui a certaines utilisations dans l'artisanat. Les cannes à sucre poussent lentement jusqu'à 3 blocs lorsqu'elles sont à côté de l'eau et sont placées sur un bloc d'herbe, de saleté, de sable, de sable rouge, de podzol ou de saleté grossière. Lorsqu'une canne à sucre est cassée, toutes les cannes à sucre connectées ci-dessus se brisent également. Sugar canes can only be placed top of other sugar canes and on top of blocks on which they would grow.=Les cannes à sucre ne peuvent être placées que sur d'autres cannes à sucre et sur des blocs sur lesquels elles poussent. Sugar comes from sugar canes and is used to make sweet foods.=Le sucre provient des cannes à sucre et est utilisé pour fabriquer des aliments sucrés. @@ -252,7 +252,7 @@ Vines=Lianes Vines are climbable blocks which can be placed on the sides of solid full-cube blocks. Vines slowly grow and spread.=Les lianes sont des blocs grimpants qui peuvent être placés sur les côtés de blocs pleins. Les lianes poussent et s'étendent lentement. Void=Néant Water=Eau -Water Source=Source d'Eau +Water Source=Source d'eau Water is abundant in oceans and also appears in a few springs in the ground. You can swim easily in water, but you need to catch your breath from time to time.=L'eau est abondante dans les océans et apparaît également dans quelques sources dans le sol. Vous pouvez nager facilement dans l'eau, mais vous devez de temps en temps reprendre votre souffle. When placed on soil (such as dirt) and exposed to light, a birch sapling will grow into a birch after some time.=Lorsqu'il est placé sur le sol (comme la terre) et exposé à la lumière, un jeune arbre de bouleau se transforme en bouleau après un certain temps. When placed on soil (such as dirt) and exposed to light, a jungle sapling will grow into a jungle tree after some time. When there are 4 jungle saplings in a 2×2 square, they will grow to a huge jungle tree.=Lorsqu'il est placé sur le sol (comme la terre) et exposé à la lumière, une pousse d'Acajou se transforme en arbre d'Acajou après un certain temps. Quand il y a 4 pousses d'Acajou dans un carré 2×2, ils deviendront un énorme arbre d'Acajou. @@ -260,8 +260,8 @@ When placed on soil (such as dirt) and exposed to light, a spruce sapling will g When placed on soil (such as dirt) and exposed to light, an acacia sapling will grow into an acacia after some time.=Lorsqu'il est placé sur le sol (comme la terre) et exposé à la lumière, un pousse d'acacia se développera en un acacia après un certain temps. When placed on soil (such as dirt) and exposed to light, an oak sapling will grow into an oak after some time.=Lorsqu'il est placé sur le sol (comme la terre) et exposé à la lumière, une pousse de chêne se transforme en chêne après un certain temps. When you hold a barrier in hand, you reveal all placed barriers in a short distance around you.=Lorsque vous tenez une barrière en main, vous révélez toutes les barrières placées à une courte distance autour de vous. -White Stained Glass=Verre Blanc -Yellow Stained Glass=Verre Jaune +White Stained Glass=Verre blanc +Yellow Stained Glass=Verre jaune “Coal” refers to coal lumps obtained by digging coal ore which can be found underground. Coal is your standard furnace fuel, but it can also be used to make torches, coal blocks and a few other things.=Le "charbon" fait référence aux morceaux de charbon obtenus en creusant du minerai de charbon qui peut être trouvé sous terre. Le charbon est votre combustible de four standard, mais il peut également être utilisé pour fabriquer des torches, des blocs de charbon et quelques autres choses. Water interacts with lava in various ways:=L'eau interagit avec la lave de différentes manières: • When water is directly above or horizontally next to a lava source, the lava turns into obsidian.=• Lorsque l'eau est directement au-dessus ou horizontalement à côté d'une source de lave, la lave se transforme en obsidienne. @@ -277,7 +277,7 @@ This block can only be placed on full solid blocks and on another top snow (whic Needs soil and water to grow=A besoin de terre et d'eau pour se développer Needs soil and light to grow=A besoin de terre et de lumière pour se développer Grows on sand=Pousse sur le sable -Contact damage: @1 per half second=Dommages de contact: @1 par demi-seconde +Contact damage: @1 per half second=Dégats de contact : @1 par demi-seconde Slows down movement=Ralentit le mouvement 2×2 saplings required=2×2 pousses requis 2×2 saplings @= large tree=2×2 pousses @= grand arbre @@ -286,3 +286,6 @@ Stackable=Empilable Crying Obsidian=Obsidienne pleureuse Crying obsidian is a luminous obsidian that can generate as part of ruined portals.=L'obsidienne pleureuse est une obsidienne luminause qui peut être générée dans les portails en ruine. Enchanted Golden Apple=Pomme dorée enchantée +Light=Lumière +Lights are invisible blocks. They are used to light up adventure maps and the like.=Les lumières sont des blocs invisibles. Ils sont utilisés pour éclairer les cartes d'aventure. +When you hold a light in hand, you reveal all placed lights in a short distance around you.=Lorsque vous tenez une lumière en main, vous révélez toutes les lumières placées à une courte distance autour de vous. diff --git a/mods/ITEMS/mcl_core/locale/mcl_core.pl.tr b/mods/ITEMS/mcl_core/locale/mcl_core.pl.tr index 8e9d7cf8f..669e4bc9b 100644 --- a/mods/ITEMS/mcl_core/locale/mcl_core.pl.tr +++ b/mods/ITEMS/mcl_core/locale/mcl_core.pl.tr @@ -24,7 +24,7 @@ Andesite is an igneous rock.=Andezyt jest skałą pochodzenia wulkanicznego. Apple=Jabłko Apples are food items which can be eaten.=Jabłka to przedmioty które można zjeść. Barrier=Bariera -Barriers are invisble walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.=Bariery to niewidzialne bloki po których można chodzić. Są użyteczne do tworzenia ograniczeń na mapach przygodowych i im podobnych. Potwory i zwierzęta nie pojawiają się na barierach, a płoty się z nimi nie łączą. Inne bloki mogą być na nich budowane podobnie jak na innych blokach. +Barriers are invisible walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.=Bariery to niewidzialne bloki po których można chodzić. Są użyteczne do tworzenia ograniczeń na mapach przygodowych i im podobnych. Potwory i zwierzęta nie pojawiają się na barierach, a płoty się z nimi nie łączą. Inne bloki mogą być na nich budowane podobnie jak na innych blokach. Bedrock=Skała macierzysta Bedrock is a very hard type of rock. It can not be broken, destroyed, collected or moved by normal means, unless in Creative Mode.=Skała macierzysta jest rodzajem bardzo twardej skały. Nie może być ona zniszczona, zebrana lub przesunięta normalnymi metodami, jeśli nie jesteś w trybie kreatywnym. Birch Bark=Brzozowa kora diff --git a/mods/ITEMS/mcl_core/locale/mcl_core.pt_BR.tr b/mods/ITEMS/mcl_core/locale/mcl_core.pt_BR.tr new file mode 100644 index 000000000..e9091287d --- /dev/null +++ b/mods/ITEMS/mcl_core/locale/mcl_core.pt_BR.tr @@ -0,0 +1,287 @@ +# textdomain: mcl_core +@1 could not survive in lava.=@1 não conseguiu sobreviver na lava. +@1 died in lava.=@1 morreu na lava. +@1 melted in lava.=@1 foi derretido na lava. +@1 took a bath in a hot lava tub.=@1 tomo um banho em uma banheira de lava quente. +A block of diamond is mostly a shiny decorative block but also useful as a compact storage of diamonds.=Um bloco de diamante é principalmente um bloco decorativo brilhante, mas também é útil para armazenar diamantes de forma compacta. +A block of emerald is mostly a shiny decorative block but also useful as a compact storage of emeralds.=Um bloco de esmeralda é principalmente um bloco decorativo brilhante, mas também é útil para armazenar esmeraldas de forma compacta. +A block of gold is mostly a shiny decorative block but also useful as a compact storage of gold ingots.=Um bloco de ouro é principalmente um bloco decorativo brilhante, mas também é útil para armazenar ouro de forma compacta. +A block of iron is mostly a decorative block but also useful as a compact storage of iron ingots.=Um bloco de ferro é principalmente um bloco decorativo brilhante, mas também é útil para armazenar ferro de forma compacta. +A cactus can only be placed on top of another cactus or any sand.=Um cacto só pode ser colocado em cima de outro cacto ou em qualquer areia. +A decorative and mostly transparent block.=Um bloco decorativo e na maior parte transparente. +A grass block is dirt with a grass cover. Grass blocks are resourceful blocks which allow the growth of all sorts of plants. They can be turned into farmland with a hoe and turned into grass paths with a shovel. In light, the grass slowly spreads onto dirt nearby. Under an opaque block or a liquid, a grass block may turn back to dirt.=Um bloco de grama é um bloco de terra com cobertura de grama. Blocos de gramas são recursos que permitem o crescimento de qualquer tipo de planta. Eles podem se tornar terras aradas com uma enxada e em caminhos com uma pá. Sob a luz, a grama lentamente se espalha em blocos de terra próximos. Sob um bloco opaco ou um líquido, um bloco de grama pode se tornar em um bloco de terra. +A lapis lazuli block is mostly a decorative block but also useful as a compact storage of lapis lazuli.=Um bloco de lápis-lazuli é principalmente um bloco decorativo brilhante, mas também é útil para armazenar lápis-lazuli de forma compacta. +A lava source sets fire to a couple of air blocks above when they're next to a flammable block.=Uma fonte de lava incendeia alguns blocos de ar acima quando estão próximos de um bloco inflamável. +A piece of ladder which allows you to climb vertically. Ladders can only be placed on the side of solid blocks and not on glass, leaves, ice, slabs, glowstone, nor sea lanterns.=Um pedaço de escada que lhe permite escalar verticalmente. Escadas só podem ser colocadas na face de um bloco sólido e naão em vidros, folhas, gelo, lajes, glowstone e nem em lanternas marinhas. +Acacia Bark=Casca de Acácia +Acacia Leaves=Folhas de Acácia +Acacia Sapling=Muda de Acácia +Acacia Wood=Madeira de Acácia +Acacia Wood Planks=Tábuas de Acácia +Acacia leaves are grown from acacia trees.=Folhas de acácia crescem a partir de árvores de acácia. +Andesite=Andesito +Andesite is an igneous rock.=Andesito é uma rocha ígnea. +Apple=Maçã +Apples are food items which can be eaten.=Maçãs são itens alimentícios que podem ser comidos. +Barrier=Barreira +Barriers are invisble walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.=Barreiras são blocos invisíveis que podem ser caminhados. Eles são usados para criar barreiras em mapas de aventura e similares. Monstros ou animais não aparecerão nas barreiras e cercas não se conectarão com elas. Outros blocos podem ser construídos sob barreiras como qualquer outro bloco. +Bedrock=Rocha-mãe +Bedrock is a very hard type of rock. It can not be broken, destroyed, collected or moved by normal means, unless in Creative Mode.=Rochas-mãe são um tipo muito duro de rochas. Elas não podem ser quebradas, destruídas, coletadas ou movidas por meios normais, a não ser no Modo Criativo. +Birch Bark=Casca de Bétula +Birch Leaves=Folhas de Bétula +Birch Sapling=Muda de Bétula +Birch Wood=Madeira de Bétula +Birch Wood Planks=Tábuas de Bétula +Birch leaves are grown from birch trees.=Folhas de bétula crescem a partir de árvores de bétula. +Black Stained Glass=Vidro Tingido de Preto +Block of Coal=Bloco de Carvão +Block of Diamond=Bloco de Diamante +Block of Emerald=Bloco de Esmeralda +Block of Gold=Bloco de Ouro +Block of Iron=Bloco de Ferro +Blocks of coal are useful as a compact storage of coal and very useful as a furnace fuel. A block of coal is as efficient as 10 coal.=Blocos de carvão são úteis para armzenad carvão de forma compacta e muito úteis como combustível de fornalas. Um bloco de carvão é tão eficiente quanto 10 carvões. +Blue Stained Glass=Vidro Tingido de Azul +Bone Block=Bloco de Osso +Bone blocks are decorative blocks and a compact storage of bone meal.=Blocos de osso são blocos decorativos e uma forma compacta de armazenar farinha de osso. +Bowl=Tigela +Bowls are mainly used to hold tasty soups.=Tigelas são utilizadas principalmente para segurar sopas deliciosas. +Brick=Tijolo +Brick Block=Bloco de Tijolo +Brick blocks are a good building material for building solid houses and can take quite a punch.=Blocos de tijolo são bons materiais de construção para a construção de casas sólidas e que podem aguentar a porrada. +Bricks are used to craft brick blocks.=Tijolos são usados para fabricar blocos de tijolo. +Brown Stained Glass=Vidro Tingido de Marrom +Cactus=Cacto +Charcoal=Carvão Vegetal +Charcoal is an alternative furnace fuel created by cooking wood in a furnace. It has the same burning time as coal and also shares many of its crafting recipes, but it can not be used to create coal blocks.=Carvão vegetal é um combustível alternativo de fornalha produzido ao cozinhar madeira em uma fornalha. Possui o mesmo tempo de queima que o carvão e também compartilha diversas receitas de fabricação, mas não pode ser usado para fabricar blocos de carvão. +Chiseled Stone Bricks=Tijolo de Rocha Cinzelado +Chiseled Red Sandstone=Arenito Vermelho Cinzelado +Chiseled Sandstone=Arenito Cinzelado +Chiseled red sandstone is a decorative building block.=Arenito vermelho cinzelado é um bloco de construção decorativo. +Chiseled sandstone is a decorative building block.=Arenito cinzelado é um bloco de construção decorativo. +Clay=Argila +Clay Ball=Bola de Argila +Clay balls are a raw material, mainly used to create bricks in the furnace.=Bolas de argila são materiais não processados, principalmente utilizados para fabricar tijolos quando cozidos. +Clay is a versatile kind of earth commonly found at beaches underwater.=Argila é um tipo de terra versátil comumente encontrado em praias e submerso. +Coal=Carvão +Coal Ore=Minério de Carvão +Coarse Dirt=Terra Infértil +Coarse dirt acts as a soil for some plants and is similar to dirt, but it will never grow a cover.=Terra infértil age como solo para algums plantas e é similar à terra, mas nunca crescerá uma cobertura. +Cobblestone=Pedregulho +Cobweb=Teia de Aranha +Cobwebs can be walked through, but significantly slow you down.=Teias de aranha podem ser atravessadas, mas reduzindo significativamente sua velocidade. +Cracked Stone Bricks=Tijolo de Rocha Rachado +Cut Red Sandstone=Arenito Vermelho Cortado +Cut Sandstone=Arenito Cortado +Cut red sandstone is a decorative building block.=Arenito vermelho cortado é um bloco de construção decorativo. +Cut sandstone is a decorative building block.=Arenito cortado é um bloco de construção decorativo. +Cyan Stained Glass=Vidro Tingido de Ciano +Dark Oak Bark=Casca de Carvalho Escuro +Dark Oak Leaves=Folhas de Carvalho Escuro +Dark Oak Sapling=Muda de Carvalho Escuro +Dark Oak Wood=Madeira de Carvalho Escuro +Dark Oak Wood Planks=Tábuas de Carvlho Escuro +Dark oak leaves are grown from dark oak trees.=Folhas de carvalho escuro crescem em árvores de carvalho escuro. +Dark oak saplings can grow into dark oaks, but only in groups. A lonely dark oak sapling won't grow. A group of four dark oak saplings grows into a dark oak after some time when they are placed on soil (such as dirt) in a 2×2 square and exposed to light.=Mudas de carvalho escuro podem se tornar carvalhos escuro, mas apenas em grupo. Uma muda de carvalho escuro solitária não crescerá. Um grupo de quatro mudas de carvalho escuro crescem em uma árvore de carvalho escuro após um tempo em um quadrado de 2x2 sendo expostas à luz. +Dead Bush=Arbusto Morto +Dead bushes are unremarkable plants often found in dry areas. They can be harvested for sticks.=Arbustos mortos são plantas normais comumente encontradas em áreas secas. Podem ser colhidas na forma de gravetos. +Diamond=Diamante +Diamond Ore=Minério de Diamante +Diamond ore is rare and can be found in clusters near the bottom of the world.=Minérios de diamante são raros e podem ser encontrados em aglomerados perto do fundo do mundo. +Diamonds are precious minerals and useful to create the highest tier of armor and tools.=Diamantes são minerais preciosos e úteis para criar as armaduras e ferramentas do mais alto nível. +Diorite=Diorito +Diorite is an igneous rock.=Diorito é uma rocha ígnea. +Dirt=Terra. +Dirt acts as a soil for a few plants. When in light, this block may grow a grass or mycelium cover if such blocks are nearby.=Terra atua como solo para algumas plantas. Quando sob a luz, esse bloco pode crescer grama ou uma cobertura de micélio se tais blocos estão próximos. +Emerald=Esmeralda +Emerald Ore=Minério de Esmeralda +Emerald ore is the ore of emeralds. It is very rare and can be found alone, not in clusters.=Minério de esmeralda é o minério das esmeraldas. É raro e podem ser encontrados solitários, não em aglomerados. +Emeralds are used in villager trades as currency.=Esmeraldas são utilizadas nas trocas como aldeões na forme de moeda. +Flint=Sílex +Flint is a raw material.=Sílex é um material não processado. +Flowing Lava=Lava Fluíndo +Flowing Water=Água Fluíndo +Frosted Ice=Gelo Fosco +Frosted ice is a short-lived solid block. It melts into a water source within a few seconds.=Gelo fosco é um bloco sólido de vida curta. Ele derrete em uma fonte de água após alguns segundos. +Glass=Vidro +Gold Ingot=Lingote de Ouro +Gold Nugget=Pepita de Ouro +Gold Ore=Minério de Ouro +Gold nuggets are very small pieces of molten gold; the main purpose is to create gold ingots.=Pepitas de ouro são pequenas peças de ouro fundido; sua principal finalidade é criar lingotes de ouro. +Golden Apple=Maçã Dourada +Golden apples are precious food items which can be eaten.=Maçãs douradas são alimentos preciosos que podem ser consumidos. +Granite=Granito +Grass Block=Bloco de Grama +Grass Path=Caminho de Grama +Grass paths are a decorative variant of grass blocks. Their top has a different color and they are a bit lower than grass blocks, making them useful to build footpaths. Grass paths can be created with a shovel. A grass path turns into dirt when it is below a solid block.=Caminhos de gramas são variantes decorativas do bloco de grama. Seu topo possui diferentes cores e são um pouco mais baixos que blocos de grama, tornando-os úteis para construír trilhas. Caminhos de grama se tornam terra quando é colocado abaixo de um bloco sólido. +Gravel=Cascalho +Green Stained Glass=Vidro Tingido de Verde +Grey Stained Glass=Vidro Tingido de Cinza +Ice=Gelo +Ice is a solid block usually found in cold areas. It melts near block light sources at a light level of 12 or higher. When it melts or is broken while resting on top of another block, it will turn into a water source.=Gelo é um bloco sólido normamente encontrado em áreas frias. Ele derrete quando próximo de um bloco luminoso sob um nível de luz 12 ou superior. Quando derrete ou é quebrado enquanto acima de um bloco, se torna em uma fonte de água. +In the End dimension, starting a fire on this block will create an eternal fire.=Na dimensão do End, começar um fogo nesse bloco criará um fogo eterno. +Iron Ingot=Lingote de Ferro +Iron Nugget=Pepita de Ferro +Iron Ore=Minério de Ferro +Iron nuggets are very small pieces of molten iron; the main purpose is to create iron ingots.=Pepitas de ferro são pequenas peças de ferro fundido; seu principal propósito é na criação de lingotes de ferro. +Jungle Bark=Casca da Selva +Jungle Leaves=Folhas da Selva +Jungle Sapling=Mudas da Selva +Jungle Wood=Madeira da Selva +Jungle Wood Planks=Tábuas da Selva +Jungle leaves are grown from jungle trees.=Folhas da selva crescem em árvores da selva. +Ladder=Escada +Lapis Lazuli Block=Bloco de Lápis-lazuli +Lapis Lazuli Ore=Minério de Lápis-lazuli +Lapis lazuli ore is the ore of lapis lazuli. It can be rarely found in clusters near the bottom of the world.=Minerios de lápis-lazuli são o minério que contém lápis-lazuli. Pode ser encontrado raramente em aglomerados perto do fundo do mundo. +Lava Source=Fonte de Lava +Lava is hot and rather dangerous. Don't touch it, it will hurt you a lot and it is hard to get out.=Lava é quente e um tanto quanto perigosa. Não a toque, irá te queimar muito e será dificil sair. +Light Blue Stained Glass=Vidro Tingido de Azul Claro +Light Grey Stained Glass=Vidro Tingido de Cinza Claro +Lime Stained Glass=Vidro Tingido de Lima +Lit Redstone Ore=Minério de Redstone Aceso +Magenta Stained Glass=Vidro Tingido de Magenta +Molten gold. It is used to craft armor, tools, and whatnot.=Ouro fundido. É usado para fabricar armaduras, ferramentas e o que não. +Molten iron. It is used to craft armor, tools, and whatnot.=Ferro fundido. É usado para fabricar armaduras, ferramentas e o que não. +Mossy Cobblestone=Pedregulho Musgoso +Mossy Stone Bricks=Tiolos de Rocha Musgosos +Mycelium=Micélio +Mycelium is a type of dirt and the ideal soil for mushrooms. Unlike other dirt-type blocks, it can not be turned into farmland with a hoe. In light, mycelium slowly spreads over nearby dirt. Under an opaque block or a liquid, it eventually turns back into dirt.=Micélio é um tipo de terra e é o solo ideal para cogumelos. Diferente de outros tipos de blocos de terra, ele não pode ser convertido em terra arada com uma enxada. Sob a luz, micélio lentamente se espalha sobre outros blocos de terra próximos. Sob um bloco opaco ou um líquido, eventualmente se torna terra. +Oak Bark=Casca de Carvalho +Oak Leaves=Folhas de Carvalho +Oak Sapling=Muda de Carvalho +Oak Wood=Madeira de Carvalho +Oak Wood Planks=Tábuas de Carvalho +Oak leaves are grown from oak trees.=Folhas de carvalho crescem a partir de árvores de carvalho. +Obsidian=Obsidiana +Obsidian is an extremely hard mineral with an enourmous blast-resistance. Obsidian is formed when water meets lava.=Obsidiana é um mineral extremamente duro com uma enorme resistência a explosões. Obsidiana é formada quando a água encontra com a lava. +One of the most common blocks in the world, almost the entire underground consists of stone. It sometimes contains ores. Stone may be created when water meets lava.=Um dos blocos mais comuns do mundo, o subsolo consiste quase que na integridade de rocha. Algumas vezes contém minérios. Rochas podem ser criadas quando a água entra em contato com a lava. +Orange Stained Glass=Vidro Tingido de Laranja +Packed Ice=Gelo Compactado +Packed ice is a compressed form of ice. It is opaque and solid.=Gelo compactado é uma forma comprimida de gelo. É um bloco opaco e sólido. +Paper=Papel +Paper is used to craft books and maps.=Papel é utilizado para fabricar livros e mapas. +Pink Stained Glass=Vidro Tingido de Rosa +Podzol=Podzol +Podzol is a type of dirt found in taiga forests. Only a few plants are able to survive on it.=Podzol é um tpo de terra encontrado em florestas de taiga. Apenas algumas plantas conseguem sobreviver nele. +Polished Andesite=Andesito Polido +Polished Diorite=Diorito Polido +Polished Granite=Granito Polido +Polished Stone=Rocha Polida +Polished andesite is a decorative building block made from andesite.=Andesito polido é um bloco de construção decorativo feito a partir de andesito. +Polished diorite is a decorative building block made from diorite.=Diorito polido é um bloco de construção decorativo feito a partir de diorito. +Polished granite is a decorative building block made from granite.=Granito polido é um bloco de construção decorativo feito a partir de granito. +Purple Stained Glass=Vidro Tingido de Roxo +Realm Barrier=Barreira de Mundo +Red Sand=Areia Vermelha +Red Sandstone=Arenito Vermelho +Red Stained Glass=Vidro Tingido de Vermelho +Red sand is found in large quantities in mesa biomes.=Areia vermelha é encontrada em grandes quantidades nos biomes de mesa. +Red sandstone is compressed red sand and is a rather soft kind of stone.=Arenito vermelho é areia vemelha comprimida e é um tipo mais macio de rocha. +Redstone Ore=Minério de Redstone +Redstone ore is commonly found near the bottom of the world. It glows when it is punched or walked upon.=Minério de redstone é comumente encontrado próximo a superfície do mundo. +Sand=Areia +Sand is found in large quantities at beaches and deserts.=Areia é encontrada em grande quantidade em praias e desertos. +Sandstone=Arenito +Sandstone is compressed sand and is a rather soft kind of stone.=Arenito é areia comprimida e é um tipo mais macio de rocha. +Slime Block=Bloco de Slime +Slime blocks are very bouncy and prevent fall damage.=Blocos de slime são bastante saltitantes e previnem dano de queda. +Smooth Red Sandstone=Arenito Vermelho Liso +Smooth Sandstone=Arenito Liso +Smooth red sandstone is a decorative building block.=Arenito vemelho liso é um bloco de construção decorativo +Smooth sandstone is compressed sand and is a rather soft kind of stone.=Arenito liso é um bloco de construção decorativo +Snow=Neve +Some coal contained in stone, it is very common and can be found inside stone in medium to large clusters at nearly every height.=Algum carvão contigo na rocha, é bem comum e pode ser encontrado dentro de rochas em aglomerados médios a grantes a praticamente qualquer altitude. +Some iron contained in stone, it is prety common and can be found below sea level.=Algum ferro contido na rocha, é relativamente comum e pode ser encontrado abaixo do nível do mar. +Spruce Bark=Casca de Pinheiro +Spruce Leaves=Folhas de Pinheiro +Spruce Sapling=Muda de Pinheiro +Spruce Wood=Madeira de Pinheiro +Spruce Wood Planks=Tábuas de Pinheiro +Spruce leaves are grown from spruce trees.=Folhas de pinheiro crescem a partir de árvores de pinheiro. +Stained glass is a decorative and mostly transparent block which comes in various different colors.=Vidro tingido é um bloco decorativo majoritariamente transparente e que possui diferentes colorações. +Stick=Graveto +Sticks are a very versatile crafting material; used in countless crafting recipes.=Gravetos são materiais de fabricação muito versáteis; usados em inumeráveis receitas de fabricação. +Stone=Rocha +Stripped Acacia Log=Tronco de Acácia Descascado +Stripped Acacia Wood=Madeira de Acácia Descascada +Stripped Birch Log=Tronco de Bétula Descascado +Stripped Birch Wood=Madeira de Bétula Descascada +Stripped Dark Oak Log=Tronco de Carvalho Escuro Descascado +Stripped Dark Oak Wood=Madeira de Carvalho Escuro Descascada +Stripped Jungle Log=Tronco da Selva Descascado +Stripped Jungle Wood=Madeira da Selva Descascada +Stripped Oak Log=Tronco de Carvalho Descascado +Stripped Oak Wood=Madeira de Carvalho Descascada +Stripped Spruce Log=Tronco de Pinheiro Descascado +Stripped Spruce Wood=Madeira de Pinheiro Descascada +Stone Bricks=Tijolo de Rocha +Sugar=Açúcar +Sugar Canes=Cana de Açúcar +Sugar canes are a plant which has some uses in crafting. Sugar canes will slowly grow up to 3 blocks when they are next to water and are placed on a grass block, dirt, sand, red sand, podzol or coarse dirt. When a sugar cane is broken, all sugar canes connected above will break as well.= +Canas de açúcar são plantas que possui alguns usos em fabricações. Canas de açúcar crescerão lentamente até 3 blocos quando estão próximas da água e são colocadas em blocos de grama, terra, areia, areia vermelha, podzol ou terra infértil. +Sugar canes can only be placed top of other sugar canes and on top of blocks on which they would grow.=Canas de açúcar só podem ser colocados emcima de outras canas de açúcar ou sobre blocos em qual elas podem crescer. +Sugar comes from sugar canes and is used to make sweet foods.=Açúcar vem de canas de açúcar e é utilizado para fazer doces comidas. +The stripped trunk of an acacia tree.=O tronco descascado de uma acácia. +The stripped trunk of a birch tree.=O tronco descascado de uma bétula. +The stripped trunk of a dark oak tree.=O tronco descascado de um carvalho escuro. +The stripped trunk of a jungle tree.=O tronco descascado de uma árvore da selva. +The stripped trunk of an oak tree.=O tronco descascado de um carvalho. +The stripped trunk of a spruce tree.=O tronco descascado de um pinheiro. +The trunk of a birch tree.=O tronco de uma bétula. +The trunk of a dark oak tree.=O tronco de um carvalho escuro. +The trunk of a jungle tree.=O tronco de uma árvore da selva. +The trunk of a spruce tree.=O tronco de um pinheiro. +The trunk of an acacia.=O tronco de uma acácia. +The trunk of an oak tree.=O tronco de um carvalho. +The stripped wood of an acacia tree.=A madeira descascada de uma acácia. +The stripped wood of a birch tree.=A madeira descascada de uma bétula. +The stripped wood of a dark oak tree.=A madeira descascada de um carvalho escuro. +The stripped wood of a jungle tree.=A madeira descascada de uma árvore da selva. +The stripped wood of an oak tree.=A madeira descascada de um carvalho. +The stripped wood of a spruce tree.=A madeira descascada de um pinheiro. +This block consists of a couple of loose stones and can't support itself.=Esse bloco consiste de várias pedras soltas e não consegue se suportar. +This is a decorative block surrounded by the bark of a tree trunk.=Este é um bloco decorativo envolto das cascas de uma árvore. +This is a decorative block.=Este é um bloco decorativo. +This is a full block of snow. Snow of this thickness is usually found in areas of extreme cold.=Esse é um bloco cheio de neve. Neve dessa espessura geralmente é encontrada em áreas de frio extremo. +This is a piece of cactus commonly found in dry areas, especially deserts. Over time, cacti will grow up to 3 blocks high on sand or red sand. A cactus hurts living beings touching it with a damage of 1 HP every half second. When a cactus block is broken, all cactus blocks connected above it will break as well.=Esse é um pedaço de cacto comumente encontrado em áreas secas, especialmente desertos. Com o passar do tempo, cactos crescerão até 3 blocos de altura em areia ou areia vermelha. Um cacto machuca seres vivos que o encostarem com o dano de 1 HP a cada meio segundo. Quando um cacto é quebrado, todo bloco de cacto conectado acima também será quebrado. +This stone contains pure gold, a rare metal.=Essa rocha contem ouro puro, um metal raro. +Top Snow=Cobertura de neve +Top snow is a layer of snow. It melts near light sources other than the sun with a light level of 12 or higher.=A cobertura de neve é uma camada de neve. Ela derrete próxima de fontes luminosas além do sol quando o nível de luz for 12 ou superior. +Vines=Vinhas +Vines are climbable blocks which can be placed on the sides of solid full-cube blocks. Vines slowly grow and spread.=Vinhas são blocos escaláveis que podem ser colocadas ao lado de blocos sólidos. Vinhas crescem lentamente e se espalham. +Void=Vazio +Water=Água +Water Source=Fonte de Água +Water is abundant in oceans and also appears in a few springs in the ground. You can swim easily in water, but you need to catch your breath from time to time.=Água é abundante em oceanos e também aparece em algumas nascentes no solo. Você pode nadar facilmente na água, mas é preciso tomar fôlego de tempo em tempo. +When placed on soil (such as dirt) and exposed to light, a birch sapling will grow into a birch after some time.=Quando colocada no solo (como na terra) e exposta a luz, a muda de bétula crescerá em uma árvore após algum tempo. +When placed on soil (such as dirt) and exposed to light, a jungle sapling will grow into a jungle tree after some time. When there are 4 jungle saplings in a 2×2 square, they will grow to a huge jungle tree.=Quando colocada no solo (como na terra) e exposta a luz, a muda da selva crescerá em uma árvore após algum tempo. Quando há 4 mudas da selva em um quadrado de 2x2, elas crescerão em uma enorme árvore da selva. +When placed on soil (such as dirt) and exposed to light, a spruce sapling will grow into a spruce after some time. When there are 4 spruce saplings in a 2×2 square, they will grow to a huge spruce.=Quando colocada no solo (como na terra) e exposta a luz, a muda de pinheiro crescerá em uma árvore após algum tempo. Quando há 4 mudas de pinheiro em um quadrado de 2x2, elas crescerão em um enorme pinheiro. +When placed on soil (such as dirt) and exposed to light, an acacia sapling will grow into an acacia after some time.=Quando colocada no solo (como na terra) e exposta a luz, a muda de acácia crescerá em uma árvore após algum tempo. +When placed on soil (such as dirt) and exposed to light, an oak sapling will grow into an oak after some time.=Quando colocada no solo (como na terra) e exposta a luz, a muda de carvalho rescerá em uma árvore após algum tempo. +When you hold a barrier in hand, you reveal all placed barriers in a short distance around you.=Quando você segura uma barreira na mão, lhe é revelado todas as barreiras posicionadas próximas de você. +White Stained Glass=Vidro Tingido de Branco +Yellow Stained Glass=Vidro Tingido de Amarelo +“Coal” refers to coal lumps obtained by digging coal ore which can be found underground. Coal is your standard furnace fuel, but it can also be used to make torches, coal blocks and a few other things.="Carvão" se refere a pedaços de carvão obtidos quando escavados minérios de carvão, que podem ser encontrados no subsolo. Carvão é seu combustível de fornalha padrão, mas também pode ser usado para fazer tochas, blocos de carvão e outras coisas. +Water interacts with lava in various ways:=Água interage com a lava de várias formas: +• When water is directly above or horizontally next to a lava source, the lava turns into obsidian.=• Quando a água está diretamente acima ou horizontalmente próxima de uma fonte de lava, a lava se torna obsidiana. +• When flowing water touches flowing lava either from above or horizontally, the lava turns into cobblestone.=• Quando água fluindo toca em lava fluindo tanto por cima quanto horizontalmente, a lava se torna pedregulho. +• When water is directly below lava, the water turns into stone.=• Quando a água está diretamente abaixo da lava, a água se torna rocha. +Lava interacts with water various ways:=Lava interage com a água de várias maneiras: +• When a lava source is directly below or horizontally next to water, the lava turns into obsidian.=• Quando uma fonte de lava está diretamente abaixo ou horizontalmente perto da água, a lava se torna obsidiana. +• When lava is directly above water, the water turns into stone.=• Quando a lavaz está diretamente acima da água, a água se torna rocha. +Stained Glass=Vidro Tingido +Granite is an igneous rock.=Granito é uma rocha ígnea. +Top snow can be stacked and has one of 8 different height levels. At levels 2-8, top snow is collidable. Top snow drops 2-9 snowballs, depending on its height.=Cobertura de neve pode ser empilhada e possui 8 diferentes níveis de altura. Aos níveis 2-8, a cobertura de neve é colisional. Cobertura de neve derruba 2-9 bolas de neve, dependendo de sua altura. +This block can only be placed on full solid blocks and on another top snow (which increases its height).=Esse bloco só pode ser colocado em blocos sólidos e em outras coberturas de neve (o que aumenta sua altura). +Needs soil and water to grow=Necessita de solo e água para crescer +Needs soil and light to grow=Necessita de solo e luz para crescer +Grows on sand=Cresce na areia +Contact damage: @1 per half second=Dano de contato: @1 por meio segundo +Slows down movement=Diminui a velocidade de movimento +2×2 saplings required=2x2 de mudas necessário +2×2 saplings @= large tree=2x2 de mudas @= +Grows on sand or dirt next to water=Cresce na areia ou em terra próximo a água +Stackable=Empilhável +Crying Obsidian=Obsidiana Chorona +Crying obsidian is a luminous obsidian that can generate as part of ruined portals.=Obsidiana chorona é uma obsidiana luminosa que pode ser gerada como parte de portais arruinados. +Enchanted Golden Apple=Maçã Dourada Encantada diff --git a/mods/ITEMS/mcl_core/locale/mcl_core.ru.tr b/mods/ITEMS/mcl_core/locale/mcl_core.ru.tr index 831795792..bf8ce9e4f 100644 --- a/mods/ITEMS/mcl_core/locale/mcl_core.ru.tr +++ b/mods/ITEMS/mcl_core/locale/mcl_core.ru.tr @@ -24,7 +24,7 @@ Andesite is an igneous rock.=Андезит это камень вулканич Apple=Яблоко Apples are food items which can be eaten.=Яблоки относятся к продуктовым предметам, которые можно есть. Barrier=Барьер -Barriers are invisble walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.=Барьеры это невидимые блоки-препятствия. Они могут использоваться, например, для создания границ карты. Монстры и животные не будут появляться на барьерах. Заборы с барьерами визуально не связываются. Другие блоки могут строиться на барьерах, как на любых других блоках. +Barriers are invisible walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.=Барьеры это невидимые блоки-препятствия. Они могут использоваться, например, для создания границ карты. Монстры и животные не будут появляться на барьерах. Заборы с барьерами визуально не связываются. Другие блоки могут строиться на барьерах, как на любых других блоках. Bedrock=Бедрок Bedrock is a very hard type of rock. It can not be broken, destroyed, collected or moved by normal means, unless in Creative Mode.=Бедрок это очень твёрдый камень. Его невозможно сломать, выкопать или сдвинуть обычным способом, за исключением творческого режима. Birch Bark=Кора берёзы diff --git a/mods/ITEMS/mcl_core/locale/mcl_core.zh_TW.tr b/mods/ITEMS/mcl_core/locale/mcl_core.zh_TW.tr index 0e8280c6e..74f3297a1 100644 --- a/mods/ITEMS/mcl_core/locale/mcl_core.zh_TW.tr +++ b/mods/ITEMS/mcl_core/locale/mcl_core.zh_TW.tr @@ -23,7 +23,7 @@ Andesite is an igneous rock.=安山岩是一種火成岩。 Apple=蘋果 Apples are food items which can be eaten.=蘋果是一種可以被食用的食物 Barrier=屏障 -Barriers are invisble walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.=屏障是看不見但可行走的方塊。它們通常被用來創建冒險地圖的邊界。怪物和動物不會出現在屏障上,柵欄也不會連接到屏障上。其他方塊可以像在其他方塊上一樣被放置在屏障上。 +Barriers are invisible walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.=屏障是看不見但可行走的方塊。它們通常被用來創建冒險地圖的邊界。怪物和動物不會出現在屏障上,柵欄也不會連接到屏障上。其他方塊可以像在其他方塊上一樣被放置在屏障上。 Bedrock=基岩 Bedrock is a very hard type of rock. It can not be broken, destroyed, collected or moved by normal means, unless in Creative Mode.=基岩是一種堅實無比的石頭。除了創造模式的玩家,沒有人可以以正常方式破壞、銷毀、收集或移動它。 Birch Bark=白樺樹皮 diff --git a/mods/ITEMS/mcl_core/locale/template.txt b/mods/ITEMS/mcl_core/locale/template.txt index a7798b9cd..911746699 100644 --- a/mods/ITEMS/mcl_core/locale/template.txt +++ b/mods/ITEMS/mcl_core/locale/template.txt @@ -24,7 +24,7 @@ Andesite is an igneous rock.= Apple= Apples are food items which can be eaten.= Barrier= -Barriers are invisble walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.= +Barriers are invisible walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.= Bedrock= Bedrock is a very hard type of rock. It can not be broken, destroyed, collected or moved by normal means, unless in Creative Mode.= Birch Bark= @@ -286,3 +286,6 @@ Stackable= Crying Obsidian= Crying obsidian is a luminous obsidian that can generate as part of ruined portals.= Enchanted Golden Apple= +Light= +Lights are invisible blocks. They are used to light up adventure maps and the like.= +When you hold a light in hand, you reveal all placed lights in a short distance around you.= diff --git a/mods/ITEMS/mcl_core/nodes_base.lua b/mods/ITEMS/mcl_core/nodes_base.lua index 476bdf9ce..6da9d8357 100644 --- a/mods/ITEMS/mcl_core/nodes_base.lua +++ b/mods/ITEMS/mcl_core/nodes_base.lua @@ -373,14 +373,14 @@ minetest.register_node("mcl_core:dirt_with_grass", { overlay_tiles = {"mcl_core_grass_block_top.png", "", {name="mcl_core_grass_block_side_overlay.png", tileable_vertical=false}}, palette = "mcl_core_palette_grass.png", palette_index = 0, - color = "#8EB971", + color = "#7CBD6B", is_ground_content = true, stack_max = 64, groups = { handy = 1, shovely = 1, dirt = 2, grass_block = 1, grass_block_no_snow = 1, soil = 1, soil_sapling = 2, soil_sugarcane = 1, cultivatable = 2, spreading_dirt_type = 1, enderman_takable = 1, building_block = 1, - compostability = 30, path_creation_possible=1 + compostability = 30, path_creation_possible = 1, grass_palette = 1 }, drop = "mcl_core:dirt", sounds = mcl_sounds.node_sound_dirt_defaults({ @@ -401,7 +401,7 @@ minetest.register_node("mcl_core:dirt_with_grass", { _mcl_hardness = 0.6, _mcl_silk_touch_drop = true, }) -mcl_core.register_snowed_node("mcl_core:dirt_with_grass_snow", "mcl_core:dirt_with_grass", nil, nil, true, S("Dirt with Snow")) +mcl_core.register_snowed_node("mcl_core:dirt_with_grass_snow", "mcl_core:dirt_with_grass", nil, nil, true, S("Dirt with Snow"), 1) minetest.register_node("mcl_core:grass_path", { tiles = {"mcl_core_grass_path_top.png", "default_dirt.png", "mcl_core_grass_path_side.png"}, diff --git a/mods/ITEMS/mcl_core/nodes_cactuscane.lua b/mods/ITEMS/mcl_core/nodes_cactuscane.lua index 62d5cc2b5..79b440f61 100644 --- a/mods/ITEMS/mcl_core/nodes_cactuscane.lua +++ b/mods/ITEMS/mcl_core/nodes_cactuscane.lua @@ -84,7 +84,7 @@ minetest.register_node("mcl_core:reeds", { stack_max = 64, groups = { dig_immediate = 3, craftitem = 1, deco_block = 1, dig_by_piston = 1, - plant = 1, non_mycelium_plant = 1, compostability = 50 + plant = 1, non_mycelium_plant = 1, compostability = 50, grass_palette = 1 }, sounds = mcl_sounds.node_sound_leaves_defaults(), node_placement_prediction = "", @@ -127,7 +127,7 @@ minetest.register_node("mcl_core:reeds", { on_construct = function(pos) local node = minetest.get_node(pos) if node.param2 == 0 then - node.param2 = mcl_core.get_grass_palette_index(pos) + node.param2 = mcl_util.get_palette_indexes_from_pos(pos).grass_palette_index if node.param2 ~= 0 then minetest.set_node(pos, node) end diff --git a/mods/ITEMS/mcl_core/nodes_climb.lua b/mods/ITEMS/mcl_core/nodes_climb.lua index 1a6780618..33a34f899 100644 --- a/mods/ITEMS/mcl_core/nodes_climb.lua +++ b/mods/ITEMS/mcl_core/nodes_climb.lua @@ -92,11 +92,13 @@ minetest.register_node("mcl_core:vine", { _doc_items_longdesc = S("Vines are climbable blocks which can be placed on the sides of solid full-cube blocks. Vines slowly grow and spread."), drawtype = "signlike", tiles = {"mcl_core_vine.png"}, + color = "#48B518", inventory_image = "mcl_core_vine.png", wield_image = "mcl_core_vine.png", paramtype = "light", sunlight_propagates = true, - paramtype2 = "wallmounted", + paramtype2 = "colorwallmounted", + palette = "[combine:16x2:0,0=mcl_core_palette_foliage.png", walkable = false, climbable = true, buildable_to = true, @@ -107,7 +109,7 @@ minetest.register_node("mcl_core:vine", { groups = { handy = 1, axey = 1, shearsy = 1, swordy = 1, deco_block = 1, dig_by_piston = 1, destroy_by_lava_flow = 1, compostability = 50, - flammable = 2, fire_encouragement = 15, fire_flammability = 100 + flammable = 2, fire_encouragement = 15, fire_flammability = 100, foliage_palette_wallmounted = 1 }, sounds = mcl_sounds.node_sound_leaves_defaults(), drop = "", @@ -155,10 +157,24 @@ minetest.register_node("mcl_core:vine", { return itemstack end, + on_construct = function(pos) + local node = minetest.get_node(pos) + local foliage_palette_index = mcl_util.get_palette_indexes_from_pos(pos).foliage_palette_index + if node.name == "mcl_core:vine" then + local biome_param2 = foliage_palette_index + local rotation_param2 = node.param2 + local final_param2 = (biome_param2 * 8) + rotation_param2 + if node.param2 ~= final_param2 and rotation_param2 < 6 then + node.param2 = final_param2 + minetest.swap_node(pos, node) + end + end + end, + -- If dug, also dig a “dependant” vine below it. -- A vine is dependant if it hangs from this node and has no supporting block. on_dig = function(pos, node, digger) - local below = {x=pos.x, y=pos.y-1, z=pos.z} + local below = vector.offset(pos,0,-1,0) local belownode = minetest.get_node(below) minetest.node_dig(pos, node, digger) if belownode.name == node.name and (not mcl_core.check_vines_supported(below, belownode)) then diff --git a/mods/ITEMS/mcl_core/nodes_liquid.lua b/mods/ITEMS/mcl_core/nodes_liquid.lua index 081f1978a..e55664432 100644 --- a/mods/ITEMS/mcl_core/nodes_liquid.lua +++ b/mods/ITEMS/mcl_core/nodes_liquid.lua @@ -25,14 +25,15 @@ minetest.register_node("mcl_core:water_flowing", { { image="default_water_flowing_animated.png", backface_culling=false, - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=4.0} + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1.5} }, { image="default_water_flowing_animated.png", backface_culling=false, - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=4.0} + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1.5} }, }, + color = "#3F76E4", sounds = mcl_sounds.node_sound_water_defaults(), is_ground_content = false, use_texture_alpha = USE_TEXTURE_ALPHA, @@ -50,7 +51,7 @@ minetest.register_node("mcl_core:water_flowing", { liquid_viscosity = WATER_VISC, liquid_range = 7, waving = 3, - post_effect_color = {a=20, r=0x03, g=0x3C, b=0x5C}, + post_effect_color = {a=60, r=24.7, g=46.3, b=89.4}, groups = { water=3, liquid=3, puts_out_fire=1, not_in_creative_inventory=1, freezes=1, melt_around=1, dig_by_piston=1}, _mcl_blast_resistance = 100, -- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode @@ -70,20 +71,23 @@ S("• When water is directly below lava, the water turns into stone."), drawtype = "liquid", waving = 3, tiles = { - {name="default_water_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=5.0}} + {name="default_water_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}} }, special_tiles = { -- New-style water source material (mostly unused) { name="default_water_source_animated.png", - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=5.0}, + animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}, backface_culling = false, } }, + color = "#3F76E4", sounds = mcl_sounds.node_sound_water_defaults(), is_ground_content = false, use_texture_alpha = USE_TEXTURE_ALPHA, paramtype = "light", + paramtype2 = "color", + palette = "mcl_core_palette_water.png", walkable = false, pointable = false, diggable = false, @@ -95,12 +99,21 @@ S("• When water is directly below lava, the water turns into stone."), liquid_alternative_source = "mcl_core:water_source", liquid_viscosity = WATER_VISC, liquid_range = 7, - post_effect_color = {a=60, r=0x03, g=0x3C, b=0x5C}, + post_effect_color = {a=60, r=24.7, g=46.3, b=89.4}, stack_max = 64, - groups = { water=3, liquid=3, puts_out_fire=1, freezes=1, not_in_creative_inventory=1, dig_by_piston=1}, + groups = { water=3, liquid=3, puts_out_fire=1, freezes=1, not_in_creative_inventory=1, dig_by_piston=1, water_palette=1}, _mcl_blast_resistance = 100, -- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode _mcl_hardness = -1, + on_construct = function(pos) + local node = minetest.get_node(pos) + if node.param2 == 0 then + local new_node = mcl_core.get_water_block_type(pos) + if new_node.param2 ~= 0 then + minetest.swap_node(pos, new_node) + end + end + end, }) minetest.register_node("mcl_core:lava_flowing", { @@ -245,3 +258,22 @@ if minetest.settings:get("mcl_node_particles") == "full" then end, }) end + +minetest.register_on_liquid_transformed(function(pos_list, node_list) + for _, fwpos in pairs(pos_list) do + local fwnode = minetest.get_node(fwpos) + if minetest.get_item_group(fwnode, "palette_index") ~= 1 then + local pos1, pos2 = vector.offset(fwpos, -1, -1, -1), vector.offset(fwpos, 1, 1, 1) + local water = minetest.find_nodes_in_area(pos1, pos2, {"group:water_palette"}) + for _, wpos in pairs(water) do + local wnode = minetest.get_node(wpos) + local water_palette_index = mcl_util.get_palette_indexes_from_pos(wpos).water_palette_index + if wnode.param2 ~= water_palette_index then + wnode.param2 = water_palette_index + minetest.set_node(wpos, wnode) + end + end + end + end +end +) diff --git a/mods/ITEMS/mcl_core/nodes_misc.lua b/mods/ITEMS/mcl_core/nodes_misc.lua index 5f5b005e2..47949057c 100644 --- a/mods/ITEMS/mcl_core/nodes_misc.lua +++ b/mods/ITEMS/mcl_core/nodes_misc.lua @@ -8,7 +8,14 @@ if mod_screwdriver then on_rotate = screwdriver.rotate_3way end -local alldirs = {{x=0,y=0,z=1}, {x=1,y=0,z=0}, {x=0,y=0,z=-1}, {x=-1,y=0,z=0}, {x=0,y=-1,z=0}, {x=0,y=1,z=0}} +local alldirs = { + vector.new(0, 0, 1), + vector.new(1, 0, 0), + vector.new(0, 0, -1), + vector.new(-1, 0, 0), + vector.new(0, -1, 0), + vector.new(0, 1, 0), +} minetest.register_node("mcl_core:bone_block", { description = S("Bone Block"), @@ -17,7 +24,7 @@ minetest.register_node("mcl_core:bone_block", { is_ground_content = false, paramtype2 = "facedir", on_place = mcl_util.rotate_axis, - groups = {pickaxey=1, building_block=1, material_stone=1}, + groups = {pickaxey = 1, building_block = 1, material_stone = 1}, sounds = mcl_sounds.node_sound_stone_defaults(), on_rotate = on_rotate, _mcl_blast_resistance = 2, @@ -41,16 +48,15 @@ minetest.register_node("mcl_core:slimeblock", { type = "regular", }, tiles = {"mcl_core_slime.png"}, - use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "blend" or true, - stack_max = 64, + use_texture_alpha = "blend", -- According to Minecraft Wiki, bouncing off a slime block from a height off 255 blocks should result in a bounce height of 50 blocks -- bouncy=44 makes the player bounce up to 49.6. This value was chosen by experiment. -- bouncy=80 was chosen because it is higher than 66 (bounciness of bed) - groups = {dig_immediate=3, bouncy=80,fall_damage_add_percent=-100,deco_block=1}, + groups = {dig_immediate = 3, bouncy = 80, fall_damage_add_percent = -100, deco_block = 1}, sounds = { - dug = {name="slimenodes_dug", gain=0.6}, - place = {name="slimenodes_place", gain=0.6}, - footstep = {name="slimenodes_step", gain=0.3}, + dug = {name = "slimenodes_dug", gain = 0.6}, + place = {name = "slimenodes_place", gain = 0.6}, + footstep = {name = "slimenodes_step", gain = 0.3}, }, _mcl_blast_resistance = 0, _mcl_hardness = 0, @@ -74,7 +80,8 @@ minetest.register_node("mcl_core:slimeblock", { elseif name == "mesecons_pistons:piston_down_sticky_off" or name == "mesecons_pistons:piston_down_normal_off" then piston, piston_down = true, true end - if not( (piston_side and (n-1==neighbor_node.param2)) or (piston_up and (n==5)) or (piston_down and (n==6)) ) then + if not + ((piston_side and (n - 1 == neighbor_node.param2)) or (piston_up and (n == 5)) or (piston_down and (n == 6))) then if piston and piston_pos then if piston_pos.x == neighbor_pos.x and piston_pos.y == neighbor_pos.y and piston_pos.z == neighbor_pos.z then -- Loopback to the same piston! Preventing unwanted behavior: @@ -98,7 +105,6 @@ minetest.register_node("mcl_core:cobweb", { drawtype = "plantlike", paramtype2 = "degrotate", visual_scale = 1.1, - stack_max = 64, tiles = {"mcl_core_web.png"}, inventory_image = "mcl_core_web.png", paramtype = "light", @@ -109,7 +115,8 @@ minetest.register_node("mcl_core:cobweb", { liquid_renewable = false, liquid_range = 0, walkable = false, - groups = {swordy_cobweb=1, shearsy_cobweb=1, fake_liquid=1, disable_jump=1, deco_block=1, dig_by_piston=1, dig_by_water=1,destroy_by_lava_flow=1,}, + groups = {swordy_cobweb = 1, shearsy_cobweb = 1, fake_liquid = 1, disable_jump = 1, deco_block = 1, dig_by_piston = 1, + dig_by_water = 1, destroy_by_lava_flow = 1,}, drop = "mcl_mobitems:string", _mcl_shears_drop = true, sounds = mcl_sounds.node_sound_leaves_defaults(), @@ -131,9 +138,9 @@ minetest.register_node("mcl_core:deadbush", { paramtype = "light", sunlight_propagates = true, walkable = false, - stack_max = 64, buildable_to = true, - groups = {handy=1,shearsy=1, flammable=3,attached_node=1,plant=1,non_mycelium_plant=1,dig_by_water=1,destroy_by_lava_flow=1,deco_block=1, fire_encouragement=60, fire_flammability=100}, + groups = {handy = 1, shearsy = 1, flammable = 3, attached_node = 1, plant = 1, non_mycelium_plant = 1, dig_by_water = 1, + destroy_by_lava_flow = 1, deco_block = 1, fire_encouragement = 60, fire_flammability = 100}, drop = { max_items = 1, items = { @@ -151,7 +158,7 @@ minetest.register_node("mcl_core:deadbush", { sounds = mcl_sounds.node_sound_leaves_defaults(), selection_box = { type = "fixed", - fixed = {-5/16, -8/16, -5/16, 5/16, 1/16, 5/16}, + fixed = {-5 / 16, -8 / 16, -5 / 16, 5 / 16, 1 / 16, 5 / 16}, }, _mcl_blast_resistance = 0, _mcl_hardness = 0, @@ -159,18 +166,17 @@ minetest.register_node("mcl_core:deadbush", { minetest.register_node("mcl_core:barrier", { description = S("Barrier"), - _doc_items_longdesc = S("Barriers are invisble walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block."), + _doc_items_longdesc = S("Barriers are invisible walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block."), _doc_items_usagehelp = S("When you hold a barrier in hand, you reveal all placed barriers in a short distance around you."), drawtype = "airlike", paramtype = "light", inventory_image = "mcl_core_barrier.png", wield_image = "mcl_core_barrier.png", - tiles = { "blank.png" }, - stack_max = 64, + tiles = {"blank.png"}, sunlight_propagates = true, is_ground_content = false, - groups = {creative_breakable=1, not_in_creative_inventory = 1, not_solid = 1 }, - on_blast = function() end, + groups = {creative_breakable = 1, not_in_creative_inventory = 1, not_solid = 1}, + on_blast = function(pos, intensity) end, drop = "", _mcl_blast_resistance = 36000008, _mcl_hardness = -1, @@ -193,11 +199,9 @@ minetest.register_node("mcl_core:barrier", { end -- Use pointed node's on_rightclick function first, if present - local node = minetest.get_node(pointed_thing.under) - if placer and not placer:get_player_control().sneak then - if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then - return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) or itemstack - end + local new_stack = mcl_util.call_on_rightclick(itemstack, placer, pointed_thing) + if new_stack then + return new_stack end local name = placer:get_player_name() @@ -222,27 +226,84 @@ minetest.register_node("mcl_core:realm_barrier", { paramtype = "light", inventory_image = "mcl_core_barrier.png^[colorize:#FF00FF:127^[transformFX", wield_image = "mcl_core_barrier.png^[colorize:#FF00FF:127^[transformFX", - tiles = { "blank.png" }, - stack_max = 64, + tiles = {"blank.png"}, -- To avoid players getting stuck forever between realms damage_per_second = 8, sunlight_propagates = true, is_ground_content = false, pointable = false, - groups = {not_in_creative_inventory = 1, not_solid = 1 }, - on_blast = function() end, + groups = {not_in_creative_inventory = 1, not_solid = 1}, + on_blast = function(pos, intensity) end, drop = "", _mcl_blast_resistance = 36000008, _mcl_hardness = -1, -- Prevent placement to protect player from screwing up the world, because the node is not pointable and hard to get rid of. node_placement_prediction = "", - on_place = function(pos, placer, itemstack, pointed_thing) - minetest.chat_send_player(placer:get_player_name(), minetest.colorize(mcl_colors.RED, "You can't just place a realm barrier by hand!")) + on_place = function(itemstack, placer, pointed_thing) + if placer then + minetest.chat_send_player(placer:get_player_name(), + minetest.colorize(mcl_colors.RED, "You can't just place a realm barrier by hand!")) + end return end, }) +--- Light blocks +--- TODO: make node only pointable when wielding it + +local light_block_pattern = "^mcl_core:light_(%d+)$" + + +for i = 0, 14 do --minetest.LIGHT_MAX + minetest.register_node("mcl_core:light_" .. i, { + description = S("Light"), + _doc_items_longdesc = S("Lights are invisible blocks. They are used to light up adventure maps and the like."), + _doc_items_usagehelp = S("When you hold a light in hand, you reveal all placed lights in a short distance around you."), + drawtype = "airlike", + paramtype = "light", + walkable = false, + light_source = i, + drop = "", + buildable_to = true, + node_placement_prediction = "", + inventory_image = "mcl_core_light_" .. i .. ".png", + wield_image = "mcl_core_light_" .. i .. ".png", + sunlight_propagates = true, + is_ground_content = false, + groups = {creative_breakable = 1, not_solid = 1, light_block = i + 1}, + on_blast = function(pos, intensity) end, + on_use = function(itemstack, user, pointed_thing) + -- user:get_player_control() returns {} for non players, so we don't need user:is_player() + if pointed_thing.type == "node" and string.match(minetest.get_node(pointed_thing.under).name, light_block_pattern) and not user:get_player_control().sneak then + minetest.dig_node(pointed_thing.under) + return + end + itemstack:set_name("mcl_core:light_" .. ((i == 14) and 0 or i + 1)) + return itemstack + end, + on_place = mcl_util.bypass_buildable_to(function(node_name) + return string.match(node_name, light_block_pattern) + end), + after_place_node = function(pos, placer, itemstack, pointed_thing) + if not placer then + return + end + minetest.add_particle({ + pos = pos, + expirationtime = 1, + size = 8, + texture = "mcl_core_light_" .. i .. ".png", + glow = 14, + playername = placer:get_player_name() + }) + end, + _mcl_blast_resistance = 36000008, + _mcl_hardness = -1, + }) +end + + -- The void below the bedrock. Void damage is handled in mcl_playerplus. @@ -259,15 +320,17 @@ minetest.register_node("mcl_core:void", { buildable_to = false, inventory_image = "mcl_core_void.png", wield_image = "mcl_core_void.png", - stack_max = 64, sunlight_propagates = true, is_ground_content = false, - groups = { not_in_creative_inventory = 1 }, - on_blast = function() end, + groups = {not_in_creative_inventory = 1}, + on_blast = function(pos, intensity) end, -- Prevent placement to protect player from screwing up the world, because the node is not pointable and hard to get rid of. node_placement_prediction = "", - on_place = function(pos, placer, itemstack, pointed_thing) - minetest.chat_send_player(placer:get_player_name(), minetest.colorize(mcl_colors.RED, "You can't just place the void by hand!")) + on_place = function(itemstack, placer, pointed_thing) + if placer then + minetest.chat_send_player(placer:get_player_name(), + minetest.colorize(mcl_colors.RED, "You can't just place the void by hand!")) + end return end, drop = "", diff --git a/mods/ITEMS/mcl_core/nodes_trees.lua b/mods/ITEMS/mcl_core/nodes_trees.lua index 787faa6d7..bdbbd0273 100644 --- a/mods/ITEMS/mcl_core/nodes_trees.lua +++ b/mods/ITEMS/mcl_core/nodes_trees.lua @@ -15,33 +15,41 @@ end -- -- Whenever a trunk node is removed, all `group:leaves` nodes in a sphere -- with radius 6 are checked. Every such node that does not have a trunk --- node within a distance of 6 blocks is converted into a orphan leaf node. +-- node within a distance of 6 blocks and wasn't placed by a player is +-- converted into a orphan leaf node. -- An ABM will gradually decay these nodes. -- --- If param2 of the node is set to a nonzero value, the node will always --- be preserved. This is set automatically when leaves are placed manually. -- -- @param pos the position of the removed trunk node. -- @param oldnode the node table of the removed trunk node. function mcl_core.update_leaves(pos, oldnode) local pos1, pos2 = vector.offset(pos, -6, -6, -6), vector.offset(pos, 6, 6, 6) - local lnode + local lnode, lmeta local leaves = minetest.find_nodes_in_area(pos1, pos2, "group:leaves") for _, lpos in pairs(leaves) do lnode = minetest.get_node(lpos) - -- skip already decaying leaf nodes - if minetest.get_item_group(lnode.name, "orphan_leaves") ~= 1 then + lmeta = minetest.get_meta(lpos) + -- skip already decaying leaf nodes and player leaves + if minetest.get_item_group(lnode.name, "orphan_leaves") ~= 1 and lmeta:get_int("player_leaves") ~= 1 then if not minetest.find_node_near(lpos, 6, "group:tree") then - -- manually placed leaf nodes have param2 - -- set and will never decay automatically - if lnode.param2 == 0 then - minetest.swap_node(lpos, {name = lnode.name .. "_orphan"}) + local orphan_name = lnode.name .. "_orphan" + local def = minetest.registered_nodes[orphan_name] + if def then + --minetest.log("Registered: ".. orphan_name) + minetest.set_node(lpos, {name = orphan_name}) + else + --minetest.log("Not registered: ".. orphan_name) end end end end end +function mcl_core.make_player_leaves(pos) + local meta = minetest.get_meta(pos) + meta:set_int("player_leaves", 1) +end + -- Register tree trunk (wood) and bark local function register_tree_trunk(subname, description_trunk, description_bark, longdesc, tile_inner, tile_bark, stripped_variant) minetest.register_node("mcl_core:"..subname, { @@ -142,7 +150,7 @@ local function register_wooden_planks(subname, description, tiles) }) end -local function register_leaves(subname, description, longdesc, tiles, sapling, drop_apples, sapling_chances) +local function register_leaves(subname, description, longdesc, tiles, color, paramtype2, palette, sapling, drop_apples, sapling_chances, foliage_palette) local apple_chances = {200, 180, 160, 120, 40} local stick_chances = {50, 45, 30, 35, 10} @@ -179,14 +187,16 @@ local function register_leaves(subname, description, longdesc, tiles, sapling, d _doc_items_hidden = false, drawtype = "allfaces_optional", waving = 2, - place_param2 = 1, -- Prevent leafdecay for placed nodes tiles = tiles, + color = color, paramtype = "light", + paramtype2 = paramtype2, + palette = palette, stack_max = 64, groups = { handy = 1, hoey = 1, shearsy = 1, swordy = 1, dig_by_piston = 1, flammable = 2, fire_encouragement = 30, fire_flammability = 60, - leaves = 1, deco_block = 1, compostability = 30 + leaves = 1, deco_block = 1, compostability = 30, foliage_palette = foliage_palette }, drop = get_drops(0), _mcl_shears_drop = true, @@ -195,13 +205,24 @@ local function register_leaves(subname, description, longdesc, tiles, sapling, d _mcl_hardness = 0.2, _mcl_silk_touch_drop = true, _mcl_fortune_drop = { get_drops(1), get_drops(2), get_drops(3), get_drops(4) }, - } + on_construct = function(pos) + local node = minetest.get_node(pos) + if node.param2 == 0 then + local new_node = mcl_core.get_foliage_block_type(pos) + if new_node.param2 ~= 0 then + minetest.swap_node(pos, new_node) + end + end + end, + after_place_node = function(pos) + mcl_core.make_player_leaves(pos) -- Leaves placed by the player should always be player leaves. + end, + } minetest.register_node("mcl_core:" .. subname, l_def) local o_def = table.copy(l_def) o_def._doc_items_create_entry = false - o_def.place_param2 = nil o_def.groups.not_in_creative_inventory = 1 o_def.groups.orphan_leaves = 1 o_def._mcl_shears_drop = {"mcl_core:" .. subname} @@ -303,12 +324,12 @@ register_sapling("birchsapling", S("Birch Sapling"), "mcl_core_sapling_birch.png", {-4/16, -0.5, -4/16, 4/16, 0.5, 4/16}) -register_leaves("leaves", S("Oak Leaves"), S("Oak leaves are grown from oak trees."), {"default_leaves.png"}, "mcl_core:sapling", true, {20, 16, 12, 10}) -register_leaves("darkleaves", S("Dark Oak Leaves"), S("Dark oak leaves are grown from dark oak trees."), {"mcl_core_leaves_big_oak.png"}, "mcl_core:darksapling", true, {20, 16, 12, 10}) -register_leaves("jungleleaves", S("Jungle Leaves"), S("Jungle leaves are grown from jungle trees."), {"default_jungleleaves.png"}, "mcl_core:junglesapling", false, {40, 26, 32, 24, 10}) -register_leaves("acacialeaves", S("Acacia Leaves"), S("Acacia leaves are grown from acacia trees."), {"default_acacia_leaves.png"}, "mcl_core:acaciasapling", false, {20, 16, 12, 10}) -register_leaves("spruceleaves", S("Spruce Leaves"), S("Spruce leaves are grown from spruce trees."), {"mcl_core_leaves_spruce.png"}, "mcl_core:sprucesapling", false, {20, 16, 12, 10}) -register_leaves("birchleaves", S("Birch Leaves"), S("Birch leaves are grown from birch trees."), {"mcl_core_leaves_birch.png"}, "mcl_core:birchsapling", false, {20, 16, 12, 10}) +register_leaves("leaves", S("Oak Leaves"), S("Oak leaves are grown from oak trees."), {"default_leaves.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_core:sapling", true, {20, 16, 12, 10}, 1) +register_leaves("darkleaves", S("Dark Oak Leaves"), S("Dark oak leaves are grown from dark oak trees."), {"mcl_core_leaves_big_oak.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_core:darksapling", true, {20, 16, 12, 10}, 1) +register_leaves("jungleleaves", S("Jungle Leaves"), S("Jungle leaves are grown from jungle trees."), {"default_jungleleaves.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_core:junglesapling", false, {40, 26, 32, 24, 10}, 1) +register_leaves("acacialeaves", S("Acacia Leaves"), S("Acacia leaves are grown from acacia trees."), {"default_acacia_leaves.png"}, "#48B518", "color", "mcl_core_palette_foliage.png", "mcl_core:acaciasapling", false, {20, 16, 12, 10}, 1) +register_leaves("spruceleaves", S("Spruce Leaves"), S("Spruce leaves are grown from spruce trees."), {"mcl_core_leaves_spruce.png"}, "#619961", "none", nil, "mcl_core:sprucesapling", false, {20, 16, 12, 10}, 0) +register_leaves("birchleaves", S("Birch Leaves"), S("Birch leaves are grown from birch trees."), {"mcl_core_leaves_birch.png"}, "#80A755", "none", nil, "mcl_core:birchsapling", false, {20, 16, 12, 10}, 0) diff --git a/mods/ITEMS/mcl_core/textures/default_acacia_leaves.png b/mods/ITEMS/mcl_core/textures/default_acacia_leaves.png deleted file mode 100644 index a24e58f16..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_acacia_leaves.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_acacia_tree.png b/mods/ITEMS/mcl_core/textures/default_acacia_tree.png deleted file mode 100644 index 2f62228c9..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_acacia_tree.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_brick.png b/mods/ITEMS/mcl_core/textures/default_brick.png deleted file mode 100644 index 785554395..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_brick.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_clay.png b/mods/ITEMS/mcl_core/textures/default_clay.png deleted file mode 100644 index 63d2ff18c..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_clay.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_coal_block.png b/mods/ITEMS/mcl_core/textures/default_coal_block.png deleted file mode 100644 index cf3579499..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_coal_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_cobble.png b/mods/ITEMS/mcl_core/textures/default_cobble.png deleted file mode 100644 index 60750edaa..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_cobble.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_dirt.png b/mods/ITEMS/mcl_core/textures/default_dirt.png deleted file mode 100644 index e60fa9b3b..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_dirt.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_gravel.png b/mods/ITEMS/mcl_core/textures/default_gravel.png deleted file mode 100644 index 8108db716..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_gravel.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_ice.png b/mods/ITEMS/mcl_core/textures/default_ice.png deleted file mode 100644 index e741bccc6..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_ice.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_jungleleaves.png b/mods/ITEMS/mcl_core/textures/default_jungleleaves.png deleted file mode 100644 index d92a6e089..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_jungleleaves.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_jungletree_top.png b/mods/ITEMS/mcl_core/textures/default_jungletree_top.png deleted file mode 100644 index a2fa3a33f..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_jungletree_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_leaves.png b/mods/ITEMS/mcl_core/textures/default_leaves.png deleted file mode 100644 index 7b01275f9..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_leaves.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_mossycobble.png b/mods/ITEMS/mcl_core/textures/default_mossycobble.png deleted file mode 100644 index 0cbd5a5ba..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_mossycobble.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_obsidian.png b/mods/ITEMS/mcl_core/textures/default_obsidian.png deleted file mode 100644 index a7f1d8896..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_obsidian.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_paper.png b/mods/ITEMS/mcl_core/textures/default_paper.png deleted file mode 100644 index af90416b5..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_paper.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_sand.png b/mods/ITEMS/mcl_core/textures/default_sand.png deleted file mode 100644 index 7fc254aa2..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_sand.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_stone.png b/mods/ITEMS/mcl_core/textures/default_stone.png deleted file mode 100644 index 8831ffb9b..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_stone.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_stone_brick.png b/mods/ITEMS/mcl_core/textures/default_stone_brick.png deleted file mode 100644 index 318b91b3d..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_stone_brick.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_water_flowing_animated.png b/mods/ITEMS/mcl_core/textures/default_water_flowing_animated.png deleted file mode 100644 index 7c2ffaba1..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_water_flowing_animated.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_water_source_animated.png b/mods/ITEMS/mcl_core/textures/default_water_source_animated.png deleted file mode 100644 index 5d4582244..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_water_source_animated.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/default_wood.png b/mods/ITEMS/mcl_core/textures/default_wood.png deleted file mode 100644 index ee97b8d8a..000000000 Binary files a/mods/ITEMS/mcl_core/textures/default_wood.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_andesite_smooth.png b/mods/ITEMS/mcl_core/textures/mcl_core_andesite_smooth.png deleted file mode 100644 index ff082af62..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_andesite_smooth.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_apple_golden.png b/mods/ITEMS/mcl_core/textures/mcl_core_apple_golden.png deleted file mode 100644 index 639afd908..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_apple_golden.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_bedrock.png b/mods/ITEMS/mcl_core/textures/mcl_core_bedrock.png deleted file mode 100644 index a96b21aca..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_bedrock.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_bone_block_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_bone_block_top.png deleted file mode 100644 index 9fc994cc3..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_bone_block_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_cactus_bottom.png b/mods/ITEMS/mcl_core/textures/mcl_core_cactus_bottom.png deleted file mode 100644 index 610a0aec5..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_cactus_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_cactus_side.png b/mods/ITEMS/mcl_core/textures/mcl_core_cactus_side.png deleted file mode 100644 index 1a75eacdf..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_cactus_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_cactus_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_cactus_top.png deleted file mode 100644 index 988ce176f..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_cactus_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_charcoal.png b/mods/ITEMS/mcl_core/textures/mcl_core_charcoal.png deleted file mode 100644 index 9e2ae284e..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_charcoal.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_coarse_dirt.png b/mods/ITEMS/mcl_core/textures/mcl_core_coarse_dirt.png deleted file mode 100644 index a39ccef81..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_coarse_dirt.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_crying_obsidian.png b/mods/ITEMS/mcl_core/textures/mcl_core_crying_obsidian.png deleted file mode 100644 index 6229fe08a..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_crying_obsidian.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_crying_obsidian_tear.png b/mods/ITEMS/mcl_core/textures/mcl_core_crying_obsidian_tear.png deleted file mode 100644 index eb3fc2cb5..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_crying_obsidian_tear.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_diorite.png b/mods/ITEMS/mcl_core/textures/mcl_core_diorite.png deleted file mode 100644 index 86c5a890e..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_diorite.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_dirt_podzol_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_dirt_podzol_top.png deleted file mode 100644 index 71bee0435..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_dirt_podzol_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_emerald_block.png b/mods/ITEMS/mcl_core/textures/mcl_core_emerald_block.png deleted file mode 100644 index c400a7bc9..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_emerald_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_frosted_ice_1.png b/mods/ITEMS/mcl_core/textures/mcl_core_frosted_ice_1.png deleted file mode 100644 index fd3756ebf..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_frosted_ice_1.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_frosted_ice_2.png b/mods/ITEMS/mcl_core/textures/mcl_core_frosted_ice_2.png deleted file mode 100644 index e90d8dd8f..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_frosted_ice_2.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_frosted_ice_3.png b/mods/ITEMS/mcl_core/textures/mcl_core_frosted_ice_3.png deleted file mode 100644 index b6b93e88b..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_frosted_ice_3.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_granite.png b/mods/ITEMS/mcl_core/textures/mcl_core_granite.png deleted file mode 100644 index e06aebfde..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_granite.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_grass_block_side_overlay.png b/mods/ITEMS/mcl_core/textures/mcl_core_grass_block_side_overlay.png deleted file mode 100644 index a1cc154d9..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_grass_block_side_overlay.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_grass_block_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_grass_block_top.png deleted file mode 100644 index f657bb811..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_grass_block_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_grass_path_side.png b/mods/ITEMS/mcl_core/textures/mcl_core_grass_path_side.png deleted file mode 100644 index ac25e45c4..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_grass_path_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_grass_path_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_grass_path_top.png deleted file mode 100644 index 22a7626a1..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_grass_path_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_ice_packed.png b/mods/ITEMS/mcl_core/textures/mcl_core_ice_packed.png deleted file mode 100644 index 7623d45de..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_ice_packed.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_iron_nugget.png b/mods/ITEMS/mcl_core/textures/mcl_core_iron_nugget.png deleted file mode 100644 index bbb89d6a3..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_iron_nugget.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_iron_ore.png b/mods/ITEMS/mcl_core/textures/mcl_core_iron_ore.png deleted file mode 100644 index f83b8303e..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_iron_ore.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_lapis_ore.png b/mods/ITEMS/mcl_core/textures/mcl_core_lapis_ore.png deleted file mode 100644 index f4bc61c8e..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_lapis_ore.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_leaves_big_oak.png b/mods/ITEMS/mcl_core/textures/mcl_core_leaves_big_oak.png deleted file mode 100644 index 859d14ac8..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_leaves_big_oak.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_leaves_birch.png b/mods/ITEMS/mcl_core/textures/mcl_core_leaves_birch.png deleted file mode 100644 index d83adabc7..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_leaves_birch.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_leaves_spruce.png b/mods/ITEMS/mcl_core/textures/mcl_core_leaves_spruce.png deleted file mode 100644 index 1407ff7e3..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_leaves_spruce.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_log_big_oak.png b/mods/ITEMS/mcl_core/textures/mcl_core_log_big_oak.png deleted file mode 100644 index 9b7a85ce9..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_log_big_oak.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_log_birch.png b/mods/ITEMS/mcl_core/textures/mcl_core_log_birch.png deleted file mode 100644 index b53eb796e..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_log_birch.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_mycelium_side.png b/mods/ITEMS/mcl_core/textures/mcl_core_mycelium_side.png deleted file mode 100644 index 756a92780..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_mycelium_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_mycelium_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_mycelium_top.png deleted file mode 100644 index 6581f19cd..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_mycelium_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_palette_grass.png b/mods/ITEMS/mcl_core/textures/mcl_core_palette_grass.png deleted file mode 100644 index 116d0cb86..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_palette_grass.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_planks_birch.png b/mods/ITEMS/mcl_core/textures/mcl_core_planks_birch.png deleted file mode 100644 index ab3ae8f7f..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_planks_birch.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_red_sand.png b/mods/ITEMS/mcl_core/textures/mcl_core_red_sand.png deleted file mode 100644 index 4305cffa2..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_red_sand.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_bottom.png b/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_bottom.png deleted file mode 100644 index f6e6ea499..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_carved.png b/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_carved.png deleted file mode 100644 index fc8b2a09e..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_carved.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_normal.png b/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_normal.png deleted file mode 100644 index 446f35cd2..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_normal.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_smooth.png b/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_smooth.png deleted file mode 100644 index f6e6ea499..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_smooth.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_top.png deleted file mode 100644 index 807094464..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_red_sandstone_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_redstone_ore.png b/mods/ITEMS/mcl_core/textures/mcl_core_redstone_ore.png deleted file mode 100644 index f26a9cd7f..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_redstone_ore.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_bottom.png b/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_bottom.png deleted file mode 100644 index 51d4174d4..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_carved.png b/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_carved.png deleted file mode 100644 index bbe724c5e..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_carved.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_normal.png b/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_normal.png deleted file mode 100644 index 5a92d4ccc..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_normal.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_smooth.png b/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_smooth.png deleted file mode 100644 index 51d4174d4..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_smooth.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_top.png deleted file mode 100644 index cb3e7aa1c..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_sandstone_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_slime.png b/mods/ITEMS/mcl_core/textures/mcl_core_slime.png deleted file mode 100644 index a098a90b0..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_slime.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stonebrick_cracked.png b/mods/ITEMS/mcl_core/textures/mcl_core_stonebrick_cracked.png deleted file mode 100644 index 38fcb1e8c..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stonebrick_cracked.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_birch_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_birch_top.png deleted file mode 100644 index 69d2e0bfd..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_birch_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_dark_oak_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_dark_oak_top.png deleted file mode 100644 index 48c6da9af..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_dark_oak_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_side.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_side.png deleted file mode 100644 index c65669655..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_top.png deleted file mode 100644 index 028e37eaf..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_jungle_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_oak_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_oak_top.png deleted file mode 100644 index e060862e7..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_oak_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_top.png b/mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_top.png deleted file mode 100644 index ec0dd2da8..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_vine.png b/mods/ITEMS/mcl_core/textures/mcl_core_vine.png deleted file mode 100644 index 831f9d2a9..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_vine.png and /dev/null differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_web.png b/mods/ITEMS/mcl_core/textures/mcl_core_web.png deleted file mode 100644 index e2233c1b2..000000000 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_web.png and /dev/null differ diff --git a/mods/ITEMS/mcl_crafting_table/locale/mcl_crafting_table.pt_BR.tr b/mods/ITEMS/mcl_crafting_table/locale/mcl_crafting_table.pt_BR.tr new file mode 100644 index 000000000..12c74f9e9 --- /dev/null +++ b/mods/ITEMS/mcl_crafting_table/locale/mcl_crafting_table.pt_BR.tr @@ -0,0 +1,8 @@ +# textdomain: mcl_crafting_table +Crafting Table=Bancada de Trabalho +A crafting table is a block which grants you access to a 3×3 crafting grid which allows you to perform advanced crafts.=Uma bancada de trabalho é um bloco que lhe garante acesso a uma grade de construção de 3x3 e que permite produzir coisas mais avançadas. +Rightclick the crafting table to access the 3×3 crafting grid.=Aperte com o botão direito na mesa de trabalho para acessar a grade de trabalho de 3x3. +Recipe book=Livro de receitas +Crafting=Construindo +Inventory=Inventário +3×3 crafting grid=Grade de construção 3x3 diff --git a/mods/ITEMS/mcl_crafting_table/textures/crafting_workbench_top.png b/mods/ITEMS/mcl_crafting_table/textures/crafting_workbench_top.png deleted file mode 100644 index 5d85e5177..000000000 Binary files a/mods/ITEMS/mcl_crafting_table/textures/crafting_workbench_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_crimson/init.lua b/mods/ITEMS/mcl_crimson/init.lua index ba680cff5..1c30c0fd5 100644 --- a/mods/ITEMS/mcl_crimson/init.lua +++ b/mods/ITEMS/mcl_crimson/init.lua @@ -66,20 +66,19 @@ local function spread_nether_plants(pos,node) end minetest.register_node("mcl_crimson:warped_fungus", { - description = S("Warped Fungus Mushroom"), + description = S("Warped Fungus"), + _tt_help = S("Warped fungus is a mushroom found in the nether's warped forest."), + _doc_items_longdesc = S("Warped fungus is a mushroom found in the nether's warped forest."), drawtype = "plantlike", - tiles = { "farming_warped_fungus.png" }, - inventory_image = "farming_warped_fungus.png", - wield_image = "farming_warped_fungus.png", + tiles = { "mcl_crimson_warped_fungus.png" }, + inventory_image = "mcl_crimson_warped_fungus.png", + wield_image = "mcl_crimson_warped_fungus.png", sunlight_propagates = true, paramtype = "light", walkable = false, - groups = {dig_immediate=3,mushroom=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,enderman_takable=1,deco_block=1}, + groups = {dig_immediate=3,mushroom=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,enderman_takable=1,deco_block=1,compostability=65}, light_source = 1, - selection_box = { - type = "fixed", - fixed = { -3/16, -0.5, -3/16, 3/16, -2/16, 3/16 }, - }, + sounds = mcl_sounds.node_sound_leaves_defaults(), node_placement_prediction = "", on_rightclick = function(pos, node, pointed_thing, player, itemstack) if pointed_thing:get_wielded_item():get_name() == "mcl_bone_meal:bone_meal" then @@ -98,21 +97,22 @@ minetest.register_node("mcl_crimson:warped_fungus", { mcl_flowerpots.register_potted_flower("mcl_crimson:warped_fungus", { name = "warped fungus", - desc = S("Warped Fungus Mushroom"), - image = "farming_warped_fungus.png", + desc = S("Warped Fungus"), + image = "mcl_crimson_warped_fungus.png", }) minetest.register_node("mcl_crimson:twisting_vines", { description = S("Twisting Vines"), drawtype = "plantlike", - tiles = { "twisting_vines_plant.png" }, - inventory_image = "twisting_vines.png", + tiles = { "mcl_crimson_twisting_vines_plant.png" }, + inventory_image = "mcl_crimson_twisting_vines.png", sunlight_propagates = true, paramtype = "light", walkable = false, climbable = true, buildable_to = true, - groups = {dig_immediate=3,vines=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,deco_block=1, shearsy = 1}, + groups = {dig_immediate=3, shearsy=1, vines=1, dig_by_water=1, destroy_by_lava_flow=1, dig_by_piston=1, deco_block=1, compostability=50}, + sounds = mcl_sounds.node_sound_leaves_defaults(), selection_box = { type = "fixed", fixed = { -3/16, -0.5, -3/16, 3/16, 0.5, 3/16 }, @@ -129,6 +129,14 @@ minetest.register_node("mcl_crimson:twisting_vines", { itemstack:take_item() end grow_vines(pos, 1, "mcl_crimson:twisting_vines") + local idef = itemstack:get_definition() + local itemstack, success = minetest.item_place_node(itemstack, placer, pointed_thing) + if success then + if idef.sounds and idef.sounds.place then + minetest.sound_play(idef.sounds.place, {pos=above, gain=1}, true) + end + end + elseif clicker:get_wielded_item():get_name() == "mcl_bone_meal:bone_meal" then if not minetest.is_creative_enabled(clicker:get_player_name()) then itemstack:take_item() @@ -137,6 +145,15 @@ minetest.register_node("mcl_crimson:twisting_vines", { end return itemstack end, + on_dig = function(pos, node, digger) + local above = vector.offset(pos,0,1,0) + local abovenode = minetest.get_node(above) + minetest.node_dig(pos, node, digger) + if abovenode.name == node.name and (not mcl_core.check_vines_supported(above, abovenode)) then + minetest.registered_nodes[node.name].on_dig(above, node, digger) + end + end, + drop = { max_items = 1, items = { @@ -155,7 +172,8 @@ minetest.register_node("mcl_crimson:twisting_vines", { "mcl_crimson:twisting_vines", "mcl_crimson:twisting_vines", }, - _mcl_blast_resistance = 0, + _mcl_blast_resistance = 0.2, + _mcl_hardness = 0.2, }) minetest.register_node("mcl_crimson:weeping_vines", { @@ -168,7 +186,8 @@ minetest.register_node("mcl_crimson:weeping_vines", { walkable = false, climbable = true, buildable_to = true, - groups = {dig_immediate=3,vines=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,deco_block=1, shearsy = 1}, + groups = {dig_immediate=3, shearsy=1, vines=1, dig_by_water=1, destroy_by_lava_flow=1, dig_by_piston=1, deco_block=1, compostability=50}, + sounds = mcl_sounds.node_sound_leaves_defaults(), selection_box = { type = "fixed", fixed = { -3/16, -0.5, -3/16, 3/16, 0.5, 3/16 }, @@ -185,6 +204,14 @@ minetest.register_node("mcl_crimson:weeping_vines", { itemstack:take_item() end grow_vines(pos, 1, "mcl_crimson:weeping_vines", -1) + local idef = itemstack:get_definition() + local itemstack, success = minetest.item_place_node(itemstack, placer, pointed_thing) + if success then + if idef.sounds and idef.sounds.place then + minetest.sound_play(idef.sounds.place, {pos=above, gain=1}, true) + end + end + elseif clicker:get_wielded_item():get_name() == "mcl_bone_meal:bone_meal" then if not minetest.is_creative_enabled(clicker:get_player_name()) then itemstack:take_item() @@ -193,6 +220,15 @@ minetest.register_node("mcl_crimson:weeping_vines", { end return itemstack end, + + on_dig = function(pos, node, digger) + local below = vector.offset(pos,0,-1,0) + local belownode = minetest.get_node(below) + minetest.node_dig(pos, node, digger) + if belownode.name == node.name and (not mcl_core.check_vines_supported(below, belownode)) then + minetest.registered_nodes[node.name].on_dig(below, node, digger) + end + end, drop = { max_items = 1, items = { @@ -211,19 +247,21 @@ minetest.register_node("mcl_crimson:weeping_vines", { "mcl_crimson:weeping_vines", "mcl_crimson:weeping_vines", }, - _mcl_blast_resistance = 0, + _mcl_blast_resistance = 0.2, + _mcl_hardness = 0.2, }) minetest.register_node("mcl_crimson:nether_sprouts", { description = S("Nether Sprouts"), drawtype = "plantlike", - tiles = { "nether_sprouts.png" }, - inventory_image = "nether_sprouts.png", + tiles = { "mcl_crimson_nether_sprouts.png" }, + inventory_image = "mcl_crimson_nether_sprouts.png", sunlight_propagates = true, paramtype = "light", walkable = false, buildable_to = true, - groups = {dig_immediate=3,vines=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,deco_block=1, shearsy = 1}, + groups = {dig_immediate=3,vines=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,deco_block=1,shearsy=1,compostability=50}, + sounds = mcl_sounds.node_sound_leaves_defaults(), selection_box = { type = "fixed", fixed = { -4/16, -0.5, -4/16, 4/16, 0, 4/16 }, @@ -238,13 +276,14 @@ minetest.register_node("mcl_crimson:nether_sprouts", { minetest.register_node("mcl_crimson:warped_roots", { description = S("Warped Roots"), drawtype = "plantlike", - tiles = { "warped_roots.png" }, - inventory_image = "warped_roots.png", + tiles = { "mcl_crimson_warped_roots.png" }, + inventory_image = "mcl_crimson_warped_roots.png", sunlight_propagates = true, paramtype = "light", walkable = false, buildable_to = true, - groups = {dig_immediate=3,vines=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,deco_block=1, shearsy = 1}, + groups = {dig_immediate=3,vines=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,deco_block=1,shearsy = 1,compostability=65}, + sounds = mcl_sounds.node_sound_leaves_defaults(), selection_box = { type = "fixed", fixed = { -6/16, -0.5, -6/16, 6/16, -4/16, 6/16 }, @@ -257,23 +296,31 @@ minetest.register_node("mcl_crimson:warped_roots", { mcl_flowerpots.register_potted_flower("mcl_crimson:warped_roots", { name = "warped roots", desc = S("Warped Roots"), - image = "warped_roots.png", + image = "mcl_crimson_warped_roots.png", }) minetest.register_node("mcl_crimson:warped_wart_block", { description = S("Warped Wart Block"), - tiles = {"warped_wart_block.png"}, - groups = {handy = 1, hoe = 7, swordy = 1, deco_block = 1}, - _mcl_hardness = 2, + tiles = {"mcl_crimson_warped_wart_block.png"}, + groups = {handy = 1, hoey = 7, swordy = 1, deco_block = 1, compostability = 85}, + _mcl_hardness = 1, + sounds = mcl_sounds.node_sound_leaves_defaults({ + footstep={name="default_dirt_footstep", gain=0.7}, + dug={name="default_dirt_footstep", gain=1.5}, + }), }) minetest.register_node("mcl_crimson:shroomlight", { description = S("Shroomlight"), - tiles = {"shroomlight.png"}, - groups = {handy = 1, hoe = 7, swordy = 1, deco_block = 1}, + tiles = {"mcl_crimson_shroomlight.png"}, + groups = {handy = 1, hoey = 7, swordy = 1, deco_block = 1, compostability = 65}, light_source = minetest.LIGHT_MAX, - _mcl_hardness = 2, + _mcl_hardness = 1, + sounds = mcl_sounds.node_sound_leaves_defaults({ + footstep={name="default_dirt_footstep", gain=0.7}, + dug={name="default_dirt_footstep", gain=1.5}, + }), }) minetest.register_node("mcl_crimson:warped_hyphae", { @@ -281,10 +328,10 @@ minetest.register_node("mcl_crimson:warped_hyphae", { _doc_items_longdesc = S("The stem of a warped hyphae"), _doc_items_hidden = false, tiles = { - "warped_hyphae.png", - "warped_hyphae.png", + "mcl_crimson_warped_hyphae.png", + "mcl_crimson_warped_hyphae.png", { - image="warped_hyphae_side.png", + image="mcl_crimson_warped_hyphae_side.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0} }, }, @@ -300,12 +347,12 @@ minetest.register_node("mcl_crimson:warped_hyphae", { minetest.register_node("mcl_crimson:warped_nylium", { description = S("Warped Nylium"), tiles = { - "warped_nylium.png", + "mcl_crimson_warped_nylium.png", "mcl_nether_netherrack.png", - "mcl_nether_netherrack.png^warped_nylium_side.png", - "mcl_nether_netherrack.png^warped_nylium_side.png", - "mcl_nether_netherrack.png^warped_nylium_side.png", - "mcl_nether_netherrack.png^warped_nylium_side.png", + "mcl_nether_netherrack.png^mcl_crimson_warped_nylium_side.png", + "mcl_nether_netherrack.png^mcl_crimson_warped_nylium_side.png", + "mcl_nether_netherrack.png^mcl_crimson_warped_nylium_side.png", + "mcl_nether_netherrack.png^mcl_crimson_warped_nylium_side.png", }, is_ground_content = true, drop = "mcl_nether:netherrack", @@ -323,7 +370,7 @@ minetest.register_node("mcl_crimson:warped_hyphae_bark", { _doc_items_longdesc = S("This is a decorative block surrounded by the bark of an hyphae."), tiles = { { - image="warped_hyphae_side.png", + image="mcl_crimson_warped_hyphae_side.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0} }, }, @@ -349,7 +396,7 @@ minetest.register_node("mcl_crimson:stripped_warped_hyphae", { description = S("Stripped Warped Hyphae"), _doc_items_longdesc = S("The stripped hyphae of a warped fungus"), _doc_items_hidden = false, - tiles = {"warped_stem_stripped_top.png", "warped_stem_stripped_top.png", "warped_stem_stripped_side.png"}, + tiles = {"mcl_crimson_warped_stem_stripped_top.png", "mcl_crimson_warped_stem_stripped_top.png", "mcl_crimson_warped_stem_stripped_side.png"}, paramtype2 = "facedir", on_place = mcl_util.rotate_axis, groups = {handy = 1, axey = 1, tree = 1, building_block = 1, material_wood = 1}, @@ -361,7 +408,7 @@ minetest.register_node("mcl_crimson:stripped_warped_hyphae", { minetest.register_node("mcl_crimson:stripped_warped_hyphae_bark", { description = S("Stripped Warped Hyphae Bark"), _doc_items_longdesc = S("The stripped hyphae bark of a warped fungus"), - tiles = {"warped_stem_stripped_side.png"}, + tiles = {"mcl_crimson_warped_stem_stripped_side.png"}, paramtype2 = "facedir", on_place = mcl_util.rotate_axis, groups = {handy = 1, axey = 1, bark = 1, building_block = 1, material_wood = 1}, @@ -381,7 +428,7 @@ minetest.register_craft({ minetest.register_node("mcl_crimson:warped_hyphae_wood", { description = S("Warped Hyphae Wood"), - tiles = {"warped_hyphae_wood.png"}, + tiles = {"mcl_crimson_warped_hyphae_wood.png"}, groups = {handy = 5,axey = 1, flammable = 3, wood=1,building_block = 1, material_wood = 1, fire_encouragement = 5, fire_flammability = 20}, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_hardness = 2, @@ -405,16 +452,19 @@ minetest.register_craft({ }) minetest.register_node("mcl_crimson:crimson_fungus", { - description = S("Crimson Fungus Mushroom"), + description = S("Crimson Fungus"), + _tt_help = S("Crimson fungus is a mushroom found in the nether's crimson forest."), + _doc_items_longdesc = S("Crimson fungus is a mushroom found in the nether's crimson forest."), drawtype = "plantlike", - tiles = { "farming_crimson_fungus.png" }, - inventory_image = "farming_crimson_fungus.png", - wield_image = "farming_crimson_fungus.png", + tiles = { "mcl_crimson_crimson_fungus.png" }, + inventory_image = "mcl_crimson_crimson_fungus.png", + wield_image = "mcl_crimson_crimson_fungus.png", sunlight_propagates = true, paramtype = "light", walkable = false, - groups = {dig_immediate=3,mushroom=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,enderman_takable=1,deco_block=1}, + groups = {dig_immediate=3,mushroom=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,enderman_takable=1,deco_block=1,compostability=65}, light_source = 1, + sounds = mcl_sounds.node_sound_leaves_defaults(), selection_box = { type = "fixed", fixed = { -3/16, -0.5, -3/16, 3/16, -2/16, 3/16 }, @@ -437,20 +487,21 @@ minetest.register_node("mcl_crimson:crimson_fungus", { mcl_flowerpots.register_potted_flower("mcl_crimson:crimson_fungus", { name = "crimson fungus", - desc = S("Crimson Fungus Mushroom"), - image = "farming_crimson_fungus.png", + desc = S("Crimson Fungus"), + image = "mcl_crimson_crimson_fungus.png", }) minetest.register_node("mcl_crimson:crimson_roots", { description = S("Crimson Roots"), drawtype = "plantlike", - tiles = { "crimson_roots.png" }, - inventory_image = "crimson_roots.png", + tiles = { "mcl_crimson_crimson_roots.png" }, + inventory_image = "mcl_crimson_crimson_roots.png", sunlight_propagates = true, paramtype = "light", walkable = false, buildable_to = true, - groups = {dig_immediate=3,vines=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,deco_block=1, shearsy = 1}, + groups = {dig_immediate=3,vines=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,deco_block=1,shearsy = 1,compostability=65}, + sounds = mcl_sounds.node_sound_leaves_defaults(), selection_box = { type = "fixed", fixed = { -6/16, -0.5, -6/16, 6/16, -4/16, 6/16 }, @@ -463,7 +514,7 @@ minetest.register_node("mcl_crimson:crimson_roots", { mcl_flowerpots.register_potted_flower("mcl_crimson:crimson_roots", { name = "crimson roots", desc = S("Crimson Roots"), - image = "crimson_roots.png", + image = "mcl_crimson_crimson_roots.png", }) minetest.register_node("mcl_crimson:crimson_hyphae", { @@ -471,10 +522,10 @@ minetest.register_node("mcl_crimson:crimson_hyphae", { _doc_items_longdesc = S("The stem of a crimson hyphae"), _doc_items_hidden = false, tiles = { - "crimson_hyphae.png", - "crimson_hyphae.png", + "mcl_crimson_crimson_hyphae.png", + "mcl_crimson_crimson_hyphae.png", { - image="crimson_hyphae_side.png", + image="mcl_crimson_crimson_hyphae_side.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0} }, }, @@ -494,7 +545,7 @@ minetest.register_node("mcl_crimson:crimson_hyphae_bark", { _doc_items_longdesc = S("This is a decorative block surrounded by the bark of an hyphae."), tiles = { { - image="crimson_hyphae_side.png", + image="mcl_crimson_crimson_hyphae_side.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0} }, }, @@ -520,7 +571,7 @@ minetest.register_node("mcl_crimson:stripped_crimson_hyphae", { description = S("Stripped Crimson Hyphae"), _doc_items_longdesc = S("The stripped stem of a crimson hyphae"), _doc_items_hidden = false, - tiles = {"crimson_stem_stripped_top.png", "crimson_stem_stripped_top.png", "crimson_stem_stripped_side.png"}, + tiles = {"mcl_crimson_crimson_stem_stripped_top.png", "mcl_crimson_crimson_stem_stripped_top.png", "mcl_crimson_crimson_stem_stripped_side.png"}, paramtype2 = "facedir", on_place = mcl_util.rotate_axis, groups = {handy = 1, axey = 1, tree = 1, building_block = 1, material_wood = 1}, @@ -532,7 +583,7 @@ minetest.register_node("mcl_crimson:stripped_crimson_hyphae", { minetest.register_node("mcl_crimson:stripped_crimson_hyphae_bark", { description = S("Stripped Crimson Hyphae Bark"), _doc_items_longdesc = S("The stripped wood of a crimson hyphae"), - tiles = {"crimson_stem_stripped_side.png"}, + tiles = {"mcl_crimson_crimson_stem_stripped_side.png"}, paramtype2 = "facedir", on_place = mcl_util.rotate_axis, groups = {handy = 1, axey = 1, bark = 1, building_block = 1, material_wood = 1}, @@ -552,7 +603,7 @@ minetest.register_craft({ minetest.register_node("mcl_crimson:crimson_hyphae_wood", { description = S("Crimson Hyphae Wood"), - tiles = {"crimson_hyphae_wood.png"}, + tiles = {"mcl_crimson_crimson_hyphae_wood.png"}, groups = {handy = 5, axey = 1, wood = 1, building_block = 1, material_wood = 1}, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_hardness = 2, @@ -561,12 +612,12 @@ minetest.register_node("mcl_crimson:crimson_hyphae_wood", { minetest.register_node("mcl_crimson:crimson_nylium", { description = S("Crimson Nylium"), tiles = { - "crimson_nylium.png", + "mcl_crimson_crimson_nylium.png", "mcl_nether_netherrack.png", - "mcl_nether_netherrack.png^crimson_nylium_side.png", - "mcl_nether_netherrack.png^crimson_nylium_side.png", - "mcl_nether_netherrack.png^crimson_nylium_side.png", - "mcl_nether_netherrack.png^crimson_nylium_side.png", + "mcl_nether_netherrack.png^mcl_crimson_crimson_nylium_side.png", + "mcl_nether_netherrack.png^mcl_crimson_crimson_nylium_side.png", + "mcl_nether_netherrack.png^mcl_crimson_crimson_nylium_side.png", + "mcl_nether_netherrack.png^mcl_crimson_crimson_nylium_side.png", }, groups = {pickaxey = 1, building_block = 1, material_stone = 1}, sounds = mcl_sounds.node_sound_stone_defaults(), @@ -625,7 +676,7 @@ mcl_doors:register_trapdoor("mcl_crimson:crimson_trapdoor", { _doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."), _doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."), tile_front = "mcl_crimson_crimson_trapdoor.png", - tile_side = "crimson_hyphae_wood.png", + tile_side = "mcl_crimson_crimson_hyphae_wood.png", wield_image = "mcl_crimson_crimson_trapdoor.png", groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, @@ -663,7 +714,7 @@ mcl_doors:register_trapdoor("mcl_crimson:warped_trapdoor", { _doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."), _doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."), tile_front = "mcl_crimson_warped_trapdoor.png", - tile_side = "warped_hyphae_wood.png", + tile_side = "mcl_crimson_warped_hyphae_wood.png", wield_image = "mcl_crimson_warped_trapdoor.png", groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, diff --git a/mods/ITEMS/mcl_crimson/locale/mcl_crimson.fr.tr b/mods/ITEMS/mcl_crimson/locale/mcl_crimson.fr.tr index 8ebdb6720..4a84dd5a6 100644 --- a/mods/ITEMS/mcl_crimson/locale/mcl_crimson.fr.tr +++ b/mods/ITEMS/mcl_crimson/locale/mcl_crimson.fr.tr @@ -2,7 +2,7 @@ Warped Fungus Mushroom=Champignon tordu Twisting Vines=Liane tordue -Nether Sprouts=Racines du nether +Nether Sprouts=Racines du Nether Warped Roots=Racines tordues Warped Wart Block=Bloc de verrues tordu Shroomlight=Champilampe @@ -26,4 +26,4 @@ Crimson Stair=Escalier écarlate Crimson Slab=Dalle écarlate Double Crimson Slab=Dalle double écarlate Crimson Nylium=Nylium écarlate -Crimson Checknode - only to check!=Bloc de vérification écarlate - seulement pour vérifier ! \ No newline at end of file +Crimson Checknode - only to check!=Bloc de vérification écarlate - seulement pour vérifier ! diff --git a/mods/ITEMS/mcl_crimson/locale/mcl_crimson.pt_BR.tr b/mods/ITEMS/mcl_crimson/locale/mcl_crimson.pt_BR.tr new file mode 100644 index 000000000..3b82e9c85 --- /dev/null +++ b/mods/ITEMS/mcl_crimson/locale/mcl_crimson.pt_BR.tr @@ -0,0 +1,29 @@ +# textdomain: mcl_crimson + +Warped Fungus Mushroom=Fungo Distorcido +Twisting Vines=Trepadeiras Distorcidas +Nether Sprouts=Brotos do Nether +Warped Roots=Raízes Distorcidas +Warped Wart Block=Bloco de Fungos Distorcidos +Shroomlight=Cogubrilho +Warped Hyphae=Hifas Distorcidas +Warped Hyphae Bark=Cascas de Hifas Distorcidas +Stripped warped hyphae=Hifas Distorcidas Descascadas +Stripped warped hyphae bark=Caule de Hifas Distorcidas +Warped Nylium=Nicélio Distorcido +Warped Checknode - only to check!= +Warped Hyphae Wood=Tábuas de Hifas Distorcidas +Warped Stair=Escadas Distorcidas +Warped Slab=Laje Distorcida +Crimson Fungus Mushroom=Fungo Carmesim +Crimson Roots=Raízes Carmesim +Crimson Hyphae=Hifas Carmesim +Crimson Hyphae Bark=Cascas de Hifas Carmesim +Stripped Crimson Hyphae=Hifas Carmesim Descascadas +Stripped Crimson Hyphae Bark=Caule de Hifas Carmesim +Crimson Hyphae Wood=Tábuas de Hifas Carmesim +Crimson Stair=Escadas Carmesim +Crimson Slab=Laje Carmesim +Double Crimson Slab=Laje Dupla Carmesim +Crimson Nylium=Nicélio Carmesim +Crimson Checknode - only to check!= diff --git a/mods/ITEMS/mcl_crimson/textures/crimson_hyphae_side.png b/mods/ITEMS/mcl_crimson/textures/crimson_hyphae_side.png deleted file mode 100644 index a1d5302c7..000000000 Binary files a/mods/ITEMS/mcl_crimson/textures/crimson_hyphae_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_crimson/textures/farming_warped_fungus.png b/mods/ITEMS/mcl_crimson/textures/farming_warped_fungus.png deleted file mode 100644 index 4ac08fad6..000000000 Binary files a/mods/ITEMS/mcl_crimson/textures/farming_warped_fungus.png and /dev/null differ diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door_alt.png b/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door_alt.png deleted file mode 100644 index f946e6f94..000000000 Binary files a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door_alt.png and /dev/null differ diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door_bottom_alt.png b/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door_bottom_alt.png deleted file mode 100644 index 2da69c716..000000000 Binary files a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door_bottom_alt.png and /dev/null differ diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door_top_alt.png b/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door_top_alt.png deleted file mode 100644 index 9f922ee4e..000000000 Binary files a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door_top_alt.png and /dev/null differ diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_trapdoor_alt.png b/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_trapdoor_alt.png deleted file mode 100644 index 12d972971..000000000 Binary files a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_trapdoor_alt.png and /dev/null differ diff --git a/mods/ITEMS/mcl_crimson/textures/warped_hyphae_side.png b/mods/ITEMS/mcl_crimson/textures/warped_hyphae_side.png deleted file mode 100644 index 225198756..000000000 Binary files a/mods/ITEMS/mcl_crimson/textures/warped_hyphae_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_deepslate/locale/mcl_deepslate.pt_BR.tr b/mods/ITEMS/mcl_deepslate/locale/mcl_deepslate.pt_BR.tr new file mode 100644 index 000000000..4f7c6ad24 --- /dev/null +++ b/mods/ITEMS/mcl_deepslate/locale/mcl_deepslate.pt_BR.tr @@ -0,0 +1,53 @@ +# textdomain: mcl_deepslate +An infested block is a block from which a silverfish will pop out when it is broken. It looks identical to its normal counterpart.=Um bloco infestado é um bloco no qual um silverfish surgirá quando quebrado. Parece idêntico à sua contraparte normal. +Chiseled deepslate is the chiseled version of deepslate.=Ardósia cinzelada é a versão cinzelada da ardósia. +Chiseled Deepslate=Ardósia Cinzelada +Cobbled deepslate is a stone variant that functions similar to cobblestone or blackstone.=Pedregulhos de ardósia é uma variante de rocha que possui funções similares aos pedregulhos ou rochas-negra. +Cobbled Deepslate Slab=Laje de Pedregulhos de Ardósia +Cobbled Deepslate Stairs=Escadas de Pedregulhos de Ardósia +Cobbled Deepslate Wall=Muro de Pedregulhos de Ardósia +Cobbled Deepslate=Pedregulhos de Ardósia +Cracked Deepslate Bricks=Tijolos de Ardósia Rachado +Cracked Deepslate Tiles=Azulejos de Ardósia Rachado +Deepslate bricks are the brick version of deepslate.=Tijolos de ardósia são a versão em ardósia dos tijolos. +Deepslate Bricks Slab=Laje de Tijolos de Ardósia +Deepslate Bricks Stairs=Escadas de Tijolos de Ardósia +Deepslate Bricks Wall=Muro de Tijolos de Ardósia +Deepslate Bricks=Tijolos de Ardósia +Deepslate coal ore is a variant of coal ore that can generate in deepslate and tuff blobs.=Minério de carvão em ardósia é a variante do minério de carvão que pode ser gerado em ardósias e bolhas de tufo. +Deepslate Coal Ore=Minério de Carvão em Ardósia +Deepslate copper ore is a variant of copper ore that can generate in deepslate and tuff blobs.=Minério de cobre em ardósia é a variante do minério de cobre que pode ser gerado em ardósias e bolhas de tufo. +Deepslate Copper Ore=Minério de Cobre em Ardósia +Deepslate diamond ore is a variant of diamond ore that can generate in deepslate and tuff blobs.=Minério de diamante em ardósia é a variante do minério de diamante que pode ser gerado em ardósias e bolhas de tufo. +Deepslate Diamond Ore=Minério de Diamante em Ardósia +Deepslate emerald ore is a variant of emerald ore that can generate in deepslate and tuff blobs.=Minério de esmeralda em ardósia é a variante do minério de esmeralda que pode ser gerado em ardósias e bolhas de tufo. +Deepslate Emerald Ore=Minério de Esmeralda em Ardósia +Deepslate gold ore is a variant of gold ore that can generate in deepslate and tuff blobs.=Minério de ouro em ardósia é a variante do minério de ouro que pode ser gerado em ardósias e bolhas de tufo. +Deepslate Gold Ore=Minério de Ouro em Ardósia +Deepslate iron ore is a variant of iron ore that can generate in deepslate and tuff blobs.=Minério de ferro em ardósia é a variante do minério de ferro que pode ser gerado em ardósias e bolhas de tufo. +Deepslate Iron Ore=Minério de Ferro em Ardósia +Deepslate is a stone type found deep underground in the Overworld that functions similar to regular stone but is harder than the stone.=Ardósia é um tipo de rocha encontrado nas profundezas do subterrâneo que possui funções similares às rochas comuns, mas é mais dura que elas. +Deepslate Lapis Lazuli Ore=Minério de Lápis-lazuli em Ardósia +Deepslate lapis ore is a variant of lapis ore that can generate in deepslate and tuff blobs.=Minério de lápis-lazuli em ardósia é a variante do minério de lápis-lazuli que pode ser gerado em ardósias e bolhas de tufo. +Deepslate redstone ore is a variant of redstone ore that can generate in deepslate and tuff blobs.=Minério de redstone em ardósia é a variante do minério de redstone que pode ser gerado em ardósias e bolhas de tufo. +Deepslate Redstone Ore=Minério de Redstone em Ardósia +Deepslate tiles are a decorative variant of deepslate.=Azulejos de ardósia são variantes decorativas da ardósia. +Deepslate Tiles Slab=Laje de Azulejos de Ardósia +Deepslate Tiles Stairs=Escadas de Azulejos de Ardósia +Deepslate Tiles Wall=Muro de Azulejos de Ardósia +Deepslate Tiles=Azulejos de Ardósia +Deepslate=Ardósia +Double Cobbled Deepslate Slab=Laje Dupla de Pedregulhos de Ardósia +Double Deepslate Bricks Slab=Laje Dupla de Tijolos de Ardósia +Double Deepslate Tiles Slab=Laje Dupla de Azulejos de Ardósia +Double Polished Deepslate Slab=Laje Dupla de Ardósia Polida +Hides a silverfish=Esconde um silverfish +Infested Deepslate=Ardósia Infestada +Lit Deepslate Redstone Ore=Minério de Redstone em Ardósia Aceso +Polished deepslate is the stone-like polished version of deepslate.=Ardósia polida é a versão da rocha polida em ardósia. +Polished Deepslate Slab=Laje de Ardósia Polida +Polished Deepslate Stairs=Escadas de Ardósia Polida +Polished Deepslate Wall=Muro de Ardósia Polida +Polished Deepslate=Ardósia Polida +Tuff=Tufo +Tuff is an ornamental rock formed from volcanic ash, occurring in underground blobs below Y=16.=Tufo é uma rocha ornamental formada a partir de cinzas vulcânicas, ocorrendo em bolhas no subsolo abaixo de Y=16. diff --git a/mods/ITEMS/mcl_doors/locale/mcl_doors.fr.tr b/mods/ITEMS/mcl_doors/locale/mcl_doors.fr.tr index 9d1f25d9a..c7d3ddaa1 100644 --- a/mods/ITEMS/mcl_doors/locale/mcl_doors.fr.tr +++ b/mods/ITEMS/mcl_doors/locale/mcl_doors.fr.tr @@ -1,24 +1,24 @@ # textdomain: mcl_doors Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal.=Les portes en bois sont des barrières hautes à 2 blocs qui peuvent être ouvertes ou fermées à la main et par un signal redstone. To open or close a wooden door, rightclick it or supply its lower half with a redstone signal.=Pour ouvrir ou fermer une porte en bois, faites un clic droit dessus ou fournissez à sa moitié inférieure un signal redstone. -Oak Door=Porte en Chêne -Acacia Door=Porte en Acacia -Birch Door=Porte en Bouleau -Dark Oak Door=Porte en Chêne Noir -Jungle Door=Porte en Acajou -Spruce Door=Porte en Sapin -Iron Door=Porte en Fer +Oak Door=Porte en chêne +Acacia Door=Porte en acacia +Birch Door=Porte en bouleau +Dark Oak Door=Porte en chêne noir +Jungle Door=Porte en acajou +Spruce Door=Porte en sapin +Iron Door=Porte en fer Iron doors are 2-block high barriers which can only be opened or closed by a redstone signal, but not by hand.=Les portes en fer sont des barrières hautes à 2 blocs qui ne peuvent être ouvertes ou fermées que par un signal redstone, mais pas à la main. To open or close an iron door, supply its lower half with a redstone signal.=Pour ouvrir ou fermer une porte en fer, fournir à sa moitié inférieure un signal redstone. -Oak Trapdoor=Trappe en Chêne -Acacia Trapdoor=Trappe en Acacia -Birch Trapdoor=Trappe en Bouleau -Spruce Trapdoor=Trappe en Sapin -Dark Oak Trapdoor=Trappe en Chêne Noir -Jungle Trapdoor=Trappe en Acajou +Oak Trapdoor=Trappe en chêne +Acacia Trapdoor=Trappe en acacia +Birch Trapdoor=Trappe en bouleau +Spruce Trapdoor=Trappe en sapin +Dark Oak Trapdoor=Trappe en chêne noir +Jungle Trapdoor=Trappe en acajou Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder.=Les trappes en bois sont des barrières horizontales qui peuvent être ouvertes et fermées à la main ou par un signal redstone. Ils occupent la partie supérieure ou inférieure d'un bloc, selon la façon dont ils ont été placés. Lorsqu'elles sont ouvertes, elles peuvent être montées comme une échelle. To open or close the trapdoor, rightclick it or send a redstone signal to it.=Pour ouvrir ou fermer la trappe, faites un clic droit dessus ou envoyez-lui un signal redstone. -Iron Trapdoor=Trappe en Fer +Iron Trapdoor=Trappe en fer Iron trapdoors are horizontal barriers which can only be opened and closed by redstone signals, but not by hand. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder.=Les trappes en fer sont des barrières horizontales qui ne peuvent être ouvertes et fermées que par des signaux de redstone, mais pas à la main. Ils occupent la partie supérieure ou inférieure d'un bloc, selon la façon dont ils ont été placés. Lorsqu'elles sont ouvertes, elles peuvent être montées comme une échelle. Openable by players and redstone power=Ouvrable par les joueurs et puissance redstone Openable by redstone power=Ouvrable par la puissance redstone diff --git a/mods/ITEMS/mcl_doors/locale/mcl_doors.pt_BR.tr b/mods/ITEMS/mcl_doors/locale/mcl_doors.pt_BR.tr new file mode 100644 index 000000000..321c99e33 --- /dev/null +++ b/mods/ITEMS/mcl_doors/locale/mcl_doors.pt_BR.tr @@ -0,0 +1,24 @@ +# textdomain: mcl_doors +Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal.=Portas de madeira são barreiras com dois blocos de altura que podem ser abertas ou fechadas manualmente ou por um sinal de redstone. +To open or close a wooden door, rightclick it or supply its lower half with a redstone signal.=Para abrir ou fechar uma porta de madeira, aperte com o botão direito nela ou acione sua parte inferior com um sinal de redstone. +Oak Door=Porta de Carvalho +Acacia Door=Porta de Acácia +Birch Door=Porta de Bétula +Dark Oak Door=Porta de Carvalho Escuro +Jungle Door=Porta de Madeira da Selva +Spruce Door=Porta de Pinheiro +Iron Door=Porta de Ferro +Iron doors are 2-block high barriers which can only be opened or closed by a redstone signal, but not by hand.=Portas de ferro são barreiras com dois blocos de altura que só podem ser abertas ou fechadas com um sinal de redstone, não manualmente. +To open or close an iron door, supply its lower half with a redstone signal.=Para abrir ou fechar uma porta de ferro, acione sua metade inferior com um sinal de redstone. +Oak Trapdoor=Alçapão de Carvalho +Acacia Trapdoor=Alçapão de Acácia +Birch Trapdoor=Alçapão de Bétula +Spruce Trapdoor=Alçapão de Pinheiro +Dark Oak Trapdoor=Alçapão de Carvalho Escuro +Jungle Trapdoor=Alçapão de Madeira da Selva +Wooden trapdoors are horizontal barriers whch can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder.=Alçapões de madeira são barreiras horizontais que podem ser abertas ou fechadas manualmente ou com um sinal de redstone. Elas ocupam as partes inferiores ou superiores de um bloco, dependendo de como elas foram colocadas. Quando abertas, elas podem ser escaladas como escadas. +To open or close the trapdoor, rightclick it or send a redstone signal to it.=Para abrir ou fechar um alçapão, aperte com o botão direito nela ou acione-o com um sinal de redstone. +Iron Trapdoor=Alçapão de Ferro +Iron trapdoors are horizontal barriers which can only be opened and closed by redstone signals, but not by hand. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder.=Alçapões de ferro são barreiras horizontais que podem ser abertas ou fechadas por sinais de redstone, mas não manualmente. Eles ocupam a parte inferior ou superior de um bloco, dependendo de como foram colocados. Quando abertos, podem ser escaladas como escadas. +Openable by players and redstone power=Aberto por jogadores ou sinal de redstone +Openable by redstone power=Aberto por sinal de redstone diff --git a/mods/ITEMS/mcl_doors/textures/doors_trapdoor_side.png b/mods/ITEMS/mcl_doors/textures/doors_trapdoor_side.png deleted file mode 100644 index 97a5904c4..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/doors_trapdoor_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/doors_trapdoor_steel.png b/mods/ITEMS/mcl_doors/textures/doors_trapdoor_steel.png deleted file mode 100644 index dc8f5325c..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/doors_trapdoor_steel.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/doors_trapdoor_steel_side.png b/mods/ITEMS/mcl_doors/textures/doors_trapdoor_steel_side.png deleted file mode 100644 index 109829f5b..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/doors_trapdoor_steel_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_acacia_side_lower.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_acacia_side_lower.png deleted file mode 100644 index 9faa931d0..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_acacia_side_lower.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_acacia_upper.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_acacia_upper.png deleted file mode 100644 index 7e97bb718..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_acacia_upper.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_birch_lower.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_birch_lower.png deleted file mode 100644 index 844ce3a21..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_birch_lower.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_birch_side_lower.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_birch_side_lower.png deleted file mode 100644 index dd7310ef2..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_birch_side_lower.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak_lower.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak_lower.png deleted file mode 100644 index b3b7e81da..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak_lower.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak_side_lower.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak_side_lower.png deleted file mode 100644 index 51f28b35e..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak_side_lower.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak_side_upper.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak_side_upper.png deleted file mode 100644 index db254813e..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak_side_upper.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak_upper.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak_upper.png deleted file mode 100644 index 398547b91..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak_upper.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_iron_lower.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_iron_lower.png deleted file mode 100644 index 583b3e261..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_iron_lower.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_iron_side_lower.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_iron_side_lower.png deleted file mode 100644 index 583b3e261..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_iron_side_lower.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_jungle_side_lower.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_jungle_side_lower.png deleted file mode 100644 index 6014b5303..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_jungle_side_lower.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce.png deleted file mode 100644 index 847ec3f9b..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce_lower.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce_lower.png deleted file mode 100644 index ebe81d620..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce_lower.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce_side_lower.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce_side_lower.png deleted file mode 100644 index c46055962..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce_side_lower.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce_side_upper.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce_side_upper.png deleted file mode 100644 index 8ca2474d4..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce_side_upper.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce_upper.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce_upper.png deleted file mode 100644 index 9d7daaab9..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_spruce_upper.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_wood_side_lower.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_wood_side_lower.png deleted file mode 100644 index 6ee18505d..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_wood_side_lower.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_wood_side_upper.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_door_wood_side_upper.png deleted file mode 100644 index abdbb0e5c..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_wood_side_upper.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_acacia.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_acacia.png deleted file mode 100644 index 7e01900ed..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_acacia.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_acacia_side.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_acacia_side.png deleted file mode 100644 index e63f839e2..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_acacia_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_birch.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_birch.png deleted file mode 100644 index fbd39dbcb..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_birch.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_dark_oak_side.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_dark_oak_side.png deleted file mode 100644 index d344c6352..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_dark_oak_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_jungle.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_jungle.png deleted file mode 100644 index cf83de6a0..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_jungle.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_jungle_side.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_jungle_side.png deleted file mode 100644 index cc7cbafac..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_jungle_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_spruce.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_spruce.png deleted file mode 100644 index 3c743f977..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_spruce.png and /dev/null differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_spruce_side.png b/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_spruce_side.png deleted file mode 100644 index d05d717ca..000000000 Binary files a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_spruce_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_dye/init.lua b/mods/ITEMS/mcl_dye/init.lua index 16672b554..692cd5e87 100644 --- a/mods/ITEMS/mcl_dye/init.lua +++ b/mods/ITEMS/mcl_dye/init.lua @@ -68,12 +68,12 @@ local dyes = { {"blue", S("Blue Dye"), {basecolor_blue=1, excolor_blue=1, unicolor_blue=1}}, {"lightblue", S("Light Blue Dye"), {basecolor_blue=1, excolor_blue=1, unicolor_light_blue=1}}, {"cyan", S("Cyan Dye"), {basecolor_cyan=1, excolor_cyan=1, unicolor_cyan=1}}, - {"dark_green", S("Cactus Green"), {basecolor_green=1, excolor_green=1, unicolor_dark_green=1}}, + {"dark_green", S("Green Dye"), {basecolor_green=1, excolor_green=1, unicolor_dark_green=1}}, {"green", S("Lime Dye"), {basecolor_green=1, excolor_green=1, unicolor_green=1}}, - {"yellow", S("Dandelion Yellow"), {basecolor_yellow=1, excolor_yellow=1, unicolor_yellow=1}}, + {"yellow", S("Yellow Dye"), {basecolor_yellow=1, excolor_yellow=1, unicolor_yellow=1}}, {"brown", S("Brown Dye"), {basecolor_brown=1, excolor_orange=1, unicolor_dark_orange=1}}, {"orange", S("Orange Dye"), {basecolor_orange=1, excolor_orange=1, unicolor_orange=1}}, - {"red", S("Rose Red"), {basecolor_red=1, excolor_red=1, unicolor_red=1}}, + {"red", S("Red Dye"), {basecolor_red=1, excolor_red=1, unicolor_red=1}}, {"magenta", S("Magenta Dye"), {basecolor_magenta=1, excolor_red_violet=1,unicolor_red_violet=1}}, {"pink", S("Pink Dye"), {basecolor_red=1, excolor_red=1, unicolor_light_red=1}}, } @@ -145,7 +145,7 @@ function mcl_dye.register_on_bone_meal_apply(func) table.insert(mcl_dye.bone_meal_callbacks, func) end -local function apply_bone_meal(pointed_thing,user) +local function apply_bone_meal(pointed_thing, user) -- Bone meal currently spawns all flowers found in the plains. local flowers_table_plains = { "mcl_flowers:dandelion", @@ -191,7 +191,7 @@ local function apply_bone_meal(pointed_thing,user) if minetest.get_item_group(n.name, "sapling") >= 1 then mcl_dye.add_bone_meal_particle(pos) -- Saplings: 45% chance to advance growth stage - if math.random(1,100) <= 45 then + if math.random(1, 100) <= 45 then return mcl_core.grow_sapling(pos, n) end elseif minetest.get_item_group(n.name, "mushroom") == 1 then @@ -199,7 +199,7 @@ local function apply_bone_meal(pointed_thing,user) -- Try to grow huge mushroom -- Must be on a dirt-type block - local below = minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}) + local below = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z}) if below.name ~= "mcl_core:mycelium" and below.name ~= "mcl_core:dirt" and minetest.get_item_group(below.name, "grass_block") ~= 1 and below.name ~= "mcl_core:coarse_dirt" and below.name ~= "mcl_core:podzol" then return false end @@ -353,6 +353,16 @@ local function apply_bone_meal(pointed_thing,user) return true end +--[[ + Here for when Bonemeal becomes an api, there's code if needed for handling applying to bamboo. + -- Handle applying bonemeal to bamboo. + elseif mcl_bamboo.is_bamboo(n.name) then + local success = mcl_bamboo.grow_bamboo(pos, true) + if success then + mcl_dye.add_bone_meal_particle(pos) + end + return success +--]] elseif n.name == "mcl_flowers:fern" then mcl_dye.add_bone_meal_particle(pos) -- Fern: Grow into large fern @@ -446,6 +456,12 @@ minetest.register_craft({ recipe = {{"mcl_core:lapis"}}, }) +--[[ Uncomment when crafting blue dye back into lapis is removed. +minetest.register_craft({ + output = "mcl_dye:blue", + recipe = {{"mcl_flowers:cornflower"}}, +})]] + minetest.register_craft({ output = "mcl_dye:lightblue", recipe = {{"mcl_flowers:blue_orchid"}}, @@ -516,6 +532,12 @@ minetest.register_craft({ recipe = {{"mcl_flowers:rose_bush"}}, }) +--[[Uncomment when crafting white dye back into bonemeal is removed +minetest.register_craft({ + output = "mcl_dye:white", + recipe = {{"mcl_flowers:lily_of_the_valley"}}, +})]] + minetest.register_craft({ type = "cooking", output = "mcl_dye:dark_green", @@ -523,6 +545,13 @@ minetest.register_craft({ cooktime = 10, }) +minetest.register_craft({ + type = "cooking", + output = "mcl_dye:green", + recipe = "group:sea_pickle", + cooktime = 10, +}) + -- Dye mixing recipes. -- minetest.register_craft({ diff --git a/mods/ITEMS/mcl_dye/locale/mcl_dye.de.tr b/mods/ITEMS/mcl_dye/locale/mcl_dye.de.tr index ca56dff22..affe4cb8a 100644 --- a/mods/ITEMS/mcl_dye/locale/mcl_dye.de.tr +++ b/mods/ITEMS/mcl_dye/locale/mcl_dye.de.tr @@ -4,15 +4,15 @@ Light Grey Dye=Hellgrauer Farbstoff Grey Dye=Grauer Farbstoff Black Dye=Schwarzer Farbstoff Purple Dye=Violetter Farbstoff -Blue Dye=Blaue Farbstoff +Blue Dye=Blauer Farbstoff Light Blue Dye=Hellblauer Farbstoff Cyan Dye=Türkiser Farbstoff -Cactus Green=Kaktusgrün +Green Dye=Grüner Farbstoff Lime Dye=Lindgrüner Farbstoff -Dandelion Yellow=Löwenzahngelb +Yellow Dye=Gelber Farbstoff Brown Dye=Brauner Farbstoff Orange Dye=Orange Farbstoff -Rose Red=Rosenrot +Red Dye=Roter Farbstoff Magenta Dye=Magenta Farbstoff Pink Dye=Rosa Farbstoff This item is a dye which is used for dyeing and crafting.=Dieser Gegenstand ist ein Farbstoff, der zum Einfärben und in der Herstellung benutzt werden kann. diff --git a/mods/ITEMS/mcl_dye/locale/mcl_dye.es.tr b/mods/ITEMS/mcl_dye/locale/mcl_dye.es.tr index 14c2c12d1..a829d5386 100644 --- a/mods/ITEMS/mcl_dye/locale/mcl_dye.es.tr +++ b/mods/ITEMS/mcl_dye/locale/mcl_dye.es.tr @@ -7,12 +7,12 @@ Purple Dye=Tinte púrpura Blue Dye=Tinte azul Light Blue Dye=Tinte azul claro Cyan Dye=Tinte cian -Cactus Green=Tinte verde +Green Dye=Tinte verde Lime Dye=Tinte amarillo verdoso -Dandelion Yellow=Tinte amarillo +Yellow Dye=Tinte amarillo Brown Dye=Tinte marrón Orange Dye=Tinte naranja -Rose Red=Tinte rojo +Red Dye=Tinte rojo Magenta Dye=Tinte magenta Pink Dye=Tinte rosado This item is a dye which is used for dyeing and crafting.=Este artículo es un tinte que se utiliza para teñir y elaborar. diff --git a/mods/ITEMS/mcl_dye/locale/mcl_dye.fr.tr b/mods/ITEMS/mcl_dye/locale/mcl_dye.fr.tr index 9418225d6..761511c5b 100644 --- a/mods/ITEMS/mcl_dye/locale/mcl_dye.fr.tr +++ b/mods/ITEMS/mcl_dye/locale/mcl_dye.fr.tr @@ -7,12 +7,12 @@ Purple Dye=Teinture Violette Blue Dye=Teinture Bleu Light Blue Dye=Teinture Bleu Clair Cyan Dye=Teinture Cyan -Cactus Green=Cactus Vert +Green Dye=Teinture Verte Lime Dye=Teinture Vert Clair -Dandelion Yellow=Teinture Jaune +Yellow Dye=Teinture Jaune Brown Dye=Teinture Marron Orange Dye=Teinture Orange -Rose Red=Teinture Rouge +Red Dye=Teinture Rouge Magenta Dye=Teinture Magenta Pink Dye=Teinture Rose This item is a dye which is used for dyeing and crafting.=Cet objet est un colorant utilisé pour la teinture et l'artisanat. diff --git a/mods/ITEMS/mcl_dye/locale/mcl_dye.ja.tr b/mods/ITEMS/mcl_dye/locale/mcl_dye.ja.tr index 1dcd820db..0d5d35da2 100644 --- a/mods/ITEMS/mcl_dye/locale/mcl_dye.ja.tr +++ b/mods/ITEMS/mcl_dye/locale/mcl_dye.ja.tr @@ -7,12 +7,12 @@ Purple Dye=紫色の染料 Lapis Lazuli=ラピスラズリ Light Blue Dye=空色の染料 Cyan Dye=青緑色の染料 -Cactus Green=緑色の染料 +Green Dye=緑色の染料 Lime Dye=黄緑色の染料 -Dandelion Yellow=黄色の染料 +Yellow Dye=黄色の染料 Cocoa Beans=カカオ豆 Orange Dye=橙色の染料 -Rose Red=赤色の染料 +Red Dye=赤色の染料 Magenta Dye=赤紫色の染料 Pink Dye=桃色の染料 This item is a dye which is used for dyeing and crafting.=このアイテムは、染色や クラフトに使用される染料です。 diff --git a/mods/ITEMS/mcl_dye/locale/mcl_dye.pl.tr b/mods/ITEMS/mcl_dye/locale/mcl_dye.pl.tr index e9d8e4173..921983ec0 100644 --- a/mods/ITEMS/mcl_dye/locale/mcl_dye.pl.tr +++ b/mods/ITEMS/mcl_dye/locale/mcl_dye.pl.tr @@ -7,12 +7,12 @@ Purple Dye=Fioletowa farba Blue Dye=Niebieska farba Light Blue Dye=Jasnoniebieska farba Cyan Dye=Błękitna farba -Cactus Green=Kaktusowa zieleń +Green Dye=Zielona farba Lime Dye=Jasnozielona farba -Dandelion Yellow=Mleczowy żółty +Yellow Dye=Żółta farba Brown Dye=Brązowy farba Orange Dye=Pomarańczowa farba -Rose Red=Różany czerwony +Red Dye=Czerwona farba Magenta Dye=Karmazynowa farba Pink Dye=Różowa farba This item is a dye which is used for dyeing and crafting.=Ten przedmiot to farba wykorzystywana to farbowania i wytwarzania. diff --git a/mods/ITEMS/mcl_dye/locale/mcl_dye.pt_BR.tr b/mods/ITEMS/mcl_dye/locale/mcl_dye.pt_BR.tr new file mode 100644 index 000000000..2b6aef9f0 --- /dev/null +++ b/mods/ITEMS/mcl_dye/locale/mcl_dye.pt_BR.tr @@ -0,0 +1,27 @@ +# textdomain: mcl_dye +Bone Meal=Farinha de Osso +Light Grey Dye=Tintura Cinza Claro +Grey Dye=Tintura Cinza +Ink Sac=Saco de Tinta +Purple Dye=Tintura Roxa +Lapis Lazuli=Lápis-lazuli +Light Blue Dye=Tintura Azul Claro +Cyan Dye=Tintura Ciano +Green Dye=Tintura Verde +Lime Dye=Tintura Lima +Yellow Dye=Tintura Amarela +Cocoa Beans=Sementes de Cacau +Orange Dye=Tintura Laranja +Red Dye=Tintura Vermelha +Magenta Dye=Tintura Magenta +Pink Dye=Tintura Rosa +This item is a dye which is used for dyeing and crafting.=Este item é uma tintura e pode ser usado para tingir ou fabricar. +Rightclick on a sheep to dye its wool. Other things are dyed by crafting.=Clique com o botão direito em uma ovelha para tingir sua lã. Outras coisas são tingidas ao fabricá-las. +Bone Meal=Farinha de Osso +Bone meal is a white dye and also useful as a fertilizer to speed up the growth of many plants.=Farinha de osso é uma tintura branca e também é útil como fertilizante ao acelerar o crescimento de diversas plantas. +Rightclick a sheep to turn its wool white. Rightclick a plant to speed up its growth. Note that not all plants can be fertilized like this. When you rightclick a grass block, tall grass and flowers will grow all over the place.=Clique com o botão direito em uma ovelha para tornar sua lã branca. Clique com o botão direito em uma planta para acelerar seu crescimento. Note que nem todas as plantas podem ser fertilizadas assim. Quando você clica com o botão direito em um bloco de grama, grama alta e flores crescerão ao redor. +Cocoa beans are a brown dye and can be used to plant cocoas.=Sementes de cacau são um pigmento marrom e podem ser usadas para plantar cacau. +Rightclick a sheep to turn its wool brown. Rightclick on the side of a jungle tree trunk (Jungle Wood) to plant a young cocoa.=Clique com o botão direito em uma ovelha para tornar sua lã marrom. Clique com o botão direito na lateral de um tronco de árvore da selva para plantar um cacau jovem. +Cocoa Beans=Sementes de Cacau +Grows at the side of jungle trees=Cresce na lateral de árvores da selva +Speeds up plant growth=Acelera o crescimento de plantas diff --git a/mods/ITEMS/mcl_dye/locale/mcl_dye.ru.tr b/mods/ITEMS/mcl_dye/locale/mcl_dye.ru.tr index 4e7903132..fc45a4bb4 100644 --- a/mods/ITEMS/mcl_dye/locale/mcl_dye.ru.tr +++ b/mods/ITEMS/mcl_dye/locale/mcl_dye.ru.tr @@ -7,12 +7,12 @@ Purple Dye=Пурпурный краситель Blue Dye=голубой краситель Light Blue Dye=Светло-голубой краситель Cyan Dye=Голубой краситель -Cactus Green=Зелень кактуса +Green Dye=Зеленый краситель Lime Dye=Зелёный лаймовый краситель -Dandelion Yellow=Одуванчиковый жёлтый краситель +Yellow Dye=Желтый краситель Brown Dye=Коричневый краситель Orange Dye=Оранжевый краситель -Rose Red=Экстракт красной розы +Red Dye=Красный краситель Magenta Dye=Фиолетовый краситель Pink Dye=Розовый краситель This item is a dye which is used for dyeing and crafting.=Это краситель, которые используется, чтобы окрашивать и крафтить. diff --git a/mods/ITEMS/mcl_dye/locale/mcl_dye.zh_TW.tr b/mods/ITEMS/mcl_dye/locale/mcl_dye.zh_TW.tr index 5e236e9dd..86dc708e2 100644 --- a/mods/ITEMS/mcl_dye/locale/mcl_dye.zh_TW.tr +++ b/mods/ITEMS/mcl_dye/locale/mcl_dye.zh_TW.tr @@ -7,12 +7,12 @@ Purple Dye=紫色染料 Blue Dye=藍色染料 Light Blue Dye=淺藍色染料 Cyan Dye=青色染料 -Cactus Green=仙人掌綠 +Green Dye=绿色染料 Lime Dye=淺綠色染料 -Dandelion Yellow=蒲公英黃 +Yellow Dye=黄色染料 Brown Dye=棕色染料 Orange Dye=橙色染料 -Rose Red=玫瑰紅 +Red Dye=红色染料 Magenta Dye=洋紅色染料 Pink Dye=粉紅色染料 This item is a dye which is used for dyeing and crafting.=這個物品是一種用於染色和合成的染料。 diff --git a/mods/ITEMS/mcl_dye/locale/template.txt b/mods/ITEMS/mcl_dye/locale/template.txt index a40b0859a..84bac96af 100644 --- a/mods/ITEMS/mcl_dye/locale/template.txt +++ b/mods/ITEMS/mcl_dye/locale/template.txt @@ -7,12 +7,12 @@ Purple Dye= Blue Dye= Light Blue Dye= Cyan Dye= -Cactus Green= +Green Dye= Lime Dye= -Dandelion Yellow= +Yellow Dye= Brown Dye= Orange Dye= -Rose Red= +Red Dye= Magenta Dye= Pink Dye= This item is a dye which is used for dyeing and crafting.= diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_white.png b/mods/ITEMS/mcl_dye/textures/mcl_dye_white.png deleted file mode 100644 index 4ceeed439..000000000 Binary files a/mods/ITEMS/mcl_dye/textures/mcl_dye_white.png and /dev/null differ diff --git a/mods/ITEMS/mcl_enchanting/locale/mcl_enchanting.fr.tr b/mods/ITEMS/mcl_enchanting/locale/mcl_enchanting.fr.tr index d8f07507b..58275f418 100644 --- a/mods/ITEMS/mcl_enchanting/locale/mcl_enchanting.fr.tr +++ b/mods/ITEMS/mcl_enchanting/locale/mcl_enchanting.fr.tr @@ -68,7 +68,7 @@ Trident launches player with itself when thrown. Works only in water or rain.=Le Trident returns after being thrown. Higher levels reduce return time.=Le trident revient après avoir été jeté. Des niveaux plus élevés réduisent le temps de retour. -Turns water beneath the player into frosted ice and prevents the damage from magma blocks.=Transforme l'eau sous le joueur en glace givrée et empêche les dommages causés par les blocs de magma. +Turns water beneath the player into frosted ice and prevents the damage from magma blocks.=Transforme l'eau sous le joueur en glace givrée et empêche les dégâts causés par les blocs de magma. Unbreaking=Solidité @@ -77,7 +77,7 @@ Unbreaking=Solidité @1 Enchantment Levels=@1 Niveaux d'enchantement @1 Lapis Lazuli=@1 Lapis Lazuli Inventory=Inventaire -Level requirement: @1=Niveau requis: @1 +Level requirement: @1=Niveau requis : @1 ### init.lua ### @@ -137,8 +137,8 @@ Reduces fall damage.=Reduit les dégats de chute. Fire Protection=Protection contre le feu Reduces fire damage.=Reduit les dégats de feu. Projectile Protection=Protection contre les projectiles -Reduces projectile damage.=Réduit les dommages causés par les projectiles. +Reduces projectile damage.=Réduit les dégâts causés par les projectiles. Protection=Protection Reduces most types of damage by 4% for each level.=éduit la plupart des types de dégâts de 4% pour chaque niveau. Reflects some of the damage taken when hit, at the cost of reducing durability with each proc.=Reflète une partie des dégâts subis lors de la frappe, au prix d'une réduction de la durabilité à chaque déclenchement. -Thorns=Épines \ No newline at end of file +Thorns=Épines diff --git a/mods/ITEMS/mcl_enchanting/models/mcl_enchanting_book_entity.png b/mods/ITEMS/mcl_enchanting/models/mcl_enchanting_book_entity.png deleted file mode 100644 index fe6acf601..000000000 Binary files a/mods/ITEMS/mcl_enchanting/models/mcl_enchanting_book_entity.png and /dev/null differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_book_enchanted.png b/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_book_enchanted.png deleted file mode 100644 index 5cd46d8b6..000000000 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_book_enchanted.png and /dev/null differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_16.png b/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_16.png deleted file mode 100644 index d10a72b75..000000000 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_16.png and /dev/null differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_5.png b/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_5.png deleted file mode 100644 index f0635bf2b..000000000 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_5.png and /dev/null differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_1.png b/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_1.png deleted file mode 100644 index ecd6b1120..000000000 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_1.png and /dev/null differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_1_off.png b/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_1_off.png deleted file mode 100644 index 60d755e94..000000000 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_1_off.png and /dev/null differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_2.png b/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_2.png deleted file mode 100644 index a90100f12..000000000 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_2.png and /dev/null differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_2_off.png b/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_2_off.png deleted file mode 100644 index 9ba41bd55..000000000 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_2_off.png and /dev/null differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_3.png b/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_3.png deleted file mode 100644 index 8dd37a8b9..000000000 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_3.png and /dev/null differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_3_off.png b/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_3_off.png deleted file mode 100644 index ddcc98f9b..000000000 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_number_3_off.png and /dev/null differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_table_bottom.png b/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_table_bottom.png deleted file mode 100644 index ef4cc8a15..000000000 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_table_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_table_side.png b/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_table_side.png deleted file mode 100644 index 858b9e3dc..000000000 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_table_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_table_top.png b/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_table_top.png deleted file mode 100644 index 95b45c70e..000000000 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_table_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_end/locale/mcl_end.fr.tr b/mods/ITEMS/mcl_end/locale/mcl_end.fr.tr index dc091a0f4..8e2d21e52 100644 --- a/mods/ITEMS/mcl_end/locale/mcl_end.fr.tr +++ b/mods/ITEMS/mcl_end/locale/mcl_end.fr.tr @@ -1,27 +1,27 @@ # textdomain: mcl_end End Stone=Pierre de L'End End Stone Bricks=Brique de l'End -Purpur Block=Bloc de Purpur -Purpur Pillar=Bloc de Purpur Sculpté +Purpur Block=Bloc de purpur +Purpur Pillar=Bloc de purpur sculpté End Rod=Barre de l'End End rods are decorative light sources.=Les barres de l'End sont des sources de lumière décoratives. -Dragon Egg=Oeuf de Dragon +Dragon Egg=Oeuf de dragon A dragon egg is a decorative item which can be placed.=Un oeuf de dragon est un objet décoratif qui peut être placé. -Chorus Flower=Plante de Chorus +Chorus Flower=Plante de chorus A chorus flower is the living part of a chorus plant. It can grow into a tall chorus plant, step by step. When it grows, it may die on old age eventually. It also dies when it is unable to grow.=Une fleur de chorus est la partie vivante d'une plante de chorus. Il peut devenir une grande plante de chorus, étape par étape. Quand elle grandit, elle peut finir par mourir en vieillissant. Elle meurt également lorsqu'il est incapable de grandir. Place it and wait for it to grow. It can only be placed on top of end stone, on top of a chorus plant stem, or at the side of exactly one chorus plant stem.=Placez-la et attendez qu'elle grandisse. Elle ne peut être placée que sur le dessus de la pierre d'End, sur le dessus d'une tige de plante de chorus ou exactement sur le côté d'une tige de plante de chorus. -Dead Chorus Flower=Plante de Chorus Morte +Dead Chorus Flower=Plante de chorus morte This is a part of a chorus plant. It doesn't grow. Chorus flowers die of old age or when they are unable to grow. A dead chorus flower can be harvested to obtain a fresh chorus flower which is able to grow again.=Ceci fait partie d'une plante de chorus. Ça ne pousse pas. Les fleurs de chorus meurent de vieillesse ou lorsqu'elles ne peuvent pas pousser. Une fleur de chorus morte peut être récoltée pour obtenir une fleur de chorus fraîche qui peut repousser. -Chorus Plant Stem=Tige de Plante de Chorus +Chorus Plant Stem=Tige de plante de chorus A chorus plant stem is the part of a chorus plant which holds the whole plant together. It needs end stone as its soil. Stems are grown from chorus flowers.=Une tige de plante de chorus est la partie d'une plante de chorus qui maintient la plante entière ensemble. Il a besoin de pierre d'End comme sol. Les tiges sont issues de fleurs de chorus. -Chorus Fruit=Fruit de Chorus +Chorus Fruit=Fruit de chorus A chorus fruit is an edible fruit from the chorus plant which is home to the End. Eating it teleports you to the top of a random solid block nearby, provided you won't end up inside a liquid, solid or harmful blocks. Teleportation might fail if there are very few or no places to teleport to.=Un fruit de chorus est un fruit comestible de l'usine de chorus qui abrite la fin. Le manger vous téléporte au sommet d'un bloc solide aléatoire à proximité, à condition de ne pas vous retrouver dans un bloc liquide, solide ou nuisible. La téléportation peut échouer s'il y a très peu ou pas d'endroits où se téléporter. -Popped Chorus Fruit=Chorus Eclaté -Eye of Ender=Oeil de l'Ender -This item is used to locate End portal shrines in the Overworld and to activate End portals.=Cet objet est utilisé pour localiser les sanctuaires du portail End dans l'Overworld et pour activer les portails End. -Use the attack key to release the eye of ender. It will rise and fly in the horizontal direction of the closest end portal shrine. If you're very close, the eye of ender will take the direct path to the End portal shrine instead. After a few seconds, it stops. It may drop as an item, but there's a 20% chance it shatters.=Utilisez la touche d'attaque pour libérer l'oeil d'ender. Il s'élèvera et volera dans la direction horizontale du sanctuaire portail d'Ender le plus proche. Si vous êtes très proche, l'oeil d'ender empruntera le chemin direct vers le sanctuaire du portail de l'End. Après quelques secondes, il s'arrête. Il peut tomber en tant qu'objet, mais il y a 20% de chances qu'il se brise. -To activate an End portal, eyes of ender need to be placed into each block of an intact End portal frame.=Pour activer un portail d'End, les yeux d'ender doivent être placés dans chaque bloc d'un cadre de portail d'End intact. -NOTE: The End dimension is currently incomplete and might change in future versions.=REMARQUE: la dimension de l'End est actuellement incomplète et pourrait changer dans les futures versions. +Popped Chorus Fruit=Chorus éclaté +Eye of Ender=Œil de l'Ender +This item is used to locate End portal shrines in the Overworld and to activate End portals.=Cet objet est utilisé pour localiser les sanctuaires du portail de l'End dans l'Overworld et pour activer les portails de l'End. +Use the attack key to release the eye of ender. It will rise and fly in the horizontal direction of the closest end portal shrine. If you're very close, the eye of ender will take the direct path to the End portal shrine instead. After a few seconds, it stops. It may drop as an item, but there's a 20% chance it shatters.=Utilisez la touche d'attaque pour libérer l'œil d'Ender. Il s'élèvera et volera dans la direction horizontale du sanctuaire portail de l'End le plus proche. Si vous êtes très proche, l'œil d'Ender empruntera le chemin direct vers le sanctuaire du portail de l'End. Après quelques secondes, il s'arrête. Il peut tomber en tant qu'objet, mais il y a 20% de chances qu'il se brise. +To activate an End portal, eyes of ender need to be placed into each block of an intact End portal frame.=Pour activer un portail de l'End, les yeux d'ender doivent être placés dans chaque bloc d'un cadre de portail de l'End intact. +NOTE: The End dimension is currently incomplete and might change in future versions.=REMARQUE : la dimension de l'End est actuellement incomplète et pourrait changer dans les futures versions. The stem attaches itself to end stone and other chorus blocks.=La tige s'attache à la pierre d'End et à d'autres blocs de chorus. Grows on end stone=Pousse sur la pierre d'End Randomly teleports you when eaten=Vous téléporte au hasard quand il est mangé diff --git a/mods/ITEMS/mcl_end/models/mcl_end_crystal.png b/mods/ITEMS/mcl_end/models/mcl_end_crystal.png deleted file mode 100644 index 13e12c2ea..000000000 Binary files a/mods/ITEMS/mcl_end/models/mcl_end_crystal.png and /dev/null differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_chorus_flower.png b/mods/ITEMS/mcl_end/textures/mcl_end_chorus_flower.png deleted file mode 100644 index 47798ba0b..000000000 Binary files a/mods/ITEMS/mcl_end/textures/mcl_end_chorus_flower.png and /dev/null differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_chorus_flower_dead.png b/mods/ITEMS/mcl_end/textures/mcl_end_chorus_flower_dead.png deleted file mode 100644 index 88f798cd9..000000000 Binary files a/mods/ITEMS/mcl_end/textures/mcl_end_chorus_flower_dead.png and /dev/null differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_chorus_plant.png b/mods/ITEMS/mcl_end/textures/mcl_end_chorus_plant.png deleted file mode 100644 index afde6feec..000000000 Binary files a/mods/ITEMS/mcl_end/textures/mcl_end_chorus_plant.png and /dev/null differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_crystal_beam.png b/mods/ITEMS/mcl_end/textures/mcl_end_crystal_beam.png deleted file mode 100644 index b1b74265d..000000000 Binary files a/mods/ITEMS/mcl_end/textures/mcl_end_crystal_beam.png and /dev/null differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_crystal_item.png b/mods/ITEMS/mcl_end/textures/mcl_end_crystal_item.png deleted file mode 100644 index e0eeac6a5..000000000 Binary files a/mods/ITEMS/mcl_end/textures/mcl_end_crystal_item.png and /dev/null differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_dragon_egg.png b/mods/ITEMS/mcl_end/textures/mcl_end_dragon_egg.png deleted file mode 100644 index c50d8f23d..000000000 Binary files a/mods/ITEMS/mcl_end/textures/mcl_end_dragon_egg.png and /dev/null differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_end_stone.png b/mods/ITEMS/mcl_end/textures/mcl_end_end_stone.png deleted file mode 100644 index 2254f82e7..000000000 Binary files a/mods/ITEMS/mcl_end/textures/mcl_end_end_stone.png and /dev/null differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_endframe_side.png b/mods/ITEMS/mcl_end/textures/mcl_end_endframe_side.png deleted file mode 100644 index a2370ecef..000000000 Binary files a/mods/ITEMS/mcl_end/textures/mcl_end_endframe_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_purpur_pillar.png b/mods/ITEMS/mcl_end/textures/mcl_end_purpur_pillar.png deleted file mode 100644 index 4b7efbd08..000000000 Binary files a/mods/ITEMS/mcl_end/textures/mcl_end_purpur_pillar.png and /dev/null differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_purpur_pillar_top.png b/mods/ITEMS/mcl_end/textures/mcl_end_purpur_pillar_top.png deleted file mode 100644 index 752e77bc1..000000000 Binary files a/mods/ITEMS/mcl_end/textures/mcl_end_purpur_pillar_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/beetroot.lua b/mods/ITEMS/mcl_farming/beetroot.lua index 21096042b..3785db111 100644 --- a/mods/ITEMS/mcl_farming/beetroot.lua +++ b/mods/ITEMS/mcl_farming/beetroot.lua @@ -54,7 +54,7 @@ minetest.register_node("mcl_farming:beetroot_1", { selection_box = { type = "fixed", fixed = { - {-0.5, -0.5, -0.5, 0.5, -3/16, 0.5} + {-0.5, -0.5, -0.5, 0.5, -4/16, 0.5} }, }, groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1}, @@ -78,7 +78,7 @@ minetest.register_node("mcl_farming:beetroot_2", { selection_box = { type = "fixed", fixed = { - {-0.5, -0.5, -0.5, 0.5, 2/16, 0.5} + {-0.5, -0.5, -0.5, 0.5, -3/16, 0.5} }, }, groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1}, @@ -102,22 +102,34 @@ minetest.register_node("mcl_farming:beetroot", { 0 seeds: 42.18% 1 seed: 14.06% 2 seeds: 18.75% - 3 seeds: 25% ]] + 3 seeds: 25% + + correction: should always drop at least 1 seed. (1-4 seeds, per the minecraft wiki) + --]] max_items = 2, items = { - { items = {"mcl_farming:beetroot_item"}, rarity = 1 }, - { items = {"mcl_farming:beetroot_seeds 3"}, rarity = 4 }, - { items = {"mcl_farming:beetroot_seeds 2"}, rarity = 4 }, - { items = {"mcl_farming:beetroot_seeds 1"}, rarity = 4 }, + {items = {"mcl_farming:beetroot_item"}}, + {items = {"mcl_farming:beetroot_seeds 4"}, rarity = 6}, + {items = {"mcl_farming:beetroot_seeds 3"}, rarity = 4}, + {items = {"mcl_farming:beetroot_seeds 2"}, rarity = 3}, + {items = {"mcl_farming:beetroot_seeds"}, rarity = 1}, }, }, + + _mcl_fortune_drop = { + discrete_uniform_distribution = true, + items = {"mcl_farming:beetroot_seeds"}, + min_count = 1, + max_count = 3, + cap = 5, + }, tiles = {"mcl_farming_beetroot_3.png"}, inventory_image = "mcl_farming_beetroot_3.png", wield_image = "mcl_farming_beetroot_3.png", selection_box = { type = "fixed", fixed = { - {-0.5, -0.5, -0.5, 0.5, 3/16, 0.5} + {-0.5, -0.5, -0.5, 0.5, -1/16, 0.5} }, }, groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,beetroot=4}, @@ -161,7 +173,10 @@ minetest.register_craft({ mcl_farming:add_plant("plant_beetroot", "mcl_farming:beetroot", {"mcl_farming:beetroot_0", "mcl_farming:beetroot_1", "mcl_farming:beetroot_2"}, 68, 3) if minetest.get_modpath("doc") then - for i=1,2 do - doc.add_entry_alias("nodes", "mcl_farming:beetroot_0", "nodes", "mcl_farming:beetroot_"..i) + for i = 1, 2 do + doc.add_entry_alias("nodes", "mcl_farming:beetroot_0", "nodes", "mcl_farming:beetroot_" .. i) end end + +minetest.register_alias("beetroot_seeds", "mcl_farming:beetroot_seeds") +minetest.register_alias("beetroot", "mcl_farming:beetroot_item") diff --git a/mods/ITEMS/mcl_farming/carrots.lua b/mods/ITEMS/mcl_farming/carrots.lua index b76606be2..f21285445 100644 --- a/mods/ITEMS/mcl_farming/carrots.lua +++ b/mods/ITEMS/mcl_farming/carrots.lua @@ -6,10 +6,10 @@ for i=1, 7 do sel_height = -5/16 texture = "farming_carrot_1.png" elseif i < 5 then - sel_height = -3/16 + sel_height = -4/16 texture = "farming_carrot_2.png" else - sel_height = 2/16 + sel_height = -3/16 texture = "farming_carrot_3.png" end @@ -72,7 +72,7 @@ minetest.register_node("mcl_farming:carrot", { selection_box = { type = "fixed", fixed = { - {-0.5, -0.5, -0.5, 0.5, 4/16, 0.5} + {-0.5, -0.5, -0.5, 0.5, -1/16, 0.5} }, }, groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1}, diff --git a/mods/ITEMS/mcl_farming/locale/mcl_farming.fr.tr b/mods/ITEMS/mcl_farming/locale/mcl_farming.fr.tr index 5ee1bcdfc..5174ce2ad 100644 --- a/mods/ITEMS/mcl_farming/locale/mcl_farming.fr.tr +++ b/mods/ITEMS/mcl_farming/locale/mcl_farming.fr.tr @@ -1,93 +1,93 @@ # textdomain: mcl_farming -Beetroot Seeds=Graines de Betterave -Grows into a beetroot plant. Chickens like beetroot seeds.=Pousse en bettrave. Les poulets aiment les graines de betterave +Beetroot Seeds=Graines de betterave +Grows into a beetroot plant. Chickens like beetroot seeds.=Pousse en betterave. Les poulets aiment les graines de betterave. Place the beetroot seeds on farmland (which can be created with a hoe) to plant a beetroot plant. They grow in sunlight and grow faster on hydrated farmland. Rightclick an animal to feed it beetroot seeds.=Placez les graines de betterave sur les terres agricoles (qui peuvent être créées avec une houe) pour planter un plant de betterave. Elles poussent au soleil et poussent plus vite sur les terres agricoles hydratées. Faites un clic droit sur un animal pour le nourrir de graines de betteraves. Beetroot plants are plants which grow on farmland under sunlight in 4 stages. On hydrated farmland, they grow a bit faster. They can be harvested at any time but will only yield a profit when mature.=Les plants de betteraves poussent sur les terres agricoles sous le soleil en 4 étapes. Sur les terres agricoles hydratées, elles poussent un peu plus vite. Elles peuvent être récoltées à tout moment mais ne rapporteront de bénéfices qu'à maturité. -Premature Beetroot Plant=Plant de Betterave Prématurée -Premature Beetroot Plant (Stage 1)=Plant de Betterave Prématurée (Etape 1) -Premature Beetroot Plant (Stage 2)=Plant de Betterave Prématurée (Etape 2) -Premature Beetroot Plant (Stage 3)=Plant de Betterave Prématurée (Etape 3) -Mature Beetroot Plant=Betterave Mature -A mature beetroot plant is a farming plant which is ready to be harvested for a beetroot and some beetroot seeds. It won't grow any further.=Une betterave mature est une plante agricole prête à être récoltée pour une betterave et quelques graines de betterave. Elle ne grandira plus. +Premature Beetroot Plant=Plant de betterave prématuré +Premature Beetroot Plant (Stage 1)=Plant de betterave prématuré (étape 1) +Premature Beetroot Plant (Stage 2)=Plant de betterave prématuré (étape 2) +Premature Beetroot Plant (Stage 3)=Plant de betterave prématuré (étape 3) +Mature Beetroot Plant=Plant de betterave mature +A mature beetroot plant is a farming plant which is ready to be harvested for a beetroot and some beetroot seeds. It won't grow any further.=Un plant de betterave mature est une plante agricole prête à être récoltée pour une betterave et quelques graines de betterave. Elle ne grandira plus. Beetroot=Betterave Beetroots are both used as food item and a dye ingredient. Pigs like beetroots, too.=Les betteraves sont à la fois utilisées comme aliment et comme ingrédient colorant. Les porcs aiment aussi les betteraves. Hold it in your hand and right-click to eat it. Rightclick an animal to feed it.=Tenez-le dans votre main et faites un clic droit pour le manger. Faites un clic droit sur un animal pour le nourrir. -Beetroot Soup=Soupe de Betterave +Beetroot Soup=Soupe de betterave Beetroot soup is a food item.=La soupe de betterave est un aliment. -Premature Carrot Plant=Plant de Carrote Prématurée +Premature Carrot Plant=Plant de carotte prématuré Carrot plants are plants which grow on farmland under sunlight in 8 stages, but only 4 stages can be visually told apart. On hydrated farmland, they grow a bit faster. They can be harvested at any time but will only yield a profit when mature.=Les plants de carotte sont des plantes qui poussent sur les terres agricoles sous la lumière du soleil en 8 étapes, mais seulement 4 étapes peuvent être distinguées visuellement. Sur les terres agricoles hydratées, elles poussent un peu plus vite. Ils peuvent être récoltés à tout moment mais ne rapporteront de bénéfices qu'à maturité. -Premature Carrot Plant (Stage @1)=Plant de Carrote Prématurée (Etape 1) -Mature Carrot Plant=Plant de Carotte Mature +Premature Carrot Plant (Stage @1)=Plant de carotte prématuré (étape @1) +Mature Carrot Plant=Plant de carotte mature Mature carrot plants are ready to be harvested for carrots. They won't grow any further.=Les plants de carottes matures sont prêts à être récoltés pour les carottes. Ils ne grandiront plus. -Carrot=Carrotte -Carrots can be eaten and planted. Pigs and rabbits like carrots.=Les carottes peuvent être mangées et plantées. Les cochons et les lapins comme les carottes. +Carrot=Carotte +Carrots can be eaten and planted. Pigs and rabbits like carrots.=Les carottes peuvent être mangées et plantées. Les cochons et les lapins aiment les carottes. Hold it in your hand and rightclick to eat it. Place it on top of farmland to plant the carrot. It grows in sunlight and grows faster on hydrated farmland. Rightclick an animal to feed it.=Tenez-la dans votre main et faites un clic droit pour le manger. Placez-le au-dessus des terres agricoles pour planter la carotte. Elle pousse au soleil et pousse plus vite sur les terres agricoles hydratées. Faites un clic droit sur un animal pour le nourrir. -Golden Carrot=Carrot Dorée -A golden carrot is a precious food item which can be eaten. It is really, really filling!=Une carotte dorée est un aliment précieux qui peut être mangé. C'est vraiment, vraiment rassasiant! +Golden Carrot=Carotte dorée +A golden carrot is a precious food item which can be eaten. It is really, really filling!=Une carotte dorée est un aliment précieux qui peut être mangé. C'est vraiment, vraiment rassasiant ! Hoes are essential tools for growing crops. They are used to create farmland in order to plant seeds on it. Hoes can also be used as very weak weapons in a pinch.=Les houes sont des outils essentiels pour faire pousser des cultures. Ils sont utilisés pour créer des terres agricoles afin d'y planter des graines. Les houes peuvent également être utilisées comme armes très faibles à la rigueur. Use the hoe on a cultivatable block (by rightclicking it) to turn it into farmland. Dirt, grass blocks and grass paths are cultivatable blocks. Using a hoe on coarse dirt turns it into dirt.=Utilisez la houe sur un bloc cultivable (en cliquant dessus avec le bouton droit) pour le transformer en terre agricole. La saleté, les blocs d'herbe et les chemins d'herbe sont des blocs cultivables. L'utilisation d'une houe sur la terre grossière la transforme en terre. -Wood Hoe=Houe en Bois -Stone Hoe=Houe en Pierre -Iron Hoe=Houe en Fer -Golden Hoe=Houe en Or -Diamond Hoe=Houe en Diamant -Melon Seeds=Graine de Pastèque +Wood Hoe=Houe en bois +Stone Hoe=Houe en pierre +Iron Hoe=Houe en fer +Golden Hoe=Houe en or +Diamond Hoe=Houe en diamant +Melon Seeds=Graine de pastèque Grows into a melon stem which in turn grows melons. Chickens like melon seeds.=Se développe en une tige de pastèque qui à son tour forme des pastèques. Les poulets aiment les graines de pastèque. Place the melon seeds on farmland (which can be created with a hoe) to plant a melon stem. Melon stems grow in sunlight and grow faster on hydrated farmland. When mature, the stem will attempt to grow a melon at the side. Rightclick an animal to feed it melon seeds.=Placez les graines de pastèque sur les terres agricoles (qui peuvent être créées avec une houe) pour planter une tige de pastèque. Les tiges de pastèque poussent au soleil et se développent plus rapidement sur les terres agricoles hydratées. À maturité, la tige tentera de faire pousser une pastèque sur le côté. Faites un clic droit sur un animal pour le nourrir de graines de pastèque. Melon=Pastèque A melon is a block which can be grown from melon stems, which in turn are grown from melon seeds. It can be harvested for melon slices.=Une pastèque est un bloc qui peut être cultivé à partir de tiges de pastèque, qui à leur tour sont cultivées à partir de graines de pastèque. Elle peut être récoltée pour des tranches de pastèque. -Premature Melon Stem=Tige de Pastèque Prématurée +Premature Melon Stem=Tige de pastèque prématurée Melon stems grow on farmland in 8 stages. On hydrated farmland, the growth is a bit quicker. Mature melon stems are able to grow melons.=Les tiges de pastèque poussent sur les terres agricoles en 8 étapes. Sur les terres agricoles hydratées, la croissance est un peu plus rapide. Les tiges de pastèque matures sont capables de faire pousser des pastèques. -Premature Melon Stem (Stage @1)=Tige de Pastèque Prématurée (Etape @1) -Mature Melon Stem=Tige de Pastèque Mature +Premature Melon Stem (Stage @1)=Tige de pastèque prématurée (étape @1) +Mature Melon Stem=Tige de pastèque mature A mature melon stem attempts to grow a melon at one of its four adjacent blocks. A melon can only grow on top of farmland, dirt, or a grass block. When a melon is next to a melon stem, the melon stem immediately bends and connects to the melon. While connected, a melon stem can't grow another melon. As soon all melons around the stem have been removed, it loses the connection and is ready to grow another melon.=Une tige de pastèque mature tente de faire pousser un pastèque sur l'un de ses quatre blocs adjacents. Une pastèque ne peut pousser que sur des terres agricoles, de la terre ou un bloc d'herbe. Lorsqu'une pastèque est à côté d'une tige de pastèque, la tige de pastèque se plie immédiatement et se connecte au melon. Lorsqu'elle est connectée, une tige de pastèque ne peut pas faire pousser une autre pastèque. Dès que tous les pastèques autour de la tige ont été supprimés, elle perd la connexion et est prêt à faire pousser une autre pastèque. -Melon Slice=Tranche de Pastèque +Melon Slice=Tranche de pastèque This is a food item which can be eaten.=Il s'agit d'un aliment qui peut être mangé. -Premature Potato Plant=Plant de Pomme de Terre Prématuré +Premature Potato Plant=Plant de pomme de terre prématuré Potato plants are plants which grow on farmland under sunlight in 8 stages, but only 4 stages can be visually told apart. On hydrated farmland, they grow a bit faster. They can be harvested at any time but will only yield a profit when mature.=Les plants de pommes de terre sont des plants qui poussent sur les terres agricoles sous la lumière du soleil en 8 étapes, mais seulement 4 étapes peuvent être distinguées visuellement. Sur les terres agricoles hydratées, elles poussent un peu plus vite. Ils peuvent être récoltés à tout moment mais ne rapporteront de bénéfices qu'à maturité. -Premature Potato Plant (Stage @1)=Plant de pomme de terre prématuré (Etape @1) -Mature Potato Plant=Plant de Pomme de Terre Mature +Premature Potato Plant (Stage @1)=Plant de pomme de terre prématuré (étape @1) +Mature Potato Plant=Plant de pomme de terre mature Mature potato plants are ready to be harvested for potatoes. They won't grow any further.=Les plants de pommes de terre matures sont prêts à être récoltés pour les pommes de terre. Ils ne grandiront plus. Potato=Pomme de terre Potatoes are food items which can be eaten, cooked in the furnace and planted. Pigs like potatoes.=Les pommes de terre sont des aliments qui peuvent être consommés, cuits au four et plantés. Des porcs comme des pommes de terre. Hold it in your hand and rightclick to eat it. Place it on top of farmland to plant it. It grows in sunlight and grows faster on hydrated farmland. Rightclick an animal to feed it.=Tenez-le dans votre main et faites un clic droit pour le manger. Placez-le au-dessus des terres agricoles pour le planter. Il pousse au soleil et pousse plus vite sur les terres agricoles hydratées. Faites un clic droit sur un animal pour le nourrir. -Baked Potato=Pomme de Terre au Four +Baked Potato=Pomme de terre au four Baked potatoes are food items which are more filling than the unbaked ones.=Les pommes de terre au four sont des aliments qui sont plus copieux que ceux non cuits. -Poisonous Potato=Pomme de Terre Toxique +Poisonous Potato=Pomme de terre toxique This potato doesn't look too healthy. You can eat it to restore hunger points, but there's a 60% chance it will poison you briefly.=Cette pomme de terre n'a pas l'air trop saine. Vous pouvez le manger pour restaurer des points de faim, mais il y a 60% de chances qu'il vous empoisonne brièvement. -Pumpkin Seeds=Graines de Citrouille -Grows into a pumpkin stem which in turn grows pumpkins. Chickens like pumpkin seeds.=Pousse dans une tige de citrouille qui à son tour fait pousser des citrouilles. Les poulets aiment des graines de citrouille. +Pumpkin Seeds=Graines de citrouille +Grows into a pumpkin stem which in turn grows pumpkins. Chickens like pumpkin seeds.=Pousse en une tige de citrouille qui à son tour fait pousser des citrouilles. Les poulets aiment des graines de citrouille. Place the pumpkin seeds on farmland (which can be created with a hoe) to plant a pumpkin stem. Pumpkin stems grow in sunlight and grow faster on hydrated farmland. When mature, the stem attempts to grow a pumpkin next to it. Rightclick an animal to feed it pumpkin seeds.=Placez les graines de citrouille sur les terres agricoles (qui peuvent être créées avec une houe) pour planter une tige de citrouille. Les tiges de citrouille poussent au soleil et poussent plus vite sur les terres agricoles hydratées. À maturité, la tige tente de faire pousser une citrouille à côté d'elle. Faites un clic droit sur un animal pour le nourrir de graines de citrouille. -Premature Pumpkin Stem=Tige de Citrouille Prématurée +Premature Pumpkin Stem=Tige de citrouille prématurée Pumpkin stems grow on farmland in 8 stages. On hydrated farmland, the growth is a bit quicker. Mature pumpkin stems are able to grow pumpkins.=Les tiges de citrouille poussent sur les terres agricoles en 8 étapes. Sur les terres agricoles hydratées, la croissance est un peu plus rapide. Les tiges de citrouille matures peuvent faire pousser des citrouilles. -Premature Pumpkin Stem (Stage @1)=Tige de Citrouille Prématurée (Etape @1) -Mature Pumpkin Stem=Tige de Citrouille Mature +Premature Pumpkin Stem (Stage @1)=Tige de citrouille prématurée (étape @1) +Mature Pumpkin Stem=Tige de citrouille mature A mature pumpkin stem attempts to grow a pumpkin at one of its four adjacent blocks. A pumpkin can only grow on top of farmland, dirt or a grass block. When a pumpkin is next to a pumpkin stem, the pumpkin stem immediately bends and connects to the pumpkin. A connected pumpkin stem can't grow another pumpkin. As soon all pumpkins around the stem have been removed, it loses the connection and is ready to grow another pumpkin.=Une tige de citrouille mature tente de faire pousser une citrouille dans l'un de ses quatre blocs adjacents. Une citrouille ne peut pousser que sur des terres agricoles, de la terre ou un bloc d'herbe. Lorsqu'une citrouille est à côté d'une tige de citrouille, la tige de citrouille se plie immédiatement et se connecte à la citrouille. Une tige de citrouille connectée ne peut pas faire pousser une autre citrouille. Dès que toutes les citrouilles autour de la tige ont été retirées, elle perd la connexion et est prête à faire pousser une autre citrouille. Faceless Pumpkin=Citrouille sans visage A faceless pumpkin is a decorative block. It can be carved with shears to obtain pumpkin seeds.=Une citrouille sans visage est un bloc décoratif. Il peut être sculpté avec une cisaille pour obtenir des graines de citrouille. Pumpkin=Citrouille A pumpkin can be worn as a helmet. Pumpkins grow from pumpkin stems, which in turn grow from pumpkin seeds.=Une citrouille peut être portée comme un casque. Les citrouilles poussent à partir de tiges de citrouille, qui à leur tour poussent à partir de graines de citrouille. Jack o'Lantern=Citrouille-lanterne -A jack o'lantern is a traditional Halloween decoration made from a pumpkin. It glows brightly.=Une citrouille-lanterne est une décoration traditionnelle d'Halloween à base de citrouille. Il brille de mille feux. -Pumpkin Pie=Tarte à la Citrouille +A jack o'lantern is a traditional Halloween decoration made from a pumpkin. It glows brightly.=Une citrouille-lanterne est une décoration traditionnelle d'Halloween à base de citrouille. Elle brille de mille feux. +Pumpkin Pie=Tarte à la citrouille A pumpkin pie is a tasty food item which can be eaten.=Une tarte à la citrouille est un aliment savoureux qui peut être mangé. -Farmland=Terres Agricoles +Farmland=Terres agricoles Farmland is used for farming, a necessary surface to plant crops. It is created when a hoe is used on dirt or a similar block. Plants are able to grow on farmland, but slowly. Farmland will become hydrated farmland (on which plants grow faster) when it rains or a water source is nearby. This block will turn back to dirt when a solid block appears above it or a piston arm extends above it.=Les terres agricoles sont utilisées pour l'agriculture, une surface nécessaire pour planter des cultures. Il est créé lorsqu'une houe est utilisée sur de la terre ou un bloc similaire. Les plantes peuvent pousser sur les terres agricoles, mais lentement. Les terres agricoles deviendront des terres agricoles hydratées (sur lesquelles les plantes poussent plus rapidement) lorsqu'il pleut ou lorsqu'une source d'eau est à proximité. Ce bloc redeviendra de la terre lorsqu'un bloc solide apparaît au-dessus ou qu'un bras de piston s'étend au-dessus. -Hydrated Farmland=Terres Agricoles Hydratées +Hydrated Farmland=Terres agricoles hydratées Hydrated farmland is used in farming, this is where you can plant and grow some plants. It is created when farmland is under rain or near water. Without water, this block will dry out eventually. This block will turn back to dirt when a solid block appears above it or a piston arm extends above it.=Les terres agricoles hydratées sont utilisées dans l'agriculture, c'est là que vous pouvez planter et faire pousser certaines plantes. Il est créé lorsque les terres agricoles sont sous la pluie ou près de l'eau. Sans eau, ce bloc finira par se dessécher. Ce bloc redeviendra de la terre lorsqu'un bloc solide apparaît au-dessus ou qu'un bras de piston s'étend au-dessus. Wheat Seeds=Graines de blé Grows into a wheat plant. Chickens like wheat seeds.=Se transforme en blé. Les poulets aiment les graines de blé. Place the wheat seeds on farmland (which can be created with a hoe) to plant a wheat plant. They grow in sunlight and grow faster on hydrated farmland. Rightclick an animal to feed it wheat seeds.=Placez les graines de blé sur les terres agricoles (qui peuvent être créées avec une houe) pour planter une plante de blé. Ils poussent au soleil et poussent plus vite sur les terres agricoles hydratées. Faites un clic droit sur un animal pour le nourrir de graines de blé. -Premature Wheat Plant=Plant de Blé Prématurée +Premature Wheat Plant=Plant de blé Prématuré Premature wheat plants grow on farmland under sunlight in 8 stages. On hydrated farmland, they grow faster. They can be harvested at any time but will only yield a profit when mature.=Les plants de blé prématurés poussent sur les terres agricoles sous la lumière du soleil en 8 étapes. Sur les terres agricoles hydratées, ils croissent plus rapidement. Ils peuvent être récoltés à tout moment mais ne rapporteront de bénéfices qu'à maturité. -Premature Wheat Plant (Stage @1)=Plant de blé prématurée (Etape @1) -Mature Wheat Plant=Plant de Blé Maturée +Premature Wheat Plant (Stage @1)=Plant de blé prématuré (étape @1) +Mature Wheat Plant=Plant de blé mature Mature wheat plants are ready to be harvested for wheat and wheat seeds. They won't grow any further.=Les plants de blé matures sont prêts à être récoltés pour le blé et les graines de blé. Ils ne grandiront plus. Wheat=Blé Wheat is used in crafting. Some animals like wheat.=Le blé est utilisé dans l'artisanat. Certains animaux aiment le blé. Cookie=Cookie Bread=Pain -Hay Bale=Balle de Foin +Hay Bale=Balle de foin Hay bales are decorative blocks made from wheat.=Les balles de foin sont des blocs décoratifs en blé. To carve a face into the pumpkin, use the shears on the side you want to carve.=Pour sculpter un visage dans la citrouille, utilisez les cisailles du côté que vous souhaitez sculpter. Use the “Place” key on an animal to try to feed it wheat.=Utilisez la touche "Placer" sur un animal pour essayer de le nourrir de blé. @@ -96,4 +96,4 @@ Turns block into farmland=Transforme un bloc en terres agricoles 60% chance of poisoning=60% de chances d'empoisonnement Surface for crops=Surface pour les cultures Can become wet=Peut devenir humide -Uses: @1=Utilisations: @1 +Uses: @1=Utilisations : @1 diff --git a/mods/ITEMS/mcl_farming/potatoes.lua b/mods/ITEMS/mcl_farming/potatoes.lua index 50bb66a3b..e29219fd8 100644 --- a/mods/ITEMS/mcl_farming/potatoes.lua +++ b/mods/ITEMS/mcl_farming/potatoes.lua @@ -9,10 +9,10 @@ for i=1, 7 do selbox = { -0.5, -0.5, -0.5, 0.5, -5/16, 0.5 } elseif i < 5 then texture = "mcl_farming_potatoes_stage_1.png" - selbox = { -0.5, -0.5, -0.5, 0.5, -2/16, 0.5 } + selbox = { -0.5, -0.5, -0.5, 0.5, -4/16, 0.5 } else texture = "mcl_farming_potatoes_stage_2.png" - selbox = { -0.5, -0.5, -0.5, 0.5, 2/16, 0.5 } + selbox = { -0.5, -0.5, -0.5, 0.5, -3/16, 0.5 } end local create, name, longdesc @@ -77,7 +77,7 @@ minetest.register_node("mcl_farming:potato", { selection_box = { type = "fixed", fixed = { - { -0.5, -0.5, -0.5, 0.5, 1/16, 0.5 } + { -0.5, -0.5, -0.5, 0.5, -1/16, 0.5 } } }, groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1}, diff --git a/mods/ITEMS/mcl_farming/sweet_berry.lua b/mods/ITEMS/mcl_farming/sweet_berry.lua index 8a91c0e79..7dc6326a4 100644 --- a/mods/ITEMS/mcl_farming/sweet_berry.lua +++ b/mods/ITEMS/mcl_farming/sweet_berry.lua @@ -107,7 +107,7 @@ local function berry_damage_check(obj) if not p then return end if not minetest.find_node_near(p,0.4,{"group:sweet_berry_thorny"},true) then return end local v = obj:get_velocity() - if v.x < 0.1 and v.y < 0.1 and v.z < 0.1 then return end + if math.abs(v.x) < 0.1 and math.abs(v.y) < 0.1 and math.abs(v.z) < 0.1 then return end mcl_util.deal_damage(obj, 0.5, {type = "sweet_berry"}) end diff --git a/mods/ITEMS/mcl_farming/textures/farming_carrot_4.png b/mods/ITEMS/mcl_farming/textures/farming_carrot_4.png deleted file mode 100644 index d1017eee1..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/farming_carrot_4.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/farming_melon_side.png b/mods/ITEMS/mcl_farming/textures/farming_melon_side.png deleted file mode 100644 index 6630ce52b..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/farming_melon_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/farming_melon_top.png b/mods/ITEMS/mcl_farming/textures/farming_melon_top.png deleted file mode 100644 index 770871c92..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/farming_melon_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/farming_potato.png b/mods/ITEMS/mcl_farming/textures/farming_potato.png deleted file mode 100644 index 6614adcb2..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/farming_potato.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/farming_pumpkin_side.png b/mods/ITEMS/mcl_farming/textures/farming_pumpkin_side.png deleted file mode 100644 index 9ed67ca23..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/farming_pumpkin_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/farming_pumpkin_top.png b/mods/ITEMS/mcl_farming/textures/farming_pumpkin_top.png deleted file mode 100644 index 73d1ef540..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/farming_pumpkin_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/farming_tool_diamondhoe.png b/mods/ITEMS/mcl_farming/textures/farming_tool_diamondhoe.png deleted file mode 100644 index 0adc102ac..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/farming_tool_diamondhoe.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_farmland_dry.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_farmland_dry.png deleted file mode 100644 index 4606f6fa3..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/mcl_farming_farmland_dry.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_farmland_wet.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_farmland_wet.png deleted file mode 100644 index bad8fb002..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/mcl_farming_farmland_wet.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_hayblock_side.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_hayblock_side.png deleted file mode 100644 index ec51c0d74..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/mcl_farming_hayblock_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_hud.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_hud.png deleted file mode 100644 index 48f47253b..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_hud.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_seeds.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_seeds.png deleted file mode 100644 index 52c239c7f..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_seeds.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry.png deleted file mode 100644 index 7c2349971..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_0.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_0.png deleted file mode 100644 index 6f8c0d833..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_0.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_2.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_2.png deleted file mode 100644 index 3788a40da..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_2.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_3.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_3.png deleted file mode 100644 index 889a56d63..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_3.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_4.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_4.png deleted file mode 100644 index 91bdd2b32..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_4.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_6.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_6.png deleted file mode 100644 index 6b2b23078..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_6.png and /dev/null differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_7.png b/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_7.png deleted file mode 100644 index 83d259274..000000000 Binary files a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_7.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_acacia.png b/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_acacia.png deleted file mode 100644 index 85dae567f..000000000 Binary files a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_acacia.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_big_oak.png b/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_big_oak.png deleted file mode 100644 index de8648e8e..000000000 Binary files a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_big_oak.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_birch.png b/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_birch.png deleted file mode 100644 index 96121e128..000000000 Binary files a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_birch.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_big_oak.png b/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_big_oak.png deleted file mode 100644 index f7c0eccd3..000000000 Binary files a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_big_oak.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_jungle.png b/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_jungle.png deleted file mode 100644 index dbc5684ac..000000000 Binary files a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_jungle.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_mask.png b/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_mask.png deleted file mode 100644 index dfa9b34d9..000000000 Binary files a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_mask.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_nether_brick.png b/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_nether_brick.png deleted file mode 100644 index f81609032..000000000 Binary files a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_nether_brick.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_oak.png b/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_oak.png deleted file mode 100644 index 6c48e53e8..000000000 Binary files a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_oak.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fire/init.lua b/mods/ITEMS/mcl_fire/init.lua index 8827b9f9a..70e0769c4 100644 --- a/mods/ITEMS/mcl_fire/init.lua +++ b/mods/ITEMS/mcl_fire/init.lua @@ -448,18 +448,28 @@ function mcl_fire.set_fire(pointed_thing, player, allow_on_fire) else pname = player:get_player_name() end - local n = get_node(pointed_thing.above) - local nu = get_node(pointed_thing.under) - if allow_on_fire == false and get_item_group(nu.name, "fire") ~= 0 then - return - end + if minetest.is_protected(pointed_thing.above, pname) then minetest.record_protection_violation(pointed_thing.above, pname) return end - if n.name == "air" then - add_node(pointed_thing.above, {name="mcl_fire:fire"}) + + local n_pointed = minetest.get_node(pointed_thing.under) + if allow_on_fire == false and get_item_group(n_pointed.name, "fire") ~= 0 then + return end + + local n_fire_pos = minetest.get_node(pointed_thing.above) + if n_fire_pos.name ~= "air" then + return + end + + local n_below = minetest.get_node(vector.offset(pointed_thing.above, 0, -1, 0)) + if minetest.get_item_group(n_below.name, "water") ~= 0 then + return + end + + add_node(pointed_thing.above, {name="mcl_fire:fire"}) end minetest.register_lbm({ diff --git a/mods/ITEMS/mcl_fire/locale/mcl_fire.fr.tr b/mods/ITEMS/mcl_fire/locale/mcl_fire.fr.tr index 60b6ffd0e..6ab6d906a 100644 --- a/mods/ITEMS/mcl_fire/locale/mcl_fire.fr.tr +++ b/mods/ITEMS/mcl_fire/locale/mcl_fire.fr.tr @@ -1,9 +1,9 @@ # textdomain: mcl_fire -Fire Charge=Boule de Feu +Fire Charge=Boule de feu Fire charges are primarily projectiles which can be launched from dispensers, they will fly in a straight line and burst into a fire on impact. Alternatively, they can be used to ignite fires directly.=Les boules de feu sont principalement des projectiles qui peuvent être lancés à partir de distributeurs, ils voleront en ligne droite et éclateront en feu à l'impact. Alternativement, ils peuvent être utilisés pour allumer des incendies directement. Put the fire charge into a dispenser and supply it with redstone power to launch it. To ignite a fire directly, simply place the fire charge on the ground, which uses it up.=Mettez la boule de feu dans un distributeur et alimentez-la en redstone pour la lancer. Pour allumer un feu directement, placez simplement la charge de feu sur le sol, et utiliser le. Flint and Steel=Briquet -Flint and steel is a tool to start fires and ignite blocks.=Le Briquet est uo outil pour allumer un feu ou allumer des blocs. +Flint and steel is a tool to start fires and ignite blocks.=Le briquet est un outil pour allumer un feu ou allumer des blocs. Rightclick the surface of a block to attempt to light a fire in front of it or ignite the block. A few blocks have an unique reaction when ignited.=Cliquez avec le bouton droit sur la surface d'un bloc pour tenter d'allumer un feu devant lui ou d'allumer le bloc. Quelques blocs ont une réaction unique lorsqu'ils sont enflammés. Fire is a damaging and destructive but short-lived kind of block. It will destroy and spread towards near flammable blocks, but fire will disappear when there is nothing to burn left. It will be extinguished by nearby water and rain. Fire can be destroyed safely by punching it, but it is hurtful if you stand directly in it. If a fire is started above netherrack or a magma block, it will immediately turn into an eternal fire.=Le feu est un type de bloc dommageable et destructeur mais de courte durée. Il se détruira et se propagera vers des blocs proches de produits inflammables, mais le feu disparaîtra lorsqu'il n'y aura plus rien à brûler. Il sera éteint par l'eau et la pluie à proximité. Le feu peut être détruit en toute sécurité en le frappant, mais il est blessant si vous vous tenez directement dedans. Si un feu est déclenché au-dessus d'un netherrack ou d'un bloc de magma, il se transformera immédiatement en un feu éternel. Fire is a damaging but non-destructive short-lived kind of block. It will disappear when there is no flammable block around. Fire does not destroy blocks, at least not in this world. It will be extinguished by nearby water and rain. Fire can be destroyed safely by punching it, but it is hurtful if you stand directly in it. If a fire is started above netherrack or a magma block, it will immediately turn into an eternal fire.=Le feu est un type de bloc éphémère mais non destructif de courte durée. Il disparaîtra en l'absence de bloc inflammable. Le feu ne détruit pas les blocs, du moins pas dans ce monde. Il sera éteint par l'eau et la pluie à proximité. Le feu peut être détruit en toute sécurité en le frappant, mais il est blessant si vous vous tenez directement dedans. Si un feu est déclenché au-dessus d'un netherrack ou d'un bloc de magma, il se transformera immédiatement en un feu éternel. @@ -14,6 +14,6 @@ Eternal fire is a damaging block. Eternal fire can be extinguished by punches an @1 died in the flames.=@1 est mort dans les flammes. @1 died in a fire.=@1 est mort dans un incendie. Fire=Feu -Eternal Fire=Feu Eternel -Dispenser projectile=Distributeur de Projectile +Eternal Fire=Feu éternel +Dispenser projectile=Distributeur de projectile Starts fires and ignites blocks=Démarre les incendies et allume les blocs diff --git a/mods/ITEMS/mcl_fire/textures/fire_basic_flame.png b/mods/ITEMS/mcl_fire/textures/fire_basic_flame.png deleted file mode 100644 index 5ed32ec0e..000000000 Binary files a/mods/ITEMS/mcl_fire/textures/fire_basic_flame.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fireworks/textures/mcl_fireworks_rocket.png b/mods/ITEMS/mcl_fireworks/textures/mcl_fireworks_rocket.png deleted file mode 100644 index 682a8c40d..000000000 Binary files a/mods/ITEMS/mcl_fireworks/textures/mcl_fireworks_rocket.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fishing/init.lua b/mods/ITEMS/mcl_fishing/init.lua index b543b8d99..4e70abce4 100644 --- a/mods/ITEMS/mcl_fishing/init.lua +++ b/mods/ITEMS/mcl_fishing/init.lua @@ -91,6 +91,7 @@ local fish = function(itemstack, player, pointed_thing) { itemstring = "mcl_mobitems:bone", weight = 10 }, { itemstring = "mcl_mobitems:ink_sac", weight = 1, amount_min = 10, amount_max = 10 }, { itemstring = "mcl_mobitems:string", weight = 10 }, -- TODO: Tripwire Hook + { itemstring = "mcl_bamboo:bamboo", weight = 10 }, }, stacks_min = 1, stacks_max = 1, diff --git a/mods/ITEMS/mcl_fishing/textures/mcl_fishing_fishing_rod.png b/mods/ITEMS/mcl_fishing/textures/mcl_fishing_fishing_rod.png deleted file mode 100644 index 564188f7e..000000000 Binary files a/mods/ITEMS/mcl_fishing/textures/mcl_fishing_fishing_rod.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fletching_table/init.lua b/mods/ITEMS/mcl_fletching_table/init.lua index 686a1dc2c..7cb66f8b1 100644 --- a/mods/ITEMS/mcl_fletching_table/init.lua +++ b/mods/ITEMS/mcl_fletching_table/init.lua @@ -11,6 +11,7 @@ minetest.register_node("mcl_fletching_table:fletching_table", { }, paramtype2 = "facedir", groups = { axey = 2, handy = 1, deco_block = 1, material_wood = 1, flammable = 1 }, + sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_blast_resistance = 2.5, _mcl_hardness = 2.5 }) diff --git a/mods/ITEMS/mcl_fletching_table/mod.conf b/mods/ITEMS/mcl_fletching_table/mod.conf index 5a4e9a900..8b2a8ab5c 100644 --- a/mods/ITEMS/mcl_fletching_table/mod.conf +++ b/mods/ITEMS/mcl_fletching_table/mod.conf @@ -1,3 +1,4 @@ name = mcl_fletching_table author = PrairieWind +depends = mcl_core, mcl_sounds, mcl_tools description = Adds the fletching table villager workstation to MineClone 2/5. diff --git a/mods/ITEMS/mcl_fletching_table/textures/fletching_table_bottom.png b/mods/ITEMS/mcl_fletching_table/textures/fletching_table_bottom.png deleted file mode 100644 index 5c1289766..000000000 Binary files a/mods/ITEMS/mcl_fletching_table/textures/fletching_table_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fletching_table/textures/fletching_table_front.png b/mods/ITEMS/mcl_fletching_table/textures/fletching_table_front.png deleted file mode 100644 index 091389e26..000000000 Binary files a/mods/ITEMS/mcl_fletching_table/textures/fletching_table_front.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fletching_table/textures/fletching_table_side.png b/mods/ITEMS/mcl_fletching_table/textures/fletching_table_side.png deleted file mode 100644 index 33ff2842f..000000000 Binary files a/mods/ITEMS/mcl_fletching_table/textures/fletching_table_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_fletching_table/textures/fletching_table_top.png b/mods/ITEMS/mcl_fletching_table/textures/fletching_table_top.png deleted file mode 100644 index e6088e7d2..000000000 Binary files a/mods/ITEMS/mcl_fletching_table/textures/fletching_table_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowerpots/init.lua b/mods/ITEMS/mcl_flowerpots/init.lua index 4d45e6ffd..14350fac6 100644 --- a/mods/ITEMS/mcl_flowerpots/init.lua +++ b/mods/ITEMS/mcl_flowerpots/init.lua @@ -75,11 +75,13 @@ function mcl_flowerpots.register_potted_flower(name, def) use_texture_alpha = "clip", visual_scale = 0.5, paramtype = "light", + paramtype2 = def.paramtype2, + palette = def.palette, sunlight_propagates = true, selection_box = pot_box, collision_box = pot_box, is_ground_content = false, - groups = { dig_immediate = 3, attached_node = 1, dig_by_piston = 1, not_in_creative_inventory = 1, flower_pot = 2 }, + groups = { dig_immediate = 3, attached_node = 1, dig_by_piston = 1, not_in_creative_inventory = 1, flower_pot = 2, grass_palette = def.grass_palette_group }, sounds = mcl_sounds.node_sound_stone_defaults(), on_rightclick = function(pos, item, clicker) local player_name = clicker:get_player_name() diff --git a/mods/ITEMS/mcl_flowerpots/locale/mcl_flowerpots.fr.tr b/mods/ITEMS/mcl_flowerpots/locale/mcl_flowerpots.fr.tr index d80497117..362b96c57 100644 --- a/mods/ITEMS/mcl_flowerpots/locale/mcl_flowerpots.fr.tr +++ b/mods/ITEMS/mcl_flowerpots/locale/mcl_flowerpots.fr.tr @@ -1,26 +1,26 @@ # textdomain: mcl_flowerpots -Dandelion Flower Pot=Pissenlit en Pot -Poppy Flower Pot=Coquelicot en Pot -Blue Orchid Flower Pot=Orchidée Bleue en Pot -Allium Flower Pot=Allium en Pot -Azure Bluet Flower Pot=Houstonie Bleue en Pot -Red Tulip Flower Pot=Tulipe Rouge en Pot -Pink Tulip Flower Pot=Tulipe Rose en Pot -White Tulip Flower Pot=Tulipe Blanche en Pot -Orange Tulip Flower Pot=Tulipe Orange en Pot -Oxeye Daisy Flower Pot=Marguerite en Pot -Brown Mushroom Flower Pot=Champignon Marron en Pot -Red Mushroom Flower Pot=Champignon Rouge en Pot -Oak Sapling Flower Pot=Pousse de Chêne en Pot -Acacia Sapling Flower Pot=Pousse d'Acacia en Pot -Jungle Sapling Flower Pot=Pousse d'Acajou en Pot -Dark Oak Sapling Flower Pot=Pousse de Chêne Noir en Pot -Spruce Sapling Flower Pot=Pousse de Sapin en Pot -Birch Sapling Flower Pot=Pousse de Bouleau en Pot -Dead Bush Flower Pot=Arbuste Mort en Pot -Fern Flower Pot=Fougère en Pot -Cactus Flower Pot=Cactus en Pot -Flower Pot=Pot de Fleurs +Dandelion Flower Pot=Pissenlit en pot +Poppy Flower Pot=Coquelicot en pot +Blue Orchid Flower Pot=Orchidée bleue en pot +Allium Flower Pot=Allium en pot +Azure Bluet Flower Pot=Houstonie bleue en pot +Red Tulip Flower Pot=Tulipe rouge en pot +Pink Tulip Flower Pot=Tulipe rose en pot +White Tulip Flower Pot=Tulipe blanche en pot +Orange Tulip Flower Pot=Tulipe orange en pot +Oxeye Daisy Flower Pot=Marguerite en pot +Brown Mushroom Flower Pot=Champignon marron en pot +Red Mushroom Flower Pot=Champignon rouge en pot +Oak Sapling Flower Pot=Pousse de chêne en pot +Acacia Sapling Flower Pot=Pousse d'acacia en pot +Jungle Sapling Flower Pot=Pousse d'acajou en pot +Dark Oak Sapling Flower Pot=Pousse de chêne noir en pot +Spruce Sapling Flower Pot=Pousse de sapin en pot +Birch Sapling Flower Pot=Pousse de bouleau en pot +Dead Bush Flower Pot=Arbuste mort en pot +Fern Flower Pot=Fougère en pot +Cactus Flower Pot=Cactus en pot +Flower Pot=Pot de fleurs Flower pots are decorative blocks in which flowers and other small plants can be placed.=Les pots de fleurs sont des blocs décoratifs dans lesquels des fleurs et d'autres petites plantes peuvent être placées. Just place a plant on the flower pot. Flower pots can hold small flowers (not higher than 1 block), saplings, ferns, dead bushes, mushrooms and cacti. Rightclick a potted plant to retrieve the plant.=Placez simplement une plante sur le pot de fleurs. Les pots de fleurs peuvent contenir de petites fleurs (pas plus d'un bloc), des pousses, des fougères, des buissons morts, des champignons et des cactus. Cliquez avec le bouton droit sur une plante en pot pour récupérer la plante. Can hold a small flower or plant=Peut contenir une petite fleur ou plante diff --git a/mods/ITEMS/mcl_flowers/init.lua b/mods/ITEMS/mcl_flowers/init.lua index d7b046cf5..e89d01b65 100644 --- a/mods/ITEMS/mcl_flowers/init.lua +++ b/mods/ITEMS/mcl_flowers/init.lua @@ -19,7 +19,7 @@ local get_palette_color_from_pos = function(pos) local biome_name = minetest.get_biome_name(biome) local reg_biome = minetest.registered_biomes[biome_name] if reg_biome then - index = reg_biome._mcl_palette_index + index = reg_biome._mcl_grass_palette_index end end return index @@ -156,7 +156,7 @@ local def_tallgrass = { handy = 1, shearsy = 1, attached_node = 1, deco_block = 1, plant = 1, place_flowerlike = 2, non_mycelium_plant = 1, flammable = 3, fire_encouragement = 60, fire_flammability = 100, - dig_by_water = 1, destroy_by_lava_flow = 1, compostability = 30 + dig_by_water = 1, destroy_by_lava_flow = 1, compostability = 30, grass_palette = 1 }, sounds = mcl_sounds.node_sound_leaves_defaults(), drop = wheat_seed_drop, @@ -190,6 +190,7 @@ if has_mcl_flowerpots then name = "fern", desc = S("Fern"), image = "mcl_flowers_fern_inv.png", + grass_palette_group = 1 }) end @@ -206,7 +207,7 @@ local function add_large_plant(name, desc, longdesc, bottom_img, top_img, inv_im attached_node = 1, deco_block = 1, dig_by_water = 1, destroy_by_lava_flow = 1, dig_by_piston = 1, flammable = 2, fire_encouragement = 60, fire_flammability = 100, - plant = 1, double_plant = 1, non_mycelium_plant = 1, compostability = 65 + plant = 1, double_plant = 1, non_mycelium_plant = 1, compostability = 65, grass_palette = nil } if name == "double_grass" then bottom_groups.compostability = 50 @@ -223,6 +224,7 @@ local function add_large_plant(name, desc, longdesc, bottom_img, top_img, inv_im if grass_color then paramtype2 = "color" palette = "mcl_core_palette_grass.png" + bottom_groups.grass_palette = 1 end if longdesc == nil then bottom_groups.not_in_creative_inventory = 1 @@ -427,6 +429,7 @@ minetest.register_node("mcl_flowers:waterlily", { paramtype = "light", paramtype2 = "facedir", tiles = {"flowers_waterlily.png", "flowers_waterlily.png^[transformFY"}, + color = "#208030", use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true, inventory_image = "flowers_waterlily.png", wield_image = "flowers_waterlily.png", diff --git a/mods/ITEMS/mcl_flowers/locale/template.txt b/mods/ITEMS/mcl_flowers/locale/template.txt index 53a6e7495..0d84093de 100644 --- a/mods/ITEMS/mcl_flowers/locale/template.txt +++ b/mods/ITEMS/mcl_flowers/locale/template.txt @@ -11,6 +11,9 @@ White Tulip= Allium= Azure Bluet= Blue Orchid= +Wither Rose= +Lily of the Valley= +Cornflower= Tall Grass= Tall grass is a small plant which often occurs on the surface of grasslands. It can be harvested for wheat seeds. By using bone meal, tall grass can be turned into double tallgrass which is two blocks high.= Fern= diff --git a/mods/ITEMS/mcl_flowers/register.lua b/mods/ITEMS/mcl_flowers/register.lua index c1bd37878..dc0f7d9a0 100644 --- a/mods/ITEMS/mcl_flowers/register.lua +++ b/mods/ITEMS/mcl_flowers/register.lua @@ -66,3 +66,15 @@ mcl_flowers.register_simple_flower("wither_rose", { selection_box = { -3/16, -0.5, -3/16, 3/16, 6/16, 3/16 }, potted = true, }) +mcl_flowers.register_simple_flower("lily_of_the_valley", { + desc = S("Lily of the Valley"), + image = "mcl_flowers_lily_of_the_valley.png", + selection_box = { -5/16, -0.5, -5/16, 4/16, 5/16, 5/16 }, + potted = true, +}) +mcl_flowers.register_simple_flower("cornflower", { + desc = S("Cornflower"), + image = "mcl_flowers_cornflower.png", + selection_box = { -4/16, -0.5, -4/16, 4/16, 3/16, 4/16 }, + potted = true, +}) diff --git a/mods/ITEMS/mcl_flowers/textures/flowers_waterlily.png b/mods/ITEMS/mcl_flowers/textures/flowers_waterlily.png deleted file mode 100644 index 53b13f25b..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/flowers_waterlily.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_blue_orchid.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_blue_orchid.png deleted file mode 100644 index c5ddf11cc..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_blue_orchid.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_fern_bottom.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_fern_bottom.png deleted file mode 100644 index 84427db2d..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_fern_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_fern_inv.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_fern_inv.png deleted file mode 100644 index 5bc4aa795..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_fern_inv.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_fern_top.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_fern_top.png deleted file mode 100644 index 5d503f85b..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_fern_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_grass_bottom.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_grass_bottom.png deleted file mode 100644 index fc42bb20e..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_grass_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_grass_inv.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_grass_inv.png deleted file mode 100644 index 6f53fac56..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_grass_inv.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_grass_top.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_grass_top.png deleted file mode 100644 index 2dbe8aa3c..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_grass_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_rose_bottom.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_rose_bottom.png deleted file mode 100644 index 13170e669..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_rose_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_sunflower_back.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_sunflower_back.png deleted file mode 100644 index 3bf371775..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_sunflower_back.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_sunflower_bottom.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_sunflower_bottom.png deleted file mode 100644 index 4f169a843..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_sunflower_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_syringa_top.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_syringa_top.png deleted file mode 100644 index ca478a3f8..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_syringa_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_fern.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_fern.png deleted file mode 100644 index 7850e9a81..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_fern.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_fern_inv.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_fern_inv.png deleted file mode 100644 index 3041c3178..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_fern_inv.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_tallgrass.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_tallgrass.png deleted file mode 100644 index 5ab4b00f7..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_tallgrass.png and /dev/null differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_tallgrass_inv.png b/mods/ITEMS/mcl_flowers/textures/mcl_flowers_tallgrass_inv.png deleted file mode 100644 index 3481b46d4..000000000 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_tallgrass_inv.png and /dev/null differ diff --git a/mods/ITEMS/mcl_furnaces/textures/default_furnace_bottom.png b/mods/ITEMS/mcl_furnaces/textures/default_furnace_bottom.png deleted file mode 100644 index 7844072d5..000000000 Binary files a/mods/ITEMS/mcl_furnaces/textures/default_furnace_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_furnaces/textures/default_furnace_front_active.png b/mods/ITEMS/mcl_furnaces/textures/default_furnace_front_active.png deleted file mode 100644 index c425604d2..000000000 Binary files a/mods/ITEMS/mcl_furnaces/textures/default_furnace_front_active.png and /dev/null differ diff --git a/mods/ITEMS/mcl_furnaces/textures/default_furnace_side.png b/mods/ITEMS/mcl_furnaces/textures/default_furnace_side.png deleted file mode 100644 index c154414b1..000000000 Binary files a/mods/ITEMS/mcl_furnaces/textures/default_furnace_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_furnaces/textures/default_furnace_top.png b/mods/ITEMS/mcl_furnaces/textures/default_furnace_top.png deleted file mode 100644 index 7844072d5..000000000 Binary files a/mods/ITEMS/mcl_furnaces/textures/default_furnace_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_grindstone/textures/grindstone_front.png b/mods/ITEMS/mcl_grindstone/textures/grindstone_front.png deleted file mode 100644 index ec72b0470..000000000 Binary files a/mods/ITEMS/mcl_grindstone/textures/grindstone_front.png and /dev/null differ diff --git a/mods/ITEMS/mcl_grindstone/textures/grindstone_side.png b/mods/ITEMS/mcl_grindstone/textures/grindstone_side.png deleted file mode 100644 index ec28f3014..000000000 Binary files a/mods/ITEMS/mcl_grindstone/textures/grindstone_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_grindstone/textures/grindstone_top.png b/mods/ITEMS/mcl_grindstone/textures/grindstone_top.png deleted file mode 100644 index 1096deba6..000000000 Binary files a/mods/ITEMS/mcl_grindstone/textures/grindstone_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_grindstone/textures/gui_crafting_arrow.png b/mods/ITEMS/mcl_grindstone/textures/gui_crafting_arrow.png deleted file mode 100644 index 93ce1e1b9..000000000 Binary files a/mods/ITEMS/mcl_grindstone/textures/gui_crafting_arrow.png and /dev/null differ diff --git a/mods/ITEMS/mcl_hamburger/init.lua b/mods/ITEMS/mcl_hamburger/init.lua index 7d4707bdd..7fbf41d31 100644 --- a/mods/ITEMS/mcl_hamburger/init.lua +++ b/mods/ITEMS/mcl_hamburger/init.lua @@ -22,6 +22,8 @@ local DEBUG = false local enable_burger = minetest.settings:get_bool("mcl_enable_hamburger",true) local use_alt = minetest.settings:get_bool("mcl_hamburger_alt_texture",false) +local HAMBURGER_NAME = "mcl_hamburger:hamburger" + mcl_hamburger = {} if DEBUG then @@ -32,12 +34,12 @@ end function mcl_hamburger.register_burger_craft(cooked_meat) minetest.register_craft({ type = "fuel", - recipe = "mcl_hamburger:hamburger", + recipe = HAMBURGER_NAME, burntime = 2, }) minetest.register_craft({ - output = "mcl_hamburger:hamburger", + output = HAMBURGER_NAME, recipe = { { "mcl_farming:bread"}, { cooked_meat }, -- "mcl_mobitems:cooked_beef" for a reg hamburger. Grind up clowns for a Big Mac. @@ -45,7 +47,7 @@ function mcl_hamburger.register_burger_craft(cooked_meat) }, }) minetest.register_craft({ - output = "mcl_hamburger:hamburger", + output = HAMBURGER_NAME, recipe = { -- "mcl_mobitems:cooked_beef" for a reg hamburger. Grind up clowns for a Big Mac. { "mcl_farming:bread", cooked_meat, "mcl_farming:bread"}, @@ -72,23 +74,23 @@ if not enable_burger then end if use_alt == false then - minetest.register_craftitem("mcl_hamburger:hamburger", hamburger_def) + minetest.register_craftitem(HAMBURGER_NAME, hamburger_def) else local hamburger_alt = table.copy(hamburger_def) hamburger_alt.inventory_image = "mcl_hamburger_alt.png" hamburger_alt.wield_image = "mcl_hamburger_alt.png" - minetest.register_craftitem("mcl_hamburger:hamburger", hamburger_alt) + minetest.register_craftitem(HAMBURGER_NAME, hamburger_alt) end local function register_achievements() - awards.register_achievement("mcl_hamburger:hamburger", { + awards.register_achievement(HAMBURGER_NAME, { title = S("Burger Time!"), description = S("Craft a Hamburger."), icon = "mcl_hamburger_alt.png", trigger = { type = "craft", - item = "mcl_hamburger:hamburger", + item = HAMBURGER_NAME, target = 1 }, type = "Advancement", @@ -101,19 +103,47 @@ local function register_doc_entry() -- register Doc entry if minetest.get_modpath("doc") then - doc.add_entry_alias("craftitems", "mcl_hamburger:hamburger", "craftitems", "mcl_hamburger:hamburger") + doc.add_entry_alias("craftitems", HAMBURGER_NAME, "craftitems", HAMBURGER_NAME) end end if enable_burger then -- make the villagers follow the item - minetest.registered_entities["mobs_mc:villager"].nofollow = false - -- add it to the follow items. - table.insert(minetest.registered_entities["mobs_mc:villager"].follow,"mcl_hamburger:hamburger") - -- register the item and crafting recipe. + local villager = minetest.registered_entities["mobs_mc:villager"] + + table.insert(villager.follow, HAMBURGER_NAME) + + local original_rightclick = villager.on_rightclick + + local new_on_rightclick = function(self, clicker) + --minetest.log("In wrapper function") + + local item = clicker:get_wielded_item() + if item:get_name() == HAMBURGER_NAME then + if self.nofollow == true then + --minetest.log("Turn off nofollow") + self.nofollow = false + elseif self.nofollow == false then + --minetest.log("Turn on nofollow") + self.nofollow = true + end + else + --minetest.log("Not holding burger") + if self.nofollow == false then + --minetest.log("Turn on nofollow") + self.nofollow = true + end + original_rightclick(self, clicker) + end + --minetest.log("Finishing wrapper") + end + + villager.on_rightclick = new_on_rightclick + mcl_hamburger.register_burger_craft("mcl_mobitems:cooked_beef") - -- add in the super cool achievement(s)! + minetest.register_alias("hamburger", HAMBURGER_NAME) + register_achievements() register_doc_entry() end diff --git a/mods/ITEMS/mcl_honey/init.lua b/mods/ITEMS/mcl_honey/init.lua index 82e3d0995..e3b958a7d 100644 --- a/mods/ITEMS/mcl_honey/init.lua +++ b/mods/ITEMS/mcl_honey/init.lua @@ -1,10 +1,33 @@ --------------- ---- Honey ---- --------------- +mcl_honey = {} -- Variables local S = minetest.get_translator(minetest.get_current_modname()) -local alldirs = {{x=0,y=0,z=1}, {x=1,y=0,z=0}, {x=0,y=0,z=-1}, {x=-1,y=0,z=0}, {x=0,y=-1,z=0}, {x=0,y=1,z=0}} +local alldirs = { { x = 0, y = 0, z = 1 }, { x = 1, y = 0, z = 0 }, { x = 0, y = 0, z = -1 }, { x = -1, y = 0, z = 0 }, { x = 0, y = -1, z = 0 }, { x = 0, y = 1, z = 0 } } + +-- Waxing Function +function mcl_honey.wax_block(pos, node, player, itemstack) + -- prevent modification of protected nodes. + if mcl_util.check_position_protection(pos, player) then + return + end + + local def = minetest.registered_nodes[node.name] + + if not def or not def._mcl_copper_waxed_variant then + return + end + + node.name = def._mcl_copper_waxed_variant + minetest.set_node(pos, node) + awards.unlock(player:get_player_name(), "mcl:wax_on") + if not minetest.is_creative_enabled(player:get_player_name()) then + itemstack:take_item() + end + return itemstack +end -- Honeycomb minetest.register_craftitem("mcl_honey:honeycomb", { @@ -13,6 +36,16 @@ minetest.register_craftitem("mcl_honey:honeycomb", { _doc_items_usagehelp = S("Use on copper blocks to prevent further oxidation."), inventory_image = "mcl_honey_honeycomb.png", groups = { craftitem = 1 }, + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + local node = minetest.get_node(pointed_thing.under) + local pos = pointed_thing.under + + -- wax the block. This is the only viable usage of honeycomb's on_place. If it "fails" to wax, then nothing is changed. + return mcl_honey.wax_block(pos, node, placer, itemstack) + end, }) minetest.register_node("mcl_honey:honeycomb_block", { @@ -23,10 +56,10 @@ minetest.register_node("mcl_honey:honeycomb_block", { }, groups = { handy = 1, deco_block = 1 }, sounds = { - dig = {name="slimenodes_dug", gain=0.6, pitch=1.2}, - dug = {name="slimenodes_dug", gain=0.6}, - place = {name="slimenodes_place", gain=0.6}, - footstep = {name="slimenodes_step", gain=0.3}, + dig = { name = "slimenodes_dug", gain = 0.6, pitch = 1.2 }, + dug = { name = "slimenodes_dug", gain = 0.6 }, + place = { name = "slimenodes_place", gain = 0.6 }, + footstep = { name = "slimenodes_step", gain = 0.3 }, }, _mcl_blast_resistance = 0.6, _mcl_hardness = 0.6, @@ -38,7 +71,7 @@ minetest.register_craftitem("mcl_honey:honey_bottle", { _doc_items_longdesc = S("Honey Bottle is used to craft honey blocks and to restore hunger points."), _doc_items_usagehelp = S("Drinking will restore 6 hunger points. Can also be used to craft honey blocks."), inventory_image = "mcl_honey_honey_bottle.png", - groups = { craftitem = 1, food = 3, eatable = 6, can_eat_when_full=1 }, + groups = { craftitem = 1, food = 3, eatable = 6, can_eat_when_full = 1 }, on_place = minetest.item_eat(6, "mcl_potions:glass_bottle"), on_secondary_use = minetest.item_eat(6, "mcl_potions:glass_bottle"), _mcl_saturation = 1.2, @@ -48,21 +81,21 @@ minetest.register_craftitem("mcl_honey:honey_bottle", { minetest.register_node("mcl_honey:honey_block", { description = S("Honey Block"), _doc_items_longdesc = S("Honey Block. Used as a decoration and in redstone. Is sticky on some sides."), - tiles = {"mcl_honey_block_side.png"}, + tiles = { "mcl_honey_block_side.png" }, use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "blend" or true, groups = { handy = 1, deco_block = 1, fall_damage_add_percent = -80 }, sounds = { - dug = {name="slimenodes_dug", gain=0.6}, - place = {name="slimenodes_place", gain=0.6}, - footstep = {name="slimenodes_step", gain=0.3}, + dug = { name = "slimenodes_dug", gain = 0.6 }, + place = { name = "slimenodes_place", gain = 0.6 }, + footstep = { name = "slimenodes_step", gain = 0.3 }, }, paramtype = "light", drawtype = "nodebox", node_box = { type = "fixed", fixed = { - {-0.4, -0.4, -0.4, 0.4, 0.4, 0.4}, - {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + { -0.4, -0.4, -0.4, 0.4, 0.4, 0.4 }, + { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }, } }, selection_box = { @@ -90,7 +123,7 @@ minetest.register_node("mcl_honey:honey_block", { elseif name == "mesecons_pistons:piston_down_sticky_off" or name == "mesecons_pistons:piston_down_normal_off" then piston, piston_down = true, true end - if not( (piston_side and (n-1==neighbor_node.param2)) or (piston_up and (n==5)) or (piston_down and (n==6)) ) then + if not ((piston_side and (n - 1 == neighbor_node.param2)) or (piston_up and (n == 5)) or (piston_down and (n == 6))) then if piston and piston_pos then if piston_pos.x == neighbor_pos.x and piston_pos.y == neighbor_pos.y and piston_pos.z == neighbor_pos.z then -- Loopback to the same piston! Preventing unwanted behavior: diff --git a/mods/ITEMS/mcl_honey/mod.conf b/mods/ITEMS/mcl_honey/mod.conf index 436811291..ff211cefa 100644 --- a/mods/ITEMS/mcl_honey/mod.conf +++ b/mods/ITEMS/mcl_honey/mod.conf @@ -2,3 +2,4 @@ name = mcl_honey author = PrairieWind description = MineClone 2 mod that adds honey and honeycomb and the respective block versions. depends = mesecons_mvps +optional = mcl_copper diff --git a/mods/ITEMS/mcl_honey/textures/mcl_honey_block_bottom.png b/mods/ITEMS/mcl_honey/textures/mcl_honey_block_bottom.png deleted file mode 100644 index 9de965284..000000000 Binary files a/mods/ITEMS/mcl_honey/textures/mcl_honey_block_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_honey/textures/mcl_honey_block_side.png b/mods/ITEMS/mcl_honey/textures/mcl_honey_block_side.png deleted file mode 100644 index 4cdecfb03..000000000 Binary files a/mods/ITEMS/mcl_honey/textures/mcl_honey_block_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_honey/textures/mcl_honey_block_top.png b/mods/ITEMS/mcl_honey/textures/mcl_honey_block_top.png deleted file mode 100644 index c2f330440..000000000 Binary files a/mods/ITEMS/mcl_honey/textures/mcl_honey_block_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_hoppers/init.lua b/mods/ITEMS/mcl_hoppers/init.lua index 258767aad..15bc922ff 100644 --- a/mods/ITEMS/mcl_hoppers/init.lua +++ b/mods/ITEMS/mcl_hoppers/init.lua @@ -405,6 +405,47 @@ local function hopper_pull_from_mc(mc_ent, dest_pos, inv_size) end end +local function hopper_push_to_mc(mc_ent, dest_pos, inv_size) + local dest_inv = mcl_entity_invs.load_inv(mc_ent, inv_size) + if not dest_inv then + mcl_log("No inv") + return false + end + + local meta = minetest.get_meta(dest_pos) + local inv = meta:get_inventory() + if not inv then + mcl_log("No dest inv") + return + end + + mcl_log("inv. size: " .. mc_ent._inv_size) + for i = 1, mc_ent._inv_size, 1 do + local stack = inv:get_stack("main", i) + + mcl_log("i: " .. tostring(i)) + mcl_log("Name: [" .. tostring(stack:get_name()) .. "]") + mcl_log("Count: " .. tostring(stack:get_count())) + mcl_log("stack max: " .. tostring(stack:get_stack_max())) + + if not stack:get_name() or stack:get_name() ~= "" then + if dest_inv:room_for_item("main", stack:peek_item()) then + mcl_log("Room so unload") + dest_inv:add_item("main", stack:take_item()) + inv:set_stack("main", i, stack) + + -- Take one item and stop until next time + return + else + mcl_log("no Room") + end + + else + mcl_log("nothing there") + end + end +end + --[[ BEGIN OF ABM DEFINITONS ]] minetest.register_abm({ @@ -440,6 +481,15 @@ minetest.register_abm({ elseif entity.name == "mcl_minecarts:chest_minecart" then hopper_pull_from_mc(entity, pos, 27) end + elseif (hm_pos.y == pos.y - 1) + and (hm_pos.x >= pos.x - DIST_FROM_MC and hm_pos.x <= pos.x + DIST_FROM_MC) + and (hm_pos.z >= pos.z - DIST_FROM_MC and hm_pos.z <= pos.z + DIST_FROM_MC) then + mcl_log("Minecart close enough") + if entity.name == "mcl_minecarts:hopper_minecart" then + hopper_push_to_mc(entity, pos, 5) + elseif entity.name == "mcl_minecarts:chest_minecart" then + hopper_push_to_mc(entity, pos, 27) + end end end else diff --git a/mods/ITEMS/mcl_hoppers/locale/mcl_hoppers.fr.tr b/mods/ITEMS/mcl_hoppers/locale/mcl_hoppers.fr.tr index 40795d09c..1e3d4806b 100644 --- a/mods/ITEMS/mcl_hoppers/locale/mcl_hoppers.fr.tr +++ b/mods/ITEMS/mcl_hoppers/locale/mcl_hoppers.fr.tr @@ -1,15 +1,15 @@ # textdomain: mcl_hoppers Hopper=Entonnoir -Hoppers are containers with 5 inventory slots. They collect dropped items from above, take items from a container above and attempt to put its items it into an adjacent container. Hoppers can go either downwards or sideways. Hoppers interact with chests, droppers, dispensers, shulker boxes, furnaces and hoppers.=Les entonoirs sont des conteneurs avec 5 emplacements d'inventaire. Ils récupèrent les objets déposés par le haut, prennent les objets d'un conteneur au-dessus et tentent de les placer dans un conteneur adjacent. Les entonnoirs peuvent aller vers le bas ou sur le côté. Les entonnoirs interagissent avec les coffres, les compte-gouttes, les distributeurs, les boites de shulker, les fours et les entonnoirs. +Hoppers are containers with 5 inventory slots. They collect dropped items from above, take items from a container above and attempt to put its items it into an adjacent container. Hoppers can go either downwards or sideways. Hoppers interact with chests, droppers, dispensers, shulker boxes, furnaces and hoppers.=Les entonnoirs sont des conteneurs avec 5 emplacements d'inventaire. Ils récupèrent les objets déposés par le haut, prennent les objets d'un conteneur au-dessus et tentent de les placer dans un conteneur adjacent. Les entonnoirs peuvent aller vers le bas ou sur le côté. Les entonnoirs interagissent avec les coffres, les compte-gouttes, les distributeurs, les boites de shulker, les fours et les entonnoirs. Hoppers interact with containers the following way:=Les entonnoirs interagissent avec les conteneurs de la manière suivante: -• Furnaces: Hoppers from above will put items into the source slot. Hoppers from below take items from the output slot. They also take items from the fuel slot when they can't be used as a fuel. Sideway hoppers that point to the furnace put items into the fuel slot=• Fours: les entonoires d'en haut placent les objets dans l'emplacement source. Les entonoires d'en bas prennent les éléments de la fente de sortie. Ils prennent également des objets de la fente de carburant lorsqu'ils ne peuvent pas être utilisés comme carburant. Des entonaires latérales qui pointent vers le four mettent des objets dans la fente de combustible +• Furnaces: Hoppers from above will put items into the source slot. Hoppers from below take items from the output slot. They also take items from the fuel slot when they can't be used as a fuel. Sideway hoppers that point to the furnace put items into the fuel slot=• Fours: les entonnoirs d'en haut placent les objets dans l'emplacement source. Les entonnoirs d'en bas prennent les éléments de la fente de sortie. Ils prennent également des objets de la fente de carburant lorsqu'ils ne peuvent pas être utilisés comme carburant. Des entonnoirs latérales qui pointent vers le four mettent des objets dans la fente de combustible • Ender chests: No interaction.=• Coffres Ender: Aucune interaction. • Other containers: Normal interaction.=• Autres conteneurs: interaction normale. -Hoppers can be disabled when supplied with redstone power. Disabled hoppers don't move items.=Les entonoires peuvent être désactivées lorsqu'elles sont alimentées en redstone. Les trémies désactivées ne déplacent pas les objets. -To place a hopper vertically, place it on the floor or a ceiling. To place it sideways, place it at the side of a block. Use the hopper to access its inventory.=Pour placer un entonoire verticalement, placez-la au sol ou au plafond. Pour le placer sur le côté, placez-le sur le côté d'un bloc. Utilisez l'entonoire pour accéder à son inventaire. -Disabled Hopper=Entonoir Désactivé -Side Hopper=Entonoir Latéral -Disabled Side Hopper=Entonoir Latéral Désactivé +Hoppers can be disabled when supplied with redstone power. Disabled hoppers don't move items.=Les entonnoirs peuvent être désactivées lorsqu'elles sont alimentées en redstone. Les trémies désactivées ne déplacent pas les objets. +To place a hopper vertically, place it on the floor or a ceiling. To place it sideways, place it at the side of a block. Use the hopper to access its inventory.=Pour placer un entonnoir verticalement, placez-la au sol ou au plafond. Pour le placer sur le côté, placez-le sur le côté d'un bloc. Utilisez l'entonnoir pour accéder à son inventaire. +Disabled Hopper=Entonnoir désactivé +Side Hopper=Entonnoir latéral +Disabled Side Hopper=Entonnoir latéral désactivé Inventory=Inventaire 5 inventory slots=5 emplacements d'inventaire Collects items from above, moves items to container below=Collecte les éléments d'en haut, déplace les éléments vers le conteneur ci-dessous diff --git a/mods/ITEMS/mcl_hoppers/textures/mcl_hoppers_hopper_top.png b/mods/ITEMS/mcl_hoppers/textures/mcl_hoppers_hopper_top.png deleted file mode 100644 index 918e58f5d..000000000 Binary files a/mods/ITEMS/mcl_hoppers/textures/mcl_hoppers_hopper_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_itemframes/item_frames_API.lua b/mods/ITEMS/mcl_itemframes/item_frames_API.lua index 231482800..142de4824 100644 --- a/mods/ITEMS/mcl_itemframes/item_frames_API.lua +++ b/mods/ITEMS/mcl_itemframes/item_frames_API.lua @@ -124,7 +124,7 @@ local function update_map_texture (self, staticdata) self.object:set_properties({ textures = { texture } }) end) if result ~= nil and result == false then - mintest.log("error", "[mcl_itemframes] Error setting up Map Item.") + minetest.log("error", "[mcl_itemframes] Error setting up Map Item.") end end @@ -840,7 +840,7 @@ function mcl_itemframes.create_base_definitions() mcl_itemframes.glow_frame_base._tt_help = S("Can hold an item and glows.") mcl_itemframes.glow_frame_base.longdesc = S("Glowing item frames are decorative blocks in which items can be placed and made to glow.") mcl_itemframes.glow_frame_base.tiles = { "mcl_itemframes_glow_item_frame.png" } - mcl_itemframes.glow_frame_base.inventory_image = "mcl_itemframes_glow_item_frame_item.png" + mcl_itemframes.glow_frame_base.inventory_image = "mcl_itemframes_glow_item_frame.png" mcl_itemframes.glow_frame_base.wield_image = "mcl_itemframes_glow_item_frame.png" mcl_itemframes.glow_frame_base.mesh = "mcl_itemframes_glow_item_frame.obj" mcl_itemframes.glow_frame_base.glow = 1 --make the glow frames have some glow at night, but not enough to be a light source. diff --git a/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_glow_item_frame.png b/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_glow_item_frame.png deleted file mode 100644 index e83b4e060..000000000 Binary files a/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_glow_item_frame.png and /dev/null differ diff --git a/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_glow_item_frame_border.png b/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_glow_item_frame_border.png deleted file mode 100644 index 9062c679f..000000000 Binary files a/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_glow_item_frame_border.png and /dev/null differ diff --git a/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_glow_item_frame_item.png b/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_glow_item_frame_item.png deleted file mode 100644 index e83b4e060..000000000 Binary files a/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_glow_item_frame_item.png and /dev/null differ diff --git a/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_item_frame.png b/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_item_frame.png deleted file mode 100644 index 274749919..000000000 Binary files a/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_item_frame.png and /dev/null differ diff --git a/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_itemframe_background.png b/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_itemframe_background.png deleted file mode 100644 index d48cf26c5..000000000 Binary files a/mods/ITEMS/mcl_itemframes/textures/mcl_itemframes_itemframe_background.png and /dev/null differ diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_top.png b/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_top.png deleted file mode 100644 index 66c3332e6..000000000 Binary files a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_lanterns/init.lua b/mods/ITEMS/mcl_lanterns/init.lua index 65faa5e8c..5be325e48 100644 --- a/mods/ITEMS/mcl_lanterns/init.lua +++ b/mods/ITEMS/mcl_lanterns/init.lua @@ -21,6 +21,10 @@ local allowed_non_solid_nodes_floor = { "mcl_portals:end_portal_frame_eye", "mcl_lanterns:chain" } +-- The function below allows nodes that call it to be included in the 'allowed floor placement' list above. This lets lanterns be placed on top of said nodes. Most useful for modded in nodes. +function mcl_lanterns.add_allowed_non_solid_nodes_floor (node_name) + table.insert (allowed_non_solid_nodes_floor, node_name) +end local allowed_non_solid_groups_floor = {"anvil", "wall", "glass", "fence", "fence_gate", "pane"} @@ -35,6 +39,10 @@ local allowed_non_solid_nodes_ceiling = { "mcl_core:grass_path", "mcl_lanterns:chain" } +-- The function below allows nodes that call it to be included in the 'allowed ceiling placement' list above. This lets lanterns be placed below said nodes. Most useful for modded in nodes. +function mcl_lanterns.add_allowed_non_solid_nodes_ceiling (node_name) + table.insert (allowed_non_solid_nodes_ceiling, node_name) +end local allowed_non_solid_groups_ceiling = {"anvil", "wall", "glass", "fence", "fence_gate", "soil", "pane", "end_portal_frame"} @@ -90,7 +98,7 @@ function mcl_lanterns.register_lantern(name, def) local sounds = mcl_sounds.node_sound_metal_defaults() - minetest.register_node(itemstring_floor, { + minetest.register_node(":"..itemstring_floor, { description = def.description, _doc_items_longdesc = def.longdesc, drawtype = "mesh", @@ -166,7 +174,7 @@ function mcl_lanterns.register_lantern(name, def) _mcl_blast_resistance = 3.5, }) - minetest.register_node(itemstring_ceiling, { + minetest.register_node(":"..itemstring_ceiling, { description = def.description, _doc_items_create_entry = false, drawtype = "mesh", @@ -281,4 +289,4 @@ minetest.register_craft({ }, }) -dofile(modpath.."/register.lua") \ No newline at end of file +dofile(modpath.."/register.lua") diff --git a/mods/ITEMS/mcl_lectern/License.txt b/mods/ITEMS/mcl_lectern/License.txt new file mode 100644 index 000000000..36caec951 --- /dev/null +++ b/mods/ITEMS/mcl_lectern/License.txt @@ -0,0 +1,226 @@ + +GNU GENERAL PUBLIC LICENSE + +Version 3, 29 June 2007 + +Copyright © 2007 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. +Preamble + +The GNU General Public License is a free, copyleft license for software and other kinds of works. + +The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. + +To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. + +For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. + +Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. + +Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. + +Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. + +The precise terms and conditions for copying, distribution and modification follow. +TERMS AND CONDITIONS +0. Definitions. + +“This License” refers to version 3 of the GNU General Public License. + +“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. + +“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations. + +To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work. + +A “covered work” means either the unmodified Program or a work based on the Program. + +To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. + +To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. + +An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. +1. Source Code. + +The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work. + +A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. + +The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. + +The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. + +The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. + +The Corresponding Source for a work in source code form is that same work. +2. Basic Permissions. + +All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. +3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. + +When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. +4. Conveying Verbatim Copies. + +You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. +5. Conveying Modified Source Versions. + +You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified it, and giving a relevant date. + b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”. + c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. + d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. + +A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. +6. Conveying Non-Source Forms. + +You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: + + a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. + b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. + c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. + d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. + e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. + +A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. + +“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. + +If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). + +The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. + +Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. +7. Additional Terms. + +“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or + b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or + c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or + d) Limiting the use for publicity purposes of names of licensors or authors of the material; or + e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or + f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. + +All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. +8. Termination. + +You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). + +However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. + +Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. +9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. +10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. + +An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. +11. Patents. + +A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”. + +A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. + +In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. + +If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. + +A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. +12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. +13. Use with the GNU Affero General Public License. + +Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. +14. Revised Versions of this License. + +The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. + +Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. +15. Disclaimer of Warranty. + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. +16. Limitation of Liability. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +17. Interpretation of Sections 15 and 16. + +If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. + +END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”. + +You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . + +The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . diff --git a/mods/ITEMS/mcl_lectern/README.txt b/mods/ITEMS/mcl_lectern/README.txt new file mode 100644 index 000000000..8afe7108e --- /dev/null +++ b/mods/ITEMS/mcl_lectern/README.txt @@ -0,0 +1,15 @@ + +--- +# Mineclone2-Lectern +--- +A ground up creation of a lectern to be used in MineClone 2. Requires Minetest and Mineclone2. +--- + +Created by Michieal (FaerRaven) @ DateTime: 01/07/2023 (07JAN2023) + +* Made for MineClone 2 by Michieal. +* Texture made by Michieal; The model borrows the top from NathanS21's (Nathan Salapat) Lectern model; The rest of the + lectern model was created by Michieal. +* Creation date: 01/07/2023 (07JAN2023) +* License for Code: GPL3 +* License for Media: CC-BY-SA 4 diff --git a/mods/ITEMS/mcl_lectern/init.lua b/mods/ITEMS/mcl_lectern/init.lua new file mode 100644 index 000000000..e6b7e3db8 --- /dev/null +++ b/mods/ITEMS/mcl_lectern/init.lua @@ -0,0 +1,140 @@ +-- Made for MineClone 2 by Michieal. +-- Texture made by Michieal; The model borrows the top from NathanS21's (Nathan Salapat) Lectern model; The rest of the +-- lectern model was created by Michieal. +-- Creation date: 01/07/2023 (07JAN2023) +-- License for Code: GPL3 +-- License for Media: CC-BY-SA 4 +-- Copyright (C) 2023, Michieal. See: License.txt. + +-- LOCALS +local modname = minetest.get_current_modname() +local S = minetest.get_translator(modname) +local node_sound = mcl_sounds.node_sound_wood_defaults() +local pi = 3.1415926 + +local lectern_def = { + description = S("Lectern"), + _tt_help = S("Lecterns not only look good, but are job site blocks for Librarians."), + _doc_items_longdesc = S("Lecterns not only look good, but are job site blocks for Librarians."), + _doc_items_usagehelp = S("Place the Lectern on a solid node for best results. May attract villagers, so it's best to place outside of where you call 'home'."), + sounds = node_sound, + paramtype = "light", + use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "opaque" or false, + paramtype2 = "facedir", + drawtype = "mesh", + -- visual_scale = 1.0, -- Default is 1.0. + mesh = "mcl_lectern_lectern.obj", + tiles = {"mcl_lectern_lectern.png", }, + groups = {handy = 1, axey = 1, flammable = 2, fire_encouragement = 5, fire_flammability = 5, solid = 1}, + drops = "mcl_lectern:lectern", + sunlight_propagates = true, + walkable = true, + is_ground_content = false, + node_placement_prediction = "", + _mcl_blast_resistance = 3, + _mcl_hardness = 2, + selection_box = { + type = "fixed", + fixed = { + -- L, T, Ba, R, Bo, F. + {-0.32, 0.46, -0.32, 0.32, 0.175, 0.32}, + {-0.18, 0.175, -0.055, 0.18, -0.37, 0.21}, + {-0.32, -0.37, -0.32, 0.32, -0.5, 0.32}, + } + }, + collision_box = { + type = "fixed", + fixed = { + -- L, T, Ba, R, Bo, F. + {-0.32, 0.46, -0.32, 0.32, 0.175, 0.32}, + {-0.18, 0.175, -0.055, 0.18, -0.37, 0.21}, + {-0.32, -0.37, -0.32, 0.32, -0.5, 0.32}, + } + }, + + on_place = function(itemstack, placer, pointed_thing) + local above = pointed_thing.above + local under = pointed_thing.under + + local pos = under + local pname = placer:get_player_name() + if minetest.is_protected(pos, pname) then + minetest.record_protection_violation(pos, pname) + return + end + + -- Use pointed node's on_rightclick function first, if present + local node = minetest.get_node(pointed_thing.under) + if placer and not placer:get_player_control().sneak then + if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then + return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, placer, itemstack) or itemstack + end + end + local dir = vector.subtract(under, above) + local wdir = minetest.dir_to_wallmounted(dir) + local fdir = minetest.dir_to_facedir(dir) + if wdir == 0 then + return itemstack + -- IE., no Hanging Lecterns for you! + end + if wdir == 1 then + -- (only make standing nodes...) + -- Determine the rotation based on player's yaw + local yaw = pi * 2 - placer:get_look_horizontal() + + -- Convert to 16 dir. + local rotation_level = math.round((yaw / (pi * 2)) * 16) + + -- put the rotation level within bounds. + if rotation_level > 15 then + rotation_level = 0 + elseif rotation_level < 0 then + rotation_level = 15 + end + + fdir = math.floor(rotation_level / 4) -- collapse that to 4 dir. + local lectern_node = ItemStack(itemstack) + -- Place the node! + local _, success = minetest.item_place_node(lectern_node, placer, pointed_thing, fdir) + + -- Add placement sound. + local idef = lectern_node:get_definition() + if success then + if idef.sounds and idef.sounds.place then + minetest.sound_play(idef.sounds.place, {pos=above, gain=1}, true) + end + end + + if not success then + return itemstack + end + if not minetest.is_creative_enabled(placer:get_player_name()) then + itemstack:take_item() + end + end + return itemstack + end, +} + +minetest.register_node("mcl_lectern:lectern", lectern_def) +mcl_wip.register_wip_item("mcl_lectern:lectern") + +-- April Fools setup +local date = os.date("*t") +if (date.month == 4 and date.day == 1) then + minetest.override_item("mcl_lectern:lectern", {waving = 2}) +else + minetest.override_item("mcl_lectern:lectern", {waving = 0}) +end + +minetest.register_craft({ + output = "mcl_lectern:lectern", + recipe = { + {"group:slab", "group:slab", "group:slab"}, + {"", "mcl_books:bookshelf", ""}, + {"", "group:slab", ""}, + } +}) + +-- Base Aliases. +minetest.register_alias("lectern", "mcl_lectern:lectern") diff --git a/mods/ITEMS/mcl_lectern/mod.conf b/mods/ITEMS/mcl_lectern/mod.conf new file mode 100644 index 000000000..93cc24041 --- /dev/null +++ b/mods/ITEMS/mcl_lectern/mod.conf @@ -0,0 +1,3 @@ +name = mcl_lectern +depends = mcl_core, mcl_sounds, mcl_tools +author = Michieal \ No newline at end of file diff --git a/mods/ITEMS/mcl_lectern/models/mcl_lectern_lectern.obj b/mods/ITEMS/mcl_lectern/models/mcl_lectern_lectern.obj new file mode 100644 index 000000000..94e1db8e1 --- /dev/null +++ b/mods/ITEMS/mcl_lectern/models/mcl_lectern_lectern.obj @@ -0,0 +1,223 @@ +# Blender 3.5.0 Alpha +# www.blender.org +mtllib mcl_lectern_lectern.mtl +o Lectern_Cube.012 +v 0.179604 0.312500 -0.062500 +v -0.179604 0.312500 -0.062500 +v 0.179604 0.363193 0.205629 +v -0.179604 0.363193 0.205629 +v 0.179604 -0.375000 -0.062500 +v -0.179604 -0.375000 -0.062500 +v 0.179604 -0.375000 0.205629 +v -0.179604 -0.375000 0.205629 +v 0.311850 -0.500000 0.312500 +v 0.311850 -0.375000 0.312500 +v -0.311649 -0.500000 0.312500 +v -0.311649 -0.375000 0.312500 +v 0.311850 -0.500000 -0.312500 +v 0.311850 -0.375000 -0.312500 +v -0.311649 -0.500000 -0.312500 +v -0.311649 -0.375000 -0.312500 +v 0.312500 0.186356 -0.272278 +v 0.312500 0.245087 -0.293654 +v 0.312500 0.400118 0.315030 +v 0.312500 0.458849 0.293654 +v -0.312500 0.186356 -0.272278 +v -0.312500 0.245087 -0.293654 +v -0.312500 0.400118 0.315030 +v -0.312500 0.458849 0.293654 +v 0.312500 0.207732 -0.213547 +v 0.312500 0.266463 -0.234923 +v -0.312500 0.207732 -0.213547 +v -0.312500 0.266463 -0.234923 +v -0.312500 0.325194 -0.256299 +v -0.312500 0.303817 -0.315030 +v 0.312500 0.303817 -0.315030 +v 0.312500 0.325194 -0.256299 +v 0.151506 0.084133 0.146440 +v -0.157381 0.084133 0.146440 +v -0.157381 -0.203113 0.146441 +v 0.151506 -0.203113 0.146441 +v 0.151523 0.084130 -0.062500 +v -0.157397 0.084130 -0.062500 +v 0.151523 -0.203120 -0.062500 +v -0.157397 -0.203120 -0.062500 +v 0.151768 0.044855 0.077978 +v 0.064092 -0.203638 0.077978 +v 0.151797 0.044842 -0.062023 +v 0.064120 -0.203654 -0.062023 +v 0.028419 -0.191051 0.077979 +v 0.116095 0.057441 0.077979 +v 0.116124 0.057428 -0.062022 +v 0.028447 -0.191068 -0.062022 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.0000 -1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 0.3420 0.9397 +vn -0.0000 -0.3420 -0.9397 +vn -0.0000 -0.9397 0.3420 +vn -0.0000 0.9397 -0.3420 +vn -0.0000 -1.0000 -0.0000 +vn -1.0000 -0.0000 -0.0001 +vn 1.0000 -0.0000 -0.0001 +vn 0.9430 -0.3327 0.0002 +vn -0.9430 0.3327 -0.0002 +vn 0.3327 0.9430 -0.0000 +vn -0.3327 -0.9430 -0.0000 +vt 0.000000 0.000000 +vt 0.343750 -0.000000 +vt 0.312500 0.000000 +vt -0.000000 -0.000000 +vt 0.312500 0.000000 +vt 0.000000 0.000000 +vt 0.312500 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.437500 +vt 0.343750 0.625000 +vt 0.312500 0.437500 +vt -0.000000 0.625000 +vt 0.312500 0.437500 +vt 0.000000 0.437500 +vt 0.312500 0.437500 +vt 0.000000 0.437500 +vt 0.312500 0.593750 +vt 0.000000 0.593750 +vt 0.312500 0.656250 +vt 0.000000 0.656250 +vt 1.000000 1.000000 +vt 0.000000 0.593750 +vt 0.312500 0.593750 +vt 0.000000 0.656250 +vt 0.312500 0.656250 +vt 1.000000 0.437500 +vt 0.000000 0.593750 +vt 0.312500 0.593750 +vt 0.000000 0.656250 +vt 0.312500 0.656250 +vt 0.437500 1.000000 +vt 0.000000 0.593750 +vt 0.312500 0.593750 +vt 0.000000 0.656250 +vt 0.312500 0.656250 +vt 0.437500 0.437500 +vt 0.125000 1.000000 +vt 0.125000 0.687500 +vt 0.062500 0.687500 +vt 0.187500 1.000000 +vt 0.125000 1.000000 +vt 0.312500 1.000000 +vt 0.437500 1.000000 +vt 0.062500 1.000000 +vt 0.250000 1.000000 +vt 1.000000 1.000000 +vt 0.125000 0.687500 +vt 0.062500 0.687500 +vt 0.187500 0.687500 +vt 0.312500 0.687500 +vt 0.437500 0.437500 +vt 0.125000 1.000000 +vt 0.250000 0.687500 +vt 1.000000 0.437500 +vt 0.062500 1.000000 +vt 1.000000 1.000000 +vt 0.062500 1.000000 +vt 0.125000 0.718750 +vt 0.437500 1.000000 +vt 0.062500 0.718750 +vt 1.000000 0.437500 +vt 0.062500 0.687500 +vt 0.125000 0.718750 +vt 0.437500 0.437500 +vt 0.062500 0.718750 +vt 0.437500 0.687500 +vt -0.000000 0.718750 +vt 0.375000 0.687500 +vt -0.000000 0.687500 +vt 0.312500 0.687500 +vt 0.250000 0.687500 +vt 0.312500 1.000000 +vt -0.000000 0.687500 +vt 0.250000 1.000000 +vt 0.375000 1.000000 +vt -0.000000 0.718750 +vt 0.687500 0.375000 +vt 0.312500 0.375000 +vt 0.687500 0.375000 +vt 0.312500 0.000000 +vt 0.312500 0.375000 +vt 0.687500 0.000000 +vt 0.687500 0.375000 +vt 0.312500 0.375000 +vt 0.312500 0.218750 +vt 0.687500 -0.000000 +vt 0.031250 0.218750 +vt 0.312500 -0.000000 +vt 0.687500 -0.000000 +vt 0.312500 0.468750 +vt 0.687500 -0.000000 +vt 0.312500 -0.000000 +vt 0.031250 0.468750 +vt 0.312500 -0.000000 +vt 0.937500 -0.000000 +vt 0.937500 0.437500 +vt 0.937500 0.437500 +vt 1.000000 0.437500 +vt 0.687500 0.000000 +vt 0.937500 0.218750 +vt 0.750000 0.000000 +vt 0.687500 0.437500 +vt 0.750000 0.437500 +vt 1.000000 0.218750 +vt 0.937500 0.000000 +vt 1.000000 0.437500 +vt 0.937500 0.437500 +vt 0.937500 0.437500 +vt 1.000000 -0.000000 +vt 1.000000 0.437500 +vt 0.687500 0.437500 +vt 1.000000 0.218750 +vt 0.687500 0.000000 +vt 0.687500 0.000000 +vt 0.687500 0.437500 +vt 0.937500 0.218750 +s 0 +usemtl Material +f 1/1/1 3/5/1 7/13/1 5/9/1 +f 3/6/2 4/7/2 8/15/2 7/14/2 +f 9/17/2 10/19/2 12/24/2 11/22/2 +f 36/82/3 35/80/3 34/78/3 33/77/3 +f 8/16/4 4/8/4 2/3/4 6/11/4 +f 11/23/4 12/25/4 16/34/4 15/32/4 +f 15/33/3 16/35/3 14/29/3 13/27/3 +f 13/28/1 14/30/1 10/20/1 9/18/1 +f 16/36/5 12/26/5 10/21/5 14/31/5 +f 25/58/1 26/60/1 20/44/1 19/41/1 +f 19/42/6 20/45/6 24/53/6 23/50/6 +f 27/63/4 28/65/4 22/48/4 21/47/4 +f 21/47/7 22/49/7 18/40/7 17/37/7 +f 22/48/4 28/65/4 29/67/4 30/69/4 +f 25/56/8 19/43/8 23/51/8 27/61/8 +f 17/37/8 25/57/8 27/62/8 21/47/8 +f 24/54/9 20/46/9 26/59/9 28/64/9 +f 23/52/4 24/55/4 28/65/4 27/63/4 +f 17/38/1 18/39/1 26/60/1 25/58/1 +f 29/68/9 32/75/9 31/72/9 30/70/9 +f 28/66/6 26/59/6 32/75/6 29/68/6 +f 26/60/1 18/39/1 31/73/1 32/76/1 +f 18/40/7 22/49/7 30/71/7 31/74/7 +f 37/85/3 38/87/3 2/4/3 1/2/3 +f 39/90/3 37/85/3 1/2/3 5/10/3 +f 40/93/3 39/90/3 5/10/3 6/12/3 +f 38/87/3 40/93/3 6/12/3 2/4/3 +f 33/77/10 34/78/10 38/88/10 37/86/10 +f 35/81/5 36/83/5 39/91/5 40/94/5 +f 36/84/11 33/77/11 37/86/11 39/92/11 +f 34/79/12 35/81/12 40/94/12 38/89/12 +f 44/102/13 43/99/13 41/95/13 42/97/13 +f 45/105/14 46/108/14 47/111/14 48/114/14 +f 41/95/2 46/109/2 45/106/2 42/97/2 +f 43/100/15 47/112/15 46/110/15 41/96/15 +f 44/103/3 48/115/3 47/113/3 43/101/3 +f 42/98/16 45/107/16 48/116/16 44/104/16 diff --git a/mods/ITEMS/mcl_loom/init.lua b/mods/ITEMS/mcl_loom/init.lua index 19be8d58b..5475980bd 100644 --- a/mods/ITEMS/mcl_loom/init.lua +++ b/mods/ITEMS/mcl_loom/init.lua @@ -12,6 +12,7 @@ minetest.register_node("mcl_loom:loom", { }, paramtype2 = "facedir", groups = { axey = 2, handy = 1, deco_block = 1, material_wood = 1, flammable = 1 }, + sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_blast_resistance = 2.5, _mcl_hardness = 2.5 }) diff --git a/mods/ITEMS/mcl_loom/mod.conf b/mods/ITEMS/mcl_loom/mod.conf index 9ebb10ff3..e316b201a 100644 --- a/mods/ITEMS/mcl_loom/mod.conf +++ b/mods/ITEMS/mcl_loom/mod.conf @@ -1,3 +1,4 @@ name = mcl_loom author = PrairieWind +depends = mcl_core, mcl_sounds, mcl_tools description = Adds the loom villager workstation to MineClone 2/5. Used to add patterns to banners. \ No newline at end of file diff --git a/mods/ITEMS/mcl_loom/textures/loom_bottom.png b/mods/ITEMS/mcl_loom/textures/loom_bottom.png deleted file mode 100644 index bf4e7c0c5..000000000 Binary files a/mods/ITEMS/mcl_loom/textures/loom_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_loom/textures/loom_front.png b/mods/ITEMS/mcl_loom/textures/loom_front.png deleted file mode 100644 index 83191e649..000000000 Binary files a/mods/ITEMS/mcl_loom/textures/loom_front.png and /dev/null differ diff --git a/mods/ITEMS/mcl_loom/textures/loom_side.png b/mods/ITEMS/mcl_loom/textures/loom_side.png deleted file mode 100644 index 3e64107c7..000000000 Binary files a/mods/ITEMS/mcl_loom/textures/loom_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_loom/textures/loom_top.png b/mods/ITEMS/mcl_loom/textures/loom_top.png deleted file mode 100644 index cf0c1e3eb..000000000 Binary files a/mods/ITEMS/mcl_loom/textures/loom_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mangrove/init.lua b/mods/ITEMS/mcl_mangrove/init.lua index 410da28d4..3e1cecba9 100644 --- a/mods/ITEMS/mcl_mangrove/init.lua +++ b/mods/ITEMS/mcl_mangrove/init.lua @@ -92,13 +92,15 @@ local l_def = { _doc_items_hidden = false, drawtype = "allfaces_optional", waving = 2, - place_param2 = 1, -- Prevent leafdecay for placed nodes tiles = {"mcl_mangrove_leaves.png"}, + color = "#48B518", paramtype = "light", + paramtype2 = "color", + palette = "mcl_core_palette_foliage.png", groups = { handy = 1, hoey = 1, shearsy = 1, swordy = 1, dig_by_piston = 1, flammable = 2, fire_encouragement = 30, fire_flammability = 60, - leaves = 1, deco_block = 1, compostability = 30 + leaves = 1, deco_block = 1, compostability = 30, foliage_palette = 1 }, drop = get_drops(0), _mcl_shears_drop = true, @@ -107,13 +109,24 @@ local l_def = { _mcl_hardness = 0.2, _mcl_silk_touch_drop = true, _mcl_fortune_drop = { get_drops(1), get_drops(2), get_drops(3), get_drops(4) }, + on_construct = function(pos) + local node = minetest.get_node(pos) + if node.param2 == 0 or node.param2 == 1 then -- Check if param2 is 1 as well, since the schematics accidentally have the param2 of mangrove leaves be 1. + local new_node = mcl_core.get_foliage_block_type(pos) + if new_node.param2 ~= 0 then + minetest.swap_node(pos, new_node) + end + end + end, + after_place_node = function(pos) + mcl_core.make_player_leaves(pos) -- Leaves placed by the player should always be player leaves. + end, } minetest.register_node("mcl_mangrove:mangroveleaves", l_def) local o_def = table.copy(l_def) o_def._doc_items_create_entry = false -o_def.place_param2 = nil o_def.groups.not_in_creative_inventory = 1 o_def.groups.orphan_leaves = 1 o_def._mcl_shears_drop = {"mcl_mangrove:mangroveleaves"} @@ -298,7 +311,7 @@ mcl_flowerpots.register_potted_flower("mcl_mangrove:propagule", { image = "mcl_mangrove_propagule.png", }) -local water_tex = "default_water_source_animated.png^[verticalframe:16:0" +local water_tex = "default_water_source_animated.png^[verticalframe:16:0^[multiply:#3F76E4" local wlroots = { description = S("water logged mangrove roots"), @@ -350,7 +363,7 @@ local rwlroots = table.copy(wlroots) -- FIXME luacheck complains that this is a repeated definition of water_tex. -- Maybe the tiles definition below should be replaced with the animated tile -- definition as per above? -water_tex = "default_river_water_source_animated.png^[verticalframe:16:0" +water_tex = "default_water_source_animated.png^[verticalframe:16:0^[multiply:#0084FF" rwlroots.tiles = { "("..water_tex..")^mcl_mangrove_roots_top.png", "("..water_tex..")^mcl_mangrove_roots_side.png", @@ -549,8 +562,9 @@ minetest.register_abm({ local nn = minetest.find_nodes_in_area(vector.offset(pos,0,-1,0),vector.offset(pos,0,h,0),{"group:water","air"}) if #nn >= h then minetest.place_schematic(pos, path, "random", function() - local nnv = minetest.find_nodes_in_area(vector.offset(pos,-5,-1,-5),vector.offset(pos,5,h/2,5),{"mcl_core:vine"}) - minetest.bulk_set_node(nnv,{"air"}) + mcl_core.update_sapling_foliage_colors(pos) + local nnv = minetest.find_nodes_in_area(vector.offset(pos,-5,-1,-5),vector.offset(pos,5,h/2,5),{"mcl_core:vine"}) + minetest.bulk_set_node(nnv,{"air"}) end, true, "place_center_x, place_center_z") end return @@ -558,6 +572,7 @@ minetest.register_abm({ if r > 3 then h = 18 end if mcl_core.check_growth_width(pos,w,h) then minetest.place_schematic(pos, path, "random", nil, true, "place_center_x, place_center_z") + mcl_core.update_sapling_foliage_colors(pos) end -end + end, }) diff --git a/mods/ITEMS/mcl_mangrove/locale/mcl_mangrove.fr.tr b/mods/ITEMS/mcl_mangrove/locale/mcl_mangrove.fr.tr index d5a2bb74e..b47ed9136 100644 --- a/mods/ITEMS/mcl_mangrove/locale/mcl_mangrove.fr.tr +++ b/mods/ITEMS/mcl_mangrove/locale/mcl_mangrove.fr.tr @@ -1,36 +1,36 @@ # textdomain: mcl_mangrove -Mangrove Wood=Bûche de Palétuvier -The trunk of a Mangrove tree.=Le tronc d'un Palétuvier. -Mangrove Bark=Bois de Palétuvier -The bark of a Mangrove tree.=L'écorce d'un Palétuvier. -Mangrove Wood Planks=Planches de Palétuvier -Mangrove Leaves=Feuilles de Palétuvier +Mangrove Wood=Bûche de palétuvier +The trunk of a Mangrove tree.=Le tronc d'un palétuvier. +Mangrove Bark=Bois de palétuvier +The bark of a Mangrove tree.=L'écorce d'un palétuvier. +Mangrove Wood Planks=Planches de palétuvier +Mangrove Leaves=Feuilles de palétuvier mangrove leaves are grown from mangrove trees.=les feuilles de palétuvier poussent sur les palétuviers. -Stripped Mangrove Wood=Bûche de Palétuvier Ecorcée +Stripped Mangrove Wood=Bûche de palétuvier écorcée The stripped wood of a Mangrove tree=La bûche écorcée d'un palétuvier -Stripped Mangrove Bark=Bois de Palétuvier Ecorcé +Stripped Mangrove Bark=Bois de palétuvier écorcé The stripped bark of a Mangrove tree=Le bois écorcé d'un palétuvier -Mangrove Roots=Racines de Palétuvier +Mangrove Roots=Racines de palétuvier Mangrove roots are decorative blocks that form as part of mangrove trees.=Les racines de palétuvier sont des blocs décoratifs qui font partie des palétuviers. -Mangrove Propagule=Propagule de Palétuvier +Mangrove Propagule=Propagule de palétuvier Needs soil and light to grow=A besoin de terre et de lumière pour pousser When placed on soil (such as dirt) and exposed to light, an propagule will grow into an mangrove after some time.=Lorsque placé sur la terre et exposée à la lumière, une propagule pousera en palétuvier après un certain temps. Hanging Propagule=Propagule suspendue -Grows on Mangrove leaves=Pousse sur les feuilles de Palétuvier +Grows on Mangrove leaves=Pousse sur les feuilles de palétuvier water logged mangrove roots=racines de palétuvier immergées Mangrove roots, despite being a full block, can be waterlogged and do not flow water out=Les racines de palétuvier sont un bloc plein mais qui peut être immergé et ne remplace pas l'eau. These cannot be crafted yet only occure when get in contact of water.=Elles ne peuvent être fabriquées mais se forment au contact de l'eau. -Muddy Mangrove Roots=Racines de Palétuvier Boueuses -crafted with Mud and Mangrove roots=fabriqué avec de la Boue et des racines de Palétuvier -Muddy Mangrove Roots is a block from mangrove swamp.It drowns player a bit inside it.=Les Racines de Palétuvier Boueuses sont un bloc du marécage de la mangrove. Il noie un joueur à l'intérieur. -Mangrove Door=Porte en Palétuvier +Muddy Mangrove Roots=Racines de palétuvier boueuses +crafted with Mud and Mangrove roots=fabriqué avec de la boue et des racines de palétuvier +Muddy Mangrove Roots is a block from mangrove swamp.It drowns player a bit inside it.=Les racines de palétuvier boueuses sont un bloc du marécage de la mangrove. Il noie un joueur à l'intérieur. +Mangrove Door=Porte en palétuvier Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal.=Les portes en bois sont des barrières hautes à 2 blocs qui peuvent être ouvertes ou fermées à la main et par un signal redstone. To open or close a wooden door, rightclick it or supply its lower half with a redstone signal.=Pour ouvrir ou fermer une porte en bois, faites un clic droit dessus ou fournissez à sa moitié inférieure un signal redstone. -Mangrove Trapdoor=Trappe en Palétuvier +Mangrove Trapdoor=Trappe en palétuvier Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder.=Les trappes de bois sont des barrières horizontales qui peuvent être ouvertes et fermées à la main ou avec un signal redstone. Elles occupent la partie haut ou bas d'un bloc, selon la manière dont elles ont été placées. -To open or close the trapdoor, rightclick it or send a redstone signal to it.=Pour ouvrir et fermer la trappe, la cliquer droit ou lui envoyer un signal redstone. -Mangrove Wood Fence=Barrière de Palétuvier -Mangrove Wood Fence Gate=Portillion de Palétuvier -Mangrove Wood Stairs=Escalier en Bois de Palétuvier -Mangrove Wood Slab=Dalle en Bois de Palétuvier -Double Mangrove Wood Slab=Double Dalle en Bois de Palétuvier +To open or close the trapdoor, rightclick it or send a redstone signal to it.=Pour ouvrir et fermer la trappe, faire un clic droit ou lui envoyer un signal redstone. +Mangrove Wood Fence=Barrière de palétuvier +Mangrove Wood Fence Gate=Portillion de palétuvier +Mangrove Wood Stairs=Escalier en bois de palétuvier +Mangrove Wood Slab=Dalle en bois de palétuvier +Double Mangrove Wood Slab=Double Dalle en bois de palétuvier diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_leaves.png b/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_leaves.png deleted file mode 100644 index cae97fdb4..000000000 Binary files a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_leaves.png and /dev/null differ diff --git a/mods/ITEMS/mcl_maps/colors.json b/mods/ITEMS/mcl_maps/colors.json index b6519a9c3..5b18d6d62 100644 --- a/mods/ITEMS/mcl_maps/colors.json +++ b/mods/ITEMS/mcl_maps/colors.json @@ -1 +1,10207 @@ -{"player.png": [123, 74, 62], "player_back.png": [114, 68, 56], "mcl_skins_button.png": [121, 95, 85], "mcl_skins_character_1.png": [93, 90, 77], "mcl_hunger_bar_saturation.png": [255, 255, 0], "hbhunger_bar_health_poison.png": [148, 120, 24], "mcl_hunger_bar_exhaustion.png": [255, 255, 255], "mcl_hunger_icon_exhaustion.png": [213, 213, 213], "mcl_hunger_bgicon_exhaustion.png": [25, 25, 26], "mcl_hunger_icon_foodpoison.png": [109, 106, 40], "mcl_hunger_bgicon_saturation.png": [24, 24, 26], "hbhunger_bar.png": [200, 103, 0], "hbhunger_bgicon.png": [24, 24, 26], "hbhunger_icon_health_poison.png": [69, 98, 45], "mcl_hunger_bar_foodpoison.png": [116, 132, 88], "hbhunger_icon.png": [175, 132, 97], "mcl_hunger_icon_saturation.png": [157, 140, 64], "mcl_playerplus_end_sky.png": [14, 14, 14], "mobs_mc_llama_decor_purple.png": [108, 72, 115], "mobs_mc_spawn_icon_illusioner.png": [98, 111, 155], "mobs_mc_llama_gray.png": [195, 188, 175], "mobs_mc_spawn_icon_zombie.png": [64, 136, 112], "mobs_mc_llama_decor_blue.png": [117, 121, 156], "mobs_mc_spawn_icon_skeleton.png": [146, 146, 146], "mobs_mc_shulker_blue.png": [89, 100, 126], "mobs_mc_shulker_black.png": [78, 75, 76], "mobs_mc_wolf_collar.png": [186, 186, 186], "mobs_mc_spawn_icon_bat.png": [130, 63, 13], "mobs_mc_villager_weaponsmith.png": [75, 74, 62], "mobs_mc_parrot_green.png": [47, 208, 62], "mobs_mc_llama_decor_magenta.png": [186, 84, 131], "mobs_mc_rabbit_black.png": [73, 64, 61], "mobs_mc_vindicator.png": [56, 56, 57], "mobs_mc_polarbear.png": [233, 220, 208], "mobs_mc_magmacube.png": [83, 40, 27], "mobs_mc_chicken.png": [198, 182, 176], "mobs_mc_villager_toolsmith.png": [78, 76, 64], "mobs_mc_ghast_firing.png": [198, 198, 198], "mobs_mc_spawn_icon_zombie_pigman.png": [202, 160, 135], "mobs_mc_husk.png": [98, 95, 76], "mobs_mc_villager_librarian.png": [167, 161, 151], "mobs_mc_villager_priest.png": [119, 112, 98], "mobs_mc_villager_fletcher.png": [84, 86, 52], "mobs_mc_villager_smith.png": [76, 76, 63], "mobs_mc_spawn_icon_dragon.png": [98, 47, 89], "mobs_mc_spawn_icon_donkey.png": [152, 132, 100], "mobs_mc_squid.png": [37, 52, 68], "mobs_mc_villager_farmer.png": [94, 87, 70], "mobs_mc_spawn_icon_horse_skeleton.png": [245, 204, 202], "mobs_mc_villager_sheperd.png": [97, 98, 66], "mobs_mc_horse_markings_blackdots.png": [24, 22, 22], "mobs_mc_zombie_farmer.png": [119, 99, 85], "mobs_mc_spawn_icon_vex.png": [145, 185, 185], "mobs_mc_villager_armorer.png": [86, 87, 55], "mobs_mc_parrot_blue.png": [43, 58, 148], "mobs_mc_spider_eyes.png": [174, 48, 48], "mobs_mc_zombie.png": [78, 110, 105], "mobs_mc_llama_decor_light_blue.png": [116, 200, 250], "mobs_mc_zombie_priest.png": [120, 104, 110], "mobs_mc_llama_decor_black.png": [12, 8, 24], "mobs_mc_horse_white.png": [190, 173, 154], "mobs_mc_spawn_icon_vindicator.png": [102, 103, 104], "mobs_mc_silverfish.png": [179, 164, 144], "mobs_mc_llama_decor_gray.png": [110, 110, 110], "mobs_mc_spawn_icon_guardian.png": [119, 156, 148], "mobs_mc_creeper.png": [98, 107, 71], "mobs_mc_shulker_purple.png": [135, 87, 99], "mobs_mc_spawn_icon_rabbit.png": [156, 126, 84], "mobs_mc_sheep.png": [182, 161, 149], "mobs_mc_parrot_grey.png": [33, 178, 173], "mobs_mc_wolf_icon_sit.png": [8, 88, 116], "mobs_mc_gold_horse_armor.png": [140, 106, 67], "mobs_mc_spawn_icon_witch.png": [98, 85, 68], "mobs_mc_shulker_green.png": [89, 122, 84], "mobs_mc_bat.png": [87, 63, 54], "mobs_mc_villager_cartographer.png": [164, 157, 145], "mobs_mc_horse_chestnut.png": [126, 78, 58], "mobs_mc_shulker_yellow.png": [175, 128, 69], "mobs_mc_spawn_icon_creeper.png": [115, 125, 53], "mobs_mc_slime.png": [63, 133, 78], "mobs_mc_evoker.png": [44, 48, 43], "mobs_mc_horse_skeleton.png": [163, 156, 141], "mobs_mc_spawn_icon_blaze.png": [142, 76, 49], "mobs_mc_shulker_light_blue.png": [114, 140, 158], "mobs_mc_shulker_gray.png": [106, 104, 109], "mobs_mc_horse_darkbrown.png": [69, 47, 34], "mobs_mc_stray_overlay.png": [63, 59, 65], "mobs_mc_arrow_particle.png": [218, 171, 136], "mobs_mc_spawn_icon_cat.png": [120, 66, 10], "mobs_mc_stray.png": [155, 157, 161], "mobs_mc_villager_nitwit.png": [91, 93, 60], "mobs_mc_trading_formspec_bg.png": [157, 157, 157], "mobs_mc_spawn_icon_villager.png": [134, 124, 81], "mobs_mc_pig.png": [228, 175, 165], "mobs_mc_spawn_icon_mooshroom.png": [160, 56, 55], "mobs_mc_wolf_angry.png": [187, 179, 176], "mobs_mc_cat_black.png": [206, 181, 154], "mobs_mc_vex_charging.png": [142, 153, 153], "mobs_mc_llama.png": [207, 189, 155], "mobs_mc_mushroom_brown.png": [122, 81, 58], "mobs_mc_spawn_icon_shulker.png": [170, 117, 130], "mobs_mc_wither_half_health.png": [7, 58, 91], "mobs_mc_spawn_icon_guardian_elder.png": [174, 140, 113], "mobs_mc_enderman_eyes.png": [184, 211, 242], "mobs_mc_horse_creamy.png": [146, 111, 75], "mobs_mc_spawn_icon_zombie_villager.png": [95, 110, 68], "mobs_mc_vex.png": [128, 162, 162], "mobs_mc_iron_golem.png": [47, 44, 44], "mobs_mc_cat_ocelot.png": [163, 111, 52], "mobs_mc_llama_decor_green.png": [51, 84, 27], "mobs_mc_cow.png": [94, 68, 55], "mobs_mc_llama_decor_brown.png": [85, 58, 46], "mobs_mc_villager_butcher.png": [95, 92, 79], "mobs_mc_parrot_yellow_blue.png": [98, 187, 205], "mobs_mc_zombie_pigman.png": [164, 129, 117], "mobs_mc_spawn_icon_wolf.png": [231, 218, 207], "mobs_mc_zombie_villager.png": [112, 108, 90], "mobs_mc_sheep_fur.png": [203, 186, 174], "mobs_mc_spawn_icon_horse_zombie.png": [129, 143, 66], "mobs_mc_blaze.png": [84, 63, 50], "mobs_mc_rabbit_salt.png": [122, 99, 87], "mobs_mc_rabbit_white_splotched.png": [146, 139, 135], "mobs_mc_horse_brown.png": [115, 84, 61], "mobs_mc_ghast.png": [199, 199, 199], "mobs_mc_horse_markings_white.png": [165, 149, 132], "mobs_mc_horse_markings_whitefield.png": [193, 178, 162], "mobs_mc_spawn_icon_endermite.png": [138, 67, 74], "mobs_mc_shulker_magenta.png": [143, 97, 130], "mobs_mc_snowman.png": [211, 217, 221], "mobs_mc_zombie_smith.png": [71, 59, 54], "mobs_mc_spawn_icon_squid.png": [55, 58, 103], "mobs_mc_dragon_fireball.png": [89, 66, 79], "mobs_mc_diamond_horse_armor.png": [67, 95, 112], "mobs_mc_rabbit_toast.png": [130, 123, 119], "mobs_mc_llama_white.png": [207, 199, 184], "mobs_mc_llama_creamy.png": [208, 190, 155], "mobs_mc_pig_saddle.png": [82, 63, 45], "mobs_mc_spawn_icon_cave_spider.png": [23, 43, 57], "mobs_mc_shulker_silver.png": [140, 138, 143], "mobs_mc_trading_formspec_disabled.png": [193, 26, 26], "mobs_mc_spider.png": [41, 38, 37], "mobs_mc_wither.png": [33, 33, 33], "mobs_mc_llama_decor_white.png": [231, 231, 231], "mobs_mc_witch.png": [80, 74, 67], "mobs_mc_wolf_icon_roam.png": [6, 124, 36], "mobs_mc_illusionist.png": [56, 68, 114], "mobs_mc_endermite.png": [55, 20, 65], "mobs_mc_spawn_icon_witherskeleton.png": [71, 71, 71], "mobs_mc_llama_decor_light_gray.png": [201, 201, 201], "mobs_mc_llama_decor_cyan.png": [20, 157, 160], "mobs_mc_skeleton.png": [124, 124, 124], "mobs_mc_spawn_icon_llama.png": [230, 221, 178], "mobs_mc_spawn_icon_chicken.png": [170, 160, 156], "mobs_mc_shulker_pink.png": [173, 127, 160], "mobs_mc_spawn_icon_spider.png": [53, 43, 43], "mobs_mc_shulker_red.png": [146, 77, 71], "mobs_mc_shulker_white.png": [184, 181, 186], "mobs_mc_spawn_icon_magmacube.png": [52, 33, 23], "mobs_mc_spawn_icon_ghast.png": [212, 212, 212], "mobs_mc_rabbit_brown.png": [112, 86, 73], "mobs_mc_spawn_icon_pig.png": [242, 200, 188], "mobs_mc_spawn_icon_horse.png": [44, 36, 25], "mobs_mc_cat_siamese.png": [161, 144, 133], "mobs_mc_mushroom_red.png": [176, 51, 49], "mobs_mc_shulker_brown.png": [94, 81, 70], "mobs_mc_villager_leatherworker.png": [96, 93, 58], "mobs_mc_guardian.png": [78, 116, 130], "mobs_mc_creeper_charge.png": [121, 219, 255], "mobs_mc_villager.png": [88, 91, 55], "mobs_mc_llama_decor_lime.png": [170, 214, 67], "mobs_mc_llama_brown.png": [136, 97, 52], "mobs_mc_enderman_cactus_background.png": [44, 71, 27], "mobs_mc_parrot_red_blue.png": [171, 70, 37], "mobs_mc_spawn_icon_husk.png": [174, 174, 128], "mobs_mc_rabbit_gold.png": [151, 130, 96], "mobs_mc_spawn_icon_evoker.png": [92, 103, 86], "mobs_mc_iron_horse_armor.png": [133, 119, 114], "mobs_mc_llama_decor_red.png": [215, 58, 50], "mobs_mc_enderman.png": [3, 10, 10], "mobs_mc_mooshroom_brown.png": [93, 50, 28], "mobs_mc_llama_decor_pink.png": [207, 140, 182], "mobs_mc_enderman_block.png": [46, 42, 38], "mobs_mc_mooshroom.png": [90, 42, 41], "mobs_mc_cat_red.png": [221, 163, 120], "mobs_mc_shulkerbullet.png": [216, 190, 153], "mobs_mc_horse_markings_whitedots.png": [230, 220, 207], "mobs_mc_mule.png": [108, 75, 51], "mobs_mc_spawn_icon_iron_golem.png": [122, 72, 41], "mobs_mc_zombie_butcher.png": [107, 98, 87], "mobs_mc_llama_decor_yellow.png": [218, 187, 8], "mobs_mc_wolf_tame.png": [179, 159, 154], "mobs_mc_horse_gray.png": [78, 68, 62], "mobs_mc_shulker_lime.png": [106, 132, 88], "mobs_mc_rabbit_caerbannog.png": [186, 179, 174], "mobs_mc_zombie_librarian.png": [106, 104, 104], "mobs_mc_spawn_icon_silverfish.png": [199, 168, 128], "mobs_mc_spawn_icon_stray.png": [118, 116, 118], "mobs_mc_spawn_icon_polarbear.png": [237, 235, 212], "mobs_mc_guardian_elder.png": [141, 141, 125], "mobs_mc_spawn_icon_slime.png": [76, 130, 33], "mobs_mc_cave_spider.png": [14, 28, 38], "mobs_mc_spawn_icon_cow.png": [162, 118, 72], "mobs_mc_wolf.png": [182, 165, 159], "mobs_mc_wither_skeleton.png": [50, 50, 50], "mobs_mc_endergolem.png": [135, 87, 99], "mobs_mc_spawn_icon_mule.png": [115, 82, 47], "mobs_mc_llama_decor_orange.png": [151, 80, 27], "mobs_chicken_egg.png": [199, 157, 106], "mobs_mc_rabbit_white.png": [161, 153, 149], "mobs_mc_horse_black.png": [49, 42, 39], "mobs_mc_dragon.png": [79, 54, 67], "mobs_mc_villager_fisherman.png": [98, 92, 58], "mobs_mc_spawn_icon_parrot.png": [202, 100, 54], "mobs_mc_spawn_icon_snowman.png": [216, 173, 147], "mobs_mc_donkey.png": [91, 78, 68], "mobs_mc_shulker_cyan.png": [89, 114, 128], "mobs_mc_spawn_icon_sheep.png": [209, 185, 175], "mobs_mc_TEMP_wither_projectile.png": [69, 69, 69], "mobs_mc_spawn_icon_enderman.png": [63, 82, 87], "mobs_mc_shulker_orange.png": [156, 90, 67], "mobs_mc_empty.png": [255, 255, 255], "mobs_mc_spawn_icon_wither.png": [102, 102, 102], "mcl_boats_spruce_boat.png": [72, 61, 51], "mcl_boats_jungle_boat.png": [102, 73, 58], "mcl_boats_texture_birch_boat.png": [131, 105, 83], "mcl_boats_texture_oak_boat.png": [103, 82, 65], "mcl_boats_birch_boat.png": [120, 95, 78], "mcl_boats_texture_jungle_boat.png": [109, 78, 60], "mcl_boats_oak_boat.png": [93, 76, 62], "mcl_boats_texture_acacia_boat.png": [136, 90, 64], "mcl_boats_obsidian_boat.png": [17, 15, 27], "mcl_boats_texture_obsidian_boat.png": [13, 10, 26], "mcl_boats_texture_dark_oak_boat.png": [89, 76, 64], "mcl_boats_texture_spruce_boat.png": [74, 61, 50], "mcl_boats_acacia_boat.png": [124, 82, 59], "mcl_boats_dark_oak_boat.png": [89, 76, 64], "mobs_nametag.png": [138, 114, 89], "mobs_blood.png": [27, 27, 29], "mcl_minecarts_rail_golden_curved_powered.png": [89, 71, 57], "mcl_minecarts_rail_golden_crossing.png": [83, 70, 55], "mcl_minecarts_rail_detector_curved_powered.png": [81, 68, 64], "mcl_minecarts_rail_golden_t_junction_powered.png": [82, 69, 59], "mcl_minecarts_rail_golden_t_junction.png": [80, 70, 59], "mcl_minecarts_rail_detector.png": [85, 74, 67], "mcl_minecarts_rail_detector_crossing.png": [77, 69, 65], "default_rail_t_junction.png": [79, 68, 61], "mcl_minecarts_rail_activator_crossing_powered.png": [72, 55, 51], "mcl_minecarts_minecart_hopper.png": [45, 45, 45], "mcl_minecarts_minecart_furnace.png": [66, 65, 64], "mcl_minecarts_minecart_command_block.png": [64, 62, 61], "mcl_minecarts_rail_golden.png": [92, 77, 60], "mcl_minecarts_rail_activator_t_junction_powered.png": [76, 61, 55], "default_rail_curved.png": [76, 67, 60], "mcl_minecarts_rail_activator_t_junction.png": [72, 62, 56], "mcl_minecarts_rail_golden_crossing_powered.png": [86, 70, 54], "mcl_minecarts_rail_detector_crossing_powered.png": [78, 68, 64], "mcl_minecarts_rail_detector_curved.png": [77, 70, 66], "default_rail_crossing.png": [79, 68, 59], "mcl_minecarts_rail_detector_t_junction.png": [74, 66, 61], "mcl_minecarts_minecart.png": [72, 60, 51], "mcl_minecarts_rail_golden_curved.png": [85, 73, 58], "mcl_minecarts_rail_activator.png": [78, 64, 56], "mcl_minecarts_rail_activator_powered.png": [86, 62, 54], "mcl_minecarts_rail_detector_t_junction_powered.png": [76, 66, 61], "mcl_minecarts_minecart_normal.png": [47, 45, 43], "mcl_minecarts_minecart_tnt.png": [75, 52, 52], "mcl_minecarts_rail_detector_powered.png": [87, 74, 67], "mcl_minecarts_rail_golden_powered.png": [94, 77, 60], "mcl_minecarts_rail_activator_crossing.png": [65, 56, 52], "default_rail.png": [83, 70, 61], "mcl_minecarts_rail_activator_curved_powered.png": [75, 55, 52], "mcl_minecarts_rail_activator_curved.png": [66, 56, 53], "mcl_minecarts_minecart_chest.png": [51, 48, 46], "mcl_paintings_paintings.png": [104, 99, 89], "mcl_paintings_painting.png": [139, 133, 119], "mcl_particles_totem4.png": [255, 255, 255], "mcl_particles_lava.png": [250, 150, 64], "mcl_particles_bonemeal.png": [185, 185, 185], "mcl_particles_instant_effect.png": [160, 160, 160], "mcl_particles_note.png": [41, 40, 39], "mcl_particles_bubble.png": [147, 174, 195], "mcl_particles_sponge1.png": [241, 238, 226], "mcl_particles_smoke_anim.png": [172, 172, 172], "mcl_particles_crit.png": [165, 165, 165], "mcl_particles_totem2.png": [255, 255, 255], "mcl_particles_mob_death.png": [198, 198, 198], "mcl_particles_droplet_bottle.png": [203, 203, 203], "mcl_particles_sponge4.png": [241, 238, 226], "mcl_particles_effect.png": [184, 184, 184], "mcl_particles_teleport.png": [86, 22, 128], "mcl_particles_sponge5.png": [241, 238, 226], "mcl_particles_flame.png": [244, 149, 63], "mcl_particles_sponge3.png": [241, 238, 226], "mcl_particles_sponge2.png": [241, 238, 226], "mcl_particles_totem1.png": [255, 255, 255], "mcl_particles_smoke.png": [174, 174, 174], "mcl_particles_totem3.png": [255, 255, 255], "lightning_lightning_2.png": [255, 255, 255], "lightning_lightning_3.png": [217, 217, 217], "lightning_lightning_1.png": [223, 223, 223], "weather_pack_rain_raindrop_2.png": [33, 79, 142], "weather_pack_rain_raindrop_3.png": [59, 88, 128], "mcl_particles_nether_dust3.png": [143, 105, 102], "weather_pack_rain_raindrop_1.png": [97, 137, 179], "mcl_particles_nether_dust1.png": [143, 105, 102], "weather_pack_snow_snowflake1.png": [255, 255, 255], "mcl_particles_nether_dust2.png": [143, 105, 102], "weather_pack_snow_snowflake2.png": [255, 255, 255], "mcl_moon_moon_phases.png": [80, 106, 141], "hbarmor_bgicon.png": [27, 27, 29], "hbarmor_bar.png": [175, 172, 165], "hbarmor_icon.png": [135, 131, 126], "mcl_base_textures_background9.png": [179, 179, 179], "object_crosshair.png": [255, 255, 255], "bubble.png": [69, 138, 194], "crosshair.png": [255, 255, 255], "heart.png": [137, 47, 40], "mcl_base_textures_background.png": [179, 179, 179], "crack_anylength.png": [93, 93, 93], "mcl_base_textures_button9_pressed.png": [162, 162, 162], "mcl_base_textures_button9.png": [162, 162, 162], "smoke_puff.png": [255, 255, 255], "credits_bg.png": [94, 72, 60], "mineclone2_logo.png": [75, 74, 69], "mineclone2_icon.png": [58, 74, 44], "awards_template.png": [134, 134, 134], "awards_bg_mining.png": [73, 68, 51], "awards_progress_gray.png": [157, 157, 157], "awards_ui_icon.png": [190, 34, 34], "awards_unknown.png": [134, 134, 134], "awards_progress_green.png": [0, 155, 74], "awards_bg_default.png": [38, 38, 38], "hudbars_bar_breath.png": [159, 161, 255], "hudbars_icon_health.png": [137, 47, 40], "hudbars_bar_health.png": [168, 55, 47], "hudbars_bgicon_breath.png": [0, 0, 0], "hudbars_bgicon_health.png": [27, 27, 29], "hudbars_icon_breath.png": [69, 138, 194], "hudbars_bar_background.png": [71, 71, 71], "mcl_achievements_button.png": [158, 152, 67], "mcl_inventory_hotbar.png": [81, 81, 85], "crafting_inventory_creative_survival.png": [195, 195, 195], "crafting_creative_bg_dark.png": [157, 157, 157], "mcl_inventory_empty_armor_slot_shield.png": [25, 32, 34], "crafting_formspec_bg.png": [9, 9, 9], "mcl_inventory_empty_armor_slot_helmet.png": [25, 32, 34], "mcl_inventory_hotbar_selected.png": [113, 85, 40], "crafting_creative_inactive_down.png": [151, 151, 151], "crafting_creative_active_down.png": [196, 196, 196], "crafting_creative_prev.png": [254, 254, 254], "crafting_creative_marker.png": [0, 0, 0], "mcl_inventory_button9_pressed.png": [162, 162, 162], "crafting_creative_active.png": [202, 202, 202], "mcl_inventory_button9.png": [162, 162, 162], "mcl_inventory_empty_armor_slot_chestplate.png": [0, 0, 0], "mcl_inventory_empty_armor_slot_boots.png": [0, 0, 0], "crafting_creative_bg.png": [207, 207, 207], "crafting_creative_inactive.png": [157, 157, 157], "crafting_creative_next.png": [254, 254, 254], "mcl_inventory_empty_armor_slot_leggings.png": [25, 32, 34], "crafting_inventory_creative.png": [206, 206, 206], "crafting_creative_trash.png": [144, 113, 113], "mcl_formspec_itemslot.png": [157, 157, 157], "mcl_wear_bar.png": [255, 255, 255], "mcl_offhand_slot.png": [92, 92, 94], "mcl_experience_bottle.png": [136, 174, 169], "mcl_experience_bar.png": [74, 102, 70], "mcl_experience_orb.png": [93, 174, 0], "mcl_experience_bar_background.png": [49, 46, 45], "mcl_bossbars_empty.png": [255, 255, 255], "mcl_bossbars.png": [76, 68, 75], "blast_furnace_front_on.png": [98, 88, 83], "blast_furnace_top.png": [126, 115, 110], "blast_furnace_side.png": [99, 92, 89], "blast_furnace_front.png": [93, 88, 85], "mcl_itemframes_item_frame.png": [123, 90, 63], "mcl_itemframes_itemframe_background.png": [136, 104, 75], "mcl_banners_stripe_middle.png": [255, 255, 255], "mcl_banners_skull.png": [255, 255, 255], "mcl_banners_bricks.png": [255, 255, 255], "mcl_banners_square_bottom_left.png": [255, 255, 255], "mcl_banners_gradient.png": [254, 254, 254], "mcl_banners_cross.png": [255, 255, 255], "mcl_banners_gradient_up.png": [254, 254, 254], "mcl_banners_item_overlay.png": [240, 240, 240], "mcl_banners_stripe_downright.png": [255, 255, 255], "mcl_banners_stripe_downleft.png": [255, 255, 255], "mcl_banners_fallback_wood.png": [102, 88, 74], "mcl_banners_base_inverted.png": [255, 255, 255], "mcl_banners_triangles_top.png": [255, 255, 255], "mcl_banners_banner_base.png": [215, 206, 193], "mcl_banners_curly_border.png": [254, 254, 254], "mcl_banners_thing.png": [253, 253, 253], "mcl_banners_small_stripes.png": [255, 255, 255], "mcl_banners_triangle_bottom.png": [254, 254, 254], "mcl_banners_stripe_right.png": [255, 255, 255], "mcl_banners_straight_cross.png": [255, 255, 255], "mcl_banners_triangle_top.png": [255, 255, 255], "mcl_banners_border.png": [255, 255, 255], "mcl_banners_diagonal_left.png": [255, 255, 255], "mcl_banners_diagonal_right.png": [255, 255, 255], "mcl_banners_base.png": [255, 255, 255], "mcl_banners_half_vertical.png": [255, 255, 255], "mcl_banners_circle.png": [254, 254, 254], "mcl_banners_triangles_bottom.png": [255, 255, 255], "mcl_banners_item_base.png": [103, 89, 75], "mcl_banners_stripe_left.png": [255, 255, 255], "mcl_banners_rhombus.png": [255, 255, 255], "mcl_banners_creeper.png": [255, 255, 255], "mcl_banners_flower.png": [254, 254, 254], "mcl_banners_stripe_bottom.png": [255, 255, 255], "mcl_banners_half_horizontal.png": [255, 255, 255], "mcl_banners_half_horizontal_bottom.png": [255, 255, 255], "mcl_banners_square_top_left.png": [255, 255, 255], "mcl_banners_square_top_right.png": [255, 255, 255], "mcl_banners_stripe_center.png": [255, 255, 255], "mcl_banners_diagonal_up_left.png": [255, 255, 255], "mcl_banners_stripe_top.png": [255, 255, 255], "mcl_banners_diagonal_up_right.png": [255, 255, 255], "mcl_banners_square_bottom_right.png": [255, 255, 255], "mcl_banners_half_vertical_right.png": [255, 255, 255], "mcl_doors_trapdoor_dark_oak.png": [81, 68, 56], "mcl_doors_trapdoor_acacia_side.png": [154, 102, 71], "doors_trapdoor_steel_side.png": [149, 140, 140], "mcl_doors_door_jungle_side_upper.png": [109, 75, 57], "mcl_doors_door_dark_oak_side_lower.png": [103, 90, 75], "mcl_doors_door_iron_lower.png": [157, 152, 151], "mcl_doors_door_acacia_upper.png": [152, 100, 69], "mcl_doors_door_jungle_side_lower.png": [107, 72, 55], "mcl_doors_door_wood_lower.png": [89, 70, 55], "doors_trapdoor_steel.png": [149, 140, 140], "mcl_doors_door_iron_side_upper.png": [155, 149, 148], "mcl_doors_door_acacia_side_upper.png": [133, 80, 53], "mcl_doors_door_jungle.png": [116, 83, 62], "mcl_doors_door_iron_side_lower.png": [157, 152, 151], "mcl_doors_door_birch_upper.png": [179, 158, 139], "mcl_doors_trapdoor_spruce_side.png": [73, 59, 47], "mcl_doors_door_iron_upper.png": [155, 149, 148], "mcl_doors_door_spruce_side_lower.png": [92, 79, 68], "mcl_doors_trapdoor_spruce.png": [71, 57, 46], "mcl_doors_trapdoor_birch_side.png": [147, 116, 89], "doors_trapdoor_side.png": [113, 86, 67], "mcl_doors_door_acacia_lower.png": [153, 101, 70], "mcl_doors_door_dark_oak_side_upper.png": [102, 89, 75], "mcl_doors_door_acacia_side_lower.png": [131, 78, 51], "mcl_doors_door_wood_upper.png": [92, 72, 57], "mcl_doors_trapdoor_birch.png": [173, 151, 132], "mcl_doors_door_dark_oak_upper.png": [83, 71, 59], "mcl_doors_door_acacia.png": [148, 98, 67], "mcl_doors_door_spruce.png": [67, 56, 47], "mcl_doors_door_spruce_lower.png": [71, 58, 48], "mcl_doors_door_birch_side_upper.png": [153, 121, 94], "mcl_doors_trapdoor_dark_oak_side.png": [85, 72, 60], "mcl_doors_door_wood_side_upper.png": [84, 65, 51], "mcl_doors_door_birch.png": [172, 147, 124], "mcl_doors_door_birch_lower.png": [165, 140, 119], "mcl_doors_trapdoor_jungle.png": [103, 70, 52], "doors_item_steel.png": [148, 144, 143], "doors_trapdoor.png": [98, 75, 59], "mcl_doors_door_jungle_lower.png": [116, 82, 61], "doors_item_wood.png": [88, 67, 53], "mcl_doors_door_jungle_upper.png": [113, 79, 59], "mcl_doors_door_spruce_upper.png": [71, 58, 47], "mcl_doors_door_dark_oak_lower.png": [84, 71, 59], "mcl_doors_door_dark_oak.png": [82, 69, 57], "mcl_doors_door_wood_side_lower.png": [132, 102, 81], "mcl_doors_trapdoor_jungle_side.png": [121, 87, 62], "mcl_doors_door_spruce_side_upper.png": [92, 79, 68], "mcl_doors_door_birch_side_lower.png": [152, 119, 92], "mcl_doors_trapdoor_acacia.png": [148, 96, 66], "mcl_fishing_clownfish_raw.png": [205, 127, 81], "mcl_fishing_fish_raw.png": [70, 112, 154], "mcl_fishing_salmon_raw.png": [112, 105, 102], "mcl_fishing_fish_cooked.png": [93, 84, 94], "mcl_fishing_bobber.png": [171, 117, 119], "mcl_fishing_pufferfish_raw.png": [219, 165, 77], "mcl_fishing_fishing_rod.png": [134, 116, 103], "mcl_fishing_salmon_cooked.png": [97, 91, 89], "mcl_barrels_barrel_top_open.png": [58, 43, 35], "mcl_barrels_barrel_bottom.png": [78, 61, 47], "mcl_barrels_barrel_side.png": [70, 57, 47], "mcl_barrels_barrel_top.png": [79, 61, 48], "mcl_stairs_diorite_smooth_slab.png": [156, 153, 151], "mcl_stairs_iron_block_slab.png": [166, 159, 159], "mcl_stairs_andesite_smooth_slab.png": [106, 113, 108], "mcl_stairs_gold_block_slab.png": [191, 146, 56], "mcl_stairs_granite_smooth_slab.png": [150, 121, 109], "mcl_stairs_lapis_block_slab.png": [49, 89, 158], "lantern_top.png": [65, 66, 70], "mcl_blackstone_basalt_smooth.png": [87, 86, 86], "mcl_blackstone_basalt_top_polished.png": [77, 76, 76], "mcl_backstone_quartz_bricks.png": [189, 184, 181], "soul_fire_basic_flame_animated.png": [75, 161, 161], "mcl_blackstone_basalt_side_polished.png": [64, 63, 63], "soul_torch_on_floor_animated.png": [94, 96, 84], "mcl_blackstone_chiseled_polished.png": [40, 38, 43], "lantern_bottom.png": [78, 138, 137], "lantern.png": [69, 121, 121], "soul_mcl_burning_hud_flame_animated.png": [75, 161, 161], "mcl_blackstone_basalt_side.png": [60, 59, 59], "mcl_blackstone_basalt_top.png": [68, 68, 68], "mcl_blackstone_polished.png": [43, 41, 46], "mcl_blackstone_polished_bricks.png": [41, 38, 43], "mcl_blackstone_soul_soil.png": [91, 71, 52], "soul_mcl_burning_entity_flame_animated.png": [75, 161, 161], "mcl_blackstone_chain.png": [33, 33, 33], "soul_fire_basic_flame.png": [76, 164, 164], "mcl_blackstone.png": [30, 29, 31], "soul_torch_on_floor.png": [92, 94, 83], "mcl_nether_nether_wart_block_blue.png": [72, 95, 175], "mcl_blackstone_gilded_side.png": [184, 140, 50], "mcl_fireworks_rocket.png": [155, 84, 71], "mcl_bows_arrow_inv.png": [144, 129, 121], "mcl_bows_crossbow_0.png": [95, 77, 61], "mcl_bows_rocket.png": [188, 86, 83], "mcl_bows_firework_white.png": [222, 222, 222], "mcl_bows_firework_green.png": [156, 238, 141], "mcl_bows_firework_blue.png": [141, 174, 238], "mcl_bows_firework_red.png": [238, 141, 141], "mcl_bows_arrow_overlay.png": [184, 181, 175], "mcl_bows_bow_1.png": [112, 95, 79], "mcl_bows_bow_0.png": [111, 94, 79], "mcl_bows_crossbow_2.png": [100, 82, 66], "mcl_bows_bow_2.png": [115, 98, 82], "mcl_bows_rocket_particle.png": [215, 215, 215], "mcl_bows_crossbow_3.png": [103, 87, 73], "mcl_bows_bow.png": [114, 95, 78], "mcl_bows_arrow.png": [133, 116, 108], "mcl_bows_crossbow.png": [94, 76, 60], "mcl_bows_crossbow_1.png": [97, 79, 62], "mcl_bows_arrow_front.png": [178, 175, 168], "mcl_bows_arrow_back.png": [218, 216, 213], "mcl_bows_firework_yellow.png": [238, 218, 141], "mcl_ocean_dead_bubble_coral.png": [118, 108, 126], "mcl_ocean_tube_coral.png": [57, 88, 209], "mcl_ocean_sea_pickle_2_anim.png": [95, 122, 51], "mcl_ocean_dead_horn_coral_fan.png": [150, 143, 123], "mcl_ocean_dead_bubble_coral_block.png": [114, 105, 122], "mcl_ocean_sea_pickle_3_off.png": [68, 99, 36], "mcl_ocean_dead_horn_coral_block.png": [152, 146, 125], "mcl_ocean_bubble_coral_block.png": [143, 76, 195], "mcl_ocean_horn_coral.png": [233, 195, 69], "mcl_ocean_dead_tube_coral_block.png": [99, 104, 127], "mcl_ocean_sea_pickle_item.png": [93, 120, 50], "mcl_ocean_kelp_item.png": [42, 105, 55], "mcl_ocean_dried_kelp_side.png": [71, 80, 67], "mcl_ocean_dead_tube_coral.png": [99, 105, 128], "mcl_ocean_fire_coral_block.png": [198, 74, 62], "mcl_ocean_bubble_coral.png": [149, 77, 200], "mcl_ocean_prismarine_bricks.png": [104, 112, 115], "mcl_ocean_brain_coral.png": [206, 87, 153], "mcl_ocean_dried_kelp_top.png": [56, 71, 57], "mcl_ocean_brain_coral_block.png": [200, 85, 148], "mcl_ocean_prismarine_dark.png": [77, 89, 97], "mcl_ocean_dead_fire_coral_block.png": [127, 102, 100], "mcl_ocean_prismarine_shard.png": [122, 144, 135], "mcl_ocean_sea_pickle_2_off.png": [70, 100, 36], "mcl_ocean_sea_pickle_4_anim.png": [85, 113, 46], "mcl_ocean_dead_brain_coral.png": [134, 117, 127], "mcl_ocean_tube_coral_fan.png": [59, 85, 203], "mcl_ocean_sea_pickle_4_off.png": [68, 98, 36], "mcl_ocean_sea_pickle_1_anim.png": [106, 132, 57], "mcl_ocean_fire_coral.png": [208, 78, 65], "mcl_ocean_sea_pickle_3_anim.png": [89, 116, 48], "mcl_ocean_dead_fire_coral_fan.png": [140, 113, 110], "mcl_ocean_prismarine_crystals.png": [182, 193, 190], "mcl_ocean_prismarine_anim.png": [104, 123, 122], "mcl_ocean_horn_coral_fan.png": [230, 189, 68], "mcl_ocean_dead_tube_coral_fan.png": [98, 103, 125], "mcl_ocean_sea_pickle_1_off.png": [72, 103, 37], "mcl_ocean_dead_horn_coral.png": [154, 148, 127], "mcl_ocean_dead_fire_coral.png": [133, 107, 105], "mcl_ocean_bubble_coral_fan.png": [141, 75, 192], "mcl_ocean_horn_coral_block.png": [232, 193, 69], "mcl_ocean_brain_coral_fan.png": [206, 87, 154], "mcl_ocean_sea_lantern.png": [133, 144, 145], "mcl_ocean_seagrass.png": [48, 125, 60], "mcl_ocean_dead_brain_coral_fan.png": [134, 117, 127], "mcl_ocean_dried_kelp.png": [36, 57, 40], "mcl_ocean_dead_bubble_coral_fan.png": [113, 104, 120], "mcl_ocean_dried_kelp_bottom.png": [56, 71, 57], "mcl_ocean_kelp_plant.png": [42, 105, 55], "mcl_ocean_tube_coral_block.png": [58, 88, 207], "mcl_ocean_dead_brain_coral_block.png": [130, 114, 123], "mcl_ocean_fire_coral_fan.png": [205, 77, 64], "mcl_portals_endframe_bottom.png": [109, 99, 87], "mcl_portals_particle3.png": [146, 0, 201], "mcl_portals_particle2.png": [146, 0, 201], "mcl_portals_endframe_top.png": [95, 85, 74], "mcl_portals_particle4.png": [146, 0, 201], "mcl_portals_endframe_eye.png": [135, 36, 18], "mcl_portals_end_portal.png": [14, 14, 14], "mcl_particles_nether_portal.png": [206, 0, 206], "mcl_portals_particle5.png": [189, 11, 213], "mcl_portals_endframe_side.png": [110, 99, 86], "mcl_portals_particle1.png": [173, 28, 229], "mcl_portals_portal.png": [74, 24, 172], "mcl_particles_nether_portal_t.png": [159, 0, 223], "cake_side.png": [201, 170, 155], "cake_inner.png": [185, 129, 99], "cake_bottom.png": [160, 86, 51], "cake_top.png": [241, 228, 226], "cake.png": [216, 187, 176], "mcl_cocoas_cocoa_top_stage_2.png": [138, 68, 52], "mcl_cocoas_cocoa_stage_1.png": [172, 121, 69], "mcl_cocoas_cocoa_stage_2.png": [132, 65, 50], "mcl_cocoas_cocoa_stage_0.png": [65, 77, 39], "mcl_fences_fence_red_nether_brick.png": [68, 17, 0], "mcl_fences_fence_gate_red_nether_brick.png": [64, 15, 0], "mcl_fences_fence_gate_nether_brick.png": [50, 25, 26], "mcl_mobitems_spider_eye.png": [154, 69, 60], "mcl_mobitems_leather.png": [105, 75, 45], "mcl_mobitems_feather.png": [206, 185, 183], "mcl_mobitems_string.png": [202, 186, 166], "mcl_mobitems_rabbit_foot.png": [124, 107, 97], "mcl_mobitems_saddle.png": [93, 72, 50], "mcl_mobitems_bone.png": [182, 162, 139], "mcl_mobitems_horse_armor_iron.png": [134, 123, 118], "mcl_mobitems_shulker_shell.png": [118, 68, 83], "mcl_mobitems_blaze_rod.png": [143, 64, 28], "mcl_mobitems_beef_raw.png": [147, 63, 54], "mcl_mobitems_rabbit_stew.png": [127, 98, 79], "mcl_mobitems_rotten_flesh.png": [110, 68, 45], "mcl_mobitems_horse_armor_diamond.png": [78, 110, 129], "mcl_mobitems_chicken_raw.png": [217, 178, 149], "mcl_mobitems_ghast_tear.png": [148, 160, 166], "mcl_mobitems_porkchop_raw.png": [160, 72, 69], "mcl_mobitems_horse_armor_gold.png": [143, 110, 59], "mcl_mobitems_rabbit_hide.png": [108, 85, 73], "mcl_mobitems_slimeball.png": [75, 134, 82], "mcl_mobitems_magma_cream.png": [102, 54, 34], "default_gunpowder.png": [48, 41, 36], "mcl_mobitems_chicken_cooked.png": [187, 145, 106], "mcl_mobitems_beef_cooked.png": [112, 70, 49], "mcl_mobitems_rabbit_cooked.png": [188, 155, 131], "mcl_mobitems_blaze_powder.png": [86, 50, 34], "mcl_mobitems_rabbit_raw.png": [217, 177, 157], "mcl_mobitems_carrot_on_a_stick.png": [133, 113, 93], "mcl_mobitems_mutton_cooked.png": [144, 104, 77], "mcl_mobitems_nether_star.png": [234, 189, 123], "mcl_mobitems_porkchop_cooked.png": [116, 72, 48], "mcl_mobitems_mutton_raw.png": [175, 77, 77], "mcl_mobitems_bucket_milk.png": [180, 175, 166], "mcl_farming_wheat_stage_0.png": [53, 101, 46], "farming_carrot.png": [147, 106, 63], "farming_potato_poison.png": [121, 93, 55], "mcl_farming_pumpkin_hud.png": [0, 0, 0], "farming_cookie.png": [144, 100, 61], "mcl_farming_melon_seeds.png": [100, 72, 61], "mcl_farming_potatoes_stage_1.png": [69, 113, 61], "mcl_farming_melon_stem_disconnected.png": [96, 96, 96], "farming_carrot_4.png": [93, 105, 58], "mcl_farming_wheat_stage_5.png": [101, 142, 66], "farming_tool_woodhoe.png": [120, 101, 86], "mcl_farming_potatoes_stage_0.png": [73, 119, 65], "farming_carrot_1.png": [75, 112, 61], "farming_carrot_3.png": [70, 107, 57], "farming_melon.png": [153, 84, 62], "mcl_farming_pumpkin_seeds.png": [132, 120, 87], "farming_wheat_harvested.png": [178, 134, 80], "farming_pumpkin_side.png": [186, 100, 42], "mcl_farming_pumpkin_face.png": [181, 94, 40], "mcl_farming_wheat_stage_4.png": [86, 129, 65], "mcl_farming_farmland_wet.png": [69, 55, 46], "mcl_farming_beetroot_0.png": [56, 122, 75], "mcl_farming_pumpkin_stem_connected.png": [94, 94, 94], "mcl_farming_farmland_dry.png": [101, 80, 68], "farming_tool_diamondhoe.png": [101, 104, 104], "mcl_farming_beetroot_1.png": [54, 118, 72], "mcl_farming_beetroot_2.png": [54, 119, 73], "mcl_farming_wheat_stage_7.png": [165, 116, 75], "mcl_farming_beetroot.png": [113, 69, 66], "mcl_farming_wheat_stage_6.png": [145, 145, 69], "mcl_farming_wheat_stage_3.png": [64, 113, 52], "mcl_farming_pumpkin_stem_disconnected.png": [96, 96, 96], "mcl_farming_hayblock_top.png": [154, 116, 81], "farming_pumpkin_face_light.png": [189, 100, 45], "farming_potato_baked.png": [118, 84, 45], "farming_melon_side.png": [68, 95, 37], "farming_potato.png": [107, 74, 39], "mcl_farming_wheat_stage_1.png": [49, 97, 45], "farming_pumpkin_top.png": [172, 87, 40], "farming_bread.png": [177, 133, 94], "mcl_farming_beetroot_soup.png": [120, 70, 63], "farming_melon_top.png": [58, 80, 33], "mcl_farming_potatoes_stage_3.png": [82, 106, 57], "farming_tool_stonehoe.png": [133, 122, 111], "mcl_farming_beetroot_seeds.png": [107, 104, 88], "farming_tool_goldhoe.png": [162, 131, 70], "farming_carrot_gold.png": [140, 122, 48], "farming_carrot_2.png": [72, 108, 58], "farming_pumpkin_face.png": [161, 79, 37], "mcl_farming_melon_stem_connected.png": [94, 94, 94], "mcl_farming_pumpkin_pie.png": [172, 98, 45], "mcl_farming_wheat_stage_2.png": [49, 97, 45], "farming_tool_steelhoe.png": [123, 112, 102], "mcl_farming_potatoes_stage_2.png": [72, 116, 62], "mcl_farming_beetroot_3.png": [73, 105, 71], "mcl_farming_wheat_seeds.png": [102, 87, 55], "mcl_farming_hayblock_side.png": [135, 99, 71], "mcl_raw_ores_raw_iron_block.png": [194, 172, 156], "mcl_raw_ores_raw_gold_block.png": [208, 166, 77], "mcl_raw_ores_raw_gold.png": [195, 152, 64], "mcl_raw_ores_raw_iron.png": [182, 160, 145], "mcl_end_purpur_block.png": [161, 111, 175], "mcl_end_chorus_flower_dead.png": [82, 79, 118], "mcl_end_end_stone.png": [221, 214, 130], "mcl_end_endframe_side.png": [110, 99, 86], "mcl_end_purpur_pillar.png": [157, 108, 171], "mcl_end_chorus_fruit.png": [87, 89, 121], "mcl_end_endframe_eye.png": [135, 36, 18], "mcl_end_chorus_fruit_popped.png": [70, 67, 110], "mcl_end_end_rod_top.png": [123, 75, 97], "mcl_end_endframe_top.png": [95, 85, 74], "mcl_end_purpur_pillar_top.png": [159, 110, 173], "mcl_end_chorus_flower.png": [92, 92, 125], "mcl_end_crystal_item.png": [170, 140, 162], "mcl_end_end_bricks.png": [194, 187, 123], "mcl_end_dragon_egg.png": [55, 34, 32], "mcl_end_ender_eye.png": [130, 33, 17], "mcl_end_chorus_plant.png": [78, 73, 115], "mcl_end_end_rod_bottom.png": [122, 74, 96], "mcl_end_crystal_beam.png": [195, 81, 183], "mcl_end_end_rod_side.png": [242, 202, 177], "mcl_cracked_deepslate_tiles.png": [47, 46, 46], "mcl_cracked_deepslate_bricks.png": [60, 58, 58], "mcl_deepslate_iron_ore.png": [88, 82, 79], "mcl_deepslate_bricks.png": [62, 61, 60], "mcl_deepslate_tuff.png": [98, 81, 69], "mcl_deepslate_gold_ore.png": [87, 78, 64], "mcl_chiseled_deepslate.png": [44, 43, 43], "mcl_deepslate_diamond_ore.png": [74, 92, 100], "mcl_deepslate_lapis_ore.png": [63, 74, 90], "mcl_cobbled_deepslate.png": [78, 76, 75], "mcl_deepslate_tiles.png": [49, 47, 47], "mcl_deepslate.png": [70, 68, 67], "mcl_deepslate_redstone_ore.png": [89, 61, 60], "mcl_deepslate_emerald_ore.png": [63, 81, 71], "mcl_deepslate_top.png": [75, 73, 72], "mcl_polished_deepslate.png": [68, 66, 66], "mcl_deepslate_copper_ore.png": [82, 70, 67], "mcl_deepslate_coal_ore.png": [63, 60, 59], "mcl_clock_clock_18.png": [152, 123, 81], "mcl_clock_clock_03.png": [160, 129, 88], "mcl_clock_clock_49.png": [155, 122, 79], "mcl_clock_clock_34.png": [140, 115, 76], "mcl_clock_clock_01.png": [161, 129, 88], "mcl_clock_clock_32.png": [141, 116, 77], "mcl_clock_clock_27.png": [142, 117, 78], "mcl_clock_clock_42.png": [147, 119, 79], "mcl_clock_clock_25.png": [145, 119, 78], "mcl_clock_clock_56.png": [160, 126, 81], "mcl_clock_clock_22.png": [146, 119, 79], "mcl_clock_clock_31.png": [141, 116, 76], "mcl_clock_clock_57.png": [161, 127, 83], "mcl_clock_clock_58.png": [157, 127, 86], "mcl_clock_clock_39.png": [146, 119, 79], "mcl_clock_clock_59.png": [160, 128, 86], "mcl_clock_clock_16.png": [157, 125, 80], "mcl_clock_clock_38.png": [141, 117, 78], "mcl_clock_clock_53.png": [158, 124, 80], "mcl_clock_clock_43.png": [149, 121, 80], "mcl_clock_clock_09.png": [161, 127, 81], "mcl_clock_clock_33.png": [141, 116, 76], "mcl_clock_clock_07.png": [162, 128, 83], "mcl_clock_clock_23.png": [148, 121, 80], "mcl_clock_clock_51.png": [156, 123, 80], "mcl_clock_clock_10.png": [158, 127, 85], "mcl_clock_clock_55.png": [160, 126, 81], "mcl_clock_clock_46.png": [152, 122, 81], "mcl_clock_clock_26.png": [142, 117, 79], "mcl_clock_clock_06.png": [157, 127, 86], "mcl_clock_clock_00.png": [162, 129, 87], "mcl_clock_clock_28.png": [141, 116, 77], "mcl_clock_clock_44.png": [150, 120, 79], "mcl_clock_clock_08.png": [160, 127, 81], "mcl_clock_clock_19.png": [152, 122, 80], "mcl_clock_clock_12.png": [159, 127, 83], "mcl_clock_clock_45.png": [153, 123, 81], "mcl_clock_clock_24.png": [147, 120, 80], "mcl_clock_clock_15.png": [157, 125, 81], "mcl_clock_clock_20.png": [150, 121, 79], "mcl_clock_clock_61.png": [160, 129, 88], "mcl_clock_clock_02.png": [159, 129, 89], "mcl_clock_clock_40.png": [147, 120, 79], "mcl_clock_clock_37.png": [143, 118, 79], "mcl_clock_clock_48.png": [155, 123, 79], "mcl_clock_clock_13.png": [159, 126, 82], "mcl_clock_clock_17.png": [156, 125, 81], "mcl_clock_clock_52.png": [156, 123, 80], "mcl_clock_clock_54.png": [156, 125, 84], "mcl_clock_clock_04.png": [159, 128, 87], "mcl_clock_clock_47.png": [154, 122, 80], "mcl_clock_clock_62.png": [159, 129, 89], "mcl_clock_clock_41.png": [147, 120, 79], "mcl_clock_clock_35.png": [140, 115, 76], "mcl_clock_clock_60.png": [159, 128, 87], "mcl_clock_clock_50.png": [155, 123, 80], "mcl_clock_clock_29.png": [142, 117, 78], "mcl_clock_clock_21.png": [150, 122, 81], "mcl_clock_clock_30.png": [140, 115, 76], "mcl_clock_clock_14.png": [157, 125, 81], "mcl_clock_clock_05.png": [160, 128, 85], "mcl_clock_clock_36.png": [141, 116, 77], "mcl_clock_clock_63.png": [161, 129, 88], "mcl_clock_clock_11.png": [160, 127, 82], "lodestone_side3.png": [83, 73, 69], "mcl_compass_compass_02.png": [116, 107, 104], "lodestone_bottom.png": [81, 72, 69], "mcl_compass_compass_06.png": [117, 107, 104], "mcl_compass_compass_04.png": [117, 106, 104], "mcl_compass_compass_19.png": [116, 106, 103], "mcl_compass_compass_16.png": [114, 106, 104], "lodestone_side1.png": [83, 73, 69], "mcl_compass_compass_26.png": [117, 107, 104], "lodestone_side4.png": [85, 75, 70], "mcl_compass_compass_25.png": [117, 107, 105], "mcl_compass_compass_24.png": [117, 107, 105], "mcl_compass_compass_17.png": [115, 106, 104], "lodestone_top.png": [78, 69, 66], "mcl_compass_compass_23.png": [117, 107, 105], "mcl_compass_compass_01.png": [115, 107, 104], "mcl_compass_compass_28.png": [116, 107, 104], "mcl_compass_compass_05.png": [117, 106, 104], "mcl_compass_compass_09.png": [117, 107, 104], "mcl_compass_compass_10.png": [117, 107, 105], "lodestone_side2.png": [82, 72, 68], "mcl_compass_compass_14.png": [116, 107, 105], "mcl_compass_compass_18.png": [117, 107, 104], "mcl_compass_compass_13.png": [117, 106, 104], "mcl_compass_compass_08.png": [117, 107, 104], "mcl_compass_compass_21.png": [117, 107, 104], "mcl_compass_compass_27.png": [117, 106, 104], "mcl_compass_compass_30.png": [116, 107, 104], "mcl_compass_compass_15.png": [115, 106, 104], "mcl_compass_compass_29.png": [115, 106, 104], "mcl_compass_compass_03.png": [116, 106, 104], "mcl_compass_compass_07.png": [117, 107, 104], "mcl_compass_compass_22.png": [117, 107, 105], "mcl_compass_compass_12.png": [117, 106, 104], "mcl_compass_compass_00.png": [114, 107, 104], "mcl_compass_compass_20.png": [116, 106, 104], "mcl_compass_compass_31.png": [115, 107, 104], "mcl_compass_compass_11.png": [117, 106, 104], "mcl_jukebox_record_wait.png": [39, 42, 55], "mcl_jukebox_record_cat.png": [40, 45, 51], "mcl_jukebox_record_mellohi.png": [46, 44, 59], "mcl_jukebox_record_13.png": [51, 47, 51], "mcl_jukebox_record_ward.png": [39, 43, 51], "mcl_jukebox_record_chirp.png": [49, 40, 50], "mcl_jukebox_record_blocks.png": [47, 37, 49], "mcl_jukebox_record_11.png": [41, 40, 52], "mcl_jukebox_record_mall.png": [42, 41, 62], "mcl_jukebox_top.png": [72, 56, 44], "mcl_jukebox_record_strad.png": [45, 45, 57], "mcl_jukebox_record_far.png": [47, 48, 52], "mcl_jukebox_side.png": [94, 74, 57], "mcl_jukebox_record_stal.png": [39, 38, 49], "loom_front.png": [127, 101, 84], "loom_side1.png": [130, 102, 80], "loom_bottom1.png": [163, 130, 100], "loom_top1.png": [186, 160, 137], "loom_bottom.png": [111, 84, 69], "loom_front1.png": [148, 123, 102], "loom_top.png": [134, 111, 97], "loom_side.png": [121, 91, 72], "mcl_fences_fence_acacia.png": [152, 99, 68], "mcl_fences_fence_gate_mask.png": [255, 126, 126], "mcl_fences_fence_gate_spruce.png": [85, 69, 56], "mcl_fences_fence_big_oak.png": [83, 71, 59], "mcl_fences_fence_spruce.png": [84, 67, 54], "mcl_fences_fence_gate_birch.png": [153, 121, 94], "mcl_fences_fence_gate_acacia.png": [155, 102, 70], "mcl_fences_fence_gate_big_oak.png": [85, 73, 61], "mcl_fences_fence_oak.png": [108, 83, 64], "mcl_fences_fence_gate_oak.png": [111, 85, 66], "mcl_fences_fence_jungle.png": [115, 80, 60], "mcl_fences_fence_nether_brick.png": [49, 24, 24], "mcl_fences_fence_birch.png": [151, 119, 93], "mcl_fences_fence_gate_jungle.png": [117, 82, 61], "mcl_fences_fence_mask.png": [255, 126, 126], "mcl_composter_bottom.png": [141, 111, 87], "mcl_composter_side.png": [117, 92, 74], "mcl_composter_ready.png": [109, 107, 74], "mcl_composter_compost.png": [75, 76, 41], "mcl_composter_top.png": [157, 129, 103], "mcl_core_leaves_birch.png": [28, 57, 28], "default_mossycobble.png": [100, 105, 94], "default_flint.png": [70, 67, 64], "mcl_core_bowl.png": [78, 61, 47], "mcl_core_glass_lime_detail.png": [126, 203, 24], "mcl_core_bone_block_top.png": [220, 201, 170], "default_acacia_tree.png": [105, 91, 74], "default_steel_block.png": [159, 151, 151], "mcl_core_stonebrick_mossy.png": [81, 101, 76], "default_diamond_block.png": [92, 160, 200], "mcl_core_glass_brown_detail.png": [101, 75, 50], "mcl_core_glass_blue_detail.png": [50, 75, 178], "default_leaves.png": [39, 79, 38], "mcl_core_web.png": [202, 189, 167], "mcl_core_reeds.png": [57, 100, 52], "default_gold_ingot.png": [179, 133, 47], "mcl_core_grass_path_side.png": [113, 89, 62], "mcl_core_red_sand.png": [224, 137, 111], "mcl_core_glass_black_detail.png": [24, 24, 24], "default_apple.png": [137, 57, 44], "mcl_core_log_birch_top.png": [155, 130, 112], "default_coal_block.png": [51, 49, 51], "mcl_core_andesite_smooth.png": [107, 113, 109], "mcl_core_apple_golden.png": [176, 138, 51], "mcl_core_diorite.png": [153, 149, 146], "mcl_core_granite_smooth.png": [150, 121, 110], "mcl_core_bedrock.png": [91, 77, 66], "mcl_core_planks_spruce.png": [81, 65, 54], "mcl_core_sapling_big_oak.png": [69, 92, 80], "mcl_core_emerald_ore.png": [115, 122, 103], "mcl_core_sandstone_smooth.png": [202, 155, 121], "mcl_core_glass_light_blue.png": [101, 153, 215], "default_brick.png": [139, 87, 75], "mcl_core_redstone_ore.png": [128, 91, 88], "mcl_core_cactus_top.png": [77, 99, 49], "mcl_core_frosted_ice_1.png": [147, 198, 227], "mcl_core_glass_white_detail.png": [254, 254, 254], "mcl_core_sapling_spruce.png": [55, 72, 53], "mcl_core_stripped_acacia_top.png": [157, 98, 62], "mcl_core_log_spruce_top.png": [97, 71, 57], "mcl_core_glass_lime.png": [126, 203, 24], "mcl_core_lapis_ore.png": [111, 113, 125], "default_junglesapling.png": [64, 88, 39], "default_clay_brick.png": [127, 57, 48], "default_gold_block.png": [192, 147, 59], "mcl_core_glass_green_detail.png": [101, 126, 50], "mcl_core_glass_pink_detail.png": [241, 126, 164], "default_water_source_animated.png": [37, 98, 129], "mcl_core_glass_orange_detail.png": [215, 126, 50], "mcl_core_glass_yellow.png": [228, 228, 50], "default_acacia_sapling.png": [109, 92, 59], "mcl_core_stripped_acacia_side.png": [151, 90, 57], "mcl_core_sandstone_carved.png": [199, 152, 119], "mcl_core_glass_blue.png": [50, 75, 178], "mcl_core_glass_gray_detail.png": [75, 75, 75], "mcl_core_red_sandstone_normal.png": [198, 120, 104], "mcl_core_glass_red_detail.png": [153, 50, 50], "mcl_core_glass_gray.png": [75, 75, 75], "mcl_core_leaves_spruce.png": [38, 74, 47], "mcl_core_glass_pink.png": [241, 126, 164], "mcl_core_lapis_block.png": [50, 92, 162], "mcl_core_glass_purple.png": [126, 62, 178], "mcl_core_iron_nugget.png": [156, 151, 145], "default_dry_grass.png": [100, 94, 54], "mcl_core_stripped_dark_oak_top.png": [90, 78, 68], "mcl_core_glass_silver.png": [153, 153, 153], "mcl_core_andesite.png": [104, 110, 107], "mcl_core_frosted_ice_3.png": [165, 209, 233], "mcl_core_sugar.png": [215, 215, 215], "default_acacia_wood.png": [152, 100, 69], "mcl_core_glass_black.png": [24, 24, 24], "mcl_core_iron_ore.png": [134, 123, 117], "mcl_core_stripped_birch_side.png": [179, 143, 115], "default_clay.png": [124, 124, 124], "mcl_core_stripped_jungle_side.png": [175, 117, 86], "mcl_core_glass_red.png": [153, 50, 50], "mcl_core_grass_block_top.png": [141, 130, 113], "mcl_core_planks_birch.png": [145, 113, 89], "mcl_core_glass_white.png": [254, 254, 254], "mcl_core_stripped_oak_side.png": [162, 122, 84], "mcl_core_glass_cyan.png": [75, 126, 153], "mcl_core_cactus_side.png": [88, 110, 56], "default_ladder.png": [83, 64, 50], "mcl_core_glass_silver_detail.png": [153, 153, 153], "default_dry_grass_side.png": [91, 93, 52], "mcl_core_glass_light_blue_detail.png": [101, 153, 215], "mcl_core_stripped_jungle_top.png": [170, 113, 83], "mcl_core_ice_packed.png": [165, 211, 231], "mcl_core_frosted_ice_2.png": [153, 202, 229], "default_dry_shrub.png": [118, 88, 69], "mcl_core_red_sandstone_carved.png": [202, 122, 104], "default_tree.png": [95, 75, 57], "default_clay_lump.png": [111, 111, 111], "mcl_core_red_sandstone_top.png": [212, 126, 108], "mcl_core_dirt_podzol_side.png": [101, 79, 63], "mcl_core_red_sandstone_smooth.png": [207, 124, 106], "default_jungletree_top.png": [125, 87, 67], "mcl_core_coal_ore.png": [109, 101, 99], "default_jungleleaves.png": [29, 84, 30], "mcl_core_vine.png": [21, 61, 21], "default_snow.png": [221, 229, 234], "mcl_core_leaves_big_oak.png": [21, 69, 28], "mcl_core_void.png": [59, 59, 59], "default_tree_top.png": [135, 104, 74], "mcl_core_gold_ore.png": [132, 119, 103], "default_steel_ingot.png": [142, 137, 131], "default_sapling.png": [62, 90, 45], "mcl_core_log_birch.png": [194, 184, 174], "mcl_core_glass_cyan_detail.png": [75, 126, 153], "mcl_core_glass_yellow_detail.png": [228, 228, 50], "mcl_core_stripped_spruce_top.png": [107, 79, 64], "default_water_flowing_animated.png": [38, 101, 129], "mcl_core_emerald_block.png": [44, 138, 39], "default_jungletree.png": [86, 58, 45], "mcl_core_grass_side_snowed.png": [162, 154, 150], "default_stone_brick.png": [97, 89, 86], "default_lava_flowing_animated.png": [177, 42, 16], "mcl_core_stripped_spruce_side.png": [109, 81, 67], "default_coal_lump.png": [41, 39, 41], "mcl_core_glass_purple_detail.png": [126, 62, 178], "default_sand.png": [220, 170, 127], "mcl_core_glass_green.png": [101, 126, 50], "mcl_core_glass_orange.png": [215, 126, 50], "default_acacia_tree_top.png": [130, 84, 55], "mcl_core_stripped_oak_top.png": [153, 115, 80], "mcl_core_grass_block_side_overlay.png": [153, 142, 123], "default_lava_source_animated.png": [180, 45, 17], "mcl_core_cactus_bottom.png": [169, 168, 116], "mcl_core_sandstone_bottom.png": [202, 155, 121], "default_paper.png": [213, 184, 154], "mcl_core_diamond_ore.png": [122, 124, 126], "default_ice.png": [145, 197, 226], "mcl_core_dirt_podzol_top.png": [85, 63, 42], "mcl_core_slime.png": [93, 157, 86], "mcl_core_gold_nugget.png": [213, 169, 74], "default_stick.png": [88, 70, 57], "mcl_core_emerald.png": [59, 160, 52], "default_diamond.png": [109, 179, 217], "mcl_core_mycelium_top.png": [108, 89, 117], "mcl_core_bone_block_side.png": [226, 207, 174], "mcl_core_diorite_smooth.png": [157, 154, 152], "default_obsidian.png": [13, 9, 25], "mcl_core_planks_big_oak.png": [87, 74, 62], "mcl_core_log_spruce.png": [66, 51, 44], "mcl_core_glass_magenta.png": [178, 75, 215], "mcl_core_granite.png": [153, 121, 110], "mcl_core_log_big_oak_top.png": [83, 70, 62], "default_cobble.png": [113, 106, 104], "mcl_core_red_sandstone_bottom.png": [207, 124, 106], "mcl_core_barrier.png": [138, 46, 38], "mcl_core_glass_magenta_detail.png": [178, 75, 215], "mcl_core_stripped_dark_oak_side.png": [91, 78, 70], "mcl_core_mycelium_side.png": [107, 84, 87], "mcl_core_stonebrick_cracked.png": [94, 87, 83], "mcl_core_charcoal.png": [40, 35, 32], "mcl_core_glass_brown.png": [101, 75, 50], "default_glass_detail.png": [244, 244, 250], "mcl_core_papyrus.png": [105, 105, 105], "mcl_core_stonebrick_carved.png": [97, 90, 85], "default_wood.png": [113, 87, 67], "default_dirt.png": [108, 83, 70], "mcl_core_log_big_oak.png": [74, 62, 55], "default_junglewood.png": [113, 78, 59], "mcl_core_frosted_ice_0.png": [140, 193, 224], "mcl_core_sandstone_normal.png": [195, 149, 117], "default_gravel.png": [112, 105, 99], "mcl_core_sandstone_top.png": [201, 154, 121], "default_glass.png": [213, 223, 235], "default_stone.png": [130, 122, 118], "mcl_core_sapling_birch.png": [78, 110, 74], "mcl_core_coarse_dirt.png": [117, 92, 76], "default_acacia_leaves.png": [110, 89, 45], "mcl_core_stripped_birch_top.png": [170, 135, 108], "mcl_core_grass_path_top.png": [125, 101, 50], "mcl_lanterns_chain.png": [40, 40, 40], "mcl_lanterns_soul_lantern.png": [50, 67, 68], "mcl_lanterns_lantern.png": [72, 59, 48], "mcl_lanterns_chain_inv.png": [40, 40, 40], "mcl_lanterns_lantern_inv.png": [98, 75, 53], "mcl_lanterns_soul_lantern_inv.png": [59, 90, 91], "mcl_throwing_ender_pearl.png": [78, 19, 26], "mcl_throwing_egg.png": [199, 157, 106], "mcl_throwing_snowball.png": [191, 200, 203], "mcl_flowers_tulip_red.png": [82, 57, 43], "mcl_flowers_double_plant_rose_top.png": [81, 69, 45], "mcl_flowers_double_plant_sunflower_front.png": [203, 157, 61], "mcl_flowers_tulip_white.png": [106, 122, 95], "mcl_flowers_double_plant_grass_top.png": [156, 145, 125], "mcl_flowers_azure_bluet.png": [97, 114, 98], "mcl_flowers_oxeye_daisy.png": [130, 139, 110], "mcl_flowers_poppy.png": [96, 59, 43], "mcl_flowers_double_plant_paeonia_top.png": [90, 84, 81], "mcl_flowers_double_plant_rose_bottom.png": [78, 63, 41], "mcl_flowers_tallgrass.png": [151, 141, 122], "mcl_flowers_double_plant_sunflower_bottom.png": [45, 76, 40], "mcl_flowers_fern.png": [143, 132, 115], "flowers_tulip.png": [106, 84, 51], "mcl_flowers_double_plant_syringa_bottom.png": [63, 77, 60], "mcl_flowers_double_plant_fern_bottom.png": [140, 130, 113], "flowers_dandelion_yellow.png": [111, 111, 55], "mcl_flowers_double_plant_paeonia_bottom.png": [82, 83, 73], "mcl_flowers_double_plant_sunflower_back.png": [174, 146, 57], "mcl_flowers_allium.png": [120, 116, 144], "flowers_waterlily.png": [28, 81, 29], "mcl_flowers_tulip_pink.png": [100, 99, 90], "mcl_flowers_double_plant_sunflower_top.png": [48, 81, 44], "mcl_flowers_double_plant_syringa_top.png": [95, 90, 98], "mcl_flowers_double_plant_grass_bottom.png": [151, 140, 121], "mcl_flowers_double_plant_grass_inv.png": [48, 95, 43], "mcl_flowers_fern_inv.png": [43, 86, 39], "mcl_flowers_double_plant_fern_top.png": [148, 138, 119], "mcl_flowers_tallgrass_inv.png": [47, 92, 41], "mcl_flowers_double_plant_fern_inv.png": [45, 89, 40], "mcl_flowers_blue_orchid.png": [46, 91, 86], "mcl_armor_leggings_iron.png": [132, 128, 123], "mcl_armor_inv_leggings_iron.png": [130, 125, 120], "mcl_armor_inv_helmet_gold.png": [178, 134, 51], "mcl_armor_leggings_chain.png": [64, 66, 69], "mcl_armor_inv_boots_iron.png": [134, 129, 124], "mcl_armor_inv_chestplate_chain.png": [128, 105, 96], "mcl_armor_inv_chestplate_gold.png": [171, 128, 55], "mcl_armor_inv_helmet_diamond.png": [109, 130, 142], "mcl_armor_boots_leather.png": [122, 111, 93], "mcl_armor_inv_chestplate_diamond.png": [106, 146, 168], "mcl_armor_helmet_diamond.png": [70, 85, 93], "mcl_armor_inv_chestplate_leather.png": [143, 136, 118], "mcl_armor_boots_diamond.png": [87, 132, 157], "mcl_armor_leggings_diamond.png": [78, 102, 115], "mcl_armor_chestplate_gold.png": [157, 117, 55], "mcl_armor_inv_helmet_chain.png": [140, 137, 132], "mcl_armor_inv_leggings_chain.png": [81, 81, 82], "mcl_armor_inv_helmet_iron.png": [143, 138, 133], "mcl_armor_helmet_leather.png": [130, 121, 102], "mcl_armor_chestplate_diamond.png": [110, 157, 183], "mcl_armor_leggings_leather.png": [119, 108, 91], "mcl_armor_inv_boots_gold.png": [152, 113, 44], "mcl_armor_chestplate_leather.png": [139, 132, 112], "mcl_armor_boots_iron.png": [118, 113, 109], "mcl_armor_elytra.png": [75, 121, 147], "mcl_armor_helmet_chain.png": [127, 124, 121], "mcl_armor_helmet_iron.png": [153, 149, 144], "mcl_armor_inv_boots_leather.png": [130, 121, 103], "mcl_armor_leggings_gold.png": [182, 158, 126], "mcl_armor_inv_leggings_gold.png": [175, 145, 97], "mcl_armor_chestplate_iron.png": [130, 120, 112], "mcl_armor_inv_elytra.png": [76, 122, 148], "mcl_armor_boots_chain.png": [88, 88, 88], "mcl_armor_helmet_gold.png": [178, 136, 56], "mcl_armor_inv_boots_diamond.png": [75, 121, 147], "mcl_armor_inv_chestplate_iron.png": [135, 125, 115], "mcl_armor_inv_leggings_diamond.png": [75, 93, 103], "mcl_armor_inv_leggings_leather.png": [126, 116, 98], "mcl_armor_inv_helmet_leather.png": [140, 132, 114], "mcl_armor_inv_boots_chain.png": [69, 69, 72], "mcl_armor_chestplate_chain.png": [119, 98, 93], "mcl_armor_boots_gold.png": [160, 118, 42], "cartography_table_side2.png": [91, 76, 62], "cartography_table_side1.png": [81, 65, 51], "cartography_table_side3.png": [85, 62, 47], "cartography_table_top.png": [111, 95, 80], "mcl_walls_cobble_wall_top.png": [120, 114, 112], "mcl_walls_cobble_mossy_wall_top.png": [53, 97, 61], "mcl_walls_cobble_wall_side.png": [109, 103, 101], "mcl_walls_cobble_mossy_wall_side.png": [86, 98, 83], "mcl_hoppers_item.png": [44, 44, 44], "mcl_hoppers_hopper_top.png": [43, 43, 43], "mcl_hoppers_hopper_outside.png": [44, 43, 43], "mcl_hoppers_hopper_inside.png": [50, 50, 50], "mcl_stairs_stone_slab_top.png": [127, 118, 114], "mcl_stairs_stone_slab_side.png": [127, 117, 113], "mcl_stairs_turntexture.png": [255, 0, 255], "mcl_shield_pattern_stripe_downleft.png": [255, 255, 255], "mcl_shield_pattern_diagonal_right.png": [255, 255, 255], "mcl_shield_pattern_stripe_center.png": [255, 255, 255], "mcl_shield_pattern_half_vertical_right.png": [255, 255, 255], "mcl_shield_pattern_straight_cross.png": [255, 255, 255], "mcl_shield_pattern_stripe_bottom.png": [255, 255, 255], "mcl_shield_pattern_stripe_right.png": [255, 255, 255], "mcl_shield_pattern_circle.png": [239, 239, 239], "mcl_shield_pattern_diagonal_left.png": [255, 255, 255], "mcl_shield_pattern_stripe_top.png": [255, 255, 255], "mcl_shield_pattern_diagonal_up_left.png": [255, 255, 255], "mcl_shield_pattern_creeper.png": [255, 255, 255], "mcl_shield_pattern_triangle_top.png": [255, 255, 255], "mcl_shield_item_overlay.png": [255, 255, 255], "mcl_shield_pattern_square_top_left.png": [255, 255, 255], "mcl_shield_pattern_flower.png": [255, 255, 255], "mcl_shield_pattern_half_horizontal.png": [255, 255, 255], "mcl_shield_pattern_stripe_middle.png": [255, 255, 255], "mcl_shield_pattern_half_vertical.png": [255, 255, 255], "mcl_shield_pattern_triangles_top.png": [255, 255, 255], "mcl_shield_pattern_stripe_downright.png": [255, 255, 255], "mcl_shield_pattern_skull.png": [247, 247, 247], "mcl_shield.png": [76, 61, 49], "mcl_shield_pattern_base.png": [255, 255, 255], "mcl_shield_pattern_gradient_up.png": [254, 254, 254], "mcl_shield_pattern_small_stripes.png": [255, 255, 255], "mcl_shield_pattern_square_bottom_left.png": [255, 255, 255], "mcl_shield_pattern_diagonal_up_right.png": [255, 255, 255], "mcl_shield_pattern_triangles_bottom.png": [255, 255, 255], "mcl_shield_pattern_curly_border.png": [255, 255, 255], "mcl_shield_pattern_cross.png": [255, 255, 255], "mcl_shield_pattern_stripe_left.png": [255, 255, 255], "mcl_shield_pattern_gradient.png": [254, 254, 254], "mcl_shield_pattern_square_bottom_right.png": [255, 255, 255], "mcl_shield_pattern_triangle_bottom.png": [255, 255, 255], "mcl_shield_pattern_half_horizontal_bottom.png": [255, 255, 255], "mcl_shield_pattern_bricks.png": [255, 255, 255], "mcl_shield_pattern_thing.png": [255, 255, 255], "mcl_shield_pattern_square_top_right.png": [255, 255, 255], "mcl_shield_pattern_rhombus.png": [255, 255, 255], "mcl_shield_pattern_border.png": [255, 255, 255], "mcl_shield_hud.png": [74, 58, 44], "mcl_shield_base_nopattern.png": [72, 59, 49], "mcl_brewing_bottle_bg.png": [204, 204, 204], "mcl_brewing_bubble_sprite.png": [167, 167, 167], "mcl_brewing_side.png": [175, 156, 160], "mcl_brewing_inventory.png": [168, 168, 168], "mcl_brewing_bubbles_active.png": [186, 186, 186], "mcl_brewing_fuel_bg.png": [200, 200, 200], "mcl_brewing_potion_bg.png": [204, 204, 204], "mcl_brewing_bubbles.png": [154, 154, 154], "mcl_brewing_top.png": [139, 130, 126], "mcl_brewing_base.png": [130, 122, 118], "mcl_brewing_burner.png": [183, 183, 183], "mcl_brewing_burner_active.png": [212, 161, 132], "fletching_table_front.png": [141, 115, 95], "fletching_table_side.png": [150, 117, 95], "fletching_table_top.png": [158, 129, 104], "xpanes_top_glass_cyan.png": [76, 127, 153], "xpanes_top_glass_brown.png": [102, 76, 51], "xpanes_top_glass_magenta.png": [178, 75, 215], "xpanes_top_glass_light_blue.png": [102, 153, 216], "xpanes_top_glass_blue.png": [51, 76, 178], "xpanes_top_glass_gray.png": [76, 76, 76], "xpanes_top_glass_silver.png": [153, 153, 153], "xpanes_top_iron.png": [155, 146, 146], "xpanes_top_glass_black.png": [25, 25, 25], "xpanes_top_glass_white.png": [255, 255, 255], "xpanes_top_glass_lime.png": [127, 204, 25], "xpanes_top_glass_orange.png": [216, 127, 51], "xpanes_top_glass_purple.png": [127, 63, 178], "xpanes_top_glass_red.png": [153, 51, 51], "xpanes_top_glass_natural.png": [222, 222, 239], "xpanes_top_glass_green.png": [102, 127, 51], "xpanes_top_glass_pink.png": [241, 126, 164], "xpanes_pane_iron.png": [160, 152, 152], "xpanes_top_glass_yellow.png": [229, 229, 51], "hardened_clay_stained_pink.png": [164, 79, 76], "mcl_colorblocks_glazed_terracotta_yellow.png": [232, 199, 99], "mcl_colorblocks_glazed_terracotta_orange.png": [170, 146, 81], "mcl_colorblocks_concrete_powder_lime.png": [125, 186, 42], "mcl_colorblocks_concrete_brown.png": [98, 60, 32], "mcl_colorblocks_concrete_magenta.png": [171, 49, 162], "mcl_colorblocks_glazed_terracotta_magenta.png": [210, 108, 215], "mcl_colorblocks_concrete_silver.png": [128, 129, 118], "mcl_colorblocks_glazed_terracotta_grey.png": [90, 90, 90], "mcl_colorblocks_concrete_powder_blue.png": [72, 75, 169], "mcl_colorblocks_concrete_yellow.png": [241, 177, 21], "mcl_colorblocks_concrete_red.png": [146, 34, 34], "mcl_colorblocks_glazed_terracotta_lime.png": [152, 211, 72], "mcl_colorblocks_concrete_black.png": [8, 10, 15], "mcl_colorblocks_glazed_terracotta_silver.png": [134, 151, 151], "hardened_clay_stained_white.png": [213, 197, 184], "mcl_colorblocks_glazed_terracotta_green.png": [111, 135, 50], "mcl_colorblocks_glazed_terracotta_blue.png": [34, 65, 117], "mcl_colorblocks_concrete_powder_red.png": [172, 57, 52], "mcl_colorblocks_concrete_powder_cyan.png": [38, 150, 159], "hardened_clay_stained_purple.png": [81, 71, 123], "hardened_clay_stained_brown.png": [96, 69, 61], "hardened_clay_stained_grey.png": [110, 92, 85], "mcl_colorblocks_concrete_lime.png": [96, 171, 25], "hardened_clay_stained_blue.png": [68, 91, 143], "mcl_colorblocks_concrete_powder_white.png": [224, 225, 225], "hardened_clay_stained_yellow.png": [177, 128, 51], "hardened_clay_stained_light_blue.png": [91, 128, 171], "hardened_clay.png": [143, 104, 87], "mcl_colorblocks_concrete_cyan.png": [21, 123, 140], "mcl_colorblocks_glazed_terracotta_brown.png": [108, 88, 64], "mcl_colorblocks_concrete_grey.png": [56, 59, 64], "mcl_colorblocks_concrete_powder_magenta.png": [196, 94, 189], "mcl_colorblocks_concrete_powder_black.png": [22, 26, 30], "mcl_colorblocks_concrete_pink.png": [213, 103, 144], "mcl_colorblocks_concrete_powder_orange.png": [227, 141, 38], "mcl_colorblocks_glazed_terracotta_cyan.png": [90, 131, 136], "mcl_colorblocks_glazed_terracotta_red.png": [184, 67, 53], "mcl_colorblocks_concrete_green.png": [75, 94, 37], "mcl_colorblocks_concrete_blue.png": [46, 48, 147], "mcl_colorblocks_glazed_terracotta_light_blue.png": [99, 162, 204], "hardened_clay_stained_orange.png": [156, 95, 69], "mcl_colorblocks_concrete_powder_silver.png": [160, 160, 155], "mcl_colorblocks_concrete_powder_pink.png": [224, 148, 176], "hardened_clay_stained_silver.png": [149, 129, 117], "hardened_clay_stained_red.png": [159, 81, 66], "hardened_clay_stained_magenta.png": [150, 80, 85], "mcl_colorblocks_glazed_terracotta_black.png": [38, 22, 22], "mcl_colorblocks_concrete_white.png": [208, 214, 215], "hardened_clay_stained_green.png": [74, 101, 63], "hardened_clay_stained_lime.png": [105, 134, 73], "mcl_colorblocks_concrete_powder_green.png": [104, 127, 45], "mcl_colorblocks_concrete_light_blue.png": [37, 140, 200], "mcl_colorblocks_concrete_powder_brown.png": [128, 86, 54], "mcl_colorblocks_concrete_purple.png": [103, 32, 159], "hardened_clay_stained_cyan.png": [71, 107, 123], "mcl_colorblocks_concrete_powder_purple.png": [138, 58, 180], "mcl_colorblocks_concrete_powder_yellow.png": [230, 198, 54], "mcl_colorblocks_concrete_powder_light_blue.png": [75, 181, 212], "mcl_colorblocks_glazed_terracotta_pink.png": [251, 138, 170], "mcl_colorblocks_glazed_terracotta_purple.png": [112, 49, 152], "mcl_colorblocks_concrete_orange.png": [226, 101, 1], "mcl_colorblocks_concrete_powder_grey.png": [91, 98, 103], "hardened_clay_stained_black.png": [69, 52, 46], "mcl_colorblocks_glazed_terracotta_white.png": [188, 211, 202], "fire_basic_flame_animated.png": [206, 98, 34], "mcl_burning_hud_flame_animated.png": [206, 98, 34], "mcl_fire_fire_charge.png": [95, 58, 41], "mcl_burning_entity_flame_animated.png": [206, 98, 34], "mcl_fire_flint_and_steel.png": [96, 95, 93], "fire_basic_flame.png": [207, 100, 36], "dye_red.png": [113, 74, 47], "dye_yellow.png": [123, 91, 49], "dye_violet.png": [107, 76, 57], "dye_dark_green.png": [99, 81, 47], "mcl_dye_blue.png": [58, 101, 173], "dye_cyan.png": [104, 89, 60], "mcl_dye_lime.png": [107, 91, 53], "dye_pink.png": [120, 81, 61], "mcl_dye_light_blue.png": [103, 88, 70], "dye_dark_grey.png": [108, 81, 52], "mcl_dye_white.png": [205, 193, 166], "dye_grey.png": [113, 86, 58], "dye_magenta.png": [111, 79, 59], "dye_orange.png": [122, 85, 48], "mcl_dye_brown.png": [104, 75, 56], "mcl_dye_black.png": [56, 56, 64], "default_river_water_flowing_animated.png": [38, 123, 130], "default_river_water_source_animated.png": [37, 120, 130], "3d_armor_stand_item.png": [134, 114, 98], "smoker_front_on.png": [105, 81, 68], "smoker_bottom.png": [115, 102, 97], "smoker_side.png": [105, 91, 82], "smoker_front.png": [93, 80, 71], "smoker_top.png": [110, 99, 95], "mob_spawner.png": [40, 40, 40], "mcl_nether_quartz_chiseled_side.png": [194, 186, 183], "mcl_nether_quartz_pillar_top.png": [195, 188, 185], "mcl_nether_nether_wart.png": [190, 79, 75], "mcl_nether_nether_wart_stage_1.png": [86, 54, 51], "mcl_nether_quartz_ore.png": [133, 64, 53], "mcl_nether_soul_sand.png": [90, 70, 51], "mcl_nether_nether_wart_block.png": [175, 76, 73], "mcl_nether_nether_wart_stage_0.png": [53, 41, 38], "mcl_nether_quartz_block_bottom.png": [198, 191, 187], "mcl_nether_quartz_block_top.png": [198, 190, 187], "mcl_nether_quartz.png": [152, 149, 147], "mcl_nether_quartz_pillar_side.png": [195, 188, 184], "mcl_nether_netherbrick.png": [58, 24, 20], "mcl_nether_glowstone.png": [202, 154, 96], "mcl_nether_netherrack.png": [130, 50, 39], "mcl_nether_red_nether_brick.png": [69, 17, 5], "mcl_nether_quartz_chiseled_top.png": [197, 189, 186], "mcl_nether_glowstone_dust.png": [209, 137, 67], "mcl_nether_nether_wart_stage_2.png": [106, 57, 53], "mcl_nether_quartz_block_side.png": [198, 190, 187], "mcl_nether_nether_brick.png": [49, 23, 24], "mcl_nether_magma.png": [85, 33, 27], "mcl_cauldrons_cauldron_inner.png": [24, 24, 24], "mcl_cauldrons_cauldron_top.png": [54, 54, 54], "mcl_cauldrons_cauldron_bottom.png": [50, 37, 38], "mcl_cauldrons_cauldron.png": [47, 47, 47], "mcl_cauldrons_cauldron_side.png": [43, 43, 43], "mcl_beds_bed_side_bottom_magenta.png": [127, 48, 89], "mcl_beds_bed_blue.png": [73, 78, 105], "mcl_beds_bed_side_top_r_black.png": [99, 86, 75], "mcl_beds_bed_side_bottom_r_magenta.png": [132, 46, 94], "mcl_beds_bed_side_top_brown.png": [98, 76, 59], "respawn_anchor_side2.png": [100, 76, 77], "mcl_beds_bed_lime.png": [96, 135, 66], "mcl_beds_bed_side_top_green.png": [98, 76, 59], "mcl_beds_bed_light_blue.png": [100, 107, 142], "mcl_beds_bed_pink.png": [184, 105, 115], "mcl_beds_bed_side_bottom_black.png": [66, 56, 47], "mcl_beds_bed_top_bottom_green.png": [57, 110, 29], "mcl_beds_bed_side_top_blue.png": [98, 76, 59], "mcl_beds_bed_top_top_pink.png": [217, 138, 147], "mcl_beds_bed_side_bottom_light_blue.png": [90, 94, 129], "mcl_beds_bed_side_bottom_blue.png": [63, 65, 90], "mcl_beds_bed_top_top_red.png": [173, 90, 83], "mcl_beds_bed_side_top_grey.png": [98, 76, 59], "respawn_anchor_bottom.png": [45, 26, 54], "mcl_beds_bed_top_top_white.png": [198, 190, 183], "mcl_beds_bed_top_top_black.png": [107, 100, 92], "mcl_beds_bed_top_bottom_brown.png": [101, 69, 38], "mcl_beds_bed_top_bottom_pink.png": [232, 105, 135], "mcl_beds_bed_side_bottom_r_pink.png": [183, 95, 106], "respawn_anchor_side4.png": [110, 87, 85], "mcl_beds_bed_side_bottom_r_green.png": [73, 97, 42], "mcl_beds_bed_side_bottom_r_grey.png": [86, 77, 69], "mcl_beds_bed_side_top_r_white.png": [158, 145, 134], "mcl_beds_bed_side_bottom_orange.png": [143, 84, 28], "mcl_beds_bed_side_bottom_purple.png": [105, 36, 112], "mcl_beds_bed_side_bottom_r_light_blue.png": [90, 97, 136], "mcl_beds_bed_side_top_r_magenta.png": [140, 81, 103], "mcl_beds_bed_side_bottom_r_yellow.png": [150, 131, 25], "mcl_beds_bed_side_top_r_pink.png": [176, 111, 113], "mcl_beds_bed_top_top_blue.png": [105, 112, 137], "portal.png": [102, 61, 130], "mcl_beds_bed_side_bottom_green.png": [74, 94, 43], "mcl_beds_bed_side_bottom_r_blue.png": [61, 66, 95], "mcl_beds_bed_top_top_grey.png": [129, 121, 113], "mcl_beds_bed_black.png": [76, 68, 61], "mcl_beds_bed_top_top_silver.png": [159, 151, 143], "mcl_beds_bed_white.png": [173, 165, 158], "mcl_beds_bed_top_top_cyan.png": [105, 144, 135], "mcl_beds_bed_top_bottom_orange.png": [184, 91, 0], "mcl_beds_bed_side_top_silver.png": [98, 76, 59], "mcl_beds_bed_top_top_brown.png": [143, 118, 93], "mcl_beds_bed_side_top_r_light_blue.png": [115, 111, 132], "mcl_beds_bed_side_bottom_r_lime.png": [86, 129, 53], "mcl_beds_bed_red.png": [139, 58, 51], "mcl_beds_bed_top_bottom_lime.png": [79, 163, 47], "mcl_beds_bed_side_top_r_brown.png": [121, 97, 75], "respawn_anchor_top_off.png": [80, 61, 74], "mcl_beds_bed_side_bottom_r_silver.png": [119, 109, 102], "mcl_beds_bed_yellow.png": [154, 138, 41], "mcl_beds_bed_side_top_yellow.png": [98, 76, 59], "mcl_beds_bed_top_bottom_black.png": [37, 37, 37], "mcl_beds_bed_brown.png": [110, 85, 61], "mcl_beds_bed_side_top_orange.png": [98, 76, 59], "mcl_beds_bed_side_top_red.png": [98, 76, 59], "mcl_beds_bed_top_top_purple.png": [148, 79, 161], "mcl_beds_bed_side_bottom_pink.png": [177, 93, 102], "mcl_beds_bed_side_top_r_grey.png": [112, 99, 88], "respawn_anchor_side1.png": [95, 71, 76], "mcl_beds_bed_side_top_r_blue.png": [97, 91, 104], "mcl_beds_bed_side_top_purple.png": [98, 76, 59], "mcl_beds_bed_side_top_cyan.png": [98, 76, 59], "mcl_beds_bed_top_bottom_blue.png": [32, 60, 119], "mcl_beds_bed_side_bottom_yellow.png": [143, 125, 28], "mcl_beds_bed_side_top_black.png": [98, 76, 59], "mcl_beds_bed_top_top_orange.png": [188, 130, 72], "mcl_beds_bed_top_bottom_silver.png": [129, 129, 129], "mcl_beds_bed_top_top_green.png": [117, 140, 88], "mcl_beds_bed_cyan.png": [73, 111, 103], "mcl_beds_bed_top_bottom_red.png": [157, 20, 20], "mcl_beds_bed_top_bottom_purple.png": [111, 0, 163], "mcl_beds_bed_side_top_r_silver.png": [133, 120, 109], "mcl_beds_bed_side_bottom_grey.png": [86, 76, 67], "mcl_beds_bed_grey.png": [96, 88, 81], "mcl_beds_bed_side_top_r_yellow.png": [151, 132, 62], "respawn_anchor_side0.png": [81, 64, 73], "mcl_beds_bed_side_top_r_green.png": [103, 111, 72], "mcl_beds_bed_side_bottom_brown.png": [100, 73, 48], "mcl_beds_bed_magenta.png": [138, 60, 104], "mcl_beds_bed_side_bottom_r_red.png": [134, 44, 37], "mcl_beds_bed_side_bottom_r_brown.png": [101, 73, 47], "mcl_beds_bed_side_top_lime.png": [98, 76, 59], "mcl_beds_bed_side_top_light_blue.png": [98, 76, 59], "mcl_beds_bed_side_bottom_red.png": [129, 47, 38], "mcl_beds_bed_bottom_top.png": [48, 38, 29], "mcl_beds_bed_top_bottom_grey.png": [76, 76, 76], "mcl_beds_bed_side_bottom_r_orange.png": [150, 86, 25], "mcl_beds_bed_side_bottom_r_black.png": [64, 54, 47], "mcl_beds_bed_top_bottom_cyan.png": [32, 119, 114], "mcl_beds_bed_side_bottom_silver.png": [116, 106, 97], "mcl_beds_bed_side_top_magenta.png": [98, 76, 59], "mcl_beds_bed_top_bottom_white.png": [201, 201, 201], "mcl_beds_bed_side_top_r_orange.png": [151, 105, 62], "mcl_beds_bed_top_bottom_magenta.png": [154, 23, 118], "mcl_beds_bed_side_top_r_lime.png": [110, 131, 80], "mcl_beds_bed_top_top_magenta.png": [172, 92, 137], "mcl_beds_bed_bottom_bottom.png": [48, 38, 29], "mcl_beds_bed_side_top_r_purple.png": [125, 73, 119], "mcl_beds_bed_side_top_r_cyan.png": [97, 113, 103], "mcl_beds_bed_side_top_white.png": [98, 76, 59], "mcl_beds_bed_side_bottom_r_cyan.png": [61, 101, 93], "mcl_beds_bed_side_bottom_cyan.png": [63, 97, 89], "mcl_beds_bed_side_bottom_white.png": [161, 151, 142], "mcl_beds_bed_top_bottom_yellow.png": [184, 169, 0], "respawn_anchor_side3.png": [104, 80, 79], "mcl_beds_bed_top_bottom_light_blue.png": [82, 113, 182], "mcl_beds_bed_top_top_lime.png": [130, 169, 98], "mcl_beds_bed_silver.png": [109, 100, 93], "mcl_beds_bed_purple.png": [115, 47, 128], "mcl_beds_bed_side_top_r_red.png": [141, 80, 69], "mcl_beds_bed_top_top_light_blue.png": [132, 141, 174], "mcl_beds_bed_side_bottom_r_purple.png": [107, 32, 120], "mcl_beds_bed_side_bottom_r_white.png": [161, 151, 144], "mcl_beds_bed_orange.png": [154, 96, 41], "mcl_beds_bed_top_bottom_gray.png": [57, 57, 57], "mcl_beds_bed_side_bottom_lime.png": [85, 122, 53], "mcl_beds_bed_green.png": [85, 107, 56], "mcl_beds_bed_top_top_yellow.png": [188, 172, 72], "mcl_beds_bed_side_top_pink.png": [98, 76, 59], "mcl_sponges_sponge_wet_river_water.png": [157, 141, 104], "mcl_sponges_sponge.png": [210, 177, 118], "mcl_sponges_sponge_wet.png": [156, 134, 92], "mcl_copper_exposed_cut.png": [129, 92, 82], "mcl_copper_raw.png": [133, 68, 50], "mcl_copper_block_cut.png": [148, 77, 57], "mcl_copper_oxidized_cut.png": [91, 110, 110], "mcl_copper_block.png": [147, 77, 56], "mcl_copper_oxidized.png": [90, 108, 110], "mcl_copper_block_raw.png": [168, 90, 68], "mcl_copper_ingot.png": [157, 82, 61], "mcl_copper_weathered.png": [103, 102, 100], "mcl_copper_weathered_cut.png": [107, 103, 100], "mcl_copper_anti_oxidation_particle.png": [251, 250, 247], "mcl_copper_ore.png": [127, 66, 48], "mcl_copper_exposed.png": [128, 92, 83], "farming_mushroom_red.png": [169, 59, 58], "mcl_mushrooms_mushroom_block_inside.png": [218, 175, 136], "mcl_mushrooms_mushroom_block_skin_brown.png": [131, 86, 68], "mcl_mushrooms_mushroom_block_skin_stem.png": [204, 183, 149], "mcl_mushrooms_mushroom_block_skin_red.png": [137, 39, 25], "farming_mushroom_brown.png": [121, 81, 59], "farming_mushroom_stew.png": [134, 97, 67], "mcl_bells_bell_top.png": [207, 203, 82], "mcl_bells_bell_side.png": [214, 204, 84], "mcl_bells_bell.png": [188, 143, 54], "mcl_bells_bell_bottom.png": [117, 114, 39], "default_tool_goldsword.png": [194, 154, 70], "default_tool_steelsword.png": [134, 130, 125], "default_tool_woodsword.png": [100, 82, 68], "default_tool_goldshovel.png": [167, 133, 64], "default_tool_steelpick.png": [137, 128, 119], "default_tool_woodshovel.png": [108, 90, 76], "default_tool_goldpick.png": [172, 139, 73], "default_tool_woodaxe.png": [110, 92, 77], "default_tool_diamondsword.png": [105, 133, 149], "default_tool_steelshovel.png": [125, 115, 107], "default_tool_stonesword.png": [133, 125, 118], "default_tool_woodpick.png": [110, 91, 76], "default_tool_shears.png": [139, 132, 124], "default_tool_goldaxe.png": [160, 128, 66], "default_tool_stoneshovel.png": [126, 116, 107], "default_tool_diamondaxe.png": [103, 110, 113], "default_tool_diamondshovel.png": [106, 125, 134], "default_tool_steelaxe.png": [129, 119, 110], "default_tool_stoneaxe.png": [126, 115, 104], "default_tool_diamondpick.png": [92, 105, 111], "default_tool_stonepick.png": [126, 114, 104], "mcl_chests_ender_chest_right.png": [73, 67, 64], "mcl_chests_chest_trapped_right.png": [98, 78, 62], "default_chest_front.png": [85, 70, 58], "mcl_chests_blue_shulker_box_top.png": [67, 85, 119], "mcl_chests_chest_left.png": [99, 78, 63], "mcl_chests_dark_green_shulker_box_top.png": [67, 111, 70], "mcl_chests_chest_back.png": [92, 75, 61], "mcl_chests_ender_chest_bottom.png": [61, 55, 55], "mcl_chests_ender.png": [70, 62, 58], "mcl_chests_brown_shulker_box_top.png": [73, 63, 55], "mcl_chests_chest_trapped_back.png": [92, 75, 61], "mcl_chests_chest_trapped_side_big.png": [96, 77, 62], "mcl_chests_magenta_shulker_box_top.png": [128, 81, 124], "mcl_chests_noise.png": [192, 186, 189], "mcl_chests_ender_chest_back.png": [72, 66, 64], "mcl_chests_chest_trapped_bottom.png": [118, 91, 70], "mcl_chests_chest_trapped_front.png": [86, 68, 57], "default_chest_side_big.png": [96, 77, 62], "mcl_chests_green_shulker_box_top.png": [88, 122, 75], "mcl_chests_noise_double.png": [191, 189, 189], "mcl_chests_pink_shulker_box_top.png": [163, 116, 158], "mcl_chests_trapped.png": [95, 76, 61], "mcl_chests_blank.png": [255, 255, 255], "mcl_chests_normal_double.png": [98, 78, 62], "mcl_chests_chest_trapped_top.png": [88, 73, 61], "mcl_chests_normal.png": [95, 76, 61], "default_chest_front_big.png": [93, 75, 61], "mcl_chests_ender_chest_front.png": [76, 69, 65], "mcl_chests_white_shulker_box_top.png": [176, 178, 187], "mcl_chests_cyan_shulker_box_top.png": [67, 101, 121], "mcl_chests_ender_present.png": [123, 76, 93], "mcl_chests_chest_trapped_top_big.png": [100, 80, 65], "default_chest_top_big.png": [100, 80, 65], "mcl_chests_grey_shulker_box_top.png": [126, 129, 138], "mcl_chests_normal_present.png": [181, 46, 19], "mcl_chests_red_shulker_box_top.png": [132, 58, 57], "mcl_chests_trapped_double.png": [98, 78, 62], "mcl_chests_violet_shulker_box_top.png": [120, 71, 88], "mcl_chests_chest_trapped_front_big.png": [94, 75, 61], "mcl_chests_lightblue_shulker_box_top.png": [96, 130, 155], "mcl_chests_dark_grey_shulker_box_top.png": [87, 90, 99], "mcl_chests_black_shulker_box_top.png": [56, 57, 62], "mcl_chests_chest_right.png": [98, 78, 62], "mcl_chests_yellow_shulker_box_top.png": [165, 116, 53], "mcl_chests_trapped_present.png": [73, 100, 151], "mcl_chests_chest_bottom.png": [118, 91, 70], "default_chest_top.png": [88, 73, 61], "mcl_chests_trapped_double_present.png": [143, 77, 22], "mcl_chests_normal_double_present.png": [72, 90, 12], "mcl_chests_ender_chest_top.png": [70, 64, 61], "mcl_chests_ender_chest_left.png": [73, 67, 64], "mcl_chests_chest_trapped_left.png": [99, 78, 63], "mcl_chests_orange_shulker_box_top.png": [143, 74, 51], "screwdriver.png": [132, 119, 108], "_un.png": [0, 0, 0], "_at.png": [0, 0, 0], "_s_.png": [0, 0, 0], "_sz.png": [0, 0, 0], "_q.png": [0, 0, 0], "_1.png": [0, 0, 0], "_h_.png": [0, 0, 0], "_o_tilde.png": [0, 0, 0], "_q_.png": [0, 0, 0], "_ae.png": [0, 0, 0], "_e_circumflex_.png": [0, 0, 0], "_ex.png": [0, 0, 0], "_e_.png": [0, 0, 0], "_qo.png": [0, 0, 0], "_z_.png": [0, 0, 0], "_ps.png": [0, 0, 0], "_pound.png": [0, 0, 0], "_div.png": [0, 0, 0], "_l_.png": [0, 0, 0], "_pilcrow.png": [0, 0, 0], "_3_sup.png": [0, 0, 0], "_e_acute.png": [0, 0, 0], "_9.png": [0, 0, 0], "_e_grave_.png": [0, 0, 0], "_u_acute.png": [0, 0, 0], "_a_sup.png": [0, 0, 0], "_sr.png": [0, 0, 0], "_v.png": [0, 0, 0], "_ue_.png": [0, 0, 0], "_t_.png": [0, 0, 0], "_cl.png": [0, 0, 0], "_n_tilde_.png": [0, 0, 0], "_p_.png": [0, 0, 0], "_c.png": [0, 0, 0], "_a.png": [0, 0, 0], "_a_circumflex_.png": [0, 0, 0], "_8.png": [0, 0, 0], "_s.png": [0, 0, 0], "_o_.png": [0, 0, 0], "_1_4.png": [0, 0, 0], "_e_grave.png": [0, 0, 0], "_o_dash.png": [0, 0, 0], "_5.png": [0, 0, 0], "_d_dash_.png": [0, 0, 0], "_i_grave.png": [0, 0, 0], "_vb.png": [0, 0, 0], "_sp.png": [255, 255, 255], "_a_acute_.png": [0, 0, 0], "_as.png": [0, 0, 0], "_y_acute.png": [0, 0, 0], "_3_4.png": [0, 0, 0], "_6.png": [0, 0, 0], "_7.png": [0, 0, 0], "_tl.png": [0, 0, 0], "_t.png": [0, 0, 0], "_y.png": [0, 0, 0], "_ca.png": [0, 0, 0], "_e.png": [0, 0, 0], "_hs.png": [0, 0, 0], "_copyright.png": [0, 0, 0], "_l.png": [0, 0, 0], "_h.png": [0, 0, 0], "_u_circumflex_.png": [0, 0, 0], "_i_acute_.png": [0, 0, 0], "_ha.png": [0, 0, 0], "_y_diaresis.png": [0, 0, 0], "_gt.png": [0, 0, 0], "_b.png": [0, 0, 0], "_degree.png": [0, 0, 0], "_a_tilde_.png": [0, 0, 0], "_u_.png": [0, 0, 0], "_o_sup.png": [0, 0, 0], "_m_.png": [0, 0, 0], "_c_.png": [0, 0, 0], "_cr.png": [0, 0, 0], "_3.png": [0, 0, 0], "_currency.png": [0, 0, 0], "_f.png": [0, 0, 0], "_cedille.png": [0, 0, 0], "_u_grave_.png": [0, 0, 0], "_dt.png": [0, 0, 0], "_am.png": [0, 0, 0], "_c_cedille_.png": [0, 0, 0], "_u_acute_.png": [0, 0, 0], "_bl.png": [0, 0, 0], "_registered.png": [0, 0, 0], "_i_acute.png": [0, 0, 0], "_lt.png": [0, 0, 0], "_e_acute_.png": [0, 0, 0], "_paragraph.png": [0, 0, 0], "_i_grave_.png": [0, 0, 0], "_o.png": [0, 0, 0], "_1_sup.png": [0, 0, 0], "mcl_signs_sign.png": [114, 89, 69], "_yen.png": [0, 0, 0], "_b_.png": [0, 0, 0], "_macron.png": [0, 0, 0], "_qu_inv.png": [0, 0, 0], "_o_dash_.png": [0, 0, 0], "_guill_right.png": [0, 0, 0], "_p.png": [0, 0, 0], "_thorn_.png": [0, 0, 0], "_2_sup.png": [0, 0, 0], "_pr.png": [0, 0, 0], "default_sign.png": [145, 115, 88], "_times_dot.png": [0, 0, 0], "_acute.png": [0, 0, 0], "_g_.png": [0, 0, 0], "_o_acute_.png": [0, 0, 0], "_a_tilde.png": [0, 0, 0], "_j.png": [0, 0, 0], "_k.png": [0, 0, 0], "_co.png": [0, 0, 0], "_dv.png": [0, 0, 0], "_o_circumflex.png": [0, 0, 0], "_a_ring.png": [0, 0, 0], "_br.png": [0, 0, 0], "_d.png": [0, 0, 0], "_ap.png": [0, 0, 0], "_sl.png": [0, 0, 0], "_mn.png": [0, 0, 0], "_m.png": [0, 0, 0], "_ae_lig.png": [0, 0, 0], "_thorn.png": [0, 0, 0], "_2.png": [0, 0, 0], "_gr.png": [0, 0, 0], "_i.png": [0, 0, 0], "_y_acute_.png": [0, 0, 0], "_diaresis.png": [0, 0, 0], "_oe.png": [0, 0, 0], "_mu.png": [0, 0, 0], "_guill_left.png": [0, 0, 0], "_times_cross.png": [0, 0, 0], "_ae_.png": [0, 0, 0], "_w.png": [0, 0, 0], "_u.png": [0, 0, 0], "_broken_bar.png": [0, 0, 0], "_4.png": [0, 0, 0], "_plus_minus.png": [0, 0, 0], "_1_2.png": [0, 0, 0], "_u_circumflex.png": [0, 0, 0], "_w_.png": [0, 0, 0], "_x_.png": [0, 0, 0], "_e_circumflex.png": [0, 0, 0], "_g.png": [0, 0, 0], "_o_tilde_.png": [0, 0, 0], "_ae_lig_.png": [0, 0, 0], "_v_.png": [0, 0, 0], "_dl.png": [0, 0, 0], "_a_grave.png": [0, 0, 0], "_re.png": [0, 0, 0], "_a_acute.png": [0, 0, 0], "_qu.png": [0, 0, 0], "_oe_.png": [0, 0, 0], "_n_tilde.png": [0, 0, 0], "_eq.png": [0, 0, 0], "_d_.png": [0, 0, 0], "_sm.png": [0, 0, 0], "_y_.png": [0, 0, 0], "_not.png": [0, 0, 0], "_n.png": [0, 0, 0], "_j_.png": [0, 0, 0], "_k_.png": [0, 0, 0], "_0.png": [0, 0, 0], "_o_grave_.png": [0, 0, 0], "_r_.png": [0, 0, 0], "_r.png": [0, 0, 0], "_u_grave.png": [0, 0, 0], "_ee_.png": [0, 0, 0], "_c_cedille.png": [0, 0, 0], "_ex_inv.png": [0, 0, 0], "_cm.png": [0, 0, 0], "_o_grave.png": [0, 0, 0], "_x.png": [0, 0, 0], "_i_.png": [0, 0, 0], "_n_.png": [0, 0, 0], "_rc.png": [0, 0, 0], "_a_.png": [0, 0, 0], "_a_grave_.png": [0, 0, 0], "_ee.png": [0, 0, 0], "_o_acute.png": [0, 0, 0], "_a_ring_.png": [0, 0, 0], "_i_circumflex_.png": [0, 0, 0], "_cent.png": [0, 0, 0], "_d_dash.png": [0, 0, 0], "_f_.png": [0, 0, 0], "_o_circumflex_.png": [0, 0, 0], "_ue.png": [0, 0, 0], "_a_circumflex.png": [0, 0, 0], "_i_circumflex.png": [0, 0, 0], "_z.png": [0, 0, 0], "gui_furnace_arrow_fg.png": [239, 239, 239], "default_furnace_front.png": [105, 95, 91], "default_furnace_fire_bg.png": [139, 139, 139], "default_furnace_top.png": [148, 138, 133], "default_furnace_fire_fg.png": [179, 115, 70], "default_furnace_side.png": [117, 107, 102], "gui_furnace_arrow_bg.png": [139, 139, 139], "default_furnace_front_active.png": [119, 95, 85], "default_furnace_bottom.png": [148, 138, 133], "default_torch_on_floor.png": [115, 82, 59], "default_torch_on_floor_animated.png": [116, 84, 61], "default_tnt_bottom.png": [161, 54, 58], "mcl_tnt_blink.png": [255, 255, 255], "default_tnt_top.png": [125, 54, 57], "default_tnt_side.png": [178, 105, 98], "mcl_heads_skeleton.png": [125, 125, 125], "mcl_heads_skeleton_node.png": [124, 124, 124], "mcl_heads_creeper_node.png": [98, 107, 71], "mcl_heads_zombie.png": [66, 104, 69], "mcl_heads_creeper.png": [92, 110, 68], "mcl_heads_steve_node.png": [115, 70, 58], "mcl_heads_zombie_node.png": [78, 110, 105], "mcl_heads_steve.png": [108, 76, 59], "mcl_heads_wither_skeleton_node.png": [50, 50, 50], "mcl_heads_wither_skeleton.png": [50, 50, 50], "mcl_flowerpots_cactus.png": [109, 83, 52], "mcl_flowerpots_flowerpot_inventory.png": [121, 54, 45], "mcl_flowerpots_flowerpot.png": [120, 55, 47], "bucket_lava.png": [166, 127, 113], "bucket_river_water.png": [139, 152, 155], "bucket_water.png": [139, 147, 155], "bucket.png": [147, 143, 139], "mcl_totems_totem.png": [185, 139, 52], "mcl_anvils_anvil_top_damaged_1.png": [50, 50, 50], "mcl_anvils_anvil_top_damaged_2.png": [48, 48, 48], "mcl_anvils_anvil_top_damaged_0.png": [52, 52, 52], "mcl_anvils_anvil_side.png": [45, 45, 45], "mcl_anvils_inventory.png": [157, 157, 157], "mcl_anvils_anvil_base.png": [40, 40, 40], "mcl_maps_player_arrow.png": [95, 95, 95], "mcl_maps_map_filled.png": [213, 176, 148], "mcl_maps_player_dot.png": [105, 105, 105], "mcl_maps_map_empty.png": [217, 187, 157], "mcl_maps_map_filled_markings.png": [183, 183, 183], "mcl_maps_map_background.png": [224, 196, 166], "mcl_dispensers_dispenser_front_vertical.png": [115, 104, 99], "mcl_dispensers_dispenser_front_horizontal.png": [105, 96, 92], "jeija_wall_lever.png": [95, 80, 69], "mesecons_delayer_front_locked_off.png": [97, 85, 77], "mesecons_delayer_locked_on.png": [114, 100, 95], "mesecons_delayer_sides_locked_off.png": [95, 80, 73], "mesecons_delayer_sides_on.png": [106, 71, 63], "mesecons_delayer_item.png": [100, 87, 82], "mesecons_delayer_end_locked_off.png": [97, 85, 77], "mesecons_delayer_end_locked_on.png": [101, 85, 78], "mesecons_delayer_ends_off.png": [99, 86, 80], "mesecons_delayer_front_locked_on.png": [101, 85, 77], "mesecons_delayer_ends_on.png": [105, 87, 81], "mesecons_delayer_sides_locked_on.png": [104, 81, 74], "mesecons_delayer_locked_off.png": [110, 99, 95], "mesecons_delayer_sides_off.png": [90, 69, 61], "mesecons_delayer_off.png": [112, 100, 96], "mesecons_delayer_on.png": [116, 101, 97], "redstone_redstone_dust_line0.png": [168, 168, 168], "redstone_redstone_dust.png": [81, 0, 0], "redstone_redstone_dust_dot.png": [168, 168, 168], "redstone_redstone_dust_line1.png": [173, 173, 173], "jeija_commandblock_off.png": [110, 99, 96], "jeija_commandblock_on.png": [110, 99, 96], "redstone_redstone_block.png": [128, 8, 9], "jeija_torches_on.png": [102, 68, 56], "jeija_torches_off.png": [90, 66, 54], "mesecons_button_wield_mask.png": [255, 126, 126], "mcl_droppers_dropper_front_vertical.png": [118, 108, 103], "mcl_droppers_dropper_front_horizontal.png": [110, 101, 96], "mesecons_noteblock.png": [104, 81, 63], "jeija_solar_panel_inverted.png": [100, 107, 117], "jeija_solar_panel.png": [124, 113, 101], "jeija_solar_panel_side.png": [60, 47, 36], "mcl_observers_observer_top.png": [139, 128, 123], "mcl_observers_observer_front.png": [95, 80, 84], "mcl_observers_observer_back_lit.png": [75, 67, 65], "mcl_observers_observer_back.png": [72, 67, 64], "mcl_observers_observer_side.png": [111, 103, 99], "mesecons_piston_pusher_front_sticky.png": [97, 81, 63], "mesecons_piston_pusher_top.png": [106, 83, 65], "mesecons_piston_back.png": [110, 101, 98], "mesecons_piston_on_front.png": [111, 101, 98], "mesecons_piston_pusher_back.png": [106, 83, 65], "mesecons_piston_bottom.png": [120, 107, 100], "mesecons_piston_pusher_right.png": [106, 83, 65], "mesecons_piston_pusher_bottom.png": [106, 83, 65], "mesecons_piston_pusher_front.png": [106, 83, 65], "mesecons_piston_pusher_left.png": [106, 83, 65], "jeija_lightstone_gray_on.png": [97, 56, 37], "jeija_lightstone_gray_off.png": [64, 49, 43], "mcl_target_target_side.png": [177, 117, 94], "mcl_target_target_top.png": [177, 117, 94], "mcl_comparators_sides_on.png": [105, 87, 81], "mcl_comparators_comp.png": [61, 20, 20], "mcl_comparators_on.png": [116, 102, 98], "mcl_comparators_sides_comp.png": [99, 88, 83], "mcl_comparators_off.png": [113, 102, 98], "mcl_comparators_ends_comp.png": [99, 88, 83], "mcl_comparators_ends_sub.png": [105, 88, 83], "mcl_comparators_ends_off.png": [96, 80, 74], "mcl_comparators_ends_on.png": [105, 81, 75], "mcl_comparators_sub.png": [112, 25, 25], "mcl_comparators_item.png": [98, 83, 79], "mcl_comparators_sides_off.png": [99, 86, 80], "mcl_comparators_sides_sub.png": [105, 88, 83], "default_book.png": [103, 67, 44], "default_bookshelf.png": [84, 67, 54], "mcl_books_book_written.png": [110, 74, 44], "mcl_books_book_bg.png": [203, 180, 151], "mcl_books_button9_pressed.png": [145, 112, 86], "mcl_books_button9.png": [145, 112, 86], "mcl_books_book_writable.png": [151, 122, 108], "mcl_books_bookshelf_top.png": [109, 84, 65], "wool_dark_grey.png": [96, 87, 87], "wool_grey.png": [143, 134, 134], "wool_magenta.png": [140, 85, 125], "wool_black.png": [45, 42, 42], "wool_orange.png": [188, 106, 45], "wool_blue.png": [43, 73, 125], "wool_yellow.png": [201, 163, 69], "wool_pink.png": [171, 91, 108], "wool_dark_green.png": [53, 91, 51], "wool_brown.png": [86, 57, 43], "wool_red.png": [132, 42, 45], "mcl_wool_light_blue.png": [91, 130, 180], "wool_cyan.png": [30, 94, 113], "mcl_wool_lime.png": [107, 151, 76], "wool_white.png": [212, 199, 182], "wool_violet.png": [77, 57, 102], "mcl_potions_melon_speckled.png": [170, 97, 62], "mcl_potions_effect_swift.png": [106, 96, 85], "mcl_potions_spider_eye_fermented.png": [143, 97, 62], "mcl_potions_splash_bottle.png": [168, 156, 183], "mcl_potions_effect_water_breathing.png": [59, 69, 100], "mcl_potions_effect_leaping.png": [100, 91, 86], "mcl_potions_effect_weak.png": [127, 126, 126], "mcl_potions_dragon_breath.png": [171, 137, 163], "mcl_potions_effect_food_poisoning.png": [112, 123, 89], "hudbars_icon_regenerate.png": [195, 77, 114], "mcl_potions_effect_fire_proof.png": [112, 68, 68], "mcl_potions_splash_overlay.png": [202, 202, 202], "mcl_potions_effect_invisible.png": [96, 103, 95], "hbhunger_icon_regen_poison.png": [147, 111, 115], "mcl_potions_effect_slow.png": [78, 81, 85], "mcl_potions_lingering_bottle.png": [181, 159, 192], "mcl_potions_potion_overlay.png": [201, 201, 201], "mcl_potions_effect_regenerating.png": [133, 90, 83], "mcl_potions_arrow_inv.png": [171, 165, 160], "mcl_potions_effect_night_vision.png": [86, 99, 74], "mcl_potions_potion_bottle.png": [156, 172, 203], "mcl_potions_effect_poisoned.png": [78, 110, 80], "mcl_potions_effect_strong.png": [100, 82, 97], "crafting_workbench_front.png": [120, 93, 72], "gui_crafting_arrow.png": [139, 139, 139], "crafting_workbench_side.png": [120, 93, 72], "crafting_workbench_top.png": [152, 121, 93], "mcl_amethyst_amethyst_bud_small.png": [176, 131, 203], "mcl_amethyst_amethyst_block.png": [139, 84, 172], "mcl_amethyst_amethyst_cluster.png": [161, 111, 190], "mcl_amethyst_calcite_block.png": [189, 193, 207], "mcl_amethyst_amethyst_shard.png": [163, 113, 192], "mcl_amethyst_amethyst_bud_medium.png": [184, 140, 209], "mcl_amethyst_amethyst_bud_large.png": [173, 127, 201], "mcl_amethyst_tinted_glass.png": [125, 67, 160], "mcl_amethyst_amethyst_cluster_block.png": [180, 136, 206], "mcl_amethyst_budding_amethyst.png": [134, 77, 167], "mcl_enchanting_glyph_11.png": [209, 209, 231], "mcl_enchanting_glyph_14.png": [209, 209, 231], "mcl_enchanting_glyph_6.png": [209, 209, 231], "mcl_enchanting_glyph_8.png": [209, 209, 231], "mcl_enchanting_glyph_9.png": [209, 209, 231], "mcl_enchanting_glyph_3.png": [209, 209, 231], "mcl_enchanting_number_1_off.png": [255, 255, 255], "mcl_enchanting_number_3_off.png": [255, 255, 255], "mcl_enchanting_number_3.png": [151, 47, 40], "mcl_enchanting_book_open.png": [153, 123, 99], "mcl_enchanting_button_off.png": [255, 255, 255], "mcl_enchanting_glyph_2.png": [209, 209, 231], "mcl_enchanting_glyph_1.png": [209, 209, 231], "mcl_enchanting_button.png": [255, 255, 255], "mcl_enchanting_table_side.png": [66, 58, 55], "mcl_enchanting_book_closed.png": [112, 78, 55], "mcl_enchanting_table_bottom.png": [58, 51, 52], "mcl_enchanting_glyph_15.png": [209, 209, 231], "mcl_enchanting_number_2_off.png": [255, 255, 255], "mcl_enchanting_glyph_5.png": [209, 209, 231], "mcl_enchanting_number_1.png": [149, 45, 39], "mcl_enchanting_glyph_7.png": [209, 209, 231], "mcl_enchanting_table_top.png": [88, 86, 84], "mcl_enchanting_number_2.png": [149, 46, 39], "mcl_enchanting_glyph_16.png": [209, 209, 231], "mcl_enchanting_button_hovered.png": [255, 255, 255], "mcl_enchanting_book_enchanted.png": [122, 69, 46], "mcl_enchanting_glyph_4.png": [209, 209, 231], "mcl_enchanting_glyph_10.png": [209, 209, 231], "mcl_enchanting_glyph_13.png": [209, 209, 231], "mcl_enchanting_glyph_17.png": [209, 209, 231], "mcl_enchanting_glyph_18.png": [209, 209, 231], "mcl_enchanting_lapis_background.png": [255, 255, 255], "mcl_enchanting_button_background.png": [229, 202, 171], "mcl_enchanting_glyph_12.png": [209, 209, 231], "doc_basics_gameplay_mtg_2.png": [151, 168, 207], "doc_basics_liquids_renewable_1.png": [139, 146, 159], "doc_basics_players_sam.png": [95, 133, 106], "doc_basics_players_flat.png": [127, 155, 130], "doc_basics_craft_shapeless_2.png": [52, 52, 48], "doc_basics_build.png": [84, 84, 55], "doc_basics_pointing.png": [66, 104, 32], "doc_basics_nodes.png": [108, 104, 94], "doc_basics_craft_groups_2.png": [65, 58, 52], "doc_basics_craft_groups_1.png": [57, 57, 58], "doc_basics_inventory.png": [47, 47, 45], "doc_basics_minimap_radar.png": [73, 164, 128], "doc_basics_sneak.png": [70, 69, 69], "doc_basics_camera_behind.png": [108, 144, 135], "doc_basics_craft_repair.png": [47, 46, 45], "doc_basics_hotbar_relations.png": [85, 84, 69], "doc_basics_gameplay_lott.png": [119, 122, 112], "doc_basics_tools_mining.png": [64, 62, 59], "doc_basics_players_lott.png": [180, 193, 224], "doc_basics_gameplay_outback.png": [146, 114, 109], "doc_basics_gameplay_pixture.png": [94, 120, 57], "doc_basics_craft_grid.png": [46, 46, 46], "doc_basics_craft_groups_3.png": [61, 58, 55], "doc_basics_camera_front.png": [99, 133, 110], "doc_basics_minimap_map.png": [149, 169, 183], "doc_basics_gameplay_mtg_1.png": [136, 117, 86], "doc_basics_gameplay_xtraores_xtension.png": [95, 15, 86], "doc_basics_light_torch.png": [25, 43, 14], "doc_basics_minimap_round.png": [160, 175, 189], "doc_basics_light_test.png": [133, 113, 69], "doc_basics_liquids_nonrenewable.png": [64, 87, 87], "doc_basics_gameplay_hades.png": [81, 70, 62], "doc_basics_gameplay_moontest.png": [75, 74, 79], "doc_basics_liquids_range.png": [146, 166, 179], "doc_basics_inventory_detail.png": [43, 41, 39], "doc_basics_camera_ego.png": [111, 147, 139], "doc_basics_tools.png": [46, 45, 42], "doc_basics_liquids_renewable_2.png": [136, 148, 166], "doc_basics_items_dropped.png": [195, 185, 147], "doc_basics_liquids_types.png": [146, 164, 171], "doc_basics_gameplay_carbone_ng.png": [121, 118, 89], "doc_basics_craft_shaped.png": [55, 52, 50], "doc_basics_hotbar.png": [141, 175, 226], "doc_basics_craft_shapeless_1.png": [52, 52, 48], "doc_button_icon_lores.png": [19, 143, 183], "doc_awards_icon_generic.png": [14, 125, 162], "inventory_plus_doc_inventory_plus.png": [19, 143, 183], "doc_button_icon_hires.png": [30, 149, 188], "doc_identifier_identifier.png": [172, 151, 139], "doc_identifier_identifier_liquid.png": [125, 147, 190], "craftguide_furnace.png": [119, 95, 85], "craftguide_clear_icon.png": [254, 254, 254], "craftguide_book.png": [84, 117, 39], "mcl_craftguide_fuel.png": [187, 121, 75], "craftguide_prev_icon.png": [255, 255, 255], "craftguide_zoomout_icon.png": [255, 255, 255], "craftguide_search_icon.png": [254, 254, 254], "craftguide_arrow.png": [139, 139, 139], "craftguide_zoomin_icon.png": [255, 255, 255], "craftguide_shapeless.png": [130, 130, 130], "craftguide_next_icon.png": [255, 255, 255]} \ No newline at end of file +{ + "player.png": [ + 123, + 74, + 62 + ], + "player_back.png": [ + 114, + 68, + 56 + ], + "mcl_skins_button.png": [ + 121, + 95, + 85 + ], + "mcl_skins_character_1.png": [ + 93, + 90, + 77 + ], + "mcl_hunger_bar_saturation.png": [ + 255, + 255, + 0 + ], + "hbhunger_bar_health_poison.png": [ + 148, + 120, + 24 + ], + "mcl_hunger_bar_exhaustion.png": [ + 255, + 255, + 255 + ], + "mcl_hunger_icon_exhaustion.png": [ + 213, + 213, + 213 + ], + "mcl_hunger_bgicon_exhaustion.png": [ + 25, + 25, + 26 + ], + "mcl_hunger_icon_foodpoison.png": [ + 109, + 106, + 40 + ], + "mcl_hunger_bgicon_saturation.png": [ + 24, + 24, + 26 + ], + "hbhunger_bar.png": [ + 200, + 103, + 0 + ], + "hbhunger_bgicon.png": [ + 24, + 24, + 26 + ], + "hbhunger_icon_health_poison.png": [ + 69, + 98, + 45 + ], + "mcl_hunger_bar_foodpoison.png": [ + 116, + 132, + 88 + ], + "hbhunger_icon.png": [ + 175, + 132, + 97 + ], + "mcl_hunger_icon_saturation.png": [ + 157, + 140, + 64 + ], + "mcl_playerplus_end_sky.png": [ + 14, + 14, + 14 + ], + "mobs_mc_llama_decor_purple.png": [ + 108, + 72, + 115 + ], + "mobs_mc_spawn_icon_illusioner.png": [ + 98, + 111, + 155 + ], + "mobs_mc_llama_gray.png": [ + 195, + 188, + 175 + ], + "mobs_mc_spawn_icon_zombie.png": [ + 64, + 136, + 112 + ], + "mobs_mc_llama_decor_blue.png": [ + 117, + 121, + 156 + ], + "mobs_mc_spawn_icon_skeleton.png": [ + 146, + 146, + 146 + ], + "mobs_mc_shulker_blue.png": [ + 89, + 100, + 126 + ], + "mobs_mc_shulker_black.png": [ + 78, + 75, + 76 + ], + "mobs_mc_wolf_collar.png": [ + 186, + 186, + 186 + ], + "mobs_mc_spawn_icon_bat.png": [ + 130, + 63, + 13 + ], + "mobs_mc_villager_weaponsmith.png": [ + 75, + 74, + 62 + ], + "mobs_mc_parrot_green.png": [ + 47, + 208, + 62 + ], + "mobs_mc_llama_decor_magenta.png": [ + 186, + 84, + 131 + ], + "mobs_mc_rabbit_black.png": [ + 73, + 64, + 61 + ], + "mobs_mc_vindicator.png": [ + 56, + 56, + 57 + ], + "mobs_mc_polarbear.png": [ + 233, + 220, + 208 + ], + "mobs_mc_magmacube.png": [ + 83, + 40, + 27 + ], + "mobs_mc_chicken.png": [ + 198, + 182, + 176 + ], + "mobs_mc_villager_toolsmith.png": [ + 78, + 76, + 64 + ], + "mobs_mc_ghast_firing.png": [ + 198, + 198, + 198 + ], + "mobs_mc_spawn_icon_zombie_pigman.png": [ + 202, + 160, + 135 + ], + "mobs_mc_husk.png": [ + 98, + 95, + 76 + ], + "mobs_mc_villager_librarian.png": [ + 167, + 161, + 151 + ], + "mobs_mc_villager_priest.png": [ + 119, + 112, + 98 + ], + "mobs_mc_villager_fletcher.png": [ + 84, + 86, + 52 + ], + "mobs_mc_villager_smith.png": [ + 76, + 76, + 63 + ], + "mobs_mc_spawn_icon_dragon.png": [ + 98, + 47, + 89 + ], + "mobs_mc_spawn_icon_donkey.png": [ + 152, + 132, + 100 + ], + "mobs_mc_squid.png": [ + 37, + 52, + 68 + ], + "mobs_mc_villager_farmer.png": [ + 94, + 87, + 70 + ], + "mobs_mc_spawn_icon_horse_skeleton.png": [ + 245, + 204, + 202 + ], + "mobs_mc_villager_sheperd.png": [ + 97, + 98, + 66 + ], + "mobs_mc_horse_markings_blackdots.png": [ + 24, + 22, + 22 + ], + "mobs_mc_zombie_farmer.png": [ + 119, + 99, + 85 + ], + "mobs_mc_spawn_icon_vex.png": [ + 145, + 185, + 185 + ], + "mobs_mc_villager_armorer.png": [ + 86, + 87, + 55 + ], + "mobs_mc_parrot_blue.png": [ + 43, + 58, + 148 + ], + "mobs_mc_spider_eyes.png": [ + 174, + 48, + 48 + ], + "mobs_mc_zombie.png": [ + 78, + 110, + 105 + ], + "mobs_mc_llama_decor_light_blue.png": [ + 116, + 200, + 250 + ], + "mobs_mc_zombie_priest.png": [ + 120, + 104, + 110 + ], + "mobs_mc_llama_decor_black.png": [ + 12, + 8, + 24 + ], + "mobs_mc_horse_white.png": [ + 190, + 173, + 154 + ], + "mobs_mc_spawn_icon_vindicator.png": [ + 102, + 103, + 104 + ], + "mobs_mc_silverfish.png": [ + 179, + 164, + 144 + ], + "mobs_mc_llama_decor_gray.png": [ + 110, + 110, + 110 + ], + "mobs_mc_spawn_icon_guardian.png": [ + 119, + 156, + 148 + ], + "mobs_mc_creeper.png": [ + 98, + 107, + 71 + ], + "mobs_mc_shulker_purple.png": [ + 135, + 87, + 99 + ], + "mobs_mc_spawn_icon_rabbit.png": [ + 156, + 126, + 84 + ], + "mobs_mc_sheep.png": [ + 182, + 161, + 149 + ], + "mobs_mc_parrot_grey.png": [ + 33, + 178, + 173 + ], + "mobs_mc_wolf_icon_sit.png": [ + 8, + 88, + 116 + ], + "mobs_mc_gold_horse_armor.png": [ + 140, + 106, + 67 + ], + "mobs_mc_spawn_icon_witch.png": [ + 98, + 85, + 68 + ], + "mobs_mc_shulker_green.png": [ + 89, + 122, + 84 + ], + "mobs_mc_bat.png": [ + 87, + 63, + 54 + ], + "mobs_mc_villager_cartographer.png": [ + 164, + 157, + 145 + ], + "mobs_mc_horse_chestnut.png": [ + 126, + 78, + 58 + ], + "mobs_mc_shulker_yellow.png": [ + 175, + 128, + 69 + ], + "mobs_mc_spawn_icon_creeper.png": [ + 115, + 125, + 53 + ], + "mobs_mc_slime.png": [ + 63, + 133, + 78 + ], + "mobs_mc_evoker.png": [ + 44, + 48, + 43 + ], + "mobs_mc_horse_skeleton.png": [ + 163, + 156, + 141 + ], + "mobs_mc_spawn_icon_blaze.png": [ + 142, + 76, + 49 + ], + "mobs_mc_shulker_light_blue.png": [ + 114, + 140, + 158 + ], + "mobs_mc_shulker_gray.png": [ + 106, + 104, + 109 + ], + "mobs_mc_horse_darkbrown.png": [ + 69, + 47, + 34 + ], + "mobs_mc_stray_overlay.png": [ + 63, + 59, + 65 + ], + "mobs_mc_arrow_particle.png": [ + 218, + 171, + 136 + ], + "mobs_mc_spawn_icon_cat.png": [ + 120, + 66, + 10 + ], + "mobs_mc_stray.png": [ + 155, + 157, + 161 + ], + "mobs_mc_villager_nitwit.png": [ + 91, + 93, + 60 + ], + "mobs_mc_trading_formspec_bg.png": [ + 157, + 157, + 157 + ], + "mobs_mc_spawn_icon_villager.png": [ + 134, + 124, + 81 + ], + "mobs_mc_pig.png": [ + 228, + 175, + 165 + ], + "mobs_mc_spawn_icon_mooshroom.png": [ + 160, + 56, + 55 + ], + "mobs_mc_wolf_angry.png": [ + 187, + 179, + 176 + ], + "mobs_mc_cat_black.png": [ + 206, + 181, + 154 + ], + "mobs_mc_vex_charging.png": [ + 142, + 153, + 153 + ], + "mobs_mc_llama.png": [ + 207, + 189, + 155 + ], + "mobs_mc_mushroom_brown.png": [ + 122, + 81, + 58 + ], + "mobs_mc_spawn_icon_shulker.png": [ + 170, + 117, + 130 + ], + "mobs_mc_wither_half_health.png": [ + 7, + 58, + 91 + ], + "mobs_mc_spawn_icon_guardian_elder.png": [ + 174, + 140, + 113 + ], + "mobs_mc_enderman_eyes.png": [ + 184, + 211, + 242 + ], + "mobs_mc_horse_creamy.png": [ + 146, + 111, + 75 + ], + "mobs_mc_spawn_icon_zombie_villager.png": [ + 95, + 110, + 68 + ], + "mobs_mc_vex.png": [ + 128, + 162, + 162 + ], + "mobs_mc_iron_golem.png": [ + 47, + 44, + 44 + ], + "mobs_mc_cat_ocelot.png": [ + 163, + 111, + 52 + ], + "mobs_mc_llama_decor_green.png": [ + 51, + 84, + 27 + ], + "mobs_mc_cow.png": [ + 94, + 68, + 55 + ], + "mobs_mc_llama_decor_brown.png": [ + 85, + 58, + 46 + ], + "mobs_mc_villager_butcher.png": [ + 95, + 92, + 79 + ], + "mobs_mc_parrot_yellow_blue.png": [ + 98, + 187, + 205 + ], + "mobs_mc_zombie_pigman.png": [ + 164, + 129, + 117 + ], + "mobs_mc_spawn_icon_wolf.png": [ + 231, + 218, + 207 + ], + "mobs_mc_zombie_villager.png": [ + 112, + 108, + 90 + ], + "mobs_mc_sheep_fur.png": [ + 203, + 186, + 174 + ], + "mobs_mc_spawn_icon_horse_zombie.png": [ + 129, + 143, + 66 + ], + "mobs_mc_blaze.png": [ + 84, + 63, + 50 + ], + "mobs_mc_rabbit_salt.png": [ + 122, + 99, + 87 + ], + "mobs_mc_rabbit_white_splotched.png": [ + 146, + 139, + 135 + ], + "mobs_mc_horse_brown.png": [ + 115, + 84, + 61 + ], + "mobs_mc_ghast.png": [ + 199, + 199, + 199 + ], + "mobs_mc_horse_markings_white.png": [ + 165, + 149, + 132 + ], + "mobs_mc_horse_markings_whitefield.png": [ + 193, + 178, + 162 + ], + "mobs_mc_spawn_icon_endermite.png": [ + 138, + 67, + 74 + ], + "mobs_mc_shulker_magenta.png": [ + 143, + 97, + 130 + ], + "mobs_mc_snowman.png": [ + 211, + 217, + 221 + ], + "mobs_mc_zombie_smith.png": [ + 71, + 59, + 54 + ], + "mobs_mc_spawn_icon_squid.png": [ + 55, + 58, + 103 + ], + "mobs_mc_dragon_fireball.png": [ + 89, + 66, + 79 + ], + "mobs_mc_diamond_horse_armor.png": [ + 67, + 95, + 112 + ], + "mobs_mc_rabbit_toast.png": [ + 130, + 123, + 119 + ], + "mobs_mc_llama_white.png": [ + 207, + 199, + 184 + ], + "mobs_mc_llama_creamy.png": [ + 208, + 190, + 155 + ], + "mobs_mc_pig_saddle.png": [ + 82, + 63, + 45 + ], + "mobs_mc_spawn_icon_cave_spider.png": [ + 23, + 43, + 57 + ], + "mobs_mc_shulker_silver.png": [ + 140, + 138, + 143 + ], + "mobs_mc_trading_formspec_disabled.png": [ + 193, + 26, + 26 + ], + "mobs_mc_spider.png": [ + 41, + 38, + 37 + ], + "mobs_mc_wither.png": [ + 33, + 33, + 33 + ], + "mobs_mc_llama_decor_white.png": [ + 231, + 231, + 231 + ], + "mobs_mc_witch.png": [ + 80, + 74, + 67 + ], + "mobs_mc_wolf_icon_roam.png": [ + 6, + 124, + 36 + ], + "mobs_mc_illusionist.png": [ + 56, + 68, + 114 + ], + "mobs_mc_endermite.png": [ + 55, + 20, + 65 + ], + "mobs_mc_spawn_icon_witherskeleton.png": [ + 71, + 71, + 71 + ], + "mobs_mc_llama_decor_light_gray.png": [ + 201, + 201, + 201 + ], + "mobs_mc_llama_decor_cyan.png": [ + 20, + 157, + 160 + ], + "mobs_mc_skeleton.png": [ + 124, + 124, + 124 + ], + "mobs_mc_spawn_icon_llama.png": [ + 230, + 221, + 178 + ], + "mobs_mc_spawn_icon_chicken.png": [ + 170, + 160, + 156 + ], + "mobs_mc_shulker_pink.png": [ + 173, + 127, + 160 + ], + "mobs_mc_spawn_icon_spider.png": [ + 53, + 43, + 43 + ], + "mobs_mc_shulker_red.png": [ + 146, + 77, + 71 + ], + "mobs_mc_shulker_white.png": [ + 184, + 181, + 186 + ], + "mobs_mc_spawn_icon_magmacube.png": [ + 52, + 33, + 23 + ], + "mobs_mc_spawn_icon_ghast.png": [ + 212, + 212, + 212 + ], + "mobs_mc_rabbit_brown.png": [ + 112, + 86, + 73 + ], + "mobs_mc_spawn_icon_pig.png": [ + 242, + 200, + 188 + ], + "mobs_mc_spawn_icon_horse.png": [ + 44, + 36, + 25 + ], + "mobs_mc_cat_siamese.png": [ + 161, + 144, + 133 + ], + "mobs_mc_mushroom_red.png": [ + 176, + 51, + 49 + ], + "mobs_mc_shulker_brown.png": [ + 94, + 81, + 70 + ], + "mobs_mc_villager_leatherworker.png": [ + 96, + 93, + 58 + ], + "mobs_mc_guardian.png": [ + 78, + 116, + 130 + ], + "mobs_mc_creeper_charge.png": [ + 121, + 219, + 255 + ], + "mobs_mc_villager.png": [ + 88, + 91, + 55 + ], + "mobs_mc_llama_decor_lime.png": [ + 170, + 214, + 67 + ], + "mobs_mc_llama_brown.png": [ + 136, + 97, + 52 + ], + "mobs_mc_enderman_cactus_background.png": [ + 44, + 71, + 27 + ], + "mobs_mc_parrot_red_blue.png": [ + 171, + 70, + 37 + ], + "mobs_mc_spawn_icon_husk.png": [ + 174, + 174, + 128 + ], + "mobs_mc_rabbit_gold.png": [ + 151, + 130, + 96 + ], + "mobs_mc_spawn_icon_evoker.png": [ + 92, + 103, + 86 + ], + "mobs_mc_iron_horse_armor.png": [ + 133, + 119, + 114 + ], + "mobs_mc_llama_decor_red.png": [ + 215, + 58, + 50 + ], + "mobs_mc_enderman.png": [ + 3, + 10, + 10 + ], + "mobs_mc_mooshroom_brown.png": [ + 93, + 50, + 28 + ], + "mobs_mc_llama_decor_pink.png": [ + 207, + 140, + 182 + ], + "mobs_mc_enderman_block.png": [ + 46, + 42, + 38 + ], + "mobs_mc_mooshroom.png": [ + 90, + 42, + 41 + ], + "mobs_mc_cat_red.png": [ + 221, + 163, + 120 + ], + "mobs_mc_shulkerbullet.png": [ + 216, + 190, + 153 + ], + "mobs_mc_horse_markings_whitedots.png": [ + 230, + 220, + 207 + ], + "mobs_mc_mule.png": [ + 108, + 75, + 51 + ], + "mobs_mc_spawn_icon_iron_golem.png": [ + 122, + 72, + 41 + ], + "mobs_mc_zombie_butcher.png": [ + 107, + 98, + 87 + ], + "mobs_mc_llama_decor_yellow.png": [ + 218, + 187, + 8 + ], + "mobs_mc_wolf_tame.png": [ + 179, + 159, + 154 + ], + "mobs_mc_horse_gray.png": [ + 78, + 68, + 62 + ], + "mobs_mc_shulker_lime.png": [ + 106, + 132, + 88 + ], + "mobs_mc_rabbit_caerbannog.png": [ + 186, + 179, + 174 + ], + "mobs_mc_zombie_librarian.png": [ + 106, + 104, + 104 + ], + "mobs_mc_spawn_icon_silverfish.png": [ + 199, + 168, + 128 + ], + "mobs_mc_spawn_icon_stray.png": [ + 118, + 116, + 118 + ], + "mobs_mc_spawn_icon_polarbear.png": [ + 237, + 235, + 212 + ], + "mobs_mc_guardian_elder.png": [ + 141, + 141, + 125 + ], + "mobs_mc_spawn_icon_slime.png": [ + 76, + 130, + 33 + ], + "mobs_mc_cave_spider.png": [ + 14, + 28, + 38 + ], + "mobs_mc_spawn_icon_cow.png": [ + 162, + 118, + 72 + ], + "mobs_mc_wolf.png": [ + 182, + 165, + 159 + ], + "mobs_mc_wither_skeleton.png": [ + 50, + 50, + 50 + ], + "mobs_mc_endergolem.png": [ + 135, + 87, + 99 + ], + "mobs_mc_spawn_icon_mule.png": [ + 115, + 82, + 47 + ], + "mobs_mc_llama_decor_orange.png": [ + 151, + 80, + 27 + ], + "mobs_chicken_egg.png": [ + 199, + 157, + 106 + ], + "mobs_mc_rabbit_white.png": [ + 161, + 153, + 149 + ], + "mobs_mc_horse_black.png": [ + 49, + 42, + 39 + ], + "mobs_mc_dragon.png": [ + 79, + 54, + 67 + ], + "mobs_mc_villager_fisherman.png": [ + 98, + 92, + 58 + ], + "mobs_mc_spawn_icon_parrot.png": [ + 202, + 100, + 54 + ], + "mobs_mc_spawn_icon_snowman.png": [ + 216, + 173, + 147 + ], + "mobs_mc_donkey.png": [ + 91, + 78, + 68 + ], + "mobs_mc_shulker_cyan.png": [ + 89, + 114, + 128 + ], + "mobs_mc_spawn_icon_sheep.png": [ + 209, + 185, + 175 + ], + "mobs_mc_TEMP_wither_projectile.png": [ + 69, + 69, + 69 + ], + "mobs_mc_spawn_icon_enderman.png": [ + 63, + 82, + 87 + ], + "mobs_mc_shulker_orange.png": [ + 156, + 90, + 67 + ], + "mobs_mc_empty.png": [ + 255, + 255, + 255 + ], + "mobs_mc_spawn_icon_wither.png": [ + 102, + 102, + 102 + ], + "mcl_boats_spruce_boat.png": [ + 72, + 61, + 51 + ], + "mcl_boats_jungle_boat.png": [ + 102, + 73, + 58 + ], + "mcl_boats_texture_birch_boat.png": [ + 131, + 105, + 83 + ], + "mcl_boats_texture_oak_boat.png": [ + 103, + 82, + 65 + ], + "mcl_boats_birch_boat.png": [ + 120, + 95, + 78 + ], + "mcl_boats_texture_jungle_boat.png": [ + 109, + 78, + 60 + ], + "mcl_boats_oak_boat.png": [ + 93, + 76, + 62 + ], + "mcl_boats_texture_acacia_boat.png": [ + 136, + 90, + 64 + ], + "mcl_boats_obsidian_boat.png": [ + 17, + 15, + 27 + ], + "mcl_boats_texture_obsidian_boat.png": [ + 13, + 10, + 26 + ], + "mcl_boats_texture_dark_oak_boat.png": [ + 89, + 76, + 64 + ], + "mcl_boats_texture_spruce_boat.png": [ + 74, + 61, + 50 + ], + "mcl_boats_acacia_boat.png": [ + 124, + 82, + 59 + ], + "mcl_boats_dark_oak_boat.png": [ + 89, + 76, + 64 + ], + "mobs_nametag.png": [ + 138, + 114, + 89 + ], + "mobs_blood.png": [ + 27, + 27, + 29 + ], + "mcl_minecarts_rail_golden_curved_powered.png": [ + 89, + 71, + 57 + ], + "mcl_minecarts_rail_golden_crossing.png": [ + 83, + 70, + 55 + ], + "mcl_minecarts_rail_detector_curved_powered.png": [ + 81, + 68, + 64 + ], + "mcl_minecarts_rail_golden_t_junction_powered.png": [ + 82, + 69, + 59 + ], + "mcl_minecarts_rail_golden_t_junction.png": [ + 80, + 70, + 59 + ], + "mcl_minecarts_rail_detector.png": [ + 85, + 74, + 67 + ], + "mcl_minecarts_rail_detector_crossing.png": [ + 77, + 69, + 65 + ], + "default_rail_t_junction.png": [ + 79, + 68, + 61 + ], + "mcl_minecarts_rail_activator_crossing_powered.png": [ + 72, + 55, + 51 + ], + "mcl_minecarts_minecart_hopper.png": [ + 45, + 45, + 45 + ], + "mcl_minecarts_minecart_furnace.png": [ + 66, + 65, + 64 + ], + "mcl_minecarts_minecart_command_block.png": [ + 64, + 62, + 61 + ], + "mcl_minecarts_rail_golden.png": [ + 92, + 77, + 60 + ], + "mcl_minecarts_rail_activator_t_junction_powered.png": [ + 76, + 61, + 55 + ], + "default_rail_curved.png": [ + 76, + 67, + 60 + ], + "mcl_minecarts_rail_activator_t_junction.png": [ + 72, + 62, + 56 + ], + "mcl_minecarts_rail_golden_crossing_powered.png": [ + 86, + 70, + 54 + ], + "mcl_minecarts_rail_detector_crossing_powered.png": [ + 78, + 68, + 64 + ], + "mcl_minecarts_rail_detector_curved.png": [ + 77, + 70, + 66 + ], + "default_rail_crossing.png": [ + 79, + 68, + 59 + ], + "mcl_minecarts_rail_detector_t_junction.png": [ + 74, + 66, + 61 + ], + "mcl_minecarts_minecart.png": [ + 72, + 60, + 51 + ], + "mcl_minecarts_rail_golden_curved.png": [ + 85, + 73, + 58 + ], + "mcl_minecarts_rail_activator.png": [ + 78, + 64, + 56 + ], + "mcl_minecarts_rail_activator_powered.png": [ + 86, + 62, + 54 + ], + "mcl_minecarts_rail_detector_t_junction_powered.png": [ + 76, + 66, + 61 + ], + "mcl_minecarts_minecart_normal.png": [ + 47, + 45, + 43 + ], + "mcl_minecarts_minecart_tnt.png": [ + 75, + 52, + 52 + ], + "mcl_minecarts_rail_detector_powered.png": [ + 87, + 74, + 67 + ], + "mcl_minecarts_rail_golden_powered.png": [ + 94, + 77, + 60 + ], + "mcl_minecarts_rail_activator_crossing.png": [ + 65, + 56, + 52 + ], + "default_rail.png": [ + 83, + 70, + 61 + ], + "mcl_minecarts_rail_activator_curved_powered.png": [ + 75, + 55, + 52 + ], + "mcl_minecarts_rail_activator_curved.png": [ + 66, + 56, + 53 + ], + "mcl_minecarts_minecart_chest.png": [ + 51, + 48, + 46 + ], + "mcl_paintings_paintings.png": [ + 104, + 99, + 89 + ], + "mcl_paintings_painting.png": [ + 139, + 133, + 119 + ], + "mcl_particles_totem4.png": [ + 255, + 255, + 255 + ], + "mcl_particles_lava.png": [ + 250, + 150, + 64 + ], + "mcl_particles_bonemeal.png": [ + 185, + 185, + 185 + ], + "mcl_particles_instant_effect.png": [ + 160, + 160, + 160 + ], + "mcl_particles_note.png": [ + 41, + 40, + 39 + ], + "mcl_particles_bubble.png": [ + 147, + 174, + 195 + ], + "mcl_particles_sponge1.png": [ + 241, + 238, + 226 + ], + "mcl_particles_smoke_anim.png": [ + 172, + 172, + 172 + ], + "mcl_particles_crit.png": [ + 165, + 165, + 165 + ], + "mcl_particles_totem2.png": [ + 255, + 255, + 255 + ], + "mcl_particles_mob_death.png": [ + 198, + 198, + 198 + ], + "mcl_particles_droplet_bottle.png": [ + 203, + 203, + 203 + ], + "mcl_particles_sponge4.png": [ + 241, + 238, + 226 + ], + "mcl_particles_effect.png": [ + 184, + 184, + 184 + ], + "mcl_particles_teleport.png": [ + 86, + 22, + 128 + ], + "mcl_particles_sponge5.png": [ + 241, + 238, + 226 + ], + "mcl_particles_flame.png": [ + 244, + 149, + 63 + ], + "mcl_particles_sponge3.png": [ + 241, + 238, + 226 + ], + "mcl_particles_sponge2.png": [ + 241, + 238, + 226 + ], + "mcl_particles_totem1.png": [ + 255, + 255, + 255 + ], + "mcl_particles_smoke.png": [ + 174, + 174, + 174 + ], + "mcl_particles_totem3.png": [ + 255, + 255, + 255 + ], + "lightning_lightning_2.png": [ + 255, + 255, + 255 + ], + "lightning_lightning_3.png": [ + 217, + 217, + 217 + ], + "lightning_lightning_1.png": [ + 223, + 223, + 223 + ], + "weather_pack_rain_raindrop_2.png": [ + 33, + 79, + 142 + ], + "weather_pack_rain_raindrop_3.png": [ + 59, + 88, + 128 + ], + "mcl_particles_nether_dust3.png": [ + 143, + 105, + 102 + ], + "weather_pack_rain_raindrop_1.png": [ + 97, + 137, + 179 + ], + "mcl_particles_nether_dust1.png": [ + 143, + 105, + 102 + ], + "weather_pack_snow_snowflake1.png": [ + 255, + 255, + 255 + ], + "mcl_particles_nether_dust2.png": [ + 143, + 105, + 102 + ], + "weather_pack_snow_snowflake2.png": [ + 255, + 255, + 255 + ], + "mcl_moon_moon_phases.png": [ + 80, + 106, + 141 + ], + "hbarmor_bgicon.png": [ + 27, + 27, + 29 + ], + "hbarmor_bar.png": [ + 175, + 172, + 165 + ], + "hbarmor_icon.png": [ + 135, + 131, + 126 + ], + "mcl_base_textures_background9.png": [ + 179, + 179, + 179 + ], + "object_crosshair.png": [ + 255, + 255, + 255 + ], + "bubble.png": [ + 69, + 138, + 194 + ], + "crosshair.png": [ + 255, + 255, + 255 + ], + "heart.png": [ + 137, + 47, + 40 + ], + "mcl_base_textures_background.png": [ + 179, + 179, + 179 + ], + "crack_anylength.png": [ + 93, + 93, + 93 + ], + "mcl_base_textures_button9_pressed.png": [ + 162, + 162, + 162 + ], + "mcl_base_textures_button9.png": [ + 162, + 162, + 162 + ], + "smoke_puff.png": [ + 255, + 255, + 255 + ], + "credits_bg.png": [ + 94, + 72, + 60 + ], + "mineclone2_logo.png": [ + 75, + 74, + 69 + ], + "mineclone2_icon.png": [ + 58, + 74, + 44 + ], + "awards_template.png": [ + 134, + 134, + 134 + ], + "awards_bg_mining.png": [ + 73, + 68, + 51 + ], + "awards_progress_gray.png": [ + 157, + 157, + 157 + ], + "awards_ui_icon.png": [ + 190, + 34, + 34 + ], + "awards_unknown.png": [ + 134, + 134, + 134 + ], + "awards_progress_green.png": [ + 0, + 155, + 74 + ], + "awards_bg_default.png": [ + 38, + 38, + 38 + ], + "hudbars_bar_breath.png": [ + 159, + 161, + 255 + ], + "hudbars_icon_health.png": [ + 137, + 47, + 40 + ], + "hudbars_bar_health.png": [ + 168, + 55, + 47 + ], + "hudbars_bgicon_breath.png": [ + 0, + 0, + 0 + ], + "hudbars_bgicon_health.png": [ + 27, + 27, + 29 + ], + "hudbars_icon_breath.png": [ + 69, + 138, + 194 + ], + "hudbars_bar_background.png": [ + 71, + 71, + 71 + ], + "mcl_achievements_button.png": [ + 158, + 152, + 67 + ], + "mcl_inventory_hotbar.png": [ + 81, + 81, + 85 + ], + "crafting_inventory_creative_survival.png": [ + 195, + 195, + 195 + ], + "crafting_creative_bg_dark.png": [ + 157, + 157, + 157 + ], + "mcl_inventory_empty_armor_slot_shield.png": [ + 25, + 32, + 34 + ], + "crafting_formspec_bg.png": [ + 9, + 9, + 9 + ], + "mcl_inventory_empty_armor_slot_helmet.png": [ + 25, + 32, + 34 + ], + "mcl_inventory_hotbar_selected.png": [ + 113, + 85, + 40 + ], + "crafting_creative_inactive_down.png": [ + 151, + 151, + 151 + ], + "crafting_creative_active_down.png": [ + 196, + 196, + 196 + ], + "crafting_creative_prev.png": [ + 254, + 254, + 254 + ], + "crafting_creative_marker.png": [ + 0, + 0, + 0 + ], + "mcl_inventory_button9_pressed.png": [ + 162, + 162, + 162 + ], + "crafting_creative_active.png": [ + 202, + 202, + 202 + ], + "mcl_inventory_button9.png": [ + 162, + 162, + 162 + ], + "mcl_inventory_empty_armor_slot_chestplate.png": [ + 0, + 0, + 0 + ], + "mcl_inventory_empty_armor_slot_boots.png": [ + 0, + 0, + 0 + ], + "crafting_creative_bg.png": [ + 207, + 207, + 207 + ], + "crafting_creative_inactive.png": [ + 157, + 157, + 157 + ], + "crafting_creative_next.png": [ + 254, + 254, + 254 + ], + "mcl_inventory_empty_armor_slot_leggings.png": [ + 25, + 32, + 34 + ], + "crafting_inventory_creative.png": [ + 206, + 206, + 206 + ], + "crafting_creative_trash.png": [ + 144, + 113, + 113 + ], + "mcl_formspec_itemslot.png": [ + 157, + 157, + 157 + ], + "mcl_wear_bar.png": [ + 255, + 255, + 255 + ], + "mcl_offhand_slot.png": [ + 92, + 92, + 94 + ], + "mcl_experience_bottle.png": [ + 136, + 174, + 169 + ], + "mcl_experience_bar.png": [ + 74, + 102, + 70 + ], + "mcl_experience_orb.png": [ + 93, + 174, + 0 + ], + "mcl_experience_bar_background.png": [ + 49, + 46, + 45 + ], + "mcl_bossbars_empty.png": [ + 255, + 255, + 255 + ], + "mcl_bossbars.png": [ + 76, + 68, + 75 + ], + "blast_furnace_front_on.png": [ + 98, + 88, + 83 + ], + "blast_furnace_top.png": [ + 126, + 115, + 110 + ], + "blast_furnace_side.png": [ + 99, + 92, + 89 + ], + "blast_furnace_front.png": [ + 93, + 88, + 85 + ], + "mcl_itemframes_item_frame.png": [ + 123, + 90, + 63 + ], + "mcl_itemframes_itemframe_background.png": [ + 136, + 104, + 75 + ], + "mcl_banners_stripe_middle.png": [ + 255, + 255, + 255 + ], + "mcl_banners_skull.png": [ + 255, + 255, + 255 + ], + "mcl_banners_bricks.png": [ + 255, + 255, + 255 + ], + "mcl_banners_square_bottom_left.png": [ + 255, + 255, + 255 + ], + "mcl_banners_gradient.png": [ + 254, + 254, + 254 + ], + "mcl_banners_cross.png": [ + 255, + 255, + 255 + ], + "mcl_banners_gradient_up.png": [ + 254, + 254, + 254 + ], + "mcl_banners_item_overlay.png": [ + 240, + 240, + 240 + ], + "mcl_banners_stripe_downright.png": [ + 255, + 255, + 255 + ], + "mcl_banners_stripe_downleft.png": [ + 255, + 255, + 255 + ], + "mcl_banners_fallback_wood.png": [ + 102, + 88, + 74 + ], + "mcl_banners_base_inverted.png": [ + 255, + 255, + 255 + ], + "mcl_banners_triangles_top.png": [ + 255, + 255, + 255 + ], + "mcl_banners_banner_base.png": [ + 215, + 206, + 193 + ], + "mcl_banners_curly_border.png": [ + 254, + 254, + 254 + ], + "mcl_banners_thing.png": [ + 253, + 253, + 253 + ], + "mcl_banners_small_stripes.png": [ + 255, + 255, + 255 + ], + "mcl_banners_triangle_bottom.png": [ + 254, + 254, + 254 + ], + "mcl_banners_stripe_right.png": [ + 255, + 255, + 255 + ], + "mcl_banners_straight_cross.png": [ + 255, + 255, + 255 + ], + "mcl_banners_triangle_top.png": [ + 255, + 255, + 255 + ], + "mcl_banners_border.png": [ + 255, + 255, + 255 + ], + "mcl_banners_diagonal_left.png": [ + 255, + 255, + 255 + ], + "mcl_banners_diagonal_right.png": [ + 255, + 255, + 255 + ], + "mcl_banners_base.png": [ + 255, + 255, + 255 + ], + "mcl_banners_half_vertical.png": [ + 255, + 255, + 255 + ], + "mcl_banners_circle.png": [ + 254, + 254, + 254 + ], + "mcl_banners_triangles_bottom.png": [ + 255, + 255, + 255 + ], + "mcl_banners_item_base.png": [ + 103, + 89, + 75 + ], + "mcl_banners_stripe_left.png": [ + 255, + 255, + 255 + ], + "mcl_banners_rhombus.png": [ + 255, + 255, + 255 + ], + "mcl_banners_creeper.png": [ + 255, + 255, + 255 + ], + "mcl_banners_flower.png": [ + 254, + 254, + 254 + ], + "mcl_banners_stripe_bottom.png": [ + 255, + 255, + 255 + ], + "mcl_banners_half_horizontal.png": [ + 255, + 255, + 255 + ], + "mcl_banners_half_horizontal_bottom.png": [ + 255, + 255, + 255 + ], + "mcl_banners_square_top_left.png": [ + 255, + 255, + 255 + ], + "mcl_banners_square_top_right.png": [ + 255, + 255, + 255 + ], + "mcl_banners_stripe_center.png": [ + 255, + 255, + 255 + ], + "mcl_banners_diagonal_up_left.png": [ + 255, + 255, + 255 + ], + "mcl_banners_stripe_top.png": [ + 255, + 255, + 255 + ], + "mcl_banners_diagonal_up_right.png": [ + 255, + 255, + 255 + ], + "mcl_banners_square_bottom_right.png": [ + 255, + 255, + 255 + ], + "mcl_banners_half_vertical_right.png": [ + 255, + 255, + 255 + ], + "mcl_doors_trapdoor_dark_oak.png": [ + 81, + 68, + 56 + ], + "mcl_doors_trapdoor_acacia_side.png": [ + 154, + 102, + 71 + ], + "doors_trapdoor_steel_side.png": [ + 149, + 140, + 140 + ], + "mcl_doors_door_jungle_side_upper.png": [ + 109, + 75, + 57 + ], + "mcl_doors_door_dark_oak_side_lower.png": [ + 103, + 90, + 75 + ], + "mcl_doors_door_iron_lower.png": [ + 157, + 152, + 151 + ], + "mcl_doors_door_acacia_upper.png": [ + 152, + 100, + 69 + ], + "mcl_doors_door_jungle_side_lower.png": [ + 107, + 72, + 55 + ], + "mcl_doors_door_wood_lower.png": [ + 89, + 70, + 55 + ], + "doors_trapdoor_steel.png": [ + 149, + 140, + 140 + ], + "mcl_doors_door_iron_side_upper.png": [ + 155, + 149, + 148 + ], + "mcl_doors_door_acacia_side_upper.png": [ + 133, + 80, + 53 + ], + "mcl_doors_door_jungle.png": [ + 116, + 83, + 62 + ], + "mcl_doors_door_iron_side_lower.png": [ + 157, + 152, + 151 + ], + "mcl_doors_door_birch_upper.png": [ + 179, + 158, + 139 + ], + "mcl_doors_trapdoor_spruce_side.png": [ + 73, + 59, + 47 + ], + "mcl_doors_door_iron_upper.png": [ + 155, + 149, + 148 + ], + "mcl_doors_door_spruce_side_lower.png": [ + 92, + 79, + 68 + ], + "mcl_doors_trapdoor_spruce.png": [ + 71, + 57, + 46 + ], + "mcl_doors_trapdoor_birch_side.png": [ + 147, + 116, + 89 + ], + "doors_trapdoor_side.png": [ + 113, + 86, + 67 + ], + "mcl_doors_door_acacia_lower.png": [ + 153, + 101, + 70 + ], + "mcl_doors_door_dark_oak_side_upper.png": [ + 102, + 89, + 75 + ], + "mcl_doors_door_acacia_side_lower.png": [ + 131, + 78, + 51 + ], + "mcl_doors_door_wood_upper.png": [ + 92, + 72, + 57 + ], + "mcl_doors_trapdoor_birch.png": [ + 173, + 151, + 132 + ], + "mcl_doors_door_dark_oak_upper.png": [ + 83, + 71, + 59 + ], + "mcl_doors_door_acacia.png": [ + 148, + 98, + 67 + ], + "mcl_doors_door_spruce.png": [ + 67, + 56, + 47 + ], + "mcl_doors_door_spruce_lower.png": [ + 71, + 58, + 48 + ], + "mcl_doors_door_birch_side_upper.png": [ + 153, + 121, + 94 + ], + "mcl_doors_trapdoor_dark_oak_side.png": [ + 85, + 72, + 60 + ], + "mcl_doors_door_wood_side_upper.png": [ + 84, + 65, + 51 + ], + "mcl_doors_door_birch.png": [ + 172, + 147, + 124 + ], + "mcl_doors_door_birch_lower.png": [ + 165, + 140, + 119 + ], + "mcl_doors_trapdoor_jungle.png": [ + 103, + 70, + 52 + ], + "doors_item_steel.png": [ + 148, + 144, + 143 + ], + "doors_trapdoor.png": [ + 98, + 75, + 59 + ], + "mcl_doors_door_jungle_lower.png": [ + 116, + 82, + 61 + ], + "doors_item_wood.png": [ + 88, + 67, + 53 + ], + "mcl_doors_door_jungle_upper.png": [ + 113, + 79, + 59 + ], + "mcl_doors_door_spruce_upper.png": [ + 71, + 58, + 47 + ], + "mcl_doors_door_dark_oak_lower.png": [ + 84, + 71, + 59 + ], + "mcl_doors_door_dark_oak.png": [ + 82, + 69, + 57 + ], + "mcl_doors_door_wood_side_lower.png": [ + 132, + 102, + 81 + ], + "mcl_doors_trapdoor_jungle_side.png": [ + 121, + 87, + 62 + ], + "mcl_doors_door_spruce_side_upper.png": [ + 92, + 79, + 68 + ], + "mcl_doors_door_birch_side_lower.png": [ + 152, + 119, + 92 + ], + "mcl_doors_trapdoor_acacia.png": [ + 148, + 96, + 66 + ], + "mcl_fishing_clownfish_raw.png": [ + 205, + 127, + 81 + ], + "mcl_fishing_fish_raw.png": [ + 70, + 112, + 154 + ], + "mcl_fishing_salmon_raw.png": [ + 112, + 105, + 102 + ], + "mcl_fishing_fish_cooked.png": [ + 93, + 84, + 94 + ], + "mcl_fishing_bobber.png": [ + 171, + 117, + 119 + ], + "mcl_fishing_pufferfish_raw.png": [ + 219, + 165, + 77 + ], + "mcl_fishing_fishing_rod.png": [ + 134, + 116, + 103 + ], + "mcl_fishing_salmon_cooked.png": [ + 97, + 91, + 89 + ], + "mcl_barrels_barrel_top_open.png": [ + 58, + 43, + 35 + ], + "mcl_barrels_barrel_bottom.png": [ + 78, + 61, + 47 + ], + "mcl_barrels_barrel_side.png": [ + 70, + 57, + 47 + ], + "mcl_barrels_barrel_top.png": [ + 79, + 61, + 48 + ], + "mcl_stairs_diorite_smooth_slab.png": [ + 156, + 153, + 151 + ], + "mcl_stairs_iron_block_slab.png": [ + 166, + 159, + 159 + ], + "mcl_stairs_andesite_smooth_slab.png": [ + 106, + 113, + 108 + ], + "mcl_stairs_gold_block_slab.png": [ + 191, + 146, + 56 + ], + "mcl_stairs_granite_smooth_slab.png": [ + 150, + 121, + 109 + ], + "mcl_stairs_lapis_block_slab.png": [ + 49, + 89, + 158 + ], + "lantern_top.png": [ + 65, + 66, + 70 + ], + "mcl_blackstone_basalt_smooth.png": [ + 87, + 86, + 86 + ], + "mcl_blackstone_basalt_top_polished.png": [ + 77, + 76, + 76 + ], + "mcl_backstone_quartz_bricks.png": [ + 189, + 184, + 181 + ], + "soul_fire_basic_flame_animated.png": [ + 75, + 161, + 161 + ], + "mcl_blackstone_basalt_side_polished.png": [ + 64, + 63, + 63 + ], + "soul_torch_on_floor_animated.png": [ + 94, + 96, + 84 + ], + "mcl_blackstone_chiseled_polished.png": [ + 40, + 38, + 43 + ], + "lantern_bottom.png": [ + 78, + 138, + 137 + ], + "lantern.png": [ + 69, + 121, + 121 + ], + "soul_mcl_burning_hud_flame_animated.png": [ + 75, + 161, + 161 + ], + "mcl_blackstone_basalt_side.png": [ + 60, + 59, + 59 + ], + "mcl_blackstone_basalt_top.png": [ + 68, + 68, + 68 + ], + "mcl_blackstone_polished.png": [ + 43, + 41, + 46 + ], + "mcl_blackstone_polished_bricks.png": [ + 41, + 38, + 43 + ], + "mcl_blackstone_soul_soil.png": [ + 91, + 71, + 52 + ], + "soul_mcl_burning_entity_flame_animated.png": [ + 75, + 161, + 161 + ], + "mcl_blackstone_chain.png": [ + 33, + 33, + 33 + ], + "soul_fire_basic_flame.png": [ + 76, + 164, + 164 + ], + "mcl_blackstone.png": [ + 30, + 29, + 31 + ], + "soul_torch_on_floor.png": [ + 92, + 94, + 83 + ], + "mcl_nether_nether_wart_block_blue.png": [ + 72, + 95, + 175 + ], + "mcl_blackstone_gilded_side.png": [ + 184, + 140, + 50 + ], + "mcl_fireworks_rocket.png": [ + 155, + 84, + 71 + ], + "mcl_bows_arrow_inv.png": [ + 144, + 129, + 121 + ], + "mcl_bows_crossbow_0.png": [ + 95, + 77, + 61 + ], + "mcl_bows_rocket.png": [ + 188, + 86, + 83 + ], + "mcl_bows_firework_white.png": [ + 222, + 222, + 222 + ], + "mcl_bows_firework_green.png": [ + 156, + 238, + 141 + ], + "mcl_bows_firework_blue.png": [ + 141, + 174, + 238 + ], + "mcl_bows_firework_red.png": [ + 238, + 141, + 141 + ], + "mcl_bows_arrow_overlay.png": [ + 184, + 181, + 175 + ], + "mcl_bows_bow_1.png": [ + 112, + 95, + 79 + ], + "mcl_bows_bow_0.png": [ + 111, + 94, + 79 + ], + "mcl_bows_crossbow_2.png": [ + 100, + 82, + 66 + ], + "mcl_bows_bow_2.png": [ + 115, + 98, + 82 + ], + "mcl_bows_rocket_particle.png": [ + 215, + 215, + 215 + ], + "mcl_bows_crossbow_3.png": [ + 103, + 87, + 73 + ], + "mcl_bows_bow.png": [ + 114, + 95, + 78 + ], + "mcl_bows_arrow.png": [ + 133, + 116, + 108 + ], + "mcl_bows_crossbow.png": [ + 94, + 76, + 60 + ], + "mcl_bows_crossbow_1.png": [ + 97, + 79, + 62 + ], + "mcl_bows_arrow_front.png": [ + 178, + 175, + 168 + ], + "mcl_bows_arrow_back.png": [ + 218, + 216, + 213 + ], + "mcl_bows_firework_yellow.png": [ + 238, + 218, + 141 + ], + "mcl_ocean_dead_bubble_coral.png": [ + 118, + 108, + 126 + ], + "mcl_ocean_tube_coral.png": [ + 57, + 88, + 209 + ], + "mcl_ocean_sea_pickle_2_anim.png": [ + 95, + 122, + 51 + ], + "mcl_ocean_dead_horn_coral_fan.png": [ + 150, + 143, + 123 + ], + "mcl_ocean_dead_bubble_coral_block.png": [ + 114, + 105, + 122 + ], + "mcl_ocean_sea_pickle_3_off.png": [ + 68, + 99, + 36 + ], + "mcl_ocean_dead_horn_coral_block.png": [ + 152, + 146, + 125 + ], + "mcl_ocean_bubble_coral_block.png": [ + 143, + 76, + 195 + ], + "mcl_ocean_horn_coral.png": [ + 233, + 195, + 69 + ], + "mcl_ocean_dead_tube_coral_block.png": [ + 99, + 104, + 127 + ], + "mcl_ocean_sea_pickle_item.png": [ + 93, + 120, + 50 + ], + "mcl_ocean_kelp_item.png": [ + 42, + 105, + 55 + ], + "mcl_ocean_dried_kelp_side.png": [ + 71, + 80, + 67 + ], + "mcl_ocean_dead_tube_coral.png": [ + 99, + 105, + 128 + ], + "mcl_ocean_fire_coral_block.png": [ + 198, + 74, + 62 + ], + "mcl_ocean_bubble_coral.png": [ + 149, + 77, + 200 + ], + "mcl_ocean_prismarine_bricks.png": [ + 104, + 112, + 115 + ], + "mcl_ocean_brain_coral.png": [ + 206, + 87, + 153 + ], + "mcl_ocean_dried_kelp_top.png": [ + 56, + 71, + 57 + ], + "mcl_ocean_brain_coral_block.png": [ + 200, + 85, + 148 + ], + "mcl_ocean_prismarine_dark.png": [ + 77, + 89, + 97 + ], + "mcl_ocean_dead_fire_coral_block.png": [ + 127, + 102, + 100 + ], + "mcl_ocean_prismarine_shard.png": [ + 122, + 144, + 135 + ], + "mcl_ocean_sea_pickle_2_off.png": [ + 70, + 100, + 36 + ], + "mcl_ocean_sea_pickle_4_anim.png": [ + 85, + 113, + 46 + ], + "mcl_ocean_dead_brain_coral.png": [ + 134, + 117, + 127 + ], + "mcl_ocean_tube_coral_fan.png": [ + 59, + 85, + 203 + ], + "mcl_ocean_sea_pickle_4_off.png": [ + 68, + 98, + 36 + ], + "mcl_ocean_sea_pickle_1_anim.png": [ + 106, + 132, + 57 + ], + "mcl_ocean_fire_coral.png": [ + 208, + 78, + 65 + ], + "mcl_ocean_sea_pickle_3_anim.png": [ + 89, + 116, + 48 + ], + "mcl_ocean_dead_fire_coral_fan.png": [ + 140, + 113, + 110 + ], + "mcl_ocean_prismarine_crystals.png": [ + 182, + 193, + 190 + ], + "mcl_ocean_prismarine_anim.png": [ + 104, + 123, + 122 + ], + "mcl_ocean_horn_coral_fan.png": [ + 230, + 189, + 68 + ], + "mcl_ocean_dead_tube_coral_fan.png": [ + 98, + 103, + 125 + ], + "mcl_ocean_sea_pickle_1_off.png": [ + 72, + 103, + 37 + ], + "mcl_ocean_dead_horn_coral.png": [ + 154, + 148, + 127 + ], + "mcl_ocean_dead_fire_coral.png": [ + 133, + 107, + 105 + ], + "mcl_ocean_bubble_coral_fan.png": [ + 141, + 75, + 192 + ], + "mcl_ocean_horn_coral_block.png": [ + 232, + 193, + 69 + ], + "mcl_ocean_brain_coral_fan.png": [ + 206, + 87, + 154 + ], + "mcl_ocean_sea_lantern.png": [ + 133, + 144, + 145 + ], + "mcl_ocean_seagrass.png": [ + 48, + 125, + 60 + ], + "mcl_ocean_dead_brain_coral_fan.png": [ + 134, + 117, + 127 + ], + "mcl_ocean_dried_kelp.png": [ + 36, + 57, + 40 + ], + "mcl_ocean_dead_bubble_coral_fan.png": [ + 113, + 104, + 120 + ], + "mcl_ocean_dried_kelp_bottom.png": [ + 56, + 71, + 57 + ], + "mcl_ocean_kelp_plant.png": [ + 42, + 105, + 55 + ], + "mcl_ocean_tube_coral_block.png": [ + 58, + 88, + 207 + ], + "mcl_ocean_dead_brain_coral_block.png": [ + 130, + 114, + 123 + ], + "mcl_ocean_fire_coral_fan.png": [ + 205, + 77, + 64 + ], + "mcl_portals_endframe_bottom.png": [ + 109, + 99, + 87 + ], + "mcl_portals_particle3.png": [ + 146, + 0, + 201 + ], + "mcl_portals_particle2.png": [ + 146, + 0, + 201 + ], + "mcl_portals_endframe_top.png": [ + 95, + 85, + 74 + ], + "mcl_portals_particle4.png": [ + 146, + 0, + 201 + ], + "mcl_portals_endframe_eye.png": [ + 135, + 36, + 18 + ], + "mcl_portals_end_portal.png": [ + 14, + 14, + 14 + ], + "mcl_particles_nether_portal.png": [ + 206, + 0, + 206 + ], + "mcl_portals_particle5.png": [ + 189, + 11, + 213 + ], + "mcl_portals_endframe_side.png": [ + 110, + 99, + 86 + ], + "mcl_portals_particle1.png": [ + 173, + 28, + 229 + ], + "mcl_portals_portal.png": [ + 74, + 24, + 172 + ], + "mcl_particles_nether_portal_t.png": [ + 159, + 0, + 223 + ], + "cake_side.png": [ + 201, + 170, + 155 + ], + "cake_inner.png": [ + 185, + 129, + 99 + ], + "cake_bottom.png": [ + 160, + 86, + 51 + ], + "cake_top.png": [ + 241, + 228, + 226 + ], + "cake.png": [ + 216, + 187, + 176 + ], + "mcl_cocoas_cocoa_top_stage_2.png": [ + 138, + 68, + 52 + ], + "mcl_cocoas_cocoa_stage_1.png": [ + 172, + 121, + 69 + ], + "mcl_cocoas_cocoa_stage_2.png": [ + 132, + 65, + 50 + ], + "mcl_cocoas_cocoa_stage_0.png": [ + 65, + 77, + 39 + ], + "mcl_fences_fence_red_nether_brick.png": [ + 68, + 17, + 0 + ], + "mcl_fences_fence_gate_red_nether_brick.png": [ + 64, + 15, + 0 + ], + "mcl_fences_fence_gate_nether_brick.png": [ + 50, + 25, + 26 + ], + "mcl_mobitems_spider_eye.png": [ + 154, + 69, + 60 + ], + "mcl_mobitems_leather.png": [ + 105, + 75, + 45 + ], + "mcl_mobitems_feather.png": [ + 206, + 185, + 183 + ], + "mcl_mobitems_string.png": [ + 202, + 186, + 166 + ], + "mcl_mobitems_rabbit_foot.png": [ + 124, + 107, + 97 + ], + "mcl_mobitems_saddle.png": [ + 93, + 72, + 50 + ], + "mcl_mobitems_bone.png": [ + 182, + 162, + 139 + ], + "mcl_mobitems_horse_armor_iron.png": [ + 134, + 123, + 118 + ], + "mcl_mobitems_shulker_shell.png": [ + 118, + 68, + 83 + ], + "mcl_mobitems_blaze_rod.png": [ + 143, + 64, + 28 + ], + "mcl_mobitems_beef_raw.png": [ + 147, + 63, + 54 + ], + "mcl_mobitems_rabbit_stew.png": [ + 127, + 98, + 79 + ], + "mcl_mobitems_rotten_flesh.png": [ + 110, + 68, + 45 + ], + "mcl_mobitems_horse_armor_diamond.png": [ + 78, + 110, + 129 + ], + "mcl_mobitems_chicken_raw.png": [ + 217, + 178, + 149 + ], + "mcl_mobitems_ghast_tear.png": [ + 148, + 160, + 166 + ], + "mcl_mobitems_porkchop_raw.png": [ + 160, + 72, + 69 + ], + "mcl_mobitems_horse_armor_gold.png": [ + 143, + 110, + 59 + ], + "mcl_mobitems_rabbit_hide.png": [ + 108, + 85, + 73 + ], + "mcl_mobitems_slimeball.png": [ + 75, + 134, + 82 + ], + "mcl_mobitems_magma_cream.png": [ + 102, + 54, + 34 + ], + "default_gunpowder.png": [ + 48, + 41, + 36 + ], + "mcl_mobitems_chicken_cooked.png": [ + 187, + 145, + 106 + ], + "mcl_mobitems_beef_cooked.png": [ + 112, + 70, + 49 + ], + "mcl_mobitems_rabbit_cooked.png": [ + 188, + 155, + 131 + ], + "mcl_mobitems_blaze_powder.png": [ + 86, + 50, + 34 + ], + "mcl_mobitems_rabbit_raw.png": [ + 217, + 177, + 157 + ], + "mcl_mobitems_carrot_on_a_stick.png": [ + 133, + 113, + 93 + ], + "mcl_mobitems_mutton_cooked.png": [ + 144, + 104, + 77 + ], + "mcl_mobitems_nether_star.png": [ + 234, + 189, + 123 + ], + "mcl_mobitems_porkchop_cooked.png": [ + 116, + 72, + 48 + ], + "mcl_mobitems_mutton_raw.png": [ + 175, + 77, + 77 + ], + "mcl_mobitems_bucket_milk.png": [ + 180, + 175, + 166 + ], + "mcl_farming_wheat_stage_0.png": [ + 53, + 101, + 46 + ], + "farming_carrot.png": [ + 147, + 106, + 63 + ], + "farming_potato_poison.png": [ + 121, + 93, + 55 + ], + "mcl_farming_pumpkin_hud.png": [ + 0, + 0, + 0 + ], + "farming_cookie.png": [ + 144, + 100, + 61 + ], + "mcl_farming_melon_seeds.png": [ + 100, + 72, + 61 + ], + "mcl_farming_potatoes_stage_1.png": [ + 69, + 113, + 61 + ], + "mcl_farming_melon_stem_disconnected.png": [ + 96, + 96, + 96 + ], + "farming_carrot_4.png": [ + 93, + 105, + 58 + ], + "mcl_farming_wheat_stage_5.png": [ + 101, + 142, + 66 + ], + "farming_tool_woodhoe.png": [ + 120, + 101, + 86 + ], + "mcl_farming_potatoes_stage_0.png": [ + 73, + 119, + 65 + ], + "farming_carrot_1.png": [ + 75, + 112, + 61 + ], + "farming_carrot_3.png": [ + 70, + 107, + 57 + ], + "farming_melon.png": [ + 153, + 84, + 62 + ], + "mcl_farming_pumpkin_seeds.png": [ + 132, + 120, + 87 + ], + "farming_wheat_harvested.png": [ + 178, + 134, + 80 + ], + "farming_pumpkin_side.png": [ + 186, + 100, + 42 + ], + "mcl_farming_pumpkin_face.png": [ + 181, + 94, + 40 + ], + "mcl_farming_wheat_stage_4.png": [ + 86, + 129, + 65 + ], + "mcl_farming_farmland_wet.png": [ + 69, + 55, + 46 + ], + "mcl_farming_beetroot_0.png": [ + 56, + 122, + 75 + ], + "mcl_farming_pumpkin_stem_connected.png": [ + 94, + 94, + 94 + ], + "mcl_farming_farmland_dry.png": [ + 101, + 80, + 68 + ], + "farming_tool_diamondhoe.png": [ + 101, + 104, + 104 + ], + "mcl_farming_beetroot_1.png": [ + 54, + 118, + 72 + ], + "mcl_farming_beetroot_2.png": [ + 54, + 119, + 73 + ], + "mcl_farming_wheat_stage_7.png": [ + 165, + 116, + 75 + ], + "mcl_farming_beetroot.png": [ + 113, + 69, + 66 + ], + "mcl_farming_wheat_stage_6.png": [ + 145, + 145, + 69 + ], + "mcl_farming_wheat_stage_3.png": [ + 64, + 113, + 52 + ], + "mcl_farming_pumpkin_stem_disconnected.png": [ + 96, + 96, + 96 + ], + "mcl_farming_hayblock_top.png": [ + 154, + 116, + 81 + ], + "farming_pumpkin_face_light.png": [ + 189, + 100, + 45 + ], + "farming_potato_baked.png": [ + 118, + 84, + 45 + ], + "farming_melon_side.png": [ + 68, + 95, + 37 + ], + "farming_potato.png": [ + 107, + 74, + 39 + ], + "mcl_farming_wheat_stage_1.png": [ + 49, + 97, + 45 + ], + "farming_pumpkin_top.png": [ + 172, + 87, + 40 + ], + "farming_bread.png": [ + 177, + 133, + 94 + ], + "mcl_farming_beetroot_soup.png": [ + 120, + 70, + 63 + ], + "farming_melon_top.png": [ + 58, + 80, + 33 + ], + "mcl_farming_potatoes_stage_3.png": [ + 82, + 106, + 57 + ], + "farming_tool_stonehoe.png": [ + 133, + 122, + 111 + ], + "mcl_farming_beetroot_seeds.png": [ + 107, + 104, + 88 + ], + "farming_tool_goldhoe.png": [ + 162, + 131, + 70 + ], + "farming_carrot_gold.png": [ + 140, + 122, + 48 + ], + "farming_carrot_2.png": [ + 72, + 108, + 58 + ], + "farming_pumpkin_face.png": [ + 161, + 79, + 37 + ], + "mcl_farming_melon_stem_connected.png": [ + 94, + 94, + 94 + ], + "mcl_farming_pumpkin_pie.png": [ + 172, + 98, + 45 + ], + "mcl_farming_wheat_stage_2.png": [ + 49, + 97, + 45 + ], + "farming_tool_steelhoe.png": [ + 123, + 112, + 102 + ], + "mcl_farming_potatoes_stage_2.png": [ + 72, + 116, + 62 + ], + "mcl_farming_beetroot_3.png": [ + 73, + 105, + 71 + ], + "mcl_farming_wheat_seeds.png": [ + 102, + 87, + 55 + ], + "mcl_farming_hayblock_side.png": [ + 135, + 99, + 71 + ], + "mcl_raw_ores_raw_iron_block.png": [ + 194, + 172, + 156 + ], + "mcl_raw_ores_raw_gold_block.png": [ + 208, + 166, + 77 + ], + "mcl_raw_ores_raw_gold.png": [ + 195, + 152, + 64 + ], + "mcl_raw_ores_raw_iron.png": [ + 182, + 160, + 145 + ], + "mcl_end_purpur_block.png": [ + 161, + 111, + 175 + ], + "mcl_end_chorus_flower_dead.png": [ + 82, + 79, + 118 + ], + "mcl_end_end_stone.png": [ + 221, + 214, + 130 + ], + "mcl_end_endframe_side.png": [ + 110, + 99, + 86 + ], + "mcl_end_purpur_pillar.png": [ + 157, + 108, + 171 + ], + "mcl_end_chorus_fruit.png": [ + 87, + 89, + 121 + ], + "mcl_end_endframe_eye.png": [ + 135, + 36, + 18 + ], + "mcl_end_chorus_fruit_popped.png": [ + 70, + 67, + 110 + ], + "mcl_end_end_rod_top.png": [ + 123, + 75, + 97 + ], + "mcl_end_endframe_top.png": [ + 95, + 85, + 74 + ], + "mcl_end_purpur_pillar_top.png": [ + 159, + 110, + 173 + ], + "mcl_end_chorus_flower.png": [ + 92, + 92, + 125 + ], + "mcl_end_crystal_item.png": [ + 170, + 140, + 162 + ], + "mcl_end_end_bricks.png": [ + 194, + 187, + 123 + ], + "mcl_end_dragon_egg.png": [ + 55, + 34, + 32 + ], + "mcl_end_ender_eye.png": [ + 130, + 33, + 17 + ], + "mcl_end_chorus_plant.png": [ + 78, + 73, + 115 + ], + "mcl_end_end_rod_bottom.png": [ + 122, + 74, + 96 + ], + "mcl_end_crystal_beam.png": [ + 195, + 81, + 183 + ], + "mcl_end_end_rod_side.png": [ + 242, + 202, + 177 + ], + "mcl_cracked_deepslate_tiles.png": [ + 47, + 46, + 46 + ], + "mcl_cracked_deepslate_bricks.png": [ + 60, + 58, + 58 + ], + "mcl_deepslate_iron_ore.png": [ + 88, + 82, + 79 + ], + "mcl_deepslate_bricks.png": [ + 62, + 61, + 60 + ], + "mcl_deepslate_tuff.png": [ + 98, + 81, + 69 + ], + "mcl_deepslate_gold_ore.png": [ + 87, + 78, + 64 + ], + "mcl_chiseled_deepslate.png": [ + 44, + 43, + 43 + ], + "mcl_deepslate_diamond_ore.png": [ + 74, + 92, + 100 + ], + "mcl_deepslate_lapis_ore.png": [ + 63, + 74, + 90 + ], + "mcl_cobbled_deepslate.png": [ + 78, + 76, + 75 + ], + "mcl_deepslate_tiles.png": [ + 49, + 47, + 47 + ], + "mcl_deepslate.png": [ + 70, + 68, + 67 + ], + "mcl_deepslate_redstone_ore.png": [ + 89, + 61, + 60 + ], + "mcl_deepslate_emerald_ore.png": [ + 63, + 81, + 71 + ], + "mcl_deepslate_top.png": [ + 75, + 73, + 72 + ], + "mcl_polished_deepslate.png": [ + 68, + 66, + 66 + ], + "mcl_deepslate_copper_ore.png": [ + 82, + 70, + 67 + ], + "mcl_deepslate_coal_ore.png": [ + 63, + 60, + 59 + ], + "mcl_clock_clock_18.png": [ + 152, + 123, + 81 + ], + "mcl_clock_clock_03.png": [ + 160, + 129, + 88 + ], + "mcl_clock_clock_49.png": [ + 155, + 122, + 79 + ], + "mcl_clock_clock_34.png": [ + 140, + 115, + 76 + ], + "mcl_clock_clock_01.png": [ + 161, + 129, + 88 + ], + "mcl_clock_clock_32.png": [ + 141, + 116, + 77 + ], + "mcl_clock_clock_27.png": [ + 142, + 117, + 78 + ], + "mcl_clock_clock_42.png": [ + 147, + 119, + 79 + ], + "mcl_clock_clock_25.png": [ + 145, + 119, + 78 + ], + "mcl_clock_clock_56.png": [ + 160, + 126, + 81 + ], + "mcl_clock_clock_22.png": [ + 146, + 119, + 79 + ], + "mcl_clock_clock_31.png": [ + 141, + 116, + 76 + ], + "mcl_clock_clock_57.png": [ + 161, + 127, + 83 + ], + "mcl_clock_clock_58.png": [ + 157, + 127, + 86 + ], + "mcl_clock_clock_39.png": [ + 146, + 119, + 79 + ], + "mcl_clock_clock_59.png": [ + 160, + 128, + 86 + ], + "mcl_clock_clock_16.png": [ + 157, + 125, + 80 + ], + "mcl_clock_clock_38.png": [ + 141, + 117, + 78 + ], + "mcl_clock_clock_53.png": [ + 158, + 124, + 80 + ], + "mcl_clock_clock_43.png": [ + 149, + 121, + 80 + ], + "mcl_clock_clock_09.png": [ + 161, + 127, + 81 + ], + "mcl_clock_clock_33.png": [ + 141, + 116, + 76 + ], + "mcl_clock_clock_07.png": [ + 162, + 128, + 83 + ], + "mcl_clock_clock_23.png": [ + 148, + 121, + 80 + ], + "mcl_clock_clock_51.png": [ + 156, + 123, + 80 + ], + "mcl_clock_clock_10.png": [ + 158, + 127, + 85 + ], + "mcl_clock_clock_55.png": [ + 160, + 126, + 81 + ], + "mcl_clock_clock_46.png": [ + 152, + 122, + 81 + ], + "mcl_clock_clock_26.png": [ + 142, + 117, + 79 + ], + "mcl_clock_clock_06.png": [ + 157, + 127, + 86 + ], + "mcl_clock_clock_00.png": [ + 162, + 129, + 87 + ], + "mcl_clock_clock_28.png": [ + 141, + 116, + 77 + ], + "mcl_clock_clock_44.png": [ + 150, + 120, + 79 + ], + "mcl_clock_clock_08.png": [ + 160, + 127, + 81 + ], + "mcl_clock_clock_19.png": [ + 152, + 122, + 80 + ], + "mcl_clock_clock_12.png": [ + 159, + 127, + 83 + ], + "mcl_clock_clock_45.png": [ + 153, + 123, + 81 + ], + "mcl_clock_clock_24.png": [ + 147, + 120, + 80 + ], + "mcl_clock_clock_15.png": [ + 157, + 125, + 81 + ], + "mcl_clock_clock_20.png": [ + 150, + 121, + 79 + ], + "mcl_clock_clock_61.png": [ + 160, + 129, + 88 + ], + "mcl_clock_clock_02.png": [ + 159, + 129, + 89 + ], + "mcl_clock_clock_40.png": [ + 147, + 120, + 79 + ], + "mcl_clock_clock_37.png": [ + 143, + 118, + 79 + ], + "mcl_clock_clock_48.png": [ + 155, + 123, + 79 + ], + "mcl_clock_clock_13.png": [ + 159, + 126, + 82 + ], + "mcl_clock_clock_17.png": [ + 156, + 125, + 81 + ], + "mcl_clock_clock_52.png": [ + 156, + 123, + 80 + ], + "mcl_clock_clock_54.png": [ + 156, + 125, + 84 + ], + "mcl_clock_clock_04.png": [ + 159, + 128, + 87 + ], + "mcl_clock_clock_47.png": [ + 154, + 122, + 80 + ], + "mcl_clock_clock_62.png": [ + 159, + 129, + 89 + ], + "mcl_clock_clock_41.png": [ + 147, + 120, + 79 + ], + "mcl_clock_clock_35.png": [ + 140, + 115, + 76 + ], + "mcl_clock_clock_60.png": [ + 159, + 128, + 87 + ], + "mcl_clock_clock_50.png": [ + 155, + 123, + 80 + ], + "mcl_clock_clock_29.png": [ + 142, + 117, + 78 + ], + "mcl_clock_clock_21.png": [ + 150, + 122, + 81 + ], + "mcl_clock_clock_30.png": [ + 140, + 115, + 76 + ], + "mcl_clock_clock_14.png": [ + 157, + 125, + 81 + ], + "mcl_clock_clock_05.png": [ + 160, + 128, + 85 + ], + "mcl_clock_clock_36.png": [ + 141, + 116, + 77 + ], + "mcl_clock_clock_63.png": [ + 161, + 129, + 88 + ], + "mcl_clock_clock_11.png": [ + 160, + 127, + 82 + ], + "lodestone_side3.png": [ + 83, + 73, + 69 + ], + "mcl_compass_compass_02.png": [ + 116, + 107, + 104 + ], + "lodestone_bottom.png": [ + 81, + 72, + 69 + ], + "mcl_compass_compass_06.png": [ + 117, + 107, + 104 + ], + "mcl_compass_compass_04.png": [ + 117, + 106, + 104 + ], + "mcl_compass_compass_19.png": [ + 116, + 106, + 103 + ], + "mcl_compass_compass_16.png": [ + 114, + 106, + 104 + ], + "lodestone_side1.png": [ + 83, + 73, + 69 + ], + "mcl_compass_compass_26.png": [ + 117, + 107, + 104 + ], + "lodestone_side4.png": [ + 85, + 75, + 70 + ], + "mcl_compass_compass_25.png": [ + 117, + 107, + 105 + ], + "mcl_compass_compass_24.png": [ + 117, + 107, + 105 + ], + "mcl_compass_compass_17.png": [ + 115, + 106, + 104 + ], + "lodestone_top.png": [ + 78, + 69, + 66 + ], + "mcl_compass_compass_23.png": [ + 117, + 107, + 105 + ], + "mcl_compass_compass_01.png": [ + 115, + 107, + 104 + ], + "mcl_compass_compass_28.png": [ + 116, + 107, + 104 + ], + "mcl_compass_compass_05.png": [ + 117, + 106, + 104 + ], + "mcl_compass_compass_09.png": [ + 117, + 107, + 104 + ], + "mcl_compass_compass_10.png": [ + 117, + 107, + 105 + ], + "lodestone_side2.png": [ + 82, + 72, + 68 + ], + "mcl_compass_compass_14.png": [ + 116, + 107, + 105 + ], + "mcl_compass_compass_18.png": [ + 117, + 107, + 104 + ], + "mcl_compass_compass_13.png": [ + 117, + 106, + 104 + ], + "mcl_compass_compass_08.png": [ + 117, + 107, + 104 + ], + "mcl_compass_compass_21.png": [ + 117, + 107, + 104 + ], + "mcl_compass_compass_27.png": [ + 117, + 106, + 104 + ], + "mcl_compass_compass_30.png": [ + 116, + 107, + 104 + ], + "mcl_compass_compass_15.png": [ + 115, + 106, + 104 + ], + "mcl_compass_compass_29.png": [ + 115, + 106, + 104 + ], + "mcl_compass_compass_03.png": [ + 116, + 106, + 104 + ], + "mcl_compass_compass_07.png": [ + 117, + 107, + 104 + ], + "mcl_compass_compass_22.png": [ + 117, + 107, + 105 + ], + "mcl_compass_compass_12.png": [ + 117, + 106, + 104 + ], + "mcl_compass_compass_00.png": [ + 114, + 107, + 104 + ], + "mcl_compass_compass_20.png": [ + 116, + 106, + 104 + ], + "mcl_compass_compass_31.png": [ + 115, + 107, + 104 + ], + "mcl_compass_compass_11.png": [ + 117, + 106, + 104 + ], + "mcl_jukebox_record_wait.png": [ + 39, + 42, + 55 + ], + "mcl_jukebox_record_cat.png": [ + 40, + 45, + 51 + ], + "mcl_jukebox_record_mellohi.png": [ + 46, + 44, + 59 + ], + "mcl_jukebox_record_13.png": [ + 51, + 47, + 51 + ], + "mcl_jukebox_record_ward.png": [ + 39, + 43, + 51 + ], + "mcl_jukebox_record_chirp.png": [ + 49, + 40, + 50 + ], + "mcl_jukebox_record_blocks.png": [ + 47, + 37, + 49 + ], + "mcl_jukebox_record_11.png": [ + 41, + 40, + 52 + ], + "mcl_jukebox_record_mall.png": [ + 42, + 41, + 62 + ], + "mcl_jukebox_top.png": [ + 72, + 56, + 44 + ], + "mcl_jukebox_record_strad.png": [ + 45, + 45, + 57 + ], + "mcl_jukebox_record_far.png": [ + 47, + 48, + 52 + ], + "mcl_jukebox_side.png": [ + 94, + 74, + 57 + ], + "mcl_jukebox_record_stal.png": [ + 39, + 38, + 49 + ], + "loom_front.png": [ + 127, + 101, + 84 + ], + "loom_side1.png": [ + 130, + 102, + 80 + ], + "loom_bottom1.png": [ + 163, + 130, + 100 + ], + "loom_top1.png": [ + 186, + 160, + 137 + ], + "loom_bottom.png": [ + 111, + 84, + 69 + ], + "loom_front1.png": [ + 148, + 123, + 102 + ], + "loom_top.png": [ + 134, + 111, + 97 + ], + "loom_side.png": [ + 121, + 91, + 72 + ], + "mcl_fences_fence_acacia.png": [ + 152, + 99, + 68 + ], + "mcl_fences_fence_gate_mask.png": [ + 255, + 126, + 126 + ], + "mcl_fences_fence_gate_spruce.png": [ + 85, + 69, + 56 + ], + "mcl_fences_fence_big_oak.png": [ + 83, + 71, + 59 + ], + "mcl_fences_fence_spruce.png": [ + 84, + 67, + 54 + ], + "mcl_fences_fence_gate_birch.png": [ + 153, + 121, + 94 + ], + "mcl_fences_fence_gate_acacia.png": [ + 155, + 102, + 70 + ], + "mcl_fences_fence_gate_big_oak.png": [ + 85, + 73, + 61 + ], + "mcl_fences_fence_oak.png": [ + 108, + 83, + 64 + ], + "mcl_fences_fence_gate_oak.png": [ + 111, + 85, + 66 + ], + "mcl_fences_fence_jungle.png": [ + 115, + 80, + 60 + ], + "mcl_fences_fence_nether_brick.png": [ + 49, + 24, + 24 + ], + "mcl_fences_fence_birch.png": [ + 151, + 119, + 93 + ], + "mcl_fences_fence_gate_jungle.png": [ + 117, + 82, + 61 + ], + "mcl_fences_fence_mask.png": [ + 255, + 126, + 126 + ], + "mcl_composter_bottom.png": [ + 141, + 111, + 87 + ], + "mcl_composter_side.png": [ + 117, + 92, + 74 + ], + "mcl_composter_ready.png": [ + 109, + 107, + 74 + ], + "mcl_composter_compost.png": [ + 75, + 76, + 41 + ], + "mcl_composter_top.png": [ + 157, + 129, + 103 + ], + "mcl_core_leaves_birch.png": [ + 28, + 57, + 28 + ], + "default_mossycobble.png": [ + 100, + 105, + 94 + ], + "default_flint.png": [ + 70, + 67, + 64 + ], + "mcl_core_bowl.png": [ + 78, + 61, + 47 + ], + "mcl_core_glass_lime_detail.png": [ + 126, + 203, + 24 + ], + "mcl_core_bone_block_top.png": [ + 220, + 201, + 170 + ], + "default_acacia_tree.png": [ + 105, + 91, + 74 + ], + "default_steel_block.png": [ + 159, + 151, + 151 + ], + "mcl_core_stonebrick_mossy.png": [ + 81, + 101, + 76 + ], + "default_diamond_block.png": [ + 92, + 160, + 200 + ], + "mcl_core_glass_brown_detail.png": [ + 101, + 75, + 50 + ], + "mcl_core_glass_blue_detail.png": [ + 50, + 75, + 178 + ], + "default_leaves.png": [ + 39, + 79, + 38 + ], + "mcl_core_web.png": [ + 202, + 189, + 167 + ], + "mcl_core_reeds.png": [ + 57, + 100, + 52 + ], + "default_gold_ingot.png": [ + 179, + 133, + 47 + ], + "mcl_core_grass_path_side.png": [ + 113, + 89, + 62 + ], + "mcl_core_red_sand.png": [ + 224, + 137, + 111 + ], + "mcl_core_glass_black_detail.png": [ + 24, + 24, + 24 + ], + "default_apple.png": [ + 137, + 57, + 44 + ], + "mcl_core_log_birch_top.png": [ + 155, + 130, + 112 + ], + "default_coal_block.png": [ + 51, + 49, + 51 + ], + "mcl_core_andesite_smooth.png": [ + 107, + 113, + 109 + ], + "mcl_core_apple_golden.png": [ + 176, + 138, + 51 + ], + "mcl_core_diorite.png": [ + 153, + 149, + 146 + ], + "mcl_core_granite_smooth.png": [ + 150, + 121, + 110 + ], + "mcl_core_bedrock.png": [ + 91, + 77, + 66 + ], + "mcl_core_planks_spruce.png": [ + 81, + 65, + 54 + ], + "mcl_core_sapling_big_oak.png": [ + 69, + 92, + 80 + ], + "mcl_core_emerald_ore.png": [ + 115, + 122, + 103 + ], + "mcl_core_sandstone_smooth.png": [ + 202, + 155, + 121 + ], + "mcl_core_glass_light_blue.png": [ + 101, + 153, + 215 + ], + "default_brick.png": [ + 139, + 87, + 75 + ], + "mcl_core_redstone_ore.png": [ + 128, + 91, + 88 + ], + "mcl_core_cactus_top.png": [ + 77, + 99, + 49 + ], + "mcl_core_frosted_ice_1.png": [ + 147, + 198, + 227 + ], + "mcl_core_glass_white_detail.png": [ + 254, + 254, + 254 + ], + "mcl_core_sapling_spruce.png": [ + 55, + 72, + 53 + ], + "mcl_core_stripped_acacia_top.png": [ + 157, + 98, + 62 + ], + "mcl_core_log_spruce_top.png": [ + 97, + 71, + 57 + ], + "mcl_core_glass_lime.png": [ + 126, + 203, + 24 + ], + "mcl_core_lapis_ore.png": [ + 111, + 113, + 125 + ], + "default_junglesapling.png": [ + 64, + 88, + 39 + ], + "default_clay_brick.png": [ + 127, + 57, + 48 + ], + "default_gold_block.png": [ + 192, + 147, + 59 + ], + "mcl_core_glass_green_detail.png": [ + 101, + 126, + 50 + ], + "mcl_core_glass_pink_detail.png": [ + 241, + 126, + 164 + ], + "default_water_source_animated.png": [ + 37, + 98, + 129 + ], + "mcl_core_glass_orange_detail.png": [ + 215, + 126, + 50 + ], + "mcl_core_glass_yellow.png": [ + 228, + 228, + 50 + ], + "default_acacia_sapling.png": [ + 109, + 92, + 59 + ], + "mcl_core_stripped_acacia_side.png": [ + 151, + 90, + 57 + ], + "mcl_core_sandstone_carved.png": [ + 199, + 152, + 119 + ], + "mcl_core_glass_blue.png": [ + 50, + 75, + 178 + ], + "mcl_core_glass_gray_detail.png": [ + 75, + 75, + 75 + ], + "mcl_core_red_sandstone_normal.png": [ + 198, + 120, + 104 + ], + "mcl_core_glass_red_detail.png": [ + 153, + 50, + 50 + ], + "mcl_core_glass_gray.png": [ + 75, + 75, + 75 + ], + "mcl_core_leaves_spruce.png": [ + 38, + 74, + 47 + ], + "mcl_core_glass_pink.png": [ + 241, + 126, + 164 + ], + "mcl_core_lapis_block.png": [ + 50, + 92, + 162 + ], + "mcl_core_glass_purple.png": [ + 126, + 62, + 178 + ], + "mcl_core_iron_nugget.png": [ + 156, + 151, + 145 + ], + "default_dry_grass.png": [ + 100, + 94, + 54 + ], + "mcl_core_stripped_dark_oak_top.png": [ + 90, + 78, + 68 + ], + "mcl_core_glass_silver.png": [ + 153, + 153, + 153 + ], + "mcl_core_andesite.png": [ + 104, + 110, + 107 + ], + "mcl_core_frosted_ice_3.png": [ + 165, + 209, + 233 + ], + "mcl_core_sugar.png": [ + 215, + 215, + 215 + ], + "default_acacia_wood.png": [ + 152, + 100, + 69 + ], + "mcl_core_glass_black.png": [ + 24, + 24, + 24 + ], + "mcl_core_iron_ore.png": [ + 134, + 123, + 117 + ], + "mcl_core_stripped_birch_side.png": [ + 179, + 143, + 115 + ], + "default_clay.png": [ + 124, + 124, + 124 + ], + "mcl_core_stripped_jungle_side.png": [ + 175, + 117, + 86 + ], + "mcl_core_glass_red.png": [ + 153, + 50, + 50 + ], + "mcl_core_grass_block_top.png": [ + 141, + 130, + 113 + ], + "mcl_core_planks_birch.png": [ + 145, + 113, + 89 + ], + "mcl_core_glass_white.png": [ + 254, + 254, + 254 + ], + "mcl_core_stripped_oak_side.png": [ + 162, + 122, + 84 + ], + "mcl_core_glass_cyan.png": [ + 75, + 126, + 153 + ], + "mcl_core_cactus_side.png": [ + 88, + 110, + 56 + ], + "default_ladder.png": [ + 83, + 64, + 50 + ], + "mcl_core_glass_silver_detail.png": [ + 153, + 153, + 153 + ], + "default_dry_grass_side.png": [ + 91, + 93, + 52 + ], + "mcl_core_glass_light_blue_detail.png": [ + 101, + 153, + 215 + ], + "mcl_core_stripped_jungle_top.png": [ + 170, + 113, + 83 + ], + "mcl_core_ice_packed.png": [ + 165, + 211, + 231 + ], + "mcl_core_frosted_ice_2.png": [ + 153, + 202, + 229 + ], + "default_dry_shrub.png": [ + 118, + 88, + 69 + ], + "mcl_core_red_sandstone_carved.png": [ + 202, + 122, + 104 + ], + "default_tree.png": [ + 95, + 75, + 57 + ], + "default_clay_lump.png": [ + 111, + 111, + 111 + ], + "mcl_core_red_sandstone_top.png": [ + 212, + 126, + 108 + ], + "mcl_core_dirt_podzol_side.png": [ + 101, + 79, + 63 + ], + "mcl_core_red_sandstone_smooth.png": [ + 207, + 124, + 106 + ], + "default_jungletree_top.png": [ + 125, + 87, + 67 + ], + "mcl_core_coal_ore.png": [ + 109, + 101, + 99 + ], + "default_jungleleaves.png": [ + 29, + 84, + 30 + ], + "mcl_core_vine.png": [ + 21, + 61, + 21 + ], + "default_snow.png": [ + 221, + 229, + 234 + ], + "mcl_core_leaves_big_oak.png": [ + 21, + 69, + 28 + ], + "mcl_core_void.png": [ + 59, + 59, + 59 + ], + "default_tree_top.png": [ + 135, + 104, + 74 + ], + "mcl_core_gold_ore.png": [ + 132, + 119, + 103 + ], + "default_steel_ingot.png": [ + 142, + 137, + 131 + ], + "default_sapling.png": [ + 62, + 90, + 45 + ], + "mcl_core_log_birch.png": [ + 194, + 184, + 174 + ], + "mcl_core_glass_cyan_detail.png": [ + 75, + 126, + 153 + ], + "mcl_core_glass_yellow_detail.png": [ + 228, + 228, + 50 + ], + "mcl_core_stripped_spruce_top.png": [ + 107, + 79, + 64 + ], + "default_water_flowing_animated.png": [ + 38, + 101, + 129 + ], + "mcl_core_emerald_block.png": [ + 44, + 138, + 39 + ], + "default_jungletree.png": [ + 86, + 58, + 45 + ], + "mcl_core_grass_side_snowed.png": [ + 162, + 154, + 150 + ], + "default_stone_brick.png": [ + 97, + 89, + 86 + ], + "default_lava_flowing_animated.png": [ + 177, + 42, + 16 + ], + "mcl_core_stripped_spruce_side.png": [ + 109, + 81, + 67 + ], + "default_coal_lump.png": [ + 41, + 39, + 41 + ], + "mcl_core_glass_purple_detail.png": [ + 126, + 62, + 178 + ], + "default_sand.png": [ + 220, + 170, + 127 + ], + "mcl_core_glass_green.png": [ + 101, + 126, + 50 + ], + "mcl_core_glass_orange.png": [ + 215, + 126, + 50 + ], + "default_acacia_tree_top.png": [ + 130, + 84, + 55 + ], + "mcl_core_stripped_oak_top.png": [ + 153, + 115, + 80 + ], + "mcl_core_grass_block_side_overlay.png": [ + 153, + 142, + 123 + ], + "default_lava_source_animated.png": [ + 180, + 45, + 17 + ], + "mcl_core_cactus_bottom.png": [ + 169, + 168, + 116 + ], + "mcl_core_sandstone_bottom.png": [ + 202, + 155, + 121 + ], + "default_paper.png": [ + 213, + 184, + 154 + ], + "mcl_core_diamond_ore.png": [ + 122, + 124, + 126 + ], + "default_ice.png": [ + 145, + 197, + 226 + ], + "mcl_core_dirt_podzol_top.png": [ + 85, + 63, + 42 + ], + "mcl_core_slime.png": [ + 93, + 157, + 86 + ], + "mcl_core_gold_nugget.png": [ + 213, + 169, + 74 + ], + "default_stick.png": [ + 88, + 70, + 57 + ], + "mcl_core_emerald.png": [ + 59, + 160, + 52 + ], + "default_diamond.png": [ + 109, + 179, + 217 + ], + "mcl_core_mycelium_top.png": [ + 108, + 89, + 117 + ], + "mcl_core_bone_block_side.png": [ + 226, + 207, + 174 + ], + "mcl_core_diorite_smooth.png": [ + 157, + 154, + 152 + ], + "default_obsidian.png": [ + 13, + 9, + 25 + ], + "mcl_core_planks_big_oak.png": [ + 87, + 74, + 62 + ], + "mcl_core_log_spruce.png": [ + 66, + 51, + 44 + ], + "mcl_core_glass_magenta.png": [ + 178, + 75, + 215 + ], + "mcl_core_granite.png": [ + 153, + 121, + 110 + ], + "mcl_core_log_big_oak_top.png": [ + 83, + 70, + 62 + ], + "default_cobble.png": [ + 113, + 106, + 104 + ], + "mcl_core_red_sandstone_bottom.png": [ + 207, + 124, + 106 + ], + "mcl_core_barrier.png": [ + 138, + 46, + 38 + ], + "mcl_core_glass_magenta_detail.png": [ + 178, + 75, + 215 + ], + "mcl_core_stripped_dark_oak_side.png": [ + 91, + 78, + 70 + ], + "mcl_core_mycelium_side.png": [ + 107, + 84, + 87 + ], + "mcl_core_stonebrick_cracked.png": [ + 94, + 87, + 83 + ], + "mcl_core_charcoal.png": [ + 40, + 35, + 32 + ], + "mcl_core_glass_brown.png": [ + 101, + 75, + 50 + ], + "default_glass_detail.png": [ + 244, + 244, + 250 + ], + "mcl_core_papyrus.png": [ + 105, + 105, + 105 + ], + "mcl_core_stonebrick_carved.png": [ + 97, + 90, + 85 + ], + "default_wood.png": [ + 113, + 87, + 67 + ], + "default_dirt.png": [ + 108, + 83, + 70 + ], + "mcl_core_log_big_oak.png": [ + 74, + 62, + 55 + ], + "default_junglewood.png": [ + 113, + 78, + 59 + ], + "mcl_core_frosted_ice_0.png": [ + 140, + 193, + 224 + ], + "mcl_core_sandstone_normal.png": [ + 195, + 149, + 117 + ], + "default_gravel.png": [ + 112, + 105, + 99 + ], + "mcl_core_sandstone_top.png": [ + 201, + 154, + 121 + ], + "default_glass.png": [ + 213, + 223, + 235 + ], + "default_stone.png": [ + 130, + 122, + 118 + ], + "mcl_core_sapling_birch.png": [ + 78, + 110, + 74 + ], + "mcl_core_coarse_dirt.png": [ + 117, + 92, + 76 + ], + "default_acacia_leaves.png": [ + 110, + 89, + 45 + ], + "mcl_core_stripped_birch_top.png": [ + 170, + 135, + 108 + ], + "mcl_core_grass_path_top.png": [ + 125, + 101, + 50 + ], + "mcl_lanterns_chain.png": [ + 40, + 40, + 40 + ], + "mcl_lanterns_soul_lantern.png": [ + 50, + 67, + 68 + ], + "mcl_lanterns_lantern.png": [ + 72, + 59, + 48 + ], + "mcl_lanterns_chain_inv.png": [ + 40, + 40, + 40 + ], + "mcl_lanterns_lantern_inv.png": [ + 98, + 75, + 53 + ], + "mcl_lanterns_soul_lantern_inv.png": [ + 59, + 90, + 91 + ], + "mcl_throwing_ender_pearl.png": [ + 78, + 19, + 26 + ], + "mcl_throwing_egg.png": [ + 199, + 157, + 106 + ], + "mcl_throwing_snowball.png": [ + 191, + 200, + 203 + ], + "mcl_flowers_tulip_red.png": [ + 82, + 57, + 43 + ], + "mcl_flowers_double_plant_rose_top.png": [ + 81, + 69, + 45 + ], + "mcl_flowers_double_plant_sunflower_front.png": [ + 203, + 157, + 61 + ], + "mcl_flowers_tulip_white.png": [ + 106, + 122, + 95 + ], + "mcl_flowers_double_plant_grass_top.png": [ + 156, + 145, + 125 + ], + "mcl_flowers_azure_bluet.png": [ + 97, + 114, + 98 + ], + "mcl_flowers_oxeye_daisy.png": [ + 130, + 139, + 110 + ], + "mcl_flowers_poppy.png": [ + 96, + 59, + 43 + ], + "mcl_flowers_double_plant_paeonia_top.png": [ + 90, + 84, + 81 + ], + "mcl_flowers_double_plant_rose_bottom.png": [ + 78, + 63, + 41 + ], + "mcl_flowers_tallgrass.png": [ + 151, + 141, + 122 + ], + "mcl_flowers_double_plant_sunflower_bottom.png": [ + 45, + 76, + 40 + ], + "mcl_flowers_fern.png": [ + 143, + 132, + 115 + ], + "flowers_tulip.png": [ + 106, + 84, + 51 + ], + "mcl_flowers_double_plant_syringa_bottom.png": [ + 63, + 77, + 60 + ], + "mcl_flowers_double_plant_fern_bottom.png": [ + 140, + 130, + 113 + ], + "flowers_dandelion_yellow.png": [ + 111, + 111, + 55 + ], + "mcl_flowers_double_plant_paeonia_bottom.png": [ + 82, + 83, + 73 + ], + "mcl_flowers_double_plant_sunflower_back.png": [ + 174, + 146, + 57 + ], + "mcl_flowers_allium.png": [ + 120, + 116, + 144 + ], + "flowers_waterlily.png": [ + 28, + 81, + 29 + ], + "mcl_flowers_tulip_pink.png": [ + 100, + 99, + 90 + ], + "mcl_flowers_double_plant_sunflower_top.png": [ + 48, + 81, + 44 + ], + "mcl_flowers_double_plant_syringa_top.png": [ + 95, + 90, + 98 + ], + "mcl_flowers_double_plant_grass_bottom.png": [ + 151, + 140, + 121 + ], + "mcl_flowers_double_plant_grass_inv.png": [ + 48, + 95, + 43 + ], + "mcl_flowers_fern_inv.png": [ + 43, + 86, + 39 + ], + "mcl_flowers_double_plant_fern_top.png": [ + 148, + 138, + 119 + ], + "mcl_flowers_tallgrass_inv.png": [ + 47, + 92, + 41 + ], + "mcl_flowers_double_plant_fern_inv.png": [ + 45, + 89, + 40 + ], + "mcl_flowers_blue_orchid.png": [ + 46, + 91, + 86 + ], + "mcl_armor_leggings_iron.png": [ + 132, + 128, + 123 + ], + "mcl_armor_inv_leggings_iron.png": [ + 130, + 125, + 120 + ], + "mcl_armor_inv_helmet_gold.png": [ + 178, + 134, + 51 + ], + "mcl_armor_leggings_chain.png": [ + 64, + 66, + 69 + ], + "mcl_armor_inv_boots_iron.png": [ + 134, + 129, + 124 + ], + "mcl_armor_inv_chestplate_chain.png": [ + 128, + 105, + 96 + ], + "mcl_armor_inv_chestplate_gold.png": [ + 171, + 128, + 55 + ], + "mcl_armor_inv_helmet_diamond.png": [ + 109, + 130, + 142 + ], + "mcl_armor_boots_leather.png": [ + 122, + 111, + 93 + ], + "mcl_armor_inv_chestplate_diamond.png": [ + 106, + 146, + 168 + ], + "mcl_armor_helmet_diamond.png": [ + 70, + 85, + 93 + ], + "mcl_armor_inv_chestplate_leather.png": [ + 143, + 136, + 118 + ], + "mcl_armor_boots_diamond.png": [ + 87, + 132, + 157 + ], + "mcl_armor_leggings_diamond.png": [ + 78, + 102, + 115 + ], + "mcl_armor_chestplate_gold.png": [ + 157, + 117, + 55 + ], + "mcl_armor_inv_helmet_chain.png": [ + 140, + 137, + 132 + ], + "mcl_armor_inv_leggings_chain.png": [ + 81, + 81, + 82 + ], + "mcl_armor_inv_helmet_iron.png": [ + 143, + 138, + 133 + ], + "mcl_armor_helmet_leather.png": [ + 130, + 121, + 102 + ], + "mcl_armor_chestplate_diamond.png": [ + 110, + 157, + 183 + ], + "mcl_armor_leggings_leather.png": [ + 119, + 108, + 91 + ], + "mcl_armor_inv_boots_gold.png": [ + 152, + 113, + 44 + ], + "mcl_armor_chestplate_leather.png": [ + 139, + 132, + 112 + ], + "mcl_armor_boots_iron.png": [ + 118, + 113, + 109 + ], + "mcl_armor_elytra.png": [ + 75, + 121, + 147 + ], + "mcl_armor_helmet_chain.png": [ + 127, + 124, + 121 + ], + "mcl_armor_helmet_iron.png": [ + 153, + 149, + 144 + ], + "mcl_armor_inv_boots_leather.png": [ + 130, + 121, + 103 + ], + "mcl_armor_leggings_gold.png": [ + 182, + 158, + 126 + ], + "mcl_armor_inv_leggings_gold.png": [ + 175, + 145, + 97 + ], + "mcl_armor_chestplate_iron.png": [ + 130, + 120, + 112 + ], + "mcl_armor_inv_elytra.png": [ + 76, + 122, + 148 + ], + "mcl_armor_boots_chain.png": [ + 88, + 88, + 88 + ], + "mcl_armor_helmet_gold.png": [ + 178, + 136, + 56 + ], + "mcl_armor_inv_boots_diamond.png": [ + 75, + 121, + 147 + ], + "mcl_armor_inv_chestplate_iron.png": [ + 135, + 125, + 115 + ], + "mcl_armor_inv_leggings_diamond.png": [ + 75, + 93, + 103 + ], + "mcl_armor_inv_leggings_leather.png": [ + 126, + 116, + 98 + ], + "mcl_armor_inv_helmet_leather.png": [ + 140, + 132, + 114 + ], + "mcl_armor_inv_boots_chain.png": [ + 69, + 69, + 72 + ], + "mcl_armor_chestplate_chain.png": [ + 119, + 98, + 93 + ], + "mcl_armor_boots_gold.png": [ + 160, + 118, + 42 + ], + "mcl_cartography_table_side2.png": [ + 91, + 76, + 62 + ], + "mcl_cartography_table_side1.png": [ + 81, + 65, + 51 + ], + "mcl_cartography_table_side3.png": [ + 85, + 62, + 47 + ], + "mcl_cartography_table_top.png": [ + 111, + 95, + 80 + ], + "mcl_walls_cobble_wall_top.png": [ + 120, + 114, + 112 + ], + "mcl_walls_cobble_mossy_wall_top.png": [ + 53, + 97, + 61 + ], + "mcl_walls_cobble_wall_side.png": [ + 109, + 103, + 101 + ], + "mcl_walls_cobble_mossy_wall_side.png": [ + 86, + 98, + 83 + ], + "mcl_hoppers_item.png": [ + 44, + 44, + 44 + ], + "mcl_hoppers_hopper_top.png": [ + 43, + 43, + 43 + ], + "mcl_hoppers_hopper_outside.png": [ + 44, + 43, + 43 + ], + "mcl_hoppers_hopper_inside.png": [ + 50, + 50, + 50 + ], + "mcl_stairs_stone_slab_top.png": [ + 127, + 118, + 114 + ], + "mcl_stairs_stone_slab_side.png": [ + 127, + 117, + 113 + ], + "mcl_stairs_turntexture.png": [ + 255, + 0, + 255 + ], + "mcl_shield_pattern_stripe_downleft.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_diagonal_right.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_stripe_center.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_half_vertical_right.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_straight_cross.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_stripe_bottom.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_stripe_right.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_circle.png": [ + 239, + 239, + 239 + ], + "mcl_shield_pattern_diagonal_left.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_stripe_top.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_diagonal_up_left.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_creeper.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_triangle_top.png": [ + 255, + 255, + 255 + ], + "mcl_shield_item_overlay.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_square_top_left.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_flower.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_half_horizontal.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_stripe_middle.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_half_vertical.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_triangles_top.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_stripe_downright.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_skull.png": [ + 247, + 247, + 247 + ], + "mcl_shield.png": [ + 76, + 61, + 49 + ], + "mcl_shield_pattern_base.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_gradient_up.png": [ + 254, + 254, + 254 + ], + "mcl_shield_pattern_small_stripes.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_square_bottom_left.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_diagonal_up_right.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_triangles_bottom.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_curly_border.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_cross.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_stripe_left.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_gradient.png": [ + 254, + 254, + 254 + ], + "mcl_shield_pattern_square_bottom_right.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_triangle_bottom.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_half_horizontal_bottom.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_bricks.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_thing.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_square_top_right.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_rhombus.png": [ + 255, + 255, + 255 + ], + "mcl_shield_pattern_border.png": [ + 255, + 255, + 255 + ], + "mcl_shield_hud.png": [ + 74, + 58, + 44 + ], + "mcl_shield_base_nopattern.png": [ + 72, + 59, + 49 + ], + "mcl_brewing_bottle_bg.png": [ + 204, + 204, + 204 + ], + "mcl_brewing_bubble_sprite.png": [ + 167, + 167, + 167 + ], + "mcl_brewing_side.png": [ + 175, + 156, + 160 + ], + "mcl_brewing_inventory.png": [ + 168, + 168, + 168 + ], + "mcl_brewing_bubbles_active.png": [ + 186, + 186, + 186 + ], + "mcl_brewing_fuel_bg.png": [ + 200, + 200, + 200 + ], + "mcl_brewing_potion_bg.png": [ + 204, + 204, + 204 + ], + "mcl_brewing_bubbles.png": [ + 154, + 154, + 154 + ], + "mcl_brewing_top.png": [ + 139, + 130, + 126 + ], + "mcl_brewing_base.png": [ + 130, + 122, + 118 + ], + "mcl_brewing_burner.png": [ + 183, + 183, + 183 + ], + "mcl_brewing_burner_active.png": [ + 212, + 161, + 132 + ], + "fletching_table_front.png": [ + 141, + 115, + 95 + ], + "fletching_table_side.png": [ + 150, + 117, + 95 + ], + "fletching_table_top.png": [ + 158, + 129, + 104 + ], + "xpanes_top_glass_cyan.png": [ + 76, + 127, + 153 + ], + "xpanes_top_glass_brown.png": [ + 102, + 76, + 51 + ], + "xpanes_top_glass_magenta.png": [ + 178, + 75, + 215 + ], + "xpanes_top_glass_light_blue.png": [ + 102, + 153, + 216 + ], + "xpanes_top_glass_blue.png": [ + 51, + 76, + 178 + ], + "xpanes_top_glass_gray.png": [ + 76, + 76, + 76 + ], + "xpanes_top_glass_silver.png": [ + 153, + 153, + 153 + ], + "xpanes_top_iron.png": [ + 155, + 146, + 146 + ], + "xpanes_top_glass_black.png": [ + 25, + 25, + 25 + ], + "xpanes_top_glass_white.png": [ + 255, + 255, + 255 + ], + "xpanes_top_glass_lime.png": [ + 127, + 204, + 25 + ], + "xpanes_top_glass_orange.png": [ + 216, + 127, + 51 + ], + "xpanes_top_glass_purple.png": [ + 127, + 63, + 178 + ], + "xpanes_top_glass_red.png": [ + 153, + 51, + 51 + ], + "xpanes_top_glass_natural.png": [ + 222, + 222, + 239 + ], + "xpanes_top_glass_green.png": [ + 102, + 127, + 51 + ], + "xpanes_top_glass_pink.png": [ + 241, + 126, + 164 + ], + "xpanes_pane_iron.png": [ + 160, + 152, + 152 + ], + "xpanes_top_glass_yellow.png": [ + 229, + 229, + 51 + ], + "hardened_clay_stained_pink.png": [ + 164, + 79, + 76 + ], + "mcl_colorblocks_glazed_terracotta_yellow.png": [ + 232, + 199, + 99 + ], + "mcl_colorblocks_glazed_terracotta_orange.png": [ + 170, + 146, + 81 + ], + "mcl_colorblocks_concrete_powder_lime.png": [ + 125, + 186, + 42 + ], + "mcl_colorblocks_concrete_brown.png": [ + 98, + 60, + 32 + ], + "mcl_colorblocks_concrete_magenta.png": [ + 171, + 49, + 162 + ], + "mcl_colorblocks_glazed_terracotta_magenta.png": [ + 210, + 108, + 215 + ], + "mcl_colorblocks_concrete_silver.png": [ + 128, + 129, + 118 + ], + "mcl_colorblocks_glazed_terracotta_grey.png": [ + 90, + 90, + 90 + ], + "mcl_colorblocks_concrete_powder_blue.png": [ + 72, + 75, + 169 + ], + "mcl_colorblocks_concrete_yellow.png": [ + 241, + 177, + 21 + ], + "mcl_colorblocks_concrete_red.png": [ + 146, + 34, + 34 + ], + "mcl_colorblocks_glazed_terracotta_lime.png": [ + 152, + 211, + 72 + ], + "mcl_colorblocks_concrete_black.png": [ + 8, + 10, + 15 + ], + "mcl_colorblocks_glazed_terracotta_silver.png": [ + 134, + 151, + 151 + ], + "hardened_clay_stained_white.png": [ + 213, + 197, + 184 + ], + "mcl_colorblocks_glazed_terracotta_green.png": [ + 111, + 135, + 50 + ], + "mcl_colorblocks_glazed_terracotta_blue.png": [ + 34, + 65, + 117 + ], + "mcl_colorblocks_concrete_powder_red.png": [ + 172, + 57, + 52 + ], + "mcl_colorblocks_concrete_powder_cyan.png": [ + 38, + 150, + 159 + ], + "hardened_clay_stained_purple.png": [ + 81, + 71, + 123 + ], + "hardened_clay_stained_brown.png": [ + 96, + 69, + 61 + ], + "hardened_clay_stained_grey.png": [ + 110, + 92, + 85 + ], + "mcl_colorblocks_concrete_lime.png": [ + 96, + 171, + 25 + ], + "hardened_clay_stained_blue.png": [ + 68, + 91, + 143 + ], + "mcl_colorblocks_concrete_powder_white.png": [ + 224, + 225, + 225 + ], + "hardened_clay_stained_yellow.png": [ + 177, + 128, + 51 + ], + "hardened_clay_stained_light_blue.png": [ + 91, + 128, + 171 + ], + "hardened_clay.png": [ + 143, + 104, + 87 + ], + "mcl_colorblocks_concrete_cyan.png": [ + 21, + 123, + 140 + ], + "mcl_colorblocks_glazed_terracotta_brown.png": [ + 108, + 88, + 64 + ], + "mcl_colorblocks_concrete_grey.png": [ + 56, + 59, + 64 + ], + "mcl_colorblocks_concrete_powder_magenta.png": [ + 196, + 94, + 189 + ], + "mcl_colorblocks_concrete_powder_black.png": [ + 22, + 26, + 30 + ], + "mcl_colorblocks_concrete_pink.png": [ + 213, + 103, + 144 + ], + "mcl_colorblocks_concrete_powder_orange.png": [ + 227, + 141, + 38 + ], + "mcl_colorblocks_glazed_terracotta_cyan.png": [ + 90, + 131, + 136 + ], + "mcl_colorblocks_glazed_terracotta_red.png": [ + 184, + 67, + 53 + ], + "mcl_colorblocks_concrete_green.png": [ + 75, + 94, + 37 + ], + "mcl_colorblocks_concrete_blue.png": [ + 46, + 48, + 147 + ], + "mcl_colorblocks_glazed_terracotta_light_blue.png": [ + 99, + 162, + 204 + ], + "hardened_clay_stained_orange.png": [ + 156, + 95, + 69 + ], + "mcl_colorblocks_concrete_powder_silver.png": [ + 160, + 160, + 155 + ], + "mcl_colorblocks_concrete_powder_pink.png": [ + 224, + 148, + 176 + ], + "hardened_clay_stained_silver.png": [ + 149, + 129, + 117 + ], + "hardened_clay_stained_red.png": [ + 159, + 81, + 66 + ], + "hardened_clay_stained_magenta.png": [ + 150, + 80, + 85 + ], + "mcl_colorblocks_glazed_terracotta_black.png": [ + 38, + 22, + 22 + ], + "mcl_colorblocks_concrete_white.png": [ + 208, + 214, + 215 + ], + "hardened_clay_stained_green.png": [ + 74, + 101, + 63 + ], + "hardened_clay_stained_lime.png": [ + 105, + 134, + 73 + ], + "mcl_colorblocks_concrete_powder_green.png": [ + 104, + 127, + 45 + ], + "mcl_colorblocks_concrete_light_blue.png": [ + 37, + 140, + 200 + ], + "mcl_colorblocks_concrete_powder_brown.png": [ + 128, + 86, + 54 + ], + "mcl_colorblocks_concrete_purple.png": [ + 103, + 32, + 159 + ], + "hardened_clay_stained_cyan.png": [ + 71, + 107, + 123 + ], + "mcl_colorblocks_concrete_powder_purple.png": [ + 138, + 58, + 180 + ], + "mcl_colorblocks_concrete_powder_yellow.png": [ + 230, + 198, + 54 + ], + "mcl_colorblocks_concrete_powder_light_blue.png": [ + 75, + 181, + 212 + ], + "mcl_colorblocks_glazed_terracotta_pink.png": [ + 251, + 138, + 170 + ], + "mcl_colorblocks_glazed_terracotta_purple.png": [ + 112, + 49, + 152 + ], + "mcl_colorblocks_concrete_orange.png": [ + 226, + 101, + 1 + ], + "mcl_colorblocks_concrete_powder_grey.png": [ + 91, + 98, + 103 + ], + "hardened_clay_stained_black.png": [ + 69, + 52, + 46 + ], + "mcl_colorblocks_glazed_terracotta_white.png": [ + 188, + 211, + 202 + ], + "fire_basic_flame_animated.png": [ + 206, + 98, + 34 + ], + "mcl_burning_hud_flame_animated.png": [ + 206, + 98, + 34 + ], + "mcl_fire_fire_charge.png": [ + 95, + 58, + 41 + ], + "mcl_burning_entity_flame_animated.png": [ + 206, + 98, + 34 + ], + "mcl_fire_flint_and_steel.png": [ + 96, + 95, + 93 + ], + "fire_basic_flame.png": [ + 207, + 100, + 36 + ], + "dye_red.png": [ + 113, + 74, + 47 + ], + "dye_yellow.png": [ + 123, + 91, + 49 + ], + "dye_violet.png": [ + 107, + 76, + 57 + ], + "dye_dark_green.png": [ + 99, + 81, + 47 + ], + "mcl_dye_blue.png": [ + 58, + 101, + 173 + ], + "dye_cyan.png": [ + 104, + 89, + 60 + ], + "mcl_dye_lime.png": [ + 107, + 91, + 53 + ], + "dye_pink.png": [ + 120, + 81, + 61 + ], + "mcl_dye_light_blue.png": [ + 103, + 88, + 70 + ], + "dye_dark_grey.png": [ + 108, + 81, + 52 + ], + "mcl_dye_white.png": [ + 205, + 193, + 166 + ], + "dye_grey.png": [ + 113, + 86, + 58 + ], + "dye_magenta.png": [ + 111, + 79, + 59 + ], + "dye_orange.png": [ + 122, + 85, + 48 + ], + "mcl_dye_brown.png": [ + 104, + 75, + 56 + ], + "mcl_dye_black.png": [ + 56, + 56, + 64 + ], + "default_river_water_flowing_animated.png": [ + 38, + 123, + 130 + ], + "default_river_water_source_animated.png": [ + 37, + 120, + 130 + ], + "mcl_armor_stand_item.png": [ + 134, + 114, + 98 + ], + "smoker_front_on.png": [ + 105, + 81, + 68 + ], + "smoker_bottom.png": [ + 115, + 102, + 97 + ], + "smoker_side.png": [ + 105, + 91, + 82 + ], + "smoker_front.png": [ + 93, + 80, + 71 + ], + "smoker_top.png": [ + 110, + 99, + 95 + ], + "mob_spawner.png": [ + 40, + 40, + 40 + ], + "mcl_nether_quartz_chiseled_side.png": [ + 194, + 186, + 183 + ], + "mcl_nether_quartz_pillar_top.png": [ + 195, + 188, + 185 + ], + "mcl_nether_nether_wart.png": [ + 190, + 79, + 75 + ], + "mcl_nether_nether_wart_stage_1.png": [ + 86, + 54, + 51 + ], + "mcl_nether_quartz_ore.png": [ + 133, + 64, + 53 + ], + "mcl_nether_soul_sand.png": [ + 90, + 70, + 51 + ], + "mcl_nether_nether_wart_block.png": [ + 175, + 76, + 73 + ], + "mcl_nether_nether_wart_stage_0.png": [ + 53, + 41, + 38 + ], + "mcl_nether_quartz_block_bottom.png": [ + 198, + 191, + 187 + ], + "mcl_nether_quartz_block_top.png": [ + 198, + 190, + 187 + ], + "mcl_nether_quartz.png": [ + 152, + 149, + 147 + ], + "mcl_nether_quartz_pillar_side.png": [ + 195, + 188, + 184 + ], + "mcl_nether_netherbrick.png": [ + 58, + 24, + 20 + ], + "mcl_nether_glowstone.png": [ + 202, + 154, + 96 + ], + "mcl_nether_netherrack.png": [ + 130, + 50, + 39 + ], + "mcl_nether_red_nether_brick.png": [ + 69, + 17, + 5 + ], + "mcl_nether_quartz_chiseled_top.png": [ + 197, + 189, + 186 + ], + "mcl_nether_glowstone_dust.png": [ + 209, + 137, + 67 + ], + "mcl_nether_nether_wart_stage_2.png": [ + 106, + 57, + 53 + ], + "mcl_nether_quartz_block_side.png": [ + 198, + 190, + 187 + ], + "mcl_nether_nether_brick.png": [ + 49, + 23, + 24 + ], + "mcl_nether_magma.png": [ + 85, + 33, + 27 + ], + "mcl_cauldrons_cauldron_inner.png": [ + 24, + 24, + 24 + ], + "mcl_cauldrons_cauldron_top.png": [ + 54, + 54, + 54 + ], + "mcl_cauldrons_cauldron_bottom.png": [ + 50, + 37, + 38 + ], + "mcl_cauldrons_cauldron.png": [ + 47, + 47, + 47 + ], + "mcl_cauldrons_cauldron_side.png": [ + 43, + 43, + 43 + ], + "mcl_beds_bed_side_bottom_magenta.png": [ + 127, + 48, + 89 + ], + "mcl_beds_bed_blue.png": [ + 73, + 78, + 105 + ], + "mcl_beds_bed_side_top_r_black.png": [ + 99, + 86, + 75 + ], + "mcl_beds_bed_side_bottom_r_magenta.png": [ + 132, + 46, + 94 + ], + "mcl_beds_bed_side_top_brown.png": [ + 98, + 76, + 59 + ], + "respawn_anchor_side2.png": [ + 100, + 76, + 77 + ], + "mcl_beds_bed_lime.png": [ + 96, + 135, + 66 + ], + "mcl_beds_bed_side_top_green.png": [ + 98, + 76, + 59 + ], + "mcl_beds_bed_light_blue.png": [ + 100, + 107, + 142 + ], + "mcl_beds_bed_pink.png": [ + 184, + 105, + 115 + ], + "mcl_beds_bed_side_bottom_black.png": [ + 66, + 56, + 47 + ], + "mcl_beds_bed_top_bottom_green.png": [ + 57, + 110, + 29 + ], + "mcl_beds_bed_side_top_blue.png": [ + 98, + 76, + 59 + ], + "mcl_beds_bed_top_top_pink.png": [ + 217, + 138, + 147 + ], + "mcl_beds_bed_side_bottom_light_blue.png": [ + 90, + 94, + 129 + ], + "mcl_beds_bed_side_bottom_blue.png": [ + 63, + 65, + 90 + ], + "mcl_beds_bed_top_top_red.png": [ + 173, + 90, + 83 + ], + "mcl_beds_bed_side_top_grey.png": [ + 98, + 76, + 59 + ], + "respawn_anchor_bottom.png": [ + 45, + 26, + 54 + ], + "mcl_beds_bed_top_top_white.png": [ + 198, + 190, + 183 + ], + "mcl_beds_bed_top_top_black.png": [ + 107, + 100, + 92 + ], + "mcl_beds_bed_top_bottom_brown.png": [ + 101, + 69, + 38 + ], + "mcl_beds_bed_top_bottom_pink.png": [ + 232, + 105, + 135 + ], + "mcl_beds_bed_side_bottom_r_pink.png": [ + 183, + 95, + 106 + ], + "respawn_anchor_side4.png": [ + 110, + 87, + 85 + ], + "mcl_beds_bed_side_bottom_r_green.png": [ + 73, + 97, + 42 + ], + "mcl_beds_bed_side_bottom_r_grey.png": [ + 86, + 77, + 69 + ], + "mcl_beds_bed_side_top_r_white.png": [ + 158, + 145, + 134 + ], + "mcl_beds_bed_side_bottom_orange.png": [ + 143, + 84, + 28 + ], + "mcl_beds_bed_side_bottom_purple.png": [ + 105, + 36, + 112 + ], + "mcl_beds_bed_side_bottom_r_light_blue.png": [ + 90, + 97, + 136 + ], + "mcl_beds_bed_side_top_r_magenta.png": [ + 140, + 81, + 103 + ], + "mcl_beds_bed_side_bottom_r_yellow.png": [ + 150, + 131, + 25 + ], + "mcl_beds_bed_side_top_r_pink.png": [ + 176, + 111, + 113 + ], + "mcl_beds_bed_top_top_blue.png": [ + 105, + 112, + 137 + ], + "portal.png": [ + 102, + 61, + 130 + ], + "mcl_beds_bed_side_bottom_green.png": [ + 74, + 94, + 43 + ], + "mcl_beds_bed_side_bottom_r_blue.png": [ + 61, + 66, + 95 + ], + "mcl_beds_bed_top_top_grey.png": [ + 129, + 121, + 113 + ], + "mcl_beds_bed_black.png": [ + 76, + 68, + 61 + ], + "mcl_beds_bed_top_top_silver.png": [ + 159, + 151, + 143 + ], + "mcl_beds_bed_white.png": [ + 173, + 165, + 158 + ], + "mcl_beds_bed_top_top_cyan.png": [ + 105, + 144, + 135 + ], + "mcl_beds_bed_top_bottom_orange.png": [ + 184, + 91, + 0 + ], + "mcl_beds_bed_side_top_silver.png": [ + 98, + 76, + 59 + ], + "mcl_beds_bed_top_top_brown.png": [ + 143, + 118, + 93 + ], + "mcl_beds_bed_side_top_r_light_blue.png": [ + 115, + 111, + 132 + ], + "mcl_beds_bed_side_bottom_r_lime.png": [ + 86, + 129, + 53 + ], + "mcl_beds_bed_red.png": [ + 139, + 58, + 51 + ], + "mcl_beds_bed_top_bottom_lime.png": [ + 79, + 163, + 47 + ], + "mcl_beds_bed_side_top_r_brown.png": [ + 121, + 97, + 75 + ], + "respawn_anchor_top_off.png": [ + 80, + 61, + 74 + ], + "mcl_beds_bed_side_bottom_r_silver.png": [ + 119, + 109, + 102 + ], + "mcl_beds_bed_yellow.png": [ + 154, + 138, + 41 + ], + "mcl_beds_bed_side_top_yellow.png": [ + 98, + 76, + 59 + ], + "mcl_beds_bed_top_bottom_black.png": [ + 37, + 37, + 37 + ], + "mcl_beds_bed_brown.png": [ + 110, + 85, + 61 + ], + "mcl_beds_bed_side_top_orange.png": [ + 98, + 76, + 59 + ], + "mcl_beds_bed_side_top_red.png": [ + 98, + 76, + 59 + ], + "mcl_beds_bed_top_top_purple.png": [ + 148, + 79, + 161 + ], + "mcl_beds_bed_side_bottom_pink.png": [ + 177, + 93, + 102 + ], + "mcl_beds_bed_side_top_r_grey.png": [ + 112, + 99, + 88 + ], + "respawn_anchor_side1.png": [ + 95, + 71, + 76 + ], + "mcl_beds_bed_side_top_r_blue.png": [ + 97, + 91, + 104 + ], + "mcl_beds_bed_side_top_purple.png": [ + 98, + 76, + 59 + ], + "mcl_beds_bed_side_top_cyan.png": [ + 98, + 76, + 59 + ], + "mcl_beds_bed_top_bottom_blue.png": [ + 32, + 60, + 119 + ], + "mcl_beds_bed_side_bottom_yellow.png": [ + 143, + 125, + 28 + ], + "mcl_beds_bed_side_top_black.png": [ + 98, + 76, + 59 + ], + "mcl_beds_bed_top_top_orange.png": [ + 188, + 130, + 72 + ], + "mcl_beds_bed_top_bottom_silver.png": [ + 129, + 129, + 129 + ], + "mcl_beds_bed_top_top_green.png": [ + 117, + 140, + 88 + ], + "mcl_beds_bed_cyan.png": [ + 73, + 111, + 103 + ], + "mcl_beds_bed_top_bottom_red.png": [ + 157, + 20, + 20 + ], + "mcl_beds_bed_top_bottom_purple.png": [ + 111, + 0, + 163 + ], + "mcl_beds_bed_side_top_r_silver.png": [ + 133, + 120, + 109 + ], + "mcl_beds_bed_side_bottom_grey.png": [ + 86, + 76, + 67 + ], + "mcl_beds_bed_grey.png": [ + 96, + 88, + 81 + ], + "mcl_beds_bed_side_top_r_yellow.png": [ + 151, + 132, + 62 + ], + "respawn_anchor_side0.png": [ + 81, + 64, + 73 + ], + "mcl_beds_bed_side_top_r_green.png": [ + 103, + 111, + 72 + ], + "mcl_beds_bed_side_bottom_brown.png": [ + 100, + 73, + 48 + ], + "mcl_beds_bed_magenta.png": [ + 138, + 60, + 104 + ], + "mcl_beds_bed_side_bottom_r_red.png": [ + 134, + 44, + 37 + ], + "mcl_beds_bed_side_bottom_r_brown.png": [ + 101, + 73, + 47 + ], + "mcl_beds_bed_side_top_lime.png": [ + 98, + 76, + 59 + ], + "mcl_beds_bed_side_top_light_blue.png": [ + 98, + 76, + 59 + ], + "mcl_beds_bed_side_bottom_red.png": [ + 129, + 47, + 38 + ], + "mcl_beds_bed_bottom_top.png": [ + 48, + 38, + 29 + ], + "mcl_beds_bed_top_bottom_grey.png": [ + 76, + 76, + 76 + ], + "mcl_beds_bed_side_bottom_r_orange.png": [ + 150, + 86, + 25 + ], + "mcl_beds_bed_side_bottom_r_black.png": [ + 64, + 54, + 47 + ], + "mcl_beds_bed_top_bottom_cyan.png": [ + 32, + 119, + 114 + ], + "mcl_beds_bed_side_bottom_silver.png": [ + 116, + 106, + 97 + ], + "mcl_beds_bed_side_top_magenta.png": [ + 98, + 76, + 59 + ], + "mcl_beds_bed_top_bottom_white.png": [ + 201, + 201, + 201 + ], + "mcl_beds_bed_side_top_r_orange.png": [ + 151, + 105, + 62 + ], + "mcl_beds_bed_top_bottom_magenta.png": [ + 154, + 23, + 118 + ], + "mcl_beds_bed_side_top_r_lime.png": [ + 110, + 131, + 80 + ], + "mcl_beds_bed_top_top_magenta.png": [ + 172, + 92, + 137 + ], + "mcl_beds_bed_bottom_bottom.png": [ + 48, + 38, + 29 + ], + "mcl_beds_bed_side_top_r_purple.png": [ + 125, + 73, + 119 + ], + "mcl_beds_bed_side_top_r_cyan.png": [ + 97, + 113, + 103 + ], + "mcl_beds_bed_side_top_white.png": [ + 98, + 76, + 59 + ], + "mcl_beds_bed_side_bottom_r_cyan.png": [ + 61, + 101, + 93 + ], + "mcl_beds_bed_side_bottom_cyan.png": [ + 63, + 97, + 89 + ], + "mcl_beds_bed_side_bottom_white.png": [ + 161, + 151, + 142 + ], + "mcl_beds_bed_top_bottom_yellow.png": [ + 184, + 169, + 0 + ], + "respawn_anchor_side3.png": [ + 104, + 80, + 79 + ], + "mcl_beds_bed_top_bottom_light_blue.png": [ + 82, + 113, + 182 + ], + "mcl_beds_bed_top_top_lime.png": [ + 130, + 169, + 98 + ], + "mcl_beds_bed_silver.png": [ + 109, + 100, + 93 + ], + "mcl_beds_bed_purple.png": [ + 115, + 47, + 128 + ], + "mcl_beds_bed_side_top_r_red.png": [ + 141, + 80, + 69 + ], + "mcl_beds_bed_top_top_light_blue.png": [ + 132, + 141, + 174 + ], + "mcl_beds_bed_side_bottom_r_purple.png": [ + 107, + 32, + 120 + ], + "mcl_beds_bed_side_bottom_r_white.png": [ + 161, + 151, + 144 + ], + "mcl_beds_bed_orange.png": [ + 154, + 96, + 41 + ], + "mcl_beds_bed_top_bottom_gray.png": [ + 57, + 57, + 57 + ], + "mcl_beds_bed_side_bottom_lime.png": [ + 85, + 122, + 53 + ], + "mcl_beds_bed_green.png": [ + 85, + 107, + 56 + ], + "mcl_beds_bed_top_top_yellow.png": [ + 188, + 172, + 72 + ], + "mcl_beds_bed_side_top_pink.png": [ + 98, + 76, + 59 + ], + "mcl_sponges_sponge_wet_river_water.png": [ + 157, + 141, + 104 + ], + "mcl_sponges_sponge.png": [ + 210, + 177, + 118 + ], + "mcl_sponges_sponge_wet.png": [ + 156, + 134, + 92 + ], + "mcl_copper_exposed_cut.png": [ + 129, + 92, + 82 + ], + "mcl_copper_raw.png": [ + 133, + 68, + 50 + ], + "mcl_copper_block_cut.png": [ + 148, + 77, + 57 + ], + "mcl_copper_oxidized_cut.png": [ + 91, + 110, + 110 + ], + "mcl_copper_block.png": [ + 147, + 77, + 56 + ], + "mcl_copper_oxidized.png": [ + 90, + 108, + 110 + ], + "mcl_copper_block_raw.png": [ + 168, + 90, + 68 + ], + "mcl_copper_ingot.png": [ + 157, + 82, + 61 + ], + "mcl_copper_weathered.png": [ + 103, + 102, + 100 + ], + "mcl_copper_weathered_cut.png": [ + 107, + 103, + 100 + ], + "mcl_copper_anti_oxidation_particle.png": [ + 251, + 250, + 247 + ], + "mcl_copper_ore.png": [ + 127, + 66, + 48 + ], + "mcl_copper_exposed.png": [ + 128, + 92, + 83 + ], + "farming_mushroom_red.png": [ + 169, + 59, + 58 + ], + "mcl_mushrooms_mushroom_block_inside.png": [ + 218, + 175, + 136 + ], + "mcl_mushrooms_mushroom_block_skin_brown.png": [ + 131, + 86, + 68 + ], + "mcl_mushrooms_mushroom_block_skin_stem.png": [ + 204, + 183, + 149 + ], + "mcl_mushrooms_mushroom_block_skin_red.png": [ + 137, + 39, + 25 + ], + "farming_mushroom_brown.png": [ + 121, + 81, + 59 + ], + "farming_mushroom_stew.png": [ + 134, + 97, + 67 + ], + "mcl_bells_bell_top.png": [ + 207, + 203, + 82 + ], + "mcl_bells_bell_side.png": [ + 214, + 204, + 84 + ], + "mcl_bells_bell.png": [ + 188, + 143, + 54 + ], + "mcl_bells_bell_bottom.png": [ + 117, + 114, + 39 + ], + "default_tool_goldsword.png": [ + 194, + 154, + 70 + ], + "default_tool_steelsword.png": [ + 134, + 130, + 125 + ], + "default_tool_woodsword.png": [ + 100, + 82, + 68 + ], + "default_tool_goldshovel.png": [ + 167, + 133, + 64 + ], + "default_tool_steelpick.png": [ + 137, + 128, + 119 + ], + "default_tool_woodshovel.png": [ + 108, + 90, + 76 + ], + "default_tool_goldpick.png": [ + 172, + 139, + 73 + ], + "default_tool_woodaxe.png": [ + 110, + 92, + 77 + ], + "default_tool_diamondsword.png": [ + 105, + 133, + 149 + ], + "default_tool_steelshovel.png": [ + 125, + 115, + 107 + ], + "default_tool_stonesword.png": [ + 133, + 125, + 118 + ], + "default_tool_woodpick.png": [ + 110, + 91, + 76 + ], + "default_tool_shears.png": [ + 139, + 132, + 124 + ], + "default_tool_goldaxe.png": [ + 160, + 128, + 66 + ], + "default_tool_stoneshovel.png": [ + 126, + 116, + 107 + ], + "default_tool_diamondaxe.png": [ + 103, + 110, + 113 + ], + "default_tool_diamondshovel.png": [ + 106, + 125, + 134 + ], + "default_tool_steelaxe.png": [ + 129, + 119, + 110 + ], + "default_tool_stoneaxe.png": [ + 126, + 115, + 104 + ], + "default_tool_diamondpick.png": [ + 92, + 105, + 111 + ], + "default_tool_stonepick.png": [ + 126, + 114, + 104 + ], + "mcl_chests_ender_chest_right.png": [ + 73, + 67, + 64 + ], + "mcl_chests_chest_trapped_right.png": [ + 98, + 78, + 62 + ], + "default_chest_front.png": [ + 85, + 70, + 58 + ], + "mcl_chests_blue_shulker_box_top.png": [ + 67, + 85, + 119 + ], + "mcl_chests_chest_left.png": [ + 99, + 78, + 63 + ], + "mcl_chests_dark_green_shulker_box_top.png": [ + 67, + 111, + 70 + ], + "mcl_chests_chest_back.png": [ + 92, + 75, + 61 + ], + "mcl_chests_ender_chest_bottom.png": [ + 61, + 55, + 55 + ], + "mcl_chests_ender.png": [ + 70, + 62, + 58 + ], + "mcl_chests_brown_shulker_box_top.png": [ + 73, + 63, + 55 + ], + "mcl_chests_chest_trapped_back.png": [ + 92, + 75, + 61 + ], + "mcl_chests_chest_trapped_side_big.png": [ + 96, + 77, + 62 + ], + "mcl_chests_magenta_shulker_box_top.png": [ + 128, + 81, + 124 + ], + "mcl_chests_noise.png": [ + 192, + 186, + 189 + ], + "mcl_chests_ender_chest_back.png": [ + 72, + 66, + 64 + ], + "mcl_chests_chest_trapped_bottom.png": [ + 118, + 91, + 70 + ], + "mcl_chests_chest_trapped_front.png": [ + 86, + 68, + 57 + ], + "default_chest_side_big.png": [ + 96, + 77, + 62 + ], + "mcl_chests_green_shulker_box_top.png": [ + 88, + 122, + 75 + ], + "mcl_chests_noise_double.png": [ + 191, + 189, + 189 + ], + "mcl_chests_pink_shulker_box_top.png": [ + 163, + 116, + 158 + ], + "mcl_chests_trapped.png": [ + 95, + 76, + 61 + ], + "mcl_chests_blank.png": [ + 255, + 255, + 255 + ], + "mcl_chests_normal_double.png": [ + 98, + 78, + 62 + ], + "mcl_chests_chest_trapped_top.png": [ + 88, + 73, + 61 + ], + "mcl_chests_normal.png": [ + 95, + 76, + 61 + ], + "default_chest_front_big.png": [ + 93, + 75, + 61 + ], + "mcl_chests_ender_chest_front.png": [ + 76, + 69, + 65 + ], + "mcl_chests_white_shulker_box_top.png": [ + 176, + 178, + 187 + ], + "mcl_chests_cyan_shulker_box_top.png": [ + 67, + 101, + 121 + ], + "mcl_chests_ender_present.png": [ + 123, + 76, + 93 + ], + "mcl_chests_chest_trapped_top_big.png": [ + 100, + 80, + 65 + ], + "default_chest_top_big.png": [ + 100, + 80, + 65 + ], + "mcl_chests_grey_shulker_box_top.png": [ + 126, + 129, + 138 + ], + "mcl_chests_normal_present.png": [ + 181, + 46, + 19 + ], + "mcl_chests_red_shulker_box_top.png": [ + 132, + 58, + 57 + ], + "mcl_chests_trapped_double.png": [ + 98, + 78, + 62 + ], + "mcl_chests_violet_shulker_box_top.png": [ + 120, + 71, + 88 + ], + "mcl_chests_chest_trapped_front_big.png": [ + 94, + 75, + 61 + ], + "mcl_chests_lightblue_shulker_box_top.png": [ + 96, + 130, + 155 + ], + "mcl_chests_dark_grey_shulker_box_top.png": [ + 87, + 90, + 99 + ], + "mcl_chests_black_shulker_box_top.png": [ + 56, + 57, + 62 + ], + "mcl_chests_chest_right.png": [ + 98, + 78, + 62 + ], + "mcl_chests_yellow_shulker_box_top.png": [ + 165, + 116, + 53 + ], + "mcl_chests_trapped_present.png": [ + 73, + 100, + 151 + ], + "mcl_chests_chest_bottom.png": [ + 118, + 91, + 70 + ], + "default_chest_top.png": [ + 88, + 73, + 61 + ], + "mcl_chests_trapped_double_present.png": [ + 143, + 77, + 22 + ], + "mcl_chests_normal_double_present.png": [ + 72, + 90, + 12 + ], + "mcl_chests_ender_chest_top.png": [ + 70, + 64, + 61 + ], + "mcl_chests_ender_chest_left.png": [ + 73, + 67, + 64 + ], + "mcl_chests_chest_trapped_left.png": [ + 99, + 78, + 63 + ], + "mcl_chests_orange_shulker_box_top.png": [ + 143, + 74, + 51 + ], + "screwdriver.png": [ + 132, + 119, + 108 + ], + "_un.png": [ + 0, + 0, + 0 + ], + "_at.png": [ + 0, + 0, + 0 + ], + "_s_.png": [ + 0, + 0, + 0 + ], + "_sz.png": [ + 0, + 0, + 0 + ], + "_q.png": [ + 0, + 0, + 0 + ], + "_1.png": [ + 0, + 0, + 0 + ], + "_h_.png": [ + 0, + 0, + 0 + ], + "_o_tilde.png": [ + 0, + 0, + 0 + ], + "_q_.png": [ + 0, + 0, + 0 + ], + "_ae.png": [ + 0, + 0, + 0 + ], + "_e_circumflex_.png": [ + 0, + 0, + 0 + ], + "_ex.png": [ + 0, + 0, + 0 + ], + "_e_.png": [ + 0, + 0, + 0 + ], + "_qo.png": [ + 0, + 0, + 0 + ], + "_z_.png": [ + 0, + 0, + 0 + ], + "_ps.png": [ + 0, + 0, + 0 + ], + "_pound.png": [ + 0, + 0, + 0 + ], + "_div.png": [ + 0, + 0, + 0 + ], + "_l_.png": [ + 0, + 0, + 0 + ], + "_pilcrow.png": [ + 0, + 0, + 0 + ], + "_3_sup.png": [ + 0, + 0, + 0 + ], + "_e_acute.png": [ + 0, + 0, + 0 + ], + "_9.png": [ + 0, + 0, + 0 + ], + "_e_grave_.png": [ + 0, + 0, + 0 + ], + "_u_acute.png": [ + 0, + 0, + 0 + ], + "_a_sup.png": [ + 0, + 0, + 0 + ], + "_sr.png": [ + 0, + 0, + 0 + ], + "_v.png": [ + 0, + 0, + 0 + ], + "_ue_.png": [ + 0, + 0, + 0 + ], + "_t_.png": [ + 0, + 0, + 0 + ], + "_cl.png": [ + 0, + 0, + 0 + ], + "_n_tilde_.png": [ + 0, + 0, + 0 + ], + "_p_.png": [ + 0, + 0, + 0 + ], + "_c.png": [ + 0, + 0, + 0 + ], + "_a.png": [ + 0, + 0, + 0 + ], + "_a_circumflex_.png": [ + 0, + 0, + 0 + ], + "_8.png": [ + 0, + 0, + 0 + ], + "_s.png": [ + 0, + 0, + 0 + ], + "_o_.png": [ + 0, + 0, + 0 + ], + "_1_4.png": [ + 0, + 0, + 0 + ], + "_e_grave.png": [ + 0, + 0, + 0 + ], + "_o_dash.png": [ + 0, + 0, + 0 + ], + "_5.png": [ + 0, + 0, + 0 + ], + "_d_dash_.png": [ + 0, + 0, + 0 + ], + "_i_grave.png": [ + 0, + 0, + 0 + ], + "_vb.png": [ + 0, + 0, + 0 + ], + "_sp.png": [ + 255, + 255, + 255 + ], + "_a_acute_.png": [ + 0, + 0, + 0 + ], + "_as.png": [ + 0, + 0, + 0 + ], + "_y_acute.png": [ + 0, + 0, + 0 + ], + "_3_4.png": [ + 0, + 0, + 0 + ], + "_6.png": [ + 0, + 0, + 0 + ], + "_7.png": [ + 0, + 0, + 0 + ], + "_tl.png": [ + 0, + 0, + 0 + ], + "_t.png": [ + 0, + 0, + 0 + ], + "_y.png": [ + 0, + 0, + 0 + ], + "_ca.png": [ + 0, + 0, + 0 + ], + "_e.png": [ + 0, + 0, + 0 + ], + "_hs.png": [ + 0, + 0, + 0 + ], + "_copyright.png": [ + 0, + 0, + 0 + ], + "_l.png": [ + 0, + 0, + 0 + ], + "_h.png": [ + 0, + 0, + 0 + ], + "_u_circumflex_.png": [ + 0, + 0, + 0 + ], + "_i_acute_.png": [ + 0, + 0, + 0 + ], + "_ha.png": [ + 0, + 0, + 0 + ], + "_y_diaresis.png": [ + 0, + 0, + 0 + ], + "_gt.png": [ + 0, + 0, + 0 + ], + "_b.png": [ + 0, + 0, + 0 + ], + "_degree.png": [ + 0, + 0, + 0 + ], + "_a_tilde_.png": [ + 0, + 0, + 0 + ], + "_u_.png": [ + 0, + 0, + 0 + ], + "_o_sup.png": [ + 0, + 0, + 0 + ], + "_m_.png": [ + 0, + 0, + 0 + ], + "_c_.png": [ + 0, + 0, + 0 + ], + "_cr.png": [ + 0, + 0, + 0 + ], + "_3.png": [ + 0, + 0, + 0 + ], + "_currency.png": [ + 0, + 0, + 0 + ], + "_f.png": [ + 0, + 0, + 0 + ], + "_cedille.png": [ + 0, + 0, + 0 + ], + "_u_grave_.png": [ + 0, + 0, + 0 + ], + "_dt.png": [ + 0, + 0, + 0 + ], + "_am.png": [ + 0, + 0, + 0 + ], + "_c_cedille_.png": [ + 0, + 0, + 0 + ], + "_u_acute_.png": [ + 0, + 0, + 0 + ], + "_bl.png": [ + 0, + 0, + 0 + ], + "_registered.png": [ + 0, + 0, + 0 + ], + "_i_acute.png": [ + 0, + 0, + 0 + ], + "_lt.png": [ + 0, + 0, + 0 + ], + "_e_acute_.png": [ + 0, + 0, + 0 + ], + "_paragraph.png": [ + 0, + 0, + 0 + ], + "_i_grave_.png": [ + 0, + 0, + 0 + ], + "_o.png": [ + 0, + 0, + 0 + ], + "_1_sup.png": [ + 0, + 0, + 0 + ], + "mcl_signs_sign.png": [ + 114, + 89, + 69 + ], + "_yen.png": [ + 0, + 0, + 0 + ], + "_b_.png": [ + 0, + 0, + 0 + ], + "_macron.png": [ + 0, + 0, + 0 + ], + "_qu_inv.png": [ + 0, + 0, + 0 + ], + "_o_dash_.png": [ + 0, + 0, + 0 + ], + "_guill_right.png": [ + 0, + 0, + 0 + ], + "_p.png": [ + 0, + 0, + 0 + ], + "_thorn_.png": [ + 0, + 0, + 0 + ], + "_2_sup.png": [ + 0, + 0, + 0 + ], + "_pr.png": [ + 0, + 0, + 0 + ], + "default_sign.png": [ + 145, + 115, + 88 + ], + "_times_dot.png": [ + 0, + 0, + 0 + ], + "_acute.png": [ + 0, + 0, + 0 + ], + "_g_.png": [ + 0, + 0, + 0 + ], + "_o_acute_.png": [ + 0, + 0, + 0 + ], + "_a_tilde.png": [ + 0, + 0, + 0 + ], + "_j.png": [ + 0, + 0, + 0 + ], + "_k.png": [ + 0, + 0, + 0 + ], + "_co.png": [ + 0, + 0, + 0 + ], + "_dv.png": [ + 0, + 0, + 0 + ], + "_o_circumflex.png": [ + 0, + 0, + 0 + ], + "_a_ring.png": [ + 0, + 0, + 0 + ], + "_br.png": [ + 0, + 0, + 0 + ], + "_d.png": [ + 0, + 0, + 0 + ], + "_ap.png": [ + 0, + 0, + 0 + ], + "_sl.png": [ + 0, + 0, + 0 + ], + "_mn.png": [ + 0, + 0, + 0 + ], + "_m.png": [ + 0, + 0, + 0 + ], + "_ae_lig.png": [ + 0, + 0, + 0 + ], + "_thorn.png": [ + 0, + 0, + 0 + ], + "_2.png": [ + 0, + 0, + 0 + ], + "_gr.png": [ + 0, + 0, + 0 + ], + "_i.png": [ + 0, + 0, + 0 + ], + "_y_acute_.png": [ + 0, + 0, + 0 + ], + "_diaresis.png": [ + 0, + 0, + 0 + ], + "_oe.png": [ + 0, + 0, + 0 + ], + "_mu.png": [ + 0, + 0, + 0 + ], + "_guill_left.png": [ + 0, + 0, + 0 + ], + "_times_cross.png": [ + 0, + 0, + 0 + ], + "_ae_.png": [ + 0, + 0, + 0 + ], + "_w.png": [ + 0, + 0, + 0 + ], + "_u.png": [ + 0, + 0, + 0 + ], + "_broken_bar.png": [ + 0, + 0, + 0 + ], + "_4.png": [ + 0, + 0, + 0 + ], + "_plus_minus.png": [ + 0, + 0, + 0 + ], + "_1_2.png": [ + 0, + 0, + 0 + ], + "_u_circumflex.png": [ + 0, + 0, + 0 + ], + "_w_.png": [ + 0, + 0, + 0 + ], + "_x_.png": [ + 0, + 0, + 0 + ], + "_e_circumflex.png": [ + 0, + 0, + 0 + ], + "_g.png": [ + 0, + 0, + 0 + ], + "_o_tilde_.png": [ + 0, + 0, + 0 + ], + "_ae_lig_.png": [ + 0, + 0, + 0 + ], + "_v_.png": [ + 0, + 0, + 0 + ], + "_dl.png": [ + 0, + 0, + 0 + ], + "_a_grave.png": [ + 0, + 0, + 0 + ], + "_re.png": [ + 0, + 0, + 0 + ], + "_a_acute.png": [ + 0, + 0, + 0 + ], + "_qu.png": [ + 0, + 0, + 0 + ], + "_oe_.png": [ + 0, + 0, + 0 + ], + "_n_tilde.png": [ + 0, + 0, + 0 + ], + "_eq.png": [ + 0, + 0, + 0 + ], + "_d_.png": [ + 0, + 0, + 0 + ], + "_sm.png": [ + 0, + 0, + 0 + ], + "_y_.png": [ + 0, + 0, + 0 + ], + "_not.png": [ + 0, + 0, + 0 + ], + "_n.png": [ + 0, + 0, + 0 + ], + "_j_.png": [ + 0, + 0, + 0 + ], + "_k_.png": [ + 0, + 0, + 0 + ], + "_0.png": [ + 0, + 0, + 0 + ], + "_o_grave_.png": [ + 0, + 0, + 0 + ], + "_r_.png": [ + 0, + 0, + 0 + ], + "_r.png": [ + 0, + 0, + 0 + ], + "_u_grave.png": [ + 0, + 0, + 0 + ], + "_ee_.png": [ + 0, + 0, + 0 + ], + "_c_cedille.png": [ + 0, + 0, + 0 + ], + "_ex_inv.png": [ + 0, + 0, + 0 + ], + "_cm.png": [ + 0, + 0, + 0 + ], + "_o_grave.png": [ + 0, + 0, + 0 + ], + "_x.png": [ + 0, + 0, + 0 + ], + "_i_.png": [ + 0, + 0, + 0 + ], + "_n_.png": [ + 0, + 0, + 0 + ], + "_rc.png": [ + 0, + 0, + 0 + ], + "_a_.png": [ + 0, + 0, + 0 + ], + "_a_grave_.png": [ + 0, + 0, + 0 + ], + "_ee.png": [ + 0, + 0, + 0 + ], + "_o_acute.png": [ + 0, + 0, + 0 + ], + "_a_ring_.png": [ + 0, + 0, + 0 + ], + "_i_circumflex_.png": [ + 0, + 0, + 0 + ], + "_cent.png": [ + 0, + 0, + 0 + ], + "_d_dash.png": [ + 0, + 0, + 0 + ], + "_f_.png": [ + 0, + 0, + 0 + ], + "_o_circumflex_.png": [ + 0, + 0, + 0 + ], + "_ue.png": [ + 0, + 0, + 0 + ], + "_a_circumflex.png": [ + 0, + 0, + 0 + ], + "_i_circumflex.png": [ + 0, + 0, + 0 + ], + "_z.png": [ + 0, + 0, + 0 + ], + "gui_furnace_arrow_fg.png": [ + 239, + 239, + 239 + ], + "default_furnace_front.png": [ + 105, + 95, + 91 + ], + "default_furnace_fire_bg.png": [ + 139, + 139, + 139 + ], + "default_furnace_top.png": [ + 148, + 138, + 133 + ], + "default_furnace_fire_fg.png": [ + 179, + 115, + 70 + ], + "default_furnace_side.png": [ + 117, + 107, + 102 + ], + "gui_furnace_arrow_bg.png": [ + 139, + 139, + 139 + ], + "default_furnace_front_active.png": [ + 119, + 95, + 85 + ], + "default_furnace_bottom.png": [ + 148, + 138, + 133 + ], + "default_torch_on_floor.png": [ + 115, + 82, + 59 + ], + "default_torch_on_floor_animated.png": [ + 116, + 84, + 61 + ], + "default_tnt_bottom.png": [ + 161, + 54, + 58 + ], + "mcl_tnt_blink.png": [ + 255, + 255, + 255 + ], + "default_tnt_top.png": [ + 125, + 54, + 57 + ], + "default_tnt_side.png": [ + 178, + 105, + 98 + ], + "mcl_heads_skeleton.png": [ + 125, + 125, + 125 + ], + "mcl_heads_skeleton_node.png": [ + 124, + 124, + 124 + ], + "mcl_heads_creeper_node.png": [ + 98, + 107, + 71 + ], + "mcl_heads_zombie.png": [ + 66, + 104, + 69 + ], + "mcl_heads_creeper.png": [ + 92, + 110, + 68 + ], + "mcl_heads_steve_node.png": [ + 115, + 70, + 58 + ], + "mcl_heads_zombie_node.png": [ + 78, + 110, + 105 + ], + "mcl_heads_steve.png": [ + 108, + 76, + 59 + ], + "mcl_heads_wither_skeleton_node.png": [ + 50, + 50, + 50 + ], + "mcl_heads_wither_skeleton.png": [ + 50, + 50, + 50 + ], + "mcl_flowerpots_cactus.png": [ + 109, + 83, + 52 + ], + "mcl_flowerpots_flowerpot_inventory.png": [ + 121, + 54, + 45 + ], + "mcl_flowerpots_flowerpot.png": [ + 120, + 55, + 47 + ], + "bucket_lava.png": [ + 166, + 127, + 113 + ], + "bucket_river_water.png": [ + 139, + 152, + 155 + ], + "bucket_water.png": [ + 139, + 147, + 155 + ], + "bucket.png": [ + 147, + 143, + 139 + ], + "mcl_totems_totem.png": [ + 185, + 139, + 52 + ], + "mcl_anvils_anvil_top_damaged_1.png": [ + 50, + 50, + 50 + ], + "mcl_anvils_anvil_top_damaged_2.png": [ + 48, + 48, + 48 + ], + "mcl_anvils_anvil_top_damaged_0.png": [ + 52, + 52, + 52 + ], + "mcl_anvils_anvil_side.png": [ + 45, + 45, + 45 + ], + "mcl_anvils_inventory.png": [ + 157, + 157, + 157 + ], + "mcl_anvils_anvil_base.png": [ + 40, + 40, + 40 + ], + "mcl_maps_player_arrow.png": [ + 95, + 95, + 95 + ], + "mcl_maps_map_filled.png": [ + 213, + 176, + 148 + ], + "mcl_maps_player_dot.png": [ + 105, + 105, + 105 + ], + "mcl_maps_map_empty.png": [ + 217, + 187, + 157 + ], + "mcl_maps_map_filled_markings.png": [ + 183, + 183, + 183 + ], + "mcl_maps_map_background.png": [ + 224, + 196, + 166 + ], + "mcl_dispensers_dispenser_front_vertical.png": [ + 115, + 104, + 99 + ], + "mcl_dispensers_dispenser_front_horizontal.png": [ + 105, + 96, + 92 + ], + "jeija_wall_lever.png": [ + 95, + 80, + 69 + ], + "mesecons_delayer_front_locked_off.png": [ + 97, + 85, + 77 + ], + "mesecons_delayer_locked_on.png": [ + 114, + 100, + 95 + ], + "mesecons_delayer_sides_locked_off.png": [ + 95, + 80, + 73 + ], + "mesecons_delayer_sides_on.png": [ + 106, + 71, + 63 + ], + "mesecons_delayer_item.png": [ + 100, + 87, + 82 + ], + "mesecons_delayer_end_locked_off.png": [ + 97, + 85, + 77 + ], + "mesecons_delayer_end_locked_on.png": [ + 101, + 85, + 78 + ], + "mesecons_delayer_ends_off.png": [ + 99, + 86, + 80 + ], + "mesecons_delayer_front_locked_on.png": [ + 101, + 85, + 77 + ], + "mesecons_delayer_ends_on.png": [ + 105, + 87, + 81 + ], + "mesecons_delayer_sides_locked_on.png": [ + 104, + 81, + 74 + ], + "mesecons_delayer_locked_off.png": [ + 110, + 99, + 95 + ], + "mesecons_delayer_sides_off.png": [ + 90, + 69, + 61 + ], + "mesecons_delayer_off.png": [ + 112, + 100, + 96 + ], + "mesecons_delayer_on.png": [ + 116, + 101, + 97 + ], + "redstone_redstone_dust_line0.png": [ + 168, + 168, + 168 + ], + "redstone_redstone_dust.png": [ + 81, + 0, + 0 + ], + "redstone_redstone_dust_dot.png": [ + 168, + 168, + 168 + ], + "redstone_redstone_dust_line1.png": [ + 173, + 173, + 173 + ], + "jeija_commandblock_off.png": [ + 110, + 99, + 96 + ], + "jeija_commandblock_on.png": [ + 110, + 99, + 96 + ], + "redstone_redstone_block.png": [ + 128, + 8, + 9 + ], + "jeija_torches_on.png": [ + 102, + 68, + 56 + ], + "jeija_torches_off.png": [ + 90, + 66, + 54 + ], + "mesecons_button_wield_mask.png": [ + 255, + 126, + 126 + ], + "mcl_droppers_dropper_front_vertical.png": [ + 118, + 108, + 103 + ], + "mcl_droppers_dropper_front_horizontal.png": [ + 110, + 101, + 96 + ], + "mesecons_noteblock.png": [ + 104, + 81, + 63 + ], + "jeija_solar_panel_inverted.png": [ + 100, + 107, + 117 + ], + "jeija_solar_panel.png": [ + 124, + 113, + 101 + ], + "jeija_solar_panel_side.png": [ + 60, + 47, + 36 + ], + "mcl_observers_observer_top.png": [ + 139, + 128, + 123 + ], + "mcl_observers_observer_front.png": [ + 95, + 80, + 84 + ], + "mcl_observers_observer_back_lit.png": [ + 75, + 67, + 65 + ], + "mcl_observers_observer_back.png": [ + 72, + 67, + 64 + ], + "mcl_observers_observer_side.png": [ + 111, + 103, + 99 + ], + "mesecons_piston_pusher_front_sticky.png": [ + 97, + 81, + 63 + ], + "mesecons_piston_pusher_top.png": [ + 106, + 83, + 65 + ], + "mesecons_piston_back.png": [ + 110, + 101, + 98 + ], + "mesecons_piston_on_front.png": [ + 111, + 101, + 98 + ], + "mesecons_piston_pusher_back.png": [ + 106, + 83, + 65 + ], + "mesecons_piston_bottom.png": [ + 120, + 107, + 100 + ], + "mesecons_piston_pusher_right.png": [ + 106, + 83, + 65 + ], + "mesecons_piston_pusher_bottom.png": [ + 106, + 83, + 65 + ], + "mesecons_piston_pusher_front.png": [ + 106, + 83, + 65 + ], + "mesecons_piston_pusher_left.png": [ + 106, + 83, + 65 + ], + "jeija_lightstone_gray_on.png": [ + 97, + 56, + 37 + ], + "jeija_lightstone_gray_off.png": [ + 64, + 49, + 43 + ], + "mcl_target_target_side.png": [ + 177, + 117, + 94 + ], + "mcl_target_target_top.png": [ + 177, + 117, + 94 + ], + "mcl_comparators_sides_on.png": [ + 105, + 87, + 81 + ], + "mcl_comparators_comp.png": [ + 61, + 20, + 20 + ], + "mcl_comparators_on.png": [ + 116, + 102, + 98 + ], + "mcl_comparators_sides_comp.png": [ + 99, + 88, + 83 + ], + "mcl_comparators_off.png": [ + 113, + 102, + 98 + ], + "mcl_comparators_ends_comp.png": [ + 99, + 88, + 83 + ], + "mcl_comparators_ends_sub.png": [ + 105, + 88, + 83 + ], + "mcl_comparators_ends_off.png": [ + 96, + 80, + 74 + ], + "mcl_comparators_ends_on.png": [ + 105, + 81, + 75 + ], + "mcl_comparators_sub.png": [ + 112, + 25, + 25 + ], + "mcl_comparators_item.png": [ + 98, + 83, + 79 + ], + "mcl_comparators_sides_off.png": [ + 99, + 86, + 80 + ], + "mcl_comparators_sides_sub.png": [ + 105, + 88, + 83 + ], + "default_book.png": [ + 103, + 67, + 44 + ], + "default_bookshelf.png": [ + 84, + 67, + 54 + ], + "mcl_books_book_written.png": [ + 110, + 74, + 44 + ], + "mcl_books_book_bg.png": [ + 203, + 180, + 151 + ], + "mcl_books_button9_pressed.png": [ + 145, + 112, + 86 + ], + "mcl_books_button9.png": [ + 145, + 112, + 86 + ], + "mcl_books_book_writable.png": [ + 151, + 122, + 108 + ], + "mcl_books_bookshelf_top.png": [ + 109, + 84, + 65 + ], + "wool_dark_grey.png": [ + 96, + 87, + 87 + ], + "wool_grey.png": [ + 143, + 134, + 134 + ], + "wool_magenta.png": [ + 140, + 85, + 125 + ], + "wool_black.png": [ + 45, + 42, + 42 + ], + "wool_orange.png": [ + 188, + 106, + 45 + ], + "wool_blue.png": [ + 43, + 73, + 125 + ], + "wool_yellow.png": [ + 201, + 163, + 69 + ], + "wool_pink.png": [ + 171, + 91, + 108 + ], + "wool_dark_green.png": [ + 53, + 91, + 51 + ], + "wool_brown.png": [ + 86, + 57, + 43 + ], + "wool_red.png": [ + 132, + 42, + 45 + ], + "mcl_wool_light_blue.png": [ + 91, + 130, + 180 + ], + "wool_cyan.png": [ + 30, + 94, + 113 + ], + "mcl_wool_lime.png": [ + 107, + 151, + 76 + ], + "wool_white.png": [ + 212, + 199, + 182 + ], + "wool_violet.png": [ + 77, + 57, + 102 + ], + "mcl_potions_melon_speckled.png": [ + 170, + 97, + 62 + ], + "mcl_potions_effect_swift.png": [ + 106, + 96, + 85 + ], + "mcl_potions_spider_eye_fermented.png": [ + 143, + 97, + 62 + ], + "mcl_potions_splash_bottle.png": [ + 168, + 156, + 183 + ], + "mcl_potions_effect_water_breathing.png": [ + 59, + 69, + 100 + ], + "mcl_potions_effect_leaping.png": [ + 100, + 91, + 86 + ], + "mcl_potions_effect_weak.png": [ + 127, + 126, + 126 + ], + "mcl_potions_dragon_breath.png": [ + 171, + 137, + 163 + ], + "mcl_potions_effect_food_poisoning.png": [ + 112, + 123, + 89 + ], + "hudbars_icon_regenerate.png": [ + 195, + 77, + 114 + ], + "mcl_potions_effect_fire_proof.png": [ + 112, + 68, + 68 + ], + "mcl_potions_splash_overlay.png": [ + 202, + 202, + 202 + ], + "mcl_potions_effect_invisible.png": [ + 96, + 103, + 95 + ], + "hbhunger_icon_regen_poison.png": [ + 147, + 111, + 115 + ], + "mcl_potions_effect_slow.png": [ + 78, + 81, + 85 + ], + "mcl_potions_lingering_bottle.png": [ + 181, + 159, + 192 + ], + "mcl_potions_potion_overlay.png": [ + 201, + 201, + 201 + ], + "mcl_potions_effect_regenerating.png": [ + 133, + 90, + 83 + ], + "mcl_potions_arrow_inv.png": [ + 171, + 165, + 160 + ], + "mcl_potions_effect_night_vision.png": [ + 86, + 99, + 74 + ], + "mcl_potions_potion_bottle.png": [ + 156, + 172, + 203 + ], + "mcl_potions_effect_poisoned.png": [ + 78, + 110, + 80 + ], + "mcl_potions_effect_strong.png": [ + 100, + 82, + 97 + ], + "crafting_workbench_front.png": [ + 120, + 93, + 72 + ], + "gui_crafting_arrow.png": [ + 139, + 139, + 139 + ], + "crafting_workbench_side.png": [ + 120, + 93, + 72 + ], + "crafting_workbench_top.png": [ + 152, + 121, + 93 + ], + "mcl_amethyst_amethyst_bud_small.png": [ + 176, + 131, + 203 + ], + "mcl_amethyst_amethyst_block.png": [ + 139, + 84, + 172 + ], + "mcl_amethyst_amethyst_cluster.png": [ + 161, + 111, + 190 + ], + "mcl_amethyst_calcite_block.png": [ + 189, + 193, + 207 + ], + "mcl_amethyst_amethyst_shard.png": [ + 163, + 113, + 192 + ], + "mcl_amethyst_amethyst_bud_medium.png": [ + 184, + 140, + 209 + ], + "mcl_amethyst_amethyst_bud_large.png": [ + 173, + 127, + 201 + ], + "mcl_amethyst_tinted_glass.png": [ + 125, + 67, + 160 + ], + "mcl_amethyst_amethyst_cluster_block.png": [ + 180, + 136, + 206 + ], + "mcl_amethyst_budding_amethyst.png": [ + 134, + 77, + 167 + ], + "mcl_enchanting_glyph_11.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_glyph_14.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_glyph_6.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_glyph_8.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_glyph_9.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_glyph_3.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_number_1_off.png": [ + 255, + 255, + 255 + ], + "mcl_enchanting_number_3_off.png": [ + 255, + 255, + 255 + ], + "mcl_enchanting_number_3.png": [ + 151, + 47, + 40 + ], + "mcl_enchanting_book_open.png": [ + 153, + 123, + 99 + ], + "mcl_enchanting_button_off.png": [ + 255, + 255, + 255 + ], + "mcl_enchanting_glyph_2.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_glyph_1.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_button.png": [ + 255, + 255, + 255 + ], + "mcl_enchanting_table_side.png": [ + 66, + 58, + 55 + ], + "mcl_enchanting_book_closed.png": [ + 112, + 78, + 55 + ], + "mcl_enchanting_table_bottom.png": [ + 58, + 51, + 52 + ], + "mcl_enchanting_glyph_15.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_number_2_off.png": [ + 255, + 255, + 255 + ], + "mcl_enchanting_glyph_5.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_number_1.png": [ + 149, + 45, + 39 + ], + "mcl_enchanting_glyph_7.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_table_top.png": [ + 88, + 86, + 84 + ], + "mcl_enchanting_number_2.png": [ + 149, + 46, + 39 + ], + "mcl_enchanting_glyph_16.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_button_hovered.png": [ + 255, + 255, + 255 + ], + "mcl_enchanting_book_enchanted.png": [ + 122, + 69, + 46 + ], + "mcl_enchanting_glyph_4.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_glyph_10.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_glyph_13.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_glyph_17.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_glyph_18.png": [ + 209, + 209, + 231 + ], + "mcl_enchanting_lapis_background.png": [ + 255, + 255, + 255 + ], + "mcl_enchanting_button_background.png": [ + 229, + 202, + 171 + ], + "mcl_enchanting_glyph_12.png": [ + 209, + 209, + 231 + ], + "doc_basics_gameplay_mtg_2.png": [ + 151, + 168, + 207 + ], + "doc_basics_liquids_renewable_1.png": [ + 139, + 146, + 159 + ], + "doc_basics_players_sam.png": [ + 95, + 133, + 106 + ], + "doc_basics_players_flat.png": [ + 127, + 155, + 130 + ], + "doc_basics_craft_shapeless_2.png": [ + 52, + 52, + 48 + ], + "doc_basics_build.png": [ + 84, + 84, + 55 + ], + "doc_basics_pointing.png": [ + 66, + 104, + 32 + ], + "doc_basics_nodes.png": [ + 108, + 104, + 94 + ], + "doc_basics_craft_groups_2.png": [ + 65, + 58, + 52 + ], + "doc_basics_craft_groups_1.png": [ + 57, + 57, + 58 + ], + "doc_basics_inventory.png": [ + 47, + 47, + 45 + ], + "doc_basics_minimap_radar.png": [ + 73, + 164, + 128 + ], + "doc_basics_sneak.png": [ + 70, + 69, + 69 + ], + "doc_basics_camera_behind.png": [ + 108, + 144, + 135 + ], + "doc_basics_craft_repair.png": [ + 47, + 46, + 45 + ], + "doc_basics_hotbar_relations.png": [ + 85, + 84, + 69 + ], + "doc_basics_gameplay_lott.png": [ + 119, + 122, + 112 + ], + "doc_basics_tools_mining.png": [ + 64, + 62, + 59 + ], + "doc_basics_players_lott.png": [ + 180, + 193, + 224 + ], + "doc_basics_gameplay_outback.png": [ + 146, + 114, + 109 + ], + "doc_basics_gameplay_pixture.png": [ + 94, + 120, + 57 + ], + "doc_basics_craft_grid.png": [ + 46, + 46, + 46 + ], + "doc_basics_craft_groups_3.png": [ + 61, + 58, + 55 + ], + "doc_basics_camera_front.png": [ + 99, + 133, + 110 + ], + "doc_basics_minimap_map.png": [ + 149, + 169, + 183 + ], + "doc_basics_gameplay_mtg_1.png": [ + 136, + 117, + 86 + ], + "doc_basics_gameplay_xtraores_xtension.png": [ + 95, + 15, + 86 + ], + "doc_basics_light_torch.png": [ + 25, + 43, + 14 + ], + "doc_basics_minimap_round.png": [ + 160, + 175, + 189 + ], + "doc_basics_light_test.png": [ + 133, + 113, + 69 + ], + "doc_basics_liquids_nonrenewable.png": [ + 64, + 87, + 87 + ], + "doc_basics_gameplay_hades.png": [ + 81, + 70, + 62 + ], + "doc_basics_gameplay_moontest.png": [ + 75, + 74, + 79 + ], + "doc_basics_liquids_range.png": [ + 146, + 166, + 179 + ], + "doc_basics_inventory_detail.png": [ + 43, + 41, + 39 + ], + "doc_basics_camera_ego.png": [ + 111, + 147, + 139 + ], + "doc_basics_tools.png": [ + 46, + 45, + 42 + ], + "doc_basics_liquids_renewable_2.png": [ + 136, + 148, + 166 + ], + "doc_basics_items_dropped.png": [ + 195, + 185, + 147 + ], + "doc_basics_liquids_types.png": [ + 146, + 164, + 171 + ], + "doc_basics_gameplay_carbone_ng.png": [ + 121, + 118, + 89 + ], + "doc_basics_craft_shaped.png": [ + 55, + 52, + 50 + ], + "doc_basics_hotbar.png": [ + 141, + 175, + 226 + ], + "doc_basics_craft_shapeless_1.png": [ + 52, + 52, + 48 + ], + "doc_button_icon_lores.png": [ + 19, + 143, + 183 + ], + "doc_awards_icon_generic.png": [ + 14, + 125, + 162 + ], + "inventory_plus_doc_inventory_plus.png": [ + 19, + 143, + 183 + ], + "doc_button_icon_hires.png": [ + 30, + 149, + 188 + ], + "doc_identifier_identifier.png": [ + 172, + 151, + 139 + ], + "doc_identifier_identifier_liquid.png": [ + 125, + 147, + 190 + ], + "craftguide_furnace.png": [ + 119, + 95, + 85 + ], + "craftguide_clear_icon.png": [ + 254, + 254, + 254 + ], + "craftguide_book.png": [ + 84, + 117, + 39 + ], + "mcl_craftguide_fuel.png": [ + 187, + 121, + 75 + ], + "craftguide_prev_icon.png": [ + 255, + 255, + 255 + ], + "craftguide_zoomout_icon.png": [ + 255, + 255, + 255 + ], + "craftguide_search_icon.png": [ + 254, + 254, + 254 + ], + "craftguide_arrow.png": [ + 139, + 139, + 139 + ], + "craftguide_zoomin_icon.png": [ + 255, + 255, + 255 + ], + "craftguide_shapeless.png": [ + 130, + 130, + 130 + ], + "craftguide_next_icon.png": [ + 255, + 255, + 255 + ] +} diff --git a/mods/ITEMS/mcl_maps/init.lua b/mods/ITEMS/mcl_maps/init.lua index 84f4019ea..d882785c5 100644 --- a/mods/ITEMS/mcl_maps/init.lua +++ b/mods/ITEMS/mcl_maps/init.lua @@ -24,13 +24,15 @@ minetest.mkdir(map_textures_path) local function load_json_file(name) local file = assert(io.open(modpath .. "/" .. name .. ".json", "r")) - local data = minetest.parse_json(file:read()) + local data = minetest.parse_json(file:read("*all")) file:close() return data end local texture_colors = load_json_file("colors") -local palettes = load_json_file("palettes") +local palettes_grass = load_json_file("palettes_grass") +local palettes_foliage = load_json_file("palettes_foliage") +local palettes_water = load_json_file("palettes_water") local color_cache = {} @@ -92,8 +94,14 @@ function mcl_maps.create_map(pos) if texture then texture = texture:match("([^=^%^]-([^.]+))$"):split("^")[1] end - if def.palette then - local palette = palettes[texture] + if def.palette == "mcl_core_palette_grass.png" then + local palette = palettes_grass[texture] + color = palette and { palette = palette } + elseif def.palette == "mcl_core_palette_foliage.png" then + local palette = palettes_foliage[texture] + color = palette and { palette = palette } + elseif def.palette == "mcl_core_palette_water.png" then + local palette = palettes_water[texture] color = palette and { palette = palette } else color = texture_colors[texture] @@ -238,7 +246,6 @@ filled_wield_def.wield_scale = { x = 1, y = 1, z = 1 } filled_wield_def.paramtype = "light" filled_wield_def.drawtype = "mesh" filled_wield_def.node_placement_prediction = "" -filled_wield_def.range = minetest.registered_items[""].range filled_wield_def.on_place = mcl_util.call_on_rightclick filled_wield_def._mcl_wieldview_item = "mcl_maps:filled_map" @@ -271,6 +278,10 @@ end local old_add_item = minetest.add_item function minetest.add_item(pos, stack) + if not pos then + minetest.log("warning", "Trying to add item with missing pos: " .. tostring(stack)) + return + end stack = ItemStack(stack) if get_item_group(stack:get_name(), "filled_map") > 0 then stack:set_name("mcl_maps:filled_map") diff --git a/mods/ITEMS/mcl_maps/palettes.json b/mods/ITEMS/mcl_maps/palettes.json deleted file mode 100644 index 958882a16..000000000 --- a/mods/ITEMS/mcl_maps/palettes.json +++ /dev/null @@ -1 +0,0 @@ -{"mcl_core_palette_grass.png": [[109, 196, 117], [159, 193, 114], [118, 177, 120], [118, 177, 120], [107, 186, 107], [118, 177, 120], [92, 182, 119], [92, 182, 119], [92, 182, 119], [92, 182, 119], [118, 177, 120], [109, 196, 117], [35, 175, 105], [94, 190, 107], [94, 190, 107], [94, 190, 107], [94, 190, 107], [159, 193, 114], [76, 176, 84], [164, 150, 110], [164, 150, 110], [164, 150, 110], [164, 150, 110], [159, 193, 114], [93, 181, 76], [93, 181, 76], [93, 181, 76], [93, 181, 76], [76, 118, 60], [94, 190, 107], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117], [109, 196, 117]]} \ No newline at end of file diff --git a/mods/ITEMS/mcl_maps/palettes_foliage.json b/mods/ITEMS/mcl_maps/palettes_foliage.json new file mode 100644 index 000000000..d5eedf9ab --- /dev/null +++ b/mods/ITEMS/mcl_maps/palettes_foliage.json @@ -0,0 +1 @@ +{"mcl_core_palette_foliage.png": [[86, 164, 117], [109, 196, 117], [118, 177, 120], [159, 193, 114], [159, 193, 114], [74, 107, 58], [94, 190, 107], [94, 190, 107], [222, 188, 101], [90, 197, 87], [35, 175, 105], [92, 182, 119], [93, 181, 76], [93, 181, 76], [82, 153, 81], [91, 177, 85], [86, 164, 117], [94, 190, 107]]} diff --git a/mods/ITEMS/mcl_maps/palettes_grass.json b/mods/ITEMS/mcl_maps/palettes_grass.json new file mode 100644 index 000000000..2018dea18 --- /dev/null +++ b/mods/ITEMS/mcl_maps/palettes_grass.json @@ -0,0 +1 @@ +{"mcl_core_palette_grass.png": [[109, 196, 117], [159, 193, 114], [118, 177, 120], [118, 177, 120], [107, 186, 107], [118, 177, 120], [92, 182, 119], [92, 182, 119], [92, 182, 119], [92, 182, 119], [118, 177, 120], [109, 196, 117], [35, 175, 105], [94, 190, 107], [94, 190, 107], [94, 190, 107], [94, 190, 107], [159, 193, 114], [76, 176, 84], [164, 150, 110], [164, 150, 110], [164, 150, 110], [164, 150, 110], [159, 193, 114], [93, 181, 76], [93, 181, 76], [93, 181, 76], [93, 181, 76], [76, 118, 60], [94, 190, 107]]} diff --git a/mods/ITEMS/mcl_maps/palettes_water.json b/mods/ITEMS/mcl_maps/palettes_water.json new file mode 100644 index 000000000..101e293b9 --- /dev/null +++ b/mods/ITEMS/mcl_maps/palettes_water.json @@ -0,0 +1 @@ +{"mcl_core_palette_water.png": [[63, 118, 228], [82, 121, 179], [66, 149, 235], [65, 174, 233], [62, 104, 221], [60, 93, 215], [46, 100, 218], [61, 120, 181]]} diff --git a/mods/ITEMS/mcl_maps/textures/mcl_maps_map_background.png b/mods/ITEMS/mcl_maps/textures/mcl_maps_map_background.png deleted file mode 100644 index 9eeb0ea56..000000000 Binary files a/mods/ITEMS/mcl_maps/textures/mcl_maps_map_background.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mobitems/init.lua b/mods/ITEMS/mcl_mobitems/init.lua index 357762645..eeec953a2 100644 --- a/mods/ITEMS/mcl_mobitems/init.lua +++ b/mods/ITEMS/mcl_mobitems/init.lua @@ -413,7 +413,7 @@ minetest.register_craftitem("mcl_mobitems:glow_ink_sac", { description = S("Glow Ink Sac"), _doc_items_longdesc = S("Use it to craft the Glow Item Frame."), _doc_items_usagehelp = S("Use the Glow Ink Sac and the normal Item Frame to craft the Glow Item Frame."), - inventory_image = "extra_mobs_glow_ink_sac.png", + inventory_image = "mcl_mobitems_glow_ink_sac.png", groups = { craftitem = 1 }, }) diff --git a/mods/ITEMS/mcl_mobitems/locale/mcl_mobitems.fr.tr b/mods/ITEMS/mcl_mobitems/locale/mcl_mobitems.fr.tr index 09b7ea70b..82d1f173b 100644 --- a/mods/ITEMS/mcl_mobitems/locale/mcl_mobitems.fr.tr +++ b/mods/ITEMS/mcl_mobitems/locale/mcl_mobitems.fr.tr @@ -1,14 +1,14 @@ # textdomain: mcl_mobitems -Rotten Flesh=Chair Putréfiée +Rotten Flesh=Chair putréfiée 80% chance of food poisoning=80% de chances d'intoxication alimentaire Yuck! This piece of flesh clearly has seen better days. If you're really desperate, you can eat it to restore a few hunger points, but there's a 80% chance it causes food poisoning, which increases your hunger for a while.=Beurk! Ce morceau de chair a clairement connu des jours meilleurs. Si vous êtes vraiment désespéré, vous pouvez le manger pour restaurer quelques points de faim, mais il y a 80% de chances qu'il provoque une intoxication alimentaire, ce qui augmente votre faim pendant un certain temps. -Raw Mutton=Mouton Cru +Raw Mutton=Mouton cru Raw mutton is the flesh from a sheep and can be eaten safely. Cooking it will greatly increase its nutritional value.=Le mouton cru est la chair d'un mouton et peut être mangé en toute sécurité. La cuisson augmentera considérablement sa valeur nutritive. -Cooked Mutton=Mouton Cuit +Cooked Mutton=Mouton cuit Cooked mutton is the cooked flesh from a sheep and is used as food.=Le mouton cuit est la chair cuite d'un mouton et est utilisé comme nourriture. Raw Beef=Boeuf Cru @@ -16,24 +16,24 @@ Raw beef is the flesh from cows and can be eaten safely. Cooking it will greatly Steak=Steak Steak is cooked beef from cows and can be eaten.=Le steak est du boeuf cuit et peut être mangé. -Raw Chicken=Poulet Cru +Raw Chicken=Poulet cru 30% chance of food poisoning=30% de chances d'intoxication alimentaire Raw chicken is a food item which is not safe to consume. You can eat it to restore a few hunger points, but there's a 30% chance to suffer from food poisoning, which increases your hunger rate for a while. Cooking raw chicken will make it safe to eat and increases its nutritional value.=Le poulet cru est un aliment qui n'est pas sûr à consommer. Vous pouvez le manger pour restaurer quelques points de faim, mais il y a 30% de chances de souffrir d'intoxication alimentaire, ce qui augmente votre taux de faim pendant un certain temps. La cuisson du poulet cru le rendra sûr à manger et augmentera sa valeur nutritive. -Cooked Chicken=Poulet Cuit +Cooked Chicken=Poulet cuit A cooked chicken is a healthy food item which can be eaten.=Un poulet cuit est un aliment sain qui peut être mangé. Raw Porkchop=Porc Cru A raw porkchop is the flesh from a pig and can be eaten safely. Cooking it will greatly increase its nutritional value.=Un porc cru est la chair d'un porc et peut être mangée en toute sécurité. La cuisson augmentera considérablement sa valeur nutritive. -Cooked Porkchop=Porc Cuit +Cooked Porkchop=Porc cuit Cooked porkchop is the cooked flesh of a pig and is used as food.=Le porc cuit est la chair cuite d'un porc et est utilisé comme aliment. Raw Rabbit=Lapin Cru Raw rabbit is a food item from a dead rabbit. It can be eaten safely. Cooking it will increase its nutritional value.=Le lapin cru est un aliment provenant d'un lapin mort. Il peut être mangé en toute sécurité. La cuisson augmentera sa valeur nutritive. -Cooked Rabbit=Lapin Cuit +Cooked Rabbit=Lapin cuit This is a food item which can be eaten.=Il s'agit d'un aliment qui peut être mangé. Milk=Lait Removes all status effects=Supprime tous les effets de statut! @@ -41,7 +41,7 @@ Removes all status effects=Supprime tous les effets de statut! Milk is very refreshing and can be obtained by using a bucket on a cow. Drinking it will remove all status effects, but restores no hunger points.=Le lait est très rafraîchissant et peut être obtenu en utilisant un seau sur une vache. Le boire supprimera tous les effets de statut, mais ne restaure aucun point de faim. Use the placement key to drink the milk.=Utilisez la touche de placement pour boire le lait. -Spider Eye=Oeil d'Araignée +Spider Eye=Œil d'araignée Poisonous=Toxique Spider eyes are used mainly in crafting. If you're really desperate, you can eat a spider eye, but it will poison you briefly.=Les yeux d'araignée sont utilisés principalement dans l'artisanat. Si vous êtes vraiment désespéré, vous pouvez manger un œil d'araignée, mais cela vous empoisonnera brièvement. @@ -73,24 +73,24 @@ Leather=Cuir Leather is a versatile crafting component.=Le cuir est un élément d'artisanat polyvalent. Feather=Plume Feathers are used in crafting and are dropped from chickens.=Les plumes sont utilisées dans l'artisanat et tombent des poulets. -Rabbit Hide=Peau de Lapin +Rabbit Hide=Peau de lapin Rabbit hide is used to create leather.=La peau de lapin est utilisée pour créer du cuir. -Rabbit's Foot=Patte de Lapin -Must be your lucky day! Place this item in an item frame for decoration.=Ce doit être votre jour de chance! Placez cet article dans un cadre d'article pour la décoration. +Rabbit's Foot=Patte de lapin +Must be your lucky day! Place this item in an item frame for decoration.=Ce doit être votre jour de chance ! Placez cet objet dans un cadre d'objet pour la décoration. Saddle=Selle Can be placed on animals to ride them=Peut être placé sur les animaux pour les monter Saddles can be put on some animals in order to mount them.=Des selles peuvent être posées sur certains animaux afin de les monter. Use the placement key with the saddle in your hand to try to put on the saddle. Saddles fit on horses, mules, donkeys and pigs. Horses, mules and donkeys need to be tamed first, otherwise they'll reject the saddle. Saddled animals can be mounted by using the placement key on them again.=Utilisez la touche de placement avec la selle à la main pour essayer de mettre la selle. Les selles conviennent aux chevaux, mulets, ânes et cochons. Les chevaux, les mulets et les ânes doivent d'abord être apprivoisés, sinon ils rejetteront la selle. Les animaux sellés peuvent être montés en utilisant à nouveau la touche de placement. -Rabbit Stew=Ragout de Lapin +Rabbit Stew=Ragout de lapin Rabbit stew is a very nutricious food item.=Le ragoût de lapin est un aliment très nutritif. Shulker Shell=Carapace de Shulker Shulker shells are used in crafting. They are dropped from dead shulkers.=Les carapaces Shulker sont utilisés dans l'artisanat. Ils sont lâchés de shulkers morts. Slimeball=Boule de Slime Slimeballs are used in crafting. They are dropped from slimes.=Les boules de slime sont utilisées dans l'artisanat. Ils sont lâchés par les Slimes. Gunpowder=Poudre à canon -Carrot on a Stick=Carotte sur un Batôn +Carrot on a Stick=Carotte sur un bâton Lets you ride a saddled pig=Vous permet de monter un cochon sellé A carrot on a stick can be used on saddled pigs to ride them.=Une carotte sur un bâton peut être utilisée sur les porcs sellés pour les monter. @@ -103,9 +103,9 @@ Heart of the Sea=Coeur de la Mer The Heart of the Sea is used to craft a conduit. They can be obtained by finding them in a buried treasure chest.=Le Coeur de la Mer est utilisé pour fabriquer un conduit. Il peut être obtenu dans un coffre au trésor enterré. Iron Horse Armor=Armure de cheval en fer -Iron horse armor can be worn by horses to increase their protection from harm a bit.=L'armure de cheval en fer peut être portée par les chevaux pour augmenter un peu leur protection contre les dommages. +Iron horse armor can be worn by horses to increase their protection from harm a bit.=L'armure de cheval en fer peut être portée par les chevaux pour augmenter un peu leur protection contre les dégâts. Golden Horse Armor=Armure de cheval en or -Golden horse armor can be worn by horses to increase their protection from harm.=Une armure de cheval en or peut être portée par les chevaux pour augmenter leur protection contre les dommages. +Golden horse armor can be worn by horses to increase their protection from harm.=Une armure de cheval en or peut être portée par les chevaux pour augmenter leur protection contre les dégâts. Diamond Horse Armor=Armure de cheval en diamant -Diamond horse armor can be worn by horses to greatly increase their protection from harm.=Une armure de cheval en diament peut être portée par les chevaux pour augmenter fortement leur protection contre les dommages. +Diamond horse armor can be worn by horses to greatly increase their protection from harm.=Une armure de cheval en diament peut être portée par les chevaux pour augmenter fortement leur protection contre les dégâts. Place it on a horse to put on the horse armor. Donkeys and mules can't wear horse armor.=Placez-la sur un cheval pour mettre l'armure de cheval. Les ânes et les mules ne peuvent pas porter d'armure de cheval. diff --git a/mods/ITEMS/mcl_mobitems/textures/extra_mobs_glow_ink_sac.png b/mods/ITEMS/mcl_mobitems/textures/extra_mobs_glow_ink_sac.png deleted file mode 100644 index 6628e6abb..000000000 Binary files a/mods/ITEMS/mcl_mobitems/textures/extra_mobs_glow_ink_sac.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_bucket_milk.png b/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_bucket_milk.png deleted file mode 100644 index 2ba089a54..000000000 Binary files a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_bucket_milk.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_carrot_on_a_stick.png b/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_carrot_on_a_stick.png deleted file mode 100644 index ff85a30df..000000000 Binary files a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_carrot_on_a_stick.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_heart_of_the_sea.png b/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_heart_of_the_sea.png deleted file mode 100644 index b55893963..000000000 Binary files a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_heart_of_the_sea.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_heart_of_the_sea_split.png b/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_heart_of_the_sea_split.png deleted file mode 100644 index 4f6affbf1..000000000 Binary files a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_heart_of_the_sea_split.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_ink_sac.png b/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_ink_sac.png deleted file mode 100644 index 95a8df4ad..000000000 Binary files a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_ink_sac.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_nautilus_shell.png b/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_nautilus_shell.png deleted file mode 100644 index aa415508d..000000000 Binary files a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_nautilus_shell.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_rabbit_hide.png b/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_rabbit_hide.png deleted file mode 100644 index 39e1f2215..000000000 Binary files a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_rabbit_hide.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_slimeball.png b/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_slimeball.png deleted file mode 100644 index e984e9b97..000000000 Binary files a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_slimeball.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mobspawners/init.lua b/mods/ITEMS/mcl_mobspawners/init.lua index b3cd8a67f..c5c2212b6 100644 --- a/mods/ITEMS/mcl_mobspawners/init.lua +++ b/mods/ITEMS/mcl_mobspawners/init.lua @@ -317,7 +317,9 @@ minetest.register_node("mcl_mobspawners:spawner", { if obj then obj:remove() end - mcl_experience.throw_xp(pos, math.random(15, 43)) + if not minetest.is_creative_enabled("") then + mcl_experience.throw_xp(pos, math.random(15, 43)) + end end, on_punch = function(pos) diff --git a/mods/ITEMS/mcl_mobspawners/textures/mob_spawner.png b/mods/ITEMS/mcl_mobspawners/textures/mob_spawner.png deleted file mode 100644 index 8464193c1..000000000 Binary files a/mods/ITEMS/mcl_mobspawners/textures/mob_spawner.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mud/locale/mcl_mud.fr.tr b/mods/ITEMS/mcl_mud/locale/mcl_mud.fr.tr index e79f5afe9..d95771bd2 100644 --- a/mods/ITEMS/mcl_mud/locale/mcl_mud.fr.tr +++ b/mods/ITEMS/mcl_mud/locale/mcl_mud.fr.tr @@ -1,7 +1,7 @@ # textdomain: mcl_mud Mud=Boue Mud is a decorative block that generates in mangrove swamps. Mud can also be obtained by using water bottles on dirt or coarse dirt.=La boue est un bloc décoratif généré dans les marécages mangrove. La boue peut aussi être obtenue en utilisant des bouteilles d'eau sur de la terre ou de la terre stérile. -Packed Mud=Boue Compactée +Packed Mud=Boue compactée Packed mud is a decorative block used to craft mud bricks.=La boue compactée est un bloc décoratif utilisé pour fabriquer des briques de boue. -Mud Bricks=Briques de Boue -Decorative block crafted from packed mud.=Bloc décoratif fabriqué à partir de boue compactée. \ No newline at end of file +Mud Bricks=Briques de boue +Decorative block crafted from packed mud.=Bloc décoratif fabriqué à partir de boue compactée. diff --git a/mods/ITEMS/mcl_mud/textures/mcl_mud.png b/mods/ITEMS/mcl_mud/textures/mcl_mud.png deleted file mode 100644 index 629831124..000000000 Binary files a/mods/ITEMS/mcl_mud/textures/mcl_mud.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mud/textures/mcl_mud_bricks.png b/mods/ITEMS/mcl_mud/textures/mcl_mud_bricks.png deleted file mode 100644 index c102118e7..000000000 Binary files a/mods/ITEMS/mcl_mud/textures/mcl_mud_bricks.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mud/textures/mcl_mud_packed_mud.png b/mods/ITEMS/mcl_mud/textures/mcl_mud_packed_mud.png deleted file mode 100644 index 5e335e97e..000000000 Binary files a/mods/ITEMS/mcl_mud/textures/mcl_mud_packed_mud.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mushrooms/locale/mcl_mushrooms.fr.tr b/mods/ITEMS/mcl_mushrooms/locale/mcl_mushrooms.fr.tr index 647b36443..40b6644d1 100644 --- a/mods/ITEMS/mcl_mushrooms/locale/mcl_mushrooms.fr.tr +++ b/mods/ITEMS/mcl_mushrooms/locale/mcl_mushrooms.fr.tr @@ -2,22 +2,22 @@ This decorative block is like a huge mushroom stem, but with the stem texture on all sides.=Ce bloc décoratif ressemble à une tige de champignon géant, mais avec la texture de la tige de tous les côtés. Huge red mushroom blocks are the cap parts of huge red mushrooms. It consists of a red skin and can have pores on each of its sides.=Blocs de champignons rouges géants sont les parties du chapeau d'énormes champignons rouges. Il se compose d'une peau rouge et peut avoir des pores sur chacun de ses côtés. The stem part of a huge red mushroom.=La partie tige d'un énorme champignon rouge. -Huge Red Mushroom Block=Bloc de Champignon Rouge Géant -Huge Red Mushroom Stem=Tige de Champignon Rouge Géant -Huge Red Mushroom All-Faces Stem=Tige de Champignon Rouge Géant avec Pores +Huge Red Mushroom Block=Bloc de champignon rouge géant +Huge Red Mushroom Stem=Tige de champignon gouge géant +Huge Red Mushroom All-Faces Stem=Tige de champignon rouge géant avec pores Huge brown mushroom blocks are the cap parts of huge brown mushrooms. It consists of a brown skin and can have pores on each of its sides.=D'énormes blocs de champignons bruns sont les parties du chapeau d'énormes champignons bruns. Il se compose d'une peau brune et peut avoir des pores sur chacun de ses côtés. The stem part of a huge brown mushroom.=La partie tige d'un énorme champignon brun. -Huge Brown Mushroom Block=Bloc de Champignon Marron Géant -Huge Brown Mushroom Stem=Tige de Champignon Marron Géant -Huge Brown Mushroom All-Faces Stem=Tige de Champignon Marron Géant avec Pores +Huge Brown Mushroom Block=Bloc de champignon marron géant +Huge Brown Mushroom Stem=Tige de champignon marron géant +Huge Brown Mushroom All-Faces Stem=Tige de Champignon marron géant avec pores Brown mushrooms are fungi which grow and spread in darkness, but are sensitive to light. They are inedible as such, but they can be used to craft food items.=Les champignons bruns sont des champignons qui poussent et se propagent dans l'obscurité, mais sont sensibles à la lumière. Ils sont non comestibles en tant que tels, mais ils peuvent être utilisés pour fabriquer des aliments. Red mushrooms are fungi which grow and spread in darkness, but are sensitive to light. They are inedible as such, but they can be used to craft food items.=Les champignons rouges sont des champignons qui poussent et se propagent dans l'obscurité, mais sont sensibles à la lumière. Ils sont non comestibles en tant que tels, mais ils peuvent être utilisés pour fabriquer des aliments. A single mushroom of this species will slowly spread over time towards a random solid opaque block with a light level of 12 or lower in a 3×3×3 cube around the mushroom. It stops spreading when there are 5 or more mushrooms of the same species within an area of 9×3×9 blocks around the mushroom.=Un seul champignon de cette espèce se propagera lentement au fil du temps vers un bloc opaque solide aléatoire avec un niveau de lumière de 12 ou moins dans un cube 3×3×3 autour du champignon. Il cesse de se propager lorsqu'il y a 5 champignons ou plus de la même espèce dans une zone de 9×3×9 blocs autour du champignon. Mushrooms will eventually uproot at a light level of 12 or higher. On mycelium or podzol, they survive and spread at any light level.=Les champignons finiront par déraciner à un niveau de lumière de 12 ou plus. Sur le mycélium ou le podzol, ils survivent et se propagent à n'importe quel niveau de lumière. This mushroom can be placed on mycelium and podzol at any light level. It can also be placed on blocks which are both solid and opaque, as long as the light level at daytime is not higher than 12.=Ce champignon peut être placé sur le mycélium et le podzol à n'importe quel niveau de lumière. Il peut également être placé sur des blocs à la fois solides et opaques, tant que le niveau de lumière pendant la journée n'est pas supérieur à 12. -Brown Mushroom=Champignon Marron -Red Mushroom=Champignon Rouge -Mushroom Stew=Ragoût de Champignon +Brown Mushroom=Champignon marron +Red Mushroom=Champignon rouge +Mushroom Stew=Ragoût de champignon Mushroom stew is a healthy soup which can be consumed to restore some hunger points.=Le ragoût de champignons est une soupe saine qui peut être consommée pour restaurer certains points de faim. By placing huge mushroom blocks of the same species next to each other, the sides that touch each other will turn into pores permanently.=En plaçant d'énormes blocs de champignons de la même espèce les uns à côté des autres, les côtés qui se touchent se transformeront en pores de façon permanente. Grows on podzol, mycelium and other blocks=Pousse sur podzol, mycélium et autres blocs diff --git a/mods/ITEMS/mcl_mushrooms/textures/farming_mushroom_brown.png b/mods/ITEMS/mcl_mushrooms/textures/farming_mushroom_brown.png deleted file mode 100644 index 37e1d11e8..000000000 Binary files a/mods/ITEMS/mcl_mushrooms/textures/farming_mushroom_brown.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mushrooms/textures/farming_mushroom_red.png b/mods/ITEMS/mcl_mushrooms/textures/farming_mushroom_red.png deleted file mode 100644 index 5f9135863..000000000 Binary files a/mods/ITEMS/mcl_mushrooms/textures/farming_mushroom_red.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mushrooms/textures/mcl_mushrooms_mushroom_block_inside.png b/mods/ITEMS/mcl_mushrooms/textures/mcl_mushrooms_mushroom_block_inside.png deleted file mode 100644 index 06377fee8..000000000 Binary files a/mods/ITEMS/mcl_mushrooms/textures/mcl_mushrooms_mushroom_block_inside.png and /dev/null differ diff --git a/mods/ITEMS/mcl_mushrooms/textures/mcl_mushrooms_mushroom_block_skin_brown.png b/mods/ITEMS/mcl_mushrooms/textures/mcl_mushrooms_mushroom_block_skin_brown.png deleted file mode 100644 index 65d27c4c2..000000000 Binary files a/mods/ITEMS/mcl_mushrooms/textures/mcl_mushrooms_mushroom_block_skin_brown.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/init.lua b/mods/ITEMS/mcl_nether/init.lua index d300df5fd..548bd90d5 100644 --- a/mods/ITEMS/mcl_nether/init.lua +++ b/mods/ITEMS/mcl_nether/init.lua @@ -57,7 +57,7 @@ minetest.register_node("mcl_nether:ancient_debris", { stack_max = 64, tiles = {"mcl_nether_ancient_debris_top.png", "mcl_nether_ancient_debris_side.png"}, is_ground_content = true, - groups = {pickaxey=4, building_block=1, material_stone=1, xp=0}, + groups = {pickaxey=4, building_block=1, material_stone=1, xp=0, blast_furnace_smeltable = 1}, drop = "mcl_nether:ancient_debris", sounds = mcl_sounds.node_sound_stone_defaults(), _mcl_blast_resistance = 1200, @@ -130,7 +130,7 @@ minetest.register_node("mcl_nether:magma", { is_ground_content = true, light_source = 3, sunlight_propagates = false, - groups = {pickaxey=1, building_block=1, material_stone=1}, + groups = {pickaxey=1, building_block=1, material_stone=1, fire=1}, sounds = mcl_sounds.node_sound_stone_defaults(), -- From walkover mod on_walk_over = function(loc, nodeiamon, player) @@ -202,7 +202,7 @@ minetest.register_node("mcl_nether:nether_wart_block", { stack_max = 64, tiles = {"mcl_nether_nether_wart_block.png"}, is_ground_content = false, - groups = {handy=1, hoey=1, building_block=1, compostability = 85}, + groups = {handy=1, hoey=7, swordy=1, building_block=1, compostability = 85}, sounds = mcl_sounds.node_sound_leaves_defaults( { footstep={name="default_dirt_footstep", gain=0.7}, @@ -389,12 +389,12 @@ minetest.register_craft({ }) minetest.register_craft({ + type = "shapeless", output = "mcl_nether:netherite_ingot", recipe = { - {"mcl_nether:netherite_scrap", "mcl_nether:netherite_scrap", "mcl_nether:netherite_scrap"}, - {"mcl_nether:netherite_scrap", "mcl_core:gold_ingot", "mcl_core:gold_ingot"}, - {"mcl_core:gold_ingot", "mcl_core:gold_ingot", ""}, - } + "mcl_nether:netherite_scrap", "mcl_nether:netherite_scrap", "mcl_nether:netherite_scrap", + "mcl_nether:netherite_scrap", "mcl_core:gold_ingot", "mcl_core:gold_ingot", + "mcl_core:gold_ingot", "mcl_core:gold_ingot", }, }) minetest.register_craft({ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_glowstone.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_glowstone.png deleted file mode 100644 index d42c9c9c5..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_glowstone.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_gold_ore.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_gold_ore.png deleted file mode 100644 index 2a670e61a..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_gold_ore.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_nether_brick.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_nether_brick.png deleted file mode 100644 index 43a1af1bb..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_nether_brick.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_nether_wart_stage_2.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_nether_wart_stage_2.png deleted file mode 100644 index 0478c760a..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_nether_wart_stage_2.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_netherbrick.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_netherbrick.png deleted file mode 100644 index 9d8c32d85..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_netherbrick.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_netherrack.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_netherrack.png deleted file mode 100644 index 43b978c43..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_netherrack.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_block_side.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_block_side.png deleted file mode 100644 index 2e522f8a4..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_block_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_block_top.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_block_top.png deleted file mode 100644 index 2e522f8a4..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_block_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_chiseled_side.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_chiseled_side.png deleted file mode 100644 index 6029dace3..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_chiseled_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_chiseled_top.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_chiseled_top.png deleted file mode 100644 index a6bd32950..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_chiseled_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_ore.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_ore.png deleted file mode 100644 index ee9f5977e..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_ore.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_pillar_side.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_pillar_side.png deleted file mode 100644 index 32dd3d8c1..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_pillar_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_pillar_top.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_pillar_top.png deleted file mode 100644 index 1b6fe45b6..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_pillar_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_red_nether_brick.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_red_nether_brick.png deleted file mode 100644 index cd2182886..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_red_nether_brick.png and /dev/null differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_soul_sand.png b/mods/ITEMS/mcl_nether/textures/mcl_nether_soul_sand.png deleted file mode 100644 index dcde3812d..000000000 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_soul_sand.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/kelp.lua b/mods/ITEMS/mcl_ocean/kelp.lua index 5957bafb2..8827546a3 100644 --- a/mods/ITEMS/mcl_ocean/kelp.lua +++ b/mods/ITEMS/mcl_ocean/kelp.lua @@ -25,9 +25,7 @@ local mt_get_node = minetest.get_node local mt_get_node_level = minetest.get_node_level local mt_get_node_max_level = minetest.get_node_max_level local mt_get_node_or_nil = minetest.get_node_or_nil -local mt_get_node_timer = minetest.get_node_timer local mt_get_meta = minetest.get_meta -local mt_hash_node_position = minetest.hash_node_position local mt_set_node = minetest.set_node local mt_swap_node = minetest.swap_node local mt_pos_to_string = minetest.pos_to_string @@ -52,18 +50,11 @@ local table = table local kelp = {} mcl_ocean.kelp = kelp --- Kelp minimum and maximum age. Once reached the maximum, kelp no longer grows. +-- Once reach the maximum, kelp no longer grows. kelp.MIN_AGE = 0 kelp.MAX_AGE = 25 --- Tick interval (in seconds) for updating kelp. -kelp.TICK = 0.2 - --- Tick interval (in seconds) to store kelp meta. -kelp.META_TICK = 2 - --- Max age queue length -kelp.MAX_AGE_QUEUE = 20 +kelp.TICK = 0.2 -- Tick interval (in seconds) for updating kelp. -- The average amount of growth for kelp in a day is 2.16 (https://youtu.be/5Bp4lAjAk3I) -- Normally, a day lasts 20 minutes, meaning kelp.next_grow() is executed @@ -81,19 +72,6 @@ kelp.ROLL_GROWTH_DENOMINATOR = 100 * 1200 -- Sounds used to dig and place kelp. kelp.leaf_sounds = mcl_sounds.node_sound_leaves_defaults() --- Pool storing nodetimers -kelp.timers_pool = {} - --- Pool storing age, indexed by pos_hash. -kelp.age_pool = {} - --- Queue(List) of hashed positions to save their ages. --- Invalid ones may still persist in this queue. -kelp.age_queue = {} --- Stores only valid positions of each hashed postiions. -kelp.age_queue_pos = {} - - -- is age in the growable range? function kelp.is_age_growable(age) return age >= 0 and age < kelp.MAX_AGE @@ -177,7 +155,8 @@ end -- Roll whether to grow kelp or not. function kelp.roll_growth(numerator, denominator) -- Optional params: numerator, denominator - return math.random(denominator or kelp.ROLL_GROWTH_DENOMINATOR) <= (numerator or kelp.ROLL_GROWTH_NUMERATOR) + --return math.random(denominator or kelp.ROLL_GROWTH_DENOMINATOR) <= (numerator or kelp.ROLL_GROWTH_NUMERATOR) + return true -- probability done by ABM end @@ -230,87 +209,50 @@ function kelp.next_param2(param2) return math.min(param2+16 - param2 % 16, 255); end - --- Stores age from kelp.age_queue* into their respective meta -function kelp.store_meta() - local count = 0 - for _ in pairs(kelp.age_queue_pos) do - count = count + 1 +local function store_age (pos, age) + if pos then + --minetest.log("age: ".. tostring(age) .. ", pos: ".. mt_pos_to_string(pos)) + mt_get_meta(pos):set_int("mcl_ocean:kelp_age", age) end - -- chatlog(string.format("Storing age metadata: %d in queue", #kelp.age_queue)) - -- chatlog(string.format("Storing age metadata: %d valid in queue", count)) - for i=1,#kelp.age_queue do - local pos_hash = kelp.age_queue[i] - local pos = kelp.age_queue_pos[pos_hash] - -- queued hashes may no longer point to a valid pos, e.g. kelp is destroyed. - if pos then - mt_get_meta(pos):set_int("mcl_ocean:kelp_age", kelp.age_pool[pos_hash]) +end + +local function retrieve_age (pos, include_nil) + local meta = mt_get_meta(pos) + + if include_nil then + local age_set = meta:contains("mcl_ocean:kelp_age") + if not age_set then + return nil end end - kelp.age_queue = {} - kelp.age_queue_pos = {} + return meta:get_int("mcl_ocean:kelp_age") end - --- Store and queue a kelp's age to be saved into meta later. -function kelp.store_age(age, pos, pos_hash) - -- Watched params: pos - -- Optional params: pos_hash - local pos_hash = pos_hash or mt_hash_node_position(pos) - - kelp.age_pool[pos_hash] = age - if not kelp.age_queue_pos[pos_hash] then - table.insert(kelp.age_queue, pos_hash) - kelp.age_queue_pos[pos_hash] = pos - return true, pos_hash - end - - return false, pos_hash -end - - -- Initialise a kelp's age. -function kelp.init_age(pos, age, pos_hash, meta) +function kelp.init_age(pos, age, from_lbm) -- Watched params: pos - -- Optional params: age, pos_hash, meta - local pos_hash = pos_hash or mt_hash_node_position(pos) - local meta = meta or mt_get_meta(pos) + -- Optional params: age, from_lbm + + local new_age + + local stored_age = retrieve_age(pos, from_lbm) - local age = age if age then - kelp.store_age(age, pos, pos_hash) - elseif not meta:contains("mcl_ocean:kelp_age") then - age = kelp.roll_init_age() - kelp.store_age(age, pos, pos_hash) + --minetest.log("age: " .. tostring(age)) + store_age(pos, age) + new_age = age + elseif not stored_age then + new_age = kelp.roll_init_age() + --minetest.log("no kelp age set so init with: " .. tostring(new_age)) + store_age(pos, new_age) else - age = meta:get_int("mcl_ocean:kelp_age") - if not kelp.age_pool[pos_hash] then - kelp.age_pool[pos_hash] = age - end + --minetest.log("stored_age: " .. tostring(stored_age)) + new_age = stored_age end - return age, pos_hash, meta + return new_age end - --- Initialise kelp nodetimer. -function kelp.init_timer(pos, pos_hash) - -- Optional params: pos_hash - local pos_hash = pos_hash or mt_hash_node_position(pos) - - local timer = kelp.timers_pool[pos_hash] - if not timer then - timer = mt_get_node_timer(pos) - kelp.timers_pool[pos_hash] = timer - end - if not timer:is_started() then - timer:start(kelp.TICK) - end - - return pos_hash -end - - -- Apply next kelp height. The surface is swapped. so on_construct is skipped. function kelp.next_height(pos, node, pos_tip, node_tip, submerged, downward_flowing) -- Modified params: node @@ -342,12 +284,11 @@ end -- Grow next kelp. -function kelp.next_grow(age, pos, node, pos_hash, pos_tip, node_tip, submerged, downward_flowing) +function kelp.next_grow(age, pos, node, pos_tip, node_tip, submerged, downward_flowing) -- Watched params: pos -- Modified params: node - -- Optional params: node, pos_hash, pos_tip, node_tip, submerged, downward_flowing + -- Optional params: node, pos_tip, node_tip, submerged, downward_flowing local node = node or mt_get_node(pos) - local pos_hash = pos_hash or mt_hash_node_position(pos) local pos_tip = pos_tip local node_tip = node_tip or (pos_tip and mt_get_node(pos_tip)) if not pos_tip then @@ -361,8 +302,8 @@ function kelp.next_grow(age, pos, node, pos_hash, pos_tip, node_tip, submerged, end kelp.next_height(pos, node, pos_tip, node_tip, submerged, downward_flowing) - - return kelp.store_age(age, pos, pos_hash), node, pos_hash, pos_tip, node_tip, submerged, downward_flowing + store_age(pos, age) + return true, node, pos_tip, node_tip, submerged, downward_flowing end @@ -420,75 +361,68 @@ function kelp.surface_on_dig(pos, node, digger) kelp.detach_dig(pos, pos, true, node) end - function kelp.surface_after_dig_node(pos, node) return mt_set_node(pos, {name=minetest.registered_nodes[node.name].node_dig_prediction}) end -function kelp.surface_on_timer(pos) +local function detach_unsubmerged(pos) local node = mt_get_node(pos) - local pos_hash - -- Update detahed kelps local dig_pos,_, height = kelp.find_unsubmerged(pos, node) if dig_pos then - pos_hash = mt_hash_node_position(pos) mt_sound_play(mt_registered_nodes[node.name].sounds.dug, { gain = 0.5, pos = dig_pos }, true) kelp.detach_dig(dig_pos, pos, true, node, height) - kelp.store_age(kelp.roll_init_age(), pos, pos_hash) + local new_age = kelp.roll_init_age() + store_age(pos, new_age) end +end + +local function grow_kelp (pos) + local node = mt_get_node(pos) - -- Grow kelp on chance if kelp.roll_growth() then - pos_hash = pos_hash or mt_hash_node_position(pos) - local age = kelp.age_pool[pos_hash] + local age = retrieve_age(pos) + + if not age then + --minetest.log("init a new age as not set: " .. mt_pos_to_string(pos)) + kelp.init_age(pos, nil) + end + if kelp.is_age_growable(age) then - kelp.next_grow(age+1, pos, node, pos_hash) + --minetest.log("age growable: ".. tostring(age) .. ", pos: ".. mt_pos_to_string(pos)) + kelp.next_grow(age+1, pos, node) + else + --minetest.log("age not: ".. tostring(age) .. ", pos: ".. mt_pos_to_string(pos)) end end - - return true end function kelp.surface_on_construct(pos) - local pos_hash = mt_hash_node_position(pos) - kelp.init_age(pos, nil, pos_hash) - kelp.init_timer(pos, pos_hash) + --minetest.log("on construct kelp called") + kelp.init_age(pos, nil) end function kelp.surface_on_destruct(pos) local node = mt_get_node(pos) - local pos_hash = mt_hash_node_position(pos) -- on_falling callback. Activated by pistons for falling nodes too. + -- I'm not sure this works. I think piston digs water and the unsubmerged nature drops kelp. if kelp.is_falling(pos, node) then kelp.detach_drop(pos, kelp.get_height(node.param2)) end - - -- Removes position from queue - kelp.age_queue_pos[pos_hash] = nil end function kelp.surface_on_mvps_move(pos, node, oldpos, nodemeta) -- Pistons moving falling nodes will have already activated on_falling callback. + --minetest.log("kelp.surface_on_mvps_move: " .. mt_pos_to_string(pos)) kelp.detach_dig(pos, pos, mt_get_item_group(node.name, "falling_node") ~= 1, node) end --- NOTE: Old ABM implementation. --- local function surface_unsubmerged_abm(pos, node) --- local dig_pos = find_unsubmerged(pos, node) --- if dig_pos then --- detach_dig(dig_pos, pos, node, true) --- end --- return true --- end - - function kelp.kelp_on_place(itemstack, placer, pointed_thing) if pointed_thing.type ~= "node" or not placer then return itemstack @@ -576,48 +510,29 @@ function kelp.kelp_on_place(itemstack, placer, pointed_thing) end -- Initialize age and timer when it's planted on a new surface. - local pos_hash = mt_hash_node_position(pos_under) + local init_age = kelp.roll_init_age() + if new_surface then - kelp.init_age(pos_under, nil, pos_hash) - kelp.init_timer(pos_under, pos_hash) + kelp.init_age(pos_under, init_age) else - kelp.store_age(kelp.roll_init_age(), pos_under, pos_hash) + store_age(pos_under, init_age) end return itemstack end - -function kelp.lbm_register_nodetimer(pos, node) - local pos_hash = mt_hash_node_position(pos) - kelp.init_age(pos, nil, pos_hash) - kelp.init_timer(pos, pos_hash) +function kelp.lbm_register(pos) + kelp.init_age(pos, nil, true) end +minetest.register_lbm({ + label = "Kelp initialise", + name = "mcl_ocean:kelp_init", + nodenames = { "group:kelp" }, + run_at_every_load = true, -- so old kelps are also initialised + action = kelp.lbm_register, +}) -local gstep_time = 0 -function kelp.globalstep(dtime) - if #kelp.age_queue > kelp.MAX_AGE_QUEUE then - kelp.store_meta() - end - - gstep_time = gstep_time + dtime - if gstep_time < kelp.META_TICK then - return - end - gstep_time = 0 - - if #kelp.age_queue > 0 then - kelp.store_meta() - end -end - - -function kelp.on_shutdown() - if #kelp.age_queue > 0 then - kelp.store_meta() - end -end -------------------------------------------------------------------------------- -- Kelp registration API @@ -664,7 +579,6 @@ kelp.surface_deftemplate = { on_destruct = kelp.surface_on_destruct, on_dig = kelp.surface_on_dig, after_dig_node = kelp.surface_after_dig_node, - on_timer = kelp.surface_on_timer, mesecon = { on_mvps_move = kelp.surface_on_mvps_move, }, drop = "", -- drops are handled in on_dig --_mcl_falling_node_alternative = is_falling and nodename or nil, @@ -811,35 +725,28 @@ minetest.register_craft({ burntime = 200, }) --- Global registration ------------------------------------------------------------------------ - -minetest.register_lbm({ - label = "Kelp initialise", - name = "mcl_ocean:kelp_init", +minetest.register_abm({ + label = "Kelp drops", nodenames = { "group:kelp" }, - run_at_every_load = true, -- so old kelps are also initialised - action = kelp.lbm_register_nodetimer, + interval = 1.0, + chance = 1, + catch_up = false, + action = detach_unsubmerged, --surface_unsubmerged_abm, }) -minetest.register_globalstep(kelp.globalstep) -minetest.register_on_shutdown(kelp.on_shutdown) - --- NOTE: Old ABM implementation. --- minetest.register_abm({ --- label = "Kelp drops", --- nodenames = { "group:kelp" }, --- interval = 1.0, --- chance = 1, --- catch_up = false, --- action = surface_unsubmerged_abm, --- }) --- --- minetest.register_abm({ --- label = "Kelp growth", --- nodenames = { "group:kelp" }, --- interval = 45, --- chance = 12, --- catch_up = false, --- action = grow_abm, --- }) +-- 50% growth over a minute https://minecraft.fandom.com/wiki/Tutorials/Kelp_farming +-- 14% chance every random tick +-- On average, blocks are updated every 68.27 seconds (1365.33 game ticks) +-- 1 in 7 every 68 +-- 1 in 28 every 17 +-- 1 in 21 every 22 +-- https://minecraft.fandom.com/wiki/Tick#Random_tick +minetest.register_abm({ + label = "Kelp growth", + nodenames = { "group:kelp" }, + interval = 17, --17 + chance = 28, + catch_up = false, + action = grow_kelp, +}) diff --git a/mods/ITEMS/mcl_ocean/mod.conf b/mods/ITEMS/mcl_ocean/mod.conf index 9b639a7b0..a50609f52 100644 --- a/mods/ITEMS/mcl_ocean/mod.conf +++ b/mods/ITEMS/mcl_ocean/mod.conf @@ -1,4 +1,4 @@ name = mcl_ocean description = Includes various ocean nodes -depends = mcl_core, mcl_sounds, mcl_dye +depends = mcl_core, mcl_sounds, mcl_dye, mcl_util optional_depends = doc, doc_items, screwdriver diff --git a/mods/ITEMS/mcl_ocean/seagrass.lua b/mods/ITEMS/mcl_ocean/seagrass.lua index 8213fec10..26640aa3a 100644 --- a/mods/ITEMS/mcl_ocean/seagrass.lua +++ b/mods/ITEMS/mcl_ocean/seagrass.lua @@ -39,13 +39,7 @@ local function seagrass_on_place(itemstack, placer, pointed_thing) return itemstack end - if minetest.is_protected(pos_under, player_name) or - minetest.is_protected(pos_above, player_name) then - minetest.log("action", player_name - .. " tried to place " .. itemstack:get_name() - .. " at protected position " - .. minetest.pos_to_string(pos_under)) - minetest.record_protection_violation(pos_under, player_name) + if mcl_util.check_area_protection(pos_under, pos_above, placer) then return itemstack end @@ -118,7 +112,7 @@ for s=1, #surfaces do drawtype = "plantlike_rooted", paramtype = "light", paramtype2 = "meshoptions", - place_param2 = 3, + param2 = 3, tiles = def.tiles, special_tiles = { { @@ -155,3 +149,28 @@ end if mod_doc then doc.add_entry_alias("nodes", "mcl_ocean:seagrass_dirt", "craftitems", "mcl_ocean:seagrass") end + +minetest.register_lbm({ + label = "Fix incorrect seagrass", + name = "mcl_ocean:fix_incorrect_seagrass", + nodenames = {"group:seagrass"}, + run_at_every_load = false, + action = function(pos, node) + if node.param2 ~= 3 then + node.param2 = 3 + minetest.set_node(pos, node) + end + end +}) + +minetest.register_on_generated(function(minp, maxp, blockseed) + local seagrass = minetest.find_nodes_in_area(minp, maxp, {"group:seagrass"}) + for _, sgpos in pairs(seagrass) do + local sgnode = minetest.get_node(sgpos) + if sgnode.param2 ~= 3 then + sgnode.param2 = 3 + minetest.set_node(sgpos, sgnode) + end + end +end +) diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral.png deleted file mode 100644 index 60a4c53da..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral_block.png deleted file mode 100644 index a9a508be8..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral_fan.png deleted file mode 100644 index 0ffe520e0..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral_fan.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral.png deleted file mode 100644 index 905ba2f7c..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral_block.png deleted file mode 100644 index 551975513..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral_fan.png deleted file mode 100644 index c9a49f45f..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral_fan.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_brain_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_brain_coral.png deleted file mode 100644 index 8d8068200..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_brain_coral.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_brain_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_brain_coral_block.png deleted file mode 100644 index 2938880ef..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_brain_coral_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_brain_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_brain_coral_fan.png deleted file mode 100644 index b297894e8..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_brain_coral_fan.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral.png deleted file mode 100644 index 0d69e128c..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral_block.png deleted file mode 100644 index 86333fb47..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral_fan.png deleted file mode 100644 index 0b11adc31..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral_fan.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral.png deleted file mode 100644 index c050ecfea..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral_block.png deleted file mode 100644 index 836ab2a7f..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral_fan.png deleted file mode 100644 index 63c0806b9..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral_fan.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_horn_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_horn_coral.png deleted file mode 100644 index c0ede515d..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_horn_coral.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_horn_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_horn_coral_block.png deleted file mode 100644 index 8f37cd1e3..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_horn_coral_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_horn_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_horn_coral_fan.png deleted file mode 100644 index 161c0ec7b..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_horn_coral_fan.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_tube_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_tube_coral.png deleted file mode 100644 index d1bef3abd..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_tube_coral.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_tube_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_tube_coral_block.png deleted file mode 100644 index eb0e0da61..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_tube_coral_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_tube_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_tube_coral_fan.png deleted file mode 100644 index 5d0500d18..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_tube_coral_fan.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dried_kelp.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dried_kelp.png deleted file mode 100644 index 2d7879200..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dried_kelp.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dried_kelp_bottom.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dried_kelp_bottom.png deleted file mode 100644 index 148ecfd35..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dried_kelp_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dried_kelp_side.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dried_kelp_side.png deleted file mode 100644 index 71d1cb2ad..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dried_kelp_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dried_kelp_top.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dried_kelp_top.png deleted file mode 100644 index 148ecfd35..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dried_kelp_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral.png deleted file mode 100644 index e7958d50c..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral_block.png deleted file mode 100644 index e562b024e..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral_fan.png deleted file mode 100644 index 412e97f8e..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral_fan.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral.png deleted file mode 100644 index 8f3227618..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral_block.png deleted file mode 100644 index c56a1344e..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral_fan.png deleted file mode 100644 index 63e7d12ea..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral_fan.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_kelp_item.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_kelp_item.png deleted file mode 100644 index 396f8b3ef..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_kelp_item.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_kelp_plant.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_kelp_plant.png deleted file mode 100644 index 11eaf610a..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_kelp_plant.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_prismarine_bricks.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_prismarine_bricks.png deleted file mode 100644 index f708a270a..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_prismarine_bricks.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_1_anim.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_1_anim.png deleted file mode 100644 index 5c4f0064c..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_1_anim.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_1_off.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_1_off.png deleted file mode 100644 index 24b648777..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_1_off.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_2_anim.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_2_anim.png deleted file mode 100644 index ce063765f..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_2_anim.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_2_off.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_2_off.png deleted file mode 100644 index c0b34e8e9..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_2_off.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_3_anim.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_3_anim.png deleted file mode 100644 index d484085e2..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_3_anim.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_3_off.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_3_off.png deleted file mode 100644 index 56ac78f3a..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_3_off.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_4_anim.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_4_anim.png deleted file mode 100644 index 6d3e56675..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_4_anim.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_4_off.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_4_off.png deleted file mode 100644 index d2df93109..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_4_off.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_item.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_item.png deleted file mode 100644 index 88a4669ad..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_pickle_item.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_seagrass.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_seagrass.png deleted file mode 100644 index 216d25312..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_seagrass.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_seagrass_item.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_seagrass_item.png deleted file mode 100644 index 99b11dc29..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_seagrass_item.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral.png deleted file mode 100644 index 63cf864c7..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral_block.png deleted file mode 100644 index 016888db3..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral_fan.png deleted file mode 100644 index 7d055a7bd..000000000 Binary files a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral_fan.png and /dev/null differ diff --git a/mods/ITEMS/mcl_portals/locale/mcl_portals.fr.tr b/mods/ITEMS/mcl_portals/locale/mcl_portals.fr.tr index 4b2598b13..680e737b2 100644 --- a/mods/ITEMS/mcl_portals/locale/mcl_portals.fr.tr +++ b/mods/ITEMS/mcl_portals/locale/mcl_portals.fr.tr @@ -1,15 +1,15 @@ # textdomain: mcl_portals End Portal=Portail de l'End -An End portal teleports creatures and objects to the mysterious End dimension (and back!).=Un portail de l'End téléporte des créatures et des objets dans la mystérieuse dimension End (et vice-versa!). -Hop into the portal to teleport. Entering an End portal in the Overworld teleports you to a fixed position in the End dimension and creates a 5×5 obsidian platform at your destination. End portals in the End will lead back to your spawn point in the Overworld.=Sautez dans le portail pour vous téléporter. Entrer dans un portail d'End dans l'Overworld vous téléporte à une position fixe dans la dimension d'End et crée une plate-forme d'obsidienne 5×5 à votre destination. Les portails de l'End à la fin vous ramèneront à votre point d'apparition dans l'Overworld. -End Portal Frame=Cadre de Portail de l'End -End portal frames are used in the construction of End portals. Each block has a socket for an eye of ender.=Les portiques d'End sont utilisés dans la construction de portails d'End. Chaque bloc a une prise pour un oeil d'ender. -NOTE: The End dimension is currently incomplete and might change in future versions.=REMARQUE: la dimension d'End est actuellement incomplète et pourrait changer dans les futures versions. -End Portal Frame with Eye of Ender=Cadre de portail de l'End avec Oeil d'Ender +An End portal teleports creatures and objects to the mysterious End dimension (and back!).=Un portail de l'End téléporte des créatures et des objets dans la mystérieuse dimension de l'End (et vice-versa !). +Hop into the portal to teleport. Entering an End portal in the Overworld teleports you to a fixed position in the End dimension and creates a 5×5 obsidian platform at your destination. End portals in the End will lead back to your spawn point in the Overworld.=Sautez dans le portail pour vous téléporter. Entrer dans un portail de l'End dans l'Overworld vous téléporte à une position fixe dans la dimension de l'End et crée une plate-forme d'obsidienne 5×5 à votre destination. Les portails de l'End dans l'End vous ramèneront à votre point d'apparition dans l'Overworld. +End Portal Frame=Cadre de portail de l'End +End portal frames are used in the construction of End portals. Each block has a socket for an eye of ender.=Les portails de l'End sont utilisés dans la construction de portails de l'End. Chaque bloc a une prise pour un œil d'Ender. +NOTE: The End dimension is currently incomplete and might change in future versions.=REMARQUE : la dimension de l'End est actuellement incomplète et pourrait changer dans les futures versions. +End Portal Frame with Eye of Ender=Cadre de portail de l'End avec œil d'Ender Nether Portal=Portail du Nether -A Nether portal teleports creatures and objects to the hot and dangerous Nether dimension (and back!). Enter at your own risk!=A Nether portal teleports creatures and objects to the hot and dangerous Nether dimension (and back!). Enter at your own risk! -Stand in the portal for a moment to activate the teleportation. Entering a Nether portal for the first time will also create a new portal in the other dimension. If a Nether portal has been built in the Nether, it will lead to the Overworld. A Nether portal is destroyed if the any of the obsidian which surrounds it is destroyed, or if it was caught in an explosion.=Tenez-vous un instant dans le portail pour activer la téléportation. Entrer pour la première fois sur un portail Nether créera également un nouveau portail dans l'Overworld. Si un portail du Nether a été construit dans le Nether, il mènera à l'Overworld. Un portail du Nether est détruit si l'une des obsidiennes qui l'entourent est détruit, ou s'il a été pris dans une explosion. +A Nether portal teleports creatures and objects to the hot and dangerous Nether dimension (and back!). Enter at your own risk!=Un portail du Nether téléporte des créatures et des objets dans la chaude et dangereuse dimension du Nether (et vice-versa !). Entrez à vos risques et périls ! +Stand in the portal for a moment to activate the teleportation. Entering a Nether portal for the first time will also create a new portal in the other dimension. If a Nether portal has been built in the Nether, it will lead to the Overworld. A Nether portal is destroyed if the any of the obsidian which surrounds it is destroyed, or if it was caught in an explosion.=Tenez-vous un instant dans le portail pour activer la téléportation. Entrer pour la première fois sur un portail Nether créera également un nouveau portail dans l'Overworld. Si un portail du Nether a été construit dans le Nether, il mènera à l'Overworld. Un portail du Nether est détruit si l'une des obsidiennes qui l'entourent est détruite, ou s'il a été pris dans une explosion. Obsidian is also used as the frame of Nether portals.=Obsidian is also used as the frame of Nether portals. To open a Nether portal, place an upright frame of obsidian with a width of at least 4 blocks and a height of 5 blocks, leaving only air in the center. After placing this frame, light a fire in the obsidian frame. Nether portals only work in the Overworld and the Nether.=Pour ouvrir un portail du Nether, placez un cadre vertical d'obsidienne d'une largeur d'au moins 4 blocs et d'une hauteur de 5 blocs, ne laissant que de l'air au centre. Après avoir placé ce cadre, allumez un feu dans le cadre d'obsidienne. Les portails du Nether ne fonctionnent que dans l'Overworld et le Nether. -Once placed, an eye of ender can not be taken back.=Une fois placé, un œil d'ender ne peut pas être repris. -Used to construct end portals=Utilisé pour construire des portails d'End \ No newline at end of file +Once placed, an eye of ender can not be taken back.=Une fois placé, un œil d'Ender ne peut pas être repris. +Used to construct end portals=Utilisé pour construire des portails de l'End diff --git a/mods/ITEMS/mcl_portals/textures/mcl_portals_end_portal.png b/mods/ITEMS/mcl_portals/textures/mcl_portals_end_portal.png deleted file mode 100644 index 46d548e92..000000000 Binary files a/mods/ITEMS/mcl_portals/textures/mcl_portals_end_portal.png and /dev/null differ diff --git a/mods/ITEMS/mcl_portals/textures/mcl_portals_endframe_side.png b/mods/ITEMS/mcl_portals/textures/mcl_portals_endframe_side.png deleted file mode 100644 index a2370ecef..000000000 Binary files a/mods/ITEMS/mcl_portals/textures/mcl_portals_endframe_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_portals/textures/mcl_portals_portal.png b/mods/ITEMS/mcl_portals/textures/mcl_portals_portal.png deleted file mode 100644 index a47f4f4e3..000000000 Binary files a/mods/ITEMS/mcl_portals/textures/mcl_portals_portal.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/locale/mcl_potions.fr.tr b/mods/ITEMS/mcl_potions/locale/mcl_potions.fr.tr index f3850a7b6..1547a36c0 100644 --- a/mods/ITEMS/mcl_potions/locale/mcl_potions.fr.tr +++ b/mods/ITEMS/mcl_potions/locale/mcl_potions.fr.tr @@ -7,7 +7,7 @@ Missing effect parameter!=Paramètre d'effet manquant! Missing or invalid duration parameter!=Paramètre durée manquant ou invalide! Invalid factor parameter!=Paramètre facteur invalide! @1 is not an available status effect.=@1 n'est pas un effet disponible. -Fermented Spider Eye=Oeil d'araignée fermenté +Fermented Spider Eye=Œil d'araignée fermenté Glass Bottle=Bouteille en verre Liquid container=Récipient de liquide @@ -43,8 +43,8 @@ A throwable potion that will shatter on impact, where it creates a magic cloud t Use the “Punch” key to throw it.=Utilisez la touche "Frapper" pour le lancer. Use the “Place” key to drink it.=Utilisez la touche "Utiliser" pour le boire. Drinking a potion gives you a particular effect.=Boire une potion vous donne un effet particulier. -1 HP/@1s | @2=1 HP/@1s | @2 -@1 HP=@1 HP +1 HP/@1s | @2=1 PV/@1s | @2 +@1 HP=@1 PV @1 Potion=Potion @1 Splash @1 Potion=Potion @1 jetable Lingering @1 Potion=Potion @1 persistante @@ -76,13 +76,13 @@ Dragon's Breath=Souffle du dragon This item is used in brewing and can be combined with splash potions to create lingering potions.=Cet objet est utilisé dans le brassage et peut être combiné avec des potions d'éclaboussures pour créer des potions persistantes. Healing=Guérison -+4 HP=+4 HP -+8 HP=+8 HP ++4 HP=+4 PV ++8 HP=+8 PV Instantly heals.=Guérit instantanément. Harming=Dégâts --6 HP=-6 HP --12 HP=-12 HP -Instantly deals damage.=Instantly deals damage. +-6 HP=-6 PV +-12 HP=-12 PV +Instantly deals damage.=Donne des dégâts instantanément. Night Vision=Vision Nocturne Increases the perceived brightness of light under a dark sky.=Augmente la luminosité perçue de la lumière sous un ciel sombre. Swiftness=Rapidité @@ -97,10 +97,10 @@ Regeneration=Régénération Regenerates health over time.=Régénère la santé au fil du temps. Invisibility=Invisibilité Grants invisibility.=Accorde l'invisibilité. -Water Breathing=Respiration Aquatique +Water Breathing=Respiration aquatique Grants limitless breath underwater.=Donne une respiration illimitée sous l'eau. -Fire Resistance=Résistance au Feu -Grants immunity to damage from heat sources like fire.=Confère une immunité aux dommages causés par des sources de chaleur comme le feu. +Fire Resistance=Résistance au feu +Grants immunity to damage from heat sources like fire.=Confère une immunité aux dégâts causés par des sources de chaleur comme le feu. Weakness=Faiblesse Weakness +=Faiblesse + Strength=Force diff --git a/mods/ITEMS/mcl_potions/textures/hbhunger_icon_regen_poison.png b/mods/ITEMS/mcl_potions/textures/hbhunger_icon_regen_poison.png deleted file mode 100644 index d4fe9b4e0..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/hbhunger_icon_regen_poison.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/hudbars_icon_regenerate.png b/mods/ITEMS/mcl_potions/textures/hudbars_icon_regenerate.png deleted file mode 100644 index 4ae259897..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/hudbars_icon_regenerate.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_arrow_inv.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_arrow_inv.png deleted file mode 100644 index 4bda14bd5..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_arrow_inv.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_fire_proof.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_fire_proof.png deleted file mode 100644 index f5df4dab6..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_fire_proof.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_food_poisoning.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_food_poisoning.png deleted file mode 100644 index 2490b0cfb..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_food_poisoning.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_invisible.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_invisible.png deleted file mode 100644 index ffefb89bf..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_invisible.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_leaping.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_leaping.png deleted file mode 100644 index 5614729ba..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_leaping.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_night_vision.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_night_vision.png deleted file mode 100644 index 579defa71..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_night_vision.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_poisoned.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_poisoned.png deleted file mode 100644 index 1b96ef2d9..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_poisoned.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_regenerating.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_regenerating.png deleted file mode 100644 index 634b74fad..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_regenerating.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_slow.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_slow.png deleted file mode 100644 index 1869a58ff..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_slow.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_strong.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_strong.png deleted file mode 100644 index 2a69bd4a8..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_strong.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_swift.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_swift.png deleted file mode 100644 index 8ae960cc9..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_swift.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_water_breathing.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_water_breathing.png deleted file mode 100644 index d68983b5a..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_water_breathing.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_weak.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_weak.png deleted file mode 100644 index 9ac3985e2..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_weak.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_lingering_bottle.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_lingering_bottle.png deleted file mode 100644 index 431fe5bc6..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_lingering_bottle.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_splash_bottle.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_splash_bottle.png deleted file mode 100644 index 17a69a8b6..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_splash_bottle.png and /dev/null differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_splash_overlay.png b/mods/ITEMS/mcl_potions/textures/mcl_potions_splash_overlay.png deleted file mode 100644 index 9acbce6cd..000000000 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_splash_overlay.png and /dev/null differ diff --git a/mods/ITEMS/mcl_raw_ores/locale/mcl_raw_ores.fr.tr b/mods/ITEMS/mcl_raw_ores/locale/mcl_raw_ores.fr.tr index bf9c08c4e..e77ef66c4 100644 --- a/mods/ITEMS/mcl_raw_ores/locale/mcl_raw_ores.fr.tr +++ b/mods/ITEMS/mcl_raw_ores/locale/mcl_raw_ores.fr.tr @@ -1,9 +1,9 @@ # textdomain: mcl_raw_ores -Raw Iron=Fer Brut -Raw Gold=Or Brut -Raw Iron. Mine an Iron ore to get it.=Fer Brut. Miner du minerai de fer pour en obtenir. -Raw Gold. Mine a Gold ore to get it.=Or Brut. Miner du minerai d'or pour en obtenir. -Block of Raw Iron=Bloc de Fer Brut -Block of Raw Gold=Bloc d'Or Brut -A block of raw Iron is mostly a decorative block but also useful as a compact storage of raw Iron.=Un bloc de Fer brut est principalement un bloc décoratif mais aussi utile comme stockage compact de Fer brut. -A block of raw Gold is mostly a decorative block but also useful as a compact storage of raw Gold.=Un bloc d'Or brut est principalement un bloc décoratif mais aussi utile comme stockage compact d'Or brut. \ No newline at end of file +Raw Iron=Fer brut +Raw Gold=Or brut +Raw Iron. Mine an Iron ore to get it.=Fer brut. Miner du minerai de fer pour en obtenir. +Raw Gold. Mine a Gold ore to get it.=Or brut. Miner du minerai d'or pour en obtenir. +Block of Raw Iron=Bloc de fer brut +Block of Raw Gold=Bloc d'or brut +A block of raw Iron is mostly a decorative block but also useful as a compact storage of raw Iron.=Un bloc de fer brut est principalement un bloc décoratif mais aussi utile comme stockage compact de fer brut. +A block of raw Gold is mostly a decorative block but also useful as a compact storage of raw Gold.=Un bloc d'or brut est principalement un bloc décoratif mais aussi utile comme stockage compact d'or brut. diff --git a/mods/ITEMS/mcl_raw_ores/textures/mcl_raw_ores_raw_gold.png b/mods/ITEMS/mcl_raw_ores/textures/mcl_raw_ores_raw_gold.png deleted file mode 100644 index 9b3e14e88..000000000 Binary files a/mods/ITEMS/mcl_raw_ores/textures/mcl_raw_ores_raw_gold.png and /dev/null differ diff --git a/mods/ITEMS/mcl_raw_ores/textures/mcl_raw_ores_raw_gold_block.png b/mods/ITEMS/mcl_raw_ores/textures/mcl_raw_ores_raw_gold_block.png deleted file mode 100644 index 71e8767b3..000000000 Binary files a/mods/ITEMS/mcl_raw_ores/textures/mcl_raw_ores_raw_gold_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_raw_ores/textures/mcl_raw_ores_raw_iron.png b/mods/ITEMS/mcl_raw_ores/textures/mcl_raw_ores_raw_iron.png deleted file mode 100644 index 73076a67e..000000000 Binary files a/mods/ITEMS/mcl_raw_ores/textures/mcl_raw_ores_raw_iron.png and /dev/null differ diff --git a/mods/ITEMS/mcl_raw_ores/textures/mcl_raw_ores_raw_iron_block.png b/mods/ITEMS/mcl_raw_ores/textures/mcl_raw_ores_raw_iron_block.png deleted file mode 100644 index f8b10745d..000000000 Binary files a/mods/ITEMS/mcl_raw_ores/textures/mcl_raw_ores_raw_iron_block.png and /dev/null differ diff --git a/mods/ITEMS/mcl_sculk/init.lua b/mods/ITEMS/mcl_sculk/init.lua index 765a01051..b2ef04152 100644 --- a/mods/ITEMS/mcl_sculk/init.lua +++ b/mods/ITEMS/mcl_sculk/init.lua @@ -1,4 +1,7 @@ local S = minetest.get_translator(minetest.get_current_modname()) + +mcl_sculk = {} + local mt_sound_play = minetest.sound_play local spread_to = {"mcl_core:stone","mcl_core:dirt","mcl_core:sand","mcl_core:dirt_with_grass","group:grass_block","mcl_core:andesite","mcl_core:diorite","mcl_core:granite","mcl_core:mycelium","group:dirt","mcl_end:end_stone","mcl_nether:netherrack","mcl_blackstone:basalt","mcl_nether:soul_sand","mcl_blackstone:soul_soil","mcl_crimson:warped_nylium","mcl_crimson:crimson_nylium","mcl_core:gravel"} @@ -102,27 +105,26 @@ local function has_nonsculk(pos) if minetest.get_item_group(minetest.get_node(p).name,"sculk") <= 0 and minetest.get_item_group(minetest.get_node(p).name,"solid") > 0 then return p end end end +local function retrieve_close_spreadable_nodes (p) + local nnn = minetest.find_nodes_in_area(vector.offset(p,-SPREAD_RANGE,-SPREAD_RANGE,-SPREAD_RANGE),vector.offset(p,SPREAD_RANGE,SPREAD_RANGE,SPREAD_RANGE),spread_to) + local nn={} + for _,v in pairs(nnn) do + if has_air(v) then + table.insert(nn,v) + end + end + table.sort(nn,function(a, b) + return vector.distance(p, a) < vector.distance(p, b) + end) + return nn +end -local old_on_step = minetest.registered_entities["mcl_experience:orb"].on_step - -minetest.registered_entities["mcl_experience:orb"].on_step = function(self,dtime) - local p = self.object:get_pos() - local nu = minetest.get_node(vector.offset(p,0,-1,0)) - local ret = old_on_step(self,dtime) - if not self._sculkdrop then - local c = minetest.find_node_near(p,SPREAD_RANGE,{"mcl_sculk:catalyst"}) - if c then - local nnn = minetest.find_nodes_in_area(vector.offset(p,-SPREAD_RANGE,-SPREAD_RANGE,-SPREAD_RANGE),vector.offset(p,SPREAD_RANGE,SPREAD_RANGE,SPREAD_RANGE),spread_to) - local nn={} - for _,v in pairs(nnn) do - if has_air(v) then - table.insert(nn,v) - end - end - table.sort(nn,function(a, b) - return vector.distance(p, a) < vector.distance(p, b) - end) - if nn and #nn > 0 and self._xp > 0 then +local function spread_sculk (p, xp_amount) + local c = minetest.find_node_near(p,SPREAD_RANGE,{"mcl_sculk:catalyst"}) + if c then + local nn = retrieve_close_spreadable_nodes (p) + if nn and #nn > 0 then + if xp_amount > 0 then local d = math.random(100) --[[ --enable to generate shriekers and sensors if d <= 1 then @@ -136,27 +138,44 @@ minetest.registered_entities["mcl_experience:orb"].on_step = function(self,dtime self.object:remove() return ret else --]] - local r = math.min(math.random(#nn),self._xp) - for i=1,r do - minetest.set_node(nn[i],{name = "mcl_sculk:sculk" }) - set_node_xp(nn[i],math.floor(self._xp / r)) + + + local r = math.min(math.random(#nn), xp_amount) + --minetest.log("r: ".. r) + + for i=1,r do + minetest.set_node(nn[i],{name = "mcl_sculk:sculk" }) + set_node_xp(nn[i],math.floor(xp_amount / r)) + end + for i=1,r do + local p = has_nonsculk(nn[i]) + if p and has_air(p) then + minetest.set_node(vector.offset(p,0,1,0),{name = "mcl_sculk:vein", param2 = 1}) end - for i=1,r do - local p = has_nonsculk(nn[i]) - if p and has_air(p) then - minetest.set_node(vector.offset(p,0,1,0),{name = "mcl_sculk:vein", param2 = 1}) - end - end - set_node_xp(nn[1],get_node_xp(nn[1]) + self._xp % r) - self.object:remove() - return ret + end + set_node_xp(nn[1],get_node_xp(nn[1]) + xp_amount % r) + return true + --self.object:remove() --end end end end - return ret end +function mcl_sculk.handle_death(pos, xp_amount) + if not pos or not xp_amount then return end + --local nu = minetest.get_node(vector.offset(p,0,-1,0)) + return spread_sculk (pos, xp_amount) +end + +minetest.register_on_dieplayer(function(player) + if mcl_sculk.handle_death(player:get_pos(), 5) then + --minetest.log("Player is dead. Sculk") + else + --minetest.log("Player is dead. not Sculk") + end +end) + minetest.register_node("mcl_sculk:sculk", { description = S("Sculk"), tiles = { diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_base.png b/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_base.png deleted file mode 100644 index 268445b36..000000000 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_base.png and /dev/null differ diff --git a/mods/ITEMS/mcl_signs/init.lua b/mods/ITEMS/mcl_signs/init.lua index e724def68..6a5f01c5f 100644 --- a/mods/ITEMS/mcl_signs/init.lua +++ b/mods/ITEMS/mcl_signs/init.lua @@ -98,22 +98,22 @@ mcl_signs.register_sign_craft("mcl_core", "mcl_core:wood", "") -- birchwood Sign "#d5cb8d" / "#ffdba7" mcl_signs.register_sign_custom("mcl_core", "_birchwood", - "mcl_signs_sign_greyscale.png","#ffdba7", "default_sign_greyscale.png", - "default_sign_greyscale.png", "Birch Sign" + "mcl_signs_sign_greyscale.png","#ffdba7", "mcl_signs_default_sign_greyscale.png", + "mcl_signs_default_sign_greyscale.png", "Birch Sign" ) mcl_signs.register_sign_craft("mcl_core", "mcl_core:birchwood", "_birchwood") -- sprucewood Sign mcl_signs.register_sign_custom("mcl_core", "_sprucewood", - "mcl_signs_sign_dark.png","#ffffff", "default_sign_dark.png", - "default_sign_dark.png", "Spruce Sign" + "mcl_signs_sign_dark.png","#ffffff", "mcl_signs_default_sign_dark.png", + "mcl_signs_default_sign_dark.png", "Spruce Sign" ) mcl_signs.register_sign_craft("mcl_core", "mcl_core:sprucewood", "_sprucewood") -- darkwood Sign "#291f1a" / "#856443" mcl_signs.register_sign_custom("mcl_core", "_darkwood", - "mcl_signs_sign_greyscale.png","#856443", "default_sign_greyscale.png", - "default_sign_greyscale.png", "Dark Oak Sign" + "mcl_signs_sign_greyscale.png","#856443", "mcl_signs_default_sign_greyscale.png", + "mcl_signs_default_sign_greyscale.png", "Dark Oak Sign" ) mcl_signs.register_sign_craft("mcl_core", "mcl_core:darkwood", "_darkwood") @@ -136,13 +136,13 @@ if minetest.get_modpath("mcl_crimson") then -- warped_hyphae_wood Sign mcl_signs.register_sign_custom("mcl_crimson","_warped_hyphae_wood", "mcl_signs_sign_greyscale.png", - "#9f7dcf", "default_sign_greyscale.png", "default_sign_greyscale.png", + "#9f7dcf", "mcl_signs_default_sign_greyscale.png", "mcl_signs_default_sign_greyscale.png", "Warped Hyphae Sign") mcl_signs.register_sign_craft("mcl_crimson", "mcl_crimson:warped_hyphae_wood", "_warped_hyphae_wood") -- crimson_hyphae_wood Sign mcl_signs.register_sign_custom("mcl_crimson", "_crimson_hyphae_wood","mcl_signs_sign_greyscale.png", - "#c35f51","default_sign_greyscale.png", "default_sign_greyscale.png", + "#c35f51","mcl_signs_default_sign_greyscale.png", "mcl_signs_default_sign_greyscale.png", "Crimson Hyphae Sign") mcl_signs.register_sign_craft("mcl_crimson", "mcl_crimson:crimson_hyphae_wood", "_crimson_hyphae_wood") diff --git a/mods/ITEMS/mcl_signs/locale/mcl_signs.fr.tr b/mods/ITEMS/mcl_signs/locale/mcl_signs.fr.tr index 0cc571e70..bf2733a92 100644 --- a/mods/ITEMS/mcl_signs/locale/mcl_signs.fr.tr +++ b/mods/ITEMS/mcl_signs/locale/mcl_signs.fr.tr @@ -1,18 +1,18 @@ # textdomain: mcl_signs -Sign=Panneau / signe +Sign=Panneau Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.=Les panneaux peuvent être écrits et se déclinent en deux variantes: panneau mural et panneau sur poteau. Des panneaux peuvent être placés en haut et sur les côtés des autres blocs, mais pas en dessous. After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow.=Après avoir placé le panneau, vous pouvez écrire quelque chose dessus. Vous avez 4 lignes de texte avec jusqu'à 15 caractères pour chaque ligne; tout ce qui dépasse ces limites est perdu. Tous les caractères ne sont pas pris en charge. Le texte ne peut pas être modifié une fois qu'il a été écrit; vous devez casser et placer à nouveau le panneau. Peut être coloré et rendu brillant. -Enter sign text:=Saisir le texte du panneau: -Maximum line length: 15=Longueur maximum des lignes: 15 -Maximum lines: 4=Nombre maximum de lignes: 4 +Enter sign text:=Saisir le texte du panneau : +Maximum line length: 15=Longueur maximum des lignes : 15 +Maximum lines: 4=Nombre maximum de lignes : 4 Done=Terminé Can be written=Peut être écrit -Oak Sign=Signe de chêne -Birch Sign=Signe de bouleau -Spruce Sign=Signe d'épinette -Dark Oak Sign=Enseigne Chêne Foncé -Jungle Sign=Signe de la jungle -Acacia Sign=Signe d'acacia -Mangrove Sign=Signe de la mangrove -Warped Hyphae Sign=Signe hyphe déformé -Crimson Hyphae Sign=Signe d'hyphes cramoisi \ No newline at end of file +Oak Sign=Panneau de chêne +Birch Sign=Panneau de bouleau +Spruce Sign=Panneau d'épinette +Dark Oak Sign=Panneau de chêne foncé +Jungle Sign=Panneau de la jungle +Acacia Sign=Panneau d'acacia +Mangrove Sign=Panneau de la mangrove +Warped Hyphae Sign=Panneau d'hyphe déformé +Crimson Hyphae Sign=Panneau d'hyphe cramoisi diff --git a/mods/ITEMS/mcl_signs/signs_api.lua b/mods/ITEMS/mcl_signs/signs_api.lua index 1f7369ba3..6d902c5dd 100644 --- a/mods/ITEMS/mcl_signs/signs_api.lua +++ b/mods/ITEMS/mcl_signs/signs_api.lua @@ -147,10 +147,10 @@ mcl_signs.wall_standard = { _tt_help = S("Can be written"), _doc_items_longdesc = S("Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them."), _doc_items_usagehelp = S("After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow."), - inventory_image = "default_sign.png", + inventory_image = "mcl_signs_default_sign.png", walkable = false, is_ground_content = false, - wield_image = "default_sign.png", + wield_image = "mcl_signs_default_sign.png", node_placement_prediction = "", paramtype = "light", sunlight_propagates = true, @@ -552,9 +552,9 @@ function mcl_signs.register_sign (modname, color, _name, ttsign) new_sign = table.copy(mcl_signs.wall_standard) new_sign.description = S(ttsign) - new_sign.wield_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign.wield_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" new_sign.tiles = { "(mcl_signs_sign.png^[multiply:" .. color .. ")" } - new_sign.inventory_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign.inventory_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" -- currently have to do this, because of how the base node placement works. new_sign.on_place = function(itemstack, placer, pointed_thing) @@ -676,9 +676,9 @@ function mcl_signs.register_sign (modname, color, _name, ttsign) local new_sign_standing = {} new_sign_standing = table.copy(mcl_signs.standing_standard) new_sign_standing.drop = "mcl_signs:wall_sign" .. _name - new_sign_standing.wield_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign_standing.wield_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" new_sign_standing.tiles = { "(mcl_signs_sign.png^[multiply:" .. color .. ")" } - new_sign_standing.inventory_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign_standing.inventory_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" new_sign_standing.on_rotate = function(pos, node, user, mode) if mode == screwdriver.ROTATE_FACE then @@ -763,7 +763,7 @@ function mcl_signs.register_sign (modname, color, _name, ttsign) end --- The same as register_sign, except caller defines the textures. Note, there is a greyscale version of the sign, ---- called "default_sign_greyscale.png" and "mcl_signs_sign_greyscale.png" for optional use in the textures directory. +--- called "mcl_signs_default_sign_greyscale.png" and "mcl_signs_sign_greyscale.png" for optional use in the textures directory. --- --- modname: optional (pass "" or "false" to ignore), for use with other mods to --- allow the creation of a sign from the mod's wood (if installed). @@ -1015,9 +1015,9 @@ function mcl_signs.reregister_sign (modname, color, _name, ttsign) new_sign = table.copy(mcl_signs.wall_standard) new_sign.description = S(ttsign) - new_sign.wield_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign.wield_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" new_sign.tiles = { "(mcl_signs_sign.png^[multiply:" .. color .. ")" } - new_sign.inventory_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign.inventory_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" -- currently have to do this, because of how the base node placement works. new_sign.on_place = function(itemstack, placer, pointed_thing) @@ -1134,9 +1134,9 @@ function mcl_signs.reregister_sign (modname, color, _name, ttsign) local new_sign_standing = {} new_sign_standing = table.copy(mcl_signs.standing_standard) new_sign_standing.drop = "mcl_signs:wall_sign" .. _name - new_sign_standing.wield_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign_standing.wield_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" new_sign_standing.tiles = { "(mcl_signs_sign.png^[multiply:" .. color .. ")" } - new_sign_standing.inventory_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign_standing.inventory_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" new_sign_standing.on_rotate = function(pos, node, user, mode) if mode == screwdriver.ROTATE_FACE then node.name = "mcl_signs:standing_sign22_5" .. _name @@ -1219,7 +1219,7 @@ function mcl_signs.reregister_sign (modname, color, _name, ttsign) end --- The same as reregister_sign, except caller defines the textures. Note, there is a greyscale version of the sign, ---- called "default_sign_greyscale.png" and "mcl_signs_sign_greyscale.png" for optional use in the textures directory. +--- called "mcl_signs_default_sign_greyscale.png" and "mcl_signs_sign_greyscale.png" for optional use in the textures directory. --- --- modname: optional (pass "" or "false" to ignore), for use with other mods to --- allow the creation of a sign from the mod's wood (if installed). @@ -2000,4 +2000,4 @@ function mcl_signs:get_text_entity (pos, force_remove) end end return text_entity -end \ No newline at end of file +end diff --git a/mods/ITEMS/mcl_signs/textures/mcl_signs_sign_dark.png b/mods/ITEMS/mcl_signs/textures/mcl_signs_sign_dark.png deleted file mode 100644 index 6189e7709..000000000 Binary files a/mods/ITEMS/mcl_signs/textures/mcl_signs_sign_dark.png and /dev/null differ diff --git a/mods/ITEMS/mcl_signs/textures/mcl_signs_sign_greyscale.png b/mods/ITEMS/mcl_signs/textures/mcl_signs_sign_greyscale.png deleted file mode 100644 index 845a8d857..000000000 Binary files a/mods/ITEMS/mcl_signs/textures/mcl_signs_sign_greyscale.png and /dev/null differ diff --git a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_bottom.png b/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_bottom.png deleted file mode 100644 index 66a1a9a7a..000000000 Binary files a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_front.png b/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_front.png deleted file mode 100644 index 15c0a943f..000000000 Binary files a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_front.png and /dev/null differ diff --git a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_side.png b/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_side.png deleted file mode 100644 index 37458771d..000000000 Binary files a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_top.png b/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_top.png deleted file mode 100644 index 2ec0468c7..000000000 Binary files a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_smoker/init.lua b/mods/ITEMS/mcl_smoker/init.lua index 696df4917..81f3c366f 100644 --- a/mods/ITEMS/mcl_smoker/init.lua +++ b/mods/ITEMS/mcl_smoker/init.lua @@ -88,11 +88,10 @@ end -- local function allow_metadata_inventory_put(pos, listname, index, stack, player) - local name = player:get_player_name() - if minetest.is_protected(pos, name) then - minetest.record_protection_violation(pos, name) + if mcl_util.check_position_protection(pos, player) then return 0 end + local meta = minetest.get_meta(pos) local inv = meta:get_inventory() if listname == "fuel" then diff --git a/mods/ITEMS/mcl_smoker/mod.conf b/mods/ITEMS/mcl_smoker/mod.conf index c6bda0fc1..c2c49db62 100644 --- a/mods/ITEMS/mcl_smoker/mod.conf +++ b/mods/ITEMS/mcl_smoker/mod.conf @@ -1,3 +1,3 @@ name = mcl_smoker -depends = mcl_init, mcl_formspec, mcl_core, mcl_furnaces, mcl_sounds, mcl_craftguide, mcl_achievements, mcl_particles +depends = mcl_init, mcl_formspec, mcl_core, mcl_furnaces, mcl_sounds, mcl_craftguide, mcl_achievements, mcl_particles, mcl_util optional_depends = doc, screwdriver diff --git a/mods/ITEMS/mcl_smoker/textures/smoker_bottom.png b/mods/ITEMS/mcl_smoker/textures/smoker_bottom.png deleted file mode 100644 index cccc5a697..000000000 Binary files a/mods/ITEMS/mcl_smoker/textures/smoker_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_smoker/textures/smoker_front.png b/mods/ITEMS/mcl_smoker/textures/smoker_front.png deleted file mode 100644 index 37f43c306..000000000 Binary files a/mods/ITEMS/mcl_smoker/textures/smoker_front.png and /dev/null differ diff --git a/mods/ITEMS/mcl_smoker/textures/smoker_front_on.png b/mods/ITEMS/mcl_smoker/textures/smoker_front_on.png deleted file mode 100644 index 502fdb983..000000000 Binary files a/mods/ITEMS/mcl_smoker/textures/smoker_front_on.png and /dev/null differ diff --git a/mods/ITEMS/mcl_smoker/textures/smoker_side.png b/mods/ITEMS/mcl_smoker/textures/smoker_side.png deleted file mode 100644 index f1e57a751..000000000 Binary files a/mods/ITEMS/mcl_smoker/textures/smoker_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_smoker/textures/smoker_top.png b/mods/ITEMS/mcl_smoker/textures/smoker_top.png deleted file mode 100644 index bc5a0dba7..000000000 Binary files a/mods/ITEMS/mcl_smoker/textures/smoker_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_sponges/textures/mcl_sponges_sponge.png b/mods/ITEMS/mcl_sponges/textures/mcl_sponges_sponge.png deleted file mode 100644 index 0d68d872f..000000000 Binary files a/mods/ITEMS/mcl_sponges/textures/mcl_sponges_sponge.png and /dev/null differ diff --git a/mods/ITEMS/mcl_sponges/textures/mcl_sponges_sponge_wet.png b/mods/ITEMS/mcl_sponges/textures/mcl_sponges_sponge_wet.png deleted file mode 100644 index 7f4e84206..000000000 Binary files a/mods/ITEMS/mcl_sponges/textures/mcl_sponges_sponge_wet.png and /dev/null differ diff --git a/mods/ITEMS/mcl_sponges/textures/mcl_sponges_sponge_wet_river_water.png b/mods/ITEMS/mcl_sponges/textures/mcl_sponges_sponge_wet_river_water.png deleted file mode 100644 index 5d9475a56..000000000 Binary files a/mods/ITEMS/mcl_sponges/textures/mcl_sponges_sponge_wet_river_water.png and /dev/null differ diff --git a/mods/ITEMS/mcl_stairs/locale/mcl_stairs.fr.tr b/mods/ITEMS/mcl_stairs/locale/mcl_stairs.fr.tr index 5098986bb..76ff95dce 100644 --- a/mods/ITEMS/mcl_stairs/locale/mcl_stairs.fr.tr +++ b/mods/ITEMS/mcl_stairs/locale/mcl_stairs.fr.tr @@ -4,101 +4,101 @@ Double @1=Double @1 Slabs are half as high as their full block counterparts and occupy either the lower or upper part of a block, depending on how it was placed. Slabs can be easily stepped on without needing to jump. When a slab is placed on another slab of the same type, a double slab is created.=Les dalles sont deux fois moins hautes que leurs homologues de bloc complet et occupent la partie inférieure ou supérieure d'un bloc, selon la façon dont il a été placé. Les dalles peuvent être facilement franchies sans avoir à sauter. Lorsqu'une dalle est placée sur une autre dalle du même type, une double dalle est créée. Upper @1=@1 Supérieur Double slabs are full blocks which are created by placing two slabs of the same kind on each other.=Les dalles doubles sont des blocs entiers qui sont créés en plaçant deux dalles du même type l'une sur l'autre. -Oak Wood Stairs=Escalier en Bois de Chêne -Oak Wood Slab=Dalle en Bois de Chêne -Double Oak Wood Slab=Double Dalle en Bois de Chêne -Jungle Wood Stairs=Escalier en Bois d'Acajou -Jungle Wood Slab=Dalle en Bois d'Acajou -Double Jungle Wood Slab=Double Dalle en Bois d'Acajou -Acacia Wood Stairs=Escalier en Bois d'Acacia -Acacia Wood Slab=Dalle en Bois d'Acacia -Double Acacia Wood Slab=Double Dalle en Bois d'Acacia -Spruce Wood Stairs=Escalier en Bois de Sapin -Spruce Wood Slab=Dalle en Bois de Sapin -Double Spruce Wood Slab=Double Dalle en Bois de Sapin -Birch Wood Stairs=Escalier en Bois de Bouleau -Birch Wood Slab=Dalle en Bois de Bouleau -Double Birch Wood Slab=Double Dalle en Bois de Bouleau -Dark Oak Wood Stairs=Escalier en Bois de Chêne Noir -Dark Oak Wood Slab=Dalle en Bois de Chêne Noir -Double Dark Oak Wood Slab=Double Dalle en Bois de Chêne Noir -Stone Stairs=Escalier en Roche -Stone Slab=Dalle en Roche -Double Stone Slab=Double Dalle en Roche -Polished Stone Slab=Dalle en Pierre Polie -Double Polished Stone Slab=Double Dalle en Pierre Polie -Andesite Stairs=Escalier en Andésite -Andesite Slab=Dalle en Andésite -Double Andesite Slab=Double Dalle en Andésite -Granite Stairs=Escalier en Granite -Granite Slab=Dalle en Granite -Double Granite Slab=Double Dalle en Granite -Diorite Stairs=Escalier en Diorite -Diorite Slab=Dalle en Diorite -Double Diorite Slab=Double Dalle en Diorite -Cobblestone Stairs=Escalier en Pierre -Cobblestone Slab=Dalle en Pierre -Double Cobblestone Slab=Double Dalle en Pierre -Mossy Cobblestone Stairs=Escalier en Pierre Moussue -Mossy Cobblestone Slab=Dalle en Pierre Moussue -Double Mossy Cobblestone Slab=Double Dalle en Pierre Moussue -Brick Stairs=Escalier de Brique -Brick Slab=Dalle en Brique -Double Brick Slab=Double Dalle en Brique -Sandstone Stairs=Escalier en Grès -Sandstone Slab=Dalle en Grès -Double Sandstone Slab=Double Dalle en Grès -Smooth Sandstone Stairs=Escalier en Grès Poli -Smooth Sandstone Slab=Dalle en Grès Poli -Double Smooth Sandstone Slab=Double Dalle en Grès Poli -Red Sandstone Stairs=Escalier en Grès Rouge -Red Sandstone Slab=Dalle en Grès Rouge -Double Red Sandstone Slab=Double Dalle en Grès Rouge -Smooth Red Sandstone Stairs=Escalier en Grès Rouge Poli -Smooth Red Sandstone Slab=Dalle en Grès Rouge Poli -Double Smooth Red Sandstone Slab=Double Dalle en Grès Rouge Poli -Stone Bricks Stairs=Escalier en Pierre Taillée -Stone Bricks Slab=Dalle en Pierre Taillée -Double Stone Bricks Slab=Double Dalle en Pierre Taillée -Quartz Stairs=Escalier en Quartz -Quartz Slab=Dalle en Quartz -Double Quartz Slab=Double Dalle en Quartz -Smooth Quartz Stairs=Escalier en Quartz Poli -Smooth Quartz Slab=Dallle en Quartz Poli -Double Smooth Quartz Slab=Double Dalle en Quartz Poli -Nether Brick Stairs=Escalier en Brique du Nether -Nether Brick Slab=Dalle en Brique du Nether -Double Nether Brick Slab=Double Dalle en Brique du Nether -Red Nether Brick Stairs=Escalier en Brique Rouge du Nether -Red Nether Brick Slab=Dalle en Brique Rouge du Nether -Double Red Nether Brick Slab=Double Dalle en Brique Rouge du Nether -End Stone Brick Stairs=Escalier en Pierre de l'End -End Stone Brick Slab=Dalle en Pierre de l'End -Double End Stone Brick Slab=Double Dalle en Pierre de l'End -Purpur Stairs=Escalier en Purpur -Purpur Slab=Dalle en Purpur -Double Purpur Slab=Double Dalle en Purpur -Prismarine Stairs=Escalier en Prismarine -Prismarine Slab=Dalle en Prismarine -Double Prismarine Slab=Double Dalle en Prismarine -Prismarine Brick Stairs=Escalier en Brique Prismarine -Prismarine Brick Slab=Dalle en Brique Prismarine -Double Prismarine Brick Slab=Double Dalle en Brique Prismarine -Dark Prismarine Stairs=Escalier en Prismarine Sombre -Dark Prismarine Slab=Dalle en Prismarine Sombre -Double Dark Prismarine Slab=Double Dalle en Prismarine Sombre -Polished Andesite Slab=Dalle en Andésite Polie -Double Polished Andesite Slab=Double Dalle en Andésite Polie -Polished Andesite Stairs=Escalier en Andésite Polie -Polished Granite Slab=Dalle en Granite Poli -Double Polished Granite Slab=Double Dalle en Granite Poli -Polished Granite Stairs=Escalier en Granite Poli -Polished Diorite Slab=Dalle en Diorite Polie -Double Polished Diorite Slab=Double Dalle en Diorite Polie -Polished Diorite Stairs=Escalier en Diorite Polie -Mossy Stone Brick Stairs=Escalier en Pierre Taillée Moussue -Mossy Stone Brick Slab=Dalle en Pierre Taillée Moussue -Double Mossy Stone Brick Slab=Double Dalle en Pierre Taillée Moussue -Mud Brick Stair=Escalier en Briques de Boue -Mud Brick Slab=Dalle en Briques de Boue -Double Mud Brick Slab=Double Dalle en Briques de Boue \ No newline at end of file +Oak Wood Stairs=Escalier en bois de chêne +Oak Wood Slab=Dalle en bois de chêne +Double Oak Wood Slab=Double dalle en bois de chêne +Jungle Wood Stairs=Escalier en bois d'acajou +Jungle Wood Slab=Dalle en bois d'acajou +Double Jungle Wood Slab=Double dalle en bois d'acajou +Acacia Wood Stairs=Escalier en bois d'acacia +Acacia Wood Slab=Dalle en bois d'acacia +Double Acacia Wood Slab=Double dalle en bois d'acacia +Spruce Wood Stairs=Escalier en bois de sapin +Spruce Wood Slab=Dalle en bois de sapin +Double Spruce Wood Slab=Double dalle en bois de sapin +Birch Wood Stairs=Escalier en bois de bouleau +Birch Wood Slab=Dalle en bois de bouleau +Double Birch Wood Slab=Double dalle en bois de bouleau +Dark Oak Wood Stairs=Escalier en bois de chêne noir +Dark Oak Wood Slab=Dalle en bois de chêne noir +Double Dark Oak Wood Slab=Double dalle en bois de chêne noir +Stone Stairs=Escalier en roche +Stone Slab=Dalle en roche +Double Stone Slab=Double dalle en roche +Polished Stone Slab=Dalle en pierre polie +Double Polished Stone Slab=Double dalle en pierre polie +Andesite Stairs=Escalier en andésite +Andesite Slab=Dalle en andésite +Double Andesite Slab=Double dalle en andésite +Granite Stairs=Escalier en granite +Granite Slab=Dalle en granite +Double Granite Slab=Double dalle en granite +Diorite Stairs=Escalier en diorite +Diorite Slab=Dalle en diorite +Double Diorite Slab=Double dalle en diorite +Cobblestone Stairs=Escalier en pierre +Cobblestone Slab=Dalle en pierre +Double Cobblestone Slab=Double dalle en pierre +Mossy Cobblestone Stairs=Escalier en pierre moussue +Mossy Cobblestone Slab=Dalle en pierre moussue +Double Mossy Cobblestone Slab=Double dalle en pierre moussue +Brick Stairs=Escalier de brique +Brick Slab=Dalle en brique +Double Brick Slab=Double dalle en brique +Sandstone Stairs=Escalier en grès +Sandstone Slab=Dalle en grès +Double Sandstone Slab=Double dalle en grès +Smooth Sandstone Stairs=Escalier en grès poli +Smooth Sandstone Slab=Dalle en grès poli +Double Smooth Sandstone Slab=Double dalle en grès poli +Red Sandstone Stairs=Escalier en grès rouge +Red Sandstone Slab=Dalle en grès rouge +Double Red Sandstone Slab=Double dalle en grès rouge +Smooth Red Sandstone Stairs=Escalier en grès rouge poli +Smooth Red Sandstone Slab=Dalle en grès rouge poli +Double Smooth Red Sandstone Slab=Double dalle en grès rouge poli +Stone Bricks Stairs=Escalier en pierre taillée +Stone Bricks Slab=Dalle en pierre taillée +Double Stone Bricks Slab=Double dalle en pierre taillée +Quartz Stairs=Escalier en quartz +Quartz Slab=Dalle en quartz +Double Quartz Slab=Double dalle en quartz +Smooth Quartz Stairs=Escalier en quartz poli +Smooth Quartz Slab=Dallle en quartz poli +Double Smooth Quartz Slab=Double dalle en quartz poli +Nether Brick Stairs=Escalier en brique du Nether +Nether Brick Slab=Dalle en brique du Nether +Double Nether Brick Slab=Double dalle en brique du Nether +Red Nether Brick Stairs=Escalier en brique rouge du Nether +Red Nether Brick Slab=Dalle en brique rouge du Nether +Double Red Nether Brick Slab=Double dalle en brique rouge du Nether +End Stone Brick Stairs=Escalier en pierre de l'End +End Stone Brick Slab=Dalle en pierre de l'End +Double End Stone Brick Slab=Double dalle en pierre de l'End +Purpur Stairs=Escalier en purpur +Purpur Slab=Dalle en purpur +Double Purpur Slab=Double dalle en purpur +Prismarine Stairs=Escalier en prismarine +Prismarine Slab=Dalle en prismarine +Double Prismarine Slab=Double dalle en prismarine +Prismarine Brick Stairs=Escalier en brique prismarine +Prismarine Brick Slab=Dalle en brique prismarine +Double Prismarine Brick Slab=Double dalle en brique prismarine +Dark Prismarine Stairs=Escalier en prismarine sombre +Dark Prismarine Slab=Dalle en prismarine sombre +Double Dark Prismarine Slab=Double dalle en prismarine sombre +Polished Andesite Slab=Dalle en andésite polie +Double Polished Andesite Slab=Double dalle en andésite polie +Polished Andesite Stairs=Escalier en andésite polie +Polished Granite Slab=Dalle en granite poli +Double Polished Granite Slab=Double dalle en granite poli +Polished Granite Stairs=Escalier en granite poli +Polished Diorite Slab=Dalle en diorite polie +Double Polished Diorite Slab=Double dalle en diorite polie +Polished Diorite Stairs=Escalier en diorite polie +Mossy Stone Brick Stairs=Escalier en pierre taillée moussue +Mossy Stone Brick Slab=Dalle en pierre taillée moussue +Double Mossy Stone Brick Slab=Double dalle en pierre taillée moussue +Mud Brick Stair=Escalier en briques de boue +Mud Brick Slab=Dalle en briques de boue +Double Mud Brick Slab=Double dalle en briques de boue diff --git a/mods/ITEMS/mcl_stairs/textures/mcl_stairs_stone_slab_top.png b/mods/ITEMS/mcl_stairs/textures/mcl_stairs_stone_slab_top.png deleted file mode 100644 index 8e5a355be..000000000 Binary files a/mods/ITEMS/mcl_stairs/textures/mcl_stairs_stone_slab_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_starting_inventory/README.txt b/mods/ITEMS/mcl_starting_inventory/README.txt new file mode 100644 index 000000000..126504b04 --- /dev/null +++ b/mods/ITEMS/mcl_starting_inventory/README.txt @@ -0,0 +1,11 @@ +Mcl_starting_inventory, adapted for Mineclone 2 by Michieal. + +Based on: +Minetest Game mod: give_initial_stuff +===================================== +See license.txt for license information. + +Authors of source code +---------------------- +Perttu Ahola (celeron55) (MIT) +Various Minetest developers and contributors (MIT) diff --git a/mods/ITEMS/mcl_starting_inventory/init.lua b/mods/ITEMS/mcl_starting_inventory/init.lua new file mode 100644 index 000000000..137391bd3 --- /dev/null +++ b/mods/ITEMS/mcl_starting_inventory/init.lua @@ -0,0 +1,62 @@ +--- Copyright 2023, Michieal. (Modifications for the mod to be usable in Mineclone 2.) +--- Based on mtg mod, give_initial_stuff. "Written by C55 and various minetest developers." +--- +--- Copyright notice created for the license to be valid. (MIT 3) + +local DEBUG = false + +local function mcl_log(message) + if DEBUG then + minetest.log(message) + end +end + +local give_inventory = minetest.settings:get_bool("give_starting_inv", false) + +local stuff_string = "mcl_tools:pick_iron,mcl_tools:axe_iron,mcl_tools:shovel_iron,mcl_torches:torch 32,mcl_core:cobble 32" + +mcl_starting_inventory = { + items = {} +} + +function mcl_starting_inventory.give(player) + mcl_log("Giving initial stuff to player " .. player:get_player_name()) + local inv = player:get_inventory() + for _, stack in ipairs(mcl_starting_inventory.items) do + if inv:room_for_item("main", stack) then + inv:add_item("main", stack) + else + mcl_log("no room for the item: " .. dump(stack)) + end + end +end + +function mcl_starting_inventory.add(stack) + mcl_starting_inventory.items[#mcl_starting_inventory.items + 1] = ItemStack(stack) +end + +function mcl_starting_inventory.clear() + mcl_starting_inventory.items = {} +end + +function mcl_starting_inventory.add_from_csv(str) + local items = str:split(",") + for _, itemname in ipairs(items) do + mcl_starting_inventory.add(itemname) + end +end + +function mcl_starting_inventory.set_list(list) + mcl_starting_inventory.items = list +end + +function mcl_starting_inventory.get_list() + return mcl_starting_inventory.items +end + +if give_inventory and give_inventory == true then + mcl_starting_inventory.add_from_csv(stuff_string) + mcl_log("Okay to give inventory:\n" .. dump(mcl_starting_inventory.get_list())) +end + +minetest.register_on_newplayer(mcl_starting_inventory.give) diff --git a/mods/ITEMS/mcl_starting_inventory/license.txt b/mods/ITEMS/mcl_starting_inventory/license.txt new file mode 100644 index 000000000..8134c920e --- /dev/null +++ b/mods/ITEMS/mcl_starting_inventory/license.txt @@ -0,0 +1,25 @@ +License of source code +---------------------- + +The MIT License (MIT) +Copyright (C) 2012-2016 Perttu Ahola (celeron55) +Copyright (C) 2012-2016 Various Minetest developers and contributors + +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. + +For more details: +https://opensource.org/licenses/MIT diff --git a/mods/ITEMS/mcl_starting_inventory/mod.conf b/mods/ITEMS/mcl_starting_inventory/mod.conf new file mode 100644 index 000000000..dd91a9e8e --- /dev/null +++ b/mods/ITEMS/mcl_starting_inventory/mod.conf @@ -0,0 +1,3 @@ +name = mcl_starting_inventory +description = Mineclone 2 mod, Give Starting Inventory +depends = mcl_core, mcl_tools, mcl_torches diff --git a/mods/ITEMS/mcl_stonecutter/textures/mcl_stonecutter_bottom.png b/mods/ITEMS/mcl_stonecutter/textures/mcl_stonecutter_bottom.png deleted file mode 100644 index 7467d42be..000000000 Binary files a/mods/ITEMS/mcl_stonecutter/textures/mcl_stonecutter_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_stonecutter/textures/mcl_stonecutter_saw.png b/mods/ITEMS/mcl_stonecutter/textures/mcl_stonecutter_saw.png deleted file mode 100644 index 0f2bc3dfc..000000000 Binary files a/mods/ITEMS/mcl_stonecutter/textures/mcl_stonecutter_saw.png and /dev/null differ diff --git a/mods/ITEMS/mcl_stonecutter/textures/mcl_stonecutter_side.png b/mods/ITEMS/mcl_stonecutter/textures/mcl_stonecutter_side.png deleted file mode 100644 index d97f84bae..000000000 Binary files a/mods/ITEMS/mcl_stonecutter/textures/mcl_stonecutter_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_stonecutter/textures/mcl_stonecutter_top.png b/mods/ITEMS/mcl_stonecutter/textures/mcl_stonecutter_top.png deleted file mode 100644 index 0b63cb112..000000000 Binary files a/mods/ITEMS/mcl_stonecutter/textures/mcl_stonecutter_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_sus_stew/init.lua b/mods/ITEMS/mcl_sus_stew/init.lua index b605b8a45..cfb294532 100644 --- a/mods/ITEMS/mcl_sus_stew/init.lua +++ b/mods/ITEMS/mcl_sus_stew/init.lua @@ -6,10 +6,10 @@ local eat = minetest.item_eat(6, "mcl_core:bowl") --6 hunger points, player rece local flower_effect = { [ "mcl_flowers:allium" ] = "fire_resistance", - [ "mcl_flowers:tulip_white" ] = "poison", + [ "mcl_flowers:lily_of_the_valley" ] = "poison", [ "mcl_flowers:blue_orchid" ] = "hunger", [ "mcl_flowers:dandelion" ] = "hunger", - [ "mcl_flowers:peony" ] = "jump", + [ "mcl_flowers:cornflower" ] = "jump", [ "mcl_flowers:oxeye_daisy" ] = "regeneration", [ "mcl_flowers:poppy" ] = "night_vision" } @@ -108,7 +108,7 @@ minetest.register_craft({ minetest.register_craft({ type = "shapeless", output = "mcl_sus_stew:stew", - recipe = {"mcl_mushrooms:mushroom_red", "mcl_mushrooms:mushroom_brown", "mcl_core:bowl", "mcl_flowers:tulip_white"}, + recipe = {"mcl_mushrooms:mushroom_red", "mcl_mushrooms:mushroom_brown", "mcl_core:bowl", "mcl_flowers:lily_of_the_valley"}, }) minetest.register_craft({ @@ -126,7 +126,7 @@ minetest.register_craft({ minetest.register_craft({ type = "shapeless", output = "mcl_sus_stew:stew", - recipe = {"mcl_mushrooms:mushroom_red", "mcl_mushrooms:mushroom_brown", "mcl_core:bowl", "mcl_flowers:peony"}, + recipe = {"mcl_mushrooms:mushroom_red", "mcl_mushrooms:mushroom_brown", "mcl_core:bowl", "mcl_flowers:cornflower"}, }) minetest.register_craft({ diff --git a/mods/ITEMS/mcl_sus_stew/textures/sus_stew.png b/mods/ITEMS/mcl_sus_stew/textures/sus_stew.png deleted file mode 100644 index 3580c35aa..000000000 Binary files a/mods/ITEMS/mcl_sus_stew/textures/sus_stew.png and /dev/null differ diff --git a/mods/ITEMS/mcl_throwing/textures/mcl_throwing_ender_pearl.png b/mods/ITEMS/mcl_throwing/textures/mcl_throwing_ender_pearl.png deleted file mode 100644 index 61e1786d2..000000000 Binary files a/mods/ITEMS/mcl_throwing/textures/mcl_throwing_ender_pearl.png and /dev/null differ diff --git a/mods/ITEMS/mcl_throwing/textures/mcl_throwing_snowball.png b/mods/ITEMS/mcl_throwing/textures/mcl_throwing_snowball.png deleted file mode 100644 index 5fcc76f2f..000000000 Binary files a/mods/ITEMS/mcl_throwing/textures/mcl_throwing_snowball.png and /dev/null differ diff --git a/mods/ITEMS/mcl_tnt/init.lua b/mods/ITEMS/mcl_tnt/init.lua index 83c962092..4d7be3125 100644 --- a/mods/ITEMS/mcl_tnt/init.lua +++ b/mods/ITEMS/mcl_tnt/init.lua @@ -1,5 +1,5 @@ local S = minetest.get_translator(minetest.get_current_modname()) -local tnt_griefing = minetest.settings:get_bool("mcl_tnt_griefing", true) +local explosions_griefing = minetest.settings:get_bool("mcl_explosions_griefing", true) tnt = {} @@ -61,7 +61,7 @@ if minetest.get_modpath("mesecons") then end local longdesc -if tnt_griefing then +if explosions_griefing then longdesc = S("An explosive device. When it explodes, it will hurt living beings and destroy blocks around it. TNT has an explosion radius of @1. With a small chance, blocks may drop as an item (as if being mined) rather than being destroyed. TNT can be ignited by tools, explosions, fire, lava and redstone signals." , TNT_RANGE) else diff --git a/mods/ITEMS/mcl_tnt/textures/default_tnt_bottom.png b/mods/ITEMS/mcl_tnt/textures/default_tnt_bottom.png deleted file mode 100644 index 61b911be9..000000000 Binary files a/mods/ITEMS/mcl_tnt/textures/default_tnt_bottom.png and /dev/null differ diff --git a/mods/ITEMS/mcl_tnt/textures/default_tnt_side.png b/mods/ITEMS/mcl_tnt/textures/default_tnt_side.png deleted file mode 100644 index 8eda266e6..000000000 Binary files a/mods/ITEMS/mcl_tnt/textures/default_tnt_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_tnt/textures/default_tnt_top.png b/mods/ITEMS/mcl_tnt/textures/default_tnt_top.png deleted file mode 100644 index b8f8d39a6..000000000 Binary files a/mods/ITEMS/mcl_tnt/textures/default_tnt_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_tnt/textures/mcl_tnt_blink.png b/mods/ITEMS/mcl_tnt/textures/mcl_tnt_blink.png deleted file mode 100644 index b6739757d..000000000 Binary files a/mods/ITEMS/mcl_tnt/textures/mcl_tnt_blink.png and /dev/null differ diff --git a/mods/ITEMS/mcl_tools/init.lua b/mods/ITEMS/mcl_tools/init.lua index 860ea756c..de0ea6261 100644 --- a/mods/ITEMS/mcl_tools/init.lua +++ b/mods/ITEMS/mcl_tools/init.lua @@ -19,50 +19,6 @@ dig_speed_class group: - 7: Instantaneous ]] --- The hand -local groupcaps, hand_range, hand_groups - -if minetest.is_creative_enabled("") then - -- Instant breaking in creative mode - groupcaps = { creative_breakable = { times = {0}, uses = 0 } } - hand_range = tonumber(minetest.settings:get("mcl_hand_range_creative")) or 10 - hand_groups = { dig_speed_class = 7 } -else - groupcaps = {} - hand_range = tonumber(minetest.settings:get("mcl_hand_range")) or 4.5 - hand_groups = { dig_speed_class = 1 } -end -minetest.register_tool(":", { - type = "none", - _doc_items_longdesc = S("You use your bare hand whenever you are not wielding any item. With your hand you can mine most blocks, but this is the slowest method and only the weakest blocks will yield their useful drop. The hand also deals minor damage by punching. Using the hand is often a last resort, as proper mining tools and weapons are much better.").."\n".. - S("When you are wielding an item which is not a mining tool or a weapon, it will behave as if it were the hand when you start mining or punching.").."\n".. - S("In Creative Mode, the hand is able to break all blocks instantly."), - wield_image = "blank.png", - wield_scale = {x=1.0,y=1.0,z=2.0}, - -- According to Minecraft Wiki, the exact range is 3.975. - -- Minetest seems to only support whole numbers, so we use 4. - range = hand_range, - tool_capabilities = { - full_punch_interval = 0.25, - max_drop_level = 0, - groupcaps = groupcaps, - damage_groups = {fleshy=1}, - }, - groups = hand_groups, - _mcl_diggroups = { - handy = { speed = 1, level = 1, uses = 0 }, - axey = { speed = 1, level = 1, uses = 0 }, - shovely = { speed = 1, level = 1, uses = 0 }, - hoey = { speed = 1, level = 1, uses = 0 }, - pickaxey = { speed = 1, level = 0, uses = 0 }, - swordy = { speed = 1, level = 0, uses = 0 }, - swordy_cobweb = { speed = 1, level = 0, uses = 0 }, - shearsy = { speed = 1, level = 0, uses = 0 }, - shearsy_wool = { speed = 1, level = 0, uses = 0 }, - shearsy_cobweb = { speed = 1, level = 0, uses = 0 }, - } -}) - -- Help texts local pickaxe_longdesc = S("Pickaxes are mining tools to mine hard blocks, such as stone. A pickaxe can also be used as weapon, but it is rather inefficient.") local axe_longdesc = S("An axe is your tool of choice to cut down trees, wood-based blocks and other blocks. Axes deal a lot of damage as well, but they are rather slow.") @@ -227,7 +183,9 @@ local make_grass_path = function(itemstack, placer, pointed_thing) -- Add wear (as if digging a shovely node) local toolname = itemstack:get_name() local wear = mcl_autogroup.get_wear(toolname, "shovely") - itemstack:add_wear(wear) + if wear then + itemstack:add_wear(wear) + end end minetest.sound_play({name="default_grass_footstep", gain=1}, {pos = above}, true) minetest.swap_node(pointed_thing.under, {name="mcl_core:grass_path"}) @@ -256,7 +214,10 @@ if minetest.get_modpath("mcl_farming") then -- Add wear (as if digging a shearsy node) local toolname = itemstack:get_name() local wear = mcl_autogroup.get_wear(toolname, "shearsy") - itemstack:add_wear(wear) + if wear then + itemstack:add_wear(wear) + end + end minetest.sound_play({name="default_grass_footstep", gain=1}, {pos = pointed_thing.above}, true) local dir = vector.subtract(pointed_thing.under, pointed_thing.above) @@ -405,7 +366,14 @@ local function make_stripped_trunk(itemstack, placer, pointed_thing) if pointed_thing.type ~= "node" then return end local node = minetest.get_node(pointed_thing.under) - local noddef = minetest.registered_nodes[minetest.get_node(pointed_thing.under).name] + local node_name = minetest.get_node(pointed_thing.under).name + + local noddef = minetest.registered_nodes[node_name] + + if not noddef then + minetest.log("warning", "Trying to right click with an axe the unregistered node: " .. tostring(node_name)) + return + end if not placer:get_player_control().sneak and noddef.on_rightclick then return minetest.item_place(itemstack, placer, pointed_thing) @@ -423,7 +391,9 @@ local function make_stripped_trunk(itemstack, placer, pointed_thing) -- Add wear (as if digging a axey node) local toolname = itemstack:get_name() local wear = mcl_autogroup.get_wear(toolname, "axey") - itemstack:add_wear(wear) + if wear then + itemstack:add_wear(wear) + end end end return itemstack diff --git a/mods/ITEMS/mcl_tools/locale/mcl_tools.fr.tr b/mods/ITEMS/mcl_tools/locale/mcl_tools.fr.tr index f01c6c4fe..f09ccfcc3 100644 --- a/mods/ITEMS/mcl_tools/locale/mcl_tools.fr.tr +++ b/mods/ITEMS/mcl_tools/locale/mcl_tools.fr.tr @@ -9,28 +9,28 @@ Shovels are tools for digging coarse blocks, such as dirt, sand and gravel. They To turn a grass block into a grass path, hold the shovel in your hand, then use (rightclick) the top or side of a grass block. This only works when there's air above the grass block.=Pour transformer un bloc d'herbe en chemin de terre, tenez la pelle dans votre main, puis utilisez (clic droit) le haut ou le côté d'un bloc d'herbe. Cela ne fonctionne que lorsqu'il y a de l'air au-dessus du bloc d'herbe. Shears are tools to shear sheep and to mine a few block types. Shears are a special mining tool and can be used to obtain the original item from grass, leaves and similar blocks that require cutting.=Les cisailles sont des outils pour tondre les moutons et pour extraire quelques types de blocs. Les cisailles sont un outil d'extraction spécial et peuvent être utilisées pour obtenir l'élément d'origine à partir d'herbe, de feuilles et de blocs similaires qui nécessitent une coupe. To shear sheep or carve faceless pumpkins, use the “place” key on them. Faces can only be carved at the side of faceless pumpkins. Mining works as usual, but the drops are different for a few blocks.=Pour tondre des moutons ou tailler des citrouilles sans visage, utilisez la touche "placer" dessus. Les visages ne peuvent être sculptés que sur le côté des citrouilles sans visage. L'exploitation minière fonctionne comme d'habitude, mais les éléments obtenus sont différentes pour quelques blocs. -Wooden Pickaxe=Pioche en Bois -Stone Pickaxe=Pioche en Pierre -Iron Pickaxe=Pioche en Fer -Golden Pickaxe=Pioche en Or -Diamond Pickaxe=Pioche en Diamant +Wooden Pickaxe=Pioche en bois +Stone Pickaxe=Pioche en pierre +Iron Pickaxe=Pioche en fer +Golden Pickaxe=Pioche en or +Diamond Pickaxe=Pioche en diamant Netherite Pickaxe=Pioche en Netherite -Wooden Shovel=Pelle en Bois -Stone Shovel=Pelle en Pierre -Iron Shovel=Pelle en Fer -Golden Shovel=Pelle en Or -Diamond Shovel=Pelle en Diamant +Wooden Shovel=Pelle en bois +Stone Shovel=Pelle en pierre +Iron Shovel=Pelle en fer +Golden Shovel=Pelle en or +Diamond Shovel=Pelle en diamant Netherite Shovel=Pelle en Netherite -Wooden Axe=Hache en Bois -Stone Axe=Hache en Pierre -Iron Axe=Hache en Fer -Golden Axe=Hache en Or -Diamond Axe=Hache en Diamant +Wooden Axe=Hache en bois +Stone Axe=Hache en pierre +Iron Axe=Hache en fer +Golden Axe=Hache en or +Diamond Axe=Hache en diamant Netherite Axe=Hache en Netherite -Wooden Sword=Épée en Bois -Stone Sword=Épée en Pierre -Iron Sword=Épée en Fer -Golden Sword=Épée en Or -Diamond Sword=Épée en Diamant +Wooden Sword=Épée en bois +Stone Sword=Épée en pierre +Iron Sword=Épée en fer +Golden Sword=Épée en or +Diamond Sword=Épée en diamant Netherite Sword=Épée en Netherite Shears=Cisailles diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_diamondshovel.png b/mods/ITEMS/mcl_tools/textures/default_tool_diamondshovel.png deleted file mode 100644 index 6cc561115..000000000 Binary files a/mods/ITEMS/mcl_tools/textures/default_tool_diamondshovel.png and /dev/null differ diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_woodshovel.png b/mods/ITEMS/mcl_tools/textures/default_tool_woodshovel.png deleted file mode 100644 index e1855b5ae..000000000 Binary files a/mods/ITEMS/mcl_tools/textures/default_tool_woodshovel.png and /dev/null differ diff --git a/mods/ITEMS/mcl_torches/textures/default_torch_on_floor.png b/mods/ITEMS/mcl_torches/textures/default_torch_on_floor.png deleted file mode 100644 index e0656dbb0..000000000 Binary files a/mods/ITEMS/mcl_torches/textures/default_torch_on_floor.png and /dev/null differ diff --git a/mods/ITEMS/mcl_torches/textures/default_torch_on_floor_animated.png b/mods/ITEMS/mcl_torches/textures/default_torch_on_floor_animated.png deleted file mode 100644 index a34b461c2..000000000 Binary files a/mods/ITEMS/mcl_torches/textures/default_torch_on_floor_animated.png and /dev/null differ diff --git a/mods/ITEMS/mcl_totems/textures/mcl_totems_totem.png b/mods/ITEMS/mcl_totems/textures/mcl_totems_totem.png deleted file mode 100644 index 603a86768..000000000 Binary files a/mods/ITEMS/mcl_totems/textures/mcl_totems_totem.png and /dev/null differ diff --git a/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_mossy_wall_side.png b/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_mossy_wall_side.png deleted file mode 100644 index 69d575d98..000000000 Binary files a/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_mossy_wall_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_mossy_wall_top.png b/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_mossy_wall_top.png deleted file mode 100644 index c6ca4c364..000000000 Binary files a/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_mossy_wall_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_wall_side.png b/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_wall_side.png deleted file mode 100644 index 01937236d..000000000 Binary files a/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_wall_side.png and /dev/null differ diff --git a/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_wall_top.png b/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_wall_top.png deleted file mode 100644 index bdde29c6c..000000000 Binary files a/mods/ITEMS/mcl_walls/textures/mcl_walls_cobble_wall_top.png and /dev/null differ diff --git a/mods/ITEMS/mcl_wool/textures/mcl_wool_light_blue.png b/mods/ITEMS/mcl_wool/textures/mcl_wool_light_blue.png deleted file mode 100644 index 3d37d909e..000000000 Binary files a/mods/ITEMS/mcl_wool/textures/mcl_wool_light_blue.png and /dev/null differ diff --git a/mods/ITEMS/mcl_wool/textures/mcl_wool_lime.png b/mods/ITEMS/mcl_wool/textures/mcl_wool_lime.png deleted file mode 100644 index 6d57a55d4..000000000 Binary files a/mods/ITEMS/mcl_wool/textures/mcl_wool_lime.png and /dev/null differ diff --git a/mods/ITEMS/mcl_wool/textures/wool_brown.png b/mods/ITEMS/mcl_wool/textures/wool_brown.png deleted file mode 100644 index 04cf6eb83..000000000 Binary files a/mods/ITEMS/mcl_wool/textures/wool_brown.png and /dev/null differ diff --git a/mods/ITEMS/mcl_wool/textures/wool_cyan.png b/mods/ITEMS/mcl_wool/textures/wool_cyan.png deleted file mode 100644 index d4e48d6ad..000000000 Binary files a/mods/ITEMS/mcl_wool/textures/wool_cyan.png and /dev/null differ diff --git a/mods/ITEMS/mcl_wool/textures/wool_dark_green.png b/mods/ITEMS/mcl_wool/textures/wool_dark_green.png deleted file mode 100644 index 9e3c29f2e..000000000 Binary files a/mods/ITEMS/mcl_wool/textures/wool_dark_green.png and /dev/null differ diff --git a/mods/ITEMS/mcl_wool/textures/wool_dark_grey.png b/mods/ITEMS/mcl_wool/textures/wool_dark_grey.png deleted file mode 100644 index e2af0870c..000000000 Binary files a/mods/ITEMS/mcl_wool/textures/wool_dark_grey.png and /dev/null differ diff --git a/mods/ITEMS/mcl_wool/textures/wool_grey.png b/mods/ITEMS/mcl_wool/textures/wool_grey.png deleted file mode 100644 index 69273bfe0..000000000 Binary files a/mods/ITEMS/mcl_wool/textures/wool_grey.png and /dev/null differ diff --git a/mods/ITEMS/mcl_wool/textures/wool_magenta.png b/mods/ITEMS/mcl_wool/textures/wool_magenta.png deleted file mode 100644 index 6f727a973..000000000 Binary files a/mods/ITEMS/mcl_wool/textures/wool_magenta.png and /dev/null differ diff --git a/mods/ITEMS/mcl_wool/textures/wool_red.png b/mods/ITEMS/mcl_wool/textures/wool_red.png deleted file mode 100644 index 4c84133a1..000000000 Binary files a/mods/ITEMS/mcl_wool/textures/wool_red.png and /dev/null differ diff --git a/mods/ITEMS/mcl_wool/textures/wool_violet.png b/mods/ITEMS/mcl_wool/textures/wool_violet.png deleted file mode 100644 index 12fb3ebb7..000000000 Binary files a/mods/ITEMS/mcl_wool/textures/wool_violet.png and /dev/null differ diff --git a/mods/ITEMS/mcl_wool/textures/wool_white.png b/mods/ITEMS/mcl_wool/textures/wool_white.png deleted file mode 100644 index 794cbb15f..000000000 Binary files a/mods/ITEMS/mcl_wool/textures/wool_white.png and /dev/null differ diff --git a/mods/ITEMS/mclx_core/init.lua b/mods/ITEMS/mclx_core/init.lua index 9c46442c5..eb2c8a902 100644 --- a/mods/ITEMS/mclx_core/init.lua +++ b/mods/ITEMS/mclx_core/init.lua @@ -6,6 +6,9 @@ local source = table.copy(minetest.registered_nodes["mcl_core:water_source"]) source.description = S("River Water Source") source.liquid_range = 2 source.waving = 3 +source.color = "#0084FF" +source.paramtype2 = nil +source.palette = nil source.liquid_alternative_flowing = "mclx_core:river_water_flowing" source.liquid_alternative_source = "mclx_core:river_water_source" source.liquid_renewable = false @@ -13,40 +16,17 @@ source._doc_items_longdesc = S("River water has the same properties as water, bu source._doc_items_entry_name = S("River Water") -- Auto-expose entry only in valleys mapgen source._doc_items_hidden = minetest.get_mapgen_setting("mg_name") ~= "valleys" -source.post_effect_color = {a=192, r=0x2c, g=0x88, b=0x8c} -source.tiles = { - {name="default_river_water_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=5.0}} -} -source.special_tiles = { - -- New-style water source material (mostly unused) - { - name="default_river_water_source_animated.png", - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=5.0}, - backface_culling = false, - } -} +source.post_effect_color = {a=60, r=0, g=132, b=255} local flowing = table.copy(minetest.registered_nodes["mcl_core:water_flowing"]) flowing.description = S("Flowing River Water") flowing.liquid_range = 2 flowing.waving = 3 +flowing.color = "#0084FF" flowing.liquid_alternative_flowing = "mclx_core:river_water_flowing" flowing.liquid_alternative_source = "mclx_core:river_water_source" flowing.liquid_renewable = false -flowing.tiles = {"default_river_water_flowing_animated.png^[verticalframe:64:0"} -flowing.post_effect_color = {a=192, r=0x2c, g=0x88, b=0x8c} -flowing.special_tiles = { - { - image="default_river_water_flowing_animated.png", - backface_culling=false, - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=4.0} - }, - { - image="default_river_water_flowing_animated.png", - backface_culling=false, - animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=4.0} - }, -} +flowing.post_effect_color = {a=60, r=0, g=132, b=255} minetest.register_node("mclx_core:river_water_source", source) minetest.register_node("mclx_core:river_water_flowing", flowing) diff --git a/mods/ITEMS/mclx_core/textures/default_river_water_flowing_animated.png b/mods/ITEMS/mclx_core/textures/default_river_water_flowing_animated.png deleted file mode 100644 index 317d6e368..000000000 Binary files a/mods/ITEMS/mclx_core/textures/default_river_water_flowing_animated.png and /dev/null differ diff --git a/mods/ITEMS/mclx_core/textures/default_river_water_source_animated.png b/mods/ITEMS/mclx_core/textures/default_river_water_source_animated.png deleted file mode 100644 index d8ad149a6..000000000 Binary files a/mods/ITEMS/mclx_core/textures/default_river_water_source_animated.png and /dev/null differ diff --git a/mods/ITEMS/mclx_fences/textures/mcl_fences_fence_gate_red_nether_brick.png b/mods/ITEMS/mclx_fences/textures/mcl_fences_fence_gate_red_nether_brick.png deleted file mode 100644 index 2436408bd..000000000 Binary files a/mods/ITEMS/mclx_fences/textures/mcl_fences_fence_gate_red_nether_brick.png and /dev/null differ diff --git a/mods/ITEMS/mclx_fences/textures/mcl_fences_fence_red_nether_brick.png b/mods/ITEMS/mclx_fences/textures/mcl_fences_fence_red_nether_brick.png deleted file mode 100644 index ee7501818..000000000 Binary files a/mods/ITEMS/mclx_fences/textures/mcl_fences_fence_red_nether_brick.png and /dev/null differ diff --git a/mods/ITEMS/mclx_stairs/locale/mclx_stairs.fr.tr b/mods/ITEMS/mclx_stairs/locale/mclx_stairs.fr.tr index 98becd492..09461eefd 100644 --- a/mods/ITEMS/mclx_stairs/locale/mclx_stairs.fr.tr +++ b/mods/ITEMS/mclx_stairs/locale/mclx_stairs.fr.tr @@ -1,82 +1,82 @@ # textdomain: mclx_stairs -Oak Bark Stairs=Escalier en écorse de Chêne -Oak Bark Slab=Plaque d'écorce de Chêne -Double Oak Bark Slab=Double Dalle d'écorce de Chêne -Acacia Bark Stairs=Escalier en écorce d'Acacia -Acacia Bark Slab=Plaque d'écorce d'Acacia -Double Acacia Bark Slab=Double Dalle d'écorce d'Acacia -Spruce Bark Stairs=Escalier en écorse de Sapin -Spruce Bark Slab=Plaque d'écorce de Sapin -Double Spruce Bark Slab=Double Dalle d'écorce de Sapin -Birch Bark Stairs=Escalier en écorse de Bouleau -Birch Bark Slab=Plaque d'écorce de Bouleau -Double Birch Bark Slab=Double Dalle d'écorce de Bouleau -Jungle Bark Stairs=Escalier en écorse d'Acajou -Jungle Bark Slab=Plaque d'écorce d'Acajou -Double Jungle Bark Slab=Double Dalle d'écorce d'Acajou -Dark Oak Bark Stairs=Escalier en écorse de Chêne Noir -Dark Oak Bark Slab=Plaque d'écorce de Chêne Noir -Double Dark Oak Bark Slab=Double Dalle d'écorce de Chêne Noir -Lapis Lazuli Slab=Dalle de Lapis Lazuli -Double Lapis Lazuli Slab=Double Dalle de Lapis Lazuli -Lapis Lazuli Stairs=Escalier de Lapis Lazuli -Slab of Gold=Dalle en Or -Double Slab of Gold=Double Dalle en Or -Stairs of Gold=Escalier en Or -Slab of Iron=Dalle en Fer -Double Slab of Iron=Double Dalle en Fer -Stairs of Iron=Escalier en Fer -Cracked Stone Brick Stairs=Escalier en Brique de Pierre Fissurée -Cracked Stone Brick Slab=Dalle de Brique de Pierre Fissurée -Double Cracked Stone Brick Slab=Double Dalle de Brique de Pierre Fissurée -White Concrete Stairs=Escalier en Béton Blanc -White Concrete Slab=Dalle en Béton Blanc -Double White Concrete Slab=Double Dalle en Béton Blanc -Grey Concrete Stairs=Escalier en Béton Gris -Grey Concrete Slab=Dalle en Béton Gris -Double Grey Concrete Slab=Double Dalle en Béton Gris -Light Grey Concrete Stairs=Escalier en Béton Gris Clair -Light Grey Concrete Slab=Dalle en Béton Gris Clair -Double Light Grey Concrete Slab=Double Dalle en Béton Gris Clair -Black Concrete Stairs=Escalier en Béton Noir -Black Concrete Slab=Dalle en Béton Noir -Double Black Concrete Slab=Double Dalle en Béton Noir -Red Concrete Stairs=Escalier en Béton Rouge -Red Concrete Slab=Dalle en Béton Rouge -Double Red Concrete Slab=Double Dalle en Béton Rouge -Yellow Concrete Stairs=Escalier en Béton Jaune -Yellow Concrete Slab=Dalle en Béton Jaune -Double Yellow Concrete Slab=Double Dalle en Béton Jaune -Green Concrete Stairs=Escalier en Béton Vert -Green Concrete Slab=Dalle en Béton Vert -Double Green Concrete Slab=Double Dalle en Béton Vert -Cyan Concrete Stairs=Escalier en Béton Cyan -Cyan Concrete Slab=Dalle en Béton Cyan -Double Cyan Concrete Slab=Double Dalle en Béton Cyan -Blue Concrete Stairs=Escalier en Béton Bleu -Blue Concrete Slab=Dalle en Béton Bleu -Double Blue Concrete Slab=Double Dalle en Béton Bleu -Magenta Concrete Stairs=Escalier en Béton Magenta -Magenta Concrete Slab=Dalle en Béton Magenta -Double Magenta Concrete Slab=Double Dalle en Béton Magenta -Orange Concrete Stairs=Escalier en Béton Orange -Orange Concrete Slab=Dalle en Béton Orange -Double Orange Concrete Slab=Double Dalle en Béton Orange -Purple Concrete Stairs=Escalier en Béton Violet -Purple Concrete Slab=Dalle en Béton Violet -Double Purple Concrete Slab=Double Dalle en Béton Violet -Brown Concrete Stairs=Escalier en Béton Marron -Brown Concrete Slab=Dalle en Béton Marron -Double Brown Concrete Slab=Double Dalle en Béton Marron -Pink Concrete Stairs=Escalier en Béton Rose -Pink Concrete Slab=Dalle en Béton Rose -Double Pink Concrete Slab=Double Dalle en Béton Rose -Lime Concrete Stairs=Escalier en Béton Vert Clair -Lime Concrete Slab=Dalle en Béton Vert Clair -Double Lime Concrete Slab=Double Dalle en Béton Vert Clair -Light Blue Concrete Stairs=Escalier en Béton Bleu Clair -Light Blue Concrete Slab=Dalle en Béton Bleu Clair -Double Light Blue Concrete Slab=Double Dalle en Béton Bleu Clair -Concrete Slab=Dalle en Béton -Double Concrete Slab=Double Dalle en Béton -Concrete Stairs=Escalier en Béton +Oak Bark Stairs=Escalier en écorse de chêne +Oak Bark Slab=Plaque d'écorce de chêne +Double Oak Bark Slab=Double dalle d'écorce de chêne +Acacia Bark Stairs=Escalier en écorce d'acacia +Acacia Bark Slab=Plaque d'écorce d'acacia +Double Acacia Bark Slab=Double dalle d'écorce d'acacia +Spruce Bark Stairs=Escalier en écorse de sapin +Spruce Bark Slab=Plaque d'écorce de sapin +Double Spruce Bark Slab=Double dalle d'écorce de sapin +Birch Bark Stairs=Escalier en écorse de bouleau +Birch Bark Slab=Plaque d'écorce de bouleau +Double Birch Bark Slab=Double dalle d'écorce de bouleau +Jungle Bark Stairs=Escalier en écorse d'acajou +Jungle Bark Slab=Plaque d'écorce d'acajou +Double Jungle Bark Slab=Double dalle d'écorce d'acajou +Dark Oak Bark Stairs=Escalier en écorse de chêne noir +Dark Oak Bark Slab=Plaque d'écorce de chêne noir +Double Dark Oak Bark Slab=Double dalle d'écorce de chêne noir +Lapis Lazuli Slab=Dalle de lapis-lazuli +Double Lapis Lazuli Slab=Double dalle de lapis-lazuli +Lapis Lazuli Stairs=Escalier de lapis-lazuli +Slab of Gold=Dalle en or +Double Slab of Gold=Double dalle en or +Stairs of Gold=Escalier en or +Slab of Iron=Dalle en fer +Double Slab of Iron=Double dalle en fer +Stairs of Iron=Escalier en fer +Cracked Stone Brick Stairs=Escalier en brique de pierre fissurée +Cracked Stone Brick Slab=Dalle de brique de pierre fissurée +Double Cracked Stone Brick Slab=Double dalle de brique de pierre fissurée +White Concrete Stairs=Escalier en béton blanc +White Concrete Slab=Dalle en béton blanc +Double White Concrete Slab=Double dalle en béton blanc +Grey Concrete Stairs=Escalier en béton gris +Grey Concrete Slab=Dalle en béton gris +Double Grey Concrete Slab=Double dalle en béton gris +Light Grey Concrete Stairs=Escalier en béton gris clair +Light Grey Concrete Slab=Dalle en béton gris clair +Double Light Grey Concrete Slab=Double dalle en béton gris clair +Black Concrete Stairs=Escalier en béton noir +Black Concrete Slab=Dalle en béton noir +Double Black Concrete Slab=Double dalle en béton noir +Red Concrete Stairs=Escalier en béton rouge +Red Concrete Slab=Dalle en béton rouge +Double Red Concrete Slab=Double dalle en béton rouge +Yellow Concrete Stairs=Escalier en béton jaune +Yellow Concrete Slab=Dalle en béton jaune +Double Yellow Concrete Slab=Double dalle en béton jaune +Green Concrete Stairs=Escalier en béton vert +Green Concrete Slab=Dalle en béton vert +Double Green Concrete Slab=Double dalle en béton vert +Cyan Concrete Stairs=Escalier en béton cyan +Cyan Concrete Slab=Dalle en béton cyan +Double Cyan Concrete Slab=Double dalle en béton cyan +Blue Concrete Stairs=Escalier en béton bleu +Blue Concrete Slab=Dalle en béton bleu +Double Blue Concrete Slab=Double dalle en béton bleu +Magenta Concrete Stairs=Escalier en béton magenta +Magenta Concrete Slab=Dalle en béton magenta +Double Magenta Concrete Slab=Double dalle en béton magenta +Orange Concrete Stairs=Escalier en béton orange +Orange Concrete Slab=Dalle en béton orange +Double Orange Concrete Slab=Double dalle en béton orange +Purple Concrete Stairs=Escalier en béton violet +Purple Concrete Slab=Dalle en béton violet +Double Purple Concrete Slab=Double dalle en béton violet +Brown Concrete Stairs=Escalier en béton marron +Brown Concrete Slab=Dalle en béton marron +Double Brown Concrete Slab=Double dalle en béton marron +Pink Concrete Stairs=Escalier en béton rose +Pink Concrete Slab=Dalle en béton rose +Double Pink Concrete Slab=Double dalle en béton rose +Lime Concrete Stairs=Escalier en béton vert clair +Lime Concrete Slab=Dalle en béton vert clair +Double Lime Concrete Slab=Double dalle en béton vert clair +Light Blue Concrete Stairs=Escalier en béton bleu clair +Light Blue Concrete Slab=Dalle en béton bleu clair +Double Light Blue Concrete Slab=Double dalle en béton bleu clair +Concrete Slab=Dalle en béton +Double Concrete Slab=Double dalle en béton +Concrete Stairs=Escalier en béton diff --git a/mods/ITEMS/mclx_stairs/textures/mcl_stairs_andesite_smooth_slab.png b/mods/ITEMS/mclx_stairs/textures/mcl_stairs_andesite_smooth_slab.png deleted file mode 100644 index daf6e96ca..000000000 Binary files a/mods/ITEMS/mclx_stairs/textures/mcl_stairs_andesite_smooth_slab.png and /dev/null differ diff --git a/mods/ITEMS/mclx_stairs/textures/mcl_stairs_diorite_smooth_slab.png b/mods/ITEMS/mclx_stairs/textures/mcl_stairs_diorite_smooth_slab.png deleted file mode 100644 index 57d147bae..000000000 Binary files a/mods/ITEMS/mclx_stairs/textures/mcl_stairs_diorite_smooth_slab.png and /dev/null differ diff --git a/mods/ITEMS/mclx_stairs/textures/mcl_stairs_gold_block_slab.png b/mods/ITEMS/mclx_stairs/textures/mcl_stairs_gold_block_slab.png deleted file mode 100644 index 7f490e704..000000000 Binary files a/mods/ITEMS/mclx_stairs/textures/mcl_stairs_gold_block_slab.png and /dev/null differ diff --git a/mods/ITEMS/mclx_stairs/textures/mcl_stairs_iron_block_slab.png b/mods/ITEMS/mclx_stairs/textures/mcl_stairs_iron_block_slab.png deleted file mode 100644 index 101f62c46..000000000 Binary files a/mods/ITEMS/mclx_stairs/textures/mcl_stairs_iron_block_slab.png and /dev/null differ diff --git a/mods/ITEMS/screwdriver/textures/screwdriver.png b/mods/ITEMS/screwdriver/textures/screwdriver.png deleted file mode 100644 index 27d13db8c..000000000 Binary files a/mods/ITEMS/screwdriver/textures/screwdriver.png and /dev/null differ diff --git a/mods/ITEMS/xpanes/textures/xpanes_pane_iron.png b/mods/ITEMS/xpanes/textures/xpanes_pane_iron.png deleted file mode 100644 index 45c4bf13c..000000000 Binary files a/mods/ITEMS/xpanes/textures/xpanes_pane_iron.png and /dev/null differ diff --git a/mods/MAPGEN/mcl_biomes/init.lua b/mods/MAPGEN/mcl_biomes/init.lua index 25e8f3e34..30e3fac2d 100644 --- a/mods/MAPGEN/mcl_biomes/init.lua +++ b/mods/MAPGEN/mcl_biomes/init.lua @@ -1,3 +1,18 @@ +local overworld_fogcolor = "#C0D8FF" +local beach_skycolor = "#78A7FF" -- This is the case for all beach biomes except for the snowy ones! Those beaches will have their own colour instead of this one. +local ocean_skycolor = "#7BA4FF" -- This is the case for all ocean biomes except for non-deep frozen oceans! Those oceans will have their own colour instead of this one. + +local nether_skycolor = "#6EB1FF" -- The Nether biomes seemingly don't use the sky colour, despite having this value according to the wiki. The fog colour is used for both sky and fog. + +local end_skycolor = "#000000" +local end_fogcolor = "#A080A0" -- The End biomes seemingly don't use the fog colour, despite having this value according to the wiki. The sky colour is used for both sky and fog. + +local default_waterfogcolor = "#3F76E4" +local lukewarm_waterfogcolor = "#45ADF2" +local warm_waterfogcolor = "#43D5EE" +local cold_waterfogcolor = "#3D57D6" +local frozen_waterfogcolor = "#3938C9" + local mg_name = minetest.get_mapgen_setting("mg_name") local mg_seed = minetest.get_mapgen_setting("seed") @@ -41,7 +56,10 @@ local function register_classic_superflat_biome() humidity_point = 50, heat_point = 50, _mcl_biome_type = "medium", - _mcl_palette_index = 0, + _mcl_grass_palette_index = 0, + _mcl_foliage_palette_index = 1, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = "#78A7FF", _mcl_fogcolor = overworld_fogcolor }) @@ -128,17 +146,12 @@ local function register_biomes() "MesaPlateauF", "MesaPlateauFM", "MangroveSwamp", + "BambooJungle", + "BambooJungleM", + "BambooJungleEdge", + "BambooJungleEdgeM", } -local beach_skycolor = "#78A7FF" -- This is the case for all beach biomes except for the snowy ones! Those beaches will have their own colour instead of this one. -local ocean_skycolor = "#7BA4FF" -- This is the case for all ocean biomes except for non-deep frozen oceans! Those oceans will have their own colour instead of this one. -local overworld_fogcolor = "#C0D8FF" - -local nether_skycolor = "#6EB1FF" - -local end_fogcolor = "#A080A0" -local end_skycolor = "#000000" - -- Ice Plains Spikes (rare) minetest.register_biome({ name = "IcePlainsSpikes", @@ -156,7 +169,10 @@ local end_skycolor = "#000000" humidity_point = 24, heat_point = -5, _mcl_biome_type = "snowy", - _mcl_palette_index = 2, + _mcl_grass_palette_index = 2, + _mcl_foliage_palette_index = 2, + _mcl_water_palette_index = 5, + _mcl_waterfogcolor = frozen_waterfogcolor, _mcl_skycolor = "#7FA1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -174,7 +190,10 @@ local end_skycolor = "#000000" humidity_point = 24, heat_point = -5, _mcl_biome_type = "snowy", - _mcl_palette_index = 2, + _mcl_grass_palette_index = 2, + _mcl_foliage_palette_index = 2, + _mcl_water_palette_index = 5, + _mcl_waterfogcolor = frozen_waterfogcolor, _mcl_skycolor = "#7FA1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -194,7 +213,10 @@ local end_skycolor = "#000000" humidity_point = 58, heat_point = 8, _mcl_biome_type = "snowy", - _mcl_palette_index = 3, + _mcl_grass_palette_index = 3, + _mcl_foliage_palette_index = 2, + _mcl_water_palette_index = 5, + _mcl_waterfogcolor = frozen_waterfogcolor, _mcl_skycolor = "#839EFF", _mcl_fogcolor = overworld_fogcolor }) @@ -216,7 +238,10 @@ local end_skycolor = "#000000" humidity_point = 58, heat_point = 8, _mcl_biome_type = "snowy", - _mcl_palette_index = 3, + _mcl_grass_palette_index = 3, + _mcl_foliage_palette_index = 16, + _mcl_water_palette_index = 5, + _mcl_waterfogcolor = frozen_waterfogcolor, _mcl_skycolor = "#7FA1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -236,7 +261,10 @@ local end_skycolor = "#000000" humidity_point = 58, heat_point = 8, _mcl_biome_type = "snowy", - _mcl_palette_index = 3, + _mcl_grass_palette_index = 3, + _mcl_foliage_palette_index = 16, + _mcl_water_palette_index = 5, + _mcl_waterfogcolor = frozen_waterfogcolor, _mcl_skycolor = "#7FA1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -254,7 +282,10 @@ local end_skycolor = "#000000" heat_point = 8, vertical_blend = 1, _mcl_biome_type = "snowy", - _mcl_palette_index = 3, + _mcl_grass_palette_index = 3, + _mcl_foliage_palette_index = 2, + _mcl_water_palette_index = 5, + _mcl_waterfogcolor = frozen_waterfogcolor, _mcl_skycolor = "#7FA1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -273,7 +304,10 @@ local end_skycolor = "#000000" humidity_point = 76, heat_point = 10, _mcl_biome_type = "cold", - _mcl_palette_index = 4, + _mcl_grass_palette_index = 4, + _mcl_foliage_palette_index = 9, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = "#7CA3FF", _mcl_fogcolor = overworld_fogcolor }) @@ -290,7 +324,10 @@ local end_skycolor = "#000000" humidity_point = 76, heat_point = 10, _mcl_biome_type = "cold", - _mcl_palette_index = 4, + _mcl_grass_palette_index = 4, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -309,7 +346,10 @@ local end_skycolor = "#000000" humidity_point = 100, heat_point = 8, _mcl_biome_type = "cold", - _mcl_palette_index = 5, + _mcl_grass_palette_index = 5, + _mcl_foliage_palette_index = 10, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = "#7DA3FF", _mcl_fogcolor = overworld_fogcolor }) @@ -326,7 +366,10 @@ local end_skycolor = "#000000" humidity_point = 100, heat_point = 8, _mcl_biome_type = "cold", - _mcl_palette_index = 5, + _mcl_grass_palette_index = 5, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -346,7 +389,10 @@ local end_skycolor = "#000000" humidity_point = 10, heat_point = 45, _mcl_biome_type = "cold", - _mcl_palette_index = 6, + _mcl_grass_palette_index = 6, + _mcl_foliage_palette_index = 11, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = "#7DA2FF", _mcl_fogcolor = overworld_fogcolor }) @@ -364,7 +410,10 @@ local end_skycolor = "#000000" humidity_point = 10, heat_point = 45, _mcl_biome_type = "cold", - _mcl_palette_index = 6, + _mcl_grass_palette_index = 6, + _mcl_foliage_palette_index = 1, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = beach_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -382,7 +431,10 @@ local end_skycolor = "#000000" humidity_point = 10, heat_point = 45, _mcl_biome_type = "cold", - _mcl_palette_index = 6, + _mcl_grass_palette_index = 6, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -402,7 +454,10 @@ local end_skycolor = "#000000" humidity_point = 0, heat_point = 25, _mcl_biome_type = "cold", - _mcl_palette_index = 7, + _mcl_grass_palette_index = 7, + _mcl_foliage_palette_index = 11, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = "#7DA2FF", _mcl_fogcolor = overworld_fogcolor }) @@ -419,7 +474,10 @@ local end_skycolor = "#000000" humidity_point = 0, heat_point = 25, _mcl_biome_type = "cold", - _mcl_palette_index = 7, + _mcl_grass_palette_index = 7, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -441,7 +499,10 @@ local end_skycolor = "#000000" heat_point = 25, vertical_blend = 6, _mcl_biome_type = "cold", - _mcl_palette_index = 8, + _mcl_grass_palette_index = 8, + _mcl_foliage_palette_index = 11, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = "#7DA2FF", _mcl_fogcolor = overworld_fogcolor }) @@ -461,7 +522,10 @@ local end_skycolor = "#000000" humidity_point = 24, heat_point = 25, _mcl_biome_type = "cold", - _mcl_palette_index = 8, + _mcl_grass_palette_index = 8, + _mcl_foliage_palette_index = 11, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = "#7DA2FF", _mcl_fogcolor = overworld_fogcolor }) @@ -478,7 +542,10 @@ local end_skycolor = "#000000" humidity_point = 24, heat_point = 25, _mcl_biome_type = "cold", - _mcl_palette_index = 8, + _mcl_grass_palette_index = 8, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -495,7 +562,10 @@ local end_skycolor = "#000000" humidity_point = 0, heat_point = 8, _mcl_biome_type = "cold", - _mcl_palette_index = 9, + _mcl_grass_palette_index = 9, + _mcl_foliage_palette_index = 11, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = "#7DA2FF", _mcl_fogcolor = overworld_fogcolor }) @@ -512,7 +582,10 @@ local end_skycolor = "#000000" humidity_point = 0, heat_point = 8, _mcl_biome_type = "cold", - _mcl_palette_index = 9, + _mcl_grass_palette_index = 9, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -535,7 +608,10 @@ local end_skycolor = "#000000" humidity_point = 24, heat_point = 8, _mcl_biome_type = "snowy", - _mcl_palette_index = 10, + _mcl_grass_palette_index = 10, + _mcl_foliage_palette_index = 2, + _mcl_water_palette_index = 5, + _mcl_waterfogcolor = frozen_waterfogcolor, _mcl_skycolor = "#7FA1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -552,7 +628,10 @@ local end_skycolor = "#000000" humidity_point = 24, heat_point = 8, _mcl_biome_type = "snowy", - _mcl_palette_index = 10, + _mcl_grass_palette_index = 10, + _mcl_foliage_palette_index = 2, + _mcl_water_palette_index = 5, + _mcl_waterfogcolor = frozen_waterfogcolor, _mcl_skycolor = "#7FA1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -571,7 +650,10 @@ local end_skycolor = "#000000" humidity_point = 39, heat_point = 58, _mcl_biome_type = "medium", - _mcl_palette_index = 0, + _mcl_grass_palette_index = 0, + _mcl_foliage_palette_index = 1, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = "#78A7FF", _mcl_fogcolor = overworld_fogcolor }) @@ -588,7 +670,10 @@ local end_skycolor = "#000000" humidity_point = 39, heat_point = 58, _mcl_biome_type = "medium", - _mcl_palette_index = 0, + _mcl_grass_palette_index = 0, + _mcl_foliage_palette_index = 1, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = beach_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -605,7 +690,10 @@ local end_skycolor = "#000000" humidity_point = 39, heat_point = 58, _mcl_biome_type = "medium", - _mcl_palette_index = 0, + _mcl_grass_palette_index = 0, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -624,7 +712,10 @@ local end_skycolor = "#000000" humidity_point = 28, heat_point = 45, _mcl_biome_type = "medium", - _mcl_palette_index = 11, + _mcl_grass_palette_index = 11, + _mcl_foliage_palette_index = 1, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = "#78A7FF", _mcl_fogcolor = overworld_fogcolor }) @@ -641,7 +732,10 @@ local end_skycolor = "#000000" humidity_point = 28, heat_point = 45, _mcl_biome_type = "medium", - _mcl_palette_index = 11, + _mcl_grass_palette_index = 11, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -660,7 +754,10 @@ local end_skycolor = "#000000" humidity_point = 58, heat_point = 22, _mcl_biome_type = "cold", - _mcl_palette_index = 12, + _mcl_grass_palette_index = 12, + _mcl_foliage_palette_index = 10, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = "#7DA3FF", _mcl_fogcolor = overworld_fogcolor }) @@ -677,7 +774,10 @@ local end_skycolor = "#000000" humidity_point = 58, heat_point = 22, _mcl_biome_type = "cold", - _mcl_palette_index = 12, + _mcl_grass_palette_index = 12, + _mcl_foliage_palette_index = 1, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = beach_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -694,7 +794,10 @@ local end_skycolor = "#000000" humidity_point = 58, heat_point = 22, _mcl_biome_type = "cold", - _mcl_palette_index = 12, + _mcl_grass_palette_index = 12, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 4, + _mcl_waterfogcolor = cold_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -713,7 +816,10 @@ local end_skycolor = "#000000" humidity_point = 61, heat_point = 45, _mcl_biome_type = "medium", - _mcl_palette_index = 13, + _mcl_grass_palette_index = 13, + _mcl_foliage_palette_index = 7, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = "#79A6FF", _mcl_fogcolor = overworld_fogcolor }) @@ -730,7 +836,10 @@ local end_skycolor = "#000000" humidity_point = 61, heat_point = 45, _mcl_biome_type = "medium", - _mcl_palette_index = 13, + _mcl_grass_palette_index = 13, + _mcl_foliage_palette_index = 1, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = beach_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -747,7 +856,10 @@ local end_skycolor = "#000000" humidity_point = 61, heat_point = 45, _mcl_biome_type = "medium", - _mcl_palette_index = 13, + _mcl_grass_palette_index = 13, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -766,7 +878,10 @@ local end_skycolor = "#000000" humidity_point = 44, heat_point = 32, _mcl_biome_type = "medium", - _mcl_palette_index = 14, + _mcl_grass_palette_index = 14, + _mcl_foliage_palette_index = 7, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = "#79A6FF", _mcl_fogcolor = overworld_fogcolor }) @@ -783,7 +898,10 @@ local end_skycolor = "#000000" humidity_point = 44, heat_point = 32, _mcl_biome_type = "medium", - _mcl_palette_index = 14, + _mcl_grass_palette_index = 14, + _mcl_foliage_palette_index = 1, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = beach_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -800,7 +918,10 @@ local end_skycolor = "#000000" humidity_point = 44, heat_point = 32, _mcl_biome_type = "medium", - _mcl_palette_index = 14, + _mcl_grass_palette_index = 14, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -819,7 +940,10 @@ local end_skycolor = "#000000" humidity_point = 78, heat_point = 31, _mcl_biome_type = "medium", - _mcl_palette_index = 15, + _mcl_grass_palette_index = 15, + _mcl_foliage_palette_index = 8, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = "#7AA5FF", _mcl_fogcolor = overworld_fogcolor }) @@ -836,7 +960,10 @@ local end_skycolor = "#000000" humidity_point = 78, heat_point = 31, _mcl_biome_type = "medium", - _mcl_palette_index = 15, + _mcl_grass_palette_index = 15, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -855,7 +982,10 @@ local end_skycolor = "#000000" humidity_point = 77, heat_point = 27, _mcl_biome_type = "medium", - _mcl_palette_index = 16, + _mcl_grass_palette_index = 16, + _mcl_foliage_palette_index = 8, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = "#7AA5FF", _mcl_fogcolor = overworld_fogcolor }) @@ -872,7 +1002,10 @@ local end_skycolor = "#000000" humidity_point = 77, heat_point = 27, _mcl_biome_type = "medium", - _mcl_palette_index = 16, + _mcl_grass_palette_index = 16, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -892,7 +1025,10 @@ local end_skycolor = "#000000" humidity_point = 26, heat_point = 94, _mcl_biome_type = "hot", - _mcl_palette_index = 17, + _mcl_grass_palette_index = 17, + _mcl_foliage_palette_index = 3, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = "#6EB1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -909,7 +1045,10 @@ local end_skycolor = "#000000" humidity_point = 26, heat_point = 94, _mcl_biome_type = "hot", - _mcl_palette_index = 17, + _mcl_grass_palette_index = 17, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -928,7 +1067,10 @@ local end_skycolor = "#000000" humidity_point = 94, heat_point = 27, _mcl_biome_type = "medium", - _mcl_palette_index = 18, + _mcl_grass_palette_index = 18, + _mcl_foliage_palette_index = 7, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = "#79A6FF", _mcl_fogcolor = overworld_fogcolor }) @@ -945,7 +1087,10 @@ local end_skycolor = "#000000" humidity_point = 94, heat_point = 27, _mcl_biome_type = "medium", - _mcl_palette_index = 18, + _mcl_grass_palette_index = 18, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -965,7 +1110,10 @@ local end_skycolor = "#000000" humidity_point = 0, heat_point = 100, _mcl_biome_type = "hot", - _mcl_palette_index = 19, + _mcl_grass_palette_index = 19, + _mcl_foliage_palette_index = 4, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = "#6EB1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -984,7 +1132,10 @@ local end_skycolor = "#000000" humidity_point = 0, heat_point = 100, _mcl_biome_type = "hot", - _mcl_palette_index = 19, + _mcl_grass_palette_index = 19, + _mcl_foliage_palette_index = 4, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = "#6EB1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1002,7 +1153,10 @@ local end_skycolor = "#000000" humidity_point = 0, heat_point = 100, _mcl_biome_type = "hot", - _mcl_palette_index = 19, + _mcl_grass_palette_index = 19, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -1021,7 +1175,10 @@ local end_skycolor = "#000000" humidity_point = -5, heat_point = 100, _mcl_biome_type = "hot", - _mcl_palette_index = 20, + _mcl_grass_palette_index = 20, + _mcl_foliage_palette_index = 4, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = "#6EB1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1039,7 +1196,10 @@ local end_skycolor = "#000000" humidity_point = -5, heat_point = 100, _mcl_biome_type = "hot", - _mcl_palette_index = 20, + _mcl_grass_palette_index = 20, + _mcl_foliage_palette_index = 4, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = "#6EB1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1057,13 +1217,14 @@ local end_skycolor = "#000000" humidity_point = -5, heat_point = 100, _mcl_biome_type = "hot", - _mcl_palette_index = 20, + _mcl_grass_palette_index = 20, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) - - -- Mesa Plateau F -- Identical to Mesa below Y=30. At Y=30 and above there is a "dry" oak forest minetest.register_biome({ @@ -1080,7 +1241,10 @@ local end_skycolor = "#000000" heat_point = 60, vertical_blend = 0, -- we want a sharp transition _mcl_biome_type = "hot", - _mcl_palette_index = 21, + _mcl_grass_palette_index = 21, + _mcl_foliage_palette_index = 4, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = "#6EB1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1101,7 +1265,10 @@ local end_skycolor = "#000000" humidity_point = 0, heat_point = 60, _mcl_biome_type = "hot", - _mcl_palette_index = 21, + _mcl_grass_palette_index = 21, + _mcl_foliage_palette_index = 4, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = "#6EB1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1119,7 +1286,10 @@ local end_skycolor = "#000000" humidity_point = 0, heat_point = 60, _mcl_biome_type = "hot", - _mcl_palette_index = 21, + _mcl_grass_palette_index = 21, + _mcl_foliage_palette_index = 4, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = "#6EB1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1137,7 +1307,10 @@ local end_skycolor = "#000000" humidity_point = 0, heat_point = 60, _mcl_biome_type = "hot", - _mcl_palette_index = 21, + _mcl_grass_palette_index = 21, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -1160,7 +1333,10 @@ local end_skycolor = "#000000" heat_point = 60, vertical_blend = 5, _mcl_biome_type = "hot", - _mcl_palette_index = 22, + _mcl_grass_palette_index = 22, + _mcl_foliage_palette_index = 4, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = "#6EB1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1179,7 +1355,10 @@ local end_skycolor = "#000000" humidity_point = -5, heat_point = 60, _mcl_biome_type = "hot", - _mcl_palette_index = 22, + _mcl_grass_palette_index = 22, + _mcl_foliage_palette_index = 4, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = "#6EB1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1199,7 +1378,10 @@ local end_skycolor = "#000000" heat_point = 60, vertical_blend = 4, _mcl_biome_type = "hot", - _mcl_palette_index = 22, + _mcl_grass_palette_index = 22, + _mcl_foliage_palette_index = 4, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = "#6EB1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1217,7 +1399,10 @@ local end_skycolor = "#000000" humidity_point = -5, heat_point = 60, _mcl_biome_type = "hot", - _mcl_palette_index = 22, + _mcl_grass_palette_index = 22, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 3, + _mcl_waterfogcolor = warm_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -1237,7 +1422,10 @@ local end_skycolor = "#000000" humidity_point = 36, heat_point = 79, _mcl_biome_type = "hot", - _mcl_palette_index = 1, + _mcl_grass_palette_index = 1, + _mcl_foliage_palette_index = 3, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = "#6EB1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1254,7 +1442,10 @@ local end_skycolor = "#000000" humidity_point = 36, heat_point = 79, _mcl_biome_type = "hot", - _mcl_palette_index = 1, + _mcl_grass_palette_index = 1, + _mcl_foliage_palette_index = 1, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = beach_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -1271,7 +1462,10 @@ local end_skycolor = "#000000" humidity_point = 36, heat_point = 79, _mcl_biome_type = "hot", - _mcl_palette_index = 1, + _mcl_grass_palette_index = 1, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -1292,7 +1486,10 @@ local end_skycolor = "#000000" humidity_point = 48, heat_point = 100, _mcl_biome_type = "hot", - _mcl_palette_index = 23, + _mcl_grass_palette_index = 23, + _mcl_foliage_palette_index = 3, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = "#6EB1FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1309,7 +1506,10 @@ local end_skycolor = "#000000" humidity_point = 48, heat_point = 100, _mcl_biome_type = "hot", - _mcl_palette_index = 23, + _mcl_grass_palette_index = 23, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -1328,7 +1528,10 @@ local end_skycolor = "#000000" humidity_point = 88, heat_point = 81, _mcl_biome_type = "medium", - _mcl_palette_index = 24, + _mcl_grass_palette_index = 24, + _mcl_foliage_palette_index = 12, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = "#77A8FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1345,7 +1548,10 @@ local end_skycolor = "#000000" humidity_point = 88, heat_point = 81, _mcl_biome_type = "medium", - _mcl_palette_index = 24, + _mcl_grass_palette_index = 24, + _mcl_foliage_palette_index = 12, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = "#77A8FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1363,7 +1569,10 @@ local end_skycolor = "#000000" humidity_point = 88, heat_point = 81, _mcl_biome_type = "medium", - _mcl_palette_index = 24, + _mcl_grass_palette_index = 24, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -1383,7 +1592,10 @@ local end_skycolor = "#000000" humidity_point = 92, heat_point = 81, _mcl_biome_type = "medium", - _mcl_palette_index = 25, + _mcl_grass_palette_index = 25, + _mcl_foliage_palette_index = 12, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = "#77A8FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1400,7 +1612,10 @@ local end_skycolor = "#000000" humidity_point = 92, heat_point = 81, _mcl_biome_type = "medium", - _mcl_palette_index = 25, + _mcl_grass_palette_index = 25, + _mcl_foliage_palette_index = 12, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = "#77A8FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1418,7 +1633,10 @@ local end_skycolor = "#000000" humidity_point = 92, heat_point = 81, _mcl_biome_type = "medium", - _mcl_palette_index = 25, + _mcl_grass_palette_index = 25, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -1437,7 +1655,10 @@ local end_skycolor = "#000000" humidity_point = 88, heat_point = 76, _mcl_biome_type = "medium", - _mcl_palette_index = 26, + _mcl_grass_palette_index = 26, + _mcl_foliage_palette_index = 13, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = "#77A8FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1454,7 +1675,10 @@ local end_skycolor = "#000000" humidity_point = 88, heat_point = 76, _mcl_biome_type = "medium", - _mcl_palette_index = 26, + _mcl_grass_palette_index = 26, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -1476,7 +1700,10 @@ local end_skycolor = "#000000" humidity_point = 90, heat_point = 79, _mcl_biome_type = "medium", - _mcl_palette_index = 27, + _mcl_grass_palette_index = 27, + _mcl_foliage_palette_index = 13, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = "#77A8FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1493,7 +1720,10 @@ local end_skycolor = "#000000" humidity_point = 90, heat_point = 79, _mcl_biome_type = "medium", - _mcl_palette_index = 27, + _mcl_grass_palette_index = 27, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -1513,7 +1743,10 @@ local end_skycolor = "#000000" humidity_point = 95, heat_point = 94, _mcl_biome_type = "hot", - _mcl_palette_index = 27, + _mcl_grass_palette_index = 27, + _mcl_foliage_palette_index = 6, + _mcl_water_palette_index = 7, + _mcl_waterfogcolor = "#3A7A6A", _mcl_skycolor = "#78A7FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1530,7 +1763,10 @@ local end_skycolor = "#000000" humidity_point = 95, heat_point = 94, _mcl_biome_type = "hot", - _mcl_palette_index = 27, + _mcl_grass_palette_index = 27, + _mcl_foliage_palette_index = 6, + _mcl_water_palette_index = 7, + _mcl_waterfogcolor = "#3A7A6A", _mcl_skycolor = "#78A7FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1548,7 +1784,10 @@ local end_skycolor = "#000000" humidity_point = 95, heat_point = 94, _mcl_biome_type = "hot", - _mcl_palette_index = 27, + _mcl_grass_palette_index = 27, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 7, + _mcl_waterfogcolor = "#3A7A6A", _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -1567,7 +1806,10 @@ local end_skycolor = "#000000" humidity_point = 90, heat_point = 50, _mcl_biome_type = "medium", - _mcl_palette_index = 28, + _mcl_grass_palette_index = 28, + _mcl_foliage_palette_index = 5, + _mcl_water_palette_index = 1, + _mcl_waterfogcolor = "#617B64", _mcl_skycolor = "#78A7FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1584,7 +1826,10 @@ local end_skycolor = "#000000" humidity_point = 90, heat_point = 50, _mcl_biome_type = "medium", - _mcl_palette_index = 28, + _mcl_grass_palette_index = 28, + _mcl_foliage_palette_index = 5, + _mcl_water_palette_index = 1, + _mcl_waterfogcolor = "#617B64", _mcl_skycolor = "#78A7FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1602,7 +1847,10 @@ local end_skycolor = "#000000" humidity_point = 90, heat_point = 50, _mcl_biome_type = "medium", - _mcl_palette_index = 28, + _mcl_grass_palette_index = 28, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 1, + _mcl_waterfogcolor = "#617B64", _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -1624,7 +1872,10 @@ local end_skycolor = "#000000" humidity_point = 106, heat_point = 50, _mcl_biome_type = "medium", - _mcl_palette_index = 29, + _mcl_grass_palette_index = 29, + _mcl_foliage_palette_index = 17, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = "#77A8FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1642,7 +1893,10 @@ local end_skycolor = "#000000" humidity_point = 106, heat_point = 50, _mcl_biome_type = "medium", - _mcl_palette_index = 29, + _mcl_grass_palette_index = 29, + _mcl_foliage_palette_index = 17, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, _mcl_skycolor = "#77A8FF", _mcl_fogcolor = overworld_fogcolor }) @@ -1659,13 +1913,231 @@ local end_skycolor = "#000000" humidity_point = 106, heat_point = 50, _mcl_biome_type = "medium", - _mcl_palette_index = 29, + _mcl_grass_palette_index = 29, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, + _mcl_skycolor = ocean_skycolor, + _mcl_fogcolor = overworld_fogcolor + }) + + -- Bamboo Jungle areas are like the Jungle areas, but warmer and more humid. + -- Bamboo Jungle + minetest.register_biome({ + name = "BambooJungle", + node_top = "mcl_core:dirt_with_grass", + depth_top = 1, + node_filler = "mcl_core:dirt", + depth_filler = 3, + node_riverbed = "mcl_core:sand", + depth_riverbed = 2, + y_min = 1, + y_max = mcl_vars.mg_overworld_max, + humidity_point = 90, + heat_point = 95, + _mcl_biome_type = "medium", + _mcl_grass_palette_index = 24, + _mcl_foliage_palette_index = 12, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, + _mcl_skycolor = "#77A8FF", + _mcl_fogcolor = overworld_fogcolor + }) + minetest.register_biome({ + name = "BambooJungle_shore", + node_top = "mcl_core:dirt", + depth_top = 1, + node_filler = "mcl_core:dirt", + depth_filler = 3, + node_riverbed = "mcl_core:sand", + depth_riverbed = 2, + y_min = -2, + y_max = 0, + humidity_point = 90, + heat_point = 95, + _mcl_biome_type = "medium", + _mcl_grass_palette_index = 24, + _mcl_foliage_palette_index = 12, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, + _mcl_skycolor = "#77A8FF", + _mcl_fogcolor = overworld_fogcolor + }) + minetest.register_biome({ + name = "BambooJungle_ocean", + node_top = "mcl_core:sand", + depth_top = 1, + node_filler = "mcl_core:sand", + depth_filler = 3, + node_riverbed = "mcl_core:sand", + depth_riverbed = 2, + y_min = OCEAN_MIN, + y_max = -3, + vertical_blend = 1, + humidity_point = 95, + heat_point = 90, + _mcl_biome_type = "medium", + _mcl_grass_palette_index = 24, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, + _mcl_skycolor = ocean_skycolor, + _mcl_fogcolor = overworld_fogcolor + }) + + -- Bamboo Jungle M + -- Like Bamboo Jungle but with even more dense vegetation + minetest.register_biome({ + name = "BambooJungleM", + node_top = "mcl_core:dirt_with_grass", + depth_top = 1, + node_filler = "mcl_core:dirt", + depth_filler = 3, + node_riverbed = "mcl_core:sand", + depth_riverbed = 2, + y_min = 1, + y_max = mcl_vars.mg_overworld_max, + humidity_point = 95, + heat_point = 95, + _mcl_biome_type = "medium", + _mcl_grass_palette_index = 25, + _mcl_foliage_palette_index = 12, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, + _mcl_skycolor = "#77A8FF", + _mcl_fogcolor = overworld_fogcolor + }) + minetest.register_biome({ + name = "BambooJungleM_shore", + node_top = "mcl_core:dirt", + depth_top = 1, + node_filler = "mcl_core:dirt", + depth_filler = 3, + node_riverbed = "mcl_core:sand", + depth_riverbed = 2, + y_min = -2, + y_max = 0, + humidity_point = 95, + heat_point = 90, + _mcl_biome_type = "medium", + _mcl_grass_palette_index = 25, + _mcl_foliage_palette_index = 12, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, + _mcl_skycolor = "#77A8FF", + _mcl_fogcolor = overworld_fogcolor + }) + minetest.register_biome({ + name = "BambooJungleM_ocean", + node_top = "mcl_core:sand", + depth_top = 1, + node_filler = "mcl_core:sand", + depth_filler = 3, + node_riverbed = "mcl_core:sand", + depth_riverbed = 2, + y_min = OCEAN_MIN, + y_max = -3, + vertical_blend = 1, + humidity_point = 95, + heat_point = 95, + _mcl_biome_type = "medium", + _mcl_grass_palette_index = 25, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, + _mcl_skycolor = ocean_skycolor, + _mcl_fogcolor = overworld_fogcolor + }) + + -- Bamboo Jungle Edge + minetest.register_biome({ + name = "BambooJungleEdge", + node_top = "mcl_core:dirt_with_grass", + depth_top = 1, + node_filler = "mcl_core:dirt", + depth_filler = 2, + node_riverbed = "mcl_core:sand", + depth_riverbed = 2, + y_min = 1, + y_max = mcl_vars.mg_overworld_max, + humidity_point = 92, + heat_point = 90, + _mcl_biome_type = "medium", + _mcl_grass_palette_index = 26, + _mcl_foliage_palette_index = 13, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, + _mcl_skycolor = "#77A8FF", + _mcl_fogcolor = overworld_fogcolor + }) + minetest.register_biome({ + name = "BambooJungleEdge_ocean", + node_top = "mcl_core:sand", + depth_top = 1, + node_filler = "mcl_core:sand", + depth_filler = 2, + node_riverbed = "mcl_core:sand", + depth_riverbed = 2, + y_min = OCEAN_MIN, + y_max = 0, + humidity_point = 95, + heat_point = 88, + _mcl_biome_type = "medium", + _mcl_grass_palette_index = 26, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, + _mcl_skycolor = ocean_skycolor, + _mcl_fogcolor = overworld_fogcolor + }) + + -- Jungle Edge M (very rare). + -- Almost identical to Jungle Edge. Has deeper dirt. Melons spawn here a lot. + -- This biome occours directly between Jungle M and Jungle Edge but also has a small border to Jungle. + -- This biome is very small in general. + minetest.register_biome({ + name = "BambooJungleEdgeM", + node_top = "mcl_core:dirt_with_grass", + depth_top = 1, + node_filler = "mcl_core:dirt", + depth_filler = 4, + node_riverbed = "mcl_core:sand", + depth_riverbed = 2, + y_min = 1, + y_max = mcl_vars.mg_overworld_max, + humidity_point = 95, + heat_point = 95, + _mcl_biome_type = "medium", + _mcl_grass_palette_index = 27, + _mcl_foliage_palette_index = 13, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, + _mcl_skycolor = "#77A8FF", + _mcl_fogcolor = overworld_fogcolor + }) + minetest.register_biome({ + name = "BambooJungleEdgeM_ocean", + node_top = "mcl_core:sand", + depth_top = 1, + node_filler = "mcl_core:sand", + depth_filler = 4, + node_riverbed = "mcl_core:sand", + depth_riverbed = 2, + y_min = OCEAN_MIN, + y_max = 0, + humidity_point = 97, + heat_point = 90, + _mcl_biome_type = "medium", + _mcl_grass_palette_index = 27, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 2, + _mcl_waterfogcolor = lukewarm_waterfogcolor, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) -- Add deep ocean and underground biomes automatically. - for i=1, #overworld_biomes do + for i = 1, #overworld_biomes do local biome = overworld_biomes[i] -- Deep Ocean @@ -1675,15 +2147,17 @@ local end_skycolor = "#000000" humidity_point = minetest.registered_biomes[biome].humidity_point, y_min = DEEP_OCEAN_MIN, y_max = DEEP_OCEAN_MAX, - node_top = minetest.registered_biomes[biome.."_ocean"].node_top, + node_top = minetest.registered_biomes[biome .. "_ocean"].node_top, depth_top = 2, - node_filler = minetest.registered_biomes[biome.."_ocean"].node_filler, + node_filler = minetest.registered_biomes[biome .. "_ocean"].node_filler, depth_filler = 3, - node_riverbed = minetest.registered_biomes[biome.."_ocean"].node_riverbed, + node_riverbed = minetest.registered_biomes[biome .. "_ocean"].node_riverbed, depth_riverbed = 2, vertical_blend = 5, _mcl_biome_type = minetest.registered_biomes[biome]._mcl_biome_type, - _mcl_palette_index = minetest.registered_biomes[biome]._mcl_palette_index, + _mcl_grass_palette_index = minetest.registered_biomes[biome]._mcl_grass_palette_index, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = minetest.registered_biomes[biome]._mcl_water_palette_index, _mcl_skycolor = ocean_skycolor, _mcl_fogcolor = overworld_fogcolor }) @@ -1697,7 +2171,9 @@ local end_skycolor = "#000000" y_min = mcl_vars.mg_overworld_min, y_max = DEEP_OCEAN_MIN - 1, _mcl_biome_type = minetest.registered_biomes[biome]._mcl_biome_type, - _mcl_palette_index = minetest.registered_biomes[biome]._mcl_palette_index, + _mcl_grass_palette_index = minetest.registered_biomes[biome]._mcl_grass_palette_index, + _mcl_foliage_palette_index = minetest.registered_biomes[biome]._mcl_foliage_palette_index, + _mcl_water_palette_index = minetest.registered_biomes[biome]._mcl_water_palette_index, _mcl_skycolor = minetest.registered_biomes[biome]._mcl_skycolor, _mcl_fogcolor = minetest.registered_biomes[biome]._mcl_fogcolor, }) @@ -1738,7 +2214,6 @@ local function register_dimension_biomes() param2 = 0, }) - minetest.register_biome({ name = "Nether", node_filler = "mcl_nether:netherrack", @@ -1753,17 +2228,20 @@ local function register_dimension_biomes() heat_point = 100, humidity_point = 0, _mcl_biome_type = "hot", - _mcl_palette_index = 17, --- _mcl_skycolor = nether_skycolor, --- _mcl_fogcolor = "#330808" + _mcl_grass_palette_index = 17, + _mcl_foliage_palette_index = 3, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, + _mcl_skycolor = nether_skycolor, + _mcl_fogcolor = "#330808" }) minetest.register_decoration({ deco_type = "simple", - place_on = {"mcl_nether:netherrack","mcl_nether:glowstone","mcl_blackstone:nether_gold","mcl_nether:quartz_ore","mcl_core:gravel","mcl_nether:soul_sand","mcl_nether:glowstone","mcl_nether:magma"}, + place_on = {"mcl_nether:netherrack", "mcl_nether:glowstone", "mcl_blackstone:nether_gold", "mcl_nether:quartz_ore", "mcl_core:gravel", "mcl_nether:soul_sand", "mcl_nether:glowstone", "mcl_nether:magma"}, sidelen = 16, fill_ratio = 10, - biomes = { "Nether" }, + biomes = {"Nether"}, y_min = mcl_vars.mg_lava_nether_max, y_max = mcl_vars.mg_nether_deco_max, decoration = "mcl_nether:netherrack", @@ -1784,16 +2262,19 @@ local function register_dimension_biomes() heat_point = 77, humidity_point = 33, _mcl_biome_type = "hot", - _mcl_palette_index = 17, --- _mcl_skycolor = nether_skycolor, --- _mcl_fogcolor = "#1B4745" + _mcl_grass_palette_index = 17, + _mcl_foliage_palette_index = 3, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, + _mcl_skycolor = nether_skycolor, + _mcl_fogcolor = "#1B4745" }) minetest.register_decoration({ deco_type = "simple", - place_on = {"mcl_nether:netherrack","mcl_nether:glowstone","mcl_nether:magma"}, + place_on = {"mcl_nether:netherrack", "mcl_nether:glowstone", "mcl_nether:magma"}, sidelen = 16, fill_ratio = 10, - biomes = { "SoulsandValley" }, + biomes = {"SoulsandValley"}, y_min = mcl_vars.mg_lava_nether_max, y_max = mcl_vars.mg_nether_deco_max, decoration = "mcl_blackstone:soul_soil", @@ -1802,20 +2283,20 @@ local function register_dimension_biomes() }) minetest.register_ore({ - ore_type = "blob", - ore = "mcl_nether:soul_sand", - wherein = { "mcl_nether:netherrack", "mcl_blackstone:soul_soil" }, + ore_type = "blob", + ore = "mcl_nether:soul_sand", + wherein = {"mcl_nether:netherrack", "mcl_blackstone:soul_soil"}, clust_scarcity = 100, clust_num_ores = 225, - clust_size = 15, - biomes = { "SoulsandValley" }, + clust_size = 15, + biomes = {"SoulsandValley"}, y_min = mcl_vars.mg_lava_nether_max, y_max = mcl_vars.mg_nether_deco_max, noise_params = { - offset = 0, - scale = 1, - spread = { x = 250, y = 250, z = 250 }, - seed = 12345, + offset = 0, + scale = 1, + spread = {x = 250, y = 250, z = 250}, + seed = 12345, octaves = 3, persist = 0.6, lacunarity = 2, @@ -1835,16 +2316,19 @@ local function register_dimension_biomes() heat_point = 60, humidity_point = 47, _mcl_biome_type = "hot", - _mcl_palette_index = 17, --- _mcl_skycolor = nether_skycolor, --- _mcl_fogcolor = "#330303" + _mcl_grass_palette_index = 17, + _mcl_foliage_palette_index = 3, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, + _mcl_skycolor = nether_skycolor, + _mcl_fogcolor = "#330303" }) minetest.register_decoration({ deco_type = "simple", - place_on = {"mcl_nether:netherrack","mcl_nether:glowstone","mcl_blackstone:nether_gold","mcl_nether:quartz_ore","mcl_core:gravel","mcl_nether:soul_sand","mcl_nether:magma","mcl_blackstone:blackstone"}, + place_on = {"mcl_nether:netherrack", "mcl_nether:glowstone", "mcl_blackstone:nether_gold", "mcl_nether:quartz_ore", "mcl_core:gravel", "mcl_nether:soul_sand", "mcl_nether:magma", "mcl_blackstone:blackstone"}, sidelen = 16, fill_ratio = 10, - biomes = { "CrimsonForest" }, + biomes = {"CrimsonForest"}, y_min = mcl_vars.mg_lava_nether_max, y_max = mcl_vars.mg_nether_deco_max, decoration = "mcl_crimson:crimson_nylium", @@ -1864,16 +2348,19 @@ local function register_dimension_biomes() heat_point = 37, humidity_point = 70, _mcl_biome_type = "hot", - _mcl_palette_index = 17, --- _mcl_skycolor = nether_skycolor, --- _mcl_fogcolor = "#1A051A" + _mcl_grass_palette_index = 17, + _mcl_foliage_palette_index = 3, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, + _mcl_skycolor = nether_skycolor, + _mcl_fogcolor = "#1A051A" }) minetest.register_decoration({ deco_type = "simple", - place_on = {"mcl_nether:netherrack","mcl_nether:glowstone","mcl_blackstone:nether_gold","mcl_nether:quartz_ore","mcl_core:gravel","mcl_nether:soul_sand","mcl_nether:magma","mcl_blackstone:blackstone"}, + place_on = {"mcl_nether:netherrack", "mcl_nether:glowstone", "mcl_blackstone:nether_gold", "mcl_nether:quartz_ore", "mcl_core:gravel", "mcl_nether:soul_sand", "mcl_nether:magma", "mcl_blackstone:blackstone"}, sidelen = 16, fill_ratio = 10, - biomes = { "WarpedForest" }, + biomes = {"WarpedForest"}, y_min = mcl_vars.mg_lava_nether_max, y_max = mcl_vars.mg_nether_deco_max, decoration = "mcl_crimson:warped_nylium", @@ -1893,17 +2380,20 @@ local function register_dimension_biomes() heat_point = 27, humidity_point = 80, _mcl_biome_type = "hot", - _mcl_palette_index = 17, --- _mcl_skycolor = nether_skycolor, --- _mcl_fogcolor = "#685F70" + _mcl_grass_palette_index = 17, + _mcl_foliage_palette_index = 3, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, + _mcl_skycolor = nether_skycolor, + _mcl_fogcolor = "#685F70" }) minetest.register_decoration({ deco_type = "simple", - place_on = {"mcl_nether:netherrack","mcl_nether:glowstone","mcl_blackstone:nether_gold","mcl_nether:quartz_ore","mcl_core:gravel","mcl_nether:soul_sand","mcl_blackstone:blackstone","mcl_nether:magma"}, + place_on = {"mcl_nether:netherrack", "mcl_nether:glowstone", "mcl_blackstone:nether_gold", "mcl_nether:quartz_ore", "mcl_core:gravel", "mcl_nether:soul_sand", "mcl_blackstone:blackstone", "mcl_nether:magma"}, sidelen = 16, fill_ratio = 10, - biomes = { "BasaltDelta" }, + biomes = {"BasaltDelta"}, y_min = mcl_vars.mg_lava_nether_max, y_max = mcl_vars.mg_nether_deco_max, decoration = "mcl_blackstone:basalt", @@ -1912,25 +2402,25 @@ local function register_dimension_biomes() }) minetest.register_ore({ - ore_type = "blob", - ore = "mcl_blackstone:blackstone", - wherein = {"mcl_nether:netherrack","mcl_nether:glowstone","mcl_core:gravel"}, - clust_scarcity = 100, - clust_num_ores = 400, - clust_size = 20, - biomes = { "BasaltDelta" }, - y_min = mcl_vars.mg_lava_nether_max, - y_max = mcl_vars.mg_nether_deco_max, - noise_params = { - offset = 0, - scale = 1, - spread = { x = 250, y = 250, z = 250 }, - seed = 12345, - octaves = 3, - persist = 0.6, - lacunarity = 2, - flags = "defaults", - } + ore_type = "blob", + ore = "mcl_blackstone:blackstone", + wherein = {"mcl_nether:netherrack", "mcl_nether:glowstone", "mcl_core:gravel"}, + clust_scarcity = 100, + clust_num_ores = 400, + clust_size = 20, + biomes = {"BasaltDelta"}, + y_min = mcl_vars.mg_lava_nether_max, + y_max = mcl_vars.mg_nether_deco_max, + noise_params = { + offset = 0, + scale = 1, + spread = {x = 250, y = 250, z = 250}, + seed = 12345, + octaves = 3, + persist = 0.6, + lacunarity = 2, + flags = "defaults", + } }) --[[ THE END ]] @@ -1947,9 +2437,12 @@ local function register_dimension_biomes() humidity_point = 1000, vertical_blend = 16, _mcl_biome_type = "medium", - _mcl_palette_index = 0, --- _mcl_skycolor = end_skycolor, --- _mcl_fogcolor = end_fogcolor + _mcl_grass_palette_index = 0, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, + _mcl_skycolor = end_skycolor, + _mcl_fogcolor = end_fogcolor }) minetest.register_biome({ name = "EndBarrens", @@ -1964,9 +2457,12 @@ local function register_dimension_biomes() humidity_point = 1000, vertical_blend = 16, _mcl_biome_type = "medium", - _mcl_palette_index = 0, --- _mcl_skycolor = end_skycolor, --- _mcl_fogcolor = end_fogcolor + _mcl_grass_palette_index = 0, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, + _mcl_skycolor = end_skycolor, + _mcl_fogcolor = end_fogcolor }) minetest.register_biome({ name = "EndMidlands", @@ -1981,9 +2477,12 @@ local function register_dimension_biomes() humidity_point = 1000, vertical_blend = 16, _mcl_biome_type = "medium", - _mcl_palette_index = 0, --- _mcl_skycolor = end_skycolor, --- _mcl_fogcolor = end_fogcolor + _mcl_grass_palette_index = 0, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, + _mcl_skycolor = end_skycolor, + _mcl_fogcolor = end_fogcolor }) minetest.register_biome({ name = "EndHighlands", @@ -1998,9 +2497,12 @@ local function register_dimension_biomes() humidity_point = 1000, vertical_blend = 16, _mcl_biome_type = "medium", - _mcl_palette_index = 0, --- _mcl_skycolor = end_skycolor, --- _mcl_fogcolor = end_fogcolor + _mcl_grass_palette_index = 0, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, + _mcl_skycolor = end_skycolor, + _mcl_fogcolor = end_fogcolor }) minetest.register_biome({ name = "EndSmallIslands", @@ -2015,9 +2517,12 @@ local function register_dimension_biomes() humidity_point = 1000, vertical_blend = 16, _mcl_biome_type = "medium", - _mcl_palette_index = 0, --- _mcl_skycolor = end_skycolor, --- _mcl_fogcolor = end_fogcolor + _mcl_grass_palette_index = 0, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, + _mcl_skycolor = end_skycolor, + _mcl_fogcolor = end_fogcolor }) minetest.register_biome({ @@ -2035,9 +2540,12 @@ local function register_dimension_biomes() max_pos = {x = 1250, y = mcl_vars.mg_end_min + 512, z = 1250}, min_pos = {x = -1250, y = mcl_vars.mg_end_min, z = -1250}, _mcl_biome_type = "medium", - _mcl_palette_index = 0, --- _mcl_skycolor = end_skycolor, --- _mcl_fogcolor = end_fogcolor + _mcl_grass_palette_index = 0, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, + _mcl_skycolor = end_skycolor, + _mcl_fogcolor = end_fogcolor }) minetest.register_biome({ @@ -2053,9 +2561,12 @@ local function register_dimension_biomes() humidity_point = 50, vertical_blend = 16, _mcl_biome_type = "medium", - _mcl_palette_index = 0, --- _mcl_skycolor = end_skycolor, --- _mcl_fogcolor = end_fogcolor + _mcl_grass_palette_index = 0, + _mcl_foliage_palette_index = 0, + _mcl_water_palette_index = 0, + _mcl_waterfogcolor = default_waterfogcolor, + _mcl_skycolor = end_skycolor, + _mcl_fogcolor = end_fogcolor }) end @@ -2066,15 +2577,15 @@ local function register_biome_ores() -- Emeralds minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_core:stone_with_emerald", - wherein = stonelike, + ore_type = "scatter", + ore = "mcl_core:stone_with_emerald", + wherein = stonelike, clust_scarcity = 16384, clust_num_ores = 1, - clust_size = 1, - y_min = mcl_worlds.layer_to_y(4), - y_max = mcl_worlds.layer_to_y(32), - biomes = { + clust_size = 1, + y_min = mcl_worlds.layer_to_y(4), + y_max = mcl_worlds.layer_to_y(32), + biomes = { "ExtremeHills", "ExtremeHills_beach", "ExtremeHills_ocean", "ExtremeHills_deep_ocean", "ExtremeHills_underground", "ExtremeHills+", "ExtremeHills+_ocean", "ExtremeHills+_deep_ocean", "ExtremeHills+_underground", "ExtremeHillsM", "ExtremeHillsM_ocean", "ExtremeHillsM_deep_ocean", "ExtremeHillsM_underground", @@ -2090,15 +2601,15 @@ local function register_biome_ores() monster_egg_scarcity = 26 * 26 * 26 end minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_monster_eggs:monster_egg_stone", - wherein = "mcl_core:stone", + ore_type = "scatter", + ore = "mcl_monster_eggs:monster_egg_stone", + wherein = "mcl_core:stone", clust_scarcity = monster_egg_scarcity, clust_num_ores = 3, - clust_size = 2, - y_min = mcl_vars.mg_overworld_min, - y_max = mcl_worlds.layer_to_y(61), - biomes = { + clust_size = 2, + y_min = mcl_vars.mg_overworld_min, + y_max = mcl_worlds.layer_to_y(61), + biomes = { "ExtremeHills", "ExtremeHills_beach", "ExtremeHills_ocean", "ExtremeHills_deep_ocean", "ExtremeHills_underground", "ExtremeHills+", "ExtremeHills+_ocean", "ExtremeHills+_deep_ocean", "ExtremeHills+_underground", "ExtremeHillsM", "ExtremeHillsM_ocean", "ExtremeHillsM_deep_ocean", "ExtremeHillsM_underground", @@ -2108,51 +2619,51 @@ local function register_biome_ores() -- Bonus gold spawn in Mesa if mg_name ~= "v6" then minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_core:stone_with_gold", - wherein = stonelike, + ore_type = "scatter", + ore = "mcl_core:stone_with_gold", + wherein = stonelike, clust_scarcity = 3333, clust_num_ores = 5, - clust_size = 3, - y_min = mcl_worlds.layer_to_y(32), - y_max = mcl_worlds.layer_to_y(79), - biomes = { "Mesa", "Mesa_sandlevel", "Mesa_ocean", - "MesaBryce", "MesaBryce_sandlevel", "MesaBryce_ocean", - "MesaPlateauF", "MesaPlateauF_sandlevel", "MesaPlateauF_ocean", - "MesaPlateauFM", "MesaPlateauFM_sandlevel", "MesaPlateauFM_ocean", }, + clust_size = 3, + y_min = mcl_worlds.layer_to_y(32), + y_max = mcl_worlds.layer_to_y(79), + biomes = {"Mesa", "Mesa_sandlevel", "Mesa_ocean", + "MesaBryce", "MesaBryce_sandlevel", "MesaBryce_ocean", + "MesaPlateauF", "MesaPlateauF_sandlevel", "MesaPlateauF_ocean", + "MesaPlateauFM", "MesaPlateauFM_sandlevel", "MesaPlateauFM_ocean", }, }) end --nether gold if mg_name ~= "v6" then minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_blackstone:blackstone_gilded", - wherein = "mcl_blackstone:blackstone", + ore_type = "scatter", + ore = "mcl_blackstone:blackstone_gilded", + wherein = "mcl_blackstone:blackstone", clust_scarcity = 4775, clust_num_ores = 2, - clust_size = 2, - y_min = mcl_vars.mg_nether_min, - y_max = mcl_vars.mg_nether_max, + clust_size = 2, + y_min = mcl_vars.mg_nether_min, + y_max = mcl_vars.mg_nether_max, }) minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_blackstone:nether_gold", - wherein = "mcl_nether:netherrack", + ore_type = "scatter", + ore = "mcl_blackstone:nether_gold", + wherein = "mcl_nether:netherrack", clust_scarcity = 830, clust_num_ores = 5, - clust_size = 3, - y_min = mcl_vars.mg_nether_min, - y_max = mcl_vars.mg_nether_max, + clust_size = 3, + y_min = mcl_vars.mg_nether_min, + y_max = mcl_vars.mg_nether_max, }) minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_blackstone:nether_gold", - wherein = "mcl_nether:netherrack", + ore_type = "scatter", + ore = "mcl_blackstone:nether_gold", + wherein = "mcl_nether:netherrack", clust_scarcity = 1660, clust_num_ores = 4, - clust_size = 2, - y_min = mcl_vars.mg_nether_min, - y_max = mcl_vars.mg_nether_max, + clust_size = 2, + y_min = mcl_vars.mg_nether_min, + y_max = mcl_vars.mg_nether_max, }) end end @@ -2162,182 +2673,182 @@ local function register_biomelike_ores() -- Random coarse dirt floor in Mega Taiga and Mesa Plateau F minetest.register_ore({ - ore_type = "sheet", - ore = "mcl_core:coarse_dirt", - wherein = {"mcl_core:podzol", "mcl_core:dirt"}, - clust_scarcity = 1, - clust_num_ores = 12, - clust_size = 10, - y_min = mcl_vars.mg_overworld_min, - y_max = mcl_vars.mg_overworld_max, + ore_type = "sheet", + ore = "mcl_core:coarse_dirt", + wherein = {"mcl_core:podzol", "mcl_core:dirt"}, + clust_scarcity = 1, + clust_num_ores = 12, + clust_size = 10, + y_min = mcl_vars.mg_overworld_min, + y_max = mcl_vars.mg_overworld_max, noise_threshold = 0.2, - noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=24, octaves=3, persist=0.70}, - biomes = { "MegaTaiga" }, + noise_params = {offset = 0, scale = 15, spread = {x = 130, y = 130, z = 130}, seed = 24, octaves = 3, persist = 0.70}, + biomes = {"MegaTaiga"}, }) minetest.register_ore({ - ore_type = "sheet", - ore = "mcl_core:coarse_dirt", - wherein = {"mcl_core:dirt_with_grass", "mcl_core:dirt"}, + ore_type = "sheet", + ore = "mcl_core:coarse_dirt", + wherein = {"mcl_core:dirt_with_grass", "mcl_core:dirt"}, column_height_max = 1, column_midpoint_factor = 0.0, - y_min = mcl_vars.mg_overworld_min, - y_max = mcl_vars.mg_overworld_max, + y_min = mcl_vars.mg_overworld_min, + y_max = mcl_vars.mg_overworld_max, noise_threshold = 0.0, - noise_params = {offset=0, scale=15, spread={x=250, y=250, z=250}, seed=24, octaves=3, persist=0.70}, - biomes = { "MesaPlateauF_grasstop" }, + noise_params = {offset = 0, scale = 15, spread = {x = 250, y = 250, z = 250}, seed = 24, octaves = 3, persist = 0.70}, + biomes = {"MesaPlateauF_grasstop"}, }) minetest.register_ore({ - ore_type = "blob", - ore = "mcl_core:coarse_dirt", - wherein = {"mcl_core:dirt_with_grass", "mcl_core:dirt"}, - clust_scarcity = 1500, - clust_num_ores = 25, - clust_size = 7, - y_min = mcl_vars.mg_overworld_min, - y_max = mcl_vars.mg_overworld_max, + ore_type = "blob", + ore = "mcl_core:coarse_dirt", + wherein = {"mcl_core:dirt_with_grass", "mcl_core:dirt"}, + clust_scarcity = 1500, + clust_num_ores = 25, + clust_size = 7, + y_min = mcl_vars.mg_overworld_min, + y_max = mcl_vars.mg_overworld_max, noise_params = { - offset = 0, - scale = 1, - spread = {x=250, y=250, z=250}, - seed = 12345, + offset = 0, + scale = 1, + spread = {x = 250, y = 250, z = 250}, + seed = 12345, octaves = 3, persist = 0.6, lacunarity = 2, flags = "defaults", }, - biomes = { "MesaPlateauF_grasstop" }, + biomes = {"MesaPlateauF_grasstop"}, }) minetest.register_ore({ - ore_type = "sheet", - ore = "mcl_core:coarse_dirt", - wherein = {"mcl_core:dirt_with_grass", "mcl_core:dirt"}, + ore_type = "sheet", + ore = "mcl_core:coarse_dirt", + wherein = {"mcl_core:dirt_with_grass", "mcl_core:dirt"}, column_height_max = 1, column_midpoint_factor = 0.0, - y_min = mcl_vars.mg_overworld_min, - y_max = mcl_vars.mg_overworld_max, + y_min = mcl_vars.mg_overworld_min, + y_max = mcl_vars.mg_overworld_max, noise_threshold = -2.5, - noise_params = {offset=1, scale=15, spread={x=250, y=250, z=250}, seed=24, octaves=3, persist=0.80}, - biomes = { "MesaPlateauFM_grasstop" }, + noise_params = {offset = 1, scale = 15, spread = {x = 250, y = 250, z = 250}, seed = 24, octaves = 3, persist = 0.80}, + biomes = {"MesaPlateauFM_grasstop"}, }) minetest.register_ore({ - ore_type = "blob", - ore = "mcl_core:coarse_dirt", - wherein = {"mcl_core:dirt_with_grass", "mcl_core:dirt"}, - clust_scarcity = 1800, - clust_num_ores = 65, - clust_size = 15, - y_min = mcl_vars.mg_overworld_min, - y_max = mcl_vars.mg_overworld_max, + ore_type = "blob", + ore = "mcl_core:coarse_dirt", + wherein = {"mcl_core:dirt_with_grass", "mcl_core:dirt"}, + clust_scarcity = 1800, + clust_num_ores = 65, + clust_size = 15, + y_min = mcl_vars.mg_overworld_min, + y_max = mcl_vars.mg_overworld_max, noise_params = { - offset = 0, - scale = 1, - spread = {x=250, y=250, z=250}, - seed = 12345, + offset = 0, + scale = 1, + spread = {x = 250, y = 250, z = 250}, + seed = 12345, octaves = 3, persist = 0.6, lacunarity = 2, flags = "defaults", }, - biomes = { "MesaPlateauFM_grasstop" }, + biomes = {"MesaPlateauFM_grasstop"}, }) -- Occasionally dig out portions of MesaPlateauFM minetest.register_ore({ - ore_type = "blob", - ore = "air", - wherein = {"group:hardened_clay", "group:sand","mcl_core:coarse_dirt"}, - clust_scarcity = 4000, - clust_size = 5, - y_min = mcl_vars.mg_overworld_min, - y_max = mcl_vars.mg_overworld_max, + ore_type = "blob", + ore = "air", + wherein = {"group:hardened_clay", "group:sand", "mcl_core:coarse_dirt"}, + clust_scarcity = 4000, + clust_size = 5, + y_min = mcl_vars.mg_overworld_min, + y_max = mcl_vars.mg_overworld_max, noise_params = { - offset = 0, - scale = 1, - spread = {x=250, y=250, z=250}, - seed = 12345, + offset = 0, + scale = 1, + spread = {x = 250, y = 250, z = 250}, + seed = 12345, octaves = 3, persist = 0.6, lacunarity = 2, flags = "defaults", }, - biomes = { "MesaPlateauFM", "MesaPlateauFM_grasstop" }, + biomes = {"MesaPlateauFM", "MesaPlateauFM_grasstop"}, }) minetest.register_ore({ - ore_type = "blob", - ore = "mcl_core:redsandstone", - wherein = {"mcl_colorblocks:hardened_clay_orange"}, - clust_scarcity = 300, - clust_size = 8, - y_min = mcl_vars.mg_overworld_min, - y_max = mcl_vars.mg_overworld_max, + ore_type = "blob", + ore = "mcl_core:redsandstone", + wherein = {"mcl_colorblocks:hardened_clay_orange"}, + clust_scarcity = 300, + clust_size = 8, + y_min = mcl_vars.mg_overworld_min, + y_max = mcl_vars.mg_overworld_max, noise_params = { - offset = 0, - scale = 1, - spread = {x=250, y=250, z=250}, - seed = 12345, + offset = 0, + scale = 1, + spread = {x = 250, y = 250, z = 250}, + seed = 12345, octaves = 3, persist = 0.6, lacunarity = 2, flags = "defaults", }, - biomes = { "MesaPlateauFM_sandlevel" }, + biomes = {"MesaPlateauFM_sandlevel"}, }) -- More red sand in MesaPlateauFM minetest.register_ore({ - ore_type = "sheet", - ore = "mcl_core:redsand", - wherein = {"group:hardened_clay"}, - clust_scarcity = 1, - clust_num_ores = 12, - clust_size = 10, - y_min = mcl_vars.mg_overworld_min, - y_max = mcl_vars.mg_overworld_max, + ore_type = "sheet", + ore = "mcl_core:redsand", + wherein = {"group:hardened_clay"}, + clust_scarcity = 1, + clust_num_ores = 12, + clust_size = 10, + y_min = mcl_vars.mg_overworld_min, + y_max = mcl_vars.mg_overworld_max, noise_threshold = 0.1, - noise_params = {offset=0, scale=15, spread={x=130, y=130, z=130}, seed=95, octaves=3, persist=0.70}, - biomes = { "MesaPlateauFM" }, + noise_params = {offset = 0, scale = 15, spread = {x = 130, y = 130, z = 130}, seed = 95, octaves = 3, persist = 0.70}, + biomes = {"MesaPlateauFM"}, }) minetest.register_ore({ - ore_type = "blob", - ore = "mcl_core:redsand", - wherein = {"group:hardened_clay"}, - clust_scarcity = 1500, - clust_size = 4, - y_min = mcl_vars.mg_overworld_min, - y_max = mcl_vars.mg_overworld_max, + ore_type = "blob", + ore = "mcl_core:redsand", + wherein = {"group:hardened_clay"}, + clust_scarcity = 1500, + clust_size = 4, + y_min = mcl_vars.mg_overworld_min, + y_max = mcl_vars.mg_overworld_max, noise_params = { - offset = 0, - scale = 1, - spread = {x=250, y=250, z=250}, - seed = 12345, + offset = 0, + scale = 1, + spread = {x = 250, y = 250, z = 250}, + seed = 12345, octaves = 3, persist = 0.6, lacunarity = 2, flags = "defaults", }, - biomes = { "MesaPlateauFM", "MesaPlateauFM_grasstop", "MesaPlateauFM_sandlevel" }, + biomes = {"MesaPlateauFM", "MesaPlateauFM_grasstop", "MesaPlateauFM_sandlevel"}, }) -- Small dirt patches in Extreme Hills M minetest.register_ore({ - ore_type = "blob", + ore_type = "blob", -- TODO: Should be grass block. But generating this as ore means gras blocks will spawn undeground. :-( - ore = "mcl_core:dirt", - wherein = {"mcl_core:gravel"}, - clust_scarcity = 5000, - clust_num_ores = 12, - clust_size = 4, - y_min = mcl_vars.mg_overworld_min, - y_max = mcl_vars.mg_overworld_max, + ore = "mcl_core:dirt", + wherein = {"mcl_core:gravel"}, + clust_scarcity = 5000, + clust_num_ores = 12, + clust_size = 4, + y_min = mcl_vars.mg_overworld_min, + y_max = mcl_vars.mg_overworld_max, noise_threshold = 0.2, - noise_params = {offset=0, scale=5, spread={x=250, y=250, z=250}, seed=64, octaves=3, persist=0.60}, - biomes = { "ExtremeHillsM" }, + noise_params = {offset = 0, scale = 5, spread = {x = 250, y = 250, z = 250}, seed = 64, octaves = 3, persist = 0.60}, + biomes = {"ExtremeHillsM"}, }) -- For a transition from stone to hardened clay in mesa biomes that is not perfectly flat minetest.register_ore({ ore_type = "stratum", ore = "mcl_core:stone", wherein = {"group:hardened_clay"}, - noise_params = {offset=-6, scale=2, spread={x=25, y=25, z=25}, octaves=1, persist=0.60}, + noise_params = {offset = -6, scale = 2, spread = {x = 25, y = 25, z = 25}, octaves = 1, persist = 0.60}, stratum_thickness = 8, biomes = { "Mesa_sandlevel", "Mesa_ocean", @@ -2360,18 +2871,18 @@ local function register_biomelike_ores() if not seed then seed = 39 end - local y_max = y_min + height-1 + local y_max = y_min + height - 1 local perfect_biomes if is_perfect then -- "perfect" means no erosion - perfect_biomes = { "MesaBryce", "Mesa", "MesaPlateauF", "MesaPlateauFM" } + perfect_biomes = {"MesaBryce", "Mesa", "MesaPlateauF", "MesaPlateauFM"} else - perfect_biomes = { "MesaBryce" } + perfect_biomes = {"MesaBryce"} end -- Full, perfect stratum minetest.register_ore({ ore_type = "stratum", - ore = "mcl_colorblocks:hardened_clay_"..color, + ore = "mcl_colorblocks:hardened_clay_" .. color, -- Only paint uncolored so the biome can choose -- a color in advance. wherein = {"mcl_colorblocks:hardened_clay"}, @@ -2380,56 +2891,56 @@ local function register_biomelike_ores() biomes = perfect_biomes, }) if not is_perfect then - -- Slightly eroded stratum, only minor imperfections - minetest.register_ore({ - ore_type = "stratum", - ore = "mcl_colorblocks:hardened_clay_"..color, - wherein = {"mcl_colorblocks:hardened_clay"}, - y_min = y_min, - y_max = y_max, - biomes = { "Mesa", "MesaPlateauF" }, - noise_params = { - offset = y_min+(y_max-y_min)/2, - scale = 0, - spread = {x = 50, y = 50, z = 50}, - seed = seed+4, - octaves = 1, - persist = 1.0 - }, - np_stratum_thickness = { - offset = 1.28, - scale = 1, - spread = {x = 18, y = 18, z = 18}, - seed = seed+4, - octaves = 3, - persist = 0.8, - }, - }) - -- Very eroded stratum, most of the color is gone - minetest.register_ore({ - ore_type = "stratum", - ore = "mcl_colorblocks:hardened_clay_"..color, - wherein = {"mcl_colorblocks:hardened_clay"}, - y_min = y_min, - y_max = y_max, - biomes = { "MesaPlateauFM" }, - noise_params = { - offset = y_min+(y_max-y_min)/2, - scale = 0, - spread = {x = 50, y = 50, z = 50}, - seed = seed+4, - octaves = 1, - persist = 1.0 - }, - np_stratum_thickness = { - offset = 0.1, - scale = 1, - spread = {x = 28, y = 28, z = 28}, - seed = seed+4, - octaves = 2, - persist = 0.6, - }, - }) + -- Slightly eroded stratum, only minor imperfections + minetest.register_ore({ + ore_type = "stratum", + ore = "mcl_colorblocks:hardened_clay_" .. color, + wherein = {"mcl_colorblocks:hardened_clay"}, + y_min = y_min, + y_max = y_max, + biomes = {"Mesa", "MesaPlateauF"}, + noise_params = { + offset = y_min + (y_max - y_min) / 2, + scale = 0, + spread = {x = 50, y = 50, z = 50}, + seed = seed + 4, + octaves = 1, + persist = 1.0 + }, + np_stratum_thickness = { + offset = 1.28, + scale = 1, + spread = {x = 18, y = 18, z = 18}, + seed = seed + 4, + octaves = 3, + persist = 0.8, + }, + }) + -- Very eroded stratum, most of the color is gone + minetest.register_ore({ + ore_type = "stratum", + ore = "mcl_colorblocks:hardened_clay_" .. color, + wherein = {"mcl_colorblocks:hardened_clay"}, + y_min = y_min, + y_max = y_max, + biomes = {"MesaPlateauFM"}, + noise_params = { + offset = y_min + (y_max - y_min) / 2, + scale = 0, + spread = {x = 50, y = 50, z = 50}, + seed = seed + 4, + octaves = 1, + persist = 1.0 + }, + np_stratum_thickness = { + offset = 0.1, + scale = 1, + spread = {x = 28, y = 28, z = 28}, + seed = seed + 4, + octaves = 2, + persist = 0.6, + }, + }) end end @@ -2458,7 +2969,7 @@ local function register_biomelike_ores() suddenly don't match up anymore. ]] -- Available Mesa colors: - local mesa_stratum_colors = { "silver", "brown", "orange", "red", "yellow", "white" } + local mesa_stratum_colors = {"silver", "brown", "orange", "red", "yellow", "white"} -- Start level local y = 17 @@ -2518,17 +3029,17 @@ local function register_dimension_ores() -- Soul sand minetest.register_ore({ - ore_type = "sheet", - ore = "mcl_nether:soul_sand", + ore_type = "sheet", + ore = "mcl_nether:soul_sand", -- Note: Stone is included only for v6 mapgen support. Netherrack is not generated naturally -- in v6, but instead set with the on_generated function in mcl_mapgen_core. - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, - clust_scarcity = 13 * 13 * 13, - clust_size = 5, - y_min = mcl_vars.mg_nether_min, - y_max = mcl_worlds.layer_to_y(64, "nether"), + wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + clust_scarcity = 13 * 13 * 13, + clust_size = 5, + y_min = mcl_vars.mg_nether_min, + y_max = mcl_worlds.layer_to_y(64, "nether"), noise_threshold = 0.0, - noise_params = { + noise_params = { offset = 0.5, scale = 0.1, spread = {x = 5, y = 5, z = 5}, @@ -2540,19 +3051,19 @@ local function register_dimension_ores() -- Magma blocks minetest.register_ore({ - ore_type = "blob", - ore = "mcl_nether:magma", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, - clust_scarcity = 8*8*8, + ore_type = "blob", + ore = "mcl_nether:magma", + wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + clust_scarcity = 8 * 8 * 8, clust_num_ores = 45, - clust_size = 6, - y_min = mcl_worlds.layer_to_y(23, "nether"), - y_max = mcl_worlds.layer_to_y(37, "nether"), + clust_size = 6, + y_min = mcl_worlds.layer_to_y(23, "nether"), + y_max = mcl_worlds.layer_to_y(37, "nether"), noise_params = { - offset = 0, - scale = 1, - spread = {x=250, y=250, z=250}, - seed = 12345, + offset = 0, + scale = 1, + spread = {x = 250, y = 250, z = 250}, + seed = 12345, octaves = 3, persist = 0.6, lacunarity = 2, @@ -2560,19 +3071,19 @@ local function register_dimension_ores() }, }) minetest.register_ore({ - ore_type = "blob", - ore = "mcl_nether:magma", - wherein = {"mcl_nether:netherrack"}, - clust_scarcity = 10*10*10, + ore_type = "blob", + ore = "mcl_nether:magma", + wherein = {"mcl_nether:netherrack"}, + clust_scarcity = 10 * 10 * 10, clust_num_ores = 65, - clust_size = 8, - y_min = mcl_worlds.layer_to_y(23, "nether"), - y_max = mcl_worlds.layer_to_y(37, "nether"), + clust_size = 8, + y_min = mcl_worlds.layer_to_y(23, "nether"), + y_max = mcl_worlds.layer_to_y(37, "nether"), noise_params = { - offset = 0, - scale = 1, - spread = {x=250, y=250, z=250}, - seed = 12345, + offset = 0, + scale = 1, + spread = {x = 250, y = 250, z = 250}, + seed = 12345, octaves = 3, persist = 0.6, lacunarity = 2, @@ -2582,15 +3093,15 @@ local function register_dimension_ores() -- Glowstone minetest.register_ore({ - ore_type = "blob", - ore = "mcl_nether:glowstone", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, - clust_scarcity = 26 * 26 * 26, - clust_size = 5, - y_min = mcl_vars.mg_lava_nether_max + 10, - y_max = mcl_vars.mg_nether_max - 13, + ore_type = "blob", + ore = "mcl_nether:glowstone", + wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + clust_scarcity = 26 * 26 * 26, + clust_size = 5, + y_min = mcl_vars.mg_lava_nether_max + 10, + y_max = mcl_vars.mg_nether_max - 13, noise_threshold = 0.0, - noise_params = { + noise_params = { offset = 0.5, scale = 0.1, spread = {x = 5, y = 5, z = 5}, @@ -2602,17 +3113,17 @@ local function register_dimension_ores() -- Gravel (Nether) minetest.register_ore({ - ore_type = "sheet", - ore = "mcl_core:gravel", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + ore_type = "sheet", + ore = "mcl_core:gravel", + wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, column_height_min = 1, column_height_max = 1, column_midpoint_factor = 0, - y_min = mcl_worlds.layer_to_y(63, "nether"), + y_min = mcl_worlds.layer_to_y(63, "nether"), -- This should be 65, but for some reason with this setting, the sheet ore really stops at 65. o_O - y_max = mcl_worlds.layer_to_y(65+2, "nether"), + y_max = mcl_worlds.layer_to_y(65 + 2, "nether"), noise_threshold = 0.2, - noise_params = { + noise_params = { offset = 0.0, scale = 0.5, spread = {x = 20, y = 20, z = 20}, @@ -2625,22 +3136,22 @@ local function register_dimension_ores() -- Nether quartz if minetest.settings:get_bool("mcl_generate_ores", true) then minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_nether:quartz_ore", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + ore_type = "scatter", + ore = "mcl_nether:quartz_ore", + wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, clust_scarcity = 850, clust_num_ores = 4, -- MC cluster amount: 4-10 - clust_size = 3, + clust_size = 3, y_min = mcl_vars.mg_nether_min, y_max = mcl_vars.mg_nether_max, }) minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_nether:quartz_ore", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + ore_type = "scatter", + ore = "mcl_nether:quartz_ore", + wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, clust_scarcity = 1650, clust_num_ores = 8, -- MC cluster amount: 4-10 - clust_size = 4, + clust_size = 4, y_min = mcl_vars.mg_nether_min, y_max = mcl_vars.mg_nether_max, }) @@ -2648,62 +3159,62 @@ local function register_dimension_ores() -- Lava springs in the Nether minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_nether:nether_lava_source", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + ore_type = "scatter", + ore = "mcl_nether:nether_lava_source", + wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, clust_scarcity = 13500, --rare clust_num_ores = 1, - clust_size = 1, - y_min = mcl_vars.mg_lava_nether_max, - y_max = mcl_vars.mg_nether_max - 13, + clust_size = 1, + y_min = mcl_vars.mg_lava_nether_max, + y_max = mcl_vars.mg_nether_max - 13, }) - local lava_biomes = {"BasaltDelta","Nether"} + local lava_biomes = {"BasaltDelta", "Nether"} minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_nether:nether_lava_source", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + ore_type = "scatter", + ore = "mcl_nether:nether_lava_source", + wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, clust_scarcity = 500, clust_num_ores = 1, - clust_size = 1, - biomes = lava_biomes, - y_min = mcl_vars.mg_nether_min, - y_max = mcl_vars.mg_lava_nether_max + 1, + clust_size = 1, + biomes = lava_biomes, + y_min = mcl_vars.mg_nether_min, + y_max = mcl_vars.mg_lava_nether_max + 1, }) minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_nether:nether_lava_source", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + ore_type = "scatter", + ore = "mcl_nether:nether_lava_source", + wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, clust_scarcity = 1000, clust_num_ores = 1, - clust_size = 1, - biomes = lava_biomes, - y_min = mcl_vars.mg_lava_nether_max + 2, - y_max = mcl_vars.mg_lava_nether_max + 12, + clust_size = 1, + biomes = lava_biomes, + y_min = mcl_vars.mg_lava_nether_max + 2, + y_max = mcl_vars.mg_lava_nether_max + 12, }) minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_nether:nether_lava_source", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + ore_type = "scatter", + ore = "mcl_nether:nether_lava_source", + wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, clust_scarcity = 2000, clust_num_ores = 1, - clust_size = 1, - biomes = lava_biomes, - y_min = mcl_vars.mg_lava_nether_max + 13, - y_max = mcl_vars.mg_lava_nether_max + 48, + clust_size = 1, + biomes = lava_biomes, + y_min = mcl_vars.mg_lava_nether_max + 13, + y_max = mcl_vars.mg_lava_nether_max + 48, }) minetest.register_ore({ - ore_type = "scatter", - ore = "mcl_nether:nether_lava_source", - wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, + ore_type = "scatter", + ore = "mcl_nether:nether_lava_source", + wherein = {"mcl_nether:netherrack", "mcl_core:stone"}, clust_scarcity = 3500, clust_num_ores = 1, - clust_size = 1, - biomes = lava_biomes, - y_min = mcl_vars.mg_lava_nether_max + 49, - y_max = mcl_vars.mg_nether_max - 13, + clust_size = 1, + biomes = lava_biomes, + y_min = mcl_vars.mg_lava_nether_max + 49, + y_max = mcl_vars.mg_nether_max - 13, }) --[[ THE END ]] @@ -2722,20 +3233,20 @@ local function register_dimension_ores() local mult = 1.0 minetest.register_ore({ - ore_type = "stratum", - ore = "mcl_end:end_stone", - wherein = end_wherein, - biomes = {"EndSmallIslands","Endborder"}, - y_min = mcl_vars.mg_end_min+64, - y_max = mcl_vars.mg_end_min+80, - clust_num_ores = 3375, - clust_size = 15, + ore_type = "stratum", + ore = "mcl_end:end_stone", + wherein = end_wherein, + biomes = {"EndSmallIslands", "Endborder"}, + y_min = mcl_vars.mg_end_min + 64, + y_max = mcl_vars.mg_end_min + 80, + clust_num_ores = 3375, + clust_size = 15, noise_params = { - offset = mcl_vars.mg_end_min+70, - scale = -1, - spread = {x=84, y=84, z=84}, - seed = 145, + offset = mcl_vars.mg_end_min + 70, + scale = -1, + spread = {x = 84, y = 84, z = 84}, + seed = 145, octaves = 3, persist = 0.6, lacunarity = 2, @@ -2743,10 +3254,10 @@ local function register_dimension_ores() }, np_stratum_thickness = { - offset = 0, - scale = 15, - spread = {x=84, y=84, z=84}, - seed = 145, + offset = 0, + scale = 15, + spread = {x = 84, y = 84, z = 84}, + seed = 145, octaves = 3, persist = 0.6, lacunarity = 2, @@ -2756,27 +3267,27 @@ local function register_dimension_ores() }) minetest.register_ore({ - ore_type = "stratum", - ore = "mcl_end:end_stone", - wherein = end_wherein, - biomes = {"End","EndMidlands","EndHighlands","EndBarrens"}, - y_min = mcl_vars.mg_end_min+64, - y_max = mcl_vars.mg_end_min+80, + ore_type = "stratum", + ore = "mcl_end:end_stone", + wherein = end_wherein, + biomes = {"End", "EndMidlands", "EndHighlands", "EndBarrens"}, + y_min = mcl_vars.mg_end_min + 64, + y_max = mcl_vars.mg_end_min + 80, noise_params = { - offset = mcl_vars.mg_end_min+70, - scale = -1, - spread = {x=126, y=126, z=126}, - seed = mg_seed+9999, + offset = mcl_vars.mg_end_min + 70, + scale = -1, + spread = {x = 126, y = 126, z = 126}, + seed = mg_seed + 9999, octaves = 3, persist = 0.5, }, np_stratum_thickness = { - offset = -2, - scale = 10, - spread = {x=126, y=126, z=126}, - seed = mg_seed+9999, + offset = -2, + scale = 10, + spread = {x = 126, y = 126, z = 126}, + seed = mg_seed + 9999, octaves = 3, persist = 0.5, }, @@ -2784,54 +3295,54 @@ local function register_dimension_ores() }) minetest.register_ore({ - ore_type = "stratum", - ore = "mcl_end:end_stone", - wherein = end_wherein, - biomes = {"End","EndMidlands","EndHighlands","EndBarrens"}, - y_min = mcl_vars.mg_end_min+64, - y_max = mcl_vars.mg_end_min+80, + ore_type = "stratum", + ore = "mcl_end:end_stone", + wherein = end_wherein, + biomes = {"End", "EndMidlands", "EndHighlands", "EndBarrens"}, + y_min = mcl_vars.mg_end_min + 64, + y_max = mcl_vars.mg_end_min + 80, noise_params = { - offset = mcl_vars.mg_end_min+72, - scale = -3, - spread = {x=84, y=84, z=84}, - seed = mg_seed+999, + offset = mcl_vars.mg_end_min + 72, + scale = -3, + spread = {x = 84, y = 84, z = 84}, + seed = mg_seed + 999, octaves = 4, persist = 0.8, }, np_stratum_thickness = { - offset = -4, - scale = 10, - spread = {x=84, y=84, z=84}, - seed = mg_seed+999, + offset = -4, + scale = 10, + spread = {x = 84, y = 84, z = 84}, + seed = mg_seed + 999, octaves = 4, persist = 0.8, }, clust_scarcity = 1, }) minetest.register_ore({ - ore_type = "stratum", - ore = "mcl_end:end_stone", - wherein = end_wherein, - biomes = {"End","EndMidlands","EndHighlands","EndBarrens"}, - y_min = mcl_vars.mg_end_min+64, - y_max = mcl_vars.mg_end_min+80, + ore_type = "stratum", + ore = "mcl_end:end_stone", + wherein = end_wherein, + biomes = {"End", "EndMidlands", "EndHighlands", "EndBarrens"}, + y_min = mcl_vars.mg_end_min + 64, + y_max = mcl_vars.mg_end_min + 80, noise_params = { - offset = mcl_vars.mg_end_min+70, - scale = -2, - spread = {x=84, y=84, z=84}, - seed = mg_seed+99, + offset = mcl_vars.mg_end_min + 70, + scale = -2, + spread = {x = 84, y = 84, z = 84}, + seed = mg_seed + 99, octaves = 4, persist = 0.85, }, np_stratum_thickness = { - offset = -3, - scale = 5, - spread = {x=63, y=63, z=63}, - seed = mg_seed+50, + offset = -3, + scale = 5, + spread = {x = 63, y = 63, z = 63}, + seed = mg_seed + 50, octaves = 4, persist = 0.85, }, @@ -2848,11 +3359,11 @@ local function register_grass_decoration(grasstype, offset, scale, biomes) local place_on, seed, node if grasstype == "fern" then node = "mcl_flowers:fern" - place_on = {"group:grass_block_no_snow", "mcl_core:podzol","mcl_mud:mud"} + place_on = {"group:grass_block_no_snow", "mcl_core:podzol", "mcl_mud:mud"} seed = 333 elseif grasstype == "tallgrass" then node = "mcl_flowers:tallgrass" - place_on = {"group:grass_block_no_snow","mcl_mud:mud"} + place_on = {"group:grass_block_no_snow", "mcl_mud:mud"} seed = 420 end local noise = { @@ -2863,14 +3374,14 @@ local function register_grass_decoration(grasstype, offset, scale, biomes) octaves = 3, persist = 0.6 } - for b=1, #biomes do - local param2 = minetest.registered_biomes[biomes[b]]._mcl_palette_index + for b = 1, #biomes do + local param2 = minetest.registered_biomes[biomes[b]]._mcl_grass_palette_index minetest.register_decoration({ deco_type = "simple", place_on = place_on, sidelen = 16, noise_params = noise, - biomes = { biomes[b] }, + biomes = {biomes[b]}, y_min = 1, y_max = mcl_vars.mg_overworld_max, decoration = node, @@ -2883,15 +3394,15 @@ local function register_seagrass_decoration(grasstype, offset, scale, biomes) local seed, nodes, surfaces, param2, param2_max, y_max if grasstype == "seagrass" then seed = 16 - surfaces = { "mcl_core:dirt", "mcl_core:sand", "mcl_core:gravel", "mcl_core:redsand" } - nodes = { "mcl_ocean:seagrass_dirt", "mcl_ocean:seagrass_sand", "mcl_ocean:seagrass_gravel", "mcl_ocean:seagrass_redsand" } + surfaces = {"mcl_core:dirt", "mcl_core:sand", "mcl_core:gravel", "mcl_core:redsand"} + nodes = {"mcl_ocean:seagrass_dirt", "mcl_ocean:seagrass_sand", "mcl_ocean:seagrass_gravel", "mcl_ocean:seagrass_redsand"} y_max = 0 elseif grasstype == "kelp" then seed = 32 param2 = 16 param2_max = 96 - surfaces = { "mcl_core:dirt", "mcl_core:sand", "mcl_core:gravel" } - nodes = { "mcl_ocean:kelp_dirt", "mcl_ocean:kelp_sand", "mcl_ocean:kelp_gravel" } + surfaces = {"mcl_core:dirt", "mcl_core:sand", "mcl_core:gravel"} + nodes = {"mcl_ocean:kelp_dirt", "mcl_ocean:kelp_sand", "mcl_ocean:kelp_gravel"} y_max = -6 end local noise = { @@ -2903,10 +3414,10 @@ local function register_seagrass_decoration(grasstype, offset, scale, biomes) persist = 0.6, } - for s=1, #surfaces do + for s = 1, #surfaces do minetest.register_decoration({ deco_type = "simple", - place_on = { surfaces[s] }, + place_on = {surfaces[s]}, sidelen = 16, noise_params = noise, biomes = biomes, @@ -2952,48 +3463,48 @@ local corals = { local function register_coral_decos(ck) local c = corals[ck] local noise = { - offset = -0.0085, - scale = 0.002, - spread = {x = 25, y = 120, z = 25}, - seed = 235, - octaves = 5, - persist = 1.8, - lacunarity = 3.5, - flags = "absvalue" - } + offset = -0.0085, + scale = 0.002, + spread = {x = 25, y = 120, z = 25}, + seed = 235, + octaves = 5, + persist = 1.8, + lacunarity = 3.5, + flags = "absvalue" + } minetest.register_decoration({ deco_type = "schematic", - place_on = {"group:sand","mcl_core:gravel","mcl_mud:mud"}, + place_on = {"group:sand", "mcl_core:gravel", "mcl_mud:mud"}, sidelen = 80, noise_params = noise, biomes = warm_oceans, y_min = coral_min, y_max = coral_max, - schematic = mod_mcl_structures.."/schematics/mcl_structures_coral_"..c.."_1.mts", + schematic = mod_mcl_structures .. "/schematics/mcl_structures_coral_" .. c .. "_1.mts", rotation = "random", flags = "all_floors,force_placement", }) minetest.register_decoration({ deco_type = "schematic", - place_on = {"group:sand","mcl_core:gravel","mcl_mud:mud"}, + place_on = {"group:sand", "mcl_core:gravel", "mcl_mud:mud"}, noise_params = noise, sidelen = 80, biomes = warm_oceans, y_min = coral_min, y_max = coral_max, - schematic = mod_mcl_structures.."/schematics/mcl_structures_coral_"..c.."_2.mts", + schematic = mod_mcl_structures .. "/schematics/mcl_structures_coral_" .. c .. "_2.mts", rotation = "random", flags = "all_floors,force_placement", }) minetest.register_decoration({ deco_type = "simple", - place_on = {"mcl_ocean:"..c.."_coral_block"}, + place_on = {"mcl_ocean:" .. c .. "_coral_block"}, sidelen = 16, fill_ratio = 3, y_min = coral_min, y_max = coral_max, - decoration = "mcl_ocean:"..c.."_coral", + decoration = "mcl_ocean:" .. c .. "_coral", biomes = warm_oceans, flags = "force_placement, all_floors", height = 1, @@ -3006,7 +3517,7 @@ local function register_coral_decos(ck) fill_ratio = 7, y_min = coral_min, y_max = coral_max, - decoration = "mcl_ocean:"..c.."_coral_fan", + decoration = "mcl_ocean:" .. c .. "_coral_fan", biomes = warm_oceans, flags = "force_placement, all_floors", height = 1, @@ -3016,12 +3527,12 @@ end local function register_decorations() -- Coral Reefs - for k,_ in pairs(corals) do + for k, _ in pairs(corals) do register_coral_decos(k) end minetest.register_decoration({ deco_type = "simple", - place_on = {"group:sand","mcl_core:gravel","mcl_mud:mud"}, + place_on = {"group:sand", "mcl_core:gravel", "mcl_mud:mud"}, sidelen = 16, noise_params = { offset = -0.0085, @@ -3102,20 +3613,20 @@ local function register_decorations() --rare CORAl minetest.register_decoration({ deco_type = "schematic", - place_on = {"group:sand","mcl_core:gravel"}, + place_on = {"group:sand", "mcl_core:gravel"}, fill_ratio = 0.0001, sidelen = 80, biomes = warm_oceans, y_min = coral_min, y_max = coral_max, - schematic = mod_mcl_structures.."/schematics/coral_cora.mts", + schematic = mod_mcl_structures .. "/schematics/coral_cora.mts", rotation = "random", flags = "place_center_x,place_center_z, force_placement", }) minetest.register_decoration({ deco_type = "simple", - place_on = {"mcl_core:dirt_with_grass","mcl_core:podzol"}, + place_on = {"mcl_core:dirt_with_grass", "mcl_core:podzol"}, sidelen = 16, noise_params = { offset = 0, @@ -3127,7 +3638,7 @@ local function register_decorations() lacunarity = 1.0, flags = "absvalue" }, - biomes = {"Taiga","ColdTaiga","MegaTaiga","MegaSpruceTaiga", "Forest"}, + biomes = {"Taiga", "ColdTaiga", "MegaTaiga", "MegaSpruceTaiga", "Forest"}, y_max = mcl_vars.mg_overworld_max, y_min = 2, decoration = "mcl_sweet_berry:sweet_berry_bush_3" @@ -3149,7 +3660,7 @@ local function register_decorations() biomes = {"IcePlainsSpikes"}, y_min = 4, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_structures.."/schematics/mcl_structures_ice_spike_large.mts", + schematic = mod_mcl_structures .. "/schematics/mcl_structures_ice_spike_large.mts", rotation = "random", flags = "place_center_x, place_center_z", }) @@ -3170,14 +3681,14 @@ local function register_decorations() biomes = {"IcePlainsSpikes"}, y_min = 4, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_structures.."/schematics/mcl_structures_ice_spike_small.mts", + schematic = mod_mcl_structures .. "/schematics/mcl_structures_ice_spike_small.mts", rotation = "random", flags = "place_center_x, place_center_z", }) -- Oak -- Large oaks - for i=1, 4 do + for i = 1, 4 do minetest.register_decoration({ deco_type = "schematic", place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, @@ -3193,7 +3704,7 @@ local function register_decorations() biomes = {"Forest"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_large_"..i..".mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_large_" .. i .. ".mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3213,7 +3724,7 @@ local function register_decorations() biomes = {"ExtremeHills", "ExtremeHillsM", "ExtremeHills+", "ExtremeHills+_snowtop"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_large_"..i..".mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_large_" .. i .. ".mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3234,7 +3745,7 @@ local function register_decorations() biomes = {"Forest"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_classic.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_classic.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3253,7 +3764,7 @@ local function register_decorations() biomes = {"FlowerForest"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_classic.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_classic.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3272,7 +3783,7 @@ local function register_decorations() biomes = {"ExtremeHills", "ExtremeHillsM", "ExtremeHills+", "ExtremeHills+_snowtop"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_classic.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_classic.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3292,7 +3803,7 @@ local function register_decorations() biomes = {"ExtremeHills+", "ExtremeHills+_snowtop"}, y_min = 50, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_classic.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_classic.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3311,7 +3822,7 @@ local function register_decorations() biomes = {"MesaPlateauF_grasstop"}, y_min = 30, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_classic.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_classic.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3330,7 +3841,7 @@ local function register_decorations() biomes = {"MesaPlateauFM_grasstop"}, y_min = 30, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_classic.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_classic.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3350,7 +3861,7 @@ local function register_decorations() biomes = {"IcePlains"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_classic.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_classic.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3362,7 +3873,7 @@ local function register_decorations() biomes = {"Jungle", "JungleM"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_classic.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_classic.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3374,7 +3885,7 @@ local function register_decorations() biomes = {"JungleEdge", "JungleEdgeM", "Savanna"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_classic.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_classic.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3394,7 +3905,7 @@ local function register_decorations() biomes = {"FlowerForest"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_classic_bee_nest.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_classic_bee_nest.mts", flags = "place_center_x, place_center_z", rotation = "random", spawn_by = "group:flower", @@ -3415,7 +3926,7 @@ local function register_decorations() biomes = {"Forest"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_classic_bee_nest.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_classic_bee_nest.mts", flags = "place_center_x, place_center_z", rotation = "random", spawn_by = "group:flower", @@ -3437,7 +3948,7 @@ local function register_decorations() biomes = {"Forest"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_balloon.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_balloon.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3458,7 +3969,7 @@ local function register_decorations() biomes = {"Swampland", "Swampland_shore"}, y_min = 0, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_oak_swamp.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_oak_swamp.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3469,10 +3980,10 @@ local function register_decorations() place_on = {"mcl_mud:mud"}, sidelen = 80, fill_ratio = 0.0065, - biomes = {"MangroveSwamp","MangroveSwamp_shore"}, + biomes = {"MangroveSwamp", "MangroveSwamp_shore"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mangrove.."/schematics/mcl_mangrove_tree_1.mts", + schematic = mod_mcl_mangrove .. "/schematics/mcl_mangrove_tree_1.mts", flags = "place_center_x, place_center_z, force_placement", rotation = "random", }) @@ -3482,10 +3993,10 @@ local function register_decorations() place_on = {"mcl_mud:mud"}, sidelen = 80, fill_ratio = 0.0045, - biomes = {"MangroveSwamp","MangroveSwamp_shore"}, + biomes = {"MangroveSwamp", "MangroveSwamp_shore"}, y_min = -1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mangrove.."/schematics/mcl_mangrove_tree_2.mts", + schematic = mod_mcl_mangrove .. "/schematics/mcl_mangrove_tree_2.mts", flags = "place_center_x, place_center_z, force_placement", rotation = "random", }) @@ -3495,10 +4006,10 @@ local function register_decorations() place_on = {"mcl_mud:mud"}, sidelen = 80, fill_ratio = 0.023, - biomes = {"MangroveSwamp","MangroveSwamp_shore"}, + biomes = {"MangroveSwamp", "MangroveSwamp_shore"}, y_min = -1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mangrove.."/schematics/mcl_mangrove_tree_3.mts", + schematic = mod_mcl_mangrove .. "/schematics/mcl_mangrove_tree_3.mts", flags = "place_center_x, place_center_z, force_placement", rotation = "random", }) @@ -3508,10 +4019,10 @@ local function register_decorations() place_on = {"mcl_mud:mud"}, sidelen = 80, fill_ratio = 0.023, - biomes = {"MangroveSwamp","MangroveSwamp_shore"}, + biomes = {"MangroveSwamp", "MangroveSwamp_shore"}, y_min = -1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mangrove.."/schematics/mcl_mangrove_tree_4.mts", + schematic = mod_mcl_mangrove .. "/schematics/mcl_mangrove_tree_4.mts", flags = "place_center_x, place_center_z, force_placement", rotation = "random", }) @@ -3521,10 +4032,10 @@ local function register_decorations() place_on = {"mcl_mud:mud"}, sidelen = 80, fill_ratio = 0.023, - biomes = {"MangroveSwamp","MangroveSwamp_shore"}, + biomes = {"MangroveSwamp", "MangroveSwamp_shore"}, y_min = -1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mangrove.."/schematics/mcl_mangrove_tree_5.mts", + schematic = mod_mcl_mangrove .. "/schematics/mcl_mangrove_tree_5.mts", flags = "place_center_x, place_center_z, force_placement", rotation = "random", }) @@ -3544,7 +4055,7 @@ local function register_decorations() biomes = {"MangroveSwamp"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mangrove.."/schematics/mcl_mangrove_bee_nest.mts", + schematic = mod_mcl_mangrove .. "/schematics/mcl_mangrove_bee_nest.mts", flags = "place_center_x, place_center_z, force_placement", rotation = "random", spawn_by = "group:flower", @@ -3554,7 +4065,7 @@ local function register_decorations() place_on = {"mcl_mud:mud"}, sidelen = 80, fill_ratio = 0.045, - biomes = {"MangroveSwamp","MangroveSwamp_shore"}, + biomes = {"MangroveSwamp", "MangroveSwamp_shore"}, y_min = 0, y_max = 0, decoration = "mcl_mangrove:water_logged_roots", @@ -3568,7 +4079,7 @@ local function register_decorations() num_spawn_by = 2, sidelen = 80, fill_ratio = 10, - biomes = {"MangroveSwamp","MangroveSwamp_shore"}, + biomes = {"MangroveSwamp", "MangroveSwamp_shore"}, y_min = 0, y_max = 0, decoration = "mcl_mangrove:water_logged_roots", @@ -3579,7 +4090,7 @@ local function register_decorations() place_on = {"mcl_mud:mud"}, sidelen = 80, fill_ratio = 0.045, - biomes = {"MangroveSwamp","MangroveSwamp_shore"}, + biomes = {"MangroveSwamp", "MangroveSwamp_shore"}, place_offset_y = -1, decoration = "mcl_mangrove:mangrove_mud_roots", flags = "place_center_x, place_center_z, force_placement", @@ -3589,7 +4100,7 @@ local function register_decorations() place_on = {"mcl_mud:mud"}, sidelen = 80, fill_ratio = 0.008, - biomes = {"MangroveSwamp","MangroveSwamp_shore"}, + biomes = {"MangroveSwamp", "MangroveSwamp_shore"}, decoration = "mcl_core:deadbush", flags = "place_center_x, place_center_z", }) @@ -3598,7 +4109,7 @@ local function register_decorations() place_on = {"mcl_core:water_source"}, sidelen = 80, fill_ratio = 0.035, - biomes = {"MangroveSwamp","MangroveSwamp_shore"}, + biomes = {"MangroveSwamp", "MangroveSwamp_shore"}, decoration = "mcl_flowers:waterlily", flags = "place_center_x, place_center_z, liquid_surface", }) @@ -3606,7 +4117,7 @@ local function register_decorations() -- Jungle tree -- Huge jungle tree (4 variants) - for i=1, 4 do + for i = 1, 4 do minetest.register_decoration({ deco_type = "schematic", place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, @@ -3615,7 +4126,7 @@ local function register_decorations() biomes = {"Jungle"}, y_min = 4, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_jungle_tree_huge_"..i..".mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_tree_huge_" .. i .. ".mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3627,7 +4138,7 @@ local function register_decorations() biomes = {"JungleM"}, y_min = 4, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_jungle_tree_huge_"..i..".mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_tree_huge_" .. i .. ".mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3642,7 +4153,7 @@ local function register_decorations() biomes = {"Jungle"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_jungle_tree.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_tree.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3654,7 +4165,7 @@ local function register_decorations() biomes = {"Jungle"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_jungle_tree_2.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_tree_2.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3666,7 +4177,7 @@ local function register_decorations() biomes = {"Jungle"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_jungle_tree_3.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_tree_3.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3678,7 +4189,7 @@ local function register_decorations() biomes = {"Jungle"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_jungle_tree_4.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_tree_4.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3687,10 +4198,10 @@ local function register_decorations() place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, sidelen = 80, fill_ratio = 0.025, - biomes = {"Jungle"}, + biomes = {"Jungle","BambooJungle"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_jungle_tree.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_tree.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3699,10 +4210,10 @@ local function register_decorations() place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, sidelen = 80, fill_ratio = 0.0045, - biomes = {"JungleEdge", "JungleEdgeM"}, + biomes = {"JungleEdge", "JungleEdgeM", "BambooJungleEdge", "BambooJungleEdgeM"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_jungle_tree.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_tree.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3712,10 +4223,10 @@ local function register_decorations() place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, sidelen = 80, fill_ratio = 0.09, - biomes = {"JungleM"}, + biomes = {"JungleM", "BambooJungleM"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_jungle_tree_2.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_tree_2.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3739,7 +4250,7 @@ local function register_decorations() biomes = biomes, y_min = y, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/"..sprucename, + schematic = mod_mcl_core .. "/schematics/" .. sprucename, flags = "place_center_x, place_center_z", }) end @@ -3793,7 +4304,7 @@ local function register_decorations() biomes = {"Taiga", "ColdTaiga"}, y_min = 2, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_spruce_lollipop.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_spruce_lollipop.mts", flags = "place_center_x, place_center_z", }) @@ -3813,7 +4324,7 @@ local function register_decorations() biomes = {"Taiga", "ColdTaiga"}, y_min = 3, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_spruce_matchstick.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_spruce_matchstick.mts", flags = "place_center_x, place_center_z", }) @@ -3833,12 +4344,12 @@ local function register_decorations() biomes = {"IcePlains"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_spruce_5.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_spruce_5.mts", flags = "place_center_x, place_center_z", }) -- Acacia (many variants) - for a=1, 7 do + for a = 1, 7 do minetest.register_decoration({ deco_type = "schematic", place_on = {"mcl_core:dirt_with_grass", "mcl_core:dirt", "mcl_core:coarse_dirt"}, @@ -3847,7 +4358,7 @@ local function register_decorations() biomes = {"Savanna", "SavannaM"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_acacia_"..a..".mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_acacia_" .. a .. ".mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -3869,7 +4380,7 @@ local function register_decorations() biomes = {"BirchForest"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_birch.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_birch.mts", flags = "place_center_x, place_center_z", }) minetest.register_decoration({ @@ -3887,7 +4398,7 @@ local function register_decorations() biomes = {"BirchForestM"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_birch_tall.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_birch_tall.mts", flags = "place_center_x, place_center_z", }) @@ -3906,7 +4417,7 @@ local function register_decorations() biomes = {"Forest", "FlowerForest"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_birch.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_birch.mts", flags = "place_center_x, place_center_z", }) minetest.register_decoration({ @@ -3925,7 +4436,7 @@ local function register_decorations() biomes = {"Forest", "BirchForest", "BirchForestM"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_birch_bee_nest.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_birch_bee_nest.mts", flags = "place_center_x, place_center_z", rotation = "random", spawn_by = "group:flower", @@ -3947,66 +4458,65 @@ local function register_decorations() biomes = {"RoofedForest"}, y_min = 4, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_dark_oak.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_dark_oak.mts", flags = "place_center_x, place_center_z", rotation = "random", }) - local ratio_mushroom = 0.0001 - local ratio_mushroom_huge = ratio_mushroom * (11/12) - local ratio_mushroom_giant = ratio_mushroom * (1/12) + local ratio_mushroom_huge = ratio_mushroom * (11 / 12) + local ratio_mushroom_giant = ratio_mushroom * (1 / 12) local ratio_mushroom_mycelium = 0.002 - local ratio_mushroom_mycelium_huge = ratio_mushroom_mycelium * (11/12) - local ratio_mushroom_mycelium_giant = ratio_mushroom_mycelium * (1/12) + local ratio_mushroom_mycelium_huge = ratio_mushroom_mycelium * (11 / 12) + local ratio_mushroom_mycelium_giant = ratio_mushroom_mycelium * (1 / 12) -- Huge Brown Mushroom minetest.register_decoration({ deco_type = "schematic", - place_on = { "group:grass_block_no_snow", "mcl_core:dirt" }, + place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, sidelen = 80, fill_ratio = ratio_mushroom_huge, - biomes = { "RoofedForest" }, + biomes = {"RoofedForest"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mushrooms.."/schematics/mcl_mushrooms_huge_brown.mts", + schematic = mod_mcl_mushrooms .. "/schematics/mcl_mushrooms_huge_brown.mts", flags = "place_center_x, place_center_z", rotation = "0", }) minetest.register_decoration({ deco_type = "schematic", - place_on = { "group:grass_block_no_snow", "mcl_core:dirt" }, + place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, sidelen = 80, fill_ratio = ratio_mushroom_giant, - biomes = { "RoofedForest" }, + biomes = {"RoofedForest"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mushrooms.."/schematics/mcl_mushrooms_giant_brown.mts", + schematic = mod_mcl_mushrooms .. "/schematics/mcl_mushrooms_giant_brown.mts", flags = "place_center_x, place_center_z", rotation = "0", }) minetest.register_decoration({ deco_type = "schematic", - place_on = { "mcl_core:mycelium" }, + place_on = {"mcl_core:mycelium"}, sidelen = 80, fill_ratio = ratio_mushroom_mycelium_huge, - biomes = { "MushroomIsland", "MushroomIslandShore" }, + biomes = {"MushroomIsland", "MushroomIslandShore"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mushrooms.."/schematics/mcl_mushrooms_huge_brown.mts", + schematic = mod_mcl_mushrooms .. "/schematics/mcl_mushrooms_huge_brown.mts", flags = "place_center_x, place_center_z", rotation = "0", }) minetest.register_decoration({ deco_type = "schematic", - place_on = { "mcl_core:mycelium" }, + place_on = {"mcl_core:mycelium"}, sidelen = 80, fill_ratio = ratio_mushroom_mycelium_giant, - biomes = { "MushroomIsland", "MushroomIslandShore" }, + biomes = {"MushroomIsland", "MushroomIslandShore"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mushrooms.."/schematics/mcl_mushrooms_giant_brown.mts", + schematic = mod_mcl_mushrooms .. "/schematics/mcl_mushrooms_giant_brown.mts", flags = "place_center_x, place_center_z", rotation = "0", }) @@ -4014,50 +4524,50 @@ local function register_decorations() -- Huge Red Mushroom minetest.register_decoration({ deco_type = "schematic", - place_on = { "group:grass_block_no_snow", "mcl_core:dirt" }, + place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, sidelen = 80, fill_ratio = ratio_mushroom_huge, - biomes = { "RoofedForest" }, + biomes = {"RoofedForest"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mushrooms.."/schematics/mcl_mushrooms_huge_red.mts", + schematic = mod_mcl_mushrooms .. "/schematics/mcl_mushrooms_huge_red.mts", flags = "place_center_x, place_center_z", rotation = "0", }) minetest.register_decoration({ deco_type = "schematic", - place_on = { "group:grass_block_no_snow", "mcl_core:dirt" }, + place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, sidelen = 80, fill_ratio = ratio_mushroom_giant, - biomes = { "RoofedForest" }, + biomes = {"RoofedForest"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mushrooms.."/schematics/mcl_mushrooms_giant_red.mts", + schematic = mod_mcl_mushrooms .. "/schematics/mcl_mushrooms_giant_red.mts", flags = "place_center_x, place_center_z", rotation = "0", }) minetest.register_decoration({ deco_type = "schematic", - place_on = { "mcl_core:mycelium" }, + place_on = {"mcl_core:mycelium"}, sidelen = 80, fill_ratio = ratio_mushroom_mycelium_huge, - biomes = { "MushroomIsland", "MushroomIslandShore" }, + biomes = {"MushroomIsland", "MushroomIslandShore"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mushrooms.."/schematics/mcl_mushrooms_huge_red.mts", + schematic = mod_mcl_mushrooms .. "/schematics/mcl_mushrooms_huge_red.mts", flags = "place_center_x, place_center_z", rotation = "0", }) minetest.register_decoration({ deco_type = "schematic", - place_on = { "mcl_core:mycelium" }, + place_on = {"mcl_core:mycelium"}, sidelen = 80, fill_ratio = ratio_mushroom_mycelium_giant, - biomes = { "MushroomIsland", "MushroomIslandShore" }, + biomes = {"MushroomIsland", "MushroomIslandShore"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_mushrooms.."/schematics/mcl_mushrooms_giant_red.mts", + schematic = mod_mcl_mushrooms .. "/schematics/mcl_mushrooms_giant_red.mts", flags = "place_center_x, place_center_z", rotation = "0", }) @@ -4113,7 +4623,7 @@ local function register_decorations() biomes = {"MegaTaiga", "MegaSpruceTaiga"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_structures.."/schematics/mcl_structures_boulder.mts", + schematic = mod_mcl_structures .. "/schematics/mcl_structures_boulder.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -4134,7 +4644,7 @@ local function register_decorations() biomes = {"MegaTaiga", "MegaSpruceTaiga"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_structures.."/schematics/mcl_structures_boulder_small.mts", + schematic = mod_mcl_structures .. "/schematics/mcl_structures_boulder_small.mts", flags = "place_center_x, place_center_z", rotation = "random", }) @@ -4156,9 +4666,9 @@ local function register_decorations() y_max = mcl_vars.mg_overworld_max, decoration = "mcl_core:cactus", biomes = {"Desert", - "Mesa","Mesa_sandlevel", - "MesaPlateauF","MesaPlateauF_sandlevel", - "MesaPlateauFM","MesaPlateauFM_sandlevel"}, + "Mesa", "Mesa_sandlevel", + "MesaPlateauF", "MesaPlateauF_sandlevel", + "MesaPlateauFM", "MesaPlateauFM_sandlevel"}, height = 1, height_max = 3, }) @@ -4181,7 +4691,7 @@ local function register_decorations() decoration = "mcl_core:reeds", height = 1, height_max = 3, - spawn_by = { "mcl_core:water_source", "group:frosted_ice" }, + spawn_by = {"mcl_core:water_source", "group:frosted_ice"}, num_spawn_by = 1, }) minetest.register_decoration({ @@ -4202,23 +4712,23 @@ local function register_decorations() decoration = "mcl_core:reeds", height = 1, height_max = 3, - spawn_by = { "mcl_core:water_source", "group:frosted_ice" }, + spawn_by = {"mcl_core:water_source", "group:frosted_ice"}, num_spawn_by = 1, }) -- Doubletall grass local function register_doubletall_grass(offset, scale, biomes) - for b=1, #biomes do - local param2 = minetest.registered_biomes[biomes[b]]._mcl_palette_index + for b = 1, #biomes do + local param2 = minetest.registered_biomes[biomes[b]]._mcl_grass_palette_index minetest.register_decoration({ deco_type = "schematic", schematic = { - size = { x=1, y=3, z=1 }, + size = {x = 1, y = 3, z = 1}, data = { - { name = "air", prob = 0 }, - { name = "mcl_flowers:double_grass", param1=255, param2=param2 }, - { name = "mcl_flowers:double_grass_top", param1=255, param2=param2 }, + {name = "air", prob = 0}, + {name = "mcl_flowers:double_grass", param1 = 255, param2 = param2}, + {name = "mcl_flowers:double_grass_top", param1 = 255, param2 = param2}, }, }, place_on = {"group:grass_block_no_snow"}, @@ -4233,7 +4743,7 @@ local function register_decorations() }, y_min = 1, y_max = mcl_vars.mg_overworld_max, - biomes = { biomes[b] }, + biomes = {biomes[b]}, }) end end @@ -4244,16 +4754,16 @@ local function register_decorations() -- Large ferns local function register_double_fern(offset, scale, biomes) - for b=1, #biomes do - local param2 = minetest.registered_biomes[biomes[b]]._mcl_palette_index + for b = 1, #biomes do + local param2 = minetest.registered_biomes[biomes[b]]._mcl_grass_palette_index minetest.register_decoration({ deco_type = "schematic", schematic = { - size = { x=1, y=3, z=1 }, + size = {x = 1, y = 3, z = 1}, data = { - { name = "air", prob = 0 }, - { name = "mcl_flowers:double_fern", param1=255, param2=param2 }, - { name = "mcl_flowers:double_fern_top", param1=255, param2=param2 }, + {name = "air", prob = 0}, + {name = "mcl_flowers:double_fern", param1 = 255, param2 = param2}, + {name = "mcl_flowers:double_fern_top", param1 = 255, param2 = param2}, }, }, place_on = {"group:grass_block_no_snow", "mcl_core:podzol"}, @@ -4273,8 +4783,8 @@ local function register_decorations() end end - register_double_fern(0.01, 0.03, { "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "ColdTaiga", "MegaTaiga", "MegaSpruceTaiga" }) - register_double_fern(0.15, 0.1, { "JungleM" }) + register_double_fern(0.01, 0.03, {"Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "ColdTaiga", "MegaTaiga", "MegaSpruceTaiga", "BambooJungle", "BambooJungleM", "BambooJungleEdge", "BambooJungleEdgeM", }) + register_double_fern(0.15, 0.1, {"JungleM", "BambooJungleM", "BambooJungle"}) -- Large flowers local function register_large_flower(name, biomes, seed, offset, flower_forest_offset) @@ -4284,24 +4794,24 @@ local function register_decorations() else maxi = 1 end - for i=1, maxi do + for i = 1, maxi do local o, b -- offset, biomes if i == 1 then o = offset b = biomes else o = flower_forest_offset - b = { "FlowerForest" } + b = {"FlowerForest"} end minetest.register_decoration({ deco_type = "schematic", schematic = { - size = { x=1, y=3, z=1 }, + size = {x = 1, y = 3, z = 1}, data = { - { name = "air", prob = 0 }, - { name = "mcl_flowers:"..name, param1=255, }, - { name = "mcl_flowers:"..name.."_top", param1=255, }, + {name = "air", prob = 0}, + {name = "mcl_flowers:" .. name, param1 = 255, }, + {name = "mcl_flowers:" .. name .. "_top", param1 = 255, }, }, }, place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, @@ -4345,7 +4855,7 @@ local function register_decorations() biomes = {"Jungle"}, y_min = 3, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_jungle_bush_oak_leaves.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_bush_oak_leaves.mts", flags = "place_center_x, place_center_z", }) minetest.register_decoration({ @@ -4360,10 +4870,10 @@ local function register_decorations() octaves = 4, persist = 0.6, }, - biomes = {"Jungle"}, + biomes = {"Jungle", }, y_min = 3, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_jungle_bush_oak_leaves_2.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_bush_oak_leaves_2.mts", flags = "place_center_x, place_center_z", }) minetest.register_decoration({ @@ -4378,10 +4888,10 @@ local function register_decorations() octaves = 4, persist = 0.6, }, - biomes = {"JungleM"}, + biomes = {"JungleM","BambooJungleM"}, y_min = 1, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_jungle_bush_oak_leaves.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_bush_oak_leaves.mts", flags = "place_center_x, place_center_z", }) minetest.register_decoration({ @@ -4396,13 +4906,68 @@ local function register_decorations() octaves = 4, persist = 0.6, }, - biomes = {"JungleEdge", "JungleEdgeM"}, + biomes = {"JungleEdge", "JungleEdgeM", "BambooJungleEdgeM"}, y_min = 3, y_max = mcl_vars.mg_overworld_max, - schematic = mod_mcl_core.."/schematics/mcl_core_jungle_bush_oak_leaves.mts", + schematic = mod_mcl_core .. "/schematics/mcl_core_jungle_bush_oak_leaves.mts", flags = "place_center_x, place_center_z", }) + -- Bamboo + minetest.register_decoration({ + deco_type = "simple", + place_on = {"group:grass_block_no_snow", "mcl_core:dirt", }, + sidelen = 80, + fill_ratio = 0.0043, + biomes = {"Jungle", "JungleM", "JungleEdge", "JungleEdgeM"}, + y_min = 1, + y_max = mcl_vars.mg_overworld_max, + decoration = "mcl_bamboo:bamboo", + height = 9, + max_height = 11, + flags = "place_center_x, place_center_z", + rotation = "random", + }) + + minetest.register_decoration({ + deco_type = "simple", + place_on = {"group:grass_block_no_snow", "mcl_core:dirt", "mcl_core:podzol"}, + sidelen = 80, + fill_ratio = 0.095, + biomes = {"BambooJungle", "BambooJungleM", "BambooJungleEdge", "BambooJungleEdgeM"}, + y_min = 1, + y_max = mcl_vars.mg_overworld_max, + decoration = "mcl_bamboo:bamboo", + height = 9, + max_height = 10, + flags = "place_center_x, place_center_z", + rotation = "random", + }) + + minetest.register_decoration({ + deco_type = "simple", + place_on = {"group:grass_block_no_snow"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.012, + spread = {x = 100, y = 100, z = 100}, + seed = 354, + octaves = 1, + persist = 0.5, + lacunarity = 1.0, + flags = "absvalue" + }, + biomes = {"BambooJungle", "BambooJungleEdge","BambooJungleM", "BambooJungleEdge"}, + y_max = mcl_vars.mg_overworld_max, + y_min = 1, + decoration = "mcl_flowers:tallgrass" + }) + + register_doubletall_grass(-0.0005, -0.3, {"BambooJungle", "BambooJungleM", "BambooJungleEdge"}) + register_grass_decoration("tallgrass", -0.03, 1, {"BambooJungle", "BambooJungleM", "BambooJungleEdge"}) + + ----------------- -- Fallen logs -- These fallen logs are not really good yet. They must be longer and also have one upright block. -- Note the decortion API does not like wide schematics, they are likely to overhang. @@ -4485,7 +5050,7 @@ local function register_decorations() octaves = 3, persist = 0.66 }, - biomes = {"BirchForest", "BirchForestM",}, + biomes = {"BirchForest", "BirchForestM", }, y_min = 1, y_max = mcl_vars.mg_overworld_max, schematic = { @@ -4569,23 +5134,23 @@ local function register_decorations() -- Lily pad local lily_schem = { - { name = "mcl_core:water_source" }, - { name = "mcl_flowers:waterlily" }, + {name = "mcl_core:water_source"}, + {name = "mcl_flowers:waterlily"}, } -- Spawn them in shallow water at ocean level in Swampland. -- Tweak lilydepth to change the maximum water depth local lilydepth = 2 - for d=1, lilydepth do + for d = 1, lilydepth do local height = d + 2 local y = 1 - d - table.insert(lily_schem, 1, { name = "air", prob = 0 }) + table.insert(lily_schem, 1, {name = "air", prob = 0}) minetest.register_decoration({ deco_type = "schematic", schematic = { - size = { x=1, y=height, z=1 }, + size = {x = 1, y = height, z = 1}, data = lily_schem, }, place_on = "mcl_core:dirt", @@ -4600,7 +5165,7 @@ local function register_decorations() }, y_min = y, y_max = y, - biomes = { "Swampland_shore" }, + biomes = {"Swampland_shore"}, rotation = "random", }) end @@ -4621,7 +5186,7 @@ local function register_decorations() y_min = 1, y_max = mcl_vars.mg_overworld_max, decoration = "mcl_farming:melon", - biomes = { "Jungle" }, + biomes = {"Jungle"}, }) minetest.register_decoration({ deco_type = "simple", @@ -4638,7 +5203,7 @@ local function register_decorations() y_min = 1, y_max = mcl_vars.mg_overworld_max, decoration = "mcl_farming:melon", - biomes = { "JungleM" }, + biomes = {"JungleM"}, }) minetest.register_decoration({ deco_type = "simple", @@ -4655,7 +5220,7 @@ local function register_decorations() y_min = 1, y_max = mcl_vars.mg_overworld_max, decoration = "mcl_farming:melon", - biomes = { "JungleEdge", "JungleEdgeM" }, + biomes = {"JungleEdge", "JungleEdgeM"}, }) -- Lots of melons in Jungle Edge M @@ -4674,7 +5239,7 @@ local function register_decorations() y_min = 1, y_max = mcl_vars.mg_overworld_max, decoration = "mcl_farming:melon", - biomes = { "JungleEdgeM" }, + biomes = {"JungleEdgeM"}, }) -- Pumpkin @@ -4700,16 +5265,16 @@ local function register_decorations() -- Grasses and ferns local grass_forest = {"Plains", "Taiga", "Forest", "FlowerForest", "BirchForest", "BirchForestM", "RoofedForest", "Swampland", } local grass_mpf = {"MesaPlateauF_grasstop"} - local grass_plains = {"Plains", "SunflowerPlains", "JungleEdge", "JungleEdgeM", "MangroveSwamp" } + local grass_plains = {"Plains", "SunflowerPlains", "JungleEdge", "JungleEdgeM", "MangroveSwamp"} local grass_savanna = {"Savanna", "SavannaM"} - local grass_sparse = {"ExtremeHills", "ExtremeHills+", "ExtremeHills+_snowtop", "ExtremeHillsM", "Jungle" } - local grass_mpfm = {"MesaPlateauFM_grasstop" } + local grass_sparse = {"ExtremeHills", "ExtremeHills+", "ExtremeHills+_snowtop", "ExtremeHillsM", "Jungle"} + local grass_mpfm = {"MesaPlateauFM_grasstop"} - register_grass_decoration("tallgrass", -0.03, 0.09, grass_forest) + register_grass_decoration("tallgrass", -0.03, 0.09, grass_forest) register_grass_decoration("tallgrass", -0.015, 0.075, grass_forest) - register_grass_decoration("tallgrass", 0, 0.06, grass_forest) - register_grass_decoration("tallgrass", 0.015, 0.045, grass_forest) - register_grass_decoration("tallgrass", 0.03, 0.03, grass_forest) + register_grass_decoration("tallgrass", 0, 0.06, grass_forest) + register_grass_decoration("tallgrass", 0.015, 0.045, grass_forest) + register_grass_decoration("tallgrass", 0.03, 0.03, grass_forest) register_grass_decoration("tallgrass", -0.03, 0.09, grass_mpf) register_grass_decoration("tallgrass", -0.015, 0.075, grass_mpf) register_grass_decoration("tallgrass", 0, 0.06, grass_mpf) @@ -4723,16 +5288,16 @@ local function register_decorations() register_grass_decoration("tallgrass", 0.05, -0.03, grass_sparse) register_grass_decoration("tallgrass", 0.05, 0.05, grass_mpfm) - local fern_minimal = { "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "MegaTaiga", "MegaSpruceTaiga", "ColdTaiga", "MangroveSwamp" } - local fern_low = { "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "MegaTaiga", "MegaSpruceTaiga" } - local fern_Jungle = { "Jungle", "JungleM", "JungleEdge", "JungleEdgeM" } + local fern_minimal = {"Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "MegaTaiga", "MegaSpruceTaiga", "ColdTaiga", "MangroveSwamp"} + local fern_low = {"Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Taiga", "MegaTaiga", "MegaSpruceTaiga"} + local fern_Jungle = {"Jungle", "JungleM", "JungleEdge", "JungleEdgeM"} --local fern_JungleM = { "JungleM" }, - register_grass_decoration("fern", -0.03, 0.09, fern_minimal) + register_grass_decoration("fern", -0.03, 0.09, fern_minimal) register_grass_decoration("fern", -0.015, 0.075, fern_minimal) - register_grass_decoration("fern", 0, 0.06, fern_minimal) - register_grass_decoration("fern", 0.015, 0.045, fern_low) - register_grass_decoration("fern", 0.03, 0.03, fern_low) + register_grass_decoration("fern", 0, 0.06, fern_minimal) + register_grass_decoration("fern", 0.015, 0.045, fern_low) + register_grass_decoration("fern", 0.03, 0.03, fern_low) register_grass_decoration("fern", 0.01, 0.05, fern_Jungle) register_grass_decoration("fern", 0.03, 0.03, fern_Jungle) register_grass_decoration("fern", 0.05, 0.01, fern_Jungle) @@ -4740,17 +5305,17 @@ local function register_decorations() register_grass_decoration("fern", 0.09, -0.03, fern_Jungle) register_grass_decoration("fern", 0.12, -0.03, {"JungleM"}) - local b_seagrass = {"ColdTaiga_ocean","ExtremeHills_ocean","ExtremeHillsM_ocean","ExtremeHills+_ocean","Taiga_ocean","MegaTaiga_ocean","MegaSpruceTaiga_ocean","StoneBeach_ocean","Plains_ocean","SunflowerPlains_ocean","Forest_ocean","FlowerForest_ocean","BirchForest_ocean","BirchForestM_ocean","RoofedForest_ocean","Swampland_ocean","Jungle_ocean","JungleM_ocean","JungleEdge_ocean","JungleEdgeM_ocean","MushroomIsland_ocean","Desert_ocean","Savanna_ocean","SavannaM_ocean","Mesa_ocean","MesaBryce_ocean","MesaPlateauF_ocean","MesaPlateauFM_ocean", -"ColdTaiga_deep_ocean","ExtremeHills_deep_ocean","ExtremeHillsM_deep_ocean","ExtremeHills+_deep_ocean","Taiga_deep_ocean","MegaTaiga_deep_ocean","MegaSpruceTaiga_deep_ocean","StoneBeach_deep_ocean","Plains_deep_ocean","SunflowerPlains_deep_ocean","Forest_deep_ocean","FlowerForest_deep_ocean","BirchForest_deep_ocean","BirchForestM_deep_ocean","RoofedForest_deep_ocean","Swampland_deep_ocean","Jungle_deep_ocean","JungleM_deep_ocean","JungleEdge_deep_ocean","JungleEdgeM_deep_ocean","MushroomIsland_deep_ocean","Desert_deep_ocean","Savanna_deep_ocean","SavannaM_deep_ocean","Mesa_deep_ocean","MesaBryce_deep_ocean","MesaPlateauF_deep_ocean","MesaPlateauFM_deep_ocean", -"Mesa_sandlevel","MesaBryce_sandlevel","MesaPlateauF_sandlevel","MesaPlateauFM_sandlevel","Swampland_shore","Jungle_shore","JungleM_shore","Savanna_beach","FlowerForest_beach","ColdTaiga_beach_water","ExtremeHills_beach"} - local b_kelp = {"ExtremeHillsM_ocean","ExtremeHills+_ocean","MegaTaiga_ocean","MegaSpruceTaiga_ocean","Plains_ocean","SunflowerPlains_ocean","Forest_ocean","FlowerForest_ocean","BirchForest_ocean","BirchForestM_ocean","RoofedForest_ocean","Swampland_ocean","Jungle_ocean","JungleM_ocean","JungleEdge_ocean","JungleEdgeM_ocean","MushroomIsland_ocean", -"ExtremeHillsM_deep_ocean","ExtremeHills+_deep_ocean","MegaTaiga_deep_ocean","MegaSpruceTaiga_deep_ocean","Plains_deep_ocean","SunflowerPlains_deep_ocean","Forest_deep_ocean","FlowerForest_deep_ocean","BirchForest_deep_ocean","BirchForestM_deep_ocean","RoofedForest_deep_ocean","Swampland_deep_ocean","Jungle_deep_ocean","JungleM_deep_ocean","JungleEdge_deep_ocean","JungleEdgeM_deep_ocean","MushroomIsland_deep_ocean" -} + local b_seagrass = {"ColdTaiga_ocean", "ExtremeHills_ocean", "ExtremeHillsM_ocean", "ExtremeHills+_ocean", "Taiga_ocean", "MegaTaiga_ocean", "MegaSpruceTaiga_ocean", "StoneBeach_ocean", "Plains_ocean", "SunflowerPlains_ocean", "Forest_ocean", "FlowerForest_ocean", "BirchForest_ocean", "BirchForestM_ocean", "RoofedForest_ocean", "Swampland_ocean", "Jungle_ocean", "JungleM_ocean", "JungleEdge_ocean", "JungleEdgeM_ocean", "MushroomIsland_ocean", "Desert_ocean", "Savanna_ocean", "SavannaM_ocean", "Mesa_ocean", "MesaBryce_ocean", "MesaPlateauF_ocean", "MesaPlateauFM_ocean", + "ColdTaiga_deep_ocean", "ExtremeHills_deep_ocean", "ExtremeHillsM_deep_ocean", "ExtremeHills+_deep_ocean", "Taiga_deep_ocean", "MegaTaiga_deep_ocean", "MegaSpruceTaiga_deep_ocean", "StoneBeach_deep_ocean", "Plains_deep_ocean", "SunflowerPlains_deep_ocean", "Forest_deep_ocean", "FlowerForest_deep_ocean", "BirchForest_deep_ocean", "BirchForestM_deep_ocean", "RoofedForest_deep_ocean", "Swampland_deep_ocean", "Jungle_deep_ocean", "JungleM_deep_ocean", "JungleEdge_deep_ocean", "JungleEdgeM_deep_ocean", "MushroomIsland_deep_ocean", "Desert_deep_ocean", "Savanna_deep_ocean", "SavannaM_deep_ocean", "Mesa_deep_ocean", "MesaBryce_deep_ocean", "MesaPlateauF_deep_ocean", "MesaPlateauFM_deep_ocean", + "Mesa_sandlevel", "MesaBryce_sandlevel", "MesaPlateauF_sandlevel", "MesaPlateauFM_sandlevel", "Swampland_shore", "Jungle_shore", "JungleM_shore", "Savanna_beach", "FlowerForest_beach", "ColdTaiga_beach_water", "ExtremeHills_beach"} + local b_kelp = {"ExtremeHillsM_ocean", "ExtremeHills+_ocean", "MegaTaiga_ocean", "MegaSpruceTaiga_ocean", "Plains_ocean", "SunflowerPlains_ocean", "Forest_ocean", "FlowerForest_ocean", "BirchForest_ocean", "BirchForestM_ocean", "RoofedForest_ocean", "Swampland_ocean", "Jungle_ocean", "JungleM_ocean", "JungleEdge_ocean", "JungleEdgeM_ocean", "MushroomIsland_ocean", + "ExtremeHillsM_deep_ocean", "ExtremeHills+_deep_ocean", "MegaTaiga_deep_ocean", "MegaSpruceTaiga_deep_ocean", "Plains_deep_ocean", "SunflowerPlains_deep_ocean", "Forest_deep_ocean", "FlowerForest_deep_ocean", "BirchForest_deep_ocean", "BirchForestM_deep_ocean", "RoofedForest_deep_ocean", "Swampland_deep_ocean", "Jungle_deep_ocean", "JungleM_deep_ocean", "JungleEdge_deep_ocean", "JungleEdgeM_deep_ocean", "MushroomIsland_deep_ocean" + } register_seagrass_decoration("seagrass", 0, 0.5, b_seagrass) register_seagrass_decoration("kelp", -0.5, 1, b_kelp) - local b_sponge = {"Plains_deep_ocean","SunflowerPlains_deep_ocean","Forest_deep_ocean","FlowerForest_deep_ocean","BirchForest_deep_ocean","BirchForestM_deep_ocean","RoofedForest_deep_ocean","Jungle_deep_ocean","JungleM_deep_ocean","JungleEdge_deep_ocean","JungleEdgeM_deep_ocean","MushroomIsland_deep_ocean","Desert_deep_ocean","Savanna_deep_ocean","SavannaM_deep_ocean","Mesa_deep_ocean","MesaBryce_deep_ocean","MesaPlateauF_deep_ocean","MesaPlateauFM_deep_ocean"} + local b_sponge = {"Plains_deep_ocean", "SunflowerPlains_deep_ocean", "Forest_deep_ocean", "FlowerForest_deep_ocean", "BirchForest_deep_ocean", "BirchForestM_deep_ocean", "RoofedForest_deep_ocean", "Jungle_deep_ocean", "JungleM_deep_ocean", "JungleEdge_deep_ocean", "JungleEdgeM_deep_ocean", "MushroomIsland_deep_ocean", "Desert_deep_ocean", "Savanna_deep_ocean", "SavannaM_deep_ocean", "Mesa_deep_ocean", "MesaBryce_deep_ocean", "MesaPlateauF_deep_ocean", "MesaPlateauFM_deep_ocean"} -- Wet Sponge -- TODO: Remove this when we got ocean monuments minetest.register_decoration({ @@ -4759,7 +5324,7 @@ local function register_decorations() biomes = b_sponge, spawn_by = {"group:water"}, num_spawn_by = 1, - place_on = {"mcl_core:dirt","mcl_core:sand","mcl_core:gravel"}, + place_on = {"mcl_core:dirt", "mcl_core:sand", "mcl_core:gravel"}, sidelen = 16, noise_params = { offset = 0.00495, @@ -4791,10 +5356,10 @@ local function register_decorations() y_min = 1, y_max = mcl_vars.mg_overworld_max, schematic = { - size = { x=1, y=2, z=1 }, + size = {x = 1, y = 2, z = 1}, data = { - { name = "mcl_core:dirt_with_grass", force_place=true, }, - { name = "mcl_flowers:tallgrass", param2 = minetest.registered_biomes["IcePlains"]._mcl_palette_index }, + {name = "mcl_core:dirt_with_grass", force_place = true, }, + {name = "mcl_flowers:tallgrass", param2 = minetest.registered_biomes["IcePlains"]._mcl_grass_palette_index}, }, }, }) @@ -4814,10 +5379,10 @@ local function register_decorations() y_min = 1, y_max = mcl_vars.mg_overworld_max, schematic = { - size = { x=1, y=2, z=1 }, + size = {x = 1, y = 2, z = 1}, data = { - { name = "mcl_core:dirt_with_grass", force_place=true, }, - { name = "mcl_flowers:tallgrass", param2 = minetest.registered_biomes["ExtremeHills+_snowtop"]._mcl_palette_index }, + {name = "mcl_core:dirt_with_grass", force_place = true, }, + {name = "mcl_flowers:tallgrass", param2 = minetest.registered_biomes["ExtremeHills+_snowtop"]._mcl_grass_palette_index}, }, }, }) @@ -4838,7 +5403,7 @@ local function register_decorations() }, y_min = 4, y_max = mcl_vars.mg_overworld_max, - biomes = {"Desert", "Mesa", "Mesa_sandlevel", "MesaPlateauF", "MesaPlateauF_sandlevel", "MesaPlateauF_grasstop","MesaBryce","Taiga", "MegaTaiga"}, + biomes = {"Desert", "Mesa", "Mesa_sandlevel", "MesaPlateauF", "MesaPlateauF_sandlevel", "MesaPlateauF_grasstop", "MesaBryce", "Taiga", "MegaTaiga"}, decoration = "mcl_core:deadbush", height = 1, }) @@ -4874,7 +5439,7 @@ local function register_decorations() }, y_min = 4, y_max = mcl_vars.mg_overworld_max, - biomes = {"MesaPlateauFM","MesaPlateauFM_sandlevel"}, + biomes = {"MesaPlateauFM", "MesaPlateauFM_sandlevel"}, decoration = "mcl_core:deadbush", height = 1, }) @@ -4945,8 +5510,8 @@ local function register_decorations() -- Mushrooms next to trees local mushrooms = {"mcl_mushrooms:mushroom_red", "mcl_mushrooms:mushroom_brown"} - local mseeds = { 7133, 8244 } - for m=1, #mushrooms do + local mseeds = {7133, 8244} + for m = 1, #mushrooms do -- Mushrooms next to trees minetest.register_decoration({ deco_type = "simple", @@ -4963,7 +5528,7 @@ local function register_decorations() y_min = 1, y_max = mcl_vars.mg_overworld_max, decoration = mushrooms[m], - spawn_by = { "mcl_core:tree", "mcl_core:sprucetree", "mcl_core:darktree", "mcl_core:birchtree" }, + spawn_by = {"mcl_core:tree", "mcl_core:sprucetree", "mcl_core:darktree", "mcl_core:birchtree"}, num_spawn_by = 1, }) @@ -4983,8 +5548,8 @@ local function register_decorations() y_min = 1, y_max = mcl_vars.mg_overworld_max, decoration = mushrooms[m], - biomes = { "Swampland"}, - spawn_by = { "mcl_core:tree", "mcl_core:sprucetree", "mcl_core:darktree", "mcl_core:birchtree" }, + biomes = {"Swampland"}, + spawn_by = {"mcl_core:tree", "mcl_core:sprucetree", "mcl_core:darktree", "mcl_core:birchtree"}, num_spawn_by = 1, }) end @@ -5008,7 +5573,7 @@ local function register_decorations() y_min = 1, y_max = mcl_vars.mg_overworld_max, biomes = biomes, - decoration = "mcl_flowers:"..name, + decoration = "mcl_flowers:" .. name, }) end if is_in_flower_forest then @@ -5016,8 +5581,8 @@ local function register_decorations() deco_type = "simple", place_on = {"group:grass_block_no_snow", "mcl_core:dirt"}, sidelen = 80, - noise_params= { - offset = 0.0008*40, + noise_params = { + offset = 0.0008 * 40, scale = 0.003, spread = {x = 100, y = 100, z = 100}, seed = seed, @@ -5027,12 +5592,12 @@ local function register_decorations() y_min = 1, y_max = mcl_vars.mg_overworld_max, biomes = {"FlowerForest"}, - decoration = "mcl_flowers:"..name, + decoration = "mcl_flowers:" .. name, }) end end - local flower_biomes1 = {"Plains", "SunflowerPlains", "RoofedForest", "Forest", "BirchForest", "BirchForestM", "Taiga", "ColdTaiga", "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Savanna", "SavannaM", "ExtremeHills", "ExtremeHillsM", "ExtremeHills+", "ExtremeHills+_snowtop" } + local flower_biomes1 = {"Plains", "SunflowerPlains", "RoofedForest", "Forest", "BirchForest", "BirchForestM", "Taiga", "ColdTaiga", "Jungle", "JungleM", "JungleEdge", "JungleEdgeM", "Savanna", "SavannaM", "ExtremeHills", "ExtremeHillsM", "ExtremeHills+", "ExtremeHills+_snowtop"} register_flower("dandelion", flower_biomes1, 8) register_flower("poppy", flower_biomes1, 9439) @@ -5048,6 +5613,8 @@ local function register_decorations() register_flower("allium", nil, 0) -- flower Forest only register_flower("blue_orchid", {"Swampland"}, 64500, false) + register_flower("lily_of_the_valley", nil, 325) + register_flower("cornflower", flower_biomes2, 486) end -- Decorations in non-Overworld dimensions @@ -5056,12 +5623,12 @@ local function register_dimension_decorations() --NETHER WASTES (Nether) minetest.register_decoration({ deco_type = "simple", - place_on = {"mcl_nether:netherrack","mcl_nether:magma"}, + place_on = {"mcl_nether:netherrack", "mcl_nether:magma"}, sidelen = 16, fill_ratio = 0.04, biomes = {"Nether"}, y_min = mcl_vars.mg_lava_nether_max + 1, - y_max = mcl_vars.mg_nether_max - 1, + y_max = mcl_vars.mg_nether_max - 1, flags = "all_floors", decoration = "mcl_fire:eternal_fire", }) @@ -5072,7 +5639,7 @@ local function register_dimension_decorations() fill_ratio = 0.013, biomes = {"Nether"}, y_min = mcl_vars.mg_lava_nether_max + 1, - y_max = mcl_vars.mg_nether_max - 1, + y_max = mcl_vars.mg_nether_max - 1, flags = "all_floors", decoration = "mcl_mushrooms:mushroom_brown", }) @@ -5083,7 +5650,7 @@ local function register_dimension_decorations() fill_ratio = 0.012, biomes = {"Nether"}, y_min = mcl_vars.mg_lava_nether_max + 1, - y_max = mcl_vars.mg_nether_max - 1, + y_max = mcl_vars.mg_nether_max - 1, flags = "all_floors", decoration = "mcl_mushrooms:mushroom_red", }) @@ -5096,7 +5663,7 @@ local function register_dimension_decorations() fill_ratio = 0.02, biomes = {"WarpedForest"}, y_min = mcl_vars.mg_lava_nether_max + 1, - y_max = mcl_vars.mg_nether_max - 10, + y_max = mcl_vars.mg_nether_max - 10, flags = "all_floors", decoration = "mcl_crimson:warped_fungus", }) @@ -5110,7 +5677,7 @@ local function register_dimension_decorations() y_min = mcl_vars.mg_lava_nether_max + 1, y_max = mcl_vars.mg_nether_max - 15, flags = "all_floors, place_center_x, place_center_z", - schematic = mod_mcl_crimson.."/schematics/warped_fungus_1.mts", + schematic = mod_mcl_crimson .. "/schematics/warped_fungus_1.mts", size = {x = 5, y = 11, z = 5}, rotation = "random", }) @@ -5124,7 +5691,7 @@ local function register_dimension_decorations() y_min = mcl_vars.mg_lava_nether_max + 1, y_max = mcl_vars.mg_nether_max - 10, flags = "all_floors, place_center_x, place_center_z", - schematic = mod_mcl_crimson.."/schematics/warped_fungus_2.mts", + schematic = mod_mcl_crimson .. "/schematics/warped_fungus_2.mts", size = {x = 5, y = 6, z = 5}, rotation = "random", }) @@ -5138,13 +5705,13 @@ local function register_dimension_decorations() y_min = mcl_vars.mg_lava_nether_max + 1, y_max = mcl_vars.mg_nether_max - 14, flags = "all_floors, place_center_x, place_center_z", - schematic = mod_mcl_crimson.."/schematics/warped_fungus_3.mts", + schematic = mod_mcl_crimson .. "/schematics/warped_fungus_3.mts", size = {x = 5, y = 12, z = 5}, rotation = "random", }) minetest.register_decoration({ deco_type = "simple", - place_on = {"mcl_crimson:warped_nylium","mcl_crimson:twisting_vines"}, + place_on = {"mcl_crimson:warped_nylium", "mcl_crimson:twisting_vines"}, sidelen = 16, fill_ratio = 0.032, biomes = {"WarpedForest"}, @@ -5183,7 +5750,7 @@ local function register_dimension_decorations() fill_ratio = 0.02, biomes = {"CrimsonForest"}, y_min = mcl_vars.mg_lava_nether_max + 1, - y_max = mcl_vars.mg_nether_max - 10, + y_max = mcl_vars.mg_nether_max - 10, flags = "all_floors", decoration = "mcl_crimson:crimson_fungus", }) @@ -5197,7 +5764,7 @@ local function register_dimension_decorations() y_min = mcl_vars.mg_lava_nether_max + 1, y_max = mcl_vars.mg_nether_max - 10, flags = "all_floors, place_center_x, place_center_z", - schematic = mod_mcl_crimson.."/schematics/crimson_fungus_1.mts", + schematic = mod_mcl_crimson .. "/schematics/crimson_fungus_1.mts", size = {x = 5, y = 8, z = 5}, rotation = "random", }) @@ -5211,7 +5778,7 @@ local function register_dimension_decorations() y_min = mcl_vars.mg_lava_nether_max + 1, y_max = mcl_vars.mg_nether_max - 15, flags = "all_floors, place_center_x, place_center_z", - schematic = mod_mcl_crimson.."/schematics/crimson_fungus_2.mts", + schematic = mod_mcl_crimson .. "/schematics/crimson_fungus_2.mts", size = {x = 5, y = 12, z = 5}, rotation = "random", }) @@ -5225,13 +5792,13 @@ local function register_dimension_decorations() y_min = mcl_vars.mg_lava_nether_max + 1, y_max = mcl_vars.mg_nether_max - 20, flags = "all_floors, place_center_x, place_center_z", - schematic = mod_mcl_crimson.."/schematics/crimson_fungus_3.mts", + schematic = mod_mcl_crimson .. "/schematics/crimson_fungus_3.mts", size = {x = 7, y = 13, z = 7}, rotation = "random", }) minetest.register_decoration({ deco_type = "simple", - place_on = {"mcl_crimson:warped_nylium","mcl_crimson:weeping_vines","mcl_nether:netherrack"}, + place_on = {"mcl_crimson:warped_nylium", "mcl_crimson:weeping_vines", "mcl_nether:netherrack"}, sidelen = 16, fill_ratio = 0.063, biomes = {"CrimsonForest"}, @@ -5257,7 +5824,7 @@ local function register_dimension_decorations() --SOULSAND VALLEY minetest.register_decoration({ deco_type = "simple", - place_on = {"mcl_blackstone:soul_soil","mcl_nether:soul_sand"}, + place_on = {"mcl_blackstone:soul_soil", "mcl_nether:soul_sand"}, sidelen = 16, fill_ratio = 0.062, biomes = {"SoulsandValley"}, @@ -5268,49 +5835,49 @@ local function register_dimension_decorations() }) minetest.register_decoration({ deco_type = "schematic", - place_on = {"mcl_blackstone:soul_soil","mcl_nether:soulsand"}, + place_on = {"mcl_blackstone:soul_soil", "mcl_nether:soulsand"}, sidelen = 16, fill_ratio = 0.000212, biomes = {"SoulsandValley"}, y_min = mcl_vars.mg_lava_nether_max + 1, flags = "all_floors, place_center_x, place_center_z", - schematic = mod_mcl_blackstone.."/schematics/mcl_blackstone_nether_fossil_1.mts", + schematic = mod_mcl_blackstone .. "/schematics/mcl_blackstone_nether_fossil_1.mts", size = {x = 5, y = 8, z = 5}, rotation = "random", }) minetest.register_decoration({ deco_type = "schematic", - place_on = {"mcl_blackstone:soul_soil","mcl_nether:soulsand"}, + place_on = {"mcl_blackstone:soul_soil", "mcl_nether:soulsand"}, sidelen = 16, fill_ratio = 0.0002233, biomes = {"SoulsandValley"}, y_min = mcl_vars.mg_lava_nether_max + 1, flags = "all_floors, place_center_x, place_center_z", - schematic = mod_mcl_blackstone.."/schematics/mcl_blackstone_nether_fossil_2.mts", + schematic = mod_mcl_blackstone .. "/schematics/mcl_blackstone_nether_fossil_2.mts", size = {x = 5, y = 8, z = 5}, rotation = "random", }) minetest.register_decoration({ deco_type = "schematic", - place_on = {"mcl_blackstone:soul_soil","mcl_nether:soulsand"}, + place_on = {"mcl_blackstone:soul_soil", "mcl_nether:soulsand"}, sidelen = 16, fill_ratio = 0.000225, biomes = {"SoulsandValley"}, y_min = mcl_vars.mg_lava_nether_max + 1, flags = "all_floors, place_center_x, place_center_z", - schematic = mod_mcl_blackstone.."/schematics/mcl_blackstone_nether_fossil_3.mts", + schematic = mod_mcl_blackstone .. "/schematics/mcl_blackstone_nether_fossil_3.mts", size = {x = 5, y = 8, z = 5}, rotation = "random", }) minetest.register_decoration({ deco_type = "schematic", - place_on = {"mcl_blackstone:soul_soil","mcl_nether:soulsand"}, + place_on = {"mcl_blackstone:soul_soil", "mcl_nether:soulsand"}, sidelen = 16, fill_ratio = 0.00022323, biomes = {"SoulsandValley"}, y_min = mcl_vars.mg_lava_nether_max + 1, flags = "all_floors, place_center_x, place_center_z", - schematic = mod_mcl_blackstone.."/schematics/mcl_blackstone_nether_fossil_4.mts", + schematic = mod_mcl_blackstone .. "/schematics/mcl_blackstone_nether_fossil_4.mts", size = {x = 5, y = 8, z = 5}, rotation = "random", }) @@ -5318,10 +5885,10 @@ local function register_dimension_decorations() minetest.register_decoration({ deco_type = "simple", decoration = "mcl_blackstone:basalt", - place_on = {"mcl_blackstone:basalt","mcl_nether:netherrack","mcl_blackstone:blackstone"}, + place_on = {"mcl_blackstone:basalt", "mcl_nether:netherrack", "mcl_blackstone:blackstone"}, sidelen = 80, height_max = 55, - noise_params={ + noise_params = { offset = -0.0085, scale = 0.002, spread = {x = 25, y = 120, z = 25}, @@ -5339,10 +5906,10 @@ local function register_dimension_decorations() minetest.register_decoration({ deco_type = "simple", decoration = "mcl_blackstone:basalt", - place_on = {"mcl_blackstone:basalt","mcl_nether:netherrack","mcl_blackstone:blackstone"}, + place_on = {"mcl_blackstone:basalt", "mcl_nether:netherrack", "mcl_blackstone:blackstone"}, sidelen = 80, height_max = 15, - noise_params={ + noise_params = { offset = -0.0085, scale = 0.004, spread = {x = 25, y = 120, z = 25}, @@ -5360,7 +5927,7 @@ local function register_dimension_decorations() minetest.register_decoration({ deco_type = "simple", decoration = "mcl_blackstone:basalt", - place_on = {"mcl_blackstone:basalt","mcl_nether:netherrack","mcl_blackstone:blackstone"}, + place_on = {"mcl_blackstone:basalt", "mcl_nether:netherrack", "mcl_blackstone:blackstone"}, sidelen = 80, height_max = 3, fill_ratio = 0.4, @@ -5372,24 +5939,24 @@ local function register_dimension_decorations() minetest.register_decoration({ deco_type = "simple", decoration = "mcl_nether:magma", - place_on = {"mcl_blackstone:basalt","mcl_nether:netherrack","mcl_blackstone:blackstone"}, + place_on = {"mcl_blackstone:basalt", "mcl_nether:netherrack", "mcl_blackstone:blackstone"}, sidelen = 80, fill_ratio = 0.082323, biomes = {"BasaltDelta"}, - place_offset_y = -1, + place_offset_y = -1, y_min = mcl_vars.mg_lava_nether_max + 1, flags = "all_floors, all ceilings", }) minetest.register_decoration({ deco_type = "simple", decoration = "mcl_nether:nether_lava_source", - place_on = {"mcl_blackstone:basalt","mcl_nether:netherrack","mcl_blackstone:blackstone"}, - spawn_by = {"mcl_blackstone:basalt","mcl_blackstone:blackstone"}, + place_on = {"mcl_blackstone:basalt", "mcl_nether:netherrack", "mcl_blackstone:blackstone"}, + spawn_by = {"mcl_blackstone:basalt", "mcl_blackstone:blackstone"}, num_spawn_by = 14, sidelen = 80, fill_ratio = 4, biomes = {"BasaltDelta"}, - place_offset_y = -1, + place_offset_y = -1, y_min = mcl_vars.mg_lava_nether_max + 1, y_max = mcl_vars.mg_nether_max - 5, flags = "all_floors, force_placement", @@ -5417,7 +5984,7 @@ local function register_dimension_decorations() decoration = "mcl_end:chorus_plant", height = 1, height_max = 8, - biomes = { "End", "EndMidlands", "EndHighlands", "EndBarrens", "EndSmallIslands" }, + biomes = {"End", "EndMidlands", "EndHighlands", "EndBarrens", "EndSmallIslands"}, }) minetest.register_decoration({ name = "mcl_biomes:chorus_plant", @@ -5438,17 +6005,18 @@ local function register_dimension_decorations() y_max = mcl_vars.mg_end_max, decoration = "mcl_end:chorus_flower", height = 1, - biomes = { "End", "EndMidlands", "EndHighlands", "EndBarrens", "EndSmallIslands" }, + biomes = {"End", "EndMidlands", "EndHighlands", "EndBarrens", "EndSmallIslands"}, }) deco_id_chorus_plant = minetest.get_decoration_id("mcl_biomes:chorus_plant") - minetest.set_gen_notify({decoration=true}, { deco_id_chorus_plant }) + minetest.set_gen_notify({decoration = true}, {deco_id_chorus_plant}) -- TODO: End cities end + -- -- Detect mapgen to select functions -- @@ -5479,7 +6047,7 @@ if mg_name ~= "singlenode" then -- Overworld decorations for v6 are handled in mcl_mapgen_core - local deco_ids_fungus ={ + local deco_ids_fungus = { minetest.get_decoration_id("mcl_biomes:crimson_tree1"), minetest.get_decoration_id("mcl_biomes:crimson_tree2"), minetest.get_decoration_id("mcl_biomes:crimson_tree3"), @@ -5492,51 +6060,55 @@ if mg_name ~= "singlenode" then minetest.get_decoration_id("mcl_biomes:mangrove_tree_2"), minetest.get_decoration_id("mcl_biomes:mangrove_tree_3"), } - for _,f in pairs(deco_ids_fungus) do - minetest.set_gen_notify({decoration=true}, { f }) + for _, f in pairs(deco_ids_fungus) do + minetest.set_gen_notify({decoration = true}, {f}) end - for _,f in pairs(deco_ids_trees) do - minetest.set_gen_notify({decoration=true}, { f }) + for _, f in pairs(deco_ids_trees) do + minetest.set_gen_notify({decoration = true}, {f}) end if deco_id_chorus_plant or deco_ids_fungus or deco_ids_trees then mcl_mapgen_core.register_generator("chorus_grow", nil, function(minp, maxp, blockseed) local gennotify = minetest.get_mapgen_object("gennotify") local pr = PseudoRandom(blockseed + 14) - for _,f in pairs(deco_ids_trees) do - for _, pos in ipairs(gennotify["decoration#"..f] or {}) do - local nn=minetest.find_nodes_in_area(vector.offset(pos,-8,-1,-8),vector.offset(pos,8,0,8),{"mcl_mangrove:mangrove_roots"}) - for _,v in pairs(nn) do - local l = pr:next(2,16) - local n = minetest.get_node(vector.offset(v,0,-1,0)).name - if minetest.get_item_group(n,"water") > 0 then + for _, f in pairs(deco_ids_trees) do + for _, pos in ipairs(gennotify["decoration#" .. f] or {}) do + local nn = minetest.find_nodes_in_area(vector.offset(pos, -8, -1, -8), vector.offset(pos, 8, 0, 8), {"mcl_mangrove:mangrove_roots"}) + for _, v in pairs(nn) do + local l = pr:next(2, 16) + local n = minetest.get_node(vector.offset(v, 0, -1, 0)).name + if minetest.get_item_group(n, "water") > 0 then local wl = "mcl_mangrove:water_logged_roots" if n:find("river") then wl = "mcl_mangrove:river_water_logged_roots" end - minetest.bulk_set_node(minetest.find_nodes_in_area(vector.offset(v,0,0,0),vector.offset(v,0,-l,0),{"group:water"}),{name=wl}) + minetest.bulk_set_node(minetest.find_nodes_in_area(vector.offset(v, 0, 0, 0), vector.offset(v, 0, -l, 0), {"group:water"}), {name = wl}) elseif n == "mcl_mud:mud" then - minetest.bulk_set_node(minetest.find_nodes_in_area(vector.offset(v,0,0,0),vector.offset(v,0,-l,0),{"mcl_mud:mud"}),{name="mcl_mangrove:mangrove_mud_roots"}) + minetest.bulk_set_node(minetest.find_nodes_in_area(vector.offset(v, 0, 0, 0), vector.offset(v, 0, -l, 0), {"mcl_mud:mud"}), {name = "mcl_mangrove:mangrove_mud_roots"}) elseif n == "air" then - minetest.bulk_set_node(minetest.find_nodes_in_area(vector.offset(v,0,0,0),vector.offset(v,0,-l,0),{"air"}),{name="mcl_mangrove:mangrove_roots"}) + minetest.bulk_set_node(minetest.find_nodes_in_area(vector.offset(v, 0, 0, 0), vector.offset(v, 0, -l, 0), {"air"}), {name = "mcl_mangrove:mangrove_roots"}) end end end end - if minp.y > -26900 then return end - for _, pos in ipairs(gennotify["decoration#"..deco_id_chorus_plant] or {}) do + if minp.y > -26900 then + return + end + for _, pos in ipairs(gennotify["decoration#" .. deco_id_chorus_plant] or {}) do local x, y, z = pos.x, pos.y, pos.z if x < -10 or x > 10 or z < -10 or z > 10 then - local realpos = { x = x, y = y + 1, z = z } + local realpos = {x = x, y = y + 1, z = z} local node = minetest.get_node(realpos) if node and node.name == "mcl_end:chorus_flower" then mcl_end.grow_chorus_plant(realpos, node, pr) end end end - if minp.y > mcl_vars.mg_nether_max then return end - for _,f in pairs(deco_ids_fungus) do - for _, pos in ipairs(gennotify["decoration#"..f] or {}) do - minetest.fix_light(vector.offset(pos,-8,-8,-8),vector.offset(pos,8,8,8)) + if minp.y > mcl_vars.mg_nether_max then + return + end + for _, f in pairs(deco_ids_fungus) do + for _, pos in ipairs(gennotify["decoration#" .. f] or {}) do + minetest.fix_light(vector.offset(pos, -8, -8, -8), vector.offset(pos, 8, 8, 8)) end end end) diff --git a/mods/MAPGEN/mcl_mapgen_core/init.lua b/mods/MAPGEN/mcl_mapgen_core/init.lua index 03c5aeb13..b9d0e5b48 100644 --- a/mods/MAPGEN/mcl_mapgen_core/init.lua +++ b/mods/MAPGEN/mcl_mapgen_core/init.lua @@ -57,6 +57,7 @@ dofile(modpath.."/api.lua") dofile(modpath.."/ores.lua") local mg_name = minetest.get_mapgen_setting("mg_name") +local sea_level = tonumber(minetest.get_mapgen_setting("water_level")) local superflat = mg_name == "flat" and minetest.get_mapgen_setting("mcl_superflat_classic") == "true" -- Content IDs @@ -268,7 +269,7 @@ local function set_layers(data, area, content_id, check, min, max, minp, maxp, l return lvm_used end -local function set_palette(minp,maxp,data2,area,biomemap,nodes) +local function set_grass_palette(minp,maxp,data2,area,biomemap,nodes) -- Flat area at y=0 to read biome 3 times faster than 5.3.0.get_biome_data(pos).biome: 43us vs 125us per iteration: if not biomemap then return end local aream = VoxelArea:new({MinEdge={x=minp.x, y=0, z=minp.z}, MaxEdge={x=maxp.x, y=0, z=maxp.z}}) @@ -280,8 +281,8 @@ local function set_palette(minp,maxp,data2,area,biomemap,nodes) local bn = minetest.get_biome_name(biomemap[b_pos]) if bn then local biome = minetest.registered_biomes[bn] - if biome and biome._mcl_biome_type then - data2[p_pos] = biome._mcl_palette_index + if biome and biome._mcl_biome_type and biome._mcl_grass_palette_index then + data2[p_pos] = biome._mcl_grass_palette_index lvm_used = true end end @@ -344,13 +345,13 @@ local function world_structure(vm, data, data2, emin, emax, area, minp, maxp, bl return lvm_used, lvm_used, deco, ores end -local function block_fixes(vm, data, data2, emin, emax, area, minp, maxp, blockseed) +local function block_fixes_grass(vm, data, data2, emin, emax, area, minp, maxp, blockseed) local biomemap = minetest.get_mapgen_object("biomemap") local lvm_used = false local pr = PseudoRandom(blockseed) if minp.y <= mcl_vars.mg_overworld_max and maxp.y >= mcl_vars.mg_overworld_min then - -- Set param2 (=color) of sugar cane and grass - lvm_used = set_palette(minp,maxp,data2,area,biomemap,{"mcl_core:reeds","mcl_core:dirt_with_grass"}) + -- Set param2 (=color) of nodes which use the grass colour palette. + lvm_used = set_grass_palette(minp,maxp,data2,area,biomemap,{"group:grass_palette"}) end return lvm_used end @@ -382,7 +383,7 @@ mcl_mapgen_core.register_generator("end_fixes", end_basic, function(minp,maxp) end, 9999, true) if mg_name ~= "v6" and mg_name ~= "singlenode" then - mcl_mapgen_core.register_generator("block_fixes", block_fixes, nil, 9999, true) + mcl_mapgen_core.register_generator("block_fixes_grass", block_fixes_grass, nil, 9999, true) end if mg_name == "v6" then @@ -417,3 +418,94 @@ mcl_mapgen_core.register_generator("structures",nil, function(minp, maxp, blocks end return false, false, false end, 100, true) + +minetest.register_lbm({ + label = "Fix grass palette indexes", -- This LBM fixes any incorrect grass palette indexes. + name = "mcl_mapgen_core:fix_grass_palette_indexes", + nodenames = {"group:grass_palette"}, + run_at_every_load = false, + action = function(pos, node) + local grass_palette_index = mcl_util.get_palette_indexes_from_pos(pos).grass_palette_index + if node.param2 ~= grass_palette_index then + node.param2 = grass_palette_index + minetest.set_node(pos, node) + end + end +}) + +minetest.register_lbm({ + label = "Fix foliage palette indexes", -- Set correct palette indexes of foliage in old mapblocks. + name = "mcl_mapgen_core:fix_foliage_palette_indexes", + nodenames = {"group:foliage_palette", "group:foliage_palette_wallmounted"}, + run_at_every_load = false, + action = function(pos, node) + local foliage_palette_index = mcl_util.get_palette_indexes_from_pos(pos).foliage_palette_index + local noplconvert = {"mcl_mangrove:mangroveleaves", "mcl_core:vine"} -- These do not convert into player leaves. + if node.param2 == 1 and node.name ~= noplconvert then -- Convert old player leaves into the new versions. + node.param2 = foliage_palette_index + minetest.remove_node(pos) -- Required, since otherwise this conversion won't work. + minetest.place_node(vector.offset(pos, 0, 1, 0), node) -- Offset required, since otherwise the leaves sink one node for some reason. + elseif node.param2 ~= foliage_palette_index and node.name ~= "mcl_core:vine" then + node.param2 = foliage_palette_index + minetest.set_node(pos, node) + elseif node.name == "mcl_core:vine" then + local biome_param2 = foliage_palette_index + local rotation_param2 = mcl_util.get_colorwallmounted_rotation(pos) + local final_param2 = (biome_param2 * 8) + rotation_param2 + if node.param2 ~= final_param2 then + node.param2 = final_param2 + minetest.set_node(pos, node) + end + end + end +}) + +minetest.register_on_generated(function(minp, maxp, blockseed) -- Set correct palette indexes of foliage in new mapblocks. + local pos1, pos2 = vector.offset(minp, -16, -16, -16), vector.offset(maxp, 16, 16, 16) + local foliage = minetest.find_nodes_in_area(pos1, pos2, {"group:foliage_palette", "group:foliage_palette_wallmounted"}) + for _, fpos in pairs(foliage) do + local fnode = minetest.get_node(fpos) + local foliage_palette_index = mcl_util.get_palette_indexes_from_pos(fpos).foliage_palette_index + if fnode.param2 ~= foliage_palette_index and fnode.name ~= "mcl_core:vine" then + fnode.param2 = foliage_palette_index + minetest.set_node(fpos, fnode) + elseif fnode.name == "mcl_core:vine" then + local biome_param2 = foliage_palette_index + local rotation_param2 = mcl_util.get_colorwallmounted_rotation(fpos) + local final_param2 = (biome_param2 * 8) + rotation_param2 + if fnode.param2 ~= final_param2 then + fnode.param2 = final_param2 + minetest.set_node(fpos, fnode) + end + end + end +end +) + +minetest.register_lbm({ + label = "Fix water palette indexes", -- Set correct palette indexes of water in old mapblocks. + name = "mcl_mapgen_core:fix_water_palette_indexes", + nodenames = {"group:water_palette"}, + run_at_every_load = false, + action = function(pos, node) + local water_palette_index = mcl_util.get_palette_indexes_from_pos(pos).water_palette_index + if node.param2 ~= water_palette_index then + node.param2 = water_palette_index + minetest.set_node(pos, node) + end + end +}) + +minetest.register_on_generated(function(minp, maxp, blockseed) -- Set correct palette indexes of water in new mapblocks. + local pos1, pos2 = vector.offset(minp, -16, -16, -16), vector.offset(maxp, 16, 16, 16) + local water = minetest.find_nodes_in_area(pos1, pos2, {"group:water_palette"}) + for _, wpos in pairs(water) do + local wnode = minetest.get_node(wpos) + local water_palette_index = mcl_util.get_palette_indexes_from_pos(wpos).water_palette_index + if wnode.param2 ~= water_palette_index then + wnode.param2 = water_palette_index + minetest.set_node(wpos, wnode) + end + end +end +) diff --git a/mods/MAPGEN/mcl_mapgen_core/ores.lua b/mods/MAPGEN/mcl_mapgen_core/ores.lua index 118806a47..403c0333d 100644 --- a/mods/MAPGEN/mcl_mapgen_core/ores.lua +++ b/mods/MAPGEN/mcl_mapgen_core/ores.lua @@ -569,7 +569,7 @@ if minetest.settings:get_bool("mcl_generate_ores", true) then ore_type = "scatter", ore = "mcl_core:stone_with_lapis", wherein = stonelike, - clust_scarcity = 10000, + clust_scarcity = 7000, clust_num_ores = 7, clust_size = 4, y_min = mcl_worlds.layer_to_y(14), @@ -581,7 +581,7 @@ if minetest.settings:get_bool("mcl_generate_ores", true) then ore_type = "scatter", ore = "mcl_core:stone_with_lapis", wherein = stonelike, - clust_scarcity = 12000, + clust_scarcity = 10000, clust_num_ores = 6, clust_size = 3, y_min = mcl_worlds.layer_to_y(10), @@ -591,7 +591,7 @@ if minetest.settings:get_bool("mcl_generate_ores", true) then ore_type = "scatter", ore = "mcl_core:stone_with_lapis", wherein = stonelike, - clust_scarcity = 14000, + clust_scarcity = 12000, clust_num_ores = 5, clust_size = 3, y_min = mcl_worlds.layer_to_y(6), @@ -623,7 +623,7 @@ if minetest.settings:get_bool("mcl_generate_ores", true) then ore_type = "scatter", ore = "mcl_core:stone_with_lapis", wherein = stonelike, - clust_scarcity = 12000, + clust_scarcity = 10000, clust_num_ores = 6, clust_size = 3, y_min = mcl_worlds.layer_to_y(17), @@ -633,7 +633,7 @@ if minetest.settings:get_bool("mcl_generate_ores", true) then ore_type = "scatter", ore = "mcl_core:stone_with_lapis", wherein = stonelike, - clust_scarcity = 14000, + clust_scarcity = 12000, clust_num_ores = 5, clust_size = 3, y_min = mcl_worlds.layer_to_y(21), @@ -643,7 +643,7 @@ if minetest.settings:get_bool("mcl_generate_ores", true) then ore_type = "scatter", ore = "mcl_core:stone_with_lapis", wherein = stonelike, - clust_scarcity = 16000, + clust_scarcity = 14000, clust_num_ores = 4, clust_size = 3, y_min = mcl_worlds.layer_to_y(25), @@ -663,7 +663,7 @@ if minetest.settings:get_bool("mcl_generate_ores", true) then ore_type = "scatter", ore = "mcl_core:stone_with_lapis", wherein = stonelike, - clust_scarcity = 32000, + clust_scarcity = 28000, clust_num_ores = 1, clust_size = 1, y_min = mcl_worlds.layer_to_y(31), diff --git a/mods/MAPGEN/mcl_nether_fortresses/init.lua b/mods/MAPGEN/mcl_nether_fortresses/init.lua index bf8f9c599..b736ff133 100644 --- a/mods/MAPGEN/mcl_nether_fortresses/init.lua +++ b/mods/MAPGEN/mcl_nether_fortresses/init.lua @@ -3,6 +3,8 @@ local S = minetest.get_translator(modname) local modpath = minetest.get_modpath(modname) local peaceful = minetest.settings:get_bool("only_peaceful_mobs", false) +local BLAZE_SPAWNER_MAX_LIGHT = 11 + mcl_structures.register_structure("nether_outpost",{ place_on = {"mcl_nether:netherrack","mcl_crimson:crimson_nylium","mcl_crimson:warped_nylium","mcl_blackstone:basalt","mcl_blackstone:soul_soil","mcl_blackstone:blackstone","mcl_nether:soul_sand"}, fill_ratio = 0.01, @@ -19,7 +21,7 @@ mcl_structures.register_structure("nether_outpost",{ after_place = function(pos) local sp = minetest.find_nodes_in_area(pos,vector.offset(pos,0,20,0),{"mcl_mobspawners:spawner"}) if not sp[1] then return end - mcl_mobspawners.setup_spawner(sp[1], "mobs_mc:blaze", 0, minetest.LIGHT_MAX+1, 10, 8, 0) + mcl_mobspawners.setup_spawner(sp[1], "mobs_mc:blaze", 0, BLAZE_SPAWNER_MAX_LIGHT, 10, 8, 0) end }) local nbridges = { @@ -83,7 +85,7 @@ mcl_structures.register_structure("nether_outpost_with_bridges",{ after_place = function(pos,def,pr) local sp = minetest.find_nodes_in_area(pos,vector.offset(pos,0,20,0),{"mcl_mobspawners:spawner"}) if not sp[1] then return end - mcl_mobspawners.setup_spawner(sp[1], "mobs_mc:blaze", 0, minetest.LIGHT_MAX+1, 10, 8, 0) + mcl_mobspawners.setup_spawner(sp[1], "mobs_mc:blaze", 0, BLAZE_SPAWNER_MAX_LIGHT, 10, 8, 0) local legs = minetest.find_nodes_in_area(vector.offset(pos,-45,-2,-45),vector.offset(pos,45,0,45), "mcl_nether:nether_brick") local bricks = {} diff --git a/mods/MAPGEN/mcl_structures/geode.lua b/mods/MAPGEN/mcl_structures/geode.lua index 95f9b0e81..56453ee60 100644 --- a/mods/MAPGEN/mcl_structures/geode.lua +++ b/mods/MAPGEN/mcl_structures/geode.lua @@ -7,7 +7,8 @@ local adjacents = { vector.new(0,-1,0) } -local function set_node_no_bedrock(pos,node) +local function set_node_no_bedrock(pos, node) + if not pos then return end local n = minetest.get_node(pos) if n.name == "mcl_core:bedrock" then return end return minetest.set_node(pos,node) @@ -21,12 +22,18 @@ local function makegeode(pos,def,pr) if calls_remaining ~= 0 then return end local calcite = {} local nn = minetest.find_nodes_in_area(p1,p2,{"group:material_stone","group:dirt","mcl_core:gravel"}) + + if not nn or #nn < 2 then + minetest.log("action", "Not enough valid space to generate geode at pos: " .. minetest.pos_to_string(pos)) + return + end + table.sort(nn,function(a, b) return vector.distance(pos, a) < vector.distance(pos, b) end) - if not nn[1] then return end + --if not nn[1] then return end - for i=1,pr:next(1,math.max(2,#nn - math.ceil(#nn/5) )) do + for i=1,pr:next(1, math.max(2, #nn - math.ceil(#nn/5) )) do set_node_no_bedrock(nn[i],{name="mcl_amethyst:amethyst_block"}) end diff --git a/mods/MAPGEN/mcl_structures/pillager_outpost.lua b/mods/MAPGEN/mcl_structures/pillager_outpost.lua index 9b72071f0..53652d4fb 100644 --- a/mods/MAPGEN/mcl_structures/pillager_outpost.lua +++ b/mods/MAPGEN/mcl_structures/pillager_outpost.lua @@ -64,7 +64,6 @@ mcl_structures.register_structure("pillager_outpost",{ after_place = function(p,def,pr) local p1 = vector.offset(p,-9,0,-9) local p2 = vector.offset(p,9,32,9) - mcl_structures.spawn_mobs("mobs_mc:evoker",spawnon,p1,p2,pr,1) mcl_structures.spawn_mobs("mobs_mc:pillager",spawnon,p1,p2,pr,5) mcl_structures.spawn_mobs("mobs_mc:parrot",{"mesecons_pressureplates:pressure_plate_stone_off"},p1,p2,pr,3) mcl_structures.spawn_mobs("mobs_mc:iron_golem",{"mesecons_button:button_stone_off"},p1,p2,pr,1) @@ -86,13 +85,3 @@ mcl_structures.register_structure_spawn({ limit = 9, spawnon = spawnon, }) - -mcl_structures.register_structure_spawn({ - name = "mobs_mc:evoker", - y_min = mcl_vars.mg_overworld_min, - y_max = mcl_vars.mg_overworld_max, - chance = 100, - interval = 60, - limit = 4, - spawnon = spawnon, -}) diff --git a/mods/MAPGEN/mcl_villages/buildings.lua b/mods/MAPGEN/mcl_villages/buildings.lua index 92a53ddaf..1b8ce3cba 100644 --- a/mods/MAPGEN/mcl_villages/buildings.lua +++ b/mods/MAPGEN/mcl_villages/buildings.lua @@ -224,6 +224,14 @@ local function spawn_villagers(minp,maxp) end end +local function fix_village_water(minp,maxp) + local palettenodes = minetest.find_nodes_in_area(vector.offset(minp,-20,-20,-20),vector.offset(maxp,20,20,20), "group:water_palette") + for _, palettenodepos in pairs(palettenodes) do + local palettenode = minetest.get_node(palettenodepos) + minetest.set_node(palettenodepos, {name = palettenode.name}) + end +end + local function init_nodes(p1, p2, size, rotation, pr) construct_node(p1, p2, "mcl_itemframes:item_frame") construct_node(p1, p2, "mcl_furnaces:furnace") @@ -309,7 +317,7 @@ function settlements.place_schematics(settlement_info, pr) -- format schematic string local schematic = loadstring(schem_lua)() - + local is_belltower = building_all_info["name"] == "belltower" -- build foundation for the building an make room above @@ -327,6 +335,7 @@ function settlements.place_schematics(settlement_info, pr) else init_nodes(p1, p2, size, rotation, pr) spawn_villagers(p1,p2) + fix_village_water(p1,p2) end end, pr diff --git a/mods/MAPGEN/mcl_villages/init.lua b/mods/MAPGEN/mcl_villages/init.lua index 7ada9bbcb..0cb0712b5 100644 --- a/mods/MAPGEN/mcl_villages/init.lua +++ b/mods/MAPGEN/mcl_villages/init.lua @@ -80,20 +80,29 @@ end local mg_name = minetest.get_mapgen_setting("mg_name") if mg_name ~= "singlenode" then mcl_mapgen_core.register_generator("villages", nil, function(minp, maxp, blockseed) - -- don't build settlement underground if maxp.y < 0 then return end + -- randomly try to build settlements if blockseed % 77 ~= 17 then return end + --minetest.log("Rng good. Generate attempt") + -- needed for manual and automated settlement building -- don't build settlements on (too) uneven terrain local n=minetest.get_node_or_nil(minp) if n and n.name == "mcl_villages:structblock" then return end + --minetest.log("No existing village attempt here") + if villagegen[minetest.pos_to_string(minp)] ~= nil then return end + + --minetest.log("Not in village gen. Put down placeholder: " .. minetest.pos_to_string(minp) .. " || " .. minetest.pos_to_string(maxp)) minetest.set_node(minp,{name="mcl_villages:structblock"}) local height_difference = settlements.evaluate_heightmap() - if height_difference > max_height_difference then return end - + if not height_difference or height_difference > max_height_difference then + minetest.log("action", "Do not spawn village here as heightmap not good") + return + end + --minetest.log("Build me a village: " .. minetest.pos_to_string(minp) .. " || " .. minetest.pos_to_string(maxp)) villagegen[minetest.pos_to_string(minp)]={minp=vector.new(minp), maxp=vector.new(maxp), blockseed=blockseed} end) end diff --git a/mods/MAPGEN/mcl_villages/utils.lua b/mods/MAPGEN/mcl_villages/utils.lua index 3b882af0c..5ed3cbbe0 100644 --- a/mods/MAPGEN/mcl_villages/utils.lua +++ b/mods/MAPGEN/mcl_villages/utils.lua @@ -198,6 +198,14 @@ end ------------------------------------------------------------------------------- function settlements.evaluate_heightmap() local heightmap = minetest.get_mapgen_object("heightmap") + + if not heightmap then + minetest.log("action", "No heightmap. That should not happen") + return max_height_difference + 1 + end + + --minetest.log("action", "heightmap size: " .. tostring(#heightmap)) + -- max height and min height, initialize with impossible values for easier first time setting local max_y = -50000 local min_y = 50000 @@ -205,16 +213,32 @@ function settlements.evaluate_heightmap() local square_start = 1621 local square_end = 1661 for j = 1 , 40, 1 do + if square_start >= #heightmap then + --minetest.log("action", "Heightmap size reached. Go no further outside") + break + end for i = square_start, square_end, 1 do - -- skip buggy heightmaps, return high value - if heightmap[i] == -31000 or heightmap[i] == 31000 then - return max_height_difference + 1 + --minetest.log("action", "current hm index: " .. tostring(i) .. "current hm entry: " .. tostring(heightmap[i])) + + if i >= #heightmap then + --minetest.log("action", "Heightmap size reached. Go no further") + break end - if heightmap[i] < min_y then - min_y = heightmap[i] - end - if heightmap[i] > max_y then - max_y = heightmap[i] + local current_hm_entry = heightmap[i] + if current_hm_entry then + -- skip buggy heightmaps, return high value. Converted mcl5 maps can be -31007 + if current_hm_entry == -31000 or heightmap[i] == 31000 then + --minetest.log("action", "incorrect heighmap values. abandon") + return max_height_difference + 1 + end + if current_hm_entry < min_y then + min_y = current_hm_entry + end + if current_hm_entry > max_y then + max_y = current_hm_entry + end + else + --minetest.log("action", "Failed to get hm index: " .. tostring(i) .. "and ... " .. tostring(#heightmap)) end end -- set next line @@ -223,10 +247,14 @@ function settlements.evaluate_heightmap() end -- return the difference between highest and lowest pos in chunk local height_diff = max_y - min_y + + --minetest.log("action", "height_diff = " .. tostring(height_diff)) + -- filter buggy heightmaps if height_diff <= 1 then return max_height_difference + 1 end + --minetest.log("action", "return heigh diff = " .. tostring(height_diff)) -- debug info settlements.debug("heightdiff ".. height_diff) return height_diff diff --git a/mods/PLAYER/mcl_hunger/textures/hbhunger_bgicon.png b/mods/PLAYER/mcl_hunger/textures/hbhunger_bgicon.png deleted file mode 100644 index d21b16847..000000000 Binary files a/mods/PLAYER/mcl_hunger/textures/hbhunger_bgicon.png and /dev/null differ diff --git a/mods/PLAYER/mcl_hunger/textures/hbhunger_icon.png b/mods/PLAYER/mcl_hunger/textures/hbhunger_icon.png deleted file mode 100644 index 3830fdfc3..000000000 Binary files a/mods/PLAYER/mcl_hunger/textures/hbhunger_icon.png and /dev/null differ diff --git a/mods/PLAYER/mcl_hunger/textures/mcl_hunger_icon_foodpoison.png b/mods/PLAYER/mcl_hunger/textures/mcl_hunger_icon_foodpoison.png deleted file mode 100644 index 130601c8e..000000000 Binary files a/mods/PLAYER/mcl_hunger/textures/mcl_hunger_icon_foodpoison.png and /dev/null differ diff --git a/mods/PLAYER/mcl_meshhand/init.lua b/mods/PLAYER/mcl_meshhand/init.lua index 1cc31f601..864a7c20b 100644 --- a/mods/PLAYER/mcl_meshhand/init.lua +++ b/mods/PLAYER/mcl_meshhand/init.lua @@ -1,4 +1,5 @@ local mcl_skins_enabled = minetest.global_exists("mcl_skins") +mcl_meshhand = { } ---This is a fake node that should never be placed in the world ---@type node_definition @@ -15,43 +16,83 @@ local node_def = { end, drop = "", on_drop = function(_, _, _) return ItemStack() end, - groups = { dig_immediate = 3, not_in_creative_inventory = 1 }, - range = minetest.registered_items[""].range + groups = { + dig_immediate = 3, + not_in_creative_inventory = 1, + dig_speed_class = 1, + }, + tool_capabilities = { + full_punch_interval = 0.25, + max_drop_level = 0, + groupcaps = { }, + damage_groups = { fleshy = 1 }, + }, + _mcl_diggroups = { + handy = { speed = 1, level = 1, uses = 0 }, + axey = { speed = 1, level = 1, uses = 0 }, + shovely = { speed = 1, level = 1, uses = 0 }, + hoey = { speed = 1, level = 1, uses = 0 }, + pickaxey = { speed = 1, level = 0, uses = 0 }, + swordy = { speed = 1, level = 0, uses = 0 }, + swordy_cobweb = { speed = 1, level = 0, uses = 0 }, + shearsy = { speed = 1, level = 0, uses = 0 }, + shearsy_wool = { speed = 1, level = 0, uses = 0 }, + shearsy_cobweb = { speed = 1, level = 0, uses = 0 }, + }, + range = tonumber(minetest.settings:get("mcl_hand_range")) or 4.5 } +-- This is for _mcl_autogroup to know about the survival hand tool capabilites +mcl_meshhand.survival_hand_tool_caps = node_def.tool_capabilities + +local creative_dig_speed = tonumber(minetest.settings:get("mcl_creative_dig_speed")) or 0.2 +local creative_hand_range = tonumber(minetest.settings:get("mcl_hand_range_creative")) or 10 if mcl_skins_enabled then -- Generate a node for every skin local list = mcl_skins.get_skin_list() for _, skin in pairs(list) do - if skin.slim_arms then - local female = table.copy(node_def) - female._mcl_hand_id = skin.id - female.mesh = "mcl_meshhand_female.b3d" - female.tiles = { skin.texture } - minetest.register_node("mcl_meshhand:" .. skin.id, female) - else - local male = table.copy(node_def) - male._mcl_hand_id = skin.id - male.mesh = "mcl_meshhand.b3d" - male.tiles = { skin.texture } - minetest.register_node("mcl_meshhand:" .. skin.id, male) + local node_def = table.copy(node_def) + node_def._mcl_hand_id = skin.id + node_def.tiles = { skin.texture } + node_def.mesh = skin.slim_arms and "mcl_meshhand_female.b3d" or "mcl_meshhand.b3d" + if skin.creative then + node_def.range = creative_hand_range + node_def.groups.dig_speed_class = 7 + node_def.tool_capabilities.groupcaps.creative_breakable = { times = { creative_dig_speed }, uses = 0 } end + minetest.register_node("mcl_meshhand:" .. skin.id, node_def) end else node_def._mcl_hand_id = "hand" node_def.mesh = "mcl_meshhand.b3d" node_def.tiles = { "character.png" } - minetest.register_node("mcl_meshhand:hand", node_def) + minetest.register_node("mcl_meshhand:hand_surv", node_def) + + node_def = table.copy(node_def) + node_def.range = creative_hand_range + node_def.groups.dig_speed_class = 7 + node_def.tool_capabilities.groupcaps.creative_breakable = { times = { creative_dig_speed }, uses = 0 } + minetest.register_node("mcl_meshhand:hand_crea", node_def) +end + +function mcl_meshhand.update_player(player) + if mcl_skins_enabled then + local node_id = mcl_skins.get_node_id_by_player(player) + player:get_inventory():set_stack("hand", 1, "mcl_meshhand:" .. node_id) + else + local creative = minetest.is_creative_enabled(player:get_player_name()) + player:get_inventory():set_stack("hand", 1, "mcl_meshhand:hand" .. (creative and "_crea" or "_surv")) + end end if mcl_skins_enabled then - -- Change the player's hand to their skin - mcl_player.register_on_visual_change(function(player) - local node_id = mcl_skins.get_node_id_by_player(player) - player:get_inventory():set_stack("hand", 1, "mcl_meshhand:" .. node_id) - end) + mcl_player.register_on_visual_change(mcl_meshhand.update_player) else - minetest.register_on_joinplayer(function(player) - player:get_inventory():set_stack("hand", 1, ItemStack("mcl_meshhand:hand")) - end) + minetest.register_on_joinplayer(mcl_meshhand.update_player) end + +-- This is needed to deal damage when punching mobs +-- with random items in hand in survival mode +minetest.override_item("", { + tool_capabilities = mcl_meshhand.survival_hand_tool_caps +}) diff --git a/mods/PLAYER/mcl_music/init.lua b/mods/PLAYER/mcl_music/init.lua new file mode 100644 index 000000000..0d2f9c52e --- /dev/null +++ b/mods/PLAYER/mcl_music/init.lua @@ -0,0 +1,158 @@ +local modname = minetest.get_current_modname() +local modpath = minetest.get_modpath(modname) + +local music_enabled = minetest.settings:get_bool("mcl_game_music", true) + +local pianowtune = "diminixed-pianowtune02" +local end_tune = "diminixed-ambientwip02" +local never_grow_up = "diminixed-nevergrowup04" +local nether_tune = "horizonchris96-traitor" +local odd_block = "Jester-0dd-BL0ck" +local flock_of_one = "Jester-Flock-of-One" +local gift = "Jester-Gift" +local hailing_forest = "Jester-Hailing_Forest" +local lonely_blossom = "exhale_and_tim_unwin-lonely_blossom" +local valley_of_ghosts = "exhale_and_tim_unwin-valley_of_ghosts" +local farmer = "exhale_and_tim_unwin-farmer" + +local dimension_to_base_track = { + ["overworld"] = {pianowtune, never_grow_up, flock_of_one, gift, hailing_forest, lonely_blossom, farmer}, + ["nether"] = {nether_tune, valley_of_ghosts}, + ["end"] = {end_tune}, + ["mining"] = {odd_block}, +} + +local listeners = {} + +local function pick_track(dimension, underground) + local track_key + + if dimension == "overworld" and underground then + track_key = "mining" + else + -- Pick random dimension song + track_key = dimension + end + + local dimension_tracks = dimension_to_base_track[track_key] + + if dimension_tracks and #dimension_tracks >= 1 then + local index = 1 + if #dimension_tracks > 1 then + index = math.random(1, #dimension_tracks) + end + local chosen_track = dimension_tracks[index] + --minetest.log("chosen_track: " .. chosen_track) + minetest.log("action", "[mcl_music] Playing track: " .. chosen_track .. ", for context: " .. track_key) + return chosen_track + else + --? + end + + return nil +end + + +local function stop_music_for_listener_name(listener_name) + if not listener_name then return end + local listener = listeners[listener_name] + if not listener then return end + local handle = listener.handle + if not handle then return end + + minetest.log("action", "[mcl_music] Stopping music") + minetest.sound_stop(handle) + listeners[listener_name].handle = nil +end + +local function stop_music_for_all() + for _, player in pairs(minetest.get_connected_players()) do + local player_name = player:get_player_name() + stop_music_for_listener_name(player_name) + end +end + +local function play_song(track, player_name, dimension, day_count) + local spec = { + name = track, + gain = 0.3, + pitch = 1.0, + } + local parameters = { + to_player = player_name, + gain = 1.0, + fade = 0.0, + pitch = 1.0, + } + local handle = minetest.sound_play(spec, parameters, false) + listeners[player_name] = { + handle = handle, + dimension = dimension, + day_count = day_count, + } +end + +local function play() + local time = minetest.get_timeofday() + if time < 0.25 or time >= 0.75 then + stop_music_for_all() + minetest.after(10, play) + return + end + + local day_count = minetest.get_day_count() + for _, player in pairs(minetest.get_connected_players()) do + local player_name = player:get_player_name() + local hp = player:get_hp() + local pos = player:get_pos() + local dimension = mcl_worlds.pos_to_dimension(pos) + + local listener = listeners[player_name] + local handle = listener and listener.handle + + --local old_hp = listener and listener.hp + --local is_hp_changed = old_hp and (math.abs(old_hp - hp) > 0.00001) or false + + local old_dimension = listener and listener.dimension + local is_dimension_changed = old_dimension and (old_dimension ~= dimension) or false + + --minetest.log("handle: " .. dump (handle)) + if is_dimension_changed then + stop_music_for_listener_name(player_name) + if not listeners[player_name] then + listeners[player_name] = {} + end + listeners[player_name].hp = hp + listeners[player_name].dimension = dimension + elseif not handle and (not listener or (listener.day_count ~= day_count)) then + local underground = dimension == "overworld" and pos and pos.y < 0 + local track = pick_track(dimension, underground) + if track then + play_song(track, player_name, dimension, day_count) + else + --minetest.log("no track found. weird") + end + else + --minetest.log("else") + end + end + + minetest.after(7, play) +end + +if music_enabled then + minetest.log("action", "[mcl_music] In-game music is activated") + minetest.after(15, play) + + minetest.register_on_joinplayer(function(player, last_login) + local player_name = player:get_player_name() + stop_music_for_listener_name(player_name) + end) + + minetest.register_on_respawnplayer(function(player) + local player_name = player:get_player_name() + stop_music_for_listener_name(player_name) + end) +else + minetest.log("action", "[mcl_music] In-game music is deactivated") +end diff --git a/mods/PLAYER/mcl_music/mod.conf b/mods/PLAYER/mcl_music/mod.conf new file mode 100644 index 000000000..74493b42d --- /dev/null +++ b/mods/PLAYER/mcl_music/mod.conf @@ -0,0 +1,4 @@ +name = mcl_music +author = diminixed, horizonchris96, kay27 +description = Mod check some conditions and plays music +depends = mcl_player, mcl_weather, mcl_worlds diff --git a/mods/PLAYER/mcl_music/sounds/Jester-0dd-BL0ck.ogg b/mods/PLAYER/mcl_music/sounds/Jester-0dd-BL0ck.ogg new file mode 100644 index 000000000..9e4c25fec Binary files /dev/null and b/mods/PLAYER/mcl_music/sounds/Jester-0dd-BL0ck.ogg differ diff --git a/mods/PLAYER/mcl_music/sounds/Jester-Flock-of-One.ogg b/mods/PLAYER/mcl_music/sounds/Jester-Flock-of-One.ogg new file mode 100644 index 000000000..5835fbfd4 Binary files /dev/null and b/mods/PLAYER/mcl_music/sounds/Jester-Flock-of-One.ogg differ diff --git a/mods/PLAYER/mcl_music/sounds/Jester-Gift.ogg b/mods/PLAYER/mcl_music/sounds/Jester-Gift.ogg new file mode 100644 index 000000000..69b9ec675 Binary files /dev/null and b/mods/PLAYER/mcl_music/sounds/Jester-Gift.ogg differ diff --git a/mods/PLAYER/mcl_music/sounds/Jester-Hailing_Forest.ogg b/mods/PLAYER/mcl_music/sounds/Jester-Hailing_Forest.ogg new file mode 100644 index 000000000..70fcab2f9 Binary files /dev/null and b/mods/PLAYER/mcl_music/sounds/Jester-Hailing_Forest.ogg differ diff --git a/mods/PLAYER/mcl_music/sounds/diminixed-ambientwip02.ogg b/mods/PLAYER/mcl_music/sounds/diminixed-ambientwip02.ogg new file mode 100644 index 000000000..d484d92d2 Binary files /dev/null and b/mods/PLAYER/mcl_music/sounds/diminixed-ambientwip02.ogg differ diff --git a/mods/PLAYER/mcl_music/sounds/diminixed-nevergrowup04.ogg b/mods/PLAYER/mcl_music/sounds/diminixed-nevergrowup04.ogg new file mode 100644 index 000000000..c6f2ccabd Binary files /dev/null and b/mods/PLAYER/mcl_music/sounds/diminixed-nevergrowup04.ogg differ diff --git a/mods/PLAYER/mcl_music/sounds/diminixed-pianowtune02.ogg b/mods/PLAYER/mcl_music/sounds/diminixed-pianowtune02.ogg new file mode 100644 index 000000000..cc9492e70 Binary files /dev/null and b/mods/PLAYER/mcl_music/sounds/diminixed-pianowtune02.ogg differ diff --git a/mods/PLAYER/mcl_music/sounds/exhale_and_tim_unwin-farmer.ogg b/mods/PLAYER/mcl_music/sounds/exhale_and_tim_unwin-farmer.ogg new file mode 100644 index 000000000..d919a5bf3 Binary files /dev/null and b/mods/PLAYER/mcl_music/sounds/exhale_and_tim_unwin-farmer.ogg differ diff --git a/mods/PLAYER/mcl_music/sounds/exhale_and_tim_unwin-lonely_blossom.ogg b/mods/PLAYER/mcl_music/sounds/exhale_and_tim_unwin-lonely_blossom.ogg new file mode 100644 index 000000000..53c32178a Binary files /dev/null and b/mods/PLAYER/mcl_music/sounds/exhale_and_tim_unwin-lonely_blossom.ogg differ diff --git a/mods/PLAYER/mcl_music/sounds/exhale_and_tim_unwin-valley_of_ghosts.ogg b/mods/PLAYER/mcl_music/sounds/exhale_and_tim_unwin-valley_of_ghosts.ogg new file mode 100644 index 000000000..7430a516e Binary files /dev/null and b/mods/PLAYER/mcl_music/sounds/exhale_and_tim_unwin-valley_of_ghosts.ogg differ diff --git a/mods/PLAYER/mcl_music/sounds/horizonchris96-traitor.ogg b/mods/PLAYER/mcl_music/sounds/horizonchris96-traitor.ogg new file mode 100644 index 000000000..c7eb103bc Binary files /dev/null and b/mods/PLAYER/mcl_music/sounds/horizonchris96-traitor.ogg differ diff --git a/mods/PLAYER/mcl_player/models/character.png b/mods/PLAYER/mcl_player/models/character.png deleted file mode 100644 index 16382f189..000000000 Binary files a/mods/PLAYER/mcl_player/models/character.png and /dev/null differ diff --git a/mods/PLAYER/mcl_player/textures/player.png b/mods/PLAYER/mcl_player/textures/player.png deleted file mode 100644 index a3e18be26..000000000 Binary files a/mods/PLAYER/mcl_player/textures/player.png and /dev/null differ diff --git a/mods/PLAYER/mcl_player/textures/player_back.png b/mods/PLAYER/mcl_player/textures/player_back.png deleted file mode 100644 index 4bd5366fa..000000000 Binary files a/mods/PLAYER/mcl_player/textures/player_back.png and /dev/null differ diff --git a/mods/PLAYER/mcl_playerplus/init.lua b/mods/PLAYER/mcl_playerplus/init.lua index 0faa9c53f..0e774ee2f 100644 --- a/mods/PLAYER/mcl_playerplus/init.lua +++ b/mods/PLAYER/mcl_playerplus/init.lua @@ -3,8 +3,6 @@ mcl_playerplus = { is_pressing_jump = {}, } -local hud_water = {} - local get_connected_players = minetest.get_connected_players local dir_to_yaw = minetest.dir_to_yaw local get_item_group = minetest.get_item_group @@ -27,26 +25,6 @@ local mcl_playerplus_internal = {} local time = 0 local look_pitch = 0 - -local function calculate_water_depth(pos) - for i=1, 50 do - if get_item_group(minetest.get_node(vector.new(pos.x,pos.y+i,pos.z)).name, "water") == 0 then - return i - end - end - return 50 -end - -local function remove_water_hud(player) - if hud_water[player] then - mcl_weather.skycolor.update_sky_color() - for i=1, #hud_water[player] do - player:hud_remove(hud_water[player][i]) - end - hud_water[player] = nil - end -end - local function player_collision(player) local pos = player:get_pos() @@ -417,23 +395,13 @@ minetest.register_globalstep(function(dtime) set_bone_pos(player,"Body_Control", nil, vector.new(0, -player_vel_yaw + yaw, 0)) end - if get_item_group(mcl_playerinfo[name].node_head, "water") ~= 0 then - if not hud_water[player] or hud_water[player] and calculate_water_depth(player:get_pos()) ~= #hud_water[player] then - remove_water_hud(player) - hud_water[player] = {} - for i=1, calculate_water_depth(player:get_pos()) do - table.insert(hud_water[player], player:hud_add({ - hud_elem_type = "image", - text = "mcl_playerplus_water.png", - position = {x = 0.5, y = 0.5}, - scale = {x = 32, y = 16}, - offset = {x = 0, y = 0}, - z_index = -1002, - })) - end - end - else - remove_water_hud(player) + local underwater + if get_item_group(mcl_playerinfo[name].node_head, "water") ~= 0 and underwater ~= true then + mcl_weather.skycolor.update_sky_color() + local underwater = true + elseif get_item_group(mcl_playerinfo[name].node_head, "water") == 0 and underwater == true then + mcl_weather.skycolor.update_sky_color() + local underwater = false end elytra.last_yaw = player:get_look_horizontal() @@ -627,7 +595,7 @@ minetest.register_globalstep(function(dtime) -- Show positions of barriers when player is wielding a barrier local wi = player:get_wielded_item():get_name() - if wi == "mcl_core:barrier" or wi == "mcl_core:realm_barrier" then + if wi == "mcl_core:barrier" or wi == "mcl_core:realm_barrier" or minetest.get_item_group(wi, "light_block") ~= 0 then local pos = vector.round(player:get_pos()) local r = 8 local vm = get_voxel_manip() @@ -642,11 +610,15 @@ minetest.register_globalstep(function(dtime) for z=pos.z-r, pos.z+r do local vi = area:indexp({x=x, y=y, z=z}) local nodename = get_name_from_content_id(data[vi]) + local light_block_group = minetest.get_item_group(nodename, "light_block") + local tex if nodename == "mcl_core:barrier" then tex = "mcl_core_barrier.png" elseif nodename == "mcl_core:realm_barrier" then tex = "mcl_core_barrier.png^[colorize:#FF00FF:127^[transformFX" + elseif light_block_group ~= 0 then + tex = "mcl_core_light_" .. (light_block_group - 1) .. ".png" end if tex then add_particle({ diff --git a/mods/PLAYER/mcl_playerplus/locale/mcl_playerplus.ja.tr b/mods/PLAYER/mcl_playerplus/locale/mcl_playerplus.ja.tr deleted file mode 100644 index 6395fa64e..000000000 --- a/mods/PLAYER/mcl_playerplus/locale/mcl_playerplus.ja.tr +++ /dev/null @@ -1,3 +0,0 @@ -# textdomain: mcl_playerplus -@1 suffocated to death.=@1 は窒息死しました。 -@1 was prickled to death by a cactus.=@1 はサボテンにチクチク刺されて死にました。 diff --git a/mods/PLAYER/mcl_playerplus/locale/mcl_playerplus.pl.tr b/mods/PLAYER/mcl_playerplus/locale/mcl_playerplus.pl.tr deleted file mode 100644 index 67a82d95d..000000000 --- a/mods/PLAYER/mcl_playerplus/locale/mcl_playerplus.pl.tr +++ /dev/null @@ -1,3 +0,0 @@ -# textdomain: mcl_playerplus -@1 suffocated to death.=@1 udusiła się na śmierć. -@1 was prickled to death by a cactus.=@1 została zakłuta na śmierć przez kaktusa. diff --git a/mods/PLAYER/mcl_playerplus/locale/mcl_playerplus.zh_TW.tr b/mods/PLAYER/mcl_playerplus/locale/mcl_playerplus.zh_TW.tr deleted file mode 100644 index eb9e6b1db..000000000 --- a/mods/PLAYER/mcl_playerplus/locale/mcl_playerplus.zh_TW.tr +++ /dev/null @@ -1,3 +0,0 @@ -# textdomain: mcl_playerplus -@1 suffocated to death.=@1 在牆壁裡窒息。 -@1 was prickled to death by a cactus.=@1 被仙人掌刺死了。 diff --git a/mods/PLAYER/mcl_playerplus/textures/mcl_playerplus_water.png b/mods/PLAYER/mcl_playerplus/textures/mcl_playerplus_water.png deleted file mode 100644 index 0524ce8d6..000000000 Binary files a/mods/PLAYER/mcl_playerplus/textures/mcl_playerplus_water.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/edit_skin.lua b/mods/PLAYER/mcl_skins/edit_skin.lua index 3ced41d6d..f4f6fe90f 100644 --- a/mods/PLAYER/mcl_skins/edit_skin.lua +++ b/mods/PLAYER/mcl_skins/edit_skin.lua @@ -139,6 +139,10 @@ minetest.register_on_joinplayer(function(player) skin = minetest.deserialize(skin) end if skin then + -- If the player moves a slider and then quickly exits the game, form_send_job gets saved. + -- This should never have been put in with the skin data in the first place. + skin.form_send_job = nil + mcl_skins.players[player] = skin else if math.random() > 0.5 then @@ -424,6 +428,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) -- Cancel formspec resend after scrollbar move if mcl_skins.players[player].form_send_job then mcl_skins.players[player].form_send_job:cancel() + mcl_skins.players[player].form_send_job = nil end if fields.quit then diff --git a/mods/PLAYER/mcl_skins/mesh_hand.lua b/mods/PLAYER/mcl_skins/mesh_hand.lua index 8bbcff878..28b2bab20 100644 --- a/mods/PLAYER/mcl_skins/mesh_hand.lua +++ b/mods/PLAYER/mcl_skins/mesh_hand.lua @@ -11,43 +11,51 @@ end function mcl_skins.get_skin_list() local list = {} - for _, base in pairs(mcl_skins.base) do - for _, base_color in pairs(mcl_skins.base_color) do - local id = base:gsub(".png$", "") .. minetest.colorspec_to_colorstring(base_color):gsub("#", "") - local female = { - texture = make_texture(base, base_color), - slim_arms = true, - id = id .. "_female" - } - table.insert(list, female) - - local male = { - texture = make_texture(base, base_color), - slim_arms = false, - id = id .. "_male" - } - table.insert(list, male) + for _, game_mode in pairs({"_crea", "_surv"}) do + for _, base in pairs(mcl_skins.base) do + for _, base_color in pairs(mcl_skins.base_color) do + local id = base:gsub(".png$", "") .. minetest.colorspec_to_colorstring(base_color):gsub("#", "") + local female = { + texture = make_texture(base, base_color), + slim_arms = true, + id = id .. "_female" .. game_mode, + creative = game_mode == "_crea" + } + table.insert(list, female) + + local male = { + texture = make_texture(base, base_color), + slim_arms = false, + id = id .. "_male" .. game_mode, + creative = game_mode == "_crea" + } + table.insert(list, male) + end + end + for _, skin in pairs(mcl_skins.simple_skins) do + table.insert(list, { + texture = skin.texture, + slim_arms = skin.slim_arms, + id = skin.texture:gsub(".png$", "") .. (skin.slim_arms and "_female" or "_male") .. game_mode, + creative = game_mode == "_crea" + }) end - end - for _, skin in pairs(mcl_skins.simple_skins) do - table.insert(list, { - texture = skin.texture, - slim_arms = skin.slim_arms, - id = skin.texture:gsub(".png$", "") .. "_" .. (skin.slim_arms and "female" or "male"), - }) end return list end function mcl_skins.get_node_id_by_player(player) local skin = mcl_skins.players[player] - if skin.simple_skins_id then - local skin = mcl_skins.simple_skins[skin.simple_skins_id] - return skin.texture:gsub(".png$", "") .. - "_" .. (skin.slim_arms and "female" or "male") + local simple_skin = skin.simple_skins_id + if simple_skin then + skin = mcl_skins.simple_skins[skin.simple_skins_id] + end + local creative = minetest.is_creative_enabled(player:get_player_name()) + local append = (skin.slim_arms and "_female" or "_male") .. (creative and "_crea" or "_surv") + if simple_skin then + return skin.texture:gsub(".png$", "") .. append else return skin.base:gsub(".png$", "") .. - minetest.colorspec_to_colorstring(skin.base_color):gsub("#", "") .. - "_" .. (skin.slim_arms and "female" or "male") + minetest.colorspec_to_colorstring(skin.base_color):gsub("#", "") .. append end end diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_arrow.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_arrow.png deleted file mode 100644 index 4ca964a8d..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_arrow.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_base_1_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_base_1_mask.png deleted file mode 100644 index 06c857c4d..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_base_1_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_1.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_1.png deleted file mode 100644 index eccc15ebf..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_1.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_1_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_1_mask.png deleted file mode 100644 index 41f38d04f..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_1_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_2_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_2_mask.png deleted file mode 100644 index 2758cf8b8..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_2_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_3.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_3.png deleted file mode 100644 index aacfeb334..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_3.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_3_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_3_mask.png deleted file mode 100644 index 0a97de395..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_3_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_4_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_4_mask.png deleted file mode 100644 index 3312073c9..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_4_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_button.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_button.png deleted file mode 100644 index 16801e918..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_button.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_character_1.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_character_1.png index 71f02471d..598877bbc 100644 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_character_1.png and b/mods/PLAYER/mcl_skins/textures/mcl_skins_character_1.png differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_1.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_1.png deleted file mode 100644 index ff19a09b3..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_1.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_2.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_2.png deleted file mode 100644 index 4fd1b207f..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_2.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_3.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_3.png deleted file mode 100644 index 6a6ebc74d..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_3.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_6.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_6.png deleted file mode 100644 index 8be76c317..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_6.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_footwear_1.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_footwear_1.png deleted file mode 100644 index 1ff60f24b..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_footwear_1.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_footwear_2.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_footwear_2.png deleted file mode 100644 index dc0ef6472..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_footwear_2.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_footwear_3.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_footwear_3.png deleted file mode 100644 index 69bb4d934..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_footwear_3.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_1.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_1.png deleted file mode 100644 index 789468518..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_1.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_10.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_10.png deleted file mode 100644 index 962d1aa70..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_10.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_10_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_10_mask.png deleted file mode 100644 index 775d8cd96..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_10_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_11.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_11.png deleted file mode 100644 index 3eff9bca4..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_11.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_11_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_11_mask.png deleted file mode 100644 index 05836b288..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_11_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_1_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_1_mask.png deleted file mode 100644 index cc58ddd23..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_1_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_2.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_2.png deleted file mode 100644 index d0f4a24e4..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_2.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_2_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_2_mask.png deleted file mode 100644 index 925821788..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_2_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_3.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_3.png deleted file mode 100644 index d88945b41..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_3.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_3_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_3_mask.png deleted file mode 100644 index 6ac774343..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_3_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_4.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_4.png deleted file mode 100644 index 61fa3db8c..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_4.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_4_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_4_mask.png deleted file mode 100644 index 542717316..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_4_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_5.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_5.png deleted file mode 100644 index 55214fac5..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_5.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_5_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_5_mask.png deleted file mode 100644 index ecee2e2bb..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_5_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_6.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_6.png deleted file mode 100644 index 40e6eb759..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_6.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_6_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_6_mask.png deleted file mode 100644 index c1de86fd5..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_6_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_7.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_7.png deleted file mode 100644 index 2449a06ce..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_7.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_7_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_7_mask.png deleted file mode 100644 index 6b1aa0b34..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_7_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_8.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_8.png deleted file mode 100644 index f332eebc0..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_8.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_8_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_8_mask.png deleted file mode 100644 index 751fb9bc0..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_8_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_9.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_9.png deleted file mode 100644 index dfbe0b574..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_9.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_9_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_9_mask.png deleted file mode 100644 index a5ba8f989..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_hair_9_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_2.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_2.png deleted file mode 100644 index 5e288734d..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_2.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_3.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_3.png deleted file mode 100644 index 682eb4df4..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_3.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_4.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_4.png deleted file mode 100644 index 1b278d5b0..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_4.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_5.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_5.png deleted file mode 100644 index 0246dccda..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_5.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_6.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_6.png deleted file mode 100644 index 9c9ab1a02..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_6.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_3.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_3.png deleted file mode 100644 index 9bb46f618..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_3.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_select_overlay.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_select_overlay.png deleted file mode 100644 index 93e656703..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_select_overlay.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_1.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_1.png deleted file mode 100644 index aeddf5212..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_1.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_10.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_10.png deleted file mode 100644 index d7e0191cd..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_10.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_10_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_10_mask.png deleted file mode 100644 index f5d8d40b8..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_10_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_1_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_1_mask.png deleted file mode 100644 index 64df0b039..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_1_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_2.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_2.png deleted file mode 100644 index 5deb9f8bb..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_2.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_2_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_2_mask.png deleted file mode 100644 index 564f938a6..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_2_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_3.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_3.png deleted file mode 100644 index 14b65d09a..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_3.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_3_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_3_mask.png deleted file mode 100644 index 0e87301de..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_3_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_4_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_4_mask.png deleted file mode 100644 index a7e5ce8af..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_4_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_5.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_5.png deleted file mode 100644 index fc1e798b7..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_5.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_5_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_5_mask.png deleted file mode 100644 index b846c71e1..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_5_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_6.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_6.png deleted file mode 100644 index 6f9f7dcc0..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_6.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_6_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_6_mask.png deleted file mode 100644 index c89bc3624..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_6_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_7.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_7.png deleted file mode 100644 index 844c09ac8..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_7.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_7_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_7_mask.png deleted file mode 100644 index 0a6e65227..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_7_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_8.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_8.png deleted file mode 100644 index da32f24c6..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_8.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_8_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_8_mask.png deleted file mode 100644 index e4f61a4cc..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_8_mask.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_9.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_9.png deleted file mode 100644 index 2b65eca98..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_9.png and /dev/null differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_9_mask.png b/mods/PLAYER/mcl_skins/textures/mcl_skins_top_9_mask.png deleted file mode 100644 index 55c1dd993..000000000 Binary files a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_9_mask.png and /dev/null differ diff --git a/settingtypes.txt b/settingtypes.txt index 25ac943ea..628641c54 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -36,8 +36,8 @@ mcl_weather_dust_particles (Nether dust particles) int 150 0 # Note that blocks never have drops when in Creative Mode. mcl_doTileDrops (Blocks have drops) bool true -# If enabled, TNT explosions destroy blocks. -mcl_tnt_griefing (TNT destroys blocks) bool true +# If enabled, explosions destroy blocks. +mcl_explosions_griefing (Explosions destroy blocks) bool true # Comma separated list of disabled structure names mcl_disabled_structures (Disabled structures) string @@ -76,10 +76,13 @@ mcl_enable_skin_customization (Enable player skin customization) bool true # Default:4.5 mcl_hand_range (Hand range) float 4.5 1 128 -# How far the player hand can reach in creative mode (not gamemode-creative) +# How far the player hand can reach in creative mode # Default:10 mcl_hand_range_creative (Creative mode hand range) float 10 1 128 +# Creative mode dig speed in seconds +mcl_creative_dig_speed (Creative mode dig speed) float 0.2 + # If enabled the hunger mechanic will be active mcl_enable_hunger (Hunger mechanic) bool true @@ -112,6 +115,15 @@ mobs_griefing (Mobs change blocks) bool true # If enabled, mobs won't damage particles when they got hurt. mobs_disable_blood (Disable mob damage particles) bool false +#Percentage of peaceful spawn attempts that succeed (default:35) +mcl_mob_peaceful_percentage_spawned (Peaceful percentage success) int 35 0 100 + +#Percentage of peaceful spawn attempts that are group spawns (default:15) +mcl_mob_peaceful_group_percentage_spawned (Peaceful group percentage) int 15 0 100 + +#Percentage of hostile spawn attempts that are group spawns (default:20) +mcl_mob_hostile_group_percentage_spawned (Hostile group percentage) int 20 0 100 + #Maximum amount mobs (default:500) mcl_mob_cap_total (Global mob cap) int 500 0 2048 @@ -121,8 +133,11 @@ mcl_mob_cap_player (Mob cap per player) int 75 0 2048 #Maximum amount of monsters that will spawn near a player (default:70) mcl_mob_cap_monster (Mob cap monsters) int 70 0 2048 -#Maximum amount of animals that will spawn near a player (default:10) -mcl_mob_cap_animal (Mob cap animals) int 10 0 1024 +#Maximum amount of animals that will spawn near a player (default:13) +mcl_mob_cap_animal (Mob cap animals) int 13 0 1024 + +#Maximum amount of water mobs that will spawn near a player (default:8) +mcl_mob_cap_water (Mob cap water) int 8 0 1024 #Maximum amount of ambient mobs that will spawn near a player (default:15) mcl_mob_cap_ambient (Mob cap ambient mobs) int 15 0 1024 @@ -134,11 +149,16 @@ mcl_old_spawn_icons (Old spawn icons instead of eggs) bool false # Larger values will have a larger performance impact (default:48) mcl_mob_active_range (Active mob range) int 48 0 256 +# Zombie siege raid (default:false) +mcl_raids_zombie_siege (Zombie siege raid) bool false [Audio] # Enable flame sound. flame_sound (Flame sound) bool true +# Enable the in-game music. +mcl_game_music (In-game music) bool true + [Graphics] # How many vertical animation frames the fire texture (fire_basic_flame_animated.png) has. # This may vary depending on the texture pack you use. @@ -228,6 +248,9 @@ mcl_extended_pet_control (Extended pet control) bool true # Enable hamburgers for villagers to follow mcl_enable_hamburger (Enable Hamburger) bool true +# Starting Inventory contents (given directly to the new player) type: bool +give_starting_inv (Player Starter Pack) bool false + [Debugging] # If enabled, this will show the itemstring of an item in the description. mcl_item_id_debug (Item ID Debug) bool false diff --git a/mods/ITEMS/mcl_signs/textures/_0.png b/textures/_0.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_0.png rename to textures/_0.png diff --git a/mods/ITEMS/mcl_signs/textures/_1.png b/textures/_1.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_1.png rename to textures/_1.png diff --git a/mods/ITEMS/mcl_signs/textures/_1_2.png b/textures/_1_2.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_1_2.png rename to textures/_1_2.png diff --git a/mods/ITEMS/mcl_signs/textures/_1_4.png b/textures/_1_4.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_1_4.png rename to textures/_1_4.png diff --git a/mods/ITEMS/mcl_signs/textures/_1_sup.png b/textures/_1_sup.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_1_sup.png rename to textures/_1_sup.png diff --git a/mods/ITEMS/mcl_signs/textures/_2.png b/textures/_2.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_2.png rename to textures/_2.png diff --git a/mods/ITEMS/mcl_signs/textures/_2_sup.png b/textures/_2_sup.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_2_sup.png rename to textures/_2_sup.png diff --git a/mods/ITEMS/mcl_signs/textures/_3.png b/textures/_3.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_3.png rename to textures/_3.png diff --git a/mods/ITEMS/mcl_signs/textures/_3_4.png b/textures/_3_4.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_3_4.png rename to textures/_3_4.png diff --git a/mods/ITEMS/mcl_signs/textures/_3_sup.png b/textures/_3_sup.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_3_sup.png rename to textures/_3_sup.png diff --git a/mods/ITEMS/mcl_signs/textures/_4.png b/textures/_4.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_4.png rename to textures/_4.png diff --git a/mods/ITEMS/mcl_signs/textures/_5.png b/textures/_5.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_5.png rename to textures/_5.png diff --git a/mods/ITEMS/mcl_signs/textures/_6.png b/textures/_6.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_6.png rename to textures/_6.png diff --git a/mods/ITEMS/mcl_signs/textures/_7.png b/textures/_7.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_7.png rename to textures/_7.png diff --git a/mods/ITEMS/mcl_signs/textures/_8.png b/textures/_8.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_8.png rename to textures/_8.png diff --git a/mods/ITEMS/mcl_signs/textures/_9.png b/textures/_9.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_9.png rename to textures/_9.png diff --git a/mods/ITEMS/mcl_signs/textures/_a.png b/textures/_a.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_a.png rename to textures/_a.png diff --git a/mods/ITEMS/mcl_signs/textures/_a_.png b/textures/_a_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_a_.png rename to textures/_a_.png diff --git a/mods/ITEMS/mcl_signs/textures/_a_acute.png b/textures/_a_acute.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_a_acute.png rename to textures/_a_acute.png diff --git a/mods/ITEMS/mcl_signs/textures/_a_acute_.png b/textures/_a_acute_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_a_acute_.png rename to textures/_a_acute_.png diff --git a/mods/ITEMS/mcl_signs/textures/_a_circumflex.png b/textures/_a_circumflex.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_a_circumflex.png rename to textures/_a_circumflex.png diff --git a/mods/ITEMS/mcl_signs/textures/_a_circumflex_.png b/textures/_a_circumflex_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_a_circumflex_.png rename to textures/_a_circumflex_.png diff --git a/mods/ITEMS/mcl_signs/textures/_a_grave.png b/textures/_a_grave.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_a_grave.png rename to textures/_a_grave.png diff --git a/mods/ITEMS/mcl_signs/textures/_a_grave_.png b/textures/_a_grave_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_a_grave_.png rename to textures/_a_grave_.png diff --git a/mods/ITEMS/mcl_signs/textures/_a_ring.png b/textures/_a_ring.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_a_ring.png rename to textures/_a_ring.png diff --git a/mods/ITEMS/mcl_signs/textures/_a_ring_.png b/textures/_a_ring_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_a_ring_.png rename to textures/_a_ring_.png diff --git a/mods/ITEMS/mcl_signs/textures/_a_sup.png b/textures/_a_sup.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_a_sup.png rename to textures/_a_sup.png diff --git a/mods/ITEMS/mcl_signs/textures/_a_tilde.png b/textures/_a_tilde.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_a_tilde.png rename to textures/_a_tilde.png diff --git a/mods/ITEMS/mcl_signs/textures/_a_tilde_.png b/textures/_a_tilde_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_a_tilde_.png rename to textures/_a_tilde_.png diff --git a/mods/ITEMS/mcl_signs/textures/_acute.png b/textures/_acute.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_acute.png rename to textures/_acute.png diff --git a/mods/ITEMS/mcl_signs/textures/_ae.png b/textures/_ae.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ae.png rename to textures/_ae.png diff --git a/mods/ITEMS/mcl_signs/textures/_ae_.png b/textures/_ae_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ae_.png rename to textures/_ae_.png diff --git a/mods/ITEMS/mcl_signs/textures/_ae_lig.png b/textures/_ae_lig.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ae_lig.png rename to textures/_ae_lig.png diff --git a/mods/ITEMS/mcl_signs/textures/_ae_lig_.png b/textures/_ae_lig_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ae_lig_.png rename to textures/_ae_lig_.png diff --git a/mods/ITEMS/mcl_signs/textures/_am.png b/textures/_am.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_am.png rename to textures/_am.png diff --git a/mods/ITEMS/mcl_signs/textures/_ap.png b/textures/_ap.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ap.png rename to textures/_ap.png diff --git a/mods/ITEMS/mcl_signs/textures/_as.png b/textures/_as.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_as.png rename to textures/_as.png diff --git a/mods/ITEMS/mcl_signs/textures/_at.png b/textures/_at.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_at.png rename to textures/_at.png diff --git a/mods/ITEMS/mcl_signs/textures/_b.png b/textures/_b.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_b.png rename to textures/_b.png diff --git a/mods/ITEMS/mcl_signs/textures/_b_.png b/textures/_b_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_b_.png rename to textures/_b_.png diff --git a/mods/ITEMS/mcl_signs/textures/_bl.png b/textures/_bl.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_bl.png rename to textures/_bl.png diff --git a/mods/ITEMS/mcl_signs/textures/_br.png b/textures/_br.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_br.png rename to textures/_br.png diff --git a/mods/ITEMS/mcl_signs/textures/_broken_bar.png b/textures/_broken_bar.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_broken_bar.png rename to textures/_broken_bar.png diff --git a/mods/ITEMS/mcl_signs/textures/_c.png b/textures/_c.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_c.png rename to textures/_c.png diff --git a/mods/ITEMS/mcl_signs/textures/_c_.png b/textures/_c_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_c_.png rename to textures/_c_.png diff --git a/mods/ITEMS/mcl_signs/textures/_c_cedille.png b/textures/_c_cedille.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_c_cedille.png rename to textures/_c_cedille.png diff --git a/mods/ITEMS/mcl_signs/textures/_c_cedille_.png b/textures/_c_cedille_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_c_cedille_.png rename to textures/_c_cedille_.png diff --git a/mods/ITEMS/mcl_signs/textures/_ca.png b/textures/_ca.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ca.png rename to textures/_ca.png diff --git a/mods/ITEMS/mcl_signs/textures/_cedille.png b/textures/_cedille.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_cedille.png rename to textures/_cedille.png diff --git a/mods/ITEMS/mcl_signs/textures/_cent.png b/textures/_cent.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_cent.png rename to textures/_cent.png diff --git a/mods/ITEMS/mcl_signs/textures/_cl.png b/textures/_cl.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_cl.png rename to textures/_cl.png diff --git a/mods/ITEMS/mcl_signs/textures/_cm.png b/textures/_cm.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_cm.png rename to textures/_cm.png diff --git a/mods/ITEMS/mcl_signs/textures/_co.png b/textures/_co.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_co.png rename to textures/_co.png diff --git a/mods/ITEMS/mcl_signs/textures/_copyright.png b/textures/_copyright.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_copyright.png rename to textures/_copyright.png diff --git a/mods/ITEMS/mcl_signs/textures/_cr.png b/textures/_cr.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_cr.png rename to textures/_cr.png diff --git a/mods/ITEMS/mcl_signs/textures/_currency.png b/textures/_currency.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_currency.png rename to textures/_currency.png diff --git a/mods/ITEMS/mcl_signs/textures/_d.png b/textures/_d.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_d.png rename to textures/_d.png diff --git a/mods/ITEMS/mcl_signs/textures/_d_.png b/textures/_d_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_d_.png rename to textures/_d_.png diff --git a/mods/ITEMS/mcl_signs/textures/_d_dash.png b/textures/_d_dash.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_d_dash.png rename to textures/_d_dash.png diff --git a/mods/ITEMS/mcl_signs/textures/_d_dash_.png b/textures/_d_dash_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_d_dash_.png rename to textures/_d_dash_.png diff --git a/mods/ITEMS/mcl_signs/textures/_degree.png b/textures/_degree.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_degree.png rename to textures/_degree.png diff --git a/mods/ITEMS/mcl_signs/textures/_diaresis.png b/textures/_diaresis.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_diaresis.png rename to textures/_diaresis.png diff --git a/mods/ITEMS/mcl_signs/textures/_div.png b/textures/_div.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_div.png rename to textures/_div.png diff --git a/mods/ITEMS/mcl_signs/textures/_dl.png b/textures/_dl.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_dl.png rename to textures/_dl.png diff --git a/mods/ITEMS/mcl_signs/textures/_dt.png b/textures/_dt.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_dt.png rename to textures/_dt.png diff --git a/mods/ITEMS/mcl_signs/textures/_dv.png b/textures/_dv.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_dv.png rename to textures/_dv.png diff --git a/mods/ITEMS/mcl_signs/textures/_e.png b/textures/_e.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_e.png rename to textures/_e.png diff --git a/mods/ITEMS/mcl_signs/textures/_e_.png b/textures/_e_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_e_.png rename to textures/_e_.png diff --git a/mods/ITEMS/mcl_signs/textures/_e_acute.png b/textures/_e_acute.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_e_acute.png rename to textures/_e_acute.png diff --git a/mods/ITEMS/mcl_signs/textures/_e_acute_.png b/textures/_e_acute_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_e_acute_.png rename to textures/_e_acute_.png diff --git a/mods/ITEMS/mcl_signs/textures/_e_circumflex.png b/textures/_e_circumflex.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_e_circumflex.png rename to textures/_e_circumflex.png diff --git a/mods/ITEMS/mcl_signs/textures/_e_circumflex_.png b/textures/_e_circumflex_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_e_circumflex_.png rename to textures/_e_circumflex_.png diff --git a/mods/ITEMS/mcl_signs/textures/_e_grave.png b/textures/_e_grave.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_e_grave.png rename to textures/_e_grave.png diff --git a/mods/ITEMS/mcl_signs/textures/_e_grave_.png b/textures/_e_grave_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_e_grave_.png rename to textures/_e_grave_.png diff --git a/mods/ITEMS/mcl_signs/textures/_ee.png b/textures/_ee.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ee.png rename to textures/_ee.png diff --git a/mods/ITEMS/mcl_signs/textures/_ee_.png b/textures/_ee_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ee_.png rename to textures/_ee_.png diff --git a/mods/ITEMS/mcl_signs/textures/_eq.png b/textures/_eq.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_eq.png rename to textures/_eq.png diff --git a/mods/ITEMS/mcl_signs/textures/_ex.png b/textures/_ex.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ex.png rename to textures/_ex.png diff --git a/mods/ITEMS/mcl_signs/textures/_ex_inv.png b/textures/_ex_inv.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ex_inv.png rename to textures/_ex_inv.png diff --git a/mods/ITEMS/mcl_signs/textures/_f.png b/textures/_f.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_f.png rename to textures/_f.png diff --git a/mods/ITEMS/mcl_signs/textures/_f_.png b/textures/_f_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_f_.png rename to textures/_f_.png diff --git a/mods/ITEMS/mcl_signs/textures/_g.png b/textures/_g.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_g.png rename to textures/_g.png diff --git a/mods/ITEMS/mcl_signs/textures/_g_.png b/textures/_g_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_g_.png rename to textures/_g_.png diff --git a/mods/ITEMS/mcl_signs/textures/_gr.png b/textures/_gr.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_gr.png rename to textures/_gr.png diff --git a/mods/ITEMS/mcl_signs/textures/_gt.png b/textures/_gt.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_gt.png rename to textures/_gt.png diff --git a/mods/ITEMS/mcl_signs/textures/_guill_left.png b/textures/_guill_left.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_guill_left.png rename to textures/_guill_left.png diff --git a/mods/ITEMS/mcl_signs/textures/_guill_right.png b/textures/_guill_right.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_guill_right.png rename to textures/_guill_right.png diff --git a/mods/ITEMS/mcl_signs/textures/_h.png b/textures/_h.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_h.png rename to textures/_h.png diff --git a/mods/ITEMS/mcl_signs/textures/_h_.png b/textures/_h_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_h_.png rename to textures/_h_.png diff --git a/mods/ITEMS/mcl_signs/textures/_ha.png b/textures/_ha.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ha.png rename to textures/_ha.png diff --git a/mods/ITEMS/mcl_signs/textures/_hs.png b/textures/_hs.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_hs.png rename to textures/_hs.png diff --git a/mods/ITEMS/mcl_signs/textures/_i.png b/textures/_i.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_i.png rename to textures/_i.png diff --git a/mods/ITEMS/mcl_signs/textures/_i_.png b/textures/_i_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_i_.png rename to textures/_i_.png diff --git a/mods/ITEMS/mcl_signs/textures/_i_acute.png b/textures/_i_acute.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_i_acute.png rename to textures/_i_acute.png diff --git a/mods/ITEMS/mcl_signs/textures/_i_acute_.png b/textures/_i_acute_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_i_acute_.png rename to textures/_i_acute_.png diff --git a/mods/ITEMS/mcl_signs/textures/_i_circumflex.png b/textures/_i_circumflex.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_i_circumflex.png rename to textures/_i_circumflex.png diff --git a/mods/ITEMS/mcl_signs/textures/_i_circumflex_.png b/textures/_i_circumflex_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_i_circumflex_.png rename to textures/_i_circumflex_.png diff --git a/mods/ITEMS/mcl_signs/textures/_i_grave.png b/textures/_i_grave.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_i_grave.png rename to textures/_i_grave.png diff --git a/mods/ITEMS/mcl_signs/textures/_i_grave_.png b/textures/_i_grave_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_i_grave_.png rename to textures/_i_grave_.png diff --git a/mods/ITEMS/mcl_signs/textures/_j.png b/textures/_j.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_j.png rename to textures/_j.png diff --git a/mods/ITEMS/mcl_signs/textures/_j_.png b/textures/_j_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_j_.png rename to textures/_j_.png diff --git a/mods/ITEMS/mcl_signs/textures/_k.png b/textures/_k.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_k.png rename to textures/_k.png diff --git a/mods/ITEMS/mcl_signs/textures/_k_.png b/textures/_k_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_k_.png rename to textures/_k_.png diff --git a/mods/ITEMS/mcl_signs/textures/_l.png b/textures/_l.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_l.png rename to textures/_l.png diff --git a/mods/ITEMS/mcl_signs/textures/_l_.png b/textures/_l_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_l_.png rename to textures/_l_.png diff --git a/mods/ITEMS/mcl_signs/textures/_lt.png b/textures/_lt.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_lt.png rename to textures/_lt.png diff --git a/mods/ITEMS/mcl_signs/textures/_m.png b/textures/_m.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_m.png rename to textures/_m.png diff --git a/mods/ITEMS/mcl_signs/textures/_m_.png b/textures/_m_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_m_.png rename to textures/_m_.png diff --git a/mods/ITEMS/mcl_signs/textures/_macron.png b/textures/_macron.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_macron.png rename to textures/_macron.png diff --git a/mods/ITEMS/mcl_signs/textures/_mn.png b/textures/_mn.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_mn.png rename to textures/_mn.png diff --git a/mods/ITEMS/mcl_signs/textures/_mu.png b/textures/_mu.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_mu.png rename to textures/_mu.png diff --git a/mods/ITEMS/mcl_signs/textures/_n.png b/textures/_n.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_n.png rename to textures/_n.png diff --git a/mods/ITEMS/mcl_signs/textures/_n_.png b/textures/_n_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_n_.png rename to textures/_n_.png diff --git a/mods/ITEMS/mcl_signs/textures/_n_tilde.png b/textures/_n_tilde.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_n_tilde.png rename to textures/_n_tilde.png diff --git a/mods/ITEMS/mcl_signs/textures/_n_tilde_.png b/textures/_n_tilde_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_n_tilde_.png rename to textures/_n_tilde_.png diff --git a/mods/ITEMS/mcl_signs/textures/_not.png b/textures/_not.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_not.png rename to textures/_not.png diff --git a/mods/ITEMS/mcl_signs/textures/_o.png b/textures/_o.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_o.png rename to textures/_o.png diff --git a/mods/ITEMS/mcl_signs/textures/_o_.png b/textures/_o_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_o_.png rename to textures/_o_.png diff --git a/mods/ITEMS/mcl_signs/textures/_o_acute.png b/textures/_o_acute.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_o_acute.png rename to textures/_o_acute.png diff --git a/mods/ITEMS/mcl_signs/textures/_o_acute_.png b/textures/_o_acute_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_o_acute_.png rename to textures/_o_acute_.png diff --git a/mods/ITEMS/mcl_signs/textures/_o_circumflex.png b/textures/_o_circumflex.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_o_circumflex.png rename to textures/_o_circumflex.png diff --git a/mods/ITEMS/mcl_signs/textures/_o_circumflex_.png b/textures/_o_circumflex_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_o_circumflex_.png rename to textures/_o_circumflex_.png diff --git a/mods/ITEMS/mcl_signs/textures/_o_dash.png b/textures/_o_dash.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_o_dash.png rename to textures/_o_dash.png diff --git a/mods/ITEMS/mcl_signs/textures/_o_dash_.png b/textures/_o_dash_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_o_dash_.png rename to textures/_o_dash_.png diff --git a/mods/ITEMS/mcl_signs/textures/_o_grave.png b/textures/_o_grave.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_o_grave.png rename to textures/_o_grave.png diff --git a/mods/ITEMS/mcl_signs/textures/_o_grave_.png b/textures/_o_grave_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_o_grave_.png rename to textures/_o_grave_.png diff --git a/mods/ITEMS/mcl_signs/textures/_o_sup.png b/textures/_o_sup.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_o_sup.png rename to textures/_o_sup.png diff --git a/mods/ITEMS/mcl_signs/textures/_o_tilde.png b/textures/_o_tilde.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_o_tilde.png rename to textures/_o_tilde.png diff --git a/mods/ITEMS/mcl_signs/textures/_o_tilde_.png b/textures/_o_tilde_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_o_tilde_.png rename to textures/_o_tilde_.png diff --git a/mods/ITEMS/mcl_signs/textures/_oe.png b/textures/_oe.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_oe.png rename to textures/_oe.png diff --git a/mods/ITEMS/mcl_signs/textures/_oe_.png b/textures/_oe_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_oe_.png rename to textures/_oe_.png diff --git a/mods/ITEMS/mcl_signs/textures/_p.png b/textures/_p.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_p.png rename to textures/_p.png diff --git a/mods/ITEMS/mcl_signs/textures/_p_.png b/textures/_p_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_p_.png rename to textures/_p_.png diff --git a/mods/ITEMS/mcl_signs/textures/_paragraph.png b/textures/_paragraph.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_paragraph.png rename to textures/_paragraph.png diff --git a/mods/ITEMS/mcl_signs/textures/_pilcrow.png b/textures/_pilcrow.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_pilcrow.png rename to textures/_pilcrow.png diff --git a/mods/ITEMS/mcl_signs/textures/_plus_minus.png b/textures/_plus_minus.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_plus_minus.png rename to textures/_plus_minus.png diff --git a/mods/ITEMS/mcl_signs/textures/_pound.png b/textures/_pound.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_pound.png rename to textures/_pound.png diff --git a/mods/ITEMS/mcl_signs/textures/_pr.png b/textures/_pr.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_pr.png rename to textures/_pr.png diff --git a/mods/ITEMS/mcl_signs/textures/_ps.png b/textures/_ps.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ps.png rename to textures/_ps.png diff --git a/mods/ITEMS/mcl_signs/textures/_q.png b/textures/_q.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_q.png rename to textures/_q.png diff --git a/mods/ITEMS/mcl_signs/textures/_q_.png b/textures/_q_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_q_.png rename to textures/_q_.png diff --git a/mods/ITEMS/mcl_signs/textures/_qo.png b/textures/_qo.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_qo.png rename to textures/_qo.png diff --git a/mods/ITEMS/mcl_signs/textures/_qu.png b/textures/_qu.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_qu.png rename to textures/_qu.png diff --git a/mods/ITEMS/mcl_signs/textures/_qu_inv.png b/textures/_qu_inv.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_qu_inv.png rename to textures/_qu_inv.png diff --git a/mods/ITEMS/mcl_signs/textures/_r.png b/textures/_r.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_r.png rename to textures/_r.png diff --git a/mods/ITEMS/mcl_signs/textures/_r_.png b/textures/_r_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_r_.png rename to textures/_r_.png diff --git a/mods/ITEMS/mcl_signs/textures/_rc.png b/textures/_rc.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_rc.png rename to textures/_rc.png diff --git a/mods/ITEMS/mcl_signs/textures/_re.png b/textures/_re.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_re.png rename to textures/_re.png diff --git a/mods/ITEMS/mcl_signs/textures/_registered.png b/textures/_registered.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_registered.png rename to textures/_registered.png diff --git a/mods/ITEMS/mcl_signs/textures/_s.png b/textures/_s.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_s.png rename to textures/_s.png diff --git a/mods/ITEMS/mcl_signs/textures/_s_.png b/textures/_s_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_s_.png rename to textures/_s_.png diff --git a/mods/ITEMS/mcl_signs/textures/_sl.png b/textures/_sl.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_sl.png rename to textures/_sl.png diff --git a/mods/ITEMS/mcl_signs/textures/_sm.png b/textures/_sm.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_sm.png rename to textures/_sm.png diff --git a/mods/ITEMS/mcl_signs/textures/_sp.png b/textures/_sp.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_sp.png rename to textures/_sp.png diff --git a/mods/ITEMS/mcl_signs/textures/_sr.png b/textures/_sr.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_sr.png rename to textures/_sr.png diff --git a/mods/ITEMS/mcl_signs/textures/_sz.png b/textures/_sz.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_sz.png rename to textures/_sz.png diff --git a/mods/ITEMS/mcl_signs/textures/_t.png b/textures/_t.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_t.png rename to textures/_t.png diff --git a/mods/ITEMS/mcl_signs/textures/_t_.png b/textures/_t_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_t_.png rename to textures/_t_.png diff --git a/mods/ITEMS/mcl_signs/textures/_thorn.png b/textures/_thorn.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_thorn.png rename to textures/_thorn.png diff --git a/mods/ITEMS/mcl_signs/textures/_thorn_.png b/textures/_thorn_.png similarity index 51% rename from mods/ITEMS/mcl_signs/textures/_thorn_.png rename to textures/_thorn_.png index add982bc1..7703ec2c4 100644 Binary files a/mods/ITEMS/mcl_signs/textures/_thorn_.png and b/textures/_thorn_.png differ diff --git a/mods/ITEMS/mcl_signs/textures/_times_cross.png b/textures/_times_cross.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_times_cross.png rename to textures/_times_cross.png diff --git a/mods/ITEMS/mcl_signs/textures/_times_dot.png b/textures/_times_dot.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_times_dot.png rename to textures/_times_dot.png diff --git a/mods/ITEMS/mcl_signs/textures/_tl.png b/textures/_tl.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_tl.png rename to textures/_tl.png diff --git a/mods/ITEMS/mcl_signs/textures/_u.png b/textures/_u.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_u.png rename to textures/_u.png diff --git a/mods/ITEMS/mcl_signs/textures/_u_.png b/textures/_u_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_u_.png rename to textures/_u_.png diff --git a/mods/ITEMS/mcl_signs/textures/_u_acute.png b/textures/_u_acute.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_u_acute.png rename to textures/_u_acute.png diff --git a/mods/ITEMS/mcl_signs/textures/_u_acute_.png b/textures/_u_acute_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_u_acute_.png rename to textures/_u_acute_.png diff --git a/mods/ITEMS/mcl_signs/textures/_u_circumflex.png b/textures/_u_circumflex.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_u_circumflex.png rename to textures/_u_circumflex.png diff --git a/mods/ITEMS/mcl_signs/textures/_u_circumflex_.png b/textures/_u_circumflex_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_u_circumflex_.png rename to textures/_u_circumflex_.png diff --git a/mods/ITEMS/mcl_signs/textures/_u_grave.png b/textures/_u_grave.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_u_grave.png rename to textures/_u_grave.png diff --git a/mods/ITEMS/mcl_signs/textures/_u_grave_.png b/textures/_u_grave_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_u_grave_.png rename to textures/_u_grave_.png diff --git a/mods/ITEMS/mcl_signs/textures/_ue.png b/textures/_ue.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ue.png rename to textures/_ue.png diff --git a/mods/ITEMS/mcl_signs/textures/_ue_.png b/textures/_ue_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_ue_.png rename to textures/_ue_.png diff --git a/mods/ITEMS/mcl_signs/textures/_un.png b/textures/_un.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_un.png rename to textures/_un.png diff --git a/mods/ITEMS/mcl_signs/textures/_v.png b/textures/_v.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_v.png rename to textures/_v.png diff --git a/mods/ITEMS/mcl_signs/textures/_v_.png b/textures/_v_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_v_.png rename to textures/_v_.png diff --git a/mods/ITEMS/mcl_signs/textures/_vb.png b/textures/_vb.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_vb.png rename to textures/_vb.png diff --git a/mods/ITEMS/mcl_signs/textures/_w.png b/textures/_w.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_w.png rename to textures/_w.png diff --git a/mods/ITEMS/mcl_signs/textures/_w_.png b/textures/_w_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_w_.png rename to textures/_w_.png diff --git a/mods/ITEMS/mcl_signs/textures/_x.png b/textures/_x.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_x.png rename to textures/_x.png diff --git a/mods/ITEMS/mcl_signs/textures/_x_.png b/textures/_x_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_x_.png rename to textures/_x_.png diff --git a/mods/ITEMS/mcl_signs/textures/_y.png b/textures/_y.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_y.png rename to textures/_y.png diff --git a/mods/ITEMS/mcl_signs/textures/_y_.png b/textures/_y_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_y_.png rename to textures/_y_.png diff --git a/mods/ITEMS/mcl_signs/textures/_y_acute.png b/textures/_y_acute.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_y_acute.png rename to textures/_y_acute.png diff --git a/mods/ITEMS/mcl_signs/textures/_y_acute_.png b/textures/_y_acute_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_y_acute_.png rename to textures/_y_acute_.png diff --git a/mods/ITEMS/mcl_signs/textures/_y_diaresis.png b/textures/_y_diaresis.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_y_diaresis.png rename to textures/_y_diaresis.png diff --git a/mods/ITEMS/mcl_signs/textures/_yen.png b/textures/_yen.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_yen.png rename to textures/_yen.png diff --git a/mods/ITEMS/mcl_signs/textures/_z.png b/textures/_z.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_z.png rename to textures/_z.png diff --git a/mods/ITEMS/mcl_signs/textures/_z_.png b/textures/_z_.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/_z_.png rename to textures/_z_.png diff --git a/textures/awards_bg_default.png b/textures/awards_bg_default.png new file mode 100644 index 000000000..b7ba7f429 Binary files /dev/null and b/textures/awards_bg_default.png differ diff --git a/textures/awards_bg_mining.png b/textures/awards_bg_mining.png new file mode 100644 index 000000000..022e64f2c Binary files /dev/null and b/textures/awards_bg_mining.png differ diff --git a/mods/HUD/awards/textures/awards_progress_gray.png b/textures/awards_progress_gray.png similarity index 100% rename from mods/HUD/awards/textures/awards_progress_gray.png rename to textures/awards_progress_gray.png diff --git a/mods/HUD/awards/textures/awards_progress_green.png b/textures/awards_progress_green.png similarity index 100% rename from mods/HUD/awards/textures/awards_progress_green.png rename to textures/awards_progress_green.png diff --git a/textures/awards_template.png b/textures/awards_template.png new file mode 100644 index 000000000..e918be62c Binary files /dev/null and b/textures/awards_template.png differ diff --git a/textures/awards_ui_icon.png b/textures/awards_ui_icon.png new file mode 100644 index 000000000..34bb7c44c Binary files /dev/null and b/textures/awards_ui_icon.png differ diff --git a/textures/awards_unknown.png b/textures/awards_unknown.png new file mode 100644 index 000000000..e918be62c Binary files /dev/null and b/textures/awards_unknown.png differ diff --git a/textures/beacon_UV.png b/textures/beacon_UV.png new file mode 100644 index 000000000..aed40d1e5 Binary files /dev/null and b/textures/beacon_UV.png differ diff --git a/mods/ITEMS/mcl_beacons/textures/beacon_achievement_icon.png b/textures/beacon_achievement_icon.png similarity index 76% rename from mods/ITEMS/mcl_beacons/textures/beacon_achievement_icon.png rename to textures/beacon_achievement_icon.png index dd10a5493..4f3053b37 100644 Binary files a/mods/ITEMS/mcl_beacons/textures/beacon_achievement_icon.png and b/textures/beacon_achievement_icon.png differ diff --git a/mods/ITEMS/mcl_beacons/textures/beacon_beam_palette.png b/textures/beacon_beam_palette.png similarity index 100% rename from mods/ITEMS/mcl_beacons/textures/beacon_beam_palette.png rename to textures/beacon_beam_palette.png diff --git a/textures/blast_furnace_front.png b/textures/blast_furnace_front.png new file mode 100644 index 000000000..7b3bc3430 Binary files /dev/null and b/textures/blast_furnace_front.png differ diff --git a/textures/blast_furnace_front_on.png b/textures/blast_furnace_front_on.png new file mode 100644 index 000000000..f55aa9802 Binary files /dev/null and b/textures/blast_furnace_front_on.png differ diff --git a/textures/blast_furnace_side.png b/textures/blast_furnace_side.png new file mode 100644 index 000000000..391b9ed19 Binary files /dev/null and b/textures/blast_furnace_side.png differ diff --git a/textures/blast_furnace_top.png b/textures/blast_furnace_top.png new file mode 100644 index 000000000..78a77c517 Binary files /dev/null and b/textures/blast_furnace_top.png differ diff --git a/textures/bubble.png b/textures/bubble.png new file mode 100644 index 000000000..cbbb6705a Binary files /dev/null and b/textures/bubble.png differ diff --git a/mods/ITEMS/mcl_buckets/textures/bucket.png b/textures/bucket.png similarity index 100% rename from mods/ITEMS/mcl_buckets/textures/bucket.png rename to textures/bucket.png diff --git a/mods/ITEMS/mcl_buckets/textures/bucket_lava.png b/textures/bucket_lava.png similarity index 100% rename from mods/ITEMS/mcl_buckets/textures/bucket_lava.png rename to textures/bucket_lava.png diff --git a/mods/ITEMS/mcl_buckets/textures/bucket_river_water.png b/textures/bucket_river_water.png similarity index 100% rename from mods/ITEMS/mcl_buckets/textures/bucket_river_water.png rename to textures/bucket_river_water.png diff --git a/mods/ITEMS/mcl_buckets/textures/bucket_water.png b/textures/bucket_water.png similarity index 100% rename from mods/ITEMS/mcl_buckets/textures/bucket_water.png rename to textures/bucket_water.png diff --git a/textures/cake.png b/textures/cake.png new file mode 100644 index 000000000..db340bd7c Binary files /dev/null and b/textures/cake.png differ diff --git a/textures/cake_bottom.png b/textures/cake_bottom.png new file mode 100644 index 000000000..d7f8602b7 Binary files /dev/null and b/textures/cake_bottom.png differ diff --git a/mods/ITEMS/mcl_cake/textures/cake_inner.png b/textures/cake_inner.png similarity index 100% rename from mods/ITEMS/mcl_cake/textures/cake_inner.png rename to textures/cake_inner.png diff --git a/textures/cake_side.png b/textures/cake_side.png new file mode 100644 index 000000000..f69be02c6 Binary files /dev/null and b/textures/cake_side.png differ diff --git a/textures/cake_top.png b/textures/cake_top.png new file mode 100644 index 000000000..667a5b32a Binary files /dev/null and b/textures/cake_top.png differ diff --git a/textures/character.png b/textures/character.png new file mode 100644 index 000000000..1497f451a Binary files /dev/null and b/textures/character.png differ diff --git a/textures/crack_anylength.png b/textures/crack_anylength.png new file mode 100644 index 000000000..95d26306c Binary files /dev/null and b/textures/crack_anylength.png differ diff --git a/textures/craftguide_arrow.png b/textures/craftguide_arrow.png new file mode 100644 index 000000000..c27a807c0 Binary files /dev/null and b/textures/craftguide_arrow.png differ diff --git a/mods/HELP/mcl_craftguide/textures/craftguide_book.png b/textures/craftguide_book.png similarity index 100% rename from mods/HELP/mcl_craftguide/textures/craftguide_book.png rename to textures/craftguide_book.png diff --git a/textures/craftguide_clear_icon.png b/textures/craftguide_clear_icon.png new file mode 100644 index 000000000..12d88f558 Binary files /dev/null and b/textures/craftguide_clear_icon.png differ diff --git a/textures/craftguide_furnace.png b/textures/craftguide_furnace.png new file mode 100644 index 000000000..3b6e10567 Binary files /dev/null and b/textures/craftguide_furnace.png differ diff --git a/textures/craftguide_next_icon.png b/textures/craftguide_next_icon.png new file mode 100644 index 000000000..03f960917 Binary files /dev/null and b/textures/craftguide_next_icon.png differ diff --git a/textures/craftguide_prev_icon.png b/textures/craftguide_prev_icon.png new file mode 100644 index 000000000..71509e71a Binary files /dev/null and b/textures/craftguide_prev_icon.png differ diff --git a/textures/craftguide_search_icon.png b/textures/craftguide_search_icon.png new file mode 100644 index 000000000..9caa134c9 Binary files /dev/null and b/textures/craftguide_search_icon.png differ diff --git a/mods/HELP/mcl_craftguide/textures/craftguide_shapeless.png b/textures/craftguide_shapeless.png similarity index 100% rename from mods/HELP/mcl_craftguide/textures/craftguide_shapeless.png rename to textures/craftguide_shapeless.png diff --git a/textures/craftguide_zoomin_icon.png b/textures/craftguide_zoomin_icon.png new file mode 100644 index 000000000..2f9f62409 Binary files /dev/null and b/textures/craftguide_zoomin_icon.png differ diff --git a/mods/HELP/mcl_craftguide/textures/craftguide_zoomout_icon.png b/textures/craftguide_zoomout_icon.png similarity index 50% rename from mods/HELP/mcl_craftguide/textures/craftguide_zoomout_icon.png rename to textures/craftguide_zoomout_icon.png index 7db747fda..2815f939d 100644 Binary files a/mods/HELP/mcl_craftguide/textures/craftguide_zoomout_icon.png and b/textures/craftguide_zoomout_icon.png differ diff --git a/mods/HUD/mcl_inventory/textures/crafting_creative_active.png b/textures/crafting_creative_active.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/crafting_creative_active.png rename to textures/crafting_creative_active.png diff --git a/mods/HUD/mcl_inventory/textures/crafting_creative_active_down.png b/textures/crafting_creative_active_down.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/crafting_creative_active_down.png rename to textures/crafting_creative_active_down.png diff --git a/mods/HUD/mcl_inventory/textures/crafting_creative_bg.png b/textures/crafting_creative_bg.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/crafting_creative_bg.png rename to textures/crafting_creative_bg.png diff --git a/mods/HUD/mcl_inventory/textures/crafting_creative_bg_dark.png b/textures/crafting_creative_bg_dark.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/crafting_creative_bg_dark.png rename to textures/crafting_creative_bg_dark.png diff --git a/mods/HUD/mcl_inventory/textures/crafting_creative_inactive.png b/textures/crafting_creative_inactive.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/crafting_creative_inactive.png rename to textures/crafting_creative_inactive.png diff --git a/mods/HUD/mcl_inventory/textures/crafting_creative_inactive_down.png b/textures/crafting_creative_inactive_down.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/crafting_creative_inactive_down.png rename to textures/crafting_creative_inactive_down.png diff --git a/mods/HUD/mcl_inventory/textures/crafting_creative_marker.png b/textures/crafting_creative_marker.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/crafting_creative_marker.png rename to textures/crafting_creative_marker.png diff --git a/textures/crafting_creative_next.png b/textures/crafting_creative_next.png new file mode 100644 index 000000000..9a0a3fd68 Binary files /dev/null and b/textures/crafting_creative_next.png differ diff --git a/textures/crafting_creative_prev.png b/textures/crafting_creative_prev.png new file mode 100644 index 000000000..5deba802f Binary files /dev/null and b/textures/crafting_creative_prev.png differ diff --git a/mods/HUD/mcl_inventory/textures/crafting_creative_trash.png b/textures/crafting_creative_trash.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/crafting_creative_trash.png rename to textures/crafting_creative_trash.png diff --git a/textures/crafting_formspec_bg.png b/textures/crafting_formspec_bg.png new file mode 100644 index 000000000..a6a02de23 Binary files /dev/null and b/textures/crafting_formspec_bg.png differ diff --git a/textures/crafting_inventory_creative.png b/textures/crafting_inventory_creative.png new file mode 100644 index 000000000..3e575d664 Binary files /dev/null and b/textures/crafting_inventory_creative.png differ diff --git a/textures/crafting_inventory_creative_survival.png b/textures/crafting_inventory_creative_survival.png new file mode 100644 index 000000000..fe525814f Binary files /dev/null and b/textures/crafting_inventory_creative_survival.png differ diff --git a/mods/ITEMS/mcl_crafting_table/textures/crafting_workbench_front.png b/textures/crafting_workbench_front.png similarity index 100% rename from mods/ITEMS/mcl_crafting_table/textures/crafting_workbench_front.png rename to textures/crafting_workbench_front.png diff --git a/mods/ITEMS/mcl_crafting_table/textures/crafting_workbench_side.png b/textures/crafting_workbench_side.png similarity index 100% rename from mods/ITEMS/mcl_crafting_table/textures/crafting_workbench_side.png rename to textures/crafting_workbench_side.png diff --git a/textures/crafting_workbench_top.png b/textures/crafting_workbench_top.png new file mode 100644 index 000000000..0a7083366 Binary files /dev/null and b/textures/crafting_workbench_top.png differ diff --git a/textures/credits_bg.png b/textures/credits_bg.png new file mode 100644 index 000000000..60deab4fd Binary files /dev/null and b/textures/credits_bg.png differ diff --git a/textures/crosshair.png b/textures/crosshair.png new file mode 100644 index 000000000..a3d7579b0 Binary files /dev/null and b/textures/crosshair.png differ diff --git a/mods/ITEMS/mcl_beacons/textures/custom_beacom_symbol_1.png b/textures/custom_beacom_symbol_1.png similarity index 57% rename from mods/ITEMS/mcl_beacons/textures/custom_beacom_symbol_1.png rename to textures/custom_beacom_symbol_1.png index 112cfcdb0..1f7843f40 100644 Binary files a/mods/ITEMS/mcl_beacons/textures/custom_beacom_symbol_1.png and b/textures/custom_beacom_symbol_1.png differ diff --git a/mods/ITEMS/mcl_beacons/textures/custom_beacom_symbol_2.png b/textures/custom_beacom_symbol_2.png similarity index 57% rename from mods/ITEMS/mcl_beacons/textures/custom_beacom_symbol_2.png rename to textures/custom_beacom_symbol_2.png index efbec3776..86ff7bfe2 100644 Binary files a/mods/ITEMS/mcl_beacons/textures/custom_beacom_symbol_2.png and b/textures/custom_beacom_symbol_2.png differ diff --git a/mods/ITEMS/mcl_beacons/textures/custom_beacom_symbol_3.png b/textures/custom_beacom_symbol_3.png similarity index 56% rename from mods/ITEMS/mcl_beacons/textures/custom_beacom_symbol_3.png rename to textures/custom_beacom_symbol_3.png index 975013384..61f14876f 100644 Binary files a/mods/ITEMS/mcl_beacons/textures/custom_beacom_symbol_3.png and b/textures/custom_beacom_symbol_3.png differ diff --git a/mods/ITEMS/mcl_beacons/textures/custom_beacom_symbol_4.png b/textures/custom_beacom_symbol_4.png similarity index 57% rename from mods/ITEMS/mcl_beacons/textures/custom_beacom_symbol_4.png rename to textures/custom_beacom_symbol_4.png index 42c471c35..b96423318 100644 Binary files a/mods/ITEMS/mcl_beacons/textures/custom_beacom_symbol_4.png and b/textures/custom_beacom_symbol_4.png differ diff --git a/textures/default_acacia_leaves.png b/textures/default_acacia_leaves.png new file mode 100644 index 000000000..41b4532f2 Binary files /dev/null and b/textures/default_acacia_leaves.png differ diff --git a/mods/ITEMS/mcl_core/textures/default_acacia_sapling.png b/textures/default_acacia_sapling.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_acacia_sapling.png rename to textures/default_acacia_sapling.png diff --git a/textures/default_acacia_tree.png b/textures/default_acacia_tree.png new file mode 100644 index 000000000..97ac9575a Binary files /dev/null and b/textures/default_acacia_tree.png differ diff --git a/mods/ITEMS/mcl_core/textures/default_acacia_tree_top.png b/textures/default_acacia_tree_top.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_acacia_tree_top.png rename to textures/default_acacia_tree_top.png diff --git a/mods/ITEMS/mcl_core/textures/default_acacia_wood.png b/textures/default_acacia_wood.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_acacia_wood.png rename to textures/default_acacia_wood.png diff --git a/mods/ITEMS/mcl_core/textures/default_apple.png b/textures/default_apple.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_apple.png rename to textures/default_apple.png diff --git a/mods/ITEMS/mcl_books/textures/default_book.png b/textures/default_book.png similarity index 100% rename from mods/ITEMS/mcl_books/textures/default_book.png rename to textures/default_book.png diff --git a/mods/ITEMS/mcl_books/textures/default_bookshelf.png b/textures/default_bookshelf.png similarity index 100% rename from mods/ITEMS/mcl_books/textures/default_bookshelf.png rename to textures/default_bookshelf.png diff --git a/textures/default_brick.png b/textures/default_brick.png new file mode 100644 index 000000000..ab4f5b78a Binary files /dev/null and b/textures/default_brick.png differ diff --git a/textures/default_clay.png b/textures/default_clay.png new file mode 100644 index 000000000..1e412de3b Binary files /dev/null and b/textures/default_clay.png differ diff --git a/mods/ITEMS/mcl_core/textures/default_clay_brick.png b/textures/default_clay_brick.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_clay_brick.png rename to textures/default_clay_brick.png diff --git a/mods/ITEMS/mcl_core/textures/default_clay_lump.png b/textures/default_clay_lump.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_clay_lump.png rename to textures/default_clay_lump.png diff --git a/textures/default_coal_block.png b/textures/default_coal_block.png new file mode 100644 index 000000000..c99e4a589 Binary files /dev/null and b/textures/default_coal_block.png differ diff --git a/mods/ITEMS/mcl_core/textures/default_coal_lump.png b/textures/default_coal_lump.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_coal_lump.png rename to textures/default_coal_lump.png diff --git a/textures/default_cobble.png b/textures/default_cobble.png new file mode 100644 index 000000000..b1d5fe3c1 Binary files /dev/null and b/textures/default_cobble.png differ diff --git a/mods/ITEMS/mcl_core/textures/default_diamond.png b/textures/default_diamond.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_diamond.png rename to textures/default_diamond.png diff --git a/mods/ITEMS/mcl_core/textures/default_diamond_block.png b/textures/default_diamond_block.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_diamond_block.png rename to textures/default_diamond_block.png diff --git a/textures/default_dirt.png b/textures/default_dirt.png new file mode 100644 index 000000000..1a72f2a4d Binary files /dev/null and b/textures/default_dirt.png differ diff --git a/mods/ITEMS/mcl_core/textures/default_dry_shrub.png b/textures/default_dry_shrub.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_dry_shrub.png rename to textures/default_dry_shrub.png diff --git a/mods/ITEMS/mcl_core/textures/default_flint.png b/textures/default_flint.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_flint.png rename to textures/default_flint.png diff --git a/textures/default_furnace_bottom.png b/textures/default_furnace_bottom.png new file mode 100644 index 000000000..c8efce2fe Binary files /dev/null and b/textures/default_furnace_bottom.png differ diff --git a/mods/ITEMS/mcl_furnaces/textures/default_furnace_fire_bg.png b/textures/default_furnace_fire_bg.png similarity index 100% rename from mods/ITEMS/mcl_furnaces/textures/default_furnace_fire_bg.png rename to textures/default_furnace_fire_bg.png diff --git a/mods/ITEMS/mcl_furnaces/textures/default_furnace_fire_fg.png b/textures/default_furnace_fire_fg.png similarity index 100% rename from mods/ITEMS/mcl_furnaces/textures/default_furnace_fire_fg.png rename to textures/default_furnace_fire_fg.png diff --git a/mods/ITEMS/mcl_furnaces/textures/default_furnace_front.png b/textures/default_furnace_front.png similarity index 100% rename from mods/ITEMS/mcl_furnaces/textures/default_furnace_front.png rename to textures/default_furnace_front.png diff --git a/textures/default_furnace_front_active.png b/textures/default_furnace_front_active.png new file mode 100644 index 000000000..3b6e10567 Binary files /dev/null and b/textures/default_furnace_front_active.png differ diff --git a/textures/default_furnace_side.png b/textures/default_furnace_side.png new file mode 100644 index 000000000..2c364db5d Binary files /dev/null and b/textures/default_furnace_side.png differ diff --git a/textures/default_furnace_top.png b/textures/default_furnace_top.png new file mode 100644 index 000000000..c8efce2fe Binary files /dev/null and b/textures/default_furnace_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/default_glass.png b/textures/default_glass.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_glass.png rename to textures/default_glass.png diff --git a/mods/ITEMS/mcl_core/textures/default_glass_detail.png b/textures/default_glass_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_glass_detail.png rename to textures/default_glass_detail.png diff --git a/mods/ITEMS/mcl_core/textures/default_gold_block.png b/textures/default_gold_block.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_gold_block.png rename to textures/default_gold_block.png diff --git a/mods/ITEMS/mcl_core/textures/default_gold_ingot.png b/textures/default_gold_ingot.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_gold_ingot.png rename to textures/default_gold_ingot.png diff --git a/textures/default_gravel.png b/textures/default_gravel.png new file mode 100644 index 000000000..d1934221b Binary files /dev/null and b/textures/default_gravel.png differ diff --git a/mods/ITEMS/mcl_mobitems/textures/default_gunpowder.png b/textures/default_gunpowder.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/default_gunpowder.png rename to textures/default_gunpowder.png diff --git a/textures/default_ice.png b/textures/default_ice.png new file mode 100644 index 000000000..71da475ef Binary files /dev/null and b/textures/default_ice.png differ diff --git a/textures/default_jungleleaves.png b/textures/default_jungleleaves.png new file mode 100644 index 000000000..0e48272af Binary files /dev/null and b/textures/default_jungleleaves.png differ diff --git a/mods/ITEMS/mcl_core/textures/default_junglesapling.png b/textures/default_junglesapling.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_junglesapling.png rename to textures/default_junglesapling.png diff --git a/mods/ITEMS/mcl_core/textures/default_jungletree.png b/textures/default_jungletree.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_jungletree.png rename to textures/default_jungletree.png diff --git a/textures/default_jungletree_top.png b/textures/default_jungletree_top.png new file mode 100644 index 000000000..1bfadcf1e Binary files /dev/null and b/textures/default_jungletree_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/default_junglewood.png b/textures/default_junglewood.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_junglewood.png rename to textures/default_junglewood.png diff --git a/mods/ITEMS/mcl_core/textures/default_ladder.png b/textures/default_ladder.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_ladder.png rename to textures/default_ladder.png diff --git a/mods/ITEMS/mcl_core/textures/default_lava_flowing_animated.png b/textures/default_lava_flowing_animated.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_lava_flowing_animated.png rename to textures/default_lava_flowing_animated.png diff --git a/mods/ITEMS/mcl_core/textures/default_lava_source_animated.png b/textures/default_lava_source_animated.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_lava_source_animated.png rename to textures/default_lava_source_animated.png diff --git a/textures/default_leaves.png b/textures/default_leaves.png new file mode 100644 index 000000000..a1d8c76a7 Binary files /dev/null and b/textures/default_leaves.png differ diff --git a/textures/default_mossycobble.png b/textures/default_mossycobble.png new file mode 100644 index 000000000..7da561454 Binary files /dev/null and b/textures/default_mossycobble.png differ diff --git a/textures/default_obsidian.png b/textures/default_obsidian.png new file mode 100644 index 000000000..dd5f9c816 Binary files /dev/null and b/textures/default_obsidian.png differ diff --git a/textures/default_paper.png b/textures/default_paper.png new file mode 100644 index 000000000..0e8b1f604 Binary files /dev/null and b/textures/default_paper.png differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/default_rail.png b/textures/default_rail.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/default_rail.png rename to textures/default_rail.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/default_rail_crossing.png b/textures/default_rail_crossing.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/default_rail_crossing.png rename to textures/default_rail_crossing.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/default_rail_curved.png b/textures/default_rail_curved.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/default_rail_curved.png rename to textures/default_rail_curved.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/default_rail_t_junction.png b/textures/default_rail_t_junction.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/default_rail_t_junction.png rename to textures/default_rail_t_junction.png diff --git a/textures/default_sand.png b/textures/default_sand.png new file mode 100644 index 000000000..e2309a53c Binary files /dev/null and b/textures/default_sand.png differ diff --git a/mods/ITEMS/mcl_core/textures/default_sapling.png b/textures/default_sapling.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_sapling.png rename to textures/default_sapling.png diff --git a/mods/ITEMS/mcl_core/textures/default_snow.png b/textures/default_snow.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_snow.png rename to textures/default_snow.png diff --git a/mods/ITEMS/mcl_core/textures/default_steel_block.png b/textures/default_steel_block.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_steel_block.png rename to textures/default_steel_block.png diff --git a/mods/ITEMS/mcl_core/textures/default_steel_ingot.png b/textures/default_steel_ingot.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_steel_ingot.png rename to textures/default_steel_ingot.png diff --git a/mods/ITEMS/mcl_core/textures/default_stick.png b/textures/default_stick.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_stick.png rename to textures/default_stick.png diff --git a/textures/default_stone.png b/textures/default_stone.png new file mode 100644 index 000000000..9e9145af9 Binary files /dev/null and b/textures/default_stone.png differ diff --git a/textures/default_stone_brick.png b/textures/default_stone_brick.png new file mode 100644 index 000000000..62a22c8d1 Binary files /dev/null and b/textures/default_stone_brick.png differ diff --git a/textures/default_tnt_bottom.png b/textures/default_tnt_bottom.png new file mode 100644 index 000000000..4a0978430 Binary files /dev/null and b/textures/default_tnt_bottom.png differ diff --git a/textures/default_tnt_side.png b/textures/default_tnt_side.png new file mode 100644 index 000000000..e5aae1411 Binary files /dev/null and b/textures/default_tnt_side.png differ diff --git a/textures/default_tnt_top.png b/textures/default_tnt_top.png new file mode 100644 index 000000000..b55ad3d0b Binary files /dev/null and b/textures/default_tnt_top.png differ diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_diamondaxe.png b/textures/default_tool_diamondaxe.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_diamondaxe.png rename to textures/default_tool_diamondaxe.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_diamondpick.png b/textures/default_tool_diamondpick.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_diamondpick.png rename to textures/default_tool_diamondpick.png diff --git a/textures/default_tool_diamondshovel.png b/textures/default_tool_diamondshovel.png new file mode 100644 index 000000000..9763dcb28 Binary files /dev/null and b/textures/default_tool_diamondshovel.png differ diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_diamondsword.png b/textures/default_tool_diamondsword.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_diamondsword.png rename to textures/default_tool_diamondsword.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_goldaxe.png b/textures/default_tool_goldaxe.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_goldaxe.png rename to textures/default_tool_goldaxe.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_goldpick.png b/textures/default_tool_goldpick.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_goldpick.png rename to textures/default_tool_goldpick.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_goldshovel.png b/textures/default_tool_goldshovel.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_goldshovel.png rename to textures/default_tool_goldshovel.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_goldsword.png b/textures/default_tool_goldsword.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_goldsword.png rename to textures/default_tool_goldsword.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_netheriteaxe.png b/textures/default_tool_netheriteaxe.png similarity index 93% rename from mods/ITEMS/mcl_tools/textures/default_tool_netheriteaxe.png rename to textures/default_tool_netheriteaxe.png index d9657367b..784956534 100644 Binary files a/mods/ITEMS/mcl_tools/textures/default_tool_netheriteaxe.png and b/textures/default_tool_netheriteaxe.png differ diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_netheritepick.png b/textures/default_tool_netheritepick.png similarity index 92% rename from mods/ITEMS/mcl_tools/textures/default_tool_netheritepick.png rename to textures/default_tool_netheritepick.png index e4140dde7..3f1b7579e 100644 Binary files a/mods/ITEMS/mcl_tools/textures/default_tool_netheritepick.png and b/textures/default_tool_netheritepick.png differ diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_netheriteshovel.png b/textures/default_tool_netheriteshovel.png similarity index 92% rename from mods/ITEMS/mcl_tools/textures/default_tool_netheriteshovel.png rename to textures/default_tool_netheriteshovel.png index 9ae8654ff..8aefbff46 100644 Binary files a/mods/ITEMS/mcl_tools/textures/default_tool_netheriteshovel.png and b/textures/default_tool_netheriteshovel.png differ diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_netheritesword.png b/textures/default_tool_netheritesword.png similarity index 93% rename from mods/ITEMS/mcl_tools/textures/default_tool_netheritesword.png rename to textures/default_tool_netheritesword.png index 589637a62..8cc165b00 100644 Binary files a/mods/ITEMS/mcl_tools/textures/default_tool_netheritesword.png and b/textures/default_tool_netheritesword.png differ diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_shears.png b/textures/default_tool_shears.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_shears.png rename to textures/default_tool_shears.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_steelaxe.png b/textures/default_tool_steelaxe.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_steelaxe.png rename to textures/default_tool_steelaxe.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_steelpick.png b/textures/default_tool_steelpick.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_steelpick.png rename to textures/default_tool_steelpick.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_steelshovel.png b/textures/default_tool_steelshovel.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_steelshovel.png rename to textures/default_tool_steelshovel.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_steelsword.png b/textures/default_tool_steelsword.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_steelsword.png rename to textures/default_tool_steelsword.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_stoneaxe.png b/textures/default_tool_stoneaxe.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_stoneaxe.png rename to textures/default_tool_stoneaxe.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_stonepick.png b/textures/default_tool_stonepick.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_stonepick.png rename to textures/default_tool_stonepick.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_stoneshovel.png b/textures/default_tool_stoneshovel.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_stoneshovel.png rename to textures/default_tool_stoneshovel.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_stonesword.png b/textures/default_tool_stonesword.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_stonesword.png rename to textures/default_tool_stonesword.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_woodaxe.png b/textures/default_tool_woodaxe.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_woodaxe.png rename to textures/default_tool_woodaxe.png diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_woodpick.png b/textures/default_tool_woodpick.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_woodpick.png rename to textures/default_tool_woodpick.png diff --git a/textures/default_tool_woodshovel.png b/textures/default_tool_woodshovel.png new file mode 100644 index 000000000..905050565 Binary files /dev/null and b/textures/default_tool_woodshovel.png differ diff --git a/mods/ITEMS/mcl_tools/textures/default_tool_woodsword.png b/textures/default_tool_woodsword.png similarity index 100% rename from mods/ITEMS/mcl_tools/textures/default_tool_woodsword.png rename to textures/default_tool_woodsword.png diff --git a/textures/default_torch_on_floor.png b/textures/default_torch_on_floor.png new file mode 100644 index 000000000..935bb71a6 Binary files /dev/null and b/textures/default_torch_on_floor.png differ diff --git a/textures/default_torch_on_floor_animated.png b/textures/default_torch_on_floor_animated.png new file mode 100644 index 000000000..3760d3639 Binary files /dev/null and b/textures/default_torch_on_floor_animated.png differ diff --git a/mods/ITEMS/mcl_core/textures/default_tree.png b/textures/default_tree.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_tree.png rename to textures/default_tree.png diff --git a/mods/ITEMS/mcl_core/textures/default_tree_top.png b/textures/default_tree_top.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/default_tree_top.png rename to textures/default_tree_top.png diff --git a/textures/default_water_flowing_animated.png b/textures/default_water_flowing_animated.png new file mode 100644 index 000000000..bf1140668 Binary files /dev/null and b/textures/default_water_flowing_animated.png differ diff --git a/textures/default_water_source_animated.png b/textures/default_water_source_animated.png new file mode 100644 index 000000000..e148da244 Binary files /dev/null and b/textures/default_water_source_animated.png differ diff --git a/textures/default_wood.png b/textures/default_wood.png new file mode 100644 index 000000000..aaaa2b48e Binary files /dev/null and b/textures/default_wood.png differ diff --git a/textures/doc_awards_icon_generic.png b/textures/doc_awards_icon_generic.png new file mode 100644 index 000000000..4b8394470 Binary files /dev/null and b/textures/doc_awards_icon_generic.png differ diff --git a/textures/doc_basics_build.png b/textures/doc_basics_build.png new file mode 100644 index 000000000..0d071ddc7 Binary files /dev/null and b/textures/doc_basics_build.png differ diff --git a/textures/doc_basics_camera_behind.png b/textures/doc_basics_camera_behind.png new file mode 100644 index 000000000..72e05b82c Binary files /dev/null and b/textures/doc_basics_camera_behind.png differ diff --git a/textures/doc_basics_camera_ego.png b/textures/doc_basics_camera_ego.png new file mode 100644 index 000000000..5484190d8 Binary files /dev/null and b/textures/doc_basics_camera_ego.png differ diff --git a/textures/doc_basics_camera_front.png b/textures/doc_basics_camera_front.png new file mode 100644 index 000000000..a6cba11f9 Binary files /dev/null and b/textures/doc_basics_camera_front.png differ diff --git a/textures/doc_basics_craft_grid.png b/textures/doc_basics_craft_grid.png new file mode 100644 index 000000000..b504c87c1 Binary files /dev/null and b/textures/doc_basics_craft_grid.png differ diff --git a/textures/doc_basics_craft_groups_1.png b/textures/doc_basics_craft_groups_1.png new file mode 100644 index 000000000..4e95e1c9b Binary files /dev/null and b/textures/doc_basics_craft_groups_1.png differ diff --git a/textures/doc_basics_craft_groups_2.png b/textures/doc_basics_craft_groups_2.png new file mode 100644 index 000000000..299a5bac4 Binary files /dev/null and b/textures/doc_basics_craft_groups_2.png differ diff --git a/textures/doc_basics_craft_groups_3.png b/textures/doc_basics_craft_groups_3.png new file mode 100644 index 000000000..c127f51c2 Binary files /dev/null and b/textures/doc_basics_craft_groups_3.png differ diff --git a/textures/doc_basics_craft_repair.png b/textures/doc_basics_craft_repair.png new file mode 100644 index 000000000..7586c19a3 Binary files /dev/null and b/textures/doc_basics_craft_repair.png differ diff --git a/textures/doc_basics_craft_shaped.png b/textures/doc_basics_craft_shaped.png new file mode 100644 index 000000000..cd93754b7 Binary files /dev/null and b/textures/doc_basics_craft_shaped.png differ diff --git a/textures/doc_basics_craft_shapeless_1.png b/textures/doc_basics_craft_shapeless_1.png new file mode 100644 index 000000000..b206b6cd3 Binary files /dev/null and b/textures/doc_basics_craft_shapeless_1.png differ diff --git a/textures/doc_basics_craft_shapeless_2.png b/textures/doc_basics_craft_shapeless_2.png new file mode 100644 index 000000000..f78953805 Binary files /dev/null and b/textures/doc_basics_craft_shapeless_2.png differ diff --git a/textures/doc_basics_gameplay_carbone_ng.png b/textures/doc_basics_gameplay_carbone_ng.png new file mode 100644 index 000000000..aa4fdec0d Binary files /dev/null and b/textures/doc_basics_gameplay_carbone_ng.png differ diff --git a/textures/doc_basics_gameplay_hades.png b/textures/doc_basics_gameplay_hades.png new file mode 100644 index 000000000..90b5477f9 Binary files /dev/null and b/textures/doc_basics_gameplay_hades.png differ diff --git a/textures/doc_basics_gameplay_lott.png b/textures/doc_basics_gameplay_lott.png new file mode 100644 index 000000000..0ae9c11cd Binary files /dev/null and b/textures/doc_basics_gameplay_lott.png differ diff --git a/textures/doc_basics_gameplay_moontest.png b/textures/doc_basics_gameplay_moontest.png new file mode 100644 index 000000000..6c4728d36 Binary files /dev/null and b/textures/doc_basics_gameplay_moontest.png differ diff --git a/textures/doc_basics_gameplay_mtg_1.png b/textures/doc_basics_gameplay_mtg_1.png new file mode 100644 index 000000000..7272de5eb Binary files /dev/null and b/textures/doc_basics_gameplay_mtg_1.png differ diff --git a/textures/doc_basics_gameplay_mtg_2.png b/textures/doc_basics_gameplay_mtg_2.png new file mode 100644 index 000000000..c565d1b79 Binary files /dev/null and b/textures/doc_basics_gameplay_mtg_2.png differ diff --git a/textures/doc_basics_gameplay_outback.png b/textures/doc_basics_gameplay_outback.png new file mode 100644 index 000000000..c8c29d316 Binary files /dev/null and b/textures/doc_basics_gameplay_outback.png differ diff --git a/textures/doc_basics_gameplay_pixture.png b/textures/doc_basics_gameplay_pixture.png new file mode 100644 index 000000000..3b586b9b0 Binary files /dev/null and b/textures/doc_basics_gameplay_pixture.png differ diff --git a/textures/doc_basics_gameplay_xtraores_xtension.png b/textures/doc_basics_gameplay_xtraores_xtension.png new file mode 100644 index 000000000..e757dd3da Binary files /dev/null and b/textures/doc_basics_gameplay_xtraores_xtension.png differ diff --git a/textures/doc_basics_hotbar.png b/textures/doc_basics_hotbar.png new file mode 100644 index 000000000..95863969e Binary files /dev/null and b/textures/doc_basics_hotbar.png differ diff --git a/textures/doc_basics_hotbar_relations.png b/textures/doc_basics_hotbar_relations.png new file mode 100644 index 000000000..dc46cad70 Binary files /dev/null and b/textures/doc_basics_hotbar_relations.png differ diff --git a/textures/doc_basics_inventory.png b/textures/doc_basics_inventory.png new file mode 100644 index 000000000..1fca40cb9 Binary files /dev/null and b/textures/doc_basics_inventory.png differ diff --git a/textures/doc_basics_inventory_detail.png b/textures/doc_basics_inventory_detail.png new file mode 100644 index 000000000..95522ef90 Binary files /dev/null and b/textures/doc_basics_inventory_detail.png differ diff --git a/textures/doc_basics_items_dropped.png b/textures/doc_basics_items_dropped.png new file mode 100644 index 000000000..9ebb142c3 Binary files /dev/null and b/textures/doc_basics_items_dropped.png differ diff --git a/textures/doc_basics_light_test.png b/textures/doc_basics_light_test.png new file mode 100644 index 000000000..7e09a4c18 Binary files /dev/null and b/textures/doc_basics_light_test.png differ diff --git a/textures/doc_basics_light_torch.png b/textures/doc_basics_light_torch.png new file mode 100644 index 000000000..a35ee4d30 Binary files /dev/null and b/textures/doc_basics_light_torch.png differ diff --git a/textures/doc_basics_liquids_nonrenewable.png b/textures/doc_basics_liquids_nonrenewable.png new file mode 100644 index 000000000..5501ce794 Binary files /dev/null and b/textures/doc_basics_liquids_nonrenewable.png differ diff --git a/textures/doc_basics_liquids_range.png b/textures/doc_basics_liquids_range.png new file mode 100644 index 000000000..92eb9db0b Binary files /dev/null and b/textures/doc_basics_liquids_range.png differ diff --git a/textures/doc_basics_liquids_renewable_1.png b/textures/doc_basics_liquids_renewable_1.png new file mode 100644 index 000000000..bada9c779 Binary files /dev/null and b/textures/doc_basics_liquids_renewable_1.png differ diff --git a/textures/doc_basics_liquids_renewable_2.png b/textures/doc_basics_liquids_renewable_2.png new file mode 100644 index 000000000..1a0ec43eb Binary files /dev/null and b/textures/doc_basics_liquids_renewable_2.png differ diff --git a/textures/doc_basics_liquids_types.png b/textures/doc_basics_liquids_types.png new file mode 100644 index 000000000..196371c37 Binary files /dev/null and b/textures/doc_basics_liquids_types.png differ diff --git a/textures/doc_basics_minimap_map.png b/textures/doc_basics_minimap_map.png new file mode 100644 index 000000000..3b504f3da Binary files /dev/null and b/textures/doc_basics_minimap_map.png differ diff --git a/textures/doc_basics_minimap_radar.png b/textures/doc_basics_minimap_radar.png new file mode 100644 index 000000000..0bfda651c Binary files /dev/null and b/textures/doc_basics_minimap_radar.png differ diff --git a/textures/doc_basics_minimap_round.png b/textures/doc_basics_minimap_round.png new file mode 100644 index 000000000..65e82a8fb Binary files /dev/null and b/textures/doc_basics_minimap_round.png differ diff --git a/textures/doc_basics_nodes.png b/textures/doc_basics_nodes.png new file mode 100644 index 000000000..0ae1c2f74 Binary files /dev/null and b/textures/doc_basics_nodes.png differ diff --git a/textures/doc_basics_players_flat.png b/textures/doc_basics_players_flat.png new file mode 100644 index 000000000..e4fc875a3 Binary files /dev/null and b/textures/doc_basics_players_flat.png differ diff --git a/textures/doc_basics_players_lott.png b/textures/doc_basics_players_lott.png new file mode 100644 index 000000000..a576d5a40 Binary files /dev/null and b/textures/doc_basics_players_lott.png differ diff --git a/textures/doc_basics_players_sam.png b/textures/doc_basics_players_sam.png new file mode 100644 index 000000000..93bc6d8bd Binary files /dev/null and b/textures/doc_basics_players_sam.png differ diff --git a/textures/doc_basics_pointing.png b/textures/doc_basics_pointing.png new file mode 100644 index 000000000..9c1929aee Binary files /dev/null and b/textures/doc_basics_pointing.png differ diff --git a/textures/doc_basics_sneak.png b/textures/doc_basics_sneak.png new file mode 100644 index 000000000..bdebec207 Binary files /dev/null and b/textures/doc_basics_sneak.png differ diff --git a/textures/doc_basics_tools.png b/textures/doc_basics_tools.png new file mode 100644 index 000000000..1c16628e7 Binary files /dev/null and b/textures/doc_basics_tools.png differ diff --git a/textures/doc_basics_tools_mining.png b/textures/doc_basics_tools_mining.png new file mode 100644 index 000000000..aa3613f38 Binary files /dev/null and b/textures/doc_basics_tools_mining.png differ diff --git a/textures/doc_button_icon_hires.png b/textures/doc_button_icon_hires.png new file mode 100644 index 000000000..533d72376 Binary files /dev/null and b/textures/doc_button_icon_hires.png differ diff --git a/textures/doc_button_icon_lores.png b/textures/doc_button_icon_lores.png new file mode 100644 index 000000000..92674b7a7 Binary files /dev/null and b/textures/doc_button_icon_lores.png differ diff --git a/textures/doc_identifier_identifier.png b/textures/doc_identifier_identifier.png new file mode 100644 index 000000000..b37537db3 Binary files /dev/null and b/textures/doc_identifier_identifier.png differ diff --git a/mods/HELP/doc/doc_identifier/textures/doc_identifier_identifier_liquid.png b/textures/doc_identifier_identifier_liquid.png similarity index 100% rename from mods/HELP/doc/doc_identifier/textures/doc_identifier_identifier_liquid.png rename to textures/doc_identifier_identifier_liquid.png diff --git a/mods/ITEMS/mcl_doors/textures/doors_item_steel.png b/textures/doors_item_steel.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/doors_item_steel.png rename to textures/doors_item_steel.png diff --git a/mods/ITEMS/mcl_doors/textures/doors_item_wood.png b/textures/doors_item_wood.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/doors_item_wood.png rename to textures/doors_item_wood.png diff --git a/mods/ITEMS/mcl_doors/textures/doors_trapdoor.png b/textures/doors_trapdoor.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/doors_trapdoor.png rename to textures/doors_trapdoor.png diff --git a/textures/doors_trapdoor_side.png b/textures/doors_trapdoor_side.png new file mode 100644 index 000000000..519d9b9e3 Binary files /dev/null and b/textures/doors_trapdoor_side.png differ diff --git a/textures/doors_trapdoor_steel.png b/textures/doors_trapdoor_steel.png new file mode 100644 index 000000000..eba795b31 Binary files /dev/null and b/textures/doors_trapdoor_steel.png differ diff --git a/textures/doors_trapdoor_steel_side.png b/textures/doors_trapdoor_steel_side.png new file mode 100644 index 000000000..28a98f2e2 Binary files /dev/null and b/textures/doors_trapdoor_steel_side.png differ diff --git a/textures/extra_mobs_dolphin.png b/textures/extra_mobs_dolphin.png new file mode 100644 index 000000000..352cd8253 Binary files /dev/null and b/textures/extra_mobs_dolphin.png differ diff --git a/textures/extra_mobs_hoglin.png b/textures/extra_mobs_hoglin.png new file mode 100644 index 000000000..1a58bef27 Binary files /dev/null and b/textures/extra_mobs_hoglin.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_piglin.png b/textures/extra_mobs_piglin.png similarity index 81% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_piglin.png rename to textures/extra_mobs_piglin.png index c38606550..917a40f14 100644 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_piglin.png and b/textures/extra_mobs_piglin.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_piglin_brute.png b/textures/extra_mobs_piglin_brute.png similarity index 79% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_piglin_brute.png rename to textures/extra_mobs_piglin_brute.png index 4a757e61e..8e9838146 100644 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_piglin_brute.png and b/textures/extra_mobs_piglin_brute.png differ diff --git a/textures/extra_mobs_strider.png b/textures/extra_mobs_strider.png new file mode 100644 index 000000000..d21429007 Binary files /dev/null and b/textures/extra_mobs_strider.png differ diff --git a/textures/extra_mobs_strider_cold.png b/textures/extra_mobs_strider_cold.png new file mode 100644 index 000000000..15bc64ba1 Binary files /dev/null and b/textures/extra_mobs_strider_cold.png differ diff --git a/textures/extra_mobs_tropical_fish_a.png b/textures/extra_mobs_tropical_fish_a.png new file mode 100644 index 000000000..1c30b9194 Binary files /dev/null and b/textures/extra_mobs_tropical_fish_a.png differ diff --git a/textures/extra_mobs_tropical_fish_b.png b/textures/extra_mobs_tropical_fish_b.png new file mode 100644 index 000000000..97c9d2b3e Binary files /dev/null and b/textures/extra_mobs_tropical_fish_b.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_1.png b/textures/extra_mobs_tropical_fish_pattern_a_1.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_1.png rename to textures/extra_mobs_tropical_fish_pattern_a_1.png diff --git a/textures/extra_mobs_tropical_fish_pattern_a_2.png b/textures/extra_mobs_tropical_fish_pattern_a_2.png new file mode 100644 index 000000000..c7e9426b8 Binary files /dev/null and b/textures/extra_mobs_tropical_fish_pattern_a_2.png differ diff --git a/textures/extra_mobs_tropical_fish_pattern_a_3.png b/textures/extra_mobs_tropical_fish_pattern_a_3.png new file mode 100644 index 000000000..6db48a7ce Binary files /dev/null and b/textures/extra_mobs_tropical_fish_pattern_a_3.png differ diff --git a/textures/extra_mobs_tropical_fish_pattern_a_4.png b/textures/extra_mobs_tropical_fish_pattern_a_4.png new file mode 100644 index 000000000..a56dc0f80 Binary files /dev/null and b/textures/extra_mobs_tropical_fish_pattern_a_4.png differ diff --git a/textures/extra_mobs_tropical_fish_pattern_a_5.png b/textures/extra_mobs_tropical_fish_pattern_a_5.png new file mode 100644 index 000000000..1b7c96756 Binary files /dev/null and b/textures/extra_mobs_tropical_fish_pattern_a_5.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_6.png b/textures/extra_mobs_tropical_fish_pattern_a_6.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_a_6.png rename to textures/extra_mobs_tropical_fish_pattern_a_6.png diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_1.png b/textures/extra_mobs_tropical_fish_pattern_b_1.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_1.png rename to textures/extra_mobs_tropical_fish_pattern_b_1.png diff --git a/textures/extra_mobs_tropical_fish_pattern_b_2.png b/textures/extra_mobs_tropical_fish_pattern_b_2.png new file mode 100644 index 000000000..edfb5a5e0 Binary files /dev/null and b/textures/extra_mobs_tropical_fish_pattern_b_2.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_3.png b/textures/extra_mobs_tropical_fish_pattern_b_3.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_3.png rename to textures/extra_mobs_tropical_fish_pattern_b_3.png diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_4.png b/textures/extra_mobs_tropical_fish_pattern_b_4.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_tropical_fish_pattern_b_4.png rename to textures/extra_mobs_tropical_fish_pattern_b_4.png diff --git a/textures/extra_mobs_tropical_fish_pattern_b_5.png b/textures/extra_mobs_tropical_fish_pattern_b_5.png new file mode 100644 index 000000000..b5664eb38 Binary files /dev/null and b/textures/extra_mobs_tropical_fish_pattern_b_5.png differ diff --git a/textures/extra_mobs_tropical_fish_pattern_b_6.png b/textures/extra_mobs_tropical_fish_pattern_b_6.png new file mode 100644 index 000000000..43204ece9 Binary files /dev/null and b/textures/extra_mobs_tropical_fish_pattern_b_6.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_zoglin.png b/textures/extra_mobs_zoglin.png similarity index 72% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_zoglin.png rename to textures/extra_mobs_zoglin.png index 6f5367550..18061f48b 100644 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_zoglin.png and b/textures/extra_mobs_zoglin.png differ diff --git a/textures/extra_mobs_zombified_piglin.png b/textures/extra_mobs_zombified_piglin.png new file mode 100644 index 000000000..f7f1d40c7 Binary files /dev/null and b/textures/extra_mobs_zombified_piglin.png differ diff --git a/mods/ITEMS/mcl_farming/textures/farming_bread.png b/textures/farming_bread.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_bread.png rename to textures/farming_bread.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_carrot.png b/textures/farming_carrot.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_carrot.png rename to textures/farming_carrot.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_carrot_1.png b/textures/farming_carrot_1.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_carrot_1.png rename to textures/farming_carrot_1.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_carrot_2.png b/textures/farming_carrot_2.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_carrot_2.png rename to textures/farming_carrot_2.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_carrot_3.png b/textures/farming_carrot_3.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_carrot_3.png rename to textures/farming_carrot_3.png diff --git a/textures/farming_carrot_4.png b/textures/farming_carrot_4.png new file mode 100644 index 000000000..403257f44 Binary files /dev/null and b/textures/farming_carrot_4.png differ diff --git a/mods/ITEMS/mcl_farming/textures/farming_carrot_gold.png b/textures/farming_carrot_gold.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_carrot_gold.png rename to textures/farming_carrot_gold.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_cookie.png b/textures/farming_cookie.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_cookie.png rename to textures/farming_cookie.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_melon.png b/textures/farming_melon.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_melon.png rename to textures/farming_melon.png diff --git a/textures/farming_melon_side.png b/textures/farming_melon_side.png new file mode 100644 index 000000000..0979b7206 Binary files /dev/null and b/textures/farming_melon_side.png differ diff --git a/textures/farming_melon_top.png b/textures/farming_melon_top.png new file mode 100644 index 000000000..8738599c9 Binary files /dev/null and b/textures/farming_melon_top.png differ diff --git a/textures/farming_mushroom_brown.png b/textures/farming_mushroom_brown.png new file mode 100644 index 000000000..15a35d5f4 Binary files /dev/null and b/textures/farming_mushroom_brown.png differ diff --git a/textures/farming_mushroom_red.png b/textures/farming_mushroom_red.png new file mode 100644 index 000000000..aab88ed2b Binary files /dev/null and b/textures/farming_mushroom_red.png differ diff --git a/mods/ITEMS/mcl_mushrooms/textures/farming_mushroom_stew.png b/textures/farming_mushroom_stew.png similarity index 100% rename from mods/ITEMS/mcl_mushrooms/textures/farming_mushroom_stew.png rename to textures/farming_mushroom_stew.png diff --git a/textures/farming_potato.png b/textures/farming_potato.png new file mode 100644 index 000000000..70e3a7e03 Binary files /dev/null and b/textures/farming_potato.png differ diff --git a/mods/ITEMS/mcl_farming/textures/farming_potato_baked.png b/textures/farming_potato_baked.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_potato_baked.png rename to textures/farming_potato_baked.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_potato_poison.png b/textures/farming_potato_poison.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_potato_poison.png rename to textures/farming_potato_poison.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_pumpkin_face.png b/textures/farming_pumpkin_face.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_pumpkin_face.png rename to textures/farming_pumpkin_face.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_pumpkin_face_light.png b/textures/farming_pumpkin_face_light.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_pumpkin_face_light.png rename to textures/farming_pumpkin_face_light.png diff --git a/textures/farming_pumpkin_side.png b/textures/farming_pumpkin_side.png new file mode 100644 index 000000000..a1a4fa9be Binary files /dev/null and b/textures/farming_pumpkin_side.png differ diff --git a/textures/farming_pumpkin_top.png b/textures/farming_pumpkin_top.png new file mode 100644 index 000000000..01cde9e90 Binary files /dev/null and b/textures/farming_pumpkin_top.png differ diff --git a/textures/farming_tool_diamondhoe.png b/textures/farming_tool_diamondhoe.png new file mode 100644 index 000000000..f74cc4afd Binary files /dev/null and b/textures/farming_tool_diamondhoe.png differ diff --git a/mods/ITEMS/mcl_farming/textures/farming_tool_goldhoe.png b/textures/farming_tool_goldhoe.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_tool_goldhoe.png rename to textures/farming_tool_goldhoe.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_tool_netheritehoe.png b/textures/farming_tool_netheritehoe.png similarity index 92% rename from mods/ITEMS/mcl_farming/textures/farming_tool_netheritehoe.png rename to textures/farming_tool_netheritehoe.png index f6acbbff3..b5c2dc819 100644 Binary files a/mods/ITEMS/mcl_farming/textures/farming_tool_netheritehoe.png and b/textures/farming_tool_netheritehoe.png differ diff --git a/mods/ITEMS/mcl_farming/textures/farming_tool_steelhoe.png b/textures/farming_tool_steelhoe.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_tool_steelhoe.png rename to textures/farming_tool_steelhoe.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_tool_stonehoe.png b/textures/farming_tool_stonehoe.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_tool_stonehoe.png rename to textures/farming_tool_stonehoe.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_tool_woodhoe.png b/textures/farming_tool_woodhoe.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_tool_woodhoe.png rename to textures/farming_tool_woodhoe.png diff --git a/mods/ITEMS/mcl_farming/textures/farming_wheat_harvested.png b/textures/farming_wheat_harvested.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/farming_wheat_harvested.png rename to textures/farming_wheat_harvested.png diff --git a/textures/fire_basic_flame.png b/textures/fire_basic_flame.png new file mode 100644 index 000000000..f87969a38 Binary files /dev/null and b/textures/fire_basic_flame.png differ diff --git a/mods/ITEMS/mcl_fire/textures/fire_basic_flame_animated.png b/textures/fire_basic_flame_animated.png similarity index 100% rename from mods/ITEMS/mcl_fire/textures/fire_basic_flame_animated.png rename to textures/fire_basic_flame_animated.png diff --git a/textures/fletching_table_bottom.png b/textures/fletching_table_bottom.png new file mode 100644 index 000000000..380b2e61c Binary files /dev/null and b/textures/fletching_table_bottom.png differ diff --git a/textures/fletching_table_front.png b/textures/fletching_table_front.png new file mode 100644 index 000000000..c5919daee Binary files /dev/null and b/textures/fletching_table_front.png differ diff --git a/textures/fletching_table_side.png b/textures/fletching_table_side.png new file mode 100644 index 000000000..649010fdf Binary files /dev/null and b/textures/fletching_table_side.png differ diff --git a/textures/fletching_table_top.png b/textures/fletching_table_top.png new file mode 100644 index 000000000..d74115b5a Binary files /dev/null and b/textures/fletching_table_top.png differ diff --git a/mods/ITEMS/mcl_flowers/textures/flowers_dandelion_yellow.png b/textures/flowers_dandelion_yellow.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/flowers_dandelion_yellow.png rename to textures/flowers_dandelion_yellow.png diff --git a/mods/ITEMS/mcl_flowers/textures/flowers_tulip.png b/textures/flowers_tulip.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/flowers_tulip.png rename to textures/flowers_tulip.png diff --git a/textures/flowers_waterlily.png b/textures/flowers_waterlily.png new file mode 100644 index 000000000..1d5bc6849 Binary files /dev/null and b/textures/flowers_waterlily.png differ diff --git a/textures/footer.png b/textures/footer.png new file mode 100644 index 000000000..c57f5470b Binary files /dev/null and b/textures/footer.png differ diff --git a/textures/grindstone_front.png b/textures/grindstone_front.png new file mode 100644 index 000000000..8605c5419 Binary files /dev/null and b/textures/grindstone_front.png differ diff --git a/textures/grindstone_side.png b/textures/grindstone_side.png new file mode 100644 index 000000000..635386b6e Binary files /dev/null and b/textures/grindstone_side.png differ diff --git a/textures/grindstone_top.png b/textures/grindstone_top.png new file mode 100644 index 000000000..0f1a3dcdf Binary files /dev/null and b/textures/grindstone_top.png differ diff --git a/mods/ITEMS/mcl_crafting_table/textures/gui_crafting_arrow.png b/textures/gui_crafting_arrow.png similarity index 100% rename from mods/ITEMS/mcl_crafting_table/textures/gui_crafting_arrow.png rename to textures/gui_crafting_arrow.png diff --git a/mods/ITEMS/mcl_furnaces/textures/gui_furnace_arrow_bg.png b/textures/gui_furnace_arrow_bg.png similarity index 100% rename from mods/ITEMS/mcl_furnaces/textures/gui_furnace_arrow_bg.png rename to textures/gui_furnace_arrow_bg.png diff --git a/mods/ITEMS/mcl_furnaces/textures/gui_furnace_arrow_fg.png b/textures/gui_furnace_arrow_fg.png similarity index 100% rename from mods/ITEMS/mcl_furnaces/textures/gui_furnace_arrow_fg.png rename to textures/gui_furnace_arrow_fg.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay.png b/textures/hardened_clay.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay.png rename to textures/hardened_clay.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_black.png b/textures/hardened_clay_stained_black.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_black.png rename to textures/hardened_clay_stained_black.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_blue.png b/textures/hardened_clay_stained_blue.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_blue.png rename to textures/hardened_clay_stained_blue.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_brown.png b/textures/hardened_clay_stained_brown.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_brown.png rename to textures/hardened_clay_stained_brown.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_cyan.png b/textures/hardened_clay_stained_cyan.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_cyan.png rename to textures/hardened_clay_stained_cyan.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_green.png b/textures/hardened_clay_stained_green.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_green.png rename to textures/hardened_clay_stained_green.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_grey.png b/textures/hardened_clay_stained_grey.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_grey.png rename to textures/hardened_clay_stained_grey.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_light_blue.png b/textures/hardened_clay_stained_light_blue.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_light_blue.png rename to textures/hardened_clay_stained_light_blue.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_lime.png b/textures/hardened_clay_stained_lime.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_lime.png rename to textures/hardened_clay_stained_lime.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_magenta.png b/textures/hardened_clay_stained_magenta.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_magenta.png rename to textures/hardened_clay_stained_magenta.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_orange.png b/textures/hardened_clay_stained_orange.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_orange.png rename to textures/hardened_clay_stained_orange.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_pink.png b/textures/hardened_clay_stained_pink.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_pink.png rename to textures/hardened_clay_stained_pink.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_purple.png b/textures/hardened_clay_stained_purple.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_purple.png rename to textures/hardened_clay_stained_purple.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_red.png b/textures/hardened_clay_stained_red.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_red.png rename to textures/hardened_clay_stained_red.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_silver.png b/textures/hardened_clay_stained_silver.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_silver.png rename to textures/hardened_clay_stained_silver.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_white.png b/textures/hardened_clay_stained_white.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_white.png rename to textures/hardened_clay_stained_white.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_yellow.png b/textures/hardened_clay_stained_yellow.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/hardened_clay_stained_yellow.png rename to textures/hardened_clay_stained_yellow.png diff --git a/mods/HUD/mcl_hbarmor/textures/hbarmor_bar.png b/textures/hbarmor_bar.png similarity index 100% rename from mods/HUD/mcl_hbarmor/textures/hbarmor_bar.png rename to textures/hbarmor_bar.png diff --git a/textures/hbarmor_bgicon.png b/textures/hbarmor_bgicon.png new file mode 100644 index 000000000..54a22d078 Binary files /dev/null and b/textures/hbarmor_bgicon.png differ diff --git a/textures/hbarmor_icon.png b/textures/hbarmor_icon.png new file mode 100644 index 000000000..1efe919c8 Binary files /dev/null and b/textures/hbarmor_icon.png differ diff --git a/mods/PLAYER/mcl_hunger/textures/hbhunger_bar.png b/textures/hbhunger_bar.png similarity index 100% rename from mods/PLAYER/mcl_hunger/textures/hbhunger_bar.png rename to textures/hbhunger_bar.png diff --git a/mods/PLAYER/mcl_hunger/textures/hbhunger_bar_health_poison.png b/textures/hbhunger_bar_health_poison.png similarity index 100% rename from mods/PLAYER/mcl_hunger/textures/hbhunger_bar_health_poison.png rename to textures/hbhunger_bar_health_poison.png diff --git a/textures/hbhunger_bgicon.png b/textures/hbhunger_bgicon.png new file mode 100644 index 000000000..d65bf00ec Binary files /dev/null and b/textures/hbhunger_bgicon.png differ diff --git a/textures/hbhunger_icon.png b/textures/hbhunger_icon.png new file mode 100644 index 000000000..23acb749f Binary files /dev/null and b/textures/hbhunger_icon.png differ diff --git a/mods/PLAYER/mcl_hunger/textures/hbhunger_icon_health_poison.png b/textures/hbhunger_icon_health_poison.png similarity index 100% rename from mods/PLAYER/mcl_hunger/textures/hbhunger_icon_health_poison.png rename to textures/hbhunger_icon_health_poison.png diff --git a/textures/hbhunger_icon_regen_poison.png b/textures/hbhunger_icon_regen_poison.png new file mode 100644 index 000000000..128068fbe Binary files /dev/null and b/textures/hbhunger_icon_regen_poison.png differ diff --git a/textures/heart.png b/textures/heart.png new file mode 100644 index 000000000..7f1b66df4 Binary files /dev/null and b/textures/heart.png differ diff --git a/textures/hudbars_bar_background.png b/textures/hudbars_bar_background.png new file mode 100644 index 000000000..9a9513b08 Binary files /dev/null and b/textures/hudbars_bar_background.png differ diff --git a/mods/HUD/hudbars/textures/hudbars_bar_breath.png b/textures/hudbars_bar_breath.png similarity index 100% rename from mods/HUD/hudbars/textures/hudbars_bar_breath.png rename to textures/hudbars_bar_breath.png diff --git a/mods/HUD/hudbars/textures/hudbars_bar_health.png b/textures/hudbars_bar_health.png similarity index 100% rename from mods/HUD/hudbars/textures/hudbars_bar_health.png rename to textures/hudbars_bar_health.png diff --git a/mods/HUD/hudbars/textures/hudbars_bgicon_breath.png b/textures/hudbars_bgicon_breath.png similarity index 100% rename from mods/HUD/hudbars/textures/hudbars_bgicon_breath.png rename to textures/hudbars_bgicon_breath.png diff --git a/textures/hudbars_bgicon_health.png b/textures/hudbars_bgicon_health.png new file mode 100644 index 000000000..ebda3703f Binary files /dev/null and b/textures/hudbars_bgicon_health.png differ diff --git a/textures/hudbars_icon_breath.png b/textures/hudbars_icon_breath.png new file mode 100644 index 000000000..cbbb6705a Binary files /dev/null and b/textures/hudbars_icon_breath.png differ diff --git a/textures/hudbars_icon_health.png b/textures/hudbars_icon_health.png new file mode 100644 index 000000000..7f1b66df4 Binary files /dev/null and b/textures/hudbars_icon_health.png differ diff --git a/textures/hudbars_icon_regenerate.png b/textures/hudbars_icon_regenerate.png new file mode 100644 index 000000000..76ea98aa8 Binary files /dev/null and b/textures/hudbars_icon_regenerate.png differ diff --git a/textures/inventory_plus_doc_inventory_plus.png b/textures/inventory_plus_doc_inventory_plus.png new file mode 100644 index 000000000..92674b7a7 Binary files /dev/null and b/textures/inventory_plus_doc_inventory_plus.png differ diff --git a/mods/ITEMS/REDSTONE/mesecons_commandblock/textures/jeija_commandblock_off.png b/textures/jeija_commandblock_off.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_commandblock/textures/jeija_commandblock_off.png rename to textures/jeija_commandblock_off.png diff --git a/mods/ITEMS/REDSTONE/mesecons_commandblock/textures/jeija_commandblock_on.png b/textures/jeija_commandblock_on.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_commandblock/textures/jeija_commandblock_on.png rename to textures/jeija_commandblock_on.png diff --git a/textures/jeija_lightstone_gray_off.png b/textures/jeija_lightstone_gray_off.png new file mode 100644 index 000000000..c459c2265 Binary files /dev/null and b/textures/jeija_lightstone_gray_off.png differ diff --git a/mods/ITEMS/REDSTONE/mesecons_lightstone/textures/jeija_lightstone_gray_on.png b/textures/jeija_lightstone_gray_on.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_lightstone/textures/jeija_lightstone_gray_on.png rename to textures/jeija_lightstone_gray_on.png diff --git a/mods/ITEMS/REDSTONE/mesecons_solarpanel/textures/jeija_solar_panel.png b/textures/jeija_solar_panel.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_solarpanel/textures/jeija_solar_panel.png rename to textures/jeija_solar_panel.png diff --git a/mods/ITEMS/REDSTONE/mesecons_solarpanel/textures/jeija_solar_panel_inverted.png b/textures/jeija_solar_panel_inverted.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_solarpanel/textures/jeija_solar_panel_inverted.png rename to textures/jeija_solar_panel_inverted.png diff --git a/textures/jeija_solar_panel_side.png b/textures/jeija_solar_panel_side.png new file mode 100644 index 000000000..2dd2826b8 Binary files /dev/null and b/textures/jeija_solar_panel_side.png differ diff --git a/textures/jeija_torches_off.png b/textures/jeija_torches_off.png new file mode 100644 index 000000000..69b830955 Binary files /dev/null and b/textures/jeija_torches_off.png differ diff --git a/mods/ITEMS/REDSTONE/mesecons_torch/textures/jeija_torches_on.png b/textures/jeija_torches_on.png similarity index 94% rename from mods/ITEMS/REDSTONE/mesecons_torch/textures/jeija_torches_on.png rename to textures/jeija_torches_on.png index 705f3db94..72bbc8ef2 100644 Binary files a/mods/ITEMS/REDSTONE/mesecons_torch/textures/jeija_torches_on.png and b/textures/jeija_torches_on.png differ diff --git a/mods/ITEMS/REDSTONE/mesecons_walllever/textures/jeija_wall_lever.png b/textures/jeija_wall_lever.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_walllever/textures/jeija_wall_lever.png rename to textures/jeija_wall_lever.png diff --git a/mods/ITEMS/REDSTONE/mesecons_walllever/models/jeija_wall_lever_lever_light_on.png b/textures/jeija_wall_lever_lever_light_on.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_walllever/models/jeija_wall_lever_lever_light_on.png rename to textures/jeija_wall_lever_lever_light_on.png diff --git a/mods/ITEMS/mcl_blackstone/textures/lantern.png b/textures/lantern.png similarity index 76% rename from mods/ITEMS/mcl_blackstone/textures/lantern.png rename to textures/lantern.png index a0cec3cbf..d90e438f6 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/lantern.png and b/textures/lantern.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/lantern_bottom.png b/textures/lantern_bottom.png similarity index 74% rename from mods/ITEMS/mcl_blackstone/textures/lantern_bottom.png rename to textures/lantern_bottom.png index b424385a2..27dc8fba7 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/lantern_bottom.png and b/textures/lantern_bottom.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/lantern_top.png b/textures/lantern_top.png similarity index 100% rename from mods/ITEMS/mcl_blackstone/textures/lantern_top.png rename to textures/lantern_top.png diff --git a/textures/lightning_lightning_1.png b/textures/lightning_lightning_1.png new file mode 100644 index 000000000..5f6c60860 Binary files /dev/null and b/textures/lightning_lightning_1.png differ diff --git a/textures/lightning_lightning_2.png b/textures/lightning_lightning_2.png new file mode 100644 index 000000000..cb6cc8375 Binary files /dev/null and b/textures/lightning_lightning_2.png differ diff --git a/textures/lightning_lightning_3.png b/textures/lightning_lightning_3.png new file mode 100644 index 000000000..17e1d34ec Binary files /dev/null and b/textures/lightning_lightning_3.png differ diff --git a/mods/ITEMS/mcl_compass/textures/lodestone_bottom.png b/textures/lodestone_bottom.png similarity index 91% rename from mods/ITEMS/mcl_compass/textures/lodestone_bottom.png rename to textures/lodestone_bottom.png index 64ddb76ce..fae5e42f4 100644 Binary files a/mods/ITEMS/mcl_compass/textures/lodestone_bottom.png and b/textures/lodestone_bottom.png differ diff --git a/mods/ITEMS/mcl_compass/textures/lodestone_side1.png b/textures/lodestone_side1.png similarity index 91% rename from mods/ITEMS/mcl_compass/textures/lodestone_side1.png rename to textures/lodestone_side1.png index a4446b95e..fed6db55c 100644 Binary files a/mods/ITEMS/mcl_compass/textures/lodestone_side1.png and b/textures/lodestone_side1.png differ diff --git a/mods/ITEMS/mcl_compass/textures/lodestone_side2.png b/textures/lodestone_side2.png similarity index 91% rename from mods/ITEMS/mcl_compass/textures/lodestone_side2.png rename to textures/lodestone_side2.png index fd9a1a2a5..1a939e093 100644 Binary files a/mods/ITEMS/mcl_compass/textures/lodestone_side2.png and b/textures/lodestone_side2.png differ diff --git a/mods/ITEMS/mcl_compass/textures/lodestone_side3.png b/textures/lodestone_side3.png similarity index 91% rename from mods/ITEMS/mcl_compass/textures/lodestone_side3.png rename to textures/lodestone_side3.png index 43224083d..26a028c8c 100644 Binary files a/mods/ITEMS/mcl_compass/textures/lodestone_side3.png and b/textures/lodestone_side3.png differ diff --git a/mods/ITEMS/mcl_compass/textures/lodestone_side4.png b/textures/lodestone_side4.png similarity index 91% rename from mods/ITEMS/mcl_compass/textures/lodestone_side4.png rename to textures/lodestone_side4.png index 21dadc9f7..312a85fdf 100644 Binary files a/mods/ITEMS/mcl_compass/textures/lodestone_side4.png and b/textures/lodestone_side4.png differ diff --git a/mods/ITEMS/mcl_compass/textures/lodestone_top.png b/textures/lodestone_top.png similarity index 92% rename from mods/ITEMS/mcl_compass/textures/lodestone_top.png rename to textures/lodestone_top.png index 77c2064e1..e0a36f380 100644 Binary files a/mods/ITEMS/mcl_compass/textures/lodestone_top.png and b/textures/lodestone_top.png differ diff --git a/textures/loom_bottom.png b/textures/loom_bottom.png new file mode 100644 index 000000000..850868d55 Binary files /dev/null and b/textures/loom_bottom.png differ diff --git a/textures/loom_front.png b/textures/loom_front.png new file mode 100644 index 000000000..79915ae6f Binary files /dev/null and b/textures/loom_front.png differ diff --git a/textures/loom_side.png b/textures/loom_side.png new file mode 100644 index 000000000..50665d5a6 Binary files /dev/null and b/textures/loom_side.png differ diff --git a/textures/loom_top.png b/textures/loom_top.png new file mode 100644 index 000000000..5d74ab99b Binary files /dev/null and b/textures/loom_top.png differ diff --git a/textures/mcl_achievements_button.png b/textures/mcl_achievements_button.png new file mode 100644 index 000000000..fd9d0bd1a Binary files /dev/null and b/textures/mcl_achievements_button.png differ diff --git a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_block.png b/textures/mcl_amethyst_amethyst_block.png similarity index 91% rename from mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_block.png rename to textures/mcl_amethyst_amethyst_block.png index bc172f2a0..02aba24a4 100644 Binary files a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_block.png and b/textures/mcl_amethyst_amethyst_block.png differ diff --git a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_bud_large.png b/textures/mcl_amethyst_amethyst_bud_large.png similarity index 92% rename from mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_bud_large.png rename to textures/mcl_amethyst_amethyst_bud_large.png index 5c7309434..22197eac9 100644 Binary files a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_bud_large.png and b/textures/mcl_amethyst_amethyst_bud_large.png differ diff --git a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_bud_medium.png b/textures/mcl_amethyst_amethyst_bud_medium.png similarity index 94% rename from mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_bud_medium.png rename to textures/mcl_amethyst_amethyst_bud_medium.png index 5a54f63dc..6a1c082d8 100644 Binary files a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_bud_medium.png and b/textures/mcl_amethyst_amethyst_bud_medium.png differ diff --git a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_bud_small.png b/textures/mcl_amethyst_amethyst_bud_small.png similarity index 94% rename from mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_bud_small.png rename to textures/mcl_amethyst_amethyst_bud_small.png index 7a414235b..81a1c04de 100644 Binary files a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_bud_small.png and b/textures/mcl_amethyst_amethyst_bud_small.png differ diff --git a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_cluster.png b/textures/mcl_amethyst_amethyst_cluster.png similarity index 92% rename from mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_cluster.png rename to textures/mcl_amethyst_amethyst_cluster.png index 1097d97b1..4fc24fc1b 100644 Binary files a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_cluster.png and b/textures/mcl_amethyst_amethyst_cluster.png differ diff --git a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_shard.png b/textures/mcl_amethyst_amethyst_shard.png similarity index 93% rename from mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_shard.png rename to textures/mcl_amethyst_amethyst_shard.png index 0d718c47a..28f4859c9 100644 Binary files a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_amethyst_shard.png and b/textures/mcl_amethyst_amethyst_shard.png differ diff --git a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_budding_amethyst.png b/textures/mcl_amethyst_budding_amethyst.png similarity index 91% rename from mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_budding_amethyst.png rename to textures/mcl_amethyst_budding_amethyst.png index 6dee8ee9b..bf5d5cc1d 100644 Binary files a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_budding_amethyst.png and b/textures/mcl_amethyst_budding_amethyst.png differ diff --git a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_calcite_block.png b/textures/mcl_amethyst_calcite_block.png similarity index 92% rename from mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_calcite_block.png rename to textures/mcl_amethyst_calcite_block.png index 48e3ce5d9..cc28046b9 100644 Binary files a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_calcite_block.png and b/textures/mcl_amethyst_calcite_block.png differ diff --git a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_tinted_glass.png b/textures/mcl_amethyst_tinted_glass.png similarity index 92% rename from mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_tinted_glass.png rename to textures/mcl_amethyst_tinted_glass.png index 18e797789..bf961827f 100644 Binary files a/mods/ITEMS/mcl_amethyst/textures/mcl_amethyst_tinted_glass.png and b/textures/mcl_amethyst_tinted_glass.png differ diff --git a/mods/ITEMS/mcl_anvils/textures/mcl_anvils_anvil_base.png b/textures/mcl_anvils_anvil_base.png similarity index 100% rename from mods/ITEMS/mcl_anvils/textures/mcl_anvils_anvil_base.png rename to textures/mcl_anvils_anvil_base.png diff --git a/mods/ITEMS/mcl_anvils/textures/mcl_anvils_anvil_side.png b/textures/mcl_anvils_anvil_side.png similarity index 100% rename from mods/ITEMS/mcl_anvils/textures/mcl_anvils_anvil_side.png rename to textures/mcl_anvils_anvil_side.png diff --git a/mods/ITEMS/mcl_anvils/textures/mcl_anvils_anvil_top_damaged_0.png b/textures/mcl_anvils_anvil_top_damaged_0.png similarity index 98% rename from mods/ITEMS/mcl_anvils/textures/mcl_anvils_anvil_top_damaged_0.png rename to textures/mcl_anvils_anvil_top_damaged_0.png index 43938aa72..bbf187292 100644 Binary files a/mods/ITEMS/mcl_anvils/textures/mcl_anvils_anvil_top_damaged_0.png and b/textures/mcl_anvils_anvil_top_damaged_0.png differ diff --git a/mods/ITEMS/mcl_anvils/textures/mcl_anvils_anvil_top_damaged_1.png b/textures/mcl_anvils_anvil_top_damaged_1.png similarity index 97% rename from mods/ITEMS/mcl_anvils/textures/mcl_anvils_anvil_top_damaged_1.png rename to textures/mcl_anvils_anvil_top_damaged_1.png index e8cfbe5b7..ccc5a83f1 100644 Binary files a/mods/ITEMS/mcl_anvils/textures/mcl_anvils_anvil_top_damaged_1.png and b/textures/mcl_anvils_anvil_top_damaged_1.png differ diff --git a/mods/ITEMS/mcl_anvils/textures/mcl_anvils_anvil_top_damaged_2.png b/textures/mcl_anvils_anvil_top_damaged_2.png similarity index 97% rename from mods/ITEMS/mcl_anvils/textures/mcl_anvils_anvil_top_damaged_2.png rename to textures/mcl_anvils_anvil_top_damaged_2.png index 096f65eac..10e17580e 100644 Binary files a/mods/ITEMS/mcl_anvils/textures/mcl_anvils_anvil_top_damaged_2.png and b/textures/mcl_anvils_anvil_top_damaged_2.png differ diff --git a/mods/ITEMS/mcl_anvils/textures/mcl_anvils_inventory.png b/textures/mcl_anvils_inventory.png similarity index 86% rename from mods/ITEMS/mcl_anvils/textures/mcl_anvils_inventory.png rename to textures/mcl_anvils_inventory.png index fdbb706d1..7be429623 100644 Binary files a/mods/ITEMS/mcl_anvils/textures/mcl_anvils_inventory.png and b/textures/mcl_anvils_inventory.png differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_boots_chain.png b/textures/mcl_armor_boots_chain.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_boots_chain.png rename to textures/mcl_armor_boots_chain.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_boots_diamond.png b/textures/mcl_armor_boots_diamond.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_boots_diamond.png rename to textures/mcl_armor_boots_diamond.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_boots_gold.png b/textures/mcl_armor_boots_gold.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_boots_gold.png rename to textures/mcl_armor_boots_gold.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_boots_iron.png b/textures/mcl_armor_boots_iron.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_boots_iron.png rename to textures/mcl_armor_boots_iron.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_boots_leather.png b/textures/mcl_armor_boots_leather.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_boots_leather.png rename to textures/mcl_armor_boots_leather.png diff --git a/textures/mcl_armor_boots_netherite.png b/textures/mcl_armor_boots_netherite.png new file mode 100644 index 000000000..91eaa140d Binary files /dev/null and b/textures/mcl_armor_boots_netherite.png differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_chain.png b/textures/mcl_armor_chestplate_chain.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_chain.png rename to textures/mcl_armor_chestplate_chain.png diff --git a/textures/mcl_armor_chestplate_diamond.png b/textures/mcl_armor_chestplate_diamond.png new file mode 100644 index 000000000..51ece2458 Binary files /dev/null and b/textures/mcl_armor_chestplate_diamond.png differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_gold.png b/textures/mcl_armor_chestplate_gold.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_gold.png rename to textures/mcl_armor_chestplate_gold.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_iron.png b/textures/mcl_armor_chestplate_iron.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_chestplate_iron.png rename to textures/mcl_armor_chestplate_iron.png diff --git a/textures/mcl_armor_chestplate_leather.png b/textures/mcl_armor_chestplate_leather.png new file mode 100644 index 000000000..6297859fc Binary files /dev/null and b/textures/mcl_armor_chestplate_leather.png differ diff --git a/textures/mcl_armor_chestplate_netherite.png b/textures/mcl_armor_chestplate_netherite.png new file mode 100644 index 000000000..96bdef155 Binary files /dev/null and b/textures/mcl_armor_chestplate_netherite.png differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_elytra.png b/textures/mcl_armor_elytra.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_elytra.png rename to textures/mcl_armor_elytra.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_chain.png b/textures/mcl_armor_helmet_chain.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_chain.png rename to textures/mcl_armor_helmet_chain.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_diamond.png b/textures/mcl_armor_helmet_diamond.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_diamond.png rename to textures/mcl_armor_helmet_diamond.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_gold.png b/textures/mcl_armor_helmet_gold.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_gold.png rename to textures/mcl_armor_helmet_gold.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_iron.png b/textures/mcl_armor_helmet_iron.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_iron.png rename to textures/mcl_armor_helmet_iron.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_leather.png b/textures/mcl_armor_helmet_leather.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_helmet_leather.png rename to textures/mcl_armor_helmet_leather.png diff --git a/textures/mcl_armor_helmet_netherite.png b/textures/mcl_armor_helmet_netherite.png new file mode 100644 index 000000000..5bbd2cfa4 Binary files /dev/null and b/textures/mcl_armor_helmet_netherite.png differ diff --git a/textures/mcl_armor_inv_boots_chain.png b/textures/mcl_armor_inv_boots_chain.png new file mode 100644 index 000000000..eaed6b6d1 Binary files /dev/null and b/textures/mcl_armor_inv_boots_chain.png differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_diamond.png b/textures/mcl_armor_inv_boots_diamond.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_diamond.png rename to textures/mcl_armor_inv_boots_diamond.png diff --git a/textures/mcl_armor_inv_boots_gold.png b/textures/mcl_armor_inv_boots_gold.png new file mode 100644 index 000000000..a7ed11bfa Binary files /dev/null and b/textures/mcl_armor_inv_boots_gold.png differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_iron.png b/textures/mcl_armor_inv_boots_iron.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_iron.png rename to textures/mcl_armor_inv_boots_iron.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_leather.png b/textures/mcl_armor_inv_boots_leather.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_leather.png rename to textures/mcl_armor_inv_boots_leather.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_netherite.png b/textures/mcl_armor_inv_boots_netherite.png similarity index 94% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_netherite.png rename to textures/mcl_armor_inv_boots_netherite.png index a73c1b2fd..afe1a2d0e 100644 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_boots_netherite.png and b/textures/mcl_armor_inv_boots_netherite.png differ diff --git a/textures/mcl_armor_inv_chestplate_chain.png b/textures/mcl_armor_inv_chestplate_chain.png new file mode 100644 index 000000000..d8229d8de Binary files /dev/null and b/textures/mcl_armor_inv_chestplate_chain.png differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_diamond.png b/textures/mcl_armor_inv_chestplate_diamond.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_diamond.png rename to textures/mcl_armor_inv_chestplate_diamond.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_gold.png b/textures/mcl_armor_inv_chestplate_gold.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_gold.png rename to textures/mcl_armor_inv_chestplate_gold.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_iron.png b/textures/mcl_armor_inv_chestplate_iron.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_iron.png rename to textures/mcl_armor_inv_chestplate_iron.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_leather.png b/textures/mcl_armor_inv_chestplate_leather.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_leather.png rename to textures/mcl_armor_inv_chestplate_leather.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_netherite.png b/textures/mcl_armor_inv_chestplate_netherite.png similarity index 91% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_netherite.png rename to textures/mcl_armor_inv_chestplate_netherite.png index 32fabb10f..68f866b93 100644 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_chestplate_netherite.png and b/textures/mcl_armor_inv_chestplate_netherite.png differ diff --git a/textures/mcl_armor_inv_elytra.png b/textures/mcl_armor_inv_elytra.png new file mode 100644 index 000000000..54708794e Binary files /dev/null and b/textures/mcl_armor_inv_elytra.png differ diff --git a/textures/mcl_armor_inv_helmet_chain.png b/textures/mcl_armor_inv_helmet_chain.png new file mode 100644 index 000000000..92c1e4e0d Binary files /dev/null and b/textures/mcl_armor_inv_helmet_chain.png differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_diamond.png b/textures/mcl_armor_inv_helmet_diamond.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_diamond.png rename to textures/mcl_armor_inv_helmet_diamond.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_gold.png b/textures/mcl_armor_inv_helmet_gold.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_gold.png rename to textures/mcl_armor_inv_helmet_gold.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_iron.png b/textures/mcl_armor_inv_helmet_iron.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_iron.png rename to textures/mcl_armor_inv_helmet_iron.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_leather.png b/textures/mcl_armor_inv_helmet_leather.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_leather.png rename to textures/mcl_armor_inv_helmet_leather.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_netherite.png b/textures/mcl_armor_inv_helmet_netherite.png similarity index 92% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_netherite.png rename to textures/mcl_armor_inv_helmet_netherite.png index b906e2098..8407e7ed6 100644 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_helmet_netherite.png and b/textures/mcl_armor_inv_helmet_netherite.png differ diff --git a/textures/mcl_armor_inv_leggings_chain.png b/textures/mcl_armor_inv_leggings_chain.png new file mode 100644 index 000000000..7648cda27 Binary files /dev/null and b/textures/mcl_armor_inv_leggings_chain.png differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_diamond.png b/textures/mcl_armor_inv_leggings_diamond.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_diamond.png rename to textures/mcl_armor_inv_leggings_diamond.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_gold.png b/textures/mcl_armor_inv_leggings_gold.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_gold.png rename to textures/mcl_armor_inv_leggings_gold.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_iron.png b/textures/mcl_armor_inv_leggings_iron.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_iron.png rename to textures/mcl_armor_inv_leggings_iron.png diff --git a/textures/mcl_armor_inv_leggings_leather.png b/textures/mcl_armor_inv_leggings_leather.png new file mode 100644 index 000000000..b35086a97 Binary files /dev/null and b/textures/mcl_armor_inv_leggings_leather.png differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_netherite.png b/textures/mcl_armor_inv_leggings_netherite.png similarity index 92% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_netherite.png rename to textures/mcl_armor_inv_leggings_netherite.png index 3ac1b844a..82be2976c 100644 Binary files a/mods/ITEMS/mcl_armor/textures/mcl_armor_inv_leggings_netherite.png and b/textures/mcl_armor_inv_leggings_netherite.png differ diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_chain.png b/textures/mcl_armor_leggings_chain.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_chain.png rename to textures/mcl_armor_leggings_chain.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_diamond.png b/textures/mcl_armor_leggings_diamond.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_diamond.png rename to textures/mcl_armor_leggings_diamond.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_gold.png b/textures/mcl_armor_leggings_gold.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_gold.png rename to textures/mcl_armor_leggings_gold.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_iron.png b/textures/mcl_armor_leggings_iron.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_iron.png rename to textures/mcl_armor_leggings_iron.png diff --git a/mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_leather.png b/textures/mcl_armor_leggings_leather.png similarity index 100% rename from mods/ITEMS/mcl_armor/textures/mcl_armor_leggings_leather.png rename to textures/mcl_armor_leggings_leather.png diff --git a/textures/mcl_armor_leggings_netherite.png b/textures/mcl_armor_leggings_netherite.png new file mode 100644 index 000000000..b064489f1 Binary files /dev/null and b/textures/mcl_armor_leggings_netherite.png differ diff --git a/mods/ITEMS/mcl_armor_stand/textures/3d_armor_stand_item.png b/textures/mcl_armor_stand_item.png similarity index 100% rename from mods/ITEMS/mcl_armor_stand/textures/3d_armor_stand_item.png rename to textures/mcl_armor_stand_item.png diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_backstone_quartz_bricks.png b/textures/mcl_backstone_quartz_bricks.png similarity index 72% rename from mods/ITEMS/mcl_blackstone/textures/mcl_backstone_quartz_bricks.png rename to textures/mcl_backstone_quartz_bricks.png index 7fd3e6be6..162f6559b 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_backstone_quartz_bricks.png and b/textures/mcl_backstone_quartz_bricks.png differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo.png b/textures/mcl_bamboo_bamboo.png similarity index 100% rename from mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo.png rename to textures/mcl_bamboo_bamboo.png diff --git a/textures/mcl_bamboo_bamboo_block.png b/textures/mcl_bamboo_bamboo_block.png new file mode 100644 index 000000000..c5049c8ef Binary files /dev/null and b/textures/mcl_bamboo_bamboo_block.png differ diff --git a/textures/mcl_bamboo_bamboo_block_stripped.png b/textures/mcl_bamboo_bamboo_block_stripped.png new file mode 100644 index 000000000..530b4ce4b Binary files /dev/null and b/textures/mcl_bamboo_bamboo_block_stripped.png differ diff --git a/textures/mcl_bamboo_bamboo_bottom.png b/textures/mcl_bamboo_bamboo_bottom.png new file mode 100644 index 000000000..f98563131 Binary files /dev/null and b/textures/mcl_bamboo_bamboo_bottom.png differ diff --git a/textures/mcl_bamboo_bamboo_bottom_stripped.png b/textures/mcl_bamboo_bamboo_bottom_stripped.png new file mode 100644 index 000000000..a2ff21295 Binary files /dev/null and b/textures/mcl_bamboo_bamboo_bottom_stripped.png differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_fpm.png b/textures/mcl_bamboo_bamboo_fpm.png similarity index 100% rename from mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_fpm.png rename to textures/mcl_bamboo_bamboo_fpm.png diff --git a/textures/mcl_bamboo_bamboo_plank.png b/textures/mcl_bamboo_bamboo_plank.png new file mode 100644 index 000000000..9f9c92bbe Binary files /dev/null and b/textures/mcl_bamboo_bamboo_plank.png differ diff --git a/textures/mcl_bamboo_bamboo_plank_mosaic.png b/textures/mcl_bamboo_bamboo_plank_mosaic.png new file mode 100644 index 000000000..f795def33 Binary files /dev/null and b/textures/mcl_bamboo_bamboo_plank_mosaic.png differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_shoot.png b/textures/mcl_bamboo_bamboo_shoot.png similarity index 100% rename from mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_shoot.png rename to textures/mcl_bamboo_bamboo_shoot.png diff --git a/textures/mcl_bamboo_bamboo_sign.png b/textures/mcl_bamboo_bamboo_sign.png new file mode 100644 index 000000000..2f0fb5815 Binary files /dev/null and b/textures/mcl_bamboo_bamboo_sign.png differ diff --git a/textures/mcl_bamboo_bamboo_sign_wield.png b/textures/mcl_bamboo_bamboo_sign_wield.png new file mode 100644 index 000000000..7739e3250 Binary files /dev/null and b/textures/mcl_bamboo_bamboo_sign_wield.png differ diff --git a/textures/mcl_bamboo_door_bottom.png b/textures/mcl_bamboo_door_bottom.png new file mode 100644 index 000000000..c203f4582 Binary files /dev/null and b/textures/mcl_bamboo_door_bottom.png differ diff --git a/textures/mcl_bamboo_door_bottom_alt.png b/textures/mcl_bamboo_door_bottom_alt.png new file mode 100644 index 000000000..2583c18f9 Binary files /dev/null and b/textures/mcl_bamboo_door_bottom_alt.png differ diff --git a/textures/mcl_bamboo_door_top.png b/textures/mcl_bamboo_door_top.png new file mode 100644 index 000000000..09fa5c7b8 Binary files /dev/null and b/textures/mcl_bamboo_door_top.png differ diff --git a/textures/mcl_bamboo_door_top_alt.png b/textures/mcl_bamboo_door_top_alt.png new file mode 100644 index 000000000..e21c2faa2 Binary files /dev/null and b/textures/mcl_bamboo_door_top_alt.png differ diff --git a/textures/mcl_bamboo_door_wield.png b/textures/mcl_bamboo_door_wield.png new file mode 100644 index 000000000..2b56702fc Binary files /dev/null and b/textures/mcl_bamboo_door_wield.png differ diff --git a/textures/mcl_bamboo_endcap.png b/textures/mcl_bamboo_endcap.png new file mode 100644 index 000000000..c278fc62f Binary files /dev/null and b/textures/mcl_bamboo_endcap.png differ diff --git a/textures/mcl_bamboo_fence_bamboo.png b/textures/mcl_bamboo_fence_bamboo.png new file mode 100644 index 000000000..82340abd3 Binary files /dev/null and b/textures/mcl_bamboo_fence_bamboo.png differ diff --git a/textures/mcl_bamboo_fence_gate_bamboo.png b/textures/mcl_bamboo_fence_gate_bamboo.png new file mode 100644 index 000000000..82340abd3 Binary files /dev/null and b/textures/mcl_bamboo_fence_gate_bamboo.png differ diff --git a/mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_flower_pot.png b/textures/mcl_bamboo_flower_pot.png similarity index 100% rename from mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_flower_pot.png rename to textures/mcl_bamboo_flower_pot.png diff --git a/textures/mcl_bamboo_scaffolding_bottom.png b/textures/mcl_bamboo_scaffolding_bottom.png new file mode 100644 index 000000000..386cc80be Binary files /dev/null and b/textures/mcl_bamboo_scaffolding_bottom.png differ diff --git a/textures/mcl_bamboo_scaffolding_top.png b/textures/mcl_bamboo_scaffolding_top.png new file mode 100644 index 000000000..cedb82811 Binary files /dev/null and b/textures/mcl_bamboo_scaffolding_top.png differ diff --git a/textures/mcl_bamboo_trapdoor_side.png b/textures/mcl_bamboo_trapdoor_side.png new file mode 100644 index 000000000..415dddc72 Binary files /dev/null and b/textures/mcl_bamboo_trapdoor_side.png differ diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_banner_base.png b/textures/mcl_banners_banner_base.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_banner_base.png rename to textures/mcl_banners_banner_base.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_base.png b/textures/mcl_banners_base.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_base.png rename to textures/mcl_banners_base.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_base_inverted.png b/textures/mcl_banners_base_inverted.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_base_inverted.png rename to textures/mcl_banners_base_inverted.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_border.png b/textures/mcl_banners_border.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_border.png rename to textures/mcl_banners_border.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_bricks.png b/textures/mcl_banners_bricks.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_bricks.png rename to textures/mcl_banners_bricks.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_circle.png b/textures/mcl_banners_circle.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_circle.png rename to textures/mcl_banners_circle.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_creeper.png b/textures/mcl_banners_creeper.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_creeper.png rename to textures/mcl_banners_creeper.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_cross.png b/textures/mcl_banners_cross.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_cross.png rename to textures/mcl_banners_cross.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_curly_border.png b/textures/mcl_banners_curly_border.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_curly_border.png rename to textures/mcl_banners_curly_border.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_diagonal_left.png b/textures/mcl_banners_diagonal_left.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_diagonal_left.png rename to textures/mcl_banners_diagonal_left.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_diagonal_right.png b/textures/mcl_banners_diagonal_right.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_diagonal_right.png rename to textures/mcl_banners_diagonal_right.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_diagonal_up_left.png b/textures/mcl_banners_diagonal_up_left.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_diagonal_up_left.png rename to textures/mcl_banners_diagonal_up_left.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_diagonal_up_right.png b/textures/mcl_banners_diagonal_up_right.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_diagonal_up_right.png rename to textures/mcl_banners_diagonal_up_right.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_fallback_wood.png b/textures/mcl_banners_fallback_wood.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_fallback_wood.png rename to textures/mcl_banners_fallback_wood.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_flower.png b/textures/mcl_banners_flower.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_flower.png rename to textures/mcl_banners_flower.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_gradient.png b/textures/mcl_banners_gradient.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_gradient.png rename to textures/mcl_banners_gradient.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_gradient_up.png b/textures/mcl_banners_gradient_up.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_gradient_up.png rename to textures/mcl_banners_gradient_up.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_half_horizontal.png b/textures/mcl_banners_half_horizontal.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_half_horizontal.png rename to textures/mcl_banners_half_horizontal.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_half_horizontal_bottom.png b/textures/mcl_banners_half_horizontal_bottom.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_half_horizontal_bottom.png rename to textures/mcl_banners_half_horizontal_bottom.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_half_vertical.png b/textures/mcl_banners_half_vertical.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_half_vertical.png rename to textures/mcl_banners_half_vertical.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_half_vertical_right.png b/textures/mcl_banners_half_vertical_right.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_half_vertical_right.png rename to textures/mcl_banners_half_vertical_right.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_item_base.png b/textures/mcl_banners_item_base.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_item_base.png rename to textures/mcl_banners_item_base.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_item_overlay.png b/textures/mcl_banners_item_overlay.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_item_overlay.png rename to textures/mcl_banners_item_overlay.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_rhombus.png b/textures/mcl_banners_rhombus.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_rhombus.png rename to textures/mcl_banners_rhombus.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_skull.png b/textures/mcl_banners_skull.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_skull.png rename to textures/mcl_banners_skull.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_small_stripes.png b/textures/mcl_banners_small_stripes.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_small_stripes.png rename to textures/mcl_banners_small_stripes.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_square_bottom_left.png b/textures/mcl_banners_square_bottom_left.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_square_bottom_left.png rename to textures/mcl_banners_square_bottom_left.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_square_bottom_right.png b/textures/mcl_banners_square_bottom_right.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_square_bottom_right.png rename to textures/mcl_banners_square_bottom_right.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_square_top_left.png b/textures/mcl_banners_square_top_left.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_square_top_left.png rename to textures/mcl_banners_square_top_left.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_square_top_right.png b/textures/mcl_banners_square_top_right.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_square_top_right.png rename to textures/mcl_banners_square_top_right.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_straight_cross.png b/textures/mcl_banners_straight_cross.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_straight_cross.png rename to textures/mcl_banners_straight_cross.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_bottom.png b/textures/mcl_banners_stripe_bottom.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_bottom.png rename to textures/mcl_banners_stripe_bottom.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_center.png b/textures/mcl_banners_stripe_center.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_center.png rename to textures/mcl_banners_stripe_center.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_downleft.png b/textures/mcl_banners_stripe_downleft.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_downleft.png rename to textures/mcl_banners_stripe_downleft.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_downright.png b/textures/mcl_banners_stripe_downright.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_downright.png rename to textures/mcl_banners_stripe_downright.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_left.png b/textures/mcl_banners_stripe_left.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_left.png rename to textures/mcl_banners_stripe_left.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_middle.png b/textures/mcl_banners_stripe_middle.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_middle.png rename to textures/mcl_banners_stripe_middle.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_right.png b/textures/mcl_banners_stripe_right.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_right.png rename to textures/mcl_banners_stripe_right.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_top.png b/textures/mcl_banners_stripe_top.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_stripe_top.png rename to textures/mcl_banners_stripe_top.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_thing.png b/textures/mcl_banners_thing.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_thing.png rename to textures/mcl_banners_thing.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_triangle_bottom.png b/textures/mcl_banners_triangle_bottom.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_triangle_bottom.png rename to textures/mcl_banners_triangle_bottom.png diff --git a/textures/mcl_banners_triangle_top.png b/textures/mcl_banners_triangle_top.png new file mode 100644 index 000000000..1c72d7425 Binary files /dev/null and b/textures/mcl_banners_triangle_top.png differ diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_triangles_bottom.png b/textures/mcl_banners_triangles_bottom.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_triangles_bottom.png rename to textures/mcl_banners_triangles_bottom.png diff --git a/mods/ITEMS/mcl_banners/textures/mcl_banners_triangles_top.png b/textures/mcl_banners_triangles_top.png similarity index 100% rename from mods/ITEMS/mcl_banners/textures/mcl_banners_triangles_top.png rename to textures/mcl_banners_triangles_top.png diff --git a/textures/mcl_barrels_barrel_bottom.png b/textures/mcl_barrels_barrel_bottom.png new file mode 100644 index 000000000..0e762df41 Binary files /dev/null and b/textures/mcl_barrels_barrel_bottom.png differ diff --git a/textures/mcl_barrels_barrel_side.png b/textures/mcl_barrels_barrel_side.png new file mode 100644 index 000000000..9ca66d122 Binary files /dev/null and b/textures/mcl_barrels_barrel_side.png differ diff --git a/textures/mcl_barrels_barrel_top.png b/textures/mcl_barrels_barrel_top.png new file mode 100644 index 000000000..bb52958ce Binary files /dev/null and b/textures/mcl_barrels_barrel_top.png differ diff --git a/textures/mcl_barrels_barrel_top_open.png b/textures/mcl_barrels_barrel_top_open.png new file mode 100644 index 000000000..d4df0321a Binary files /dev/null and b/textures/mcl_barrels_barrel_top_open.png differ diff --git a/mods/HUD/mcl_base_textures/textures/mcl_base_textures_background.png b/textures/mcl_base_textures_background.png similarity index 100% rename from mods/HUD/mcl_base_textures/textures/mcl_base_textures_background.png rename to textures/mcl_base_textures_background.png diff --git a/mods/HUD/mcl_base_textures/textures/mcl_base_textures_background9.png b/textures/mcl_base_textures_background9.png similarity index 100% rename from mods/HUD/mcl_base_textures/textures/mcl_base_textures_background9.png rename to textures/mcl_base_textures_background9.png diff --git a/mods/HUD/mcl_base_textures/textures/mcl_base_textures_button9.png b/textures/mcl_base_textures_button9.png similarity index 100% rename from mods/HUD/mcl_base_textures/textures/mcl_base_textures_button9.png rename to textures/mcl_base_textures_button9.png diff --git a/mods/HUD/mcl_base_textures/textures/mcl_base_textures_button9_pressed.png b/textures/mcl_base_textures_button9_pressed.png similarity index 100% rename from mods/HUD/mcl_base_textures/textures/mcl_base_textures_button9_pressed.png rename to textures/mcl_base_textures_button9_pressed.png diff --git a/textures/mcl_beds_bed_black.png b/textures/mcl_beds_bed_black.png new file mode 100644 index 000000000..371468c54 Binary files /dev/null and b/textures/mcl_beds_bed_black.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_black_inv.png b/textures/mcl_beds_bed_black_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_black_inv.png rename to textures/mcl_beds_bed_black_inv.png diff --git a/textures/mcl_beds_bed_blue.png b/textures/mcl_beds_bed_blue.png new file mode 100644 index 000000000..98b48b29a Binary files /dev/null and b/textures/mcl_beds_bed_blue.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_blue_inv.png b/textures/mcl_beds_bed_blue_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_blue_inv.png rename to textures/mcl_beds_bed_blue_inv.png diff --git a/textures/mcl_beds_bed_brown.png b/textures/mcl_beds_bed_brown.png new file mode 100644 index 000000000..30f7deec2 Binary files /dev/null and b/textures/mcl_beds_bed_brown.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_brown_inv.png b/textures/mcl_beds_bed_brown_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_brown_inv.png rename to textures/mcl_beds_bed_brown_inv.png diff --git a/textures/mcl_beds_bed_cyan.png b/textures/mcl_beds_bed_cyan.png new file mode 100644 index 000000000..d1b5ee703 Binary files /dev/null and b/textures/mcl_beds_bed_cyan.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_cyan_inv.png b/textures/mcl_beds_bed_cyan_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_cyan_inv.png rename to textures/mcl_beds_bed_cyan_inv.png diff --git a/textures/mcl_beds_bed_green.png b/textures/mcl_beds_bed_green.png new file mode 100644 index 000000000..26302405a Binary files /dev/null and b/textures/mcl_beds_bed_green.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_green_inv.png b/textures/mcl_beds_bed_green_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_green_inv.png rename to textures/mcl_beds_bed_green_inv.png diff --git a/textures/mcl_beds_bed_grey.png b/textures/mcl_beds_bed_grey.png new file mode 100644 index 000000000..4847f9265 Binary files /dev/null and b/textures/mcl_beds_bed_grey.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_grey_inv.png b/textures/mcl_beds_bed_grey_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_grey_inv.png rename to textures/mcl_beds_bed_grey_inv.png diff --git a/textures/mcl_beds_bed_light_blue.png b/textures/mcl_beds_bed_light_blue.png new file mode 100644 index 000000000..01a226bfb Binary files /dev/null and b/textures/mcl_beds_bed_light_blue.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_light_blue_inv.png b/textures/mcl_beds_bed_light_blue_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_light_blue_inv.png rename to textures/mcl_beds_bed_light_blue_inv.png diff --git a/textures/mcl_beds_bed_lime.png b/textures/mcl_beds_bed_lime.png new file mode 100644 index 000000000..2a6fc1c53 Binary files /dev/null and b/textures/mcl_beds_bed_lime.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_lime_inv.png b/textures/mcl_beds_bed_lime_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_lime_inv.png rename to textures/mcl_beds_bed_lime_inv.png diff --git a/textures/mcl_beds_bed_magenta.png b/textures/mcl_beds_bed_magenta.png new file mode 100644 index 000000000..c25b5d750 Binary files /dev/null and b/textures/mcl_beds_bed_magenta.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_magenta_inv.png b/textures/mcl_beds_bed_magenta_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_magenta_inv.png rename to textures/mcl_beds_bed_magenta_inv.png diff --git a/textures/mcl_beds_bed_orange.png b/textures/mcl_beds_bed_orange.png new file mode 100644 index 000000000..a26be3a99 Binary files /dev/null and b/textures/mcl_beds_bed_orange.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_orange_inv.png b/textures/mcl_beds_bed_orange_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_orange_inv.png rename to textures/mcl_beds_bed_orange_inv.png diff --git a/textures/mcl_beds_bed_pink.png b/textures/mcl_beds_bed_pink.png new file mode 100644 index 000000000..6d6ea4e7b Binary files /dev/null and b/textures/mcl_beds_bed_pink.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_pink_inv.png b/textures/mcl_beds_bed_pink_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_pink_inv.png rename to textures/mcl_beds_bed_pink_inv.png diff --git a/textures/mcl_beds_bed_purple.png b/textures/mcl_beds_bed_purple.png new file mode 100644 index 000000000..f71764d9d Binary files /dev/null and b/textures/mcl_beds_bed_purple.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_purple_inv.png b/textures/mcl_beds_bed_purple_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_purple_inv.png rename to textures/mcl_beds_bed_purple_inv.png diff --git a/textures/mcl_beds_bed_red.png b/textures/mcl_beds_bed_red.png new file mode 100644 index 000000000..e4f5d3499 Binary files /dev/null and b/textures/mcl_beds_bed_red.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_red_inv.png b/textures/mcl_beds_bed_red_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_red_inv.png rename to textures/mcl_beds_bed_red_inv.png diff --git a/textures/mcl_beds_bed_silver.png b/textures/mcl_beds_bed_silver.png new file mode 100644 index 000000000..e699971b0 Binary files /dev/null and b/textures/mcl_beds_bed_silver.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_silver_inv.png b/textures/mcl_beds_bed_silver_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_silver_inv.png rename to textures/mcl_beds_bed_silver_inv.png diff --git a/textures/mcl_beds_bed_white.png b/textures/mcl_beds_bed_white.png new file mode 100644 index 000000000..33e7d25c1 Binary files /dev/null and b/textures/mcl_beds_bed_white.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_white_inv.png b/textures/mcl_beds_bed_white_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_white_inv.png rename to textures/mcl_beds_bed_white_inv.png diff --git a/textures/mcl_beds_bed_yellow.png b/textures/mcl_beds_bed_yellow.png new file mode 100644 index 000000000..1eb026fb1 Binary files /dev/null and b/textures/mcl_beds_bed_yellow.png differ diff --git a/mods/ITEMS/mcl_beds/textures/mcl_beds_bed_yellow_inv.png b/textures/mcl_beds_bed_yellow_inv.png similarity index 100% rename from mods/ITEMS/mcl_beds/textures/mcl_beds_bed_yellow_inv.png rename to textures/mcl_beds_bed_yellow_inv.png diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_bottom.png b/textures/mcl_beehives_bee_nest_bottom.png similarity index 78% rename from mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_bottom.png rename to textures/mcl_beehives_bee_nest_bottom.png index f3ad4a418..7f0c178a0 100644 Binary files a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_bottom.png and b/textures/mcl_beehives_bee_nest_bottom.png differ diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_front.png b/textures/mcl_beehives_bee_nest_front.png similarity index 91% rename from mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_front.png rename to textures/mcl_beehives_bee_nest_front.png index 023e79d92..6a885fb10 100644 Binary files a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_front.png and b/textures/mcl_beehives_bee_nest_front.png differ diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_front_honey.png b/textures/mcl_beehives_bee_nest_front_honey.png similarity index 90% rename from mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_front_honey.png rename to textures/mcl_beehives_bee_nest_front_honey.png index d88dd6555..bef035436 100644 Binary files a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_front_honey.png and b/textures/mcl_beehives_bee_nest_front_honey.png differ diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_side.png b/textures/mcl_beehives_bee_nest_side.png similarity index 92% rename from mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_side.png rename to textures/mcl_beehives_bee_nest_side.png index 9c0de93d7..11a25128a 100644 Binary files a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_side.png and b/textures/mcl_beehives_bee_nest_side.png differ diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_top.png b/textures/mcl_beehives_bee_nest_top.png similarity index 92% rename from mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_top.png rename to textures/mcl_beehives_bee_nest_top.png index 5f80eb98e..be167bdd9 100644 Binary files a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_bee_nest_top.png and b/textures/mcl_beehives_bee_nest_top.png differ diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_end.png b/textures/mcl_beehives_beehive_end.png similarity index 77% rename from mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_end.png rename to textures/mcl_beehives_beehive_end.png index 3ee339135..a1296c4c0 100644 Binary files a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_end.png and b/textures/mcl_beehives_beehive_end.png differ diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_front.png b/textures/mcl_beehives_beehive_front.png similarity index 76% rename from mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_front.png rename to textures/mcl_beehives_beehive_front.png index 94e14d9f9..f735fb1e3 100644 Binary files a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_front.png and b/textures/mcl_beehives_beehive_front.png differ diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_front_honey.png b/textures/mcl_beehives_beehive_front_honey.png similarity index 73% rename from mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_front_honey.png rename to textures/mcl_beehives_beehive_front_honey.png index e47a7c776..c7e8abf9e 100644 Binary files a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_front_honey.png and b/textures/mcl_beehives_beehive_front_honey.png differ diff --git a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_side.png b/textures/mcl_beehives_beehive_side.png similarity index 76% rename from mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_side.png rename to textures/mcl_beehives_beehive_side.png index 820acb491..f744ff616 100644 Binary files a/mods/ITEMS/mcl_beehives/textures/mcl_beehives_beehive_side.png and b/textures/mcl_beehives_beehive_side.png differ diff --git a/mods/ITEMS/mcl_bells/textures/mcl_bells_bell.png b/textures/mcl_bells_bell.png similarity index 100% rename from mods/ITEMS/mcl_bells/textures/mcl_bells_bell.png rename to textures/mcl_bells_bell.png diff --git a/mods/ITEMS/mcl_bells/textures/mcl_bells_bell_bottom.png b/textures/mcl_bells_bell_bottom.png similarity index 100% rename from mods/ITEMS/mcl_bells/textures/mcl_bells_bell_bottom.png rename to textures/mcl_bells_bell_bottom.png diff --git a/mods/ITEMS/mcl_bells/textures/mcl_bells_bell_side.png b/textures/mcl_bells_bell_side.png similarity index 100% rename from mods/ITEMS/mcl_bells/textures/mcl_bells_bell_side.png rename to textures/mcl_bells_bell_side.png diff --git a/mods/ITEMS/mcl_bells/textures/mcl_bells_bell_top.png b/textures/mcl_bells_bell_top.png similarity index 100% rename from mods/ITEMS/mcl_bells/textures/mcl_bells_bell_top.png rename to textures/mcl_bells_bell_top.png diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_side.png b/textures/mcl_blackstone_basalt_side.png similarity index 69% rename from mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_side.png rename to textures/mcl_blackstone_basalt_side.png index badbb65b9..54dae1bdf 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_side.png and b/textures/mcl_blackstone_basalt_side.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_side_polished.png b/textures/mcl_blackstone_basalt_side_polished.png similarity index 72% rename from mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_side_polished.png rename to textures/mcl_blackstone_basalt_side_polished.png index 556b4ae9f..b59d0fbb7 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_side_polished.png and b/textures/mcl_blackstone_basalt_side_polished.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_smooth.png b/textures/mcl_blackstone_basalt_smooth.png similarity index 69% rename from mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_smooth.png rename to textures/mcl_blackstone_basalt_smooth.png index 3455bae19..3de954c1f 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_smooth.png and b/textures/mcl_blackstone_basalt_smooth.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_top.png b/textures/mcl_blackstone_basalt_top.png similarity index 64% rename from mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_top.png rename to textures/mcl_blackstone_basalt_top.png index 0793a4d67..105f5b6b4 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_top.png and b/textures/mcl_blackstone_basalt_top.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_top_polished.png b/textures/mcl_blackstone_basalt_top_polished.png similarity index 66% rename from mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_top_polished.png rename to textures/mcl_blackstone_basalt_top_polished.png index d5b85bd97..6c640592b 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_basalt_top_polished.png and b/textures/mcl_blackstone_basalt_top_polished.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_chain.png b/textures/mcl_blackstone_chain.png similarity index 69% rename from mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_chain.png rename to textures/mcl_blackstone_chain.png index 79e9a85aa..a39dea39c 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_chain.png and b/textures/mcl_blackstone_chain.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_chiseled_polished.png b/textures/mcl_blackstone_chiseled_polished.png similarity index 66% rename from mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_chiseled_polished.png rename to textures/mcl_blackstone_chiseled_polished.png index 8519bdd28..51945818b 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_chiseled_polished.png and b/textures/mcl_blackstone_chiseled_polished.png differ diff --git a/textures/mcl_blackstone_gilded.png b/textures/mcl_blackstone_gilded.png new file mode 100644 index 000000000..4f9b84493 Binary files /dev/null and b/textures/mcl_blackstone_gilded.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_polished.png b/textures/mcl_blackstone_polished.png similarity index 68% rename from mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_polished.png rename to textures/mcl_blackstone_polished.png index 4ef4edb51..089ed4713 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_polished.png and b/textures/mcl_blackstone_polished.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_polished_bricks.png b/textures/mcl_blackstone_polished_bricks.png similarity index 65% rename from mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_polished_bricks.png rename to textures/mcl_blackstone_polished_bricks.png index 6a774443e..2d1fe7442 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_polished_bricks.png and b/textures/mcl_blackstone_polished_bricks.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_side.png b/textures/mcl_blackstone_side.png similarity index 69% rename from mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_side.png rename to textures/mcl_blackstone_side.png index a811c6940..debb054db 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_side.png and b/textures/mcl_blackstone_side.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_soul_soil.png b/textures/mcl_blackstone_soul_soil.png similarity index 68% rename from mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_soul_soil.png rename to textures/mcl_blackstone_soul_soil.png index bb65a2e4b..0c48e9948 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_soul_soil.png and b/textures/mcl_blackstone_soul_soil.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_top.png b/textures/mcl_blackstone_top.png similarity index 69% rename from mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_top.png rename to textures/mcl_blackstone_top.png index a811c6940..debb054db 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_blackstone_top.png and b/textures/mcl_blackstone_top.png differ diff --git a/textures/mcl_boats_acacia_boat.png b/textures/mcl_boats_acacia_boat.png new file mode 100644 index 000000000..40f767c35 Binary files /dev/null and b/textures/mcl_boats_acacia_boat.png differ diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_acacia_chest_boat.png b/textures/mcl_boats_acacia_chest_boat.png similarity index 90% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_acacia_chest_boat.png rename to textures/mcl_boats_acacia_chest_boat.png index 5fb44b766..35ebe2c2c 100644 Binary files a/mods/ENTITIES/mcl_boats/textures/mcl_boats_acacia_chest_boat.png and b/textures/mcl_boats_acacia_chest_boat.png differ diff --git a/textures/mcl_boats_birch_boat.png b/textures/mcl_boats_birch_boat.png new file mode 100644 index 000000000..fed5be7cc Binary files /dev/null and b/textures/mcl_boats_birch_boat.png differ diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_birch_chest_boat.png b/textures/mcl_boats_birch_chest_boat.png similarity index 90% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_birch_chest_boat.png rename to textures/mcl_boats_birch_chest_boat.png index c5671285f..7d5adfdda 100644 Binary files a/mods/ENTITIES/mcl_boats/textures/mcl_boats_birch_chest_boat.png and b/textures/mcl_boats_birch_chest_boat.png differ diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_dark_oak_boat.png b/textures/mcl_boats_dark_oak_boat.png similarity index 100% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_dark_oak_boat.png rename to textures/mcl_boats_dark_oak_boat.png diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_dark_oak_chest_boat.png b/textures/mcl_boats_dark_oak_chest_boat.png similarity index 90% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_dark_oak_chest_boat.png rename to textures/mcl_boats_dark_oak_chest_boat.png index 28ab392da..bc7053a73 100644 Binary files a/mods/ENTITIES/mcl_boats/textures/mcl_boats_dark_oak_chest_boat.png and b/textures/mcl_boats_dark_oak_chest_boat.png differ diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_jungle_boat.png b/textures/mcl_boats_jungle_boat.png similarity index 100% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_jungle_boat.png rename to textures/mcl_boats_jungle_boat.png diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_jungle_chest_boat.png b/textures/mcl_boats_jungle_chest_boat.png similarity index 90% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_jungle_chest_boat.png rename to textures/mcl_boats_jungle_chest_boat.png index 304fd771d..878cc9ef3 100644 Binary files a/mods/ENTITIES/mcl_boats/textures/mcl_boats_jungle_chest_boat.png and b/textures/mcl_boats_jungle_chest_boat.png differ diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_mangrove_boat.png b/textures/mcl_boats_mangrove_boat.png similarity index 92% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_mangrove_boat.png rename to textures/mcl_boats_mangrove_boat.png index f1f0d2506..b7ddb616e 100644 Binary files a/mods/ENTITIES/mcl_boats/textures/mcl_boats_mangrove_boat.png and b/textures/mcl_boats_mangrove_boat.png differ diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_mangrove_chest_boat.png b/textures/mcl_boats_mangrove_chest_boat.png similarity index 90% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_mangrove_chest_boat.png rename to textures/mcl_boats_mangrove_chest_boat.png index ec2acd07f..681493e9b 100644 Binary files a/mods/ENTITIES/mcl_boats/textures/mcl_boats_mangrove_chest_boat.png and b/textures/mcl_boats_mangrove_chest_boat.png differ diff --git a/textures/mcl_boats_oak_boat.png b/textures/mcl_boats_oak_boat.png new file mode 100644 index 000000000..75f27b219 Binary files /dev/null and b/textures/mcl_boats_oak_boat.png differ diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_oak_chest_boat.png b/textures/mcl_boats_oak_chest_boat.png similarity index 90% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_oak_chest_boat.png rename to textures/mcl_boats_oak_chest_boat.png index 0c7c2e0e2..026851c56 100644 Binary files a/mods/ENTITIES/mcl_boats/textures/mcl_boats_oak_chest_boat.png and b/textures/mcl_boats_oak_chest_boat.png differ diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_obsidian_boat.png b/textures/mcl_boats_obsidian_boat.png similarity index 100% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_obsidian_boat.png rename to textures/mcl_boats_obsidian_boat.png diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_spruce_boat.png b/textures/mcl_boats_spruce_boat.png similarity index 100% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_spruce_boat.png rename to textures/mcl_boats_spruce_boat.png diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_spruce_chest_boat.png b/textures/mcl_boats_spruce_chest_boat.png similarity index 90% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_spruce_chest_boat.png rename to textures/mcl_boats_spruce_chest_boat.png index e7f043e56..3791804aa 100644 Binary files a/mods/ENTITIES/mcl_boats/textures/mcl_boats_spruce_chest_boat.png and b/textures/mcl_boats_spruce_chest_boat.png differ diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_acacia_boat.png b/textures/mcl_boats_texture_acacia_boat.png similarity index 100% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_acacia_boat.png rename to textures/mcl_boats_texture_acacia_boat.png diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_birch_boat.png b/textures/mcl_boats_texture_birch_boat.png similarity index 100% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_birch_boat.png rename to textures/mcl_boats_texture_birch_boat.png diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_dark_oak_boat.png b/textures/mcl_boats_texture_dark_oak_boat.png similarity index 100% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_dark_oak_boat.png rename to textures/mcl_boats_texture_dark_oak_boat.png diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_jungle_boat.png b/textures/mcl_boats_texture_jungle_boat.png similarity index 100% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_jungle_boat.png rename to textures/mcl_boats_texture_jungle_boat.png diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_mangrove_boat.png b/textures/mcl_boats_texture_mangrove_boat.png similarity index 79% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_mangrove_boat.png rename to textures/mcl_boats_texture_mangrove_boat.png index 435db3966..c2c3f3f54 100644 Binary files a/mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_mangrove_boat.png and b/textures/mcl_boats_texture_mangrove_boat.png differ diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_oak_boat.png b/textures/mcl_boats_texture_oak_boat.png similarity index 100% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_oak_boat.png rename to textures/mcl_boats_texture_oak_boat.png diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_obsidian_boat.png b/textures/mcl_boats_texture_obsidian_boat.png similarity index 100% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_obsidian_boat.png rename to textures/mcl_boats_texture_obsidian_boat.png diff --git a/mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_spruce_boat.png b/textures/mcl_boats_texture_spruce_boat.png similarity index 100% rename from mods/ENTITIES/mcl_boats/textures/mcl_boats_texture_spruce_boat.png rename to textures/mcl_boats_texture_spruce_boat.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_bone_meal_bone_meal.png b/textures/mcl_bone_meal_bone_meal.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_bone_meal_bone_meal.png rename to textures/mcl_bone_meal_bone_meal.png diff --git a/mods/ITEMS/mcl_books/textures/mcl_books_book_bg.png b/textures/mcl_books_book_bg.png similarity index 100% rename from mods/ITEMS/mcl_books/textures/mcl_books_book_bg.png rename to textures/mcl_books_book_bg.png diff --git a/mods/ITEMS/mcl_books/textures/mcl_books_book_writable.png b/textures/mcl_books_book_writable.png similarity index 100% rename from mods/ITEMS/mcl_books/textures/mcl_books_book_writable.png rename to textures/mcl_books_book_writable.png diff --git a/mods/ITEMS/mcl_books/textures/mcl_books_book_written.png b/textures/mcl_books_book_written.png similarity index 100% rename from mods/ITEMS/mcl_books/textures/mcl_books_book_written.png rename to textures/mcl_books_book_written.png diff --git a/mods/ITEMS/mcl_books/textures/mcl_books_bookshelf_top.png b/textures/mcl_books_bookshelf_top.png similarity index 100% rename from mods/ITEMS/mcl_books/textures/mcl_books_bookshelf_top.png rename to textures/mcl_books_bookshelf_top.png diff --git a/mods/ITEMS/mcl_books/textures/mcl_books_button9.png b/textures/mcl_books_button9.png similarity index 100% rename from mods/ITEMS/mcl_books/textures/mcl_books_button9.png rename to textures/mcl_books_button9.png diff --git a/mods/ITEMS/mcl_books/textures/mcl_books_button9_pressed.png b/textures/mcl_books_button9_pressed.png similarity index 100% rename from mods/ITEMS/mcl_books/textures/mcl_books_button9_pressed.png rename to textures/mcl_books_button9_pressed.png diff --git a/mods/HUD/mcl_bossbars/textures/mcl_bossbars.png b/textures/mcl_bossbars.png similarity index 90% rename from mods/HUD/mcl_bossbars/textures/mcl_bossbars.png rename to textures/mcl_bossbars.png index 55bf36dc2..122579a73 100644 Binary files a/mods/HUD/mcl_bossbars/textures/mcl_bossbars.png and b/textures/mcl_bossbars.png differ diff --git a/mods/HUD/mcl_bossbars/textures/mcl_bossbars_empty.png b/textures/mcl_bossbars_empty.png similarity index 90% rename from mods/HUD/mcl_bossbars/textures/mcl_bossbars_empty.png rename to textures/mcl_bossbars_empty.png index 1e50b6afc..192e2a145 100644 Binary files a/mods/HUD/mcl_bossbars/textures/mcl_bossbars_empty.png and b/textures/mcl_bossbars_empty.png differ diff --git a/textures/mcl_bows_arrow.png b/textures/mcl_bows_arrow.png new file mode 100644 index 000000000..765d90029 Binary files /dev/null and b/textures/mcl_bows_arrow.png differ diff --git a/textures/mcl_bows_arrow_back.png b/textures/mcl_bows_arrow_back.png new file mode 100644 index 000000000..6620599a6 Binary files /dev/null and b/textures/mcl_bows_arrow_back.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_arrow_front.png b/textures/mcl_bows_arrow_front.png similarity index 100% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_arrow_front.png rename to textures/mcl_bows_arrow_front.png diff --git a/textures/mcl_bows_arrow_inv.png b/textures/mcl_bows_arrow_inv.png new file mode 100644 index 000000000..bf324d625 Binary files /dev/null and b/textures/mcl_bows_arrow_inv.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_arrow_overlay.png b/textures/mcl_bows_arrow_overlay.png similarity index 76% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_arrow_overlay.png rename to textures/mcl_bows_arrow_overlay.png index ee628e29d..8f74772d9 100644 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_arrow_overlay.png and b/textures/mcl_bows_arrow_overlay.png differ diff --git a/textures/mcl_bows_bow.png b/textures/mcl_bows_bow.png new file mode 100644 index 000000000..6df5c5b81 Binary files /dev/null and b/textures/mcl_bows_bow.png differ diff --git a/textures/mcl_bows_bow_0.png b/textures/mcl_bows_bow_0.png new file mode 100644 index 000000000..f2867b2a8 Binary files /dev/null and b/textures/mcl_bows_bow_0.png differ diff --git a/textures/mcl_bows_bow_1.png b/textures/mcl_bows_bow_1.png new file mode 100644 index 000000000..881206eb0 Binary files /dev/null and b/textures/mcl_bows_bow_1.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_bow_2.png b/textures/mcl_bows_bow_2.png similarity index 100% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_bow_2.png rename to textures/mcl_bows_bow_2.png diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow.png b/textures/mcl_bows_crossbow.png similarity index 67% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow.png rename to textures/mcl_bows_crossbow.png index b688dab94..8e94f32ae 100644 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow.png and b/textures/mcl_bows_crossbow.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_0.png b/textures/mcl_bows_crossbow_0.png similarity index 67% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_0.png rename to textures/mcl_bows_crossbow_0.png index 41daad6d8..cf43279f6 100644 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_0.png and b/textures/mcl_bows_crossbow_0.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_1.png b/textures/mcl_bows_crossbow_1.png similarity index 66% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_1.png rename to textures/mcl_bows_crossbow_1.png index 3769f2967..4ffe3fe5a 100644 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_1.png and b/textures/mcl_bows_crossbow_1.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_2.png b/textures/mcl_bows_crossbow_2.png similarity index 67% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_2.png rename to textures/mcl_bows_crossbow_2.png index b1bb50feb..f90fcacd2 100644 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_2.png and b/textures/mcl_bows_crossbow_2.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_3.png b/textures/mcl_bows_crossbow_3.png similarity index 71% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_3.png rename to textures/mcl_bows_crossbow_3.png index 8a8f1b03f..087189ae8 100644 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_3.png and b/textures/mcl_bows_crossbow_3.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_blue.png b/textures/mcl_bows_firework_blue.png similarity index 63% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_firework_blue.png rename to textures/mcl_bows_firework_blue.png index 608dbe0d0..ad5e1d759 100644 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_blue.png and b/textures/mcl_bows_firework_blue.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_green.png b/textures/mcl_bows_firework_green.png similarity index 63% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_firework_green.png rename to textures/mcl_bows_firework_green.png index acd74d6d1..6a184442d 100644 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_green.png and b/textures/mcl_bows_firework_green.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_red.png b/textures/mcl_bows_firework_red.png similarity index 64% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_firework_red.png rename to textures/mcl_bows_firework_red.png index 4d7355c57..07d3858ff 100644 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_red.png and b/textures/mcl_bows_firework_red.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_white.png b/textures/mcl_bows_firework_white.png similarity index 87% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_firework_white.png rename to textures/mcl_bows_firework_white.png index 1860ee53c..880c51d85 100644 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_white.png and b/textures/mcl_bows_firework_white.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_yellow.png b/textures/mcl_bows_firework_yellow.png similarity index 86% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_firework_yellow.png rename to textures/mcl_bows_firework_yellow.png index c2b745def..4ac6de4d4 100644 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_yellow.png and b/textures/mcl_bows_firework_yellow.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_rocket.png b/textures/mcl_bows_rocket.png similarity index 78% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_rocket.png rename to textures/mcl_bows_rocket.png index 800185ce0..a650b2ca6 100644 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_rocket.png and b/textures/mcl_bows_rocket.png differ diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_rocket_particle.png b/textures/mcl_bows_rocket_particle.png similarity index 91% rename from mods/ITEMS/mcl_bows/textures/mcl_bows_rocket_particle.png rename to textures/mcl_bows_rocket_particle.png index 12a894c72..3bb378a79 100644 Binary files a/mods/ITEMS/mcl_bows/textures/mcl_bows_rocket_particle.png and b/textures/mcl_bows_rocket_particle.png differ diff --git a/textures/mcl_brewing_base.png b/textures/mcl_brewing_base.png new file mode 100644 index 000000000..9e9145af9 Binary files /dev/null and b/textures/mcl_brewing_base.png differ diff --git a/textures/mcl_brewing_bottle_bg.png b/textures/mcl_brewing_bottle_bg.png new file mode 100644 index 000000000..0451b4fa4 Binary files /dev/null and b/textures/mcl_brewing_bottle_bg.png differ diff --git a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_bubble_sprite.png b/textures/mcl_brewing_bubble_sprite.png similarity index 100% rename from mods/ITEMS/mcl_brewing/textures/mcl_brewing_bubble_sprite.png rename to textures/mcl_brewing_bubble_sprite.png diff --git a/textures/mcl_brewing_bubbles.png b/textures/mcl_brewing_bubbles.png new file mode 100644 index 000000000..22e6a633c Binary files /dev/null and b/textures/mcl_brewing_bubbles.png differ diff --git a/textures/mcl_brewing_bubbles_active.png b/textures/mcl_brewing_bubbles_active.png new file mode 100644 index 000000000..eaf4d30cc Binary files /dev/null and b/textures/mcl_brewing_bubbles_active.png differ diff --git a/textures/mcl_brewing_burner.png b/textures/mcl_brewing_burner.png new file mode 100644 index 000000000..8c28e4ddd Binary files /dev/null and b/textures/mcl_brewing_burner.png differ diff --git a/textures/mcl_brewing_burner_active.png b/textures/mcl_brewing_burner_active.png new file mode 100644 index 000000000..d10fd3a0d Binary files /dev/null and b/textures/mcl_brewing_burner_active.png differ diff --git a/textures/mcl_brewing_fuel_bg.png b/textures/mcl_brewing_fuel_bg.png new file mode 100644 index 000000000..359f935bc Binary files /dev/null and b/textures/mcl_brewing_fuel_bg.png differ diff --git a/textures/mcl_brewing_inventory.png b/textures/mcl_brewing_inventory.png new file mode 100644 index 000000000..0d849ca8c Binary files /dev/null and b/textures/mcl_brewing_inventory.png differ diff --git a/textures/mcl_brewing_potion_bg.png b/textures/mcl_brewing_potion_bg.png new file mode 100644 index 000000000..daa52b6ea Binary files /dev/null and b/textures/mcl_brewing_potion_bg.png differ diff --git a/textures/mcl_brewing_side.png b/textures/mcl_brewing_side.png new file mode 100644 index 000000000..f1db61222 Binary files /dev/null and b/textures/mcl_brewing_side.png differ diff --git a/textures/mcl_brewing_top.png b/textures/mcl_brewing_top.png new file mode 100644 index 000000000..3352b92b8 Binary files /dev/null and b/textures/mcl_brewing_top.png differ diff --git a/textures/mcl_buckets_axolotl_bucket.png b/textures/mcl_buckets_axolotl_bucket.png new file mode 100644 index 000000000..9fadf68b1 Binary files /dev/null and b/textures/mcl_buckets_axolotl_bucket.png differ diff --git a/mods/ITEMS/mcl_fishing/textures/cod_bucket.png b/textures/mcl_buckets_cod_bucket.png similarity index 97% rename from mods/ITEMS/mcl_fishing/textures/cod_bucket.png rename to textures/mcl_buckets_cod_bucket.png index 582207cb0..deeac5af1 100644 Binary files a/mods/ITEMS/mcl_fishing/textures/cod_bucket.png and b/textures/mcl_buckets_cod_bucket.png differ diff --git a/mods/ITEMS/mcl_fishing/textures/pufferfish_bucket.png b/textures/mcl_buckets_pufferfish_bucket.png similarity index 97% rename from mods/ITEMS/mcl_fishing/textures/pufferfish_bucket.png rename to textures/mcl_buckets_pufferfish_bucket.png index 2c88bac35..90871df11 100644 Binary files a/mods/ITEMS/mcl_fishing/textures/pufferfish_bucket.png and b/textures/mcl_buckets_pufferfish_bucket.png differ diff --git a/mods/ITEMS/mcl_fishing/textures/salmon_bucket.png b/textures/mcl_buckets_salmon_bucket.png similarity index 97% rename from mods/ITEMS/mcl_fishing/textures/salmon_bucket.png rename to textures/mcl_buckets_salmon_bucket.png index b9ac22fd9..0afb094be 100644 Binary files a/mods/ITEMS/mcl_fishing/textures/salmon_bucket.png and b/textures/mcl_buckets_salmon_bucket.png differ diff --git a/mods/ITEMS/mcl_fishing/textures/tropical_fish_bucket.png b/textures/mcl_buckets_tropical_fish_bucket.png similarity index 97% rename from mods/ITEMS/mcl_fishing/textures/tropical_fish_bucket.png rename to textures/mcl_buckets_tropical_fish_bucket.png index edf7dd244..7c9050763 100644 Binary files a/mods/ITEMS/mcl_fishing/textures/tropical_fish_bucket.png and b/textures/mcl_buckets_tropical_fish_bucket.png differ diff --git a/mods/ITEMS/mcl_fire/textures/mcl_burning_entity_flame_animated.png b/textures/mcl_burning_entity_flame_animated.png similarity index 100% rename from mods/ITEMS/mcl_fire/textures/mcl_burning_entity_flame_animated.png rename to textures/mcl_burning_entity_flame_animated.png diff --git a/mods/ITEMS/mcl_fire/textures/mcl_burning_hud_flame_animated.png b/textures/mcl_burning_hud_flame_animated.png similarity index 100% rename from mods/ITEMS/mcl_fire/textures/mcl_burning_hud_flame_animated.png rename to textures/mcl_burning_hud_flame_animated.png diff --git a/textures/mcl_campfires_campfire_fire.png b/textures/mcl_campfires_campfire_fire.png new file mode 100644 index 000000000..519982043 Binary files /dev/null and b/textures/mcl_campfires_campfire_fire.png differ diff --git a/textures/mcl_campfires_campfire_inv.png b/textures/mcl_campfires_campfire_inv.png new file mode 100644 index 000000000..3e2f68713 Binary files /dev/null and b/textures/mcl_campfires_campfire_inv.png differ diff --git a/textures/mcl_campfires_campfire_log_lit.png b/textures/mcl_campfires_campfire_log_lit.png new file mode 100644 index 000000000..d2559d03f Binary files /dev/null and b/textures/mcl_campfires_campfire_log_lit.png differ diff --git a/textures/mcl_campfires_fire1.png b/textures/mcl_campfires_fire1.png new file mode 100644 index 000000000..1b467afb0 Binary files /dev/null and b/textures/mcl_campfires_fire1.png differ diff --git a/textures/mcl_campfires_log.png b/textures/mcl_campfires_log.png new file mode 100644 index 000000000..b22603f55 Binary files /dev/null and b/textures/mcl_campfires_log.png differ diff --git a/textures/mcl_campfires_soul_campfire_fire.png b/textures/mcl_campfires_soul_campfire_fire.png new file mode 100644 index 000000000..b73ae37b5 Binary files /dev/null and b/textures/mcl_campfires_soul_campfire_fire.png differ diff --git a/textures/mcl_campfires_soul_campfire_inv.png b/textures/mcl_campfires_soul_campfire_inv.png new file mode 100644 index 000000000..b3c50cd92 Binary files /dev/null and b/textures/mcl_campfires_soul_campfire_inv.png differ diff --git a/textures/mcl_campfires_soul_campfire_log_lit.png b/textures/mcl_campfires_soul_campfire_log_lit.png new file mode 100644 index 000000000..c261a33d5 Binary files /dev/null and b/textures/mcl_campfires_soul_campfire_log_lit.png differ diff --git a/textures/mcl_cartography_table_side1.png b/textures/mcl_cartography_table_side1.png new file mode 100644 index 000000000..8c73ab23a Binary files /dev/null and b/textures/mcl_cartography_table_side1.png differ diff --git a/textures/mcl_cartography_table_side2.png b/textures/mcl_cartography_table_side2.png new file mode 100644 index 000000000..1492c017d Binary files /dev/null and b/textures/mcl_cartography_table_side2.png differ diff --git a/textures/mcl_cartography_table_side3.png b/textures/mcl_cartography_table_side3.png new file mode 100644 index 000000000..a905f1fa9 Binary files /dev/null and b/textures/mcl_cartography_table_side3.png differ diff --git a/textures/mcl_cartography_table_top.png b/textures/mcl_cartography_table_top.png new file mode 100644 index 000000000..f2666368c Binary files /dev/null and b/textures/mcl_cartography_table_top.png differ diff --git a/textures/mcl_cauldrons_cauldron.png b/textures/mcl_cauldrons_cauldron.png new file mode 100644 index 000000000..b4a51c313 Binary files /dev/null and b/textures/mcl_cauldrons_cauldron.png differ diff --git a/mods/ITEMS/mcl_cauldrons/textures/mcl_cauldrons_cauldron_bottom.png b/textures/mcl_cauldrons_cauldron_bottom.png similarity index 100% rename from mods/ITEMS/mcl_cauldrons/textures/mcl_cauldrons_cauldron_bottom.png rename to textures/mcl_cauldrons_cauldron_bottom.png diff --git a/mods/ITEMS/mcl_cauldrons/textures/mcl_cauldrons_cauldron_inner.png b/textures/mcl_cauldrons_cauldron_inner.png similarity index 100% rename from mods/ITEMS/mcl_cauldrons/textures/mcl_cauldrons_cauldron_inner.png rename to textures/mcl_cauldrons_cauldron_inner.png diff --git a/mods/ITEMS/mcl_cauldrons/textures/mcl_cauldrons_cauldron_side.png b/textures/mcl_cauldrons_cauldron_side.png similarity index 100% rename from mods/ITEMS/mcl_cauldrons/textures/mcl_cauldrons_cauldron_side.png rename to textures/mcl_cauldrons_cauldron_side.png diff --git a/mods/ITEMS/mcl_cauldrons/textures/mcl_cauldrons_cauldron_top.png b/textures/mcl_cauldrons_cauldron_top.png similarity index 100% rename from mods/ITEMS/mcl_cauldrons/textures/mcl_cauldrons_cauldron_top.png rename to textures/mcl_cauldrons_cauldron_top.png diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_ender.png b/textures/mcl_chests_ender.png similarity index 100% rename from mods/ITEMS/mcl_chests/textures/mcl_chests_ender.png rename to textures/mcl_chests_ender.png diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_ender_present.png b/textures/mcl_chests_ender_present.png similarity index 100% rename from mods/ITEMS/mcl_chests/textures/mcl_chests_ender_present.png rename to textures/mcl_chests_ender_present.png diff --git a/textures/mcl_chests_noise.png b/textures/mcl_chests_noise.png new file mode 100644 index 000000000..6e2ec933f Binary files /dev/null and b/textures/mcl_chests_noise.png differ diff --git a/textures/mcl_chests_noise_double.png b/textures/mcl_chests_noise_double.png new file mode 100644 index 000000000..ca7fa78e5 Binary files /dev/null and b/textures/mcl_chests_noise_double.png differ diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_normal.png b/textures/mcl_chests_normal.png similarity index 100% rename from mods/ITEMS/mcl_chests/textures/mcl_chests_normal.png rename to textures/mcl_chests_normal.png diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_normal_double.png b/textures/mcl_chests_normal_double.png similarity index 100% rename from mods/ITEMS/mcl_chests/textures/mcl_chests_normal_double.png rename to textures/mcl_chests_normal_double.png diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_normal_double_present.png b/textures/mcl_chests_normal_double_present.png similarity index 100% rename from mods/ITEMS/mcl_chests/textures/mcl_chests_normal_double_present.png rename to textures/mcl_chests_normal_double_present.png diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_normal_present.png b/textures/mcl_chests_normal_present.png similarity index 100% rename from mods/ITEMS/mcl_chests/textures/mcl_chests_normal_present.png rename to textures/mcl_chests_normal_present.png diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_trapped.png b/textures/mcl_chests_trapped.png similarity index 100% rename from mods/ITEMS/mcl_chests/textures/mcl_chests_trapped.png rename to textures/mcl_chests_trapped.png diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_trapped_double.png b/textures/mcl_chests_trapped_double.png similarity index 100% rename from mods/ITEMS/mcl_chests/textures/mcl_chests_trapped_double.png rename to textures/mcl_chests_trapped_double.png diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_trapped_double_present.png b/textures/mcl_chests_trapped_double_present.png similarity index 100% rename from mods/ITEMS/mcl_chests/textures/mcl_chests_trapped_double_present.png rename to textures/mcl_chests_trapped_double_present.png diff --git a/mods/ITEMS/mcl_chests/textures/mcl_chests_trapped_present.png b/textures/mcl_chests_trapped_present.png similarity index 100% rename from mods/ITEMS/mcl_chests/textures/mcl_chests_trapped_present.png rename to textures/mcl_chests_trapped_present.png diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_chiseled_deepslate.png b/textures/mcl_chiseled_deepslate.png similarity index 93% rename from mods/ITEMS/mcl_deepslate/textures/mcl_chiseled_deepslate.png rename to textures/mcl_chiseled_deepslate.png index 19955d578..c76012d2d 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_chiseled_deepslate.png and b/textures/mcl_chiseled_deepslate.png differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_00.png b/textures/mcl_clock_clock_00.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_00.png rename to textures/mcl_clock_clock_00.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_01.png b/textures/mcl_clock_clock_01.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_01.png rename to textures/mcl_clock_clock_01.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_02.png b/textures/mcl_clock_clock_02.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_02.png rename to textures/mcl_clock_clock_02.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_03.png b/textures/mcl_clock_clock_03.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_03.png rename to textures/mcl_clock_clock_03.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_04.png b/textures/mcl_clock_clock_04.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_04.png rename to textures/mcl_clock_clock_04.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_05.png b/textures/mcl_clock_clock_05.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_05.png rename to textures/mcl_clock_clock_05.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_06.png b/textures/mcl_clock_clock_06.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_06.png rename to textures/mcl_clock_clock_06.png diff --git a/textures/mcl_clock_clock_07.png b/textures/mcl_clock_clock_07.png new file mode 100644 index 000000000..ef1c59c7c Binary files /dev/null and b/textures/mcl_clock_clock_07.png differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_08.png b/textures/mcl_clock_clock_08.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_08.png rename to textures/mcl_clock_clock_08.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_09.png b/textures/mcl_clock_clock_09.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_09.png rename to textures/mcl_clock_clock_09.png diff --git a/textures/mcl_clock_clock_10.png b/textures/mcl_clock_clock_10.png new file mode 100644 index 000000000..0bc5290b1 Binary files /dev/null and b/textures/mcl_clock_clock_10.png differ diff --git a/textures/mcl_clock_clock_11.png b/textures/mcl_clock_clock_11.png new file mode 100644 index 000000000..ef8b924e9 Binary files /dev/null and b/textures/mcl_clock_clock_11.png differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_12.png b/textures/mcl_clock_clock_12.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_12.png rename to textures/mcl_clock_clock_12.png diff --git a/textures/mcl_clock_clock_13.png b/textures/mcl_clock_clock_13.png new file mode 100644 index 000000000..7125cde0b Binary files /dev/null and b/textures/mcl_clock_clock_13.png differ diff --git a/textures/mcl_clock_clock_14.png b/textures/mcl_clock_clock_14.png new file mode 100644 index 000000000..8ac416601 Binary files /dev/null and b/textures/mcl_clock_clock_14.png differ diff --git a/textures/mcl_clock_clock_15.png b/textures/mcl_clock_clock_15.png new file mode 100644 index 000000000..05ae6bb6b Binary files /dev/null and b/textures/mcl_clock_clock_15.png differ diff --git a/textures/mcl_clock_clock_16.png b/textures/mcl_clock_clock_16.png new file mode 100644 index 000000000..2fa294782 Binary files /dev/null and b/textures/mcl_clock_clock_16.png differ diff --git a/textures/mcl_clock_clock_17.png b/textures/mcl_clock_clock_17.png new file mode 100644 index 000000000..2c679d70e Binary files /dev/null and b/textures/mcl_clock_clock_17.png differ diff --git a/textures/mcl_clock_clock_18.png b/textures/mcl_clock_clock_18.png new file mode 100644 index 000000000..49ae5e714 Binary files /dev/null and b/textures/mcl_clock_clock_18.png differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_19.png b/textures/mcl_clock_clock_19.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_19.png rename to textures/mcl_clock_clock_19.png diff --git a/textures/mcl_clock_clock_20.png b/textures/mcl_clock_clock_20.png new file mode 100644 index 000000000..11c33c965 Binary files /dev/null and b/textures/mcl_clock_clock_20.png differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_21.png b/textures/mcl_clock_clock_21.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_21.png rename to textures/mcl_clock_clock_21.png diff --git a/textures/mcl_clock_clock_22.png b/textures/mcl_clock_clock_22.png new file mode 100644 index 000000000..9c613ea8f Binary files /dev/null and b/textures/mcl_clock_clock_22.png differ diff --git a/textures/mcl_clock_clock_23.png b/textures/mcl_clock_clock_23.png new file mode 100644 index 000000000..60a8986d4 Binary files /dev/null and b/textures/mcl_clock_clock_23.png differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_24.png b/textures/mcl_clock_clock_24.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_24.png rename to textures/mcl_clock_clock_24.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_25.png b/textures/mcl_clock_clock_25.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_25.png rename to textures/mcl_clock_clock_25.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_26.png b/textures/mcl_clock_clock_26.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_26.png rename to textures/mcl_clock_clock_26.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_27.png b/textures/mcl_clock_clock_27.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_27.png rename to textures/mcl_clock_clock_27.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_28.png b/textures/mcl_clock_clock_28.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_28.png rename to textures/mcl_clock_clock_28.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_29.png b/textures/mcl_clock_clock_29.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_29.png rename to textures/mcl_clock_clock_29.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_30.png b/textures/mcl_clock_clock_30.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_30.png rename to textures/mcl_clock_clock_30.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_31.png b/textures/mcl_clock_clock_31.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_31.png rename to textures/mcl_clock_clock_31.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_32.png b/textures/mcl_clock_clock_32.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_32.png rename to textures/mcl_clock_clock_32.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_33.png b/textures/mcl_clock_clock_33.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_33.png rename to textures/mcl_clock_clock_33.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_34.png b/textures/mcl_clock_clock_34.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_34.png rename to textures/mcl_clock_clock_34.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_35.png b/textures/mcl_clock_clock_35.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_35.png rename to textures/mcl_clock_clock_35.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_36.png b/textures/mcl_clock_clock_36.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_36.png rename to textures/mcl_clock_clock_36.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_37.png b/textures/mcl_clock_clock_37.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_37.png rename to textures/mcl_clock_clock_37.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_38.png b/textures/mcl_clock_clock_38.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_38.png rename to textures/mcl_clock_clock_38.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_39.png b/textures/mcl_clock_clock_39.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_39.png rename to textures/mcl_clock_clock_39.png diff --git a/textures/mcl_clock_clock_40.png b/textures/mcl_clock_clock_40.png new file mode 100644 index 000000000..72f0b83a5 Binary files /dev/null and b/textures/mcl_clock_clock_40.png differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_41.png b/textures/mcl_clock_clock_41.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_41.png rename to textures/mcl_clock_clock_41.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_42.png b/textures/mcl_clock_clock_42.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_42.png rename to textures/mcl_clock_clock_42.png diff --git a/textures/mcl_clock_clock_43.png b/textures/mcl_clock_clock_43.png new file mode 100644 index 000000000..9ebe0d6f7 Binary files /dev/null and b/textures/mcl_clock_clock_43.png differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_44.png b/textures/mcl_clock_clock_44.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_44.png rename to textures/mcl_clock_clock_44.png diff --git a/textures/mcl_clock_clock_45.png b/textures/mcl_clock_clock_45.png new file mode 100644 index 000000000..e3db7078e Binary files /dev/null and b/textures/mcl_clock_clock_45.png differ diff --git a/textures/mcl_clock_clock_46.png b/textures/mcl_clock_clock_46.png new file mode 100644 index 000000000..d0377cc14 Binary files /dev/null and b/textures/mcl_clock_clock_46.png differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_47.png b/textures/mcl_clock_clock_47.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_47.png rename to textures/mcl_clock_clock_47.png diff --git a/textures/mcl_clock_clock_48.png b/textures/mcl_clock_clock_48.png new file mode 100644 index 000000000..794167150 Binary files /dev/null and b/textures/mcl_clock_clock_48.png differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_49.png b/textures/mcl_clock_clock_49.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_49.png rename to textures/mcl_clock_clock_49.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_50.png b/textures/mcl_clock_clock_50.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_50.png rename to textures/mcl_clock_clock_50.png diff --git a/textures/mcl_clock_clock_51.png b/textures/mcl_clock_clock_51.png new file mode 100644 index 000000000..622859114 Binary files /dev/null and b/textures/mcl_clock_clock_51.png differ diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_52.png b/textures/mcl_clock_clock_52.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_52.png rename to textures/mcl_clock_clock_52.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_53.png b/textures/mcl_clock_clock_53.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_53.png rename to textures/mcl_clock_clock_53.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_54.png b/textures/mcl_clock_clock_54.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_54.png rename to textures/mcl_clock_clock_54.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_55.png b/textures/mcl_clock_clock_55.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_55.png rename to textures/mcl_clock_clock_55.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_56.png b/textures/mcl_clock_clock_56.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_56.png rename to textures/mcl_clock_clock_56.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_57.png b/textures/mcl_clock_clock_57.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_57.png rename to textures/mcl_clock_clock_57.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_58.png b/textures/mcl_clock_clock_58.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_58.png rename to textures/mcl_clock_clock_58.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_59.png b/textures/mcl_clock_clock_59.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_59.png rename to textures/mcl_clock_clock_59.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_60.png b/textures/mcl_clock_clock_60.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_60.png rename to textures/mcl_clock_clock_60.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_61.png b/textures/mcl_clock_clock_61.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_61.png rename to textures/mcl_clock_clock_61.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_62.png b/textures/mcl_clock_clock_62.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_62.png rename to textures/mcl_clock_clock_62.png diff --git a/mods/ITEMS/mcl_clock/textures/mcl_clock_clock_63.png b/textures/mcl_clock_clock_63.png similarity index 100% rename from mods/ITEMS/mcl_clock/textures/mcl_clock_clock_63.png rename to textures/mcl_clock_clock_63.png diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_cobbled_deepslate.png b/textures/mcl_cobbled_deepslate.png similarity index 92% rename from mods/ITEMS/mcl_deepslate/textures/mcl_cobbled_deepslate.png rename to textures/mcl_cobbled_deepslate.png index 67dcd172c..243d118ed 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_cobbled_deepslate.png and b/textures/mcl_cobbled_deepslate.png differ diff --git a/mods/ITEMS/mcl_cocoas/textures/mcl_cocoas_cocoa_beans.png b/textures/mcl_cocoas_cocoa_beans.png similarity index 100% rename from mods/ITEMS/mcl_cocoas/textures/mcl_cocoas_cocoa_beans.png rename to textures/mcl_cocoas_cocoa_beans.png diff --git a/textures/mcl_cocoas_cocoa_stage_0.png b/textures/mcl_cocoas_cocoa_stage_0.png new file mode 100644 index 000000000..7cbdee3f6 Binary files /dev/null and b/textures/mcl_cocoas_cocoa_stage_0.png differ diff --git a/mods/ITEMS/mcl_cocoas/textures/mcl_cocoas_cocoa_stage_1.png b/textures/mcl_cocoas_cocoa_stage_1.png similarity index 100% rename from mods/ITEMS/mcl_cocoas/textures/mcl_cocoas_cocoa_stage_1.png rename to textures/mcl_cocoas_cocoa_stage_1.png diff --git a/mods/ITEMS/mcl_cocoas/textures/mcl_cocoas_cocoa_stage_2.png b/textures/mcl_cocoas_cocoa_stage_2.png similarity index 100% rename from mods/ITEMS/mcl_cocoas/textures/mcl_cocoas_cocoa_stage_2.png rename to textures/mcl_cocoas_cocoa_stage_2.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_black.png b/textures/mcl_colorblocks_concrete_black.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_black.png rename to textures/mcl_colorblocks_concrete_black.png diff --git a/textures/mcl_colorblocks_concrete_blue.png b/textures/mcl_colorblocks_concrete_blue.png new file mode 100644 index 000000000..bd3ef19ae Binary files /dev/null and b/textures/mcl_colorblocks_concrete_blue.png differ diff --git a/textures/mcl_colorblocks_concrete_brown.png b/textures/mcl_colorblocks_concrete_brown.png new file mode 100644 index 000000000..1214e7c61 Binary files /dev/null and b/textures/mcl_colorblocks_concrete_brown.png differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_cyan.png b/textures/mcl_colorblocks_concrete_cyan.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_cyan.png rename to textures/mcl_colorblocks_concrete_cyan.png diff --git a/textures/mcl_colorblocks_concrete_green.png b/textures/mcl_colorblocks_concrete_green.png new file mode 100644 index 000000000..a7c54224f Binary files /dev/null and b/textures/mcl_colorblocks_concrete_green.png differ diff --git a/textures/mcl_colorblocks_concrete_grey.png b/textures/mcl_colorblocks_concrete_grey.png new file mode 100644 index 000000000..bf4a83367 Binary files /dev/null and b/textures/mcl_colorblocks_concrete_grey.png differ diff --git a/textures/mcl_colorblocks_concrete_light_blue.png b/textures/mcl_colorblocks_concrete_light_blue.png new file mode 100644 index 000000000..21ddec3de Binary files /dev/null and b/textures/mcl_colorblocks_concrete_light_blue.png differ diff --git a/textures/mcl_colorblocks_concrete_lime.png b/textures/mcl_colorblocks_concrete_lime.png new file mode 100644 index 000000000..49067b6f8 Binary files /dev/null and b/textures/mcl_colorblocks_concrete_lime.png differ diff --git a/textures/mcl_colorblocks_concrete_magenta.png b/textures/mcl_colorblocks_concrete_magenta.png new file mode 100644 index 000000000..0732c0bc5 Binary files /dev/null and b/textures/mcl_colorblocks_concrete_magenta.png differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_orange.png b/textures/mcl_colorblocks_concrete_orange.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_orange.png rename to textures/mcl_colorblocks_concrete_orange.png diff --git a/textures/mcl_colorblocks_concrete_pink.png b/textures/mcl_colorblocks_concrete_pink.png new file mode 100644 index 000000000..3450015e3 Binary files /dev/null and b/textures/mcl_colorblocks_concrete_pink.png differ diff --git a/textures/mcl_colorblocks_concrete_powder_black.png b/textures/mcl_colorblocks_concrete_powder_black.png new file mode 100644 index 000000000..caf718d05 Binary files /dev/null and b/textures/mcl_colorblocks_concrete_powder_black.png differ diff --git a/textures/mcl_colorblocks_concrete_powder_blue.png b/textures/mcl_colorblocks_concrete_powder_blue.png new file mode 100644 index 000000000..c71038dff Binary files /dev/null and b/textures/mcl_colorblocks_concrete_powder_blue.png differ diff --git a/textures/mcl_colorblocks_concrete_powder_brown.png b/textures/mcl_colorblocks_concrete_powder_brown.png new file mode 100644 index 000000000..af4f2381f Binary files /dev/null and b/textures/mcl_colorblocks_concrete_powder_brown.png differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_cyan.png b/textures/mcl_colorblocks_concrete_powder_cyan.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_cyan.png rename to textures/mcl_colorblocks_concrete_powder_cyan.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_green.png b/textures/mcl_colorblocks_concrete_powder_green.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_green.png rename to textures/mcl_colorblocks_concrete_powder_green.png diff --git a/textures/mcl_colorblocks_concrete_powder_grey.png b/textures/mcl_colorblocks_concrete_powder_grey.png new file mode 100644 index 000000000..da8ffb6fc Binary files /dev/null and b/textures/mcl_colorblocks_concrete_powder_grey.png differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_light_blue.png b/textures/mcl_colorblocks_concrete_powder_light_blue.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_light_blue.png rename to textures/mcl_colorblocks_concrete_powder_light_blue.png diff --git a/textures/mcl_colorblocks_concrete_powder_lime.png b/textures/mcl_colorblocks_concrete_powder_lime.png new file mode 100644 index 000000000..d1b990295 Binary files /dev/null and b/textures/mcl_colorblocks_concrete_powder_lime.png differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_magenta.png b/textures/mcl_colorblocks_concrete_powder_magenta.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_magenta.png rename to textures/mcl_colorblocks_concrete_powder_magenta.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_orange.png b/textures/mcl_colorblocks_concrete_powder_orange.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_orange.png rename to textures/mcl_colorblocks_concrete_powder_orange.png diff --git a/textures/mcl_colorblocks_concrete_powder_pink.png b/textures/mcl_colorblocks_concrete_powder_pink.png new file mode 100644 index 000000000..4dd4dc9b2 Binary files /dev/null and b/textures/mcl_colorblocks_concrete_powder_pink.png differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_purple.png b/textures/mcl_colorblocks_concrete_powder_purple.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_purple.png rename to textures/mcl_colorblocks_concrete_powder_purple.png diff --git a/textures/mcl_colorblocks_concrete_powder_red.png b/textures/mcl_colorblocks_concrete_powder_red.png new file mode 100644 index 000000000..959fb89a0 Binary files /dev/null and b/textures/mcl_colorblocks_concrete_powder_red.png differ diff --git a/textures/mcl_colorblocks_concrete_powder_silver.png b/textures/mcl_colorblocks_concrete_powder_silver.png new file mode 100644 index 000000000..647c9e6d6 Binary files /dev/null and b/textures/mcl_colorblocks_concrete_powder_silver.png differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_white.png b/textures/mcl_colorblocks_concrete_powder_white.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_powder_white.png rename to textures/mcl_colorblocks_concrete_powder_white.png diff --git a/textures/mcl_colorblocks_concrete_powder_yellow.png b/textures/mcl_colorblocks_concrete_powder_yellow.png new file mode 100644 index 000000000..8e9562ea9 Binary files /dev/null and b/textures/mcl_colorblocks_concrete_powder_yellow.png differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_purple.png b/textures/mcl_colorblocks_concrete_purple.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_purple.png rename to textures/mcl_colorblocks_concrete_purple.png diff --git a/textures/mcl_colorblocks_concrete_red.png b/textures/mcl_colorblocks_concrete_red.png new file mode 100644 index 000000000..35ab9b5cd Binary files /dev/null and b/textures/mcl_colorblocks_concrete_red.png differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_silver.png b/textures/mcl_colorblocks_concrete_silver.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_concrete_silver.png rename to textures/mcl_colorblocks_concrete_silver.png diff --git a/textures/mcl_colorblocks_concrete_white.png b/textures/mcl_colorblocks_concrete_white.png new file mode 100644 index 000000000..abb66f20f Binary files /dev/null and b/textures/mcl_colorblocks_concrete_white.png differ diff --git a/textures/mcl_colorblocks_concrete_yellow.png b/textures/mcl_colorblocks_concrete_yellow.png new file mode 100644 index 000000000..eb8d62044 Binary files /dev/null and b/textures/mcl_colorblocks_concrete_yellow.png differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_black.png b/textures/mcl_colorblocks_glazed_terracotta_black.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_black.png rename to textures/mcl_colorblocks_glazed_terracotta_black.png diff --git a/textures/mcl_colorblocks_glazed_terracotta_blue.png b/textures/mcl_colorblocks_glazed_terracotta_blue.png new file mode 100644 index 000000000..52b66b6db Binary files /dev/null and b/textures/mcl_colorblocks_glazed_terracotta_blue.png differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_brown.png b/textures/mcl_colorblocks_glazed_terracotta_brown.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_brown.png rename to textures/mcl_colorblocks_glazed_terracotta_brown.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_cyan.png b/textures/mcl_colorblocks_glazed_terracotta_cyan.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_cyan.png rename to textures/mcl_colorblocks_glazed_terracotta_cyan.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_green.png b/textures/mcl_colorblocks_glazed_terracotta_green.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_green.png rename to textures/mcl_colorblocks_glazed_terracotta_green.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_grey.png b/textures/mcl_colorblocks_glazed_terracotta_grey.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_grey.png rename to textures/mcl_colorblocks_glazed_terracotta_grey.png diff --git a/textures/mcl_colorblocks_glazed_terracotta_light_blue.png b/textures/mcl_colorblocks_glazed_terracotta_light_blue.png new file mode 100644 index 000000000..079cfdd66 Binary files /dev/null and b/textures/mcl_colorblocks_glazed_terracotta_light_blue.png differ diff --git a/textures/mcl_colorblocks_glazed_terracotta_lime.png b/textures/mcl_colorblocks_glazed_terracotta_lime.png new file mode 100644 index 000000000..0cc61b37b Binary files /dev/null and b/textures/mcl_colorblocks_glazed_terracotta_lime.png differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_magenta.png b/textures/mcl_colorblocks_glazed_terracotta_magenta.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_magenta.png rename to textures/mcl_colorblocks_glazed_terracotta_magenta.png diff --git a/textures/mcl_colorblocks_glazed_terracotta_orange.png b/textures/mcl_colorblocks_glazed_terracotta_orange.png new file mode 100644 index 000000000..531e1f14c Binary files /dev/null and b/textures/mcl_colorblocks_glazed_terracotta_orange.png differ diff --git a/textures/mcl_colorblocks_glazed_terracotta_pink.png b/textures/mcl_colorblocks_glazed_terracotta_pink.png new file mode 100644 index 000000000..76264befa Binary files /dev/null and b/textures/mcl_colorblocks_glazed_terracotta_pink.png differ diff --git a/textures/mcl_colorblocks_glazed_terracotta_purple.png b/textures/mcl_colorblocks_glazed_terracotta_purple.png new file mode 100644 index 000000000..6912cd635 Binary files /dev/null and b/textures/mcl_colorblocks_glazed_terracotta_purple.png differ diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_red.png b/textures/mcl_colorblocks_glazed_terracotta_red.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_red.png rename to textures/mcl_colorblocks_glazed_terracotta_red.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_silver.png b/textures/mcl_colorblocks_glazed_terracotta_silver.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_silver.png rename to textures/mcl_colorblocks_glazed_terracotta_silver.png diff --git a/mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_white.png b/textures/mcl_colorblocks_glazed_terracotta_white.png similarity index 100% rename from mods/ITEMS/mcl_colorblocks/textures/mcl_colorblocks_glazed_terracotta_white.png rename to textures/mcl_colorblocks_glazed_terracotta_white.png diff --git a/textures/mcl_colorblocks_glazed_terracotta_yellow.png b/textures/mcl_colorblocks_glazed_terracotta_yellow.png new file mode 100644 index 000000000..db5a3aa9c Binary files /dev/null and b/textures/mcl_colorblocks_glazed_terracotta_yellow.png differ diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_comp.png b/textures/mcl_comparators_comp.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_comp.png rename to textures/mcl_comparators_comp.png diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_ends_comp.png b/textures/mcl_comparators_ends_comp.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_ends_comp.png rename to textures/mcl_comparators_ends_comp.png diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_ends_off.png b/textures/mcl_comparators_ends_off.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_ends_off.png rename to textures/mcl_comparators_ends_off.png diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_ends_on.png b/textures/mcl_comparators_ends_on.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_ends_on.png rename to textures/mcl_comparators_ends_on.png diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_ends_sub.png b/textures/mcl_comparators_ends_sub.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_ends_sub.png rename to textures/mcl_comparators_ends_sub.png diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_item.png b/textures/mcl_comparators_item.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_item.png rename to textures/mcl_comparators_item.png diff --git a/textures/mcl_comparators_off.png b/textures/mcl_comparators_off.png new file mode 100644 index 000000000..09689e96c Binary files /dev/null and b/textures/mcl_comparators_off.png differ diff --git a/textures/mcl_comparators_on.png b/textures/mcl_comparators_on.png new file mode 100644 index 000000000..d6c2a1201 Binary files /dev/null and b/textures/mcl_comparators_on.png differ diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_sides_comp.png b/textures/mcl_comparators_sides_comp.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_sides_comp.png rename to textures/mcl_comparators_sides_comp.png diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_sides_off.png b/textures/mcl_comparators_sides_off.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_sides_off.png rename to textures/mcl_comparators_sides_off.png diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_sides_on.png b/textures/mcl_comparators_sides_on.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_sides_on.png rename to textures/mcl_comparators_sides_on.png diff --git a/textures/mcl_comparators_sides_sub.png b/textures/mcl_comparators_sides_sub.png new file mode 100644 index 000000000..56c15cae4 Binary files /dev/null and b/textures/mcl_comparators_sides_sub.png differ diff --git a/mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_sub.png b/textures/mcl_comparators_sub.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_comparators/textures/mcl_comparators_sub.png rename to textures/mcl_comparators_sub.png diff --git a/textures/mcl_compass_compass_00.png b/textures/mcl_compass_compass_00.png new file mode 100644 index 000000000..9eb285cf8 Binary files /dev/null and b/textures/mcl_compass_compass_00.png differ diff --git a/textures/mcl_compass_compass_01.png b/textures/mcl_compass_compass_01.png new file mode 100644 index 000000000..f45768007 Binary files /dev/null and b/textures/mcl_compass_compass_01.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_02.png b/textures/mcl_compass_compass_02.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_02.png rename to textures/mcl_compass_compass_02.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_03.png b/textures/mcl_compass_compass_03.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_03.png rename to textures/mcl_compass_compass_03.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_04.png b/textures/mcl_compass_compass_04.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_04.png rename to textures/mcl_compass_compass_04.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_05.png b/textures/mcl_compass_compass_05.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_05.png rename to textures/mcl_compass_compass_05.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_06.png b/textures/mcl_compass_compass_06.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_06.png rename to textures/mcl_compass_compass_06.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_07.png b/textures/mcl_compass_compass_07.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_07.png rename to textures/mcl_compass_compass_07.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_08.png b/textures/mcl_compass_compass_08.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_08.png rename to textures/mcl_compass_compass_08.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_09.png b/textures/mcl_compass_compass_09.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_09.png rename to textures/mcl_compass_compass_09.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_10.png b/textures/mcl_compass_compass_10.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_10.png rename to textures/mcl_compass_compass_10.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_11.png b/textures/mcl_compass_compass_11.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_11.png rename to textures/mcl_compass_compass_11.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_12.png b/textures/mcl_compass_compass_12.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_12.png rename to textures/mcl_compass_compass_12.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_13.png b/textures/mcl_compass_compass_13.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_13.png rename to textures/mcl_compass_compass_13.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_14.png b/textures/mcl_compass_compass_14.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_14.png rename to textures/mcl_compass_compass_14.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_15.png b/textures/mcl_compass_compass_15.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_15.png rename to textures/mcl_compass_compass_15.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_16.png b/textures/mcl_compass_compass_16.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_16.png rename to textures/mcl_compass_compass_16.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_17.png b/textures/mcl_compass_compass_17.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_17.png rename to textures/mcl_compass_compass_17.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_18.png b/textures/mcl_compass_compass_18.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_18.png rename to textures/mcl_compass_compass_18.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_19.png b/textures/mcl_compass_compass_19.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_19.png rename to textures/mcl_compass_compass_19.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_20.png b/textures/mcl_compass_compass_20.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_20.png rename to textures/mcl_compass_compass_20.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_21.png b/textures/mcl_compass_compass_21.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_21.png rename to textures/mcl_compass_compass_21.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_22.png b/textures/mcl_compass_compass_22.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_22.png rename to textures/mcl_compass_compass_22.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_23.png b/textures/mcl_compass_compass_23.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_23.png rename to textures/mcl_compass_compass_23.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_24.png b/textures/mcl_compass_compass_24.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_24.png rename to textures/mcl_compass_compass_24.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_25.png b/textures/mcl_compass_compass_25.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_25.png rename to textures/mcl_compass_compass_25.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_26.png b/textures/mcl_compass_compass_26.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_26.png rename to textures/mcl_compass_compass_26.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_27.png b/textures/mcl_compass_compass_27.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_27.png rename to textures/mcl_compass_compass_27.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_28.png b/textures/mcl_compass_compass_28.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_28.png rename to textures/mcl_compass_compass_28.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_29.png b/textures/mcl_compass_compass_29.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_29.png rename to textures/mcl_compass_compass_29.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_30.png b/textures/mcl_compass_compass_30.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_30.png rename to textures/mcl_compass_compass_30.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_compass_31.png b/textures/mcl_compass_compass_31.png similarity index 100% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_compass_31.png rename to textures/mcl_compass_compass_31.png diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_00.png b/textures/mcl_compass_recovery_compass_00.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_00.png rename to textures/mcl_compass_recovery_compass_00.png index c72810180..1f5f2fcbe 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_00.png and b/textures/mcl_compass_recovery_compass_00.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_01.png b/textures/mcl_compass_recovery_compass_01.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_01.png rename to textures/mcl_compass_recovery_compass_01.png index e5a5d82b7..755ca11c2 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_01.png and b/textures/mcl_compass_recovery_compass_01.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_02.png b/textures/mcl_compass_recovery_compass_02.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_02.png rename to textures/mcl_compass_recovery_compass_02.png index 6488b7e3a..2b24f707e 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_02.png and b/textures/mcl_compass_recovery_compass_02.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_03.png b/textures/mcl_compass_recovery_compass_03.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_03.png rename to textures/mcl_compass_recovery_compass_03.png index 4696c8715..8db8f016f 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_03.png and b/textures/mcl_compass_recovery_compass_03.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_04.png b/textures/mcl_compass_recovery_compass_04.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_04.png rename to textures/mcl_compass_recovery_compass_04.png index 594092651..d50f6167e 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_04.png and b/textures/mcl_compass_recovery_compass_04.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_05.png b/textures/mcl_compass_recovery_compass_05.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_05.png rename to textures/mcl_compass_recovery_compass_05.png index 9d0963cfb..5dfc87bbb 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_05.png and b/textures/mcl_compass_recovery_compass_05.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_06.png b/textures/mcl_compass_recovery_compass_06.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_06.png rename to textures/mcl_compass_recovery_compass_06.png index a2f675fac..3294694ae 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_06.png and b/textures/mcl_compass_recovery_compass_06.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_07.png b/textures/mcl_compass_recovery_compass_07.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_07.png rename to textures/mcl_compass_recovery_compass_07.png index 1356e696a..dab9e3324 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_07.png and b/textures/mcl_compass_recovery_compass_07.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_08.png b/textures/mcl_compass_recovery_compass_08.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_08.png rename to textures/mcl_compass_recovery_compass_08.png index 8690c1b15..a330d65e5 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_08.png and b/textures/mcl_compass_recovery_compass_08.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_09.png b/textures/mcl_compass_recovery_compass_09.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_09.png rename to textures/mcl_compass_recovery_compass_09.png index d13c518e7..28634a90d 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_09.png and b/textures/mcl_compass_recovery_compass_09.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_10.png b/textures/mcl_compass_recovery_compass_10.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_10.png rename to textures/mcl_compass_recovery_compass_10.png index 48ed5bcaa..abb1ac62e 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_10.png and b/textures/mcl_compass_recovery_compass_10.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_11.png b/textures/mcl_compass_recovery_compass_11.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_11.png rename to textures/mcl_compass_recovery_compass_11.png index edbcfdb87..40399fdda 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_11.png and b/textures/mcl_compass_recovery_compass_11.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_12.png b/textures/mcl_compass_recovery_compass_12.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_12.png rename to textures/mcl_compass_recovery_compass_12.png index 7d24d84f3..5ffb5cfb2 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_12.png and b/textures/mcl_compass_recovery_compass_12.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_13.png b/textures/mcl_compass_recovery_compass_13.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_13.png rename to textures/mcl_compass_recovery_compass_13.png index eee649a78..e491f4f68 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_13.png and b/textures/mcl_compass_recovery_compass_13.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_14.png b/textures/mcl_compass_recovery_compass_14.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_14.png rename to textures/mcl_compass_recovery_compass_14.png index f584f347d..6b97276be 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_14.png and b/textures/mcl_compass_recovery_compass_14.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_15.png b/textures/mcl_compass_recovery_compass_15.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_15.png rename to textures/mcl_compass_recovery_compass_15.png index ab5c6ad8c..205995263 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_15.png and b/textures/mcl_compass_recovery_compass_15.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_16.png b/textures/mcl_compass_recovery_compass_16.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_16.png rename to textures/mcl_compass_recovery_compass_16.png index bb2cf0049..b05ee74b0 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_16.png and b/textures/mcl_compass_recovery_compass_16.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_17.png b/textures/mcl_compass_recovery_compass_17.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_17.png rename to textures/mcl_compass_recovery_compass_17.png index a06e85185..c3e397f50 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_17.png and b/textures/mcl_compass_recovery_compass_17.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_18.png b/textures/mcl_compass_recovery_compass_18.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_18.png rename to textures/mcl_compass_recovery_compass_18.png index 441d58488..fa276b85f 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_18.png and b/textures/mcl_compass_recovery_compass_18.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_19.png b/textures/mcl_compass_recovery_compass_19.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_19.png rename to textures/mcl_compass_recovery_compass_19.png index 98f88ed01..98d83685c 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_19.png and b/textures/mcl_compass_recovery_compass_19.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_20.png b/textures/mcl_compass_recovery_compass_20.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_20.png rename to textures/mcl_compass_recovery_compass_20.png index d46801d27..03b78851f 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_20.png and b/textures/mcl_compass_recovery_compass_20.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_21.png b/textures/mcl_compass_recovery_compass_21.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_21.png rename to textures/mcl_compass_recovery_compass_21.png index cea8ade47..a514d0ac9 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_21.png and b/textures/mcl_compass_recovery_compass_21.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_22.png b/textures/mcl_compass_recovery_compass_22.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_22.png rename to textures/mcl_compass_recovery_compass_22.png index b6e55140c..b2fbe8c3e 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_22.png and b/textures/mcl_compass_recovery_compass_22.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_23.png b/textures/mcl_compass_recovery_compass_23.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_23.png rename to textures/mcl_compass_recovery_compass_23.png index 0463fc704..594231cf2 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_23.png and b/textures/mcl_compass_recovery_compass_23.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_24.png b/textures/mcl_compass_recovery_compass_24.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_24.png rename to textures/mcl_compass_recovery_compass_24.png index 210858af1..91e4984fe 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_24.png and b/textures/mcl_compass_recovery_compass_24.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_25.png b/textures/mcl_compass_recovery_compass_25.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_25.png rename to textures/mcl_compass_recovery_compass_25.png index 6db230bb0..ec69ecffa 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_25.png and b/textures/mcl_compass_recovery_compass_25.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_26.png b/textures/mcl_compass_recovery_compass_26.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_26.png rename to textures/mcl_compass_recovery_compass_26.png index 6d86189a7..f1786ae00 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_26.png and b/textures/mcl_compass_recovery_compass_26.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_27.png b/textures/mcl_compass_recovery_compass_27.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_27.png rename to textures/mcl_compass_recovery_compass_27.png index 90cceda72..65a39b69f 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_27.png and b/textures/mcl_compass_recovery_compass_27.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_28.png b/textures/mcl_compass_recovery_compass_28.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_28.png rename to textures/mcl_compass_recovery_compass_28.png index c325929cf..69f01fe77 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_28.png and b/textures/mcl_compass_recovery_compass_28.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_29.png b/textures/mcl_compass_recovery_compass_29.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_29.png rename to textures/mcl_compass_recovery_compass_29.png index 86bec378a..5ba62e90e 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_29.png and b/textures/mcl_compass_recovery_compass_29.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_30.png b/textures/mcl_compass_recovery_compass_30.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_30.png rename to textures/mcl_compass_recovery_compass_30.png index 5e59db873..06c3ed963 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_30.png and b/textures/mcl_compass_recovery_compass_30.png differ diff --git a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_31.png b/textures/mcl_compass_recovery_compass_31.png similarity index 89% rename from mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_31.png rename to textures/mcl_compass_recovery_compass_31.png index ec95a2bdb..ee2126bcd 100644 Binary files a/mods/ITEMS/mcl_compass/textures/mcl_compass_recovery_compass_31.png and b/textures/mcl_compass_recovery_compass_31.png differ diff --git a/mods/ITEMS/mcl_composters/textures/mcl_composter_bottom.png b/textures/mcl_composter_bottom.png similarity index 100% rename from mods/ITEMS/mcl_composters/textures/mcl_composter_bottom.png rename to textures/mcl_composter_bottom.png diff --git a/mods/ITEMS/mcl_composters/textures/mcl_composter_compost.png b/textures/mcl_composter_compost.png similarity index 100% rename from mods/ITEMS/mcl_composters/textures/mcl_composter_compost.png rename to textures/mcl_composter_compost.png diff --git a/mods/ITEMS/mcl_composters/textures/mcl_composter_ready.png b/textures/mcl_composter_ready.png similarity index 100% rename from mods/ITEMS/mcl_composters/textures/mcl_composter_ready.png rename to textures/mcl_composter_ready.png diff --git a/mods/ITEMS/mcl_composters/textures/mcl_composter_side.png b/textures/mcl_composter_side.png similarity index 100% rename from mods/ITEMS/mcl_composters/textures/mcl_composter_side.png rename to textures/mcl_composter_side.png diff --git a/mods/ITEMS/mcl_composters/textures/mcl_composter_top.png b/textures/mcl_composter_top.png similarity index 100% rename from mods/ITEMS/mcl_composters/textures/mcl_composter_top.png rename to textures/mcl_composter_top.png diff --git a/mods/ITEMS/mcl_copper/textures/mcl_copper_anti_oxidation_particle.png b/textures/mcl_copper_anti_oxidation_particle.png similarity index 100% rename from mods/ITEMS/mcl_copper/textures/mcl_copper_anti_oxidation_particle.png rename to textures/mcl_copper_anti_oxidation_particle.png diff --git a/mods/ITEMS/mcl_copper/textures/mcl_copper_block.png b/textures/mcl_copper_block.png similarity index 93% rename from mods/ITEMS/mcl_copper/textures/mcl_copper_block.png rename to textures/mcl_copper_block.png index 31e0853ab..35dd0ac0b 100644 Binary files a/mods/ITEMS/mcl_copper/textures/mcl_copper_block.png and b/textures/mcl_copper_block.png differ diff --git a/mods/ITEMS/mcl_copper/textures/mcl_copper_block_cut.png b/textures/mcl_copper_block_cut.png similarity index 93% rename from mods/ITEMS/mcl_copper/textures/mcl_copper_block_cut.png rename to textures/mcl_copper_block_cut.png index 5f92b4693..c9cf8c30d 100644 Binary files a/mods/ITEMS/mcl_copper/textures/mcl_copper_block_cut.png and b/textures/mcl_copper_block_cut.png differ diff --git a/mods/ITEMS/mcl_copper/textures/mcl_copper_block_raw.png b/textures/mcl_copper_block_raw.png similarity index 64% rename from mods/ITEMS/mcl_copper/textures/mcl_copper_block_raw.png rename to textures/mcl_copper_block_raw.png index 88404601e..20b33f15d 100644 Binary files a/mods/ITEMS/mcl_copper/textures/mcl_copper_block_raw.png and b/textures/mcl_copper_block_raw.png differ diff --git a/mods/ITEMS/mcl_copper/textures/mcl_copper_exposed.png b/textures/mcl_copper_exposed.png similarity index 92% rename from mods/ITEMS/mcl_copper/textures/mcl_copper_exposed.png rename to textures/mcl_copper_exposed.png index 0dc2a6d87..ef37b77ae 100644 Binary files a/mods/ITEMS/mcl_copper/textures/mcl_copper_exposed.png and b/textures/mcl_copper_exposed.png differ diff --git a/mods/ITEMS/mcl_copper/textures/mcl_copper_exposed_cut.png b/textures/mcl_copper_exposed_cut.png similarity index 91% rename from mods/ITEMS/mcl_copper/textures/mcl_copper_exposed_cut.png rename to textures/mcl_copper_exposed_cut.png index 6c4a5e7dd..902026fea 100644 Binary files a/mods/ITEMS/mcl_copper/textures/mcl_copper_exposed_cut.png and b/textures/mcl_copper_exposed_cut.png differ diff --git a/mods/ITEMS/mcl_copper/textures/mcl_copper_ingot.png b/textures/mcl_copper_ingot.png similarity index 92% rename from mods/ITEMS/mcl_copper/textures/mcl_copper_ingot.png rename to textures/mcl_copper_ingot.png index b75e9b9c9..c458bebce 100644 Binary files a/mods/ITEMS/mcl_copper/textures/mcl_copper_ingot.png and b/textures/mcl_copper_ingot.png differ diff --git a/mods/ITEMS/mcl_copper/textures/mcl_copper_ore.png b/textures/mcl_copper_ore.png similarity index 88% rename from mods/ITEMS/mcl_copper/textures/mcl_copper_ore.png rename to textures/mcl_copper_ore.png index 3ad14fb99..e898e8251 100644 Binary files a/mods/ITEMS/mcl_copper/textures/mcl_copper_ore.png and b/textures/mcl_copper_ore.png differ diff --git a/mods/ITEMS/mcl_copper/textures/mcl_copper_oxidized.png b/textures/mcl_copper_oxidized.png similarity index 92% rename from mods/ITEMS/mcl_copper/textures/mcl_copper_oxidized.png rename to textures/mcl_copper_oxidized.png index 5bea2569e..234526b31 100644 Binary files a/mods/ITEMS/mcl_copper/textures/mcl_copper_oxidized.png and b/textures/mcl_copper_oxidized.png differ diff --git a/mods/ITEMS/mcl_copper/textures/mcl_copper_oxidized_cut.png b/textures/mcl_copper_oxidized_cut.png similarity index 92% rename from mods/ITEMS/mcl_copper/textures/mcl_copper_oxidized_cut.png rename to textures/mcl_copper_oxidized_cut.png index f28af71c3..5964f5bd0 100644 Binary files a/mods/ITEMS/mcl_copper/textures/mcl_copper_oxidized_cut.png and b/textures/mcl_copper_oxidized_cut.png differ diff --git a/mods/ITEMS/mcl_copper/textures/mcl_copper_raw.png b/textures/mcl_copper_raw.png similarity index 66% rename from mods/ITEMS/mcl_copper/textures/mcl_copper_raw.png rename to textures/mcl_copper_raw.png index fda0f886d..1a7d8eaa2 100644 Binary files a/mods/ITEMS/mcl_copper/textures/mcl_copper_raw.png and b/textures/mcl_copper_raw.png differ diff --git a/mods/ITEMS/mcl_copper/textures/mcl_copper_weathered.png b/textures/mcl_copper_weathered.png similarity index 91% rename from mods/ITEMS/mcl_copper/textures/mcl_copper_weathered.png rename to textures/mcl_copper_weathered.png index 75b352133..bf17b9014 100644 Binary files a/mods/ITEMS/mcl_copper/textures/mcl_copper_weathered.png and b/textures/mcl_copper_weathered.png differ diff --git a/mods/ITEMS/mcl_copper/textures/mcl_copper_weathered_cut.png b/textures/mcl_copper_weathered_cut.png similarity index 91% rename from mods/ITEMS/mcl_copper/textures/mcl_copper_weathered_cut.png rename to textures/mcl_copper_weathered_cut.png index 306329eb7..89f6d2d49 100644 Binary files a/mods/ITEMS/mcl_copper/textures/mcl_copper_weathered_cut.png and b/textures/mcl_copper_weathered_cut.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_andesite.png b/textures/mcl_core_andesite.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_andesite.png rename to textures/mcl_core_andesite.png diff --git a/textures/mcl_core_andesite_smooth.png b/textures/mcl_core_andesite_smooth.png new file mode 100644 index 000000000..ff6915ff0 Binary files /dev/null and b/textures/mcl_core_andesite_smooth.png differ diff --git a/textures/mcl_core_apple_golden.png b/textures/mcl_core_apple_golden.png new file mode 100644 index 000000000..cfaacb02a Binary files /dev/null and b/textures/mcl_core_apple_golden.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_barrier.png b/textures/mcl_core_barrier.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_barrier.png rename to textures/mcl_core_barrier.png diff --git a/textures/mcl_core_bedrock.png b/textures/mcl_core_bedrock.png new file mode 100644 index 000000000..baed9bb5c Binary files /dev/null and b/textures/mcl_core_bedrock.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_bone_block_side.png b/textures/mcl_core_bone_block_side.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_bone_block_side.png rename to textures/mcl_core_bone_block_side.png diff --git a/textures/mcl_core_bone_block_top.png b/textures/mcl_core_bone_block_top.png new file mode 100644 index 000000000..7faf7b106 Binary files /dev/null and b/textures/mcl_core_bone_block_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_bowl.png b/textures/mcl_core_bowl.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_bowl.png rename to textures/mcl_core_bowl.png diff --git a/textures/mcl_core_cactus_bottom.png b/textures/mcl_core_cactus_bottom.png new file mode 100644 index 000000000..27dd14878 Binary files /dev/null and b/textures/mcl_core_cactus_bottom.png differ diff --git a/textures/mcl_core_cactus_side.png b/textures/mcl_core_cactus_side.png new file mode 100644 index 000000000..04ddc256a Binary files /dev/null and b/textures/mcl_core_cactus_side.png differ diff --git a/textures/mcl_core_cactus_top.png b/textures/mcl_core_cactus_top.png new file mode 100644 index 000000000..ddae5176b Binary files /dev/null and b/textures/mcl_core_cactus_top.png differ diff --git a/textures/mcl_core_charcoal.png b/textures/mcl_core_charcoal.png new file mode 100644 index 000000000..691a02bf8 Binary files /dev/null and b/textures/mcl_core_charcoal.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_coal_ore.png b/textures/mcl_core_coal_ore.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_coal_ore.png rename to textures/mcl_core_coal_ore.png diff --git a/textures/mcl_core_coarse_dirt.png b/textures/mcl_core_coarse_dirt.png new file mode 100644 index 000000000..efe195ef4 Binary files /dev/null and b/textures/mcl_core_coarse_dirt.png differ diff --git a/textures/mcl_core_crying_obsidian.png b/textures/mcl_core_crying_obsidian.png new file mode 100644 index 000000000..1f77335cb Binary files /dev/null and b/textures/mcl_core_crying_obsidian.png differ diff --git a/textures/mcl_core_crying_obsidian_tear.png b/textures/mcl_core_crying_obsidian_tear.png new file mode 100644 index 000000000..bd2c94ed3 Binary files /dev/null and b/textures/mcl_core_crying_obsidian_tear.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_crying_obsidian_tear2.png b/textures/mcl_core_crying_obsidian_tear2.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_crying_obsidian_tear2.png rename to textures/mcl_core_crying_obsidian_tear2.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_crying_obsidian_tear3.png b/textures/mcl_core_crying_obsidian_tear3.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_crying_obsidian_tear3.png rename to textures/mcl_core_crying_obsidian_tear3.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_diamond_ore.png b/textures/mcl_core_diamond_ore.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_diamond_ore.png rename to textures/mcl_core_diamond_ore.png diff --git a/textures/mcl_core_diorite.png b/textures/mcl_core_diorite.png new file mode 100644 index 000000000..554299612 Binary files /dev/null and b/textures/mcl_core_diorite.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_diorite_smooth.png b/textures/mcl_core_diorite_smooth.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_diorite_smooth.png rename to textures/mcl_core_diorite_smooth.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_dirt_podzol_side.png b/textures/mcl_core_dirt_podzol_side.png similarity index 84% rename from mods/ITEMS/mcl_core/textures/mcl_core_dirt_podzol_side.png rename to textures/mcl_core_dirt_podzol_side.png index 4f0bf5fe9..bf31e8673 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_dirt_podzol_side.png and b/textures/mcl_core_dirt_podzol_side.png differ diff --git a/textures/mcl_core_dirt_podzol_top.png b/textures/mcl_core_dirt_podzol_top.png new file mode 100644 index 000000000..56fd114f0 Binary files /dev/null and b/textures/mcl_core_dirt_podzol_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_emerald.png b/textures/mcl_core_emerald.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_emerald.png rename to textures/mcl_core_emerald.png diff --git a/textures/mcl_core_emerald_block.png b/textures/mcl_core_emerald_block.png new file mode 100644 index 000000000..773c99cba Binary files /dev/null and b/textures/mcl_core_emerald_block.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_emerald_ore.png b/textures/mcl_core_emerald_ore.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_emerald_ore.png rename to textures/mcl_core_emerald_ore.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_frosted_ice_0.png b/textures/mcl_core_frosted_ice_0.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_frosted_ice_0.png rename to textures/mcl_core_frosted_ice_0.png diff --git a/textures/mcl_core_frosted_ice_1.png b/textures/mcl_core_frosted_ice_1.png new file mode 100644 index 000000000..5a7dcaa92 Binary files /dev/null and b/textures/mcl_core_frosted_ice_1.png differ diff --git a/textures/mcl_core_frosted_ice_2.png b/textures/mcl_core_frosted_ice_2.png new file mode 100644 index 000000000..98cfa0a7e Binary files /dev/null and b/textures/mcl_core_frosted_ice_2.png differ diff --git a/textures/mcl_core_frosted_ice_3.png b/textures/mcl_core_frosted_ice_3.png new file mode 100644 index 000000000..d50bc63d5 Binary files /dev/null and b/textures/mcl_core_frosted_ice_3.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_black.png b/textures/mcl_core_glass_black.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_black.png rename to textures/mcl_core_glass_black.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_black_detail.png b/textures/mcl_core_glass_black_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_black_detail.png rename to textures/mcl_core_glass_black_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_blue.png b/textures/mcl_core_glass_blue.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_blue.png rename to textures/mcl_core_glass_blue.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_blue_detail.png b/textures/mcl_core_glass_blue_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_blue_detail.png rename to textures/mcl_core_glass_blue_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_brown.png b/textures/mcl_core_glass_brown.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_brown.png rename to textures/mcl_core_glass_brown.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_brown_detail.png b/textures/mcl_core_glass_brown_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_brown_detail.png rename to textures/mcl_core_glass_brown_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_cyan.png b/textures/mcl_core_glass_cyan.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_cyan.png rename to textures/mcl_core_glass_cyan.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_cyan_detail.png b/textures/mcl_core_glass_cyan_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_cyan_detail.png rename to textures/mcl_core_glass_cyan_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_gray.png b/textures/mcl_core_glass_gray.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_gray.png rename to textures/mcl_core_glass_gray.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_gray_detail.png b/textures/mcl_core_glass_gray_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_gray_detail.png rename to textures/mcl_core_glass_gray_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_green.png b/textures/mcl_core_glass_green.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_green.png rename to textures/mcl_core_glass_green.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_green_detail.png b/textures/mcl_core_glass_green_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_green_detail.png rename to textures/mcl_core_glass_green_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_light_blue.png b/textures/mcl_core_glass_light_blue.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_light_blue.png rename to textures/mcl_core_glass_light_blue.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_light_blue_detail.png b/textures/mcl_core_glass_light_blue_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_light_blue_detail.png rename to textures/mcl_core_glass_light_blue_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_lime.png b/textures/mcl_core_glass_lime.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_lime.png rename to textures/mcl_core_glass_lime.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_lime_detail.png b/textures/mcl_core_glass_lime_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_lime_detail.png rename to textures/mcl_core_glass_lime_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_magenta.png b/textures/mcl_core_glass_magenta.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_magenta.png rename to textures/mcl_core_glass_magenta.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_magenta_detail.png b/textures/mcl_core_glass_magenta_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_magenta_detail.png rename to textures/mcl_core_glass_magenta_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_orange.png b/textures/mcl_core_glass_orange.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_orange.png rename to textures/mcl_core_glass_orange.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_orange_detail.png b/textures/mcl_core_glass_orange_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_orange_detail.png rename to textures/mcl_core_glass_orange_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_pink.png b/textures/mcl_core_glass_pink.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_pink.png rename to textures/mcl_core_glass_pink.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_pink_detail.png b/textures/mcl_core_glass_pink_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_pink_detail.png rename to textures/mcl_core_glass_pink_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_purple.png b/textures/mcl_core_glass_purple.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_purple.png rename to textures/mcl_core_glass_purple.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_purple_detail.png b/textures/mcl_core_glass_purple_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_purple_detail.png rename to textures/mcl_core_glass_purple_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_red.png b/textures/mcl_core_glass_red.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_red.png rename to textures/mcl_core_glass_red.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_red_detail.png b/textures/mcl_core_glass_red_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_red_detail.png rename to textures/mcl_core_glass_red_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_silver.png b/textures/mcl_core_glass_silver.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_silver.png rename to textures/mcl_core_glass_silver.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_silver_detail.png b/textures/mcl_core_glass_silver_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_silver_detail.png rename to textures/mcl_core_glass_silver_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_white.png b/textures/mcl_core_glass_white.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_white.png rename to textures/mcl_core_glass_white.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_white_detail.png b/textures/mcl_core_glass_white_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_white_detail.png rename to textures/mcl_core_glass_white_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_yellow.png b/textures/mcl_core_glass_yellow.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_yellow.png rename to textures/mcl_core_glass_yellow.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_glass_yellow_detail.png b/textures/mcl_core_glass_yellow_detail.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_glass_yellow_detail.png rename to textures/mcl_core_glass_yellow_detail.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_gold_nugget.png b/textures/mcl_core_gold_nugget.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_gold_nugget.png rename to textures/mcl_core_gold_nugget.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_gold_ore.png b/textures/mcl_core_gold_ore.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_gold_ore.png rename to textures/mcl_core_gold_ore.png diff --git a/textures/mcl_core_granite.png b/textures/mcl_core_granite.png new file mode 100644 index 000000000..23c65f368 Binary files /dev/null and b/textures/mcl_core_granite.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_granite_smooth.png b/textures/mcl_core_granite_smooth.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_granite_smooth.png rename to textures/mcl_core_granite_smooth.png diff --git a/textures/mcl_core_grass_block_side_overlay.png b/textures/mcl_core_grass_block_side_overlay.png new file mode 100644 index 000000000..14d4de647 Binary files /dev/null and b/textures/mcl_core_grass_block_side_overlay.png differ diff --git a/textures/mcl_core_grass_block_top.png b/textures/mcl_core_grass_block_top.png new file mode 100644 index 000000000..24c802031 Binary files /dev/null and b/textures/mcl_core_grass_block_top.png differ diff --git a/textures/mcl_core_grass_path_side.png b/textures/mcl_core_grass_path_side.png new file mode 100644 index 000000000..ff79d8c4d Binary files /dev/null and b/textures/mcl_core_grass_path_side.png differ diff --git a/textures/mcl_core_grass_path_top.png b/textures/mcl_core_grass_path_top.png new file mode 100644 index 000000000..7537af9a6 Binary files /dev/null and b/textures/mcl_core_grass_path_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_grass_side_snowed.png b/textures/mcl_core_grass_side_snowed.png similarity index 83% rename from mods/ITEMS/mcl_core/textures/mcl_core_grass_side_snowed.png rename to textures/mcl_core_grass_side_snowed.png index b38bf0e4f..ad0b9cba0 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_grass_side_snowed.png and b/textures/mcl_core_grass_side_snowed.png differ diff --git a/textures/mcl_core_ice_packed.png b/textures/mcl_core_ice_packed.png new file mode 100644 index 000000000..7dd7f3981 Binary files /dev/null and b/textures/mcl_core_ice_packed.png differ diff --git a/textures/mcl_core_iron_nugget.png b/textures/mcl_core_iron_nugget.png new file mode 100644 index 000000000..e0ae730b4 Binary files /dev/null and b/textures/mcl_core_iron_nugget.png differ diff --git a/textures/mcl_core_iron_ore.png b/textures/mcl_core_iron_ore.png new file mode 100644 index 000000000..4a93ed270 Binary files /dev/null and b/textures/mcl_core_iron_ore.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_lapis.png b/textures/mcl_core_lapis.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_lapis.png rename to textures/mcl_core_lapis.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_lapis_block.png b/textures/mcl_core_lapis_block.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_lapis_block.png rename to textures/mcl_core_lapis_block.png diff --git a/textures/mcl_core_lapis_ore.png b/textures/mcl_core_lapis_ore.png new file mode 100644 index 000000000..8ed68dbfa Binary files /dev/null and b/textures/mcl_core_lapis_ore.png differ diff --git a/textures/mcl_core_leaves_big_oak.png b/textures/mcl_core_leaves_big_oak.png new file mode 100644 index 000000000..9c989aad4 Binary files /dev/null and b/textures/mcl_core_leaves_big_oak.png differ diff --git a/textures/mcl_core_leaves_birch.png b/textures/mcl_core_leaves_birch.png new file mode 100644 index 000000000..9fed93ef3 Binary files /dev/null and b/textures/mcl_core_leaves_birch.png differ diff --git a/textures/mcl_core_leaves_spruce.png b/textures/mcl_core_leaves_spruce.png new file mode 100644 index 000000000..bd614b7b1 Binary files /dev/null and b/textures/mcl_core_leaves_spruce.png differ diff --git a/textures/mcl_core_light_0.png b/textures/mcl_core_light_0.png new file mode 100644 index 000000000..e8d2d093b Binary files /dev/null and b/textures/mcl_core_light_0.png differ diff --git a/textures/mcl_core_light_1.png b/textures/mcl_core_light_1.png new file mode 100644 index 000000000..5ec1c11b4 Binary files /dev/null and b/textures/mcl_core_light_1.png differ diff --git a/textures/mcl_core_light_10.png b/textures/mcl_core_light_10.png new file mode 100644 index 000000000..bdea1d56c Binary files /dev/null and b/textures/mcl_core_light_10.png differ diff --git a/textures/mcl_core_light_11.png b/textures/mcl_core_light_11.png new file mode 100644 index 000000000..3d30e5653 Binary files /dev/null and b/textures/mcl_core_light_11.png differ diff --git a/textures/mcl_core_light_12.png b/textures/mcl_core_light_12.png new file mode 100644 index 000000000..4883ec2f6 Binary files /dev/null and b/textures/mcl_core_light_12.png differ diff --git a/textures/mcl_core_light_13.png b/textures/mcl_core_light_13.png new file mode 100644 index 000000000..df2f0330e Binary files /dev/null and b/textures/mcl_core_light_13.png differ diff --git a/textures/mcl_core_light_14.png b/textures/mcl_core_light_14.png new file mode 100644 index 000000000..1b58a8bc4 Binary files /dev/null and b/textures/mcl_core_light_14.png differ diff --git a/textures/mcl_core_light_2.png b/textures/mcl_core_light_2.png new file mode 100644 index 000000000..00451d9c6 Binary files /dev/null and b/textures/mcl_core_light_2.png differ diff --git a/textures/mcl_core_light_3.png b/textures/mcl_core_light_3.png new file mode 100644 index 000000000..4e178f3e8 Binary files /dev/null and b/textures/mcl_core_light_3.png differ diff --git a/textures/mcl_core_light_4.png b/textures/mcl_core_light_4.png new file mode 100644 index 000000000..23047affe Binary files /dev/null and b/textures/mcl_core_light_4.png differ diff --git a/textures/mcl_core_light_5.png b/textures/mcl_core_light_5.png new file mode 100644 index 000000000..a1c8c9a2f Binary files /dev/null and b/textures/mcl_core_light_5.png differ diff --git a/textures/mcl_core_light_6.png b/textures/mcl_core_light_6.png new file mode 100644 index 000000000..2ef86b8f5 Binary files /dev/null and b/textures/mcl_core_light_6.png differ diff --git a/textures/mcl_core_light_7.png b/textures/mcl_core_light_7.png new file mode 100644 index 000000000..2adfc2729 Binary files /dev/null and b/textures/mcl_core_light_7.png differ diff --git a/textures/mcl_core_light_8.png b/textures/mcl_core_light_8.png new file mode 100644 index 000000000..bf11f8384 Binary files /dev/null and b/textures/mcl_core_light_8.png differ diff --git a/textures/mcl_core_light_9.png b/textures/mcl_core_light_9.png new file mode 100644 index 000000000..12c4ee769 Binary files /dev/null and b/textures/mcl_core_light_9.png differ diff --git a/textures/mcl_core_log_big_oak.png b/textures/mcl_core_log_big_oak.png new file mode 100644 index 000000000..978ccf561 Binary files /dev/null and b/textures/mcl_core_log_big_oak.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_log_big_oak_top.png b/textures/mcl_core_log_big_oak_top.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_log_big_oak_top.png rename to textures/mcl_core_log_big_oak_top.png diff --git a/textures/mcl_core_log_birch.png b/textures/mcl_core_log_birch.png new file mode 100644 index 000000000..0261fd1f3 Binary files /dev/null and b/textures/mcl_core_log_birch.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_log_birch_top.png b/textures/mcl_core_log_birch_top.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_log_birch_top.png rename to textures/mcl_core_log_birch_top.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_log_spruce.png b/textures/mcl_core_log_spruce.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_log_spruce.png rename to textures/mcl_core_log_spruce.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_log_spruce_top.png b/textures/mcl_core_log_spruce_top.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_log_spruce_top.png rename to textures/mcl_core_log_spruce_top.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_mycelium_particle.png b/textures/mcl_core_mycelium_particle.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_mycelium_particle.png rename to textures/mcl_core_mycelium_particle.png diff --git a/textures/mcl_core_mycelium_side.png b/textures/mcl_core_mycelium_side.png new file mode 100644 index 000000000..bbc0710b3 Binary files /dev/null and b/textures/mcl_core_mycelium_side.png differ diff --git a/textures/mcl_core_mycelium_top.png b/textures/mcl_core_mycelium_top.png new file mode 100644 index 000000000..56193d07b Binary files /dev/null and b/textures/mcl_core_mycelium_top.png differ diff --git a/textures/mcl_core_palette_foliage.png b/textures/mcl_core_palette_foliage.png new file mode 100644 index 000000000..76556c578 Binary files /dev/null and b/textures/mcl_core_palette_foliage.png differ diff --git a/textures/mcl_core_palette_grass.png b/textures/mcl_core_palette_grass.png new file mode 100644 index 000000000..7aee5b33f Binary files /dev/null and b/textures/mcl_core_palette_grass.png differ diff --git a/textures/mcl_core_palette_water.png b/textures/mcl_core_palette_water.png new file mode 100644 index 000000000..f8f767569 Binary files /dev/null and b/textures/mcl_core_palette_water.png differ diff --git a/textures/mcl_core_palette_water_alt.png b/textures/mcl_core_palette_water_alt.png new file mode 100644 index 000000000..91abb00d5 Binary files /dev/null and b/textures/mcl_core_palette_water_alt.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_papyrus.png b/textures/mcl_core_papyrus.png similarity index 78% rename from mods/ITEMS/mcl_core/textures/mcl_core_papyrus.png rename to textures/mcl_core_papyrus.png index c928402f9..e5d90df00 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_papyrus.png and b/textures/mcl_core_papyrus.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_planks_big_oak.png b/textures/mcl_core_planks_big_oak.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_planks_big_oak.png rename to textures/mcl_core_planks_big_oak.png diff --git a/textures/mcl_core_planks_birch.png b/textures/mcl_core_planks_birch.png new file mode 100644 index 000000000..840c2c6c9 Binary files /dev/null and b/textures/mcl_core_planks_birch.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_planks_spruce.png b/textures/mcl_core_planks_spruce.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_planks_spruce.png rename to textures/mcl_core_planks_spruce.png diff --git a/textures/mcl_core_red_sand.png b/textures/mcl_core_red_sand.png new file mode 100644 index 000000000..1824b7d48 Binary files /dev/null and b/textures/mcl_core_red_sand.png differ diff --git a/textures/mcl_core_red_sandstone_bottom.png b/textures/mcl_core_red_sandstone_bottom.png new file mode 100644 index 000000000..93825017f Binary files /dev/null and b/textures/mcl_core_red_sandstone_bottom.png differ diff --git a/textures/mcl_core_red_sandstone_carved.png b/textures/mcl_core_red_sandstone_carved.png new file mode 100644 index 000000000..c296256cb Binary files /dev/null and b/textures/mcl_core_red_sandstone_carved.png differ diff --git a/textures/mcl_core_red_sandstone_normal.png b/textures/mcl_core_red_sandstone_normal.png new file mode 100644 index 000000000..19124c290 Binary files /dev/null and b/textures/mcl_core_red_sandstone_normal.png differ diff --git a/textures/mcl_core_red_sandstone_smooth.png b/textures/mcl_core_red_sandstone_smooth.png new file mode 100644 index 000000000..93825017f Binary files /dev/null and b/textures/mcl_core_red_sandstone_smooth.png differ diff --git a/textures/mcl_core_red_sandstone_top.png b/textures/mcl_core_red_sandstone_top.png new file mode 100644 index 000000000..dbb8548d4 Binary files /dev/null and b/textures/mcl_core_red_sandstone_top.png differ diff --git a/textures/mcl_core_redstone_ore.png b/textures/mcl_core_redstone_ore.png new file mode 100644 index 000000000..5d051bb57 Binary files /dev/null and b/textures/mcl_core_redstone_ore.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_reeds.png b/textures/mcl_core_reeds.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_reeds.png rename to textures/mcl_core_reeds.png diff --git a/textures/mcl_core_sandstone_bottom.png b/textures/mcl_core_sandstone_bottom.png new file mode 100644 index 000000000..9846dba92 Binary files /dev/null and b/textures/mcl_core_sandstone_bottom.png differ diff --git a/textures/mcl_core_sandstone_carved.png b/textures/mcl_core_sandstone_carved.png new file mode 100644 index 000000000..bf535cd20 Binary files /dev/null and b/textures/mcl_core_sandstone_carved.png differ diff --git a/textures/mcl_core_sandstone_normal.png b/textures/mcl_core_sandstone_normal.png new file mode 100644 index 000000000..b4e33346f Binary files /dev/null and b/textures/mcl_core_sandstone_normal.png differ diff --git a/textures/mcl_core_sandstone_smooth.png b/textures/mcl_core_sandstone_smooth.png new file mode 100644 index 000000000..9846dba92 Binary files /dev/null and b/textures/mcl_core_sandstone_smooth.png differ diff --git a/textures/mcl_core_sandstone_top.png b/textures/mcl_core_sandstone_top.png new file mode 100644 index 000000000..388fe08c7 Binary files /dev/null and b/textures/mcl_core_sandstone_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_sapling_big_oak.png b/textures/mcl_core_sapling_big_oak.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_sapling_big_oak.png rename to textures/mcl_core_sapling_big_oak.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_sapling_birch.png b/textures/mcl_core_sapling_birch.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_sapling_birch.png rename to textures/mcl_core_sapling_birch.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_sapling_spruce.png b/textures/mcl_core_sapling_spruce.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_sapling_spruce.png rename to textures/mcl_core_sapling_spruce.png diff --git a/textures/mcl_core_slime.png b/textures/mcl_core_slime.png new file mode 100644 index 000000000..b43f9c20a Binary files /dev/null and b/textures/mcl_core_slime.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stonebrick_carved.png b/textures/mcl_core_stonebrick_carved.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_stonebrick_carved.png rename to textures/mcl_core_stonebrick_carved.png diff --git a/textures/mcl_core_stonebrick_cracked.png b/textures/mcl_core_stonebrick_cracked.png new file mode 100644 index 000000000..b340de08f Binary files /dev/null and b/textures/mcl_core_stonebrick_cracked.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stonebrick_mossy.png b/textures/mcl_core_stonebrick_mossy.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_stonebrick_mossy.png rename to textures/mcl_core_stonebrick_mossy.png diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_side.png b/textures/mcl_core_stripped_acacia_side.png similarity index 67% rename from mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_side.png rename to textures/mcl_core_stripped_acacia_side.png index 2b57a0863..e636f8434 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_side.png and b/textures/mcl_core_stripped_acacia_side.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_top.png b/textures/mcl_core_stripped_acacia_top.png similarity index 68% rename from mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_top.png rename to textures/mcl_core_stripped_acacia_top.png index bd10499c8..95acd3ae0 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_acacia_top.png and b/textures/mcl_core_stripped_acacia_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_birch_side.png b/textures/mcl_core_stripped_birch_side.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_stripped_birch_side.png rename to textures/mcl_core_stripped_birch_side.png diff --git a/textures/mcl_core_stripped_birch_top.png b/textures/mcl_core_stripped_birch_top.png new file mode 100644 index 000000000..f1ccd97cd Binary files /dev/null and b/textures/mcl_core_stripped_birch_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_dark_oak_side.png b/textures/mcl_core_stripped_dark_oak_side.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_stripped_dark_oak_side.png rename to textures/mcl_core_stripped_dark_oak_side.png diff --git a/textures/mcl_core_stripped_dark_oak_top.png b/textures/mcl_core_stripped_dark_oak_top.png new file mode 100644 index 000000000..51d9744af Binary files /dev/null and b/textures/mcl_core_stripped_dark_oak_top.png differ diff --git a/textures/mcl_core_stripped_jungle_side.png b/textures/mcl_core_stripped_jungle_side.png new file mode 100644 index 000000000..f46c6c256 Binary files /dev/null and b/textures/mcl_core_stripped_jungle_side.png differ diff --git a/textures/mcl_core_stripped_jungle_top.png b/textures/mcl_core_stripped_jungle_top.png new file mode 100644 index 000000000..4f6ad35e8 Binary files /dev/null and b/textures/mcl_core_stripped_jungle_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_oak_side.png b/textures/mcl_core_stripped_oak_side.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_stripped_oak_side.png rename to textures/mcl_core_stripped_oak_side.png diff --git a/textures/mcl_core_stripped_oak_top.png b/textures/mcl_core_stripped_oak_top.png new file mode 100644 index 000000000..e4843d715 Binary files /dev/null and b/textures/mcl_core_stripped_oak_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_side.png b/textures/mcl_core_stripped_spruce_side.png similarity index 69% rename from mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_side.png rename to textures/mcl_core_stripped_spruce_side.png index 55cb4cec3..612e32339 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_core_stripped_spruce_side.png and b/textures/mcl_core_stripped_spruce_side.png differ diff --git a/textures/mcl_core_stripped_spruce_top.png b/textures/mcl_core_stripped_spruce_top.png new file mode 100644 index 000000000..99a71f88c Binary files /dev/null and b/textures/mcl_core_stripped_spruce_top.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_sugar.png b/textures/mcl_core_sugar.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_sugar.png rename to textures/mcl_core_sugar.png diff --git a/textures/mcl_core_vine.png b/textures/mcl_core_vine.png new file mode 100644 index 000000000..47cb195d0 Binary files /dev/null and b/textures/mcl_core_vine.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_core_void.png b/textures/mcl_core_void.png similarity index 100% rename from mods/ITEMS/mcl_core/textures/mcl_core_void.png rename to textures/mcl_core_void.png diff --git a/textures/mcl_core_web.png b/textures/mcl_core_web.png new file mode 100644 index 000000000..fc5dd369e Binary files /dev/null and b/textures/mcl_core_web.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_cracked_deepslate_bricks.png b/textures/mcl_cracked_deepslate_bricks.png similarity index 93% rename from mods/ITEMS/mcl_deepslate/textures/mcl_cracked_deepslate_bricks.png rename to textures/mcl_cracked_deepslate_bricks.png index a2cf287eb..d67eefe25 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_cracked_deepslate_bricks.png and b/textures/mcl_cracked_deepslate_bricks.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_cracked_deepslate_tiles.png b/textures/mcl_cracked_deepslate_tiles.png similarity index 77% rename from mods/ITEMS/mcl_deepslate/textures/mcl_cracked_deepslate_tiles.png rename to textures/mcl_cracked_deepslate_tiles.png index c62f36d92..a8763eff0 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_cracked_deepslate_tiles.png and b/textures/mcl_cracked_deepslate_tiles.png differ diff --git a/mods/HELP/mcl_craftguide/textures/mcl_craftguide_fuel.png b/textures/mcl_craftguide_fuel.png similarity index 100% rename from mods/HELP/mcl_craftguide/textures/mcl_craftguide_fuel.png rename to textures/mcl_craftguide_fuel.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_door.png b/textures/mcl_crimson_crimson_door.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_door.png rename to textures/mcl_crimson_crimson_door.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_door_bottom.png b/textures/mcl_crimson_crimson_door_bottom.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_door_bottom.png rename to textures/mcl_crimson_crimson_door_bottom.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_door_top.png b/textures/mcl_crimson_crimson_door_top.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_door_top.png rename to textures/mcl_crimson_crimson_door_top.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_fence.png b/textures/mcl_crimson_crimson_fence.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_fence.png rename to textures/mcl_crimson_crimson_fence.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_fence_side.png b/textures/mcl_crimson_crimson_fence_side.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_fence_side.png rename to textures/mcl_crimson_crimson_fence_side.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_fence_top.png b/textures/mcl_crimson_crimson_fence_top.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_fence_top.png rename to textures/mcl_crimson_crimson_fence_top.png diff --git a/mods/ITEMS/mcl_crimson/textures/farming_crimson_fungus.png b/textures/mcl_crimson_crimson_fungus.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/farming_crimson_fungus.png rename to textures/mcl_crimson_crimson_fungus.png diff --git a/mods/ITEMS/mcl_crimson/textures/crimson_hyphae.png b/textures/mcl_crimson_crimson_hyphae.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/crimson_hyphae.png rename to textures/mcl_crimson_crimson_hyphae.png diff --git a/textures/mcl_crimson_crimson_hyphae_side.png b/textures/mcl_crimson_crimson_hyphae_side.png new file mode 100644 index 000000000..8a6b66f9d Binary files /dev/null and b/textures/mcl_crimson_crimson_hyphae_side.png differ diff --git a/mods/ITEMS/mcl_crimson/textures/crimson_hyphae_wood.png b/textures/mcl_crimson_crimson_hyphae_wood.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/crimson_hyphae_wood.png rename to textures/mcl_crimson_crimson_hyphae_wood.png diff --git a/mods/ITEMS/mcl_crimson/textures/crimson_nylium.png b/textures/mcl_crimson_crimson_nylium.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/crimson_nylium.png rename to textures/mcl_crimson_crimson_nylium.png diff --git a/mods/ITEMS/mcl_crimson/textures/crimson_nylium_side.png b/textures/mcl_crimson_crimson_nylium_side.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/crimson_nylium_side.png rename to textures/mcl_crimson_crimson_nylium_side.png diff --git a/mods/ITEMS/mcl_crimson/textures/crimson_roots.png b/textures/mcl_crimson_crimson_roots.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/crimson_roots.png rename to textures/mcl_crimson_crimson_roots.png diff --git a/mods/ITEMS/mcl_crimson/textures/crimson_stem_stripped_side.png b/textures/mcl_crimson_crimson_stem_stripped_side.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/crimson_stem_stripped_side.png rename to textures/mcl_crimson_crimson_stem_stripped_side.png diff --git a/mods/ITEMS/mcl_crimson/textures/crimson_stem_stripped_top.png b/textures/mcl_crimson_crimson_stem_stripped_top.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/crimson_stem_stripped_top.png rename to textures/mcl_crimson_crimson_stem_stripped_top.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_trapdoor.png b/textures/mcl_crimson_crimson_trapdoor.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_crimson_trapdoor.png rename to textures/mcl_crimson_crimson_trapdoor.png diff --git a/mods/ITEMS/mcl_crimson/textures/nether_sprouts.png b/textures/mcl_crimson_nether_sprouts.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/nether_sprouts.png rename to textures/mcl_crimson_nether_sprouts.png diff --git a/mods/ITEMS/mcl_crimson/textures/shroomlight.png b/textures/mcl_crimson_shroomlight.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/shroomlight.png rename to textures/mcl_crimson_shroomlight.png diff --git a/mods/ITEMS/mcl_crimson/textures/stripped_crimson_stem.png b/textures/mcl_crimson_stripped_crimson_stem.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/stripped_crimson_stem.png rename to textures/mcl_crimson_stripped_crimson_stem.png diff --git a/mods/ITEMS/mcl_crimson/textures/stripped_crimson_stem_side.png b/textures/mcl_crimson_stripped_crimson_stem_side.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/stripped_crimson_stem_side.png rename to textures/mcl_crimson_stripped_crimson_stem_side.png diff --git a/mods/ITEMS/mcl_crimson/textures/stripped_crimson_stem_top.png b/textures/mcl_crimson_stripped_crimson_stem_top.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/stripped_crimson_stem_top.png rename to textures/mcl_crimson_stripped_crimson_stem_top.png diff --git a/mods/ITEMS/mcl_crimson/textures/stripped_warped_stem.png b/textures/mcl_crimson_stripped_warped_stem.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/stripped_warped_stem.png rename to textures/mcl_crimson_stripped_warped_stem.png diff --git a/mods/ITEMS/mcl_crimson/textures/stripped_warped_stem_side.png b/textures/mcl_crimson_stripped_warped_stem_side.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/stripped_warped_stem_side.png rename to textures/mcl_crimson_stripped_warped_stem_side.png diff --git a/mods/ITEMS/mcl_crimson/textures/stripped_warped_stem_top.png b/textures/mcl_crimson_stripped_warped_stem_top.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/stripped_warped_stem_top.png rename to textures/mcl_crimson_stripped_warped_stem_top.png diff --git a/mods/ITEMS/mcl_crimson/textures/twisting_vines.png b/textures/mcl_crimson_twisting_vines.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/twisting_vines.png rename to textures/mcl_crimson_twisting_vines.png diff --git a/mods/ITEMS/mcl_crimson/textures/twisting_vines_plant.png b/textures/mcl_crimson_twisting_vines_plant.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/twisting_vines_plant.png rename to textures/mcl_crimson_twisting_vines_plant.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door.png b/textures/mcl_crimson_warped_door.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door.png rename to textures/mcl_crimson_warped_door.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door_bottom.png b/textures/mcl_crimson_warped_door_bottom.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door_bottom.png rename to textures/mcl_crimson_warped_door_bottom.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door_top.png b/textures/mcl_crimson_warped_door_top.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_door_top.png rename to textures/mcl_crimson_warped_door_top.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_fence.png b/textures/mcl_crimson_warped_fence.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_fence.png rename to textures/mcl_crimson_warped_fence.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_fence_side.png b/textures/mcl_crimson_warped_fence_side.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_fence_side.png rename to textures/mcl_crimson_warped_fence_side.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_fence_top.png b/textures/mcl_crimson_warped_fence_top.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_fence_top.png rename to textures/mcl_crimson_warped_fence_top.png diff --git a/textures/mcl_crimson_warped_fungus.png b/textures/mcl_crimson_warped_fungus.png new file mode 100644 index 000000000..8a75dee07 Binary files /dev/null and b/textures/mcl_crimson_warped_fungus.png differ diff --git a/mods/ITEMS/mcl_crimson/textures/warped_hyphae.png b/textures/mcl_crimson_warped_hyphae.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/warped_hyphae.png rename to textures/mcl_crimson_warped_hyphae.png diff --git a/textures/mcl_crimson_warped_hyphae_side.png b/textures/mcl_crimson_warped_hyphae_side.png new file mode 100644 index 000000000..c0dc21ed6 Binary files /dev/null and b/textures/mcl_crimson_warped_hyphae_side.png differ diff --git a/mods/ITEMS/mcl_crimson/textures/warped_hyphae_wood.png b/textures/mcl_crimson_warped_hyphae_wood.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/warped_hyphae_wood.png rename to textures/mcl_crimson_warped_hyphae_wood.png diff --git a/mods/ITEMS/mcl_crimson/textures/warped_hyphae_wood_2nd.png b/textures/mcl_crimson_warped_hyphae_wood_2nd.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/warped_hyphae_wood_2nd.png rename to textures/mcl_crimson_warped_hyphae_wood_2nd.png diff --git a/mods/ITEMS/mcl_crimson/textures/warped_nylium.png b/textures/mcl_crimson_warped_nylium.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/warped_nylium.png rename to textures/mcl_crimson_warped_nylium.png diff --git a/mods/ITEMS/mcl_crimson/textures/warped_nylium_side.png b/textures/mcl_crimson_warped_nylium_side.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/warped_nylium_side.png rename to textures/mcl_crimson_warped_nylium_side.png diff --git a/mods/ITEMS/mcl_crimson/textures/warped_roots.png b/textures/mcl_crimson_warped_roots.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/warped_roots.png rename to textures/mcl_crimson_warped_roots.png diff --git a/mods/ITEMS/mcl_crimson/textures/warped_stem_stripped_side.png b/textures/mcl_crimson_warped_stem_stripped_side.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/warped_stem_stripped_side.png rename to textures/mcl_crimson_warped_stem_stripped_side.png diff --git a/mods/ITEMS/mcl_crimson/textures/warped_stem_stripped_top.png b/textures/mcl_crimson_warped_stem_stripped_top.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/warped_stem_stripped_top.png rename to textures/mcl_crimson_warped_stem_stripped_top.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_trapdoor.png b/textures/mcl_crimson_warped_trapdoor.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_warped_trapdoor.png rename to textures/mcl_crimson_warped_trapdoor.png diff --git a/mods/ITEMS/mcl_crimson/textures/warped_wart_block.png b/textures/mcl_crimson_warped_wart_block.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/warped_wart_block.png rename to textures/mcl_crimson_warped_wart_block.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_crimson_weeping_vines.png b/textures/mcl_crimson_weeping_vines.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_crimson_weeping_vines.png rename to textures/mcl_crimson_weeping_vines.png diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate.png b/textures/mcl_deepslate.png similarity index 90% rename from mods/ITEMS/mcl_deepslate/textures/mcl_deepslate.png rename to textures/mcl_deepslate.png index 68cd507d6..bfc142907 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate.png and b/textures/mcl_deepslate.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_bricks.png b/textures/mcl_deepslate_bricks.png similarity index 93% rename from mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_bricks.png rename to textures/mcl_deepslate_bricks.png index b6ef3b4bd..d85e792ab 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_bricks.png and b/textures/mcl_deepslate_bricks.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_coal_ore.png b/textures/mcl_deepslate_coal_ore.png similarity index 88% rename from mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_coal_ore.png rename to textures/mcl_deepslate_coal_ore.png index ae42a3186..c7254836a 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_coal_ore.png and b/textures/mcl_deepslate_coal_ore.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_copper_ore.png b/textures/mcl_deepslate_copper_ore.png similarity index 89% rename from mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_copper_ore.png rename to textures/mcl_deepslate_copper_ore.png index 140adbc0a..ceffa9ed2 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_copper_ore.png and b/textures/mcl_deepslate_copper_ore.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_diamond_ore.png b/textures/mcl_deepslate_diamond_ore.png similarity index 90% rename from mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_diamond_ore.png rename to textures/mcl_deepslate_diamond_ore.png index 67afa14fe..6ce9389f9 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_diamond_ore.png and b/textures/mcl_deepslate_diamond_ore.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_emerald_ore.png b/textures/mcl_deepslate_emerald_ore.png similarity index 89% rename from mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_emerald_ore.png rename to textures/mcl_deepslate_emerald_ore.png index 3041551c9..304580c72 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_emerald_ore.png and b/textures/mcl_deepslate_emerald_ore.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_gold_ore.png b/textures/mcl_deepslate_gold_ore.png similarity index 90% rename from mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_gold_ore.png rename to textures/mcl_deepslate_gold_ore.png index 1cf0c8153..274b72677 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_gold_ore.png and b/textures/mcl_deepslate_gold_ore.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_iron_ore.png b/textures/mcl_deepslate_iron_ore.png similarity index 90% rename from mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_iron_ore.png rename to textures/mcl_deepslate_iron_ore.png index 4e94d6a80..70399462f 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_iron_ore.png and b/textures/mcl_deepslate_iron_ore.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_lapis_ore.png b/textures/mcl_deepslate_lapis_ore.png similarity index 89% rename from mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_lapis_ore.png rename to textures/mcl_deepslate_lapis_ore.png index 31781c1c6..abaad6a8e 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_lapis_ore.png and b/textures/mcl_deepslate_lapis_ore.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_redstone_ore.png b/textures/mcl_deepslate_redstone_ore.png similarity index 90% rename from mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_redstone_ore.png rename to textures/mcl_deepslate_redstone_ore.png index 3b979ed51..cc4a2caba 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_redstone_ore.png and b/textures/mcl_deepslate_redstone_ore.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_tiles.png b/textures/mcl_deepslate_tiles.png similarity index 94% rename from mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_tiles.png rename to textures/mcl_deepslate_tiles.png index 43fe0f319..60faddeea 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_tiles.png and b/textures/mcl_deepslate_tiles.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_top.png b/textures/mcl_deepslate_top.png similarity index 92% rename from mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_top.png rename to textures/mcl_deepslate_top.png index 9e66d7b9a..e2d99338f 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_top.png and b/textures/mcl_deepslate_top.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_tuff.png b/textures/mcl_deepslate_tuff.png similarity index 90% rename from mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_tuff.png rename to textures/mcl_deepslate_tuff.png index f1c8fc2a1..db24d1555 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_deepslate_tuff.png and b/textures/mcl_deepslate_tuff.png differ diff --git a/mods/ITEMS/mcl_core/textures/mcl_dirt_grass_shadow.png b/textures/mcl_dirt_grass_shadow.png similarity index 72% rename from mods/ITEMS/mcl_core/textures/mcl_dirt_grass_shadow.png rename to textures/mcl_dirt_grass_shadow.png index 5a1fa6197..44a9afa23 100644 Binary files a/mods/ITEMS/mcl_core/textures/mcl_dirt_grass_shadow.png and b/textures/mcl_dirt_grass_shadow.png differ diff --git a/mods/ITEMS/REDSTONE/mcl_dispensers/textures/mcl_dispensers_dispenser_front_horizontal.png b/textures/mcl_dispensers_dispenser_front_horizontal.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_dispensers/textures/mcl_dispensers_dispenser_front_horizontal.png rename to textures/mcl_dispensers_dispenser_front_horizontal.png diff --git a/mods/ITEMS/REDSTONE/mcl_dispensers/textures/mcl_dispensers_dispenser_front_vertical.png b/textures/mcl_dispensers_dispenser_front_vertical.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_dispensers/textures/mcl_dispensers_dispenser_front_vertical.png rename to textures/mcl_dispensers_dispenser_front_vertical.png diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_acacia.png b/textures/mcl_doors_door_acacia.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_acacia.png rename to textures/mcl_doors_door_acacia.png diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_acacia_lower.png b/textures/mcl_doors_door_acacia_lower.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_acacia_lower.png rename to textures/mcl_doors_door_acacia_lower.png diff --git a/textures/mcl_doors_door_acacia_side_lower.png b/textures/mcl_doors_door_acacia_side_lower.png new file mode 100644 index 000000000..4dbbf38c4 Binary files /dev/null and b/textures/mcl_doors_door_acacia_side_lower.png differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_acacia_side_upper.png b/textures/mcl_doors_door_acacia_side_upper.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_acacia_side_upper.png rename to textures/mcl_doors_door_acacia_side_upper.png diff --git a/textures/mcl_doors_door_acacia_upper.png b/textures/mcl_doors_door_acacia_upper.png new file mode 100644 index 000000000..3fa7b30d1 Binary files /dev/null and b/textures/mcl_doors_door_acacia_upper.png differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_birch.png b/textures/mcl_doors_door_birch.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_birch.png rename to textures/mcl_doors_door_birch.png diff --git a/textures/mcl_doors_door_birch_lower.png b/textures/mcl_doors_door_birch_lower.png new file mode 100644 index 000000000..cb09fef6b Binary files /dev/null and b/textures/mcl_doors_door_birch_lower.png differ diff --git a/textures/mcl_doors_door_birch_side_lower.png b/textures/mcl_doors_door_birch_side_lower.png new file mode 100644 index 000000000..cae115020 Binary files /dev/null and b/textures/mcl_doors_door_birch_side_lower.png differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_birch_side_upper.png b/textures/mcl_doors_door_birch_side_upper.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_birch_side_upper.png rename to textures/mcl_doors_door_birch_side_upper.png diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_birch_upper.png b/textures/mcl_doors_door_birch_upper.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_birch_upper.png rename to textures/mcl_doors_door_birch_upper.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_doors_door_crimson_side_lower.png b/textures/mcl_doors_door_crimson_side_lower.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_doors_door_crimson_side_lower.png rename to textures/mcl_doors_door_crimson_side_lower.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_doors_door_crimson_side_upper.png b/textures/mcl_doors_door_crimson_side_upper.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_doors_door_crimson_side_upper.png rename to textures/mcl_doors_door_crimson_side_upper.png diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak.png b/textures/mcl_doors_door_dark_oak.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_dark_oak.png rename to textures/mcl_doors_door_dark_oak.png diff --git a/textures/mcl_doors_door_dark_oak_lower.png b/textures/mcl_doors_door_dark_oak_lower.png new file mode 100644 index 000000000..7c04fd880 Binary files /dev/null and b/textures/mcl_doors_door_dark_oak_lower.png differ diff --git a/textures/mcl_doors_door_dark_oak_side_lower.png b/textures/mcl_doors_door_dark_oak_side_lower.png new file mode 100644 index 000000000..3cf5b4fee Binary files /dev/null and b/textures/mcl_doors_door_dark_oak_side_lower.png differ diff --git a/textures/mcl_doors_door_dark_oak_side_upper.png b/textures/mcl_doors_door_dark_oak_side_upper.png new file mode 100644 index 000000000..528358fe3 Binary files /dev/null and b/textures/mcl_doors_door_dark_oak_side_upper.png differ diff --git a/textures/mcl_doors_door_dark_oak_upper.png b/textures/mcl_doors_door_dark_oak_upper.png new file mode 100644 index 000000000..d3ccecf4f Binary files /dev/null and b/textures/mcl_doors_door_dark_oak_upper.png differ diff --git a/textures/mcl_doors_door_iron_lower.png b/textures/mcl_doors_door_iron_lower.png new file mode 100644 index 000000000..6d0e36862 Binary files /dev/null and b/textures/mcl_doors_door_iron_lower.png differ diff --git a/textures/mcl_doors_door_iron_side_lower.png b/textures/mcl_doors_door_iron_side_lower.png new file mode 100644 index 000000000..6d0e36862 Binary files /dev/null and b/textures/mcl_doors_door_iron_side_lower.png differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_iron_side_upper.png b/textures/mcl_doors_door_iron_side_upper.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_iron_side_upper.png rename to textures/mcl_doors_door_iron_side_upper.png diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_iron_upper.png b/textures/mcl_doors_door_iron_upper.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_iron_upper.png rename to textures/mcl_doors_door_iron_upper.png diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_jungle.png b/textures/mcl_doors_door_jungle.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_jungle.png rename to textures/mcl_doors_door_jungle.png diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_jungle_lower.png b/textures/mcl_doors_door_jungle_lower.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_jungle_lower.png rename to textures/mcl_doors_door_jungle_lower.png diff --git a/textures/mcl_doors_door_jungle_side_lower.png b/textures/mcl_doors_door_jungle_side_lower.png new file mode 100644 index 000000000..5ba2aee57 Binary files /dev/null and b/textures/mcl_doors_door_jungle_side_lower.png differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_jungle_side_upper.png b/textures/mcl_doors_door_jungle_side_upper.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_jungle_side_upper.png rename to textures/mcl_doors_door_jungle_side_upper.png diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_jungle_upper.png b/textures/mcl_doors_door_jungle_upper.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_jungle_upper.png rename to textures/mcl_doors_door_jungle_upper.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_doors_door_mangrove_side_lower.png b/textures/mcl_doors_door_mangrove_side_lower.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_doors_door_mangrove_side_lower.png rename to textures/mcl_doors_door_mangrove_side_lower.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_doors_door_mangrove_side_upper.png b/textures/mcl_doors_door_mangrove_side_upper.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_doors_door_mangrove_side_upper.png rename to textures/mcl_doors_door_mangrove_side_upper.png diff --git a/textures/mcl_doors_door_spruce.png b/textures/mcl_doors_door_spruce.png new file mode 100644 index 000000000..3806a845f Binary files /dev/null and b/textures/mcl_doors_door_spruce.png differ diff --git a/textures/mcl_doors_door_spruce_lower.png b/textures/mcl_doors_door_spruce_lower.png new file mode 100644 index 000000000..dc17e2125 Binary files /dev/null and b/textures/mcl_doors_door_spruce_lower.png differ diff --git a/textures/mcl_doors_door_spruce_side_lower.png b/textures/mcl_doors_door_spruce_side_lower.png new file mode 100644 index 000000000..df63467a5 Binary files /dev/null and b/textures/mcl_doors_door_spruce_side_lower.png differ diff --git a/textures/mcl_doors_door_spruce_side_upper.png b/textures/mcl_doors_door_spruce_side_upper.png new file mode 100644 index 000000000..45b4f664d Binary files /dev/null and b/textures/mcl_doors_door_spruce_side_upper.png differ diff --git a/textures/mcl_doors_door_spruce_upper.png b/textures/mcl_doors_door_spruce_upper.png new file mode 100644 index 000000000..ee6c4a763 Binary files /dev/null and b/textures/mcl_doors_door_spruce_upper.png differ diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_doors_door_warped_side_lower.png b/textures/mcl_doors_door_warped_side_lower.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_doors_door_warped_side_lower.png rename to textures/mcl_doors_door_warped_side_lower.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_doors_door_warped_side_lower_alt.png b/textures/mcl_doors_door_warped_side_lower_alt.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_doors_door_warped_side_lower_alt.png rename to textures/mcl_doors_door_warped_side_lower_alt.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_doors_door_warped_side_upper.png b/textures/mcl_doors_door_warped_side_upper.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_doors_door_warped_side_upper.png rename to textures/mcl_doors_door_warped_side_upper.png diff --git a/mods/ITEMS/mcl_crimson/textures/mcl_doors_door_warped_side_upper_alt.png b/textures/mcl_doors_door_warped_side_upper_alt.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/mcl_doors_door_warped_side_upper_alt.png rename to textures/mcl_doors_door_warped_side_upper_alt.png diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_wood_lower.png b/textures/mcl_doors_door_wood_lower.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_wood_lower.png rename to textures/mcl_doors_door_wood_lower.png diff --git a/textures/mcl_doors_door_wood_side_lower.png b/textures/mcl_doors_door_wood_side_lower.png new file mode 100644 index 000000000..95ef79d81 Binary files /dev/null and b/textures/mcl_doors_door_wood_side_lower.png differ diff --git a/textures/mcl_doors_door_wood_side_upper.png b/textures/mcl_doors_door_wood_side_upper.png new file mode 100644 index 000000000..bc74c5de3 Binary files /dev/null and b/textures/mcl_doors_door_wood_side_upper.png differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_door_wood_upper.png b/textures/mcl_doors_door_wood_upper.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_door_wood_upper.png rename to textures/mcl_doors_door_wood_upper.png diff --git a/textures/mcl_doors_trapdoor_acacia.png b/textures/mcl_doors_trapdoor_acacia.png new file mode 100644 index 000000000..bf1534c06 Binary files /dev/null and b/textures/mcl_doors_trapdoor_acacia.png differ diff --git a/textures/mcl_doors_trapdoor_acacia_side.png b/textures/mcl_doors_trapdoor_acacia_side.png new file mode 100644 index 000000000..1cd4f9345 Binary files /dev/null and b/textures/mcl_doors_trapdoor_acacia_side.png differ diff --git a/textures/mcl_doors_trapdoor_birch.png b/textures/mcl_doors_trapdoor_birch.png new file mode 100644 index 000000000..f832fe9d0 Binary files /dev/null and b/textures/mcl_doors_trapdoor_birch.png differ diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_birch_side.png b/textures/mcl_doors_trapdoor_birch_side.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_birch_side.png rename to textures/mcl_doors_trapdoor_birch_side.png diff --git a/mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_dark_oak.png b/textures/mcl_doors_trapdoor_dark_oak.png similarity index 100% rename from mods/ITEMS/mcl_doors/textures/mcl_doors_trapdoor_dark_oak.png rename to textures/mcl_doors_trapdoor_dark_oak.png diff --git a/textures/mcl_doors_trapdoor_dark_oak_side.png b/textures/mcl_doors_trapdoor_dark_oak_side.png new file mode 100644 index 000000000..6d5e9d6c0 Binary files /dev/null and b/textures/mcl_doors_trapdoor_dark_oak_side.png differ diff --git a/textures/mcl_doors_trapdoor_jungle.png b/textures/mcl_doors_trapdoor_jungle.png new file mode 100644 index 000000000..9ed9ba81c Binary files /dev/null and b/textures/mcl_doors_trapdoor_jungle.png differ diff --git a/textures/mcl_doors_trapdoor_jungle_side.png b/textures/mcl_doors_trapdoor_jungle_side.png new file mode 100644 index 000000000..9f42ba4ff Binary files /dev/null and b/textures/mcl_doors_trapdoor_jungle_side.png differ diff --git a/textures/mcl_doors_trapdoor_spruce.png b/textures/mcl_doors_trapdoor_spruce.png new file mode 100644 index 000000000..c934d8cf3 Binary files /dev/null and b/textures/mcl_doors_trapdoor_spruce.png differ diff --git a/textures/mcl_doors_trapdoor_spruce_side.png b/textures/mcl_doors_trapdoor_spruce_side.png new file mode 100644 index 000000000..882ef6b26 Binary files /dev/null and b/textures/mcl_doors_trapdoor_spruce_side.png differ diff --git a/textures/mcl_droppers_dropper_front_horizontal.png b/textures/mcl_droppers_dropper_front_horizontal.png new file mode 100644 index 000000000..74dc007e5 Binary files /dev/null and b/textures/mcl_droppers_dropper_front_horizontal.png differ diff --git a/textures/mcl_droppers_dropper_front_vertical.png b/textures/mcl_droppers_dropper_front_vertical.png new file mode 100644 index 000000000..a101434f6 Binary files /dev/null and b/textures/mcl_droppers_dropper_front_vertical.png differ diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_black.png b/textures/mcl_dye_black.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_black.png rename to textures/mcl_dye_black.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_blue.png b/textures/mcl_dye_blue.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_blue.png rename to textures/mcl_dye_blue.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_brown.png b/textures/mcl_dye_brown.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_brown.png rename to textures/mcl_dye_brown.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_cyan.png b/textures/mcl_dye_cyan.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_cyan.png rename to textures/mcl_dye_cyan.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_dark_green.png b/textures/mcl_dye_dark_green.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_dark_green.png rename to textures/mcl_dye_dark_green.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_dark_grey.png b/textures/mcl_dye_dark_grey.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_dark_grey.png rename to textures/mcl_dye_dark_grey.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_green.png b/textures/mcl_dye_green.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_green.png rename to textures/mcl_dye_green.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_grey.png b/textures/mcl_dye_grey.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_grey.png rename to textures/mcl_dye_grey.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_lightblue.png b/textures/mcl_dye_lightblue.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_lightblue.png rename to textures/mcl_dye_lightblue.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_lime.png b/textures/mcl_dye_lime.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_lime.png rename to textures/mcl_dye_lime.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_magenta.png b/textures/mcl_dye_magenta.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_magenta.png rename to textures/mcl_dye_magenta.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_orange.png b/textures/mcl_dye_orange.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_orange.png rename to textures/mcl_dye_orange.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_pink.png b/textures/mcl_dye_pink.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_pink.png rename to textures/mcl_dye_pink.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_red.png b/textures/mcl_dye_red.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_red.png rename to textures/mcl_dye_red.png diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_violet.png b/textures/mcl_dye_violet.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_violet.png rename to textures/mcl_dye_violet.png diff --git a/textures/mcl_dye_white.png b/textures/mcl_dye_white.png new file mode 100644 index 000000000..96c2c8646 Binary files /dev/null and b/textures/mcl_dye_white.png differ diff --git a/mods/ITEMS/mcl_dye/textures/mcl_dye_yellow.png b/textures/mcl_dye_yellow.png similarity index 100% rename from mods/ITEMS/mcl_dye/textures/mcl_dye_yellow.png rename to textures/mcl_dye_yellow.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_book_closed.png b/textures/mcl_enchanting_book_closed.png similarity index 88% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_book_closed.png rename to textures/mcl_enchanting_book_closed.png index 7defcbc65..aac64677c 100644 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_book_closed.png and b/textures/mcl_enchanting_book_closed.png differ diff --git a/textures/mcl_enchanting_book_enchanted.png b/textures/mcl_enchanting_book_enchanted.png new file mode 100644 index 000000000..3be680e05 Binary files /dev/null and b/textures/mcl_enchanting_book_enchanted.png differ diff --git a/textures/mcl_enchanting_book_entity.png b/textures/mcl_enchanting_book_entity.png new file mode 100644 index 000000000..64e1d7843 Binary files /dev/null and b/textures/mcl_enchanting_book_entity.png differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_book_open.png b/textures/mcl_enchanting_book_open.png similarity index 92% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_book_open.png rename to textures/mcl_enchanting_book_open.png index 7059db5fc..29137e0f1 100644 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_book_open.png and b/textures/mcl_enchanting_book_open.png differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_button.png b/textures/mcl_enchanting_button.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_button.png rename to textures/mcl_enchanting_button.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_button_background.png b/textures/mcl_enchanting_button_background.png similarity index 72% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_button_background.png rename to textures/mcl_enchanting_button_background.png index a9ddf6cb2..79315ad95 100644 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_button_background.png and b/textures/mcl_enchanting_button_background.png differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_button_hovered.png b/textures/mcl_enchanting_button_hovered.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_button_hovered.png rename to textures/mcl_enchanting_button_hovered.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_button_off.png b/textures/mcl_enchanting_button_off.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_button_off.png rename to textures/mcl_enchanting_button_off.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_1.png b/textures/mcl_enchanting_glyph_1.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_1.png rename to textures/mcl_enchanting_glyph_1.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_10.png b/textures/mcl_enchanting_glyph_10.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_10.png rename to textures/mcl_enchanting_glyph_10.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_11.png b/textures/mcl_enchanting_glyph_11.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_11.png rename to textures/mcl_enchanting_glyph_11.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_12.png b/textures/mcl_enchanting_glyph_12.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_12.png rename to textures/mcl_enchanting_glyph_12.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_13.png b/textures/mcl_enchanting_glyph_13.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_13.png rename to textures/mcl_enchanting_glyph_13.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_14.png b/textures/mcl_enchanting_glyph_14.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_14.png rename to textures/mcl_enchanting_glyph_14.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_15.png b/textures/mcl_enchanting_glyph_15.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_15.png rename to textures/mcl_enchanting_glyph_15.png diff --git a/textures/mcl_enchanting_glyph_16.png b/textures/mcl_enchanting_glyph_16.png new file mode 100644 index 000000000..52e22b05f Binary files /dev/null and b/textures/mcl_enchanting_glyph_16.png differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_17.png b/textures/mcl_enchanting_glyph_17.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_17.png rename to textures/mcl_enchanting_glyph_17.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_18.png b/textures/mcl_enchanting_glyph_18.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_18.png rename to textures/mcl_enchanting_glyph_18.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_2.png b/textures/mcl_enchanting_glyph_2.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_2.png rename to textures/mcl_enchanting_glyph_2.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_3.png b/textures/mcl_enchanting_glyph_3.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_3.png rename to textures/mcl_enchanting_glyph_3.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_4.png b/textures/mcl_enchanting_glyph_4.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_4.png rename to textures/mcl_enchanting_glyph_4.png diff --git a/textures/mcl_enchanting_glyph_5.png b/textures/mcl_enchanting_glyph_5.png new file mode 100644 index 000000000..bf66611e3 Binary files /dev/null and b/textures/mcl_enchanting_glyph_5.png differ diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_6.png b/textures/mcl_enchanting_glyph_6.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_6.png rename to textures/mcl_enchanting_glyph_6.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_7.png b/textures/mcl_enchanting_glyph_7.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_7.png rename to textures/mcl_enchanting_glyph_7.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_8.png b/textures/mcl_enchanting_glyph_8.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_8.png rename to textures/mcl_enchanting_glyph_8.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_9.png b/textures/mcl_enchanting_glyph_9.png similarity index 100% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_glyph_9.png rename to textures/mcl_enchanting_glyph_9.png diff --git a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_lapis_background.png b/textures/mcl_enchanting_lapis_background.png similarity index 69% rename from mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_lapis_background.png rename to textures/mcl_enchanting_lapis_background.png index 1a224f35f..77616e60d 100644 Binary files a/mods/ITEMS/mcl_enchanting/textures/mcl_enchanting_lapis_background.png and b/textures/mcl_enchanting_lapis_background.png differ diff --git a/textures/mcl_enchanting_number_1.png b/textures/mcl_enchanting_number_1.png new file mode 100644 index 000000000..ff282f707 Binary files /dev/null and b/textures/mcl_enchanting_number_1.png differ diff --git a/textures/mcl_enchanting_number_1_off.png b/textures/mcl_enchanting_number_1_off.png new file mode 100644 index 000000000..b45337139 Binary files /dev/null and b/textures/mcl_enchanting_number_1_off.png differ diff --git a/textures/mcl_enchanting_number_2.png b/textures/mcl_enchanting_number_2.png new file mode 100644 index 000000000..71bce94b4 Binary files /dev/null and b/textures/mcl_enchanting_number_2.png differ diff --git a/textures/mcl_enchanting_number_2_off.png b/textures/mcl_enchanting_number_2_off.png new file mode 100644 index 000000000..175915797 Binary files /dev/null and b/textures/mcl_enchanting_number_2_off.png differ diff --git a/textures/mcl_enchanting_number_3.png b/textures/mcl_enchanting_number_3.png new file mode 100644 index 000000000..426f79b1a Binary files /dev/null and b/textures/mcl_enchanting_number_3.png differ diff --git a/textures/mcl_enchanting_number_3_off.png b/textures/mcl_enchanting_number_3_off.png new file mode 100644 index 000000000..8bb8ab950 Binary files /dev/null and b/textures/mcl_enchanting_number_3_off.png differ diff --git a/textures/mcl_enchanting_table_bottom.png b/textures/mcl_enchanting_table_bottom.png new file mode 100644 index 000000000..330219b3e Binary files /dev/null and b/textures/mcl_enchanting_table_bottom.png differ diff --git a/textures/mcl_enchanting_table_side.png b/textures/mcl_enchanting_table_side.png new file mode 100644 index 000000000..a753ec1c8 Binary files /dev/null and b/textures/mcl_enchanting_table_side.png differ diff --git a/textures/mcl_enchanting_table_top.png b/textures/mcl_enchanting_table_top.png new file mode 100644 index 000000000..fcae44020 Binary files /dev/null and b/textures/mcl_enchanting_table_top.png differ diff --git a/textures/mcl_end_chorus_flower.png b/textures/mcl_end_chorus_flower.png new file mode 100644 index 000000000..23f0e06b2 Binary files /dev/null and b/textures/mcl_end_chorus_flower.png differ diff --git a/textures/mcl_end_chorus_flower_dead.png b/textures/mcl_end_chorus_flower_dead.png new file mode 100644 index 000000000..6d4e2d3d5 Binary files /dev/null and b/textures/mcl_end_chorus_flower_dead.png differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_chorus_fruit.png b/textures/mcl_end_chorus_fruit.png similarity index 100% rename from mods/ITEMS/mcl_end/textures/mcl_end_chorus_fruit.png rename to textures/mcl_end_chorus_fruit.png diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_chorus_fruit_popped.png b/textures/mcl_end_chorus_fruit_popped.png similarity index 100% rename from mods/ITEMS/mcl_end/textures/mcl_end_chorus_fruit_popped.png rename to textures/mcl_end_chorus_fruit_popped.png diff --git a/textures/mcl_end_chorus_plant.png b/textures/mcl_end_chorus_plant.png new file mode 100644 index 000000000..920d82ec2 Binary files /dev/null and b/textures/mcl_end_chorus_plant.png differ diff --git a/textures/mcl_end_crystal.png b/textures/mcl_end_crystal.png new file mode 100644 index 000000000..14f6d95fd Binary files /dev/null and b/textures/mcl_end_crystal.png differ diff --git a/textures/mcl_end_crystal_beam.png b/textures/mcl_end_crystal_beam.png new file mode 100644 index 000000000..0c8abbc83 Binary files /dev/null and b/textures/mcl_end_crystal_beam.png differ diff --git a/textures/mcl_end_crystal_item.png b/textures/mcl_end_crystal_item.png new file mode 100644 index 000000000..aba1e2ad4 Binary files /dev/null and b/textures/mcl_end_crystal_item.png differ diff --git a/textures/mcl_end_dragon_egg.png b/textures/mcl_end_dragon_egg.png new file mode 100644 index 000000000..1533c3b17 Binary files /dev/null and b/textures/mcl_end_dragon_egg.png differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_end_bricks.png b/textures/mcl_end_end_bricks.png similarity index 100% rename from mods/ITEMS/mcl_end/textures/mcl_end_end_bricks.png rename to textures/mcl_end_end_bricks.png diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_end_rod_bottom.png b/textures/mcl_end_end_rod_bottom.png similarity index 100% rename from mods/ITEMS/mcl_end/textures/mcl_end_end_rod_bottom.png rename to textures/mcl_end_end_rod_bottom.png diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_end_rod_side.png b/textures/mcl_end_end_rod_side.png similarity index 100% rename from mods/ITEMS/mcl_end/textures/mcl_end_end_rod_side.png rename to textures/mcl_end_end_rod_side.png diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_end_rod_top.png b/textures/mcl_end_end_rod_top.png similarity index 100% rename from mods/ITEMS/mcl_end/textures/mcl_end_end_rod_top.png rename to textures/mcl_end_end_rod_top.png diff --git a/textures/mcl_end_end_stone.png b/textures/mcl_end_end_stone.png new file mode 100644 index 000000000..ea48cea9f Binary files /dev/null and b/textures/mcl_end_end_stone.png differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_ender_eye.png b/textures/mcl_end_ender_eye.png similarity index 100% rename from mods/ITEMS/mcl_end/textures/mcl_end_ender_eye.png rename to textures/mcl_end_ender_eye.png diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_endframe_eye.png b/textures/mcl_end_endframe_eye.png similarity index 100% rename from mods/ITEMS/mcl_end/textures/mcl_end_endframe_eye.png rename to textures/mcl_end_endframe_eye.png diff --git a/textures/mcl_end_endframe_side.png b/textures/mcl_end_endframe_side.png new file mode 100644 index 000000000..6922795ed Binary files /dev/null and b/textures/mcl_end_endframe_side.png differ diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_endframe_top.png b/textures/mcl_end_endframe_top.png similarity index 100% rename from mods/ITEMS/mcl_end/textures/mcl_end_endframe_top.png rename to textures/mcl_end_endframe_top.png diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_purpur_block.png b/textures/mcl_end_purpur_block.png similarity index 100% rename from mods/ITEMS/mcl_end/textures/mcl_end_purpur_block.png rename to textures/mcl_end_purpur_block.png diff --git a/textures/mcl_end_purpur_pillar.png b/textures/mcl_end_purpur_pillar.png new file mode 100644 index 000000000..2f2522e25 Binary files /dev/null and b/textures/mcl_end_purpur_pillar.png differ diff --git a/textures/mcl_end_purpur_pillar_top.png b/textures/mcl_end_purpur_pillar_top.png new file mode 100644 index 000000000..712247d82 Binary files /dev/null and b/textures/mcl_end_purpur_pillar_top.png differ diff --git a/textures/mcl_experience_bar.png b/textures/mcl_experience_bar.png new file mode 100644 index 000000000..d7bd88f8c Binary files /dev/null and b/textures/mcl_experience_bar.png differ diff --git a/textures/mcl_experience_bar_background.png b/textures/mcl_experience_bar_background.png new file mode 100644 index 000000000..771064564 Binary files /dev/null and b/textures/mcl_experience_bar_background.png differ diff --git a/textures/mcl_experience_bottle.png b/textures/mcl_experience_bottle.png new file mode 100644 index 000000000..5bd7f1831 Binary files /dev/null and b/textures/mcl_experience_bottle.png differ diff --git a/textures/mcl_experience_orb.png b/textures/mcl_experience_orb.png new file mode 100644 index 000000000..35ec06d71 Binary files /dev/null and b/textures/mcl_experience_orb.png differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot.png b/textures/mcl_farming_beetroot.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot.png rename to textures/mcl_farming_beetroot.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot_0.png b/textures/mcl_farming_beetroot_0.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot_0.png rename to textures/mcl_farming_beetroot_0.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot_1.png b/textures/mcl_farming_beetroot_1.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot_1.png rename to textures/mcl_farming_beetroot_1.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot_2.png b/textures/mcl_farming_beetroot_2.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot_2.png rename to textures/mcl_farming_beetroot_2.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot_3.png b/textures/mcl_farming_beetroot_3.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot_3.png rename to textures/mcl_farming_beetroot_3.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot_seeds.png b/textures/mcl_farming_beetroot_seeds.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot_seeds.png rename to textures/mcl_farming_beetroot_seeds.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot_soup.png b/textures/mcl_farming_beetroot_soup.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_beetroot_soup.png rename to textures/mcl_farming_beetroot_soup.png diff --git a/textures/mcl_farming_farmland_dry.png b/textures/mcl_farming_farmland_dry.png new file mode 100644 index 000000000..44c956b6f Binary files /dev/null and b/textures/mcl_farming_farmland_dry.png differ diff --git a/textures/mcl_farming_farmland_wet.png b/textures/mcl_farming_farmland_wet.png new file mode 100644 index 000000000..f5ebf2de3 Binary files /dev/null and b/textures/mcl_farming_farmland_wet.png differ diff --git a/textures/mcl_farming_hayblock_side.png b/textures/mcl_farming_hayblock_side.png new file mode 100644 index 000000000..4d994067b Binary files /dev/null and b/textures/mcl_farming_hayblock_side.png differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_hayblock_top.png b/textures/mcl_farming_hayblock_top.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_hayblock_top.png rename to textures/mcl_farming_hayblock_top.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_melon_seeds.png b/textures/mcl_farming_melon_seeds.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_melon_seeds.png rename to textures/mcl_farming_melon_seeds.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_melon_stem_connected.png b/textures/mcl_farming_melon_stem_connected.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_melon_stem_connected.png rename to textures/mcl_farming_melon_stem_connected.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_melon_stem_disconnected.png b/textures/mcl_farming_melon_stem_disconnected.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_melon_stem_disconnected.png rename to textures/mcl_farming_melon_stem_disconnected.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_potatoes_stage_0.png b/textures/mcl_farming_potatoes_stage_0.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_potatoes_stage_0.png rename to textures/mcl_farming_potatoes_stage_0.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_potatoes_stage_1.png b/textures/mcl_farming_potatoes_stage_1.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_potatoes_stage_1.png rename to textures/mcl_farming_potatoes_stage_1.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_potatoes_stage_2.png b/textures/mcl_farming_potatoes_stage_2.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_potatoes_stage_2.png rename to textures/mcl_farming_potatoes_stage_2.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_potatoes_stage_3.png b/textures/mcl_farming_potatoes_stage_3.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_potatoes_stage_3.png rename to textures/mcl_farming_potatoes_stage_3.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_face.png b/textures/mcl_farming_pumpkin_face.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_face.png rename to textures/mcl_farming_pumpkin_face.png diff --git a/textures/mcl_farming_pumpkin_hud.png b/textures/mcl_farming_pumpkin_hud.png new file mode 100644 index 000000000..224df0cd9 Binary files /dev/null and b/textures/mcl_farming_pumpkin_hud.png differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_pie.png b/textures/mcl_farming_pumpkin_pie.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_pie.png rename to textures/mcl_farming_pumpkin_pie.png diff --git a/textures/mcl_farming_pumpkin_seeds.png b/textures/mcl_farming_pumpkin_seeds.png new file mode 100644 index 000000000..24e2c80c1 Binary files /dev/null and b/textures/mcl_farming_pumpkin_seeds.png differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_stem_connected.png b/textures/mcl_farming_pumpkin_stem_connected.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_stem_connected.png rename to textures/mcl_farming_pumpkin_stem_connected.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_stem_disconnected.png b/textures/mcl_farming_pumpkin_stem_disconnected.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_pumpkin_stem_disconnected.png rename to textures/mcl_farming_pumpkin_stem_disconnected.png diff --git a/textures/mcl_farming_sweet_berry.png b/textures/mcl_farming_sweet_berry.png new file mode 100644 index 000000000..bb6a3bdef Binary files /dev/null and b/textures/mcl_farming_sweet_berry.png differ diff --git a/textures/mcl_farming_sweet_berry_bush_0.png b/textures/mcl_farming_sweet_berry_bush_0.png new file mode 100644 index 000000000..d8eb23d9d Binary files /dev/null and b/textures/mcl_farming_sweet_berry_bush_0.png differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_1.png b/textures/mcl_farming_sweet_berry_bush_1.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_1.png rename to textures/mcl_farming_sweet_berry_bush_1.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_2.png b/textures/mcl_farming_sweet_berry_bush_2.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_2.png rename to textures/mcl_farming_sweet_berry_bush_2.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_3.png b/textures/mcl_farming_sweet_berry_bush_3.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_sweet_berry_bush_3.png rename to textures/mcl_farming_sweet_berry_bush_3.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_seeds.png b/textures/mcl_farming_wheat_seeds.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_seeds.png rename to textures/mcl_farming_wheat_seeds.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_0.png b/textures/mcl_farming_wheat_stage_0.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_0.png rename to textures/mcl_farming_wheat_stage_0.png diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_1.png b/textures/mcl_farming_wheat_stage_1.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_1.png rename to textures/mcl_farming_wheat_stage_1.png diff --git a/textures/mcl_farming_wheat_stage_2.png b/textures/mcl_farming_wheat_stage_2.png new file mode 100644 index 000000000..323cc830e Binary files /dev/null and b/textures/mcl_farming_wheat_stage_2.png differ diff --git a/textures/mcl_farming_wheat_stage_3.png b/textures/mcl_farming_wheat_stage_3.png new file mode 100644 index 000000000..247c9e051 Binary files /dev/null and b/textures/mcl_farming_wheat_stage_3.png differ diff --git a/textures/mcl_farming_wheat_stage_4.png b/textures/mcl_farming_wheat_stage_4.png new file mode 100644 index 000000000..7410aa01c Binary files /dev/null and b/textures/mcl_farming_wheat_stage_4.png differ diff --git a/mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_5.png b/textures/mcl_farming_wheat_stage_5.png similarity index 100% rename from mods/ITEMS/mcl_farming/textures/mcl_farming_wheat_stage_5.png rename to textures/mcl_farming_wheat_stage_5.png diff --git a/textures/mcl_farming_wheat_stage_6.png b/textures/mcl_farming_wheat_stage_6.png new file mode 100644 index 000000000..04221b430 Binary files /dev/null and b/textures/mcl_farming_wheat_stage_6.png differ diff --git a/textures/mcl_farming_wheat_stage_7.png b/textures/mcl_farming_wheat_stage_7.png new file mode 100644 index 000000000..bff840d3e Binary files /dev/null and b/textures/mcl_farming_wheat_stage_7.png differ diff --git a/textures/mcl_fences_fence_acacia.png b/textures/mcl_fences_fence_acacia.png new file mode 100644 index 000000000..b62dd747f Binary files /dev/null and b/textures/mcl_fences_fence_acacia.png differ diff --git a/textures/mcl_fences_fence_big_oak.png b/textures/mcl_fences_fence_big_oak.png new file mode 100644 index 000000000..5068a71ac Binary files /dev/null and b/textures/mcl_fences_fence_big_oak.png differ diff --git a/textures/mcl_fences_fence_birch.png b/textures/mcl_fences_fence_birch.png new file mode 100644 index 000000000..b52db65d2 Binary files /dev/null and b/textures/mcl_fences_fence_birch.png differ diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_acacia.png b/textures/mcl_fences_fence_gate_acacia.png similarity index 100% rename from mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_acacia.png rename to textures/mcl_fences_fence_gate_acacia.png diff --git a/textures/mcl_fences_fence_gate_big_oak.png b/textures/mcl_fences_fence_gate_big_oak.png new file mode 100644 index 000000000..68a4323f6 Binary files /dev/null and b/textures/mcl_fences_fence_gate_big_oak.png differ diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_birch.png b/textures/mcl_fences_fence_gate_birch.png similarity index 100% rename from mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_birch.png rename to textures/mcl_fences_fence_gate_birch.png diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_jungle.png b/textures/mcl_fences_fence_gate_jungle.png similarity index 100% rename from mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_jungle.png rename to textures/mcl_fences_fence_gate_jungle.png diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_mask.png b/textures/mcl_fences_fence_gate_mask.png similarity index 100% rename from mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_mask.png rename to textures/mcl_fences_fence_gate_mask.png diff --git a/mods/ITEMS/mclx_fences/textures/mcl_fences_fence_gate_nether_brick.png b/textures/mcl_fences_fence_gate_nether_brick.png similarity index 100% rename from mods/ITEMS/mclx_fences/textures/mcl_fences_fence_gate_nether_brick.png rename to textures/mcl_fences_fence_gate_nether_brick.png diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_oak.png b/textures/mcl_fences_fence_gate_oak.png similarity index 100% rename from mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_oak.png rename to textures/mcl_fences_fence_gate_oak.png diff --git a/textures/mcl_fences_fence_gate_red_nether_brick.png b/textures/mcl_fences_fence_gate_red_nether_brick.png new file mode 100644 index 000000000..599cf1bf4 Binary files /dev/null and b/textures/mcl_fences_fence_gate_red_nether_brick.png differ diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_spruce.png b/textures/mcl_fences_fence_gate_spruce.png similarity index 100% rename from mods/ITEMS/mcl_fences/textures/mcl_fences_fence_gate_spruce.png rename to textures/mcl_fences_fence_gate_spruce.png diff --git a/textures/mcl_fences_fence_jungle.png b/textures/mcl_fences_fence_jungle.png new file mode 100644 index 000000000..4324b3ef7 Binary files /dev/null and b/textures/mcl_fences_fence_jungle.png differ diff --git a/textures/mcl_fences_fence_mask.png b/textures/mcl_fences_fence_mask.png new file mode 100644 index 000000000..35d162915 Binary files /dev/null and b/textures/mcl_fences_fence_mask.png differ diff --git a/textures/mcl_fences_fence_nether_brick.png b/textures/mcl_fences_fence_nether_brick.png new file mode 100644 index 000000000..7f7c461bc Binary files /dev/null and b/textures/mcl_fences_fence_nether_brick.png differ diff --git a/textures/mcl_fences_fence_oak.png b/textures/mcl_fences_fence_oak.png new file mode 100644 index 000000000..90c36edf4 Binary files /dev/null and b/textures/mcl_fences_fence_oak.png differ diff --git a/textures/mcl_fences_fence_red_nether_brick.png b/textures/mcl_fences_fence_red_nether_brick.png new file mode 100644 index 000000000..24e08e0f0 Binary files /dev/null and b/textures/mcl_fences_fence_red_nether_brick.png differ diff --git a/mods/ITEMS/mcl_fences/textures/mcl_fences_fence_spruce.png b/textures/mcl_fences_fence_spruce.png similarity index 100% rename from mods/ITEMS/mcl_fences/textures/mcl_fences_fence_spruce.png rename to textures/mcl_fences_fence_spruce.png diff --git a/mods/ITEMS/mcl_fire/textures/mcl_fire_fire_charge.png b/textures/mcl_fire_fire_charge.png similarity index 100% rename from mods/ITEMS/mcl_fire/textures/mcl_fire_fire_charge.png rename to textures/mcl_fire_fire_charge.png diff --git a/mods/ITEMS/mcl_fire/textures/mcl_fire_flint_and_steel.png b/textures/mcl_fire_flint_and_steel.png similarity index 100% rename from mods/ITEMS/mcl_fire/textures/mcl_fire_flint_and_steel.png rename to textures/mcl_fire_flint_and_steel.png diff --git a/textures/mcl_fireworks_rocket.png b/textures/mcl_fireworks_rocket.png new file mode 100644 index 000000000..527d0042b Binary files /dev/null and b/textures/mcl_fireworks_rocket.png differ diff --git a/mods/ITEMS/mcl_fishing/textures/mcl_fishing_bobber.png b/textures/mcl_fishing_bobber.png similarity index 76% rename from mods/ITEMS/mcl_fishing/textures/mcl_fishing_bobber.png rename to textures/mcl_fishing_bobber.png index 0c93fd4f9..6086ecad7 100644 Binary files a/mods/ITEMS/mcl_fishing/textures/mcl_fishing_bobber.png and b/textures/mcl_fishing_bobber.png differ diff --git a/mods/ITEMS/mcl_fishing/textures/mcl_fishing_clownfish_raw.png b/textures/mcl_fishing_clownfish_raw.png similarity index 100% rename from mods/ITEMS/mcl_fishing/textures/mcl_fishing_clownfish_raw.png rename to textures/mcl_fishing_clownfish_raw.png diff --git a/mods/ITEMS/mcl_fishing/textures/mcl_fishing_fish_cooked.png b/textures/mcl_fishing_fish_cooked.png similarity index 100% rename from mods/ITEMS/mcl_fishing/textures/mcl_fishing_fish_cooked.png rename to textures/mcl_fishing_fish_cooked.png diff --git a/mods/ITEMS/mcl_fishing/textures/mcl_fishing_fish_raw.png b/textures/mcl_fishing_fish_raw.png similarity index 100% rename from mods/ITEMS/mcl_fishing/textures/mcl_fishing_fish_raw.png rename to textures/mcl_fishing_fish_raw.png diff --git a/textures/mcl_fishing_fishing_rod.png b/textures/mcl_fishing_fishing_rod.png new file mode 100644 index 000000000..9ff7479ec Binary files /dev/null and b/textures/mcl_fishing_fishing_rod.png differ diff --git a/mods/ITEMS/mcl_fishing/textures/mcl_fishing_pufferfish_raw.png b/textures/mcl_fishing_pufferfish_raw.png similarity index 100% rename from mods/ITEMS/mcl_fishing/textures/mcl_fishing_pufferfish_raw.png rename to textures/mcl_fishing_pufferfish_raw.png diff --git a/mods/ITEMS/mcl_fishing/textures/mcl_fishing_salmon_cooked.png b/textures/mcl_fishing_salmon_cooked.png similarity index 100% rename from mods/ITEMS/mcl_fishing/textures/mcl_fishing_salmon_cooked.png rename to textures/mcl_fishing_salmon_cooked.png diff --git a/mods/ITEMS/mcl_fishing/textures/mcl_fishing_salmon_raw.png b/textures/mcl_fishing_salmon_raw.png similarity index 100% rename from mods/ITEMS/mcl_fishing/textures/mcl_fishing_salmon_raw.png rename to textures/mcl_fishing_salmon_raw.png diff --git a/mods/ITEMS/mcl_flowerpots/textures/mcl_flowerpots_cactus.png b/textures/mcl_flowerpots_cactus.png similarity index 100% rename from mods/ITEMS/mcl_flowerpots/textures/mcl_flowerpots_cactus.png rename to textures/mcl_flowerpots_cactus.png diff --git a/mods/ITEMS/mcl_flowerpots/textures/mcl_flowerpots_flowerpot.png b/textures/mcl_flowerpots_flowerpot.png similarity index 100% rename from mods/ITEMS/mcl_flowerpots/textures/mcl_flowerpots_flowerpot.png rename to textures/mcl_flowerpots_flowerpot.png diff --git a/mods/ITEMS/mcl_flowerpots/textures/mcl_flowerpots_flowerpot_inventory.png b/textures/mcl_flowerpots_flowerpot_inventory.png similarity index 100% rename from mods/ITEMS/mcl_flowerpots/textures/mcl_flowerpots_flowerpot_inventory.png rename to textures/mcl_flowerpots_flowerpot_inventory.png diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_allium.png b/textures/mcl_flowers_allium.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_allium.png rename to textures/mcl_flowers_allium.png diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_azure_bluet.png b/textures/mcl_flowers_azure_bluet.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_azure_bluet.png rename to textures/mcl_flowers_azure_bluet.png diff --git a/textures/mcl_flowers_blue_orchid.png b/textures/mcl_flowers_blue_orchid.png new file mode 100644 index 000000000..60f9df1a0 Binary files /dev/null and b/textures/mcl_flowers_blue_orchid.png differ diff --git a/textures/mcl_flowers_cornflower.png b/textures/mcl_flowers_cornflower.png new file mode 100644 index 000000000..c7981aac7 Binary files /dev/null and b/textures/mcl_flowers_cornflower.png differ diff --git a/textures/mcl_flowers_double_plant_fern_bottom.png b/textures/mcl_flowers_double_plant_fern_bottom.png new file mode 100644 index 000000000..2a2be2260 Binary files /dev/null and b/textures/mcl_flowers_double_plant_fern_bottom.png differ diff --git a/textures/mcl_flowers_double_plant_fern_inv.png b/textures/mcl_flowers_double_plant_fern_inv.png new file mode 100644 index 000000000..f59bff0b7 Binary files /dev/null and b/textures/mcl_flowers_double_plant_fern_inv.png differ diff --git a/textures/mcl_flowers_double_plant_fern_top.png b/textures/mcl_flowers_double_plant_fern_top.png new file mode 100644 index 000000000..860b4fee6 Binary files /dev/null and b/textures/mcl_flowers_double_plant_fern_top.png differ diff --git a/textures/mcl_flowers_double_plant_grass_bottom.png b/textures/mcl_flowers_double_plant_grass_bottom.png new file mode 100644 index 000000000..a5f25ef63 Binary files /dev/null and b/textures/mcl_flowers_double_plant_grass_bottom.png differ diff --git a/textures/mcl_flowers_double_plant_grass_inv.png b/textures/mcl_flowers_double_plant_grass_inv.png new file mode 100644 index 000000000..974b21a71 Binary files /dev/null and b/textures/mcl_flowers_double_plant_grass_inv.png differ diff --git a/textures/mcl_flowers_double_plant_grass_top.png b/textures/mcl_flowers_double_plant_grass_top.png new file mode 100644 index 000000000..ef60144b2 Binary files /dev/null and b/textures/mcl_flowers_double_plant_grass_top.png differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_paeonia_bottom.png b/textures/mcl_flowers_double_plant_paeonia_bottom.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_paeonia_bottom.png rename to textures/mcl_flowers_double_plant_paeonia_bottom.png diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_paeonia_top.png b/textures/mcl_flowers_double_plant_paeonia_top.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_paeonia_top.png rename to textures/mcl_flowers_double_plant_paeonia_top.png diff --git a/textures/mcl_flowers_double_plant_rose_bottom.png b/textures/mcl_flowers_double_plant_rose_bottom.png new file mode 100644 index 000000000..a8f5df226 Binary files /dev/null and b/textures/mcl_flowers_double_plant_rose_bottom.png differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_rose_top.png b/textures/mcl_flowers_double_plant_rose_top.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_rose_top.png rename to textures/mcl_flowers_double_plant_rose_top.png diff --git a/textures/mcl_flowers_double_plant_sunflower_back.png b/textures/mcl_flowers_double_plant_sunflower_back.png new file mode 100644 index 000000000..c1222611d Binary files /dev/null and b/textures/mcl_flowers_double_plant_sunflower_back.png differ diff --git a/textures/mcl_flowers_double_plant_sunflower_bottom.png b/textures/mcl_flowers_double_plant_sunflower_bottom.png new file mode 100644 index 000000000..e84fc2418 Binary files /dev/null and b/textures/mcl_flowers_double_plant_sunflower_bottom.png differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_sunflower_front.png b/textures/mcl_flowers_double_plant_sunflower_front.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_sunflower_front.png rename to textures/mcl_flowers_double_plant_sunflower_front.png diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_sunflower_top.png b/textures/mcl_flowers_double_plant_sunflower_top.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_sunflower_top.png rename to textures/mcl_flowers_double_plant_sunflower_top.png diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_syringa_bottom.png b/textures/mcl_flowers_double_plant_syringa_bottom.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_double_plant_syringa_bottom.png rename to textures/mcl_flowers_double_plant_syringa_bottom.png diff --git a/textures/mcl_flowers_double_plant_syringa_top.png b/textures/mcl_flowers_double_plant_syringa_top.png new file mode 100644 index 000000000..aaf728114 Binary files /dev/null and b/textures/mcl_flowers_double_plant_syringa_top.png differ diff --git a/textures/mcl_flowers_fern.png b/textures/mcl_flowers_fern.png new file mode 100644 index 000000000..840d66634 Binary files /dev/null and b/textures/mcl_flowers_fern.png differ diff --git a/textures/mcl_flowers_fern_inv.png b/textures/mcl_flowers_fern_inv.png new file mode 100644 index 000000000..1f5980ee3 Binary files /dev/null and b/textures/mcl_flowers_fern_inv.png differ diff --git a/textures/mcl_flowers_lily_of_the_valley.png b/textures/mcl_flowers_lily_of_the_valley.png new file mode 100644 index 000000000..b204c4d97 Binary files /dev/null and b/textures/mcl_flowers_lily_of_the_valley.png differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_oxeye_daisy.png b/textures/mcl_flowers_oxeye_daisy.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_oxeye_daisy.png rename to textures/mcl_flowers_oxeye_daisy.png diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_poppy.png b/textures/mcl_flowers_poppy.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_poppy.png rename to textures/mcl_flowers_poppy.png diff --git a/textures/mcl_flowers_tallgrass.png b/textures/mcl_flowers_tallgrass.png new file mode 100644 index 000000000..1088bd192 Binary files /dev/null and b/textures/mcl_flowers_tallgrass.png differ diff --git a/textures/mcl_flowers_tallgrass_inv.png b/textures/mcl_flowers_tallgrass_inv.png new file mode 100644 index 000000000..0e075add1 Binary files /dev/null and b/textures/mcl_flowers_tallgrass_inv.png differ diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_tulip_pink.png b/textures/mcl_flowers_tulip_pink.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_tulip_pink.png rename to textures/mcl_flowers_tulip_pink.png diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_tulip_red.png b/textures/mcl_flowers_tulip_red.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_tulip_red.png rename to textures/mcl_flowers_tulip_red.png diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_tulip_white.png b/textures/mcl_flowers_tulip_white.png similarity index 100% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_tulip_white.png rename to textures/mcl_flowers_tulip_white.png diff --git a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_wither_rose.png b/textures/mcl_flowers_wither_rose.png similarity index 93% rename from mods/ITEMS/mcl_flowers/textures/mcl_flowers_wither_rose.png rename to textures/mcl_flowers_wither_rose.png index 539722a34..cc655ee74 100644 Binary files a/mods/ITEMS/mcl_flowers/textures/mcl_flowers_wither_rose.png and b/textures/mcl_flowers_wither_rose.png differ diff --git a/textures/mcl_formspec_itemslot.png b/textures/mcl_formspec_itemslot.png new file mode 100644 index 000000000..42f265e77 Binary files /dev/null and b/textures/mcl_formspec_itemslot.png differ diff --git a/mods/ITEMS/mcl_hamburger/textures/mcl_hamburger.png b/textures/mcl_hamburger.png similarity index 100% rename from mods/ITEMS/mcl_hamburger/textures/mcl_hamburger.png rename to textures/mcl_hamburger.png diff --git a/mods/ITEMS/mcl_hamburger/textures/mcl_hamburger_alt.png b/textures/mcl_hamburger_alt.png similarity index 100% rename from mods/ITEMS/mcl_hamburger/textures/mcl_hamburger_alt.png rename to textures/mcl_hamburger_alt.png diff --git a/mods/ITEMS/mcl_heads/textures/mcl_heads_creeper.png b/textures/mcl_heads_creeper.png similarity index 100% rename from mods/ITEMS/mcl_heads/textures/mcl_heads_creeper.png rename to textures/mcl_heads_creeper.png diff --git a/mods/ITEMS/mcl_heads/textures/mcl_heads_skeleton.png b/textures/mcl_heads_skeleton.png similarity index 100% rename from mods/ITEMS/mcl_heads/textures/mcl_heads_skeleton.png rename to textures/mcl_heads_skeleton.png diff --git a/mods/ITEMS/mcl_heads/textures/mcl_heads_steve.png b/textures/mcl_heads_steve.png similarity index 100% rename from mods/ITEMS/mcl_heads/textures/mcl_heads_steve.png rename to textures/mcl_heads_steve.png diff --git a/mods/ITEMS/mcl_heads/textures/mcl_heads_wither_skeleton.png b/textures/mcl_heads_wither_skeleton.png similarity index 100% rename from mods/ITEMS/mcl_heads/textures/mcl_heads_wither_skeleton.png rename to textures/mcl_heads_wither_skeleton.png diff --git a/mods/ITEMS/mcl_heads/textures/mcl_heads_zombie.png b/textures/mcl_heads_zombie.png similarity index 100% rename from mods/ITEMS/mcl_heads/textures/mcl_heads_zombie.png rename to textures/mcl_heads_zombie.png diff --git a/textures/mcl_honey_block_bottom.png b/textures/mcl_honey_block_bottom.png new file mode 100644 index 000000000..a14ddf65e Binary files /dev/null and b/textures/mcl_honey_block_bottom.png differ diff --git a/textures/mcl_honey_block_side.png b/textures/mcl_honey_block_side.png new file mode 100644 index 000000000..59f1086b1 Binary files /dev/null and b/textures/mcl_honey_block_side.png differ diff --git a/textures/mcl_honey_block_top.png b/textures/mcl_honey_block_top.png new file mode 100644 index 000000000..f33addbd5 Binary files /dev/null and b/textures/mcl_honey_block_top.png differ diff --git a/mods/ITEMS/mcl_honey/textures/mcl_honey_honey_bottle.png b/textures/mcl_honey_honey_bottle.png similarity index 78% rename from mods/ITEMS/mcl_honey/textures/mcl_honey_honey_bottle.png rename to textures/mcl_honey_honey_bottle.png index 16956f56e..ed92ab2ac 100644 Binary files a/mods/ITEMS/mcl_honey/textures/mcl_honey_honey_bottle.png and b/textures/mcl_honey_honey_bottle.png differ diff --git a/mods/ITEMS/mcl_honey/textures/mcl_honey_honeycomb.png b/textures/mcl_honey_honeycomb.png similarity index 85% rename from mods/ITEMS/mcl_honey/textures/mcl_honey_honeycomb.png rename to textures/mcl_honey_honeycomb.png index a590d517a..7e7cfecd4 100644 Binary files a/mods/ITEMS/mcl_honey/textures/mcl_honey_honeycomb.png and b/textures/mcl_honey_honeycomb.png differ diff --git a/mods/ITEMS/mcl_honey/textures/mcl_honey_honeycomb_block.png b/textures/mcl_honey_honeycomb_block.png similarity index 76% rename from mods/ITEMS/mcl_honey/textures/mcl_honey_honeycomb_block.png rename to textures/mcl_honey_honeycomb_block.png index 42c4ce85e..d2df1e677 100644 Binary files a/mods/ITEMS/mcl_honey/textures/mcl_honey_honeycomb_block.png and b/textures/mcl_honey_honeycomb_block.png differ diff --git a/mods/ITEMS/mcl_hoppers/textures/mcl_hoppers_hopper_inside.png b/textures/mcl_hoppers_hopper_inside.png similarity index 100% rename from mods/ITEMS/mcl_hoppers/textures/mcl_hoppers_hopper_inside.png rename to textures/mcl_hoppers_hopper_inside.png diff --git a/mods/ITEMS/mcl_hoppers/textures/mcl_hoppers_hopper_outside.png b/textures/mcl_hoppers_hopper_outside.png similarity index 100% rename from mods/ITEMS/mcl_hoppers/textures/mcl_hoppers_hopper_outside.png rename to textures/mcl_hoppers_hopper_outside.png diff --git a/textures/mcl_hoppers_hopper_top.png b/textures/mcl_hoppers_hopper_top.png new file mode 100644 index 000000000..dbef0750b Binary files /dev/null and b/textures/mcl_hoppers_hopper_top.png differ diff --git a/mods/ITEMS/mcl_hoppers/textures/mcl_hoppers_item.png b/textures/mcl_hoppers_item.png similarity index 100% rename from mods/ITEMS/mcl_hoppers/textures/mcl_hoppers_item.png rename to textures/mcl_hoppers_item.png diff --git a/mods/PLAYER/mcl_hunger/textures/mcl_hunger_bar_exhaustion.png b/textures/mcl_hunger_bar_exhaustion.png similarity index 100% rename from mods/PLAYER/mcl_hunger/textures/mcl_hunger_bar_exhaustion.png rename to textures/mcl_hunger_bar_exhaustion.png diff --git a/mods/PLAYER/mcl_hunger/textures/mcl_hunger_bar_foodpoison.png b/textures/mcl_hunger_bar_foodpoison.png similarity index 100% rename from mods/PLAYER/mcl_hunger/textures/mcl_hunger_bar_foodpoison.png rename to textures/mcl_hunger_bar_foodpoison.png diff --git a/mods/PLAYER/mcl_hunger/textures/mcl_hunger_bar_saturation.png b/textures/mcl_hunger_bar_saturation.png similarity index 100% rename from mods/PLAYER/mcl_hunger/textures/mcl_hunger_bar_saturation.png rename to textures/mcl_hunger_bar_saturation.png diff --git a/mods/PLAYER/mcl_hunger/textures/mcl_hunger_bgicon_exhaustion.png b/textures/mcl_hunger_bgicon_exhaustion.png similarity index 100% rename from mods/PLAYER/mcl_hunger/textures/mcl_hunger_bgicon_exhaustion.png rename to textures/mcl_hunger_bgicon_exhaustion.png diff --git a/mods/PLAYER/mcl_hunger/textures/mcl_hunger_bgicon_saturation.png b/textures/mcl_hunger_bgicon_saturation.png similarity index 100% rename from mods/PLAYER/mcl_hunger/textures/mcl_hunger_bgicon_saturation.png rename to textures/mcl_hunger_bgicon_saturation.png diff --git a/mods/PLAYER/mcl_hunger/textures/mcl_hunger_icon_exhaustion.png b/textures/mcl_hunger_icon_exhaustion.png similarity index 100% rename from mods/PLAYER/mcl_hunger/textures/mcl_hunger_icon_exhaustion.png rename to textures/mcl_hunger_icon_exhaustion.png diff --git a/textures/mcl_hunger_icon_foodpoison.png b/textures/mcl_hunger_icon_foodpoison.png new file mode 100644 index 000000000..c065fbf15 Binary files /dev/null and b/textures/mcl_hunger_icon_foodpoison.png differ diff --git a/mods/PLAYER/mcl_hunger/textures/mcl_hunger_icon_saturation.png b/textures/mcl_hunger_icon_saturation.png similarity index 100% rename from mods/PLAYER/mcl_hunger/textures/mcl_hunger_icon_saturation.png rename to textures/mcl_hunger_icon_saturation.png diff --git a/mods/HUD/mcl_inventory/textures/mcl_inventory_button9.png b/textures/mcl_inventory_button9.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/mcl_inventory_button9.png rename to textures/mcl_inventory_button9.png diff --git a/mods/HUD/mcl_inventory/textures/mcl_inventory_button9_pressed.png b/textures/mcl_inventory_button9_pressed.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/mcl_inventory_button9_pressed.png rename to textures/mcl_inventory_button9_pressed.png diff --git a/mods/HUD/mcl_inventory/textures/mcl_inventory_empty_armor_slot_boots.png b/textures/mcl_inventory_empty_armor_slot_boots.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/mcl_inventory_empty_armor_slot_boots.png rename to textures/mcl_inventory_empty_armor_slot_boots.png diff --git a/mods/HUD/mcl_inventory/textures/mcl_inventory_empty_armor_slot_chestplate.png b/textures/mcl_inventory_empty_armor_slot_chestplate.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/mcl_inventory_empty_armor_slot_chestplate.png rename to textures/mcl_inventory_empty_armor_slot_chestplate.png diff --git a/mods/HUD/mcl_inventory/textures/mcl_inventory_empty_armor_slot_helmet.png b/textures/mcl_inventory_empty_armor_slot_helmet.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/mcl_inventory_empty_armor_slot_helmet.png rename to textures/mcl_inventory_empty_armor_slot_helmet.png diff --git a/mods/HUD/mcl_inventory/textures/mcl_inventory_empty_armor_slot_leggings.png b/textures/mcl_inventory_empty_armor_slot_leggings.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/mcl_inventory_empty_armor_slot_leggings.png rename to textures/mcl_inventory_empty_armor_slot_leggings.png diff --git a/mods/HUD/mcl_inventory/textures/mcl_inventory_empty_armor_slot_shield.png b/textures/mcl_inventory_empty_armor_slot_shield.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/mcl_inventory_empty_armor_slot_shield.png rename to textures/mcl_inventory_empty_armor_slot_shield.png diff --git a/textures/mcl_inventory_hotbar.png b/textures/mcl_inventory_hotbar.png new file mode 100644 index 000000000..058f5da31 Binary files /dev/null and b/textures/mcl_inventory_hotbar.png differ diff --git a/mods/HUD/mcl_inventory/textures/mcl_inventory_hotbar_selected.png b/textures/mcl_inventory_hotbar_selected.png similarity index 100% rename from mods/HUD/mcl_inventory/textures/mcl_inventory_hotbar_selected.png rename to textures/mcl_inventory_hotbar_selected.png diff --git a/textures/mcl_itemframes_glow_item_frame.png b/textures/mcl_itemframes_glow_item_frame.png new file mode 100644 index 000000000..d87767dea Binary files /dev/null and b/textures/mcl_itemframes_glow_item_frame.png differ diff --git a/textures/mcl_itemframes_glow_item_frame_border.png b/textures/mcl_itemframes_glow_item_frame_border.png new file mode 100644 index 000000000..d87767dea Binary files /dev/null and b/textures/mcl_itemframes_glow_item_frame_border.png differ diff --git a/textures/mcl_itemframes_item_frame.png b/textures/mcl_itemframes_item_frame.png new file mode 100644 index 000000000..fad93a643 Binary files /dev/null and b/textures/mcl_itemframes_item_frame.png differ diff --git a/textures/mcl_itemframes_itemframe_background.png b/textures/mcl_itemframes_itemframe_background.png new file mode 100644 index 000000000..236f3630e Binary files /dev/null and b/textures/mcl_itemframes_itemframe_background.png differ diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_11.png b/textures/mcl_jukebox_record_11.png similarity index 100% rename from mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_11.png rename to textures/mcl_jukebox_record_11.png diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_13.png b/textures/mcl_jukebox_record_13.png similarity index 100% rename from mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_13.png rename to textures/mcl_jukebox_record_13.png diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_blocks.png b/textures/mcl_jukebox_record_blocks.png similarity index 100% rename from mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_blocks.png rename to textures/mcl_jukebox_record_blocks.png diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_cat.png b/textures/mcl_jukebox_record_cat.png similarity index 100% rename from mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_cat.png rename to textures/mcl_jukebox_record_cat.png diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_chirp.png b/textures/mcl_jukebox_record_chirp.png similarity index 100% rename from mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_chirp.png rename to textures/mcl_jukebox_record_chirp.png diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_far.png b/textures/mcl_jukebox_record_far.png similarity index 100% rename from mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_far.png rename to textures/mcl_jukebox_record_far.png diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_mall.png b/textures/mcl_jukebox_record_mall.png similarity index 100% rename from mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_mall.png rename to textures/mcl_jukebox_record_mall.png diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_mellohi.png b/textures/mcl_jukebox_record_mellohi.png similarity index 100% rename from mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_mellohi.png rename to textures/mcl_jukebox_record_mellohi.png diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_stal.png b/textures/mcl_jukebox_record_stal.png similarity index 100% rename from mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_stal.png rename to textures/mcl_jukebox_record_stal.png diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_strad.png b/textures/mcl_jukebox_record_strad.png similarity index 100% rename from mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_strad.png rename to textures/mcl_jukebox_record_strad.png diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_wait.png b/textures/mcl_jukebox_record_wait.png similarity index 100% rename from mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_wait.png rename to textures/mcl_jukebox_record_wait.png diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_ward.png b/textures/mcl_jukebox_record_ward.png similarity index 100% rename from mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_record_ward.png rename to textures/mcl_jukebox_record_ward.png diff --git a/mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_side.png b/textures/mcl_jukebox_side.png similarity index 100% rename from mods/ITEMS/mcl_jukebox/textures/mcl_jukebox_side.png rename to textures/mcl_jukebox_side.png diff --git a/textures/mcl_jukebox_top.png b/textures/mcl_jukebox_top.png new file mode 100644 index 000000000..2294972de Binary files /dev/null and b/textures/mcl_jukebox_top.png differ diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain.png b/textures/mcl_lanterns_chain.png similarity index 100% rename from mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain.png rename to textures/mcl_lanterns_chain.png diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain_inv.png b/textures/mcl_lanterns_chain_inv.png similarity index 100% rename from mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_chain_inv.png rename to textures/mcl_lanterns_chain_inv.png diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern.png b/textures/mcl_lanterns_lantern.png similarity index 100% rename from mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern.png rename to textures/mcl_lanterns_lantern.png diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern_inv.png b/textures/mcl_lanterns_lantern_inv.png similarity index 100% rename from mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_lantern_inv.png rename to textures/mcl_lanterns_lantern_inv.png diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_soul_lantern.png b/textures/mcl_lanterns_soul_lantern.png similarity index 100% rename from mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_soul_lantern.png rename to textures/mcl_lanterns_soul_lantern.png diff --git a/mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_soul_lantern_inv.png b/textures/mcl_lanterns_soul_lantern_inv.png similarity index 100% rename from mods/ITEMS/mcl_lanterns/textures/mcl_lanterns_soul_lantern_inv.png rename to textures/mcl_lanterns_soul_lantern_inv.png diff --git a/textures/mcl_lectern_lectern.png b/textures/mcl_lectern_lectern.png new file mode 100644 index 000000000..236c414f8 Binary files /dev/null and b/textures/mcl_lectern_lectern.png differ diff --git a/mods/ITEMS/mcl_lightning_rods/textures/mcl_lightning_rods_rod.png b/textures/mcl_lightning_rods_rod.png similarity index 100% rename from mods/ITEMS/mcl_lightning_rods/textures/mcl_lightning_rods_rod.png rename to textures/mcl_lightning_rods_rod.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_door_bottom.png b/textures/mcl_mangrove_door_bottom.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_door_bottom.png rename to textures/mcl_mangrove_door_bottom.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_door_top.png b/textures/mcl_mangrove_door_top.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_door_top.png rename to textures/mcl_mangrove_door_top.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_doors.png b/textures/mcl_mangrove_doors.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_doors.png rename to textures/mcl_mangrove_doors.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_fence.png b/textures/mcl_mangrove_fence.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_fence.png rename to textures/mcl_mangrove_fence.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_fence_gate.png b/textures/mcl_mangrove_fence_gate.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_fence_gate.png rename to textures/mcl_mangrove_fence_gate.png diff --git a/textures/mcl_mangrove_leaves.png b/textures/mcl_mangrove_leaves.png new file mode 100644 index 000000000..9cb09f9a2 Binary files /dev/null and b/textures/mcl_mangrove_leaves.png differ diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_log.png b/textures/mcl_mangrove_log.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_log.png rename to textures/mcl_mangrove_log.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_log_top.png b/textures/mcl_mangrove_log_top.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_log_top.png rename to textures/mcl_mangrove_log_top.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_planks.png b/textures/mcl_mangrove_planks.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_planks.png rename to textures/mcl_mangrove_planks.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_propagule.png b/textures/mcl_mangrove_propagule.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_propagule.png rename to textures/mcl_mangrove_propagule.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_propagule_hanging.png b/textures/mcl_mangrove_propagule_hanging.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_propagule_hanging.png rename to textures/mcl_mangrove_propagule_hanging.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_propagule_item.png b/textures/mcl_mangrove_propagule_item.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_propagule_item.png rename to textures/mcl_mangrove_propagule_item.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_roots_side.png b/textures/mcl_mangrove_roots_side.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_roots_side.png rename to textures/mcl_mangrove_roots_side.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_roots_top.png b/textures/mcl_mangrove_roots_top.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_roots_top.png rename to textures/mcl_mangrove_roots_top.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_trapdoor.png b/textures/mcl_mangrove_trapdoor.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_mangrove_trapdoor.png rename to textures/mcl_mangrove_trapdoor.png diff --git a/textures/mcl_maps_map_background.png b/textures/mcl_maps_map_background.png new file mode 100644 index 000000000..b5b6aa974 Binary files /dev/null and b/textures/mcl_maps_map_background.png differ diff --git a/mods/ITEMS/mcl_maps/textures/mcl_maps_map_empty.png b/textures/mcl_maps_map_empty.png similarity index 100% rename from mods/ITEMS/mcl_maps/textures/mcl_maps_map_empty.png rename to textures/mcl_maps_map_empty.png diff --git a/mods/ITEMS/mcl_maps/textures/mcl_maps_map_filled.png b/textures/mcl_maps_map_filled.png similarity index 100% rename from mods/ITEMS/mcl_maps/textures/mcl_maps_map_filled.png rename to textures/mcl_maps_map_filled.png diff --git a/mods/ITEMS/mcl_maps/textures/mcl_maps_map_filled_markings.png b/textures/mcl_maps_map_filled_markings.png similarity index 100% rename from mods/ITEMS/mcl_maps/textures/mcl_maps_map_filled_markings.png rename to textures/mcl_maps_map_filled_markings.png diff --git a/mods/ITEMS/mcl_maps/textures/mcl_maps_player_arrow.png b/textures/mcl_maps_player_arrow.png similarity index 83% rename from mods/ITEMS/mcl_maps/textures/mcl_maps_player_arrow.png rename to textures/mcl_maps_player_arrow.png index 3f58f6765..9856682e2 100644 Binary files a/mods/ITEMS/mcl_maps/textures/mcl_maps_player_arrow.png and b/textures/mcl_maps_player_arrow.png differ diff --git a/mods/ITEMS/mcl_maps/textures/mcl_maps_player_dot.png b/textures/mcl_maps_player_dot.png similarity index 92% rename from mods/ITEMS/mcl_maps/textures/mcl_maps_player_dot.png rename to textures/mcl_maps_player_dot.png index 391197c40..c39eacaae 100644 Binary files a/mods/ITEMS/mcl_maps/textures/mcl_maps_player_dot.png and b/textures/mcl_maps_player_dot.png differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart.png b/textures/mcl_minecarts_minecart.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart.png rename to textures/mcl_minecarts_minecart.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart_chest.png b/textures/mcl_minecarts_minecart_chest.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart_chest.png rename to textures/mcl_minecarts_minecart_chest.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart_command_block.png b/textures/mcl_minecarts_minecart_command_block.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart_command_block.png rename to textures/mcl_minecarts_minecart_command_block.png diff --git a/textures/mcl_minecarts_minecart_furnace.png b/textures/mcl_minecarts_minecart_furnace.png new file mode 100644 index 000000000..71aec1c7c Binary files /dev/null and b/textures/mcl_minecarts_minecart_furnace.png differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart_hopper.png b/textures/mcl_minecarts_minecart_hopper.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart_hopper.png rename to textures/mcl_minecarts_minecart_hopper.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart_normal.png b/textures/mcl_minecarts_minecart_normal.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart_normal.png rename to textures/mcl_minecarts_minecart_normal.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart_tnt.png b/textures/mcl_minecarts_minecart_tnt.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_minecart_tnt.png rename to textures/mcl_minecarts_minecart_tnt.png diff --git a/textures/mcl_minecarts_rail_activator.png b/textures/mcl_minecarts_rail_activator.png new file mode 100644 index 000000000..c318e757b Binary files /dev/null and b/textures/mcl_minecarts_rail_activator.png differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_crossing.png b/textures/mcl_minecarts_rail_activator_crossing.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_crossing.png rename to textures/mcl_minecarts_rail_activator_crossing.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_crossing_powered.png b/textures/mcl_minecarts_rail_activator_crossing_powered.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_crossing_powered.png rename to textures/mcl_minecarts_rail_activator_crossing_powered.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_curved.png b/textures/mcl_minecarts_rail_activator_curved.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_curved.png rename to textures/mcl_minecarts_rail_activator_curved.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_curved_powered.png b/textures/mcl_minecarts_rail_activator_curved_powered.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_curved_powered.png rename to textures/mcl_minecarts_rail_activator_curved_powered.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_powered.png b/textures/mcl_minecarts_rail_activator_powered.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_powered.png rename to textures/mcl_minecarts_rail_activator_powered.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_t_junction.png b/textures/mcl_minecarts_rail_activator_t_junction.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_t_junction.png rename to textures/mcl_minecarts_rail_activator_t_junction.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_t_junction_powered.png b/textures/mcl_minecarts_rail_activator_t_junction_powered.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_activator_t_junction_powered.png rename to textures/mcl_minecarts_rail_activator_t_junction_powered.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector.png b/textures/mcl_minecarts_rail_detector.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector.png rename to textures/mcl_minecarts_rail_detector.png diff --git a/textures/mcl_minecarts_rail_detector_crossing.png b/textures/mcl_minecarts_rail_detector_crossing.png new file mode 100644 index 000000000..57c729259 Binary files /dev/null and b/textures/mcl_minecarts_rail_detector_crossing.png differ diff --git a/textures/mcl_minecarts_rail_detector_crossing_powered.png b/textures/mcl_minecarts_rail_detector_crossing_powered.png new file mode 100644 index 000000000..c0b8490e8 Binary files /dev/null and b/textures/mcl_minecarts_rail_detector_crossing_powered.png differ diff --git a/textures/mcl_minecarts_rail_detector_curved.png b/textures/mcl_minecarts_rail_detector_curved.png new file mode 100644 index 000000000..cb7c10575 Binary files /dev/null and b/textures/mcl_minecarts_rail_detector_curved.png differ diff --git a/textures/mcl_minecarts_rail_detector_curved_powered.png b/textures/mcl_minecarts_rail_detector_curved_powered.png new file mode 100644 index 000000000..8ee6ce3b3 Binary files /dev/null and b/textures/mcl_minecarts_rail_detector_curved_powered.png differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_powered.png b/textures/mcl_minecarts_rail_detector_powered.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_powered.png rename to textures/mcl_minecarts_rail_detector_powered.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_t_junction.png b/textures/mcl_minecarts_rail_detector_t_junction.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_t_junction.png rename to textures/mcl_minecarts_rail_detector_t_junction.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_t_junction_powered.png b/textures/mcl_minecarts_rail_detector_t_junction_powered.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_detector_t_junction_powered.png rename to textures/mcl_minecarts_rail_detector_t_junction_powered.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden.png b/textures/mcl_minecarts_rail_golden.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden.png rename to textures/mcl_minecarts_rail_golden.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_crossing.png b/textures/mcl_minecarts_rail_golden_crossing.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_crossing.png rename to textures/mcl_minecarts_rail_golden_crossing.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_crossing_powered.png b/textures/mcl_minecarts_rail_golden_crossing_powered.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_crossing_powered.png rename to textures/mcl_minecarts_rail_golden_crossing_powered.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_curved.png b/textures/mcl_minecarts_rail_golden_curved.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_curved.png rename to textures/mcl_minecarts_rail_golden_curved.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_curved_powered.png b/textures/mcl_minecarts_rail_golden_curved_powered.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_curved_powered.png rename to textures/mcl_minecarts_rail_golden_curved_powered.png diff --git a/textures/mcl_minecarts_rail_golden_powered.png b/textures/mcl_minecarts_rail_golden_powered.png new file mode 100644 index 000000000..5277e24ec Binary files /dev/null and b/textures/mcl_minecarts_rail_golden_powered.png differ diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_t_junction.png b/textures/mcl_minecarts_rail_golden_t_junction.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_t_junction.png rename to textures/mcl_minecarts_rail_golden_t_junction.png diff --git a/mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_t_junction_powered.png b/textures/mcl_minecarts_rail_golden_t_junction_powered.png similarity index 100% rename from mods/ENTITIES/mcl_minecarts/textures/mcl_minecarts_rail_golden_t_junction_powered.png rename to textures/mcl_minecarts_rail_golden_t_junction_powered.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_beef_cooked.png b/textures/mcl_mobitems_beef_cooked.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_beef_cooked.png rename to textures/mcl_mobitems_beef_cooked.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_beef_raw.png b/textures/mcl_mobitems_beef_raw.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_beef_raw.png rename to textures/mcl_mobitems_beef_raw.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_blaze_powder.png b/textures/mcl_mobitems_blaze_powder.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_blaze_powder.png rename to textures/mcl_mobitems_blaze_powder.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_blaze_rod.png b/textures/mcl_mobitems_blaze_rod.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_blaze_rod.png rename to textures/mcl_mobitems_blaze_rod.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_bone.png b/textures/mcl_mobitems_bone.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_bone.png rename to textures/mcl_mobitems_bone.png diff --git a/textures/mcl_mobitems_bucket_milk.png b/textures/mcl_mobitems_bucket_milk.png new file mode 100644 index 000000000..249fc1a9e Binary files /dev/null and b/textures/mcl_mobitems_bucket_milk.png differ diff --git a/textures/mcl_mobitems_carrot_on_a_stick.png b/textures/mcl_mobitems_carrot_on_a_stick.png new file mode 100644 index 000000000..8fa01c753 Binary files /dev/null and b/textures/mcl_mobitems_carrot_on_a_stick.png differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_chicken_cooked.png b/textures/mcl_mobitems_chicken_cooked.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_chicken_cooked.png rename to textures/mcl_mobitems_chicken_cooked.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_chicken_raw.png b/textures/mcl_mobitems_chicken_raw.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_chicken_raw.png rename to textures/mcl_mobitems_chicken_raw.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_diamond_horse_armor.png b/textures/mcl_mobitems_diamond_horse_armor.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_diamond_horse_armor.png rename to textures/mcl_mobitems_diamond_horse_armor.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_feather.png b/textures/mcl_mobitems_feather.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_feather.png rename to textures/mcl_mobitems_feather.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_ghast_tear.png b/textures/mcl_mobitems_ghast_tear.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_ghast_tear.png rename to textures/mcl_mobitems_ghast_tear.png diff --git a/textures/mcl_mobitems_glow_ink_sac.png b/textures/mcl_mobitems_glow_ink_sac.png new file mode 100644 index 000000000..989db9673 Binary files /dev/null and b/textures/mcl_mobitems_glow_ink_sac.png differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_gold_horse_armor.png b/textures/mcl_mobitems_gold_horse_armor.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_gold_horse_armor.png rename to textures/mcl_mobitems_gold_horse_armor.png diff --git a/textures/mcl_mobitems_heart_of_the_sea.png b/textures/mcl_mobitems_heart_of_the_sea.png new file mode 100644 index 000000000..21762845c Binary files /dev/null and b/textures/mcl_mobitems_heart_of_the_sea.png differ diff --git a/textures/mcl_mobitems_heart_of_the_sea_split.png b/textures/mcl_mobitems_heart_of_the_sea_split.png new file mode 100644 index 000000000..f4ca2996b Binary files /dev/null and b/textures/mcl_mobitems_heart_of_the_sea_split.png differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_horse_armor_diamond.png b/textures/mcl_mobitems_horse_armor_diamond.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_horse_armor_diamond.png rename to textures/mcl_mobitems_horse_armor_diamond.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_horse_armor_gold.png b/textures/mcl_mobitems_horse_armor_gold.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_horse_armor_gold.png rename to textures/mcl_mobitems_horse_armor_gold.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_horse_armor_iron.png b/textures/mcl_mobitems_horse_armor_iron.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_horse_armor_iron.png rename to textures/mcl_mobitems_horse_armor_iron.png diff --git a/textures/mcl_mobitems_ink_sac.png b/textures/mcl_mobitems_ink_sac.png new file mode 100644 index 000000000..e9aebf595 Binary files /dev/null and b/textures/mcl_mobitems_ink_sac.png differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_iron_horse_armor.png b/textures/mcl_mobitems_iron_horse_armor.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_iron_horse_armor.png rename to textures/mcl_mobitems_iron_horse_armor.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_leather.png b/textures/mcl_mobitems_leather.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_leather.png rename to textures/mcl_mobitems_leather.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_magma_cream.png b/textures/mcl_mobitems_magma_cream.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_magma_cream.png rename to textures/mcl_mobitems_magma_cream.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_mutton_cooked.png b/textures/mcl_mobitems_mutton_cooked.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_mutton_cooked.png rename to textures/mcl_mobitems_mutton_cooked.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_mutton_raw.png b/textures/mcl_mobitems_mutton_raw.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_mutton_raw.png rename to textures/mcl_mobitems_mutton_raw.png diff --git a/textures/mcl_mobitems_nautilus_shell.png b/textures/mcl_mobitems_nautilus_shell.png new file mode 100644 index 000000000..bd8c96a72 Binary files /dev/null and b/textures/mcl_mobitems_nautilus_shell.png differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_nether_star.png b/textures/mcl_mobitems_nether_star.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_nether_star.png rename to textures/mcl_mobitems_nether_star.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_porkchop_cooked.png b/textures/mcl_mobitems_porkchop_cooked.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_porkchop_cooked.png rename to textures/mcl_mobitems_porkchop_cooked.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_porkchop_raw.png b/textures/mcl_mobitems_porkchop_raw.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_porkchop_raw.png rename to textures/mcl_mobitems_porkchop_raw.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_rabbit_cooked.png b/textures/mcl_mobitems_rabbit_cooked.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_rabbit_cooked.png rename to textures/mcl_mobitems_rabbit_cooked.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_rabbit_foot.png b/textures/mcl_mobitems_rabbit_foot.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_rabbit_foot.png rename to textures/mcl_mobitems_rabbit_foot.png diff --git a/textures/mcl_mobitems_rabbit_hide.png b/textures/mcl_mobitems_rabbit_hide.png new file mode 100644 index 000000000..e36cad4d8 Binary files /dev/null and b/textures/mcl_mobitems_rabbit_hide.png differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_rabbit_raw.png b/textures/mcl_mobitems_rabbit_raw.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_rabbit_raw.png rename to textures/mcl_mobitems_rabbit_raw.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_rabbit_stew.png b/textures/mcl_mobitems_rabbit_stew.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_rabbit_stew.png rename to textures/mcl_mobitems_rabbit_stew.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_rotten_flesh.png b/textures/mcl_mobitems_rotten_flesh.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_rotten_flesh.png rename to textures/mcl_mobitems_rotten_flesh.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_saddle.png b/textures/mcl_mobitems_saddle.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_saddle.png rename to textures/mcl_mobitems_saddle.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_shulker_shell.png b/textures/mcl_mobitems_shulker_shell.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_shulker_shell.png rename to textures/mcl_mobitems_shulker_shell.png diff --git a/textures/mcl_mobitems_slimeball.png b/textures/mcl_mobitems_slimeball.png new file mode 100644 index 000000000..1dd8a6cb6 Binary files /dev/null and b/textures/mcl_mobitems_slimeball.png differ diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_spider_eye.png b/textures/mcl_mobitems_spider_eye.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_spider_eye.png rename to textures/mcl_mobitems_spider_eye.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_string.png b/textures/mcl_mobitems_string.png similarity index 100% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_string.png rename to textures/mcl_mobitems_string.png diff --git a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_warped_fungus_on_a_stick.png b/textures/mcl_mobitems_warped_fungus_on_a_stick.png similarity index 91% rename from mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_warped_fungus_on_a_stick.png rename to textures/mcl_mobitems_warped_fungus_on_a_stick.png index 9f20bf787..370cf70fe 100644 Binary files a/mods/ITEMS/mcl_mobitems/textures/mcl_mobitems_warped_fungus_on_a_stick.png and b/textures/mcl_mobitems_warped_fungus_on_a_stick.png differ diff --git a/mods/ENVIRONMENT/mcl_moon/textures/mcl_moon_moon_phases.png b/textures/mcl_moon_moon_phases.png similarity index 100% rename from mods/ENVIRONMENT/mcl_moon/textures/mcl_moon_moon_phases.png rename to textures/mcl_moon_moon_phases.png diff --git a/textures/mcl_mud.png b/textures/mcl_mud.png new file mode 100644 index 000000000..9d02370a8 Binary files /dev/null and b/textures/mcl_mud.png differ diff --git a/textures/mcl_mud_bricks.png b/textures/mcl_mud_bricks.png new file mode 100644 index 000000000..c5362ca15 Binary files /dev/null and b/textures/mcl_mud_bricks.png differ diff --git a/textures/mcl_mud_packed_mud.png b/textures/mcl_mud_packed_mud.png new file mode 100644 index 000000000..28c393ed1 Binary files /dev/null and b/textures/mcl_mud_packed_mud.png differ diff --git a/textures/mcl_mushrooms_mushroom_block_inside.png b/textures/mcl_mushrooms_mushroom_block_inside.png new file mode 100644 index 000000000..ccbad3d15 Binary files /dev/null and b/textures/mcl_mushrooms_mushroom_block_inside.png differ diff --git a/textures/mcl_mushrooms_mushroom_block_skin_brown.png b/textures/mcl_mushrooms_mushroom_block_skin_brown.png new file mode 100644 index 000000000..9ce7af38d Binary files /dev/null and b/textures/mcl_mushrooms_mushroom_block_skin_brown.png differ diff --git a/mods/ITEMS/mcl_mushrooms/textures/mcl_mushrooms_mushroom_block_skin_red.png b/textures/mcl_mushrooms_mushroom_block_skin_red.png similarity index 100% rename from mods/ITEMS/mcl_mushrooms/textures/mcl_mushrooms_mushroom_block_skin_red.png rename to textures/mcl_mushrooms_mushroom_block_skin_red.png diff --git a/mods/ITEMS/mcl_mushrooms/textures/mcl_mushrooms_mushroom_block_skin_stem.png b/textures/mcl_mushrooms_mushroom_block_skin_stem.png similarity index 100% rename from mods/ITEMS/mcl_mushrooms/textures/mcl_mushrooms_mushroom_block_skin_stem.png rename to textures/mcl_mushrooms_mushroom_block_skin_stem.png diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_side.png b/textures/mcl_nether_ancient_debris_side.png similarity index 89% rename from mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_side.png rename to textures/mcl_nether_ancient_debris_side.png index 989160402..baf5132b6 100644 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_side.png and b/textures/mcl_nether_ancient_debris_side.png differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_top.png b/textures/mcl_nether_ancient_debris_top.png similarity index 89% rename from mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_top.png rename to textures/mcl_nether_ancient_debris_top.png index ba68f658a..0046acd5d 100644 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_ancient_debris_top.png and b/textures/mcl_nether_ancient_debris_top.png differ diff --git a/textures/mcl_nether_glowstone.png b/textures/mcl_nether_glowstone.png new file mode 100644 index 000000000..43b1979ed Binary files /dev/null and b/textures/mcl_nether_glowstone.png differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_glowstone_dust.png b/textures/mcl_nether_glowstone_dust.png similarity index 100% rename from mods/ITEMS/mcl_nether/textures/mcl_nether_glowstone_dust.png rename to textures/mcl_nether_glowstone_dust.png diff --git a/textures/mcl_nether_gold_ore.png b/textures/mcl_nether_gold_ore.png new file mode 100644 index 000000000..105be900d Binary files /dev/null and b/textures/mcl_nether_gold_ore.png differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_magma.png b/textures/mcl_nether_magma.png similarity index 100% rename from mods/ITEMS/mcl_nether/textures/mcl_nether_magma.png rename to textures/mcl_nether_magma.png diff --git a/textures/mcl_nether_nether_brick.png b/textures/mcl_nether_nether_brick.png new file mode 100644 index 000000000..665183237 Binary files /dev/null and b/textures/mcl_nether_nether_brick.png differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_nether_wart.png b/textures/mcl_nether_nether_wart.png similarity index 100% rename from mods/ITEMS/mcl_nether/textures/mcl_nether_nether_wart.png rename to textures/mcl_nether_nether_wart.png diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_nether_wart_block.png b/textures/mcl_nether_nether_wart_block.png similarity index 100% rename from mods/ITEMS/mcl_nether/textures/mcl_nether_nether_wart_block.png rename to textures/mcl_nether_nether_wart_block.png diff --git a/mods/ITEMS/mcl_blackstone/textures/mcl_nether_nether_wart_block_blue.png b/textures/mcl_nether_nether_wart_block_blue.png similarity index 72% rename from mods/ITEMS/mcl_blackstone/textures/mcl_nether_nether_wart_block_blue.png rename to textures/mcl_nether_nether_wart_block_blue.png index adebf6233..12530a7a1 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/mcl_nether_nether_wart_block_blue.png and b/textures/mcl_nether_nether_wart_block_blue.png differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_nether_wart_stage_0.png b/textures/mcl_nether_nether_wart_stage_0.png similarity index 100% rename from mods/ITEMS/mcl_nether/textures/mcl_nether_nether_wart_stage_0.png rename to textures/mcl_nether_nether_wart_stage_0.png diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_nether_wart_stage_1.png b/textures/mcl_nether_nether_wart_stage_1.png similarity index 100% rename from mods/ITEMS/mcl_nether/textures/mcl_nether_nether_wart_stage_1.png rename to textures/mcl_nether_nether_wart_stage_1.png diff --git a/textures/mcl_nether_nether_wart_stage_2.png b/textures/mcl_nether_nether_wart_stage_2.png new file mode 100644 index 000000000..75747835d Binary files /dev/null and b/textures/mcl_nether_nether_wart_stage_2.png differ diff --git a/textures/mcl_nether_netherbrick.png b/textures/mcl_nether_netherbrick.png new file mode 100644 index 000000000..ce2960924 Binary files /dev/null and b/textures/mcl_nether_netherbrick.png differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_ingot.png b/textures/mcl_nether_netherite_ingot.png similarity index 93% rename from mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_ingot.png rename to textures/mcl_nether_netherite_ingot.png index 113961198..7a8c38d46 100644 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_ingot.png and b/textures/mcl_nether_netherite_ingot.png differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_scrap.png b/textures/mcl_nether_netherite_scrap.png similarity index 92% rename from mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_scrap.png rename to textures/mcl_nether_netherite_scrap.png index c93b6e1af..fc451c409 100644 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_netherite_scrap.png and b/textures/mcl_nether_netherite_scrap.png differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_netheriteblock.png b/textures/mcl_nether_netheriteblock.png similarity index 93% rename from mods/ITEMS/mcl_nether/textures/mcl_nether_netheriteblock.png rename to textures/mcl_nether_netheriteblock.png index 302ead2a0..1af70e8a1 100644 Binary files a/mods/ITEMS/mcl_nether/textures/mcl_nether_netheriteblock.png and b/textures/mcl_nether_netheriteblock.png differ diff --git a/textures/mcl_nether_netherrack.png b/textures/mcl_nether_netherrack.png new file mode 100644 index 000000000..ead9c8c8c Binary files /dev/null and b/textures/mcl_nether_netherrack.png differ diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz.png b/textures/mcl_nether_quartz.png similarity index 100% rename from mods/ITEMS/mcl_nether/textures/mcl_nether_quartz.png rename to textures/mcl_nether_quartz.png diff --git a/mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_block_bottom.png b/textures/mcl_nether_quartz_block_bottom.png similarity index 100% rename from mods/ITEMS/mcl_nether/textures/mcl_nether_quartz_block_bottom.png rename to textures/mcl_nether_quartz_block_bottom.png diff --git a/textures/mcl_nether_quartz_block_side.png b/textures/mcl_nether_quartz_block_side.png new file mode 100644 index 000000000..013c4228f Binary files /dev/null and b/textures/mcl_nether_quartz_block_side.png differ diff --git a/textures/mcl_nether_quartz_block_top.png b/textures/mcl_nether_quartz_block_top.png new file mode 100644 index 000000000..013c4228f Binary files /dev/null and b/textures/mcl_nether_quartz_block_top.png differ diff --git a/textures/mcl_nether_quartz_chiseled_side.png b/textures/mcl_nether_quartz_chiseled_side.png new file mode 100644 index 000000000..e0e86ea87 Binary files /dev/null and b/textures/mcl_nether_quartz_chiseled_side.png differ diff --git a/textures/mcl_nether_quartz_chiseled_top.png b/textures/mcl_nether_quartz_chiseled_top.png new file mode 100644 index 000000000..40117a884 Binary files /dev/null and b/textures/mcl_nether_quartz_chiseled_top.png differ diff --git a/textures/mcl_nether_quartz_ore.png b/textures/mcl_nether_quartz_ore.png new file mode 100644 index 000000000..487316e25 Binary files /dev/null and b/textures/mcl_nether_quartz_ore.png differ diff --git a/textures/mcl_nether_quartz_pillar_side.png b/textures/mcl_nether_quartz_pillar_side.png new file mode 100644 index 000000000..d46d33e89 Binary files /dev/null and b/textures/mcl_nether_quartz_pillar_side.png differ diff --git a/textures/mcl_nether_quartz_pillar_top.png b/textures/mcl_nether_quartz_pillar_top.png new file mode 100644 index 000000000..e91e10682 Binary files /dev/null and b/textures/mcl_nether_quartz_pillar_top.png differ diff --git a/textures/mcl_nether_red_nether_brick.png b/textures/mcl_nether_red_nether_brick.png new file mode 100644 index 000000000..7248b2100 Binary files /dev/null and b/textures/mcl_nether_red_nether_brick.png differ diff --git a/textures/mcl_nether_soul_sand.png b/textures/mcl_nether_soul_sand.png new file mode 100644 index 000000000..1aab30695 Binary files /dev/null and b/textures/mcl_nether_soul_sand.png differ diff --git a/mods/ITEMS/REDSTONE/mcl_observers/textures/mcl_observers_observer_back.png b/textures/mcl_observers_observer_back.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_observers/textures/mcl_observers_observer_back.png rename to textures/mcl_observers_observer_back.png diff --git a/mods/ITEMS/REDSTONE/mcl_observers/textures/mcl_observers_observer_back_lit.png b/textures/mcl_observers_observer_back_lit.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_observers/textures/mcl_observers_observer_back_lit.png rename to textures/mcl_observers_observer_back_lit.png diff --git a/mods/ITEMS/REDSTONE/mcl_observers/textures/mcl_observers_observer_front.png b/textures/mcl_observers_observer_front.png similarity index 100% rename from mods/ITEMS/REDSTONE/mcl_observers/textures/mcl_observers_observer_front.png rename to textures/mcl_observers_observer_front.png diff --git a/textures/mcl_observers_observer_side.png b/textures/mcl_observers_observer_side.png new file mode 100644 index 000000000..46b7b007b Binary files /dev/null and b/textures/mcl_observers_observer_side.png differ diff --git a/textures/mcl_observers_observer_top.png b/textures/mcl_observers_observer_top.png new file mode 100644 index 000000000..a5dda380a Binary files /dev/null and b/textures/mcl_observers_observer_top.png differ diff --git a/textures/mcl_ocean_brain_coral.png b/textures/mcl_ocean_brain_coral.png new file mode 100644 index 000000000..729032495 Binary files /dev/null and b/textures/mcl_ocean_brain_coral.png differ diff --git a/textures/mcl_ocean_brain_coral_block.png b/textures/mcl_ocean_brain_coral_block.png new file mode 100644 index 000000000..02ea5c431 Binary files /dev/null and b/textures/mcl_ocean_brain_coral_block.png differ diff --git a/textures/mcl_ocean_brain_coral_fan.png b/textures/mcl_ocean_brain_coral_fan.png new file mode 100644 index 000000000..e15952bb3 Binary files /dev/null and b/textures/mcl_ocean_brain_coral_fan.png differ diff --git a/textures/mcl_ocean_bubble_coral.png b/textures/mcl_ocean_bubble_coral.png new file mode 100644 index 000000000..50d0dc29f Binary files /dev/null and b/textures/mcl_ocean_bubble_coral.png differ diff --git a/textures/mcl_ocean_bubble_coral_block.png b/textures/mcl_ocean_bubble_coral_block.png new file mode 100644 index 000000000..d2ff8670f Binary files /dev/null and b/textures/mcl_ocean_bubble_coral_block.png differ diff --git a/textures/mcl_ocean_bubble_coral_fan.png b/textures/mcl_ocean_bubble_coral_fan.png new file mode 100644 index 000000000..007047778 Binary files /dev/null and b/textures/mcl_ocean_bubble_coral_fan.png differ diff --git a/textures/mcl_ocean_dead_brain_coral.png b/textures/mcl_ocean_dead_brain_coral.png new file mode 100644 index 000000000..ae7296346 Binary files /dev/null and b/textures/mcl_ocean_dead_brain_coral.png differ diff --git a/textures/mcl_ocean_dead_brain_coral_block.png b/textures/mcl_ocean_dead_brain_coral_block.png new file mode 100644 index 000000000..101d4e573 Binary files /dev/null and b/textures/mcl_ocean_dead_brain_coral_block.png differ diff --git a/textures/mcl_ocean_dead_brain_coral_fan.png b/textures/mcl_ocean_dead_brain_coral_fan.png new file mode 100644 index 000000000..716f0b9a4 Binary files /dev/null and b/textures/mcl_ocean_dead_brain_coral_fan.png differ diff --git a/textures/mcl_ocean_dead_bubble_coral.png b/textures/mcl_ocean_dead_bubble_coral.png new file mode 100644 index 000000000..3e259083a Binary files /dev/null and b/textures/mcl_ocean_dead_bubble_coral.png differ diff --git a/textures/mcl_ocean_dead_bubble_coral_block.png b/textures/mcl_ocean_dead_bubble_coral_block.png new file mode 100644 index 000000000..1fee1648e Binary files /dev/null and b/textures/mcl_ocean_dead_bubble_coral_block.png differ diff --git a/textures/mcl_ocean_dead_bubble_coral_fan.png b/textures/mcl_ocean_dead_bubble_coral_fan.png new file mode 100644 index 000000000..de1def3e4 Binary files /dev/null and b/textures/mcl_ocean_dead_bubble_coral_fan.png differ diff --git a/textures/mcl_ocean_dead_fire_coral.png b/textures/mcl_ocean_dead_fire_coral.png new file mode 100644 index 000000000..48cbcf17c Binary files /dev/null and b/textures/mcl_ocean_dead_fire_coral.png differ diff --git a/textures/mcl_ocean_dead_fire_coral_block.png b/textures/mcl_ocean_dead_fire_coral_block.png new file mode 100644 index 000000000..9aa1da519 Binary files /dev/null and b/textures/mcl_ocean_dead_fire_coral_block.png differ diff --git a/textures/mcl_ocean_dead_fire_coral_fan.png b/textures/mcl_ocean_dead_fire_coral_fan.png new file mode 100644 index 000000000..0cea55d8e Binary files /dev/null and b/textures/mcl_ocean_dead_fire_coral_fan.png differ diff --git a/textures/mcl_ocean_dead_horn_coral.png b/textures/mcl_ocean_dead_horn_coral.png new file mode 100644 index 000000000..59301d597 Binary files /dev/null and b/textures/mcl_ocean_dead_horn_coral.png differ diff --git a/textures/mcl_ocean_dead_horn_coral_block.png b/textures/mcl_ocean_dead_horn_coral_block.png new file mode 100644 index 000000000..0b2f11d4a Binary files /dev/null and b/textures/mcl_ocean_dead_horn_coral_block.png differ diff --git a/textures/mcl_ocean_dead_horn_coral_fan.png b/textures/mcl_ocean_dead_horn_coral_fan.png new file mode 100644 index 000000000..0900bd778 Binary files /dev/null and b/textures/mcl_ocean_dead_horn_coral_fan.png differ diff --git a/textures/mcl_ocean_dead_tube_coral.png b/textures/mcl_ocean_dead_tube_coral.png new file mode 100644 index 000000000..1ff0862bc Binary files /dev/null and b/textures/mcl_ocean_dead_tube_coral.png differ diff --git a/textures/mcl_ocean_dead_tube_coral_block.png b/textures/mcl_ocean_dead_tube_coral_block.png new file mode 100644 index 000000000..b06cb33d9 Binary files /dev/null and b/textures/mcl_ocean_dead_tube_coral_block.png differ diff --git a/textures/mcl_ocean_dead_tube_coral_fan.png b/textures/mcl_ocean_dead_tube_coral_fan.png new file mode 100644 index 000000000..6340c513f Binary files /dev/null and b/textures/mcl_ocean_dead_tube_coral_fan.png differ diff --git a/textures/mcl_ocean_dried_kelp.png b/textures/mcl_ocean_dried_kelp.png new file mode 100644 index 000000000..7358dd29d Binary files /dev/null and b/textures/mcl_ocean_dried_kelp.png differ diff --git a/textures/mcl_ocean_dried_kelp_bottom.png b/textures/mcl_ocean_dried_kelp_bottom.png new file mode 100644 index 000000000..f3f85134f Binary files /dev/null and b/textures/mcl_ocean_dried_kelp_bottom.png differ diff --git a/textures/mcl_ocean_dried_kelp_side.png b/textures/mcl_ocean_dried_kelp_side.png new file mode 100644 index 000000000..9c3e4237c Binary files /dev/null and b/textures/mcl_ocean_dried_kelp_side.png differ diff --git a/textures/mcl_ocean_dried_kelp_top.png b/textures/mcl_ocean_dried_kelp_top.png new file mode 100644 index 000000000..f3f85134f Binary files /dev/null and b/textures/mcl_ocean_dried_kelp_top.png differ diff --git a/textures/mcl_ocean_fire_coral.png b/textures/mcl_ocean_fire_coral.png new file mode 100644 index 000000000..cf49fca8c Binary files /dev/null and b/textures/mcl_ocean_fire_coral.png differ diff --git a/textures/mcl_ocean_fire_coral_block.png b/textures/mcl_ocean_fire_coral_block.png new file mode 100644 index 000000000..fea7af8c5 Binary files /dev/null and b/textures/mcl_ocean_fire_coral_block.png differ diff --git a/textures/mcl_ocean_fire_coral_fan.png b/textures/mcl_ocean_fire_coral_fan.png new file mode 100644 index 000000000..b88478068 Binary files /dev/null and b/textures/mcl_ocean_fire_coral_fan.png differ diff --git a/textures/mcl_ocean_horn_coral.png b/textures/mcl_ocean_horn_coral.png new file mode 100644 index 000000000..a51711a23 Binary files /dev/null and b/textures/mcl_ocean_horn_coral.png differ diff --git a/textures/mcl_ocean_horn_coral_block.png b/textures/mcl_ocean_horn_coral_block.png new file mode 100644 index 000000000..1192a6e56 Binary files /dev/null and b/textures/mcl_ocean_horn_coral_block.png differ diff --git a/textures/mcl_ocean_horn_coral_fan.png b/textures/mcl_ocean_horn_coral_fan.png new file mode 100644 index 000000000..a885ecf11 Binary files /dev/null and b/textures/mcl_ocean_horn_coral_fan.png differ diff --git a/textures/mcl_ocean_kelp_item.png b/textures/mcl_ocean_kelp_item.png new file mode 100644 index 000000000..d7a10f5c3 Binary files /dev/null and b/textures/mcl_ocean_kelp_item.png differ diff --git a/textures/mcl_ocean_kelp_plant.png b/textures/mcl_ocean_kelp_plant.png new file mode 100644 index 000000000..107fa8a62 Binary files /dev/null and b/textures/mcl_ocean_kelp_plant.png differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_prismarine_anim.png b/textures/mcl_ocean_prismarine_anim.png similarity index 100% rename from mods/ITEMS/mcl_ocean/textures/mcl_ocean_prismarine_anim.png rename to textures/mcl_ocean_prismarine_anim.png diff --git a/textures/mcl_ocean_prismarine_bricks.png b/textures/mcl_ocean_prismarine_bricks.png new file mode 100644 index 000000000..26ba85c7b Binary files /dev/null and b/textures/mcl_ocean_prismarine_bricks.png differ diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_prismarine_crystals.png b/textures/mcl_ocean_prismarine_crystals.png similarity index 100% rename from mods/ITEMS/mcl_ocean/textures/mcl_ocean_prismarine_crystals.png rename to textures/mcl_ocean_prismarine_crystals.png diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_prismarine_dark.png b/textures/mcl_ocean_prismarine_dark.png similarity index 100% rename from mods/ITEMS/mcl_ocean/textures/mcl_ocean_prismarine_dark.png rename to textures/mcl_ocean_prismarine_dark.png diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_prismarine_shard.png b/textures/mcl_ocean_prismarine_shard.png similarity index 100% rename from mods/ITEMS/mcl_ocean/textures/mcl_ocean_prismarine_shard.png rename to textures/mcl_ocean_prismarine_shard.png diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_lantern.png b/textures/mcl_ocean_sea_lantern.png similarity index 100% rename from mods/ITEMS/mcl_ocean/textures/mcl_ocean_sea_lantern.png rename to textures/mcl_ocean_sea_lantern.png diff --git a/textures/mcl_ocean_sea_pickle_1_anim.png b/textures/mcl_ocean_sea_pickle_1_anim.png new file mode 100644 index 000000000..4af3abfbe Binary files /dev/null and b/textures/mcl_ocean_sea_pickle_1_anim.png differ diff --git a/textures/mcl_ocean_sea_pickle_1_off.png b/textures/mcl_ocean_sea_pickle_1_off.png new file mode 100644 index 000000000..3d8403146 Binary files /dev/null and b/textures/mcl_ocean_sea_pickle_1_off.png differ diff --git a/textures/mcl_ocean_sea_pickle_2_anim.png b/textures/mcl_ocean_sea_pickle_2_anim.png new file mode 100644 index 000000000..c8e917b59 Binary files /dev/null and b/textures/mcl_ocean_sea_pickle_2_anim.png differ diff --git a/textures/mcl_ocean_sea_pickle_2_off.png b/textures/mcl_ocean_sea_pickle_2_off.png new file mode 100644 index 000000000..738c570d8 Binary files /dev/null and b/textures/mcl_ocean_sea_pickle_2_off.png differ diff --git a/textures/mcl_ocean_sea_pickle_3_anim.png b/textures/mcl_ocean_sea_pickle_3_anim.png new file mode 100644 index 000000000..112589883 Binary files /dev/null and b/textures/mcl_ocean_sea_pickle_3_anim.png differ diff --git a/textures/mcl_ocean_sea_pickle_3_off.png b/textures/mcl_ocean_sea_pickle_3_off.png new file mode 100644 index 000000000..958fdac35 Binary files /dev/null and b/textures/mcl_ocean_sea_pickle_3_off.png differ diff --git a/textures/mcl_ocean_sea_pickle_4_anim.png b/textures/mcl_ocean_sea_pickle_4_anim.png new file mode 100644 index 000000000..194eb47ce Binary files /dev/null and b/textures/mcl_ocean_sea_pickle_4_anim.png differ diff --git a/textures/mcl_ocean_sea_pickle_4_off.png b/textures/mcl_ocean_sea_pickle_4_off.png new file mode 100644 index 000000000..4f6b13a51 Binary files /dev/null and b/textures/mcl_ocean_sea_pickle_4_off.png differ diff --git a/textures/mcl_ocean_sea_pickle_item.png b/textures/mcl_ocean_sea_pickle_item.png new file mode 100644 index 000000000..0fca2e245 Binary files /dev/null and b/textures/mcl_ocean_sea_pickle_item.png differ diff --git a/textures/mcl_ocean_seagrass.png b/textures/mcl_ocean_seagrass.png new file mode 100644 index 000000000..aab177512 Binary files /dev/null and b/textures/mcl_ocean_seagrass.png differ diff --git a/textures/mcl_ocean_seagrass_item.png b/textures/mcl_ocean_seagrass_item.png new file mode 100644 index 000000000..462bf9cbd Binary files /dev/null and b/textures/mcl_ocean_seagrass_item.png differ diff --git a/textures/mcl_ocean_tube_coral.png b/textures/mcl_ocean_tube_coral.png new file mode 100644 index 000000000..394157d56 Binary files /dev/null and b/textures/mcl_ocean_tube_coral.png differ diff --git a/textures/mcl_ocean_tube_coral_block.png b/textures/mcl_ocean_tube_coral_block.png new file mode 100644 index 000000000..02857340a Binary files /dev/null and b/textures/mcl_ocean_tube_coral_block.png differ diff --git a/textures/mcl_ocean_tube_coral_fan.png b/textures/mcl_ocean_tube_coral_fan.png new file mode 100644 index 000000000..c7b2bebe6 Binary files /dev/null and b/textures/mcl_ocean_tube_coral_fan.png differ diff --git a/mods/HUD/mcl_offhand/textures/mcl_offhand_slot.png b/textures/mcl_offhand_slot.png similarity index 75% rename from mods/HUD/mcl_offhand/textures/mcl_offhand_slot.png rename to textures/mcl_offhand_slot.png index 69ceb5973..9880712e4 100644 Binary files a/mods/HUD/mcl_offhand/textures/mcl_offhand_slot.png and b/textures/mcl_offhand_slot.png differ diff --git a/textures/mcl_paintings_painting.png b/textures/mcl_paintings_painting.png new file mode 100644 index 000000000..5a29f4efb Binary files /dev/null and b/textures/mcl_paintings_painting.png differ diff --git a/mods/ENTITIES/mcl_paintings/textures/mcl_paintings_paintings.png b/textures/mcl_paintings_paintings.png similarity index 100% rename from mods/ENTITIES/mcl_paintings/textures/mcl_paintings_paintings.png rename to textures/mcl_paintings_paintings.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_bonemeal.png b/textures/mcl_particles_bonemeal.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_bonemeal.png rename to textures/mcl_particles_bonemeal.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_bubble.png b/textures/mcl_particles_bubble.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_bubble.png rename to textures/mcl_particles_bubble.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_crit.png b/textures/mcl_particles_crit.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_crit.png rename to textures/mcl_particles_crit.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_droplet_bottle.png b/textures/mcl_particles_droplet_bottle.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_droplet_bottle.png rename to textures/mcl_particles_droplet_bottle.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_effect.png b/textures/mcl_particles_effect.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_effect.png rename to textures/mcl_particles_effect.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_flame.png b/textures/mcl_particles_flame.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_flame.png rename to textures/mcl_particles_flame.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_instant_effect.png b/textures/mcl_particles_instant_effect.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_instant_effect.png rename to textures/mcl_particles_instant_effect.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_lava.png b/textures/mcl_particles_lava.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_lava.png rename to textures/mcl_particles_lava.png diff --git a/textures/mcl_particles_mob_death.png b/textures/mcl_particles_mob_death.png new file mode 100644 index 000000000..2006dd5d1 Binary files /dev/null and b/textures/mcl_particles_mob_death.png differ diff --git a/mods/ENVIRONMENT/mcl_weather/textures/mcl_particles_nether_dust1.png b/textures/mcl_particles_nether_dust1.png similarity index 100% rename from mods/ENVIRONMENT/mcl_weather/textures/mcl_particles_nether_dust1.png rename to textures/mcl_particles_nether_dust1.png diff --git a/mods/ENVIRONMENT/mcl_weather/textures/mcl_particles_nether_dust2.png b/textures/mcl_particles_nether_dust2.png similarity index 100% rename from mods/ENVIRONMENT/mcl_weather/textures/mcl_particles_nether_dust2.png rename to textures/mcl_particles_nether_dust2.png diff --git a/mods/ENVIRONMENT/mcl_weather/textures/mcl_particles_nether_dust3.png b/textures/mcl_particles_nether_dust3.png similarity index 100% rename from mods/ENVIRONMENT/mcl_weather/textures/mcl_particles_nether_dust3.png rename to textures/mcl_particles_nether_dust3.png diff --git a/mods/ITEMS/mcl_portals/textures/mcl_particles_nether_portal.png b/textures/mcl_particles_nether_portal.png similarity index 100% rename from mods/ITEMS/mcl_portals/textures/mcl_particles_nether_portal.png rename to textures/mcl_particles_nether_portal.png diff --git a/mods/ITEMS/mcl_portals/textures/mcl_particles_nether_portal_t.png b/textures/mcl_particles_nether_portal_t.png similarity index 100% rename from mods/ITEMS/mcl_portals/textures/mcl_particles_nether_portal_t.png rename to textures/mcl_particles_nether_portal_t.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_note.png b/textures/mcl_particles_note.png similarity index 57% rename from mods/CORE/mcl_particles/textures/mcl_particles_note.png rename to textures/mcl_particles_note.png index 9fb2c923a..4e2931768 100644 Binary files a/mods/CORE/mcl_particles/textures/mcl_particles_note.png and b/textures/mcl_particles_note.png differ diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_smoke.png b/textures/mcl_particles_smoke.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_smoke.png rename to textures/mcl_particles_smoke.png diff --git a/textures/mcl_particles_smoke_anim.png b/textures/mcl_particles_smoke_anim.png new file mode 100644 index 000000000..76e116a2e Binary files /dev/null and b/textures/mcl_particles_smoke_anim.png differ diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_soul_fire_flame.png b/textures/mcl_particles_soul_fire_flame.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_soul_fire_flame.png rename to textures/mcl_particles_soul_fire_flame.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_sponge1.png b/textures/mcl_particles_sponge1.png similarity index 76% rename from mods/CORE/mcl_particles/textures/mcl_particles_sponge1.png rename to textures/mcl_particles_sponge1.png index e8099a41a..ada90731e 100644 Binary files a/mods/CORE/mcl_particles/textures/mcl_particles_sponge1.png and b/textures/mcl_particles_sponge1.png differ diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_sponge2.png b/textures/mcl_particles_sponge2.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_sponge2.png rename to textures/mcl_particles_sponge2.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_sponge3.png b/textures/mcl_particles_sponge3.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_sponge3.png rename to textures/mcl_particles_sponge3.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_sponge4.png b/textures/mcl_particles_sponge4.png similarity index 76% rename from mods/CORE/mcl_particles/textures/mcl_particles_sponge4.png rename to textures/mcl_particles_sponge4.png index 7ee00cbf5..f1e05ee6a 100644 Binary files a/mods/CORE/mcl_particles/textures/mcl_particles_sponge4.png and b/textures/mcl_particles_sponge4.png differ diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_sponge5.png b/textures/mcl_particles_sponge5.png similarity index 72% rename from mods/CORE/mcl_particles/textures/mcl_particles_sponge5.png rename to textures/mcl_particles_sponge5.png index 5278caff3..b492718b5 100644 Binary files a/mods/CORE/mcl_particles/textures/mcl_particles_sponge5.png and b/textures/mcl_particles_sponge5.png differ diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_teleport.png b/textures/mcl_particles_teleport.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_teleport.png rename to textures/mcl_particles_teleport.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_totem1.png b/textures/mcl_particles_totem1.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_totem1.png rename to textures/mcl_particles_totem1.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_totem2.png b/textures/mcl_particles_totem2.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_totem2.png rename to textures/mcl_particles_totem2.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_totem3.png b/textures/mcl_particles_totem3.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_totem3.png rename to textures/mcl_particles_totem3.png diff --git a/mods/CORE/mcl_particles/textures/mcl_particles_totem4.png b/textures/mcl_particles_totem4.png similarity index 100% rename from mods/CORE/mcl_particles/textures/mcl_particles_totem4.png rename to textures/mcl_particles_totem4.png diff --git a/mods/PLAYER/mcl_playerplus/textures/mcl_playerplus_end_sky.png b/textures/mcl_playerplus_end_sky.png similarity index 100% rename from mods/PLAYER/mcl_playerplus/textures/mcl_playerplus_end_sky.png rename to textures/mcl_playerplus_end_sky.png diff --git a/textures/mcl_playerplus_water.png b/textures/mcl_playerplus_water.png new file mode 100644 index 000000000..1c15685ad Binary files /dev/null and b/textures/mcl_playerplus_water.png differ diff --git a/mods/ITEMS/mcl_deepslate/textures/mcl_polished_deepslate.png b/textures/mcl_polished_deepslate.png similarity index 93% rename from mods/ITEMS/mcl_deepslate/textures/mcl_polished_deepslate.png rename to textures/mcl_polished_deepslate.png index cfbc9c418..c567b3048 100644 Binary files a/mods/ITEMS/mcl_deepslate/textures/mcl_polished_deepslate.png and b/textures/mcl_polished_deepslate.png differ diff --git a/textures/mcl_portals_end_portal.png b/textures/mcl_portals_end_portal.png new file mode 100644 index 000000000..1003beb31 Binary files /dev/null and b/textures/mcl_portals_end_portal.png differ diff --git a/mods/ITEMS/mcl_portals/textures/mcl_portals_endframe_bottom.png b/textures/mcl_portals_endframe_bottom.png similarity index 100% rename from mods/ITEMS/mcl_portals/textures/mcl_portals_endframe_bottom.png rename to textures/mcl_portals_endframe_bottom.png diff --git a/mods/ITEMS/mcl_portals/textures/mcl_portals_endframe_eye.png b/textures/mcl_portals_endframe_eye.png similarity index 100% rename from mods/ITEMS/mcl_portals/textures/mcl_portals_endframe_eye.png rename to textures/mcl_portals_endframe_eye.png diff --git a/textures/mcl_portals_endframe_side.png b/textures/mcl_portals_endframe_side.png new file mode 100644 index 000000000..6922795ed Binary files /dev/null and b/textures/mcl_portals_endframe_side.png differ diff --git a/mods/ITEMS/mcl_portals/textures/mcl_portals_endframe_top.png b/textures/mcl_portals_endframe_top.png similarity index 100% rename from mods/ITEMS/mcl_portals/textures/mcl_portals_endframe_top.png rename to textures/mcl_portals_endframe_top.png diff --git a/mods/ITEMS/mcl_portals/textures/mcl_portals_particle1.png b/textures/mcl_portals_particle1.png similarity index 100% rename from mods/ITEMS/mcl_portals/textures/mcl_portals_particle1.png rename to textures/mcl_portals_particle1.png diff --git a/mods/ITEMS/mcl_portals/textures/mcl_portals_particle2.png b/textures/mcl_portals_particle2.png similarity index 100% rename from mods/ITEMS/mcl_portals/textures/mcl_portals_particle2.png rename to textures/mcl_portals_particle2.png diff --git a/mods/ITEMS/mcl_portals/textures/mcl_portals_particle3.png b/textures/mcl_portals_particle3.png similarity index 100% rename from mods/ITEMS/mcl_portals/textures/mcl_portals_particle3.png rename to textures/mcl_portals_particle3.png diff --git a/mods/ITEMS/mcl_portals/textures/mcl_portals_particle4.png b/textures/mcl_portals_particle4.png similarity index 100% rename from mods/ITEMS/mcl_portals/textures/mcl_portals_particle4.png rename to textures/mcl_portals_particle4.png diff --git a/mods/ITEMS/mcl_portals/textures/mcl_portals_particle5.png b/textures/mcl_portals_particle5.png similarity index 100% rename from mods/ITEMS/mcl_portals/textures/mcl_portals_particle5.png rename to textures/mcl_portals_particle5.png diff --git a/textures/mcl_portals_portal.png b/textures/mcl_portals_portal.png new file mode 100644 index 000000000..ca5a182df Binary files /dev/null and b/textures/mcl_portals_portal.png differ diff --git a/textures/mcl_potions_arrow_inv.png b/textures/mcl_potions_arrow_inv.png new file mode 100644 index 000000000..0f84edba1 Binary files /dev/null and b/textures/mcl_potions_arrow_inv.png differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_dragon_breath.png b/textures/mcl_potions_dragon_breath.png similarity index 100% rename from mods/ITEMS/mcl_potions/textures/mcl_potions_dragon_breath.png rename to textures/mcl_potions_dragon_breath.png diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_bad_omen.png b/textures/mcl_potions_effect_bad_omen.png similarity index 93% rename from mods/ITEMS/mcl_potions/textures/mcl_potions_effect_bad_omen.png rename to textures/mcl_potions_effect_bad_omen.png index dfe8f0332..d5a259667 100644 Binary files a/mods/ITEMS/mcl_potions/textures/mcl_potions_effect_bad_omen.png and b/textures/mcl_potions_effect_bad_omen.png differ diff --git a/textures/mcl_potions_effect_fire_proof.png b/textures/mcl_potions_effect_fire_proof.png new file mode 100644 index 000000000..c5acb77a4 Binary files /dev/null and b/textures/mcl_potions_effect_fire_proof.png differ diff --git a/textures/mcl_potions_effect_food_poisoning.png b/textures/mcl_potions_effect_food_poisoning.png new file mode 100644 index 000000000..2c86a72c0 Binary files /dev/null and b/textures/mcl_potions_effect_food_poisoning.png differ diff --git a/textures/mcl_potions_effect_invisible.png b/textures/mcl_potions_effect_invisible.png new file mode 100644 index 000000000..1d8558754 Binary files /dev/null and b/textures/mcl_potions_effect_invisible.png differ diff --git a/textures/mcl_potions_effect_leaping.png b/textures/mcl_potions_effect_leaping.png new file mode 100644 index 000000000..efd631a5d Binary files /dev/null and b/textures/mcl_potions_effect_leaping.png differ diff --git a/textures/mcl_potions_effect_night_vision.png b/textures/mcl_potions_effect_night_vision.png new file mode 100644 index 000000000..1db9385ef Binary files /dev/null and b/textures/mcl_potions_effect_night_vision.png differ diff --git a/textures/mcl_potions_effect_poisoned.png b/textures/mcl_potions_effect_poisoned.png new file mode 100644 index 000000000..63ec12afd Binary files /dev/null and b/textures/mcl_potions_effect_poisoned.png differ diff --git a/textures/mcl_potions_effect_regenerating.png b/textures/mcl_potions_effect_regenerating.png new file mode 100644 index 000000000..4185e2047 Binary files /dev/null and b/textures/mcl_potions_effect_regenerating.png differ diff --git a/textures/mcl_potions_effect_slow.png b/textures/mcl_potions_effect_slow.png new file mode 100644 index 000000000..a8a03be35 Binary files /dev/null and b/textures/mcl_potions_effect_slow.png differ diff --git a/textures/mcl_potions_effect_strong.png b/textures/mcl_potions_effect_strong.png new file mode 100644 index 000000000..217c5d647 Binary files /dev/null and b/textures/mcl_potions_effect_strong.png differ diff --git a/textures/mcl_potions_effect_swift.png b/textures/mcl_potions_effect_swift.png new file mode 100644 index 000000000..ae7dd27d3 Binary files /dev/null and b/textures/mcl_potions_effect_swift.png differ diff --git a/textures/mcl_potions_effect_water_breathing.png b/textures/mcl_potions_effect_water_breathing.png new file mode 100644 index 000000000..f6c44f23e Binary files /dev/null and b/textures/mcl_potions_effect_water_breathing.png differ diff --git a/textures/mcl_potions_effect_weak.png b/textures/mcl_potions_effect_weak.png new file mode 100644 index 000000000..61cec03ca Binary files /dev/null and b/textures/mcl_potions_effect_weak.png differ diff --git a/textures/mcl_potions_lingering_bottle.png b/textures/mcl_potions_lingering_bottle.png new file mode 100644 index 000000000..2a887477d Binary files /dev/null and b/textures/mcl_potions_lingering_bottle.png differ diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_melon_speckled.png b/textures/mcl_potions_melon_speckled.png similarity index 100% rename from mods/ITEMS/mcl_potions/textures/mcl_potions_melon_speckled.png rename to textures/mcl_potions_melon_speckled.png diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_potion_bottle.png b/textures/mcl_potions_potion_bottle.png similarity index 100% rename from mods/ITEMS/mcl_potions/textures/mcl_potions_potion_bottle.png rename to textures/mcl_potions_potion_bottle.png diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_potion_overlay.png b/textures/mcl_potions_potion_overlay.png similarity index 100% rename from mods/ITEMS/mcl_potions/textures/mcl_potions_potion_overlay.png rename to textures/mcl_potions_potion_overlay.png diff --git a/mods/ITEMS/mcl_potions/textures/mcl_potions_spider_eye_fermented.png b/textures/mcl_potions_spider_eye_fermented.png similarity index 100% rename from mods/ITEMS/mcl_potions/textures/mcl_potions_spider_eye_fermented.png rename to textures/mcl_potions_spider_eye_fermented.png diff --git a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_bottle_bg.png b/textures/mcl_potions_splash_bottle.png similarity index 66% rename from mods/ITEMS/mcl_brewing/textures/mcl_brewing_bottle_bg.png rename to textures/mcl_potions_splash_bottle.png index c0c4fd2be..1275627fd 100644 Binary files a/mods/ITEMS/mcl_brewing/textures/mcl_brewing_bottle_bg.png and b/textures/mcl_potions_splash_bottle.png differ diff --git a/textures/mcl_potions_splash_overlay.png b/textures/mcl_potions_splash_overlay.png new file mode 100644 index 000000000..12402033b Binary files /dev/null and b/textures/mcl_potions_splash_overlay.png differ diff --git a/mods/ENVIRONMENT/mcl_raids/textures/mcl_raids_hero_of_the_village_icon.png b/textures/mcl_raids_hero_of_the_village_icon.png similarity index 93% rename from mods/ENVIRONMENT/mcl_raids/textures/mcl_raids_hero_of_the_village_icon.png rename to textures/mcl_raids_hero_of_the_village_icon.png index 0db5d9613..41e0a4e89 100644 Binary files a/mods/ENVIRONMENT/mcl_raids/textures/mcl_raids_hero_of_the_village_icon.png and b/textures/mcl_raids_hero_of_the_village_icon.png differ diff --git a/textures/mcl_raw_ores_raw_gold.png b/textures/mcl_raw_ores_raw_gold.png new file mode 100644 index 000000000..4c7c2cd7f Binary files /dev/null and b/textures/mcl_raw_ores_raw_gold.png differ diff --git a/textures/mcl_raw_ores_raw_gold_block.png b/textures/mcl_raw_ores_raw_gold_block.png new file mode 100644 index 000000000..197dcfd27 Binary files /dev/null and b/textures/mcl_raw_ores_raw_gold_block.png differ diff --git a/textures/mcl_raw_ores_raw_iron.png b/textures/mcl_raw_ores_raw_iron.png new file mode 100644 index 000000000..5903ab00e Binary files /dev/null and b/textures/mcl_raw_ores_raw_iron.png differ diff --git a/textures/mcl_raw_ores_raw_iron_block.png b/textures/mcl_raw_ores_raw_iron_block.png new file mode 100644 index 000000000..ec00b3ae4 Binary files /dev/null and b/textures/mcl_raw_ores_raw_iron_block.png differ diff --git a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_catalyst_bottom.png b/textures/mcl_sculk_catalyst_bottom.png similarity index 91% rename from mods/ITEMS/mcl_sculk/textures/mcl_sculk_catalyst_bottom.png rename to textures/mcl_sculk_catalyst_bottom.png index 1e50bfaae..16c16b64d 100644 Binary files a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_catalyst_bottom.png and b/textures/mcl_sculk_catalyst_bottom.png differ diff --git a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_catalyst_side.png b/textures/mcl_sculk_catalyst_side.png similarity index 90% rename from mods/ITEMS/mcl_sculk/textures/mcl_sculk_catalyst_side.png rename to textures/mcl_sculk_catalyst_side.png index 1a4edb6ed..417164740 100644 Binary files a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_catalyst_side.png and b/textures/mcl_sculk_catalyst_side.png differ diff --git a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_catalyst_top.png b/textures/mcl_sculk_catalyst_top.png similarity index 93% rename from mods/ITEMS/mcl_sculk/textures/mcl_sculk_catalyst_top.png rename to textures/mcl_sculk_catalyst_top.png index f3b4ebb95..73f14eda0 100644 Binary files a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_catalyst_top.png and b/textures/mcl_sculk_catalyst_top.png differ diff --git a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_sculk.png b/textures/mcl_sculk_sculk.png similarity index 89% rename from mods/ITEMS/mcl_sculk/textures/mcl_sculk_sculk.png rename to textures/mcl_sculk_sculk.png index 75edbae9a..fb23b83d9 100644 Binary files a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_sculk.png and b/textures/mcl_sculk_sculk.png differ diff --git a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_sensor_bottom.png b/textures/mcl_sculk_sensor_bottom.png similarity index 92% rename from mods/ITEMS/mcl_sculk/textures/mcl_sculk_sensor_bottom.png rename to textures/mcl_sculk_sensor_bottom.png index e1f5e9242..4d536d8ff 100644 Binary files a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_sensor_bottom.png and b/textures/mcl_sculk_sensor_bottom.png differ diff --git a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_sensor_side.png b/textures/mcl_sculk_sensor_side.png similarity index 93% rename from mods/ITEMS/mcl_sculk/textures/mcl_sculk_sensor_side.png rename to textures/mcl_sculk_sensor_side.png index 1041bf367..cee486ad2 100644 Binary files a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_sensor_side.png and b/textures/mcl_sculk_sensor_side.png differ diff --git a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_sensor_top.png b/textures/mcl_sculk_sensor_top.png similarity index 91% rename from mods/ITEMS/mcl_sculk/textures/mcl_sculk_sensor_top.png rename to textures/mcl_sculk_sensor_top.png index 3bdb0e7f5..896307ba8 100644 Binary files a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_sensor_top.png and b/textures/mcl_sculk_sensor_top.png differ diff --git a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_shrieker_bottom.png b/textures/mcl_sculk_shrieker_bottom.png similarity index 92% rename from mods/ITEMS/mcl_sculk/textures/mcl_sculk_shrieker_bottom.png rename to textures/mcl_sculk_shrieker_bottom.png index e1f5e9242..4d536d8ff 100644 Binary files a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_shrieker_bottom.png and b/textures/mcl_sculk_shrieker_bottom.png differ diff --git a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_shrieker_side.png b/textures/mcl_sculk_shrieker_side.png similarity index 90% rename from mods/ITEMS/mcl_sculk/textures/mcl_sculk_shrieker_side.png rename to textures/mcl_sculk_shrieker_side.png index b5a176dd6..9af2f8f0a 100644 Binary files a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_shrieker_side.png and b/textures/mcl_sculk_shrieker_side.png differ diff --git a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_shrieker_top.png b/textures/mcl_sculk_shrieker_top.png similarity index 94% rename from mods/ITEMS/mcl_sculk/textures/mcl_sculk_shrieker_top.png rename to textures/mcl_sculk_shrieker_top.png index 6bd98fb53..bc4a6c3f0 100644 Binary files a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_shrieker_top.png and b/textures/mcl_sculk_shrieker_top.png differ diff --git a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_vein.png b/textures/mcl_sculk_vein.png similarity index 94% rename from mods/ITEMS/mcl_sculk/textures/mcl_sculk_vein.png rename to textures/mcl_sculk_vein.png index 53d62f70b..9c61bace5 100644 Binary files a/mods/ITEMS/mcl_sculk/textures/mcl_sculk_vein.png and b/textures/mcl_sculk_vein.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield.png b/textures/mcl_shield.png similarity index 76% rename from mods/ITEMS/mcl_shields/textures/mcl_shield.png rename to textures/mcl_shield.png index 7391636e9..2b132ce3e 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield.png and b/textures/mcl_shield.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_base_nopattern.png b/textures/mcl_shield_base_nopattern.png similarity index 72% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_base_nopattern.png rename to textures/mcl_shield_base_nopattern.png index 8146632bb..4fc344791 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_base_nopattern.png and b/textures/mcl_shield_base_nopattern.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_hud.png b/textures/mcl_shield_hud.png similarity index 100% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_hud.png rename to textures/mcl_shield_hud.png diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_item_overlay.png b/textures/mcl_shield_item_overlay.png similarity index 80% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_item_overlay.png rename to textures/mcl_shield_item_overlay.png index 3e7953609..72728886d 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_item_overlay.png and b/textures/mcl_shield_item_overlay.png differ diff --git a/textures/mcl_shield_pattern_base.png b/textures/mcl_shield_pattern_base.png new file mode 100644 index 000000000..a154c63d0 Binary files /dev/null and b/textures/mcl_shield_pattern_base.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_border.png b/textures/mcl_shield_pattern_border.png similarity index 78% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_border.png rename to textures/mcl_shield_pattern_border.png index e128218e6..e74d49676 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_border.png and b/textures/mcl_shield_pattern_border.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_bricks.png b/textures/mcl_shield_pattern_bricks.png similarity index 80% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_bricks.png rename to textures/mcl_shield_pattern_bricks.png index f1ddd716b..2316b6815 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_bricks.png and b/textures/mcl_shield_pattern_bricks.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_circle.png b/textures/mcl_shield_pattern_circle.png similarity index 74% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_circle.png rename to textures/mcl_shield_pattern_circle.png index 8ff66b8c8..333e6ecb7 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_circle.png and b/textures/mcl_shield_pattern_circle.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_creeper.png b/textures/mcl_shield_pattern_creeper.png similarity index 76% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_creeper.png rename to textures/mcl_shield_pattern_creeper.png index 5b30dc76b..693afc0f3 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_creeper.png and b/textures/mcl_shield_pattern_creeper.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_cross.png b/textures/mcl_shield_pattern_cross.png similarity index 78% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_cross.png rename to textures/mcl_shield_pattern_cross.png index 40a6624ae..52810a001 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_cross.png and b/textures/mcl_shield_pattern_cross.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_curly_border.png b/textures/mcl_shield_pattern_curly_border.png similarity index 79% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_curly_border.png rename to textures/mcl_shield_pattern_curly_border.png index 9f8c21773..085442087 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_curly_border.png and b/textures/mcl_shield_pattern_curly_border.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_diagonal_left.png b/textures/mcl_shield_pattern_diagonal_left.png similarity index 78% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_diagonal_left.png rename to textures/mcl_shield_pattern_diagonal_left.png index a04a6fdc0..abff49546 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_diagonal_left.png and b/textures/mcl_shield_pattern_diagonal_left.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_diagonal_right.png b/textures/mcl_shield_pattern_diagonal_right.png similarity index 77% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_diagonal_right.png rename to textures/mcl_shield_pattern_diagonal_right.png index 309f711bf..5f6192807 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_diagonal_right.png and b/textures/mcl_shield_pattern_diagonal_right.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_diagonal_up_left.png b/textures/mcl_shield_pattern_diagonal_up_left.png similarity index 77% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_diagonal_up_left.png rename to textures/mcl_shield_pattern_diagonal_up_left.png index c5f4399a0..700f6fbd9 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_diagonal_up_left.png and b/textures/mcl_shield_pattern_diagonal_up_left.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_diagonal_up_right.png b/textures/mcl_shield_pattern_diagonal_up_right.png similarity index 77% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_diagonal_up_right.png rename to textures/mcl_shield_pattern_diagonal_up_right.png index 59dd957dd..e17ef5fa4 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_diagonal_up_right.png and b/textures/mcl_shield_pattern_diagonal_up_right.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_flower.png b/textures/mcl_shield_pattern_flower.png similarity index 77% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_flower.png rename to textures/mcl_shield_pattern_flower.png index fe7ca826f..8d5a4f843 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_flower.png and b/textures/mcl_shield_pattern_flower.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_gradient.png b/textures/mcl_shield_pattern_gradient.png similarity index 100% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_gradient.png rename to textures/mcl_shield_pattern_gradient.png diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_gradient_up.png b/textures/mcl_shield_pattern_gradient_up.png similarity index 100% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_gradient_up.png rename to textures/mcl_shield_pattern_gradient_up.png diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_half_horizontal.png b/textures/mcl_shield_pattern_half_horizontal.png similarity index 72% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_half_horizontal.png rename to textures/mcl_shield_pattern_half_horizontal.png index 5187803b3..b8bfcaa57 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_half_horizontal.png and b/textures/mcl_shield_pattern_half_horizontal.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_half_horizontal_bottom.png b/textures/mcl_shield_pattern_half_horizontal_bottom.png similarity index 73% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_half_horizontal_bottom.png rename to textures/mcl_shield_pattern_half_horizontal_bottom.png index 515e6ddfe..a2b3999fa 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_half_horizontal_bottom.png and b/textures/mcl_shield_pattern_half_horizontal_bottom.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_half_vertical.png b/textures/mcl_shield_pattern_half_vertical.png similarity index 73% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_half_vertical.png rename to textures/mcl_shield_pattern_half_vertical.png index 9a56804da..6275ede06 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_half_vertical.png and b/textures/mcl_shield_pattern_half_vertical.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_half_vertical_right.png b/textures/mcl_shield_pattern_half_vertical_right.png similarity index 73% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_half_vertical_right.png rename to textures/mcl_shield_pattern_half_vertical_right.png index 4a5af61fb..95ee05ca9 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_half_vertical_right.png and b/textures/mcl_shield_pattern_half_vertical_right.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_rhombus.png b/textures/mcl_shield_pattern_rhombus.png similarity index 75% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_rhombus.png rename to textures/mcl_shield_pattern_rhombus.png index 13b502289..afa059bf3 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_rhombus.png and b/textures/mcl_shield_pattern_rhombus.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_skull.png b/textures/mcl_shield_pattern_skull.png similarity index 76% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_skull.png rename to textures/mcl_shield_pattern_skull.png index 4e0c7c1f5..7d9699fc4 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_skull.png and b/textures/mcl_shield_pattern_skull.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_small_stripes.png b/textures/mcl_shield_pattern_small_stripes.png similarity index 81% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_small_stripes.png rename to textures/mcl_shield_pattern_small_stripes.png index f125ba2fb..3f1d26be2 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_small_stripes.png and b/textures/mcl_shield_pattern_small_stripes.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_square_bottom_left.png b/textures/mcl_shield_pattern_square_bottom_left.png similarity index 76% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_square_bottom_left.png rename to textures/mcl_shield_pattern_square_bottom_left.png index a5c4e00c0..c97cc0854 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_square_bottom_left.png and b/textures/mcl_shield_pattern_square_bottom_left.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_square_bottom_right.png b/textures/mcl_shield_pattern_square_bottom_right.png similarity index 76% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_square_bottom_right.png rename to textures/mcl_shield_pattern_square_bottom_right.png index ca2c53692..edbe6cb71 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_square_bottom_right.png and b/textures/mcl_shield_pattern_square_bottom_right.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_square_top_left.png b/textures/mcl_shield_pattern_square_top_left.png similarity index 73% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_square_top_left.png rename to textures/mcl_shield_pattern_square_top_left.png index 2123cba15..b50c3eec8 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_square_top_left.png and b/textures/mcl_shield_pattern_square_top_left.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_square_top_right.png b/textures/mcl_shield_pattern_square_top_right.png similarity index 73% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_square_top_right.png rename to textures/mcl_shield_pattern_square_top_right.png index 3f7a759a8..404c81d2e 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_square_top_right.png and b/textures/mcl_shield_pattern_square_top_right.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_straight_cross.png b/textures/mcl_shield_pattern_straight_cross.png similarity index 76% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_straight_cross.png rename to textures/mcl_shield_pattern_straight_cross.png index dc861f048..c202d1711 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_straight_cross.png and b/textures/mcl_shield_pattern_straight_cross.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_bottom.png b/textures/mcl_shield_pattern_stripe_bottom.png similarity index 74% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_bottom.png rename to textures/mcl_shield_pattern_stripe_bottom.png index 859ad11d1..585b9bd4c 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_bottom.png and b/textures/mcl_shield_pattern_stripe_bottom.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_center.png b/textures/mcl_shield_pattern_stripe_center.png similarity index 76% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_center.png rename to textures/mcl_shield_pattern_stripe_center.png index 8d1e2404c..e3b39aee2 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_center.png and b/textures/mcl_shield_pattern_stripe_center.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_downleft.png b/textures/mcl_shield_pattern_stripe_downleft.png similarity index 79% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_downleft.png rename to textures/mcl_shield_pattern_stripe_downleft.png index c0a93cd4f..490b3237a 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_downleft.png and b/textures/mcl_shield_pattern_stripe_downleft.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_downright.png b/textures/mcl_shield_pattern_stripe_downright.png similarity index 78% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_downright.png rename to textures/mcl_shield_pattern_stripe_downright.png index 09580857c..3b0d530cf 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_downright.png and b/textures/mcl_shield_pattern_stripe_downright.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_left.png b/textures/mcl_shield_pattern_stripe_left.png similarity index 76% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_left.png rename to textures/mcl_shield_pattern_stripe_left.png index 6e5bcb02e..3a13a4803 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_left.png and b/textures/mcl_shield_pattern_stripe_left.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_middle.png b/textures/mcl_shield_pattern_stripe_middle.png similarity index 72% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_middle.png rename to textures/mcl_shield_pattern_stripe_middle.png index af5ebc12a..ebe5891c3 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_middle.png and b/textures/mcl_shield_pattern_stripe_middle.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_right.png b/textures/mcl_shield_pattern_stripe_right.png similarity index 76% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_right.png rename to textures/mcl_shield_pattern_stripe_right.png index dcb911b68..f329ee5bf 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_right.png and b/textures/mcl_shield_pattern_stripe_right.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_top.png b/textures/mcl_shield_pattern_stripe_top.png similarity index 73% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_top.png rename to textures/mcl_shield_pattern_stripe_top.png index a1e10be46..10b01e33f 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_stripe_top.png and b/textures/mcl_shield_pattern_stripe_top.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_thing.png b/textures/mcl_shield_pattern_thing.png similarity index 76% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_thing.png rename to textures/mcl_shield_pattern_thing.png index 43b2a1d49..c4f9808fd 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_thing.png and b/textures/mcl_shield_pattern_thing.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_triangle_bottom.png b/textures/mcl_shield_pattern_triangle_bottom.png similarity index 68% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_triangle_bottom.png rename to textures/mcl_shield_pattern_triangle_bottom.png index 87d1aa95b..edae90068 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_triangle_bottom.png and b/textures/mcl_shield_pattern_triangle_bottom.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_triangle_top.png b/textures/mcl_shield_pattern_triangle_top.png similarity index 74% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_triangle_top.png rename to textures/mcl_shield_pattern_triangle_top.png index 94d652878..94829274b 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_triangle_top.png and b/textures/mcl_shield_pattern_triangle_top.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_triangles_bottom.png b/textures/mcl_shield_pattern_triangles_bottom.png similarity index 76% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_triangles_bottom.png rename to textures/mcl_shield_pattern_triangles_bottom.png index 3e4851abb..66fa4eaf1 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_triangles_bottom.png and b/textures/mcl_shield_pattern_triangles_bottom.png differ diff --git a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_triangles_top.png b/textures/mcl_shield_pattern_triangles_top.png similarity index 75% rename from mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_triangles_top.png rename to textures/mcl_shield_pattern_triangles_top.png index 0ae85d6d1..3ca1f773e 100644 Binary files a/mods/ITEMS/mcl_shields/textures/mcl_shield_pattern_triangles_top.png and b/textures/mcl_shield_pattern_triangles_top.png differ diff --git a/mods/ITEMS/mcl_signs/textures/default_sign.png b/textures/mcl_signs_default_sign.png similarity index 95% rename from mods/ITEMS/mcl_signs/textures/default_sign.png rename to textures/mcl_signs_default_sign.png index 8fcee7e9f..ab631333b 100644 Binary files a/mods/ITEMS/mcl_signs/textures/default_sign.png and b/textures/mcl_signs_default_sign.png differ diff --git a/mods/ITEMS/mcl_signs/textures/default_sign_dark.png b/textures/mcl_signs_default_sign_dark.png similarity index 91% rename from mods/ITEMS/mcl_signs/textures/default_sign_dark.png rename to textures/mcl_signs_default_sign_dark.png index 016098238..90e5c7efe 100644 Binary files a/mods/ITEMS/mcl_signs/textures/default_sign_dark.png and b/textures/mcl_signs_default_sign_dark.png differ diff --git a/mods/ITEMS/mcl_signs/textures/default_sign_greyscale.png b/textures/mcl_signs_default_sign_greyscale.png similarity index 91% rename from mods/ITEMS/mcl_signs/textures/default_sign_greyscale.png rename to textures/mcl_signs_default_sign_greyscale.png index 570851a6a..1cd41d882 100644 Binary files a/mods/ITEMS/mcl_signs/textures/default_sign_greyscale.png and b/textures/mcl_signs_default_sign_greyscale.png differ diff --git a/mods/ITEMS/mcl_signs/textures/mcl_signs_sign.png b/textures/mcl_signs_sign.png similarity index 100% rename from mods/ITEMS/mcl_signs/textures/mcl_signs_sign.png rename to textures/mcl_signs_sign.png diff --git a/textures/mcl_signs_sign_dark.png b/textures/mcl_signs_sign_dark.png new file mode 100644 index 000000000..f6fcf77cf Binary files /dev/null and b/textures/mcl_signs_sign_dark.png differ diff --git a/textures/mcl_signs_sign_greyscale.png b/textures/mcl_signs_sign_greyscale.png new file mode 100644 index 000000000..8d6e29e4d Binary files /dev/null and b/textures/mcl_signs_sign_greyscale.png differ diff --git a/textures/mcl_skins_arrow.png b/textures/mcl_skins_arrow.png new file mode 100644 index 000000000..ea839ed4e Binary files /dev/null and b/textures/mcl_skins_arrow.png differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_base_1.png b/textures/mcl_skins_base_1.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_base_1.png rename to textures/mcl_skins_base_1.png diff --git a/textures/mcl_skins_base_1_mask.png b/textures/mcl_skins_base_1_mask.png new file mode 100644 index 000000000..21b0e8ce0 Binary files /dev/null and b/textures/mcl_skins_base_1_mask.png differ diff --git a/textures/mcl_skins_bottom_1.png b/textures/mcl_skins_bottom_1.png new file mode 100644 index 000000000..733cd8aa4 Binary files /dev/null and b/textures/mcl_skins_bottom_1.png differ diff --git a/textures/mcl_skins_bottom_1_mask.png b/textures/mcl_skins_bottom_1_mask.png new file mode 100644 index 000000000..772966421 Binary files /dev/null and b/textures/mcl_skins_bottom_1_mask.png differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_2.png b/textures/mcl_skins_bottom_2.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_2.png rename to textures/mcl_skins_bottom_2.png diff --git a/textures/mcl_skins_bottom_2_mask.png b/textures/mcl_skins_bottom_2_mask.png new file mode 100644 index 000000000..351e2dd85 Binary files /dev/null and b/textures/mcl_skins_bottom_2_mask.png differ diff --git a/textures/mcl_skins_bottom_3.png b/textures/mcl_skins_bottom_3.png new file mode 100644 index 000000000..01e7c0714 Binary files /dev/null and b/textures/mcl_skins_bottom_3.png differ diff --git a/textures/mcl_skins_bottom_3_mask.png b/textures/mcl_skins_bottom_3_mask.png new file mode 100644 index 000000000..8e389272b Binary files /dev/null and b/textures/mcl_skins_bottom_3_mask.png differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_4.png b/textures/mcl_skins_bottom_4.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_bottom_4.png rename to textures/mcl_skins_bottom_4.png diff --git a/textures/mcl_skins_bottom_4_mask.png b/textures/mcl_skins_bottom_4_mask.png new file mode 100644 index 000000000..7c1f752b8 Binary files /dev/null and b/textures/mcl_skins_bottom_4_mask.png differ diff --git a/textures/mcl_skins_button.png b/textures/mcl_skins_button.png new file mode 100644 index 000000000..d46cf9f38 Binary files /dev/null and b/textures/mcl_skins_button.png differ diff --git a/textures/mcl_skins_eye_1.png b/textures/mcl_skins_eye_1.png new file mode 100644 index 000000000..49caef689 Binary files /dev/null and b/textures/mcl_skins_eye_1.png differ diff --git a/textures/mcl_skins_eye_2.png b/textures/mcl_skins_eye_2.png new file mode 100644 index 000000000..6928ae533 Binary files /dev/null and b/textures/mcl_skins_eye_2.png differ diff --git a/textures/mcl_skins_eye_3.png b/textures/mcl_skins_eye_3.png new file mode 100644 index 000000000..efde92ad4 Binary files /dev/null and b/textures/mcl_skins_eye_3.png differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_4.png b/textures/mcl_skins_eye_4.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_eye_4.png rename to textures/mcl_skins_eye_4.png diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_5.png b/textures/mcl_skins_eye_5.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_eye_5.png rename to textures/mcl_skins_eye_5.png diff --git a/textures/mcl_skins_eye_6.png b/textures/mcl_skins_eye_6.png new file mode 100644 index 000000000..988a40dd3 Binary files /dev/null and b/textures/mcl_skins_eye_6.png differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_eye_7.png b/textures/mcl_skins_eye_7.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_eye_7.png rename to textures/mcl_skins_eye_7.png diff --git a/textures/mcl_skins_footwear_1.png b/textures/mcl_skins_footwear_1.png new file mode 100644 index 000000000..ffe92a423 Binary files /dev/null and b/textures/mcl_skins_footwear_1.png differ diff --git a/textures/mcl_skins_footwear_2.png b/textures/mcl_skins_footwear_2.png new file mode 100644 index 000000000..2b3a00a56 Binary files /dev/null and b/textures/mcl_skins_footwear_2.png differ diff --git a/textures/mcl_skins_footwear_3.png b/textures/mcl_skins_footwear_3.png new file mode 100644 index 000000000..69b48fcaf Binary files /dev/null and b/textures/mcl_skins_footwear_3.png differ diff --git a/textures/mcl_skins_hair_1.png b/textures/mcl_skins_hair_1.png new file mode 100644 index 000000000..f3a18c8d6 Binary files /dev/null and b/textures/mcl_skins_hair_1.png differ diff --git a/textures/mcl_skins_hair_10.png b/textures/mcl_skins_hair_10.png new file mode 100644 index 000000000..6d8ea14cc Binary files /dev/null and b/textures/mcl_skins_hair_10.png differ diff --git a/textures/mcl_skins_hair_10_mask.png b/textures/mcl_skins_hair_10_mask.png new file mode 100644 index 000000000..4bfda1913 Binary files /dev/null and b/textures/mcl_skins_hair_10_mask.png differ diff --git a/textures/mcl_skins_hair_11.png b/textures/mcl_skins_hair_11.png new file mode 100644 index 000000000..5d38bd62e Binary files /dev/null and b/textures/mcl_skins_hair_11.png differ diff --git a/textures/mcl_skins_hair_11_mask.png b/textures/mcl_skins_hair_11_mask.png new file mode 100644 index 000000000..4cf0e1f11 Binary files /dev/null and b/textures/mcl_skins_hair_11_mask.png differ diff --git a/textures/mcl_skins_hair_1_mask.png b/textures/mcl_skins_hair_1_mask.png new file mode 100644 index 000000000..2d87b36fa Binary files /dev/null and b/textures/mcl_skins_hair_1_mask.png differ diff --git a/textures/mcl_skins_hair_2.png b/textures/mcl_skins_hair_2.png new file mode 100644 index 000000000..226fad553 Binary files /dev/null and b/textures/mcl_skins_hair_2.png differ diff --git a/textures/mcl_skins_hair_2_mask.png b/textures/mcl_skins_hair_2_mask.png new file mode 100644 index 000000000..407524b17 Binary files /dev/null and b/textures/mcl_skins_hair_2_mask.png differ diff --git a/textures/mcl_skins_hair_3.png b/textures/mcl_skins_hair_3.png new file mode 100644 index 000000000..67dffa9de Binary files /dev/null and b/textures/mcl_skins_hair_3.png differ diff --git a/textures/mcl_skins_hair_3_mask.png b/textures/mcl_skins_hair_3_mask.png new file mode 100644 index 000000000..3c379b3fb Binary files /dev/null and b/textures/mcl_skins_hair_3_mask.png differ diff --git a/textures/mcl_skins_hair_4.png b/textures/mcl_skins_hair_4.png new file mode 100644 index 000000000..b268e1a96 Binary files /dev/null and b/textures/mcl_skins_hair_4.png differ diff --git a/textures/mcl_skins_hair_4_mask.png b/textures/mcl_skins_hair_4_mask.png new file mode 100644 index 000000000..39b50ad25 Binary files /dev/null and b/textures/mcl_skins_hair_4_mask.png differ diff --git a/textures/mcl_skins_hair_5.png b/textures/mcl_skins_hair_5.png new file mode 100644 index 000000000..fdee2689e Binary files /dev/null and b/textures/mcl_skins_hair_5.png differ diff --git a/textures/mcl_skins_hair_5_mask.png b/textures/mcl_skins_hair_5_mask.png new file mode 100644 index 000000000..f85bed492 Binary files /dev/null and b/textures/mcl_skins_hair_5_mask.png differ diff --git a/textures/mcl_skins_hair_6.png b/textures/mcl_skins_hair_6.png new file mode 100644 index 000000000..acd5f3ff2 Binary files /dev/null and b/textures/mcl_skins_hair_6.png differ diff --git a/textures/mcl_skins_hair_6_mask.png b/textures/mcl_skins_hair_6_mask.png new file mode 100644 index 000000000..8db61d1ab Binary files /dev/null and b/textures/mcl_skins_hair_6_mask.png differ diff --git a/textures/mcl_skins_hair_7.png b/textures/mcl_skins_hair_7.png new file mode 100644 index 000000000..fefaaa3ee Binary files /dev/null and b/textures/mcl_skins_hair_7.png differ diff --git a/textures/mcl_skins_hair_7_mask.png b/textures/mcl_skins_hair_7_mask.png new file mode 100644 index 000000000..df7c8e8b2 Binary files /dev/null and b/textures/mcl_skins_hair_7_mask.png differ diff --git a/textures/mcl_skins_hair_8.png b/textures/mcl_skins_hair_8.png new file mode 100644 index 000000000..498621a36 Binary files /dev/null and b/textures/mcl_skins_hair_8.png differ diff --git a/textures/mcl_skins_hair_8_mask.png b/textures/mcl_skins_hair_8_mask.png new file mode 100644 index 000000000..5b9c0b8a6 Binary files /dev/null and b/textures/mcl_skins_hair_8_mask.png differ diff --git a/textures/mcl_skins_hair_9.png b/textures/mcl_skins_hair_9.png new file mode 100644 index 000000000..83083bd61 Binary files /dev/null and b/textures/mcl_skins_hair_9.png differ diff --git a/textures/mcl_skins_hair_9_mask.png b/textures/mcl_skins_hair_9_mask.png new file mode 100644 index 000000000..52f43b1c8 Binary files /dev/null and b/textures/mcl_skins_hair_9_mask.png differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_1.png b/textures/mcl_skins_headwear_1.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_1.png rename to textures/mcl_skins_headwear_1.png diff --git a/textures/mcl_skins_headwear_2.png b/textures/mcl_skins_headwear_2.png new file mode 100644 index 000000000..060a3ad3f Binary files /dev/null and b/textures/mcl_skins_headwear_2.png differ diff --git a/textures/mcl_skins_headwear_3.png b/textures/mcl_skins_headwear_3.png new file mode 100644 index 000000000..010d8229e Binary files /dev/null and b/textures/mcl_skins_headwear_3.png differ diff --git a/textures/mcl_skins_headwear_4.png b/textures/mcl_skins_headwear_4.png new file mode 100644 index 000000000..a5c89bee2 Binary files /dev/null and b/textures/mcl_skins_headwear_4.png differ diff --git a/textures/mcl_skins_headwear_5.png b/textures/mcl_skins_headwear_5.png new file mode 100644 index 000000000..87bd7e861 Binary files /dev/null and b/textures/mcl_skins_headwear_5.png differ diff --git a/textures/mcl_skins_headwear_6.png b/textures/mcl_skins_headwear_6.png new file mode 100644 index 000000000..47c11abf7 Binary files /dev/null and b/textures/mcl_skins_headwear_6.png differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_7.png b/textures/mcl_skins_headwear_7.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_headwear_7.png rename to textures/mcl_skins_headwear_7.png diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_1.png b/textures/mcl_skins_mouth_1.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_1.png rename to textures/mcl_skins_mouth_1.png diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_2.png b/textures/mcl_skins_mouth_2.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_2.png rename to textures/mcl_skins_mouth_2.png diff --git a/textures/mcl_skins_mouth_3.png b/textures/mcl_skins_mouth_3.png new file mode 100644 index 000000000..d8ceb01e7 Binary files /dev/null and b/textures/mcl_skins_mouth_3.png differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_4.png b/textures/mcl_skins_mouth_4.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_4.png rename to textures/mcl_skins_mouth_4.png diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_5.png b/textures/mcl_skins_mouth_5.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_5.png rename to textures/mcl_skins_mouth_5.png diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_6.png b/textures/mcl_skins_mouth_6.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_6.png rename to textures/mcl_skins_mouth_6.png diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_7.png b/textures/mcl_skins_mouth_7.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_mouth_7.png rename to textures/mcl_skins_mouth_7.png diff --git a/textures/mcl_skins_select_overlay.png b/textures/mcl_skins_select_overlay.png new file mode 100644 index 000000000..3fb6549c1 Binary files /dev/null and b/textures/mcl_skins_select_overlay.png differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_slim_arms.png b/textures/mcl_skins_slim_arms.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_slim_arms.png rename to textures/mcl_skins_slim_arms.png diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_thick_arms.png b/textures/mcl_skins_thick_arms.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_thick_arms.png rename to textures/mcl_skins_thick_arms.png diff --git a/textures/mcl_skins_top_1.png b/textures/mcl_skins_top_1.png new file mode 100644 index 000000000..55e670b77 Binary files /dev/null and b/textures/mcl_skins_top_1.png differ diff --git a/textures/mcl_skins_top_10.png b/textures/mcl_skins_top_10.png new file mode 100644 index 000000000..59d21fcfb Binary files /dev/null and b/textures/mcl_skins_top_10.png differ diff --git a/textures/mcl_skins_top_10_mask.png b/textures/mcl_skins_top_10_mask.png new file mode 100644 index 000000000..624069481 Binary files /dev/null and b/textures/mcl_skins_top_10_mask.png differ diff --git a/textures/mcl_skins_top_1_mask.png b/textures/mcl_skins_top_1_mask.png new file mode 100644 index 000000000..22466f5e8 Binary files /dev/null and b/textures/mcl_skins_top_1_mask.png differ diff --git a/textures/mcl_skins_top_2.png b/textures/mcl_skins_top_2.png new file mode 100644 index 000000000..d8bf697da Binary files /dev/null and b/textures/mcl_skins_top_2.png differ diff --git a/textures/mcl_skins_top_2_mask.png b/textures/mcl_skins_top_2_mask.png new file mode 100644 index 000000000..d74053624 Binary files /dev/null and b/textures/mcl_skins_top_2_mask.png differ diff --git a/textures/mcl_skins_top_3.png b/textures/mcl_skins_top_3.png new file mode 100644 index 000000000..f9eb1d576 Binary files /dev/null and b/textures/mcl_skins_top_3.png differ diff --git a/textures/mcl_skins_top_3_mask.png b/textures/mcl_skins_top_3_mask.png new file mode 100644 index 000000000..461172271 Binary files /dev/null and b/textures/mcl_skins_top_3_mask.png differ diff --git a/mods/PLAYER/mcl_skins/textures/mcl_skins_top_4.png b/textures/mcl_skins_top_4.png similarity index 100% rename from mods/PLAYER/mcl_skins/textures/mcl_skins_top_4.png rename to textures/mcl_skins_top_4.png diff --git a/textures/mcl_skins_top_4_mask.png b/textures/mcl_skins_top_4_mask.png new file mode 100644 index 000000000..d669763dd Binary files /dev/null and b/textures/mcl_skins_top_4_mask.png differ diff --git a/textures/mcl_skins_top_5.png b/textures/mcl_skins_top_5.png new file mode 100644 index 000000000..0c0ea6d19 Binary files /dev/null and b/textures/mcl_skins_top_5.png differ diff --git a/textures/mcl_skins_top_5_mask.png b/textures/mcl_skins_top_5_mask.png new file mode 100644 index 000000000..94ec8dcde Binary files /dev/null and b/textures/mcl_skins_top_5_mask.png differ diff --git a/textures/mcl_skins_top_6.png b/textures/mcl_skins_top_6.png new file mode 100644 index 000000000..90f2cb9bc Binary files /dev/null and b/textures/mcl_skins_top_6.png differ diff --git a/textures/mcl_skins_top_6_mask.png b/textures/mcl_skins_top_6_mask.png new file mode 100644 index 000000000..3b712205e Binary files /dev/null and b/textures/mcl_skins_top_6_mask.png differ diff --git a/textures/mcl_skins_top_7.png b/textures/mcl_skins_top_7.png new file mode 100644 index 000000000..b3f12eacc Binary files /dev/null and b/textures/mcl_skins_top_7.png differ diff --git a/textures/mcl_skins_top_7_mask.png b/textures/mcl_skins_top_7_mask.png new file mode 100644 index 000000000..d341f00c5 Binary files /dev/null and b/textures/mcl_skins_top_7_mask.png differ diff --git a/textures/mcl_skins_top_8.png b/textures/mcl_skins_top_8.png new file mode 100644 index 000000000..3ea545e7e Binary files /dev/null and b/textures/mcl_skins_top_8.png differ diff --git a/textures/mcl_skins_top_8_mask.png b/textures/mcl_skins_top_8_mask.png new file mode 100644 index 000000000..93a90ea2f Binary files /dev/null and b/textures/mcl_skins_top_8_mask.png differ diff --git a/textures/mcl_skins_top_9.png b/textures/mcl_skins_top_9.png new file mode 100644 index 000000000..50c4dbd59 Binary files /dev/null and b/textures/mcl_skins_top_9.png differ diff --git a/textures/mcl_skins_top_9_mask.png b/textures/mcl_skins_top_9_mask.png new file mode 100644 index 000000000..6657dc067 Binary files /dev/null and b/textures/mcl_skins_top_9_mask.png differ diff --git a/textures/mcl_smithing_table_bottom.png b/textures/mcl_smithing_table_bottom.png new file mode 100644 index 000000000..d7e90662e Binary files /dev/null and b/textures/mcl_smithing_table_bottom.png differ diff --git a/textures/mcl_smithing_table_front.png b/textures/mcl_smithing_table_front.png new file mode 100644 index 000000000..40d128bd0 Binary files /dev/null and b/textures/mcl_smithing_table_front.png differ diff --git a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_inventory.png b/textures/mcl_smithing_table_inventory.png similarity index 86% rename from mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_inventory.png rename to textures/mcl_smithing_table_inventory.png index fdbb706d1..7be429623 100644 Binary files a/mods/ITEMS/mcl_smithing_table/textures/mcl_smithing_table_inventory.png and b/textures/mcl_smithing_table_inventory.png differ diff --git a/textures/mcl_smithing_table_side.png b/textures/mcl_smithing_table_side.png new file mode 100644 index 000000000..9131ad00f Binary files /dev/null and b/textures/mcl_smithing_table_side.png differ diff --git a/textures/mcl_smithing_table_top.png b/textures/mcl_smithing_table_top.png new file mode 100644 index 000000000..6d55a5c02 Binary files /dev/null and b/textures/mcl_smithing_table_top.png differ diff --git a/textures/mcl_sponges_sponge.png b/textures/mcl_sponges_sponge.png new file mode 100644 index 000000000..dd7f3b71c Binary files /dev/null and b/textures/mcl_sponges_sponge.png differ diff --git a/textures/mcl_sponges_sponge_wet.png b/textures/mcl_sponges_sponge_wet.png new file mode 100644 index 000000000..e9d152199 Binary files /dev/null and b/textures/mcl_sponges_sponge_wet.png differ diff --git a/textures/mcl_sponges_sponge_wet_river_water.png b/textures/mcl_sponges_sponge_wet_river_water.png new file mode 100644 index 000000000..bbbf86fa4 Binary files /dev/null and b/textures/mcl_sponges_sponge_wet_river_water.png differ diff --git a/mods/ITEMS/mcl_spyglass/textures/mcl_spyglass.png b/textures/mcl_spyglass.png similarity index 67% rename from mods/ITEMS/mcl_spyglass/textures/mcl_spyglass.png rename to textures/mcl_spyglass.png index cc5eb4d96..df4f14bdf 100644 Binary files a/mods/ITEMS/mcl_spyglass/textures/mcl_spyglass.png and b/textures/mcl_spyglass.png differ diff --git a/mods/ITEMS/mcl_spyglass/textures/mcl_spyglass_scope.png b/textures/mcl_spyglass_scope.png similarity index 80% rename from mods/ITEMS/mcl_spyglass/textures/mcl_spyglass_scope.png rename to textures/mcl_spyglass_scope.png index 041a88feb..3992d9102 100644 Binary files a/mods/ITEMS/mcl_spyglass/textures/mcl_spyglass_scope.png and b/textures/mcl_spyglass_scope.png differ diff --git a/textures/mcl_stairs_andesite_smooth_slab.png b/textures/mcl_stairs_andesite_smooth_slab.png new file mode 100644 index 000000000..b2ccfa1d5 Binary files /dev/null and b/textures/mcl_stairs_andesite_smooth_slab.png differ diff --git a/textures/mcl_stairs_diorite_smooth_slab.png b/textures/mcl_stairs_diorite_smooth_slab.png new file mode 100644 index 000000000..2fd10111b Binary files /dev/null and b/textures/mcl_stairs_diorite_smooth_slab.png differ diff --git a/textures/mcl_stairs_gold_block_slab.png b/textures/mcl_stairs_gold_block_slab.png new file mode 100644 index 000000000..b8da4edeb Binary files /dev/null and b/textures/mcl_stairs_gold_block_slab.png differ diff --git a/mods/ITEMS/mclx_stairs/textures/mcl_stairs_granite_smooth_slab.png b/textures/mcl_stairs_granite_smooth_slab.png similarity index 100% rename from mods/ITEMS/mclx_stairs/textures/mcl_stairs_granite_smooth_slab.png rename to textures/mcl_stairs_granite_smooth_slab.png diff --git a/textures/mcl_stairs_iron_block_slab.png b/textures/mcl_stairs_iron_block_slab.png new file mode 100644 index 000000000..9f027e4b4 Binary files /dev/null and b/textures/mcl_stairs_iron_block_slab.png differ diff --git a/mods/ITEMS/mclx_stairs/textures/mcl_stairs_lapis_block_slab.png b/textures/mcl_stairs_lapis_block_slab.png similarity index 100% rename from mods/ITEMS/mclx_stairs/textures/mcl_stairs_lapis_block_slab.png rename to textures/mcl_stairs_lapis_block_slab.png diff --git a/mods/ITEMS/mcl_stairs/textures/mcl_stairs_stone_slab_side.png b/textures/mcl_stairs_stone_slab_side.png similarity index 100% rename from mods/ITEMS/mcl_stairs/textures/mcl_stairs_stone_slab_side.png rename to textures/mcl_stairs_stone_slab_side.png diff --git a/textures/mcl_stairs_stone_slab_top.png b/textures/mcl_stairs_stone_slab_top.png new file mode 100644 index 000000000..8570ff38a Binary files /dev/null and b/textures/mcl_stairs_stone_slab_top.png differ diff --git a/mods/ITEMS/mcl_stairs/textures/mcl_stairs_turntexture.png b/textures/mcl_stairs_turntexture.png similarity index 100% rename from mods/ITEMS/mcl_stairs/textures/mcl_stairs_turntexture.png rename to textures/mcl_stairs_turntexture.png diff --git a/textures/mcl_stonecutter_bottom.png b/textures/mcl_stonecutter_bottom.png new file mode 100644 index 000000000..ff2950888 Binary files /dev/null and b/textures/mcl_stonecutter_bottom.png differ diff --git a/textures/mcl_stonecutter_saw.png b/textures/mcl_stonecutter_saw.png new file mode 100644 index 000000000..8bdec63f1 Binary files /dev/null and b/textures/mcl_stonecutter_saw.png differ diff --git a/textures/mcl_stonecutter_side.png b/textures/mcl_stonecutter_side.png new file mode 100644 index 000000000..9c7fe79b4 Binary files /dev/null and b/textures/mcl_stonecutter_side.png differ diff --git a/textures/mcl_stonecutter_top.png b/textures/mcl_stonecutter_top.png new file mode 100644 index 000000000..9d57f5ee6 Binary files /dev/null and b/textures/mcl_stonecutter_top.png differ diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_stripped_mangrove_log_side.png b/textures/mcl_stripped_mangrove_log_side.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_stripped_mangrove_log_side.png rename to textures/mcl_stripped_mangrove_log_side.png diff --git a/mods/ITEMS/mcl_mangrove/textures/mcl_stripped_mangrove_log_top.png b/textures/mcl_stripped_mangrove_log_top.png similarity index 100% rename from mods/ITEMS/mcl_mangrove/textures/mcl_stripped_mangrove_log_top.png rename to textures/mcl_stripped_mangrove_log_top.png diff --git a/textures/mcl_target_target_side.png b/textures/mcl_target_target_side.png new file mode 100644 index 000000000..0d7236259 Binary files /dev/null and b/textures/mcl_target_target_side.png differ diff --git a/textures/mcl_target_target_top.png b/textures/mcl_target_target_top.png new file mode 100644 index 000000000..35cba1c98 Binary files /dev/null and b/textures/mcl_target_target_top.png differ diff --git a/mods/ITEMS/mcl_throwing/textures/mcl_throwing_egg.png b/textures/mcl_throwing_egg.png similarity index 100% rename from mods/ITEMS/mcl_throwing/textures/mcl_throwing_egg.png rename to textures/mcl_throwing_egg.png diff --git a/textures/mcl_throwing_ender_pearl.png b/textures/mcl_throwing_ender_pearl.png new file mode 100644 index 000000000..a73be6941 Binary files /dev/null and b/textures/mcl_throwing_ender_pearl.png differ diff --git a/textures/mcl_throwing_snowball.png b/textures/mcl_throwing_snowball.png new file mode 100644 index 000000000..d1216839e Binary files /dev/null and b/textures/mcl_throwing_snowball.png differ diff --git a/textures/mcl_tnt_blink.png b/textures/mcl_tnt_blink.png new file mode 100644 index 000000000..c0ba3641c Binary files /dev/null and b/textures/mcl_tnt_blink.png differ diff --git a/textures/mcl_totems_totem.png b/textures/mcl_totems_totem.png new file mode 100644 index 000000000..96243d5bc Binary files /dev/null and b/textures/mcl_totems_totem.png differ diff --git a/textures/mcl_walls_cobble_mossy_wall_side.png b/textures/mcl_walls_cobble_mossy_wall_side.png new file mode 100644 index 000000000..cb10162c5 Binary files /dev/null and b/textures/mcl_walls_cobble_mossy_wall_side.png differ diff --git a/textures/mcl_walls_cobble_mossy_wall_top.png b/textures/mcl_walls_cobble_mossy_wall_top.png new file mode 100644 index 000000000..df7ff940e Binary files /dev/null and b/textures/mcl_walls_cobble_mossy_wall_top.png differ diff --git a/textures/mcl_walls_cobble_wall_side.png b/textures/mcl_walls_cobble_wall_side.png new file mode 100644 index 000000000..a827c3a42 Binary files /dev/null and b/textures/mcl_walls_cobble_wall_side.png differ diff --git a/textures/mcl_walls_cobble_wall_top.png b/textures/mcl_walls_cobble_wall_top.png new file mode 100644 index 000000000..ce77d202f Binary files /dev/null and b/textures/mcl_walls_cobble_wall_top.png differ diff --git a/textures/mcl_wear_bar.png b/textures/mcl_wear_bar.png new file mode 100644 index 000000000..264666bac Binary files /dev/null and b/textures/mcl_wear_bar.png differ diff --git a/textures/mcl_wool_light_blue.png b/textures/mcl_wool_light_blue.png new file mode 100644 index 000000000..010b8a8c2 Binary files /dev/null and b/textures/mcl_wool_light_blue.png differ diff --git a/textures/mcl_wool_lime.png b/textures/mcl_wool_lime.png new file mode 100644 index 000000000..e9de9a362 Binary files /dev/null and b/textures/mcl_wool_lime.png differ diff --git a/mods/ITEMS/REDSTONE/mesecons_button/textures/mesecons_button_wield_mask.png b/textures/mesecons_button_wield_mask.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_button/textures/mesecons_button_wield_mask.png rename to textures/mesecons_button_wield_mask.png diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_end_locked_off.png b/textures/mesecons_delayer_end_locked_off.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_end_locked_off.png rename to textures/mesecons_delayer_end_locked_off.png diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_end_locked_on.png b/textures/mesecons_delayer_end_locked_on.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_end_locked_on.png rename to textures/mesecons_delayer_end_locked_on.png diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_ends_off.png b/textures/mesecons_delayer_ends_off.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_ends_off.png rename to textures/mesecons_delayer_ends_off.png diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_ends_on.png b/textures/mesecons_delayer_ends_on.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_ends_on.png rename to textures/mesecons_delayer_ends_on.png diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_front_locked_off.png b/textures/mesecons_delayer_front_locked_off.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_front_locked_off.png rename to textures/mesecons_delayer_front_locked_off.png diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_front_locked_on.png b/textures/mesecons_delayer_front_locked_on.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_front_locked_on.png rename to textures/mesecons_delayer_front_locked_on.png diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_item.png b/textures/mesecons_delayer_item.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_item.png rename to textures/mesecons_delayer_item.png diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_locked_off.png b/textures/mesecons_delayer_locked_off.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_locked_off.png rename to textures/mesecons_delayer_locked_off.png diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_locked_on.png b/textures/mesecons_delayer_locked_on.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_locked_on.png rename to textures/mesecons_delayer_locked_on.png diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_off.png b/textures/mesecons_delayer_off.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_off.png rename to textures/mesecons_delayer_off.png diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_on.png b/textures/mesecons_delayer_on.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_on.png rename to textures/mesecons_delayer_on.png diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_sides_locked_off.png b/textures/mesecons_delayer_sides_locked_off.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_sides_locked_off.png rename to textures/mesecons_delayer_sides_locked_off.png diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_sides_locked_on.png b/textures/mesecons_delayer_sides_locked_on.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_delayer/textures/mesecons_delayer_sides_locked_on.png rename to textures/mesecons_delayer_sides_locked_on.png diff --git a/textures/mesecons_delayer_sides_off.png b/textures/mesecons_delayer_sides_off.png new file mode 100644 index 000000000..e69dc2f2a Binary files /dev/null and b/textures/mesecons_delayer_sides_off.png differ diff --git a/textures/mesecons_delayer_sides_on.png b/textures/mesecons_delayer_sides_on.png new file mode 100644 index 000000000..96a2c2602 Binary files /dev/null and b/textures/mesecons_delayer_sides_on.png differ diff --git a/mods/ITEMS/REDSTONE/mesecons_noteblock/textures/mesecons_noteblock.png b/textures/mesecons_noteblock.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_noteblock/textures/mesecons_noteblock.png rename to textures/mesecons_noteblock.png diff --git a/textures/mesecons_piston_back.png b/textures/mesecons_piston_back.png new file mode 100644 index 000000000..dc7874b75 Binary files /dev/null and b/textures/mesecons_piston_back.png differ diff --git a/textures/mesecons_piston_bottom.png b/textures/mesecons_piston_bottom.png new file mode 100644 index 000000000..ebcdeb637 Binary files /dev/null and b/textures/mesecons_piston_bottom.png differ diff --git a/textures/mesecons_piston_on_front.png b/textures/mesecons_piston_on_front.png new file mode 100644 index 000000000..424d64571 Binary files /dev/null and b/textures/mesecons_piston_on_front.png differ diff --git a/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_back.png b/textures/mesecons_piston_pusher_back.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_back.png rename to textures/mesecons_piston_pusher_back.png diff --git a/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_bottom.png b/textures/mesecons_piston_pusher_bottom.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_bottom.png rename to textures/mesecons_piston_pusher_bottom.png diff --git a/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_front.png b/textures/mesecons_piston_pusher_front.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_front.png rename to textures/mesecons_piston_pusher_front.png diff --git a/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_front_sticky.png b/textures/mesecons_piston_pusher_front_sticky.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_front_sticky.png rename to textures/mesecons_piston_pusher_front_sticky.png diff --git a/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_left.png b/textures/mesecons_piston_pusher_left.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_left.png rename to textures/mesecons_piston_pusher_left.png diff --git a/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_right.png b/textures/mesecons_piston_pusher_right.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_right.png rename to textures/mesecons_piston_pusher_right.png diff --git a/mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_top.png b/textures/mesecons_piston_pusher_top.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_pistons/textures/mesecons_piston_pusher_top.png rename to textures/mesecons_piston_pusher_top.png diff --git a/textures/mineclone2_icon.png b/textures/mineclone2_icon.png new file mode 100644 index 000000000..d96731c95 Binary files /dev/null and b/textures/mineclone2_icon.png differ diff --git a/textures/mineclone2_logo.png b/textures/mineclone2_logo.png new file mode 100644 index 000000000..c38b24679 Binary files /dev/null and b/textures/mineclone2_logo.png differ diff --git a/textures/mob_spawner.png b/textures/mob_spawner.png new file mode 100644 index 000000000..069a015e9 Binary files /dev/null and b/textures/mob_spawner.png differ diff --git a/textures/mobs_blood.png b/textures/mobs_blood.png new file mode 100644 index 000000000..ebda3703f Binary files /dev/null and b/textures/mobs_blood.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_chicken_egg.png b/textures/mobs_chicken_egg.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_chicken_egg.png rename to textures/mobs_chicken_egg.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_TEMP_wither_projectile.png b/textures/mobs_mc_TEMP_wither_projectile.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_TEMP_wither_projectile.png rename to textures/mobs_mc_TEMP_wither_projectile.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_arrow_particle.png b/textures/mobs_mc_arrow_particle.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_arrow_particle.png rename to textures/mobs_mc_arrow_particle.png diff --git a/textures/mobs_mc_axolotl_black.png b/textures/mobs_mc_axolotl_black.png new file mode 100644 index 000000000..ea508c9f1 Binary files /dev/null and b/textures/mobs_mc_axolotl_black.png differ diff --git a/textures/mobs_mc_axolotl_brown.png b/textures/mobs_mc_axolotl_brown.png new file mode 100644 index 000000000..5698c1d36 Binary files /dev/null and b/textures/mobs_mc_axolotl_brown.png differ diff --git a/textures/mobs_mc_axolotl_green.png b/textures/mobs_mc_axolotl_green.png new file mode 100644 index 000000000..aa854807c Binary files /dev/null and b/textures/mobs_mc_axolotl_green.png differ diff --git a/textures/mobs_mc_axolotl_pink.png b/textures/mobs_mc_axolotl_pink.png new file mode 100644 index 000000000..b2fd714b7 Binary files /dev/null and b/textures/mobs_mc_axolotl_pink.png differ diff --git a/textures/mobs_mc_axolotl_purple.png b/textures/mobs_mc_axolotl_purple.png new file mode 100644 index 000000000..4042b3891 Binary files /dev/null and b/textures/mobs_mc_axolotl_purple.png differ diff --git a/textures/mobs_mc_axolotl_white.png b/textures/mobs_mc_axolotl_white.png new file mode 100644 index 000000000..918f038fb Binary files /dev/null and b/textures/mobs_mc_axolotl_white.png differ diff --git a/textures/mobs_mc_axolotl_yellow.png b/textures/mobs_mc_axolotl_yellow.png new file mode 100644 index 000000000..a21c6e122 Binary files /dev/null and b/textures/mobs_mc_axolotl_yellow.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_bat.png b/textures/mobs_mc_bat.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_bat.png rename to textures/mobs_mc_bat.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_blaze.png b/textures/mobs_mc_blaze.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_blaze.png rename to textures/mobs_mc_blaze.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_cat_black.png b/textures/mobs_mc_cat_black.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_cat_black.png rename to textures/mobs_mc_cat_black.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_cat_ocelot.png b/textures/mobs_mc_cat_ocelot.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_cat_ocelot.png rename to textures/mobs_mc_cat_ocelot.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_cat_red.png b/textures/mobs_mc_cat_red.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_cat_red.png rename to textures/mobs_mc_cat_red.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_cat_siamese.png b/textures/mobs_mc_cat_siamese.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_cat_siamese.png rename to textures/mobs_mc_cat_siamese.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_cave_spider.png b/textures/mobs_mc_cave_spider.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_cave_spider.png rename to textures/mobs_mc_cave_spider.png diff --git a/textures/mobs_mc_chicken.png b/textures/mobs_mc_chicken.png new file mode 100644 index 000000000..a2664e720 Binary files /dev/null and b/textures/mobs_mc_chicken.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_cod.png b/textures/mobs_mc_cod.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_cod.png rename to textures/mobs_mc_cod.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_cow.png b/textures/mobs_mc_cow.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_cow.png rename to textures/mobs_mc_cow.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_creeper.png b/textures/mobs_mc_creeper.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_creeper.png rename to textures/mobs_mc_creeper.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_creeper_charge.png b/textures/mobs_mc_creeper_charge.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_creeper_charge.png rename to textures/mobs_mc_creeper_charge.png diff --git a/textures/mobs_mc_diamond.png b/textures/mobs_mc_diamond.png new file mode 100644 index 000000000..f224eb463 Binary files /dev/null and b/textures/mobs_mc_diamond.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_diamond_horse_armor.png b/textures/mobs_mc_diamond_horse_armor.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_diamond_horse_armor.png rename to textures/mobs_mc_diamond_horse_armor.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_donkey.png b/textures/mobs_mc_donkey.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_donkey.png rename to textures/mobs_mc_donkey.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_dragon.png b/textures/mobs_mc_dragon.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_dragon.png rename to textures/mobs_mc_dragon.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_dragon_fireball.png b/textures/mobs_mc_dragon_fireball.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_dragon_fireball.png rename to textures/mobs_mc_dragon_fireball.png diff --git a/textures/mobs_mc_emerald.png b/textures/mobs_mc_emerald.png new file mode 100644 index 000000000..023101a17 Binary files /dev/null and b/textures/mobs_mc_emerald.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_empty.png b/textures/mobs_mc_empty.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_empty.png rename to textures/mobs_mc_empty.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_endergolem.png b/textures/mobs_mc_endergolem.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_endergolem.png rename to textures/mobs_mc_endergolem.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_enderman.png b/textures/mobs_mc_enderman.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_enderman.png rename to textures/mobs_mc_enderman.png diff --git a/textures/mobs_mc_enderman_cactus_background.png b/textures/mobs_mc_enderman_cactus_background.png new file mode 100644 index 000000000..34d98fad7 Binary files /dev/null and b/textures/mobs_mc_enderman_cactus_background.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_enderman_eyes.png b/textures/mobs_mc_enderman_eyes.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_enderman_eyes.png rename to textures/mobs_mc_enderman_eyes.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_endermite.png b/textures/mobs_mc_endermite.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_endermite.png rename to textures/mobs_mc_endermite.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_evoker.png b/textures/mobs_mc_evoker.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_evoker.png rename to textures/mobs_mc_evoker.png diff --git a/textures/mobs_mc_ghast.png b/textures/mobs_mc_ghast.png new file mode 100644 index 000000000..2bd9322a1 Binary files /dev/null and b/textures/mobs_mc_ghast.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_ghast_firing.png b/textures/mobs_mc_ghast_firing.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_ghast_firing.png rename to textures/mobs_mc_ghast_firing.png diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_glow_squid.png b/textures/mobs_mc_glow_squid.png similarity index 84% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_glow_squid.png rename to textures/mobs_mc_glow_squid.png index ccbdb9707..c44953dfa 100644 Binary files a/mods/ENTITIES/mobs_mc/textures/extra_mobs_glow_squid.png and b/textures/mobs_mc_glow_squid.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_glow_squid_glint1.png b/textures/mobs_mc_glow_squid_glint1.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_glow_squid_glint1.png rename to textures/mobs_mc_glow_squid_glint1.png diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_glow_squid_glint2.png b/textures/mobs_mc_glow_squid_glint2.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_glow_squid_glint2.png rename to textures/mobs_mc_glow_squid_glint2.png diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_glow_squid_glint3.png b/textures/mobs_mc_glow_squid_glint3.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_glow_squid_glint3.png rename to textures/mobs_mc_glow_squid_glint3.png diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_glow_squid_glint4.png b/textures/mobs_mc_glow_squid_glint4.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_glow_squid_glint4.png rename to textures/mobs_mc_glow_squid_glint4.png diff --git a/textures/mobs_mc_gold.png b/textures/mobs_mc_gold.png new file mode 100644 index 000000000..a0022f0ef Binary files /dev/null and b/textures/mobs_mc_gold.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_gold_horse_armor.png b/textures/mobs_mc_gold_horse_armor.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_gold_horse_armor.png rename to textures/mobs_mc_gold_horse_armor.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_guardian.png b/textures/mobs_mc_guardian.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_guardian.png rename to textures/mobs_mc_guardian.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_guardian_elder.png b/textures/mobs_mc_guardian_elder.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_guardian_elder.png rename to textures/mobs_mc_guardian_elder.png diff --git a/textures/mobs_mc_horse_black.png b/textures/mobs_mc_horse_black.png new file mode 100644 index 000000000..0b2187794 Binary files /dev/null and b/textures/mobs_mc_horse_black.png differ diff --git a/textures/mobs_mc_horse_brown.png b/textures/mobs_mc_horse_brown.png new file mode 100644 index 000000000..fef1b6bac Binary files /dev/null and b/textures/mobs_mc_horse_brown.png differ diff --git a/textures/mobs_mc_horse_chestnut.png b/textures/mobs_mc_horse_chestnut.png new file mode 100644 index 000000000..e0a2a95e5 Binary files /dev/null and b/textures/mobs_mc_horse_chestnut.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_creamy.png b/textures/mobs_mc_horse_creamy.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_creamy.png rename to textures/mobs_mc_horse_creamy.png diff --git a/textures/mobs_mc_horse_darkbrown.png b/textures/mobs_mc_horse_darkbrown.png new file mode 100644 index 000000000..fed93e0e1 Binary files /dev/null and b/textures/mobs_mc_horse_darkbrown.png differ diff --git a/textures/mobs_mc_horse_gray.png b/textures/mobs_mc_horse_gray.png new file mode 100644 index 000000000..840437678 Binary files /dev/null and b/textures/mobs_mc_horse_gray.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_markings_blackdots.png b/textures/mobs_mc_horse_markings_blackdots.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_markings_blackdots.png rename to textures/mobs_mc_horse_markings_blackdots.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_markings_white.png b/textures/mobs_mc_horse_markings_white.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_markings_white.png rename to textures/mobs_mc_horse_markings_white.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_markings_whitedots.png b/textures/mobs_mc_horse_markings_whitedots.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_markings_whitedots.png rename to textures/mobs_mc_horse_markings_whitedots.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_markings_whitefield.png b/textures/mobs_mc_horse_markings_whitefield.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_horse_markings_whitefield.png rename to textures/mobs_mc_horse_markings_whitefield.png diff --git a/textures/mobs_mc_horse_skeleton.png b/textures/mobs_mc_horse_skeleton.png new file mode 100644 index 000000000..c96f94d05 Binary files /dev/null and b/textures/mobs_mc_horse_skeleton.png differ diff --git a/textures/mobs_mc_horse_white.png b/textures/mobs_mc_horse_white.png new file mode 100644 index 000000000..930f389af Binary files /dev/null and b/textures/mobs_mc_horse_white.png differ diff --git a/textures/mobs_mc_horse_zombie.png b/textures/mobs_mc_horse_zombie.png new file mode 100644 index 000000000..b64ac8109 Binary files /dev/null and b/textures/mobs_mc_horse_zombie.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_husk.png b/textures/mobs_mc_husk.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_husk.png rename to textures/mobs_mc_husk.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_illusionist.png b/textures/mobs_mc_illusionist.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_illusionist.png rename to textures/mobs_mc_illusionist.png diff --git a/textures/mobs_mc_iron.png b/textures/mobs_mc_iron.png new file mode 100644 index 000000000..6f6e0c7f8 Binary files /dev/null and b/textures/mobs_mc_iron.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_iron_golem.png b/textures/mobs_mc_iron_golem.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_iron_golem.png rename to textures/mobs_mc_iron_golem.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_iron_horse_armor.png b/textures/mobs_mc_iron_horse_armor.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_iron_horse_armor.png rename to textures/mobs_mc_iron_horse_armor.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama.png b/textures/mobs_mc_llama.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_llama.png rename to textures/mobs_mc_llama.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_brown.png b/textures/mobs_mc_llama_brown.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_brown.png rename to textures/mobs_mc_llama_brown.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_creamy.png b/textures/mobs_mc_llama_creamy.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_creamy.png rename to textures/mobs_mc_llama_creamy.png diff --git a/textures/mobs_mc_llama_decor_black.png b/textures/mobs_mc_llama_decor_black.png new file mode 100644 index 000000000..e41f7e58a Binary files /dev/null and b/textures/mobs_mc_llama_decor_black.png differ diff --git a/textures/mobs_mc_llama_decor_blue.png b/textures/mobs_mc_llama_decor_blue.png new file mode 100644 index 000000000..658a0c56e Binary files /dev/null and b/textures/mobs_mc_llama_decor_blue.png differ diff --git a/textures/mobs_mc_llama_decor_brown.png b/textures/mobs_mc_llama_decor_brown.png new file mode 100644 index 000000000..68e6f4f31 Binary files /dev/null and b/textures/mobs_mc_llama_decor_brown.png differ diff --git a/textures/mobs_mc_llama_decor_cyan.png b/textures/mobs_mc_llama_decor_cyan.png new file mode 100644 index 000000000..57dccc3c6 Binary files /dev/null and b/textures/mobs_mc_llama_decor_cyan.png differ diff --git a/textures/mobs_mc_llama_decor_gray.png b/textures/mobs_mc_llama_decor_gray.png new file mode 100644 index 000000000..1688e2409 Binary files /dev/null and b/textures/mobs_mc_llama_decor_gray.png differ diff --git a/textures/mobs_mc_llama_decor_green.png b/textures/mobs_mc_llama_decor_green.png new file mode 100644 index 000000000..39bc777b2 Binary files /dev/null and b/textures/mobs_mc_llama_decor_green.png differ diff --git a/textures/mobs_mc_llama_decor_light_blue.png b/textures/mobs_mc_llama_decor_light_blue.png new file mode 100644 index 000000000..6246a8e4e Binary files /dev/null and b/textures/mobs_mc_llama_decor_light_blue.png differ diff --git a/textures/mobs_mc_llama_decor_light_gray.png b/textures/mobs_mc_llama_decor_light_gray.png new file mode 100644 index 000000000..bffda2021 Binary files /dev/null and b/textures/mobs_mc_llama_decor_light_gray.png differ diff --git a/textures/mobs_mc_llama_decor_lime.png b/textures/mobs_mc_llama_decor_lime.png new file mode 100644 index 000000000..5b267298c Binary files /dev/null and b/textures/mobs_mc_llama_decor_lime.png differ diff --git a/textures/mobs_mc_llama_decor_magenta.png b/textures/mobs_mc_llama_decor_magenta.png new file mode 100644 index 000000000..3edc12f0d Binary files /dev/null and b/textures/mobs_mc_llama_decor_magenta.png differ diff --git a/textures/mobs_mc_llama_decor_orange.png b/textures/mobs_mc_llama_decor_orange.png new file mode 100644 index 000000000..d2d4ea5fc Binary files /dev/null and b/textures/mobs_mc_llama_decor_orange.png differ diff --git a/textures/mobs_mc_llama_decor_pink.png b/textures/mobs_mc_llama_decor_pink.png new file mode 100644 index 000000000..cd93362d2 Binary files /dev/null and b/textures/mobs_mc_llama_decor_pink.png differ diff --git a/textures/mobs_mc_llama_decor_purple.png b/textures/mobs_mc_llama_decor_purple.png new file mode 100644 index 000000000..a30423a0c Binary files /dev/null and b/textures/mobs_mc_llama_decor_purple.png differ diff --git a/textures/mobs_mc_llama_decor_red.png b/textures/mobs_mc_llama_decor_red.png new file mode 100644 index 000000000..0158a398c Binary files /dev/null and b/textures/mobs_mc_llama_decor_red.png differ diff --git a/textures/mobs_mc_llama_decor_white.png b/textures/mobs_mc_llama_decor_white.png new file mode 100644 index 000000000..161a2c875 Binary files /dev/null and b/textures/mobs_mc_llama_decor_white.png differ diff --git a/textures/mobs_mc_llama_decor_yellow.png b/textures/mobs_mc_llama_decor_yellow.png new file mode 100644 index 000000000..ed3810e2b Binary files /dev/null and b/textures/mobs_mc_llama_decor_yellow.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_gray.png b/textures/mobs_mc_llama_gray.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_gray.png rename to textures/mobs_mc_llama_gray.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_spit.png b/textures/mobs_mc_llama_spit.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_spit.png rename to textures/mobs_mc_llama_spit.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_white.png b/textures/mobs_mc_llama_white.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_llama_white.png rename to textures/mobs_mc_llama_white.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_magmacube.png b/textures/mobs_mc_magmacube.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_magmacube.png rename to textures/mobs_mc_magmacube.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_mooshroom.png b/textures/mobs_mc_mooshroom.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_mooshroom.png rename to textures/mobs_mc_mooshroom.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_mooshroom_brown.png b/textures/mobs_mc_mooshroom_brown.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_mooshroom_brown.png rename to textures/mobs_mc_mooshroom_brown.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_mule.png b/textures/mobs_mc_mule.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_mule.png rename to textures/mobs_mc_mule.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_mushroom_brown.png b/textures/mobs_mc_mushroom_brown.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_mushroom_brown.png rename to textures/mobs_mc_mushroom_brown.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_mushroom_red.png b/textures/mobs_mc_mushroom_red.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_mushroom_red.png rename to textures/mobs_mc_mushroom_red.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_parrot_blue.png b/textures/mobs_mc_parrot_blue.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_parrot_blue.png rename to textures/mobs_mc_parrot_blue.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_parrot_green.png b/textures/mobs_mc_parrot_green.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_parrot_green.png rename to textures/mobs_mc_parrot_green.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_parrot_grey.png b/textures/mobs_mc_parrot_grey.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_parrot_grey.png rename to textures/mobs_mc_parrot_grey.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_parrot_red_blue.png b/textures/mobs_mc_parrot_red_blue.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_parrot_red_blue.png rename to textures/mobs_mc_parrot_red_blue.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_parrot_yellow_blue.png b/textures/mobs_mc_parrot_yellow_blue.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_parrot_yellow_blue.png rename to textures/mobs_mc_parrot_yellow_blue.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_pig.png b/textures/mobs_mc_pig.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_pig.png rename to textures/mobs_mc_pig.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_pig_saddle.png b/textures/mobs_mc_pig_saddle.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_pig_saddle.png rename to textures/mobs_mc_pig_saddle.png diff --git a/textures/mobs_mc_pillager.png b/textures/mobs_mc_pillager.png new file mode 100644 index 000000000..398442141 Binary files /dev/null and b/textures/mobs_mc_pillager.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_polarbear.png b/textures/mobs_mc_polarbear.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_polarbear.png rename to textures/mobs_mc_polarbear.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_black.png b/textures/mobs_mc_rabbit_black.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_black.png rename to textures/mobs_mc_rabbit_black.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_brown.png b/textures/mobs_mc_rabbit_brown.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_brown.png rename to textures/mobs_mc_rabbit_brown.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_caerbannog.png b/textures/mobs_mc_rabbit_caerbannog.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_caerbannog.png rename to textures/mobs_mc_rabbit_caerbannog.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_gold.png b/textures/mobs_mc_rabbit_gold.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_gold.png rename to textures/mobs_mc_rabbit_gold.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_salt.png b/textures/mobs_mc_rabbit_salt.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_salt.png rename to textures/mobs_mc_rabbit_salt.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_toast.png b/textures/mobs_mc_rabbit_toast.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_toast.png rename to textures/mobs_mc_rabbit_toast.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_white.png b/textures/mobs_mc_rabbit_white.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_white.png rename to textures/mobs_mc_rabbit_white.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_white_splotched.png b/textures/mobs_mc_rabbit_white_splotched.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_rabbit_white_splotched.png rename to textures/mobs_mc_rabbit_white_splotched.png diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_salmon.png b/textures/mobs_mc_salmon.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/extra_mobs_salmon.png rename to textures/mobs_mc_salmon.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_sheep.png b/textures/mobs_mc_sheep.png similarity index 66% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_sheep.png rename to textures/mobs_mc_sheep.png index 6fdd83197..426e3ae76 100644 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_sheep.png and b/textures/mobs_mc_sheep.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_sheep_fur.png b/textures/mobs_mc_sheep_fur.png similarity index 67% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_sheep_fur.png rename to textures/mobs_mc_sheep_fur.png index 1763f4f6f..e125c4d47 100644 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_sheep_fur.png and b/textures/mobs_mc_sheep_fur.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_black.png b/textures/mobs_mc_shulker_black.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_black.png rename to textures/mobs_mc_shulker_black.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_blue.png b/textures/mobs_mc_shulker_blue.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_blue.png rename to textures/mobs_mc_shulker_blue.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_brown.png b/textures/mobs_mc_shulker_brown.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_brown.png rename to textures/mobs_mc_shulker_brown.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_cyan.png b/textures/mobs_mc_shulker_cyan.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_cyan.png rename to textures/mobs_mc_shulker_cyan.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_gray.png b/textures/mobs_mc_shulker_gray.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_gray.png rename to textures/mobs_mc_shulker_gray.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_green.png b/textures/mobs_mc_shulker_green.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_green.png rename to textures/mobs_mc_shulker_green.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_light_blue.png b/textures/mobs_mc_shulker_light_blue.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_light_blue.png rename to textures/mobs_mc_shulker_light_blue.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_lime.png b/textures/mobs_mc_shulker_lime.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_lime.png rename to textures/mobs_mc_shulker_lime.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_magenta.png b/textures/mobs_mc_shulker_magenta.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_magenta.png rename to textures/mobs_mc_shulker_magenta.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_orange.png b/textures/mobs_mc_shulker_orange.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_orange.png rename to textures/mobs_mc_shulker_orange.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_pink.png b/textures/mobs_mc_shulker_pink.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_pink.png rename to textures/mobs_mc_shulker_pink.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_purple.png b/textures/mobs_mc_shulker_purple.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_purple.png rename to textures/mobs_mc_shulker_purple.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_red.png b/textures/mobs_mc_shulker_red.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_red.png rename to textures/mobs_mc_shulker_red.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_silver.png b/textures/mobs_mc_shulker_silver.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_silver.png rename to textures/mobs_mc_shulker_silver.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_white.png b/textures/mobs_mc_shulker_white.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_white.png rename to textures/mobs_mc_shulker_white.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_yellow.png b/textures/mobs_mc_shulker_yellow.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulker_yellow.png rename to textures/mobs_mc_shulker_yellow.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_shulkerbullet.png b/textures/mobs_mc_shulkerbullet.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_shulkerbullet.png rename to textures/mobs_mc_shulkerbullet.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_silverfish.png b/textures/mobs_mc_silverfish.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_silverfish.png rename to textures/mobs_mc_silverfish.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_skeleton.png b/textures/mobs_mc_skeleton.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_skeleton.png rename to textures/mobs_mc_skeleton.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_slime.png b/textures/mobs_mc_slime.png similarity index 85% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_slime.png rename to textures/mobs_mc_slime.png index eb45eec10..f61000040 100644 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_slime.png and b/textures/mobs_mc_slime.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_snowman.png b/textures/mobs_mc_snowman.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_snowman.png rename to textures/mobs_mc_snowman.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_bat.png b/textures/mobs_mc_spawn_icon_bat.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_bat.png rename to textures/mobs_mc_spawn_icon_bat.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_blaze.png b/textures/mobs_mc_spawn_icon_blaze.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_blaze.png rename to textures/mobs_mc_spawn_icon_blaze.png diff --git a/textures/mobs_mc_spawn_icon_cat.png b/textures/mobs_mc_spawn_icon_cat.png new file mode 100644 index 000000000..1b904e5ff Binary files /dev/null and b/textures/mobs_mc_spawn_icon_cat.png differ diff --git a/textures/mobs_mc_spawn_icon_cave_spider.png b/textures/mobs_mc_spawn_icon_cave_spider.png new file mode 100644 index 000000000..a7f1354de Binary files /dev/null and b/textures/mobs_mc_spawn_icon_cave_spider.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_chicken.png b/textures/mobs_mc_spawn_icon_chicken.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_chicken.png rename to textures/mobs_mc_spawn_icon_chicken.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_cod.png b/textures/mobs_mc_spawn_icon_cod.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_cod.png rename to textures/mobs_mc_spawn_icon_cod.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_cow.png b/textures/mobs_mc_spawn_icon_cow.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_cow.png rename to textures/mobs_mc_spawn_icon_cow.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_creeper.png b/textures/mobs_mc_spawn_icon_creeper.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_creeper.png rename to textures/mobs_mc_spawn_icon_creeper.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_donkey.png b/textures/mobs_mc_spawn_icon_donkey.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_donkey.png rename to textures/mobs_mc_spawn_icon_donkey.png diff --git a/textures/mobs_mc_spawn_icon_dragon.png b/textures/mobs_mc_spawn_icon_dragon.png new file mode 100644 index 000000000..228461b8a Binary files /dev/null and b/textures/mobs_mc_spawn_icon_dragon.png differ diff --git a/textures/mobs_mc_spawn_icon_enderman.png b/textures/mobs_mc_spawn_icon_enderman.png new file mode 100644 index 000000000..79eaa871d Binary files /dev/null and b/textures/mobs_mc_spawn_icon_enderman.png differ diff --git a/textures/mobs_mc_spawn_icon_endermite.png b/textures/mobs_mc_spawn_icon_endermite.png new file mode 100644 index 000000000..df5a1b281 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_endermite.png differ diff --git a/textures/mobs_mc_spawn_icon_evoker.png b/textures/mobs_mc_spawn_icon_evoker.png new file mode 100644 index 000000000..b6a4353f9 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_evoker.png differ diff --git a/textures/mobs_mc_spawn_icon_ghast.png b/textures/mobs_mc_spawn_icon_ghast.png new file mode 100644 index 000000000..d139df508 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_ghast.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_guardian.png b/textures/mobs_mc_spawn_icon_guardian.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_guardian.png rename to textures/mobs_mc_spawn_icon_guardian.png diff --git a/textures/mobs_mc_spawn_icon_guardian_elder.png b/textures/mobs_mc_spawn_icon_guardian_elder.png new file mode 100644 index 000000000..0b9ce9d76 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_guardian_elder.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_horse.png b/textures/mobs_mc_spawn_icon_horse.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_horse.png rename to textures/mobs_mc_spawn_icon_horse.png diff --git a/textures/mobs_mc_spawn_icon_horse_skeleton.png b/textures/mobs_mc_spawn_icon_horse_skeleton.png new file mode 100644 index 000000000..266c8520e Binary files /dev/null and b/textures/mobs_mc_spawn_icon_horse_skeleton.png differ diff --git a/textures/mobs_mc_spawn_icon_horse_zombie.png b/textures/mobs_mc_spawn_icon_horse_zombie.png new file mode 100644 index 000000000..959a1fb73 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_horse_zombie.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_husk.png b/textures/mobs_mc_spawn_icon_husk.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_husk.png rename to textures/mobs_mc_spawn_icon_husk.png diff --git a/textures/mobs_mc_spawn_icon_illusioner.png b/textures/mobs_mc_spawn_icon_illusioner.png new file mode 100644 index 000000000..4e7981214 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_illusioner.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_iron_golem.png b/textures/mobs_mc_spawn_icon_iron_golem.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_iron_golem.png rename to textures/mobs_mc_spawn_icon_iron_golem.png diff --git a/textures/mobs_mc_spawn_icon_killer_bunny.png b/textures/mobs_mc_spawn_icon_killer_bunny.png new file mode 100644 index 000000000..1a3539349 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_killer_bunny.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_llama.png b/textures/mobs_mc_spawn_icon_llama.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_llama.png rename to textures/mobs_mc_spawn_icon_llama.png diff --git a/textures/mobs_mc_spawn_icon_magmacube.png b/textures/mobs_mc_spawn_icon_magmacube.png new file mode 100644 index 000000000..37d2bb6d4 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_magmacube.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_mooshroom.png b/textures/mobs_mc_spawn_icon_mooshroom.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_mooshroom.png rename to textures/mobs_mc_spawn_icon_mooshroom.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_mule.png b/textures/mobs_mc_spawn_icon_mule.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_mule.png rename to textures/mobs_mc_spawn_icon_mule.png diff --git a/textures/mobs_mc_spawn_icon_parrot.png b/textures/mobs_mc_spawn_icon_parrot.png new file mode 100644 index 000000000..b70b6143e Binary files /dev/null and b/textures/mobs_mc_spawn_icon_parrot.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_pig.png b/textures/mobs_mc_spawn_icon_pig.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_pig.png rename to textures/mobs_mc_spawn_icon_pig.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_polarbear.png b/textures/mobs_mc_spawn_icon_polarbear.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_polarbear.png rename to textures/mobs_mc_spawn_icon_polarbear.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_rabbit.png b/textures/mobs_mc_spawn_icon_rabbit.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_rabbit.png rename to textures/mobs_mc_spawn_icon_rabbit.png diff --git a/textures/mobs_mc_spawn_icon_salmon.png b/textures/mobs_mc_spawn_icon_salmon.png new file mode 100644 index 000000000..d7d94c8fe Binary files /dev/null and b/textures/mobs_mc_spawn_icon_salmon.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_sheep.png b/textures/mobs_mc_spawn_icon_sheep.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_sheep.png rename to textures/mobs_mc_spawn_icon_sheep.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_shulker.png b/textures/mobs_mc_spawn_icon_shulker.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_shulker.png rename to textures/mobs_mc_spawn_icon_shulker.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_silverfish.png b/textures/mobs_mc_spawn_icon_silverfish.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_silverfish.png rename to textures/mobs_mc_spawn_icon_silverfish.png diff --git a/textures/mobs_mc_spawn_icon_skeleton.png b/textures/mobs_mc_spawn_icon_skeleton.png new file mode 100644 index 000000000..450737604 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_skeleton.png differ diff --git a/textures/mobs_mc_spawn_icon_slime.png b/textures/mobs_mc_spawn_icon_slime.png new file mode 100644 index 000000000..2a5a24e86 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_slime.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_snowman.png b/textures/mobs_mc_spawn_icon_snowman.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_snowman.png rename to textures/mobs_mc_spawn_icon_snowman.png diff --git a/textures/mobs_mc_spawn_icon_spider.png b/textures/mobs_mc_spawn_icon_spider.png new file mode 100644 index 000000000..9ce57ce9c Binary files /dev/null and b/textures/mobs_mc_spawn_icon_spider.png differ diff --git a/textures/mobs_mc_spawn_icon_squid.png b/textures/mobs_mc_spawn_icon_squid.png new file mode 100644 index 000000000..43a1d4e1d Binary files /dev/null and b/textures/mobs_mc_spawn_icon_squid.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_stray.png b/textures/mobs_mc_spawn_icon_stray.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_stray.png rename to textures/mobs_mc_spawn_icon_stray.png diff --git a/textures/mobs_mc_spawn_icon_vex.png b/textures/mobs_mc_spawn_icon_vex.png new file mode 100644 index 000000000..3d3488eb7 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_vex.png differ diff --git a/textures/mobs_mc_spawn_icon_villager.png b/textures/mobs_mc_spawn_icon_villager.png new file mode 100644 index 000000000..21e7994f2 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_villager.png differ diff --git a/textures/mobs_mc_spawn_icon_vindicator.png b/textures/mobs_mc_spawn_icon_vindicator.png new file mode 100644 index 000000000..d79267036 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_vindicator.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_witch.png b/textures/mobs_mc_spawn_icon_witch.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_witch.png rename to textures/mobs_mc_spawn_icon_witch.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_wither.png b/textures/mobs_mc_spawn_icon_wither.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_wither.png rename to textures/mobs_mc_spawn_icon_wither.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_witherskeleton.png b/textures/mobs_mc_spawn_icon_witherskeleton.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_witherskeleton.png rename to textures/mobs_mc_spawn_icon_witherskeleton.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_wolf.png b/textures/mobs_mc_spawn_icon_wolf.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_wolf.png rename to textures/mobs_mc_spawn_icon_wolf.png diff --git a/textures/mobs_mc_spawn_icon_zombie.png b/textures/mobs_mc_spawn_icon_zombie.png new file mode 100644 index 000000000..224f898b1 Binary files /dev/null and b/textures/mobs_mc_spawn_icon_zombie.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_zombie_pigman.png b/textures/mobs_mc_spawn_icon_zombie_pigman.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_zombie_pigman.png rename to textures/mobs_mc_spawn_icon_zombie_pigman.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_zombie_villager.png b/textures/mobs_mc_spawn_icon_zombie_villager.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spawn_icon_zombie_villager.png rename to textures/mobs_mc_spawn_icon_zombie_villager.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spider.png b/textures/mobs_mc_spider.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spider.png rename to textures/mobs_mc_spider.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_spider_eyes.png b/textures/mobs_mc_spider_eyes.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_spider_eyes.png rename to textures/mobs_mc_spider_eyes.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_squid.png b/textures/mobs_mc_squid.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_squid.png rename to textures/mobs_mc_squid.png diff --git a/textures/mobs_mc_stone.png b/textures/mobs_mc_stone.png new file mode 100644 index 000000000..f55c786d2 Binary files /dev/null and b/textures/mobs_mc_stone.png differ diff --git a/textures/mobs_mc_stray.png b/textures/mobs_mc_stray.png new file mode 100644 index 000000000..49cf71bea Binary files /dev/null and b/textures/mobs_mc_stray.png differ diff --git a/textures/mobs_mc_stray_overlay.png b/textures/mobs_mc_stray_overlay.png new file mode 100644 index 000000000..5fed35a20 Binary files /dev/null and b/textures/mobs_mc_stray_overlay.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_trading_formspec_bg.png b/textures/mobs_mc_trading_formspec_bg.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_trading_formspec_bg.png rename to textures/mobs_mc_trading_formspec_bg.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_trading_formspec_disabled.png b/textures/mobs_mc_trading_formspec_disabled.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_trading_formspec_disabled.png rename to textures/mobs_mc_trading_formspec_disabled.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_vex.png b/textures/mobs_mc_vex.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_vex.png rename to textures/mobs_mc_vex.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_vex_charging.png b/textures/mobs_mc_vex_charging.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_vex_charging.png rename to textures/mobs_mc_vex_charging.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager.png b/textures/mobs_mc_villager.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager.png rename to textures/mobs_mc_villager.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_armorer.png b/textures/mobs_mc_villager_armorer.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_armorer.png rename to textures/mobs_mc_villager_armorer.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_butcher.png b/textures/mobs_mc_villager_butcher.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_butcher.png rename to textures/mobs_mc_villager_butcher.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_cartographer.png b/textures/mobs_mc_villager_cartographer.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_cartographer.png rename to textures/mobs_mc_villager_cartographer.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_farmer.png b/textures/mobs_mc_villager_farmer.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_farmer.png rename to textures/mobs_mc_villager_farmer.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_fisherman.png b/textures/mobs_mc_villager_fisherman.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_fisherman.png rename to textures/mobs_mc_villager_fisherman.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_fletcher.png b/textures/mobs_mc_villager_fletcher.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_fletcher.png rename to textures/mobs_mc_villager_fletcher.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_leatherworker.png b/textures/mobs_mc_villager_leatherworker.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_leatherworker.png rename to textures/mobs_mc_villager_leatherworker.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_librarian.png b/textures/mobs_mc_villager_librarian.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_librarian.png rename to textures/mobs_mc_villager_librarian.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_mason.png b/textures/mobs_mc_villager_mason.png similarity index 96% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_mason.png rename to textures/mobs_mc_villager_mason.png index a09e79b2a..45b22aa44 100644 Binary files a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_mason.png and b/textures/mobs_mc_villager_mason.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_nitwit.png b/textures/mobs_mc_villager_nitwit.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_nitwit.png rename to textures/mobs_mc_villager_nitwit.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_priest.png b/textures/mobs_mc_villager_priest.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_priest.png rename to textures/mobs_mc_villager_priest.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_sheperd.png b/textures/mobs_mc_villager_sheperd.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_sheperd.png rename to textures/mobs_mc_villager_sheperd.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_smith.png b/textures/mobs_mc_villager_smith.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_smith.png rename to textures/mobs_mc_villager_smith.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_toolsmith.png b/textures/mobs_mc_villager_toolsmith.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_toolsmith.png rename to textures/mobs_mc_villager_toolsmith.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_weaponsmith.png b/textures/mobs_mc_villager_weaponsmith.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_villager_weaponsmith.png rename to textures/mobs_mc_villager_weaponsmith.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_vindicator.png b/textures/mobs_mc_vindicator.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_vindicator.png rename to textures/mobs_mc_vindicator.png diff --git a/textures/mobs_mc_witch.png b/textures/mobs_mc_witch.png new file mode 100644 index 000000000..3227db140 Binary files /dev/null and b/textures/mobs_mc_witch.png differ diff --git a/textures/mobs_mc_wither.png b/textures/mobs_mc_wither.png new file mode 100644 index 000000000..2d4a46e51 Binary files /dev/null and b/textures/mobs_mc_wither.png differ diff --git a/textures/mobs_mc_wither_half_health.png b/textures/mobs_mc_wither_half_health.png new file mode 100644 index 000000000..ff2baa989 Binary files /dev/null and b/textures/mobs_mc_wither_half_health.png differ diff --git a/textures/mobs_mc_wither_skeleton.png b/textures/mobs_mc_wither_skeleton.png new file mode 100644 index 000000000..bb3829af4 Binary files /dev/null and b/textures/mobs_mc_wither_skeleton.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf.png b/textures/mobs_mc_wolf.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf.png rename to textures/mobs_mc_wolf.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf_angry.png b/textures/mobs_mc_wolf_angry.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf_angry.png rename to textures/mobs_mc_wolf_angry.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf_collar.png b/textures/mobs_mc_wolf_collar.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf_collar.png rename to textures/mobs_mc_wolf_collar.png diff --git a/textures/mobs_mc_wolf_icon_roam.png b/textures/mobs_mc_wolf_icon_roam.png new file mode 100644 index 000000000..bbd858353 Binary files /dev/null and b/textures/mobs_mc_wolf_icon_roam.png differ diff --git a/textures/mobs_mc_wolf_icon_sit.png b/textures/mobs_mc_wolf_icon_sit.png new file mode 100644 index 000000000..53e18cca9 Binary files /dev/null and b/textures/mobs_mc_wolf_icon_sit.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf_tame.png b/textures/mobs_mc_wolf_tame.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_wolf_tame.png rename to textures/mobs_mc_wolf_tame.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie.png b/textures/mobs_mc_zombie.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie.png rename to textures/mobs_mc_zombie.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_butcher.png b/textures/mobs_mc_zombie_butcher.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_butcher.png rename to textures/mobs_mc_zombie_butcher.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_farmer.png b/textures/mobs_mc_zombie_farmer.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_farmer.png rename to textures/mobs_mc_zombie_farmer.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_librarian.png b/textures/mobs_mc_zombie_librarian.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_librarian.png rename to textures/mobs_mc_zombie_librarian.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_pigman.png b/textures/mobs_mc_zombie_pigman.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_pigman.png rename to textures/mobs_mc_zombie_pigman.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_priest.png b/textures/mobs_mc_zombie_priest.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_priest.png rename to textures/mobs_mc_zombie_priest.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_smith.png b/textures/mobs_mc_zombie_smith.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_smith.png rename to textures/mobs_mc_zombie_smith.png diff --git a/mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_villager.png b/textures/mobs_mc_zombie_villager.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/mobs_mc_zombie_villager.png rename to textures/mobs_mc_zombie_villager.png diff --git a/mods/ENTITIES/mcl_mobs/textures/mobs_nametag.png b/textures/mobs_nametag.png similarity index 100% rename from mods/ENTITIES/mcl_mobs/textures/mobs_nametag.png rename to textures/mobs_nametag.png diff --git a/mods/ITEMS/mcl_crimson/textures/nether_wart_block.png b/textures/nether_wart_block.png similarity index 100% rename from mods/ITEMS/mcl_crimson/textures/nether_wart_block.png rename to textures/nether_wart_block.png diff --git a/textures/object_crosshair.png b/textures/object_crosshair.png new file mode 100644 index 000000000..a3d7579b0 Binary files /dev/null and b/textures/object_crosshair.png differ diff --git a/textures/player.png b/textures/player.png new file mode 100644 index 000000000..863991b34 Binary files /dev/null and b/textures/player.png differ diff --git a/textures/player_back.png b/textures/player_back.png new file mode 100644 index 000000000..39e143c3b Binary files /dev/null and b/textures/player_back.png differ diff --git a/mods/ITEMS/REDSTONE/mesecons_torch/textures/redstone_redstone_block.png b/textures/redstone_redstone_block.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_torch/textures/redstone_redstone_block.png rename to textures/redstone_redstone_block.png diff --git a/mods/ITEMS/REDSTONE/mesecons_wires/textures/redstone_redstone_dust.png b/textures/redstone_redstone_dust.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_wires/textures/redstone_redstone_dust.png rename to textures/redstone_redstone_dust.png diff --git a/mods/ITEMS/REDSTONE/mesecons_wires/textures/redstone_redstone_dust_dot.png b/textures/redstone_redstone_dust_dot.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_wires/textures/redstone_redstone_dust_dot.png rename to textures/redstone_redstone_dust_dot.png diff --git a/mods/ITEMS/REDSTONE/mesecons_wires/textures/redstone_redstone_dust_line0.png b/textures/redstone_redstone_dust_line0.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_wires/textures/redstone_redstone_dust_line0.png rename to textures/redstone_redstone_dust_line0.png diff --git a/mods/ITEMS/REDSTONE/mesecons_wires/textures/redstone_redstone_dust_line1.png b/textures/redstone_redstone_dust_line1.png similarity index 100% rename from mods/ITEMS/REDSTONE/mesecons_wires/textures/redstone_redstone_dust_line1.png rename to textures/redstone_redstone_dust_line1.png diff --git a/mods/ITEMS/mcl_beds/textures/respawn_anchor_bottom.png b/textures/respawn_anchor_bottom.png similarity index 88% rename from mods/ITEMS/mcl_beds/textures/respawn_anchor_bottom.png rename to textures/respawn_anchor_bottom.png index d5d332c15..78a3f1a07 100644 Binary files a/mods/ITEMS/mcl_beds/textures/respawn_anchor_bottom.png and b/textures/respawn_anchor_bottom.png differ diff --git a/mods/ITEMS/mcl_beds/textures/respawn_anchor_side0.png b/textures/respawn_anchor_side0.png similarity index 88% rename from mods/ITEMS/mcl_beds/textures/respawn_anchor_side0.png rename to textures/respawn_anchor_side0.png index 31a6e58f3..5dcee366b 100644 Binary files a/mods/ITEMS/mcl_beds/textures/respawn_anchor_side0.png and b/textures/respawn_anchor_side0.png differ diff --git a/mods/ITEMS/mcl_beds/textures/respawn_anchor_side1.png b/textures/respawn_anchor_side1.png similarity index 87% rename from mods/ITEMS/mcl_beds/textures/respawn_anchor_side1.png rename to textures/respawn_anchor_side1.png index ed4667a2e..5a309df5a 100644 Binary files a/mods/ITEMS/mcl_beds/textures/respawn_anchor_side1.png and b/textures/respawn_anchor_side1.png differ diff --git a/mods/ITEMS/mcl_beds/textures/respawn_anchor_side2.png b/textures/respawn_anchor_side2.png similarity index 88% rename from mods/ITEMS/mcl_beds/textures/respawn_anchor_side2.png rename to textures/respawn_anchor_side2.png index 996042015..7c7aa25d5 100644 Binary files a/mods/ITEMS/mcl_beds/textures/respawn_anchor_side2.png and b/textures/respawn_anchor_side2.png differ diff --git a/mods/ITEMS/mcl_beds/textures/respawn_anchor_side3.png b/textures/respawn_anchor_side3.png similarity index 87% rename from mods/ITEMS/mcl_beds/textures/respawn_anchor_side3.png rename to textures/respawn_anchor_side3.png index f0728943c..9eff99f12 100644 Binary files a/mods/ITEMS/mcl_beds/textures/respawn_anchor_side3.png and b/textures/respawn_anchor_side3.png differ diff --git a/mods/ITEMS/mcl_beds/textures/respawn_anchor_side4.png b/textures/respawn_anchor_side4.png similarity index 87% rename from mods/ITEMS/mcl_beds/textures/respawn_anchor_side4.png rename to textures/respawn_anchor_side4.png index e9bea5371..0e1991a52 100644 Binary files a/mods/ITEMS/mcl_beds/textures/respawn_anchor_side4.png and b/textures/respawn_anchor_side4.png differ diff --git a/mods/ITEMS/mcl_beds/textures/respawn_anchor_top_off.png b/textures/respawn_anchor_top_off.png similarity index 89% rename from mods/ITEMS/mcl_beds/textures/respawn_anchor_top_off.png rename to textures/respawn_anchor_top_off.png index a180e96e7..f0d40c789 100644 Binary files a/mods/ITEMS/mcl_beds/textures/respawn_anchor_top_off.png and b/textures/respawn_anchor_top_off.png differ diff --git a/textures/respawn_anchor_top_on.png b/textures/respawn_anchor_top_on.png new file mode 100644 index 000000000..1db663a6e Binary files /dev/null and b/textures/respawn_anchor_top_on.png differ diff --git a/textures/screwdriver.png b/textures/screwdriver.png new file mode 100644 index 000000000..f6706b970 Binary files /dev/null and b/textures/screwdriver.png differ diff --git a/mods/HUD/mcl_base_textures/textures/smoke_puff.png b/textures/smoke_puff.png similarity index 100% rename from mods/HUD/mcl_base_textures/textures/smoke_puff.png rename to textures/smoke_puff.png diff --git a/textures/smoker_bottom.png b/textures/smoker_bottom.png new file mode 100644 index 000000000..cef1f8a08 Binary files /dev/null and b/textures/smoker_bottom.png differ diff --git a/textures/smoker_front.png b/textures/smoker_front.png new file mode 100644 index 000000000..3cde8c764 Binary files /dev/null and b/textures/smoker_front.png differ diff --git a/textures/smoker_front_on.png b/textures/smoker_front_on.png new file mode 100644 index 000000000..42ecfd7b2 Binary files /dev/null and b/textures/smoker_front_on.png differ diff --git a/textures/smoker_side.png b/textures/smoker_side.png new file mode 100644 index 000000000..b25263278 Binary files /dev/null and b/textures/smoker_side.png differ diff --git a/textures/smoker_top.png b/textures/smoker_top.png new file mode 100644 index 000000000..d79980004 Binary files /dev/null and b/textures/smoker_top.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/soul_fire_basic_flame.png b/textures/soul_fire_basic_flame.png similarity index 73% rename from mods/ITEMS/mcl_blackstone/textures/soul_fire_basic_flame.png rename to textures/soul_fire_basic_flame.png index 74bd64d32..f8d3500c8 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/soul_fire_basic_flame.png and b/textures/soul_fire_basic_flame.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/soul_fire_basic_flame_animated.png b/textures/soul_fire_basic_flame_animated.png similarity index 72% rename from mods/ITEMS/mcl_blackstone/textures/soul_fire_basic_flame_animated.png rename to textures/soul_fire_basic_flame_animated.png index 010679eac..9b8cc8060 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/soul_fire_basic_flame_animated.png and b/textures/soul_fire_basic_flame_animated.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/soul_mcl_burning_entity_flame_animated.png b/textures/soul_mcl_burning_entity_flame_animated.png similarity index 72% rename from mods/ITEMS/mcl_blackstone/textures/soul_mcl_burning_entity_flame_animated.png rename to textures/soul_mcl_burning_entity_flame_animated.png index 795d3e9a7..44c6fcbfd 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/soul_mcl_burning_entity_flame_animated.png and b/textures/soul_mcl_burning_entity_flame_animated.png differ diff --git a/mods/ITEMS/mcl_blackstone/textures/soul_mcl_burning_hud_flame_animated.png b/textures/soul_mcl_burning_hud_flame_animated.png similarity index 72% rename from mods/ITEMS/mcl_blackstone/textures/soul_mcl_burning_hud_flame_animated.png rename to textures/soul_mcl_burning_hud_flame_animated.png index 046695716..32cbdda40 100644 Binary files a/mods/ITEMS/mcl_blackstone/textures/soul_mcl_burning_hud_flame_animated.png and b/textures/soul_mcl_burning_hud_flame_animated.png differ diff --git a/textures/soul_torch_on_floor.png b/textures/soul_torch_on_floor.png new file mode 100644 index 000000000..4e186d76c Binary files /dev/null and b/textures/soul_torch_on_floor.png differ diff --git a/textures/soul_torch_on_floor_animated.png b/textures/soul_torch_on_floor_animated.png new file mode 100644 index 000000000..d1b5ce2ea Binary files /dev/null and b/textures/soul_torch_on_floor_animated.png differ diff --git a/textures/spawn_egg.png b/textures/spawn_egg.png new file mode 100644 index 000000000..67a6fda4b Binary files /dev/null and b/textures/spawn_egg.png differ diff --git a/mods/ENTITIES/mobs_mc/textures/spawn_egg_overlay.png b/textures/spawn_egg_overlay.png similarity index 100% rename from mods/ENTITIES/mobs_mc/textures/spawn_egg_overlay.png rename to textures/spawn_egg_overlay.png diff --git a/textures/sunrisebg.png b/textures/sunrisebg.png new file mode 100644 index 000000000..8f22cc6fe Binary files /dev/null and b/textures/sunrisebg.png differ diff --git a/textures/sus_stew.png b/textures/sus_stew.png new file mode 100644 index 000000000..1cdc8c6c2 Binary files /dev/null and b/textures/sus_stew.png differ diff --git a/mods/ENVIRONMENT/mcl_weather/textures/weather_pack_rain_raindrop_1.png b/textures/weather_pack_rain_raindrop_1.png similarity index 100% rename from mods/ENVIRONMENT/mcl_weather/textures/weather_pack_rain_raindrop_1.png rename to textures/weather_pack_rain_raindrop_1.png diff --git a/mods/ENVIRONMENT/mcl_weather/textures/weather_pack_rain_raindrop_2.png b/textures/weather_pack_rain_raindrop_2.png similarity index 100% rename from mods/ENVIRONMENT/mcl_weather/textures/weather_pack_rain_raindrop_2.png rename to textures/weather_pack_rain_raindrop_2.png diff --git a/mods/ENVIRONMENT/mcl_weather/textures/weather_pack_rain_raindrop_3.png b/textures/weather_pack_rain_raindrop_3.png similarity index 100% rename from mods/ENVIRONMENT/mcl_weather/textures/weather_pack_rain_raindrop_3.png rename to textures/weather_pack_rain_raindrop_3.png diff --git a/mods/ENVIRONMENT/mcl_weather/textures/weather_pack_snow_snowflake1.png b/textures/weather_pack_snow_snowflake1.png similarity index 100% rename from mods/ENVIRONMENT/mcl_weather/textures/weather_pack_snow_snowflake1.png rename to textures/weather_pack_snow_snowflake1.png diff --git a/mods/ENVIRONMENT/mcl_weather/textures/weather_pack_snow_snowflake2.png b/textures/weather_pack_snow_snowflake2.png similarity index 100% rename from mods/ENVIRONMENT/mcl_weather/textures/weather_pack_snow_snowflake2.png rename to textures/weather_pack_snow_snowflake2.png diff --git a/mods/ITEMS/mcl_wool/textures/wool_black.png b/textures/wool_black.png similarity index 100% rename from mods/ITEMS/mcl_wool/textures/wool_black.png rename to textures/wool_black.png diff --git a/mods/ITEMS/mcl_wool/textures/wool_blue.png b/textures/wool_blue.png similarity index 100% rename from mods/ITEMS/mcl_wool/textures/wool_blue.png rename to textures/wool_blue.png diff --git a/textures/wool_brown.png b/textures/wool_brown.png new file mode 100644 index 000000000..fac3ceffd Binary files /dev/null and b/textures/wool_brown.png differ diff --git a/textures/wool_cyan.png b/textures/wool_cyan.png new file mode 100644 index 000000000..25d3e2f07 Binary files /dev/null and b/textures/wool_cyan.png differ diff --git a/textures/wool_dark_green.png b/textures/wool_dark_green.png new file mode 100644 index 000000000..9d17bfdc3 Binary files /dev/null and b/textures/wool_dark_green.png differ diff --git a/textures/wool_dark_grey.png b/textures/wool_dark_grey.png new file mode 100644 index 000000000..aa0be74be Binary files /dev/null and b/textures/wool_dark_grey.png differ diff --git a/textures/wool_grey.png b/textures/wool_grey.png new file mode 100644 index 000000000..e604a9146 Binary files /dev/null and b/textures/wool_grey.png differ diff --git a/textures/wool_magenta.png b/textures/wool_magenta.png new file mode 100644 index 000000000..f6889b447 Binary files /dev/null and b/textures/wool_magenta.png differ diff --git a/mods/ITEMS/mcl_wool/textures/wool_orange.png b/textures/wool_orange.png similarity index 100% rename from mods/ITEMS/mcl_wool/textures/wool_orange.png rename to textures/wool_orange.png diff --git a/mods/ITEMS/mcl_wool/textures/wool_pink.png b/textures/wool_pink.png similarity index 100% rename from mods/ITEMS/mcl_wool/textures/wool_pink.png rename to textures/wool_pink.png diff --git a/textures/wool_red.png b/textures/wool_red.png new file mode 100644 index 000000000..1602f0ea2 Binary files /dev/null and b/textures/wool_red.png differ diff --git a/textures/wool_violet.png b/textures/wool_violet.png new file mode 100644 index 000000000..92a20df29 Binary files /dev/null and b/textures/wool_violet.png differ diff --git a/textures/wool_white.png b/textures/wool_white.png new file mode 100644 index 000000000..c3695550f Binary files /dev/null and b/textures/wool_white.png differ diff --git a/mods/ITEMS/mcl_wool/textures/wool_yellow.png b/textures/wool_yellow.png similarity index 100% rename from mods/ITEMS/mcl_wool/textures/wool_yellow.png rename to textures/wool_yellow.png diff --git a/textures/xpanes_pane_iron.png b/textures/xpanes_pane_iron.png new file mode 100644 index 000000000..8424b4626 Binary files /dev/null and b/textures/xpanes_pane_iron.png differ diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_black.png b/textures/xpanes_top_glass_black.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_black.png rename to textures/xpanes_top_glass_black.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_blue.png b/textures/xpanes_top_glass_blue.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_blue.png rename to textures/xpanes_top_glass_blue.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_brown.png b/textures/xpanes_top_glass_brown.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_brown.png rename to textures/xpanes_top_glass_brown.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_cyan.png b/textures/xpanes_top_glass_cyan.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_cyan.png rename to textures/xpanes_top_glass_cyan.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_gray.png b/textures/xpanes_top_glass_gray.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_gray.png rename to textures/xpanes_top_glass_gray.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_green.png b/textures/xpanes_top_glass_green.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_green.png rename to textures/xpanes_top_glass_green.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_light_blue.png b/textures/xpanes_top_glass_light_blue.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_light_blue.png rename to textures/xpanes_top_glass_light_blue.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_lime.png b/textures/xpanes_top_glass_lime.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_lime.png rename to textures/xpanes_top_glass_lime.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_magenta.png b/textures/xpanes_top_glass_magenta.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_magenta.png rename to textures/xpanes_top_glass_magenta.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_natural.png b/textures/xpanes_top_glass_natural.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_natural.png rename to textures/xpanes_top_glass_natural.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_orange.png b/textures/xpanes_top_glass_orange.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_orange.png rename to textures/xpanes_top_glass_orange.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_pink.png b/textures/xpanes_top_glass_pink.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_pink.png rename to textures/xpanes_top_glass_pink.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_purple.png b/textures/xpanes_top_glass_purple.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_purple.png rename to textures/xpanes_top_glass_purple.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_red.png b/textures/xpanes_top_glass_red.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_red.png rename to textures/xpanes_top_glass_red.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_silver.png b/textures/xpanes_top_glass_silver.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_silver.png rename to textures/xpanes_top_glass_silver.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_white.png b/textures/xpanes_top_glass_white.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_white.png rename to textures/xpanes_top_glass_white.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_glass_yellow.png b/textures/xpanes_top_glass_yellow.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_glass_yellow.png rename to textures/xpanes_top_glass_yellow.png diff --git a/mods/ITEMS/xpanes/textures/xpanes_top_iron.png b/textures/xpanes_top_iron.png similarity index 100% rename from mods/ITEMS/xpanes/textures/xpanes_top_iron.png rename to textures/xpanes_top_iron.png