mirror of
				https://github.com/SquidDev-CC/CC-Tweaked
				synced 2025-10-31 13:42:59 +00:00 
			
		
		
		
	Merge branch 'mc-1.15.x' into mc-1.16.x
This commit is contained in:
		| @@ -181,9 +181,6 @@ end | ||||
| --- Either calls @{colors.packRGB} or @{colors.unpackRGB}, depending on how many | ||||
| -- arguments it receives. | ||||
| -- | ||||
| -- **Note:** This function is deprecated, and it is recommended you use the | ||||
| -- specific pack/unpack function directly. | ||||
| -- | ||||
| -- @tparam[1] number r The red channel, as an argument to @{colors.packRGB}. | ||||
| -- @tparam[1] number g The green channel, as an argument to @{colors.packRGB}. | ||||
| -- @tparam[1] number b The blue channel, as an argument to @{colors.packRGB}. | ||||
| @@ -192,6 +189,7 @@ end | ||||
| -- @treturn[2] number The red channel, as returned by @{colors.unpackRGB} | ||||
| -- @treturn[2] number The green channel, as returned by @{colors.unpackRGB} | ||||
| -- @treturn[2] number The blue channel, as returned by @{colors.unpackRGB} | ||||
| -- @deprecated Use @{packRGB} or @{unpackRGB} directly. | ||||
| -- @usage | ||||
| -- ```lua | ||||
| -- colors.rgb(0xb23399) | ||||
|   | ||||
| @@ -77,7 +77,7 @@ function formatTime(nTime, bTwentyFourHour) | ||||
|     local nHour = math.floor(nTime) | ||||
|     local nMinute = math.floor((nTime - nHour) * 60) | ||||
|     if sTOD then | ||||
|         return string.format("%d:%02d %s", nHour, nMinute, sTOD) | ||||
|         return string.format("%d:%02d %s", nHour == 0 and 12 or nHour, nMinute, sTOD) | ||||
|     else | ||||
|         return string.format("%d:%02d", nHour, nMinute) | ||||
|     end | ||||
| @@ -335,6 +335,31 @@ empty_json_array = mk_tbl("[]", "empty_json_array") | ||||
| -- @see textutils.unserialiseJSON | ||||
| json_null = mk_tbl("null", "json_null") | ||||
|  | ||||
| local serializeJSONString | ||||
| do | ||||
|     local function hexify(c) | ||||
|         return ("\\u00%02X"):format(c:byte()) | ||||
|     end | ||||
|  | ||||
|     local map = { | ||||
|         ["\""] = "\\\"", | ||||
|         ["\\"] = "\\\\", | ||||
|         ["\b"] = "\\b", | ||||
|         ["\f"] = "\\f", | ||||
|         ["\n"] = "\\n", | ||||
|         ["\r"] = "\\r", | ||||
|         ["\t"] = "\\t", | ||||
|     } | ||||
|     for i = 0, 0x1f do | ||||
|         local c = string.char(i) | ||||
|         if map[c] == nil then map[c] = hexify(c) end | ||||
|     end | ||||
|  | ||||
|     serializeJSONString = function(s) | ||||
|         return ('"%s"'):format(s:gsub("[\0-\x1f\"\\]", map):gsub("[\x7f-\xff]", hexify)) | ||||
|     end | ||||
| end | ||||
|  | ||||
| local function serializeJSONImpl(t, tTracking, bNBTStyle) | ||||
|     local sType = type(t) | ||||
|     if t == empty_json_array then return "[]" | ||||
| @@ -361,7 +386,7 @@ local function serializeJSONImpl(t, tTracking, bNBTStyle) | ||||
|                     if bNBTStyle then | ||||
|                         sEntry = tostring(k) .. ":" .. serializeJSONImpl(v, tTracking, bNBTStyle) | ||||
|                     else | ||||
|                         sEntry = string.format("%q", k) .. ":" .. serializeJSONImpl(v, tTracking, bNBTStyle) | ||||
|                         sEntry = serializeJSONString(k) .. ":" .. serializeJSONImpl(v, tTracking, bNBTStyle) | ||||
|                     end | ||||
|                     if nObjectSize == 0 then | ||||
|                         sObjectResult = sObjectResult .. sEntry | ||||
| @@ -390,7 +415,7 @@ local function serializeJSONImpl(t, tTracking, bNBTStyle) | ||||
|         end | ||||
|  | ||||
|     elseif sType == "string" then | ||||
|         return string.format("%q", t) | ||||
|         return serializeJSONString(t) | ||||
|  | ||||
|     elseif sType == "number" or sType == "boolean" then | ||||
|         return tostring(t) | ||||
|   | ||||
| @@ -1,3 +1,17 @@ | ||||
| # New features in CC: Tweaked 1.91.0 | ||||
|  | ||||
| * [Generic peripherals] Expose NBT hashes of items to inventory methods. | ||||
| * Bump Cobalt version | ||||
|   * Optimise handling of string concatenation. | ||||
|   * Add string.{pack,unpack,packsize} (MCJack123) | ||||
| * Update to 1.16.2 | ||||
|  | ||||
| And several bug fixes: | ||||
| * Escape non-ASCII characters in JSON strings (neumond) | ||||
| * Make field names in fs.attributes more consistent (abby) | ||||
| * Fix textutils.formatTime correctly handle 12 AM (R93950X) | ||||
| * Fix turtles placing buckets multiple times. | ||||
|  | ||||
| # New features in CC: Tweaked 1.90.3 | ||||
|  | ||||
| * Fix the selected slot indicator missing from the turtle GUI. | ||||
|   | ||||
| @@ -1,6 +1,15 @@ | ||||
| New features in CC: Tweaked 1.90.3 | ||||
| New features in CC: Tweaked 1.91.0 | ||||
|  | ||||
| * Fix the selected slot indicator missing from the turtle GUI. | ||||
| * Ensure we load/save computer data from the world directory, rather than a global one. | ||||
| * [Generic peripherals] Expose NBT hashes of items to inventory methods. | ||||
| * Bump Cobalt version | ||||
|   * Optimise handling of string concatenation. | ||||
|   * Add string.{pack,unpack,packsize} (MCJack123) | ||||
| * Update to 1.16.2 | ||||
|  | ||||
| And several bug fixes: | ||||
| * Escape non-ASCII characters in JSON strings (neumond) | ||||
| * Make field names in fs.attributes more consistent (abby) | ||||
| * Fix textutils.formatTime correctly handle 12 AM (R93950X) | ||||
| * Fix turtles placing buckets multiple times. | ||||
|  | ||||
| Type "help changelog" to see the full version history. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 SquidDev
					SquidDev