Minecraft Mods

Mathematical Functions Datapack

  • 7,846 views, 4 today
  • 313 downloads, 0 today
  • 11
  • 5
  • 1
yosho27's Avatar yosho27
Level 58 : Grandmaster Programmer
63
Mathematical Functions Datapack by yosho27
Version 0.1.3
Includes sine, cosine, tangent, absolute value, exponent, square root, and random
This was designed to be like the Math import in Java or Python, but for datapacks
Feel free to use this with your datapacks; if you use it credit would be appreciated
To use the functions, set the "math_in" and other input variables, call the function, and then get the "math_out" variable




function math:sin
"math_in" is an angle in degrees; "math_out" will be the sine of the angle scaled up by 100


function math:cos
"math_in" is an angle in degrees; "math_out" will be the cosine of the angle scaled up by 100


function math:tan
"math_in" is an angle in degrees; "math_out" will be the tangent of the angle scaled up by 100


function math:abs
"math_in" is a number; "math_out" will be the absolute value of the number


function math:pow
"math_in" is a base; "math_exp" is an exponent; "math_out" will be the base to the power of the exponent


function math:sqrt
"math_in" is a number; "math_out" will be the absolute value of the number scaled up by 100


function math:rand       (Contributed by Mcskware using using the random0 LCG)
"math_maxrand" is a maximum value; "math_out" will be a psuedo-random number from 0 to the maximum value, inclusive




because scoreboard variables have to be integers, all input and output values are integers
sin, cos, tan, and sqrt output values are scaled up by 100 to allow 2 extra decimal places of precision
sin, cos, and tan are approximations, and have an average error of about 0.04 (so an average error of about 4 for the scaled up value)
input values are preserved by all functions

Thanks to Mcskware for contributing the PRNG!
CreditMcskware for the PRNG
Progress100% complete
Game VersionMinecraft 1.13
Tags

Create an account or sign in to comment.

1
03/02/2020 12:55 am
Level 69 : High Grandmaster Technomancer
GatKong
GatKong's Avatar
I was hoping to use this to calculate a new spreadplayers function that flings everybody out to the same far away radius distance, thus needed for square roots (pythagorean). But when it runs squareroots of big numbers, (like 900000000) it returns nonsense :(

For smaller numbers it works great.
Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome