Commit Graph

43 Commits

Author SHA1 Message Date
Elias Åström
a6c5c8a72a Call update_groupcaps from load_enchantments
This avoids the need to call the function from on_enchant for unbreaking
and efficiency.
2022-02-12 19:43:01 +01:00
Elias Åström
d898b02c8b Fix #1922 2022-02-12 19:43:01 +01:00
Elias Fleckenstein
ec7e245b9d
Various fixes to the enchanting and loot system
- enchanted loot generated by mapgen now uses PseudoRandom for randomness
- prevent fishing loot from generating loot 32767 times (!!!) when only 1 is needed
- bows and fishing rods obtained from the treasure section of fishing loot are now enchanted
- there is now a function to uniform enchant items other than books
2021-12-07 17:57:18 +01:00
Elias Fleckenstein
b3958a956d
Refactor random enchantment selection code 2021-12-07 16:16:07 +01:00
Elias Fleckenstein
882db9f873
Remove unused and completely unlogical enchantment_level paramenter from get_possible_enchantments 2021-12-07 15:49:12 +01:00
Elias Fleckenstein
261faafb7c
Fix get_possible_enchantments to not return incompatible enchantments, even if treasure enchantments are allowed 2021-12-07 15:47:23 +01:00
Elias Fleckenstein
a4e73886d5
Rework XP API 2021-11-03 19:36:57 +01:00
AFCMS
e9437e9e1e fix crash then using function in _mcl_armor_[texture, preview] tool field 2021-09-29 21:06:51 +02:00
AFCMS
cd33d406b2 fix many codestyle issues (functions, strings, modpaths) 2021-05-29 16:12:33 +02:00
AFCMS
388ab6d8df fix some codestyle issues 2021-05-25 10:56:06 +02:00
AFCMS
bbde3b551f [mcl_enchanting] fix warnings 2021-05-23 00:01:30 +02:00
jordan4ibanez
cf46f0d8b8 Fix crashing if null itemstack enchant when player is hacking 2021-04-29 01:32:57 -04:00
Elias Fleckenstein
ca74f23094 Merge branch 'master' into damage 2021-04-19 18:58:00 +02:00
Elias Fleckenstein
d8d4cb5def Revert color changes to GUI.
The Minecraft colorset (net.minecraft.util.text.TextFormatting) is only used for chat and tooltips.
This partically reverts 84819bf9f5.
2021-04-19 14:44:20 +02:00
Elias Fleckenstein
52a49e640e Merge branch 'master' into damage 2021-04-19 09:57:56 +02:00
jordan4ibanez
44a25de12f Fix crashing with unknown slot description when enchanting 2021-04-18 23:18:18 -04:00
Elias Fleckenstein
f0d7715080 Merge branch 'master' into damage 2021-04-18 14:51:45 +02:00
Elias Åström
573b1dc44b Do not include unnecessary tool_capabilities
This commit makes enchanted tools which have no use for
tool_capabilities to not include it in their metadata.  It does this by
not including tool_capabilities in the metadata of an enchanted tool if
at least one of two cases is true:

(1) The tool is not enchanted with unbreaking or efficiency
(2) The tool does not have tool_capabilities defined in its definition

The first case covers situations like having a pickaxe only being
enchanted with silk_touch.  The second case covers situations like a
piece of armor being enchanted with unbreaking.
2021-04-18 11:40:43 +02:00
Elias Åström
dd69dcfd9f Fix efficiency and unbreaking not working together
This commit fixes an issue were tools enchanted with both efficiency and
unbreaking would loose the effect of one of the enchantments in some
conditions.
2021-04-18 11:40:13 +02:00
Elias Fleckenstein
ce0148d9a8 Rewrite armor; new damage system 2021-04-14 15:46:52 +02:00
AFCMS
84819bf9f5 MAKE EVERY SINGLE MOD USE PROPER COLORS!!! 2021-03-30 00:01:29 +02:00
Elias Fleckenstein
43a60e0c57 Fix #1357 2021-03-24 09:00:31 +01:00
Elias Åström
bfe51316ee Merge branch 'mcl_autogroups' 2021-03-18 13:43:58 +01:00
Elias Åström
8f9650abe4 Update the groupcaps of all enchanted tools
Not just those enchanted with efficiency.
2021-03-18 11:35:40 +01:00
Elias Åström
2e9b3c2259 Move efficiency code to its own file 2021-03-18 11:35:40 +01:00
Elias Åström
922bdbc601 Use hashing for more efficient groupcaps updating
This adds the metadata field "groupcaps_hash" to tools enchanted with
efficiency.  This value contains a hash of the groupcaps field in
tool_capabilities.  This value gets compared to the expected hash value
to determine if the tools tool_capabilities should be updated according
to commit af31f8189e8e5c2b.

This commit makes efficiency more efficient.
2021-03-18 11:35:40 +01:00
Elias Åström
3241dbbec5 Update enchanted tools with outdated digging times
Because of the way digging times is implemented in Mineclone2, it is
possible for the digging times of efficiency enchanted tools to become
outdated.

This fixes that by automatically updating the tools tool_capabilities
after each time the tool is used.
2021-03-18 11:35:40 +01:00
Elias Fleckenstein
88372778c9 Fix another anvil weirdness and dupe glitch 2021-03-12 15:50:05 +01:00
kay27
6e6809f360 Make books in chest loot deterministic, ref. https://git.minetest.land/MineClone2/MineClone2/issues/1254 and https://git.minetest.land/MineClone2/MineClone2/issues/1060 2021-03-08 04:14:03 +04:00
Elias Fleckenstein
95b0a495bc Fix #1152 2021-03-01 10:51:57 +01:00
Elias Fleckenstein
427ac03a4d Fix #951 2021-01-17 13:21:09 +01:00
Elias Fleckenstein
7d4688b70c Fix enchanted items showing up in craftguide 2021-01-06 14:17:27 +01:00
Elias Fleckenstein
37f256648b Fix enchanting book animation being weird sometimes 2021-01-05 12:40:29 +01:00
kay27
30379c823c Clean up some spaces in code after merging https://git.minetest.land/EliasFleckenstein03/MineClone2 2021-01-03 00:42:07 +04:00
Elias Fleckenstein
6ba3fc869c Make villagers sell enchanted stuff 2020-12-22 12:00:04 +01:00
Elias Fleckenstein
d820c35937 Fishing & Mineshaft loot 2020-12-20 17:33:24 +01:00
Elias Fleckenstein
66eb5c35da Fix enchanted book 2020-12-18 15:57:52 +01:00
Elias Fleckenstein
0477e729f5 Fixed crash 2020-12-17 18:58:07 +01:00
Elias Fleckenstein
19726241c3 Fixed lapis slot 2020-12-17 18:53:44 +01:00
Elias Fleckenstein
6c3588bad8 Rework inventory 2020-12-17 13:29:21 +01:00
Wuzzy
73cb6b7a22 Don't save book entity statically to save space 2020-12-14 19:08:57 +01:00
Wuzzy
4be2f2f76d Fix more book entity spawn/despawn bugs 2020-12-14 18:53:34 +01:00
Wuzzy
70b078cdaf Move mcl_enchanting to ITEMS 2020-12-14 14:11:59 +01:00