Sparrow

From Ornithe Wiki
Revision as of 08:10, 13 August 2025 by Space Walker (talk | contribs) (create Sparrow page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Sparrow is Ornithe's generics patch. It is used to modify generic type signatures in Java class files.

See Signature Changer for information on generic type signatures and how these patches are applied.

Relevance

Most Minecraft versions before 1.8.2 Pre-release 5 had the generic type signatures stripped from the jar. Sparrow was created in an effort to reconstruct what the original generics would have been in the source code.

File Specification

The .sigs file format was originally created by Gaming32. .sigs files are UTF-8 encoded text files. A line has the following format.

<class name>	[<class signature>]
	<member name>	<member type descriptor>	<member signature>
	...
...
  • class name: the internal name of the class.
  • class signature: the generic type signature of the class (optional).
  • member name: the name of the field or method.
  • member type descriptor: the type descriptor of the field or method.
  • member signature: the generic type signature of the field or method.

Notes

The file format does not support generic type signatures for local variables.