Commit Graph

51 Commits

Author SHA1 Message Date
Eric Freed 82399f243b fixed bug with Stringify giving ToString output 2023-09-01 01:54:21 -04:00
Eric Freed bcd41b37f0 Compound and List tags now assign/unassign parent on insertion/deletion 2023-08-27 16:37:14 -04:00
Eric Freed 11f3c4d70c Removed SerializableAttribute and ISerializable interface from tags. Improved JSON output. 2023-08-27 15:27:44 -04:00
Eric Freed 5d974eeeb4 Renamed EndianExtensions to NumberExtensions, included SNBT-related methods.
The Tag class no longer used Regex to identify if a name needs quoted or not.
2023-08-27 15:25:50 -04:00
Eric Freed 95af348ddc Removed unneeded classes, reimplemented ListTag 2023-08-27 04:37:49 -04:00
Eric Freed a4ecca89a8 Reimplemented CompoundTag as a Dictionary 2023-08-27 04:03:33 -04:00
Eric Freed b50d5ebbd6 refactoring and optimization 2023-08-27 03:13:05 -04:00
Eric Freed 05126cee2a Standardized positioning of scanner after reading each data element 2023-08-27 01:33:28 -04:00
Eric Freed f46d240767 Implemented a new SNBT parser that does not use regex 2023-08-26 23:33:08 -04:00
Eric Freed 37723a5282 Fixed nullability 2023-08-26 20:08:20 -04:00
Eric Freed 6c26878ad7 Added int overloads, add bool functionality to ByteTag 2023-08-26 20:07:35 -04:00
Eric Freed d73bc2fbcf Changed target to .NET 7 with latest language version
Changed to use latest language/runtime, as well as adopt modern style/syntax.
2023-08-26 19:13:50 -04:00
David Schulte a091788fa4 Fixed an issue with .NET 6 where `TagReader` only partially reads the stream because the returned value of `Read` was ignored. 2022-06-15 15:45:01 +02:00
ForeverZer0 f27bebf6c9 - Fixed SNBT bug that would not parse boolean values
- Implemented BoolTag type for convenience
- Implemented compiled regular expressions
2021-09-18 18:46:43 -04:00
ForeverZer0 c1ecfb75ee Updated NuGet package to 1.1 2021-08-31 23:03:11 -04:00
ForeverZer0 4d208e0506 Implemented parsing SNBT from stream
Added documentation
2021-08-31 22:59:26 -04:00
ForeverZer0 79c97696f4 Changed string formatting of floating point numbers to always include decimal point 2021-08-31 22:18:48 -04:00
ForeverZer0 92112ac887 Implemented SNBT parser 2021-08-31 22:16:27 -04:00
ForeverZer0 31aac628b6 Fixed formatting with ByteArray and LongArray 2021-08-31 19:33:57 -04:00
ForeverZer0 16369b68e3 Implemented generating SNBT from tags 2021-08-31 01:32:36 -04:00
ForeverZer0 ef6c5e1ed0 Added missing XML documentation for publicly visible members 2021-08-25 19:38:41 -04:00
ForeverZer0 1aee10f0ad Added forgotten Strings.Designer.cs file 2021-08-25 19:25:06 -04:00
ForeverZer0 e0d1fe9438 Moved string literals for messages into new Strings.resx file 2021-08-25 19:01:59 -04:00
ForeverZer0 bb54ab6aa6 Added generic Read methods to NbtFile for any TagContainer type instead of only CompoundTag 2021-08-25 17:42:37 -04:00
ForeverZer0 6ddd8c8322 Added comments and annotations 2021-08-25 05:21:56 -04:00
ForeverZer0 8b3bc44710 Added annotations 2021-08-25 05:15:10 -04:00
ForeverZer0 59b38baa3d Implemented ICloneable interface for tags 2021-08-25 05:11:57 -04:00
ForeverZer0 51efe12e54 Moved BaseStream field to TagIO 2021-08-25 04:52:05 -04:00
ForeverZer0 39fdbfba13 Added Context class in TagBuilders 2021-08-25 04:31:28 -04:00
ForeverZer0 7e30b7f898 Implemented BufferedTagWriter class 2021-08-25 03:12:32 -04:00
ForeverZer0 a3e5ce5f5a Added callbacks to TagReader class to permit user-handled parsing 2021-08-25 00:55:43 -04:00
ForeverZer0 778d15f44b Updated README.md, added CODE_OF_CONDUCT.md and LICENSE.txt 2021-08-24 23:34:56 -04:00
ForeverZer0 76a4f15a56 Documentation 2021-08-24 22:59:04 -04:00
ForeverZer0 87ddf70abf Added protected constructors for serialization for all unsealed serializable classes 2021-08-24 22:40:29 -04:00
ForeverZer0 b5005ffdcc Abstracted DisposeAsync to TagIO class 2021-08-24 22:24:28 -04:00
ForeverZer0 c1f6f3d721 Removed unused using declarations 2021-08-24 20:46:33 -04:00
ForeverZer0 36bbe4844a CompoundTag indexer using tag names implemented 2021-08-24 20:45:10 -04:00
ForeverZer0 22aef3be81 Converted DataContract members to ISerializable interface for finer control 2021-08-24 20:31:13 -04:00
ForeverZer0 4aa2959e7e Code cleanup, added annotations 2021-08-24 18:36:10 -04:00
ForeverZer0 fb5465ab7c Implemented TagReader to support Java, Bedrock (file) and Bedrock (network) protocols 2021-08-24 17:30:41 -04:00
ForeverZer0 3c12e34eec Implemented TagWriter class to support Java, Bedrock file, and Bedrock network specs 2021-08-24 09:48:49 -04:00
ForeverZer0 01ed594061 Removed some obsolete tests 2021-08-24 08:30:11 -04:00
ForeverZer0 e04e32ed69 Implemented VarInt and VarLong with optional ZigZag encoding 2021-08-24 08:11:32 -04:00
ForeverZer0 3672fad3cb Implemented ZLib streams
Refactored tag classes into own namespace
2021-08-24 02:55:03 -04:00
ForeverZer0 22f0404561 Implemented VarInt class
Included some additional annotations to NbtFile class
2021-08-23 05:11:22 -04:00
ForeverZer0 9440a9bff3 Cleaned up and documented TagReader and TagWriter classes 2021-08-23 04:24:17 -04:00
ForeverZer0 8a35ed1d9f Transitioned from a single NbtStream class to a separate TagReader and TagWriter classes
Added a static NbtFile class for convenience methods when working with files
2021-08-23 03:41:26 -04:00
ForeverZer0 e728f47790 Implemented IEquatable interface for tags
Error checking names/types with list types is down performed within the abstract base list itself when added, not during serialization
2021-08-23 00:17:06 -04:00
ForeverZer0 68dd7aa011 Implemented output to JSON/XML
Simplified reading/writing algorithms
Endian swapping is now performed via grouped bit-shifts
2021-08-22 23:43:45 -04:00
ForeverZer0 bf700464fa Implemented a stack getting naming strategy during serialization 2021-08-21 18:45:14 -04:00