Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement