Raven: Difference between revisions

From Ornithe Wiki
Jump to navigation Jump to search
(add Raven page)
 
(fix file spec section)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
Raven is Ornithe's patch for method throws clauses. They are used to modify methods attributes in Java class files.
Raven is Ornithe's patch for method throws clauses. It is used to modify methods attributes in Java class files.


See [[Exceptor]] for information on methods attributes and how these patches are applied.
See [[Exceptor]] for information on methods attributes and how these patches are applied.
Line 9: Line 9:
=== File Specification ===
=== File Specification ===


<code>.excs</code> files are <code>UTF-8</code> encoded text files. Each line defines the relationship between a class and its outer class and, if applicable, outer method. A line has the following format.
<code>.excs</code> files are <code>UTF-8</code> encoded text files. A line has the following format.


  <class name> <method name> <method type name>[ <exception class name>...]
  <class name>
<method name> <method type name>[ <exception class name>...]
...
...


* <code>class name</code>: the internal name of the class.
* <code>class name</code>: the internal name of the class.

Latest revision as of 08:00, 13 August 2025

Raven is Ornithe's patch for method throws clauses. It is used to modify methods attributes in Java class files.

See Exceptor for information on methods attributes and how these patches are applied.

Relevance

Most Minecraft versions before 1.8.2 Pre-release 5 had the exceptions from the methods attributes stripped from the jar. Raven was created in an effort to reconstruct what the original method throws clauses would have been in the source code.

File Specification

.excs files are UTF-8 encoded text files. A line has the following format.

<class name>
	<method name>	<method type name>[	<exception class name>...]
	...
...
  • class name: the internal name of the class.
  • method name: the method name.
  • method type descriptor: the descriptor describing the type of the method.
  • exception class name: the internal name of the exception class.