From 8947147c25e2640519897bfdc8807e97ee291d70 Mon Sep 17 00:00:00 2001 From: KingCol13 <48412633+KingCol13@users.noreply.github.com> Date: Fri, 2 Oct 2020 00:33:32 +0300 Subject: Enchanting table shows detail on hover. Enchanting is deterministic. (#4937) * Use lapis for enchanting, subtract correct number of levels, ClientHandle now selects from pregenerated list. Co-authored-by: Tiger Wang --- src/Enchantments.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/Enchantments.h') diff --git a/src/Enchantments.h b/src/Enchantments.h index 40dbee038..1f4547058 100644 --- a/src/Enchantments.h +++ b/src/Enchantments.h @@ -9,11 +9,11 @@ #pragma once #include "Defines.h" +#include "FastRandom.h" #include "WorldStorage/EnchantmentSerializer.h" - // fwd: "WorldStorage/FastNBT.h" class cFastNBTWriter; class cParsedNBT; @@ -27,6 +27,7 @@ typedef std::vector cWeightedEnchantments; + /** Class that stores item enchantments or stored-enchantments The enchantments may be serialized to a stringspec and read back from such stringspec. The format for the stringspec is "id=lvl;id=lvl;id=lvl...", with an optional semicolon at the end, @@ -139,8 +140,8 @@ public: /** Check enchantment conflicts from enchantments from the vector */ static void CheckEnchantmentConflictsFromVector(cWeightedEnchantments & a_Enchantments, const cEnchantments & a_FirstEnchantment); - /** Gets random enchantment from Vector and returns it */ - static cEnchantments GetRandomEnchantmentFromVector(const cWeightedEnchantments & a_Enchantments); + /** Gets random enchantment from Vector and returns it, with randomness derived from the provided PRNG. */ + static cEnchantments GetRandomEnchantmentFromVector(const cWeightedEnchantments & a_Enchantments, MTRand & a_Random); /** Selects one enchantment from a Vector using cNoise. Mostly used for generators. Uses the enchantments' weights for the random distribution. -- cgit v1.2.3