diff --git a/README.md b/README.md
index 9773a268..de22f0a9 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
EffectLib - Manage your effects the nice way.
=========
+
You have no idea what a vector or matrix is, but you want to give your users some nice effects with particles? No problem. this library comes with a load of effects for you. It handles rotation, text-parsing, and creation of 3D objects with particles in Minecraft.
- Text-Parsing
diff --git a/src/main/java/de/slikey/effectlib/util/ParticleEffect.java b/src/main/java/de/slikey/effectlib/util/ParticleEffect.java
index 66c86309..d3328e57 100755
--- a/src/main/java/de/slikey/effectlib/util/ParticleEffect.java
+++ b/src/main/java/de/slikey/effectlib/util/ParticleEffect.java
@@ -476,7 +476,10 @@ public enum ParticleEffect {
BUBBLE_COLUMN_UP("bubble_column_up"),
/**
- * TODO: Document me!
+ * A particle effect which is generated by conduits
+ *
+ * - It looks like a small blue orb with a brown center
+ *
*/
NAUTILUS("nautilus"),
diff --git a/src/main/java/de/slikey/effectlib/util/VectorUtils.java b/src/main/java/de/slikey/effectlib/util/VectorUtils.java
index 91eb0cb6..4c3dc36b 100644
--- a/src/main/java/de/slikey/effectlib/util/VectorUtils.java
+++ b/src/main/java/de/slikey/effectlib/util/VectorUtils.java
@@ -36,20 +36,20 @@ public static final Vector rotateAroundAxisZ(Vector v, double angle) {
}
public static final Vector rotateVector(Vector v, double angleX, double angleY, double angleZ) {
- // double x = v.getX(), y = v.getY(), z = v.getZ();
- // double cosX = Math.cos(angleX), sinX = Math.sin(angleX), cosY =
- // Math.cos(angleY), sinY = Math.sin(angleY), cosZ = Math.cos(angleZ),
- // sinZ = Math.sin(angleZ);
- // double nx, ny, nz;
- // nx = (x * cosY + z * sinY) * (x * cosZ - y * sinZ);
- // ny = (y * cosX - z * sinX) * (x * sinZ + y * cosZ);
- // nz = (y * sinX + z * cosX) * (-x * sinY + z * cosY);
- // return v.setX(nx).setY(ny).setZ(nz);
- // Having some strange behavior up there.. Have to look in it later. TODO
- rotateAroundAxisX(v, angleX);
- rotateAroundAxisY(v, angleY);
- rotateAroundAxisZ(v, angleZ);
- return v;
+ double x = v.getX(), y = v.getY(), z = v.getZ();
+ double cosX = Math.cos(angleX), sinX = Math.sin(angleX),
+ cosY = Math.cos(angleY), sinY = Math.sin(angleY),
+ cosZ = Math.cos(angleZ), sinZ = Math.sin(angleZ);
+ double nx, ny, nz;
+ ny = y * cosX - z * sinX;
+ nz = y * sinX + z * cosX;
+ y = ny; z = nz;
+ nx = x * cosY + z * sinY;
+ nz = x * -sinY + z* cosY;
+ x = nx;
+ nx = x * cosZ - y * sinZ;
+ ny = x * sinZ + y * cosZ;
+ return v.setX(nx).setY(ny).setZ(nz);
}
/**