Compare commits

..

999 Commits

Author SHA1 Message Date
FossFanatic d83c6fe906 Merge pull request 'Dry Biome Rain Fixes' (#3472) from dry_biome_rain_fixes into master
Reviewed-on: MineClone2/MineClone2#3472
Reviewed-by: Nicu <kneekoo@noreply.git.minetest.land>
2023-02-25 08:27:38 +00:00
FossFanatic e7c6043f06 Merge pull request 'Mintest Fix' (#3477) from api_typo_fix into master
Reviewed-on: MineClone2/MineClone2#3477
Reviewed-by: Nicu <kneekoo@noreply.git.minetest.land>
2023-02-22 14:19:24 +00:00
FossFanatic 65b1fd163b Fix fatal typo
This typo caused the game to crash, instead of spitting out an error message as it was supposed to.
2023-02-22 13:05:18 +00:00
FossFanatic eff0a546e5 Merge pull request 'Add Biome Coloured Water' (#3461) from biome_colored_water into master
Reviewed-on: MineClone2/MineClone2#3461
Reviewed-by: Nicu <kneekoo@noreply.git.minetest.land>
2023-02-22 07:20:35 +00:00
FossFanatic 61ee14b1a6 Fix rain issues in dry biomes
This commit adds an extra check at the ABMs which prevent the rain from affecting dry biomes, even though there isn't supposed to any rain there.
2023-02-21 10:12:29 +00:00
FossFanatic 968f6ae963 Add the original palette back as an _alt version 2023-02-20 07:22:55 +00:00
FossFanatic 2e2bbf0b17 Make the water palette more diluted 2023-02-20 07:22:24 +00:00
FossFanatic 8060b02cbd Add extra check to guarantee no nil values 2023-02-19 07:49:09 +00:00
FossFanatic 693d40b6c4 Fix villages generating with incorrect water
This commit fixes an issue where villages would generate with water which wasn't of the correct biome.

The new function simply looks for water source nodes around the entire village and replaces any it finds with the same node, except with blank params so that the `on_construct` of the newly placed water source node gets called.
2023-02-18 13:51:31 +00:00
FossFanatic ecfbb1ae07 Fix waterlogged mangrove roots textures 2023-02-18 08:54:57 +00:00
FossFanatic 14e630a1e2 Fix cauldron water textures 2023-02-18 08:53:36 +00:00
FossFanatic 62afbb4509 Remove reference to removed texture 2023-02-18 08:42:21 +00:00
FossFanatic f02764bc08 Remove now unused river water source texture 2023-02-18 08:32:00 +00:00
FossFanatic aa1a928898 Remove now unused flowing river water texture 2023-02-18 08:31:36 +00:00
FossFanatic 45952a6fd6 Add greyscale water textures & water palette 2023-02-18 08:30:44 +00:00
FossFanatic 33bbeb1a4d Improve river water 2023-02-18 08:27:22 +00:00
FossFanatic d3253ecf4f Change small part of buckets code 2023-02-18 08:25:47 +00:00
FossFanatic 0abda8ff20 Add new function for water nodes 2023-02-18 08:25:08 +00:00
FossFanatic 9bb3d8311b Append stuff to the new function 2023-02-18 08:24:12 +00:00
FossFanatic 686bb38546 Add lbm and register_on_generated for water 2023-02-18 08:23:40 +00:00
FossFanatic c4f6944a03 Add water palette indexes and waterfog to the code 2023-02-18 08:22:56 +00:00
FossFanatic c1647a5cce Improve underwater sky colour code 2023-02-18 08:22:04 +00:00
FossFanatic 624c853cb3 Improve water 2023-02-18 08:21:24 +00:00
ancientmarinerdev e8641c3c20 Merge pull request 'Fix custom spawners spawning mobs regardless of light level' (#3421) from GuyLiner/MineClone2:fix-spawner into master
Reviewed-on: MineClone2/MineClone2#3421
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-17 22:43:59 +00:00
GuyLiner f39cec2442 Added slime_big to non_spawn_specific instead of creating an exception for them in spawning.lua 2023-02-16 20:48:30 -05:00
GuyLiner e99a46b52d Removed comment 2023-02-16 20:48:30 -05:00
GuyLiner cd1c8bd92e Refactored logic for getting light levels for mobs
Removed mob_light_table, simplied loop, changed return values and
fixed dimension priority error in loop. Slimes also don't have a
hardcoded exception for their light levels anymore, and instead
are apart of spawn specific.
2023-02-16 20:48:28 -05:00
GuyLiner 3830171347 Adjusted mob_light_lvl for changed return value 2023-02-16 19:43:50 -05:00
GuyLiner 48b16a23b6 If player in creative mode, don't drop experience from destroyed spawners 2023-02-16 19:43:50 -05:00
GuyLiner 0a9be4b79c Added light level parameters to the mobs_mcl.setup_spawner() function, fixing #221
There is now a call to mcl_mobs:mob_light_lvl that returns a table for the name of the mob that you pass to it that contains
the light levels for that mob.
2023-02-16 19:43:50 -05:00
GuyLiner 540319d948 Added non_spawn_dictionary and function for getting mob light levels
The non_spawn_dictionary will cover all mobs that don't spawn naturally, and holds the the minimum and maximum light values for each of them.
A function has also been created that will go through both the spawn_dictionary and the non_spawn_dictionary and determine which one
a mob exists in, with the execption of slimes which cannot spawn from a custom spawner at the moment.

Mobs who don't have light levels for the world that you are currently trying to set your custom spawner in will default to their overworld values
2023-02-16 19:43:50 -05:00
GuyLiner fbb2923a0b Added mcl_mobs:non_spawn_specific function for mobs that don't naturally spawn and for mobs that don't spawn in the overworld 2023-02-16 19:43:50 -05:00
ancientmarinerdev b2e0b9b08b Merge pull request 'Mob Step error handling' (#3452) from mobs_error_handling into master
Reviewed-on: MineClone2/MineClone2#3452
2023-02-16 23:34:07 +00:00
ancientmarinerdev 4d61e32021 Clean up error handling 2023-02-16 23:15:55 +00:00
ancientmarinerdev 7c602ce82c Tidy up error handling. 2023-02-16 23:15:55 +00:00
ancientmarinerdev ae92c51155 Adding error handling to the mob step function 2023-02-16 23:15:55 +00:00
ancientmarinerdev db7f4699eb Merge pull request 'Add Biome Coloured Foliage' (#3420) from biome_colored_foliage into master
Reviewed-on: MineClone2/MineClone2#3420
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-16 22:35:05 +00:00
ancientmarinerdev b23fc6d23d Merge branch 'master' into biome_colored_foliage 2023-02-16 22:14:40 +00:00
FossFanatic 68e6965dd0 Remove excessive functions and change the appropriate stuff 2023-02-16 18:09:39 +00:00
FossFanatic 7d642c9929 Remove the tab before the curly bracket 2023-02-16 17:25:21 +00:00
FossFanatic 406b27852b Improve the new function somewhat 2023-02-16 07:54:00 +00:00
ancientmarinerdev d00f183456 Merge pull request 'Prevent setting fire on top of water' (#3446) from emptyshore/MineClone2:3152-fire-water into master
Reviewed-on: MineClone2/MineClone2#3446
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-15 20:13:32 +00:00
emptyshore b121d0f804 Prevent placement of fire into nodes above water
This addresses the edge case where fire is set to the top of a non-water
block that represents water (such as kelp).

Note this is forbidding theoretically legitimate setups for fire over
water where fire is set to the side of a block diagonally from the
water.

Fire is still permitted next to water (so it can be set to the face of a
block diagonally from a water column).
2023-02-16 08:56:17 +13:00
FossFanatic 8f8385e4a1 Use metadata method to make player mangrove leaves 2023-02-15 18:29:56 +00:00
FossFanatic 17fc7a3256 Use metadata method to make player leaves 2023-02-15 18:29:18 +00:00
ancientmarinerdev c08153fa7f Merge pull request 'Texture-Rename-2' (#3456) from Texture-Rename-2 into master
Reviewed-on: MineClone2/MineClone2#3456
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-15 16:26:40 +00:00
ancientmarinerdev ba708010a2 Fix incorrect crimson texture issue 2023-02-15 16:23:08 +00:00
Michieal 6601ecf788 Basic signs texture replacement. 2023-02-15 14:52:00 +00:00
Michieal 660c85dddc Changed mcl_buckets' image use to be named properly. This fixes issue #3455 2023-02-15 14:52:00 +00:00
Michieal 2d0b4dd8f7 Finished mcl_crimson. 2023-02-15 14:52:00 +00:00
FossFanatic 10d9eb2980 Upload files to 'mods/MAPGEN/mcl_mapgen_core' 2023-02-15 12:23:58 +00:00
FossFanatic 3d9df5c797 Fix issue with vines in certain biomes
This commit removes some excessive checks which caused vines to not get a biome colour in certain biomes at certain rotations.
2023-02-15 12:20:15 +00:00
Michieal 8cc90b6714 Merge pull request 'Document hotfix release process' (#3453) from hotfix_process_document into master
Reviewed-on: MineClone2/MineClone2#3453
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2023-02-15 08:02:37 +00:00
ancientmarinerdev db4ff13aeb Document hotfix release process 2023-02-15 00:30:01 +00:00
FossFanatic f919f73c24 Improve some code 2023-02-14 18:14:10 +00:00
FossFanatic 319beb91ce Improve vines code 2023-02-14 18:11:43 +00:00
FossFanatic bea9bbe212 Improve certain functions 2023-02-14 18:10:49 +00:00
FossFanatic 8fd40eaf46 Replace get_registered_biome_from_pos with get_palette_indexes_from_pos 2023-02-14 18:08:59 +00:00
FossFanatic fcaa2c4ce1 revert 55478f6953
revert Fix crash with mapgen v6
2023-02-14 14:22:03 +00:00
FossFanatic 55478f6953 Fix crash with mapgen v6 2023-02-14 14:01:14 +00:00
FossFanatic 57882ae56a Merge branch 'master' into biome_colored_foliage 2023-02-14 13:27:37 +00:00
FossFanatic fee4ccf096 Convert old player leaves into new system
This commit adds a couple of lines to the `mcl_mapgen_core:fix_foliage_palette_indexes"` LBM, which ensures that player leaves which were placed before this update get converted into the new player leaves.

I would have included mangrove leaves, but decided against it because of an issue where the `param2` of mangrove leaves was accidentally set to 1 (in the schematics?). This meant that if I included mangrove leaves, the LBM would have converted the natural leaves as well.

This would have made it very tedious to clean up the leaves after chopping down a mangrove tree, since these would not rot by themselves.
2023-02-14 11:20:00 +00:00
FossFanatic f653f47f26 Improve the new code somewhat 2023-02-14 08:36:49 +00:00
FossFanatic 7b7e213925 Fix mcl_util.get_registered_biome_from_pos(pos)
Adds something which was missing from the function.
2023-02-14 08:12:55 +00:00
ancientmarinerdev cf829b6481 Merge pull request 'Disable crafting white and blue dye from lily of the valley and cornflowers respectively' (#3449) from disable_lily_dye_craft into master
Reviewed-on: MineClone2/MineClone2#3449
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-14 02:46:10 +00:00
PrairieWind f62546a54f Comment out crafting white and blue dye from lily of the valley and cornflowers respectively 2023-02-13 19:37:04 -07:00
ancientmarinerdev 7b6d946d7b Merge pull request 'Campfire API' (#3437) from campfire_api into master
Reviewed-on: MineClone2/MineClone2#3437
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-14 02:35:34 +00:00
PrairieWind 1da272a941 Add campfires to the list of working item APIs 2023-02-14 02:25:50 +00:00
PrairieWind e3f14a3a99 Campfire API 2023-02-14 02:25:50 +00:00
ancientmarinerdev a9a61a034c Merge pull request 'Texture Conversion: Name Change Set 1 - Fixed Branch' (#3448) from fix_files_rename_branch into master
Reviewed-on: MineClone2/MineClone2#3448
2023-02-14 02:09:04 +00:00
ancientmarinerdev 6f98ba5118 Fix crimson mushroom naming issue 2023-02-14 02:00:19 +00:00
ancientmarinerdev f6f812257e Fix crimson name mismatch 2023-02-14 01:50:06 +00:00
Michieal f05e976d18 changed comment. 2023-02-14 01:50:05 +00:00
Michieal 5533ec7bac fix mobs losing their textures. 2023-02-14 01:50:05 +00:00
Michieal b66e2a117f fix json reading error. 2023-02-14 01:50:05 +00:00
Michieal 09ef5fd96b optipng the textures. 2023-02-14 01:50:05 +00:00
Michieal 1e61fc3069 Fixed "mcl_crimson_mcl_crimson" issue.
Fixed colors.json stupidity.
2023-02-14 01:50:05 +00:00
Michieal ef30646788 Changed mcl_crimson - finished. 2023-02-14 01:50:02 +00:00
Michieal 70e4aaa3a7 Changed mcl_crimson part 1. 2023-02-14 01:48:11 +00:00
Michieal 8bfa55fa7a Changed Salmon, Glow Squid, Cod, Cartography Table, Awards_Axolotl, Armor_Stand_Item. Glow-Ink_sac. 2023-02-14 01:43:16 +00:00
Michieal 2ba6a60e55 Deleted unused _alt textures from mcl_crimson. 2023-02-14 01:43:16 +00:00
FossFanatic aeddb7675f Don't run LBMs at every load
This commit makes it so the LBMs don't run at every load.

This commit also adds some new `minetest.register_on_generated()` code, which should ensure that any newly generated mapblocks have the correct foliage colours.
2023-02-13 18:50:26 +00:00
FossFanatic 2ccfd89379 Add nil checks 2023-02-13 15:49:19 +00:00
FossFanatic 3a24903a01 Add nil check 2023-02-13 15:46:45 +00:00
FossFanatic abdd5e11c0 Shorten code slightly 2023-02-13 15:46:08 +00:00
FossFanatic e17fab385b Add nil checks 2023-02-13 15:44:23 +00:00
FossFanatic 17cae6896e Add back the logical code?
My gut feeling tells me that it is somehow a bad idea to have removed this.
2023-02-13 11:17:51 +00:00
FossFanatic 1c84bc6572 Put all affected grass blocks in a local
This commit puts all nodes which make use of the grass palette in a local, to make for less messy code.
2023-02-13 10:33:47 +00:00
FossFanatic 4d29fab932 Improve some trees code 2023-02-13 10:22:28 +00:00
FossFanatic a2087b19a5 Delete rogue file 2023-02-13 10:20:48 +00:00
PrairieWind 84119d8f34 Merge pull request 'Add Lily of the Valley and Cornflower Flowers' (#3438) from lily_of_the_valley into master
Reviewed-on: MineClone2/MineClone2#3438
Reviewed-by: Nicu <kneekoo@noreply.git.minetest.land>
2023-02-13 01:21:56 +00:00
PrairieWind 5da6c25ccf Fix cornflower biomes and change seed values for cornflowers and lilies of the valley 2023-02-12 23:29:02 +00:00
PrairieWind b79f74c390 Update Translation Template for flowers 2023-02-12 23:29:02 +00:00
PrairieWind 06f47a0756 Add Cornflowers
Evidently I didn't include the lily texture in the lily of the valley commit, so it is in this one. Again, lily of the valley texture by Nicu
2023-02-12 23:29:02 +00:00
PrairieWind ff79af26e4 Add Lily of the Valley Flower
Awesome Lily Texture by Nicu
2023-02-12 23:29:02 +00:00
ancientmarinerdev de56c72e15 Merge pull request 'Change kelp to use ABMs to solve performance issues' (#3417) from i_need_professional_kelp into master
Reviewed-on: MineClone2/MineClone2#3417
2023-02-12 23:13:25 +00:00
ancientmarinerdev e3c8d995b5 Finish clean up# 2023-02-12 22:48:20 +00:00
ancientmarinerdev b8b45210e9 Clean up and remove old code 2023-02-12 22:48:20 +00:00
ancientmarinerdev a1f10205f6 Init age on plant so not all kelp grow to top of ocean 2023-02-12 22:48:20 +00:00
ancientmarinerdev 6f7505b6c6 Change kelp to use ABMs to solve performance issues 2023-02-12 22:48:20 +00:00
PrairieWind e323ab6e88 Merge pull request 'Make sea pickles smelt into lime dye' (#3436) from sea_pickle_dye into master
Reviewed-on: MineClone2/MineClone2#3436
Reviewed-by: Nicu <kneekoo@noreply.git.minetest.land>
2023-02-12 16:23:55 +00:00
FossFanatic c88f0047c1 Merge branch 'master' into biome_colored_foliage 2023-02-12 08:44:29 +00:00
FossFanatic 0400d9a2a5 Even further improvements to some foliage code 2023-02-12 08:28:21 +00:00
FossFanatic 3590ff6dfb Improve some LBM code 2023-02-12 08:23:19 +00:00
FossFanatic d1ceacf7ba Improve some vines code 2023-02-12 08:22:07 +00:00
FossFanatic a70a6ef13d Improve some foliage code 2023-02-12 08:21:14 +00:00
FossFanatic b4e84dadb0 Add new function
Adds the `get_registered_biome_from_pos` function, which does what the name says.
2023-02-12 07:57:04 +00:00
PrairieWind 194ff53400 Make sea pickles smelt into lime dye 2023-02-12 01:09:25 +00:00
ancientmarinerdev e7e0b082c4 Merge pull request 'Footer Annoyance Fix' (#3431) from footer_annoyance_fix into master
Reviewed-on: MineClone2/MineClone2#3431
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-12 01:00:45 +00:00
FossFanatic 18b888da8b Remove the thing above the "o" in "version" 2023-02-12 00:06:01 +00:00
ancientmarinerdev 15a15158b8 Merge pull request 'Pathfinding optimisations and villager has earlier bed time' (#3410) from villager_tweaks into master
Reviewed-on: MineClone2/MineClone2#3410
2023-02-11 10:48:36 +00:00
ancientmarinerdev 9445e10834 Pathfinding optimisations and villager has earlier bed time 2023-02-11 10:36:56 +00:00
ancientmarinerdev 35a75491f4 Merge pull request 'Fix hungry sheep and hyrdophobic passive mobs' (#3435) from drowning_and_hungry_mobs into master
Reviewed-on: MineClone2/MineClone2#3435
2023-02-11 10:26:19 +00:00
FossFanatic 81dbdaab94 Adjust palette foliage check
The excessive 128 blocks high check has been changed to now check only up to 30 blocks, since the tallest 2x2 jungle tree I seemed to get was only 29 blocks tall.

I also discovered that the search area wasn't wide enough, so sometimes the most outer leaves avoided the check. I also adjusted that.
2023-02-11 07:53:12 +00:00
ancientmarinerdev 2fd7f8c69f Fix hungry sheep and hyrdophobic passive mobs 2023-02-11 00:37:16 +00:00
ancientmarinerdev 6a34a30941 Merge pull request 'Mob spawning improvements and balancing' (#3356) from mob_cap_fixes into master
Reviewed-on: MineClone2/MineClone2#3356
2023-02-10 19:09:06 +00:00
ancientmarinerdev d4c2802afb Implement review/testing feedback 2023-02-10 19:01:29 +00:00
ancientmarinerdev b2dbf48e92 Default setting fix 2023-02-10 19:01:29 +00:00
ancientmarinerdev bf50a17f2e Limit spawning of mobs outside y axis as well 2023-02-10 19:01:29 +00:00
ancientmarinerdev b817c079ba Improve balancing for early game 2023-02-10 19:01:29 +00:00
ancientmarinerdev cfa276f722 Add settings for percentage of hostile and peaceful groups spawned 2023-02-10 19:01:29 +00:00
ancientmarinerdev 86b1d8bc3e Add world gen limits to spawning to avoid things spawning past the world gen limits 2023-02-10 19:01:29 +00:00
ancientmarinerdev 9c2f43a242 Limit peaceful spawning and add configurable option 2023-02-10 19:01:29 +00:00
ancientmarinerdev 044a91e831 Change spawn cap groups to spawn_type to give water it's own spawn cap. 2023-02-10 19:01:29 +00:00
ancientmarinerdev 106979e64a Clean up 2023-02-10 19:01:29 +00:00
ancientmarinerdev 4482068211 Nerf group spawning until group spawn is based on pack size, not per spawn attempt 2023-02-10 19:01:29 +00:00
ancientmarinerdev 1dc7cab6be Add logging 2023-02-10 19:01:29 +00:00
ancientmarinerdev 634379dfe9 Retry if failing to find spawn position 2023-02-10 19:01:29 +00:00
ancientmarinerdev c2ac33ac61 Mobs now can spawn in multiple positions around you per spawning cycle 2023-02-10 19:01:29 +00:00
ancientmarinerdev b5c0830060 Restructure code and tidy 2023-02-10 19:01:29 +00:00
ancientmarinerdev c43c723e08 Clean logging etc. 2023-02-10 19:01:29 +00:00
ancientmarinerdev bd3a4ff0df Clean up 2023-02-10 19:01:28 +00:00
ancientmarinerdev 0267ad2f31 Decrease change of groups spawning for peacefuls. Refresh total mobs check on spawn. 2023-02-10 19:01:28 +00:00
ancientmarinerdev a2f9ea81cc Fix mobs debug crash 2023-02-10 19:01:28 +00:00
ancientmarinerdev 7c7f4b930c Move cap check out of spawn checks and reimplement close cap check 2023-02-10 19:01:28 +00:00
ancientmarinerdev 60529d3d5d Add in constants for spawn zones 2023-02-10 19:01:28 +00:00
ancientmarinerdev 6ea4b43249 Limit group spawn to available cap space. Total mobs check once per spawn cycle. 2023-02-10 19:01:28 +00:00
FossFanatic 1fb300ef18 Fix leaves not dropping
Due to some renaming, leaves no longer dropped from any of the `mcl_core` trees.

This has now been fixed.
2023-02-10 18:40:35 +00:00
FossFanatic b789845f62 Indentation improvements 2023-02-10 15:19:02 +00:00
FossFanatic f368fb3e43 Indentation improvements 2023-02-10 15:17:46 +00:00
FossFanatic d63ecac7cb Indentation improvements 2023-02-10 15:14:53 +00:00
FossFanatic 7fbc84971e Remove useless function
This commit removes an useless function which wasn't really needed.
2023-02-10 15:12:37 +00:00
FossFanatic 953044cc4b Mangrove propagules also grab biome colour on growth 2023-02-10 11:33:58 +00:00
FossFanatic 6744967d02 Make placed mangrove leaves always become player leaves
The same thing as with the `mcl_core` leaves.
2023-02-10 10:41:43 +00:00
FossFanatic fdb2333493 Make placed leaves always become player leaves
Any players which still have leaves in their inventory from before this update would have had those leaves rot if someone were to break any log withing 6 nodes of the leaves if they were placed. This commit adds an `after_place_node` callback which makes sure that any leaves placed by the player, become non-rotting player leaves.
2023-02-10 10:39:43 +00:00
FossFanatic 1defd03408 Make the function work self grown saplings
Saplings now also get the biome's foliage colour when grown by themselves.
2023-02-10 10:06:55 +00:00
FossFanatic d163faeb42 Use more fitting names for the newly added function
Basically renaming anything related to leaves in the new function to something more broad such as foliage, so vines aren't indirectly considered leaves. An aesthetic change, basically.
2023-02-10 08:08:28 +00:00
FossFanatic 197d3ae00b Make sapling foliage grab biome colour 2023-02-10 08:04:13 +00:00
ancientmarinerdev 6b8226dae3 Merge pull request 'Bamboo Piston Fix.' (#3424) from Bamboo_Piston_fix into master
Reviewed-on: MineClone2/MineClone2#3424
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-10 03:49:40 +00:00
Michieal f6b77aa458 reformated code. 2023-02-10 03:42:34 +00:00
Michieal 1558c852d8 Undo mesecon.register_mvps_dropper() and use abms until more research can be done. 2023-02-10 03:42:34 +00:00
Michieal 6c0525f00e Fix merge / rebase crossing massacre.
[Michieal] 83bc60722d Begin: make bamboo dig-able by Pistons for Farm Creation.

[Michieal] 449cbdb330 Make Bamboo & Bamboo items not sticky for pistons.

[Michieal] a44566f863 hijack the ABM to check for orphaned bamboo nodes.

[Michieal] 5dff9e1994 Fixed the ABM situation so that now bamboo "breaks" when pushed by pistons.
Probably not the most elegant, but hey. It works.

[Michieal] 76507025d9 Cleaned up the global function to match the current ABM.

[Michieal] dfa849e19a Merge branch 'master' into Bamboo-Piston-Dig

[Michieal] a5bdc8a166 fix bamboo mosaic recipe.

[Michieal] 14383d6c6f update mod.conf to use optional depends mesecons_mvps

[Michieal] f81d530912 Update init.lua to register dropper callback.
2023-02-10 03:42:34 +00:00
ancientmarinerdev 3c13ce1d6b Merge pull request 'Fix "mcl_core:dirt_with_dry_grass" to be "mcl_core:dirt_with_grass" with the savanna color index.' (#3408) from fix_dirt_dry_grass into master
Reviewed-on: MineClone2/MineClone2#3408
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-10 02:50:27 +00:00
ancientmarinerdev c1d5d4280e Merge pull request 'Fixed weather not clearing after sleep' (#3414) from rain_bed_skip into master
Reviewed-on: MineClone2/MineClone2#3414
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-10 02:00:23 +00:00
PrairieWind 70fb4f8a0d Fixed weather not clearing after sleep
Isnt as clean as it should be because making it clean made some very funky results
2023-02-10 01:51:28 +00:00
ancientmarinerdev 620a0af483 Merge pull request 'Fix damage desyncing entity from chest node, making it invisible' (#3385) from emptyshore/MineClone2:fix-lightning-chests into master
Reviewed-on: MineClone2/MineClone2#3385
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-10 00:38:55 +00:00
ancientmarinerdev 428b1b2c12 Merge pull request 'remove "mushroom" from the names of crimson fungus and warped fungus' (#3406) from SmokeyDope/MineClone2:change_fungus_name into master
Reviewed-on: MineClone2/MineClone2#3406
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
Reviewed-by: PrairieWind <prairie.astronomer1@gmail.com>
2023-02-09 18:22:04 +00:00
FossFanatic 4ddab8bdf1 Remove the ABMs
There are likely better ways to fix any palettes that the LBMs missed.
2023-02-09 16:16:13 +00:00
FossFanatic bfe4b2fd31 Merge branch 'master' into biome_colored_foliage 2023-02-09 15:24:20 +00:00
FossFanatic cc8675602a Optimised foliage 2 2023-02-09 13:02:02 +00:00
FossFanatic aff1d5f667 Optimised foliage 1 2023-02-09 13:01:23 +00:00
FossFanatic 169019096e Change the waterlily code
Waterlilies now use a brownish grey texture with a coded hex colour.
2023-02-09 09:46:18 +00:00
FossFanatic 049db13b28 Add new waterlily texture 2023-02-09 09:40:17 +00:00
SmokeyDope dfbee5cb93 Add "mushroom" to the warped fungus and crimson fungus item descriptions for creative search 2023-02-09 03:22:17 +00:00
SmokeyDope 378af531a9 remove "mushroom" from the names of crimson fungus and warped fungus 2023-02-09 03:22:17 +00:00
ancientmarinerdev 088cda4f1c Merge pull request 'Make minecart rails unable to be broken with water & lava' (#3415) from minecart_track_water_breaking_3 into master
Reviewed-on: MineClone2/MineClone2#3415
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-09 02:03:47 +00:00
SmokeyDope 71671f8b5f Make minecart rails unable to be broken with lava 2023-02-09 01:53:52 +00:00
SmokeyDope c4d60e50cc Make minecart rails unable to be broken with water 2023-02-09 01:53:52 +00:00
ancientmarinerdev 9421c7ca6b Merge pull request 'Make The Footer Correct' (#3423) from beta_footer into master
Reviewed-on: MineClone2/MineClone2#3423
Reviewed-by: PrairieWind <prairie.astronomer1@gmail.com>
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-09 01:22:58 +00:00
FossFanatic d9982e20d2 Make the footer more with the times 2023-02-08 19:57:00 +00:00
ancientmarinerdev 30bb1ab075 Merge pull request 'Mobs fix crash and not drop XP when dying by fire from sunlight' (#3398) from mob_death_xp_drop into master
Reviewed-on: MineClone2/MineClone2#3398
2023-02-08 19:44:12 +00:00
ancientmarinerdev b834e790a7 Fix game crashes 2023-02-08 19:34:04 +00:00
ancientmarinerdev 39d4434df1 Reorder on_step calls 2023-02-08 19:34:04 +00:00
ancientmarinerdev 4b9482cb09 Mobs should not drop XP when dying by fire from sunlight 2023-02-08 19:34:04 +00:00
FossFanatic 4757e62968 Add vine texture I forgot
I forgot to add this one with the batch.
2023-02-08 16:20:42 +00:00
FossFanatic b95ebb3fca Add LBMs, ABMs, and more
This commit adds 1 new LBM (for foliage) and 2 new ABMs (one for foliage, and one for grass).

This also adds a new generator so any new maps created will have biome coloured leaves with a faster method. (Vines are excluded from this generator since I don't know yet how to get those to work with this.)
2023-02-08 16:17:33 +00:00
FossFanatic 07f332f0cd Add foliage palette indexes
This commit adds foliage palette indexes to every biome, this makes it possible for foliage to use biome colouring.
2023-02-08 16:15:04 +00:00
FossFanatic f4e8088e60 Improve mangrove leaves
This commit makes it so mangrove leaves also no longer use `param2` to see if they rot or not. The leaves also use the biome colours now.
2023-02-08 16:13:13 +00:00
FossFanatic 198375a18e Change stuff in mcl_core
Simply put, this commit changes some code so that leaves don't use `param2` to see if they rot or not, and will now use the biome colours.

This commit also makes it so vines do the same (use biome colours).
2023-02-08 16:11:38 +00:00
FossFanatic c26cddeafc Add batch 2 of the new leaf textures + foliage palette 2023-02-08 16:06:08 +00:00
FossFanatic 714d159072 Add batch 1 of the new leaf textures 2023-02-08 16:05:34 +00:00
emptyshore bdc82b76b5 Respect immortal armor group, ensuring objects are not dealt damage
Context: some objects such as chest, frame or sign entities are set to
be immortal, because they are tied to a node and should not be removed
on their own.

However since immortality wasn't respected, it would lead to odd desync
issues between nodes and accompanying entities. An example is a chest
that becomes invisible when struck by lightning or anvil.
2023-02-08 15:59:36 +13:00
ancientmarinerdev 6f67f0e095 Merge pull request 'Updated credits and contributing' (#3413) from translation_credit_anarquimico into master
Reviewed-on: MineClone2/MineClone2#3413
2023-02-07 17:15:11 +00:00
ancientmarinerdev d5687716a0 Updated credits and contributing 2023-02-07 17:12:56 +00:00
ancientmarinerdev 5f0d91cf26 Merge pull request 'anarquimico_translations_1' (#3412) from anarquimico_translations_1 into master
Reviewed-on: MineClone2/MineClone2#3412
2023-02-07 16:53:53 +00:00
anarquimico e2de5908c7 5th ITEMS batch 2023-02-07 16:39:24 +00:00
anarquimico 439c879508 4th batch of ITEMs translation 2023-02-07 16:39:23 +00:00
anarquimico 67977b0d26 Third batch of ITEMS translation 2023-02-07 16:39:23 +00:00
anarquimico ed8c3e7d26 Second batch of ITEMS translated 2023-02-07 16:39:22 +00:00
anarquimico 7add59992f First batch of ITEMS translation 2023-02-07 16:39:22 +00:00
ancientmarinerdev d72a674097 Merge pull request 'fix_copper_blocks' (#3390) from fix_copper_blocks into master
Reviewed-on: MineClone2/MineClone2#3390
Reviewed-by: 𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 <mrrar@noreply.git.minetest.land>
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-06 23:16:11 +00:00
Michieal ef4e4b1b7b Merge branch 'master' into fix_copper_blocks 2023-02-06 16:58:38 -05:00
Michieal 0e000e6491 Merge branch 'master' into fix_dirt_dry_grass 2023-02-06 16:55:14 -05:00
Michieal ec7a97ba3e Made LBM run at every load, so that it catches anything missed from previous passes. 2023-02-06 16:54:23 -05:00
PrairieWind 290680fb3d Merge pull request 'Add compostability to nether plants' (#3404) from SmokeyDope/MineClone2:nether_plants_composting into master
Reviewed-on: MineClone2/MineClone2#3404
Reviewed-by: PrairieWind <prairie.astronomer1@gmail.com>
2023-02-06 20:20:42 +00:00
SmokeyDope 48eb934d64 Add compostability to warped wart blocks and shroomlight 2023-02-06 13:08:28 -07:00
SmokeyDope 88cf3a5900 Add compostability to nether sprouts 2023-02-06 13:08:27 -07:00
SmokeyDope 1401652015 Add compostability to warped roots and crimson roots 2023-02-06 13:08:26 -07:00
SmokeyDope cac6e15736 Add compostability to twisting vines and weeping vines 2023-02-06 13:08:24 -07:00
SmokeyDope 156d096a78 Add compostability to warped fungus and crimson fungus 2023-02-06 13:08:23 -07:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 db3483a6cb Merge pull request 'Fix mapgen issue for mcl5 to mcl2 conversion' (#3349) from fix_villages_crash_mcl5 into master
Reviewed-on: MineClone2/MineClone2#3349
Reviewed-by: 𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 <mrrar@noreply.git.minetest.land>
2023-02-06 19:25:49 +00:00
ancientmarinerdev ace6f8db43 Ensure index for heightmap entry is within bounds 2023-02-06 13:16:15 -06:00
ancientmarinerdev 9aeafe6053 Fix mapgen issue for mcl5 to mcl2 conversion 2023-02-06 13:16:15 -06:00
Michieal de00b7228e Fix "mcl_core:dirt_with_dry_grass" to be "mcl_core:dirt_with_grass" with the savanna color index. 2023-02-05 21:17:53 -05:00
ancientmarinerdev d454697953 Merge pull request 'More Sky Improvements' (#3391) from more_sky_improvements into master
Reviewed-on: MineClone2/MineClone2#3391
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-06 01:48:38 +00:00
FossFanatic ce2011218c Make the default sunrisebg invisible 2023-02-06 01:42:10 +00:00
FossFanatic ccef2d1147 More sky improvements 2023-02-06 01:40:25 +00:00
ancientmarinerdev 5fbec2f6b5 Merge pull request 'Added conditional based on existing fire damage conditional that will apply fire damage to a' (#3405) from magma_damage_guy into master
Reviewed-on: MineClone2/MineClone2#3405
2023-02-06 00:22:48 +00:00
GuyLiner 4d922d9edf Added conditional based on existing fire damage conditional that will apply fire damage to a
mob standing on top of a magma node that belongs to the "fire" group. The magma node
has also been added to the fire group, making it so that standing on the node will
do damage to the mob.

In official Minecraft, magma blocks just do fire damage without the fire animation.
Source: https://minecraft.fandom.com/wiki/Magma_Block
2023-02-06 00:10:52 +00:00
Michieal 46ca650ea4 further optimize and reformat mcl_honey's init.lua 2023-02-04 16:31:18 -05:00
Michieal c4e4a8e4d2 Move Waxing function to MCL_Honey. Remove commented code. 2023-02-04 03:31:11 -05:00
Michieal 08610296fc Merge branch 'master' into fix_copper_blocks 2023-02-04 03:30:20 -05:00
ancientmarinerdev 7d46fa3362 Merge pull request 'texture-consolidation' (#3380) from texture-consolidation into master
Reviewed-on: MineClone2/MineClone2#3380
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-04 03:23:13 +00:00
ancientmarinerdev 58a08ea697 Merge pull request 'fix incorrect digtypes and missing sounds for some nether blocks' (#3351) from SmokeyDope/MineClone2:master into master
Reviewed-on: MineClone2/MineClone2#3351
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-04 00:27:48 +00:00
Michieal 50effaa807 Made Requested changes from Pull Request. 2023-02-03 14:09:16 -05:00
SmokeyDope 08df1fe02f Update overworld vine breaking logic with vector.offset 2023-02-03 00:50:25 +00:00
SmokeyDope bc4d9211cb Update nether vine breaking logic with vector.offset 2023-02-03 00:43:17 +00:00
SmokeyDope cf05771e30 remove unnecessary blank line 2023-02-02 23:12:09 +00:00
SmokeyDope 16a6dcb66c Completely remove selection box for warped fungus
Recommended by Michael
2023-02-02 22:45:06 +00:00
SmokeyDope 89eb458df7 Fix up indentation for warped and crimson wart block sounds part 2 2023-02-02 22:42:44 +00:00
SmokeyDope eae1ee7cee Fix indentation for shapeless type @ netherite ingot 2023-02-02 22:39:37 +00:00
SmokeyDope 27f5a94c6a Fix up indentation for warped and crimson wart block sounds 2023-02-02 22:36:33 +00:00
SmokeyDope b4719599b5 Fix up indentation 2023-02-02 22:30:15 +00:00
SmokeyDope 659f11bf6f Fixed up indentation and removed excess blank lines 2023-02-02 22:08:37 +00:00
SmokeyDope 88a7a8afab Removed handy, axey, swordy, from nether vines & removed useless comments 2023-02-02 21:37:23 +00:00
ancientmarinerdev cdc922d4ac Merge pull request 'Make fletcher buy sticks' (#3383) from mrminer/MineClone2-Fletcher-Fix:master into master
Reviewed-on: MineClone2/MineClone2#3383
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-02 15:37:35 +00:00
ancientmarinerdev 060732cd66 Merge pull request 'Adjust amethyst bud growth' (#3374) from Amethyst_Bud_Growth into master
Reviewed-on: MineClone2/MineClone2#3374
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-02 15:26:20 +00:00
Michieal ad43fbd237 Adjust amethyst bud growth speed. 2023-02-02 15:25:33 +00:00
Michieal 618313f0af Merge branch 'master' into fix_copper_blocks 2023-02-01 23:51:29 -05:00
ancientmarinerdev 31fb7faf16 Merge pull request 'feat: Rain particles move straight down, increase acceleration slightly' (#3369) from atomdmac/MineClone2:adjust-rain-velocity into master
Reviewed-on: MineClone2/MineClone2#3369
Reviewed-by: FossFanatic <fossfanatic@noreply.git.minetest.land>
Reviewed-by: epCode <epcode@noreply.git.minetest.land>
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-02 04:50:00 +00:00
Michieal a3bc3fd9b9 Removed old commented code to prevent accidental re-enabling, and put the todo into the correct spot. 2023-02-01 23:49:04 -05:00
Michieal c370f1884b Fixed the unwax copper blocks variants to be able to properly remove oxidization levels properly.
MCL_COPPER Blocks off all types (not stairs and slabs) now function properly.
2023-02-01 23:34:02 -05:00
Michieal b771f314fe Removed "scraping_copper_block" function.
Fixed the wax copper blocks variants to have the wax removed.
2023-02-01 23:24:59 -05:00
ancientmarinerdev f6a5004eab Merge pull request 'Fix wither crash on certain version of Lua.' (#3365) from fix_wither_head_crash into master
Reviewed-on: MineClone2/MineClone2#3365
Reviewed-by: Nicu <kneekoo@noreply.git.minetest.land>
2023-02-02 02:23:27 +00:00
ancientmarinerdev 7daa79a3f8 Fix wither crash on certain version of Lua. 2023-02-02 02:22:21 +00:00
Michieal 4b0b3217e2 added in TODO 2023-02-01 19:55:23 -05:00
ancientmarinerdev e363435134 Merge pull request 'mcl_starting_chest' (#3373) from mcl_starting_chest into master
Reviewed-on: MineClone2/MineClone2#3373
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-01 23:54:44 +00:00
Michieal 5b1c7f2d3a Everything *BUT* scraping works properly. 2023-02-01 18:39:13 -05:00
ancientmarinerdev 63ace64cae Merge pull request 'Underwater Darkness HUD Removal' (#3367) from water_darkness_hud_removal into master
Reviewed-on: MineClone2/MineClone2#3367
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-01 22:52:08 +00:00
FossFanatic 0c0845c1bd Change the underwater detection code a bit 2023-02-01 22:50:50 +00:00
FossFanatic 24b1078b61 Make the post effect alpha the same between water source and flow 2023-02-01 22:50:50 +00:00
FossFanatic 3546d04aaa Remove water HUD code 2023-02-01 22:50:50 +00:00
FossFanatic 1abd226e07 Remove water HUD 2023-02-01 22:50:50 +00:00
ancientmarinerdev f4b1116e21 Merge pull request 'Fix V6 & Singlenode Crash' (#3386) from v6_crash_fix into master
Reviewed-on: MineClone2/MineClone2#3386
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-01 22:37:02 +00:00
FossFanatic cbb3260471 Make the palette fix LBM not run on v6 & singlenode
This fixes a crash when loading a world that doesn't have any biomes and the LBM tries to give the grassy nodes a biome colour.
2023-02-01 22:35:13 +00:00
ancientmarinerdev 855659a2a1 Merge pull request 'Fix ender chest crash + remove map hand reference' (#3387) from ender_chest into master
Reviewed-on: MineClone2/MineClone2#3387
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-02-01 22:09:26 +00:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 8793ed211e Fix ender chest crash + remove map hand reference 2023-02-01 09:56:12 -06:00
mrminer 01f814267e Update 'mods/ENTITIES/mobs_mc/villager.lua' 2023-01-31 21:14:23 +00:00
mrminer 8f4c69084d Make fletcher buy sticks 2023-01-31 21:12:01 +00:00
Michieal 425cf53194 fix minor bug. 2023-01-30 23:57:50 -05:00
Michieal d04f162d8f Initialize Global variable. 2023-01-30 23:53:40 -05:00
Michieal 7f84922403 fix missing skin file 2023-01-30 23:14:44 -05:00
Michieal 025f97187a Adjust for mcl_skins requirements. 2023-01-30 23:07:23 -05:00
Michieal 06effcd786 Merge branch 'master' into texture-consolidation 2023-01-30 22:57:38 -05:00
Michieal 6265148727 Move textures all into one centralized directory. 2023-01-30 22:55:53 -05:00
ancientmarinerdev 2ad60b06ea Merge pull request 'Set freeze and warning when mobs too close to boundary of world' (#3363) from fix_mob_past_mapgen_limits into master
Reviewed-on: MineClone2/MineClone2#3363
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2023-01-31 02:29:02 +00:00
ancientmarinerdev 245ce99223 Using mcl_vars 2023-01-31 02:28:04 +00:00
ancientmarinerdev 1f107ec0c7 Tidy 2023-01-31 02:28:04 +00:00
ancientmarinerdev c209537cfe Make it a bit less chatty for logging 2023-01-31 02:28:04 +00:00
ancientmarinerdev d583ccb986 Oooops, wrong number 2023-01-31 02:28:04 +00:00
ancientmarinerdev 7d803e174c Set freeze and warning when mobs too close to boundary of world 2023-01-31 02:28:04 +00:00
Michieal 319602508d Make copper block nodes use on_place. 2023-01-30 20:13:32 -05:00
Michieal 8c703f1352 Refactored out "varient" in foavor of "variant".
Set up a basic "on_place" function.

Made _mcl_copper_waxed_variant and _mcl_copper_unwaxed_variant node parameters so that the waxing_copper_block and scraping_copper_block functions can be made generic.

Adjusted said functions to look first for the variants, and added in protection checks for the blocks
2023-01-30 18:27:53 -05:00
Michieal 95b1429922 Add mcl_util to mcl_copper's mod.conf file. 2023-01-30 16:01:09 -05:00
SmokeyDope 32b5b435c5 Make weeping vines and twisting vines break instantly
Partial revert of previous commit, they should break instantly
2023-01-30 17:09:50 +00:00
SmokeyDope a3fe41128f Make netherite ingot crafting shapeless 2023-01-30 05:38:33 +00:00
SmokeyDope 1a495dd63a Make ancient debris smeltable in a blast furnace 2023-01-30 05:03:50 +00:00
Michieal 29597af738 Fixed noted errors from Pull Request. 2023-01-29 13:12:24 -05:00
Michieal f3e840a0ff Merge branch 'master' into mcl_starting_chest 2023-01-29 13:02:03 -05:00
Adam Macumber 7dd0293616 feat: Rain particles move straight down, increase acceleration slightly 2023-01-28 11:04:58 -05:00
ancientmarinerdev 63360bcab2 Merge pull request 'Nether & End Biome Sky/Fog Colours' (#3342) from biome_skycolor_otherworlds into master
Reviewed-on: MineClone2/MineClone2#3342
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-26 22:49:54 +00:00
ancientmarinerdev 0b1881d1d4 Merge pull request 'Slower creative digging' (#3284) from dig_speed into master
Reviewed-on: MineClone2/MineClone2#3284
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-26 22:43:38 +00:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 8cf6269dda Fix mesh hand unknown item bug + fix fast digging disabled for simple skins 2023-01-25 12:13:53 -06:00
SmokeyDope 1f09c0a128 Make weeping vines and twisting vines break the same speed as regular vines 2023-01-25 05:47:41 +00:00
SmokeyDope fb8060c366 lower hardness of warped wart block and shroomlight block to match nether wart block 2023-01-25 04:06:59 +00:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 da7320b14c Add survival tool capabilites to all items 2023-01-24 11:38:58 -06:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 66ff8ab8a9 Add a creative dig speed setting 2023-01-24 11:16:28 -06:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 a1cc24f8d3 Slowing creative digging 2023-01-24 11:16:28 -06:00
SmokeyDope 6f22d7daa4 Add node breaking logic to twisting vines and weeping vines
breaking twisting vines will break the ones above them, breaking weeping vines breaks the ones below them
2023-01-24 17:15:22 +00:00
SmokeyDope dc3eedac5f Add breaking sounds for warped fungus, nether sprouts, warped roots, crimson fungus, crimson roots 2023-01-24 16:24:35 +00:00
FossFanatic f3bed9f599 Move locals upward & uncomment some things (again) 2023-01-24 07:27:36 +00:00
FossFanatic f84bdbd777 Merge branch 'master' into biome_skycolor_otherworlds 2023-01-24 07:22:04 +00:00
FossFanatic 7712c45c4e Fix conflict 2023-01-24 07:21:48 +00:00
ancientmarinerdev 02ee8b757d Merge pull request 'Biome Colour Palette Fixes' (#3203) from simplified_palette_index into master
Reviewed-on: MineClone2/MineClone2#3203
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-24 00:21:12 +00:00
SmokeyDope 39b6e41a62 revert hitbox size for warped fungus 2023-01-23 22:34:22 +00:00
SmokeyDope ef1f7b8e20 make blackstone, basalt, and nether gold ore mineable with a wooden pickaxe
Fixes #3287
2023-01-23 22:17:12 +00:00
PrairieWind 5c32d1c106 Merge pull request 'Fix crash when leaves don't have a registered orphan but try to rot' (#3346) from rubber_crash_fix into master
Reviewed-on: MineClone2/MineClone2#3346
Reviewed-by: PrairieWind <prairie.astronomer1@gmail.com>
2023-01-23 22:02:24 +00:00
SmokeyDope 70b56d7126 Fix hitbox size for Warped Fungus 2023-01-23 21:30:32 +00:00
ancientmarinerdev c4ea504123 Fix crash when leaves don't have a registered orphan but try to rot 2023-01-23 20:58:05 +00:00
ancientmarinerdev 6d60fb4160 Merge pull request 'Add some mob object checks to avoid crashing' (#3324) from fix_ghast_kill_crash into master
Reviewed-on: MineClone2/MineClone2#3324
Reviewed-by: 𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 <mrrar@noreply.git.minetest.land>
2023-01-23 20:19:34 +00:00
ancientmarinerdev e4f26a4688 Fix self object checks for check suspend 2023-01-23 20:10:28 +00:00
ancientmarinerdev af86e73280 Fix self object reference in player_in_active_range 2023-01-23 20:10:28 +00:00
ancientmarinerdev 32be8f9602 Fix more self object references in falling 2023-01-23 20:10:28 +00:00
ancientmarinerdev 15560d969c Change order of mob step 2023-01-23 20:10:28 +00:00
ancientmarinerdev 6bbf3af97b Remove log line 2023-01-23 20:10:28 +00:00
ancientmarinerdev 84317afc93 Review feedback implemented and planned changes 2023-01-23 20:10:28 +00:00
ancientmarinerdev 2cd6629ae1 Add some mob object checks to avoid crashing 2023-01-23 20:10:28 +00:00
SmokeyDope f971283798 Add placement sounds to twisting vines and weeping vines 2023-01-23 16:55:18 +00:00
FossFanatic 9afdd09d9d Fix wrong init accident
I accidentally put the `init.lua` of `mcl_biomes` instead of `mcl_mapgen_core` in my previous commit. This fixes that.
2023-01-23 10:25:48 +00:00
SmokeyDope 62bb7a85eb Add sounds to weeping vines and twisting vines, updated warped wart block and shroomlight sounds 2023-01-23 02:04:58 +00:00
SmokeyDope 42eb541eaa Add sound to warped wart block and shroomlight block 2023-01-23 01:28:55 +00:00
SmokeyDope 9e8ed7efc3 make hoes effective and swords slightly effective on nether wart blocks 2023-01-23 00:11:56 +00:00
SmokeyDope 36231241ba make hoes effective on warped wart blocks and shroomlight blocks 2023-01-23 00:06:46 +00:00
ancientmarinerdev 9a276489d1 Merge pull request 'Fix assist death messages rarely showing up' (#3265) from CyberMango/MineClone2:dev/mango/assist_death_messages_fix into master
Reviewed-on: MineClone2/MineClone2#3265
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-22 23:31:58 +00:00
CyberMango e2cbd4267c Added back sweet berries death messages. 2023-01-22 22:59:28 +02:00
CyberMango 4ec506b534 Turned a global constant into local. 2023-01-22 22:59:28 +02:00
CyberMango 06435e0f4c Mixed 2 conditions into 1. 2023-01-22 22:59:28 +02:00
CyberMango a1d98c080f Now only allowing players and lua entities to do assist kills. 2023-01-22 22:59:28 +02:00
CyberMango 96cd2657db Cleanup and removed debug prints. 2023-01-22 22:59:23 +02:00
CyberMango cd63f32cdd Fixed and optimized assist death messages.
Still left many log messages, a longer timeout and some unclean parts.
2023-01-22 22:58:46 +02:00
FossFanatic 2d81d153bd Unsimplify the LBM 2023-01-22 18:02:31 +00:00
FossFanatic dc7a46df4e Simplify the LBM even more 2023-01-22 17:46:17 +00:00
FossFanatic ad25b0bc4b Make set palette safer 2023-01-22 16:51:40 +00:00
FossFanatic b77260253a Make grass palette fix LBM more efficient 2023-01-22 15:59:10 +00:00
ancientmarinerdev ad9beebc70 Merge pull request 'Extra Breaking Animation Frame' (#3343) from extra_break_animation_frame into master
Reviewed-on: MineClone2/MineClone2#3343
Reviewed-by: AFCMS <afcm.contact@gmail.com>
2023-01-22 15:07:25 +00:00
FossFanatic b6951d00b9 Add an extra frame to the breaking animation 2023-01-22 15:06:51 +00:00
ancientmarinerdev 86e480aad0 Merge pull request 'Make sweet berries' velocity checks for damage conditions use absolute values.' (#3308) from CyberMango/MineClone2:dev/mango/make_berries_velocity_check_absolute into master
Reviewed-on: MineClone2/MineClone2#3308
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-22 00:56:48 +00:00
ancientmarinerdev ce7d493890 Merge pull request 'Iron golem fixes' (#3309) from gldrk/MineClone2:master into master
Reviewed-on: MineClone2/MineClone2#3309
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-22 00:45:53 +00:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 995679d7ae Merge pull request 'Fix most deaths not producing a death message.' (#3332) from CyberMango/MineClone2:dev/mango/fix_mt_deaths_messages into master
Reviewed-on: MineClone2/MineClone2#3332
Reviewed-by: 𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 <mrrar@noreply.git.minetest.land>
2023-01-20 22:32:22 +00:00
CyberMango c57f797226 Make the velocity checks absolute.
Now sweet berries will cause damage in all directions.
2023-01-20 19:15:55 +02:00
CyberMango 78f32d2dd4 Removed the approved field from death reasons.
This created a strange bug that only death reasons created by
mcl_utils.deal_damage were "approved" so only they triggered running the
death callbacks, so only they triggered printing a death message.
Therefore most deaths did not produce a death message.
2023-01-20 19:15:21 +02:00
FossFanatic a1ad84370c Move locals upward & uncomment some things
Some locals relating to the biome sky colours and fog colours have been moved upward since there otherwise were some issues.

The sky colours and fog colours of the Nether & End biomes have also been uncommented.
2023-01-20 15:44:03 +00:00
FossFanatic f6a3fe2128 Make Nether & End use biome sky- or fog colours 2023-01-20 15:41:44 +00:00
ancientmarinerdev 1c65e0ad68 Merge pull request 'Add how to play notes' (#3341) from add_download_notes into master
Reviewed-on: MineClone2/MineClone2#3341
2023-01-20 15:15:51 +00:00
ancientmarinerdev 6900748429 Add how to play notes 2023-01-20 15:14:45 +00:00
ancientmarinerdev f09b723885 Merge pull request 'Release 0.82' (#3337) from release_0_82_0 into master
Reviewed-on: MineClone2/MineClone2#3337
2023-01-20 14:43:45 +00:00
ancientmarinerdev efd3420d52 Post-release set version 0.82.0-SNAPSHOT 2023-01-19 23:34:04 +00:00
ancientmarinerdev 62be5a06f6 Update release notes 2023-01-19 22:22:48 +00:00
ancientmarinerdev 683799aea5 Update release steps 2023-01-19 21:54:01 +00:00
ancientmarinerdev 383cbf96a6 Pre-release set version 0.82.0 2023-01-19 21:51:16 +00:00
ancientmarinerdev a7632e767d Run credits update script for release 0.82 2023-01-19 21:09:42 +00:00
ancientmarinerdev 99d09c76ae Merge pull request 'mcl_bamboo2_cleanup' (#3327) from mcl_bamboo2_cleanup into master
Reviewed-on: MineClone2/MineClone2#3327
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-19 21:01:08 +00:00
ancientmarinerdev c7ebe1b8cd Updated Bamboo textures by Nicu. Updated credits as per request from Michieal 2023-01-19 20:51:49 +00:00
ancientmarinerdev 5c464f1c1d Merge pull request 'Grass Footstep Sound Fix' (#3312) from grass_sound_revert into master
Reviewed-on: MineClone2/MineClone2#3312
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-19 13:02:38 +00:00
ancientmarinerdev 87e6842c00 Merge pull request 'Update credits' (#3334) from release_0_82_credits into master
Reviewed-on: MineClone2/MineClone2#3334
2023-01-19 01:36:13 +00:00
Michieal b258ccffdc Merge Master into mcl_bamboo_cleanup 2023-01-18 20:29:40 -05:00
ancientmarinerdev 83b0807218 Update credits 2023-01-19 00:04:16 +00:00
Michieal a00ef4500d Merge branch 'master' into mcl_bamboo2_cleanup 2023-01-18 18:40:23 -05:00
PrairieWind c49aef3251 Merge pull request 'Disable zombie siege raid until we stop zombies pathing through door' (#3329) from disable_zombie_siege into master
Reviewed-on: MineClone2/MineClone2#3329
Reviewed-by: PrairieWind <prairie.astronomer1@gmail.com>
2023-01-18 20:51:04 +00:00
ancientmarinerdev f3ba32d739 Disable zombie siege raid until we stop zombies pathing through door 2023-01-18 19:47:45 +00:00
Michieal ed03cb470d Change Bamboo Trapdoor to be Boring. 2023-01-17 22:12:57 -05:00
FossFanatic 9746dbc376 Make the LBM run at every load again
After testing this out, it seems that the LBM only works consistenly when it runs at every load.
2023-01-17 16:04:12 +00:00
FossFanatic d89a7e0326 Rename _mcl_palette_index back to _mcl_grass_palette_index 2023-01-17 12:55:40 +00:00
FossFanatic 5fd5cc9f1c Merge branch 'master' into simplified_palette_index 2023-01-17 12:53:09 +00:00
FossFanatic c75ec6916c Conflict fix attempt 2 2023-01-17 12:52:50 +00:00
FossFanatic 4b6b4d8398 revert 26e032687a
revert Fix conflict with most recent master
2023-01-17 12:49:43 +00:00
FossFanatic 513d148eaf Merge branch 'master' into grass_sound_revert 2023-01-17 12:44:16 +00:00
FossFanatic 26e032687a Fix conflict with most recent master 2023-01-17 12:39:15 +00:00
Michieal b99487b6ab Merge branch 'master' into mcl_bamboo2_cleanup 2023-01-16 20:19:03 -05:00
ancientmarinerdev 8adc1d48b2 Merge pull request 'Remove "mcl_farming:beetroot_item" from fortune drop, so Fortune only gives seeds.' (#3328) from beetroot_fortune_hotfix into master
Reviewed-on: MineClone2/MineClone2#3328
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-17 00:59:25 +00:00
Michieal ac30e25065 Remove "mcl_farming:beetroot_item" from fortune drop, so Fortune only gives seeds. 2023-01-16 19:40:07 -05:00
Michieal 0931af21c8 Remove most oak trees from Bamboo biomes. 2023-01-16 18:34:48 -05:00
Michieal 77a8ca689f Give textures more definition. 2023-01-16 18:16:26 -05:00
ancientmarinerdev 30d3b7ee23 Merge pull request 'mcl_bamboo Part 2.' (#3208) from mcl_bamboo_too into master
Reviewed-on: MineClone2/MineClone2#3208
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-16 20:22:09 +00:00
Michieal 55bb9800f4 removed errant logging line. 2023-01-16 15:07:57 -05:00
Michieal b805ae9926 Adjust bamboo growth rates to be close to the MC wiki. 2023-01-16 15:01:38 -05:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 90c74f4a6a Merge pull request 'Fix undeclared global variable in mcl_buckets' (#3314) from buckets_warning into master
Reviewed-on: MineClone2/MineClone2#3314
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2023-01-16 19:02:34 +00:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 6e6c11cde2 Fix undeclared global variable in mcl_buckets 2023-01-16 12:56:59 -06:00
Michieal d48b3dcaee Starting Inventory fix #4 Optimized and remove chatcommand. 2023-01-16 02:12:39 -05:00
Michieal 88493091b6 Starting Inventory fix #3. turn off debugging in code.
Ready for testing.
2023-01-16 01:58:27 -05:00
Michieal d68667beb9 Starting Inventory fix #2. add in chat command, /give_starting_inventory. add in debug code. 2023-01-16 01:53:35 -05:00
Michieal 181628e539 Starting Inventory fix #2 2023-01-16 00:51:23 -05:00
Michieal c57a757510 Starting Inventory fix #1/ 2023-01-16 00:21:15 -05:00
Michieal 26f3275b7c renamed to mcl_starting_inventory... continued. Fixed the setting in settingtypes.txt 2023-01-15 21:23:49 -05:00
Michieal 45b4b4a458 renamed to mcl_starting_inventory as that is what it is. 2023-01-15 21:21:26 -05:00
Michieal 5424ca8c2b Created Starting Chest that is given to players.
Based on the "give_initial_stuff" mod.
2023-01-15 20:39:51 -05:00
ancientmarinerdev 8feefcdd7b Merge pull request 'Give longer to breed mobs. 1.5s is not enough' (#3298) from extend_breeding_time into master
Reviewed-on: MineClone2/MineClone2#3298
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2023-01-16 00:01:40 +00:00
ancientmarinerdev 9b28baaad6 Give longer to breed mobs. 1.5s is not enough 2023-01-16 00:00:28 +00:00
PrairieWind 60a1a364dc Merge pull request 'Fix animals jumping way too high upon growing up' (#3316) from growth_jump_fixes into master
Reviewed-on: MineClone2/MineClone2#3316
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2023-01-15 23:43:07 +00:00
b3nderman f9b021e4c6 Fix animals jumping way too high upon growing up 2023-01-15 22:47:05 +00:00
ancientmarinerdev 65fb911e5f Merge pull request 'Fix geode crash' (#3304) from fix_geode_crash into master
Reviewed-on: MineClone2/MineClone2#3304
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2023-01-15 22:28:38 +00:00
ancientmarinerdev 38732e801d Fix geode crash 2023-01-15 22:27:02 +00:00
ancientmarinerdev 5ad2a990d4 Merge pull request 'Allow blaze spawners to be deactivated' (#3315) from fix_blaze_spawner_disable into master
Reviewed-on: MineClone2/MineClone2#3315
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2023-01-15 22:24:59 +00:00
ancientmarinerdev 8f6c932e88 Allow blaze spawners to be deactivated 2023-01-15 22:22:14 +00:00
Michieal e9c202ae45 Added Bamboo Biomes to spawning.lua. 2023-01-15 15:30:34 -05:00
Michieal d6ee21d192 Merge branch 'master' into mcl_bamboo_too 2023-01-15 15:27:30 -05:00
PrairieWind 876fc2fb50 Merge pull request 'Fix tamed ocelot textures not being set correctly' (#3317) from tamed_cat_texture_fix into master
Reviewed-on: MineClone2/MineClone2#3317
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2023-01-15 19:41:51 +00:00
Michieal 0c61035df0 Missing files from the optipng commit. (not exactly sure what happened.) 2023-01-15 14:30:12 -05:00
b3nderman a7fac7c550 Fix tamed ocelot textures not being set correctly 2023-01-15 16:57:47 +00:00
ancientmarinerdev 93c9fdfaae Merge pull request 'Light Blocks' (#3078) from light-blocks into master
Reviewed-on: MineClone2/MineClone2#3078
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-15 15:37:10 +00:00
AFCMS 3027965314 Add comment 2023-01-15 15:32:42 +00:00
AFCMS e9c9f151de Let user dig light blocks when wielding a light block 2023-01-15 15:32:42 +00:00
AFCMS fb8262bf57 Make light blocks `buildable_to` 2023-01-15 15:32:42 +00:00
AFCMS 726358da4b Rename callbacks parameters to match Minetest documentation 2023-01-15 15:32:42 +00:00
AFCMS 515204d296 Update translation template and add french translation 2023-01-15 15:32:42 +00:00
AFCMS eb5f5678d6 Fix typo in barrier help text 2023-01-15 15:32:42 +00:00
AFCMS 33e2b79b2b Make nearby light blocks spawn particles when player wield one 2023-01-15 15:32:42 +00:00
AFCMS 7c497d9604 Remove config file 2023-01-15 15:32:42 +00:00
AFCMS 7c20896d5e Make light blocks not walkable 2023-01-15 15:32:42 +00:00
AFCMS cd70dd5b88 Spawn particle then placing light blocks 2023-01-15 15:32:42 +00:00
AFCMS 302970d220 Basic light blocks 2023-01-15 15:32:42 +00:00
AFCMS 79876635af Use `mcl_util.call_on_rightclick` in `on_place` callback for barrier block 2023-01-15 15:32:42 +00:00
AFCMS b9238b4069 Use new vectors 2023-01-15 15:32:42 +00:00
AFCMS bf25fca47d Remove support for `use_texture_alpha` bool values (mt 5.3) 2023-01-15 15:32:42 +00:00
AFCMS 92261e5fb5 Remove `stack_max` fields duplicated with default value 2023-01-15 15:32:42 +00:00
AFCMS 1e31e383d4 Fix invalid function signature for `on_place` callbacks + handling of possible nil value 2023-01-15 15:32:42 +00:00
AFCMS 4457432d32 Format file 2023-01-15 15:32:42 +00:00
ancientmarinerdev fa96f9d593 Merge pull request 'Music Hyphenation & Concision' (#3311) from music_hyphenation into master
Reviewed-on: MineClone2/MineClone2#3311
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-14 22:00:15 +00:00
FossFanatic fbb4cf084f Revert grass footstep sound
This reverts the grass footstep sounds back to the one before the recent sound update by grorp.
2023-01-14 15:22:19 +00:00
FossFanatic 60b19b31ab Add hyphenation
This also adds hyphenation to `In-game`.
2023-01-14 10:21:35 +00:00
FossFanatic 871c4f24c2 Change some language stuff
This adds correct hyphenation and also makes things more concise.
2023-01-14 10:20:30 +00:00
FossFanatic 18c0e1f050 Change the indexes back to the older ones 2023-01-14 10:05:00 +00:00
FossFanatic fb8e41047d Use older palette PNG file 2023-01-14 10:00:42 +00:00
FossFanatic 2bd5e6a84f Delete text file 2023-01-14 10:00:19 +00:00
FossFanatic 23a13f14e0 Merge branch 'master' into simplified_palette_index 2023-01-14 09:51:47 +00:00
gldrk 5412206743 Make iron golem protect villagers 2023-01-14 01:37:32 +03:00
gldrk 30521a8b2f Make iron golem defend itself from players 2023-01-14 01:34:28 +03:00
gldrk 1536338199 Allow passive mobs to have protectors 2023-01-14 01:32:42 +03:00
gldrk 3697ef8069 Fix summoning friends for mobs 2023-01-14 01:28:35 +03:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 dd15092052 Merge pull request 'Give an option for players to disable the in game music' (#3299) from music_settings_switch into master
Reviewed-on: MineClone2/MineClone2#3299
Reviewed-by: 𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 <mrrar@noreply.git.minetest.land>
2023-01-13 21:31:20 +00:00
ancientmarinerdev ce485e89cd In game music review feedback fix 2023-01-13 15:04:40 -06:00
ancientmarinerdev 09a7348256 Give an option for players to disable the in game music 2023-01-13 15:04:40 -06:00
FossFanatic a500528613 Make the LBM run only once
Since some people complained about the LBM running at every load, I changed it so it only runs once instead. It shouldn't even need to run more than once anyways, unless somebody could prove the contrary.
2023-01-13 17:58:51 +00:00
FossFanatic 292e7129f2 Merge branch 'master' into simplified_palette_index 2023-01-13 17:50:39 +00:00
Michieal 3091e85b1c Optipng textures. 2023-01-12 22:17:26 -05:00
Michieal da277f9dc7 fixed missed line. 2023-01-12 22:16:02 -05:00
Michieal 27a487195a Merge branch 'master' into mcl_bamboo_too 2023-01-12 22:14:58 -05:00
Michieal 2fdc8cbdd4 Changed Bamboo Sign's inventory & wield image to match the placed sign.
Reduced the number of images that trapdoors need to work.
2023-01-12 22:12:05 -05:00
Michieal 0079cf807e Changed Bamboo Signs to use custom image. 2023-01-12 21:06:25 -05:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 899cfd5157 Merge pull request 'Added protection violation checker functions.' (#3274) from CyberMango/MineClone2:dev/mango/generic_protection_violation_functions into master
Reviewed-on: MineClone2/MineClone2#3274
Reviewed-by: 𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 <mrrar@noreply.git.minetest.land>
2023-01-12 21:03:26 +00:00
CyberMango 64a7f76d5b Replaced positions check with an area check.
This one is using the minetest.is_area_protected so it should work
faster. It also doesnt require the user to manually add all the points
that should be checked so its nicer to use.
2023-01-12 21:22:36 +02:00
CyberMango b0d9eed3e1 Removed specific functions and added usage examples.
The specific functions didnt end up adding much simplicity, but did add
some degree of confusion.
2023-01-12 20:04:44 +02:00
CyberMango 685a7ff256 Added a function for a single position and better naming.
Now the functions are named with "position" instead of "node" to better
reflect what they do and what args they expect.

Also added a function for cehcking just a single position since thats
the most common use case, so it saves a small performance overhead.
2023-01-12 20:04:44 +02:00
CyberMango 949a2b787e Added protection violation checker functions.
1 completley generic and 3 more that use it for more specific cases -
  placing a node, modifying a node and planting over a node.
2023-01-12 20:04:44 +02:00
FossFanatic 8849b2e98f Merge branch 'master' into simplified_palette_index 2023-01-12 15:32:46 +00:00
Michieal 9e76cd963d Adjust bamboo sign color 2023-01-12 03:51:42 -05:00
Michieal 522a7577de Fix Bamboo nodes showing up in creative inventory.
Fix lava bamboo node placement.
2023-01-12 03:47:13 -05:00
Michieal 7912239562 Merge remote-tracking branch 'origin/mcl_bamboo_too' into mcl_bamboo_too
# Conflicts:
#	mods/ITEMS/mcl_bamboo/textures/mcl_bamboo_bamboo_plank_mosaic.png
2023-01-12 03:30:01 -05:00
Michieal 396fedd8e7 temp commit - brownish, rather than yellow, colored palette for bamboo things. 2023-01-12 03:29:49 -05:00
Michieal f81eec6fff temp commit - brownish, rather than yellow, colored palette for bamboo things. 2023-01-12 03:28:29 -05:00
Michieal d2625d3ace Fix water node placement, and lava node placement. (Yes, nether lava too!) 2023-01-12 03:27:17 -05:00
Michieal a04d946879 Updated Licensing for additional images. 2023-01-11 21:50:34 -05:00
ancientmarinerdev 482a6071f5 Merge pull request 'Beetroot Seed fix' (#3294) from beetroot_seed_fix into master
Reviewed-on: MineClone2/MineClone2#3294
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-11 22:27:58 +00:00
Michieal 6993559330 Updated relevant Credits for Bamboo and recent work. 2023-01-11 07:26:01 -05:00
Michieal b572363b8e temp commit. recolor scaffolds. 2023-01-11 07:16:41 -05:00
Michieal 00408b998c Fix -- Bamboo grow, bamboo place to be correct. 2023-01-11 07:16:12 -05:00
Michieal e7c238c17e Merge remote-tracking branch 'origin/mcl_bamboo_too' into mcl_bamboo_too
# Conflicts:
#	mods/ITEMS/mcl_bamboo/bamboo_base.lua
2023-01-11 02:32:28 -05:00
Michieal 1de806f6f8 Put height into placed, base, bamboo stalk nodes so that height checks work properly.
Fix placing bamboo on top of other bamboo nodes, when it would go above the decided height. It now stops just before the endcap node placement.

Fixed Errant log message.
Fixed itemstack removal while in creative mode.
2023-01-11 02:31:36 -05:00
Michieal b07e6fccdc Put height into placed, base, bamboo stalk nodes so that height checks work properly.
Fix placing bamboo on top of other bamboo nodes, when it would go above the decided height. It now stops just before the endcap node placement.
2023-01-11 02:22:30 -05:00
Michieal 04efa74115 Prevent growing "around" things in the way. 2023-01-11 02:19:19 -05:00
Michieal 2e8f56d098 Merge branch 'master' into mcl_bamboo_too 2023-01-10 22:29:28 -05:00
Michieal ff7299a444 Fix beetroot seeds not dropping.
Changed drop rate to 1-4.

Added in Fortune drops too. (Per the minecraft wiki.)
2023-01-10 21:38:42 -05:00
Michieal aad2d114f9 temp commit. recolor of the planks and scaffolds. 2023-01-10 20:49:38 -05:00
ancientmarinerdev 2ed3c1c480 Merge pull request 'Mob Fixes' (#3242) from mob_fixes into master
Reviewed-on: MineClone2/MineClone2#3242
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2023-01-11 01:11:07 +00:00
ancientmarinerdev 111c885417 Added burger alias 2023-01-11 01:07:18 +00:00
ancientmarinerdev 8e1f00d428 Villager breeding is now unburgered. Burger now needs right click to initiate follow. 2023-01-11 01:07:18 +00:00
ancientmarinerdev 4fd4425aae Improved mob debug 2023-01-11 01:07:18 +00:00
ancientmarinerdev ac4cd2c325 Improve performance for head swivel check 2023-01-11 01:07:18 +00:00
ancientmarinerdev 01c8009c6a Tidy on_step function 2023-01-11 01:07:18 +00:00
ancientmarinerdev ef90820f67 Fix farm animals so they don't get into combat state 2023-01-11 01:07:18 +00:00
ancientmarinerdev d6d11b9526 Zombie villagers cannot despawn during curing process 2023-01-11 01:07:17 +00:00
ancientmarinerdev b0264b2736 Endermen now despawn when not holding a block. 2023-01-11 01:07:17 +00:00
Michieal c12f2cc565 Fix placement of bamboo endcap 2023-01-10 19:23:40 -05:00
Michieal 9f94f12127 Fix placement of bamboo onto bamboo nodes going higher than max height. 2023-01-10 18:48:50 -05:00
Michieal 784f3ec226 Made plank textures more dried bamboo looking. 2023-01-10 16:40:18 -05:00
Michieal 44a769397d Fix bamboo mosaic using wrong texture.
Fix error.
2023-01-10 15:36:17 -05:00
PrairieWind b3da85be64 Merge pull request 'mcl_music_without_menu_music' (#3291) from mcl_music_without_menu_music into master
Reviewed-on: MineClone2/MineClone2#3291
Reviewed-by: PrairieWind <prairie.astronomer1@gmail.com>
2023-01-10 19:15:22 +00:00
ancientmarinerdev 3ed32abc4e Add credit for nether music 2023-01-10 19:05:56 +00:00
kay27 9db6050638 Fix music interruption 2023-01-10 19:05:56 +00:00
kay27 7ceb953a56 Add different music for different dimensions 2023-01-10 19:05:56 +00:00
kay27 1894d8c5f0 Fix mcl_music: play to all players, play every day, overworld only 2023-01-10 19:05:56 +00:00
kay27 419d61edde Add trivial mcl_music mod and a piano track by diminixed 2023-01-10 19:05:55 +00:00
PrairieWind 9820309762 Merge pull request 'mcl_crimson_update' (#3289) from mcl_crimson_update into master
Reviewed-on: MineClone2/MineClone2#3289
Reviewed-by: PrairieWind <prairie.astronomer1@gmail.com>
2023-01-10 18:17:39 +00:00
Michieal 726eba7ed8 Make bamboo fence/gate less yellow. It's bamboo, not corn XD 2023-01-10 04:42:31 -05:00
Michieal f46581905a Added veins to the Hyphae log sides. 2023-01-10 04:30:29 -05:00
Michieal 4f6de581dd fixed the warped fungus mushroom texture.
fixed the warped fungus selection box.
2023-01-10 04:29:47 -05:00
Michieal eb8f7360a2 Merge branch 'master' into mcl_bamboo_too 2023-01-09 18:56:05 -05:00
ancientmarinerdev db62631540 Merge pull request 'mcl_lectern' (#3282) from mcl_lectern into master
Reviewed-on: MineClone2/MineClone2#3282
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-09 22:33:31 +00:00
ancientmarinerdev fb30564827 Ooooooh, lecterns. My favourite. 2023-01-09 22:32:14 +00:00
Michieal 8c355db3ce Made Lecterns solid. 2023-01-09 22:32:14 +00:00
Michieal eae08f3010 Finished Lecterns.
Added in License.txt.
2023-01-09 22:32:14 +00:00
Michieal 4701c4d6e7 Built basic lectern model, texture, and node definition.
Created crafting recipe.

Marked Lecterns as WIP.

Started defining placement.

Added in README.txt.
2023-01-09 22:32:14 +00:00
Michieal 8df0b2a48e Made changes to the MapGen definitions because with the new grow code, bamboo creates its own height, and therefore places its own top. And, having multiple tops looks funny. 2023-01-09 16:31:02 -05:00
ancientmarinerdev 66f368531d Merge pull request 'Fix Country Lode HUD Issue' (#3268) from advancement_bug_fix into master
Reviewed-on: MineClone2/MineClone2#3268
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-09 21:17:41 +00:00
PrairieWind 7cb5c55d68 Update Translation Files
Fixes the translation error for other languages
2023-01-09 13:36:36 -07:00
Michieal 34faca3f2c Added in License.txt
Made the end cap node wave in the wind.
2023-01-08 23:08:12 -05:00
Michieal d5dda679eb fix vestigial variable names to not be so obtuse. 2023-01-07 16:45:36 -05:00
Michieal c65bbcd5a5 fixed missed spot for licensing. 2023-01-07 16:14:33 -05:00
Michieal 533f59bf27 Merge branch 'master' into mcl_bamboo_too 2023-01-06 18:08:33 -05:00
Michieal 3074c15d14 clear up comment confusion.
Factored out hard coded names for variable names.

removed "minecraft" from README.md.
2023-01-06 18:07:30 -05:00
Michieal 132178b8c7 clear up comment confusion. 2023-01-06 17:46:54 -05:00
Michieal ede21a8627 revert f92ea77849
revert accidental second commit.

Mega commit. lol.

Did a LOT of refactoring.

Cleaned up some vestigial code.

Cleaned up aliases.
2023-01-06 22:43:41 +00:00
Michieal 82fae13b47 Merge remote-tracking branch 'origin/mcl_bamboo_too' into mcl_bamboo_too 2023-01-06 17:41:57 -05:00
Michieal f92ea77849 Mega commit. lol.
Did a LOT of refactoring.

Cleaned up some vestigial code.

Cleaned up aliases.
2023-01-06 17:41:01 -05:00
Michieal 7ebf9b7ab8 Mega commit. lol.
Did a LOT of refactoring.

Cleaned up some vestigial code.

Cleaned up aliases.
2023-01-06 17:40:35 -05:00
Michieal 07a56165ed update optional depends. 2023-01-06 20:23:59 +00:00
Michieal ee0b355f51 Fix licensing. 2023-01-06 20:21:08 +00:00
PrairieWind 6fd799ac42 Fix Country Lode HUD Issue
Fixed the error that was thrown when the advancement is unlocked and also fixed the popup HUD so the advancement title fits correctly
2023-01-06 16:35:59 +00:00
ancientmarinerdev 01bb753549 Merge pull request 'Refactor mob_step and do_states' (#3231) from mob_tweaks into master
Reviewed-on: MineClone2/MineClone2#3231
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2023-01-06 14:10:39 +00:00
ancientmarinerdev 59694ebc7c Fix merge conflict 2023-01-06 13:52:03 +00:00
Michieal cc24144bc6 Fixed collision and selection box for endcap nodes.
fixed typo in debug message.
2023-01-06 01:22:18 -05:00
Michieal e1cd16c971 Adjusted growth interval.
tested and fixed bamboo growth function.

Add debug code across growth function and scaffold place.

disabled debug for commit. removed finished todos.
2023-01-06 00:41:26 -05:00
ancientmarinerdev 00c4ecf643 Merge pull request 'Villagers and pathfinding improvements' (#3083) from village_town_bell_pathfix into master
Reviewed-on: MineClone2/MineClone2#3083
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2023-01-06 02:59:48 +00:00
ancientmarinerdev e4db91d35c Fix crash bug 2023-01-06 02:59:02 +00:00
ancientmarinerdev 2527479401 Clean up on isle 5, please 2023-01-06 02:59:02 +00:00
ancientmarinerdev 85f7bbdb80 Optimisation. Don't even prepare to path if not ready to path 2023-01-06 02:59:02 +00:00
ancientmarinerdev 465a919f6b Villager will now reclaim job during the day even when it isn't work time 2023-01-06 02:59:02 +00:00
ancientmarinerdev 325a666c62 Added pathfinder constants to make it easier to tweak 2023-01-06 02:59:02 +00:00
ancientmarinerdev e9b54e85c2 Pathfinding clean up 2023-01-06 02:59:02 +00:00
ancientmarinerdev 4324fe2489 Villager will now path from one house to another in search of available job or bed 2023-01-06 02:59:02 +00:00
ancientmarinerdev d6804bf4b7 Fix distance to target issue, and refactor pathing actions 2023-01-06 02:59:02 +00:00
ancientmarinerdev 87f04bdd9f Prevent attempting to path through 2 doors until code supports it. Clean up also. 2023-01-06 02:59:02 +00:00
ancientmarinerdev e3307d647b Fix pathing to bell that is sat on the ground 2023-01-06 02:59:02 +00:00
ancientmarinerdev 29cd73cb84 Pathfinding through door should also check door closest to position so villager can leave current house 2023-01-06 02:59:02 +00:00
ancientmarinerdev 5c0a763b83 Optimisation - Only check for town bell if ready to path 2023-01-06 02:59:02 +00:00
ancientmarinerdev 9b1ceebf0d Villagers will now pathfind to town bell that isn't on the ground 2023-01-06 02:59:02 +00:00
Michieal ed64e7f733 Reverted scaffolding (WIP) for final push. Making an issue for it's continued work. Left wip in, but commented and future featured out. Will test changes forthwith.
Adjusted bamboo base code (randomize which one to use.) to do less math and accomplish the same thing.
2023-01-05 20:27:52 -05:00
ancientmarinerdev 856a60bcc2 Merge pull request 'Fix a few issues with sweet berries.' (#3187) from CyberMango/MineClone2:bug/mango/sweet_berry_fixes into master
Reviewed-on: MineClone2/MineClone2#3187
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-06 00:09:41 +00:00
Michieal 08f9c0074a REVERT: Fix mcl_dyes' mod.conf to use mcl_bamboo grow and check functions. 2023-01-05 18:31:21 -05:00
FossFanatic 09db6017c3 Merge branch 'master' into simplified_palette_index 2023-01-05 10:06:11 +00:00
Michieal c4969c13cd trying to fix redundancy error... 2023-01-05 00:30:18 -05:00
Michieal f70176da34 Fix mcl_dyes' mod.conf to use mcl_bamboo grow and check functions. 2023-01-04 23:56:51 -05:00
Michieal e314addeb3 Merge branch 'master' into mcl_bamboo_too
# Conflicts:
#	mods/ITEMS/mcl_dye/init.lua
2023-01-04 23:10:54 -05:00
Michieal df8fc65e1e temp commit. 2023-01-04 23:03:08 -05:00
Michieal 687887fe27 Incorporate applying bonemeal to Bamboo stalks. 2023-01-04 22:49:17 -05:00
Michieal 65aa956d9c Add alias for scaffolding.
Rework grow_bamboo to handle random heights, and to handle bonemeal.

 Remove "bamboo_node" in favor of is_bamboo()
2023-01-04 22:43:05 -05:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 ddd004c0f0 Merge pull request 'Fix incorrect foundation size for belltower' (#3147) from village_tweaks into master
Reviewed-on: MineClone2/MineClone2#3147
Reviewed-by: 𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 <mrrar@noreply.git.minetest.land>
2023-01-04 21:45:47 +00:00
ancientmarinerdev 609ef220ad Village building and paths should not spawn on top of snowy trees 2023-01-04 15:14:40 -06:00
ancientmarinerdev 32a7eb4087 Fix incorrect foundation size for belltower 2023-01-04 15:14:37 -06:00
CyberMango 5e969ba928 Added sweet berries death messages. 2023-01-04 23:04:19 +02:00
CyberMango 17e02aec3c Applying bone meal on a stage 3 sweet berry no longer grows it.
It now ignores the bone meal and harvests the sweet berry as normal.
2023-01-04 23:04:19 +02:00
CyberMango fb28e192e6 Bone meal applied on sweet berries only grows them by 1 stage now.
The interface of the grow plant is a bit confusing since even with
stages set to 0 the plant grows by 1 stage (if other conditions such as
light are met). Therefore changing it to 0 makes the plant grow by 1.
2023-01-04 23:04:19 +02:00
CyberMango 0f569fdbaa Bone meal on sweet berries in creative mode is no longer wasted and
minor fixes.

removed an unnecessary -- in a comment.
Removed a redundant concatination.
2023-01-04 23:04:19 +02:00
CyberMango 8a7fcfde82 Fixed sweet berries bugs.
Now they can only be placed a tile's upper part.
Also when destroyed bushes at stage 2 drop 1 or 2 berries, while bushes
at stage 3 drop 2 or 3 (instead of fixed numbers of 1 and 3
respectively).
Also harvesting sweet berries at stage 3 (final) brings them to stage 1
instead of just to stage 2. Number of dropped berries was adjusted.
2023-01-04 23:04:19 +02:00
CyberMango fb51067c78 Created a shared function for planting a seed that can also be consumed. 2023-01-04 23:04:19 +02:00
Michieal 8dd4a2611e Added alias for scaffolding. 2023-01-04 14:25:31 -05:00
Michieal f86ee99abf Further cleaned up bamboo base code.
Fixed some errors in Scaffolding, Commented out the in progress section.
2023-01-04 11:28:09 -05:00
FossFanatic 6cf1fa7b81 Merge branch 'master' into simplified_palette_index 2023-01-04 15:02:56 +00:00
ancientmarinerdev 7ea41a2f21 Merge pull request 'Fix baby zombies going through 1 node high space' (#3241) from short_baby_zombies into master
Reviewed-on: MineClone2/MineClone2#3241
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-04 14:56:26 +00:00
FossFanatic 39bcf2f961 Merge branch 'master' into simplified_palette_index 2023-01-04 14:01:58 +00:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 0b1916b807 Fix baby zombies going through 1 node high space 2023-01-04 07:52:48 -06:00
Michieal d1a017f6b2 optimized out some for loops, cleaned up code for bamboo placement.
tested the changes.
2023-01-03 18:40:40 -05:00
Michieal 50e50e2904 Continued some optimizations of code in bamboo.on_place.
Begun work on scaffolding.
2023-01-03 15:57:58 -05:00
Michieal 966c914a8e Updated .gitignore to exclude *.xcf (gimp) files. 2023-01-03 15:39:23 -05:00
Michieal 9351f72c15 Updated Bamboo translations template.txt 2023-01-03 15:38:34 -05:00
Michieal ef7fb0d2e3 Cleaned up the code. Fixed side placement of bamboo against bamboo.
Dinked with the random number generator some more.

Condensed some more of the code duplication (WIP).

Added in MCL_Log function.

Finally settled on a decent looking Bamboo top.
2023-01-03 01:38:12 -05:00
Michieal 5ef7d9f7a0 Added in Bamboo_Plank variable.
Dinked with the random number generator some.

Moved Bamboo Mosaic from base to items.

condensed some of the code duplication (WIP).

started to add in checks to prevent bamboo from being placed against itself horizontally.

Fixed a couple of naming issues.
2023-01-02 22:36:09 -05:00
ancientmarinerdev 0fca1ce469 Merge pull request 'Fix crash for sky colour if cannot find biome' (#3239) from fix_colour_crash_risk into master
Reviewed-on: MineClone2/MineClone2#3239
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2023-01-03 01:02:19 +00:00
Michieal 388632cd46 Fixed BROKEN skycolor 2023-01-02 19:36:01 -05:00
Michieal dd4a0a4172 Fixed mcl_fishing depending on mcl_bamboo. 2023-01-02 19:24:56 -05:00
ancientmarinerdev df6d1c026a Fix crash for sky colour if cannot find biome 2023-01-02 21:48:58 +00:00
Michieal d586b3fecc Tracked down missing node type placement issues, and fixed them.
Now with Chicken Cherry Cola!
2023-01-02 03:54:26 -05:00
Michieal a7a0c4791a Many bug fixes, Adjusted randomizing code.
And, Now with Lime-Cherry Kool-aid!! Yum!
2023-01-02 02:19:33 -05:00
Michieal 23b62c296a Fix code caching errors, and remove unused variables from init. 2023-01-01 23:07:20 -05:00
ancientmarinerdev f8ae702ce4 Function name consistency 2023-01-02 00:58:23 +00:00
ancientmarinerdev 5faf060122 Fix crash and remove unused duplicate variables 2023-01-02 00:54:08 +00:00
ancientmarinerdev 8c648d1fc3 Refactor mob_step and do_states 2023-01-02 00:00:40 +00:00
ancientmarinerdev 46052e5b7e Merge pull request 'Add templates for issues and pull requests' (#3220) from gitea_templates into master
Reviewed-on: MineClone2/MineClone2#3220
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2023-01-01 19:04:12 +00:00
iliekprogrammar 6430fcf103 Clarify *missing feature request* template 2023-01-01 19:03:34 +00:00
iliekprogrammar 7376b08c61 Better headers. More distinct *missing feature* template 2023-01-01 19:03:34 +00:00
iliekprogrammar 2e28a3386b Revert "Add "Testing/Review needed" tag to pull request templates"
This reverts commit 45656d8b747eac6400b2752fe2de603308ca69ef.
2023-01-01 19:03:34 +00:00
iliekprogrammar 98dac6dcd7 Add "Testing/Review needed" tag to pull request templates 2023-01-01 19:03:34 +00:00
iliekprogrammar 3026808a71 Add templates for issues and pull requests 2023-01-01 19:03:34 +00:00
test1 7c7521ff15 Merge pull request 'Update readme' (#3223) from updated_readme into master
Reviewed-on: MineClone2/MineClone2#3223
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-31 13:23:03 +00:00
test1 50d8e95c16 Update readme 2022-12-31 13:16:52 +00:00
iliekprogrammar fc74bd5cfe Merge pull request 'fix-cocoa-place' (#3221) from fix-cocoa-place into master
Reviewed-on: MineClone2/MineClone2#3221
Reviewed-by: iliekprogrammar <iliekprogrammar@gmail.com>
2022-12-31 10:49:57 +00:00
kabou 2a37d38f6c Reformat cocoa pod node definition groups. 2022-12-31 11:18:04 +01:00
kabou 89821a8329 Rename cocoa pod placement function.
* Rename cocoa pod placement function to match the `on_place` call in
  the cocoa pods item definition.
* Make the function local, there are no callers outside of mcl_cocoas.
2022-12-31 10:41:39 +01:00
iliekprogrammar 3249c13752 Merge pull request '`mcl_meshhand` fixes' (#2939) from mcl-meshhand-fixes into master
Reviewed-on: MineClone2/MineClone2#2939
Reviewed-by: iliekprogrammar <iliekprogrammar@gmail.com>
2022-12-30 18:50:46 +00:00
iliekprogrammar 2ea72ccda8 Merge branch 'master' into mcl-meshhand-fixes 2022-12-30 18:47:55 +00:00
iliekprogrammar 5237eca31e Merge pull request '`mcl_item_entity` fixes' (#2936) from mcl-item-entity-fixes into master
Reviewed-on: MineClone2/MineClone2#2936
Reviewed-by: iliekprogrammar <iliekprogrammar@gmail.com>
2022-12-30 18:39:34 +00:00
iliekprogrammar c2ba70a601 Merge branch 'master' into mcl-item-entity-fixes 2022-12-30 18:34:41 +00:00
iliekprogrammar 723fe9c532 Merge pull request 'mcl_init fixes' (#2862) from mcl-init-fixes into master
Reviewed-on: MineClone2/MineClone2#2862
Reviewed-by: iliekprogrammar <iliekprogrammar@gmail.com>
2022-12-30 18:18:21 +00:00
iliekprogrammar 661afed46c Merge branch 'master' into mcl-init-fixes 2022-12-30 18:11:08 +00:00
FossFanatic 3d2955c394 Merge branch 'master' into simplified_palette_index 2022-12-30 10:36:35 +00:00
ancientmarinerdev e7ace0c87c Merge pull request 'Main Menu Rework' (#3193) from main_menu_rework into master
Reviewed-on: MineClone2/MineClone2#3193
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-30 01:27:49 +00:00
FossFanatic 9605e2ae0d Make the theme less loud 2022-12-30 01:27:03 +00:00
FossFanatic 80bb954814 Delete 'menu/theme_alt.ogg' 2022-12-30 01:27:03 +00:00
Michieal 10dc83b2a6 softer menu music ogg file 2022-12-30 01:27:02 +00:00
FossFanatic b95c623a74 Add a more original footer and headers 2022-12-30 01:27:02 +00:00
FossFanatic 0ab4553648 Add more credits 2022-12-30 01:27:02 +00:00
FossFanatic 65557152fb Add a menu theme 2022-12-30 01:27:02 +00:00
FossFanatic 1357193a78 Add a template for making splashes 2022-12-30 01:27:02 +00:00
FossFanatic aacbaddfe0 Add warped hyphae texture to the right folder 2022-12-30 01:27:02 +00:00
FossFanatic e246bf7ddf Remove stray warped hyphae texture? 2022-12-30 01:27:02 +00:00
FossFanatic 11bd29ed44 Add a couple of splash texts 2022-12-30 01:27:02 +00:00
FossFanatic de574729a2 Make footer have shadow and look better on 1080p monitors 2022-12-30 01:27:02 +00:00
FossFanatic 95e269a61f Add last background 2022-12-30 01:27:02 +00:00
FossFanatic 5bdc145872 Add second batch of backgrounds 2022-12-30 01:27:02 +00:00
FossFanatic 20e178d5d1 Add first batch of backgrounds 2022-12-30 01:27:01 +00:00
FossFanatic bdbc484c48 Delete 'menu/overlay.1.png' 2022-12-30 01:27:01 +00:00
FossFanatic 56c62e9fba Delete 'menu/overlay.2.png' 2022-12-30 01:27:01 +00:00
FossFanatic 3b1acc60db Delete 'menu/overlay.3.png' 2022-12-30 01:27:01 +00:00
FossFanatic 6026687e93 Delete 'menu/overlay.4.png' 2022-12-30 01:27:01 +00:00
FossFanatic e813c48ed5 Delete 'menu/overlay.5.png' 2022-12-30 01:27:01 +00:00
FossFanatic 75716d97e3 Delete 'menu/overlay.png' 2022-12-30 01:27:01 +00:00
ancientmarinerdev 6fe5bf8674 Merge pull request 'Update Code of Conduct email' (#3214) from update_coc_email into master
Reviewed-on: MineClone2/MineClone2#3214
2022-12-29 23:47:50 +00:00
ancientmarinerdev 9574ba7f09 Update Code of Conduct email 2022-12-29 23:47:03 +00:00
ancientmarinerdev 0df4f9518a Merge pull request 'Added credit for Japanese translations' (#3213) from add_japanese_credits into master
Reviewed-on: MineClone2/MineClone2#3213
2022-12-29 22:18:44 +00:00
ancientmarinerdev 3ee4a62107 Added credit for Japanese translations 2022-12-29 22:17:16 +00:00
ancientmarinerdev e6e898671a Merge pull request 'add japanese translation' (#3149) from SakuraRiu/MineClone2:master into master
Reviewed-on: MineClone2/MineClone2#3149
Reviewed-by: Michieal <michieal@noreply.git.minetest.land>
2022-12-29 22:14:48 +00:00
Michieal 87327abfb9 Restructure Commit.
Recipes are in recipes.lua
Bamboo Basic nodes are in bamboo_base.lua
Bamboo items are in bamboo_items.lua
Bamboo api / globals are in globals.lua.
2022-12-29 13:16:48 -05:00
Michieal 34263c2ef3 Change bamboo back to Axey, instead of swordy. 2022-12-29 12:28:42 -05:00
Michieal 38c6969292 Fix mod.conf in mcl_fishing
Fix bamboo nodes on_destruct to handle the alt nodes too.
clean up ToDos
2022-12-29 11:31:13 -05:00
FossFanatic 54548ecfdf Merge branch 'master' into simplified_palette_index 2022-12-29 14:51:17 +00:00
FossFanatic 5ec7b8ed89 Add LBM to fix grass palette indexes
Adds a LBM which basically fixes the grass palette indexes of the nodes from older worlds. I have also added some more nodes to `block_fixes`.
2022-12-29 14:18:37 +00:00
FossFanatic 137179ac8e revert 3afb42b2f7
revert Add a LBM to fix grass palette indexes on older worlds
2022-12-29 14:13:50 +00:00
FossFanatic 3afb42b2f7 Add a LBM to fix grass palette indexes on older worlds 2022-12-29 14:12:00 +00:00
FossFanatic ab1cfde34d Merge pull request 'Put back default sky and fog color.' (#3201) from fix_v6_sky_color into master
Reviewed-on: MineClone2/MineClone2#3201
Reviewed-by: FossFanatic <fossfanatic@noreply.git.minetest.land>
2022-12-29 07:59:28 +00:00
FossFanatic d5f8129ea7 Merge branch 'master' into fix_v6_sky_color 2022-12-29 07:55:49 +00:00
Michieal 1d0968f4f5 Fix bamboo nodes on_destruct to handle the alt nodes too.
clean up ToDos
2022-12-29 01:38:10 -05:00
Michieal 0f9d263e02 Add Bamboo to the Fishing Junk table.
Update the mod.conf to be aware of mcl_bamboo.
2022-12-29 01:29:25 -05:00
Michieal 26c1be3722 Fix bamboo node to be Swordy.
Added in secondary bamboo node types.
Changed the grow_bamboo function to make use of new alt nodes, and removed unneccessary "force" parameter.
2022-12-29 01:03:25 -05:00
ancientmarinerdev 1295b2dc12 Merge pull request 'Dye refactoring; untangle bone meal, lapis, ink sac and cocoa beans from dye items.' (#3176) from redo_dyes into master
Reviewed-on: MineClone2/MineClone2#3176
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-29 03:11:33 +00:00
kabou 44f724f677 Minor refactoring of mcl_dye, fix dye texture names.
* Reorganize dyes table.
* Rename dye item textures to conform to mcl naming standard.
* Refactor dye item registration.
* Shuffle recipes around in a more logical order.
* Remove unused dye names from lists that are probably equally unused.
2022-12-29 03:08:50 +00:00
kabou 92ee402971 Separate white dye from bone meal.
* Add craftitem for ":mcl_bone_meal:bone_meal" to mcl_dye (temporarily.)
* Add crafting recipe for bone meal.
* Add texture for white dye item.
* Merge craftitem registration for "mcl_dye:white" with generic dyes.
* Add crafting recipe for white dye.
* Add legacy conversion recipe.
* Update dyes table.
* Update translations.
* Update mcl_crimson and sweet berry on_rightclick handlers.
* Update composter output, both as freestanding and to hoppers.
* Update bone block crafting recipes.
* Update tropical fish, cod and salmon mob drops.
2022-12-29 03:08:50 +00:00
kabou 7d8fdc6ec3 Separate brown dye from cocoa beans.
* Add craftitem "mcl_cocoas:cocoa_beans".
* Add texture for brown dye item.
* Merge craftitem registration for "mcl_dye:brown" with generic dyes.
* Add crafting recipe for brown dye.
* Add legacy conversion recipe.
* Update dyes table.
* Update translations.
* Update cookie recipe.
2022-12-29 03:08:49 +00:00
kabou d2edc75407 Separate blue dye from lapis lazuli.
* Add craftitem "mcl_core:lapis".
* Add texture for blue dye item.
* Add crafting recipe for blue dye.
* Add legacy conversion recipe.
* Update dyes table.
* Update translations.
* Update lapis block crafting recipes.
* Update lapis ore drops.
* Update dungeon and shipwreck loot.
* Update enchanting table input.
* Update villager trade.
2022-12-29 03:08:49 +00:00
kabou 7311071303 Separate black dye from squid ink sac.
* Add craftitem "mcl_mobitems:ink_sac".
* Add texture for black dye item.
* Add crafting recipe for black dye.
* Add legacy conversion recipe.
* Update dyes table.
* Update translations.
* Update fishing loot.
2022-12-29 03:08:49 +00:00
ancientmarinerdev 437842134e Merge pull request 'Slime, magma cube and cow spawning fixes.' (#3162) from slime_fixes into master
Reviewed-on: MineClone2/MineClone2#3162
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-29 02:14:32 +00:00
kabou 60b0cfe89a Remove FIXME about slimes spawning in swamps.
* This has been fixed.
2022-12-29 02:13:57 +00:00
kabou d8a883e81f Limit size of cow herds spawning.
* Cows should spawn in herds of max 4, not 8.
2022-12-29 02:13:57 +00:00
kabou 15f5c3c30a Make slimes spawn at night in swamps.
* Adds spawn definitions for large, small and tiny slimes to spawn in
  Swampland and MangroveSwamp biomes when light levels are less than 7.
2022-12-29 02:13:57 +00:00
kabou 4af8148850 Refactor spawn registrations.
* Unduplicate spawnable biome lists for slimes and magma cubes.
* Rename min and max spawndepth identifiers.
2022-12-29 02:13:57 +00:00
kabou ea6201d32f Add missing biome to slime spawn list.
* Add "MangroveSwamp_underground" to the lists of spawnable biomes for
  big, small and tiny slimes.
2022-12-29 02:13:57 +00:00
kabou da17ff8ea0 Remove stray dependency.
While mobs_mc_gameconfig was deleted at some point during the mob
refactoring, it was still listed in mobs_mc's mod.conf.
2022-12-29 02:13:57 +00:00
kabou 6756ee340c Mob spawning chatcommand refactoring.
* Put calculations that are only used conditionally inside the
  related `if` block.
* Make code logic more explicit.
* Take logging statement out of return value assignment.
* Remove duplicate assignment.
* Fix a typo in the function's description.
2022-12-29 02:13:57 +00:00
kabou 0c454a34c9 Use vectors in `get_next_mob_spawn_pos()` 2022-12-29 02:13:57 +00:00
kabou 8279dcb3dd Add FIXME notes to slime mob code.
Missing features:
* Slimes should not only spawn in caves, but also at night in swamps.
* Slimes should only spawn on 10% of the map ("slime chunks").
* There are no spawn eggs registered for small and tiny slimes and magma
  cubes.
2022-12-29 02:13:57 +00:00
kabou ea19f02e14 Assorted `spawn_children_on_die` fixes.
* Use proper vector semantics.
* Optimize away superfluous temp variables and repetitive local variable
  declarations.
2022-12-29 02:13:57 +00:00
kabou 95cbac78a8 Change number of children spawned on die.
When a slime or magma cube dies, it should spawn between 2 to 4 smaller
children.  The code was always spawning 4 children (3 for big magma
cubes).  This commit makes the following changes to the function
`spawn_children_on_die`:
* Make the number of children spawned a random number between 2 and 4.
* No longer accept the `children_count` as an argument, because this
  number should always be a random number between 2 and 4 anyway.
* Update all callers accordingly.
2022-12-29 02:13:57 +00:00
Michieal acc2be7253 Merge remote-tracking branch 'origin/mcl_bamboo_too' into mcl_bamboo_too 2022-12-28 18:21:39 -05:00
Michieal 3015bfb8c4 Merge branch 'master' into mcl_bamboo_too 2022-12-28 23:16:01 +00:00
Michieal 28cb06421d Merge branch 'master' into mcl_bamboo_too 2022-12-28 18:13:51 -05:00
Michieal 731468cf5a Did a bit of code restructuring.
Removed another magic number.
Add in todo for fishing.
Added in the possibility for bamboo to grow two nodes in one success.
Added in a "force" param to use with bonemealing.
2022-12-28 18:10:12 -05:00
Michieal ff7693937a Did a bit of code restructuring.
Removed another magic number.
Add in todo for fishing.
Added in the possibility for bamboo to grow two nodes in one success.
Added in a "force" param to use with bonemealing.
2022-12-28 15:29:06 -05:00
FossFanatic c1cde073c8 Rename _mcl_palette_index to _mcl_grass_palette_index 2022-12-28 19:34:24 +00:00
Michieal 76669e1f3c Moved bamboo grow code to its own function, and made that function global so that it can be called outside of mcl_bamboo. 2022-12-28 14:34:14 -05:00
FossFanatic ef15477e37 Rename _mcl_palette_index to _mcl_grass_palette_index 2022-12-28 19:33:26 +00:00
FossFanatic a0c5a04d26 Rename _mcl_palette_index to _mcl_grass_palette_index 2022-12-28 19:32:42 +00:00
FossFanatic 18e932997d Rename _mcl_palette_index to _mcl_grass_palette_index 2022-12-28 19:31:11 +00:00
FossFanatic 1f601c68c5 Make snowy grass blocks have a palette index
This fixes the issue where snowy grass blocks always have the same coloured grass underneath them.
2022-12-28 17:02:58 +00:00
FossFanatic 9cf6c9ed5e Change swamp and mangrove grass palette index
Changes the grass palette index of the swamp and mangrove to use the swampier variant of the swamp colours.
2022-12-28 16:10:02 +00:00
ancientmarinerdev 81daec14a2 Merge pull request 'Update sounds from MTG' (#3157) from grorp/MineClone2:patch-1 into master
Reviewed-on: MineClone2/MineClone2#3157
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-27 21:36:33 +00:00
FossFanatic 9f9cc3a629 Change grass block inventory colour
According to the wiki, the hex code of the grass block when held or in the inventory is #7CBD6B.
2022-12-27 21:19:33 +00:00
FossFanatic ac90350257 Change palette indexes to fit the new palette 2022-12-27 20:57:58 +00:00
FossFanatic a6841fe38b Simplify palette and add helpful text file 2022-12-27 20:55:24 +00:00
kabou 5e129985f2 Put back default sky and fog color.
Recent changes set the default colors to some pretty psychedelic ones.
The stated purpose was debugging, but in absense of any actual debugging
code other than v6 mapgen inadvertently assuming that role, more sensible
colors were reinstated.

If debugging code is desired, it should probably be added to the main
parts of mcl_weather.
2022-12-27 15:10:24 +01:00
Michieal 6f05992c8b Fix Licensing.
Removed Make_Stairs check.
Made unified protection check.
Began work on the second half of scaffolding.
Removed comments that was no longer needed.
2022-12-25 07:30:31 -05:00
PrairieWind 0dc31611ac Merge pull request 'Adjusts mcl_crimson Doors to have a specified side texture' (#3140) from Wbjitscool/MineClone2:master into master
Reviewed-on: MineClone2/MineClone2#3140
Reviewed-by: PrairieWind <prairie.astronomer1@gmail.com>
2022-12-25 02:09:14 +00:00
PrairieWind b0070a3b83 Merge pull request 'Fix the disapearance of christmas texture of the ender chest once it is placed' (#3184) from 3raven/MineClone2:master into master
Reviewed-on: MineClone2/MineClone2#3184
Reviewed-by: PrairieWind <prairie.astronomer1@gmail.com>
2022-12-25 01:46:14 +00:00
3raven 5964f25fa7 Merge branch 'master' into master 2022-12-24 17:01:13 +00:00
FossFanatic 2db9ea6459 Merge pull request 'Small Useless Textures Cleanup' (#3164) from useless_textures_cleanup into master
Reviewed-on: MineClone2/MineClone2#3164
Reviewed-by: kabou <kabou@noreply.git.minetest.land>
2022-12-24 15:16:28 +00:00
FossFanatic e0a9aca469 Merge branch 'master' into useless_textures_cleanup 2022-12-24 15:05:14 +00:00
FossFanatic fb8f59e918 Merge pull request 'Overworld Biome Sky And Fog Colours' (#3158) from biome_skycolor_overworld into master
Reviewed-on: MineClone2/MineClone2#3158
Reviewed-by: kabou <kabou@noreply.git.minetest.land>
2022-12-24 15:01:43 +00:00
FossFanatic 9eb86f011b Make the code clearer to read 2022-12-24 14:54:48 +00:00
3raven d3e8e24f42 Fix the disapearance of christmas texture of the ender chest once it is placed
Fix the disapearance of christmas texture of the ender chest once it is placed
2022-12-24 14:44:06 +00:00
FossFanatic 770dd0ec47 Merge branch 'master' into useless_textures_cleanup 2022-12-24 12:31:56 +00:00
FossFanatic 00b2afecad Merge branch 'master' into biome_skycolor_overworld 2022-12-24 12:31:10 +00:00
Michieal c55332bf42 Change mod.conf and readme's depends.
Optipng images, after adding in bamboo top image.
Try out a plantlike style top node for bamboo stalks.
Make Bamboo drop 1-2 bamboo.
Fix Bamboo top drops.
2022-12-24 00:57:44 -05:00
ancientmarinerdev cbf090485c Merge pull request 'Fix creative inventory view being reset upon taking damage' (#3102) from CyberMango/MineClone2:bug/mango/creative_inventory_view_resets_on_damage into master
Reviewed-on: MineClone2/MineClone2#3102
Reviewed-by: 𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 <mrrar@noreply.git.minetest.land>
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-24 01:18:16 +00:00
Michieal 42f8fbf9b8 Added in Fuel Recipes for bamboo slabs / stairs; including mosaics.
Finished Bamboo Mosaic nodes.
2022-12-23 17:27:01 -05:00
CyberMango bd38827f60 Fixes #2976
Now the inventory view on creative is no longer set to the survival
inventory upon taking damage.
Also the initial inventory view when openning a world in creative is at
the search page, not the survival inventory page.

mcl_inventory/init.lua no longer wraps mcl_armor.update_player to also
update the inventory view. This visual update happens anyways since it
is registered to happen on a visual change with
mcl_player.register_on_visual_change .

This also fixes a small visual bug that, on creative mode, if you would
equip/unequip an armor piece, the image of the player would be updated
twice.
2022-12-23 13:54:41 +02:00
Michieal b0978d275d Abstracted variables in bamboo abm.
Fix Base scaffolding in Creative mode.
Fixed Lua Warnings.
2022-12-22 16:08:05 -05:00
FossFanatic 522bbbbe26 Delete 'mods/ENTITIES/mobs_mc/textures/mobs_mc_enderman_block.png' 2022-12-22 12:47:44 +00:00
FossFanatic e1f26ea70d Remove dry grass side texture
The same reason as why the dry grass top texture got removed.
2022-12-22 12:40:36 +00:00
FossFanatic 9ef4a850b1 Remove dry grass top texture
This is a remnant of Minetest Game and used to be for dry biomes before colour palettes were a thing in MineClone 2.
2022-12-22 12:40:10 +00:00
FossFanatic 4c23601d03 Remove useless amethyst texture
This texture is a remnant of the PixelPerfection resource pack and nowhere in the code does this texture get used.
2022-12-22 12:38:05 +00:00
FossFanatic 8d51e16b8e Remove obsolete texture 2022-12-22 12:34:14 +00:00
Michieal 2b11b5c17a Added full node names for bamboo on_place.
Added in bamboo top destruct.
Removed mapgen.lua.
2022-12-21 22:23:46 -05:00
Michieal 9445b02dcc MapGen update. Adjusted decorations. 2022-12-21 20:57:34 -05:00
SakuraRiu 1b980849db Merge branch 'master' into master 2022-12-22 00:55:48 +00:00
Gregor Parzefall 14adcbbecb Make snow sound like snow while digging it 2022-12-21 22:39:26 +01:00
Michieal e0d48400a7 Fix the removal of bamboo extras. 2022-12-21 16:16:53 -05:00
Gregor Parzefall 7312c30f8e Update attribution of sounds
Also: Add myself to CREDITS.md
2022-12-21 22:13:08 +01:00
Michieal 742a625c42 Added in aliasing for scaffolding, to prevent breakage for players using the "mcl_scaffolding" mod. 2022-12-21 15:55:50 -05:00
Michieal 95d3f9be07 Make Lantern API callable from outside of mcl_lanterns 2022-12-21 12:34:47 -05:00
Michieal 16d94a88db moved extras to the proper location 2022-12-21 12:32:09 -05:00
FossFanatic a50908e1eb Fix the flat biome having a beach sky colour 2022-12-21 16:00:04 +00:00
FossFanatic afbb8e2288 Add locals for certain hex codes that occur too many times 2022-12-21 15:57:33 +00:00
FossFanatic 79b1db4b1a Fix underwater fog colour regression 2022-12-21 14:04:47 +00:00
FossFanatic 1c752019f0 Make the explanation shorter 2022-12-21 13:08:23 +00:00
FossFanatic 1977dbf9a1 Remove excessive whitespace 2022-12-21 13:05:52 +00:00
FossFanatic 91836f3a1d Add sky and fog colour for each overworld biome 2022-12-21 13:04:46 +00:00
FossFanatic 35b2f3b638 Make overworld biome specific (daytime) sky and fog colours possible 2022-12-21 13:01:54 +00:00
Gregor Parzefall 4fcbe05be5 Remove a sound I forgot 2022-12-21 13:53:09 +01:00
Riu Sakura 8f80c6e6a6 Added missing word (Breeding). 2022-12-21 14:23:57 +09:00
Michieal b14f055154 Merge branch 'master' into mcl_bamboo_too
# Conflicts:
#	mods/ITEMS/mcl_bamboo/init.lua
2022-12-20 23:19:29 -05:00
Riu Sakura 3faa930bdc Added missing translations.
In addition, the translation of "Grass Block" has been corrected to a better phrase.
2022-12-21 10:24:26 +09:00
ancientmarinerdev a6e0da0e07 Merge pull request 'Fixes MineClone2/MineClone2#3120 | Complete re-upload of the mcl_bamboo branch.' (#3123) from mcl_bamboo_new into master
Reviewed-on: MineClone2/MineClone2#3123
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-21 00:47:21 +00:00
Michieal 41ab80183e Darken the Warped Hyphae Log (side) texture 2022-12-20 18:02:48 -05:00
ancientmarinerdev 1c24adb714 Merge pull request 'Animated Nether Tree Textures' (#3155) from FossFanatic/MineClone2:animated_nether_trees_possible into master
Reviewed-on: MineClone2/MineClone2#3155
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-20 21:19:45 +00:00
Michieal 7003459b8d Merge remote-tracking branch 'origin/master' 2022-12-20 16:13:54 -05:00
Michieal 8d440f8464 Made purple warped_hyphae trapdoor so that it matched the sides. (The top was green, the sides were purple.)
Renamed the old trapdoor top to _alt.
2022-12-20 16:13:07 -05:00
ancientmarinerdev 658a08181c Merge pull request 'Nether Ores And Blackstone Fixes' (#3154) from FossFanatic/MineClone2:nether_ores_and_blackstone_fixes into master
Reviewed-on: MineClone2/MineClone2#3154
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-20 21:04:52 +00:00
Gregor Parzefall 605e4de455 Restore MCL changes to grass / leaves sounds 2022-12-20 21:12:56 +01:00
Gregor Parzefall 8522b87444 Removed two duplicated sound definitions 2022-12-20 21:08:59 +01:00
Gregor Parzefall e4abbbf112 Sound changes in code 2022-12-20 20:57:57 +01:00
Gregor Parzefall 718cdb553d More sound changes from MTG 2022-12-20 18:54:52 +01:00
Gregor Parzefall e2ec660f25 Update sounds from MTG 2022-12-20 18:21:31 +01:00
Wbjitscool 1b4bcda9da Update 'mods/ITEMS/mcl_mangrove/init.lua' 2022-12-20 02:58:58 +00:00
Michieal 39714fb096 optipng the mangrove door sides, and then moved them to the textures directory for mcl_mangrove. 2022-12-19 21:48:51 -05:00
Wbjitscool 258a1534d2 Upload files to 'mods/ITEMS/mcl_mangrove' 2022-12-20 02:42:27 +00:00
Michieal c995c8418c Optipng'd mangrove textures
cleaned up warped door (inv/wield images)
2022-12-19 21:32:44 -05:00
Wbjitscool 00121d9d97 Upload files to 'mods/ITEMS/mcl_crimson/textures'
fixed transperancy issue
2022-12-20 02:18:15 +00:00
Michieal 4f90fbcedd put in green alt warped door textures.
resized large textures to 16px textures.
optipng'd' them.
2022-12-19 20:57:32 -05:00
Michieal c7104a6f72 Made the warped doors purple.
Optipng'd all the textures in this module.
2022-12-19 20:48:47 -05:00
Wbjitscool 223f6640d2 Upload files to 'mods/ITEMS/mcl_crimson/textures' 2022-12-20 01:36:25 +00:00
Michieal feea815604 Warped Hyphae textures update. 2022-12-20 01:32:36 +00:00
Riu Sakura b1b2e06dc7 Removed invisible character codes.
Updated translations with the latest templates.
2022-12-20 08:37:24 +09:00
Michieal 1a56a32fa8 misc. error fix 2022-12-19 16:16:54 -05:00
Michieal 0a4243a0f3 Merge remote-tracking branch 'origin/mcl_bamboo_new' into mcl_bamboo_new
# Conflicts:
#	mods/ITEMS/mcl_bamboo/init.lua
2022-12-19 16:00:05 -05:00
Michieal 66a7c5757e Made bamboo buttons flammable, and made them into a fuel source.
Converted commented code snippet, addgroups() into global function.

Stairs will be a fuel source in part 2.
2022-12-19 15:57:27 -05:00
FossFanatic 083a57a4a1 Allow for animated hyphae textures 2022-12-19 19:36:28 +00:00
FossFanatic c512d28f02 Add blackstone top texture 2022-12-19 19:02:18 +00:00
FossFanatic 1056b6ca14 Add blackstone side texture 2022-12-19 19:02:18 +00:00
FossFanatic c8ec57bdbd Delete 'mods/ITEMS/mcl_blackstone/textures/mcl_blackstone.png' 2022-12-19 19:02:18 +00:00
FossFanatic 2dffe11cdd Add seperate gilded blackstone texture 2022-12-19 19:02:18 +00:00
FossFanatic f29622dd59 Allow for both top/bottom and side textures 2022-12-19 19:02:18 +00:00
FossFanatic d9bd3e2601 Add seperate nether gold ore texture 2022-12-19 19:02:17 +00:00
Michieal e53d7576c3 Made bamboo buttons flammable, and made them into a fuel source.
Converted commented code snippet, addgroups() into global function.

Stairs will be a fuel source in part 2.
2022-12-19 13:44:24 -05:00
Riu Sakura 2b61231f82 add japanese translation 2022-12-19 15:33:31 +09:00
Wbjitscool 40f7215368 upload to 'mods\ITEMS\mcl_crimson\textures'
another update for mcl_crimson png files
2022-12-19 04:33:19 +00:00
Wbjitscool 620cc97bad Upload files to 'mods/ITEMS/mcl_crimson/textures' 2022-12-19 04:22:59 +00:00
Michieal 64c8afc8f0 Undo the revert.
>.< /facepalm *grumbles*
2022-12-19 04:11:25 +00:00
Michieal f737df79e5 revert 7a3f373425
revert Misc. Fixes.
Added in burn times for slabs.
And then amend the commit to remove an oops.
2022-12-19 04:06:33 +00:00
Michieal 7a3f373425 Misc. Fixes.
Added in burn times for slabs.
And then amend the commit to remove an oops.
2022-12-18 22:41:33 -05:00
Michieal 63ea851e63 Merge remote-tracking branch 'origin/mcl_bamboo_new' into mcl_bamboo_new
# Conflicts:
#	mods/ITEMS/mcl_bamboo/init.lua
2022-12-18 22:35:57 -05:00
Michieal fe26f117da Misc. Fixes.
Added in burn times for slabs.
And then amend the commit to remove an oops.
2022-12-18 22:28:50 -05:00
Michieal 5191326fc7 Misc. Fixes.
Added in burn times for slabs.
2022-12-18 21:04:43 -05:00
ancientmarinerdev 45c85841e8 Merge pull request 'Add bookshelves and anvils as structure constructed nodes' (#3133) from structure_construct_nodes into master
Reviewed-on: MineClone2/MineClone2#3133
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-19 01:14:39 +00:00
Wbjitscool 4b8493f1a4 update 'mods/ITEMS/mcl_crimson/init.lua'
fixed some accidental changes that were not meant to happen sorry
2022-12-19 01:04:59 +00:00
PrairieWind 0a2f57476e Update Woodland Outpost Schematic
Switched double chest with barrels so that they work correctly
2022-12-19 01:03:53 +00:00
PrairieWind 256655df83 Add bookshelves and anvils as structure constructed nodes 2022-12-19 01:03:53 +00:00
Wbjitscool b3a8ba57e7 update 'mods/items/mcl_crimson/init.lua'
some new changes
2022-12-19 00:43:32 +00:00
ancientmarinerdev 20ca34233c Merge pull request 'Respawn Anchor Cleanup & Fixes' (#3129) from FossFanatic/MineClone2:more_respawn_anchor_changes into master
Reviewed-on: MineClone2/MineClone2#3129
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-18 23:17:53 +00:00
ancientmarinerdev 93814880d0 Merge pull request 'Make Night Sky Darker' (#3138) from FossFanatic/MineClone2:minecraft_like_night_sky into master
Reviewed-on: MineClone2/MineClone2#3138
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-18 22:44:42 +00:00
Michieal 1861d7d30d Conversation Fix. (Removed extra IF statement.) 2022-12-17 01:23:48 +00:00
Wbjitscool 49fb36bac2 Upload files to 'mods/ITEMS/mcl_crimson/textures'
the png files for thoes changes
2022-12-16 05:27:23 +00:00
Michieal c09ed02801 A more elegant solution for slabs
After a good bit of trial and error, and asking questions... I have rewritten the override code and it works. (tested, slabs can now be used to make composters and barrels with this method.)
2022-12-16 05:24:54 +00:00
Michieal da4e359df0 Merge branch 'master' into mcl_bamboo_new 2022-12-16 04:09:56 +00:00
Michieal 4da20f5e73 Main - Fixed Bamboo Sign Errors.
Fixed Stripped Bamboo Block Description.
Added in Bamboo Plank Recipe that uses Stripped Bamboo Blocks.
Removed double translation of "Bamboo Sign" in sign registration. (Caused the Bamboo Sign Errors.)
Added bamboo plank slabs to the group "wood_slabs" so that the barrel recipe works oob.
2022-12-15 22:35:10 -05:00
ancientmarinerdev 4ba3af5c73 Merge pull request 'Add `.editorconfig` file to enforce codestyle in compatible editors' (#3091) from editorconfig into master
Reviewed-on: MineClone2/MineClone2#3091
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-15 22:59:08 +00:00
AFCMS 3a619ba8e4 Basic editorconfig file 2022-12-15 22:57:18 +00:00
ancientmarinerdev 1859f44bd6 Merge pull request 'Refactor leaf decay mechanics.' (#3099) from refactor-leaves into master
Reviewed-on: MineClone2/MineClone2#3099
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-15 22:44:19 +00:00
kabou 4e282df905 Mangrove roots are not leaves and some trivia.
* Remove `leaves` group from mangrove roots node registration.  Mangrove
  roots should not decay like leaves do.
* Fix some formatting weirdness.
* Add a "fixme" comment to some duplicated code that causes luacheck to
  complain.
2022-12-15 22:42:09 +00:00
kabou 1b0b2b8b04 Add `compostability` group to mangrove leaves. 2022-12-15 22:42:09 +00:00
kabou c33d7d0106 Remove duplicate callback registration.
* `on_place` was registered twice in mangrove tree trunk node
  registration.  Remove one.
2022-12-15 22:42:08 +00:00
kabou cec5b1668a Remove unused `leafdecay` group.
* This group is no longer used and is removed from leaves node groups.
* Since it was never added to GROUPS.md, nothing needs changed there.
* Remove the `leafdecay_distance` parameter from node registrations.
2022-12-15 22:42:08 +00:00
kabou adcf03e0c6 Refactor leaf decay ABM.
* The leaf decay ABM no longer scans all leaves nodes.  Now only
  "orphaned" leaves are decayed.  These nodes are placed by callbacks
  in tree trunk nodes upon their destruction.
* This commit also removes the tree trunk node caching system and an
  abm throttling mechanism and its associated globalstep function.
2022-12-15 22:42:08 +00:00
kabou a4ef367708 Add "orphaned" leaves nodes.
* Add "orphaned" leaves nodes, these are copies of the regular leaves
  nodes whose sole purpose is to replace leaves nodes when no more tree
  trunks are present nearby.  The orphaned nodes are swapped in by a
  callback on destruction of tree trunk nodes and will be decayed by a
  dedicated abm that processes all nodes in `group:leaves_orphan`.
* Add `mcl_core.update_leaves()` function, a `after_destruct` callback
  handler for tree trunk nodes.  The function finds leaves nodes nearby
  destroyed tree trunk nodes and swaps these for orphaned leaves nodes
  if no other tree trunk nodes remain near them.
* Add `after_destruct` callbacks to tree trunk node registrations in
  mcl_core/nodes_trees.lua and mcl_mangrove/init.lua to update orphaned
  leaves.
* Add entry for group `leaves_orphan` to GROUPS.md
* Also add entry for group `leaves` to GROUPS.md (it was missing).
2022-12-15 22:42:08 +00:00
ancientmarinerdev 20e78099d7 Merge pull request 'village_schema_fixes' (#2989) from village_schema_fixes into master
Reviewed-on: MineClone2/MineClone2#2989
2022-12-15 21:54:48 +00:00
ancientmarinerdev 94a37790aa Fix incorrectly sized foundations 2022-12-15 21:52:24 +00:00
ancientmarinerdev 89f5d41366 Fix village building foundation material for desert 2022-12-15 21:52:24 +00:00
ancientmarinerdev b33b87b9dd Fix village building foundations 2022-12-15 21:52:24 +00:00
ancientmarinerdev 295970fbac Adding extra row of blocks in front of doors to schemas so villagers can get out 2022-12-15 21:52:24 +00:00
ancientmarinerdev 639825a8da Merge pull request 'release/0.81.1_merge_conflict_fix' (#3132) from release/0.81.1_merge_conflict_fix into master
Reviewed-on: MineClone2/MineClone2#3132
2022-12-15 19:56:59 +00:00
FossFanatic 0f8cfbf106 Some small night sky adjustments 2022-12-15 16:46:47 +00:00
FossFanatic 39e9158c01 Make night sky darker 2022-12-15 16:05:34 +00:00
Michieal 773c760727 Added Bamboo Mosaic.
Added Tiki Lamp (extras) - Requires mcl_lanterns to be fixed to allow API to be called from other mods.
Moved Side Scaffolding to bambootoo.lua
2022-12-14 23:02:08 -05:00
ancientmarinerdev 254caaff37 Merge conflict fixes for release 0.81.1 2022-12-14 21:38:53 +00:00
ancientmarinerdev 1ac6c45c7f Update release readme 2022-12-14 20:17:21 +00:00
ancientmarinerdev 5b68007902 Pre-release update credits and set version 0.81.1 2022-12-14 20:13:06 +00:00
FossFanatic 35967caf71 Change some things 2022-12-14 14:43:45 +00:00
Michieal 29bc74dde9 Code reformat. 2022-12-14 03:26:22 -05:00
Michieal ca1a46efa7 A complete re-upload of MineClone2/MineClone2#3120
Doing this to just fix it.
2022-12-13 23:32:54 -05:00
Michieal 997b6875a2 Merge pull request 'performance_fix_raids' (#3092) from performance_fix_raids into release/0.81.1
Reviewed-on: MineClone2/MineClone2#3092
Increases performance.
Tested by myself, and by other players.
2022-12-11 23:29:13 +00:00
ancientmarinerdev 38e49a4b80 Merge pull request '`mcl_hoppers` fixes' (#2983) from mcl-hoppers-fixes into master
Reviewed-on: MineClone2/MineClone2#2983
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-11 20:55:59 +00:00
ancientmarinerdev 9b94a752bd Fixed bug that crashes zombie siege in context where z cannot spawn 2022-12-11 20:22:06 +00:00
ancientmarinerdev ab3530c356 Merge pull request 'Nylium Block Fixes' (#3084) from FossFanatic/MineClone2:nylium_block_fixes into master
Reviewed-on: MineClone2/MineClone2#3084
Reviewed-by: kabou <kabou@noreply.git.minetest.land>
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-11 03:21:11 +00:00
ancientmarinerdev fbed60bd2d Merge pull request 'Bee Block Sounds' (#3085) from FossFanatic/MineClone2:bee_block_fixes into master
Reviewed-on: MineClone2/MineClone2#3085
Reviewed-by: kabou <kabou@noreply.git.minetest.land>
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-11 02:55:22 +00:00
ancientmarinerdev bf34ca5f50 Merge pull request 'Add Seagrass Item Texture' (#3088) from FossFanatic/MineClone2:seagrass_item_image_fix into master
Reviewed-on: MineClone2/MineClone2#3088
Reviewed-by: kabou <kabou@noreply.git.minetest.land>
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-11 02:29:06 +00:00
ancientmarinerdev 055432c1f7 Merge pull request 'Fix the bug that baby (non-monster) mobs cant jump over blocks' (#3093) from CyberMango/MineClone2:dev/mango/fix_baby_mobs_jump into master
Reviewed-on: MineClone2/MineClone2#3093
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-11 02:17:01 +00:00
AFCMS 7a371dc846
Format file again 2022-12-10 22:38:08 +01:00
AFCMS 7deec7ae03
Refactor hopper -> composter ABMs 2022-12-10 22:38:08 +01:00
AFCMS 47eda5b69e
Only register hopper -> composter ABMs if composter mod is enabled 2022-12-10 22:38:07 +01:00
AFCMS 8d921c0671
Add some type annotations 2022-12-10 22:38:07 +01:00
AFCMS 804aa388b5
Some manual formatting 2022-12-10 22:38:07 +01:00
AFCMS fcf9c35324
Use new vectors everywhere 2022-12-10 22:38:06 +01:00
AFCMS 9cc63ed716
Use `table.concat` for formspec generation 2022-12-10 22:38:06 +01:00
AFCMS c49f000894
Fix formating 2022-12-10 22:38:06 +01:00
CyberMango f7f2b97b13 Fixed #2313 - baby mobs cant jump over blocks.
Simply removed a line that specifies they shouldnt do that.
2022-12-10 19:54:44 +02:00
ancientmarinerdev f7f0a2be8b Raids performance optimisation. Check for village less and over less distance. 2022-12-09 22:59:58 +00:00
ancientmarinerdev e408dd45e5 Remove easter egg taking 3% of processing 2022-12-09 19:30:06 +00:00
FossFanatic adead97905 Add seagrass item texture 2022-12-08 17:37:14 +00:00
FossFanatic ef33891b3f Add seagrass item texture 2022-12-08 17:36:28 +00:00
FossFanatic 1c5170d36f Add sounds to bee nests and beehives 2022-12-08 11:43:58 +00:00
FossFanatic cf3e65e34e Add sounds to honey and honeycomb blocks 2022-12-08 11:43:06 +00:00
FossFanatic 0593a63626 Fix nylium blocks 2022-12-08 11:09:30 +00:00
AFCMS 2b46dd60c5 Merge pull request 'Fix right click on copper crash' (#3076) from bugfix/fix_copper_right_click into master
Reviewed-on: MineClone2/MineClone2#3076
Reviewed-by: AFCMS <afcm.contact@gmail.com>
2022-12-07 17:27:47 +00:00
ancientmarinerdev 9d87dcf611
Fix right click on copper crash 2022-12-07 18:27:11 +01:00
AFCMS 0f99373779 Merge pull request '`mobs_mc` silverfish fixes' (#2935) from mc-mobs-silverfish-fixes into master
Reviewed-on: MineClone2/MineClone2#2935
Reviewed-by: kabou <kabou@noreply.git.minetest.land>
2022-12-07 17:24:09 +00:00
AFCMS bbf21762a6
Format again 2022-12-07 18:22:54 +01:00
AFCMS 34a7cf3e9f
Remove duplicated `reach` field 2022-12-07 18:22:54 +01:00
AFCMS 3153c41f3a
Remove mtg compatibility code 2022-12-07 18:22:53 +01:00
AFCMS 489d3b7da6
Format file 2022-12-07 18:22:53 +01:00
ancientmarinerdev 2d05f9bc89 Merge pull request 'mcl_ver_info' (#3043) from mcl_ver_info into master
Reviewed-on: MineClone2/MineClone2#3043
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-06 23:43:00 +00:00
Michieal 8256fe6f04 remove extraneous messages 2022-12-06 23:40:11 +00:00
Michieal bceb9cd855 Removed the id= line.
Since we don't know when the api will be finished, I removed the ID line just in case.
2022-12-06 23:40:11 +00:00
Michieal 1c1ae53cec Fixed game.conf to work with the workaround by reubenwardy. 2022-12-06 23:40:11 +00:00
Michieal 0bc88b55e5 Added in Workaround for ID not yet implemented in 5.70-Dev Minetest.
For more information, please see: https://github.com/minetest/minetest/pull/12989#issuecomment-1336407807
2022-12-06 23:40:11 +00:00
Michieal d80dd41cb4 Add in template file for translations. 2022-12-06 23:40:11 +00:00
Michieal 43a69c445f Added in Error Handling
The /ver command now has error handling, so that it will work regardless of minetest version, and will tell the user to update the minetest version for support. 

Also updated the mod.conf to have the author field filled out. 

todo: still needs translation files.
2022-12-06 23:40:11 +00:00
Michieal dbe0437201 add in translator code for S("") 2022-12-06 23:40:11 +00:00
Michieal 51372da2b9 update game.conf to have version id code for /ver command. 2022-12-06 23:40:11 +00:00
Michieal 283b7c7410 Add in Versioning info using /ver command. 2022-12-06 23:40:10 +00:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 bfa75dbcd2 Merge pull request 'Pressure plates check for entity contact' (#3033) from pplates into master
Reviewed-on: MineClone2/MineClone2#3033
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
2022-12-06 13:48:26 +00:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 7c87ed2d6c Add rightclick support to pplates 2022-12-05 14:25:11 -06:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 d8c16b1f31 Add 1 sec deactivation delay to pplates 2022-12-05 14:25:10 -06:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 ba292aeb5d Pressure plates check for entity contact 2022-12-05 14:25:10 -06:00
ancientmarinerdev 055a93843f Merge pull request 'Fix incorrect call to gopath for raid due to mobs refactor.' (#3063) from bugfix/raids_crash_gopath into master
Reviewed-on: MineClone2/MineClone2#3063
Reviewed-by: kabou <kabou@noreply.git.minetest.land>
2022-12-05 13:10:01 +00:00
ancientmarinerdev a3cded0133 Fix zombie siege calling gopath incorrectly 2022-12-05 00:13:49 +00:00
ancientmarinerdev 2b52eaa6ef Fix incorrect call to gopath for raid due to mobs refactor. 2022-12-04 22:34:31 +00:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 71a03bff6f Merge pull request 'Fix Axelotl crash for right click' (#3057) from axelotl_fix into master
Reviewed-on: MineClone2/MineClone2#3057
Reviewed-by: 𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 <mrrar@noreply.git.minetest.land>
2022-12-04 18:04:02 +00:00
ancientmarinerdev a0a0c69213 Fix Axelotl crash for right click 2022-12-04 11:34:48 -06:00
𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 e57551f764 Merge pull request 'Replace lighting rod nodebox by 3d model' (#3042) from mcl-lightning-rod-model into master
Reviewed-on: MineClone2/MineClone2#3042
Reviewed-by: 𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 <mrrar@noreply.git.minetest.land>
2022-12-04 17:20:29 +00:00
AFCMS 18cfb88ae5 Replace lighting rod nodebox by 3d model 2022-12-04 11:13:36 -06:00
chmodsayshello 826b9fcc45 Merge pull request 'Add Recovery Compasses' (#3049) from recovery_compass into master
Reviewed-on: MineClone2/MineClone2#3049
Reviewed-by: AFCMS <afcm.contact@gmail.com>
2022-12-02 20:57:15 +00:00
chmodsayshello 7dacfe2cba make recovery compass spin randomly in other dimensions 2022-12-02 18:52:31 +01:00
chmodsayshello 7d57e73ae4 fix recovery compass overwriting every other item 2022-12-02 15:43:08 +01:00
chmodsayshello 7f59611914 add crafting recipie 2022-12-02 15:40:18 +01:00
chmodsayshello 927fd60786 translation stuff 2022-12-01 21:20:39 +01:00
chmodsayshello ab031daa5a recovery compass 2022-12-01 21:13:41 +01:00
cora 588425df73 Merge pull request 'Fix twisted vines breaking block when growing' (#3037) from fix_tvines_breaking into master
Reviewed-on: MineClone2/MineClone2#3037
2022-11-29 11:23:21 +00:00
cora 25d0f2b0c4 Fix twisted vines breaking block when growing 2022-11-29 12:21:33 +01:00
cora 85e7de6c14 Merge pull request 'Sweetberry, nethervines: Fix placing in protected area' (#3038) from fix_sweet_berry_protection into master
Reviewed-on: MineClone2/MineClone2#3038
2022-11-29 11:21:14 +00:00
cora d395c82183 Fix bonemeal creative for sweet berries and nether vines 2022-11-29 12:20:39 +01:00
cora 34a558ced9 Sweetberry, nethervines: Fix placing in protected area 2022-11-29 12:20:39 +01:00
cora 17f789550d Merge pull request 'Fix creeper crash (wrong self ref)' (#3044) from fix_creeper_crash into master
Reviewed-on: MineClone2/MineClone2#3044
2022-11-29 02:42:12 +00:00
cora 9508cd4c25 Fix creeper crash 2022-11-29 03:28:19 +01:00
cora c4808beef4 Merge pull request 'Mobs fixes' (#3032) from mobs_cleanup into master
Reviewed-on: MineClone2/MineClone2#3032
2022-11-28 03:26:53 +00:00
cora 69c64a2c24 Fix wrong self ref with mcl_mobs.spawn_child 2022-11-28 03:26:51 +01:00
cora 318da7e3c9 Fix local go_to_pos call 2022-11-28 03:26:51 +01:00
cora 5e022ef083 Merge pull request 'Epic hamburger fight PR' (#2959) from mcl_hamburger into master
Reviewed-on: MineClone2/MineClone2#2959
2022-11-28 02:06:48 +00:00
Michieal c45e4d292a Added in Author Info to the conf file. 2022-11-28 03:03:42 +01:00
Michieal a542503b72 Delete '.idea/vcs.xml' 2022-11-28 03:03:42 +01:00
Michieal 4b570b1aa9 Delete '.idea/modules.xml' 2022-11-28 03:03:42 +01:00
Michieal cc190eeb62 Delete '.idea/misc.xml' 2022-11-28 03:03:42 +01:00
Michieal 7e31ece325 Delete '.idea/MineClone2-mcl_hamburger.iml'
.
2022-11-28 03:03:42 +01:00
Michieal b783e616df Delete '.idea/.gitignore'
.
2022-11-28 03:03:42 +01:00
Michieal f1ae86ede5 Add in the Translation files for the base languages. 2022-11-28 03:03:42 +01:00
Michieal c63533c753 Updated the readme.txt to reflect the changes. 2022-11-28 03:03:42 +01:00
Michieal 81fa7cf74c Removed outdated translate files.
made new translation template.
Changed _alt image.
Updated the readme.txt to reflect the changes.

Added a secondary crafting recipe for the Hamburger.
2022-11-28 03:03:42 +01:00
Michieal 5378aae09e Add in achievement. 2022-11-28 03:03:42 +01:00
Michieal aec16ee62e Textures redo. 2022-11-28 03:03:42 +01:00
cora 0cdf84ab47 Fix translation warning 2022-11-28 03:03:42 +01:00
cora 31395a8830 make setting just hide the hamburger, not disable it 2022-11-28 03:03:42 +01:00
cora 8e74a5a56a some basic burger cleanup 2022-11-28 03:03:42 +01:00
Michieal 2149ca1147 Fixed the name in mod.conf.
updated the mod.conf so that it reflects the coding to come.
2022-11-28 03:03:42 +01:00
Michieal de7696ce69 Changed calling function. 2022-11-28 03:03:42 +01:00
Michieal 4b777b1d9c Fixed Indentation. 2022-11-28 03:03:42 +01:00
Michieal dadb8f9287 fix indentation. 2022-11-28 03:03:42 +01:00
Michieal 83b40f8cff add flavor text, code clean up
Changed to have the flavor text to give it character.
Fixed misspellings.
Cleaned up the code from the initial commit.
Changed from API to single item.
Fixed the mod name, so that it matches "mcl_" format.

Added comments.
2022-11-28 03:03:42 +01:00
cora ce95f034b4 Add setting to turn hamburgers on and off 2022-11-28 03:03:39 +01:00
Michieal 2b3ec8d944 remove .idea files 2022-11-28 03:02:51 +01:00
Michieal 972e9ea0f8 Fix initial commit. 2022-11-28 03:02:51 +01:00
Michieal df62a3aac1 Initial code comit 2022-11-28 03:02:51 +01:00
cora 7cc25c4670 Merge pull request 'grand mcl_mobs cleanup part 1' (#2925) from mobs_cleanup into master
Reviewed-on: MineClone2/MineClone2#2925
2022-11-27 13:57:35 +00:00
cora ebf214c043 Check if spawndef exists when spawning 2022-11-27 14:53:17 +01:00
cora 7bd0b5a9b1 Some more missing arg fixes 2022-11-27 14:53:16 +01:00
cora bc496a8682 Finally indent register_mob and make registered mobs global 2022-11-27 14:53:16 +01:00
cora a3415647d4 Fix do_jump call in combat.lua 2022-11-27 14:53:16 +01:00
cora 4909ef6ff7 Restructure on_step a bit 2022-11-27 14:53:16 +01:00
cora 3c6d79ecb3 Add entity name to debug box 2022-11-27 14:53:16 +01:00
cora 6948b77226 move debug/nametag code back to api.lua 2022-11-27 14:53:16 +01:00
cora 90321ee578 Fix leftover local do_attack call 2022-11-27 14:53:16 +01:00
cora 2b691dea07 Fix some more global var warnings 2022-11-27 14:53:16 +01:00
cora c25287e493 Some cleanup 2022-11-27 14:53:16 +01:00
epCode 762f64a4d1 Fix mob rotation glitching out near 0/360 in degrees
The problem mainly was that the set_yaw function was not allowing for negitive values.
2022-11-27 14:53:16 +01:00
cora db63f1c453 fix leftover pi shortcut 2022-11-27 14:53:16 +01:00
cora faa38ffab8 Fix some warnings 2022-11-27 14:53:16 +01:00
cora 19d6d43b39 move on_blast default to mob default def 2022-11-27 14:53:16 +01:00
cora 28b6fcf289 Move detach_child to mount.lua 2022-11-27 14:53:16 +01:00
cora 80490b4c11 Move smooth rotation to separate function 2022-11-27 14:53:16 +01:00
cora 5e177c61f6 Move on_step despawning to separate function 2022-11-27 14:53:16 +01:00
cora c9c2b874be move relative animation speed to separate function 2022-11-27 14:53:16 +01:00
cora 18c415f6a0 put head swivel in separate function 2022-11-27 14:53:16 +01:00
cora 49670d1d28 put water flow code in separate function 2022-11-27 14:53:16 +01:00
cora a25cd921f2 move do_states to movement.lua 2022-11-27 14:53:16 +01:00
cora 91b5b6266c move stray particle spawner func to effects 2022-11-27 14:53:16 +01:00
cora 148b30694f Fix monster_attack and some other settings issues 2022-11-27 14:53:16 +01:00
cora f4374d9efd Fix item drops 2022-11-27 14:53:16 +01:00
cora b41d6a1cae Fix mob_punch 2022-11-27 14:53:16 +01:00
cora 6548b7fe47 move stray pathfinding funcs to pathfinding file 2022-11-27 14:53:16 +01:00
cora c7681af53e Move registration functions to init.lua 2022-11-27 14:53:16 +01:00
cora cc77e109f5 Split off general movement functions 2022-11-27 14:53:16 +01:00
cora e7d9ded9ab Split off combat funcs 2022-11-27 14:53:16 +01:00
cora 96d697c5cd Split off pathfinding, use metatables 2022-11-27 14:53:16 +01:00
cora 01abfea16d Split off item management 2022-11-27 14:53:16 +01:00
cora bbba7cee41 Add compat for old "wrong" : notation 2022-11-27 14:53:16 +01:00
cora e82c318f0c Split off breeding 2022-11-27 14:53:16 +01:00
cora 70834d0f5d make register functions use the . notation 2022-11-27 14:53:16 +01:00
cora d62dbcb852 effects -> separate file + metatable 2022-11-27 14:53:16 +01:00
cora 67fd8c8b40 split off physics functions into separate file + use metatable 2022-11-27 14:53:16 +01:00
cora 90639ef99d remove unused functions 2022-11-27 14:53:16 +01:00
cora 31ef791cfd Add proper metatable to mobs 2022-11-27 14:53:16 +01:00
cora 4d5104ff8f Merge pull request 'Add disallowed mapgen setting for v6' (#3021) from disable_v6_mapgen into master
Reviewed-on: MineClone2/MineClone2#3021
2022-11-27 13:52:45 +00:00
cora b7962b067f Add disallowed mapgen setting for v6 2022-11-27 14:50:58 +01:00
cora 19dc86c951 Merge pull request 'Cocoa Pods Cleanup' (#2974) from FossFanatic/MineClone2:cocoa_pod_fixes into master
Reviewed-on: MineClone2/MineClone2#2974
Reviewed-by: cora <cora@noreply.git.minetest.land>
2022-11-27 13:49:24 +00:00
cora e3ee224532 Merge pull request 'version -> 0.82.0 (indev)' (#3030) from release_0.81.0 into master
Reviewed-on: MineClone2/MineClone2#3030
2022-11-27 13:36:22 +00:00
cora c209bff157 version -> 0.82.0 (indev) 2022-11-27 14:35:54 +01:00
cora 59a7608dfc Merge pull request 'Release 0.81.0' (#2952) from release_0.81.0 into master
Reviewed-on: MineClone2/MineClone2#2952
2022-11-27 12:59:28 +00:00
cora 8b08707e3f Add Faerraven to texture credits 2022-11-27 04:54:30 +01:00
cora dd8f64e039 Add Ranko Saotome to credits 2022-11-27 04:40:14 +01:00
cora 56519c881e Set version to 0.81 2022-11-27 04:40:14 +01:00
cora 944d53111a Update credits 2022-11-27 04:40:14 +01:00
PrairieWind 33c3007709 Merge pull request 'Final fixes for 0.81' (#3027) from final_fixes into master
Reviewed-on: MineClone2/MineClone2#3027
Reviewed-by: PrairieWind <prairie.astronomer1@gmail.com>
2022-11-27 03:38:14 +00:00
PrairieWind 8d5aea9743 Fix New Button Names 2022-11-27 03:36:38 +00:00
cora fa2a2bb8ac Remove mcl_copper screenshot 2022-11-27 03:36:38 +00:00
cora ee808e8f84 optimize excessively large mcl_shield_hud.png texture 2022-11-27 03:36:38 +00:00
cora 53d11ec71b Add new wood types buttons 2022-11-27 03:36:38 +00:00
cora f1aca79f9c Merge pull request 'Player location using mcl_info' (#3022) from mcl_info_player_coords into master
Reviewed-on: MineClone2/MineClone2#3022
2022-11-27 03:33:48 +00:00
cora fb8b3d5f55 Cleanup mcl_info clutter and messy var localization 2022-11-27 04:31:24 +01:00
Michieal 8184d4938c Modify init.lua to allow normal player usage.
Changes made:
* Put in new chatcommand /whereami to allow normal players to turn on / off player location coords without needing special privs.
* Made Debug Coords level 2, Player Location level 1, and Off level 0. (Allows turning the location off.)
* Put in nil value check into get_text, to prevent errors caused by definitions accidentally not returning a value.
* Cached pairs, ipairs, and table because the code is called every 0.63 seconds, and it made sense to do so. (Hopefully, will help
  to mitigate the added load on framerate.)
2022-11-27 04:31:24 +01:00
Michieal da64a10403 mcl_info: Add player coords field to debug hud 2022-11-27 04:31:24 +01:00
cora 2a54ea6e74 mcl_info: Allow debug field that's visible for everyone 2022-11-27 04:31:24 +01:00
PrairieWind 8b7b2f02e9 Merge pull request 'Fish buckets save and restore object properties in item entity' (#3013) from fish_bucket_save into master
Reviewed-on: MineClone2/MineClone2#3013
Reviewed-by: PrairieWind <prairie.astronomer1@gmail.com>
2022-11-27 03:10:11 +00:00
cora 927eff691c Fix node on_rightclick with fishbucket 2022-11-27 04:02:34 +01:00
cora efdd22d69f Fix fishbuckets placing water in the nether 2022-11-27 00:17:13 +01:00
cora f14bfdc0cd Clear item meta when turning fishbucket to empty bucket
before it simply set a different itemstring, now it creates a
whole new itemstack
2022-11-26 22:18:46 +01:00
cora 66322a873b Fix infinite fishbucket placement in survival/creative 2022-11-26 22:18:46 +01:00
cora e134cc5e65 make it possible to place fishbucket in flowing riverwater 2022-11-26 22:18:46 +01:00
cora 1fcedd1375 Fix fishbucket _on_dispense 2022-11-26 22:18:46 +01:00
cora bb73e5f1cd Make it possible to pick up fish with river water bucket 2022-11-26 22:18:46 +01:00
cora d4c2501d62 Axolotl cleanup, remove clutter 2022-11-26 22:18:46 +01:00
cora 708fcfb368 Axolotl: remove cod-inherited swarming code 2022-11-26 22:18:46 +01:00
cora ebf4678e54 mcl_buckets whitespace fixes 2022-11-26 22:18:46 +01:00
cora b4971b298d Move fish bucket code to separate file 2022-11-26 22:18:46 +01:00
cora d3349396b4 Save tropical fish properties in item meta on bucket pickup 2022-11-26 22:18:46 +01:00
cora 665e8a06a2 Save axolotl properties in item meta on bucket pickup 2022-11-26 22:18:46 +01:00
cora 67e8f13a96 Axolotl whitespace fixes 2022-11-26 22:18:46 +01:00
cora 99db678a44 Fish buckets set properties from bucket item meta 2022-11-26 22:18:46 +01:00
cora dd58bed5d1 refactor fish bucket code to not use bucket api
it was clearly not made for this
2022-11-26 22:18:46 +01:00
cora 9cf910c47f Merge pull request 'Event api, Raids, Zombie sieges' (#2833) from events into master
Reviewed-on: MineClone2/MineClone2#2833
Reviewed-by: 𝕵𝖔𝖍𝖆𝖓𝖓𝖊𝖘 𝕱𝖗𝖎𝖙𝖟 <mrrar@noreply.git.minetest.land>
2022-11-26 21:12:46 +00:00
cora 69f5bad0bb Document mcl_events 2022-11-26 17:06:04 +01:00
cora ac7038e7a5 Raids/raidcaptain: Nil check cmi_cause
apparently is nil sometimes
2022-11-26 17:06:04 +01:00
cora 3b368fdd5a Fix wrong var name for mob table 2022-11-26 17:06:04 +01:00
cora 624092ddd3 Search the area before giving up when no mobs in table left
otherwise it will advance stages prematurely
2022-11-26 17:06:04 +01:00
cora dabc09adb2 Lower and unify distance check 2022-11-26 17:06:04 +01:00
cora d0ea7c4059 Set events metatable correctly 2022-11-26 17:06:04 +01:00
cora 87d5cdc439 Make raid end firework last a bit longer 2022-11-26 17:06:04 +01:00
cora c6fc388597 Add _harmless option for rocket arrows
so event fireworks dont grief things
2022-11-26 17:06:04 +01:00
cora 93e5034317 Add fireworks when raid complete 2022-11-26 17:06:04 +01:00
cora 8564a12398 Nerf vex summoning so evoker doesnt spawn infinite vexes 2022-11-26 17:06:04 +01:00
cora e5515ed119 Add debug field: active event counter
to verify it doesn't memleak
2022-11-26 17:06:04 +01:00
cora 94057aa7e5 Code cleanup 2022-11-26 17:06:04 +01:00
cora db4f9ec5a3 Fix raid instawin when no spawnable blocks found 2022-11-26 17:06:04 +01:00
cora 057a78ed30 Fix raid registering as completed when unloading the area 2022-11-26 17:06:04 +01:00
cora 22fa5096c9 Add debug command status feedback 2022-11-26 17:06:04 +01:00
cora 2147790b44 Add setting to disable events 2022-11-26 17:06:04 +01:00
PrairieWind a1e21b44c8 Add code to unlock Voluntary Exile advancement 2022-11-26 17:06:04 +01:00
cora 358250012f Remove banner when not attached 2022-11-26 17:06:04 +01:00
cora 608da950e4 Abort events when no player is near 2022-11-26 17:06:04 +01:00
cora c3455de604 Clear bad omen when raid complete 2022-11-26 17:06:04 +01:00
cora 6251c623dd Give player bad omen effect when killing captain 2022-11-26 17:06:04 +01:00
cora 62fe08de59 Make illagers pick up ominous banners and promote themselves to captain 2022-11-26 17:06:04 +01:00
cora af0c718538 Add natural raidcaptain spawning 2022-11-26 17:06:04 +01:00
cora 3600bc8066 Spawn raidcaptain in raids 2022-11-26 17:06:04 +01:00
cora d1788b5643 Add actual banner pattern, drop banner on death 2022-11-26 17:06:04 +01:00
cora c7cc9ccb3e Add raid captain spawn func with banner attach 2022-11-26 17:06:04 +01:00
cora 097ee8b4d4 Z sieges happen in 10% of the nights 2022-11-26 17:06:04 +01:00
cora 59d384020e Finx spawn positions in 16-radius 2022-11-26 17:06:04 +01:00
cora 1d18482103 Comment out excessive logging 2022-11-26 17:06:04 +01:00
cora b82912f30d Add zombie sieges 2022-11-26 17:06:04 +01:00
PrairieWind 48a8511052 Make bossbars enablable/disablable per event type. Update some capitalization. 2022-11-26 17:06:04 +01:00
PrairieWind 160d7ca6fa Add Voluntary Exile Advancement 2022-11-26 17:06:04 +01:00
cora ae90cbe3ef Set raiders on path to village after spawn 2022-11-26 17:06:04 +01:00
cora 9893dee1aa Add debug chatcommand to start events 2022-11-26 17:06:04 +01:00
cora 232f57c247 Add hero of the village achievement 2022-11-26 17:06:04 +01:00
cora dc017864fd raids: properly integrate potions api
supports "level" now, bad omen > 1 means extra wave additionally
the playername is saved in the event object now for later access
and events can be made exclusive to a certain radius now.
2022-11-26 17:06:04 +01:00
cora 2159edba05 Remove dependency on mcl_potions 2022-11-26 17:06:04 +01:00
cora 37144f8787 Check for actual raid conditions and positions 2022-11-26 17:06:04 +01:00
cora 7ab2c5fecd Make debug output an opt-in setting 2022-11-26 17:06:04 +01:00
cora 99fce095ef fix closure style function declarations
its BANNED in CONTRIB.md
2022-11-26 17:06:04 +01:00
cora 390aec5d7a Integrate raids with mcl_events 2022-11-26 17:06:04 +01:00
cora 052e76bfcc start at effective stage 1 2022-11-26 17:06:04 +01:00
cora f17a9220bb Add bossbar support 2022-11-26 17:06:04 +01:00
cora 627ce0dc3b Finish at max_stage not max_stage + 1 2022-11-26 17:06:04 +01:00
cora f06d5a1ee3 Add event api
prototype state, test with chatcommand /infest (debug priv)
2022-11-26 17:06:03 +01:00
PrairieWind 5dc1a3d456 Village Finder Tweaks 2022-11-26 17:06:03 +01:00
PrairieWind 1b6d778dd1 Add Village Checks 2022-11-26 17:06:03 +01:00
PrairieWind 96ac31bec3 Add Bad Omen Effect 2022-11-26 17:06:03 +01:00
PrairieAstronomer 8b6409b7f1 Add mcl_raids 2022-11-26 17:06:03 +01:00
cora 6e6f163b71 Merge pull request 'Fix pressure plates getting pressed by new chest size' (#3019) from pressureplates_chest_fix into master
Reviewed-on: MineClone2/MineClone2#3019
2022-11-26 16:03:53 +00:00
cora ba7da6a885 Fix pressure plates being pressed by new chest size
this fixes the problem for chests, with paintings it would need to
go down considerably ( .65 was the value i determined)
2022-11-26 16:52:19 +01:00
cora 3066d966a1 Add the missing wood types pressure plates 2022-11-26 16:52:19 +01:00
cora 626f61c2c1 Merge pull request 'Nether Plank Fixes' (#3023) from FossFanatic/MineClone2:nether_plank_fixes into master
Reviewed-on: MineClone2/MineClone2#3023
Reviewed-by: cora <cora@noreply.git.minetest.land>
2022-11-26 12:58:21 +00:00
FossFanatic f71759f184 Fix crimson & warped planks 2022-11-26 11:54:34 +00:00
FossFanatic dec2c2bade Merge branch 'master' into cocoa_pod_fixes 2022-11-18 08:27:19 +00:00
FossFanatic 9b392fcefc Upload files to 'mods/ITEMS/mcl_cocoas/models' 2022-11-16 13:44:35 +00:00
FossFanatic d091d634bb Delete 'mods/ITEMS/mcl_cocoas/models/emptyfile' 2022-11-16 13:44:23 +00:00
FossFanatic 16746f962f Upload files to 'mods/ITEMS/mcl_cocoas/models' 2022-11-16 13:44:15 +00:00
FossFanatic 00c596c126 Add 'mods/ITEMS/mcl_cocoas/models/emptyfile' 2022-11-16 13:43:40 +00:00
FossFanatic 993d7b6873 Delete 'mods/ITEMS/mcl_cocoas/models' 2022-11-16 13:43:23 +00:00
FossFanatic ceff91e2c3 Add 'mods/ITEMS/mcl_cocoas/models/' 2022-11-16 13:43:11 +00:00
FossFanatic 6bfcd9b1ea Delete 'mods/ITEMS/mcl_cocoas/models/emptyfile' 2022-11-16 13:42:49 +00:00
FossFanatic 6b826b45e1 Add 'mods/ITEMS/mcl_cocoas/models/emptyfile' 2022-11-16 13:42:36 +00:00
FossFanatic 3de1f9e4d6 Delete 'mods/ITEMS/mcl_cocoas/mcl_cocoas_cocoa_stage_2.obj' 2022-11-16 13:39:41 +00:00
FossFanatic 348434adf1 Delete 'mods/ITEMS/mcl_cocoas/mcl_cocoas_cocoa_stage_1.obj' 2022-11-16 13:39:36 +00:00
FossFanatic 6946573e65 Delete 'mods/ITEMS/mcl_cocoas/mcl_cocoas_cocoa_stage_0.obj' 2022-11-16 13:39:32 +00:00
FossFanatic 862d6a9e3e Upload files to 'mods/ITEMS/mcl_cocoas' 2022-11-16 13:39:19 +00:00
FossFanatic 78d45d23c2 change the code 2022-11-16 13:38:44 +00:00
FossFanatic b11d65cc82 Update cocoa textures 2022-11-16 13:35:01 +00:00
FossFanatic f4f57a9fe6 Delete 'mods/ITEMS/mcl_cocoas/textures/mcl_cocoas_cocoa_top_stage_2.png' 2022-11-16 13:33:42 +00:00
AFCMS 96e83e866c
Make `mcl_item_entity` API public 2022-11-15 21:48:58 +01:00
AFCMS 3bb86fd436
Fix warnings + add type annotations
- fix wrong usage of `mcl_enchanting.get_enchantments`
- use new vectors everywhere
- simplify code
- make code lines less long
2022-11-15 21:48:57 +01:00
AFCMS 4acee8e64e
Fixes to `mcl_meshhand`
- fix actual crash when placing hand in world (undefined function)
- remove node fields redundant with default values
- remove support for `use_texture_alpha_string_modes`
- type annotation
- more explicit functions
2022-11-13 21:54:59 +01:00
AFCMS bacec2c7e6
Make 2 last params of `mcl_vars.get_node` optional 2022-10-25 11:01:44 +02:00
AFCMS a3d459f020
Refactor `mcl_init`
- use new vectors
- make code less confuse
- type annotations
2022-10-25 11:01:44 +02:00
3776 changed files with 30807 additions and 9122 deletions

12
.editorconfig Normal file
View File

@ -0,0 +1,12 @@
root = true
[*]
end_of_line = lf
[*.lua]
charset = utf8
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
keep_one_space_between_table_and_bracket = false
spaces_around_operators = true

View File

@ -0,0 +1,36 @@
---
name: "Bug report"
about: "File a bug report"
labels:
- unconfirmed
- bug
---
<!--
Thanks for taking the time to fill out this bug report!
Please follow our contributing guidelines first:
https://git.minetest.land/MineClone2/MineClone2/src/branch/master/CONTRIBUTING.md#rules-about-both-bugs-and-feature-requests
By submitting this issue, you agree to follow our Code of Conduct:
https://git.minetest.land/MineClone2/MineClone2/src/branch/master/CODE_OF_CONDUCT.md
-->
<!--
What version of MineClone2 are you using? We do not provide support for outdated versions of MineClone2.
Current latest version is listed here, at the top:
https://git.minetest.land/MineClone2/MineClone2/tags
-->
MineClone2 version:
### What happened?
Report about the bug! Please send large log snippets as an attachement file.
### What should happen:
Tell us what should happen!
### Steps to reproduce
Tell us how we can reproduce the bug!

View File

@ -0,0 +1,26 @@
---
name: "Feature request"
about: "File a feature request not in Minecraft"
labels:
- "non-Minecraft feature"
- "needs discussion"
---
<!--
Got a new non-Minecraft feature request? Explain to us why we should consider your idea.
Please follow our contributing guidelines first:
https://git.minetest.land/MineClone2/MineClone2/src/branch/master/CONTRIBUTING.md#rules-about-both-bugs-and-feature-requests
By submitting this issue, you agree to follow our Code of Conduct:
https://git.minetest.land/MineClone2/MineClone2/src/branch/master/CODE_OF_CONDUCT.md
-->
### Feature
Tell us about your requested feature not in Minecraft!
### Why
Tell us why should we implement it!

View File

@ -0,0 +1,25 @@
---
name: "Missing Feature request"
about: "File a missing feature request in Minecraft but not in MineClone2"
labels:
- "missing feature"
---
<!--
Thanks for taking the time to fill out this missing feature request!
Please follow our contributing guidelines first:
https://git.minetest.land/MineClone2/MineClone2/src/branch/master/CONTRIBUTING.md#rules-about-both-bugs-and-feature-requests
By submitting this issue, you agree to follow our Code of Conduct:
https://git.minetest.land/MineClone2/MineClone2/src/branch/master/CODE_OF_CONDUCT.md
-->
### Current feature in Minecraft
Tell us about the feature currently in Minecraft! What is it like on Minecraft?
### Current feature in MineClone2
Tell us about the feature currently in MineClone2! What is different?

View File

@ -0,0 +1,20 @@
---
name: "Pull request"
about: "Submit a pull request"
labels:
---
<!--
Please follow our contributing guidelines first:
https://git.minetest.land/MineClone2/MineClone2/src/branch/master/CONTRIBUTING.md#how-you-can-help-as-a-programmer
By submitting this pull request, you agree to follow our Code of Conduct:
https://git.minetest.land/MineClone2/MineClone2/src/branch/master/CODE_OF_CONDUCT.md
-->
Tell us about your pull request! Reference related issues, if necessary
### Testing
Tell us how to test your changes!

1
.gitignore vendored
View File

@ -4,3 +4,4 @@
*.blend2 *.blend2
*.blend3 *.blend3
/.idea/ /.idea/
*.xcf

1
API.md
View File

@ -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` * Beds: `ITEMS/mcl_beds`
* Buckets: `ITEMS/mcl_buckets` * Buckets: `ITEMS/mcl_buckets`
* Dispenser support: `ITEMS/REDSTONE/mcl_dispensers` * Dispenser support: `ITEMS/REDSTONE/mcl_dispensers`
* Campfires: `ITEMS/mcl_campfires`
### Mobs ### Mobs
* Mobs: `ENTITIES/mcl_mobs` * Mobs: `ENTITIES/mcl_mobs`

View File

@ -60,7 +60,7 @@ representative at an online or offline event.
Instances of abusive, harassing, or otherwise unacceptable behavior may be Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at reported to the community leaders responsible for enforcement at
eliasfleckenstein@web.de. ancientmariner_dev@proton.me.
All complaints will be reviewed and investigated promptly and fairly. All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the All community leaders are obligated to respect the privacy and security of the

View File

@ -2,8 +2,8 @@
So you want to contribute to MineClone2? So you want to contribute to MineClone2?
Wow, thank you! :-) Wow, thank you! :-)
MineClone2 is maintained by Nicu and Cora. If you have any MineClone2 is maintained by AncientMariner and Nicu. If you have any
problems or questions, contact us (See Links section below). problems or questions, contact us on Discord/Matrix (See Links section below).
You can help with MineClone2's development in many different ways, You can help with MineClone2's development in many different ways,
whether you're a programmer or not. 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 ### Changing Gameplay
Pull Requests that change gameplay have to be properly researched and 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. before they are merged.
You can use these sources: You can use these sources:
@ -375,7 +375,7 @@ merged.
- Resolving conflicts and problems within the community - Resolving conflicts and problems within the community
#### Current maintainers #### Current maintainers
* Cora - responsible for gameplay review, publishing releases, * AncientMariner - responsible for gameplay review, publishing releases,
technical guidelines technical guidelines
* Nicu - responsible for community related issues * Nicu - responsible for community related issues

View File

@ -8,12 +8,13 @@
## Maintainers ## Maintainers
* AncientMariner
* Nicu * Nicu
* cora
## Previous Maintainers ## Previous Maintainers
* Fleckenstein * Fleckenstein
* jordan4ibanez * jordan4ibanez
* cora
## Developers ## Developers
* bzoss * bzoss
@ -34,6 +35,8 @@
* SumianVoice * SumianVoice
* MrRar * MrRar
* talamh * talamh
* Faerraven / Michieal
* FossFanatic
## Contributors ## Contributors
* Laurent Rocher * Laurent Rocher
@ -89,6 +92,17 @@
* FossFanatic * FossFanatic
* Herbert West * Herbert West
* GuyLiner * GuyLiner
* 3raven
* anarquimico
* TheOnlyJoeEnderman
* Ranko Saotome
* Gregor Parzefall
* Wbjitscool
* b3nderman
* CyberMango
* gldrk
* SmokeyDope
* atomdmac
## MineClone5 ## MineClone5
* kay27 * kay27
@ -140,11 +154,13 @@
* jordan4ibanez * jordan4ibanez
* paramat * paramat
* cora * cora
* Faerraven / Michieal
## 3D Models ## 3D Models
* 22i * 22i
* tobyplowy * tobyplowy
* epCode * epCode
* Faerraven / Michieal
## Textures ## Textures
* XSSheep * XSSheep
@ -158,6 +174,8 @@
* MysticTempest * MysticTempest
* RandomLegoBrick * RandomLegoBrick
* cora * cora
* Faerraven / Michieal
* Nicu
## Translations ## Translations
* Wuzzy * Wuzzy
@ -171,9 +189,13 @@
* Emojigit * Emojigit
* snowyu * snowyu
* 3raven * 3raven
* SakuraRiu
* anarquimico
## Funders ## Funders
* 40W * 40W
* bauknecht
* Cora
## Special thanks ## Special thanks
* celeron55 for creating Minetest * celeron55 for creating Minetest
@ -181,3 +203,4 @@
* wsor for working tirelessly in the shadows for the good of all of us, particularly helping with solving contentDB and copyright issues. * 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 * 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 * 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/

View File

@ -74,6 +74,8 @@ Please read <http://minecraft.gamepedia.com/Breaking> to learn how digging times
* `coral_species=X`: Specifies the species of a coral; equal X means equal species * `coral_species=X`: Specifies the species of a coral; equal X means equal species
* `set_on_fire=X`: Sets any (not fire-resistant) mob or player on fire for X seconds when touching * `set_on_fire=X`: Sets any (not fire-resistant) mob or player on fire for X seconds when touching
* `compostability=X`: Item can be used on a composter block; X (1-100) is the % chance of adding a level of compost * `compostability=X`: Item can be used on a composter block; X (1-100) is the % chance of adding a level of compost
* `leaves=X`: Node will spotaneously decay if no tree trunk nodes remain within 6 blocks distance.
* `leaves_orphan`: See above, these nodes are in the process of decayed.
#### Footnotes #### Footnotes

21
HOW_TO_PLAY.md Normal file
View File

@ -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!

View File

@ -2,8 +2,6 @@
An unofficial Minecraft-like game for Minetest. Forked from MineClone by davedevils. An unofficial Minecraft-like game for Minetest. Forked from MineClone by davedevils.
Developed by many people. Not developed or endorsed by Mojang AB. Developed by many people. Not developed or endorsed by Mojang AB.
Version: 0.81 (in development)
### Gameplay ### Gameplay
You start in a randomly-generated world made entirely of cubes. You can explore 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 the world and dig and build almost every block in the world to create new
@ -158,7 +156,7 @@ The following features are incomplete:
* Some monsters and animals * Some monsters and animals
* Redstone-related things * Redstone-related things
* Special minecarts * Some special minecarts (hopper and chest minecarts work)
* A couple of non-trivial blocks and items * A couple of non-trivial blocks and items
Bonus features (not found in Minecraft): Bonus features (not found in Minecraft):

75
RELEASE.md Normal file
View File

@ -0,0 +1,75 @@
### Standard Release
#File to document release steps with a view to evolving into a script
#Update CREDITS.md
#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 RELEASE.md
git commit -m "Pre-release update credits and set version 0.82.0"
git tag 0.82.0
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

View File

@ -1,2 +1,4 @@
title = MineClone 2 title = MineClone 2
description = A survival sandbox game. Survive, gather, hunt, build, explore, and do much more. description = A survival sandbox game. Survive, gather, hunt, build, explore, and do much more.
disallowed_mapgens = v6
version=0.82.0-SNAPSHOT

BIN
menu/HeaderTemplate.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

BIN
menu/background.1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
menu/background.10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 990 KiB

BIN
menu/background.2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
menu/background.3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
menu/background.4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
menu/background.5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
menu/background.6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
menu/background.7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

BIN
menu/background.8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 865 KiB

BIN
menu/background.9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 916 KiB

BIN
menu/background.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 628 B

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
menu/header.1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
menu/header.2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
menu/header.3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

BIN
menu/theme.ogg Normal file

Binary file not shown.

View File

@ -204,7 +204,7 @@ end
-- Checks if the given node would drop its useful drop if dug by a given tool. -- 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. -- 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] local ndef = minetest.registered_nodes[nodename]
if not ndef then if not ndef then
@ -228,7 +228,9 @@ function mcl_autogroup.can_harvest(nodename, toolname)
end end
-- Check if it can be dug by hand -- 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 if tdef then
for g, gdef in pairs(tdef._mcl_diggroups) do for g, gdef in pairs(tdef._mcl_diggroups) do
if ndef.groups[g] then 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, -- If the damage group and punch interval from hand is not included,
-- then the user will not be able to attack with the tool. -- 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 { return {
full_punch_interval = hand_toolcaps.full_punch_interval, full_punch_interval = hand_toolcaps.full_punch_interval,
damage_groups = hand_toolcaps.damage_groups 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 -- would have to add _mcl_autogroup as a dependency which would break the mod
-- loading order. -- loading order.
function mcl_autogroup.get_groupcaps(toolname, efficiency) 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 {}) local groupcaps = table.copy(get_tool_capabilities(tdef).groupcaps or {})
add_groupcaps(toolname, groupcaps, tdef._mcl_diggroups, efficiency) add_groupcaps(toolname, groupcaps, tdef._mcl_diggroups, efficiency)
return groupcaps return groupcaps
@ -350,7 +352,7 @@ local function overwrite()
end end
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 -- Assign groupcaps for digging the registered digging groups
-- depending on the _mcl_diggroups in the tool definition -- depending on the _mcl_diggroups in the tool definition
if tdef._mcl_diggroups then if tdef._mcl_diggroups then
@ -360,6 +362,12 @@ local function overwrite()
minetest.override_item(tname, { minetest.override_item(tname, {
tool_capabilities = toolcaps tool_capabilities = toolcaps
}) })
else
-- This is needed to deal damage when punching mobs
-- with random items in hand in survival mode
minetest.override_item(tname, {
tool_capabilities = mcl_meshhand.survival_hand_tool_caps
})
end end
end end
end end

View File

@ -1,10 +1,11 @@
# mcl_autogroup # mcl_autogroup
This mod emulate digging times from mc. This mod emulate digging times from mc.
## mcl_autogroup.can_harvest(nodename, toolname) ## mcl_autogroup.can_harvest(nodename, toolname, player)
Return true if <nodename> can be dig with <toolname>. Return true if <nodename> can be dig with <toolname> by <player>.
* nodename: string, valid nodename * nodename: string, valid nodename
* toolname: (optional) string, valid toolname * toolname: (optional) string, valid toolname
* player: (optinal) ObjectRef, valid player
## mcl_autogroup.get_groupcaps(toolname, efficiency) ## mcl_autogroup.get_groupcaps(toolname, efficiency)
This function is used to calculate diggroups for tools. This function is used to calculate diggroups for tools.

View File

@ -155,7 +155,6 @@ end, true)
minetest.register_on_player_hpchange(function(player, hp_change, mt_reason) minetest.register_on_player_hpchange(function(player, hp_change, mt_reason)
if not damage_enabled then return 0 end if not damage_enabled then return 0 end
if player:get_hp() > 0 then if player:get_hp() > 0 then
mt_reason.approved = true
if hp_change < 0 then if hp_change < 0 then
mcl_damage.run_damage_callbacks(player, -hp_change, mcl_damage.from_mt(mt_reason)) mcl_damage.run_damage_callbacks(player, -hp_change, mcl_damage.from_mt(mt_reason))
end end
@ -163,9 +162,7 @@ minetest.register_on_player_hpchange(function(player, hp_change, mt_reason)
end, false) end, false)
minetest.register_on_dieplayer(function(player, mt_reason) 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))
mcl_damage.run_death_callbacks(player, mcl_damage.from_mt(mt_reason))
end
minetest.log("action","Player "..player:get_player_name().." died at "..minetest.pos_to_string(vector.round(player:get_pos()))) minetest.log("action","Player "..player:get_player_name().." died at "..minetest.pos_to_string(vector.round(player:get_pos())))
end) end)

View File

@ -0,0 +1,27 @@
## mcl_events
### Registering Events
`mlc_events.register_event("name",def)`
#### Event Definition
{
stage = 0,
max_stage = 1,
percent = 100,
bars = {},
completed = false,
cond_start = function() end,
--return table of paramtables e.g. { { player = playername, pos = position, ... } }, custom parameters will be passed to the event object/table
on_step = function(event) end,
--this function is run every game step when the event is active
on_start = function(event) end,
-- this function is run when the event starts
on_stage_begin = function(event) end,
-- this function runs when a new stage of the event starts
cond_progress = function(event) end, --return false or next stage id
--this function checks if the event should progress to the next (or any other) stage
cond_complete = function(event) end,
--return true if event finished successfully
}
### Debugging
* /event_start <event> -- starts the given event at the current player coordinates

View File

@ -0,0 +1,155 @@
mcl_events = {}
mcl_events.registered_events = {}
local disabled_events = minetest.settings:get("mcl_disabled_events")
if disabled_events then disabled_events = disabled_events:split(",")
else disabled_events = {} end
local DBG = minetest.settings:get_bool("mcl_logging_event_api",false)
local active_events = {}
local event_tpl = {
stage = 0,
max_stage = 1,
percent = 100,
bars = {},
completed = false,
cond_start = function(event) end, --return table of positions
on_step = function(event) end,
on_start = function(event) end,
on_stage_begin = function(event) end,
cond_progress = function(event) end, --return next stage
cond_complete = function(event) end, --return success
}
local function mcl_log(m,l)
if DBG then
if not l then l = "action" end
minetest.log(l,"[mcl_events] "..m)
end
end
function mcl_events.register_event(name,def)
if table.indexof(disabled_events,name) ~= -1 then return end
mcl_events.registered_events[name] = def
mcl_events.registered_events[name].name = name
end
local function addbars(self)
if not self.enable_bossbar then return end
for _,player in pairs(minetest.get_connected_players()) do
if vector.distance(self.pos,player:get_pos()) < 64 then
local bar = mcl_bossbars.add_bar(player, {color = "red", text = self.readable_name .. ": Wave "..self.stage.." / "..self.max_stage, percentage = self.percent }, true,1)
table.insert(self.bars,bar)
end
end
end
local function start_event(p,e)
mcl_log("[mcl_events] Event started: "..e.readable_name.." at "..minetest.pos_to_string(vector.round(p.pos)))
local idx = #active_events + 1
active_events[idx] = table.copy(e)
setmetatable(active_events[idx],{__index = event_tpl})
for k,v in pairs(p) do active_events[idx][k] = v end
active_events[idx].stage = 0
active_events[idx].percent = 100
active_events[idx].bars = {}
active_events[idx].time_start = os.time()
if active_events[idx].on_start then
active_events[idx]:on_start(p.pos)
end
addbars(active_events[idx])
end
local function finish_event(self,idx)
mcl_log("[mcl_events] Finished: "..self.readable_name.." at "..minetest.pos_to_string(vector.round(self.pos)))
if self.on_complete then self:on_complete() end
for _,b in pairs(self.bars) do
mcl_bossbars.remove_bar(b)
end
table.remove(active_events,idx)
end
local etime = 0
function check_events(dtime)
--process active events
for idx,ae in pairs(active_events) do
if ae.cond_complete and ae:cond_complete() then
ae.finished = true
finish_event(ae,idx)
elseif not ae.cond_complete and ae.max_stage and ae.max_stage <= ae.stage then
ae.finished = true
finish_event(ae,idx)
elseif not ae.finished and ae.cond_progress then
local p = ae:cond_progress()
if p == true then
ae.stage = ae.stage + 1
if ae:on_stage_begin() == true then
mcl_log("[mcl_events] Event "..ae.readable_name.." at "..minetest.pos_to_string(vector.round(ae.pos)).." failed at stage_begin of stage "..ae.stage )
active_events[idx] = nil
end
elseif tonumber(p) then
ae.stage = tonumber(p) or ae.stage + 1
ae:on_stage_begin()
end
elseif not ae.finished and ae.on_step then
ae:on_step(dtime)
end
addbars(ae)
end
-- check if a new event should be started
etime = etime - dtime
if etime > 0 then return end
etime = 10
for _,e in pairs(mcl_events.registered_events) do
local pp = e.cond_start()
if pp then
--minetest.log("It's gonna start the raid maybe")
for _,p in pairs(pp) do
local start = true
if e.exclusive_to_area then
for _,ae in pairs(active_events) do
if e.name == ae.name and vector.distance(p.pos,ae.pos) < e.exclusive_to_area then start = false end
end
end
if start then
--minetest.log("It's gonna start the raid definitely")
start_event(p,e)
elseif DBG then
mcl_log("[mcl_events] Event "..e.readable_name.." already active at "..minetest.pos_to_string(vector.round(p.pos)))
end
end
else
--minetest.log("Do not start this raid")
end
end
for idx,ae in pairs(active_events) do
local player_near = false
for _,pl in pairs(minetest.get_connected_players()) do
if ae.pos and vector.distance(pl:get_pos(),ae.pos) < 64 then player_near = true end
end
if ae.pos and not player_near then
mcl_log("[mcl_events] Event "..ae.readable_name.." at "..minetest.pos_to_string(vector.round(ae.pos)).." aborted - no players near." )
active_events[idx] = nil
end
end
end
minetest.register_globalstep(check_events)
mcl_info.register_debug_field("Active Events",{
level = 4,
func = function(pl,pos)
return tostring(#active_events)
end
})
minetest.register_chatcommand("event_start",{
privs = {debug = true},
description = "Debug command to start events",
func = function(pname,param)
local p = minetest.get_player_by_name(pname)
local evdef = mcl_events.registered_events[param]
if not evdef then return false,"Event "..param.." doesn't exist.'" end
start_event({pos=p:get_pos(),player=pname,factor=1},evdef)
return true,"Started event "..param
end,
})

View File

@ -0,0 +1,3 @@
name = mcl_events
author = cora
depends = mcl_mobs,mcl_bossbars, mcl_info

View File

@ -0,0 +1,2 @@
# textdomain:mcl_explosions
@1 was caught in an explosion.=@1は爆発に巻き込まれた。

View File

@ -3,26 +3,26 @@ mcl_vars = {}
mcl_vars.redstone_tick = 0.1 mcl_vars.redstone_tick = 0.1
--- GUI / inventory menu settings -- GUI / inventory menu settings
mcl_vars.gui_slots = "listcolors[#9990;#FFF7;#FFF0;#000;#FFF]" mcl_vars.gui_slots = "listcolors[#9990;#FFF7;#FFF0;#000;#FFF]"
-- nonbg is added as formspec prepend in mcl_formspec_prepend -- nonbg is added as formspec prepend in mcl_formspec_prepend
mcl_vars.gui_nonbg = mcl_vars.gui_slots .. mcl_vars.gui_nonbg = table.concat({
"style_type[image_button;border=false;bgimg=mcl_inventory_button9.png;bgimg_pressed=mcl_inventory_button9_pressed.png;bgimg_middle=2,2]".. mcl_vars.gui_slots,
"style_type[button;border=false;bgimg=mcl_inventory_button9.png;bgimg_pressed=mcl_inventory_button9_pressed.png;bgimg_middle=2,2]".. "style_type[image_button;border=false;bgimg=mcl_inventory_button9.png;bgimg_pressed=mcl_inventory_button9_pressed.png;bgimg_middle=2,2]",
"style_type[field;textcolor=#323232]".. "style_type[button;border=false;bgimg=mcl_inventory_button9.png;bgimg_pressed=mcl_inventory_button9_pressed.png;bgimg_middle=2,2]",
"style_type[label;textcolor=#323232]".. "style_type[field;textcolor=#323232]",
"style_type[textarea;textcolor=#323232]".. "style_type[label;textcolor=#323232]",
"style_type[checkbox;textcolor=#323232]" "style_type[textarea;textcolor=#323232]",
"style_type[checkbox;textcolor=#323232]",
})
-- Background stuff must be manually added by mods (no formspec prepend) -- Background stuff must be manually added by mods (no formspec prepend)
mcl_vars.gui_bg_color = "bgcolor[#00000000]" mcl_vars.gui_bg_color = "bgcolor[#00000000]"
mcl_vars.gui_bg_img = "background9[1,1;1,1;mcl_base_textures_background9.png;true;7]" mcl_vars.gui_bg_img = "background9[1,1;1,1;mcl_base_textures_background9.png;true;7]"
-- Legacy
mcl_vars.inventory_header = ""
-- Tool wield size -- Tool wield size
mcl_vars.tool_wield_scale = { x = 1.8, y = 1.8, z = 1 } mcl_vars.tool_wield_scale = vector.new(1.8, 1.8, 1)
-- Mapgen variables -- Mapgen variables
local mg_name = minetest.get_mapgen_setting("mg_name") local mg_name = minetest.get_mapgen_setting("mg_name")
@ -35,55 +35,69 @@ mcl_vars.chunksize = math.max(1, tonumber(minetest.get_mapgen_setting("chunksize
mcl_vars.MAP_BLOCKSIZE = math.max(1, minetest.MAP_BLOCKSIZE or 16) mcl_vars.MAP_BLOCKSIZE = math.max(1, minetest.MAP_BLOCKSIZE or 16)
mcl_vars.mapgen_limit = math.max(1, tonumber(minetest.get_mapgen_setting("mapgen_limit")) or 31000) mcl_vars.mapgen_limit = math.max(1, tonumber(minetest.get_mapgen_setting("mapgen_limit")) or 31000)
mcl_vars.MAX_MAP_GENERATION_LIMIT = math.max(1, minetest.MAX_MAP_GENERATION_LIMIT or 31000) mcl_vars.MAX_MAP_GENERATION_LIMIT = math.max(1, minetest.MAX_MAP_GENERATION_LIMIT or 31000)
local central_chunk_offset = -math.floor(mcl_vars.chunksize / 2) local central_chunk_offset = -math.floor(mcl_vars.chunksize / 2)
mcl_vars.central_chunk_offset_in_nodes = central_chunk_offset * mcl_vars.MAP_BLOCKSIZE mcl_vars.central_chunk_offset_in_nodes = central_chunk_offset * mcl_vars.MAP_BLOCKSIZE
mcl_vars.chunk_size_in_nodes = mcl_vars.chunksize * mcl_vars.MAP_BLOCKSIZE mcl_vars.chunk_size_in_nodes = mcl_vars.chunksize * mcl_vars.MAP_BLOCKSIZE
local central_chunk_min_pos = central_chunk_offset * mcl_vars.MAP_BLOCKSIZE local central_chunk_min_pos = central_chunk_offset * mcl_vars.MAP_BLOCKSIZE
local central_chunk_max_pos = central_chunk_min_pos + mcl_vars.chunk_size_in_nodes - 1 local central_chunk_max_pos = central_chunk_min_pos + mcl_vars.chunk_size_in_nodes - 1
local ccfmin = central_chunk_min_pos - mcl_vars.MAP_BLOCKSIZE -- Fullminp/fullmaxp of central chunk, in nodes local ccfmin = central_chunk_min_pos - mcl_vars.MAP_BLOCKSIZE -- Fullminp/fullmaxp of central chunk, in nodes
local ccfmax = central_chunk_max_pos + mcl_vars.MAP_BLOCKSIZE local ccfmax = central_chunk_max_pos + mcl_vars.MAP_BLOCKSIZE
local mapgen_limit_b = math.floor(math.min(mcl_vars.mapgen_limit, mcl_vars.MAX_MAP_GENERATION_LIMIT) / mcl_vars.MAP_BLOCKSIZE) local mapgen_limit_b = math.floor(math.min(mcl_vars.mapgen_limit, mcl_vars.MAX_MAP_GENERATION_LIMIT) /
mcl_vars.MAP_BLOCKSIZE)
local mapgen_limit_min = -mapgen_limit_b * mcl_vars.MAP_BLOCKSIZE local mapgen_limit_min = -mapgen_limit_b * mcl_vars.MAP_BLOCKSIZE
local mapgen_limit_max = (mapgen_limit_b + 1) * mcl_vars.MAP_BLOCKSIZE - 1 local mapgen_limit_max = (mapgen_limit_b + 1) * mcl_vars.MAP_BLOCKSIZE - 1
local numcmin = math.max(math.floor((ccfmin - mapgen_limit_min) / mcl_vars.chunk_size_in_nodes), 0) -- Number of complete chunks from central chunk local numcmin = math.max(math.floor((ccfmin - mapgen_limit_min) / mcl_vars.chunk_size_in_nodes), 0) -- Number of complete chunks from central chunk
local numcmax = math.max(math.floor((mapgen_limit_max - ccfmax) / mcl_vars.chunk_size_in_nodes), 0) -- fullminp/fullmaxp to effective mapgen limits. local numcmax = math.max(math.floor((mapgen_limit_max - ccfmax) / mcl_vars.chunk_size_in_nodes), 0) -- fullminp/fullmaxp to effective mapgen limits.
mcl_vars.mapgen_edge_min = central_chunk_min_pos - numcmin * mcl_vars.chunk_size_in_nodes mcl_vars.mapgen_edge_min = central_chunk_min_pos - numcmin * mcl_vars.chunk_size_in_nodes
mcl_vars.mapgen_edge_max = central_chunk_max_pos + numcmax * mcl_vars.chunk_size_in_nodes mcl_vars.mapgen_edge_max = central_chunk_max_pos + numcmax * mcl_vars.chunk_size_in_nodes
---@param x integer
---@return integer
local function coordinate_to_block(x) local function coordinate_to_block(x)
return math.floor(x / mcl_vars.MAP_BLOCKSIZE) return math.floor(x / mcl_vars.MAP_BLOCKSIZE)
end end
---@param x integer
---@return integer
local function coordinate_to_chunk(x) local function coordinate_to_chunk(x)
return math.floor((coordinate_to_block(x) - central_chunk_offset) / mcl_vars.chunksize) return math.floor((coordinate_to_block(x) - central_chunk_offset) / mcl_vars.chunksize)
end end
---@param pos Vector
---@return Vector
function mcl_vars.pos_to_block(pos) function mcl_vars.pos_to_block(pos)
return { return vector.new(
x = coordinate_to_block(pos.x), coordinate_to_block(pos.x),
y = coordinate_to_block(pos.y), coordinate_to_block(pos.y),
z = coordinate_to_block(pos.z) coordinate_to_block(pos.z)
} )
end end
---@param pos Vector
---@return Vector
function mcl_vars.pos_to_chunk(pos) function mcl_vars.pos_to_chunk(pos)
return { return vector.new(
x = coordinate_to_chunk(pos.x), coordinate_to_chunk(pos.x),
y = coordinate_to_chunk(pos.y), coordinate_to_chunk(pos.y),
z = coordinate_to_chunk(pos.z) coordinate_to_chunk(pos.z)
} )
end end
local k_positive = math.ceil(mcl_vars.MAX_MAP_GENERATION_LIMIT / mcl_vars.chunk_size_in_nodes) local k_positive = math.ceil(mcl_vars.MAX_MAP_GENERATION_LIMIT / mcl_vars.chunk_size_in_nodes)
local k_positive_z = k_positive * 2 local k_positive_z = k_positive * 2
local k_positive_y = k_positive_z * k_positive_z local k_positive_y = k_positive_z * k_positive_z
---@param pos Vector
---@return integer
function mcl_vars.get_chunk_number(pos) -- unsigned int function mcl_vars.get_chunk_number(pos) -- unsigned int
local c = mcl_vars.pos_to_chunk(pos) local c = mcl_vars.pos_to_chunk(pos)
return return (c.y + k_positive) * k_positive_y +
(c.y + k_positive) * k_positive_y +
(c.z + k_positive) * k_positive_z + (c.z + k_positive) * k_positive_z +
c.x + k_positive c.x + k_positive
end end
if not superflat and not singlenode then if not superflat and not singlenode then
@ -117,11 +131,8 @@ elseif singlenode then
mcl_vars.mg_bedrock_is_rough = false mcl_vars.mg_bedrock_is_rough = false
else else
-- Classic superflat -- Classic superflat
local ground = minetest.get_mapgen_setting("mgflat_ground_level") local ground = tonumber(minetest.get_mapgen_setting("mgflat_ground_level")) or 8
ground = tonumber(ground)
if not ground then
ground = 8
end
mcl_vars.mg_overworld_min = ground - 3 mcl_vars.mg_overworld_min = ground - 3
mcl_vars.mg_overworld_max_official = mcl_vars.mg_overworld_min + minecraft_height_limit mcl_vars.mg_overworld_max_official = mcl_vars.mg_overworld_min + minecraft_height_limit
mcl_vars.mg_bedrock_overworld_min = mcl_vars.mg_overworld_min mcl_vars.mg_bedrock_overworld_min = mcl_vars.mg_overworld_min
@ -181,14 +192,16 @@ minetest.craftitemdef_default.stack_max = 64
math.randomseed(os.time()) math.randomseed(os.time())
local chunks = {} -- intervals of chunks generated local chunks = {} -- intervals of chunks generated
---@param pos Vector
function mcl_vars.add_chunk(pos) function mcl_vars.add_chunk(pos)
local n = mcl_vars.get_chunk_number(pos) -- unsigned int local n = mcl_vars.get_chunk_number(pos) -- unsigned int
local prev local prev
for i, d in pairs(chunks) do for i, d in pairs(chunks) do
if n <= d[2] then -- we've found it if n <= d[2] then -- we've found it
if (n == d[2]) or (n >= d[1]) then return end -- already here if (n == d[2]) or (n >= d[1]) then return end -- already here
if n == d[1]-1 then -- right before: if n == d[1] - 1 then -- right before:
if prev and (prev[2] == n-1) then if prev and (prev[2] == n - 1) then
prev[2] = d[2] prev[2] = d[2]
table.remove(chunks, i) table.remove(chunks, i)
return return
@ -196,17 +209,20 @@ function mcl_vars.add_chunk(pos)
d[1] = n d[1] = n
return return
end end
if prev and (prev[2] == n-1) then --join to previous if prev and (prev[2] == n - 1) then --join to previous
prev[2] = n prev[2] = n
return return
end end
table.insert(chunks, i, {n, n}) -- insert new interval before i table.insert(chunks, i, { n, n }) -- insert new interval before i
return return
end end
prev = d prev = d
end end
chunks[#chunks+1] = {n, n} chunks[#chunks + 1] = { n, n }
end end
---@param pos Vector
---@return boolean
function mcl_vars.is_generated(pos) function mcl_vars.is_generated(pos)
local n = mcl_vars.get_chunk_number(pos) -- unsigned int local n = mcl_vars.get_chunk_number(pos) -- unsigned int
for i, d in pairs(chunks) do for i, d in pairs(chunks) do
@ -217,47 +233,46 @@ function mcl_vars.is_generated(pos)
return false return false
end end
-- "Trivial" (actually NOT) function to just read the node and some stuff to not just return "ignore", like mt 5.4 does. ---"Trivial" (actually NOT) function to just read the node and some stuff to not just return "ignore", like mt 5.4 does.
-- p: Position, if it's wrong, {name="error"} node will return. ---@param pos Vector Position, if it's wrong, `{name="error"}` node will return.
-- force: optional (default: false) - Do the maximum to still read the node within us_timeout. ---@param force? boolean Optional (default: `false`), Do the maximum to still read the node within us_timeout.
-- us_timeout: optional (default: 244 = 0.000244 s = 1/80/80/80), set it at least to 3000000 to let mapgen to finish its job. ---@param us_timeout? number Optional (default: `244 = 0.000244 s = 1/80/80/80`), set it at least to `3000000` to let mapgen to finish its job
-- ---@return node # Node definition, eg. `{name="air"}`. Unfortunately still can return `{name="ignore"}`.
-- returns node definition, eg. {name="air"}. Unfortunately still can return {name="ignore"}. ---@nodiscard
function mcl_vars.get_node(p, force, us_timeout) function mcl_vars.get_node(pos, force, us_timeout)
-- check initial circumstances -- check initial circumstances
if not p or not p.x or not p.y or not p.z then return {name="error"} end if not pos or not pos.x or not pos.y or not pos.z then return { name = "error" } end
-- try common way -- try common way
local node = minetest.get_node(p) local node = minetest.get_node(pos)
if node.name ~= "ignore" then if node.name ~= "ignore" then
return node return node
end end
-- copy table to get sure it won't changed by other threads -- copy vector to get sure it won't changed by other threads
local pos = {x=p.x,y=p.y,z=p.z} local pos_copy = vector.copy(pos)
-- try LVM -- try LVM
minetest.get_voxel_manip():read_from_map(pos, pos) minetest.get_voxel_manip():read_from_map(pos_copy, pos_copy)
node = minetest.get_node(pos) node = minetest.get_node(pos_copy)
if node.name ~= "ignore" or not force then if node.name ~= "ignore" or not force then
return node return node
end end
-- all ways failed - need to emerge (or forceload if generated) -- all ways failed - need to emerge (or forceload if generated)
local us_timeout = us_timeout or 244 if mcl_vars.is_generated(pos_copy) then
if mcl_vars.is_generated(pos) then
minetest.chat_send_all("IMPOSSIBLE! Please report this to MCL2 issue tracker!") minetest.chat_send_all("IMPOSSIBLE! Please report this to MCL2 issue tracker!")
minetest.forceload_block(pos) minetest.forceload_block(pos_copy)
else else
minetest.emerge_area(pos, pos) minetest.emerge_area(pos_copy, pos_copy)
end end
local t = minetest.get_us_time() local t = minetest.get_us_time()
node = minetest.get_node(pos) node = minetest.get_node(pos_copy)
while (not node or node.name == "ignore") and (minetest.get_us_time() - t < us_timeout) do while (not node or node.name == "ignore") and (minetest.get_us_time() - t < (us_timeout or 244)) do
node = minetest.get_node(pos) node = minetest.get_node(pos_copy)
end end
return node return node

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -11,42 +11,22 @@ Creative Commons Attribution 3.0 Unported (CC BY-SA 3.0)
http://creativecommons.org/licenses/by/3.0/ http://creativecommons.org/licenses/by/3.0/
Glass breaking sounds (CC BY 3.0): Glass breaking sounds (CC BY 3.0):
1: http://www.freesound.org/people/cmusounddesign/sounds/71947/ 1: http://www.freesound.org/people/cmusounddesign/sounds/71947/
2: http://www.freesound.org/people/Tomlija/sounds/97669/ 2: http://www.freesound.org/people/Tomlija/sounds/97669/
3: http://www.freesound.org/people/lsprice/sounds/88808/ 3: http://www.freesound.org/people/lsprice/sounds/88808/
default_tool_breaks.ogg by EdgardEdition (CC BY 3.0), http://www.freesound.org/people/EdgardEdition default_tool_breaks.ogg by EdgardEdition (CC BY 3.0), http://www.freesound.org/people/EdgardEdition
Mito551 (sounds) (CC BY-SA 3.0): Mito551 (sounds) (CC BY-SA 3.0):
default_dig_choppy.ogg default_dig_crumbly.ogg
default_dig_cracky.ogg
default_dig_crumbly.1.ogg
default_dig_crumbly.2.ogg
default_dig_oddly_breakable_by_hand.ogg default_dig_oddly_breakable_by_hand.ogg
default_dug_node.1.ogg default_dug_node.*.ogg
default_dug_node.2.ogg default_grass_footstep.*.ogg
default_grass_footstep.1.ogg default_gravel_footstep.*.ogg
default_grass_footstep.2.ogg default_place_node.*.ogg
default_grass_footstep.3.ogg default_place_node_hard.*.ogg
default_gravel_footstep.1.ogg default_wood_footstep.*.ogg
default_gravel_footstep.2.ogg default_dirt_footstep.*.ogg
default_gravel_footstep.3.ogg
default_gravel_footstep.4.ogg
default_grass_footstep.1.ogg
default_place_node.1.ogg
default_place_node.2.ogg
default_place_node.3.ogg
default_place_node_hard.1.ogg
default_place_node_hard.2.ogg
default_hard_footstep.1.ogg
default_hard_footstep.2.ogg
default_hard_footstep.3.ogg
default_sand_footstep.1.ogg
default_sand_footstep.2.ogg
default_wood_footstep.1.ogg
default_wood_footstep.2.ogg
default_dirt_footstep.1.ogg
default_dirt_footstep.2.ogg
default_glass_footstep.ogg default_glass_footstep.ogg
Metal sounds: Metal sounds:
@ -54,35 +34,64 @@ Metal sounds:
- https://www.freesound.org/people/yadronoff/sounds/320397/ - https://www.freesound.org/people/yadronoff/sounds/320397/
default_dug_metal.*.ogg - Iwan Gabovitch - qubodup - CC0 default_dug_metal.*.ogg - Iwan Gabovitch - qubodup - CC0
- http://opengameart.org/users/qubodup - http://opengameart.org/users/qubodup
default_metal_footstep.*.ogg - Ottomaani138 - CC0 default_metal_footstep.*.ogg - (CC0 1.0) - CC0 1.0
- https://www.freesound.org/people/Ottomaani138/sounds/232692/ - https://freesound.org/people/mypantsfelldown/sounds/398937/
default_place_node_metal.*.ogg - Ogrebane - CC0 default_place_node_metal.*.ogg - Ogrebane - CC0
- http://opengameart.org/content/wood-and-metal-sound-effects-volume-2 - http://opengameart.org/content/wood-and-metal-sound-effects-volume-2
AGFX (CC BY 3.0) AGFX (CC BY 3.0):
https://www.freesound.org/people/AGFX/packs/1253/ https://www.freesound.org/people/AGFX/packs/1253/
default_water_footstep.1.ogg default_water_footstep.*.ogg
default_water_footstep.2.ogg
default_water_footstep.3.ogg
(default_water_footstep.4.ogg is silent)
blukotek (CC0 1.0) blukotek (CC0 1.0):
https://www.freesound.org/people/blukotek/sounds/251660/ https://www.freesound.org/people/blukotek/sounds/251660/
default_dig_snappy.ogg default_dig_snappy.ogg
sonictechtonic (CC BY 3.0) sonictechtonic (CC BY 3.0):
https://www.freesound.org/people/sonictechtonic/sounds/241872/ https://www.freesound.org/people/sonictechtonic/sounds/241872/
player_damage.ogg player_damage.ogg
Voxelands project <http://www.voxelands.com/> (CC BY-SA 3.0) Sheyvan (CC0 1.0):
https://freesound.org/people/Sheyvan/sounds/476113/
default_dig_choppy.*.ogg
lolamadeus (CC0 1.0):
https://freesound.org/people/lolamadeus/sounds/179341/
default_gravel_dig.*.ogg
default_gravel_dug.*.ogg
Benboncan (CC BY 3.0):
https://freesound.org/people/Benboncan/sounds/71823/
default_dig_cracky.*.ogg
Erdie (CC BY 3.0):
https://freesound.org/people/Erdie/sounds/41579/
default_hard_footstep.*.ogg
worthahep88 (CC0 1.0):
https://freesound.org/people/worthahep88/sounds/319224/
default_sand_footstep.*.ogg
dheming (CC BY 3.0):
https://freesound.org/people/dheming/sounds/268023/
default_ice_dig.*.ogg
InspectorJ (CC BY 3.0):
https://freesound.org/people/InspectorJ/sounds/416967/
default_ice_footstep.*.ogg
Angel_Perez_Grandi (CC BY 3.0):
https://freesound.org/people/Angel_Perez_Grandi/sounds/49190/
default_ice_dug.ogg
Voxelands project <http://www.voxelands.com/> (CC BY-SA 3.0):
mcl_sounds_place_node_water.ogg mcl_sounds_place_node_water.ogg
mcl_sounds_dug_water.ogg mcl_sounds_dug_water.ogg
(Note: Artists from the Voxelands project include: sdzen, darkrose, sapier, (Note: Artists from the Voxelands project include: sdzen, darkrose, sapier,
Tom Peter, Telaron, juskiddink) Tom Peter, Telaron, juskiddink)
Michel Baradari <https://opengameart.org/content/lava-splash> (CC BY 3.0) Michel Baradari <https://opengameart.org/content/lava-splash> (CC BY 3.0):
default_place_node_lava.ogg default_place_node_lava.ogg
Adam_N (CC0 1.0): Adam_N (CC0 1.0):
@ -90,7 +99,7 @@ Adam_N (CC0 1.0):
Source: <https://www.freesound.org/people/Adam_N/sounds/346692/> Source: <https://www.freesound.org/people/Adam_N/sounds/346692/>
Alecia Shepherd (CC BY-SA 4.0): Alecia Shepherd (CC BY-SA 4.0):
mcl_sounds_cloth.ogg mcl_sounds_cloth.*.ogg
Source: SnowSong sound and music pack <https://opengameart.org/content/snowsong-sound-and-music-pack> Source: SnowSong sound and music pack <https://opengameart.org/content/snowsong-sound-and-music-pack>
Unknown authors (WTFPL): Unknown authors (WTFPL):

View File

@ -11,7 +11,7 @@ function mcl_sounds.node_sound_defaults(table)
table.dug = table.dug or table.dug = table.dug or
{name="default_dug_node", gain=0.25} {name="default_dug_node", gain=0.25}
table.dig = table.dig or table.dig = table.dig or
{name="default_dig_oddly_breakable_by_hand", gain=1.0} {name="default_dig_oddly_breakable_by_hand", gain=0.5}
table.place = table.place or table.place = table.place or
{name="default_place_node_hard", gain=1.0} {name="default_place_node_hard", gain=1.0}
return table return table
@ -20,11 +20,11 @@ end
function mcl_sounds.node_sound_stone_defaults(table) function mcl_sounds.node_sound_stone_defaults(table)
table = table or {} table = table or {}
table.footstep = table.footstep or table.footstep = table.footstep or
{name="default_hard_footstep", gain=0.5} {name="default_hard_footstep", gain=0.2}
table.dug = table.dug or table.dug = table.dug or
{name="default_hard_footstep", gain=1.0} {name="default_hard_footstep", gain=1.0}
table.dig = table.dig or table.dig = table.dig or
{name="default_dig_cracky", gain=1.0} {name="default_dig_cracky", gain=0.5}
mcl_sounds.node_sound_defaults(table) mcl_sounds.node_sound_defaults(table)
return table return table
end end
@ -32,13 +32,13 @@ end
function mcl_sounds.node_sound_metal_defaults(table) function mcl_sounds.node_sound_metal_defaults(table)
table = table or {} table = table or {}
table.footstep = table.footstep or table.footstep = table.footstep or
{name="default_metal_footstep", gain=0.5} {name="default_metal_footstep", gain=0.2}
table.dug = table.dug or table.dug = table.dug or
{name="default_dug_metal", gain=1.0} {name="default_dug_metal", gain=0.5}
table.dig = table.dig or table.dig = table.dig or
{name="default_dig_metal", gain=1.0} {name="default_dig_metal", gain=0.5}
table.place = table.place or table.place = table.place or
{name="default_place_node_metal", gain=1.0} {name="default_place_node_metal", gain=0.5}
mcl_sounds.node_sound_defaults(table) mcl_sounds.node_sound_defaults(table)
return table return table
end end
@ -46,11 +46,11 @@ end
function mcl_sounds.node_sound_dirt_defaults(table) function mcl_sounds.node_sound_dirt_defaults(table)
table = table or {} table = table or {}
table.footstep = table.footstep or table.footstep = table.footstep or
{name="default_dirt_footstep", gain=1.0} {name="default_dirt_footstep", gain=0.25}
table.dug = table.dug or table.dug = table.dug or
{name="default_dirt_footstep", gain=1.5} {name="default_dirt_footstep", gain=1.0}
table.dig = table.dig or table.dig = table.dig or
{name="default_dig_crumbly", gain=1.0} {name="default_dig_crumbly", gain=0.4}
table.place = table.place or table.place = table.place or
{name="default_place_node", gain=1.0} {name="default_place_node", gain=1.0}
mcl_sounds.node_sound_defaults(table) mcl_sounds.node_sound_defaults(table)
@ -60,11 +60,25 @@ end
function mcl_sounds.node_sound_sand_defaults(table) function mcl_sounds.node_sound_sand_defaults(table)
table = table or {} table = table or {}
table.footstep = table.footstep or table.footstep = table.footstep or
{name="default_sand_footstep", gain=0.5} {name="default_sand_footstep", gain=0.05}
table.dug = table.dug or table.dug = table.dug or
{name="default_sand_footstep", gain=1.0} {name="default_sand_footstep", gain=0.15}
table.dig = table.dig or table.dig = table.dig or
{name="default_dig_crumbly", gain=1.0} {name="default_dig_crumbly", gain=0.4}
table.place = table.place or
{name="default_place_node", gain=1.0}
mcl_sounds.node_sound_defaults(table)
return table
end
function mcl_sounds.node_sound_gravel_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name="default_gravel_footstep", gain=0.25}
table.dug = table.dug or
{name="default_gravel_dug", gain=1.0}
table.dig = table.dig or
{name="default_gravel_dig", gain=0.35}
table.place = table.place or table.place = table.place or
{name="default_place_node", gain=1.0} {name="default_place_node", gain=1.0}
mcl_sounds.node_sound_defaults(table) mcl_sounds.node_sound_defaults(table)
@ -78,21 +92,33 @@ function mcl_sounds.node_sound_snow_defaults(table)
table.dug = table.dug or table.dug = table.dug or
{name="pedology_snow_soft_footstep", gain=1.0} {name="pedology_snow_soft_footstep", gain=1.0}
table.dig = table.dig or table.dig = table.dig or
{name="default_dig_crumbly", gain=1.0} {name="pedology_snow_soft_footstep", gain=1.0}
table.place = table.place or table.place = table.place or
{name="default_place_node", gain=1.0} {name="default_place_node", gain=1.0}
mcl_sounds.node_sound_defaults(table) mcl_sounds.node_sound_defaults(table)
return table return table
end end
function mcl_sounds.node_sound_ice_defaults(table)
table = table or {}
table.footstep = table.footstep or
{name="default_ice_footstep", gain=0.15}
table.dug = table.dug or
{name="default_ice_dug", gain=0.5}
table.dig = table.dig or
{name="default_ice_dig", gain=0.5}
mcl_sounds.node_sound_defaults(table)
return table
end
function mcl_sounds.node_sound_wood_defaults(table) function mcl_sounds.node_sound_wood_defaults(table)
table = table or {} table = table or {}
table.footstep = table.footstep or table.footstep = table.footstep or
{name="default_wood_footstep", gain=0.5} {name="default_wood_footstep", gain=0.15}
table.dug = table.dug or table.dug = table.dug or
{name="default_wood_footstep", gain=1.0} {name="default_wood_footstep", gain=1.0}
table.dig = table.dig or table.dig = table.dig or
{name="default_dig_choppy", gain=1.0} {name="default_dig_choppy", gain=0.4}
mcl_sounds.node_sound_defaults(table) mcl_sounds.node_sound_defaults(table)
return table return table
end end
@ -128,11 +154,11 @@ end
function mcl_sounds.node_sound_glass_defaults(table) function mcl_sounds.node_sound_glass_defaults(table)
table = table or {} table = table or {}
table.footstep = table.footstep or table.footstep = table.footstep or
{name="default_glass_footstep", gain=0.5} {name="default_glass_footstep", gain=0.3}
table.dug = table.dug or table.dug = table.dug or
{name="default_break_glass", gain=1.0} {name="default_break_glass", gain=1.0}
table.dig = table.dig or table.dig = table.dig or
{name="default_dig_cracky", gain=1.0} {name="default_dig_cracky", gain=0.5}
mcl_sounds.node_sound_defaults(table) mcl_sounds.node_sound_defaults(table)
return table return table
end end

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -2,8 +2,8 @@ mcl_util = {}
-- Updates all values in t using values from to*. -- Updates all values in t using values from to*.
function table.update(t, ...) function table.update(t, ...)
for _, to in ipairs{...} do for _, to in ipairs {...} do
for k,v in pairs(to) do for k, v in pairs(to) do
t[k] = v t[k] = v
end end
end end
@ -12,8 +12,8 @@ end
-- Updates nil values in t using values from to*. -- Updates nil values in t using values from to*.
function table.update_nil(t, ...) function table.update_nil(t, ...)
for _, to in ipairs{...} do for _, to in ipairs {...} do
for k,v in pairs(to) do for k, v in pairs(to) do
if t[k] == nil then if t[k] == nil then
t[k] = v t[k] = v
end end
@ -22,9 +22,9 @@ function table.update_nil(t, ...)
return t return t
end 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]" 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 local selected_module = LOG_MODULE
if module then if module then
selected_module = module selected_module = module
@ -34,7 +34,6 @@ function mcl_util.mcl_log (message, module, bypass_default_logger)
end end
end end
function mcl_util.file_exists(name) function mcl_util.file_exists(name)
if type(name) ~= "string" then return end if type(name) ~= "string" then return end
local f = io.open(name) 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] local undef = minetest.registered_nodes[unode.name]
if undef and undef.on_rightclick then if undef and undef.on_rightclick then
undef.on_rightclick(pointed_thing.under, unode, placer, undef.on_rightclick(pointed_thing.under, unode, placer,
itemstack, pointed_thing) itemstack, pointed_thing)
return return
end end
local fdir = minetest.dir_to_facedir(placer:get_look_dir()) 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) function mcl_util.get_double_container_neighbor_pos(pos, param2, side)
if side == "right" then if side == "right" then
if param2 == 0 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 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 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 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
else else
if param2 == 0 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 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 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 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 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) 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 size = src_inventory:get_size(src_list)
local stack local stack
for i=1, size do for i = 1, size do
stack = src_inventory:get_stack(src_list, i) 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 if not stack:is_empty() and (condition == nil or condition(stack, src_inventory, src_list, dst_inventory, dst_list)) then
return i return i
@ -288,10 +287,10 @@ function mcl_util.move_item_container(source_pos, destination_pos, source_list,
-- Main inventory for most container types -- Main inventory for most container types
if sctype == 2 or sctype == 3 or sctype == 5 or sctype == 6 or sctype == 7 then if sctype == 2 or sctype == 3 or sctype == 5 or sctype == 6 or sctype == 7 then
source_list = "main" source_list = "main"
-- Furnace: output -- Furnace: output
elseif sctype == 4 then elseif sctype == 4 then
source_list = "dst" source_list = "dst"
-- Unknown source container type. Bail out -- Unknown source container type. Bail out
else else
return false return false
end end
@ -344,7 +343,7 @@ function mcl_util.move_item_container(source_pos, destination_pos, source_list,
-- Main inventory for most container types -- Main inventory for most container types
if dctype == 2 or dctype == 3 or dctype == 5 or dctype == 6 or dctype == 7 then if dctype == 2 or dctype == 3 or dctype == 5 or dctype == 6 or dctype == 7 then
destination_list = "main" destination_list = "main"
-- Furnace source slot -- Furnace source slot
elseif dctype == 4 then elseif dctype == 4 then
destination_list = "src" destination_list = "src"
end end
@ -409,7 +408,7 @@ end
-- Returns true if item (itemstring or ItemStack) can be used as a furnace fuel. -- Returns true if item (itemstring or ItemStack) can be used as a furnace fuel.
-- Returns false otherwise -- Returns false otherwise
function mcl_util.is_fuel(item) 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 end
-- Returns a on_place function for plants -- Returns a on_place function for plants
@ -456,7 +455,7 @@ function mcl_util.generate_on_place_plant_function(condition)
if success then if success then
if idef.sounds and idef.sounds.place 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
end end
itemstack = new_itemstack itemstack = new_itemstack
@ -557,6 +556,11 @@ function mcl_util.deal_damage(target, damage, mcl_reason)
end end
end end
local is_immortal = target:get_armor_groups().immortal or 0
if is_immortal>0 then
return
end
local hp = target:get_hp() local hp = target:get_hp()
if hp > 0 then if hp > 0 then
@ -643,78 +647,80 @@ end
local function roundN(n, d) local function roundN(n, d)
if type(n) ~= "number" then return n end if type(n) ~= "number" then return n end
local m = 10^d local m = 10 ^ d
return math.floor(n * m + 0.5) / m return math.floor(n * m + 0.5) / m
end end
local function close_enough(a,b) local function close_enough(a, b)
local rt=true local rt = true
if type(a) == "table" and type(b) == "table" then if type(a) == "table" and type(b) == "table" then
for k,v in pairs(a) do for k, v in pairs(a) do
if roundN(v,2) ~= roundN(b[k],2) then if roundN(v, 2) ~= roundN(b[k], 2) then
rt=false rt = false
break break
end end
end end
else else
rt = roundN(a,2) == roundN(b,2) rt = roundN(a, 2) == roundN(b, 2)
end end
return rt return rt
end end
local function props_changed(props,oldprops) local function props_changed(props, oldprops)
local changed=false local changed = false
local p={} local p = {}
for k,v in pairs(props) do for k, v in pairs(props) do
if not close_enough(v,oldprops[k]) then if not close_enough(v, oldprops[k]) then
p[k]=v p[k] = v
changed=true changed = true
end end
end end
return changed,p return changed, p
end end
--tests for roundN --tests for roundN
local test_round1=15 local test_round1 = 15
local test_round2=15.00199999999 local test_round2 = 15.00199999999
local test_round3=15.00111111 local test_round3 = 15.00111111
local test_round4=15.00999999 local test_round4 = 15.00999999
assert(roundN(test_round1,2)==roundN(test_round1,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_round2, 2))
assert(roundN(test_round1,2)==roundN(test_round3,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_round4, 2))
-- tests for close_enough -- tests for close_enough
local test_cb = {-0.35,0,-0.35,0.35,0.8,0.35} --collisionboxes 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_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_diff = {-0.35, 0, -1.35, 0.35, 0.8, 0.35}
local test_eh = 1.65 --eye height local test_eh = 1.65 --eye height
local test_eh_close = 1.65123123 local test_eh_close = 1.65123123
local test_eh_diff = 1.35 local test_eh_diff = 1.35
local test_nt = { r = 225, b = 225, a = 225, g = 225 } --nametag 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_diff = {r = 225, b = 225, a = 0, g = 225}
assert(close_enough(test_cb,test_cb_close)) assert(close_enough(test_cb, test_cb_close))
assert(not close_enough(test_cb,test_cb_diff)) assert(not close_enough(test_cb, test_cb_diff))
assert(close_enough(test_eh,test_eh_close)) assert(close_enough(test_eh, test_eh_close))
assert(not close_enough(test_eh,test_eh_diff)) assert(not close_enough(test_eh, test_eh_diff))
assert(not close_enough(test_nt,test_nt_diff)) --no floats involved here assert(not close_enough(test_nt, test_nt_diff)) --no floats involved here
--tests for properties_changed --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_set1 = {collisionbox = {-0.35, 0, -0.35, 0.35, 0.8, 0.35}, eye_height = 0.65,
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 }} 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_p1, _ = props_changed(test_properties_set1, test_properties_set1)
local test_p2,_=props_changed(test_properties_set1,test_properties_set2) local test_p2, _ = props_changed(test_properties_set1, test_properties_set2)
assert(not test_p1) assert(not test_p1)
assert(test_p2) assert(test_p2)
function mcl_util.set_properties(obj,props) function mcl_util.set_properties(obj, props)
local changed,p=props_changed(props,obj:get_properties()) local changed, p = props_changed(props, obj:get_properties())
if changed then if changed then
obj:set_properties(p) obj:set_properties(p)
end end
@ -728,3 +734,302 @@ function mcl_util.set_bone_position(obj, bone, pos, rot)
obj:set_bone_position(bone, pos or current_pos, rot or current_rot) obj:set_bone_position(bone, pos or current_pos, rot or current_rot)
end end
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

View File

@ -0,0 +1,13 @@
# textdomain: mcl_boats
Acacia Boat=アカシアのボート
Birch Boat=シラカバのボート
Boat=ボート
Boats are used to travel on the surface of water.=ボートは、水面を移動するために使われます。
Dark Oak Boat=ダークオークのボート
Jungle Boat=ジャングルのボート
Oak Boat=オークのボート
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.=水源を右クリックすると、ボートが配置されます。ボートを右クリックすると、乗り込みます。[左][右]で舵取り、[前]で加速、[後]で減速または後退します。[スニーク]でボートから離れ、ボートをパンチするとアイテムとしてドロップします。
Spruce Boat=トウヒのボート
Water vehicle=水上用の乗物
Sneak to dismount=スニークで降りる
Obsidian Boat=黒曜石のボート

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 B

View File

@ -7,31 +7,24 @@ local pool = {}
local tick = false local tick = false
local LOGGING_ON = minetest.settings:get_bool("mcl_logging_item_entities",false) local LOGGING_ON = minetest.settings:get_bool("mcl_logging_item_entities", false)
local function mcl_log (message) local function mcl_log(message)
if LOGGING_ON then if LOGGING_ON then
mcl_util.mcl_log (message, "[Item Entities]", true) mcl_util.mcl_log(message, "[Item Entities]", true)
end end
end end
minetest.register_on_joinplayer(function(player) minetest.register_on_joinplayer(function(player)
local name pool[player:get_player_name()] = 0
name = player:get_player_name()
pool[name] = 0
end) end)
minetest.register_on_leaveplayer(function(player) minetest.register_on_leaveplayer(function(player)
local name pool[player:get_player_name()] = nil
name = player:get_player_name()
pool[name] = nil
end) end)
local has_awards = minetest.get_modpath("awards") local has_awards = minetest.get_modpath("awards")
local mcl_item_entity = {} mcl_item_entity = {}
--basic settings --basic settings
local item_drop_settings = {} --settings table local item_drop_settings = {} --settings table
@ -46,22 +39,29 @@ item_drop_settings.random_item_velocity = true --this sets random item velocity
item_drop_settings.drop_single_item = false --if true, the drop control drops 1 item instead of the entire stack, and sneak+drop drops the stack item_drop_settings.drop_single_item = false --if true, the drop control drops 1 item instead of the entire stack, and sneak+drop drops the stack
-- drop_single_item is disabled by default because it is annoying to throw away items from the intentory screen -- drop_single_item is disabled by default because it is annoying to throw away items from the intentory screen
item_drop_settings.magnet_time = 0.75 -- how many seconds an item follows the player before giving up item_drop_settings.magnet_time = 0.75 -- how many seconds an item follows the player before giving up
local function get_gravity() local function get_gravity()
return tonumber(minetest.settings:get("movement_gravity")) or 9.81 return tonumber(minetest.settings:get("movement_gravity")) or 9.81
end end
local registered_pickup_achievement = {} mcl_item_entity.registered_pickup_achievement = {}
--TODO: remove limitation of 1 award per itemname ---Register an achievement that will be unlocked on pickup.
---
---TODO: remove limitation of 1 award per itemname
---@param itemname string
---@param award string
function mcl_item_entity.register_pickup_achievement(itemname, award) function mcl_item_entity.register_pickup_achievement(itemname, award)
if not has_awards then if not has_awards then
minetest.log("warning", "[mcl_item_entity] Trying to register pickup achievement ["..award.."] for ["..itemname.."] while awards missing") minetest.log("warning",
elseif registered_pickup_achievement[itemname] then "[mcl_item_entity] Trying to register pickup achievement [" .. award .. "] for [" ..
minetest.log("error", "[mcl_item_entity] Trying to register already existing pickup achievement ["..award.."] for ["..itemname.."]") itemname .. "] while awards missing")
elseif mcl_item_entity.registered_pickup_achievement[itemname] then
minetest.log("error",
"[mcl_item_entity] Trying to register already existing pickup achievement [" .. award .. "] for [" .. itemname .. "]")
else else
registered_pickup_achievement[itemname] = award mcl_item_entity.registered_pickup_achievement[itemname] = award
end end
end end
@ -74,11 +74,13 @@ mcl_item_entity.register_pickup_achievement("mcl_nether:ancient_debris", "mcl:hi
mcl_item_entity.register_pickup_achievement("mcl_end:dragon_egg", "mcl:PickUpDragonEgg") mcl_item_entity.register_pickup_achievement("mcl_end:dragon_egg", "mcl:PickUpDragonEgg")
mcl_item_entity.register_pickup_achievement("mcl_armor:elytra", "mcl:skysTheLimit") mcl_item_entity.register_pickup_achievement("mcl_armor:elytra", "mcl:skysTheLimit")
---@param object ObjectRef
---@param player ObjectRef
local function check_pickup_achievements(object, player) local function check_pickup_achievements(object, player)
if has_awards then if has_awards then
local itemname = ItemStack(object:get_luaentity().itemstring):get_name() local itemname = ItemStack(object:get_luaentity().itemstring):get_name()
local playername = player:get_player_name() local playername = player:get_player_name()
for name,award in pairs(registered_pickup_achievement) do for name, award in pairs(mcl_item_entity.registered_pickup_achievement) do
if itemname == name or minetest.get_item_group(itemname, name) ~= 0 then if itemname == name or minetest.get_item_group(itemname, name) ~= 0 then
awards.unlock(playername, award) awards.unlock(playername, award)
end end
@ -86,16 +88,23 @@ local function check_pickup_achievements(object, player)
end end
end end
---@param object ObjectRef
---@param luaentity Luaentity
---@param ignore_check? boolean
local function enable_physics(object, luaentity, ignore_check) local function enable_physics(object, luaentity, ignore_check)
if luaentity.physical_state == false or ignore_check == true then if luaentity.physical_state == false or ignore_check == true then
luaentity.physical_state = true luaentity.physical_state = true
object:set_properties({ object:set_properties({
physical = true physical = true
}) })
object:set_acceleration({x=0,y=-get_gravity(),z=0}) object:set_acceleration(vector.new(0, -get_gravity(), 0))
end end
end end
---@param object ObjectRef
---@param luaentity Luaentity
---@param ignore_check? boolean
---@param reset_movement? boolean
local function disable_physics(object, luaentity, ignore_check, reset_movement) local function disable_physics(object, luaentity, ignore_check, reset_movement)
if luaentity.physical_state == true or ignore_check == true then if luaentity.physical_state == true or ignore_check == true then
luaentity.physical_state = false luaentity.physical_state = false
@ -103,17 +112,16 @@ local function disable_physics(object, luaentity, ignore_check, reset_movement)
physical = false physical = false
}) })
if reset_movement ~= false then if reset_movement ~= false then
object:set_velocity({x=0,y=0,z=0}) object:set_velocity(vector.zero())
object:set_acceleration({x=0,y=0,z=0}) object:set_acceleration(vector.zero())
end end
end end
end end
minetest.register_globalstep(function(_)
minetest.register_globalstep(function(dtime)
tick = not tick tick = not tick
for _,player in pairs(minetest.get_connected_players()) do for _, player in pairs(minetest.get_connected_players()) do
if player:get_hp() > 0 or not minetest.settings:get_bool("enable_damage") then if player:get_hp() > 0 or not minetest.settings:get_bool("enable_damage") then
local name = player:get_player_name() local name = player:get_player_name()
@ -125,7 +133,7 @@ minetest.register_globalstep(function(dtime)
pos = pos, pos = pos,
gain = 0.3, gain = 0.3,
max_hear_distance = 16, max_hear_distance = 16,
pitch = math.random(70,110)/100 pitch = math.random(70, 110) / 100
}) })
if pool[name] > 6 then if pool[name] > 6 then
pool[name] = 6 pool[name] = 6
@ -135,15 +143,18 @@ minetest.register_globalstep(function(dtime)
end end
local inv = player:get_inventory() local inv = player:get_inventory()
local checkpos = {x=pos.x,y=pos.y + item_drop_settings.player_collect_height,z=pos.z} local checkpos = vector.offset(pos, 0, item_drop_settings.player_collect_height, 0)
--magnet and collection --magnet and collection
for _,object in pairs(minetest.get_objects_inside_radius(checkpos, item_drop_settings.xp_radius_magnet)) do for _, object in pairs(minetest.get_objects_inside_radius(checkpos, item_drop_settings.xp_radius_magnet)) do
if not object:is_player() and vector.distance(checkpos, object:get_pos()) < item_drop_settings.radius_magnet and object:get_luaentity() and object:get_luaentity().name == "__builtin:item" and object:get_luaentity()._magnet_timer and (object:get_luaentity()._insta_collect or (object:get_luaentity().age > item_drop_settings.age)) then if not object:is_player() and vector.distance(checkpos, object:get_pos()) < item_drop_settings.radius_magnet and
object:get_luaentity() and object:get_luaentity().name == "__builtin:item" and object:get_luaentity()._magnet_timer
and (object:get_luaentity()._insta_collect or (object:get_luaentity().age > item_drop_settings.age)) then
if object:get_luaentity()._magnet_timer >= 0 and object:get_luaentity()._magnet_timer < item_drop_settings.magnet_time and inv and inv:room_for_item("main", ItemStack(object:get_luaentity().itemstring)) then if object:get_luaentity()._magnet_timer >= 0 and
object:get_luaentity()._magnet_timer < item_drop_settings.magnet_time and inv and
inv:room_for_item("main", ItemStack(object:get_luaentity().itemstring)) then
-- Collection -- Collection
if not object:get_luaentity()._removed then if not object:get_luaentity()._removed then
@ -158,8 +169,8 @@ minetest.register_globalstep(function(dtime)
object:get_luaentity().target = checkpos object:get_luaentity().target = checkpos
object:get_luaentity()._removed = true object:get_luaentity()._removed = true
object:set_velocity({x=0,y=0,z=0}) object:set_velocity(vector.zero())
object:set_acceleration({x=0,y=0,z=0}) object:set_acceleration(vector.zero())
object:move_to(checkpos) object:move_to(checkpos)
@ -179,7 +190,6 @@ minetest.register_globalstep(function(dtime)
local entity = object:get_luaentity() local entity = object:get_luaentity()
entity.collector = player:get_player_name() entity.collector = player:get_player_name()
entity.collected = true entity.collected = true
end end
end end
@ -194,6 +204,11 @@ end)
local tmp_id = 0 local tmp_id = 0
---@param drop string|drop_definition
---@param toolname string
---@param param2 integer
---@param paramtype2 paramtype2
---@return string[]
local function get_drops(drop, toolname, param2, paramtype2) local function get_drops(drop, toolname, param2, paramtype2)
tmp_id = tmp_id + 1 tmp_id = tmp_id + 1
local tmp_node_name = "mcl_item_entity:" .. tmp_id local tmp_node_name = "mcl_item_entity:" .. tmp_id
@ -202,7 +217,7 @@ local function get_drops(drop, toolname, param2, paramtype2)
drop = drop, drop = drop,
paramtype2 = paramtype2 paramtype2 = paramtype2
} }
local drops = minetest.get_node_drops({name = tmp_node_name, param2 = param2}, toolname) local drops = minetest.get_node_drops({ name = tmp_node_name, param2 = param2 }, toolname)
minetest.registered_nodes[tmp_node_name] = nil minetest.registered_nodes[tmp_node_name] = nil
return drops return drops
end end
@ -237,10 +252,17 @@ function minetest.handle_node_drops(pos, drops, digger)
-- NOTE: This function override allows digger to be nil. -- 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 -- 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. -- 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()) then
if (digger and digger:is_player() and minetest.is_creative_enabled(digger:get_player_name())) or doTileDrops == false 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 return
end elseif not doTileDrops then return end
-- Check if node will yield its useful drop by the digger's tool -- Check if node will yield its useful drop by the digger's tool
local dug_node = minetest.get_node(pos) local dug_node = minetest.get_node(pos)
@ -248,9 +270,9 @@ function minetest.handle_node_drops(pos, drops, digger)
local tool local tool
if digger then if digger then
tool = digger:get_wielded_item() 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 return
end end
end end
@ -265,7 +287,7 @@ function minetest.handle_node_drops(pos, drops, digger)
* table: Drop every itemstring in this table when dug by shears _mcl_silk_touch_drop * table: Drop every itemstring in this table when dug by shears _mcl_silk_touch_drop
]] ]]
local enchantments = tool and mcl_enchanting.get_enchantments(tool, "silk_touch") local enchantments = tool and mcl_enchanting.get_enchantments(tool)
local silk_touch_drop = false local silk_touch_drop = false
local nodedef = minetest.registered_nodes[dug_node.name] local nodedef = minetest.registered_nodes[dug_node.name]
@ -294,7 +316,8 @@ function minetest.handle_node_drops(pos, drops, digger)
local max_count = fortune_drop.max_count + fortune_level * (fortune_drop.factor or 1) local max_count = fortune_drop.max_count + fortune_level * (fortune_drop.factor or 1)
local chance = fortune_drop.chance or fortune_drop.get_chance and fortune_drop.get_chance(fortune_level) local chance = fortune_drop.chance or fortune_drop.get_chance and fortune_drop.get_chance(fortune_level)
if not chance or math.random() < chance then if not chance or math.random() < chance then
drops = discrete_uniform_distribution(fortune_drop.multiply and drops or fortune_drop.items, min_count, max_count, fortune_drop.cap) drops = discrete_uniform_distribution(fortune_drop.multiply and drops or fortune_drop.items, min_count, max_count,
fortune_drop.cap)
elseif fortune_drop.override then elseif fortune_drop.override then
drops = {} drops = {}
end end
@ -306,13 +329,13 @@ function minetest.handle_node_drops(pos, drops, digger)
end end
if digger and mcl_experience.throw_xp and not silk_touch_drop then if digger and mcl_experience.throw_xp and not silk_touch_drop then
local experience_amount = minetest.get_item_group(dug_node.name,"xp") local experience_amount = minetest.get_item_group(dug_node.name, "xp")
if experience_amount > 0 then if experience_amount > 0 then
mcl_experience.throw_xp(pos, experience_amount) mcl_experience.throw_xp(pos, experience_amount)
end end
end end
for _,item in ipairs(drops) do for _, item in ipairs(drops) do
local count local count
if type(item) == "string" then if type(item) == "string" then
count = ItemStack(item):get_count() count = ItemStack(item):get_count()
@ -321,7 +344,7 @@ function minetest.handle_node_drops(pos, drops, digger)
end end
local drop_item = ItemStack(item) local drop_item = ItemStack(item)
drop_item:set_count(1) drop_item:set_count(1)
for i=1,count do for i = 1, count do
local dpos = table.copy(pos) local dpos = table.copy(pos)
-- Apply offset for plantlike_rooted nodes because of their special shape -- Apply offset for plantlike_rooted nodes because of their special shape
if nodedef and nodedef.drawtype == "plantlike_rooted" and nodedef.walkable then if nodedef and nodedef.drawtype == "plantlike_rooted" and nodedef.walkable then
@ -348,7 +371,7 @@ end
function minetest.item_drop(itemstack, dropper, pos) function minetest.item_drop(itemstack, dropper, pos)
if dropper and dropper:is_player() then if dropper and dropper:is_player() then
local v = dropper:get_look_dir() local v = dropper:get_look_dir()
local p = {x=pos.x, y=pos.y+1.2, z=pos.z} local p = vector.offset(pos, 0, 1.2, 0)
local cs = itemstack:get_count() local cs = itemstack:get_count()
if dropper:get_player_control().sneak then if dropper:get_player_control().sneak then
cs = 1 cs = 1
@ -356,9 +379,9 @@ function minetest.item_drop(itemstack, dropper, pos)
local item = itemstack:take_item(cs) local item = itemstack:take_item(cs)
local obj = minetest.add_item(p, item) local obj = minetest.add_item(p, item)
if obj then if obj then
v.x = v.x*4 v.x = v.x * 4
v.y = v.y*4 + 2 v.y = v.y * 4 + 2
v.z = v.z*4 v.z = v.z * 4
obj:set_velocity(v) obj:set_velocity(v)
-- Force collection delay -- Force collection delay
obj:get_luaentity()._insta_collect = false obj:get_luaentity()._insta_collect = false
@ -376,16 +399,16 @@ end
local function cxcz(o, cw, one, zero) local function cxcz(o, cw, one, zero)
if cw < 0 then if cw < 0 then
table.insert(o, { [one]=1, y=0, [zero]=0 }) table.insert(o, { [one] = 1, y = 0, [zero] = 0 })
table.insert(o, { [one]=-1, y=0, [zero]=0 }) table.insert(o, { [one] = -1, y = 0, [zero] = 0 })
else else
table.insert(o, { [one]=-1, y=0, [zero]=0 }) table.insert(o, { [one] = -1, y = 0, [zero] = 0 })
table.insert(o, { [one]=1, y=0, [zero]=0 }) table.insert(o, { [one] = 1, y = 0, [zero] = 0 })
end end
return o return o
end end
local function hopper_take_item (self, pos) local function hopper_take_item(self, pos)
--mcl_log("self.itemstring: ".. self.itemstring) --mcl_log("self.itemstring: ".. self.itemstring)
--mcl_log("self.itemstring: ".. minetest.pos_to_string(pos)) --mcl_log("self.itemstring: ".. minetest.pos_to_string(pos))
@ -394,17 +417,17 @@ local function hopper_take_item (self, pos)
if objs and self.itemstring then if objs and self.itemstring then
--mcl_log("there is an itemstring. Number of objs: ".. #objs) --mcl_log("there is an itemstring. Number of objs: ".. #objs)
for k,v in pairs(objs) do for k, v in pairs(objs) do
local ent = v:get_luaentity() local ent = v:get_luaentity()
-- Don't forget actual hoppers -- Don't forget actual hoppers
if ent and ent.name == "mcl_minecarts:hopper_minecart" then if ent and ent.name == "mcl_minecarts:hopper_minecart" then
local taken_items = false local taken_items = false
mcl_log("ent.name: ".. tostring(ent.name)) mcl_log("ent.name: " .. tostring(ent.name))
mcl_log("ent pos: ".. tostring(ent.object:get_pos())) mcl_log("ent pos: " .. tostring(ent.object:get_pos()))
local inv = mcl_entity_invs.load_inv(ent,5) local inv = mcl_entity_invs.load_inv(ent, 5)
if not inv then if not inv then
mcl_log("No inv") mcl_log("No inv")
@ -428,7 +451,7 @@ local function hopper_take_item (self, pos)
local items_remaining = current_itemstack:get_count() local items_remaining = current_itemstack:get_count()
-- This will take part of a floating item stack if no slot can hold the full amount -- This will take part of a floating item stack if no slot can hold the full amount
for i = 1, ent._inv_size,1 do for i = 1, ent._inv_size, 1 do
local stack = inv:get_stack("main", i) local stack = inv:get_stack("main", i)
mcl_log("i: " .. tostring(i)) mcl_log("i: " .. tostring(i))
@ -500,13 +523,13 @@ minetest.register_entity(":__builtin:item", {
hp_max = 1, hp_max = 1,
physical = true, physical = true,
collide_with_objects = false, collide_with_objects = false,
collisionbox = {-0.3, -0.3, -0.3, 0.3, 0.3, 0.3}, collisionbox = { -0.3, -0.3, -0.3, 0.3, 0.3, 0.3 },
pointable = false, pointable = false,
visual = "wielditem", visual = "wielditem",
visual_size = {x = 0.4, y = 0.4}, visual_size = { x = 0.4, y = 0.4 },
textures = {""}, textures = { "" },
spritediv = {x = 1, y = 1}, spritediv = { x = 1, y = 1 },
initial_sprite_basepos = {x = 0, y = 0}, initial_sprite_basepos = { x = 0, y = 0 },
is_visible = false, is_visible = false,
infotext = "", infotext = "",
}, },
@ -544,11 +567,11 @@ minetest.register_entity(":__builtin:item", {
if vel and vel.x == 0 and vel.z == 0 and self.random_velocity > 0 then if vel and vel.x == 0 and vel.z == 0 and self.random_velocity > 0 then
local v = self.random_velocity local v = self.random_velocity
local x = math.random(5, 10) / 10 * v local x = math.random(5, 10) / 10 * v
if math.random(0,10) < 5 then x = -x end if math.random(0, 10) < 5 then x = -x end
local z = math.random(5, 10) / 10 * v local z = math.random(5, 10) / 10 * v
if math.random(0,10) < 5 then z = -z end if math.random(0, 10) < 5 then z = -z end
local y = math.random(2,4) local y = math.random(2, 4)
self.object:set_velocity({x=x, y=y, z=z}) self.object:set_velocity(vector.new(x, y, z))
end end
self.random_velocity = 0 self.random_velocity = 0
end, end,
@ -576,7 +599,7 @@ minetest.register_entity(":__builtin:item", {
local max_count = stack:get_stack_max() local max_count = stack:get_stack_max()
if count > max_count then if count > max_count then
count = max_count count = max_count
self.itemstring = stack:get_name().." "..max_count self.itemstring = stack:get_name() .. " " .. max_count
end end
local itemtable = stack:to_table() local itemtable = stack:to_table()
local itemname = nil local itemname = nil
@ -597,9 +620,9 @@ minetest.register_entity(":__builtin:item", {
local prop = { local prop = {
is_visible = true, is_visible = true,
visual = "wielditem", visual = "wielditem",
textures = {itemname}, textures = { itemname },
visual_size = {x = s, y = s}, visual_size = { x = s, y = s },
collisionbox = {-c, -c, -c, c, c, c}, collisionbox = { -c, -c, -c, c, c, c },
automatic_rotate = math.pi * 0.5, automatic_rotate = math.pi * 0.5,
infotext = description, infotext = description,
glow = glow, glow = glow,
@ -695,9 +718,9 @@ minetest.register_entity(":__builtin:item", {
self._forcestart = nil self._forcestart = nil
self._forcetimer = 0 self._forcetimer = 0
self.object:set_armor_groups({immortal = 1}) self.object:set_armor_groups({ immortal = 1 })
-- self.object:set_velocity({x = 0, y = 2, z = 0}) -- self.object:set_velocity(vector.new(0, 2, 0))
self.object:set_acceleration({x = 0, y = -get_gravity(), z = 0}) self.object:set_acceleration(vector.new(0, -get_gravity(), 0))
self:set_item(self.itemstring) self:set_item(self.itemstring)
end, end,
@ -710,9 +733,9 @@ minetest.register_entity(":__builtin:item", {
local stack = ItemStack(entity.itemstring) local stack = ItemStack(entity.itemstring)
local name = stack:get_name() local name = stack:get_name()
if own_stack:get_name() ~= name or if own_stack:get_name() ~= name or
own_stack:get_meta() ~= stack:get_meta() or own_stack:get_meta() ~= stack:get_meta() or
own_stack:get_wear() ~= stack:get_wear() or own_stack:get_wear() ~= stack:get_wear() or
own_stack:get_free_space() == 0 then own_stack:get_free_space() == 0 then
-- Can not merge different or full stack -- Can not merge different or full stack
return false return false
end end
@ -745,8 +768,8 @@ minetest.register_entity(":__builtin:item", {
self.object:set_properties({ self.object:set_properties({
physical = false physical = false
}) })
self.object:set_velocity({x=0,y=0,z=0}) self.object:set_velocity(vector.zero())
self.object:set_acceleration({x=0,y=0,z=0}) self.object:set_acceleration(vector.zero())
return return
end end
self.age = self.age + dtime self.age = self.age + dtime
@ -761,21 +784,22 @@ minetest.register_entity(":__builtin:item", {
-- Delete corrupted item entities. The itemstring MUST be non-empty on its first step, -- Delete corrupted item entities. The itemstring MUST be non-empty on its first step,
-- otherwise there might have some data corruption. -- otherwise there might have some data corruption.
if self.itemstring == "" then if self.itemstring == "" then
minetest.log("warning", "Item entity with empty itemstring found at "..minetest.pos_to_string(self.object:get_pos()).. "! Deleting it now.") minetest.log("warning",
"Item entity with empty itemstring found at " .. minetest.pos_to_string(self.object:get_pos()) ..
"! Deleting it now.")
self._removed = true self._removed = true
self.object:remove() self.object:remove()
return return
end end
local p = self.object:get_pos() local p = self.object:get_pos()
-- If hopper has taken item, it has gone, and no operations should be conducted on this item -- If hopper has taken item, it has gone, and no operations should be conducted on this item
if hopper_take_item(self, p) then if hopper_take_item(self, p) then
return return
end end
local node = minetest.get_node_or_nil(p) local node = minetest.get_node(p)
local in_unloaded = (node == nil) local in_unloaded = node.name == "ignore"
if in_unloaded then if in_unloaded then
-- Don't infinetly fall into unloaded map -- Don't infinetly fall into unloaded map
@ -785,27 +809,27 @@ minetest.register_entity(":__builtin:item", {
if self.is_clock then if self.is_clock then
self.object:set_properties({ self.object:set_properties({
textures = {"mcl_clock:clock_" .. (mcl_worlds.clock_works(p) and mcl_clock.old_time or mcl_clock.random_frame)} textures = { "mcl_clock:clock_" .. (mcl_worlds.clock_works(p) and mcl_clock.old_time or mcl_clock.random_frame) }
}) })
end end
local nn = node.name local nn = node.name
local is_in_water = (minetest.get_item_group(nn, "liquid") ~= 0) local is_in_water = (minetest.get_item_group(nn, "liquid") ~= 0)
local nn_above = minetest.get_node({x=p.x, y=p.y+0.1, z=p.z}).name local nn_above = minetest.get_node(vector.offset(p, 0, 0.1, 0)).name
-- make sure it's more or less stationary and is at water level -- make sure it's more or less stationary and is at water level
local sleep_threshold = 0.3 local sleep_threshold = 0.3
local is_floating = false local is_floating = false
local is_stationary = math.abs(self.object:get_velocity().x) < sleep_threshold local is_stationary = math.abs(self.object:get_velocity().x) < sleep_threshold
and math.abs(self.object:get_velocity().y) < sleep_threshold and math.abs(self.object:get_velocity().y) < sleep_threshold
and math.abs(self.object:get_velocity().z) < sleep_threshold and math.abs(self.object:get_velocity().z) < sleep_threshold
if is_in_water and is_stationary then if is_in_water and is_stationary then
is_floating = (is_in_water is_floating = (is_in_water
and (minetest.get_item_group(nn_above, "liquid") == 0)) and (minetest.get_item_group(nn_above, "liquid") == 0))
end end
if is_floating and self.physical_state == true then if is_floating and self.physical_state == true then
self.object:set_velocity({x = 0, y = 0, z = 0}) self.object:set_velocity(vector.zero())
self.object:set_acceleration({x = 0, y = 0, z = 0}) self.object:set_acceleration(vector.zero())
disable_physics(self.object, self) disable_physics(self.object, self)
end end
-- If no collector was found for a long enough time, declare the magnet as disabled -- If no collector was found for a long enough time, declare the magnet as disabled
@ -825,7 +849,7 @@ minetest.register_entity(":__builtin:item", {
--Wait 2 seconds to allow mob drops to be cooked, & picked up instead of instantly destroyed. --Wait 2 seconds to allow mob drops to be cooked, & picked up instead of instantly destroyed.
if self.age > 2 and minetest.get_item_group(self.itemstring, "fire_immune") == 0 then if self.age > 2 and minetest.get_item_group(self.itemstring, "fire_immune") == 0 then
if dg ~= 2 then if dg ~= 2 then
minetest.sound_play("builtin_item_lava", {pos = self.object:get_pos(), gain = 0.5}) minetest.sound_play("builtin_item_lava", { pos = self.object:get_pos(), gain = 0.5 })
end end
self._removed = true self._removed = true
self.object:remove() self.object:remove()
@ -865,7 +889,7 @@ minetest.register_entity(":__builtin:item", {
end end
-- Check which one of the 4 sides is free -- Check which one of the 4 sides is free
for o=1, #order do for o = 1, #order do
local nn = minetest.get_node(vector.add(p, order[o])).name local nn = minetest.get_node(vector.add(p, order[o])).name
local def = minetest.registered_nodes[nn] local def = minetest.registered_nodes[nn]
if def and def.walkable == false and nn ~= "ignore" then if def and def.walkable == false and nn ~= "ignore" then
@ -875,7 +899,7 @@ minetest.register_entity(":__builtin:item", {
end end
-- If none of the 4 sides is free, shoot upwards -- If none of the 4 sides is free, shoot upwards
if shootdir == nil then if shootdir == nil then
shootdir = { x=0, y=1, z=0 } shootdir = vector.new(0, 1, 0)
local nn = minetest.get_node(vector.add(p, shootdir)).name local nn = minetest.get_node(vector.add(p, shootdir)).name
if nn == "ignore" then if nn == "ignore" then
-- Do not push into ignore -- Do not push into ignore
@ -885,7 +909,7 @@ minetest.register_entity(":__builtin:item", {
-- Set new item moving speed accordingly -- Set new item moving speed accordingly
local newv = vector.multiply(shootdir, 3) local newv = vector.multiply(shootdir, 3)
self.object:set_acceleration({x = 0, y = 0, z = 0}) self.object:set_acceleration(vector.zero())
self.object:set_velocity(newv) self.object:set_velocity(newv)
disable_physics(self.object, self, false, false) disable_physics(self.object, self, false, false)
@ -907,10 +931,10 @@ minetest.register_entity(":__builtin:item", {
if self._forcetimer > 0 then if self._forcetimer > 0 then
local cbox = self.object:get_properties().collisionbox local cbox = self.object:get_properties().collisionbox
local ok = false local ok = false
if self._force.x > 0 and (p.x > (self._forcestart.x + 0.5 + (cbox[4] - cbox[1])/2)) then ok = true if self._force.x > 0 and (p.x > (self._forcestart.x + 0.5 + (cbox[4] - cbox[1]) / 2)) then ok = true
elseif self._force.x < 0 and (p.x < (self._forcestart.x + 0.5 - (cbox[4] - cbox[1])/2)) then ok = true elseif self._force.x < 0 and (p.x < (self._forcestart.x + 0.5 - (cbox[4] - cbox[1]) / 2)) then ok = true
elseif self._force.z > 0 and (p.z > (self._forcestart.z + 0.5 + (cbox[6] - cbox[3])/2)) then ok = true elseif self._force.z > 0 and (p.z > (self._forcestart.z + 0.5 + (cbox[6] - cbox[3]) / 2)) then ok = true
elseif self._force.z < 0 and (p.z < (self._forcestart.z + 0.5 - (cbox[6] - cbox[3])/2)) then ok = true end elseif self._force.z < 0 and (p.z < (self._forcestart.z + 0.5 - (cbox[6] - cbox[3]) / 2)) then ok = true end
-- Item was successfully forced out. No more pushing -- Item was successfully forced out. No more pushing
if ok then if ok then
self._forcetimer = -1 self._forcetimer = -1
@ -941,7 +965,7 @@ minetest.register_entity(":__builtin:item", {
-- Set new item moving speed into the direciton of the liquid -- Set new item moving speed into the direciton of the liquid
local newv = vector.multiply(vec, f) local newv = vector.multiply(vec, f)
-- Swap to acceleration instead of a static speed to better mimic MC mechanics. -- Swap to acceleration instead of a static speed to better mimic MC mechanics.
self.object:set_acceleration({x = newv.x, y = -0.22, z = newv.z}) self.object:set_acceleration(vector.new(newv.x, -0.22, newv.z))
self.physical_state = true self.physical_state = true
self._flowing = true self._flowing = true
@ -954,9 +978,10 @@ minetest.register_entity(":__builtin:item", {
local cur_vec = self.object:get_velocity() local cur_vec = self.object:get_velocity()
-- apply some acceleration in the opposite direction so it doesn't slide forever -- apply some acceleration in the opposite direction so it doesn't slide forever
local vec = { local vec = {
x = 0 -cur_vec.x*0.9, x = 0 - cur_vec.x * 0.9,
y = 3 -cur_vec.y*0.9, y = 3 - cur_vec.y * 0.9,
z = 0 -cur_vec.z*0.9} z = 0 - cur_vec.z * 0.9
}
self.object:set_acceleration(vec) self.object:set_acceleration(vec)
-- slow down the item in water -- slow down the item in water
local vel = self.object:get_velocity() local vel = self.object:get_velocity()
@ -980,20 +1005,20 @@ minetest.register_entity(":__builtin:item", {
end end
-- If node is not registered or node is walkably solid and resting on nodebox -- If node is not registered or node is walkably solid and resting on nodebox
local nn = minetest.get_node({x=p.x, y=p.y-0.5, z=p.z}).name local nn = minetest.get_node(vector.offset(p, 0, -0.5, 0)).name
local def = minetest.registered_nodes[nn] local def = minetest.registered_nodes[nn]
local v = self.object:get_velocity() local v = self.object:get_velocity()
local is_on_floor = def and (def.walkable local is_on_floor = def and (def.walkable
and not def.groups.slippery and v.y == 0) and not def.groups.slippery and v.y == 0)
if not minetest.registered_nodes[nn] if not minetest.registered_nodes[nn]
or is_floating or is_on_floor then or is_floating or is_on_floor then
local own_stack = ItemStack(self.object:get_luaentity().itemstring) local own_stack = ItemStack(self.object:get_luaentity().itemstring)
-- Merge with close entities of the same item -- Merge with close entities of the same item
for _, object in pairs(minetest.get_objects_inside_radius(p, 0.8)) do for _, object in pairs(minetest.get_objects_inside_radius(p, 0.8)) do
local obj = object:get_luaentity() local obj = object:get_luaentity()
if obj and obj.name == "__builtin:item" if obj and obj.name == "__builtin:item"
and obj.physical_state == false then and obj.physical_state == false then
if self:try_merge_with(own_stack, object, obj) then if self:try_merge_with(own_stack, object, obj) then
return return
end end

View File

@ -0,0 +1,36 @@
# textdomain: mcl_minecarts
Minecart=トロッコ
Minecarts can be used for a quick transportion on rails.=トロッコは、レールを使った高速輸送を可能にします。
Minecarts only ride on rails and always follow the tracks. At a T-junction with no straight way ahead, they turn left. The speed is affected by the rail type.=トロッコはレール上にしか乗らない為、常に線路に沿って走ります。直進できない丁字路では、取り敢えず左折します。速度はレールの種類によって異なります。
You can place the minecart on rails. Right-click it to enter it. Punch it to get it moving.=レールの上にトロッコを置けます。右クリックで乗り込みます。パンチすると動き出します。
To obtain the minecart, punch it while holding down the sneak key.=トロッコを入手するには、スニークキーを押しながらパンチします。
A minecart with TNT is an explosive vehicle that travels on rail.=TNT付きトロッコは、レール上を行きかう爆薬車両です。
Place it on rails. Punch it to move it. The TNT is ignited with a flint and steel or when the minecart is on an powered activator rail.=レール上に配置。パンチで移動。TNTが着火するのは、火打石と打金を使った時か、稼動中のアクティベーターレール上にトロッコが乗った時です。
To obtain the minecart and TNT, punch them while holding down the sneak key. You can't do this if the TNT was ignited.=トロッコとTNTを入手するには、スニークキーを押しながらパンチしてください。TNTに火が着いていた場合は、無理です。
A minecart with furnace is a vehicle that travels on rails. It can propel itself with fuel.=かまど付きトロッコは、レール上を走行する車両です。燃料で自走できます。
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.=レールの上に置きます。石炭を与えると、かまどが長時間燃え続け、トロッコが自走可能になります。パンチすると動き出します。
To obtain the minecart and furnace, punch them while holding down the sneak key.=トロッコとかまどを入手するには、スニークキーを押しながらパンチします。
Minecart with Chest=チェスト付きトロッコ
Minecart with Furnace=かまど付きトロッコ
Minecart with Command Block=コマンドブロック付きトロッコ
Minecart with Hopper=ホッパー付きトロッコ
Minecart with TNT=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.=地面に置いて線路を作ると、レール同士が自動的につながり、必要に応じてカーブや丁字路、踏切、坂道などに変化します。
Rail=レール
Rails can be used to build transport tracks for minecarts. Normal rails slightly slow down minecarts due to friction.=レールを利用して、トロッコの輸送路が敷けます。普通のレールは、摩擦の関係でトロッコが少しずつ減速していきます。
Powered Rail=パワードレール
Rails can be used to build transport tracks for minecarts. Powered rails are able to accelerate and brake minecarts.=レールを利用して、トロッコの輸送路が敷けます。パワードレールは、トロッコを加速させたり、ブレーキをかけたりできます。
Without redstone power, the rail will brake minecarts. To make this rail accelerate minecarts, power it with redstone power.=レッドストーン動力なしだと、このレールはトロッコにブレーキをかけます。このレールでトロッコを加速させるには、レッドストーン動力を供給してください。
Activator Rail=アクティベーターレール
Rails can be used to build transport tracks for minecarts. Activator rails are used to activate special minecarts.=レールを利用して、トロッコの輸送路が敷けます。アクティベーターレールは、特殊なトロッコを作動させるために使われます。
To make this rail activate minecarts, power it with redstone power and send a minecart over this piece of rail.=このレールでトロッコを作動させるには、レッドストーン動力を与えたレール上にトロッコを送り込みます。
Detector Rail=
Rails can be used to build transport tracks for minecarts. A detector rail is able to detect a minecart above it and powers redstone mechanisms.=レールを利用して、トロッコの輸送路が敷けます。ディテクターレールは、その上にあるトロッコを検知でき、その際レッドストーン機構の動力源となります。
To detect a minecart and provide redstone power, connect it to redstone trails or redstone mechanisms and send any minecart over the rail.=トロッコを検知してレッドストーン動力を供給するには、レッドストーン導線またはレッドストーン機構に接続し、任意のトロッコをレール上に送り込みます。
Track for minecarts=トロッコ用の線路
Speed up when powered, slow down when not powered=稼動中は加速、非稼動中は減速
Activates minecarts when powered=稼動中はトロッコを作動
Emits redstone power when a minecart is detected=トロッコを検知するとレッドストーン動力を放出
Vehicle for fast travel on rails=レール上を快速移動するための車両
Can be ignited by tools or powered activator rail=道具や稼動中のアクティベーターレールにより着火が可能
Sneak to dismount=スニークで降りる

View File

@ -2,7 +2,7 @@ local S = minetest.get_translator(minetest.get_current_modname())
-- Template rail function -- Template rail function
local function register_rail(itemstring, tiles, def_extras, creative) 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 if creative == false then
groups.not_in_creative_inventory = 1 groups.not_in_creative_inventory = 1
end end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 257 B

Some files were not shown because too many files have changed in this diff Show More