Hiranus icon

ColorManagement

Hiranus | PRO | 06/17/19 12:57:42 PM UTC | 0 ⭐ | 435 👁️ | Never ⏰ | []
Lua |

1.2 KB

|

None

|

0 👍

/

0 👎

local CurrentColors = nil;
local DataLoaded = false;
local ConfigFile = "CurrentColors.json";
 
local function SetColorAndSave(side)
  redstone.setBundledOutput(side,CurrentColors[side]);
  JsonSaveLoad.Save(ConfigFile,CurrentColors);
end
 
local function AddBundledOutputColor(side,newColor)
  CurrentColors[side] = colors.combine(CurrentColors[side],newColor);
  SetColorAndSave(side);
end
 
local function RemoveBundledOutputColor(side,newColor)
  CurrentColors[side] = colors.subtract(CurrentColors[side],newColor);
  SetColorAndSave(side);
end
 
local function Init()
  if DataLoaded == false then
    DataLoaded = true;
    if fs.exists(ConfigFile) then
      CurrentColors = JsonSaveLoad.Load(ConfigFile);
    else
      CurrentColors = {up=0 ,down=0 ,left=0 ,right=0 ,front=0 ,back=0};
      JsonSaveLoad.Save(ConfigFile,CurrentColors);
    end
    for k,v in pairs(CurrentColors) do
      redstone.setBundledOutput(k,v);
    end
  end
end
 
function InitalizeColors(side)
  Init()
  local self = {};
  self.AddColor = function(num)
    AddBundledOutputColor(side,2^num);
  end
  self.RemoveColor = function(num)
    RemoveBundledOutputColor(side,2^num);
  end
  return self;
end

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎