diff options
Diffstat (limited to 'src/main/java/kekztech/Util.java')
-rw-r--r-- | src/main/java/kekztech/Util.java | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/main/java/kekztech/Util.java b/src/main/java/kekztech/Util.java index ccbcc799e6..78dee44f75 100644 --- a/src/main/java/kekztech/Util.java +++ b/src/main/java/kekztech/Util.java @@ -4,6 +4,9 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import org.joml.Vector3i; +import org.joml.Vector3ic; + import items.ErrorItem; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; @@ -11,6 +14,42 @@ import net.minecraftforge.oredict.OreDictionary; public class Util { + public static Vector3ic rotateOffsetVector(Vector3ic forgeDirection, int x, int y, int z) { + final Vector3i offset = new Vector3i(); + + // either direction on z-axis + if(forgeDirection.x() == 0 && forgeDirection.z() == -1) { + offset.x = x; + offset.y = y; + offset.z = z; + } + if(forgeDirection.x() == 0 && forgeDirection.z() == 1) { + offset.x = -x; + offset.y = y; + offset.z = -z; + } + // either direction on x-axis + if(forgeDirection.x() == -1 && forgeDirection.z() == 0) { + offset.x = z; + offset.y = y; + offset.z = -x; + } + if(forgeDirection.x() == 1 && forgeDirection.z() == 0) { + offset.x = -z; + offset.y = y; + offset.z = x; + } + // either direction on y-axis + if(forgeDirection.y() == -1) { + offset.x = x; + offset.y = z; + offset.z = y; + } + + return offset; + } + + @Deprecated public static ItemStack getStackofAmountFromOreDict(String oredictName, final int amount){ final ArrayList<ItemStack> list = OreDictionary.getOres(oredictName); if(!list.isEmpty()) { |