diff options
author | KingCol13 <48412633+KingCol13@users.noreply.github.com> | 2020-09-28 14:41:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-28 14:41:49 +0200 |
commit | 8eca58a1c9d3ea928b301de1ad772a46164372e1 (patch) | |
tree | 9627cfb9c43ed9b332a493c474e7ebe119543b89 /src/Blocks/BlockHandler.cpp | |
parent | Enchanting consumes lapis, removes correct number of levels (#4934) (diff) | |
download | cuberite-8eca58a1c9d3ea928b301de1ad772a46164372e1.tar cuberite-8eca58a1c9d3ea928b301de1ad772a46164372e1.tar.gz cuberite-8eca58a1c9d3ea928b301de1ad772a46164372e1.tar.bz2 cuberite-8eca58a1c9d3ea928b301de1ad772a46164372e1.tar.lz cuberite-8eca58a1c9d3ea928b301de1ad772a46164372e1.tar.xz cuberite-8eca58a1c9d3ea928b301de1ad772a46164372e1.tar.zst cuberite-8eca58a1c9d3ea928b301de1ad772a46164372e1.zip |
Diffstat (limited to 'src/Blocks/BlockHandler.cpp')
-rw-r--r-- | src/Blocks/BlockHandler.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/Blocks/BlockHandler.cpp b/src/Blocks/BlockHandler.cpp index 0066a06a5..a10c5e48d 100644 --- a/src/Blocks/BlockHandler.cpp +++ b/src/Blocks/BlockHandler.cpp @@ -658,6 +658,19 @@ unsigned char cBlockHandler::ToolFortuneLevel(const cItem * a_Tool) +char cBlockHandler::FortuneDiscreteRandom(char a_MinDrop, char a_DefaultMax, unsigned char a_BonusMax, char a_DropCap) +{ + // First sample the discrete random distribution. + char DropNum = GetRandomProvider().RandInt<char>(a_MinDrop, a_DefaultMax + a_BonusMax); + + // Then clamp to within range (clamp instead of min incase of overflow): + return std::clamp<char>(DropNum, a_MinDrop, a_DropCap); +} + + + + + const cBlockHandler & cBlockHandler::For(BLOCKTYPE a_BlockType) { // Switch on the block type, as an enumeration |