OSDN Git Service

W.I.P. Improved slope shading
[automap/automap.git] / Automap / Helpers.cs
index 205f450..2aa7d3b 100644 (file)
@@ -37,14 +37,14 @@ namespace Automap
             int q = Convert.ToInt32(value * (1 - f * saturation));
             int t = Convert.ToInt32(value * (1 - (1 - f) * saturation));
 
-            return hi switch
+                       switch (hi) 
             {
-                0 => Color.FromArgb(255, v, t, p),
-                1 => Color.FromArgb(255, q, v, p),
-                2 => Color.FromArgb(255, p, v, t),
-                3 => Color.FromArgb(255, p, q, v),
-                4 => Color.FromArgb(255, t, p, v),
-                _ => Color.FromArgb(255, v, p, q),
+                               case 0: return Color.FromArgb(255, v, t, p);
+                               case 1: return Color.FromArgb(255, q, v, p);
+                               case 2: return Color.FromArgb(255, p, v, t);
+                               case 3: return Color.FromArgb(255, p, q, v);
+                               case 4: return Color.FromArgb(255, t, p, v);
+                               default: return Color.FromArgb(255, v, p, q);
             };
         }
 
@@ -94,6 +94,11 @@ namespace Automap
             return whichever;
         }
 
+               public static ushort RainHeight2DMap(this IMapChunk mapChunk, int x, int y, int chunkSize = 32)
+               {
+                       int index = y % chunkSize * chunkSize + x % chunkSize;
+                       return mapChunk.RainHeightMap[index];
+               }
 
 
         /// <summary>
@@ -160,28 +165,12 @@ namespace Automap
             return arbBlockIDTable;
         }
 
-
-
-        /// <summary>
-        /// Chunk local index. Not block position!
-        /// </summary>
-        /// <remarks>Clamps to 5 bit ranges automagically</remarks>
-        public static int ChunkBlockIndicie16(int X_index, int Y_index, int Z_index)
-        {
-            return ((Y_index & 31) * 32 + (Z_index & 31)) * 32 + (X_index & 31);
-        }
-
-        /// <summary>
-        /// Chunk index converted from block position (in world)
-        /// </summary>
-        /// <returns>The block indicie.</returns>
-        /// <param name="blockPos">Block position.</param>
-        /// <remarks>Clamps to 5 bit ranges automagically</remarks>
-        public static int ChunkBlockIndicie16(BlockPos blockPos)
-        {
-            //Chunk masked
-            return ((blockPos.Y & 31) * 32 + (blockPos.Z & 31)) * 32 + (blockPos.X & 31);
-        }
+               public static Mod Self(this ICoreClientAPI ownApi)
+               {
+               AutomapMod ownMod = ownApi.ModLoader.GetModSystem<AutomapMod>( );
+               return ownMod.Mod;
+               }
+                      
     }
 }