版本更新至:3.76

调整:开发框架改为 Gradle
新增:Language2 工具新增 [book] 类型
This commit is contained in:
坏黑
2018-03-10 21:13:05 +08:00
parent 6439e4b780
commit ad1a21196f
238 changed files with 1686 additions and 1132 deletions

View File

@@ -0,0 +1,64 @@
package me.skymc.taboolib.other;
import org.bukkit.Color;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.util.Vector;
import me.skymc.taboolib.particle.EffLib;
public class MathUtils {
public static double tronc(double paramDouble, int paramInt)
{
double d = Math.pow(10.0D, paramInt);
return Math.floor(paramDouble * d) / d;
}
public static void drawVec(Vector paramVector, Location paramLocation, Color paramColor)
{
for (double d = 0.0D; d < 1.0D; d += 0.1D) {
EffLib.REDSTONE.display(new EffLib.OrdinaryColor(paramColor), paramLocation.clone().add(paramVector.clone().multiply(d)), 100.0D);
}
}
public static void sendCoords(Player paramPlayer, Vector paramVector, String paramString)
{
paramPlayer.sendMessage(paramString + tronc(paramVector.getX(), 2) + " " + tronc(paramVector.getY(), 2) + " " + tronc(paramVector.getZ(), 2));
}
public static void sendCoords(Player paramPlayer, Location paramLocation, String paramString)
{
paramPlayer.sendMessage(paramString + tronc(paramLocation.getX(), 2) + " " + tronc(paramLocation.getY(), 2) + " " + tronc(paramLocation.getZ(), 2));
}
public static Vector rotAxisX(Vector paramVector, double paramDouble)
{
double d1 = paramVector.getY() * Math.cos(paramDouble) - paramVector.getZ() * Math.sin(paramDouble);
double d2 = paramVector.getY() * Math.sin(paramDouble) + paramVector.getZ() * Math.cos(paramDouble);
return paramVector.setY(d1).setZ(d2);
}
public static Vector rotAxisY(Vector paramVector, double paramDouble)
{
double d1 = paramVector.getX() * Math.cos(paramDouble) + paramVector.getZ() * Math.sin(paramDouble);
double d2 = paramVector.getX() * -Math.sin(paramDouble) + paramVector.getZ() * Math.cos(paramDouble);
return paramVector.setX(d1).setZ(d2);
}
public static Vector rotAxisZ(Vector paramVector, double paramDouble)
{
double d1 = paramVector.getX() * Math.cos(paramDouble) - paramVector.getY() * Math.sin(paramDouble);
double d2 = paramVector.getX() * Math.sin(paramDouble) + paramVector.getY() * Math.cos(paramDouble);
return paramVector.setX(d1).setY(d2);
}
public static Vector rotateFunc(Vector paramVector, Location paramLocation)
{
double d1 = paramLocation.getYaw() / 180.0F * 3.141592653589793D;
double d2 = paramLocation.getPitch() / 180.0F * 3.141592653589793D;
paramVector = rotAxisX(paramVector, d2);
paramVector = rotAxisY(paramVector, -d1);
return paramVector;
}
}