diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 5f6c2e7c9..000000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "fml"] - path = fml - url = https://github.com/MinecraftForge/FML.git diff --git a/fml b/fml deleted file mode 160000 index 1c025f184..000000000 --- a/fml +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1c025f18433df868859022eea8e6d198444736de diff --git a/fml/.gitattributes b/fml/.gitattributes new file mode 100644 index 000000000..758843d9b --- /dev/null +++ b/fml/.gitattributes @@ -0,0 +1,14 @@ +* text eol=lf +*.bat text eol=crlf +*.patch text eol=lf +*.java text eol=lf +*.gradle text eol=crlf +*.png binary +*.exe binary +*.dll binary +*.jar binary +*.lzma binary +*.zip binary +*.pyd binary +*.cfg text eol=lf +*.py text eol=lf \ No newline at end of file diff --git a/fml/.gitignore b/fml/.gitignore new file mode 100644 index 000000000..4c40071d7 --- /dev/null +++ b/fml/.gitignore @@ -0,0 +1,21 @@ +#eclipse +/bin +/.settings +/.classpath + +#idea +/.idea +*.iml + +#gradle +/build +/buildSrc +/.gradle + +#occupational hazards +/eclipse/ +/repo/ + + +#Patch reject +*.rej \ No newline at end of file diff --git a/fml/CREDITS-fml.txt b/fml/CREDITS-fml.txt new file mode 100644 index 000000000..97122f5d3 --- /dev/null +++ b/fml/CREDITS-fml.txt @@ -0,0 +1,28 @@ +This is Forge Mod Loader. + +You can find the source code at all times at https://github.com/MinecraftForge/FML + +This minecraft mod is a clean open source implementation of a mod loader for minecraft servers +and minecraft clients. + +The code is authored by cpw. + +It began by partially implementing an API defined by the client side ModLoader, authored by Risugami. +http://www.minecraftforum.net/topic/75440- +This support has been dropped as of Minecraft release 1.7, as Risugami no longer maintains ModLoader. + +It also contains suggestions and hints and generous helpings of code from LexManos, author of MinecraftForge. +http://www.minecraftforge.net/ + +Additionally, it contains an implementation of topological sort based on that +published at http://keithschwarz.com/interesting/code/?dir=topological-sort + +It also contains code from the Maven project for performing versioned dependency +resolution. http://maven.apache.org/ + +It also contains a partial repackaging of the javaxdelta library from http://sourceforge.net/projects/javaxdelta/ +with credit to it's authors. + +Forge Mod Loader downloads components from the Minecraft Coder Pack +(http://mcp.ocean-labs.de/index.php/Main_Page) with kind permission from the MCP team. + diff --git a/fml/LICENSE-fml.txt b/fml/LICENSE-fml.txt new file mode 100644 index 000000000..26cca072e --- /dev/null +++ b/fml/LICENSE-fml.txt @@ -0,0 +1,491 @@ +This minecraft mod, Forge Mod Loader, including all parts herein except as noted below, +is licensed under the GNU LGPL v2.1 or later. + +Homepage: https://github.com/MinecraftForge/FML + +This software includes portions from the Apache Maven project at +http://maven.apache.org/ specifically the ComparableVersion.java code. It is +included based on guidelines at +http://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html +with notices intact. The only change is a non-functional change of package name. + +This software contains a partial repackaging of javaxdelta, a BSD licensed program for generating +binary differences and applying them, sourced from the subversion at http://sourceforge.net/projects/javaxdelta/ +authored by genman, heikok, pivot. +The only changes are to replace some Trove collection types with standard Java collections, and repackaged. + + +=== MCP Data === +This software includes data from the Minecraft Coder Pack (MCP), with kind permission +from them. The license to MCP data is not transitive - distribution of this data by +third parties requires independent licensing from the MCP team. This data is not +redistributable without permission from the MCP team. + +=== Sharing === +I grant permission for some parts of FML to be redistributed outside the terms of the LGPL, for the benefit of +the minecraft modding community. All contributions to these parts should be licensed under the same additional grant. + +-- Runtime patcher -- +License is granted to redistribute the runtime patcher code (common/cpw/mods/fml/patcher and subdirectories) under +any alternative open source license as classified by the OSI (http://opensource.org/licenses) + +-- ASM transformers -- +License is granted to redistribute the ASM transformer code (common/cpw/mods/fml/common/asm/ and subdirectories) +under any alternative open source license as classified by the OSI (http://opensource.org/licenses) + +======== + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/fml/README.txt b/fml/README.txt new file mode 100644 index 000000000..3173eb3cf --- /dev/null +++ b/fml/README.txt @@ -0,0 +1,94 @@ +This is Forge Mod Loader, or FML for short, by cpw. + +More information can be found at https://github.com/MinecraftForge/FML/wiki + +It is a clean reimplementation of a mod loading system for client and server. + +It can be installed on its own, or as part of Minecraft Forge. + +---------------------- +About Forge Mod Loader +---------------------- + +Environments and compatibility +============================== +FML covers two main environments: client and server. All environments share +the main mod loading code base, with additional varying hooks based on the +specific environment. + +There are some very visible changes to the client when FML is installed. + +There are some bukkit compatibility hooks available, consult MCPC+, now known as Cauldron +for more information. + +Minecraft Forge in all cases bundles FML as it's modloading technology of choice +because FML is open source, freely distributable, and can be easily updated by +contributors through github. + +Notable integrations +==================== +Optifine has FML compatibility. It varies from Optifine release to release, however +in general it will work well alongside an FML or +Minecraft Forge installation. FML will detect and ensure the good operation of +Optifine (you can see it in your client as an additional data line on the +bottom left). + +Mod information +=============== +FML exposes the mod information through a mod list visible on the main screen as +well as some small branding enhancements. For full data mods need to provide an +information file. This file is a standard format so hopefully tools providing +launch capabilities can also leverage this content. + +------------------------------- +Binary installation information +------------------------------- +If you have downloaded a binary zip file you can install it as follows (client +or server): + +Installation +============ +To install on a server, simply execute the FML or Forge jar file, with a copy of +minecraft_server-@MC_VERSION@.jar placed in the same directory. FML will launch +it's patched copy. + +To install on a client, run the installer by executing java -jar .jar. +It will identify the location of you minecraft installation (this can be customized) +and create a new profile "FML" there. + +Forge Installation +================== +This code also ships as a part of Minecraft Forge. You do not need to install it +separately from your Minecraft Forge installation. Minecraft Forge contains the +exact same code as this. You should not install FML if you are also installing +Minecraft Forge. + +------------------------------------------- +Source installation information for modders +------------------------------------------- +This code follows the Minecraft Forge installation methodology. It will apply +some small patches to the vanilla MCP source code, giving you and it access +to some of the data and functions you need to build a successful mod. + +Note also that the patches are built against "unrenamed" MCP source code (aka +srgnames) - this means that you will not be able to read them directly against +normal code. + +Source pack installation information: + +Standalone source installation +============================== + +To install this source code for development purposes, extract this zip file. +It ships with a demonstration mod. Run "gradle setupDevWorkspace" to create +a gradle environment primed with FML. Run gradle eclipse or gradle idea to +create an IDE workspace of your choice. +Refer to ForgeGradle for more information about the gradle environment + +Forge source installation +========================= +MinecraftForge ships with this code and installs it as part of the forge +installation process, no further action is required on your part. + +For reference this is version @MAJOR@.@MINOR@.@REV@.@BUILD@ of FML +for Minecraft version @MCVERSION@. diff --git a/fml/build.gradle b/fml/build.gradle new file mode 100644 index 000000000..260289976 --- /dev/null +++ b/fml/build.gradle @@ -0,0 +1,112 @@ +buildscript { + repositories { + mavenCentral() + mavenLocal() + maven { + name = "forge" + url = "http://files.minecraftforge.net/maven" + } + maven { + name = "sonatype" + url = "https://oss.sonatype.org/content/repositories/snapshots/" + } + } + dependencies { + classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' + } +} + +import static net.minecraftforge.gradle.dev.FmlDevPlugin.* + +apply plugin: 'maven' +apply plugin: 'fmldev' + +repositories { + flatDir { + name "fileRepo" + dirs "repo" + } +} + +minecraft { + version = '1.8' + mcpVersion = '9.10' + mappings = 'snapshot_nodoc_20141130' + fmlDir = projectDir.getAbsolutePath(); + mainClass = 'net.minecraftforge.fml.relauncher.ServerLaunchWrapper' + tweakClass = 'net.minecraftforge.fml.common.launcher.FMLTweaker' + installerVersion = "1.4" +} + +group = 'net.minecraftforge' +version = getVersionFromGit(getProject()) + +jenkins { + job = 'fml' +} + +uploadArchives { + repositories { + if (project.hasProperty("filesmaven")) { + logger.info('Publishing to files server') + + mavenDeployer { + configuration = configurations.deployJars + + repository(url: project.filesmaven.url) { + authentication(userName: project.filesmaven.username, privateKey: project.filesmaven.key) + } + + pom { + groupId = project.group + version = project.version + artifactId = project.archivesBaseName + project { + name project.archivesBaseName + packaging 'jar' + description 'ForgeModLoader' + url 'https://github.com/MinecraftForge/FML' + + scm { + url 'https://github.com/MinecraftForge/FML' + connection 'scm:git:git://github.com/MinecraftForge/FML.git' + developerConnection 'scm:git:git@github.com:MinecraftForge/FML.git' + } + + issueManagement { + system 'github' + url 'https://github.com/MinecraftForge/FML/issues' + } + + licenses { + license { + name 'GNU Lesser Public License (LGPL), Version 2.1' + url 'http://www.gnu.org/licenses/lgpl-2.1.txt' + distribution 'repo' + } + } + + developers { + developer { + id 'cpw' + name 'cpw' + roles { role 'developer' } + } + developer { + id 'LexManos' + name 'Lex Manos' + roles { role 'developer' } + } + } + } + } + } + } else { + logger.info('Publishing to repo folder') + + mavenDeployer { + repository(url: 'file://localhost/' + project.file('repo').getAbsolutePath()) + } + } + } +} diff --git a/fml/conf/astyle.cfg b/fml/conf/astyle.cfg new file mode 100644 index 000000000..9eb5562a5 --- /dev/null +++ b/fml/conf/astyle.cfg @@ -0,0 +1,19 @@ +# Artistic Style format configuration +# see http://astyle.sourceforge.net/astyle.html + +style=allman + +add-brackets +break-closing-brackets + +indent-switches + +max-instatement-indent=40 + +pad-oper +pad-header +unpad-paren + +break-blocks + +delete-empty-lines diff --git a/fml/conf/exceptor.json b/fml/conf/exceptor.json new file mode 100644 index 000000000..a554b3254 --- /dev/null +++ b/fml/conf/exceptor.json @@ -0,0 +1,18447 @@ +{ + "net/minecraft/block/Block": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/Block$SoundType", + "inner_name": "SoundType", + "outer_class": "net/minecraft/block/Block", + "start": "163" + }, + { + "inner_class": "net/minecraft/block/Block$1", + "start": "192" + }, + { + "inner_class": "net/minecraft/block/Block$2", + "start": "206" + }, + { + "inner_class": "net/minecraft/block/Block$3", + "start": "212" + }, + { + "inner_class": "net/minecraft/block/Block$4", + "start": "223" + }, + { + "access": "4029", + "inner_class": "net/minecraft/block/Block$EnumOffsetType", + "inner_name": "EnumOffsetType", + "outer_class": "net/minecraft/block/Block", + "start": "916" + } + ] + }, + "net/minecraft/block/Block$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/Block" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/Block$1", + "start": "192" + } + ] + }, + "net/minecraft/block/Block$2": { + "enclosingMethod": { + "owner": "net/minecraft/block/Block" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/Block$2", + "start": "206" + } + ] + }, + "net/minecraft/block/Block$3": { + "enclosingMethod": { + "owner": "net/minecraft/block/Block" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/Block$3", + "start": "212" + } + ] + }, + "net/minecraft/block/Block$4": { + "enclosingMethod": { + "owner": "net/minecraft/block/Block" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/Block$4", + "start": "223" + } + ] + }, + "net/minecraft/block/Block$EnumOffsetType": { + "enclosingMethod": { + "owner": "net/minecraft/block/Block" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/Block$EnumOffsetType", + "inner_name": "EnumOffsetType", + "outer_class": "net/minecraft/block/Block", + "start": "916" + } + ] + }, + "net/minecraft/block/Block$SoundType": { + "enclosingMethod": { + "owner": "net/minecraft/block/Block" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/Block$SoundType", + "inner_name": "SoundType", + "outer_class": "net/minecraft/block/Block", + "start": "163" + } + ] + }, + "net/minecraft/block/BlockAnvil": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/BlockAnvil$Anvil", + "inner_name": "Anvil", + "outer_class": "net/minecraft/block/BlockAnvil", + "start": "114" + } + ] + }, + "net/minecraft/block/BlockAnvil$Anvil": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockAnvil" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/BlockAnvil$Anvil", + "inner_name": "Anvil", + "outer_class": "net/minecraft/block/BlockAnvil", + "start": "114" + } + ] + }, + "net/minecraft/block/BlockBanner": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/BlockBanner$BlockBannerHanging", + "inner_name": "BlockBannerHanging", + "outer_class": "net/minecraft/block/BlockBanner", + "start": "125" + }, + { + "access": "29", + "inner_class": "net/minecraft/block/BlockBanner$BlockBannerStanding", + "inner_name": "BlockBannerStanding", + "outer_class": "net/minecraft/block/BlockBanner", + "start": "192" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockBanner$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockBanner" + } + ] + }, + "net/minecraft/block/BlockBanner$BlockBannerHanging": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockBanner" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/BlockBanner$BlockBannerHanging", + "inner_name": "BlockBannerHanging", + "outer_class": "net/minecraft/block/BlockBanner", + "start": "125" + } + ] + }, + "net/minecraft/block/BlockBanner$BlockBannerStanding": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockBanner" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/BlockBanner$BlockBannerStanding", + "inner_name": "BlockBannerStanding", + "outer_class": "net/minecraft/block/BlockBanner", + "start": "192" + } + ] + }, + "net/minecraft/block/BlockBanner$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockBanner" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockBanner$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockBanner" + } + ] + }, + "net/minecraft/block/BlockBeacon": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockBeacon$1", + "start": "90" + } + ] + }, + "net/minecraft/block/BlockBeacon$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V", + "name": "func_176450_d", + "owner": "net/minecraft/block/BlockBeacon" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockBeacon$1", + "start": "90" + }, + { + "inner_class": "net/minecraft/block/BlockBeacon$1$1", + "start": "99" + } + ] + }, + "net/minecraft/block/BlockBeacon$1$1": { + "enclosingMethod": { + "desc": "()V", + "name": "run", + "owner": "net/minecraft/block/BlockBeacon$1" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockBeacon$1$1", + "start": "99" + } + ] + }, + "net/minecraft/block/BlockBed": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockBed$EnumPartType", + "inner_name": "EnumPartType", + "outer_class": "net/minecraft/block/BlockBed", + "start": "270" + } + ] + }, + "net/minecraft/block/BlockBed$EnumPartType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockBed" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockBed$EnumPartType", + "inner_name": "EnumPartType", + "outer_class": "net/minecraft/block/BlockBed", + "start": "270" + } + ] + }, + "net/minecraft/block/BlockButton": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockButton$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockButton" + } + ] + }, + "net/minecraft/block/BlockButton$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockButton" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockButton$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockButton" + } + ] + }, + "net/minecraft/block/BlockCocoa": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockCocoa$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockCocoa" + } + ] + }, + "net/minecraft/block/BlockCocoa$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockCocoa" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockCocoa$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockCocoa" + } + ] + }, + "net/minecraft/block/BlockDirt": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockDirt$DirtType", + "inner_name": "DirtType", + "outer_class": "net/minecraft/block/BlockDirt", + "start": "78" + } + ] + }, + "net/minecraft/block/BlockDirt$DirtType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockDirt" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockDirt$DirtType", + "inner_name": "DirtType", + "outer_class": "net/minecraft/block/BlockDirt", + "start": "78" + } + ] + }, + "net/minecraft/block/BlockDoor": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockDoor$EnumDoorHalf", + "inner_name": "EnumDoorHalf", + "outer_class": "net/minecraft/block/BlockDoor", + "start": "353" + }, + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockDoor$EnumHingePosition", + "inner_name": "EnumHingePosition", + "outer_class": "net/minecraft/block/BlockDoor", + "start": "369" + } + ] + }, + "net/minecraft/block/BlockDoor$EnumDoorHalf": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockDoor" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockDoor$EnumDoorHalf", + "inner_name": "EnumDoorHalf", + "outer_class": "net/minecraft/block/BlockDoor", + "start": "353" + } + ] + }, + "net/minecraft/block/BlockDoor$EnumHingePosition": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockDoor" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockDoor$EnumHingePosition", + "inner_name": "EnumHingePosition", + "outer_class": "net/minecraft/block/BlockDoor", + "start": "369" + } + ] + }, + "net/minecraft/block/BlockDoublePlant": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockDoublePlant$EnumPlantType", + "inner_name": "EnumPlantType", + "outer_class": "net/minecraft/block/BlockDoublePlant", + "start": "282" + }, + { + "access": "4028", + "inner_class": "net/minecraft/block/BlockDoublePlant$EnumBlockHalf", + "inner_name": "EnumBlockHalf", + "outer_class": "net/minecraft/block/BlockDoublePlant", + "start": "344" + } + ] + }, + "net/minecraft/block/BlockDoublePlant$EnumBlockHalf": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockDoublePlant" + }, + "innerClasses": [ + { + "access": "4028", + "inner_class": "net/minecraft/block/BlockDoublePlant$EnumBlockHalf", + "inner_name": "EnumBlockHalf", + "outer_class": "net/minecraft/block/BlockDoublePlant", + "start": "344" + } + ] + }, + "net/minecraft/block/BlockDoublePlant$EnumPlantType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockDoublePlant" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockDoublePlant$EnumPlantType", + "inner_name": "EnumPlantType", + "outer_class": "net/minecraft/block/BlockDoublePlant", + "start": "282" + } + ] + }, + "net/minecraft/block/BlockFlower": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockFlower$1", + "start": "49" + }, + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockFlower$EnumFlowerColor", + "inner_name": "EnumFlowerColor", + "outer_class": "net/minecraft/block/BlockFlower", + "start": "69" + }, + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockFlower$EnumFlowerType", + "inner_name": "EnumFlowerType", + "outer_class": "net/minecraft/block/BlockFlower", + "start": "83" + } + ] + }, + "net/minecraft/block/BlockFlower$1": { + "enclosingMethod": { + "desc": "()Lnet/minecraft/block/properties/IProperty;", + "name": "func_176494_l", + "owner": "net/minecraft/block/BlockFlower" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockFlower$1", + "start": "49" + } + ] + }, + "net/minecraft/block/BlockFlower$EnumFlowerColor": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockFlower" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockFlower$EnumFlowerColor", + "inner_name": "EnumFlowerColor", + "outer_class": "net/minecraft/block/BlockFlower", + "start": "69" + } + ] + }, + "net/minecraft/block/BlockFlower$EnumFlowerType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockFlower" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockFlower$EnumFlowerType", + "inner_name": "EnumFlowerType", + "outer_class": "net/minecraft/block/BlockFlower", + "start": "83" + }, + { + "inner_class": "net/minecraft/block/BlockFlower$EnumFlowerType$1", + "start": "106" + } + ] + }, + "net/minecraft/block/BlockFlower$EnumFlowerType$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockFlower$EnumFlowerType" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockFlower$EnumFlowerType$1", + "start": "106" + } + ] + }, + "net/minecraft/block/BlockFlowerPot": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockFlowerPot$EnumFlowerType", + "inner_name": "EnumFlowerType", + "outer_class": "net/minecraft/block/BlockFlowerPot", + "start": "357" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockFlowerPot$SwitchEnumType", + "inner_name": "SwitchEnumType", + "outer_class": "net/minecraft/block/BlockFlowerPot" + } + ] + }, + "net/minecraft/block/BlockFlowerPot$EnumFlowerType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockFlowerPot" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockFlowerPot$EnumFlowerType", + "inner_name": "EnumFlowerType", + "outer_class": "net/minecraft/block/BlockFlowerPot", + "start": "357" + } + ] + }, + "net/minecraft/block/BlockFlowerPot$SwitchEnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockFlowerPot" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockFlowerPot$SwitchEnumType", + "inner_name": "SwitchEnumType", + "outer_class": "net/minecraft/block/BlockFlowerPot" + } + ] + }, + "net/minecraft/block/BlockFurnace": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockFurnace$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockFurnace" + } + ] + }, + "net/minecraft/block/BlockFurnace$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockFurnace" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockFurnace$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockFurnace" + } + ] + }, + "net/minecraft/block/BlockHopper": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockHopper$1", + "start": "28" + } + ] + }, + "net/minecraft/block/BlockHopper$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockHopper" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockHopper$1", + "start": "28" + } + ] + }, + "net/minecraft/block/BlockHugeMushroom": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockHugeMushroom$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockHugeMushroom", + "start": "65" + } + ] + }, + "net/minecraft/block/BlockHugeMushroom$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockHugeMushroom" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockHugeMushroom$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockHugeMushroom", + "start": "65" + } + ] + }, + "net/minecraft/block/BlockJukebox": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/BlockJukebox$TileEntityJukebox", + "inner_name": "TileEntityJukebox", + "outer_class": "net/minecraft/block/BlockJukebox", + "start": "29" + } + ] + }, + "net/minecraft/block/BlockJukebox$TileEntityJukebox": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockJukebox" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/BlockJukebox$TileEntityJukebox", + "inner_name": "TileEntityJukebox", + "outer_class": "net/minecraft/block/BlockJukebox", + "start": "29" + } + ] + }, + "net/minecraft/block/BlockLadder": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockLadder$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockLadder" + } + ] + }, + "net/minecraft/block/BlockLadder$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockLadder" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockLadder$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockLadder" + } + ] + }, + "net/minecraft/block/BlockLever": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockLever$EnumOrientation", + "inner_name": "EnumOrientation", + "outer_class": "net/minecraft/block/BlockLever", + "start": "243" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockLever$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockLever" + } + ] + }, + "net/minecraft/block/BlockLever$EnumOrientation": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockLever" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockLever$EnumOrientation", + "inner_name": "EnumOrientation", + "outer_class": "net/minecraft/block/BlockLever", + "start": "243" + } + ] + }, + "net/minecraft/block/BlockLever$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockLever" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockLever$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockLever" + } + ] + }, + "net/minecraft/block/BlockLog": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockLog$EnumAxis", + "inner_name": "EnumAxis", + "outer_class": "net/minecraft/block/BlockLog", + "start": "54" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockLog$SwitchAxis", + "inner_name": "SwitchAxis", + "outer_class": "net/minecraft/block/BlockLog" + } + ] + }, + "net/minecraft/block/BlockLog$EnumAxis": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockLog" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockLog$EnumAxis", + "inner_name": "EnumAxis", + "outer_class": "net/minecraft/block/BlockLog", + "start": "54" + } + ] + }, + "net/minecraft/block/BlockLog$SwitchAxis": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockLog" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockLog$SwitchAxis", + "inner_name": "SwitchAxis", + "outer_class": "net/minecraft/block/BlockLog" + } + ] + }, + "net/minecraft/block/BlockNewLeaf": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockNewLeaf$1", + "start": "20" + } + ] + }, + "net/minecraft/block/BlockNewLeaf$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockNewLeaf" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockNewLeaf$1", + "start": "20" + } + ] + }, + "net/minecraft/block/BlockNewLog": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockNewLog$1", + "start": "14" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockNewLog$SwitchEnumAxis", + "inner_name": "SwitchEnumAxis", + "outer_class": "net/minecraft/block/BlockNewLog" + } + ] + }, + "net/minecraft/block/BlockNewLog$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockNewLog" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockNewLog$1", + "start": "14" + } + ] + }, + "net/minecraft/block/BlockNewLog$SwitchEnumAxis": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockNewLog" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockNewLog$SwitchEnumAxis", + "inner_name": "SwitchEnumAxis", + "outer_class": "net/minecraft/block/BlockNewLog" + } + ] + }, + "net/minecraft/block/BlockOldLeaf": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockOldLeaf$1", + "start": "22" + } + ] + }, + "net/minecraft/block/BlockOldLeaf$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockOldLeaf" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockOldLeaf$1", + "start": "22" + } + ] + }, + "net/minecraft/block/BlockOldLog": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockOldLog$1", + "start": "14" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockOldLog$SwitchEnumAxis", + "inner_name": "SwitchEnumAxis", + "outer_class": "net/minecraft/block/BlockOldLog" + } + ] + }, + "net/minecraft/block/BlockOldLog$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockOldLog" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockOldLog$1", + "start": "14" + } + ] + }, + "net/minecraft/block/BlockOldLog$SwitchEnumAxis": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockOldLog" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockOldLog$SwitchEnumAxis", + "inner_name": "SwitchEnumAxis", + "outer_class": "net/minecraft/block/BlockOldLog" + } + ] + }, + "net/minecraft/block/BlockPistonBase": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockPistonBase$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockPistonBase" + } + ] + }, + "net/minecraft/block/BlockPistonBase$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockPistonBase" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockPistonBase$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockPistonBase" + } + ] + }, + "net/minecraft/block/BlockPistonExtension": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockPistonExtension$EnumPistonType", + "inner_name": "EnumPistonType", + "outer_class": "net/minecraft/block/BlockPistonExtension", + "start": "228" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockPistonExtension$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockPistonExtension" + } + ] + }, + "net/minecraft/block/BlockPistonExtension$EnumPistonType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockPistonExtension" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockPistonExtension$EnumPistonType", + "inner_name": "EnumPistonType", + "outer_class": "net/minecraft/block/BlockPistonExtension", + "start": "228" + } + ] + }, + "net/minecraft/block/BlockPistonExtension$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockPistonExtension" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockPistonExtension$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockPistonExtension" + } + ] + }, + "net/minecraft/block/BlockPlanks": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockPlanks$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockPlanks", + "start": "51" + } + ] + }, + "net/minecraft/block/BlockPlanks$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockPlanks" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockPlanks$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockPlanks", + "start": "51" + } + ] + }, + "net/minecraft/block/BlockPortal": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/BlockPortal$Size", + "inner_name": "Size", + "outer_class": "net/minecraft/block/BlockPortal", + "start": "237" + } + ] + }, + "net/minecraft/block/BlockPortal$Size": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockPortal" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/BlockPortal$Size", + "inner_name": "Size", + "outer_class": "net/minecraft/block/BlockPortal", + "start": "237" + } + ] + }, + "net/minecraft/block/BlockPressurePlate": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockPressurePlate$Sensitivity", + "inner_name": "Sensitivity", + "outer_class": "net/minecraft/block/BlockPressurePlate", + "start": "19" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockPressurePlate$SwitchSensitivity", + "inner_name": "SwitchSensitivity", + "outer_class": "net/minecraft/block/BlockPressurePlate" + } + ] + }, + "net/minecraft/block/BlockPressurePlate$Sensitivity": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockPressurePlate" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockPressurePlate$Sensitivity", + "inner_name": "Sensitivity", + "outer_class": "net/minecraft/block/BlockPressurePlate", + "start": "19" + } + ] + }, + "net/minecraft/block/BlockPressurePlate$SwitchSensitivity": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockPressurePlate" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockPressurePlate$SwitchSensitivity", + "inner_name": "SwitchSensitivity", + "outer_class": "net/minecraft/block/BlockPressurePlate" + } + ] + }, + "net/minecraft/block/BlockPrismarine": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockPrismarine$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockPrismarine", + "start": "53" + } + ] + }, + "net/minecraft/block/BlockPrismarine$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockPrismarine" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockPrismarine$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockPrismarine", + "start": "53" + } + ] + }, + "net/minecraft/block/BlockQuartz": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockQuartz$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockQuartz", + "start": "96" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockQuartz$SwitchAxis", + "inner_name": "SwitchAxis", + "outer_class": "net/minecraft/block/BlockQuartz" + } + ] + }, + "net/minecraft/block/BlockQuartz$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockQuartz" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockQuartz$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockQuartz", + "start": "96" + } + ] + }, + "net/minecraft/block/BlockQuartz$SwitchAxis": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockQuartz" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockQuartz$SwitchAxis", + "inner_name": "SwitchAxis", + "outer_class": "net/minecraft/block/BlockQuartz" + } + ] + }, + "net/minecraft/block/BlockRailBase": { + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/block/BlockRailBase$Rail", + "inner_name": "Rail", + "outer_class": "net/minecraft/block/BlockRailBase", + "start": "55" + }, + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockRailBase$EnumRailDirection", + "inner_name": "EnumRailDirection", + "outer_class": "net/minecraft/block/BlockRailBase", + "start": "497" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockRailBase$SwitchEnumRailDirection", + "inner_name": "SwitchEnumRailDirection", + "outer_class": "net/minecraft/block/BlockRailBase" + } + ] + }, + "net/minecraft/block/BlockRailBase$EnumRailDirection": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockRailBase" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockRailBase$EnumRailDirection", + "inner_name": "EnumRailDirection", + "outer_class": "net/minecraft/block/BlockRailBase", + "start": "497" + } + ] + }, + "net/minecraft/block/BlockRailBase$Rail": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockRailBase" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/block/BlockRailBase$Rail", + "inner_name": "Rail", + "outer_class": "net/minecraft/block/BlockRailBase", + "start": "55" + } + ] + }, + "net/minecraft/block/BlockRailBase$SwitchEnumRailDirection": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockRailBase" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockRailBase$SwitchEnumRailDirection", + "inner_name": "SwitchEnumRailDirection", + "outer_class": "net/minecraft/block/BlockRailBase" + } + ] + }, + "net/minecraft/block/BlockRailDetector": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockRailDetector$1", + "start": "27" + } + ] + }, + "net/minecraft/block/BlockRailDetector$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockRailDetector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockRailDetector$1", + "start": "27" + } + ] + }, + "net/minecraft/block/BlockRailPowered": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockRailPowered$1", + "start": "15" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockRailPowered$SwitchEnumRailDirection", + "inner_name": "SwitchEnumRailDirection", + "outer_class": "net/minecraft/block/BlockRailPowered" + } + ] + }, + "net/minecraft/block/BlockRailPowered$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockRailPowered" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockRailPowered$1", + "start": "15" + } + ] + }, + "net/minecraft/block/BlockRailPowered$SwitchEnumRailDirection": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockRailPowered" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockRailPowered$SwitchEnumRailDirection", + "inner_name": "SwitchEnumRailDirection", + "outer_class": "net/minecraft/block/BlockRailPowered" + } + ] + }, + "net/minecraft/block/BlockRedSandstone": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockRedSandstone$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockRedSandstone", + "start": "51" + } + ] + }, + "net/minecraft/block/BlockRedSandstone$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockRedSandstone" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockRedSandstone$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockRedSandstone", + "start": "51" + } + ] + }, + "net/minecraft/block/BlockRedstoneComparator": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockRedstoneComparator$1", + "start": "143" + }, + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockRedstoneComparator$Mode", + "inner_name": "Mode", + "outer_class": "net/minecraft/block/BlockRedstoneComparator", + "start": "289" + } + ] + }, + "net/minecraft/block/BlockRedstoneComparator$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/world/World;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/entity/item/EntityItemFrame;", + "name": "func_176461_a", + "owner": "net/minecraft/block/BlockRedstoneComparator" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockRedstoneComparator$1", + "start": "143" + } + ] + }, + "net/minecraft/block/BlockRedstoneComparator$Mode": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockRedstoneComparator" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockRedstoneComparator$Mode", + "inner_name": "Mode", + "outer_class": "net/minecraft/block/BlockRedstoneComparator", + "start": "289" + } + ] + }, + "net/minecraft/block/BlockRedstoneTorch": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/block/BlockRedstoneTorch$Toggle", + "inner_name": "Toggle", + "outer_class": "net/minecraft/block/BlockRedstoneTorch" + } + ] + }, + "net/minecraft/block/BlockRedstoneTorch$Toggle": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockRedstoneTorch" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/block/BlockRedstoneTorch$Toggle", + "inner_name": "Toggle", + "outer_class": "net/minecraft/block/BlockRedstoneTorch" + } + ] + }, + "net/minecraft/block/BlockRedstoneWire": { + "innerClasses": [ + { + "access": "4028", + "inner_class": "net/minecraft/block/BlockRedstoneWire$EnumAttachPosition", + "inner_name": "EnumAttachPosition", + "outer_class": "net/minecraft/block/BlockRedstoneWire", + "start": "431" + } + ] + }, + "net/minecraft/block/BlockRedstoneWire$EnumAttachPosition": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockRedstoneWire" + }, + "innerClasses": [ + { + "access": "4028", + "inner_class": "net/minecraft/block/BlockRedstoneWire$EnumAttachPosition", + "inner_name": "EnumAttachPosition", + "outer_class": "net/minecraft/block/BlockRedstoneWire", + "start": "431" + } + ] + }, + "net/minecraft/block/BlockSand": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockSand$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockSand", + "start": "54" + } + ] + }, + "net/minecraft/block/BlockSand$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSand" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockSand$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockSand", + "start": "54" + } + ] + }, + "net/minecraft/block/BlockSandStone": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockSandStone$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockSandStone", + "start": "51" + } + ] + }, + "net/minecraft/block/BlockSandStone$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSandStone" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockSandStone$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockSandStone", + "start": "51" + } + ] + }, + "net/minecraft/block/BlockSapling": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockSapling$SwitchEnumType", + "inner_name": "SwitchEnumType", + "outer_class": "net/minecraft/block/BlockSapling" + } + ] + }, + "net/minecraft/block/BlockSapling$SwitchEnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSapling" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockSapling$SwitchEnumType", + "inner_name": "SwitchEnumType", + "outer_class": "net/minecraft/block/BlockSapling" + } + ] + }, + "net/minecraft/block/BlockSilverfish": { + "innerClasses": [ + { + "access": "4429", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockSilverfish", + "start": "98" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockSilverfish$SwitchEnumType", + "inner_name": "SwitchEnumType", + "outer_class": "net/minecraft/block/BlockSilverfish" + } + ] + }, + "net/minecraft/block/BlockSilverfish$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSilverfish" + }, + "innerClasses": [ + { + "access": "4429", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockSilverfish", + "start": "98" + }, + { + "access": "4000", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType$1", + "start": "103" + }, + { + "access": "4000", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType$2", + "start": "109" + }, + { + "access": "4000", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType$3", + "start": "115" + }, + { + "access": "4000", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType$4", + "start": "121" + }, + { + "access": "4000", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType$5", + "start": "127" + }, + { + "access": "4000", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType$6", + "start": "133" + } + ] + }, + "net/minecraft/block/BlockSilverfish$EnumType$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSilverfish$EnumType" + }, + "innerClasses": [ + { + "access": "4000", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType$1", + "start": "103" + } + ] + }, + "net/minecraft/block/BlockSilverfish$EnumType$2": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSilverfish$EnumType" + }, + "innerClasses": [ + { + "access": "4000", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType$2", + "start": "109" + } + ] + }, + "net/minecraft/block/BlockSilverfish$EnumType$3": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSilverfish$EnumType" + }, + "innerClasses": [ + { + "access": "4000", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType$3", + "start": "115" + } + ] + }, + "net/minecraft/block/BlockSilverfish$EnumType$4": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSilverfish$EnumType" + }, + "innerClasses": [ + { + "access": "4000", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType$4", + "start": "121" + } + ] + }, + "net/minecraft/block/BlockSilverfish$EnumType$5": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSilverfish$EnumType" + }, + "innerClasses": [ + { + "access": "4000", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType$5", + "start": "127" + } + ] + }, + "net/minecraft/block/BlockSilverfish$EnumType$6": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSilverfish$EnumType" + }, + "innerClasses": [ + { + "access": "4000", + "inner_class": "net/minecraft/block/BlockSilverfish$EnumType$6", + "start": "133" + } + ] + }, + "net/minecraft/block/BlockSilverfish$SwitchEnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSilverfish" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockSilverfish$SwitchEnumType", + "inner_name": "SwitchEnumType", + "outer_class": "net/minecraft/block/BlockSilverfish" + } + ] + }, + "net/minecraft/block/BlockSkull": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockSkull$1", + "start": "39" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockSkull$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockSkull" + } + ] + }, + "net/minecraft/block/BlockSkull$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSkull" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockSkull$1", + "start": "39" + } + ] + }, + "net/minecraft/block/BlockSkull$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSkull" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockSkull$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockSkull" + } + ] + }, + "net/minecraft/block/BlockSlab": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockSlab$EnumBlockHalf", + "inner_name": "EnumBlockHalf", + "outer_class": "net/minecraft/block/BlockSlab", + "start": "159" + } + ] + }, + "net/minecraft/block/BlockSlab$EnumBlockHalf": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockSlab" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockSlab$EnumBlockHalf", + "inner_name": "EnumBlockHalf", + "outer_class": "net/minecraft/block/BlockSlab", + "start": "159" + } + ] + }, + "net/minecraft/block/BlockStairs": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockStairs$EnumHalf", + "inner_name": "EnumHalf", + "outer_class": "net/minecraft/block/BlockStairs", + "start": "641" + }, + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockStairs$EnumShape", + "inner_name": "EnumShape", + "outer_class": "net/minecraft/block/BlockStairs", + "start": "663" + } + ] + }, + "net/minecraft/block/BlockStairs$EnumHalf": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockStairs" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockStairs$EnumHalf", + "inner_name": "EnumHalf", + "outer_class": "net/minecraft/block/BlockStairs", + "start": "641" + } + ] + }, + "net/minecraft/block/BlockStairs$EnumShape": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockStairs" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockStairs$EnumShape", + "inner_name": "EnumShape", + "outer_class": "net/minecraft/block/BlockStairs", + "start": "663" + } + ] + }, + "net/minecraft/block/BlockStem": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockStem$1", + "start": "24" + } + ] + }, + "net/minecraft/block/BlockStem$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockStem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockStem$1", + "start": "24" + } + ] + }, + "net/minecraft/block/BlockStone": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockStone$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockStone", + "start": "62" + } + ] + }, + "net/minecraft/block/BlockStone$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockStone" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockStone$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockStone", + "start": "62" + } + ] + }, + "net/minecraft/block/BlockStoneBrick": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockStoneBrick$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockStoneBrick", + "start": "56" + } + ] + }, + "net/minecraft/block/BlockStoneBrick$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockStoneBrick" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockStoneBrick$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockStoneBrick", + "start": "56" + } + ] + }, + "net/minecraft/block/BlockStoneSlab": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockStoneSlab$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockStoneSlab", + "start": "122" + } + ] + }, + "net/minecraft/block/BlockStoneSlab$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockStoneSlab" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockStoneSlab$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockStoneSlab", + "start": "122" + } + ] + }, + "net/minecraft/block/BlockStoneSlabNew": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockStoneSlabNew$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockStoneSlabNew", + "start": "119" + } + ] + }, + "net/minecraft/block/BlockStoneSlabNew$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockStoneSlabNew" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockStoneSlabNew$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockStoneSlabNew", + "start": "119" + } + ] + }, + "net/minecraft/block/BlockTallGrass": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockTallGrass$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockTallGrass", + "start": "145" + } + ] + }, + "net/minecraft/block/BlockTallGrass$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockTallGrass" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockTallGrass$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockTallGrass", + "start": "145" + } + ] + }, + "net/minecraft/block/BlockTorch": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockTorch$1", + "start": "23" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockTorch$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockTorch" + } + ] + }, + "net/minecraft/block/BlockTorch$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockTorch" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/BlockTorch$1", + "start": "23" + } + ] + }, + "net/minecraft/block/BlockTorch$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockTorch" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockTorch$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockTorch" + } + ] + }, + "net/minecraft/block/BlockTrapDoor": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockTrapDoor$DoorHalf", + "inner_name": "DoorHalf", + "outer_class": "net/minecraft/block/BlockTrapDoor", + "start": "234" + }, + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockTrapDoor$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockTrapDoor" + } + ] + }, + "net/minecraft/block/BlockTrapDoor$DoorHalf": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockTrapDoor" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockTrapDoor$DoorHalf", + "inner_name": "DoorHalf", + "outer_class": "net/minecraft/block/BlockTrapDoor", + "start": "234" + } + ] + }, + "net/minecraft/block/BlockTrapDoor$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockTrapDoor" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockTrapDoor$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockTrapDoor" + } + ] + }, + "net/minecraft/block/BlockTripWireHook": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockTripWireHook$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockTripWireHook" + } + ] + }, + "net/minecraft/block/BlockTripWireHook$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockTripWireHook" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockTripWireHook$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockTripWireHook" + } + ] + }, + "net/minecraft/block/BlockVine": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockVine$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockVine" + } + ] + }, + "net/minecraft/block/BlockVine$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockVine" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockVine$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockVine" + } + ] + }, + "net/minecraft/block/BlockWall": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockWall$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockWall", + "start": "165" + } + ] + }, + "net/minecraft/block/BlockWall$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockWall" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/block/BlockWall$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/block/BlockWall", + "start": "165" + } + ] + }, + "net/minecraft/block/BlockWallSign": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockWallSign$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockWallSign" + } + ] + }, + "net/minecraft/block/BlockWallSign$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockWallSign" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/block/BlockWallSign$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/block/BlockWallSign" + } + ] + }, + "net/minecraft/block/BlockWorkbench": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/BlockWorkbench$InterfaceCraftingTable", + "inner_name": "InterfaceCraftingTable", + "outer_class": "net/minecraft/block/BlockWorkbench", + "start": "44" + } + ] + }, + "net/minecraft/block/BlockWorkbench$InterfaceCraftingTable": { + "enclosingMethod": { + "owner": "net/minecraft/block/BlockWorkbench" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/BlockWorkbench$InterfaceCraftingTable", + "inner_name": "InterfaceCraftingTable", + "outer_class": "net/minecraft/block/BlockWorkbench", + "start": "44" + } + ] + }, + "net/minecraft/block/material/Material": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/material/Material$1", + "start": "39" + } + ] + }, + "net/minecraft/block/material/Material$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/material/Material" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/material/Material$1", + "start": "39" + } + ] + }, + "net/minecraft/block/state/BlockState": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/state/BlockState$1", + "start": "17" + }, + { + "inner_class": "net/minecraft/block/state/BlockState$2", + "start": "33" + }, + { + "access": "28", + "inner_class": "net/minecraft/block/state/BlockState$StateImplementation", + "inner_name": "StateImplementation", + "outer_class": "net/minecraft/block/state/BlockState", + "start": "106" + } + ] + }, + "net/minecraft/block/state/BlockState$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/state/BlockState" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/state/BlockState$1", + "start": "17" + } + ] + }, + "net/minecraft/block/state/BlockState$2": { + "enclosingMethod": { + "owner": "net/minecraft/block/state/BlockState" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/state/BlockState$2", + "start": "33" + } + ] + }, + "net/minecraft/block/state/BlockState$StateImplementation": { + "enclosingMethod": { + "owner": "net/minecraft/block/state/BlockState" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/block/state/BlockState$StateImplementation", + "inner_name": "StateImplementation", + "outer_class": "net/minecraft/block/state/BlockState", + "start": "106" + } + ] + }, + "net/minecraft/block/state/BlockStateBase": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/state/BlockStateBase$1", + "start": "16" + } + ] + }, + "net/minecraft/block/state/BlockStateBase$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/state/BlockStateBase" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/state/BlockStateBase$1", + "start": "16" + } + ] + }, + "net/minecraft/block/state/BlockWorldState": { + "innerClasses": [ + { + "inner_class": "net/minecraft/block/state/BlockWorldState$1", + "start": "50" + } + ] + }, + "net/minecraft/block/state/BlockWorldState$1": { + "enclosingMethod": { + "owner": "net/minecraft/block/state/BlockWorldState" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/block/state/BlockWorldState$1", + "start": "50" + } + ] + }, + "net/minecraft/block/state/pattern/BlockPattern": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/block/state/pattern/BlockPattern$CacheLoader", + "inner_name": "CacheLoader", + "outer_class": "net/minecraft/block/state/pattern/BlockPattern", + "start": "116" + }, + { + "access": "29", + "inner_class": "net/minecraft/block/state/pattern/BlockPattern$PatternHelper", + "inner_name": "PatternHelper", + "outer_class": "net/minecraft/block/state/pattern/BlockPattern", + "start": "143" + } + ] + }, + "net/minecraft/block/state/pattern/BlockPattern$CacheLoader": { + "enclosingMethod": { + "owner": "net/minecraft/block/state/pattern/BlockPattern" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/block/state/pattern/BlockPattern$CacheLoader", + "inner_name": "CacheLoader", + "outer_class": "net/minecraft/block/state/pattern/BlockPattern", + "start": "116" + } + ] + }, + "net/minecraft/block/state/pattern/BlockPattern$PatternHelper": { + "enclosingMethod": { + "owner": "net/minecraft/block/state/pattern/BlockPattern" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/block/state/pattern/BlockPattern$PatternHelper", + "inner_name": "PatternHelper", + "outer_class": "net/minecraft/block/state/pattern/BlockPattern", + "start": "143" + } + ] + }, + "net/minecraft/client/Minecraft": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$1", + "start": "405" + }, + { + "inner_class": "net/minecraft/client/Minecraft$2", + "start": "590" + }, + { + "inner_class": "net/minecraft/client/Minecraft$3", + "start": "1477" + }, + { + "inner_class": "net/minecraft/client/Minecraft$4", + "start": "1492" + }, + { + "inner_class": "net/minecraft/client/Minecraft$5", + "start": "2174" + }, + { + "inner_class": "net/minecraft/client/Minecraft$6", + "start": "2181" + }, + { + "inner_class": "net/minecraft/client/Minecraft$7", + "start": "2188" + }, + { + "inner_class": "net/minecraft/client/Minecraft$8", + "start": "2195" + }, + { + "inner_class": "net/minecraft/client/Minecraft$9", + "start": "2202" + }, + { + "inner_class": "net/minecraft/client/Minecraft$10", + "start": "2209" + }, + { + "inner_class": "net/minecraft/client/Minecraft$11", + "start": "2223" + }, + { + "inner_class": "net/minecraft/client/Minecraft$12", + "start": "2230" + }, + { + "inner_class": "net/minecraft/client/Minecraft$13", + "start": "2237" + }, + { + "inner_class": "net/minecraft/client/Minecraft$14", + "start": "2244" + }, + { + "inner_class": "net/minecraft/client/Minecraft$15", + "start": "2266" + }, + { + "inner_class": "net/minecraft/client/Minecraft$16", + "start": "2561" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/Minecraft$SwitchEnumMinecartType", + "inner_name": "SwitchEnumMinecartType", + "outer_class": "net/minecraft/client/Minecraft" + } + ] + }, + "net/minecraft/client/Minecraft$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_71384_a", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$1", + "start": "405" + } + ] + }, + "net/minecraft/client/Minecraft$10": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71396_d", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$10", + "start": "2209" + } + ] + }, + "net/minecraft/client/Minecraft$11": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71396_d", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$11", + "start": "2223" + } + ] + }, + "net/minecraft/client/Minecraft$12": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71396_d", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$12", + "start": "2230" + } + ] + }, + "net/minecraft/client/Minecraft$13": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71396_d", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$13", + "start": "2237" + } + ] + }, + "net/minecraft/client/Minecraft$14": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71396_d", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$14", + "start": "2244" + } + ] + }, + "net/minecraft/client/Minecraft$15": { + "enclosingMethod": { + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$15", + "start": "2266" + } + ] + }, + "net/minecraft/client/Minecraft$16": { + "enclosingMethod": { + "desc": "()V", + "name": "func_152348_aa", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$16", + "start": "2561" + } + ] + }, + "net/minecraft/client/Minecraft$2": { + "enclosingMethod": { + "desc": "()V", + "name": "func_71389_H", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$2", + "start": "590" + } + ] + }, + "net/minecraft/client/Minecraft$3": { + "enclosingMethod": { + "desc": "()V", + "name": "func_71407_l", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$3", + "start": "1477" + } + ] + }, + "net/minecraft/client/Minecraft$4": { + "enclosingMethod": { + "desc": "()V", + "name": "func_71407_l", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$4", + "start": "1492" + } + ] + }, + "net/minecraft/client/Minecraft$5": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71396_d", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$5", + "start": "2174" + } + ] + }, + "net/minecraft/client/Minecraft$6": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71396_d", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$6", + "start": "2181" + } + ] + }, + "net/minecraft/client/Minecraft$7": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71396_d", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$7", + "start": "2188" + } + ] + }, + "net/minecraft/client/Minecraft$8": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71396_d", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$8", + "start": "2195" + } + ] + }, + "net/minecraft/client/Minecraft$9": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71396_d", + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/Minecraft$9", + "start": "2202" + } + ] + }, + "net/minecraft/client/Minecraft$SwitchEnumMinecartType": { + "enclosingMethod": { + "owner": "net/minecraft/client/Minecraft" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/Minecraft$SwitchEnumMinecartType", + "inner_name": "SwitchEnumMinecartType", + "outer_class": "net/minecraft/client/Minecraft" + } + ] + }, + "net/minecraft/client/audio/ISound": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/audio/ISound$AttenuationType", + "inner_name": "AttenuationType", + "outer_class": "net/minecraft/client/audio/ISound", + "start": "7" + } + ] + }, + "net/minecraft/client/audio/ISound$AttenuationType": { + "enclosingMethod": { + "owner": "net/minecraft/client/audio/ISound" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/audio/ISound$AttenuationType", + "inner_name": "AttenuationType", + "outer_class": "net/minecraft/client/audio/ISound", + "start": "7" + } + ] + }, + "net/minecraft/client/audio/MusicTicker": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/audio/MusicTicker$MusicType", + "inner_name": "MusicType", + "outer_class": "net/minecraft/client/audio/MusicTicker", + "start": "46" + } + ] + }, + "net/minecraft/client/audio/MusicTicker$MusicType": { + "enclosingMethod": { + "owner": "net/minecraft/client/audio/MusicTicker" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/audio/MusicTicker$MusicType", + "inner_name": "MusicType", + "outer_class": "net/minecraft/client/audio/MusicTicker", + "start": "46" + } + ] + }, + "net/minecraft/client/audio/SoundHandler": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/audio/SoundHandler$1", + "start": "40" + }, + { + "inner_class": "net/minecraft/client/audio/SoundHandler$2", + "start": "141" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/audio/SoundHandler$SwitchType", + "inner_name": "SwitchType", + "outer_class": "net/minecraft/client/audio/SoundHandler" + } + ] + }, + "net/minecraft/client/audio/SoundHandler$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/audio/SoundHandler" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/audio/SoundHandler$1", + "start": "40" + } + ] + }, + "net/minecraft/client/audio/SoundHandler$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/client/audio/SoundList;)V", + "name": "func_147693_a", + "owner": "net/minecraft/client/audio/SoundHandler" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/audio/SoundHandler$2", + "start": "141" + } + ] + }, + "net/minecraft/client/audio/SoundHandler$SwitchType": { + "enclosingMethod": { + "owner": "net/minecraft/client/audio/SoundHandler" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/audio/SoundHandler$SwitchType", + "inner_name": "SwitchType", + "outer_class": "net/minecraft/client/audio/SoundHandler" + } + ] + }, + "net/minecraft/client/audio/SoundList": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/audio/SoundList$SoundEntry", + "inner_name": "SoundEntry", + "outer_class": "net/minecraft/client/audio/SoundList", + "start": "41" + } + ] + }, + "net/minecraft/client/audio/SoundList$SoundEntry": { + "enclosingMethod": { + "owner": "net/minecraft/client/audio/SoundList" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/audio/SoundList$SoundEntry", + "inner_name": "SoundEntry", + "outer_class": "net/minecraft/client/audio/SoundList", + "start": "41" + }, + { + "access": "4029", + "inner_class": "net/minecraft/client/audio/SoundList$SoundEntry$Type", + "inner_name": "Type", + "outer_class": "net/minecraft/client/audio/SoundList$SoundEntry", + "start": "88" + } + ] + }, + "net/minecraft/client/audio/SoundList$SoundEntry$Type": { + "enclosingMethod": { + "owner": "net/minecraft/client/audio/SoundList$SoundEntry" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/audio/SoundList$SoundEntry$Type", + "inner_name": "Type", + "outer_class": "net/minecraft/client/audio/SoundList$SoundEntry", + "start": "88" + } + ] + }, + "net/minecraft/client/audio/SoundManager": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/audio/SoundManager$1", + "start": "88" + }, + { + "inner_class": "net/minecraft/client/audio/SoundManager$2", + "start": "397" + }, + { + "access": "20", + "inner_class": "net/minecraft/client/audio/SoundManager$SoundSystemStarterThread", + "inner_name": "SoundSystemStarterThread", + "outer_class": "net/minecraft/client/audio/SoundManager", + "start": "455" + } + ] + }, + "net/minecraft/client/audio/SoundManager$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_148608_i", + "owner": "net/minecraft/client/audio/SoundManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/audio/SoundManager$1", + "start": "88" + }, + { + "inner_class": "net/minecraft/client/audio/SoundManager$1$1", + "start": "91" + } + ] + }, + "net/minecraft/client/audio/SoundManager$1$1": { + "enclosingMethod": { + "desc": "()V", + "name": "run", + "owner": "net/minecraft/client/audio/SoundManager$1" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/audio/SoundManager$1$1", + "start": "91" + } + ] + }, + "net/minecraft/client/audio/SoundManager$2": { + "enclosingMethod": { + "owner": "net/minecraft/client/audio/SoundManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/audio/SoundManager$2", + "start": "397" + }, + { + "inner_class": "net/minecraft/client/audio/SoundManager$2$1", + "start": "401" + } + ] + }, + "net/minecraft/client/audio/SoundManager$2$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/audio/SoundManager$2" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/audio/SoundManager$2$1", + "start": "401" + } + ] + }, + "net/minecraft/client/audio/SoundManager$SoundSystemStarterThread": { + "enclosingMethod": { + "owner": "net/minecraft/client/audio/SoundManager" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/audio/SoundManager$SoundSystemStarterThread", + "inner_name": "SoundSystemStarterThread", + "outer_class": "net/minecraft/client/audio/SoundManager", + "start": "455" + } + ] + }, + "net/minecraft/client/gui/GuiCreateFlatWorld": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiCreateFlatWorld$Details", + "inner_name": "Details", + "outer_class": "net/minecraft/client/gui/GuiCreateFlatWorld", + "start": "145" + } + ] + }, + "net/minecraft/client/gui/GuiCreateFlatWorld$Details": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiCreateFlatWorld" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiCreateFlatWorld$Details", + "inner_name": "Details", + "outer_class": "net/minecraft/client/gui/GuiCreateFlatWorld", + "start": "145" + } + ] + }, + "net/minecraft/client/gui/GuiCustomizeSkin": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiCustomizeSkin$ButtonPart", + "inner_name": "ButtonPart", + "outer_class": "net/minecraft/client/gui/GuiCustomizeSkin", + "start": "71" + }, + { + "access": "1000", + "inner_class": "net/minecraft/client/gui/GuiCustomizeSkin$1" + } + ] + }, + "net/minecraft/client/gui/GuiCustomizeSkin$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiCustomizeSkin" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/client/gui/GuiCustomizeSkin$1" + } + ] + }, + "net/minecraft/client/gui/GuiCustomizeSkin$ButtonPart": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiCustomizeSkin" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiCustomizeSkin$ButtonPart", + "inner_name": "ButtonPart", + "outer_class": "net/minecraft/client/gui/GuiCustomizeSkin", + "start": "71" + } + ] + }, + "net/minecraft/client/gui/GuiCustomizeWorldScreen": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/GuiCustomizeWorldScreen$1", + "start": "183" + } + ] + }, + "net/minecraft/client/gui/GuiCustomizeWorldScreen$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiCustomizeWorldScreen" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/GuiCustomizeWorldScreen$1", + "start": "183" + } + ] + }, + "net/minecraft/client/gui/GuiFlatPresets": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiFlatPresets$ListSlot", + "inner_name": "ListSlot", + "outer_class": "net/minecraft/client/gui/GuiFlatPresets", + "start": "232" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/gui/GuiFlatPresets$LayerItem", + "inner_name": "LayerItem", + "outer_class": "net/minecraft/client/gui/GuiFlatPresets" + } + ] + }, + "net/minecraft/client/gui/GuiFlatPresets$LayerItem": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiFlatPresets" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/GuiFlatPresets$LayerItem", + "inner_name": "LayerItem", + "outer_class": "net/minecraft/client/gui/GuiFlatPresets" + } + ] + }, + "net/minecraft/client/gui/GuiFlatPresets$ListSlot": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiFlatPresets" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiFlatPresets$ListSlot", + "inner_name": "ListSlot", + "outer_class": "net/minecraft/client/gui/GuiFlatPresets", + "start": "232" + } + ] + }, + "net/minecraft/client/gui/GuiIngame": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/GuiIngame$1", + "start": "470" + } + ] + }, + "net/minecraft/client/gui/GuiIngame$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/scoreboard/ScoreObjective;Lnet/minecraft/client/gui/ScaledResolution;)V", + "name": "func_180475_a", + "owner": "net/minecraft/client/gui/GuiIngame" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/GuiIngame$1", + "start": "470" + } + ] + }, + "net/minecraft/client/gui/GuiKeyBindingList": { + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/client/gui/GuiKeyBindingList$CategoryEntry", + "inner_name": "CategoryEntry", + "outer_class": "net/minecraft/client/gui/GuiKeyBindingList", + "start": "71" + }, + { + "access": "21", + "inner_class": "net/minecraft/client/gui/GuiKeyBindingList$KeyEntry", + "inner_name": "KeyEntry", + "outer_class": "net/minecraft/client/gui/GuiKeyBindingList", + "start": "103" + }, + { + "access": "1000", + "inner_class": "net/minecraft/client/gui/GuiKeyBindingList$1" + } + ] + }, + "net/minecraft/client/gui/GuiKeyBindingList$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiKeyBindingList" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/client/gui/GuiKeyBindingList$1" + } + ] + }, + "net/minecraft/client/gui/GuiKeyBindingList$CategoryEntry": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiKeyBindingList" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/client/gui/GuiKeyBindingList$CategoryEntry", + "inner_name": "CategoryEntry", + "outer_class": "net/minecraft/client/gui/GuiKeyBindingList", + "start": "71" + } + ] + }, + "net/minecraft/client/gui/GuiKeyBindingList$KeyEntry": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiKeyBindingList" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/client/gui/GuiKeyBindingList$KeyEntry", + "inner_name": "KeyEntry", + "outer_class": "net/minecraft/client/gui/GuiKeyBindingList", + "start": "103" + } + ] + }, + "net/minecraft/client/gui/GuiLanguage": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiLanguage$List", + "inner_name": "List", + "outer_class": "net/minecraft/client/gui/GuiLanguage", + "start": "102" + } + ] + }, + "net/minecraft/client/gui/GuiLanguage$List": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiLanguage" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiLanguage$List", + "inner_name": "List", + "outer_class": "net/minecraft/client/gui/GuiLanguage", + "start": "102" + } + ] + }, + "net/minecraft/client/gui/GuiListExtended": { + "innerClasses": [ + { + "access": "609", + "inner_class": "net/minecraft/client/gui/GuiListExtended$IGuiListEntry", + "inner_name": "IGuiListEntry", + "outer_class": "net/minecraft/client/gui/GuiListExtended" + } + ] + }, + "net/minecraft/client/gui/GuiListExtended$IGuiListEntry": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiListExtended" + }, + "innerClasses": [ + { + "access": "609", + "inner_class": "net/minecraft/client/gui/GuiListExtended$IGuiListEntry", + "inner_name": "IGuiListEntry", + "outer_class": "net/minecraft/client/gui/GuiListExtended" + } + ] + }, + "net/minecraft/client/gui/GuiLockIconButton": { + "innerClasses": [ + { + "access": "4028", + "inner_class": "net/minecraft/client/gui/GuiLockIconButton$Icon", + "inner_name": "Icon", + "outer_class": "net/minecraft/client/gui/GuiLockIconButton", + "start": "54" + } + ] + }, + "net/minecraft/client/gui/GuiLockIconButton$Icon": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiLockIconButton" + }, + "innerClasses": [ + { + "access": "4028", + "inner_class": "net/minecraft/client/gui/GuiLockIconButton$Icon", + "inner_name": "Icon", + "outer_class": "net/minecraft/client/gui/GuiLockIconButton", + "start": "54" + } + ] + }, + "net/minecraft/client/gui/GuiMerchant": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/GuiMerchant$MerchantButton", + "inner_name": "MerchantButton", + "outer_class": "net/minecraft/client/gui/GuiMerchant", + "start": "194" + } + ] + }, + "net/minecraft/client/gui/GuiMerchant$MerchantButton": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiMerchant" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/GuiMerchant$MerchantButton", + "inner_name": "MerchantButton", + "outer_class": "net/minecraft/client/gui/GuiMerchant", + "start": "194" + } + ] + }, + "net/minecraft/client/gui/GuiOptions": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/GuiOptions$1", + "start": "91" + } + ] + }, + "net/minecraft/client/gui/GuiOptions$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_73866_w_", + "owner": "net/minecraft/client/gui/GuiOptions" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/GuiOptions$1", + "start": "91" + } + ] + }, + "net/minecraft/client/gui/GuiOptionsRowList": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiOptionsRowList$Row", + "inner_name": "Row", + "outer_class": "net/minecraft/client/gui/GuiOptionsRowList", + "start": "68" + } + ] + }, + "net/minecraft/client/gui/GuiOptionsRowList$Row": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiOptionsRowList" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiOptionsRowList$Row", + "inner_name": "Row", + "outer_class": "net/minecraft/client/gui/GuiOptionsRowList", + "start": "68" + } + ] + }, + "net/minecraft/client/gui/GuiOverlayDebug": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/gui/GuiOverlayDebug$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/gui/GuiOverlayDebug" + } + ] + }, + "net/minecraft/client/gui/GuiOverlayDebug$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiOverlayDebug" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/gui/GuiOverlayDebug$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/gui/GuiOverlayDebug" + } + ] + }, + "net/minecraft/client/gui/GuiPageButtonList": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$GuiEntry", + "inner_name": "GuiEntry", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList", + "start": "273" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$GuiListEntry", + "inner_name": "GuiListEntry", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList", + "start": "408" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry", + "inner_name": "GuiSlideEntry", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList", + "start": "435" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$GuiButtonEntry", + "inner_name": "GuiButtonEntry", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList", + "start": "460" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$EditBoxEntry", + "inner_name": "EditBoxEntry", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList", + "start": "473" + }, + { + "access": "609", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$GuiResponder", + "inner_name": "GuiResponder", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$GuiLabelEntry", + "inner_name": "GuiLabelEntry", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList" + } + ] + }, + "net/minecraft/client/gui/GuiPageButtonList$EditBoxEntry": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiPageButtonList" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$EditBoxEntry", + "inner_name": "EditBoxEntry", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList", + "start": "473" + } + ] + }, + "net/minecraft/client/gui/GuiPageButtonList$GuiButtonEntry": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiPageButtonList" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$GuiButtonEntry", + "inner_name": "GuiButtonEntry", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList", + "start": "460" + } + ] + }, + "net/minecraft/client/gui/GuiPageButtonList$GuiEntry": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiPageButtonList" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$GuiEntry", + "inner_name": "GuiEntry", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList", + "start": "273" + } + ] + }, + "net/minecraft/client/gui/GuiPageButtonList$GuiLabelEntry": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiPageButtonList" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$GuiLabelEntry", + "inner_name": "GuiLabelEntry", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList" + } + ] + }, + "net/minecraft/client/gui/GuiPageButtonList$GuiListEntry": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiPageButtonList" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$GuiListEntry", + "inner_name": "GuiListEntry", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList", + "start": "408" + } + ] + }, + "net/minecraft/client/gui/GuiPageButtonList$GuiResponder": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiPageButtonList" + }, + "innerClasses": [ + { + "access": "609", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$GuiResponder", + "inner_name": "GuiResponder", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList" + } + ] + }, + "net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiPageButtonList" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry", + "inner_name": "GuiSlideEntry", + "outer_class": "net/minecraft/client/gui/GuiPageButtonList", + "start": "435" + } + ] + }, + "net/minecraft/client/network/NetworkPlayerInfo": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/NetworkPlayerInfo$1", + "start": "109" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/network/NetworkPlayerInfo$SwitchType", + "inner_name": "SwitchType", + "outer_class": "net/minecraft/client/network/NetworkPlayerInfo" + } + ] + }, + "net/minecraft/client/network/NetworkPlayerInfo$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_178841_j", + "owner": "net/minecraft/client/network/NetworkPlayerInfo" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/NetworkPlayerInfo$1", + "start": "109" + } + ] + }, + "net/minecraft/client/network/NetworkPlayerInfo$SwitchType": { + "enclosingMethod": { + "owner": "net/minecraft/client/network/NetworkPlayerInfo" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/network/NetworkPlayerInfo$SwitchType", + "inner_name": "SwitchType", + "outer_class": "net/minecraft/client/network/NetworkPlayerInfo" + } + ] + }, + "net/minecraft/client/gui/GuiPlayerTabOverlay": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/GuiPlayerTabOverlay$PlayerComparator", + "inner_name": "PlayerComparator", + "outer_class": "net/minecraft/client/gui/GuiPlayerTabOverlay", + "start": "306" + }, + { + "access": "1000", + "inner_class": "net/minecraft/client/gui/GuiPlayerTabOverlay$1" + } + ] + }, + "net/minecraft/client/gui/GuiPlayerTabOverlay$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiPlayerTabOverlay" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/client/gui/GuiPlayerTabOverlay$1" + } + ] + }, + "net/minecraft/client/gui/GuiPlayerTabOverlay$PlayerComparator": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiPlayerTabOverlay" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/GuiPlayerTabOverlay$PlayerComparator", + "inner_name": "PlayerComparator", + "outer_class": "net/minecraft/client/gui/GuiPlayerTabOverlay", + "start": "306" + } + ] + }, + "net/minecraft/client/gui/GuiScreenBook": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/GuiScreenBook$NextPageButton", + "inner_name": "NextPageButton", + "outer_class": "net/minecraft/client/gui/GuiScreenBook", + "start": "506" + } + ] + }, + "net/minecraft/client/gui/GuiScreenBook$NextPageButton": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiScreenBook" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/GuiScreenBook$NextPageButton", + "inner_name": "NextPageButton", + "outer_class": "net/minecraft/client/gui/GuiScreenBook", + "start": "506" + } + ] + }, + "net/minecraft/client/gui/GuiScreenCustomizePresets": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset", + "inner_name": "ListPreset", + "outer_class": "net/minecraft/client/gui/GuiScreenCustomizePresets", + "start": "162" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/gui/GuiScreenCustomizePresets$Info", + "inner_name": "Info", + "outer_class": "net/minecraft/client/gui/GuiScreenCustomizePresets" + } + ] + }, + "net/minecraft/client/gui/GuiScreenCustomizePresets$Info": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiScreenCustomizePresets" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/GuiScreenCustomizePresets$Info", + "inner_name": "Info", + "outer_class": "net/minecraft/client/gui/GuiScreenCustomizePresets" + } + ] + }, + "net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiScreenCustomizePresets" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset", + "inner_name": "ListPreset", + "outer_class": "net/minecraft/client/gui/GuiScreenCustomizePresets", + "start": "162" + } + ] + }, + "net/minecraft/client/gui/GuiScreenOptionsSounds": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiScreenOptionsSounds$Button", + "inner_name": "Button", + "outer_class": "net/minecraft/client/gui/GuiScreenOptionsSounds", + "start": "92" + } + ] + }, + "net/minecraft/client/gui/GuiScreenOptionsSounds$Button": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiScreenOptionsSounds" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiScreenOptionsSounds$Button", + "inner_name": "Button", + "outer_class": "net/minecraft/client/gui/GuiScreenOptionsSounds", + "start": "92" + } + ] + }, + "net/minecraft/client/gui/GuiSelectWorld": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiSelectWorld$List", + "inner_name": "List", + "outer_class": "net/minecraft/client/gui/GuiSelectWorld", + "start": "211" + } + ] + }, + "net/minecraft/client/gui/GuiSelectWorld$List": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiSelectWorld" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiSelectWorld$List", + "inner_name": "List", + "outer_class": "net/minecraft/client/gui/GuiSelectWorld", + "start": "211" + } + ] + }, + "net/minecraft/client/gui/GuiSlider": { + "innerClasses": [ + { + "access": "609", + "inner_class": "net/minecraft/client/gui/GuiSlider$FormatHelper", + "inner_name": "FormatHelper", + "outer_class": "net/minecraft/client/gui/GuiSlider" + } + ] + }, + "net/minecraft/client/gui/GuiSlider$FormatHelper": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiSlider" + }, + "innerClasses": [ + { + "access": "609", + "inner_class": "net/minecraft/client/gui/GuiSlider$FormatHelper", + "inner_name": "FormatHelper", + "outer_class": "net/minecraft/client/gui/GuiSlider" + } + ] + }, + "net/minecraft/client/gui/GuiSnooper": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiSnooper$List", + "inner_name": "List", + "outer_class": "net/minecraft/client/gui/GuiSnooper", + "start": "113" + } + ] + }, + "net/minecraft/client/gui/GuiSnooper$List": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/GuiSnooper" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/GuiSnooper$List", + "inner_name": "List", + "outer_class": "net/minecraft/client/gui/GuiSnooper", + "start": "113" + } + ] + }, + "net/minecraft/client/gui/MapItemRenderer": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/MapItemRenderer$Instance", + "inner_name": "Instance", + "outer_class": "net/minecraft/client/gui/MapItemRenderer", + "start": "56" + }, + { + "access": "1000", + "inner_class": "net/minecraft/client/gui/MapItemRenderer$1" + } + ] + }, + "net/minecraft/client/gui/MapItemRenderer$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/MapItemRenderer" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/client/gui/MapItemRenderer$1" + } + ] + }, + "net/minecraft/client/gui/MapItemRenderer$Instance": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/MapItemRenderer" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/MapItemRenderer$Instance", + "inner_name": "Instance", + "outer_class": "net/minecraft/client/gui/MapItemRenderer", + "start": "56" + } + ] + }, + "net/minecraft/client/gui/ServerListEntryNormal": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/ServerListEntryNormal$1", + "start": "73" + } + ] + }, + "net/minecraft/client/gui/ServerListEntryNormal$1": { + "enclosingMethod": { + "desc": "(IIIIIIIZ)V", + "name": "func_180790_a", + "owner": "net/minecraft/client/gui/ServerListEntryNormal" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/ServerListEntryNormal$1", + "start": "73" + } + ] + }, + "net/minecraft/client/gui/achievement/GuiStats": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$StatsGeneral", + "inner_name": "StatsGeneral", + "outer_class": "net/minecraft/client/gui/achievement/GuiStats", + "start": "162" + }, + { + "access": "420", + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$Stats", + "inner_name": "Stats", + "outer_class": "net/minecraft/client/gui/achievement/GuiStats", + "start": "262" + }, + { + "access": "20", + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$StatsItem", + "inner_name": "StatsItem", + "outer_class": "net/minecraft/client/gui/achievement/GuiStats", + "start": "494" + }, + { + "access": "20", + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$StatsBlock", + "inner_name": "StatsBlock", + "outer_class": "net/minecraft/client/gui/achievement/GuiStats", + "start": "603" + }, + { + "access": "20", + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$StatsMobsList", + "inner_name": "StatsMobsList", + "outer_class": "net/minecraft/client/gui/achievement/GuiStats", + "start": "664" + } + ] + }, + "net/minecraft/client/gui/achievement/GuiStats$Stats": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/achievement/GuiStats" + }, + "innerClasses": [ + { + "access": "420", + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$Stats", + "inner_name": "Stats", + "outer_class": "net/minecraft/client/gui/achievement/GuiStats", + "start": "262" + } + ] + }, + "net/minecraft/client/gui/achievement/GuiStats$StatsBlock": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/achievement/GuiStats" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$StatsBlock$1", + "start": "563" + }, + { + "access": "20", + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$StatsBlock", + "inner_name": "StatsBlock", + "outer_class": "net/minecraft/client/gui/achievement/GuiStats", + "start": "603" + } + ] + }, + "net/minecraft/client/gui/achievement/GuiStats$StatsBlock$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/achievement/GuiStats$StatsBlock" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$StatsBlock$1", + "start": "563" + } + ] + }, + "net/minecraft/client/gui/achievement/GuiStats$StatsGeneral": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/achievement/GuiStats" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$StatsGeneral", + "inner_name": "StatsGeneral", + "outer_class": "net/minecraft/client/gui/achievement/GuiStats", + "start": "162" + } + ] + }, + "net/minecraft/client/gui/achievement/GuiStats$StatsItem": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/achievement/GuiStats" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$StatsItem$1", + "start": "454" + }, + { + "access": "20", + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$StatsItem", + "inner_name": "StatsItem", + "outer_class": "net/minecraft/client/gui/achievement/GuiStats", + "start": "494" + } + ] + }, + "net/minecraft/client/gui/achievement/GuiStats$StatsItem$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/achievement/GuiStats$StatsItem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$StatsItem$1", + "start": "454" + } + ] + }, + "net/minecraft/client/gui/achievement/GuiStats$StatsMobsList": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/achievement/GuiStats" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/achievement/GuiStats$StatsMobsList", + "inner_name": "StatsMobsList", + "outer_class": "net/minecraft/client/gui/achievement/GuiStats", + "start": "664" + } + ] + }, + "net/minecraft/client/gui/inventory/GuiBeacon": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/inventory/GuiBeacon$Button", + "inner_name": "Button", + "outer_class": "net/minecraft/client/gui/inventory/GuiBeacon", + "start": "192" + }, + { + "access": "20", + "inner_class": "net/minecraft/client/gui/inventory/GuiBeacon$PowerButton", + "inner_name": "PowerButton", + "outer_class": "net/minecraft/client/gui/inventory/GuiBeacon", + "start": "241" + }, + { + "access": "20", + "inner_class": "net/minecraft/client/gui/inventory/GuiBeacon$ConfirmButton", + "inner_name": "ConfirmButton", + "outer_class": "net/minecraft/client/gui/inventory/GuiBeacon", + "start": "259" + }, + { + "access": "20", + "inner_class": "net/minecraft/client/gui/inventory/GuiBeacon$CancelButton", + "inner_name": "CancelButton", + "outer_class": "net/minecraft/client/gui/inventory/GuiBeacon", + "start": "270" + } + ] + }, + "net/minecraft/client/gui/inventory/GuiBeacon$Button": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/inventory/GuiBeacon" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/inventory/GuiBeacon$Button", + "inner_name": "Button", + "outer_class": "net/minecraft/client/gui/inventory/GuiBeacon", + "start": "192" + } + ] + }, + "net/minecraft/client/gui/inventory/GuiBeacon$CancelButton": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/inventory/GuiBeacon" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/inventory/GuiBeacon$CancelButton", + "inner_name": "CancelButton", + "outer_class": "net/minecraft/client/gui/inventory/GuiBeacon", + "start": "270" + } + ] + }, + "net/minecraft/client/gui/inventory/GuiBeacon$ConfirmButton": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/inventory/GuiBeacon" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/inventory/GuiBeacon$ConfirmButton", + "inner_name": "ConfirmButton", + "outer_class": "net/minecraft/client/gui/inventory/GuiBeacon", + "start": "259" + } + ] + }, + "net/minecraft/client/gui/inventory/GuiBeacon$PowerButton": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/inventory/GuiBeacon" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/inventory/GuiBeacon$PowerButton", + "inner_name": "PowerButton", + "outer_class": "net/minecraft/client/gui/inventory/GuiBeacon", + "start": "241" + } + ] + }, + "net/minecraft/client/gui/inventory/GuiContainerCreative": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative", + "inner_name": "ContainerCreative", + "outer_class": "net/minecraft/client/gui/inventory/GuiContainerCreative", + "start": "79" + }, + { + "access": "20", + "inner_class": "net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot", + "inner_name": "CreativeSlot", + "outer_class": "net/minecraft/client/gui/inventory/GuiContainerCreative", + "start": "745" + } + ] + }, + "net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/inventory/GuiContainerCreative" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative", + "inner_name": "ContainerCreative", + "outer_class": "net/minecraft/client/gui/inventory/GuiContainerCreative", + "start": "79" + } + ] + }, + "net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/inventory/GuiContainerCreative" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot", + "inner_name": "CreativeSlot", + "outer_class": "net/minecraft/client/gui/inventory/GuiContainerCreative", + "start": "745" + } + ] + }, + "net/minecraft/client/gui/spectator/SpectatorMenu": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/spectator/SpectatorMenu$1", + "start": "23" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/gui/spectator/SpectatorMenu$EndSpectatorObject", + "inner_name": "EndSpectatorObject", + "outer_class": "net/minecraft/client/gui/spectator/SpectatorMenu", + "start": "122" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/gui/spectator/SpectatorMenu$MoveMenuObject", + "inner_name": "MoveMenuObject", + "outer_class": "net/minecraft/client/gui/spectator/SpectatorMenu", + "start": "153" + } + ] + }, + "net/minecraft/client/gui/spectator/SpectatorMenu$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/spectator/SpectatorMenu" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/spectator/SpectatorMenu$1", + "start": "23" + } + ] + }, + "net/minecraft/client/gui/spectator/SpectatorMenu$EndSpectatorObject": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/spectator/SpectatorMenu" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/spectator/SpectatorMenu$EndSpectatorObject", + "inner_name": "EndSpectatorObject", + "outer_class": "net/minecraft/client/gui/spectator/SpectatorMenu", + "start": "122" + } + ] + }, + "net/minecraft/client/gui/spectator/SpectatorMenu$MoveMenuObject": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/spectator/SpectatorMenu" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/gui/spectator/SpectatorMenu$MoveMenuObject", + "inner_name": "MoveMenuObject", + "outer_class": "net/minecraft/client/gui/spectator/SpectatorMenu", + "start": "153" + } + ] + }, + "net/minecraft/client/gui/spectator/categories/TeleportToPlayer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/spectator/categories/TeleportToPlayer$1", + "start": "23" + } + ] + }, + "net/minecraft/client/gui/spectator/categories/TeleportToPlayer$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/spectator/categories/TeleportToPlayer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/gui/spectator/categories/TeleportToPlayer$1", + "start": "23" + } + ] + }, + "net/minecraft/client/gui/spectator/categories/TeleportToTeam": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject", + "inner_name": "TeamSelectionObject", + "outer_class": "net/minecraft/client/gui/spectator/categories/TeleportToTeam", + "start": "101" + } + ] + }, + "net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/spectator/categories/TeleportToTeam" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject", + "inner_name": "TeamSelectionObject", + "outer_class": "net/minecraft/client/gui/spectator/categories/TeleportToTeam", + "start": "101" + } + ] + }, + "net/minecraft/client/gui/stream/GuiIngestServers": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/stream/GuiIngestServers$ServerList", + "inner_name": "ServerList", + "outer_class": "net/minecraft/client/gui/stream/GuiIngestServers", + "start": "80" + } + ] + }, + "net/minecraft/client/gui/stream/GuiIngestServers$ServerList": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/stream/GuiIngestServers" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/gui/stream/GuiIngestServers$ServerList", + "inner_name": "ServerList", + "outer_class": "net/minecraft/client/gui/stream/GuiIngestServers", + "start": "80" + } + ] + }, + "net/minecraft/client/gui/stream/GuiStreamUnavailable": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason", + "inner_name": "Reason", + "outer_class": "net/minecraft/client/gui/stream/GuiStreamUnavailable", + "start": "176" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/gui/stream/GuiStreamUnavailable$SwitchReason", + "inner_name": "SwitchReason", + "outer_class": "net/minecraft/client/gui/stream/GuiStreamUnavailable" + } + ] + }, + "net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/stream/GuiStreamUnavailable" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason", + "inner_name": "Reason", + "outer_class": "net/minecraft/client/gui/stream/GuiStreamUnavailable", + "start": "176" + } + ] + }, + "net/minecraft/client/gui/stream/GuiStreamUnavailable$SwitchReason": { + "enclosingMethod": { + "owner": "net/minecraft/client/gui/stream/GuiStreamUnavailable" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/gui/stream/GuiStreamUnavailable$SwitchReason", + "inner_name": "SwitchReason", + "outer_class": "net/minecraft/client/gui/stream/GuiStreamUnavailable" + } + ] + }, + "net/minecraft/client/main/GameConfiguration": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/main/GameConfiguration$GameInformation", + "inner_name": "GameInformation", + "outer_class": "net/minecraft/client/main/GameConfiguration" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/main/GameConfiguration$FolderInformation", + "inner_name": "FolderInformation", + "outer_class": "net/minecraft/client/main/GameConfiguration" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/main/GameConfiguration$UserInformation", + "inner_name": "UserInformation", + "outer_class": "net/minecraft/client/main/GameConfiguration" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/main/GameConfiguration$DisplayInformation", + "inner_name": "DisplayInformation", + "outer_class": "net/minecraft/client/main/GameConfiguration" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/main/GameConfiguration$ServerInformation", + "inner_name": "ServerInformation", + "outer_class": "net/minecraft/client/main/GameConfiguration" + } + ] + }, + "net/minecraft/client/main/GameConfiguration$DisplayInformation": { + "enclosingMethod": { + "owner": "net/minecraft/client/main/GameConfiguration" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/main/GameConfiguration$DisplayInformation", + "inner_name": "DisplayInformation", + "outer_class": "net/minecraft/client/main/GameConfiguration" + } + ] + }, + "net/minecraft/client/main/GameConfiguration$FolderInformation": { + "enclosingMethod": { + "owner": "net/minecraft/client/main/GameConfiguration" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/main/GameConfiguration$FolderInformation", + "inner_name": "FolderInformation", + "outer_class": "net/minecraft/client/main/GameConfiguration" + } + ] + }, + "net/minecraft/client/main/GameConfiguration$GameInformation": { + "enclosingMethod": { + "owner": "net/minecraft/client/main/GameConfiguration" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/main/GameConfiguration$GameInformation", + "inner_name": "GameInformation", + "outer_class": "net/minecraft/client/main/GameConfiguration" + } + ] + }, + "net/minecraft/client/main/GameConfiguration$ServerInformation": { + "enclosingMethod": { + "owner": "net/minecraft/client/main/GameConfiguration" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/main/GameConfiguration$ServerInformation", + "inner_name": "ServerInformation", + "outer_class": "net/minecraft/client/main/GameConfiguration" + } + ] + }, + "net/minecraft/client/main/GameConfiguration$UserInformation": { + "enclosingMethod": { + "owner": "net/minecraft/client/main/GameConfiguration" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/main/GameConfiguration$UserInformation", + "inner_name": "UserInformation", + "outer_class": "net/minecraft/client/main/GameConfiguration" + } + ] + }, + "net/minecraft/client/main/Main": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/main/Main$1", + "start": "75" + }, + { + "inner_class": "net/minecraft/client/main/Main$2", + "start": "113" + } + ] + }, + "net/minecraft/client/main/Main$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/main/Main" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/main/Main$1", + "start": "75" + } + ] + }, + "net/minecraft/client/main/Main$2": { + "enclosingMethod": { + "desc": "([Ljava/lang/String;)V", + "name": "main", + "owner": "net/minecraft/client/main/Main" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/main/Main$2", + "start": "113" + } + ] + }, + "net/minecraft/client/multiplayer/GuiConnecting": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/multiplayer/GuiConnecting$1", + "start": "53" + } + ] + }, + "net/minecraft/client/multiplayer/GuiConnecting$1": { + "enclosingMethod": { + "desc": "(Ljava/lang/String;I)V", + "name": "func_146367_a", + "owner": "net/minecraft/client/multiplayer/GuiConnecting" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/multiplayer/GuiConnecting$1", + "start": "53" + } + ] + }, + "net/minecraft/client/multiplayer/ServerData": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/multiplayer/ServerData$ServerResourceMode", + "inner_name": "ServerResourceMode", + "outer_class": "net/minecraft/client/multiplayer/ServerData", + "start": "88" + } + ] + }, + "net/minecraft/client/multiplayer/ServerData$ServerResourceMode": { + "enclosingMethod": { + "owner": "net/minecraft/client/multiplayer/ServerData" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/multiplayer/ServerData$ServerResourceMode", + "inner_name": "ServerResourceMode", + "outer_class": "net/minecraft/client/multiplayer/ServerData", + "start": "88" + } + ] + }, + "net/minecraft/client/multiplayer/WorldClient": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/multiplayer/WorldClient$1", + "start": "310" + }, + { + "inner_class": "net/minecraft/client/multiplayer/WorldClient$2", + "start": "317" + }, + { + "inner_class": "net/minecraft/client/multiplayer/WorldClient$3", + "start": "324" + }, + { + "inner_class": "net/minecraft/client/multiplayer/WorldClient$4", + "start": "331" + } + ] + }, + "net/minecraft/client/multiplayer/WorldClient$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReportCategory;", + "name": "func_72914_a", + "owner": "net/minecraft/client/multiplayer/WorldClient" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/multiplayer/WorldClient$1", + "start": "310" + } + ] + }, + "net/minecraft/client/multiplayer/WorldClient$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReportCategory;", + "name": "func_72914_a", + "owner": "net/minecraft/client/multiplayer/WorldClient" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/multiplayer/WorldClient$2", + "start": "317" + } + ] + }, + "net/minecraft/client/multiplayer/WorldClient$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReportCategory;", + "name": "func_72914_a", + "owner": "net/minecraft/client/multiplayer/WorldClient" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/multiplayer/WorldClient$3", + "start": "324" + } + ] + }, + "net/minecraft/client/multiplayer/WorldClient$4": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReportCategory;", + "name": "func_72914_a", + "owner": "net/minecraft/client/multiplayer/WorldClient" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/multiplayer/WorldClient$4", + "start": "331" + } + ] + }, + "net/minecraft/client/network/LanServerDetector": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/network/LanServerDetector$LanServerList", + "inner_name": "LanServerList", + "outer_class": "net/minecraft/client/network/LanServerDetector", + "start": "26" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/network/LanServerDetector$LanServer", + "inner_name": "LanServer", + "outer_class": "net/minecraft/client/network/LanServerDetector", + "start": "74" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/network/LanServerDetector$ThreadLanServerFind", + "inner_name": "ThreadLanServerFind", + "outer_class": "net/minecraft/client/network/LanServerDetector", + "start": "110" + } + ] + }, + "net/minecraft/client/network/LanServerDetector$LanServer": { + "enclosingMethod": { + "owner": "net/minecraft/client/network/LanServerDetector" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/network/LanServerDetector$LanServer", + "inner_name": "LanServer", + "outer_class": "net/minecraft/client/network/LanServerDetector", + "start": "74" + } + ] + }, + "net/minecraft/client/network/LanServerDetector$LanServerList": { + "enclosingMethod": { + "owner": "net/minecraft/client/network/LanServerDetector" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/network/LanServerDetector$LanServerList", + "inner_name": "LanServerList", + "outer_class": "net/minecraft/client/network/LanServerDetector", + "start": "26" + } + ] + }, + "net/minecraft/client/network/LanServerDetector$ThreadLanServerFind": { + "enclosingMethod": { + "owner": "net/minecraft/client/network/LanServerDetector" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/network/LanServerDetector$ThreadLanServerFind", + "inner_name": "ThreadLanServerFind", + "outer_class": "net/minecraft/client/network/LanServerDetector", + "start": "110" + } + ] + }, + "net/minecraft/client/network/NetHandlerLoginClient": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/NetHandlerLoginClient$1", + "start": "62" + } + ] + }, + "net/minecraft/client/network/NetHandlerLoginClient$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/network/login/server/S01PacketEncryptionRequest;)V", + "name": "func_147389_a", + "owner": "net/minecraft/client/network/NetHandlerLoginClient" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/NetHandlerLoginClient$1", + "start": "62" + } + ] + }, + "net/minecraft/client/network/NetHandlerPlayClient": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/NetHandlerPlayClient$1", + "start": "1191" + }, + { + "inner_class": "net/minecraft/client/network/NetHandlerPlayClient$2", + "start": "1210" + }, + { + "inner_class": "net/minecraft/client/network/NetHandlerPlayClient$3", + "start": "1222" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/network/NetHandlerPlayClient$SwitchAction", + "inner_name": "SwitchAction", + "outer_class": "net/minecraft/client/network/NetHandlerPlayClient" + } + ] + }, + "net/minecraft/client/network/NetHandlerPlayClient$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/network/play/server/S48PacketResourcePackSend;)V", + "name": "func_175095_a", + "owner": "net/minecraft/client/network/NetHandlerPlayClient" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/NetHandlerPlayClient$1", + "start": "1191" + } + ] + }, + "net/minecraft/client/network/NetHandlerPlayClient$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/network/play/server/S48PacketResourcePackSend;)V", + "name": "func_175095_a", + "owner": "net/minecraft/client/network/NetHandlerPlayClient" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/NetHandlerPlayClient$2", + "start": "1210" + } + ] + }, + "net/minecraft/client/network/NetHandlerPlayClient$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/network/play/server/S48PacketResourcePackSend;)V", + "name": "func_175095_a", + "owner": "net/minecraft/client/network/NetHandlerPlayClient" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/NetHandlerPlayClient$3", + "start": "1222" + }, + { + "inner_class": "net/minecraft/client/network/NetHandlerPlayClient$3$1", + "start": "1225" + } + ] + }, + "net/minecraft/client/network/NetHandlerPlayClient$3$1": { + "enclosingMethod": { + "desc": "()V", + "name": "run", + "owner": "net/minecraft/client/network/NetHandlerPlayClient$3" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/NetHandlerPlayClient$3$1", + "start": "1225" + }, + { + "inner_class": "net/minecraft/client/network/NetHandlerPlayClient$3$1$1", + "start": "1236" + } + ] + }, + "net/minecraft/client/network/NetHandlerPlayClient$3$1$1": { + "enclosingMethod": { + "desc": "(ZI)V", + "name": "func_73878_a", + "owner": "net/minecraft/client/network/NetHandlerPlayClient$3$1" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/NetHandlerPlayClient$3$1$1", + "start": "1236" + } + ] + }, + "net/minecraft/client/network/NetHandlerPlayClient$SwitchAction": { + "enclosingMethod": { + "owner": "net/minecraft/client/network/NetHandlerPlayClient" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/network/NetHandlerPlayClient$SwitchAction", + "inner_name": "SwitchAction", + "outer_class": "net/minecraft/client/network/NetHandlerPlayClient" + } + ] + }, + "net/minecraft/client/network/OldServerPinger": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/OldServerPinger$1", + "start": "55" + }, + { + "inner_class": "net/minecraft/client/network/OldServerPinger$2", + "start": "154" + } + ] + }, + "net/minecraft/client/network/OldServerPinger$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/client/multiplayer/ServerData;)V", + "name": "func_147224_a", + "owner": "net/minecraft/client/network/OldServerPinger" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/OldServerPinger$1", + "start": "55" + } + ] + }, + "net/minecraft/client/network/OldServerPinger$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/client/multiplayer/ServerData;)V", + "name": "func_147225_b", + "owner": "net/minecraft/client/network/OldServerPinger" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/OldServerPinger$2", + "start": "154" + }, + { + "inner_class": "net/minecraft/client/network/OldServerPinger$2$1", + "start": "164" + } + ] + }, + "net/minecraft/client/network/OldServerPinger$2$1": { + "enclosingMethod": { + "desc": "(Lio/netty/channel/Channel;)V", + "name": "initChannel", + "owner": "net/minecraft/client/network/OldServerPinger$2" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/network/OldServerPinger$2$1", + "start": "164" + } + ] + }, + "net/minecraft/client/particle/Barrier": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/Barrier$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/Barrier", + "start": "47" + } + ] + }, + "net/minecraft/client/particle/Barrier$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/Barrier" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/Barrier$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/Barrier", + "start": "47" + } + ] + }, + "net/minecraft/client/particle/EffectRenderer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/particle/EffectRenderer$1", + "start": "184" + }, + { + "inner_class": "net/minecraft/client/particle/EffectRenderer$2", + "start": "191" + }, + { + "inner_class": "net/minecraft/client/particle/EffectRenderer$3", + "start": "267" + }, + { + "inner_class": "net/minecraft/client/particle/EffectRenderer$4", + "start": "274" + } + ] + }, + "net/minecraft/client/particle/EffectRenderer$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/client/particle/EntityFX;)V", + "name": "func_178923_d", + "owner": "net/minecraft/client/particle/EffectRenderer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/particle/EffectRenderer$1", + "start": "184" + } + ] + }, + "net/minecraft/client/particle/EffectRenderer$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/client/particle/EntityFX;)V", + "name": "func_178923_d", + "owner": "net/minecraft/client/particle/EffectRenderer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/particle/EffectRenderer$2", + "start": "191" + } + ] + }, + "net/minecraft/client/particle/EffectRenderer$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/entity/Entity;F)V", + "name": "func_78874_a", + "owner": "net/minecraft/client/particle/EffectRenderer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/particle/EffectRenderer$3", + "start": "267" + } + ] + }, + "net/minecraft/client/particle/EffectRenderer$4": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/entity/Entity;F)V", + "name": "func_78874_a", + "owner": "net/minecraft/client/particle/EffectRenderer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/particle/EffectRenderer$4", + "start": "274" + } + ] + }, + "net/minecraft/client/particle/EntityAuraFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityAuraFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityAuraFX", + "start": "45" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityAuraFX$HappyVillagerFactory", + "inner_name": "HappyVillagerFactory", + "outer_class": "net/minecraft/client/particle/EntityAuraFX", + "start": "52" + } + ] + }, + "net/minecraft/client/particle/EntityAuraFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityAuraFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityAuraFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityAuraFX", + "start": "45" + } + ] + }, + "net/minecraft/client/particle/EntityAuraFX$HappyVillagerFactory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityAuraFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityAuraFX$HappyVillagerFactory", + "inner_name": "HappyVillagerFactory", + "outer_class": "net/minecraft/client/particle/EntityAuraFX", + "start": "52" + } + ] + }, + "net/minecraft/client/particle/EntityBlockDustFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityBlockDustFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityBlockDustFX", + "start": "19" + } + ] + }, + "net/minecraft/client/particle/EntityBlockDustFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityBlockDustFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityBlockDustFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityBlockDustFX", + "start": "19" + } + ] + }, + "net/minecraft/client/particle/EntityBreakingFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityBreakingFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityBreakingFX", + "start": "69" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityBreakingFX$SlimeFactory", + "inner_name": "SlimeFactory", + "outer_class": "net/minecraft/client/particle/EntityBreakingFX", + "start": "77" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityBreakingFX$SnowballFactory", + "inner_name": "SnowballFactory", + "outer_class": "net/minecraft/client/particle/EntityBreakingFX", + "start": "84" + } + ] + }, + "net/minecraft/client/particle/EntityBreakingFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityBreakingFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityBreakingFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityBreakingFX", + "start": "69" + } + ] + }, + "net/minecraft/client/particle/EntityBreakingFX$SlimeFactory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityBreakingFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityBreakingFX$SlimeFactory", + "inner_name": "SlimeFactory", + "outer_class": "net/minecraft/client/particle/EntityBreakingFX", + "start": "77" + } + ] + }, + "net/minecraft/client/particle/EntityBreakingFX$SnowballFactory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityBreakingFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityBreakingFX$SnowballFactory", + "inner_name": "SnowballFactory", + "outer_class": "net/minecraft/client/particle/EntityBreakingFX", + "start": "84" + } + ] + }, + "net/minecraft/client/particle/EntityBubbleFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityBubbleFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityBubbleFX", + "start": "50" + } + ] + }, + "net/minecraft/client/particle/EntityBubbleFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityBubbleFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityBubbleFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityBubbleFX", + "start": "50" + } + ] + }, + "net/minecraft/client/particle/EntityCloudFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityCloudFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityCloudFX", + "start": "76" + } + ] + }, + "net/minecraft/client/particle/EntityCloudFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityCloudFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityCloudFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityCloudFX", + "start": "76" + } + ] + }, + "net/minecraft/client/particle/EntityCrit2FX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityCrit2FX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityCrit2FX", + "start": "74" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityCrit2FX$MagicFactory", + "inner_name": "MagicFactory", + "outer_class": "net/minecraft/client/particle/EntityCrit2FX", + "start": "81" + } + ] + }, + "net/minecraft/client/particle/EntityCrit2FX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityCrit2FX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityCrit2FX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityCrit2FX", + "start": "74" + } + ] + }, + "net/minecraft/client/particle/EntityCrit2FX$MagicFactory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityCrit2FX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityCrit2FX$MagicFactory", + "inner_name": "MagicFactory", + "outer_class": "net/minecraft/client/particle/EntityCrit2FX", + "start": "81" + } + ] + }, + "net/minecraft/client/particle/EntityCritFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityCritFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityCritFX", + "start": "13" + } + ] + }, + "net/minecraft/client/particle/EntityCritFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityCritFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityCritFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityCritFX", + "start": "13" + } + ] + }, + "net/minecraft/client/particle/EntityDiggingFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityDiggingFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityDiggingFX", + "start": "84" + } + ] + }, + "net/minecraft/client/particle/EntityDiggingFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityDiggingFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityDiggingFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityDiggingFX", + "start": "84" + } + ] + }, + "net/minecraft/client/particle/EntityDropParticleFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityDropParticleFX$WaterFactory", + "inner_name": "WaterFactory", + "outer_class": "net/minecraft/client/particle/EntityDropParticleFX", + "start": "119" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityDropParticleFX$LavaFactory", + "inner_name": "LavaFactory", + "outer_class": "net/minecraft/client/particle/EntityDropParticleFX", + "start": "126" + } + ] + }, + "net/minecraft/client/particle/EntityDropParticleFX$LavaFactory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityDropParticleFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityDropParticleFX$LavaFactory", + "inner_name": "LavaFactory", + "outer_class": "net/minecraft/client/particle/EntityDropParticleFX", + "start": "126" + } + ] + }, + "net/minecraft/client/particle/EntityDropParticleFX$WaterFactory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityDropParticleFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityDropParticleFX$WaterFactory", + "inner_name": "WaterFactory", + "outer_class": "net/minecraft/client/particle/EntityDropParticleFX", + "start": "119" + } + ] + }, + "net/minecraft/client/particle/EntityEnchantmentTableParticleFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityEnchantmentTableParticleFX$EnchantmentTable", + "inner_name": "EnchantmentTable", + "outer_class": "net/minecraft/client/particle/EntityEnchantmentTableParticleFX", + "start": "84" + } + ] + }, + "net/minecraft/client/particle/EntityEnchantmentTableParticleFX$EnchantmentTable": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityEnchantmentTableParticleFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityEnchantmentTableParticleFX$EnchantmentTable", + "inner_name": "EnchantmentTable", + "outer_class": "net/minecraft/client/particle/EntityEnchantmentTableParticleFX", + "start": "84" + } + ] + }, + "net/minecraft/client/particle/EntityExplodeFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityExplodeFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityExplodeFX", + "start": "45" + } + ] + }, + "net/minecraft/client/particle/EntityExplodeFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityExplodeFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityExplodeFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityExplodeFX", + "start": "45" + } + ] + }, + "net/minecraft/client/particle/EntityFishWakeFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityFishWakeFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityFishWakeFX", + "start": "51" + } + ] + }, + "net/minecraft/client/particle/EntityFishWakeFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityFishWakeFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityFishWakeFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityFishWakeFX", + "start": "51" + } + ] + }, + "net/minecraft/client/particle/EntityFlameFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityFlameFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityFlameFX", + "start": "83" + } + ] + }, + "net/minecraft/client/particle/EntityFlameFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityFlameFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityFlameFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityFlameFX", + "start": "83" + } + ] + }, + "net/minecraft/client/particle/EntityFootStepFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityFootStepFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityFootStepFX", + "start": "81" + } + ] + }, + "net/minecraft/client/particle/EntityFootStepFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityFootStepFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityFootStepFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityFootStepFX", + "start": "81" + } + ] + }, + "net/minecraft/client/particle/EntityHeartFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityHeartFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityHeartFX", + "start": "69" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityHeartFX$AngryVillagerFactory", + "inner_name": "AngryVillagerFactory", + "outer_class": "net/minecraft/client/particle/EntityHeartFX", + "start": "76" + } + ] + }, + "net/minecraft/client/particle/EntityHeartFX$AngryVillagerFactory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityHeartFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityHeartFX$AngryVillagerFactory", + "inner_name": "AngryVillagerFactory", + "outer_class": "net/minecraft/client/particle/EntityHeartFX", + "start": "76" + } + ] + }, + "net/minecraft/client/particle/EntityHeartFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityHeartFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityHeartFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityHeartFX", + "start": "69" + } + ] + }, + "net/minecraft/client/particle/EntityHugeExplodeFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityHugeExplodeFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityHugeExplodeFX", + "start": "44" + } + ] + }, + "net/minecraft/client/particle/EntityHugeExplodeFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityHugeExplodeFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityHugeExplodeFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityHugeExplodeFX", + "start": "44" + } + ] + }, + "net/minecraft/client/particle/EntityLargeExplodeFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityLargeExplodeFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityLargeExplodeFX", + "start": "86" + } + ] + }, + "net/minecraft/client/particle/EntityLargeExplodeFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityLargeExplodeFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityLargeExplodeFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityLargeExplodeFX", + "start": "86" + } + ] + }, + "net/minecraft/client/particle/EntityLavaFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityLavaFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityLavaFX", + "start": "80" + } + ] + }, + "net/minecraft/client/particle/EntityLavaFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityLavaFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityLavaFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityLavaFX", + "start": "80" + } + ] + }, + "net/minecraft/client/particle/EntityNoteFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityNoteFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityNoteFX", + "start": "73" + } + ] + }, + "net/minecraft/client/particle/EntityNoteFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityNoteFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityNoteFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityNoteFX", + "start": "73" + } + ] + }, + "net/minecraft/client/particle/EntityPortalFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityPortalFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityPortalFX", + "start": "90" + } + ] + }, + "net/minecraft/client/particle/EntityPortalFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityPortalFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityPortalFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityPortalFX", + "start": "90" + } + ] + }, + "net/minecraft/client/particle/EntityRainFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityRainFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityRainFX", + "start": "74" + } + ] + }, + "net/minecraft/client/particle/EntityRainFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityRainFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityRainFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityRainFX", + "start": "74" + } + ] + }, + "net/minecraft/client/particle/EntityReddustFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityReddustFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityReddustFX", + "start": "76" + } + ] + }, + "net/minecraft/client/particle/EntityReddustFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntityReddustFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntityReddustFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntityReddustFX", + "start": "76" + } + ] + }, + "net/minecraft/client/particle/EntitySmokeFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySmokeFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntitySmokeFX", + "start": "74" + }, + { + "access": "1000", + "inner_class": "net/minecraft/client/particle/EntitySmokeFX$1" + } + ] + }, + "net/minecraft/client/particle/EntitySmokeFX$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntitySmokeFX" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/client/particle/EntitySmokeFX$1" + } + ] + }, + "net/minecraft/client/particle/EntitySmokeFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntitySmokeFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySmokeFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntitySmokeFX", + "start": "74" + } + ] + }, + "net/minecraft/client/particle/EntitySnowShovelFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySnowShovelFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntitySnowShovelFX", + "start": "70" + } + ] + }, + "net/minecraft/client/particle/EntitySnowShovelFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntitySnowShovelFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySnowShovelFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntitySnowShovelFX", + "start": "70" + } + ] + }, + "net/minecraft/client/particle/EntitySpellParticleFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySpellParticleFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntitySpellParticleFX", + "start": "72" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySpellParticleFX$MobFactory", + "inner_name": "MobFactory", + "outer_class": "net/minecraft/client/particle/EntitySpellParticleFX", + "start": "79" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySpellParticleFX$AmbientMobFactory", + "inner_name": "AmbientMobFactory", + "outer_class": "net/minecraft/client/particle/EntitySpellParticleFX", + "start": "88" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySpellParticleFX$WitchFactory", + "inner_name": "WitchFactory", + "outer_class": "net/minecraft/client/particle/EntitySpellParticleFX", + "start": "98" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySpellParticleFX$InstantFactory", + "inner_name": "InstantFactory", + "outer_class": "net/minecraft/client/particle/EntitySpellParticleFX", + "start": "109" + } + ] + }, + "net/minecraft/client/particle/EntitySpellParticleFX$AmbientMobFactory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntitySpellParticleFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySpellParticleFX$AmbientMobFactory", + "inner_name": "AmbientMobFactory", + "outer_class": "net/minecraft/client/particle/EntitySpellParticleFX", + "start": "88" + } + ] + }, + "net/minecraft/client/particle/EntitySpellParticleFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntitySpellParticleFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySpellParticleFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntitySpellParticleFX", + "start": "72" + } + ] + }, + "net/minecraft/client/particle/EntitySpellParticleFX$InstantFactory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntitySpellParticleFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySpellParticleFX$InstantFactory", + "inner_name": "InstantFactory", + "outer_class": "net/minecraft/client/particle/EntitySpellParticleFX", + "start": "109" + } + ] + }, + "net/minecraft/client/particle/EntitySpellParticleFX$MobFactory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntitySpellParticleFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySpellParticleFX$MobFactory", + "inner_name": "MobFactory", + "outer_class": "net/minecraft/client/particle/EntitySpellParticleFX", + "start": "79" + } + ] + }, + "net/minecraft/client/particle/EntitySpellParticleFX$WitchFactory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntitySpellParticleFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySpellParticleFX$WitchFactory", + "inner_name": "WitchFactory", + "outer_class": "net/minecraft/client/particle/EntitySpellParticleFX", + "start": "98" + } + ] + }, + "net/minecraft/client/particle/EntitySplashFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySplashFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntitySplashFX", + "start": "20" + } + ] + }, + "net/minecraft/client/particle/EntitySplashFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntitySplashFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySplashFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntitySplashFX", + "start": "20" + } + ] + }, + "net/minecraft/client/particle/EntitySuspendFX": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySuspendFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntitySuspendFX", + "start": "46" + } + ] + }, + "net/minecraft/client/particle/EntitySuspendFX$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/EntitySuspendFX" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/EntitySuspendFX$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/EntitySuspendFX", + "start": "46" + } + ] + }, + "net/minecraft/client/particle/MobAppearance": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/MobAppearance$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/MobAppearance", + "start": "88" + } + ] + }, + "net/minecraft/client/particle/MobAppearance$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/client/particle/MobAppearance" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/particle/MobAppearance$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/client/particle/MobAppearance", + "start": "88" + } + ] + }, + "net/minecraft/client/renderer/BlockModelRenderer": { + "innerClasses": [ + { + "access": "4028", + "inner_class": "net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations", + "inner_name": "VertexTranslations", + "outer_class": "net/minecraft/client/renderer/BlockModelRenderer", + "start": "317" + }, + { + "access": "20", + "inner_class": "net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace", + "inner_name": "AmbientOcclusionFace", + "outer_class": "net/minecraft/client/renderer/BlockModelRenderer", + "start": "353" + }, + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/BlockModelRenderer$Orientation", + "inner_name": "Orientation", + "outer_class": "net/minecraft/client/renderer/BlockModelRenderer", + "start": "507" + }, + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo", + "inner_name": "EnumNeighborInfo", + "outer_class": "net/minecraft/client/renderer/BlockModelRenderer", + "start": "528" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/BlockModelRenderer$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/renderer/BlockModelRenderer" + } + ] + }, + "net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/BlockModelRenderer" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace", + "inner_name": "AmbientOcclusionFace", + "outer_class": "net/minecraft/client/renderer/BlockModelRenderer", + "start": "353" + } + ] + }, + "net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/BlockModelRenderer" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo", + "inner_name": "EnumNeighborInfo", + "outer_class": "net/minecraft/client/renderer/BlockModelRenderer", + "start": "528" + } + ] + }, + "net/minecraft/client/renderer/BlockModelRenderer$Orientation": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/BlockModelRenderer" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/BlockModelRenderer$Orientation", + "inner_name": "Orientation", + "outer_class": "net/minecraft/client/renderer/BlockModelRenderer", + "start": "507" + } + ] + }, + "net/minecraft/client/renderer/BlockModelRenderer$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/BlockModelRenderer" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/BlockModelRenderer$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/renderer/BlockModelRenderer" + } + ] + }, + "net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/BlockModelRenderer" + }, + "innerClasses": [ + { + "access": "4028", + "inner_class": "net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations", + "inner_name": "VertexTranslations", + "outer_class": "net/minecraft/client/renderer/BlockModelRenderer", + "start": "317" + } + ] + }, + "net/minecraft/client/renderer/BlockModelShapes": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$1", + "start": "172" + }, + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$2", + "start": "192" + }, + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$3", + "start": "199" + }, + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$4", + "start": "211" + }, + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$5", + "start": "223" + }, + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$6", + "start": "237" + }, + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$7", + "start": "250" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$SwitchEnumType", + "inner_name": "SwitchEnumType", + "outer_class": "net/minecraft/client/renderer/BlockModelShapes" + } + ] + }, + "net/minecraft/client/renderer/BlockModelShapes$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_178119_d", + "owner": "net/minecraft/client/renderer/BlockModelShapes" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$1", + "start": "172" + } + ] + }, + "net/minecraft/client/renderer/BlockModelShapes$2": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/BlockModelShapes" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$2", + "start": "192" + } + ] + }, + "net/minecraft/client/renderer/BlockModelShapes$3": { + "enclosingMethod": { + "desc": "()V", + "name": "func_178119_d", + "owner": "net/minecraft/client/renderer/BlockModelShapes" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$3", + "start": "199" + } + ] + }, + "net/minecraft/client/renderer/BlockModelShapes$4": { + "enclosingMethod": { + "desc": "()V", + "name": "func_178119_d", + "owner": "net/minecraft/client/renderer/BlockModelShapes" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$4", + "start": "211" + } + ] + }, + "net/minecraft/client/renderer/BlockModelShapes$5": { + "enclosingMethod": { + "desc": "()V", + "name": "func_178119_d", + "owner": "net/minecraft/client/renderer/BlockModelShapes" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$5", + "start": "223" + } + ] + }, + "net/minecraft/client/renderer/BlockModelShapes$6": { + "enclosingMethod": { + "desc": "()V", + "name": "func_178119_d", + "owner": "net/minecraft/client/renderer/BlockModelShapes" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$6", + "start": "237" + } + ] + }, + "net/minecraft/client/renderer/BlockModelShapes$7": { + "enclosingMethod": { + "desc": "()V", + "name": "func_178119_d", + "owner": "net/minecraft/client/renderer/BlockModelShapes" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$7", + "start": "250" + } + ] + }, + "net/minecraft/client/renderer/BlockModelShapes$SwitchEnumType": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/BlockModelShapes" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/BlockModelShapes$SwitchEnumType", + "inner_name": "SwitchEnumType", + "outer_class": "net/minecraft/client/renderer/BlockModelShapes" + } + ] + }, + "net/minecraft/client/renderer/EntityRenderer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/EntityRenderer$1", + "start": "1025" + }, + { + "inner_class": "net/minecraft/client/renderer/EntityRenderer$2", + "start": "1032" + }, + { + "inner_class": "net/minecraft/client/renderer/EntityRenderer$3", + "start": "1039" + } + ] + }, + "net/minecraft/client/renderer/EntityRenderer$1": { + "enclosingMethod": { + "desc": "(F)V", + "name": "func_78480_b", + "owner": "net/minecraft/client/renderer/EntityRenderer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/EntityRenderer$1", + "start": "1025" + } + ] + }, + "net/minecraft/client/renderer/EntityRenderer$2": { + "enclosingMethod": { + "desc": "(F)V", + "name": "func_78480_b", + "owner": "net/minecraft/client/renderer/EntityRenderer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/EntityRenderer$2", + "start": "1032" + } + ] + }, + "net/minecraft/client/renderer/EntityRenderer$3": { + "enclosingMethod": { + "desc": "(F)V", + "name": "func_78480_b", + "owner": "net/minecraft/client/renderer/EntityRenderer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/EntityRenderer$3", + "start": "1039" + } + ] + }, + "net/minecraft/client/renderer/EnumFaceDirection": { + "innerClasses": [ + { + "access": "39", + "inner_class": "net/minecraft/client/renderer/EnumFaceDirection$Constants", + "inner_name": "Constants", + "outer_class": "net/minecraft/client/renderer/EnumFaceDirection" + }, + { + "access": "1000", + "inner_class": "net/minecraft/client/renderer/EnumFaceDirection$1" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/EnumFaceDirection$VertexInformation", + "inner_name": "VertexInformation", + "outer_class": "net/minecraft/client/renderer/EnumFaceDirection" + } + ] + }, + "net/minecraft/client/renderer/EnumFaceDirection$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/EnumFaceDirection" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/client/renderer/EnumFaceDirection$1" + } + ] + }, + "net/minecraft/client/renderer/EnumFaceDirection$Constants": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/EnumFaceDirection" + }, + "innerClasses": [ + { + "access": "39", + "inner_class": "net/minecraft/client/renderer/EnumFaceDirection$Constants", + "inner_name": "Constants", + "outer_class": "net/minecraft/client/renderer/EnumFaceDirection" + } + ] + }, + "net/minecraft/client/renderer/EnumFaceDirection$VertexInformation": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/EnumFaceDirection" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/EnumFaceDirection$VertexInformation", + "inner_name": "VertexInformation", + "outer_class": "net/minecraft/client/renderer/EnumFaceDirection" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/GlStateManager$TexGen", + "inner_name": "TexGen", + "outer_class": "net/minecraft/client/renderer/GlStateManager", + "start": "664" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$BooleanState", + "inner_name": "BooleanState", + "outer_class": "net/minecraft/client/renderer/GlStateManager", + "start": "708" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$CullState", + "inner_name": "CullState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$Viewport", + "inner_name": "Viewport", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$PolygonOffsetState", + "inner_name": "PolygonOffsetState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$TextureState", + "inner_name": "TextureState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$TexGenCoord", + "inner_name": "TexGenCoord", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$ColorLogicState", + "inner_name": "ColorLogicState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$ColorMaterialState", + "inner_name": "ColorMaterialState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$DepthState", + "inner_name": "DepthState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$FogState", + "inner_name": "FogState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$ClearState", + "inner_name": "ClearState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$Color", + "inner_name": "Color", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$StencilFunc", + "inner_name": "StencilFunc", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/GlStateManager$SwitchTexGen", + "inner_name": "SwitchTexGen", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$TexGenState", + "inner_name": "TexGenState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$BlendState", + "inner_name": "BlendState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$AlphaState", + "inner_name": "AlphaState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$StencilState", + "inner_name": "StencilState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$ColorMask", + "inner_name": "ColorMask", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$AlphaState": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$AlphaState", + "inner_name": "AlphaState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$BlendState": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$BlendState", + "inner_name": "BlendState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$BooleanState": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$BooleanState", + "inner_name": "BooleanState", + "outer_class": "net/minecraft/client/renderer/GlStateManager", + "start": "708" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$ClearState": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$ClearState", + "inner_name": "ClearState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$Color": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$Color", + "inner_name": "Color", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$ColorLogicState": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$ColorLogicState", + "inner_name": "ColorLogicState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$ColorMask": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$ColorMask", + "inner_name": "ColorMask", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$ColorMaterialState": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$ColorMaterialState", + "inner_name": "ColorMaterialState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$CullState": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$CullState", + "inner_name": "CullState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$DepthState": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$DepthState", + "inner_name": "DepthState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$FogState": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$FogState", + "inner_name": "FogState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$PolygonOffsetState": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$PolygonOffsetState", + "inner_name": "PolygonOffsetState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$StencilFunc": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$StencilFunc", + "inner_name": "StencilFunc", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$StencilState": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$StencilState", + "inner_name": "StencilState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$SwitchTexGen": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/GlStateManager$SwitchTexGen", + "inner_name": "SwitchTexGen", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$TexGen": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/GlStateManager$TexGen", + "inner_name": "TexGen", + "outer_class": "net/minecraft/client/renderer/GlStateManager", + "start": "664" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$TexGenCoord": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$TexGenCoord", + "inner_name": "TexGenCoord", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$TexGenState": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$TexGenState", + "inner_name": "TexGenState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$TextureState": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$TextureState", + "inner_name": "TextureState", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/GlStateManager$Viewport": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/GlStateManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/GlStateManager$Viewport", + "inner_name": "Viewport", + "outer_class": "net/minecraft/client/renderer/GlStateManager" + } + ] + }, + "net/minecraft/client/renderer/ItemRenderer": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/ItemRenderer$SwitchEnumAction", + "inner_name": "SwitchEnumAction", + "outer_class": "net/minecraft/client/renderer/ItemRenderer" + } + ] + }, + "net/minecraft/client/renderer/ItemRenderer$SwitchEnumAction": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/ItemRenderer" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/ItemRenderer$SwitchEnumAction", + "inner_name": "SwitchEnumAction", + "outer_class": "net/minecraft/client/renderer/ItemRenderer" + } + ] + }, + "net/minecraft/client/renderer/RenderGlobal": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/RenderGlobal$1", + "start": "2130" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/RenderGlobal$SwitchEnumUsage", + "inner_name": "SwitchEnumUsage", + "outer_class": "net/minecraft/client/renderer/RenderGlobal" + }, + { + "access": "20", + "inner_class": "net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation", + "inner_name": "ContainerLocalRenderInformation", + "outer_class": "net/minecraft/client/renderer/RenderGlobal" + } + ] + }, + "net/minecraft/client/renderer/RenderGlobal$1": { + "enclosingMethod": { + "desc": "(IZDDDDDD[I)V", + "name": "func_180442_a", + "owner": "net/minecraft/client/renderer/RenderGlobal" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/RenderGlobal$1", + "start": "2130" + } + ] + }, + "net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/RenderGlobal" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation", + "inner_name": "ContainerLocalRenderInformation", + "outer_class": "net/minecraft/client/renderer/RenderGlobal" + } + ] + }, + "net/minecraft/client/renderer/RenderGlobal$SwitchEnumUsage": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/RenderGlobal" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/RenderGlobal$SwitchEnumUsage", + "inner_name": "SwitchEnumUsage", + "outer_class": "net/minecraft/client/renderer/RenderGlobal" + } + ] + }, + "net/minecraft/client/renderer/ThreadDownloadImageData": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/ThreadDownloadImageData$1", + "start": "100" + } + ] + }, + "net/minecraft/client/renderer/ThreadDownloadImageData$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_152433_a", + "owner": "net/minecraft/client/renderer/ThreadDownloadImageData" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/ThreadDownloadImageData$1", + "start": "100" + } + ] + }, + "net/minecraft/client/renderer/WorldRenderer": { + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/client/renderer/WorldRenderer$State", + "inner_name": "State", + "outer_class": "net/minecraft/client/renderer/WorldRenderer", + "start": "464" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/WorldRenderer$SwitchEnumUsage", + "inner_name": "SwitchEnumUsage", + "outer_class": "net/minecraft/client/renderer/WorldRenderer" + } + ] + }, + "net/minecraft/client/renderer/WorldRenderer$State": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/WorldRenderer" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/client/renderer/WorldRenderer$State", + "inner_name": "State", + "outer_class": "net/minecraft/client/renderer/WorldRenderer", + "start": "464" + } + ] + }, + "net/minecraft/client/renderer/WorldRenderer$SwitchEnumUsage": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/WorldRenderer" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/WorldRenderer$SwitchEnumUsage", + "inner_name": "SwitchEnumUsage", + "outer_class": "net/minecraft/client/renderer/WorldRenderer" + } + ] + }, + "net/minecraft/client/renderer/WorldVertexBufferUploader": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/WorldVertexBufferUploader$SwitchEnumUsage", + "inner_name": "SwitchEnumUsage", + "outer_class": "net/minecraft/client/renderer/WorldVertexBufferUploader" + } + ] + }, + "net/minecraft/client/renderer/WorldVertexBufferUploader$SwitchEnumUsage": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/WorldVertexBufferUploader" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/WorldVertexBufferUploader$SwitchEnumUsage", + "inner_name": "SwitchEnumUsage", + "outer_class": "net/minecraft/client/renderer/WorldVertexBufferUploader" + } + ] + }, + "net/minecraft/client/renderer/block/model/BlockFaceUV": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/block/model/BlockFaceUV$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/BlockFaceUV", + "start": "50" + } + ] + }, + "net/minecraft/client/renderer/block/model/BlockFaceUV$Deserializer": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/BlockFaceUV" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/block/model/BlockFaceUV$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/BlockFaceUV", + "start": "50" + } + ] + }, + "net/minecraft/client/renderer/block/model/BlockPart": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/block/model/BlockPart$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/BlockPart", + "start": "64" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/block/model/BlockPart$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/renderer/block/model/BlockPart" + } + ] + }, + "net/minecraft/client/renderer/block/model/BlockPart$Deserializer": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/BlockPart" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/block/model/BlockPart$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/BlockPart", + "start": "64" + } + ] + }, + "net/minecraft/client/renderer/block/model/BlockPart$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/BlockPart" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/block/model/BlockPart$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/renderer/block/model/BlockPart" + } + ] + }, + "net/minecraft/client/renderer/block/model/BlockPartFace": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/block/model/BlockPartFace$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/BlockPartFace", + "start": "26" + } + ] + }, + "net/minecraft/client/renderer/block/model/BlockPartFace$Deserializer": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/BlockPartFace" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/block/model/BlockPartFace$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/BlockPartFace", + "start": "26" + } + ] + }, + "net/minecraft/client/renderer/block/model/BreakingFour": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/block/model/BreakingFour$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/renderer/block/model/BreakingFour" + } + ] + }, + "net/minecraft/client/renderer/block/model/BreakingFour$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/BreakingFour" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/block/model/BreakingFour$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/renderer/block/model/BreakingFour" + } + ] + }, + "net/minecraft/client/renderer/block/model/FaceBakery": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/block/model/FaceBakery$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/renderer/block/model/FaceBakery" + } + ] + }, + "net/minecraft/client/renderer/block/model/FaceBakery$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/FaceBakery" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/block/model/FaceBakery$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/renderer/block/model/FaceBakery" + } + ] + }, + "net/minecraft/client/renderer/block/model/ItemCameraTransforms": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType", + "inner_name": "TransformType", + "outer_class": "net/minecraft/client/renderer/block/model/ItemCameraTransforms", + "start": "21" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/block/model/ItemCameraTransforms$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/ItemCameraTransforms", + "start": "29" + } + ] + }, + "net/minecraft/client/renderer/block/model/ItemCameraTransforms$Deserializer": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ItemCameraTransforms" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/block/model/ItemCameraTransforms$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/ItemCameraTransforms", + "start": "29" + } + ] + }, + "net/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ItemCameraTransforms" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType", + "inner_name": "TransformType", + "outer_class": "net/minecraft/client/renderer/block/model/ItemCameraTransforms", + "start": "21" + } + ] + }, + "net/minecraft/client/renderer/block/model/ItemModelGenerator": { + "innerClasses": [ + { + "access": "4028", + "inner_class": "net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing", + "inner_name": "SpanFacing", + "outer_class": "net/minecraft/client/renderer/block/model/ItemModelGenerator", + "start": "222" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/block/model/ItemModelGenerator$Span", + "inner_name": "Span", + "outer_class": "net/minecraft/client/renderer/block/model/ItemModelGenerator", + "start": "271" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/block/model/ItemModelGenerator$SwitchSpanFacing", + "inner_name": "SwitchSpanFacing", + "outer_class": "net/minecraft/client/renderer/block/model/ItemModelGenerator" + } + ] + }, + "net/minecraft/client/renderer/block/model/ItemModelGenerator$Span": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ItemModelGenerator" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/block/model/ItemModelGenerator$Span", + "inner_name": "Span", + "outer_class": "net/minecraft/client/renderer/block/model/ItemModelGenerator", + "start": "271" + } + ] + }, + "net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ItemModelGenerator" + }, + "innerClasses": [ + { + "access": "4028", + "inner_class": "net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing", + "inner_name": "SpanFacing", + "outer_class": "net/minecraft/client/renderer/block/model/ItemModelGenerator", + "start": "222" + } + ] + }, + "net/minecraft/client/renderer/block/model/ItemModelGenerator$SwitchSpanFacing": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ItemModelGenerator" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/block/model/ItemModelGenerator$SwitchSpanFacing", + "inner_name": "SwitchSpanFacing", + "outer_class": "net/minecraft/client/renderer/block/model/ItemModelGenerator" + } + ] + }, + "net/minecraft/client/renderer/block/model/ItemTransformVec3f": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/block/model/ItemTransformVec3f$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/ItemTransformVec3f", + "start": "24" + } + ] + }, + "net/minecraft/client/renderer/block/model/ItemTransformVec3f$Deserializer": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ItemTransformVec3f" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/block/model/ItemTransformVec3f$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/ItemTransformVec3f", + "start": "24" + } + ] + }, + "net/minecraft/client/renderer/block/model/ModelBlock": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlock$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlock", + "start": "195" + }, + { + "access": "30", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlock$Bookkeep", + "inner_name": "Bookkeep", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlock" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlock$LoopException", + "inner_name": "LoopException", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlock" + }, + { + "access": "1000", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlock$1" + } + ] + }, + "net/minecraft/client/renderer/block/model/ModelBlock$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ModelBlock" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlock$1" + } + ] + }, + "net/minecraft/client/renderer/block/model/ModelBlock$Bookkeep": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ModelBlock" + }, + "innerClasses": [ + { + "access": "30", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlock$Bookkeep", + "inner_name": "Bookkeep", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlock" + } + ] + }, + "net/minecraft/client/renderer/block/model/ModelBlock$Deserializer": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ModelBlock" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlock$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlock", + "start": "195" + } + ] + }, + "net/minecraft/client/renderer/block/model/ModelBlock$LoopException": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ModelBlock" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlock$LoopException", + "inner_name": "LoopException", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlock" + } + ] + }, + "net/minecraft/client/renderer/block/model/ModelBlockDefinition": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants", + "inner_name": "Variants", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition", + "start": "75" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant", + "inner_name": "Variant", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition", + "start": "135" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition", + "start": "219" + }, + { + "access": "21", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition$MissingVariantException", + "inner_name": "MissingVariantException", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition" + } + ] + }, + "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Deserializer": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ModelBlockDefinition" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition", + "start": "219" + } + ] + }, + "net/minecraft/client/renderer/block/model/ModelBlockDefinition$MissingVariantException": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ModelBlockDefinition" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition$MissingVariantException", + "inner_name": "MissingVariantException", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition" + } + ] + }, + "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ModelBlockDefinition" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant", + "inner_name": "Variant", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition", + "start": "135" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant", + "start": "170" + } + ] + }, + "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant$Deserializer": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant$Deserializer", + "inner_name": "Deserializer", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant", + "start": "170" + } + ] + }, + "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/model/ModelBlockDefinition" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants", + "inner_name": "Variants", + "outer_class": "net/minecraft/client/renderer/block/model/ModelBlockDefinition", + "start": "75" + } + ] + }, + "net/minecraft/client/renderer/block/statemap/StateMap": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/statemap/StateMap$Builder", + "inner_name": "Builder", + "outer_class": "net/minecraft/client/renderer/block/statemap/StateMap", + "start": "57" + }, + { + "access": "1000", + "inner_class": "net/minecraft/client/renderer/block/statemap/StateMap$1" + } + ] + }, + "net/minecraft/client/renderer/block/statemap/StateMap$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/statemap/StateMap" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/client/renderer/block/statemap/StateMap$1" + } + ] + }, + "net/minecraft/client/renderer/block/statemap/StateMap$Builder": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/block/statemap/StateMap" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/block/statemap/StateMap$Builder", + "inner_name": "Builder", + "outer_class": "net/minecraft/client/renderer/block/statemap/StateMap", + "start": "57" + } + ] + }, + "net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Type", + "inner_name": "Type", + "outer_class": "net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator", + "start": "94" + }, + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status", + "inner_name": "Status", + "outer_class": "net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator", + "start": "100" + } + ] + }, + "net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status", + "inner_name": "Status", + "outer_class": "net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator", + "start": "100" + } + ] + }, + "net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Type": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Type", + "inner_name": "Type", + "outer_class": "net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator", + "start": "94" + } + ] + }, + "net/minecraft/client/renderer/chunk/ChunkRenderDispatcher": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$1", + "start": "102" + }, + { + "inner_class": "net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$2", + "start": "167" + }, + { + "inner_class": "net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$3", + "start": "207" + } + ] + }, + "net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/client/renderer/chunk/RenderChunk;)Z", + "name": "func_178507_a", + "owner": "net/minecraft/client/renderer/chunk/ChunkRenderDispatcher" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$1", + "start": "102" + } + ] + }, + "net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/client/renderer/chunk/RenderChunk;)Z", + "name": "func_178509_c", + "owner": "net/minecraft/client/renderer/chunk/ChunkRenderDispatcher" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$2", + "start": "167" + } + ] + }, + "net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/util/EnumWorldBlockLayer;Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/client/renderer/chunk/RenderChunk;Lnet/minecraft/client/renderer/chunk/CompiledChunk;)Lcom/google/common/util/concurrent/ListenableFuture;", + "name": "func_178503_a", + "owner": "net/minecraft/client/renderer/chunk/ChunkRenderDispatcher" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$3", + "start": "207" + } + ] + }, + "net/minecraft/client/renderer/chunk/ChunkRenderWorker": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/chunk/ChunkRenderWorker$1", + "start": "115" + }, + { + "inner_class": "net/minecraft/client/renderer/chunk/ChunkRenderWorker$2", + "start": "119" + } + ] + }, + "net/minecraft/client/renderer/chunk/ChunkRenderWorker$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator;)V", + "name": "func_178474_a", + "owner": "net/minecraft/client/renderer/chunk/ChunkRenderWorker" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/chunk/ChunkRenderWorker$1", + "start": "115" + } + ] + }, + "net/minecraft/client/renderer/chunk/ChunkRenderWorker$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator;)V", + "name": "func_178474_a", + "owner": "net/minecraft/client/renderer/chunk/ChunkRenderWorker" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/chunk/ChunkRenderWorker$2", + "start": "119" + } + ] + }, + "net/minecraft/client/renderer/chunk/CompiledChunk": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/chunk/CompiledChunk$1", + "start": "13" + } + ] + }, + "net/minecraft/client/renderer/chunk/CompiledChunk$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/chunk/CompiledChunk" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/chunk/CompiledChunk$1", + "start": "13" + } + ] + }, + "net/minecraft/client/renderer/chunk/VisGraph": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/chunk/VisGraph$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/renderer/chunk/VisGraph" + } + ] + }, + "net/minecraft/client/renderer/chunk/VisGraph$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/chunk/VisGraph" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/chunk/VisGraph$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/renderer/chunk/VisGraph" + } + ] + }, + "net/minecraft/client/renderer/entity/ArmorStandRenderer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/ArmorStandRenderer$1", + "start": "20" + } + ] + }, + "net/minecraft/client/renderer/entity/ArmorStandRenderer$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/entity/ArmorStandRenderer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/ArmorStandRenderer$1", + "start": "20" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderGiantZombie": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderGiantZombie$1", + "start": "24" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderGiantZombie$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/entity/RenderGiantZombie" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderGiantZombie$1", + "start": "24" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderItem": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$1", + "start": "376" + }, + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$2", + "start": "383" + }, + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$3", + "start": "390" + }, + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$4", + "start": "397" + }, + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$5", + "start": "951" + }, + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$6", + "start": "972" + }, + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$7", + "start": "1015" + }, + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$8", + "start": "1038" + }, + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$9", + "start": "1045" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$SwitchTransformType", + "inner_name": "SwitchTransformType", + "outer_class": "net/minecraft/client/renderer/entity/RenderItem" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderItem$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/item/ItemStack;II)V", + "name": "func_180450_b", + "owner": "net/minecraft/client/renderer/entity/RenderItem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$1", + "start": "376" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderItem$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/item/ItemStack;II)V", + "name": "func_180450_b", + "owner": "net/minecraft/client/renderer/entity/RenderItem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$2", + "start": "383" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderItem$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/item/ItemStack;II)V", + "name": "func_180450_b", + "owner": "net/minecraft/client/renderer/entity/RenderItem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$3", + "start": "390" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderItem$4": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/item/ItemStack;II)V", + "name": "func_180450_b", + "owner": "net/minecraft/client/renderer/entity/RenderItem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$4", + "start": "397" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderItem$5": { + "enclosingMethod": { + "desc": "()V", + "name": "func_175041_b", + "owner": "net/minecraft/client/renderer/entity/RenderItem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$5", + "start": "951" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderItem$6": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/entity/RenderItem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$6", + "start": "972" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderItem$7": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/entity/RenderItem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$7", + "start": "1015" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderItem$8": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/entity/RenderItem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$8", + "start": "1038" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderItem$9": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/entity/RenderItem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$9", + "start": "1045" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderItem$SwitchTransformType": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/entity/RenderItem" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/entity/RenderItem$SwitchTransformType", + "inner_name": "SwitchTransformType", + "outer_class": "net/minecraft/client/renderer/entity/RenderItem" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderPigZombie": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderPigZombie$1", + "start": "19" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderPigZombie$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/entity/RenderPigZombie" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderPigZombie$1", + "start": "19" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderSkeleton": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderSkeleton$1", + "start": "21" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderSkeleton$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/entity/RenderSkeleton" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderSkeleton$1", + "start": "21" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderZombie": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderZombie$1", + "start": "34" + } + ] + }, + "net/minecraft/client/renderer/entity/RenderZombie$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/entity/RenderZombie" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/entity/RenderZombie$1", + "start": "34" + } + ] + }, + "net/minecraft/client/renderer/entity/RendererLivingEntity": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/entity/RendererLivingEntity$SwitchEnumVisible", + "inner_name": "SwitchEnumVisible", + "outer_class": "net/minecraft/client/renderer/entity/RendererLivingEntity" + } + ] + }, + "net/minecraft/client/renderer/entity/RendererLivingEntity$SwitchEnumVisible": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/entity/RendererLivingEntity" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/entity/RendererLivingEntity$SwitchEnumVisible", + "inner_name": "SwitchEnumVisible", + "outer_class": "net/minecraft/client/renderer/entity/RendererLivingEntity" + } + ] + }, + "net/minecraft/client/renderer/entity/layers/LayerArmorBase": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/entity/layers/LayerArmorBase$SwitchArmorMaterial", + "inner_name": "SwitchArmorMaterial", + "outer_class": "net/minecraft/client/renderer/entity/layers/LayerArmorBase" + } + ] + }, + "net/minecraft/client/renderer/entity/layers/LayerArmorBase$SwitchArmorMaterial": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/entity/layers/LayerArmorBase" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/entity/layers/LayerArmorBase$SwitchArmorMaterial", + "inner_name": "SwitchArmorMaterial", + "outer_class": "net/minecraft/client/renderer/entity/layers/LayerArmorBase" + } + ] + }, + "net/minecraft/client/renderer/texture/Stitcher": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/texture/Stitcher$Holder", + "inner_name": "Holder", + "outer_class": "net/minecraft/client/renderer/texture/Stitcher", + "start": "195" + }, + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/texture/Stitcher$Slot", + "inner_name": "Slot", + "outer_class": "net/minecraft/client/renderer/texture/Stitcher", + "start": "283" + } + ] + }, + "net/minecraft/client/renderer/texture/Stitcher$Holder": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/texture/Stitcher" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/texture/Stitcher$Holder", + "inner_name": "Holder", + "outer_class": "net/minecraft/client/renderer/texture/Stitcher", + "start": "195" + } + ] + }, + "net/minecraft/client/renderer/texture/Stitcher$Slot": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/texture/Stitcher" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/renderer/texture/Stitcher$Slot", + "inner_name": "Slot", + "outer_class": "net/minecraft/client/renderer/texture/Stitcher", + "start": "283" + } + ] + }, + "net/minecraft/client/renderer/texture/TextureAtlasSprite": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/texture/TextureAtlasSprite$1", + "start": "290" + } + ] + }, + "net/minecraft/client/renderer/texture/TextureAtlasSprite$1": { + "enclosingMethod": { + "desc": "(I)V", + "name": "func_147963_d", + "owner": "net/minecraft/client/renderer/texture/TextureAtlasSprite" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/texture/TextureAtlasSprite$1", + "start": "290" + } + ] + }, + "net/minecraft/client/renderer/texture/TextureManager": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/texture/TextureManager$1", + "start": "68" + } + ] + }, + "net/minecraft/client/renderer/texture/TextureManager$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/client/renderer/texture/ITextureObject;)Z", + "name": "func_110579_a", + "owner": "net/minecraft/client/renderer/texture/TextureManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/texture/TextureManager$1", + "start": "68" + } + ] + }, + "net/minecraft/client/renderer/texture/TextureMap": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/texture/TextureMap$1", + "start": "164" + }, + { + "inner_class": "net/minecraft/client/renderer/texture/TextureMap$2", + "start": "171" + }, + { + "inner_class": "net/minecraft/client/renderer/texture/TextureMap$3", + "start": "178" + } + ] + }, + "net/minecraft/client/renderer/texture/TextureMap$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/client/resources/IResourceManager;)V", + "name": "func_110571_b", + "owner": "net/minecraft/client/renderer/texture/TextureMap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/texture/TextureMap$1", + "start": "164" + } + ] + }, + "net/minecraft/client/renderer/texture/TextureMap$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/client/resources/IResourceManager;)V", + "name": "func_110571_b", + "owner": "net/minecraft/client/renderer/texture/TextureMap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/texture/TextureMap$2", + "start": "171" + } + ] + }, + "net/minecraft/client/renderer/texture/TextureMap$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/client/resources/IResourceManager;)V", + "name": "func_110571_b", + "owner": "net/minecraft/client/renderer/texture/TextureMap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/renderer/texture/TextureMap$3", + "start": "178" + } + ] + }, + "net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer": { + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$1" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$TimedBannerTexture", + "inner_name": "TimedBannerTexture", + "outer_class": "net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer" + } + ] + }, + "net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$1" + } + ] + }, + "net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$TimedBannerTexture": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$TimedBannerTexture", + "inner_name": "TimedBannerTexture", + "outer_class": "net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer" + } + ] + }, + "net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer" + } + ] + }, + "net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer" + } + ] + }, + "net/minecraft/client/renderer/vertex/VertexFormat": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/vertex/VertexFormat$SwitchEnumUsage", + "inner_name": "SwitchEnumUsage", + "outer_class": "net/minecraft/client/renderer/vertex/VertexFormat" + } + ] + }, + "net/minecraft/client/renderer/vertex/VertexFormat$SwitchEnumUsage": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/vertex/VertexFormat" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/renderer/vertex/VertexFormat$SwitchEnumUsage", + "inner_name": "SwitchEnumUsage", + "outer_class": "net/minecraft/client/renderer/vertex/VertexFormat" + } + ] + }, + "net/minecraft/client/renderer/vertex/VertexFormatElement": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage", + "inner_name": "EnumUsage", + "outer_class": "net/minecraft/client/renderer/vertex/VertexFormatElement", + "start": "111" + }, + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/client/renderer/vertex/VertexFormatElement", + "start": "131" + } + ] + }, + "net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/vertex/VertexFormatElement" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType", + "inner_name": "EnumType", + "outer_class": "net/minecraft/client/renderer/vertex/VertexFormatElement", + "start": "131" + } + ] + }, + "net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage": { + "enclosingMethod": { + "owner": "net/minecraft/client/renderer/vertex/VertexFormatElement" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage", + "inner_name": "EnumUsage", + "outer_class": "net/minecraft/client/renderer/vertex/VertexFormatElement", + "start": "111" + } + ] + }, + "net/minecraft/client/resources/FallbackResourceManager": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger", + "inner_name": "ImputStreamLeakedResourceLogger", + "outer_class": "net/minecraft/client/resources/FallbackResourceManager", + "start": "75" + } + ] + }, + "net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger": { + "enclosingMethod": { + "owner": "net/minecraft/client/resources/FallbackResourceManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger", + "inner_name": "ImputStreamLeakedResourceLogger", + "outer_class": "net/minecraft/client/resources/FallbackResourceManager", + "start": "75" + } + ] + }, + "net/minecraft/client/resources/ResourcePackRepository": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/ResourcePackRepository$1", + "start": "44" + }, + { + "inner_class": "net/minecraft/client/resources/ResourcePackRepository$2", + "start": "191" + }, + { + "inner_class": "net/minecraft/client/resources/ResourcePackRepository$3", + "start": "200" + }, + { + "access": "21", + "inner_class": "net/minecraft/client/resources/ResourcePackRepository$Entry", + "inner_name": "Entry", + "outer_class": "net/minecraft/client/resources/ResourcePackRepository", + "start": "250" + } + ] + }, + "net/minecraft/client/resources/ResourcePackRepository$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/resources/ResourcePackRepository" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/ResourcePackRepository$1", + "start": "44" + } + ] + }, + "net/minecraft/client/resources/ResourcePackRepository$2": { + "enclosingMethod": { + "desc": "(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/util/concurrent/ListenableFuture;", + "name": "func_180601_a", + "owner": "net/minecraft/client/resources/ResourcePackRepository" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/ResourcePackRepository$2", + "start": "191" + } + ] + }, + "net/minecraft/client/resources/ResourcePackRepository$3": { + "enclosingMethod": { + "desc": "(Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/util/concurrent/ListenableFuture;", + "name": "func_180601_a", + "owner": "net/minecraft/client/resources/ResourcePackRepository" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/ResourcePackRepository$3", + "start": "200" + } + ] + }, + "net/minecraft/client/resources/ResourcePackRepository$Entry": { + "enclosingMethod": { + "owner": "net/minecraft/client/resources/ResourcePackRepository" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/client/resources/ResourcePackRepository$Entry", + "inner_name": "Entry", + "outer_class": "net/minecraft/client/resources/ResourcePackRepository", + "start": "250" + } + ] + }, + "net/minecraft/client/resources/SimpleReloadableResourceManager": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/SimpleReloadableResourceManager$1", + "start": "81" + } + ] + }, + "net/minecraft/client/resources/SimpleReloadableResourceManager$1": { + "enclosingMethod": { + "desc": "(Ljava/util/List;)V", + "name": "func_110541_a", + "owner": "net/minecraft/client/resources/SimpleReloadableResourceManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/SimpleReloadableResourceManager$1", + "start": "81" + } + ] + }, + "net/minecraft/client/resources/SkinManager": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/SkinManager$1", + "start": "44" + }, + { + "inner_class": "net/minecraft/client/resources/SkinManager$2", + "start": "71" + }, + { + "inner_class": "net/minecraft/client/resources/SkinManager$3", + "start": "97" + }, + { + "access": "609", + "inner_class": "net/minecraft/client/resources/SkinManager$SkinAvailableCallback", + "inner_name": "SkinAvailableCallback", + "outer_class": "net/minecraft/client/resources/SkinManager" + } + ] + }, + "net/minecraft/client/resources/SkinManager$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/resources/SkinManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/SkinManager$1", + "start": "44" + } + ] + }, + "net/minecraft/client/resources/SkinManager$2": { + "enclosingMethod": { + "desc": "(Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;Lcom/mojang/authlib/minecraft/MinecraftProfileTexture$Type;Lnet/minecraft/client/resources/SkinManager$SkinAvailableCallback;)Lnet/minecraft/util/ResourceLocation;", + "name": "func_152789_a", + "owner": "net/minecraft/client/resources/SkinManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/SkinManager$2", + "start": "71" + } + ] + }, + "net/minecraft/client/resources/SkinManager$3": { + "enclosingMethod": { + "desc": "(Lcom/mojang/authlib/GameProfile;Lnet/minecraft/client/resources/SkinManager$SkinAvailableCallback;Z)V", + "name": "func_152790_a", + "owner": "net/minecraft/client/resources/SkinManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/SkinManager$3", + "start": "97" + }, + { + "inner_class": "net/minecraft/client/resources/SkinManager$3$1", + "start": "111" + } + ] + }, + "net/minecraft/client/resources/SkinManager$3$1": { + "enclosingMethod": { + "desc": "()V", + "name": "run", + "owner": "net/minecraft/client/resources/SkinManager$3" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/SkinManager$3$1", + "start": "111" + } + ] + }, + "net/minecraft/client/resources/SkinManager$SkinAvailableCallback": { + "enclosingMethod": { + "owner": "net/minecraft/client/resources/SkinManager" + }, + "innerClasses": [ + { + "access": "609", + "inner_class": "net/minecraft/client/resources/SkinManager$SkinAvailableCallback", + "inner_name": "SkinAvailableCallback", + "outer_class": "net/minecraft/client/resources/SkinManager" + } + ] + }, + "net/minecraft/client/resources/data/IMetadataSerializer": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/resources/data/IMetadataSerializer$Registration", + "inner_name": "Registration", + "outer_class": "net/minecraft/client/resources/data/IMetadataSerializer" + }, + { + "access": "1000", + "inner_class": "net/minecraft/client/resources/data/IMetadataSerializer$1" + } + ] + }, + "net/minecraft/client/resources/data/IMetadataSerializer$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/resources/data/IMetadataSerializer" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/client/resources/data/IMetadataSerializer$1" + } + ] + }, + "net/minecraft/client/resources/data/IMetadataSerializer$Registration": { + "enclosingMethod": { + "owner": "net/minecraft/client/resources/data/IMetadataSerializer" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/client/resources/data/IMetadataSerializer$Registration", + "inner_name": "Registration", + "outer_class": "net/minecraft/client/resources/data/IMetadataSerializer" + } + ] + }, + "net/minecraft/client/resources/model/ModelBakery": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/model/ModelBakery$1", + "start": "406" + }, + { + "inner_class": "net/minecraft/client/resources/model/ModelBakery$2", + "start": "546" + } + ] + }, + "net/minecraft/client/resources/model/ModelBakery$1": { + "enclosingMethod": { + "desc": "()Ljava/util/Set;", + "name": "func_177575_g", + "owner": "net/minecraft/client/resources/model/ModelBakery" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/model/ModelBakery$1", + "start": "406" + } + ] + }, + "net/minecraft/client/resources/model/ModelBakery$2": { + "enclosingMethod": { + "desc": "()V", + "name": "func_177572_j", + "owner": "net/minecraft/client/resources/model/ModelBakery" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/resources/model/ModelBakery$2", + "start": "546" + } + ] + }, + "net/minecraft/client/resources/model/SimpleBakedModel": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/resources/model/SimpleBakedModel$Builder", + "inner_name": "Builder", + "outer_class": "net/minecraft/client/resources/model/SimpleBakedModel", + "start": "92" + } + ] + }, + "net/minecraft/client/resources/model/SimpleBakedModel$Builder": { + "enclosingMethod": { + "owner": "net/minecraft/client/resources/model/SimpleBakedModel" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/resources/model/SimpleBakedModel$Builder", + "inner_name": "Builder", + "outer_class": "net/minecraft/client/resources/model/SimpleBakedModel", + "start": "92" + } + ] + }, + "net/minecraft/client/resources/model/WeightedBakedModel": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/resources/model/WeightedBakedModel$Builder", + "inner_name": "Builder", + "outer_class": "net/minecraft/client/resources/model/WeightedBakedModel", + "start": "68" + }, + { + "access": "28", + "inner_class": "net/minecraft/client/resources/model/WeightedBakedModel$MyWeighedRandomItem", + "inner_name": "MyWeighedRandomItem", + "outer_class": "net/minecraft/client/resources/model/WeightedBakedModel", + "start": "83" + } + ] + }, + "net/minecraft/client/resources/model/WeightedBakedModel$Builder": { + "enclosingMethod": { + "owner": "net/minecraft/client/resources/model/WeightedBakedModel" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/resources/model/WeightedBakedModel$Builder", + "inner_name": "Builder", + "outer_class": "net/minecraft/client/resources/model/WeightedBakedModel", + "start": "68" + } + ] + }, + "net/minecraft/client/resources/model/WeightedBakedModel$MyWeighedRandomItem": { + "enclosingMethod": { + "owner": "net/minecraft/client/resources/model/WeightedBakedModel" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/client/resources/model/WeightedBakedModel$MyWeighedRandomItem", + "inner_name": "MyWeighedRandomItem", + "outer_class": "net/minecraft/client/resources/model/WeightedBakedModel", + "start": "83" + } + ] + }, + "net/minecraft/client/settings/GameSettings": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/settings/GameSettings$1", + "start": "40" + }, + { + "access": "4029", + "inner_class": "net/minecraft/client/settings/GameSettings$Options", + "inner_name": "Options", + "outer_class": "net/minecraft/client/settings/GameSettings", + "start": "82" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/settings/GameSettings$SwitchOptions", + "inner_name": "SwitchOptions", + "outer_class": "net/minecraft/client/settings/GameSettings" + } + ] + }, + "net/minecraft/client/settings/GameSettings$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/settings/GameSettings" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/settings/GameSettings$1", + "start": "40" + } + ] + }, + "net/minecraft/client/settings/GameSettings$Options": { + "enclosingMethod": { + "owner": "net/minecraft/client/settings/GameSettings" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/settings/GameSettings$Options", + "inner_name": "Options", + "outer_class": "net/minecraft/client/settings/GameSettings", + "start": "82" + } + ] + }, + "net/minecraft/client/settings/GameSettings$SwitchOptions": { + "enclosingMethod": { + "owner": "net/minecraft/client/settings/GameSettings" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/settings/GameSettings$SwitchOptions", + "inner_name": "SwitchOptions", + "outer_class": "net/minecraft/client/settings/GameSettings" + } + ] + }, + "net/minecraft/client/shader/ShaderLoader": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/shader/ShaderLoader$ShaderType", + "inner_name": "ShaderType", + "outer_class": "net/minecraft/client/shader/ShaderLoader", + "start": "87" + } + ] + }, + "net/minecraft/client/shader/ShaderLoader$ShaderType": { + "enclosingMethod": { + "owner": "net/minecraft/client/shader/ShaderLoader" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/shader/ShaderLoader$ShaderType", + "inner_name": "ShaderType", + "outer_class": "net/minecraft/client/shader/ShaderLoader", + "start": "87" + } + ] + }, + "net/minecraft/client/stream/BroadcastController": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/stream/BroadcastController$BroadcastState", + "inner_name": "BroadcastState", + "outer_class": "net/minecraft/client/stream/BroadcastController", + "start": "52" + }, + { + "inner_class": "net/minecraft/client/stream/BroadcastController$1", + "start": "196" + }, + { + "inner_class": "net/minecraft/client/stream/BroadcastController$2", + "start": "510" + }, + { + "access": "609", + "inner_class": "net/minecraft/client/stream/BroadcastController$BroadcastListener", + "inner_name": "BroadcastListener", + "outer_class": "net/minecraft/client/stream/BroadcastController" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/stream/BroadcastController$SwitchBroadcastState", + "inner_name": "SwitchBroadcastState", + "outer_class": "net/minecraft/client/stream/BroadcastController" + } + ] + }, + "net/minecraft/client/stream/BroadcastController$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/BroadcastController" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/stream/BroadcastController$1", + "start": "196" + } + ] + }, + "net/minecraft/client/stream/BroadcastController$2": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/BroadcastController" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/stream/BroadcastController$2", + "start": "510" + } + ] + }, + "net/minecraft/client/stream/BroadcastController$BroadcastListener": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/BroadcastController" + }, + "innerClasses": [ + { + "access": "609", + "inner_class": "net/minecraft/client/stream/BroadcastController$BroadcastListener", + "inner_name": "BroadcastListener", + "outer_class": "net/minecraft/client/stream/BroadcastController" + } + ] + }, + "net/minecraft/client/stream/BroadcastController$BroadcastState": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/BroadcastController" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/stream/BroadcastController$BroadcastState", + "inner_name": "BroadcastState", + "outer_class": "net/minecraft/client/stream/BroadcastController", + "start": "52" + } + ] + }, + "net/minecraft/client/stream/BroadcastController$SwitchBroadcastState": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/BroadcastController" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/stream/BroadcastController$SwitchBroadcastState", + "inner_name": "SwitchBroadcastState", + "outer_class": "net/minecraft/client/stream/BroadcastController" + } + ] + }, + "net/minecraft/client/stream/ChatController": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/stream/ChatController$ChatState", + "inner_name": "ChatState", + "outer_class": "net/minecraft/client/stream/ChatController", + "start": "50" + }, + { + "access": "4029", + "inner_class": "net/minecraft/client/stream/ChatController$EnumChannelState", + "inner_name": "EnumChannelState", + "outer_class": "net/minecraft/client/stream/ChatController", + "start": "61" + }, + { + "access": "4029", + "inner_class": "net/minecraft/client/stream/ChatController$EnumEmoticonMode", + "inner_name": "EnumEmoticonMode", + "outer_class": "net/minecraft/client/stream/ChatController", + "start": "73" + }, + { + "inner_class": "net/minecraft/client/stream/ChatController$1", + "start": "192" + }, + { + "access": "21", + "inner_class": "net/minecraft/client/stream/ChatController$ChatChannelListener", + "inner_name": "ChatChannelListener", + "outer_class": "net/minecraft/client/stream/ChatController", + "start": "285" + }, + { + "access": "609", + "inner_class": "net/minecraft/client/stream/ChatController$ChatListener", + "inner_name": "ChatListener", + "outer_class": "net/minecraft/client/stream/ChatController" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/stream/ChatController$SwitchEnumEmoticonMode", + "inner_name": "SwitchEnumEmoticonMode", + "outer_class": "net/minecraft/client/stream/ChatController" + } + ] + }, + "net/minecraft/client/stream/ChatController$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/ChatController" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/stream/ChatController$1", + "start": "192" + } + ] + }, + "net/minecraft/client/stream/ChatController$ChatChannelListener": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/ChatController" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/client/stream/ChatController$ChatChannelListener", + "inner_name": "ChatChannelListener", + "outer_class": "net/minecraft/client/stream/ChatController", + "start": "285" + } + ] + }, + "net/minecraft/client/stream/ChatController$ChatListener": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/ChatController" + }, + "innerClasses": [ + { + "access": "609", + "inner_class": "net/minecraft/client/stream/ChatController$ChatListener", + "inner_name": "ChatListener", + "outer_class": "net/minecraft/client/stream/ChatController" + } + ] + }, + "net/minecraft/client/stream/ChatController$ChatState": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/ChatController" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/stream/ChatController$ChatState", + "inner_name": "ChatState", + "outer_class": "net/minecraft/client/stream/ChatController", + "start": "50" + } + ] + }, + "net/minecraft/client/stream/ChatController$EnumChannelState": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/ChatController" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/stream/ChatController$EnumChannelState", + "inner_name": "EnumChannelState", + "outer_class": "net/minecraft/client/stream/ChatController", + "start": "61" + } + ] + }, + "net/minecraft/client/stream/ChatController$EnumEmoticonMode": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/ChatController" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/stream/ChatController$EnumEmoticonMode", + "inner_name": "EnumEmoticonMode", + "outer_class": "net/minecraft/client/stream/ChatController", + "start": "73" + } + ] + }, + "net/minecraft/client/stream/ChatController$SwitchEnumEmoticonMode": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/ChatController" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/stream/ChatController$SwitchEnumEmoticonMode", + "inner_name": "SwitchEnumEmoticonMode", + "outer_class": "net/minecraft/client/stream/ChatController" + } + ] + }, + "net/minecraft/client/stream/IStream": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/stream/IStream$AuthFailureReason", + "inner_name": "AuthFailureReason", + "outer_class": "net/minecraft/client/stream/IStream", + "start": "9" + } + ] + }, + "net/minecraft/client/stream/IStream$AuthFailureReason": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/IStream" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/stream/IStream$AuthFailureReason", + "inner_name": "AuthFailureReason", + "outer_class": "net/minecraft/client/stream/IStream", + "start": "9" + } + ] + }, + "net/minecraft/client/stream/IngestServerTester": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/stream/IngestServerTester$IngestTestState", + "inner_name": "IngestTestState", + "outer_class": "net/minecraft/client/stream/IngestServerTester", + "start": "17" + }, + { + "inner_class": "net/minecraft/client/stream/IngestServerTester$1", + "start": "135" + }, + { + "inner_class": "net/minecraft/client/stream/IngestServerTester$2", + "start": "250" + }, + { + "access": "609", + "inner_class": "net/minecraft/client/stream/IngestServerTester$IngestTestListener", + "inner_name": "IngestTestListener", + "outer_class": "net/minecraft/client/stream/IngestServerTester" + }, + { + "access": "1018", + "inner_class": "net/minecraft/client/stream/IngestServerTester$SwitchStatType", + "inner_name": "SwitchStatType", + "outer_class": "net/minecraft/client/stream/IngestServerTester" + } + ] + }, + "net/minecraft/client/stream/IngestServerTester$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/IngestServerTester" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/stream/IngestServerTester$1", + "start": "135" + } + ] + }, + "net/minecraft/client/stream/IngestServerTester$2": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/IngestServerTester" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/stream/IngestServerTester$2", + "start": "250" + } + ] + }, + "net/minecraft/client/stream/IngestServerTester$IngestTestListener": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/IngestServerTester" + }, + "innerClasses": [ + { + "access": "609", + "inner_class": "net/minecraft/client/stream/IngestServerTester$IngestTestListener", + "inner_name": "IngestTestListener", + "outer_class": "net/minecraft/client/stream/IngestServerTester" + } + ] + }, + "net/minecraft/client/stream/IngestServerTester$IngestTestState": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/IngestServerTester" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/client/stream/IngestServerTester$IngestTestState", + "inner_name": "IngestTestState", + "outer_class": "net/minecraft/client/stream/IngestServerTester", + "start": "17" + } + ] + }, + "net/minecraft/client/stream/IngestServerTester$SwitchStatType": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/IngestServerTester" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/client/stream/IngestServerTester$SwitchStatType", + "inner_name": "SwitchStatType", + "outer_class": "net/minecraft/client/stream/IngestServerTester" + } + ] + }, + "net/minecraft/client/stream/TwitchStream": { + "innerClasses": [ + { + "inner_class": "net/minecraft/client/stream/TwitchStream$1", + "start": "84" + } + ] + }, + "net/minecraft/client/stream/TwitchStream$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/stream/TwitchStream" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/stream/TwitchStream$1", + "start": "84" + }, + { + "inner_class": "net/minecraft/client/stream/TwitchStream$1$1", + "start": "102" + } + ] + }, + "net/minecraft/client/stream/TwitchStream$1$1": { + "enclosingMethod": { + "desc": "()V", + "name": "run", + "owner": "net/minecraft/client/stream/TwitchStream$1" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/client/stream/TwitchStream$1$1", + "start": "102" + } + ] + }, + "net/minecraft/client/util/JsonException": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/util/JsonException$Entry", + "inner_name": "Entry", + "outer_class": "net/minecraft/client/util/JsonException", + "start": "51" + }, + { + "access": "1000", + "inner_class": "net/minecraft/client/util/JsonException$1" + } + ] + }, + "net/minecraft/client/util/JsonException$1": { + "enclosingMethod": { + "owner": "net/minecraft/client/util/JsonException" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/client/util/JsonException$1" + } + ] + }, + "net/minecraft/client/util/JsonException$Entry": { + "enclosingMethod": { + "owner": "net/minecraft/client/util/JsonException" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/client/util/JsonException$Entry", + "inner_name": "Entry", + "outer_class": "net/minecraft/client/util/JsonException", + "start": "51" + } + ] + }, + "net/minecraft/command/CommandBase": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/command/CommandBase$CoordinateArg", + "inner_name": "CoordinateArg", + "outer_class": "net/minecraft/command/CommandBase", + "start": "361" + } + ] + }, + "net/minecraft/command/CommandBase$CoordinateArg": { + "enclosingMethod": { + "owner": "net/minecraft/command/CommandBase" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/command/CommandBase$CoordinateArg", + "inner_name": "CoordinateArg", + "outer_class": "net/minecraft/command/CommandBase", + "start": "361" + } + ] + }, + "net/minecraft/command/CommandSpreadPlayers": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/command/CommandSpreadPlayers$Position", + "inner_name": "Position", + "outer_class": "net/minecraft/command/CommandSpreadPlayers", + "start": "256" + } + ] + }, + "net/minecraft/command/CommandSpreadPlayers$Position": { + "enclosingMethod": { + "owner": "net/minecraft/command/CommandSpreadPlayers" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/command/CommandSpreadPlayers$Position", + "inner_name": "Position", + "outer_class": "net/minecraft/command/CommandSpreadPlayers", + "start": "256" + } + ] + }, + "net/minecraft/command/CommandResultStats": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/command/CommandResultStats$Type", + "inner_name": "Type", + "outer_class": "net/minecraft/command/CommandResultStats", + "start": "125" + } + ] + }, + "net/minecraft/command/CommandResultStats$Type": { + "enclosingMethod": { + "owner": "net/minecraft/command/CommandResultStats" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/command/CommandResultStats$Type", + "inner_name": "Type", + "outer_class": "net/minecraft/command/CommandResultStats", + "start": "125" + } + ] + }, + "net/minecraft/command/IEntitySelector": { + "innerClasses": [ + { + "inner_class": "net/minecraft/command/IEntitySelector$1", + "start": "13" + }, + { + "inner_class": "net/minecraft/command/IEntitySelector$2", + "start": "19" + }, + { + "inner_class": "net/minecraft/command/IEntitySelector$3", + "start": "25" + }, + { + "inner_class": "net/minecraft/command/IEntitySelector$4", + "start": "31" + }, + { + "access": "29", + "inner_class": "net/minecraft/command/IEntitySelector$ArmoredMob", + "inner_name": "ArmoredMob", + "outer_class": "net/minecraft/command/IEntitySelector", + "start": "38" + } + ] + }, + "net/minecraft/command/IEntitySelector$1": { + "enclosingMethod": { + "owner": "net/minecraft/command/IEntitySelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/IEntitySelector$1", + "start": "13" + } + ] + }, + "net/minecraft/command/IEntitySelector$2": { + "enclosingMethod": { + "owner": "net/minecraft/command/IEntitySelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/IEntitySelector$2", + "start": "19" + } + ] + }, + "net/minecraft/command/IEntitySelector$3": { + "enclosingMethod": { + "owner": "net/minecraft/command/IEntitySelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/IEntitySelector$3", + "start": "25" + } + ] + }, + "net/minecraft/command/IEntitySelector$4": { + "enclosingMethod": { + "owner": "net/minecraft/command/IEntitySelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/IEntitySelector$4", + "start": "31" + } + ] + }, + "net/minecraft/command/IEntitySelector$ArmoredMob": { + "enclosingMethod": { + "owner": "net/minecraft/command/IEntitySelector" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/command/IEntitySelector$ArmoredMob", + "inner_name": "ArmoredMob", + "outer_class": "net/minecraft/command/IEntitySelector", + "start": "38" + } + ] + }, + "net/minecraft/command/PlayerSelector": { + "innerClasses": [ + { + "inner_class": "net/minecraft/command/PlayerSelector$1", + "start": "178" + }, + { + "inner_class": "net/minecraft/command/PlayerSelector$2", + "start": "185" + }, + { + "inner_class": "net/minecraft/command/PlayerSelector$3", + "start": "201" + }, + { + "inner_class": "net/minecraft/command/PlayerSelector$4", + "start": "221" + }, + { + "inner_class": "net/minecraft/command/PlayerSelector$5", + "start": "246" + }, + { + "inner_class": "net/minecraft/command/PlayerSelector$6", + "start": "268" + }, + { + "inner_class": "net/minecraft/command/PlayerSelector$7", + "start": "316" + }, + { + "inner_class": "net/minecraft/command/PlayerSelector$8", + "start": "335" + }, + { + "inner_class": "net/minecraft/command/PlayerSelector$9", + "start": "352" + }, + { + "inner_class": "net/minecraft/command/PlayerSelector$10", + "start": "367" + }, + { + "inner_class": "net/minecraft/command/PlayerSelector$11", + "start": "404" + }, + { + "inner_class": "net/minecraft/command/PlayerSelector$12", + "start": "453" + } + ] + }, + "net/minecraft/command/PlayerSelector$1": { + "enclosingMethod": { + "desc": "(Ljava/util/Map;Ljava/lang/String;)Ljava/util/List;", + "name": "func_179663_a", + "owner": "net/minecraft/command/PlayerSelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/PlayerSelector$1", + "start": "178" + } + ] + }, + "net/minecraft/command/PlayerSelector$10": { + "enclosingMethod": { + "desc": "(Ljava/util/Map;)Ljava/util/List;", + "name": "func_179662_g", + "owner": "net/minecraft/command/PlayerSelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/PlayerSelector$10", + "start": "367" + } + ] + }, + "net/minecraft/command/PlayerSelector$11": { + "enclosingMethod": { + "desc": "(Ljava/util/Map;Ljava/lang/Class;Ljava/util/List;Ljava/lang/String;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Ljava/util/List;", + "name": "func_179660_a", + "owner": "net/minecraft/command/PlayerSelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/PlayerSelector$11", + "start": "404" + } + ] + }, + "net/minecraft/command/PlayerSelector$12": { + "enclosingMethod": { + "desc": "(Ljava/util/List;Ljava/util/Map;Lnet/minecraft/command/ICommandSender;Ljava/lang/Class;Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List;", + "name": "func_179658_a", + "owner": "net/minecraft/command/PlayerSelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/PlayerSelector$12", + "start": "453" + } + ] + }, + "net/minecraft/command/PlayerSelector$2": { + "enclosingMethod": { + "desc": "(Ljava/util/Map;Ljava/lang/String;)Ljava/util/List;", + "name": "func_179663_a", + "owner": "net/minecraft/command/PlayerSelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/PlayerSelector$2", + "start": "185" + } + ] + }, + "net/minecraft/command/PlayerSelector$3": { + "enclosingMethod": { + "desc": "(Ljava/util/Map;)Ljava/util/List;", + "name": "func_179648_b", + "owner": "net/minecraft/command/PlayerSelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/PlayerSelector$3", + "start": "201" + } + ] + }, + "net/minecraft/command/PlayerSelector$4": { + "enclosingMethod": { + "desc": "(Ljava/util/Map;)Ljava/util/List;", + "name": "func_179649_c", + "owner": "net/minecraft/command/PlayerSelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/PlayerSelector$4", + "start": "221" + } + ] + }, + "net/minecraft/command/PlayerSelector$5": { + "enclosingMethod": { + "desc": "(Ljava/util/Map;)Ljava/util/List;", + "name": "func_179659_d", + "owner": "net/minecraft/command/PlayerSelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/PlayerSelector$5", + "start": "246" + } + ] + }, + "net/minecraft/command/PlayerSelector$6": { + "enclosingMethod": { + "desc": "(Ljava/util/Map;)Ljava/util/List;", + "name": "func_179657_e", + "owner": "net/minecraft/command/PlayerSelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/PlayerSelector$6", + "start": "268" + } + ] + }, + "net/minecraft/command/PlayerSelector$7": { + "enclosingMethod": { + "desc": "(Ljava/util/Map;)Ljava/util/List;", + "name": "func_179647_f", + "owner": "net/minecraft/command/PlayerSelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/PlayerSelector$7", + "start": "316" + } + ] + }, + "net/minecraft/command/PlayerSelector$8": { + "enclosingMethod": { + "desc": "(Ljava/util/Map;Lnet/minecraft/util/BlockPos;)Ljava/util/List;", + "name": "func_180698_a", + "owner": "net/minecraft/command/PlayerSelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/PlayerSelector$8", + "start": "335" + } + ] + }, + "net/minecraft/command/PlayerSelector$9": { + "enclosingMethod": { + "desc": "(Ljava/util/Map;)Ljava/util/List;", + "name": "func_179662_g", + "owner": "net/minecraft/command/PlayerSelector" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/PlayerSelector$9", + "start": "352" + } + ] + }, + "net/minecraft/command/server/CommandAchievement": { + "innerClasses": [ + { + "inner_class": "net/minecraft/command/server/CommandAchievement$1", + "start": "90" + } + ] + }, + "net/minecraft/command/server/CommandAchievement$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V", + "name": "func_71515_b", + "owner": "net/minecraft/command/server/CommandAchievement" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/server/CommandAchievement$1", + "start": "90" + } + ] + }, + "net/minecraft/command/server/CommandBlockLogic": { + "innerClasses": [ + { + "inner_class": "net/minecraft/command/server/CommandBlockLogic$1", + "start": "102" + }, + { + "inner_class": "net/minecraft/command/server/CommandBlockLogic$2", + "start": "109" + } + ] + }, + "net/minecraft/command/server/CommandBlockLogic$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/world/World;)V", + "name": "func_145755_a", + "owner": "net/minecraft/command/server/CommandBlockLogic" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/server/CommandBlockLogic$1", + "start": "102" + } + ] + }, + "net/minecraft/command/server/CommandBlockLogic$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/world/World;)V", + "name": "func_145755_a", + "owner": "net/minecraft/command/server/CommandBlockLogic" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/server/CommandBlockLogic$2", + "start": "109" + } + ] + }, + "net/minecraft/command/CommandClone": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/command/CommandClone$StaticCloneData", + "inner_name": "StaticCloneData", + "outer_class": "net/minecraft/command/CommandClone" + } + ] + }, + "net/minecraft/command/CommandClone$StaticCloneData": { + "enclosingMethod": { + "owner": "net/minecraft/command/CommandClone" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/command/CommandClone$StaticCloneData", + "inner_name": "StaticCloneData", + "outer_class": "net/minecraft/command/CommandClone" + } + ] + }, + "net/minecraft/command/CommandExecuteAt": { + "innerClasses": [ + { + "inner_class": "net/minecraft/command/CommandExecuteAt$1", + "start": "71" + } + ] + }, + "net/minecraft/command/CommandExecuteAt$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V", + "name": "func_71515_b", + "owner": "net/minecraft/command/CommandExecuteAt" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/command/CommandExecuteAt$1", + "start": "71" + } + ] + }, + "net/minecraft/crash/CrashReport": { + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReport$1", + "start": "39" + }, + { + "inner_class": "net/minecraft/crash/CrashReport$2", + "start": "46" + }, + { + "inner_class": "net/minecraft/crash/CrashReport$3", + "start": "53" + }, + { + "inner_class": "net/minecraft/crash/CrashReport$4", + "start": "60" + }, + { + "inner_class": "net/minecraft/crash/CrashReport$5", + "start": "67" + }, + { + "inner_class": "net/minecraft/crash/CrashReport$6", + "start": "82" + }, + { + "inner_class": "net/minecraft/crash/CrashReport$7", + "start": "104" + } + ] + }, + "net/minecraft/crash/CrashReport$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_71504_g", + "owner": "net/minecraft/crash/CrashReport" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReport$1", + "start": "39" + } + ] + }, + "net/minecraft/crash/CrashReport$2": { + "enclosingMethod": { + "desc": "()V", + "name": "func_71504_g", + "owner": "net/minecraft/crash/CrashReport" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReport$2", + "start": "46" + } + ] + }, + "net/minecraft/crash/CrashReport$3": { + "enclosingMethod": { + "desc": "()V", + "name": "func_71504_g", + "owner": "net/minecraft/crash/CrashReport" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReport$3", + "start": "53" + } + ] + }, + "net/minecraft/crash/CrashReport$4": { + "enclosingMethod": { + "desc": "()V", + "name": "func_71504_g", + "owner": "net/minecraft/crash/CrashReport" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReport$4", + "start": "60" + } + ] + }, + "net/minecraft/crash/CrashReport$5": { + "enclosingMethod": { + "desc": "()V", + "name": "func_71504_g", + "owner": "net/minecraft/crash/CrashReport" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReport$5", + "start": "67" + } + ] + }, + "net/minecraft/crash/CrashReport$6": { + "enclosingMethod": { + "desc": "()V", + "name": "func_71504_g", + "owner": "net/minecraft/crash/CrashReport" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReport$6", + "start": "82" + } + ] + }, + "net/minecraft/crash/CrashReport$7": { + "enclosingMethod": { + "desc": "()V", + "name": "func_71504_g", + "owner": "net/minecraft/crash/CrashReport" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReport$7", + "start": "104" + } + ] + }, + "net/minecraft/crash/CrashReportCategory": { + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReportCategory$1", + "start": "166" + }, + { + "inner_class": "net/minecraft/crash/CrashReportCategory$2", + "start": "177" + }, + { + "inner_class": "net/minecraft/crash/CrashReportCategory$3", + "start": "190" + }, + { + "inner_class": "net/minecraft/crash/CrashReportCategory$4", + "start": "222" + }, + { + "inner_class": "net/minecraft/crash/CrashReportCategory$5", + "start": "229" + }, + { + "access": "28", + "inner_class": "net/minecraft/crash/CrashReportCategory$Entry", + "inner_name": "Entry", + "outer_class": "net/minecraft/crash/CrashReportCategory", + "start": "255" + } + ] + }, + "net/minecraft/crash/CrashReportCategory$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;I)V", + "name": "func_180523_a", + "owner": "net/minecraft/crash/CrashReportCategory" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReportCategory$1", + "start": "166" + } + ] + }, + "net/minecraft/crash/CrashReportCategory$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;I)V", + "name": "func_180523_a", + "owner": "net/minecraft/crash/CrashReportCategory" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReportCategory$2", + "start": "177" + } + ] + }, + "net/minecraft/crash/CrashReportCategory$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;I)V", + "name": "func_180523_a", + "owner": "net/minecraft/crash/CrashReportCategory" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReportCategory$3", + "start": "190" + } + ] + }, + "net/minecraft/crash/CrashReportCategory$4": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V", + "name": "func_175750_a", + "owner": "net/minecraft/crash/CrashReportCategory" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReportCategory$4", + "start": "222" + } + ] + }, + "net/minecraft/crash/CrashReportCategory$5": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V", + "name": "func_175750_a", + "owner": "net/minecraft/crash/CrashReportCategory" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/crash/CrashReportCategory$5", + "start": "229" + } + ] + }, + "net/minecraft/crash/CrashReportCategory$Entry": { + "enclosingMethod": { + "owner": "net/minecraft/crash/CrashReportCategory" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/crash/CrashReportCategory$Entry", + "inner_name": "Entry", + "outer_class": "net/minecraft/crash/CrashReportCategory", + "start": "255" + } + ] + }, + "net/minecraft/creativetab/CreativeTabs": { + "innerClasses": [ + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$1", + "start": "16" + }, + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$2", + "start": "22" + }, + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$3", + "start": "33" + }, + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$4", + "start": "39" + }, + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$5", + "start": "45" + }, + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$6", + "start": "51" + }, + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$7", + "start": "58" + }, + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$8", + "start": "64" + }, + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$9", + "start": "70" + }, + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$10", + "start": "76" + }, + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$11", + "start": "82" + }, + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$12", + "start": "88" + } + ] + }, + "net/minecraft/creativetab/CreativeTabs$1": { + "enclosingMethod": { + "owner": "net/minecraft/creativetab/CreativeTabs" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$1", + "start": "16" + } + ] + }, + "net/minecraft/creativetab/CreativeTabs$10": { + "enclosingMethod": { + "owner": "net/minecraft/creativetab/CreativeTabs" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$10", + "start": "76" + } + ] + }, + "net/minecraft/creativetab/CreativeTabs$11": { + "enclosingMethod": { + "owner": "net/minecraft/creativetab/CreativeTabs" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$11", + "start": "82" + } + ] + }, + "net/minecraft/creativetab/CreativeTabs$12": { + "enclosingMethod": { + "owner": "net/minecraft/creativetab/CreativeTabs" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$12", + "start": "88" + } + ] + }, + "net/minecraft/creativetab/CreativeTabs$2": { + "enclosingMethod": { + "owner": "net/minecraft/creativetab/CreativeTabs" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$2", + "start": "22" + } + ] + }, + "net/minecraft/creativetab/CreativeTabs$3": { + "enclosingMethod": { + "owner": "net/minecraft/creativetab/CreativeTabs" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$3", + "start": "33" + } + ] + }, + "net/minecraft/creativetab/CreativeTabs$4": { + "enclosingMethod": { + "owner": "net/minecraft/creativetab/CreativeTabs" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$4", + "start": "39" + } + ] + }, + "net/minecraft/creativetab/CreativeTabs$5": { + "enclosingMethod": { + "owner": "net/minecraft/creativetab/CreativeTabs" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$5", + "start": "45" + } + ] + }, + "net/minecraft/creativetab/CreativeTabs$6": { + "enclosingMethod": { + "owner": "net/minecraft/creativetab/CreativeTabs" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$6", + "start": "51" + } + ] + }, + "net/minecraft/creativetab/CreativeTabs$7": { + "enclosingMethod": { + "owner": "net/minecraft/creativetab/CreativeTabs" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$7", + "start": "58" + } + ] + }, + "net/minecraft/creativetab/CreativeTabs$8": { + "enclosingMethod": { + "owner": "net/minecraft/creativetab/CreativeTabs" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$8", + "start": "64" + } + ] + }, + "net/minecraft/creativetab/CreativeTabs$9": { + "enclosingMethod": { + "owner": "net/minecraft/creativetab/CreativeTabs" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/creativetab/CreativeTabs$9", + "start": "70" + } + ] + }, + "net/minecraft/dispenser/IBehaviorDispenseItem": { + "innerClasses": [ + { + "inner_class": "net/minecraft/dispenser/IBehaviorDispenseItem$1", + "start": "12" + } + ] + }, + "net/minecraft/dispenser/IBehaviorDispenseItem$1": { + "enclosingMethod": { + "owner": "net/minecraft/dispenser/IBehaviorDispenseItem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/dispenser/IBehaviorDispenseItem$1", + "start": "12" + } + ] + }, + "net/minecraft/enchantment/EnchantmentHelper": { + "innerClasses": [ + { + "access": "38", + "inner_class": "net/minecraft/enchantment/EnchantmentHelper$ModifierDamage", + "inner_name": "ModifierDamage", + "outer_class": "net/minecraft/enchantment/EnchantmentHelper", + "start": "138" + }, + { + "access": "38", + "inner_class": "net/minecraft/enchantment/EnchantmentHelper$ModifierLiving", + "inner_name": "ModifierLiving", + "outer_class": "net/minecraft/enchantment/EnchantmentHelper", + "start": "171" + }, + { + "access": "38", + "inner_class": "net/minecraft/enchantment/EnchantmentHelper$HurtIterator", + "inner_name": "HurtIterator", + "outer_class": "net/minecraft/enchantment/EnchantmentHelper", + "start": "192" + }, + { + "access": "38", + "inner_class": "net/minecraft/enchantment/EnchantmentHelper$DamageIterator", + "inner_name": "DamageIterator", + "outer_class": "net/minecraft/enchantment/EnchantmentHelper", + "start": "215" + }, + { + "access": "608", + "inner_class": "net/minecraft/enchantment/EnchantmentHelper$IModifier", + "inner_name": "IModifier", + "outer_class": "net/minecraft/enchantment/EnchantmentHelper" + }, + { + "access": "1000", + "inner_class": "net/minecraft/enchantment/EnchantmentHelper$1" + } + ] + }, + "net/minecraft/enchantment/EnchantmentHelper$1": { + "enclosingMethod": { + "owner": "net/minecraft/enchantment/EnchantmentHelper" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/enchantment/EnchantmentHelper$1" + } + ] + }, + "net/minecraft/enchantment/EnchantmentHelper$DamageIterator": { + "enclosingMethod": { + "owner": "net/minecraft/enchantment/EnchantmentHelper" + }, + "innerClasses": [ + { + "access": "38", + "inner_class": "net/minecraft/enchantment/EnchantmentHelper$DamageIterator", + "inner_name": "DamageIterator", + "outer_class": "net/minecraft/enchantment/EnchantmentHelper", + "start": "215" + } + ] + }, + "net/minecraft/enchantment/EnchantmentHelper$HurtIterator": { + "enclosingMethod": { + "owner": "net/minecraft/enchantment/EnchantmentHelper" + }, + "innerClasses": [ + { + "access": "38", + "inner_class": "net/minecraft/enchantment/EnchantmentHelper$HurtIterator", + "inner_name": "HurtIterator", + "outer_class": "net/minecraft/enchantment/EnchantmentHelper", + "start": "192" + } + ] + }, + "net/minecraft/enchantment/EnchantmentHelper$IModifier": { + "enclosingMethod": { + "owner": "net/minecraft/enchantment/EnchantmentHelper" + }, + "innerClasses": [ + { + "access": "608", + "inner_class": "net/minecraft/enchantment/EnchantmentHelper$IModifier", + "inner_name": "IModifier", + "outer_class": "net/minecraft/enchantment/EnchantmentHelper" + } + ] + }, + "net/minecraft/enchantment/EnchantmentHelper$ModifierDamage": { + "enclosingMethod": { + "owner": "net/minecraft/enchantment/EnchantmentHelper" + }, + "innerClasses": [ + { + "access": "38", + "inner_class": "net/minecraft/enchantment/EnchantmentHelper$ModifierDamage", + "inner_name": "ModifierDamage", + "outer_class": "net/minecraft/enchantment/EnchantmentHelper", + "start": "138" + } + ] + }, + "net/minecraft/enchantment/EnchantmentHelper$ModifierLiving": { + "enclosingMethod": { + "owner": "net/minecraft/enchantment/EnchantmentHelper" + }, + "innerClasses": [ + { + "access": "38", + "inner_class": "net/minecraft/enchantment/EnchantmentHelper$ModifierLiving", + "inner_name": "ModifierLiving", + "outer_class": "net/minecraft/enchantment/EnchantmentHelper", + "start": "171" + } + ] + }, + "net/minecraft/entity/DataWatcher": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/entity/DataWatcher$WatchableObject", + "inner_name": "WatchableObject", + "outer_class": "net/minecraft/entity/DataWatcher", + "start": "345" + } + ] + }, + "net/minecraft/entity/DataWatcher$WatchableObject": { + "enclosingMethod": { + "owner": "net/minecraft/entity/DataWatcher" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/entity/DataWatcher$WatchableObject", + "inner_name": "WatchableObject", + "outer_class": "net/minecraft/entity/DataWatcher", + "start": "345" + } + ] + }, + "net/minecraft/entity/Entity": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/Entity$1", + "start": "1782" + }, + { + "inner_class": "net/minecraft/entity/Entity$2", + "start": "1789" + }, + { + "inner_class": "net/minecraft/entity/Entity$3", + "start": "1798" + }, + { + "inner_class": "net/minecraft/entity/Entity$4", + "start": "1804" + } + ] + }, + "net/minecraft/entity/Entity$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_85029_a", + "owner": "net/minecraft/entity/Entity" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/Entity$1", + "start": "1782" + } + ] + }, + "net/minecraft/entity/Entity$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_85029_a", + "owner": "net/minecraft/entity/Entity" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/Entity$2", + "start": "1789" + } + ] + }, + "net/minecraft/entity/Entity$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_85029_a", + "owner": "net/minecraft/entity/Entity" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/Entity$3", + "start": "1798" + } + ] + }, + "net/minecraft/entity/Entity$4": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_85029_a", + "owner": "net/minecraft/entity/Entity" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/Entity$4", + "start": "1804" + } + ] + }, + "net/minecraft/entity/EntityList": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/entity/EntityList$EntityEggInfo", + "inner_name": "EntityEggInfo", + "outer_class": "net/minecraft/entity/EntityList" + } + ] + }, + "net/minecraft/entity/EntityList$EntityEggInfo": { + "enclosingMethod": { + "owner": "net/minecraft/entity/EntityList" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/entity/EntityList$EntityEggInfo", + "inner_name": "EntityEggInfo", + "outer_class": "net/minecraft/entity/EntityList" + } + ] + }, + "net/minecraft/entity/EntityLiving": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/entity/EntityLiving$SpawnPlacementType", + "inner_name": "SpawnPlacementType", + "outer_class": "net/minecraft/entity/EntityLiving", + "start": "47" + } + ] + }, + "net/minecraft/entity/EntityLiving$SpawnPlacementType": { + "enclosingMethod": { + "owner": "net/minecraft/entity/EntityLiving" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/entity/EntityLiving$SpawnPlacementType", + "inner_name": "SpawnPlacementType", + "outer_class": "net/minecraft/entity/EntityLiving", + "start": "47" + } + ] + }, + "net/minecraft/entity/EntityMinecartCommandBlock": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/EntityMinecartCommandBlock$1", + "start": "23" + } + ] + }, + "net/minecraft/entity/EntityMinecartCommandBlock$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/EntityMinecartCommandBlock" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/EntityMinecartCommandBlock$1", + "start": "23" + } + ] + }, + "net/minecraft/entity/EntityTracker": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/EntityTracker$1", + "start": "127" + } + ] + }, + "net/minecraft/entity/EntityTracker$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/entity/Entity;IIZ)V", + "name": "func_72785_a", + "owner": "net/minecraft/entity/EntityTracker" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/EntityTracker$1", + "start": "127" + } + ] + }, + "net/minecraft/entity/ai/EntityAIAvoidEntity": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/ai/EntityAIAvoidEntity$1", + "start": "17" + } + ] + }, + "net/minecraft/entity/ai/EntityAIAvoidEntity$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/ai/EntityAIAvoidEntity" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/ai/EntityAIAvoidEntity$1", + "start": "17" + } + ] + }, + "net/minecraft/entity/ai/EntityAIFindEntityNearest": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/ai/EntityAIFindEntityNearest$1", + "start": "40" + } + ] + }, + "net/minecraft/entity/ai/EntityAIFindEntityNearest$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/ai/EntityAIFindEntityNearest" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/ai/EntityAIFindEntityNearest$1", + "start": "40" + } + ] + }, + "net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer$1", + "start": "41" + } + ] + }, + "net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer$1", + "start": "41" + } + ] + }, + "net/minecraft/entity/ai/EntityAINearestAttackableTarget": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/ai/EntityAINearestAttackableTarget$1", + "start": "37" + }, + { + "access": "29", + "inner_class": "net/minecraft/entity/ai/EntityAINearestAttackableTarget$Sorter", + "inner_name": "Sorter", + "outer_class": "net/minecraft/entity/ai/EntityAINearestAttackableTarget", + "start": "89" + } + ] + }, + "net/minecraft/entity/ai/EntityAINearestAttackableTarget$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/ai/EntityAINearestAttackableTarget" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/ai/EntityAINearestAttackableTarget$1", + "start": "37" + } + ] + }, + "net/minecraft/entity/ai/EntityAINearestAttackableTarget$Sorter": { + "enclosingMethod": { + "owner": "net/minecraft/entity/ai/EntityAINearestAttackableTarget" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/entity/ai/EntityAINearestAttackableTarget$Sorter", + "inner_name": "Sorter", + "outer_class": "net/minecraft/entity/ai/EntityAINearestAttackableTarget", + "start": "89" + } + ] + }, + "net/minecraft/entity/ai/EntityAITasks": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/ai/EntityAITasks$EntityAITaskEntry", + "inner_name": "EntityAITaskEntry", + "outer_class": "net/minecraft/entity/ai/EntityAITasks" + } + ] + }, + "net/minecraft/entity/ai/EntityAITasks$EntityAITaskEntry": { + "enclosingMethod": { + "owner": "net/minecraft/entity/ai/EntityAITasks" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/ai/EntityAITasks$EntityAITaskEntry", + "inner_name": "EntityAITaskEntry", + "outer_class": "net/minecraft/entity/ai/EntityAITasks" + } + ] + }, + "net/minecraft/entity/ai/EntityMinecartMobSpawner": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/ai/EntityMinecartMobSpawner$1", + "start": "14" + } + ] + }, + "net/minecraft/entity/ai/EntityMinecartMobSpawner$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/ai/EntityMinecartMobSpawner" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/ai/EntityMinecartMobSpawner$1", + "start": "14" + } + ] + }, + "net/minecraft/entity/boss/EntityWither": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/boss/EntityWither$1", + "start": "53" + } + ] + }, + "net/minecraft/entity/boss/EntityWither$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/boss/EntityWither" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/boss/EntityWither$1", + "start": "53" + } + ] + }, + "net/minecraft/entity/item/EntityMinecart": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/entity/item/EntityMinecart$EnumMinecartType", + "inner_name": "EnumMinecartType", + "outer_class": "net/minecraft/entity/item/EntityMinecart", + "start": "35" + }, + { + "access": "1018", + "inner_class": "net/minecraft/entity/item/EntityMinecart$SwitchEnumMinecartType", + "inner_name": "SwitchEnumMinecartType", + "outer_class": "net/minecraft/entity/item/EntityMinecart" + } + ] + }, + "net/minecraft/entity/item/EntityMinecart$EnumMinecartType": { + "enclosingMethod": { + "owner": "net/minecraft/entity/item/EntityMinecart" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/entity/item/EntityMinecart$EnumMinecartType", + "inner_name": "EnumMinecartType", + "outer_class": "net/minecraft/entity/item/EntityMinecart", + "start": "35" + } + ] + }, + "net/minecraft/entity/item/EntityMinecart$SwitchEnumMinecartType": { + "enclosingMethod": { + "owner": "net/minecraft/entity/item/EntityMinecart" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/entity/item/EntityMinecart$SwitchEnumMinecartType", + "inner_name": "SwitchEnumMinecartType", + "outer_class": "net/minecraft/entity/item/EntityMinecart" + } + ] + }, + "net/minecraft/entity/item/EntityPainting": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/entity/item/EntityPainting$EnumArt", + "inner_name": "EnumArt", + "outer_class": "net/minecraft/entity/item/EntityPainting", + "start": "17" + } + ] + }, + "net/minecraft/entity/item/EntityPainting$EnumArt": { + "enclosingMethod": { + "owner": "net/minecraft/entity/item/EntityPainting" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/entity/item/EntityPainting$EnumArt", + "inner_name": "EnumArt", + "outer_class": "net/minecraft/entity/item/EntityPainting", + "start": "17" + } + ] + }, + "net/minecraft/entity/monster/EntityBlaze": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityBlaze$AIFireballAttack", + "inner_name": "AIFireballAttack", + "outer_class": "net/minecraft/entity/monster/EntityBlaze", + "start": "178" + } + ] + }, + "net/minecraft/entity/monster/EntityBlaze$AIFireballAttack": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityBlaze" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityBlaze$AIFireballAttack", + "inner_name": "AIFireballAttack", + "outer_class": "net/minecraft/entity/monster/EntityBlaze", + "start": "178" + } + ] + }, + "net/minecraft/entity/monster/EntityCreeper": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/EntityCreeper$1", + "start": "41" + } + ] + }, + "net/minecraft/entity/monster/EntityCreeper$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityCreeper" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/EntityCreeper$1", + "start": "41" + } + ] + }, + "net/minecraft/entity/monster/EntityEnderman": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/EntityEnderman$1", + "start": "80" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityEnderman$AIFindPlayer", + "inner_name": "AIFindPlayer", + "outer_class": "net/minecraft/entity/monster/EntityEnderman", + "start": "367" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityEnderman$AIPlaceBlock", + "inner_name": "AIPlaceBlock", + "outer_class": "net/minecraft/entity/monster/EntityEnderman", + "start": "454" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityEnderman$AITakeBlock", + "inner_name": "AITakeBlock", + "outer_class": "net/minecraft/entity/monster/EntityEnderman", + "start": "510" + } + ] + }, + "net/minecraft/entity/monster/EntityEnderman$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityEnderman" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/EntityEnderman$1", + "start": "80" + } + ] + }, + "net/minecraft/entity/monster/EntityEnderman$AIFindPlayer": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityEnderman" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityEnderman$AIFindPlayer", + "inner_name": "AIFindPlayer", + "outer_class": "net/minecraft/entity/monster/EntityEnderman", + "start": "367" + } + ] + }, + "net/minecraft/entity/monster/EntityEnderman$AIPlaceBlock": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityEnderman" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityEnderman$AIPlaceBlock", + "inner_name": "AIPlaceBlock", + "outer_class": "net/minecraft/entity/monster/EntityEnderman", + "start": "454" + } + ] + }, + "net/minecraft/entity/monster/EntityEnderman$AITakeBlock": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityEnderman" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityEnderman$AITakeBlock", + "inner_name": "AITakeBlock", + "outer_class": "net/minecraft/entity/monster/EntityEnderman", + "start": "510" + } + ] + }, + "net/minecraft/entity/monster/EntityGhast": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGhast$GhastMoveHelper", + "inner_name": "GhastMoveHelper", + "outer_class": "net/minecraft/entity/monster/EntityGhast", + "start": "174" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGhast$AIRandomFly", + "inner_name": "AIRandomFly", + "outer_class": "net/minecraft/entity/monster/EntityGhast", + "start": "228" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGhast$AILookAround", + "inner_name": "AILookAround", + "outer_class": "net/minecraft/entity/monster/EntityGhast", + "start": "272" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGhast$AIFireballAttack", + "inner_name": "AIFireballAttack", + "outer_class": "net/minecraft/entity/monster/EntityGhast", + "start": "302" + } + ] + }, + "net/minecraft/entity/monster/EntityGhast$AIFireballAttack": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityGhast" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGhast$AIFireballAttack", + "inner_name": "AIFireballAttack", + "outer_class": "net/minecraft/entity/monster/EntityGhast", + "start": "302" + } + ] + }, + "net/minecraft/entity/monster/EntityGhast$AILookAround": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityGhast" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGhast$AILookAround", + "inner_name": "AILookAround", + "outer_class": "net/minecraft/entity/monster/EntityGhast", + "start": "272" + } + ] + }, + "net/minecraft/entity/monster/EntityGhast$AIRandomFly": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityGhast" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGhast$AIRandomFly", + "inner_name": "AIRandomFly", + "outer_class": "net/minecraft/entity/monster/EntityGhast", + "start": "228" + } + ] + }, + "net/minecraft/entity/monster/EntityGhast$GhastMoveHelper": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityGhast" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGhast$GhastMoveHelper", + "inner_name": "GhastMoveHelper", + "outer_class": "net/minecraft/entity/monster/EntityGhast", + "start": "174" + } + ] + }, + "net/minecraft/entity/monster/EntityGuardian": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/EntityGuardian$1", + "start": "390" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGuardian$GuardianTargetSelector", + "inner_name": "GuardianTargetSelector", + "outer_class": "net/minecraft/entity/monster/EntityGuardian", + "start": "494" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGuardian$AIGuardianAttack", + "inner_name": "AIGuardianAttack", + "outer_class": "net/minecraft/entity/monster/EntityGuardian", + "start": "519" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGuardian$GuardianMoveHelper", + "inner_name": "GuardianMoveHelper", + "outer_class": "net/minecraft/entity/monster/EntityGuardian", + "start": "598" + } + ] + }, + "net/minecraft/entity/monster/EntityGuardian$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_70619_bc", + "owner": "net/minecraft/entity/monster/EntityGuardian" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/EntityGuardian$1", + "start": "390" + } + ] + }, + "net/minecraft/entity/monster/EntityGuardian$AIGuardianAttack": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityGuardian" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGuardian$AIGuardianAttack", + "inner_name": "AIGuardianAttack", + "outer_class": "net/minecraft/entity/monster/EntityGuardian", + "start": "519" + } + ] + }, + "net/minecraft/entity/monster/EntityGuardian$GuardianMoveHelper": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityGuardian" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGuardian$GuardianMoveHelper", + "inner_name": "GuardianMoveHelper", + "outer_class": "net/minecraft/entity/monster/EntityGuardian", + "start": "598" + } + ] + }, + "net/minecraft/entity/monster/EntityGuardian$GuardianTargetSelector": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityGuardian" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityGuardian$GuardianTargetSelector", + "inner_name": "GuardianTargetSelector", + "outer_class": "net/minecraft/entity/monster/EntityGuardian", + "start": "494" + } + ] + }, + "net/minecraft/entity/monster/EntityIronGolem": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper", + "inner_name": "AINearestAttackableTargetNonCreeper", + "outer_class": "net/minecraft/entity/monster/EntityIronGolem", + "start": "238" + } + ] + }, + "net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityIronGolem" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper", + "inner_name": "AINearestAttackableTargetNonCreeper", + "outer_class": "net/minecraft/entity/monster/EntityIronGolem", + "start": "238" + }, + { + "inner_class": "net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper$1", + "start": "241" + } + ] + }, + "net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper$1", + "start": "241" + } + ] + }, + "net/minecraft/entity/monster/EntityMob": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/EntityMob$1", + "start": "20" + } + ] + }, + "net/minecraft/entity/monster/EntityMob$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityMob" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/EntityMob$1", + "start": "20" + } + ] + }, + "net/minecraft/entity/monster/EntityPigZombie": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityPigZombie$AIHurtByAggressor", + "inner_name": "AIHurtByAggressor", + "outer_class": "net/minecraft/entity/monster/EntityPigZombie", + "start": "215" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityPigZombie$AITargetAggressor", + "inner_name": "AITargetAggressor", + "outer_class": "net/minecraft/entity/monster/EntityPigZombie", + "start": "230" + } + ] + }, + "net/minecraft/entity/monster/EntityPigZombie$AIHurtByAggressor": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityPigZombie" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityPigZombie$AIHurtByAggressor", + "inner_name": "AIHurtByAggressor", + "outer_class": "net/minecraft/entity/monster/EntityPigZombie", + "start": "215" + } + ] + }, + "net/minecraft/entity/monster/EntityPigZombie$AITargetAggressor": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityPigZombie" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityPigZombie$AITargetAggressor", + "inner_name": "AITargetAggressor", + "outer_class": "net/minecraft/entity/monster/EntityPigZombie", + "start": "230" + } + ] + }, + "net/minecraft/entity/monster/EntitySilverfish": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySilverfish$AISummonSilverfish", + "inner_name": "AISummonSilverfish", + "outer_class": "net/minecraft/entity/monster/EntitySilverfish", + "start": "145" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySilverfish$AIHideInStone", + "inner_name": "AIHideInStone", + "outer_class": "net/minecraft/entity/monster/EntitySilverfish", + "start": "202" + } + ] + }, + "net/minecraft/entity/monster/EntitySilverfish$AIHideInStone": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntitySilverfish" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySilverfish$AIHideInStone", + "inner_name": "AIHideInStone", + "outer_class": "net/minecraft/entity/monster/EntitySilverfish", + "start": "202" + } + ] + }, + "net/minecraft/entity/monster/EntitySilverfish$AISummonSilverfish": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntitySilverfish" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySilverfish$AISummonSilverfish", + "inner_name": "AISummonSilverfish", + "outer_class": "net/minecraft/entity/monster/EntitySilverfish", + "start": "145" + } + ] + }, + "net/minecraft/entity/monster/EntitySkeleton": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/EntitySkeleton$1", + "start": "50" + } + ] + }, + "net/minecraft/entity/monster/EntitySkeleton$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntitySkeleton" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/EntitySkeleton$1", + "start": "50" + } + ] + }, + "net/minecraft/entity/monster/EntitySlime": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySlime$SlimeMoveHelper", + "inner_name": "SlimeMoveHelper", + "outer_class": "net/minecraft/entity/monster/EntitySlime", + "start": "315" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySlime$AISlimeAttack", + "inner_name": "AISlimeAttack", + "outer_class": "net/minecraft/entity/monster/EntitySlime", + "start": "368" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySlime$AISlimeFaceRandom", + "inner_name": "AISlimeFaceRandom", + "outer_class": "net/minecraft/entity/monster/EntitySlime", + "start": "423" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySlime$AISlimeFloat", + "inner_name": "AISlimeFloat", + "outer_class": "net/minecraft/entity/monster/EntitySlime", + "start": "447" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySlime$AISlimeHop", + "inner_name": "AISlimeHop", + "outer_class": "net/minecraft/entity/monster/EntitySlime", + "start": "469" + } + ] + }, + "net/minecraft/entity/monster/EntitySlime$AISlimeAttack": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntitySlime" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySlime$AISlimeAttack", + "inner_name": "AISlimeAttack", + "outer_class": "net/minecraft/entity/monster/EntitySlime", + "start": "368" + } + ] + }, + "net/minecraft/entity/monster/EntitySlime$AISlimeFaceRandom": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntitySlime" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySlime$AISlimeFaceRandom", + "inner_name": "AISlimeFaceRandom", + "outer_class": "net/minecraft/entity/monster/EntitySlime", + "start": "423" + } + ] + }, + "net/minecraft/entity/monster/EntitySlime$AISlimeFloat": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntitySlime" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySlime$AISlimeFloat", + "inner_name": "AISlimeFloat", + "outer_class": "net/minecraft/entity/monster/EntitySlime", + "start": "447" + } + ] + }, + "net/minecraft/entity/monster/EntitySlime$AISlimeHop": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntitySlime" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySlime$AISlimeHop", + "inner_name": "AISlimeHop", + "outer_class": "net/minecraft/entity/monster/EntitySlime", + "start": "469" + } + ] + }, + "net/minecraft/entity/monster/EntitySlime$SlimeMoveHelper": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntitySlime" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySlime$SlimeMoveHelper", + "inner_name": "SlimeMoveHelper", + "outer_class": "net/minecraft/entity/monster/EntitySlime", + "start": "315" + } + ] + }, + "net/minecraft/entity/monster/EntitySpider": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/entity/monster/EntitySpider$GroupData", + "inner_name": "GroupData", + "outer_class": "net/minecraft/entity/monster/EntitySpider", + "start": "197" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySpider$AISpiderAttack", + "inner_name": "AISpiderAttack", + "outer_class": "net/minecraft/entity/monster/EntitySpider", + "start": "217" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySpider$AISpiderTarget", + "inner_name": "AISpiderTarget", + "outer_class": "net/minecraft/entity/monster/EntitySpider", + "start": "238" + } + ] + }, + "net/minecraft/entity/monster/EntitySpider$AISpiderAttack": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntitySpider" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySpider$AISpiderAttack", + "inner_name": "AISpiderAttack", + "outer_class": "net/minecraft/entity/monster/EntitySpider", + "start": "217" + } + ] + }, + "net/minecraft/entity/monster/EntitySpider$AISpiderTarget": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntitySpider" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntitySpider$AISpiderTarget", + "inner_name": "AISpiderTarget", + "outer_class": "net/minecraft/entity/monster/EntitySpider", + "start": "238" + } + ] + }, + "net/minecraft/entity/monster/EntitySpider$GroupData": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntitySpider" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/entity/monster/EntitySpider$GroupData", + "inner_name": "GroupData", + "outer_class": "net/minecraft/entity/monster/EntitySpider", + "start": "197" + } + ] + }, + "net/minecraft/entity/monster/EntityZombie": { + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/entity/monster/EntityZombie$1" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityZombie$GroupData", + "inner_name": "GroupData", + "outer_class": "net/minecraft/entity/monster/EntityZombie" + } + ] + }, + "net/minecraft/entity/monster/EntityZombie$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityZombie" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/entity/monster/EntityZombie$1" + } + ] + }, + "net/minecraft/entity/monster/EntityZombie$GroupData": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/EntityZombie" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/monster/EntityZombie$GroupData", + "inner_name": "GroupData", + "outer_class": "net/minecraft/entity/monster/EntityZombie" + } + ] + }, + "net/minecraft/entity/monster/IMob": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/IMob$1", + "start": "15" + }, + { + "inner_class": "net/minecraft/entity/monster/IMob$2", + "start": "22" + } + ] + }, + "net/minecraft/entity/monster/IMob$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/IMob" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/IMob$1", + "start": "15" + } + ] + }, + "net/minecraft/entity/monster/IMob$2": { + "enclosingMethod": { + "owner": "net/minecraft/entity/monster/IMob" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/monster/IMob$2", + "start": "22" + } + ] + }, + "net/minecraft/entity/passive/EntityHorse": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/passive/EntityHorse$1", + "start": "47" + }, + { + "access": "29", + "inner_class": "net/minecraft/entity/passive/EntityHorse$GroupData", + "inner_name": "GroupData", + "outer_class": "net/minecraft/entity/passive/EntityHorse" + } + ] + }, + "net/minecraft/entity/passive/EntityHorse$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityHorse" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/passive/EntityHorse$1", + "start": "47" + } + ] + }, + "net/minecraft/entity/passive/EntityHorse$GroupData": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityHorse" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/entity/passive/EntityHorse$GroupData", + "inner_name": "GroupData", + "outer_class": "net/minecraft/entity/passive/EntityHorse" + } + ] + }, + "net/minecraft/entity/passive/EntityOcelot": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/passive/EntityOcelot$1", + "start": "297" + } + ] + }, + "net/minecraft/entity/passive/EntityOcelot$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_175544_ck", + "owner": "net/minecraft/entity/passive/EntityOcelot" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/passive/EntityOcelot$1", + "start": "297" + } + ] + }, + "net/minecraft/entity/passive/EntityRabbit": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/passive/EntityRabbit$1", + "start": "93" + }, + { + "access": "21", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$RabbitJumpHelper", + "inner_name": "RabbitJumpHelper", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "451" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$RabbitMoveHelper", + "inner_name": "RabbitMoveHelper", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "481" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$AIAvoidEntity", + "inner_name": "AIAvoidEntity", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "498" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$AIRaidFarm", + "inner_name": "AIRaidFarm", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "515" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$AIPanic", + "inner_name": "AIPanic", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "597" + }, + { + "access": "20", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$AIEvilAttack", + "inner_name": "AIEvilAttack", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "610" + }, + { + "access": "4028", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$EnumMoveType", + "inner_name": "EnumMoveType", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "614" + }, + { + "access": "29", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$RabbitTypeData", + "inner_name": "RabbitTypeData", + "outer_class": "net/minecraft/entity/passive/EntityRabbit" + } + ] + }, + "net/minecraft/entity/passive/EntityRabbit$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityRabbit" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/passive/EntityRabbit$1", + "start": "93" + } + ] + }, + "net/minecraft/entity/passive/EntityRabbit$AIAvoidEntity": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityRabbit" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$AIAvoidEntity", + "inner_name": "AIAvoidEntity", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "498" + } + ] + }, + "net/minecraft/entity/passive/EntityRabbit$AIEvilAttack": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityRabbit" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$AIEvilAttack", + "inner_name": "AIEvilAttack", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "610" + } + ] + }, + "net/minecraft/entity/passive/EntityRabbit$AIPanic": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityRabbit" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$AIPanic", + "inner_name": "AIPanic", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "597" + } + ] + }, + "net/minecraft/entity/passive/EntityRabbit$AIRaidFarm": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityRabbit" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$AIRaidFarm", + "inner_name": "AIRaidFarm", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "515" + } + ] + }, + "net/minecraft/entity/passive/EntityRabbit$EnumMoveType": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityRabbit" + }, + "innerClasses": [ + { + "access": "4028", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$EnumMoveType", + "inner_name": "EnumMoveType", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "614" + } + ] + }, + "net/minecraft/entity/passive/EntityRabbit$RabbitJumpHelper": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityRabbit" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$RabbitJumpHelper", + "inner_name": "RabbitJumpHelper", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "451" + } + ] + }, + "net/minecraft/entity/passive/EntityRabbit$RabbitMoveHelper": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityRabbit" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$RabbitMoveHelper", + "inner_name": "RabbitMoveHelper", + "outer_class": "net/minecraft/entity/passive/EntityRabbit", + "start": "481" + } + ] + }, + "net/minecraft/entity/passive/EntityRabbit$RabbitTypeData": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityRabbit" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/entity/passive/EntityRabbit$RabbitTypeData", + "inner_name": "RabbitTypeData", + "outer_class": "net/minecraft/entity/passive/EntityRabbit" + } + ] + }, + "net/minecraft/entity/passive/EntitySheep": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/passive/EntitySheep$1", + "start": "40" + } + ] + }, + "net/minecraft/entity/passive/EntitySheep$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntitySheep" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/passive/EntitySheep$1", + "start": "40" + } + ] + }, + "net/minecraft/entity/passive/EntitySquid": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/passive/EntitySquid$AIMoveRandom", + "inner_name": "AIMoveRandom", + "outer_class": "net/minecraft/entity/passive/EntitySquid", + "start": "198" + } + ] + }, + "net/minecraft/entity/passive/EntitySquid$AIMoveRandom": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntitySquid" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/entity/passive/EntitySquid$AIMoveRandom", + "inner_name": "AIMoveRandom", + "outer_class": "net/minecraft/entity/passive/EntitySquid", + "start": "198" + } + ] + }, + "net/minecraft/entity/passive/EntityVillager": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/passive/EntityVillager$1", + "start": "101" + }, + { + "access": "28", + "inner_class": "net/minecraft/entity/passive/EntityVillager$PriceInfo", + "inner_name": "PriceInfo", + "outer_class": "net/minecraft/entity/passive/EntityVillager", + "start": "770" + }, + { + "access": "28", + "inner_class": "net/minecraft/entity/passive/EntityVillager$EmeraldForItems", + "inner_name": "EmeraldForItems", + "outer_class": "net/minecraft/entity/passive/EntityVillager", + "start": "793" + }, + { + "access": "28", + "inner_class": "net/minecraft/entity/passive/EntityVillager$ListItemForEmeralds", + "inner_name": "ListItemForEmeralds", + "outer_class": "net/minecraft/entity/passive/EntityVillager", + "start": "818" + }, + { + "access": "28", + "inner_class": "net/minecraft/entity/passive/EntityVillager$ListEnchantedItemForEmeralds", + "inner_name": "ListEnchantedItemForEmeralds", + "outer_class": "net/minecraft/entity/passive/EntityVillager", + "start": "847" + }, + { + "access": "28", + "inner_class": "net/minecraft/entity/passive/EntityVillager$ListEnchantedBookForEmeralds", + "inner_name": "ListEnchantedBookForEmeralds", + "outer_class": "net/minecraft/entity/passive/EntityVillager", + "start": "868" + }, + { + "access": "28", + "inner_class": "net/minecraft/entity/passive/EntityVillager$ItemAndEmeraldToItem", + "inner_name": "ItemAndEmeraldToItem", + "outer_class": "net/minecraft/entity/passive/EntityVillager", + "start": "895" + }, + { + "access": "608", + "inner_class": "net/minecraft/entity/passive/EntityVillager$ITradeList", + "inner_name": "ITradeList", + "outer_class": "net/minecraft/entity/passive/EntityVillager" + } + ] + }, + "net/minecraft/entity/passive/EntityVillager$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityVillager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/passive/EntityVillager$1", + "start": "101" + } + ] + }, + "net/minecraft/entity/passive/EntityVillager$EmeraldForItems": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityVillager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/entity/passive/EntityVillager$EmeraldForItems", + "inner_name": "EmeraldForItems", + "outer_class": "net/minecraft/entity/passive/EntityVillager", + "start": "793" + } + ] + }, + "net/minecraft/entity/passive/EntityVillager$ITradeList": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityVillager" + }, + "innerClasses": [ + { + "access": "608", + "inner_class": "net/minecraft/entity/passive/EntityVillager$ITradeList", + "inner_name": "ITradeList", + "outer_class": "net/minecraft/entity/passive/EntityVillager" + } + ] + }, + "net/minecraft/entity/passive/EntityVillager$ItemAndEmeraldToItem": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityVillager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/entity/passive/EntityVillager$ItemAndEmeraldToItem", + "inner_name": "ItemAndEmeraldToItem", + "outer_class": "net/minecraft/entity/passive/EntityVillager", + "start": "895" + } + ] + }, + "net/minecraft/entity/passive/EntityVillager$ListEnchantedBookForEmeralds": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityVillager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/entity/passive/EntityVillager$ListEnchantedBookForEmeralds", + "inner_name": "ListEnchantedBookForEmeralds", + "outer_class": "net/minecraft/entity/passive/EntityVillager", + "start": "868" + } + ] + }, + "net/minecraft/entity/passive/EntityVillager$ListEnchantedItemForEmeralds": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityVillager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/entity/passive/EntityVillager$ListEnchantedItemForEmeralds", + "inner_name": "ListEnchantedItemForEmeralds", + "outer_class": "net/minecraft/entity/passive/EntityVillager", + "start": "847" + } + ] + }, + "net/minecraft/entity/passive/EntityVillager$ListItemForEmeralds": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityVillager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/entity/passive/EntityVillager$ListItemForEmeralds", + "inner_name": "ListItemForEmeralds", + "outer_class": "net/minecraft/entity/passive/EntityVillager", + "start": "818" + } + ] + }, + "net/minecraft/entity/passive/EntityVillager$PriceInfo": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityVillager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/entity/passive/EntityVillager$PriceInfo", + "inner_name": "PriceInfo", + "outer_class": "net/minecraft/entity/passive/EntityVillager", + "start": "770" + } + ] + }, + "net/minecraft/entity/passive/EntityWolf": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/passive/EntityWolf$1", + "start": "60" + } + ] + }, + "net/minecraft/entity/passive/EntityWolf$1": { + "enclosingMethod": { + "owner": "net/minecraft/entity/passive/EntityWolf" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/passive/EntityWolf$1", + "start": "60" + } + ] + }, + "net/minecraft/entity/player/EntityPlayer": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/entity/player/EntityPlayer$EnumChatVisibility", + "inner_name": "EnumChatVisibility", + "outer_class": "net/minecraft/entity/player/EntityPlayer", + "start": "79" + }, + { + "access": "4029", + "inner_class": "net/minecraft/entity/player/EntityPlayer$EnumStatus", + "inner_name": "EnumStatus", + "outer_class": "net/minecraft/entity/player/EntityPlayer", + "start": "1143" + }, + { + "access": "1018", + "inner_class": "net/minecraft/entity/player/EntityPlayer$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/entity/player/EntityPlayer" + } + ] + }, + "net/minecraft/entity/player/EntityPlayer$EnumChatVisibility": { + "enclosingMethod": { + "owner": "net/minecraft/entity/player/EntityPlayer" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/entity/player/EntityPlayer$EnumChatVisibility", + "inner_name": "EnumChatVisibility", + "outer_class": "net/minecraft/entity/player/EntityPlayer", + "start": "79" + } + ] + }, + "net/minecraft/entity/player/EntityPlayer$EnumStatus": { + "enclosingMethod": { + "owner": "net/minecraft/entity/player/EntityPlayer" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/entity/player/EntityPlayer$EnumStatus", + "inner_name": "EnumStatus", + "outer_class": "net/minecraft/entity/player/EntityPlayer", + "start": "1143" + } + ] + }, + "net/minecraft/entity/player/EntityPlayer$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/entity/player/EntityPlayer" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/entity/player/EntityPlayer$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/entity/player/EntityPlayer" + } + ] + }, + "net/minecraft/entity/player/InventoryPlayer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/player/InventoryPlayer$1", + "start": "330" + } + ] + }, + "net/minecraft/entity/player/InventoryPlayer$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/item/ItemStack;)Z", + "name": "func_70441_a", + "owner": "net/minecraft/entity/player/InventoryPlayer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/entity/player/InventoryPlayer$1", + "start": "330" + } + ] + }, + "net/minecraft/event/ClickEvent": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/event/ClickEvent$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/event/ClickEvent", + "start": "60" + } + ] + }, + "net/minecraft/event/ClickEvent$Action": { + "enclosingMethod": { + "owner": "net/minecraft/event/ClickEvent" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/event/ClickEvent$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/event/ClickEvent", + "start": "60" + } + ] + }, + "net/minecraft/event/HoverEvent": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/event/HoverEvent$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/event/HoverEvent", + "start": "60" + } + ] + }, + "net/minecraft/event/HoverEvent$Action": { + "enclosingMethod": { + "owner": "net/minecraft/event/HoverEvent" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/event/HoverEvent$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/event/HoverEvent", + "start": "60" + } + ] + }, + "net/minecraft/init/Bootstrap": { + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$1", + "start": "43" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$2", + "start": "52" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$3", + "start": "58" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$4", + "start": "64" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$5", + "start": "83" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$6", + "start": "109" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$7", + "start": "130" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$8", + "start": "152" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$9", + "start": "183" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$10", + "start": "221" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$11", + "start": "242" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$12", + "start": "275" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$13", + "start": "312" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$14", + "start": "343" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$15", + "start": "360" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$16", + "start": "413" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$17", + "start": "442" + } + ] + }, + "net/minecraft/init/Bootstrap$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$1", + "start": "43" + } + ] + }, + "net/minecraft/init/Bootstrap$10": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$10", + "start": "221" + } + ] + }, + "net/minecraft/init/Bootstrap$11": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$11", + "start": "242" + } + ] + }, + "net/minecraft/init/Bootstrap$12": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$12", + "start": "275" + } + ] + }, + "net/minecraft/init/Bootstrap$13": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$13", + "start": "312" + } + ] + }, + "net/minecraft/init/Bootstrap$14": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$14", + "start": "343" + } + ] + }, + "net/minecraft/init/Bootstrap$15": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$15", + "start": "360" + } + ] + }, + "net/minecraft/init/Bootstrap$16": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$16", + "start": "413" + } + ] + }, + "net/minecraft/init/Bootstrap$17": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$17", + "start": "442" + } + ] + }, + "net/minecraft/init/Bootstrap$2": { + "enclosingMethod": { + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$2", + "start": "52" + } + ] + }, + "net/minecraft/init/Bootstrap$3": { + "enclosingMethod": { + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$3", + "start": "58" + } + ] + }, + "net/minecraft/init/Bootstrap$4": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$4", + "start": "64" + } + ] + }, + "net/minecraft/init/Bootstrap$5": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$5", + "start": "83" + }, + { + "inner_class": "net/minecraft/init/Bootstrap$5$1", + "start": "87" + } + ] + }, + "net/minecraft/init/Bootstrap$5$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack;", + "name": "func_82482_a", + "owner": "net/minecraft/init/Bootstrap$5" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$5$1", + "start": "87" + } + ] + }, + "net/minecraft/init/Bootstrap$6": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$6", + "start": "109" + } + ] + }, + "net/minecraft/init/Bootstrap$7": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$7", + "start": "130" + } + ] + }, + "net/minecraft/init/Bootstrap$8": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$8", + "start": "152" + } + ] + }, + "net/minecraft/init/Bootstrap$9": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151353_a", + "owner": "net/minecraft/init/Bootstrap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/init/Bootstrap$9", + "start": "183" + } + ] + }, + "net/minecraft/inventory/ContainerBeacon": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/inventory/ContainerBeacon$BeaconSlot", + "inner_name": "BeaconSlot", + "outer_class": "net/minecraft/inventory/ContainerBeacon", + "start": "110" + } + ] + }, + "net/minecraft/inventory/ContainerBeacon$BeaconSlot": { + "enclosingMethod": { + "owner": "net/minecraft/inventory/ContainerBeacon" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/inventory/ContainerBeacon$BeaconSlot", + "inner_name": "BeaconSlot", + "outer_class": "net/minecraft/inventory/ContainerBeacon", + "start": "110" + } + ] + }, + "net/minecraft/inventory/ContainerBrewingStand": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/inventory/ContainerBrewingStand$Potion", + "inner_name": "Potion", + "outer_class": "net/minecraft/inventory/ContainerBrewingStand", + "start": "134" + }, + { + "access": "20", + "inner_class": "net/minecraft/inventory/ContainerBrewingStand$Ingredient", + "inner_name": "Ingredient", + "outer_class": "net/minecraft/inventory/ContainerBrewingStand", + "start": "162" + } + ] + }, + "net/minecraft/inventory/ContainerBrewingStand$Ingredient": { + "enclosingMethod": { + "owner": "net/minecraft/inventory/ContainerBrewingStand" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/inventory/ContainerBrewingStand$Ingredient", + "inner_name": "Ingredient", + "outer_class": "net/minecraft/inventory/ContainerBrewingStand", + "start": "162" + } + ] + }, + "net/minecraft/inventory/ContainerBrewingStand$Potion": { + "enclosingMethod": { + "owner": "net/minecraft/inventory/ContainerBrewingStand" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/inventory/ContainerBrewingStand$Potion", + "inner_name": "Potion", + "outer_class": "net/minecraft/inventory/ContainerBrewingStand", + "start": "134" + } + ] + }, + "net/minecraft/inventory/ContainerEnchantment": { + "innerClasses": [ + { + "inner_class": "net/minecraft/inventory/ContainerEnchantment$1", + "start": "24" + }, + { + "inner_class": "net/minecraft/inventory/ContainerEnchantment$2", + "start": "56" + }, + { + "inner_class": "net/minecraft/inventory/ContainerEnchantment$3", + "start": "68" + } + ] + }, + "net/minecraft/inventory/ContainerEnchantment$1": { + "enclosingMethod": { + "owner": "net/minecraft/inventory/ContainerEnchantment" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/inventory/ContainerEnchantment$1", + "start": "24" + } + ] + }, + "net/minecraft/inventory/ContainerEnchantment$2": { + "enclosingMethod": { + "owner": "net/minecraft/inventory/ContainerEnchantment" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/inventory/ContainerEnchantment$2", + "start": "56" + } + ] + }, + "net/minecraft/inventory/ContainerEnchantment$3": { + "enclosingMethod": { + "owner": "net/minecraft/inventory/ContainerEnchantment" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/inventory/ContainerEnchantment$3", + "start": "68" + } + ] + }, + "net/minecraft/inventory/ContainerHorseInventory": { + "innerClasses": [ + { + "inner_class": "net/minecraft/inventory/ContainerHorseInventory$1", + "start": "27" + }, + { + "inner_class": "net/minecraft/inventory/ContainerHorseInventory$2", + "start": "33" + } + ] + }, + "net/minecraft/inventory/ContainerHorseInventory$1": { + "enclosingMethod": { + "owner": "net/minecraft/inventory/ContainerHorseInventory" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/inventory/ContainerHorseInventory$1", + "start": "27" + } + ] + }, + "net/minecraft/inventory/ContainerHorseInventory$2": { + "enclosingMethod": { + "owner": "net/minecraft/inventory/ContainerHorseInventory" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/inventory/ContainerHorseInventory$2", + "start": "33" + } + ] + }, + "net/minecraft/inventory/ContainerPlayer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/inventory/ContainerPlayer$1", + "start": "47" + } + ] + }, + "net/minecraft/inventory/ContainerPlayer$1": { + "enclosingMethod": { + "owner": "net/minecraft/inventory/ContainerPlayer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/inventory/ContainerPlayer$1", + "start": "47" + } + ] + }, + "net/minecraft/inventory/ContainerRepair": { + "innerClasses": [ + { + "inner_class": "net/minecraft/inventory/ContainerRepair$1", + "start": "43" + }, + { + "inner_class": "net/minecraft/inventory/ContainerRepair$2", + "start": "70" + } + ] + }, + "net/minecraft/inventory/ContainerRepair$1": { + "enclosingMethod": { + "owner": "net/minecraft/inventory/ContainerRepair" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/inventory/ContainerRepair$1", + "start": "43" + } + ] + }, + "net/minecraft/inventory/ContainerRepair$2": { + "enclosingMethod": { + "owner": "net/minecraft/inventory/ContainerRepair" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/inventory/ContainerRepair$2", + "start": "70" + } + ] + }, + "net/minecraft/item/Item": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/item/Item$ToolMaterial", + "inner_name": "ToolMaterial", + "outer_class": "net/minecraft/item/Item", + "start": "78" + }, + { + "inner_class": "net/minecraft/item/Item$1", + "start": "399" + }, + { + "inner_class": "net/minecraft/item/Item$2", + "start": "407" + }, + { + "inner_class": "net/minecraft/item/Item$3", + "start": "415" + }, + { + "inner_class": "net/minecraft/item/Item$4", + "start": "422" + }, + { + "inner_class": "net/minecraft/item/Item$5", + "start": "430" + }, + { + "inner_class": "net/minecraft/item/Item$6", + "start": "441" + }, + { + "inner_class": "net/minecraft/item/Item$7", + "start": "448" + }, + { + "inner_class": "net/minecraft/item/Item$8", + "start": "457" + }, + { + "inner_class": "net/minecraft/item/Item$9", + "start": "468" + }, + { + "inner_class": "net/minecraft/item/Item$10", + "start": "484" + }, + { + "inner_class": "net/minecraft/item/Item$11", + "start": "491" + }, + { + "inner_class": "net/minecraft/item/Item$12", + "start": "545" + }, + { + "inner_class": "net/minecraft/item/Item$13", + "start": "552" + }, + { + "inner_class": "net/minecraft/item/Item$14", + "start": "594" + }, + { + "inner_class": "net/minecraft/item/Item$15", + "start": "625" + }, + { + "inner_class": "net/minecraft/item/Item$16", + "start": "634" + }, + { + "inner_class": "net/minecraft/item/Item$17", + "start": "642" + } + ] + }, + "net/minecraft/item/Item$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$1", + "start": "399" + } + ] + }, + "net/minecraft/item/Item$10": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$10", + "start": "484" + } + ] + }, + "net/minecraft/item/Item$11": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$11", + "start": "491" + } + ] + }, + "net/minecraft/item/Item$12": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$12", + "start": "545" + } + ] + }, + "net/minecraft/item/Item$13": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$13", + "start": "552" + } + ] + }, + "net/minecraft/item/Item$14": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$14", + "start": "594" + } + ] + }, + "net/minecraft/item/Item$15": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$15", + "start": "625" + } + ] + }, + "net/minecraft/item/Item$16": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$16", + "start": "634" + } + ] + }, + "net/minecraft/item/Item$17": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$17", + "start": "642" + } + ] + }, + "net/minecraft/item/Item$2": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$2", + "start": "407" + } + ] + }, + "net/minecraft/item/Item$3": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$3", + "start": "415" + } + ] + }, + "net/minecraft/item/Item$4": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$4", + "start": "422" + } + ] + }, + "net/minecraft/item/Item$5": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$5", + "start": "430" + } + ] + }, + "net/minecraft/item/Item$6": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$6", + "start": "441" + } + ] + }, + "net/minecraft/item/Item$7": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$7", + "start": "448" + } + ] + }, + "net/minecraft/item/Item$8": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$8", + "start": "457" + } + ] + }, + "net/minecraft/item/Item$9": { + "enclosingMethod": { + "desc": "()V", + "name": "func_150900_l", + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/Item$9", + "start": "468" + } + ] + }, + "net/minecraft/item/Item$ToolMaterial": { + "enclosingMethod": { + "owner": "net/minecraft/item/Item" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/item/Item$ToolMaterial", + "inner_name": "ToolMaterial", + "outer_class": "net/minecraft/item/Item", + "start": "78" + } + ] + }, + "net/minecraft/item/ItemArmor": { + "innerClasses": [ + { + "inner_class": "net/minecraft/item/ItemArmor$1", + "start": "40" + }, + { + "access": "4029", + "inner_class": "net/minecraft/item/ItemArmor$ArmorMaterial", + "inner_name": "ArmorMaterial", + "outer_class": "net/minecraft/item/ItemArmor", + "start": "66" + } + ] + }, + "net/minecraft/item/ItemArmor$1": { + "enclosingMethod": { + "owner": "net/minecraft/item/ItemArmor" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/ItemArmor$1", + "start": "40" + } + ] + }, + "net/minecraft/item/ItemArmor$ArmorMaterial": { + "enclosingMethod": { + "owner": "net/minecraft/item/ItemArmor" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/item/ItemArmor$ArmorMaterial", + "inner_name": "ArmorMaterial", + "outer_class": "net/minecraft/item/ItemArmor", + "start": "66" + } + ] + }, + "net/minecraft/item/ItemFishFood": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/item/ItemFishFood$FishType", + "inner_name": "FishType", + "outer_class": "net/minecraft/item/ItemFishFood", + "start": "83" + } + ] + }, + "net/minecraft/item/ItemFishFood$FishType": { + "enclosingMethod": { + "owner": "net/minecraft/item/ItemFishFood" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/item/ItemFishFood$FishType", + "inner_name": "FishType", + "outer_class": "net/minecraft/item/ItemFishFood", + "start": "83" + } + ] + }, + "net/minecraft/item/ItemHoe": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/item/ItemHoe$SwitchDirtType", + "inner_name": "SwitchDirtType", + "outer_class": "net/minecraft/item/ItemHoe" + } + ] + }, + "net/minecraft/item/ItemHoe$SwitchDirtType": { + "enclosingMethod": { + "owner": "net/minecraft/item/ItemHoe" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/item/ItemHoe$SwitchDirtType", + "inner_name": "SwitchDirtType", + "outer_class": "net/minecraft/item/ItemHoe" + } + ] + }, + "net/minecraft/item/ItemMinecart": { + "innerClasses": [ + { + "inner_class": "net/minecraft/item/ItemMinecart$1", + "start": "19" + } + ] + }, + "net/minecraft/item/ItemMinecart$1": { + "enclosingMethod": { + "owner": "net/minecraft/item/ItemMinecart" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/ItemMinecart$1", + "start": "19" + } + ] + }, + "net/minecraft/item/ItemMultiTexture": { + "innerClasses": [ + { + "inner_class": "net/minecraft/item/ItemMultiTexture$1", + "start": "23" + } + ] + }, + "net/minecraft/item/ItemMultiTexture$1": { + "enclosingMethod": { + "owner": "net/minecraft/item/ItemMultiTexture" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/ItemMultiTexture$1", + "start": "23" + } + ] + }, + "net/minecraft/item/crafting/CraftingManager": { + "innerClasses": [ + { + "inner_class": "net/minecraft/item/crafting/CraftingManager$1", + "start": "1064" + } + ] + }, + "net/minecraft/item/crafting/CraftingManager$1": { + "enclosingMethod": { + "owner": "net/minecraft/item/crafting/CraftingManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/item/crafting/CraftingManager$1", + "start": "1064" + } + ] + }, + "net/minecraft/item/crafting/RecipesBanners": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/item/crafting/RecipesBanners$RecipeDuplicatePattern", + "inner_name": "RecipeDuplicatePattern", + "outer_class": "net/minecraft/item/crafting/RecipesBanners", + "start": "43" + }, + { + "access": "28", + "inner_class": "net/minecraft/item/crafting/RecipesBanners$RecipeAddPattern", + "inner_name": "RecipeAddPattern", + "outer_class": "net/minecraft/item/crafting/RecipesBanners", + "start": "149" + }, + { + "access": "1000", + "inner_class": "net/minecraft/item/crafting/RecipesBanners$1" + } + ] + }, + "net/minecraft/item/crafting/RecipesBanners$1": { + "enclosingMethod": { + "owner": "net/minecraft/item/crafting/RecipesBanners" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/item/crafting/RecipesBanners$1" + } + ] + }, + "net/minecraft/item/crafting/RecipesBanners$RecipeAddPattern": { + "enclosingMethod": { + "owner": "net/minecraft/item/crafting/RecipesBanners" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/item/crafting/RecipesBanners$RecipeAddPattern", + "inner_name": "RecipeAddPattern", + "outer_class": "net/minecraft/item/crafting/RecipesBanners", + "start": "149" + } + ] + }, + "net/minecraft/item/crafting/RecipesBanners$RecipeDuplicatePattern": { + "enclosingMethod": { + "owner": "net/minecraft/item/crafting/RecipesBanners" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/item/crafting/RecipesBanners$RecipeDuplicatePattern", + "inner_name": "RecipeDuplicatePattern", + "outer_class": "net/minecraft/item/crafting/RecipesBanners", + "start": "43" + } + ] + }, + "net/minecraft/nbt/JsonToNBT": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/nbt/JsonToNBT$Compound", + "inner_name": "Compound", + "outer_class": "net/minecraft/nbt/JsonToNBT", + "start": "294" + }, + { + "access": "28", + "inner_class": "net/minecraft/nbt/JsonToNBT$List", + "inner_name": "List", + "outer_class": "net/minecraft/nbt/JsonToNBT", + "start": "313" + }, + { + "access": "28", + "inner_class": "net/minecraft/nbt/JsonToNBT$Primitive", + "inner_name": "Primitive", + "outer_class": "net/minecraft/nbt/JsonToNBT", + "start": "346" + }, + { + "access": "428", + "inner_class": "net/minecraft/nbt/JsonToNBT$Any", + "inner_name": "Any", + "outer_class": "net/minecraft/nbt/JsonToNBT" + } + ] + }, + "net/minecraft/nbt/JsonToNBT$Any": { + "enclosingMethod": { + "owner": "net/minecraft/nbt/JsonToNBT" + }, + "innerClasses": [ + { + "access": "428", + "inner_class": "net/minecraft/nbt/JsonToNBT$Any", + "inner_name": "Any", + "outer_class": "net/minecraft/nbt/JsonToNBT" + } + ] + }, + "net/minecraft/nbt/JsonToNBT$Compound": { + "enclosingMethod": { + "owner": "net/minecraft/nbt/JsonToNBT" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/nbt/JsonToNBT$Compound", + "inner_name": "Compound", + "outer_class": "net/minecraft/nbt/JsonToNBT", + "start": "294" + } + ] + }, + "net/minecraft/nbt/JsonToNBT$List": { + "enclosingMethod": { + "owner": "net/minecraft/nbt/JsonToNBT" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/nbt/JsonToNBT$List", + "inner_name": "List", + "outer_class": "net/minecraft/nbt/JsonToNBT", + "start": "313" + } + ] + }, + "net/minecraft/nbt/JsonToNBT$Primitive": { + "enclosingMethod": { + "owner": "net/minecraft/nbt/JsonToNBT" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/nbt/JsonToNBT$Primitive", + "inner_name": "Primitive", + "outer_class": "net/minecraft/nbt/JsonToNBT", + "start": "346" + } + ] + }, + "net/minecraft/nbt/NBTBase": { + "innerClasses": [ + { + "access": "429", + "inner_class": "net/minecraft/nbt/NBTBase$NBTPrimitive", + "inner_name": "NBTPrimitive", + "outer_class": "net/minecraft/nbt/NBTBase" + } + ] + }, + "net/minecraft/nbt/NBTBase$NBTPrimitive": { + "enclosingMethod": { + "owner": "net/minecraft/nbt/NBTBase" + }, + "innerClasses": [ + { + "access": "429", + "inner_class": "net/minecraft/nbt/NBTBase$NBTPrimitive", + "inner_name": "NBTPrimitive", + "outer_class": "net/minecraft/nbt/NBTBase" + } + ] + }, + "net/minecraft/nbt/NBTSizeTracker": { + "innerClasses": [ + { + "inner_class": "net/minecraft/nbt/NBTSizeTracker$1", + "start": "8" + } + ] + }, + "net/minecraft/nbt/NBTSizeTracker$1": { + "enclosingMethod": { + "owner": "net/minecraft/nbt/NBTSizeTracker" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/nbt/NBTSizeTracker$1", + "start": "8" + } + ] + }, + "net/minecraft/nbt/NBTTagCompound": { + "innerClasses": [ + { + "inner_class": "net/minecraft/nbt/NBTTagCompound$1", + "start": "317" + }, + { + "inner_class": "net/minecraft/nbt/NBTTagCompound$2", + "start": "323" + } + ] + }, + "net/minecraft/nbt/NBTTagCompound$1": { + "enclosingMethod": { + "desc": "(Ljava/lang/String;ILjava/lang/ClassCastException;)Lnet/minecraft/crash/CrashReport;", + "name": "func_82581_a", + "owner": "net/minecraft/nbt/NBTTagCompound" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/nbt/NBTTagCompound$1", + "start": "317" + } + ] + }, + "net/minecraft/nbt/NBTTagCompound$2": { + "enclosingMethod": { + "desc": "(Ljava/lang/String;ILjava/lang/ClassCastException;)Lnet/minecraft/crash/CrashReport;", + "name": "func_82581_a", + "owner": "net/minecraft/nbt/NBTTagCompound" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/nbt/NBTTagCompound$2", + "start": "323" + } + ] + }, + "net/minecraft/network/EnumConnectionState": { + "innerClasses": [ + { + "access": "4000", + "inner_class": "net/minecraft/network/EnumConnectionState$1" + }, + { + "access": "4000", + "inner_class": "net/minecraft/network/EnumConnectionState$2" + }, + { + "access": "4000", + "inner_class": "net/minecraft/network/EnumConnectionState$3" + }, + { + "access": "4000", + "inner_class": "net/minecraft/network/EnumConnectionState$4" + } + ] + }, + "net/minecraft/network/EnumConnectionState$1": { + "enclosingMethod": { + "owner": "net/minecraft/network/EnumConnectionState" + }, + "innerClasses": [ + { + "access": "4000", + "inner_class": "net/minecraft/network/EnumConnectionState$1" + } + ] + }, + "net/minecraft/network/EnumConnectionState$2": { + "enclosingMethod": { + "owner": "net/minecraft/network/EnumConnectionState" + }, + "innerClasses": [ + { + "access": "4000", + "inner_class": "net/minecraft/network/EnumConnectionState$2" + } + ] + }, + "net/minecraft/network/EnumConnectionState$3": { + "enclosingMethod": { + "owner": "net/minecraft/network/EnumConnectionState" + }, + "innerClasses": [ + { + "access": "4000", + "inner_class": "net/minecraft/network/EnumConnectionState$3" + } + ] + }, + "net/minecraft/network/EnumConnectionState$4": { + "enclosingMethod": { + "owner": "net/minecraft/network/EnumConnectionState" + }, + "innerClasses": [ + { + "access": "4000", + "inner_class": "net/minecraft/network/EnumConnectionState$4" + } + ] + }, + "net/minecraft/network/NetHandlerPlayServer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetHandlerPlayServer$1", + "start": "125" + }, + { + "inner_class": "net/minecraft/network/NetHandlerPlayServer$2", + "start": "132" + }, + { + "inner_class": "net/minecraft/network/NetHandlerPlayServer$3", + "start": "579" + }, + { + "access": "1018", + "inner_class": "net/minecraft/network/NetHandlerPlayServer$SwitchAction", + "inner_name": "SwitchAction", + "outer_class": "net/minecraft/network/NetHandlerPlayServer" + } + ] + }, + "net/minecraft/network/NetHandlerPlayServer$1": { + "enclosingMethod": { + "desc": "(Ljava/lang/String;)V", + "name": "func_147360_c", + "owner": "net/minecraft/network/NetHandlerPlayServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetHandlerPlayServer$1", + "start": "125" + } + ] + }, + "net/minecraft/network/NetHandlerPlayServer$2": { + "enclosingMethod": { + "desc": "(Ljava/lang/String;)V", + "name": "func_147360_c", + "owner": "net/minecraft/network/NetHandlerPlayServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetHandlerPlayServer$2", + "start": "132" + } + ] + }, + "net/minecraft/network/NetHandlerPlayServer$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/network/Packet;)V", + "name": "func_147359_a", + "owner": "net/minecraft/network/NetHandlerPlayServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetHandlerPlayServer$3", + "start": "579" + } + ] + }, + "net/minecraft/network/NetHandlerPlayServer$SwitchAction": { + "enclosingMethod": { + "owner": "net/minecraft/network/NetHandlerPlayServer" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/network/NetHandlerPlayServer$SwitchAction", + "inner_name": "SwitchAction", + "outer_class": "net/minecraft/network/NetHandlerPlayServer" + } + ] + }, + "net/minecraft/network/NetworkManager": { + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetworkManager$1", + "start": "44" + }, + { + "inner_class": "net/minecraft/network/NetworkManager$2", + "start": "50" + }, + { + "inner_class": "net/minecraft/network/NetworkManager$3", + "start": "158" + }, + { + "inner_class": "net/minecraft/network/NetworkManager$4", + "start": "224" + }, + { + "inner_class": "net/minecraft/network/NetworkManager$5", + "start": "260" + }, + { + "access": "28", + "inner_class": "net/minecraft/network/NetworkManager$InboundHandlerTuplePacketListener", + "inner_name": "InboundHandlerTuplePacketListener", + "outer_class": "net/minecraft/network/NetworkManager", + "start": "334" + } + ] + }, + "net/minecraft/network/NetworkManager$1": { + "enclosingMethod": { + "owner": "net/minecraft/network/NetworkManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetworkManager$1", + "start": "44" + } + ] + }, + "net/minecraft/network/NetworkManager$2": { + "enclosingMethod": { + "owner": "net/minecraft/network/NetworkManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetworkManager$2", + "start": "50" + } + ] + }, + "net/minecraft/network/NetworkManager$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/network/Packet;[Lio/netty/util/concurrent/GenericFutureListener;)V", + "name": "func_150732_b", + "owner": "net/minecraft/network/NetworkManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetworkManager$3", + "start": "158" + } + ] + }, + "net/minecraft/network/NetworkManager$4": { + "enclosingMethod": { + "desc": "(Ljava/net/InetAddress;I)Lnet/minecraft/network/NetworkManager;", + "name": "func_150726_a", + "owner": "net/minecraft/network/NetworkManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetworkManager$4", + "start": "224" + } + ] + }, + "net/minecraft/network/NetworkManager$5": { + "enclosingMethod": { + "desc": "(Ljava/net/SocketAddress;)Lnet/minecraft/network/NetworkManager;", + "name": "func_150722_a", + "owner": "net/minecraft/network/NetworkManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetworkManager$5", + "start": "260" + } + ] + }, + "net/minecraft/network/NetworkManager$InboundHandlerTuplePacketListener": { + "enclosingMethod": { + "owner": "net/minecraft/network/NetworkManager" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/network/NetworkManager$InboundHandlerTuplePacketListener", + "inner_name": "InboundHandlerTuplePacketListener", + "outer_class": "net/minecraft/network/NetworkManager", + "start": "334" + } + ] + }, + "net/minecraft/network/NetworkSystem": { + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetworkSystem$1", + "start": "37" + }, + { + "inner_class": "net/minecraft/network/NetworkSystem$2", + "start": "43" + }, + { + "inner_class": "net/minecraft/network/NetworkSystem$3", + "start": "68" + }, + { + "inner_class": "net/minecraft/network/NetworkSystem$4", + "start": "109" + }, + { + "inner_class": "net/minecraft/network/NetworkSystem$5", + "start": "157" + }, + { + "inner_class": "net/minecraft/network/NetworkSystem$6", + "start": "171" + } + ] + }, + "net/minecraft/network/NetworkSystem$1": { + "enclosingMethod": { + "owner": "net/minecraft/network/NetworkSystem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetworkSystem$1", + "start": "37" + } + ] + }, + "net/minecraft/network/NetworkSystem$2": { + "enclosingMethod": { + "owner": "net/minecraft/network/NetworkSystem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetworkSystem$2", + "start": "43" + } + ] + }, + "net/minecraft/network/NetworkSystem$3": { + "enclosingMethod": { + "desc": "(Ljava/net/InetAddress;I)V", + "name": "func_151265_a", + "owner": "net/minecraft/network/NetworkSystem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetworkSystem$3", + "start": "68" + } + ] + }, + "net/minecraft/network/NetworkSystem$4": { + "enclosingMethod": { + "desc": "()Ljava/net/SocketAddress;", + "name": "func_151270_a", + "owner": "net/minecraft/network/NetworkSystem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetworkSystem$4", + "start": "109" + } + ] + }, + "net/minecraft/network/NetworkSystem$5": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151269_c", + "owner": "net/minecraft/network/NetworkSystem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetworkSystem$5", + "start": "157" + } + ] + }, + "net/minecraft/network/NetworkSystem$6": { + "enclosingMethod": { + "desc": "()V", + "name": "func_151269_c", + "owner": "net/minecraft/network/NetworkSystem" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/NetworkSystem$6", + "start": "171" + } + ] + }, + "net/minecraft/network/PacketThreadUtil": { + "innerClasses": [ + { + "inner_class": "net/minecraft/network/PacketThreadUtil$1", + "start": "13" + } + ] + }, + "net/minecraft/network/PacketThreadUtil$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/network/Packet;Lnet/minecraft/network/INetHandler;Lnet/minecraft/util/IThreadListener;)V", + "name": "func_180031_a", + "owner": "net/minecraft/network/PacketThreadUtil" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/network/PacketThreadUtil$1", + "start": "13" + } + ] + }, + "net/minecraft/network/ServerStatusResponse": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/ServerStatusResponse$PlayerCountData", + "inner_name": "PlayerCountData", + "outer_class": "net/minecraft/network/ServerStatusResponse", + "start": "63" + }, + { + "access": "29", + "inner_class": "net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier", + "inner_name": "MinecraftProtocolVersionIdentifier", + "outer_class": "net/minecraft/network/ServerStatusResponse", + "start": "136" + }, + { + "access": "29", + "inner_class": "net/minecraft/network/ServerStatusResponse$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/network/ServerStatusResponse", + "start": "160" + } + ] + }, + "net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier": { + "enclosingMethod": { + "owner": "net/minecraft/network/ServerStatusResponse" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier", + "inner_name": "MinecraftProtocolVersionIdentifier", + "outer_class": "net/minecraft/network/ServerStatusResponse", + "start": "136" + }, + { + "access": "29", + "inner_class": "net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier", + "start": "143" + } + ] + }, + "net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier$Serializer": { + "enclosingMethod": { + "owner": "net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier", + "start": "143" + } + ] + }, + "net/minecraft/network/ServerStatusResponse$PlayerCountData": { + "enclosingMethod": { + "owner": "net/minecraft/network/ServerStatusResponse" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/ServerStatusResponse$PlayerCountData", + "inner_name": "PlayerCountData", + "outer_class": "net/minecraft/network/ServerStatusResponse", + "start": "63" + }, + { + "access": "29", + "inner_class": "net/minecraft/network/ServerStatusResponse$PlayerCountData$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/network/ServerStatusResponse$PlayerCountData", + "start": "78" + } + ] + }, + "net/minecraft/network/ServerStatusResponse$PlayerCountData$Serializer": { + "enclosingMethod": { + "owner": "net/minecraft/network/ServerStatusResponse$PlayerCountData" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/ServerStatusResponse$PlayerCountData$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/network/ServerStatusResponse$PlayerCountData", + "start": "78" + } + ] + }, + "net/minecraft/network/ServerStatusResponse$Serializer": { + "enclosingMethod": { + "owner": "net/minecraft/network/ServerStatusResponse" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/ServerStatusResponse$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/network/ServerStatusResponse", + "start": "160" + } + ] + }, + "net/minecraft/network/play/client/C02PacketUseEntity": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/client/C02PacketUseEntity$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/client/C02PacketUseEntity", + "start": "67" + } + ] + }, + "net/minecraft/network/play/client/C02PacketUseEntity$Action": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/client/C02PacketUseEntity" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/client/C02PacketUseEntity$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/client/C02PacketUseEntity", + "start": "67" + } + ] + }, + "net/minecraft/network/play/client/C03PacketPlayer": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/play/client/C03PacketPlayer$C06PacketPlayerPosLook", + "inner_name": "C06PacketPlayerPosLook", + "outer_class": "net/minecraft/network/play/client/C03PacketPlayer", + "start": "18" + }, + { + "access": "29", + "inner_class": "net/minecraft/network/play/client/C03PacketPlayer$C04PacketPlayerPosition", + "inner_name": "C04PacketPlayerPosition", + "outer_class": "net/minecraft/network/play/client/C03PacketPlayer", + "start": "57" + }, + { + "access": "29", + "inner_class": "net/minecraft/network/play/client/C03PacketPlayer$C05PacketPlayerLook", + "inner_name": "C05PacketPlayerLook", + "outer_class": "net/minecraft/network/play/client/C03PacketPlayer", + "start": "88" + } + ] + }, + "net/minecraft/network/play/client/C03PacketPlayer$C04PacketPlayerPosition": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/client/C03PacketPlayer" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/play/client/C03PacketPlayer$C04PacketPlayerPosition", + "inner_name": "C04PacketPlayerPosition", + "outer_class": "net/minecraft/network/play/client/C03PacketPlayer", + "start": "57" + } + ] + }, + "net/minecraft/network/play/client/C03PacketPlayer$C05PacketPlayerLook": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/client/C03PacketPlayer" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/play/client/C03PacketPlayer$C05PacketPlayerLook", + "inner_name": "C05PacketPlayerLook", + "outer_class": "net/minecraft/network/play/client/C03PacketPlayer", + "start": "88" + } + ] + }, + "net/minecraft/network/play/client/C03PacketPlayer$C06PacketPlayerPosLook": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/client/C03PacketPlayer" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/play/client/C03PacketPlayer$C06PacketPlayerPosLook", + "inner_name": "C06PacketPlayerPosLook", + "outer_class": "net/minecraft/network/play/client/C03PacketPlayer", + "start": "18" + } + ] + }, + "net/minecraft/network/play/client/C07PacketPlayerDigging": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/client/C07PacketPlayerDigging$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/client/C07PacketPlayerDigging", + "start": "55" + } + ] + }, + "net/minecraft/network/play/client/C07PacketPlayerDigging$Action": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/client/C07PacketPlayerDigging" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/client/C07PacketPlayerDigging$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/client/C07PacketPlayerDigging", + "start": "55" + } + ] + }, + "net/minecraft/network/play/client/C0BPacketEntityAction": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/client/C0BPacketEntityAction$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/client/C0BPacketEntityAction", + "start": "58" + } + ] + }, + "net/minecraft/network/play/client/C0BPacketEntityAction$Action": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/client/C0BPacketEntityAction" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/client/C0BPacketEntityAction$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/client/C0BPacketEntityAction", + "start": "58" + } + ] + }, + "net/minecraft/network/play/client/C16PacketClientStatus": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/client/C16PacketClientStatus$EnumState", + "inner_name": "EnumState", + "outer_class": "net/minecraft/network/play/client/C16PacketClientStatus", + "start": "38" + } + ] + }, + "net/minecraft/network/play/client/C16PacketClientStatus$EnumState": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/client/C16PacketClientStatus" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/client/C16PacketClientStatus$EnumState", + "inner_name": "EnumState", + "outer_class": "net/minecraft/network/play/client/C16PacketClientStatus", + "start": "38" + } + ] + }, + "net/minecraft/network/play/client/C19PacketResourcePackStatus": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/client/C19PacketResourcePackStatus$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/client/C19PacketResourcePackStatus", + "start": "52" + } + ] + }, + "net/minecraft/network/play/client/C19PacketResourcePackStatus$Action": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/client/C19PacketResourcePackStatus" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/client/C19PacketResourcePackStatus$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/client/C19PacketResourcePackStatus", + "start": "52" + } + ] + }, + "net/minecraft/network/play/server/S08PacketPlayerPosLook": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags", + "inner_name": "EnumFlags", + "outer_class": "net/minecraft/network/play/server/S08PacketPlayerPosLook", + "start": "80" + } + ] + }, + "net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S08PacketPlayerPosLook" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags", + "inner_name": "EnumFlags", + "outer_class": "net/minecraft/network/play/server/S08PacketPlayerPosLook", + "start": "80" + } + ] + }, + "net/minecraft/network/play/server/S14PacketEntity": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/play/server/S14PacketEntity$S17PacketEntityLookMove", + "inner_name": "S17PacketEntityLookMove", + "outer_class": "net/minecraft/network/play/server/S14PacketEntity", + "start": "21" + }, + { + "access": "29", + "inner_class": "net/minecraft/network/play/server/S14PacketEntity$S15PacketEntityRelMove", + "inner_name": "S15PacketEntityRelMove", + "outer_class": "net/minecraft/network/play/server/S14PacketEntity", + "start": "61" + }, + { + "access": "29", + "inner_class": "net/minecraft/network/play/server/S14PacketEntity$S16PacketEntityLook", + "inner_name": "S16PacketEntityLook", + "outer_class": "net/minecraft/network/play/server/S14PacketEntity", + "start": "93" + } + ] + }, + "net/minecraft/network/play/server/S14PacketEntity$S15PacketEntityRelMove": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S14PacketEntity" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/play/server/S14PacketEntity$S15PacketEntityRelMove", + "inner_name": "S15PacketEntityRelMove", + "outer_class": "net/minecraft/network/play/server/S14PacketEntity", + "start": "61" + } + ] + }, + "net/minecraft/network/play/server/S14PacketEntity$S16PacketEntityLook": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S14PacketEntity" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/play/server/S14PacketEntity$S16PacketEntityLook", + "inner_name": "S16PacketEntityLook", + "outer_class": "net/minecraft/network/play/server/S14PacketEntity", + "start": "93" + } + ] + }, + "net/minecraft/network/play/server/S14PacketEntity$S17PacketEntityLookMove": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S14PacketEntity" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/play/server/S14PacketEntity$S17PacketEntityLookMove", + "inner_name": "S17PacketEntityLookMove", + "outer_class": "net/minecraft/network/play/server/S14PacketEntity", + "start": "21" + } + ] + }, + "net/minecraft/network/play/server/S20PacketEntityProperties": { + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/network/play/server/S20PacketEntityProperties$Snapshot", + "inner_name": "Snapshot", + "outer_class": "net/minecraft/network/play/server/S20PacketEntityProperties", + "start": "93" + } + ] + }, + "net/minecraft/network/play/server/S20PacketEntityProperties$Snapshot": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S20PacketEntityProperties" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/network/play/server/S20PacketEntityProperties$Snapshot", + "inner_name": "Snapshot", + "outer_class": "net/minecraft/network/play/server/S20PacketEntityProperties", + "start": "93" + } + ] + }, + "net/minecraft/network/play/server/S21PacketChunkData": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/play/server/S21PacketChunkData$Extracted", + "inner_name": "Extracted", + "outer_class": "net/minecraft/network/play/server/S21PacketChunkData" + } + ] + }, + "net/minecraft/network/play/server/S21PacketChunkData$Extracted": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S21PacketChunkData" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/network/play/server/S21PacketChunkData$Extracted", + "inner_name": "Extracted", + "outer_class": "net/minecraft/network/play/server/S21PacketChunkData" + } + ] + }, + "net/minecraft/network/play/server/S22PacketMultiBlockChange": { + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData", + "inner_name": "BlockUpdateData", + "outer_class": "net/minecraft/network/play/server/S22PacketMultiBlockChange", + "start": "75" + } + ] + }, + "net/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S22PacketMultiBlockChange" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData", + "inner_name": "BlockUpdateData", + "outer_class": "net/minecraft/network/play/server/S22PacketMultiBlockChange", + "start": "75" + } + ] + }, + "net/minecraft/network/play/server/S38PacketPlayerListItem": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/server/S38PacketPlayerListItem$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/server/S38PacketPlayerListItem", + "start": "163" + }, + { + "access": "21", + "inner_class": "net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData", + "inner_name": "AddPlayerData", + "outer_class": "net/minecraft/network/play/server/S38PacketPlayerListItem", + "start": "186" + }, + { + "access": "1018", + "inner_class": "net/minecraft/network/play/server/S38PacketPlayerListItem$SwitchAction", + "inner_name": "SwitchAction", + "outer_class": "net/minecraft/network/play/server/S38PacketPlayerListItem" + } + ] + }, + "net/minecraft/network/play/server/S38PacketPlayerListItem$Action": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S38PacketPlayerListItem" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/server/S38PacketPlayerListItem$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/server/S38PacketPlayerListItem", + "start": "163" + } + ] + }, + "net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S38PacketPlayerListItem" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData", + "inner_name": "AddPlayerData", + "outer_class": "net/minecraft/network/play/server/S38PacketPlayerListItem", + "start": "186" + } + ] + }, + "net/minecraft/network/play/server/S38PacketPlayerListItem$SwitchAction": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S38PacketPlayerListItem" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/network/play/server/S38PacketPlayerListItem$SwitchAction", + "inner_name": "SwitchAction", + "outer_class": "net/minecraft/network/play/server/S38PacketPlayerListItem" + } + ] + }, + "net/minecraft/network/play/server/S3CPacketUpdateScore": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/server/S3CPacketUpdateScore$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/server/S3CPacketUpdateScore", + "start": "85" + } + ] + }, + "net/minecraft/network/play/server/S3CPacketUpdateScore$Action": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S3CPacketUpdateScore" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/server/S3CPacketUpdateScore$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/server/S3CPacketUpdateScore", + "start": "85" + } + ] + }, + "net/minecraft/network/play/server/S42PacketCombatEvent": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/server/S42PacketCombatEvent$Event", + "inner_name": "Event", + "outer_class": "net/minecraft/network/play/server/S42PacketCombatEvent", + "start": "11" + }, + { + "access": "1018", + "inner_class": "net/minecraft/network/play/server/S42PacketCombatEvent$SwitchEvent", + "inner_name": "SwitchEvent", + "outer_class": "net/minecraft/network/play/server/S42PacketCombatEvent" + } + ] + }, + "net/minecraft/network/play/server/S42PacketCombatEvent$Event": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S42PacketCombatEvent" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/server/S42PacketCombatEvent$Event", + "inner_name": "Event", + "outer_class": "net/minecraft/network/play/server/S42PacketCombatEvent", + "start": "11" + } + ] + }, + "net/minecraft/network/play/server/S42PacketCombatEvent$SwitchEvent": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S42PacketCombatEvent" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/network/play/server/S42PacketCombatEvent$SwitchEvent", + "inner_name": "SwitchEvent", + "outer_class": "net/minecraft/network/play/server/S42PacketCombatEvent" + } + ] + }, + "net/minecraft/network/play/server/S44PacketWorldBorder": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/server/S44PacketWorldBorder$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/server/S44PacketWorldBorder", + "start": "146" + }, + { + "access": "1018", + "inner_class": "net/minecraft/network/play/server/S44PacketWorldBorder$SwitchAction", + "inner_name": "SwitchAction", + "outer_class": "net/minecraft/network/play/server/S44PacketWorldBorder" + } + ] + }, + "net/minecraft/network/play/server/S44PacketWorldBorder$Action": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S44PacketWorldBorder" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/server/S44PacketWorldBorder$Action", + "inner_name": "Action", + "outer_class": "net/minecraft/network/play/server/S44PacketWorldBorder", + "start": "146" + } + ] + }, + "net/minecraft/network/play/server/S44PacketWorldBorder$SwitchAction": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S44PacketWorldBorder" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/network/play/server/S44PacketWorldBorder$SwitchAction", + "inner_name": "SwitchAction", + "outer_class": "net/minecraft/network/play/server/S44PacketWorldBorder" + } + ] + }, + "net/minecraft/network/play/server/S45PacketTitle": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/server/S45PacketTitle$Type", + "inner_name": "Type", + "outer_class": "net/minecraft/network/play/server/S45PacketTitle", + "start": "88" + } + ] + }, + "net/minecraft/network/play/server/S45PacketTitle$Type": { + "enclosingMethod": { + "owner": "net/minecraft/network/play/server/S45PacketTitle" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/network/play/server/S45PacketTitle$Type", + "inner_name": "Type", + "outer_class": "net/minecraft/network/play/server/S45PacketTitle", + "start": "88" + } + ] + }, + "net/minecraft/network/rcon/RConThreadQuery": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/network/rcon/RConThreadQuery$Auth", + "inner_name": "Auth", + "outer_class": "net/minecraft/network/rcon/RConThreadQuery", + "start": "352" + } + ] + }, + "net/minecraft/network/rcon/RConThreadQuery$Auth": { + "enclosingMethod": { + "owner": "net/minecraft/network/rcon/RConThreadQuery" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/network/rcon/RConThreadQuery$Auth", + "inner_name": "Auth", + "outer_class": "net/minecraft/network/rcon/RConThreadQuery", + "start": "352" + } + ] + }, + "net/minecraft/profiler/PlayerUsageSnooper": { + "innerClasses": [ + { + "inner_class": "net/minecraft/profiler/PlayerUsageSnooper$1", + "start": "52" + } + ] + }, + "net/minecraft/profiler/PlayerUsageSnooper$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_76463_a", + "owner": "net/minecraft/profiler/PlayerUsageSnooper" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/profiler/PlayerUsageSnooper$1", + "start": "52" + } + ] + }, + "net/minecraft/profiler/Profiler": { + "innerClasses": [ + { + "access": "39", + "inner_class": "net/minecraft/profiler/Profiler$Result", + "inner_name": "Result", + "outer_class": "net/minecraft/profiler/Profiler", + "start": "20" + } + ] + }, + "net/minecraft/profiler/Profiler$Result": { + "enclosingMethod": { + "owner": "net/minecraft/profiler/Profiler" + }, + "innerClasses": [ + { + "access": "39", + "inner_class": "net/minecraft/profiler/Profiler$Result", + "inner_name": "Result", + "outer_class": "net/minecraft/profiler/Profiler", + "start": "20" + } + ] + }, + "net/minecraft/realms/RealmsConnect": { + "innerClasses": [ + { + "inner_class": "net/minecraft/realms/RealmsConnect$1", + "start": "32" + } + ] + }, + "net/minecraft/realms/RealmsConnect$1": { + "enclosingMethod": { + "desc": "(Ljava/lang/String;I)V", + "name": "connect", + "owner": "net/minecraft/realms/RealmsConnect" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/realms/RealmsConnect$1", + "start": "32" + } + ] + }, + "net/minecraft/realms/RealmsServerStatusPinger": { + "innerClasses": [ + { + "inner_class": "net/minecraft/realms/RealmsServerStatusPinger$1", + "start": "38" + } + ] + }, + "net/minecraft/realms/RealmsServerStatusPinger$1": { + "enclosingMethod": { + "desc": "(Ljava/lang/String;Lnet/minecraft/realms/RealmsServerPing;)V", + "name": "pingServer", + "owner": "net/minecraft/realms/RealmsServerStatusPinger" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/realms/RealmsServerStatusPinger$1", + "start": "38" + } + ] + }, + "net/minecraft/scoreboard/IScoreObjectiveCriteria": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType", + "inner_name": "EnumRenderType", + "outer_class": "net/minecraft/scoreboard/IScoreObjectiveCriteria", + "start": "45" + } + ] + }, + "net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType": { + "enclosingMethod": { + "owner": "net/minecraft/scoreboard/IScoreObjectiveCriteria" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType", + "inner_name": "EnumRenderType", + "outer_class": "net/minecraft/scoreboard/IScoreObjectiveCriteria", + "start": "45" + } + ] + }, + "net/minecraft/scoreboard/Score": { + "innerClasses": [ + { + "inner_class": "net/minecraft/scoreboard/Score$1", + "start": "9" + } + ] + }, + "net/minecraft/scoreboard/Score$1": { + "enclosingMethod": { + "owner": "net/minecraft/scoreboard/Score" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/scoreboard/Score$1", + "start": "9" + } + ] + }, + "net/minecraft/scoreboard/Team": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/scoreboard/Team$EnumVisible", + "inner_name": "EnumVisible", + "outer_class": "net/minecraft/scoreboard/Team", + "start": "35" + } + ] + }, + "net/minecraft/scoreboard/Team$EnumVisible": { + "enclosingMethod": { + "owner": "net/minecraft/scoreboard/Team" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/scoreboard/Team$EnumVisible", + "inner_name": "EnumVisible", + "outer_class": "net/minecraft/scoreboard/Team", + "start": "35" + } + ] + }, + "net/minecraft/server/MinecraftServer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/server/MinecraftServer$1", + "start": "191" + }, + { + "inner_class": "net/minecraft/server/MinecraftServer$2", + "start": "715" + }, + { + "inner_class": "net/minecraft/server/MinecraftServer$3", + "start": "813" + }, + { + "inner_class": "net/minecraft/server/MinecraftServer$4", + "start": "821" + } + ] + }, + "net/minecraft/server/MinecraftServer$1": { + "enclosingMethod": { + "desc": "(Ljava/lang/String;)V", + "name": "func_71237_c", + "owner": "net/minecraft/server/MinecraftServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/MinecraftServer$1", + "start": "191" + } + ] + }, + "net/minecraft/server/MinecraftServer$2": { + "enclosingMethod": { + "desc": "([Ljava/lang/String;)V", + "name": "main", + "owner": "net/minecraft/server/MinecraftServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/MinecraftServer$2", + "start": "715" + } + ] + }, + "net/minecraft/server/MinecraftServer$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71230_b", + "owner": "net/minecraft/server/MinecraftServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/MinecraftServer$3", + "start": "813" + } + ] + }, + "net/minecraft/server/MinecraftServer$4": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71230_b", + "owner": "net/minecraft/server/MinecraftServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/MinecraftServer$4", + "start": "821" + } + ] + }, + "net/minecraft/server/dedicated/DedicatedServer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/server/dedicated/DedicatedServer$1", + "start": "64" + }, + { + "inner_class": "net/minecraft/server/dedicated/DedicatedServer$2", + "start": "77" + }, + { + "inner_class": "net/minecraft/server/dedicated/DedicatedServer$3", + "start": "277" + }, + { + "inner_class": "net/minecraft/server/dedicated/DedicatedServer$4", + "start": "288" + } + ] + }, + "net/minecraft/server/dedicated/DedicatedServer$1": { + "enclosingMethod": { + "owner": "net/minecraft/server/dedicated/DedicatedServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/dedicated/DedicatedServer$1", + "start": "64" + } + ] + }, + "net/minecraft/server/dedicated/DedicatedServer$2": { + "enclosingMethod": { + "desc": "()Z", + "name": "func_71197_b", + "owner": "net/minecraft/server/dedicated/DedicatedServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/dedicated/DedicatedServer$2", + "start": "77" + } + ] + }, + "net/minecraft/server/dedicated/DedicatedServer$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71230_b", + "owner": "net/minecraft/server/dedicated/DedicatedServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/dedicated/DedicatedServer$3", + "start": "277" + } + ] + }, + "net/minecraft/server/dedicated/DedicatedServer$4": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71230_b", + "owner": "net/minecraft/server/dedicated/DedicatedServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/dedicated/DedicatedServer$4", + "start": "288" + } + ] + }, + "net/minecraft/server/dedicated/ServerHangWatchdog": { + "innerClasses": [ + { + "inner_class": "net/minecraft/server/dedicated/ServerHangWatchdog$1", + "start": "85" + } + ] + }, + "net/minecraft/server/dedicated/ServerHangWatchdog$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_180248_a", + "owner": "net/minecraft/server/dedicated/ServerHangWatchdog" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/dedicated/ServerHangWatchdog$1", + "start": "85" + } + ] + }, + "net/minecraft/server/gui/MinecraftServerGui": { + "innerClasses": [ + { + "inner_class": "net/minecraft/server/gui/MinecraftServerGui$1", + "start": "39" + }, + { + "inner_class": "net/minecraft/server/gui/MinecraftServerGui$2", + "start": "92" + }, + { + "inner_class": "net/minecraft/server/gui/MinecraftServerGui$3", + "start": "103" + }, + { + "inner_class": "net/minecraft/server/gui/MinecraftServerGui$4", + "start": "114" + }, + { + "inner_class": "net/minecraft/server/gui/MinecraftServerGui$5", + "start": "130" + } + ] + }, + "net/minecraft/server/gui/MinecraftServerGui$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/server/dedicated/DedicatedServer;)V", + "name": "func_120016_a", + "owner": "net/minecraft/server/gui/MinecraftServerGui" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/gui/MinecraftServerGui$1", + "start": "39" + } + ] + }, + "net/minecraft/server/gui/MinecraftServerGui$2": { + "enclosingMethod": { + "desc": "()Ljavax/swing/JComponent;", + "name": "func_120018_d", + "owner": "net/minecraft/server/gui/MinecraftServerGui" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/gui/MinecraftServerGui$2", + "start": "92" + } + ] + }, + "net/minecraft/server/gui/MinecraftServerGui$3": { + "enclosingMethod": { + "owner": "net/minecraft/server/gui/MinecraftServerGui" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/gui/MinecraftServerGui$3", + "start": "103" + } + ] + }, + "net/minecraft/server/gui/MinecraftServerGui$4": { + "enclosingMethod": { + "desc": "()Ljavax/swing/JComponent;", + "name": "func_120018_d", + "owner": "net/minecraft/server/gui/MinecraftServerGui" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/gui/MinecraftServerGui$4", + "start": "114" + } + ] + }, + "net/minecraft/server/gui/MinecraftServerGui$5": { + "enclosingMethod": { + "desc": "(Ljavax/swing/JTextArea;Ljavax/swing/JScrollPane;Ljava/lang/String;)V", + "name": "func_164247_a", + "owner": "net/minecraft/server/gui/MinecraftServerGui" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/gui/MinecraftServerGui$5", + "start": "130" + } + ] + }, + "net/minecraft/server/gui/StatsComponent": { + "innerClasses": [ + { + "inner_class": "net/minecraft/server/gui/StatsComponent$1", + "start": "28" + } + ] + }, + "net/minecraft/server/gui/StatsComponent$1": { + "enclosingMethod": { + "owner": "net/minecraft/server/gui/StatsComponent" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/gui/StatsComponent$1", + "start": "28" + } + ] + }, + "net/minecraft/server/integrated/IntegratedServer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/server/integrated/IntegratedServer$1", + "start": "221" + }, + { + "inner_class": "net/minecraft/server/integrated/IntegratedServer$2", + "start": "228" + }, + { + "inner_class": "net/minecraft/server/integrated/IntegratedServer$3", + "start": "316" + } + ] + }, + "net/minecraft/server/integrated/IntegratedServer$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71230_b", + "owner": "net/minecraft/server/integrated/IntegratedServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/integrated/IntegratedServer$1", + "start": "221" + } + ] + }, + "net/minecraft/server/integrated/IntegratedServer$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport;", + "name": "func_71230_b", + "owner": "net/minecraft/server/integrated/IntegratedServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/integrated/IntegratedServer$2", + "start": "228" + } + ] + }, + "net/minecraft/server/integrated/IntegratedServer$3": { + "enclosingMethod": { + "desc": "()V", + "name": "func_71263_m", + "owner": "net/minecraft/server/integrated/IntegratedServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/integrated/IntegratedServer$3", + "start": "316" + } + ] + }, + "net/minecraft/server/management/PlayerManager": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/server/management/PlayerManager$PlayerInstance", + "inner_name": "PlayerInstance", + "outer_class": "net/minecraft/server/management/PlayerManager", + "start": "28" + } + ] + }, + "net/minecraft/server/management/PlayerManager$PlayerInstance": { + "enclosingMethod": { + "owner": "net/minecraft/server/management/PlayerManager" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/server/management/PlayerManager$PlayerInstance", + "inner_name": "PlayerInstance", + "outer_class": "net/minecraft/server/management/PlayerManager", + "start": "28" + } + ] + }, + "net/minecraft/server/management/PlayerProfileCache": { + "innerClasses": [ + { + "inner_class": "net/minecraft/server/management/PlayerProfileCache$1", + "start": "50" + }, + { + "access": "20", + "inner_class": "net/minecraft/server/management/PlayerProfileCache$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/server/management/PlayerProfileCache", + "start": "197" + }, + { + "access": "20", + "inner_class": "net/minecraft/server/management/PlayerProfileCache$ProfileEntry", + "inner_name": "ProfileEntry", + "outer_class": "net/minecraft/server/management/PlayerProfileCache", + "start": "244" + }, + { + "inner_class": "net/minecraft/server/management/PlayerProfileCache$2", + "start": "265" + } + ] + }, + "net/minecraft/server/management/PlayerProfileCache$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/server/MinecraftServer;Ljava/lang/String;)Lcom/mojang/authlib/GameProfile;", + "name": "func_152650_a", + "owner": "net/minecraft/server/management/PlayerProfileCache" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/management/PlayerProfileCache$1", + "start": "50" + } + ] + }, + "net/minecraft/server/management/PlayerProfileCache$2": { + "enclosingMethod": { + "owner": "net/minecraft/server/management/PlayerProfileCache" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/management/PlayerProfileCache$2", + "start": "265" + } + ] + }, + "net/minecraft/server/management/PlayerProfileCache$ProfileEntry": { + "enclosingMethod": { + "owner": "net/minecraft/server/management/PlayerProfileCache" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/server/management/PlayerProfileCache$ProfileEntry", + "inner_name": "ProfileEntry", + "outer_class": "net/minecraft/server/management/PlayerProfileCache", + "start": "244" + } + ] + }, + "net/minecraft/server/management/PlayerProfileCache$Serializer": { + "enclosingMethod": { + "owner": "net/minecraft/server/management/PlayerProfileCache" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/server/management/PlayerProfileCache$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/server/management/PlayerProfileCache", + "start": "197" + } + ] + }, + "net/minecraft/server/management/PreYggdrasilConverter": { + "innerClasses": [ + { + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$1", + "start": "49" + }, + { + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$2", + "start": "83" + }, + { + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$3", + "start": "168" + }, + { + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$4", + "start": "210" + }, + { + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$5", + "start": "253" + }, + { + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$6", + "start": "305" + }, + { + "access": "28", + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$ConversionError", + "inner_name": "ConversionError", + "outer_class": "net/minecraft/server/management/PreYggdrasilConverter" + } + ] + }, + "net/minecraft/server/management/PreYggdrasilConverter$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/server/MinecraftServer;Ljava/util/Collection;Lcom/mojang/authlib/ProfileLookupCallback;)V", + "name": "func_152717_a", + "owner": "net/minecraft/server/management/PreYggdrasilConverter" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$1", + "start": "49" + } + ] + }, + "net/minecraft/server/management/PreYggdrasilConverter$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/server/MinecraftServer;)Z", + "name": "func_152724_a", + "owner": "net/minecraft/server/management/PreYggdrasilConverter" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$2", + "start": "83" + } + ] + }, + "net/minecraft/server/management/PreYggdrasilConverter$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/server/MinecraftServer;)Z", + "name": "func_152718_c", + "owner": "net/minecraft/server/management/PreYggdrasilConverter" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$3", + "start": "168" + } + ] + }, + "net/minecraft/server/management/PreYggdrasilConverter$4": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/server/MinecraftServer;)Z", + "name": "func_152710_d", + "owner": "net/minecraft/server/management/PreYggdrasilConverter" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$4", + "start": "210" + } + ] + }, + "net/minecraft/server/management/PreYggdrasilConverter$5": { + "enclosingMethod": { + "desc": "(Ljava/lang/String;)Ljava/lang/String;", + "name": "func_152719_a", + "owner": "net/minecraft/server/management/PreYggdrasilConverter" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$5", + "start": "253" + } + ] + }, + "net/minecraft/server/management/PreYggdrasilConverter$6": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/server/dedicated/DedicatedServer;Lnet/minecraft/server/dedicated/PropertyManager;)Z", + "name": "func_152723_a", + "owner": "net/minecraft/server/management/PreYggdrasilConverter" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$6", + "start": "305" + } + ] + }, + "net/minecraft/server/management/PreYggdrasilConverter$ConversionError": { + "enclosingMethod": { + "owner": "net/minecraft/server/management/PreYggdrasilConverter" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/server/management/PreYggdrasilConverter$ConversionError", + "inner_name": "ConversionError", + "outer_class": "net/minecraft/server/management/PreYggdrasilConverter" + } + ] + }, + "net/minecraft/server/management/ServerConfigurationManager": { + "innerClasses": [ + { + "inner_class": "net/minecraft/server/management/ServerConfigurationManager$1", + "start": "186" + } + ] + }, + "net/minecraft/server/management/ServerConfigurationManager$1": { + "enclosingMethod": { + "desc": "([Lnet/minecraft/world/WorldServer;)V", + "name": "func_72364_a", + "owner": "net/minecraft/server/management/ServerConfigurationManager" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/management/ServerConfigurationManager$1", + "start": "186" + } + ] + }, + "net/minecraft/server/management/UserList": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/server/management/UserList$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/server/management/UserList", + "start": "139" + }, + { + "inner_class": "net/minecraft/server/management/UserList$1", + "start": "161" + } + ] + }, + "net/minecraft/server/management/UserList$1": { + "enclosingMethod": { + "owner": "net/minecraft/server/management/UserList" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/management/UserList$1", + "start": "161" + } + ] + }, + "net/minecraft/server/management/UserList$Serializer": { + "enclosingMethod": { + "owner": "net/minecraft/server/management/UserList" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/server/management/UserList$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/server/management/UserList", + "start": "139" + } + ] + }, + "net/minecraft/server/network/NetHandlerHandshakeTCP": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/server/network/NetHandlerHandshakeTCP$SwitchEnumConnectionState", + "inner_name": "SwitchEnumConnectionState", + "outer_class": "net/minecraft/server/network/NetHandlerHandshakeTCP" + } + ] + }, + "net/minecraft/server/network/NetHandlerHandshakeTCP$SwitchEnumConnectionState": { + "enclosingMethod": { + "owner": "net/minecraft/server/network/NetHandlerHandshakeTCP" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/server/network/NetHandlerHandshakeTCP$SwitchEnumConnectionState", + "inner_name": "SwitchEnumConnectionState", + "outer_class": "net/minecraft/server/network/NetHandlerHandshakeTCP" + } + ] + }, + "net/minecraft/server/network/NetHandlerLoginServer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/server/network/NetHandlerLoginServer$1", + "start": "88" + }, + { + "inner_class": "net/minecraft/server/network/NetHandlerLoginServer$2", + "start": "146" + }, + { + "access": "4028", + "inner_class": "net/minecraft/server/network/NetHandlerLoginServer$LoginState", + "inner_name": "LoginState", + "outer_class": "net/minecraft/server/network/NetHandlerLoginServer", + "start": "182" + } + ] + }, + "net/minecraft/server/network/NetHandlerLoginServer$1": { + "enclosingMethod": { + "desc": "()V", + "name": "func_147326_c", + "owner": "net/minecraft/server/network/NetHandlerLoginServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/network/NetHandlerLoginServer$1", + "start": "88" + } + ] + }, + "net/minecraft/server/network/NetHandlerLoginServer$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/network/login/client/C01PacketEncryptionResponse;)V", + "name": "func_147315_a", + "owner": "net/minecraft/server/network/NetHandlerLoginServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/server/network/NetHandlerLoginServer$2", + "start": "146" + } + ] + }, + "net/minecraft/server/network/NetHandlerLoginServer$LoginState": { + "enclosingMethod": { + "owner": "net/minecraft/server/network/NetHandlerLoginServer" + }, + "innerClasses": [ + { + "access": "4028", + "inner_class": "net/minecraft/server/network/NetHandlerLoginServer$LoginState", + "inner_name": "LoginState", + "outer_class": "net/minecraft/server/network/NetHandlerLoginServer", + "start": "182" + } + ] + }, + "net/minecraft/stats/StatBase": { + "innerClasses": [ + { + "inner_class": "net/minecraft/stats/StatBase$1", + "start": "62" + }, + { + "inner_class": "net/minecraft/stats/StatBase$2", + "start": "70" + }, + { + "inner_class": "net/minecraft/stats/StatBase$3", + "start": "92" + }, + { + "inner_class": "net/minecraft/stats/StatBase$4", + "start": "108" + } + ] + }, + "net/minecraft/stats/StatBase$1": { + "enclosingMethod": { + "owner": "net/minecraft/stats/StatBase" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/stats/StatBase$1", + "start": "62" + } + ] + }, + "net/minecraft/stats/StatBase$2": { + "enclosingMethod": { + "owner": "net/minecraft/stats/StatBase" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/stats/StatBase$2", + "start": "70" + } + ] + }, + "net/minecraft/stats/StatBase$3": { + "enclosingMethod": { + "owner": "net/minecraft/stats/StatBase" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/stats/StatBase$3", + "start": "92" + } + ] + }, + "net/minecraft/stats/StatBase$4": { + "enclosingMethod": { + "owner": "net/minecraft/stats/StatBase" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/stats/StatBase$4", + "start": "108" + } + ] + }, + "net/minecraft/tileentity/MobSpawnerBaseLogic": { + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart", + "inner_name": "WeightedRandomMinecart", + "outer_class": "net/minecraft/tileentity/MobSpawnerBaseLogic", + "start": "296" + } + ] + }, + "net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart": { + "enclosingMethod": { + "owner": "net/minecraft/tileentity/MobSpawnerBaseLogic" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart", + "inner_name": "WeightedRandomMinecart", + "outer_class": "net/minecraft/tileentity/MobSpawnerBaseLogic", + "start": "296" + } + ] + }, + "net/minecraft/tileentity/TileEntity": { + "innerClasses": [ + { + "inner_class": "net/minecraft/tileentity/TileEntity$1", + "start": "183" + }, + { + "inner_class": "net/minecraft/tileentity/TileEntity$2", + "start": "196" + }, + { + "inner_class": "net/minecraft/tileentity/TileEntity$3", + "start": "208" + } + ] + }, + "net/minecraft/tileentity/TileEntity$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_145828_a", + "owner": "net/minecraft/tileentity/TileEntity" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/tileentity/TileEntity$1", + "start": "183" + } + ] + }, + "net/minecraft/tileentity/TileEntity$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_145828_a", + "owner": "net/minecraft/tileentity/TileEntity" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/tileentity/TileEntity$2", + "start": "196" + } + ] + }, + "net/minecraft/tileentity/TileEntity$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_145828_a", + "owner": "net/minecraft/tileentity/TileEntity" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/tileentity/TileEntity$3", + "start": "208" + } + ] + }, + "net/minecraft/tileentity/TileEntityBanner": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern", + "inner_name": "EnumBannerPattern", + "outer_class": "net/minecraft/tileentity/TileEntityBanner", + "start": "27" + } + ] + }, + "net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern": { + "enclosingMethod": { + "owner": "net/minecraft/tileentity/TileEntityBanner" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern", + "inner_name": "EnumBannerPattern", + "outer_class": "net/minecraft/tileentity/TileEntityBanner", + "start": "27" + } + ] + }, + "net/minecraft/tileentity/TileEntityBeacon": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/tileentity/TileEntityBeacon$BeamSegment", + "inner_name": "BeamSegment", + "outer_class": "net/minecraft/tileentity/TileEntityBeacon", + "start": "453" + } + ] + }, + "net/minecraft/tileentity/TileEntityBeacon$BeamSegment": { + "enclosingMethod": { + "owner": "net/minecraft/tileentity/TileEntityBeacon" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/tileentity/TileEntityBeacon$BeamSegment", + "inner_name": "BeamSegment", + "outer_class": "net/minecraft/tileentity/TileEntityBeacon", + "start": "453" + } + ] + }, + "net/minecraft/tileentity/TileEntityChest": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/tileentity/TileEntityChest$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/tileentity/TileEntityChest" + } + ] + }, + "net/minecraft/tileentity/TileEntityChest$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/tileentity/TileEntityChest" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/tileentity/TileEntityChest$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/tileentity/TileEntityChest" + } + ] + }, + "net/minecraft/tileentity/TileEntityCommandBlock": { + "innerClasses": [ + { + "inner_class": "net/minecraft/tileentity/TileEntityCommandBlock$1", + "start": "18" + } + ] + }, + "net/minecraft/tileentity/TileEntityCommandBlock$1": { + "enclosingMethod": { + "owner": "net/minecraft/tileentity/TileEntityCommandBlock" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/tileentity/TileEntityCommandBlock$1", + "start": "18" + } + ] + }, + "net/minecraft/tileentity/TileEntityMobSpawner": { + "innerClasses": [ + { + "inner_class": "net/minecraft/tileentity/TileEntityMobSpawner$1", + "start": "16" + } + ] + }, + "net/minecraft/tileentity/TileEntityMobSpawner$1": { + "enclosingMethod": { + "owner": "net/minecraft/tileentity/TileEntityMobSpawner" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/tileentity/TileEntityMobSpawner$1", + "start": "16" + } + ] + }, + "net/minecraft/tileentity/TileEntityPiston": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/tileentity/TileEntityPiston$SwitchAxis", + "inner_name": "SwitchAxis", + "outer_class": "net/minecraft/tileentity/TileEntityPiston" + } + ] + }, + "net/minecraft/tileentity/TileEntityPiston$SwitchAxis": { + "enclosingMethod": { + "owner": "net/minecraft/tileentity/TileEntityPiston" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/tileentity/TileEntityPiston$SwitchAxis", + "inner_name": "SwitchAxis", + "outer_class": "net/minecraft/tileentity/TileEntityPiston" + } + ] + }, + "net/minecraft/tileentity/TileEntitySign": { + "innerClasses": [ + { + "inner_class": "net/minecraft/tileentity/TileEntitySign$1", + "start": "45" + }, + { + "inner_class": "net/minecraft/tileentity/TileEntitySign$2", + "start": "138" + } + ] + }, + "net/minecraft/tileentity/TileEntitySign$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/nbt/NBTTagCompound;)V", + "name": "func_145839_a", + "owner": "net/minecraft/tileentity/TileEntitySign" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/tileentity/TileEntitySign$1", + "start": "45" + } + ] + }, + "net/minecraft/tileentity/TileEntitySign$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/entity/player/EntityPlayer;)Z", + "name": "func_174882_b", + "owner": "net/minecraft/tileentity/TileEntitySign" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/tileentity/TileEntitySign$2", + "start": "138" + } + ] + }, + "net/minecraft/util/BlockPos": { + "innerClasses": [ + { + "inner_class": "net/minecraft/util/BlockPos$1", + "start": "173" + }, + { + "access": "39", + "inner_class": "net/minecraft/util/BlockPos$MutableBlockPos", + "inner_name": "MutableBlockPos", + "outer_class": "net/minecraft/util/BlockPos", + "start": "209" + }, + { + "inner_class": "net/minecraft/util/BlockPos$2", + "start": "244" + } + ] + }, + "net/minecraft/util/BlockPos$1": { + "enclosingMethod": { + "owner": "net/minecraft/util/BlockPos" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/util/BlockPos$1", + "start": "173" + }, + { + "inner_class": "net/minecraft/util/BlockPos$1$1", + "start": "173" + } + ] + }, + "net/minecraft/util/BlockPos$1$1": { + "enclosingMethod": { + "owner": "net/minecraft/util/BlockPos$1" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/util/BlockPos$1$1", + "start": "173" + } + ] + }, + "net/minecraft/util/BlockPos$2": { + "enclosingMethod": { + "owner": "net/minecraft/util/BlockPos" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/util/BlockPos$2", + "start": "244" + }, + { + "inner_class": "net/minecraft/util/BlockPos$2$1", + "start": "244" + } + ] + }, + "net/minecraft/util/BlockPos$2$1": { + "enclosingMethod": { + "owner": "net/minecraft/util/BlockPos$2" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/util/BlockPos$2$1", + "start": "244" + } + ] + }, + "net/minecraft/util/BlockPos$MutableBlockPos": { + "enclosingMethod": { + "owner": "net/minecraft/util/BlockPos" + }, + "innerClasses": [ + { + "access": "39", + "inner_class": "net/minecraft/util/BlockPos$MutableBlockPos", + "inner_name": "MutableBlockPos", + "outer_class": "net/minecraft/util/BlockPos", + "start": "209" + } + ] + }, + "net/minecraft/util/Cartesian": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/util/Cartesian$GetList", + "inner_name": "GetList", + "outer_class": "net/minecraft/util/Cartesian", + "start": "46" + }, + { + "access": "28", + "inner_class": "net/minecraft/util/Cartesian$Product", + "inner_name": "Product", + "outer_class": "net/minecraft/util/Cartesian", + "start": "65" + }, + { + "access": "1000", + "inner_class": "net/minecraft/util/Cartesian$1" + } + ] + }, + "net/minecraft/util/Cartesian$1": { + "enclosingMethod": { + "owner": "net/minecraft/util/Cartesian" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/util/Cartesian$1" + } + ] + }, + "net/minecraft/util/Cartesian$GetList": { + "enclosingMethod": { + "owner": "net/minecraft/util/Cartesian" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/util/Cartesian$GetList", + "inner_name": "GetList", + "outer_class": "net/minecraft/util/Cartesian", + "start": "46" + } + ] + }, + "net/minecraft/util/Cartesian$Product": { + "enclosingMethod": { + "owner": "net/minecraft/util/Cartesian" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/util/Cartesian$Product", + "inner_name": "Product", + "outer_class": "net/minecraft/util/Cartesian", + "start": "65" + }, + { + "access": "28", + "inner_class": "net/minecraft/util/Cartesian$Product$ProductIterator", + "inner_name": "ProductIterator", + "outer_class": "net/minecraft/util/Cartesian$Product", + "start": "72" + } + ] + }, + "net/minecraft/util/Cartesian$Product$ProductIterator": { + "enclosingMethod": { + "owner": "net/minecraft/util/Cartesian$Product" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/util/Cartesian$Product$ProductIterator", + "inner_name": "ProductIterator", + "outer_class": "net/minecraft/util/Cartesian$Product", + "start": "72" + } + ] + }, + "net/minecraft/util/ChatComponentStyle": { + "innerClasses": [ + { + "inner_class": "net/minecraft/util/ChatComponentStyle$1", + "start": "84" + }, + { + "inner_class": "net/minecraft/util/ChatComponentStyle$2", + "start": "90" + } + ] + }, + "net/minecraft/util/ChatComponentStyle$1": { + "enclosingMethod": { + "desc": "(Ljava/lang/Iterable;)Ljava/util/Iterator;", + "name": "func_150262_a", + "owner": "net/minecraft/util/ChatComponentStyle" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/util/ChatComponentStyle$1", + "start": "84" + } + ] + }, + "net/minecraft/util/ChatComponentStyle$2": { + "enclosingMethod": { + "desc": "(Ljava/lang/Iterable;)Ljava/util/Iterator;", + "name": "func_150262_a", + "owner": "net/minecraft/util/ChatComponentStyle" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/util/ChatComponentStyle$2", + "start": "90" + } + ] + }, + "net/minecraft/util/ChatStyle": { + "innerClasses": [ + { + "inner_class": "net/minecraft/util/ChatStyle$1", + "start": "218" + }, + { + "access": "29", + "inner_class": "net/minecraft/util/ChatStyle$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/util/ChatStyle", + "start": "274" + } + ] + }, + "net/minecraft/util/ChatStyle$1": { + "enclosingMethod": { + "owner": "net/minecraft/util/ChatStyle" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/util/ChatStyle$1", + "start": "218" + } + ] + }, + "net/minecraft/util/ChatStyle$Serializer": { + "enclosingMethod": { + "owner": "net/minecraft/util/ChatStyle" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/util/ChatStyle$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/util/ChatStyle", + "start": "274" + } + ] + }, + "net/minecraft/util/ClassInheritanceMultiMap": { + "innerClasses": [ + { + "inner_class": "net/minecraft/util/ClassInheritanceMultiMap$1", + "start": "74" + }, + { + "inner_class": "net/minecraft/util/ClassInheritanceMultiMap$2", + "start": "87" + } + ] + }, + "net/minecraft/util/ClassInheritanceMultiMap$1": { + "enclosingMethod": { + "owner": "net/minecraft/util/ClassInheritanceMultiMap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/util/ClassInheritanceMultiMap$1", + "start": "74" + } + ] + }, + "net/minecraft/util/ClassInheritanceMultiMap$2": { + "enclosingMethod": { + "owner": "net/minecraft/util/ClassInheritanceMultiMap" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/util/ClassInheritanceMultiMap$2", + "start": "87" + } + ] + }, + "net/minecraft/util/EnumFacing": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/util/EnumFacing$Axis", + "inner_name": "Axis", + "outer_class": "net/minecraft/util/EnumFacing", + "start": "306" + }, + { + "access": "4029", + "inner_class": "net/minecraft/util/EnumFacing$AxisDirection", + "inner_name": "AxisDirection", + "outer_class": "net/minecraft/util/EnumFacing", + "start": "368" + }, + { + "access": "4029", + "inner_class": "net/minecraft/util/EnumFacing$Plane", + "inner_name": "Plane", + "outer_class": "net/minecraft/util/EnumFacing", + "start": "399" + }, + { + "access": "1018", + "inner_class": "net/minecraft/util/EnumFacing$SwitchPlane", + "inner_name": "SwitchPlane", + "outer_class": "net/minecraft/util/EnumFacing" + } + ] + }, + "net/minecraft/util/EnumFacing$Axis": { + "enclosingMethod": { + "owner": "net/minecraft/util/EnumFacing" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/util/EnumFacing$Axis", + "inner_name": "Axis", + "outer_class": "net/minecraft/util/EnumFacing", + "start": "306" + } + ] + }, + "net/minecraft/util/EnumFacing$AxisDirection": { + "enclosingMethod": { + "owner": "net/minecraft/util/EnumFacing" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/util/EnumFacing$AxisDirection", + "inner_name": "AxisDirection", + "outer_class": "net/minecraft/util/EnumFacing", + "start": "368" + } + ] + }, + "net/minecraft/util/EnumFacing$Plane": { + "enclosingMethod": { + "owner": "net/minecraft/util/EnumFacing" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/util/EnumFacing$Plane", + "inner_name": "Plane", + "outer_class": "net/minecraft/util/EnumFacing", + "start": "399" + } + ] + }, + "net/minecraft/util/EnumFacing$SwitchPlane": { + "enclosingMethod": { + "owner": "net/minecraft/util/EnumFacing" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/util/EnumFacing$SwitchPlane", + "inner_name": "SwitchPlane", + "outer_class": "net/minecraft/util/EnumFacing" + } + ] + }, + "net/minecraft/util/EnumTypeAdapterFactory": { + "innerClasses": [ + { + "inner_class": "net/minecraft/util/EnumTypeAdapterFactory$1", + "start": "36" + } + ] + }, + "net/minecraft/util/EnumTypeAdapterFactory$1": { + "enclosingMethod": { + "owner": "net/minecraft/util/EnumTypeAdapterFactory" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/util/EnumTypeAdapterFactory$1", + "start": "36" + } + ] + }, + "net/minecraft/util/HttpUtil": { + "innerClasses": [ + { + "inner_class": "net/minecraft/util/HttpUtil$1", + "start": "110" + } + ] + }, + "net/minecraft/util/HttpUtil$1": { + "enclosingMethod": { + "desc": "(Ljava/io/File;Ljava/lang/String;Ljava/util/Map;ILnet/minecraft/util/IProgressUpdate;Ljava/net/Proxy;)Lcom/google/common/util/concurrent/ListenableFuture;", + "name": "func_180192_a", + "owner": "net/minecraft/util/HttpUtil" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/util/HttpUtil$1", + "start": "110" + } + ] + }, + "net/minecraft/util/IChatComponent": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/util/IChatComponent$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/util/IChatComponent", + "start": "30" + } + ] + }, + "net/minecraft/util/IChatComponent$Serializer": { + "enclosingMethod": { + "owner": "net/minecraft/util/IChatComponent" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/util/IChatComponent$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/util/IChatComponent", + "start": "30" + } + ] + }, + "net/minecraft/util/IntHashMap": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/util/IntHashMap$Entry", + "inner_name": "Entry", + "outer_class": "net/minecraft/util/IntHashMap", + "start": "198" + } + ] + }, + "net/minecraft/util/IntHashMap$Entry": { + "enclosingMethod": { + "owner": "net/minecraft/util/IntHashMap" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/util/IntHashMap$Entry", + "inner_name": "Entry", + "outer_class": "net/minecraft/util/IntHashMap", + "start": "198" + } + ] + }, + "net/minecraft/util/LongHashMap": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/util/LongHashMap$Entry", + "inner_name": "Entry", + "outer_class": "net/minecraft/util/LongHashMap", + "start": "211" + } + ] + }, + "net/minecraft/util/LongHashMap$Entry": { + "enclosingMethod": { + "owner": "net/minecraft/util/LongHashMap" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/util/LongHashMap$Entry", + "inner_name": "Entry", + "outer_class": "net/minecraft/util/LongHashMap", + "start": "211" + } + ] + }, + "net/minecraft/util/MovingObjectPosition": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/util/MovingObjectPosition$MovingObjectType", + "inner_name": "MovingObjectType", + "outer_class": "net/minecraft/util/MovingObjectPosition", + "start": "8" + } + ] + }, + "net/minecraft/util/MovingObjectPosition$MovingObjectType": { + "enclosingMethod": { + "owner": "net/minecraft/util/MovingObjectPosition" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/util/MovingObjectPosition$MovingObjectType", + "inner_name": "MovingObjectType", + "outer_class": "net/minecraft/util/MovingObjectPosition", + "start": "8" + } + ] + }, + "net/minecraft/util/Session": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/util/Session$Type", + "inner_name": "Type", + "outer_class": "net/minecraft/util/Session", + "start": "53" + } + ] + }, + "net/minecraft/util/Session$Type": { + "enclosingMethod": { + "owner": "net/minecraft/util/Session" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/util/Session$Type", + "inner_name": "Type", + "outer_class": "net/minecraft/util/Session", + "start": "53" + } + ] + }, + "net/minecraft/util/Util": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/util/Util$EnumOS", + "inner_name": "EnumOS", + "outer_class": "net/minecraft/util/Util", + "start": "4" + } + ] + }, + "net/minecraft/util/Util$EnumOS": { + "enclosingMethod": { + "owner": "net/minecraft/util/Util" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/util/Util$EnumOS", + "inner_name": "EnumOS", + "outer_class": "net/minecraft/util/Util", + "start": "4" + } + ] + }, + "net/minecraft/util/WeightedRandom": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/util/WeightedRandom$Item", + "inner_name": "Item", + "outer_class": "net/minecraft/util/WeightedRandom" + } + ] + }, + "net/minecraft/util/WeightedRandom$Item": { + "enclosingMethod": { + "owner": "net/minecraft/util/WeightedRandom" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/util/WeightedRandom$Item", + "inner_name": "Item", + "outer_class": "net/minecraft/util/WeightedRandom" + } + ] + }, + "net/minecraft/village/Village": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/village/Village$VillageAggressor", + "inner_name": "VillageAggressor", + "outer_class": "net/minecraft/village/Village" + } + ] + }, + "net/minecraft/village/Village$VillageAggressor": { + "enclosingMethod": { + "owner": "net/minecraft/village/Village" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/village/Village$VillageAggressor", + "inner_name": "VillageAggressor", + "outer_class": "net/minecraft/village/Village" + } + ] + }, + "net/minecraft/world/GameRules": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/GameRules$Value", + "inner_name": "Value", + "outer_class": "net/minecraft/world/GameRules", + "start": "139" + }, + { + "access": "4029", + "inner_class": "net/minecraft/world/GameRules$ValueType", + "inner_name": "ValueType", + "outer_class": "net/minecraft/world/GameRules", + "start": "173" + } + ] + }, + "net/minecraft/world/GameRules$Value": { + "enclosingMethod": { + "owner": "net/minecraft/world/GameRules" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/GameRules$Value", + "inner_name": "Value", + "outer_class": "net/minecraft/world/GameRules", + "start": "139" + } + ] + }, + "net/minecraft/world/GameRules$ValueType": { + "enclosingMethod": { + "owner": "net/minecraft/world/GameRules" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/world/GameRules$ValueType", + "inner_name": "ValueType", + "outer_class": "net/minecraft/world/GameRules", + "start": "173" + } + ] + }, + "net/minecraft/world/Teleporter": { + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/world/Teleporter$PortalPosition", + "inner_name": "PortalPosition", + "outer_class": "net/minecraft/world/Teleporter" + } + ] + }, + "net/minecraft/world/Teleporter$PortalPosition": { + "enclosingMethod": { + "owner": "net/minecraft/world/Teleporter" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/world/Teleporter$PortalPosition", + "inner_name": "PortalPosition", + "outer_class": "net/minecraft/world/Teleporter" + } + ] + }, + "net/minecraft/world/World": { + "innerClasses": [ + { + "inner_class": "net/minecraft/world/World$1", + "start": "166" + }, + { + "inner_class": "net/minecraft/world/World$2", + "start": "432" + }, + { + "inner_class": "net/minecraft/world/World$3", + "start": "2778" + }, + { + "inner_class": "net/minecraft/world/World$4", + "start": "2785" + } + ] + }, + "net/minecraft/world/World$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/biome/BiomeGenBase;", + "name": "func_180494_b", + "owner": "net/minecraft/world/World" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/World$1", + "start": "166" + } + ] + }, + "net/minecraft/world/World$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V", + "name": "func_180496_d", + "owner": "net/minecraft/world/World" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/World$2", + "start": "432" + } + ] + }, + "net/minecraft/world/World$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReportCategory;", + "name": "func_72914_a", + "owner": "net/minecraft/world/World" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/World$3", + "start": "2778" + } + ] + }, + "net/minecraft/world/World$4": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReportCategory;", + "name": "func_72914_a", + "owner": "net/minecraft/world/World" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/World$4", + "start": "2785" + } + ] + }, + "net/minecraft/world/WorldProviderHell": { + "innerClasses": [ + { + "inner_class": "net/minecraft/world/WorldProviderHell$1", + "start": "79" + } + ] + }, + "net/minecraft/world/WorldProviderHell$1": { + "enclosingMethod": { + "owner": "net/minecraft/world/WorldProviderHell" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/WorldProviderHell$1", + "start": "79" + } + ] + }, + "net/minecraft/world/WorldServer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/world/WorldServer$1", + "start": "398" + }, + { + "access": "28", + "inner_class": "net/minecraft/world/WorldServer$ServerBlockEventList", + "inner_name": "ServerBlockEventList", + "outer_class": "net/minecraft/world/WorldServer" + } + ] + }, + "net/minecraft/world/WorldServer$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos;", + "name": "func_175736_a", + "owner": "net/minecraft/world/WorldServer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/WorldServer$1", + "start": "398" + } + ] + }, + "net/minecraft/world/WorldServer$ServerBlockEventList": { + "enclosingMethod": { + "owner": "net/minecraft/world/WorldServer" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/WorldServer$ServerBlockEventList", + "inner_name": "ServerBlockEventList", + "outer_class": "net/minecraft/world/WorldServer" + } + ] + }, + "net/minecraft/world/WorldServerMulti": { + "innerClasses": [ + { + "inner_class": "net/minecraft/world/WorldServerMulti$1", + "start": "22" + } + ] + }, + "net/minecraft/world/WorldServerMulti$1": { + "enclosingMethod": { + "owner": "net/minecraft/world/WorldServerMulti" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/WorldServerMulti$1", + "start": "22" + } + ] + }, + "net/minecraft/world/WorldSettings": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/world/WorldSettings$GameType", + "inner_name": "GameType", + "outer_class": "net/minecraft/world/WorldSettings", + "start": "7" + } + ] + }, + "net/minecraft/world/WorldSettings$GameType": { + "enclosingMethod": { + "owner": "net/minecraft/world/WorldSettings" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/world/WorldSettings$GameType", + "inner_name": "GameType", + "outer_class": "net/minecraft/world/WorldSettings", + "start": "7" + } + ] + }, + "net/minecraft/world/biome/BiomeCache": { + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/world/biome/BiomeCache$Block", + "inner_name": "Block", + "outer_class": "net/minecraft/world/biome/BiomeCache", + "start": "32" + } + ] + }, + "net/minecraft/world/biome/BiomeCache$Block": { + "enclosingMethod": { + "owner": "net/minecraft/world/biome/BiomeCache" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/world/biome/BiomeCache$Block", + "inner_name": "Block", + "outer_class": "net/minecraft/world/biome/BiomeCache", + "start": "32" + } + ] + }, + "net/minecraft/world/biome/BiomeColorHelper": { + "innerClasses": [ + { + "inner_class": "net/minecraft/world/biome/BiomeColorHelper$1", + "start": "14" + }, + { + "inner_class": "net/minecraft/world/biome/BiomeColorHelper$2", + "start": "20" + }, + { + "inner_class": "net/minecraft/world/biome/BiomeColorHelper$3", + "start": "26" + }, + { + "access": "608", + "inner_class": "net/minecraft/world/biome/BiomeColorHelper$ColorResolver", + "inner_name": "ColorResolver", + "outer_class": "net/minecraft/world/biome/BiomeColorHelper" + } + ] + }, + "net/minecraft/world/biome/BiomeColorHelper$1": { + "enclosingMethod": { + "owner": "net/minecraft/world/biome/BiomeColorHelper" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/biome/BiomeColorHelper$1", + "start": "14" + } + ] + }, + "net/minecraft/world/biome/BiomeColorHelper$2": { + "enclosingMethod": { + "owner": "net/minecraft/world/biome/BiomeColorHelper" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/biome/BiomeColorHelper$2", + "start": "20" + } + ] + }, + "net/minecraft/world/biome/BiomeColorHelper$3": { + "enclosingMethod": { + "owner": "net/minecraft/world/biome/BiomeColorHelper" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/biome/BiomeColorHelper$3", + "start": "26" + } + ] + }, + "net/minecraft/world/biome/BiomeColorHelper$ColorResolver": { + "enclosingMethod": { + "owner": "net/minecraft/world/biome/BiomeColorHelper" + }, + "innerClasses": [ + { + "access": "608", + "inner_class": "net/minecraft/world/biome/BiomeColorHelper$ColorResolver", + "inner_name": "ColorResolver", + "outer_class": "net/minecraft/world/biome/BiomeColorHelper" + } + ] + }, + "net/minecraft/world/biome/BiomeGenBase": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/world/biome/BiomeGenBase$TempCategory", + "inner_name": "TempCategory", + "outer_class": "net/minecraft/world/biome/BiomeGenBase", + "start": "36" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/biome/BiomeGenBase$Height", + "inner_name": "Height", + "outer_class": "net/minecraft/world/biome/BiomeGenBase", + "start": "55" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/biome/BiomeGenBase$SpawnListEntry", + "inner_name": "SpawnListEntry", + "outer_class": "net/minecraft/world/biome/BiomeGenBase", + "start": "349" + }, + { + "access": "1018", + "inner_class": "net/minecraft/world/biome/BiomeGenBase$SwitchEnumCreatureType", + "inner_name": "SwitchEnumCreatureType", + "outer_class": "net/minecraft/world/biome/BiomeGenBase" + } + ] + }, + "net/minecraft/world/biome/BiomeGenBase$Height": { + "enclosingMethod": { + "owner": "net/minecraft/world/biome/BiomeGenBase" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/biome/BiomeGenBase$Height", + "inner_name": "Height", + "outer_class": "net/minecraft/world/biome/BiomeGenBase", + "start": "55" + } + ] + }, + "net/minecraft/world/biome/BiomeGenBase$SpawnListEntry": { + "enclosingMethod": { + "owner": "net/minecraft/world/biome/BiomeGenBase" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/biome/BiomeGenBase$SpawnListEntry", + "inner_name": "SpawnListEntry", + "outer_class": "net/minecraft/world/biome/BiomeGenBase", + "start": "349" + } + ] + }, + "net/minecraft/world/biome/BiomeGenBase$SwitchEnumCreatureType": { + "enclosingMethod": { + "owner": "net/minecraft/world/biome/BiomeGenBase" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/world/biome/BiomeGenBase$SwitchEnumCreatureType", + "inner_name": "SwitchEnumCreatureType", + "outer_class": "net/minecraft/world/biome/BiomeGenBase" + } + ] + }, + "net/minecraft/world/biome/BiomeGenBase$TempCategory": { + "enclosingMethod": { + "owner": "net/minecraft/world/biome/BiomeGenBase" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/world/biome/BiomeGenBase$TempCategory", + "inner_name": "TempCategory", + "outer_class": "net/minecraft/world/biome/BiomeGenBase", + "start": "36" + } + ] + }, + "net/minecraft/world/biome/BiomeGenForest": { + "innerClasses": [ + { + "inner_class": "net/minecraft/world/biome/BiomeGenForest$1", + "start": "171" + }, + { + "inner_class": "net/minecraft/world/biome/BiomeGenForest$2", + "start": "181" + } + ] + }, + "net/minecraft/world/biome/BiomeGenForest$1": { + "enclosingMethod": { + "desc": "(I)Lnet/minecraft/world/biome/BiomeGenBase;", + "name": "func_180277_d", + "owner": "net/minecraft/world/biome/BiomeGenForest" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/biome/BiomeGenForest$1", + "start": "171" + } + ] + }, + "net/minecraft/world/biome/BiomeGenForest$2": { + "enclosingMethod": { + "owner": "net/minecraft/world/biome/BiomeGenForest" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/biome/BiomeGenForest$2", + "start": "181" + } + ] + }, + "net/minecraft/world/biome/BiomeGenSavanna": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/biome/BiomeGenSavanna$Mutated", + "inner_name": "Mutated", + "outer_class": "net/minecraft/world/biome/BiomeGenSavanna", + "start": "70" + } + ] + }, + "net/minecraft/world/biome/BiomeGenSavanna$Mutated": { + "enclosingMethod": { + "owner": "net/minecraft/world/biome/BiomeGenSavanna" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/biome/BiomeGenSavanna$Mutated", + "inner_name": "Mutated", + "outer_class": "net/minecraft/world/biome/BiomeGenSavanna", + "start": "70" + } + ] + }, + "net/minecraft/world/chunk/Chunk": { + "innerClasses": [ + { + "inner_class": "net/minecraft/world/chunk/Chunk$1", + "start": "390" + }, + { + "inner_class": "net/minecraft/world/chunk/Chunk$2", + "start": "405" + }, + { + "inner_class": "net/minecraft/world/chunk/Chunk$3", + "start": "441" + }, + { + "access": "4029", + "inner_class": "net/minecraft/world/chunk/Chunk$EnumCreateEntityType", + "inner_name": "EnumCreateEntityType", + "outer_class": "net/minecraft/world/chunk/Chunk", + "start": "1249" + } + ] + }, + "net/minecraft/world/chunk/Chunk$1": { + "enclosingMethod": { + "desc": "(III)Lnet/minecraft/block/Block;", + "name": "func_177438_a", + "owner": "net/minecraft/world/chunk/Chunk" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/chunk/Chunk$1", + "start": "390" + } + ] + }, + "net/minecraft/world/chunk/Chunk$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/Block;", + "name": "func_177428_a", + "owner": "net/minecraft/world/chunk/Chunk" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/chunk/Chunk$2", + "start": "405" + } + ] + }, + "net/minecraft/world/chunk/Chunk$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState;", + "name": "func_177435_g", + "owner": "net/minecraft/world/chunk/Chunk" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/chunk/Chunk$3", + "start": "441" + } + ] + }, + "net/minecraft/world/chunk/Chunk$EnumCreateEntityType": { + "enclosingMethod": { + "owner": "net/minecraft/world/chunk/Chunk" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/world/chunk/Chunk$EnumCreateEntityType", + "inner_name": "EnumCreateEntityType", + "outer_class": "net/minecraft/world/chunk/Chunk", + "start": "1249" + } + ] + }, + "net/minecraft/world/chunk/storage/AnvilChunkLoader": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/chunk/storage/AnvilChunkLoader$PendingChunk", + "inner_name": "PendingChunk", + "outer_class": "net/minecraft/world/chunk/storage/AnvilChunkLoader" + } + ] + }, + "net/minecraft/world/chunk/storage/AnvilChunkLoader$PendingChunk": { + "enclosingMethod": { + "owner": "net/minecraft/world/chunk/storage/AnvilChunkLoader" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/chunk/storage/AnvilChunkLoader$PendingChunk", + "inner_name": "PendingChunk", + "outer_class": "net/minecraft/world/chunk/storage/AnvilChunkLoader" + } + ] + }, + "net/minecraft/world/chunk/storage/AnvilSaveConverter": { + "innerClasses": [ + { + "inner_class": "net/minecraft/world/chunk/storage/AnvilSaveConverter$1", + "start": "236" + } + ] + }, + "net/minecraft/world/chunk/storage/AnvilSaveConverter$1": { + "enclosingMethod": { + "owner": "net/minecraft/world/chunk/storage/AnvilSaveConverter" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/chunk/storage/AnvilSaveConverter$1", + "start": "236" + } + ] + }, + "net/minecraft/world/chunk/storage/ChunkLoader": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData", + "inner_name": "AnvilConverterData", + "outer_class": "net/minecraft/world/chunk/storage/ChunkLoader" + } + ] + }, + "net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData": { + "enclosingMethod": { + "owner": "net/minecraft/world/chunk/storage/ChunkLoader" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData", + "inner_name": "AnvilConverterData", + "outer_class": "net/minecraft/world/chunk/storage/ChunkLoader" + } + ] + }, + "net/minecraft/world/chunk/storage/RegionFile": { + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/world/chunk/storage/RegionFile$ChunkBuffer", + "inner_name": "ChunkBuffer", + "outer_class": "net/minecraft/world/chunk/storage/RegionFile", + "start": "236" + } + ] + }, + "net/minecraft/world/chunk/storage/RegionFile$ChunkBuffer": { + "enclosingMethod": { + "owner": "net/minecraft/world/chunk/storage/RegionFile" + }, + "innerClasses": [ + { + "access": "20", + "inner_class": "net/minecraft/world/chunk/storage/RegionFile$ChunkBuffer", + "inner_name": "ChunkBuffer", + "outer_class": "net/minecraft/world/chunk/storage/RegionFile", + "start": "236" + } + ] + }, + "net/minecraft/world/gen/ChunkProviderSettings": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/ChunkProviderSettings$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/world/gen/ChunkProviderSettings", + "start": "220" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/ChunkProviderSettings$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/world/gen/ChunkProviderSettings", + "start": "746" + }, + { + "access": "1000", + "inner_class": "net/minecraft/world/gen/ChunkProviderSettings$1" + } + ] + }, + "net/minecraft/world/gen/ChunkProviderSettings$1": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/ChunkProviderSettings" + }, + "innerClasses": [ + { + "access": "1000", + "inner_class": "net/minecraft/world/gen/ChunkProviderSettings$1" + } + ] + }, + "net/minecraft/world/gen/ChunkProviderSettings$Factory": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/ChunkProviderSettings" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/ChunkProviderSettings$Factory", + "inner_name": "Factory", + "outer_class": "net/minecraft/world/gen/ChunkProviderSettings", + "start": "220" + } + ] + }, + "net/minecraft/world/gen/ChunkProviderSettings$Serializer": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/ChunkProviderSettings" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/ChunkProviderSettings$Serializer", + "inner_name": "Serializer", + "outer_class": "net/minecraft/world/gen/ChunkProviderSettings", + "start": "746" + } + ] + }, + "net/minecraft/world/gen/feature/WorldGenBigTree": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/feature/WorldGenBigTree$FoliageCoordinates", + "inner_name": "FoliageCoordinates", + "outer_class": "net/minecraft/world/gen/feature/WorldGenBigTree", + "start": "25" + } + ] + }, + "net/minecraft/world/gen/feature/WorldGenBigTree$FoliageCoordinates": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/feature/WorldGenBigTree" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/feature/WorldGenBigTree$FoliageCoordinates", + "inner_name": "FoliageCoordinates", + "outer_class": "net/minecraft/world/gen/feature/WorldGenBigTree", + "start": "25" + } + ] + }, + "net/minecraft/world/gen/layer/GenLayer": { + "innerClasses": [ + { + "inner_class": "net/minecraft/world/gen/layer/GenLayer$1", + "start": "172" + }, + { + "inner_class": "net/minecraft/world/gen/layer/GenLayer$2", + "start": "178" + } + ] + }, + "net/minecraft/world/gen/layer/GenLayer$1": { + "enclosingMethod": { + "desc": "(II)Z", + "name": "func_151616_a", + "owner": "net/minecraft/world/gen/layer/GenLayer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/gen/layer/GenLayer$1", + "start": "172" + } + ] + }, + "net/minecraft/world/gen/layer/GenLayer$2": { + "enclosingMethod": { + "desc": "(II)Z", + "name": "func_151616_a", + "owner": "net/minecraft/world/gen/layer/GenLayer" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/gen/layer/GenLayer$2", + "start": "178" + } + ] + }, + "net/minecraft/world/gen/layer/GenLayerEdge": { + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/world/gen/layer/GenLayerEdge$Mode", + "inner_name": "Mode", + "outer_class": "net/minecraft/world/gen/layer/GenLayerEdge", + "start": "7" + }, + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/layer/GenLayerEdge$SwitchMode", + "inner_name": "SwitchMode", + "outer_class": "net/minecraft/world/gen/layer/GenLayerEdge" + } + ] + }, + "net/minecraft/world/gen/layer/GenLayerEdge$Mode": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/layer/GenLayerEdge" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/world/gen/layer/GenLayerEdge$Mode", + "inner_name": "Mode", + "outer_class": "net/minecraft/world/gen/layer/GenLayerEdge", + "start": "7" + } + ] + }, + "net/minecraft/world/gen/layer/GenLayerEdge$SwitchMode": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/layer/GenLayerEdge" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/layer/GenLayerEdge$SwitchMode", + "inner_name": "SwitchMode", + "outer_class": "net/minecraft/world/gen/layer/GenLayerEdge" + } + ] + }, + "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces": { + "innerClasses": [ + { + "access": "428", + "inner_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$Feature", + "inner_name": "Feature", + "outer_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces", + "start": "57" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$DesertPyramid", + "inner_name": "DesertPyramid", + "outer_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces", + "start": "126" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid", + "inner_name": "JunglePyramid", + "outer_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces", + "start": "386" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwampHut", + "inner_name": "SwampHut", + "outer_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces", + "start": "625" + }, + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces" + } + ] + }, + "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$DesertPyramid": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$DesertPyramid", + "inner_name": "DesertPyramid", + "outer_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces", + "start": "126" + } + ] + }, + "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$Feature": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces" + }, + "innerClasses": [ + { + "access": "428", + "inner_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$Feature", + "inner_name": "Feature", + "outer_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces", + "start": "57" + } + ] + }, + "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid", + "inner_name": "JunglePyramid", + "outer_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces", + "start": "386" + }, + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid$Stones", + "inner_name": "Stones", + "outer_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid", + "start": "601" + } + ] + }, + "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid$Stones": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid$Stones", + "inner_name": "Stones", + "outer_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid", + "start": "601" + } + ] + }, + "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwampHut": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwampHut", + "inner_name": "SwampHut", + "outer_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces", + "start": "625" + } + ] + }, + "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces" + } + ] + }, + "net/minecraft/world/gen/structure/MapGenNetherBridge": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/MapGenNetherBridge$Start", + "inner_name": "Start", + "outer_class": "net/minecraft/world/gen/structure/MapGenNetherBridge" + } + ] + }, + "net/minecraft/world/gen/structure/MapGenNetherBridge$Start": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/MapGenNetherBridge" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/MapGenNetherBridge$Start", + "inner_name": "Start", + "outer_class": "net/minecraft/world/gen/structure/MapGenNetherBridge" + } + ] + }, + "net/minecraft/world/gen/structure/MapGenScatteredFeature": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/MapGenScatteredFeature$Start", + "inner_name": "Start", + "outer_class": "net/minecraft/world/gen/structure/MapGenScatteredFeature" + } + ] + }, + "net/minecraft/world/gen/structure/MapGenScatteredFeature$Start": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/MapGenScatteredFeature" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/MapGenScatteredFeature$Start", + "inner_name": "Start", + "outer_class": "net/minecraft/world/gen/structure/MapGenScatteredFeature" + } + ] + }, + "net/minecraft/world/gen/structure/MapGenStronghold": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/MapGenStronghold$Start", + "inner_name": "Start", + "outer_class": "net/minecraft/world/gen/structure/MapGenStronghold" + } + ] + }, + "net/minecraft/world/gen/structure/MapGenStronghold$Start": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/MapGenStronghold" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/MapGenStronghold$Start", + "inner_name": "Start", + "outer_class": "net/minecraft/world/gen/structure/MapGenStronghold" + } + ] + }, + "net/minecraft/world/gen/structure/MapGenStructure": { + "innerClasses": [ + { + "inner_class": "net/minecraft/world/gen/structure/MapGenStructure$1", + "start": "56" + }, + { + "inner_class": "net/minecraft/world/gen/structure/MapGenStructure$2", + "start": "65" + }, + { + "inner_class": "net/minecraft/world/gen/structure/MapGenStructure$3", + "start": "72" + } + ] + }, + "net/minecraft/world/gen/structure/MapGenStructure$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/world/World;IIIILnet/minecraft/world/chunk/ChunkPrimer;)V", + "name": "func_180701_a", + "owner": "net/minecraft/world/gen/structure/MapGenStructure" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/gen/structure/MapGenStructure$1", + "start": "56" + } + ] + }, + "net/minecraft/world/gen/structure/MapGenStructure$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/world/World;IIIILnet/minecraft/world/chunk/ChunkPrimer;)V", + "name": "func_180701_a", + "owner": "net/minecraft/world/gen/structure/MapGenStructure" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/gen/structure/MapGenStructure$2", + "start": "65" + } + ] + }, + "net/minecraft/world/gen/structure/MapGenStructure$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/world/World;IIIILnet/minecraft/world/chunk/ChunkPrimer;)V", + "name": "func_180701_a", + "owner": "net/minecraft/world/gen/structure/MapGenStructure" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/gen/structure/MapGenStructure$3", + "start": "72" + } + ] + }, + "net/minecraft/world/gen/structure/MapGenVillage": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/MapGenVillage$Start", + "inner_name": "Start", + "outer_class": "net/minecraft/world/gen/structure/MapGenVillage", + "start": "125" + } + ] + }, + "net/minecraft/world/gen/structure/MapGenVillage$Start": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/MapGenVillage" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/MapGenVillage$Start", + "inner_name": "Start", + "outer_class": "net/minecraft/world/gen/structure/MapGenVillage", + "start": "125" + } + ] + }, + "net/minecraft/world/gen/structure/StructureBoundingBox": { + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureBoundingBox$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureBoundingBox" + } + ] + }, + "net/minecraft/world/gen/structure/StructureBoundingBox$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureBoundingBox" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureBoundingBox$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureBoundingBox" + } + ] + }, + "net/minecraft/world/gen/structure/StructureComponent": { + "innerClasses": [ + { + "access": "429", + "inner_class": "net/minecraft/world/gen/structure/StructureComponent$BlockSelector", + "inner_name": "BlockSelector", + "outer_class": "net/minecraft/world/gen/structure/StructureComponent", + "start": "633" + }, + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureComponent$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureComponent" + } + ] + }, + "net/minecraft/world/gen/structure/StructureComponent$BlockSelector": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureComponent" + }, + "innerClasses": [ + { + "access": "429", + "inner_class": "net/minecraft/world/gen/structure/StructureComponent$BlockSelector", + "inner_name": "BlockSelector", + "outer_class": "net/minecraft/world/gen/structure/StructureComponent", + "start": "633" + } + ] + }, + "net/minecraft/world/gen/structure/StructureComponent$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureComponent" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureComponent$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureComponent" + } + ] + }, + "net/minecraft/world/gen/structure/StructureMineshaftPieces": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces$Room", + "inner_name": "Room", + "outer_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces", + "start": "96" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor", + "inner_name": "Corridor", + "outer_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces", + "start": "212" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces$Cross", + "inner_name": "Cross", + "outer_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces", + "start": "468" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces$Stairs", + "inner_name": "Stairs", + "outer_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces", + "start": "618" + }, + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces" + } + ] + }, + "net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureMineshaftPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor", + "inner_name": "Corridor", + "outer_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces", + "start": "212" + } + ] + }, + "net/minecraft/world/gen/structure/StructureMineshaftPieces$Cross": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureMineshaftPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces$Cross", + "inner_name": "Cross", + "outer_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces", + "start": "468" + } + ] + }, + "net/minecraft/world/gen/structure/StructureMineshaftPieces$Room": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureMineshaftPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces$Room", + "inner_name": "Room", + "outer_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces", + "start": "96" + } + ] + }, + "net/minecraft/world/gen/structure/StructureMineshaftPieces$Stairs": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureMineshaftPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces$Stairs", + "inner_name": "Stairs", + "outer_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces", + "start": "618" + } + ] + }, + "net/minecraft/world/gen/structure/StructureMineshaftPieces$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureMineshaftPieces" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureMineshaftPieces" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight", + "inner_name": "PieceWeight", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "62" + }, + { + "access": "428", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece", + "inner_name": "Piece", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "152" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Start", + "inner_name": "Start", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "338" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Straight", + "inner_name": "Straight", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "365" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$End", + "inner_name": "End", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "435" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing3", + "inner_name": "Crossing3", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "530" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing", + "inner_name": "Crossing", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "608" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Stairs", + "inner_name": "Stairs", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "679" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Throne", + "inner_name": "Throne", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "756" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Entrance", + "inner_name": "Entrance", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "847" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$NetherStalkRoom", + "inner_name": "NetherStalkRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "964" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor5", + "inner_name": "Corridor5", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "1115" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing2", + "inner_name": "Crossing2", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "1175" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor2", + "inner_name": "Corridor2", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "1239" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor", + "inner_name": "Corridor", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "1327" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor3", + "inner_name": "Corridor3", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "1411" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor4", + "inner_name": "Corridor4", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "1480" + }, + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor", + "inner_name": "Corridor", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "1327" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor2": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor2", + "inner_name": "Corridor2", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "1239" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor3": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor3", + "inner_name": "Corridor3", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "1411" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor4": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor4", + "inner_name": "Corridor4", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "1480" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor5": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor5", + "inner_name": "Corridor5", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "1115" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing", + "inner_name": "Crossing", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "608" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing2": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing2", + "inner_name": "Crossing2", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "1175" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing3": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing3", + "inner_name": "Crossing3", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "530" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$End": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$End", + "inner_name": "End", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "435" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Entrance": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Entrance", + "inner_name": "Entrance", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "847" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$NetherStalkRoom": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$NetherStalkRoom", + "inner_name": "NetherStalkRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "964" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "428", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece", + "inner_name": "Piece", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "152" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight", + "inner_name": "PieceWeight", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "62" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Stairs": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Stairs", + "inner_name": "Stairs", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "679" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Start": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Start", + "inner_name": "Start", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "338" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Straight": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Straight", + "inner_name": "Straight", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "365" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + } + ] + }, + "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Throne": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureNetherBridgePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces$Throne", + "inner_name": "Throne", + "outer_class": "net/minecraft/world/gen/structure/StructureNetherBridgePieces", + "start": "756" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonument": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument", + "inner_name": "StartMonument", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonument", + "start": "113" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonument" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument", + "inner_name": "StartMonument", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonument", + "start": "113" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces": { + "innerClasses": [ + { + "access": "429", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece", + "inner_name": "Piece", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "69" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding", + "inner_name": "MonumentBuilding", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "289" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$EntryRoom", + "inner_name": "EntryRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "857" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleRoom", + "inner_name": "SimpleRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "899" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleTopRoom", + "inner_name": "SimpleTopRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1068" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYRoom", + "inner_name": "DoubleYRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1126" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXRoom", + "inner_name": "DoubleXRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1207" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleZRoom", + "inner_name": "DoubleZRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1277" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXYRoom", + "inner_name": "DoubleXYRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1369" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYZRoom", + "inner_name": "DoubleYZRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1480" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentCoreRoom", + "inner_name": "MonumentCoreRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1583" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$WingRoom", + "inner_name": "WingRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1679" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Penthouse", + "inner_name": "Penthouse", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1788" + }, + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition", + "inner_name": "RoomDefinition", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1850" + }, + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomHelper", + "inner_name": "FitSimpleRoomHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1899" + }, + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomTopHelper", + "inner_name": "FitSimpleRoomTopHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1912" + }, + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YDoubleRoomFitHelper", + "inner_name": "YDoubleRoomFitHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1925" + }, + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XDoubleRoomFitHelper", + "inner_name": "XDoubleRoomFitHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1943" + }, + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$ZDoubleRoomFitHelper", + "inner_name": "ZDoubleRoomFitHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1961" + }, + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XYDoubleRoomFitHelper", + "inner_name": "XYDoubleRoomFitHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1982" + }, + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YZDoubleRoomFitHelper", + "inner_name": "YZDoubleRoomFitHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "2005" + }, + { + "access": "608", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentRoomFitHelper", + "inner_name": "MonumentRoomFitHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXRoom": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXRoom", + "inner_name": "DoubleXRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1207" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXYRoom": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXYRoom", + "inner_name": "DoubleXYRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1369" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYRoom": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYRoom", + "inner_name": "DoubleYRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1126" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYZRoom": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYZRoom", + "inner_name": "DoubleYZRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1480" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleZRoom": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleZRoom", + "inner_name": "DoubleZRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1277" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$EntryRoom": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$EntryRoom", + "inner_name": "EntryRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "857" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomHelper": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomHelper", + "inner_name": "FitSimpleRoomHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1899" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomTopHelper": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomTopHelper", + "inner_name": "FitSimpleRoomTopHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1912" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding", + "inner_name": "MonumentBuilding", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "289" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentCoreRoom": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentCoreRoom", + "inner_name": "MonumentCoreRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1583" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentRoomFitHelper": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "608", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentRoomFitHelper", + "inner_name": "MonumentRoomFitHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Penthouse": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Penthouse", + "inner_name": "Penthouse", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1788" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "429", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece", + "inner_name": "Piece", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "69" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition", + "inner_name": "RoomDefinition", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1850" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleRoom": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleRoom", + "inner_name": "SimpleRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "899" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleTopRoom": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleTopRoom", + "inner_name": "SimpleTopRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1068" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$WingRoom": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$WingRoom", + "inner_name": "WingRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1679" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XDoubleRoomFitHelper": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XDoubleRoomFitHelper", + "inner_name": "XDoubleRoomFitHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1943" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XYDoubleRoomFitHelper": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XYDoubleRoomFitHelper", + "inner_name": "XYDoubleRoomFitHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1982" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YDoubleRoomFitHelper": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YDoubleRoomFitHelper", + "inner_name": "YDoubleRoomFitHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1925" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YZDoubleRoomFitHelper": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YZDoubleRoomFitHelper", + "inner_name": "YZDoubleRoomFitHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "2005" + } + ] + }, + "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$ZDoubleRoomFitHelper": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces$ZDoubleRoomFitHelper", + "inner_name": "ZDoubleRoomFitHelper", + "outer_class": "net/minecraft/world/gen/structure/StructureOceanMonumentPieces", + "start": "1961" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces": { + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$PieceWeight", + "inner_name": "PieceWeight", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "59" + }, + { + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$1", + "start": "81" + }, + { + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$2", + "start": "87" + }, + { + "access": "428", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold", + "inner_name": "Stronghold", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "227" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Corridor", + "inner_name": "Corridor", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "368" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs", + "inner_name": "Stairs", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "478" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2", + "inner_name": "Stairs2", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "561" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Straight", + "inner_name": "Straight", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "593" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor", + "inner_name": "ChestCorridor", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "700" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$StairsStraight", + "inner_name": "StairsStraight", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "778" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$LeftTurn", + "inner_name": "LeftTurn", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "840" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$RightTurn", + "inner_name": "RightTurn", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "889" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing", + "inner_name": "RoomCrossing", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "951" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Prison", + "inner_name": "Prison", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "1092" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Library", + "inner_name": "Library", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "1172" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing", + "inner_name": "Crossing", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "1343" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$PortalRoom", + "inner_name": "PortalRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "1468" + }, + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stones", + "inner_name": "Stones", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "1599" + }, + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$1": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$1", + "start": "81" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$2": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$2", + "start": "87" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor", + "inner_name": "ChestCorridor", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "700" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$Corridor": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Corridor", + "inner_name": "Corridor", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "368" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing", + "inner_name": "Crossing", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "1343" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$LeftTurn": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$LeftTurn", + "inner_name": "LeftTurn", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "840" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$Library": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Library", + "inner_name": "Library", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "1172" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$PieceWeight": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$PieceWeight", + "inner_name": "PieceWeight", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "59" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$PortalRoom": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$PortalRoom", + "inner_name": "PortalRoom", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "1468" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$Prison": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Prison", + "inner_name": "Prison", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "1092" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$RightTurn": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$RightTurn", + "inner_name": "RightTurn", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "889" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing", + "inner_name": "RoomCrossing", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "951" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs", + "inner_name": "Stairs", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "478" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2", + "inner_name": "Stairs2", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "561" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$StairsStraight": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$StairsStraight", + "inner_name": "StairsStraight", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "778" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stones": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "28", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stones", + "inner_name": "Stones", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "1599" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$Straight": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Straight", + "inner_name": "Straight", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "593" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door", + "inner_name": "Door", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold", + "start": "221" + }, + { + "access": "428", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold", + "inner_name": "Stronghold", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces", + "start": "227" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold" + }, + "innerClasses": [ + { + "access": "4029", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door", + "inner_name": "Door", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold", + "start": "221" + } + ] + }, + "net/minecraft/world/gen/structure/StructureStrongholdPieces$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureStrongholdPieces" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces": { + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$PieceWeight", + "inner_name": "PieceWeight", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "63" + }, + { + "access": "428", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Village", + "inner_name": "Village", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "243" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Well", + "inner_name": "Well", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "427" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Start", + "inner_name": "Start", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "506" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Path", + "inner_name": "Path", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "539" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$House4Garden", + "inner_name": "House4Garden", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "664" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Church", + "inner_name": "Church", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "797" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$House1", + "inner_name": "House1", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "933" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$WoodHut", + "inner_name": "WoodHut", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1076" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Hall", + "inner_name": "Hall", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1191" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$House3", + "inner_name": "House3", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1328" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$House2", + "inner_name": "House2", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1507" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Field2", + "inner_name": "Field2", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1645" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Field1", + "inner_name": "Field1", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1748" + }, + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Torch", + "inner_name": "Torch", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1852" + }, + { + "access": "429", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Road", + "inner_name": "Road", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$Church": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Church", + "inner_name": "Church", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "797" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$Field1": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Field1", + "inner_name": "Field1", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1748" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$Field2": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Field2", + "inner_name": "Field2", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1645" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$Hall": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Hall", + "inner_name": "Hall", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1191" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$House1": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$House1", + "inner_name": "House1", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "933" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$House2": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$House2", + "inner_name": "House2", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1507" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$House3": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$House3", + "inner_name": "House3", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1328" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$House4Garden": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$House4Garden", + "inner_name": "House4Garden", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "664" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$Path": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Path", + "inner_name": "Path", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "539" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$PieceWeight": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$PieceWeight", + "inner_name": "PieceWeight", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "63" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$Road": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "429", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Road", + "inner_name": "Road", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$Start": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Start", + "inner_name": "Start", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "506" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$SwitchEnumFacing": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "1018", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$SwitchEnumFacing", + "inner_name": "SwitchEnumFacing", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$Torch": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Torch", + "inner_name": "Torch", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1852" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$Village": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "428", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Village", + "inner_name": "Village", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "243" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$Well": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$Well", + "inner_name": "Well", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "427" + } + ] + }, + "net/minecraft/world/gen/structure/StructureVillagePieces$WoodHut": { + "enclosingMethod": { + "owner": "net/minecraft/world/gen/structure/StructureVillagePieces" + }, + "innerClasses": [ + { + "access": "29", + "inner_class": "net/minecraft/world/gen/structure/StructureVillagePieces$WoodHut", + "inner_name": "WoodHut", + "outer_class": "net/minecraft/world/gen/structure/StructureVillagePieces", + "start": "1076" + } + ] + }, + "net/minecraft/world/storage/MapData": { + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/world/storage/MapData$MapInfo", + "inner_name": "MapInfo", + "outer_class": "net/minecraft/world/storage/MapData", + "start": "45" + } + ] + }, + "net/minecraft/world/storage/MapData$MapInfo": { + "enclosingMethod": { + "owner": "net/minecraft/world/storage/MapData" + }, + "innerClasses": [ + { + "access": "21", + "inner_class": "net/minecraft/world/storage/MapData$MapInfo", + "inner_name": "MapInfo", + "outer_class": "net/minecraft/world/storage/MapData", + "start": "45" + } + ] + }, + "net/minecraft/world/storage/WorldInfo": { + "innerClasses": [ + { + "inner_class": "net/minecraft/world/storage/WorldInfo$1", + "start": "573" + }, + { + "inner_class": "net/minecraft/world/storage/WorldInfo$2", + "start": "580" + }, + { + "inner_class": "net/minecraft/world/storage/WorldInfo$3", + "start": "587" + }, + { + "inner_class": "net/minecraft/world/storage/WorldInfo$4", + "start": "594" + }, + { + "inner_class": "net/minecraft/world/storage/WorldInfo$5", + "start": "601" + }, + { + "inner_class": "net/minecraft/world/storage/WorldInfo$6", + "start": "608" + }, + { + "inner_class": "net/minecraft/world/storage/WorldInfo$7", + "start": "615" + }, + { + "inner_class": "net/minecraft/world/storage/WorldInfo$8", + "start": "636" + }, + { + "inner_class": "net/minecraft/world/storage/WorldInfo$9", + "start": "643" + } + ] + }, + "net/minecraft/world/storage/WorldInfo$1": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_85118_a", + "owner": "net/minecraft/world/storage/WorldInfo" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/storage/WorldInfo$1", + "start": "573" + } + ] + }, + "net/minecraft/world/storage/WorldInfo$2": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_85118_a", + "owner": "net/minecraft/world/storage/WorldInfo" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/storage/WorldInfo$2", + "start": "580" + } + ] + }, + "net/minecraft/world/storage/WorldInfo$3": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_85118_a", + "owner": "net/minecraft/world/storage/WorldInfo" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/storage/WorldInfo$3", + "start": "587" + } + ] + }, + "net/minecraft/world/storage/WorldInfo$4": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_85118_a", + "owner": "net/minecraft/world/storage/WorldInfo" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/storage/WorldInfo$4", + "start": "594" + } + ] + }, + "net/minecraft/world/storage/WorldInfo$5": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_85118_a", + "owner": "net/minecraft/world/storage/WorldInfo" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/storage/WorldInfo$5", + "start": "601" + } + ] + }, + "net/minecraft/world/storage/WorldInfo$6": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_85118_a", + "owner": "net/minecraft/world/storage/WorldInfo" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/storage/WorldInfo$6", + "start": "608" + } + ] + }, + "net/minecraft/world/storage/WorldInfo$7": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_85118_a", + "owner": "net/minecraft/world/storage/WorldInfo" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/storage/WorldInfo$7", + "start": "615" + } + ] + }, + "net/minecraft/world/storage/WorldInfo$8": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_85118_a", + "owner": "net/minecraft/world/storage/WorldInfo" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/storage/WorldInfo$8", + "start": "636" + } + ] + }, + "net/minecraft/world/storage/WorldInfo$9": { + "enclosingMethod": { + "desc": "(Lnet/minecraft/crash/CrashReportCategory;)V", + "name": "func_85118_a", + "owner": "net/minecraft/world/storage/WorldInfo" + }, + "innerClasses": [ + { + "inner_class": "net/minecraft/world/storage/WorldInfo$9", + "start": "643" + } + ] + } +} \ No newline at end of file diff --git a/fml/conf/joined.exc b/fml/conf/joined.exc new file mode 100644 index 000000000..e041d2f47 --- /dev/null +++ b/fml/conf/joined.exc @@ -0,0 +1,5012 @@ +#max index=46375 +#Thu Sep 11 22:30:26 PDT 2014 +max_constructor_index=46375 +net/minecraft/block/Block=CL_00000199 +net/minecraft/block/Block$1=CL_00000200 +net/minecraft/block/Block$1.(Ljava/lang/String;FF)V=|p_i45390_1_,p_i45390_2_,p_i45390_3_ +net/minecraft/block/Block$2=CL_00000201 +net/minecraft/block/Block$2.(Ljava/lang/String;FF)V=|p_i45391_1_,p_i45391_2_,p_i45391_3_ +net/minecraft/block/Block$3=CL_00000202 +net/minecraft/block/Block$3.(Ljava/lang/String;FF)V=|p_i45392_1_,p_i45392_2_,p_i45392_3_ +net/minecraft/block/Block$4=CL_00002133 +net/minecraft/block/Block$4.(Ljava/lang/String;FF)V=|p_i45734_1_,p_i45734_2_,p_i45734_3_ +net/minecraft/block/Block$EnumOffsetType=CL_00002132 +net/minecraft/block/Block$EnumOffsetType.(Ljava/lang/String;I)V=|p_i45733_1_,p_i45733_2_ +net/minecraft/block/Block$SoundType=CL_00000203 +net/minecraft/block/Block$SoundType.(Ljava/lang/String;FF)V=|p_i45393_1_,p_i45393_2_,p_i45393_3_ +net/minecraft/block/Block.(Lnet/minecraft/block/material/Material;)V=|p_i45394_1_ +net/minecraft/block/BlockAir=CL_00000190 +net/minecraft/block/BlockAnvil=CL_00000192 +net/minecraft/block/BlockAnvil$Anvil=CL_00002144 +net/minecraft/block/BlockAnvil$Anvil.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V=|p_i45741_1_,p_i45741_2_ +net/minecraft/block/BlockBanner=CL_00002143 +net/minecraft/block/BlockBanner$BlockBannerHanging=CL_00002140 +net/minecraft/block/BlockBanner$BlockBannerStanding=CL_00002141 +net/minecraft/block/BlockBanner$SwitchEnumFacing=CL_00002142 +net/minecraft/block/BlockBarrier=CL_00002139 +net/minecraft/block/BlockBasePressurePlate=CL_00000194 +net/minecraft/block/BlockBasePressurePlate.(Lnet/minecraft/block/material/Material;)V=|p_i45740_1_ +net/minecraft/block/BlockBeacon=CL_00000197 +net/minecraft/block/BlockBeacon$1=CL_00002136 +net/minecraft/block/BlockBeacon$1$1=CL_00002135 +net/minecraft/block/BlockBeacon$1$1.(Lnet/minecraft/block/BlockBeacon$1;Lnet/minecraft/util/BlockPos;)V=|p_i45736_1_,p_i45736_2_ +net/minecraft/block/BlockBeacon$1.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V=|p_i45737_1_,p_i45737_2_ +net/minecraft/block/BlockBed=CL_00000198 +net/minecraft/block/BlockBed$EnumPartType=CL_00002134 +net/minecraft/block/BlockBed$EnumPartType.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45735_1_,p_i45735_2_,p_i45735_3_ +net/minecraft/block/BlockBookshelf=CL_00000206 +net/minecraft/block/BlockBreakable=CL_00000254 +net/minecraft/block/BlockBreakable.(Lnet/minecraft/block/material/Material;Z)V=|p_i45712_1_,p_i45712_2_ +net/minecraft/block/BlockBrewingStand=CL_00000207 +net/minecraft/block/BlockBush=CL_00000208 +net/minecraft/block/BlockBush.(Lnet/minecraft/block/material/Material;)V=|p_i45395_1_ +net/minecraft/block/BlockButton=CL_00000209 +net/minecraft/block/BlockButton$SwitchEnumFacing=CL_00002131 +net/minecraft/block/BlockButton.(Z)V=|p_i45396_1_ +net/minecraft/block/BlockButtonStone=CL_00000319 +net/minecraft/block/BlockButtonWood=CL_00000336 +net/minecraft/block/BlockCactus=CL_00000210 +net/minecraft/block/BlockCake=CL_00000211 +net/minecraft/block/BlockCarpet=CL_00000338 +net/minecraft/block/BlockCarrot=CL_00000212 +net/minecraft/block/BlockCauldron=CL_00000213 +net/minecraft/block/BlockChest=CL_00000214 +net/minecraft/block/BlockChest.(I)V=|p_i45397_1_ +net/minecraft/block/BlockClay=CL_00000215 +net/minecraft/block/BlockCocoa=CL_00000216 +net/minecraft/block/BlockCocoa$SwitchEnumFacing=CL_00002130 +net/minecraft/block/BlockColored=CL_00000217 +net/minecraft/block/BlockColored.(Lnet/minecraft/block/material/Material;)V=|p_i45398_1_ +net/minecraft/block/BlockCommandBlock=CL_00000219 +net/minecraft/block/BlockCompressed=CL_00000268 +net/minecraft/block/BlockCompressed.(Lnet/minecraft/block/material/MapColor;)V=|p_i45414_1_ +net/minecraft/block/BlockCompressedPowered=CL_00000287 +net/minecraft/block/BlockCompressedPowered.(Lnet/minecraft/block/material/MapColor;)V=|p_i45416_1_ +net/minecraft/block/BlockContainer=CL_00000193 +net/minecraft/block/BlockContainer.(Lnet/minecraft/block/material/Material;)V=|p_i45386_1_ +net/minecraft/block/BlockCrops=CL_00000222 +net/minecraft/block/BlockDaylightDetector=CL_00000223 +net/minecraft/block/BlockDaylightDetector.(Z)V=|p_i45729_1_ +net/minecraft/block/BlockDeadBush=CL_00000224 +net/minecraft/block/BlockDirectional=CL_00000227 +net/minecraft/block/BlockDirectional.(Lnet/minecraft/block/material/Material;)V=|p_i45401_1_ +net/minecraft/block/BlockDirt=CL_00000228 +net/minecraft/block/BlockDirt$DirtType=CL_00002125 +net/minecraft/block/BlockDirt$DirtType.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45727_1_,p_i45727_2_,p_i45727_3_,p_i45727_4_ +net/minecraft/block/BlockDirt$DirtType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45728_1_,p_i45728_2_,p_i45728_3_,p_i45728_4_,p_i45728_5_ +net/minecraft/block/BlockDispenser=CL_00000229 +net/minecraft/block/BlockDoor=CL_00000230 +net/minecraft/block/BlockDoor$EnumDoorHalf=CL_00002124 +net/minecraft/block/BlockDoor$EnumDoorHalf.(Ljava/lang/String;I)V=|p_i45726_1_,p_i45726_2_ +net/minecraft/block/BlockDoor$EnumHingePosition=CL_00002123 +net/minecraft/block/BlockDoor$EnumHingePosition.(Ljava/lang/String;I)V=|p_i45725_1_,p_i45725_2_ +net/minecraft/block/BlockDoor.(Lnet/minecraft/block/material/Material;)V=|p_i45402_1_ +net/minecraft/block/BlockDoublePlant=CL_00000231 +net/minecraft/block/BlockDoublePlant$EnumBlockHalf=CL_00002122 +net/minecraft/block/BlockDoublePlant$EnumBlockHalf.(Ljava/lang/String;I)V=|p_i45724_1_,p_i45724_2_ +net/minecraft/block/BlockDoublePlant$EnumPlantType=CL_00002121 +net/minecraft/block/BlockDoublePlant$EnumPlantType.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45722_1_,p_i45722_2_,p_i45722_3_,p_i45722_4_ +net/minecraft/block/BlockDoublePlant$EnumPlantType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45723_1_,p_i45723_2_,p_i45723_3_,p_i45723_4_,p_i45723_5_ +net/minecraft/block/BlockDoubleStoneSlab=CL_00002113 +net/minecraft/block/BlockDoubleStoneSlabNew=CL_00002114 +net/minecraft/block/BlockDoubleWoodSlab=CL_00002112 +net/minecraft/block/BlockDragonEgg=CL_00000232 +net/minecraft/block/BlockDropper=CL_00000233 +net/minecraft/block/BlockDynamicLiquid=CL_00000234 +net/minecraft/block/BlockDynamicLiquid.(Lnet/minecraft/block/material/Material;)V=|p_i45403_1_ +net/minecraft/block/BlockEnchantmentTable=CL_00000235 +net/minecraft/block/BlockEndPortal=CL_00000236 +net/minecraft/block/BlockEndPortal.(Lnet/minecraft/block/material/Material;)V=|p_i45404_1_ +net/minecraft/block/BlockEndPortalFrame=CL_00000237 +net/minecraft/block/BlockEnderChest=CL_00000238 +net/minecraft/block/BlockEventData=CL_00000131 +net/minecraft/block/BlockEventData.(Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;II)V=|p_i45756_1_,p_i45756_2_,p_i45756_3_,p_i45756_4_ +net/minecraft/block/BlockFalling=CL_00000240 +net/minecraft/block/BlockFalling.(Lnet/minecraft/block/material/Material;)V=|p_i45405_1_ +net/minecraft/block/BlockFarmland=CL_00000241 +net/minecraft/block/BlockFence=CL_00000242 +net/minecraft/block/BlockFence.(Lnet/minecraft/block/material/Material;)V=|p_i45721_1_ +net/minecraft/block/BlockFenceGate=CL_00000243 +net/minecraft/block/BlockFire=CL_00000245 +net/minecraft/block/BlockFlower=CL_00000246 +net/minecraft/block/BlockFlower$1=CL_00002120 +net/minecraft/block/BlockFlower$1.(Lnet/minecraft/block/BlockFlower;)V=|p_i45720_1_ +net/minecraft/block/BlockFlower$EnumFlowerColor=CL_00002117 +net/minecraft/block/BlockFlower$EnumFlowerColor.(Ljava/lang/String;I)V=|p_i45716_1_,p_i45716_2_ +net/minecraft/block/BlockFlower$EnumFlowerType=CL_00002119 +net/minecraft/block/BlockFlower$EnumFlowerType$1=CL_00002118 +net/minecraft/block/BlockFlower$EnumFlowerType$1.(Lnet/minecraft/block/BlockFlower$EnumFlowerColor;)V=|p_i45717_1_ +net/minecraft/block/BlockFlower$EnumFlowerType.(Ljava/lang/String;ILnet/minecraft/block/BlockFlower$EnumFlowerColor;ILjava/lang/String;)V=|p_i45718_1_,p_i45718_2_,p_i45718_3_,p_i45718_4_,p_i45718_5_ +net/minecraft/block/BlockFlower$EnumFlowerType.(Ljava/lang/String;ILnet/minecraft/block/BlockFlower$EnumFlowerColor;ILjava/lang/String;Ljava/lang/String;)V=|p_i45719_1_,p_i45719_2_,p_i45719_3_,p_i45719_4_,p_i45719_5_,p_i45719_6_ +net/minecraft/block/BlockFlowerPot=CL_00000247 +net/minecraft/block/BlockFlowerPot$EnumFlowerType=CL_00002115 +net/minecraft/block/BlockFlowerPot$EnumFlowerType.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45715_1_,p_i45715_2_,p_i45715_3_ +net/minecraft/block/BlockFlowerPot$SwitchEnumType=CL_00002116 +net/minecraft/block/BlockFurnace=CL_00000248 +net/minecraft/block/BlockFurnace$SwitchEnumFacing=CL_00002111 +net/minecraft/block/BlockFurnace.(Z)V=|p_i45407_1_ +net/minecraft/block/BlockGlass=CL_00000249 +net/minecraft/block/BlockGlass.(Lnet/minecraft/block/material/Material;Z)V=|p_i45408_1_,p_i45408_2_ +net/minecraft/block/BlockGlowstone=CL_00000250 +net/minecraft/block/BlockGlowstone.(Lnet/minecraft/block/material/Material;)V=|p_i45409_1_ +net/minecraft/block/BlockGrass=CL_00000251 +net/minecraft/block/BlockGravel=CL_00000252 +net/minecraft/block/BlockHalfStoneSlab=CL_00002108 +net/minecraft/block/BlockHalfStoneSlabNew=CL_00002110 +net/minecraft/block/BlockHalfWoodSlab=CL_00002107 +net/minecraft/block/BlockHardenedClay=CL_00000255 +net/minecraft/block/BlockHay=CL_00000256 +net/minecraft/block/BlockHopper=CL_00000257 +net/minecraft/block/BlockHopper$1=CL_00002106 +net/minecraft/block/BlockHugeMushroom=CL_00000258 +net/minecraft/block/BlockHugeMushroom$EnumType=CL_00002105 +net/minecraft/block/BlockHugeMushroom$EnumType.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45710_1_,p_i45710_2_,p_i45710_3_,p_i45710_4_ +net/minecraft/block/BlockHugeMushroom.(Lnet/minecraft/block/material/Material;Lnet/minecraft/block/Block;)V=|p_i45711_1_,p_i45711_2_ +net/minecraft/block/BlockIce=CL_00000259 +net/minecraft/block/BlockJukebox=CL_00000260 +net/minecraft/block/BlockJukebox$TileEntityJukebox=CL_00000261 +net/minecraft/block/BlockLadder=CL_00000262 +net/minecraft/block/BlockLadder$SwitchEnumFacing=CL_00002104 +net/minecraft/block/BlockLeaves=CL_00000263 +net/minecraft/block/BlockLeavesBase=CL_00000326 +net/minecraft/block/BlockLeavesBase.(Lnet/minecraft/block/material/Material;Z)V=|p_i45433_1_,p_i45433_2_ +net/minecraft/block/BlockLever=CL_00000264 +net/minecraft/block/BlockLever$EnumOrientation=CL_00002102 +net/minecraft/block/BlockLever$EnumOrientation.(Ljava/lang/String;IILjava/lang/String;Lnet/minecraft/util/EnumFacing;)V=|p_i45709_1_,p_i45709_2_,p_i45709_3_,p_i45709_4_,p_i45709_5_ +net/minecraft/block/BlockLever$SwitchEnumFacing=CL_00002103 +net/minecraft/block/BlockLilyPad=CL_00000332 +net/minecraft/block/BlockLiquid=CL_00000265 +net/minecraft/block/BlockLiquid.(Lnet/minecraft/block/material/Material;)V=|p_i45413_1_ +net/minecraft/block/BlockLog=CL_00000266 +net/minecraft/block/BlockLog$EnumAxis=CL_00002100 +net/minecraft/block/BlockLog$EnumAxis.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45708_1_,p_i45708_2_,p_i45708_3_ +net/minecraft/block/BlockLog$SwitchAxis=CL_00002101 +net/minecraft/block/BlockMelon=CL_00000267 +net/minecraft/block/BlockMobSpawner=CL_00000269 +net/minecraft/block/BlockMushroom=CL_00000272 +net/minecraft/block/BlockMycelium=CL_00000273 +net/minecraft/block/BlockNetherBrick=CL_00002091 +net/minecraft/block/BlockNetherWart=CL_00000274 +net/minecraft/block/BlockNetherrack=CL_00000275 +net/minecraft/block/BlockNewLeaf=CL_00000276 +net/minecraft/block/BlockNewLeaf$1=CL_00002090 +net/minecraft/block/BlockNewLog=CL_00000277 +net/minecraft/block/BlockNewLog$1=CL_00002089 +net/minecraft/block/BlockNewLog$SwitchEnumAxis=CL_00002088 +net/minecraft/block/BlockNote=CL_00000278 +net/minecraft/block/BlockObsidian=CL_00000279 +net/minecraft/block/BlockOldLeaf=CL_00000280 +net/minecraft/block/BlockOldLeaf$1=CL_00002085 +net/minecraft/block/BlockOldLog=CL_00000281 +net/minecraft/block/BlockOldLog$1=CL_00002084 +net/minecraft/block/BlockOldLog$SwitchEnumAxis=CL_00002083 +net/minecraft/block/BlockOre=CL_00000282 +net/minecraft/block/BlockPackedIce=CL_00000283 +net/minecraft/block/BlockPane=CL_00000322 +net/minecraft/block/BlockPane.(Lnet/minecraft/block/material/Material;Z)V=|p_i45675_1_,p_i45675_2_ +net/minecraft/block/BlockPistonBase=CL_00000366 +net/minecraft/block/BlockPistonBase$SwitchEnumFacing=CL_00002037 +net/minecraft/block/BlockPistonBase.(Z)V=|p_i45443_1_ +net/minecraft/block/BlockPistonExtension=CL_00000367 +net/minecraft/block/BlockPistonExtension$EnumPistonType=CL_00002035 +net/minecraft/block/BlockPistonExtension$EnumPistonType.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45666_1_,p_i45666_2_,p_i45666_3_ +net/minecraft/block/BlockPistonExtension$SwitchEnumFacing=CL_00002036 +net/minecraft/block/BlockPistonMoving=CL_00000368 +net/minecraft/block/BlockPlanks=CL_00002082 +net/minecraft/block/BlockPlanks$EnumType=CL_00002081 +net/minecraft/block/BlockPlanks$EnumType.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45695_1_,p_i45695_2_,p_i45695_3_,p_i45695_4_ +net/minecraft/block/BlockPlanks$EnumType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45696_1_,p_i45696_2_,p_i45696_3_,p_i45696_4_,p_i45696_5_ +net/minecraft/block/BlockPortal=CL_00000284 +net/minecraft/block/BlockPortal$Size=CL_00000285 +net/minecraft/block/BlockPortal$Size.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing$Axis;)V=|p_i45694_1_,p_i45694_2_,p_i45694_3_ +net/minecraft/block/BlockPotato=CL_00000286 +net/minecraft/block/BlockPressurePlate=CL_00000289 +net/minecraft/block/BlockPressurePlate$Sensitivity=CL_00000290 +net/minecraft/block/BlockPressurePlate$Sensitivity.(Ljava/lang/String;I)V=|p_i45417_1_,p_i45417_2_ +net/minecraft/block/BlockPressurePlate$SwitchSensitivity=CL_00002078 +net/minecraft/block/BlockPressurePlate.(Lnet/minecraft/block/material/Material;Lnet/minecraft/block/BlockPressurePlate$Sensitivity;)V=|p_i45693_1_,p_i45693_2_ +net/minecraft/block/BlockPressurePlateWeighted=CL_00000334 +net/minecraft/block/BlockPressurePlateWeighted.(Ljava/lang/String;Lnet/minecraft/block/material/Material;I)V=|p_i45436_1_,p_i45436_2_,p_i45436_3_ +net/minecraft/block/BlockPrismarine=CL_00002077 +net/minecraft/block/BlockPrismarine$EnumType=CL_00002076 +net/minecraft/block/BlockPrismarine$EnumType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45692_1_,p_i45692_2_,p_i45692_3_,p_i45692_4_,p_i45692_5_ +net/minecraft/block/BlockPumpkin=CL_00000291 +net/minecraft/block/BlockQuartz=CL_00000292 +net/minecraft/block/BlockQuartz$EnumType=CL_00002074 +net/minecraft/block/BlockQuartz$EnumType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45691_1_,p_i45691_2_,p_i45691_3_,p_i45691_4_,p_i45691_5_ +net/minecraft/block/BlockQuartz$SwitchAxis=CL_00002075 +net/minecraft/block/BlockRail=CL_00000293 +net/minecraft/block/BlockRailBase=CL_00000195 +net/minecraft/block/BlockRailBase$EnumRailDirection=CL_00002137 +net/minecraft/block/BlockRailBase$EnumRailDirection.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45738_1_,p_i45738_2_,p_i45738_3_,p_i45738_4_ +net/minecraft/block/BlockRailBase$Rail=CL_00000196 +net/minecraft/block/BlockRailBase$Rail.(Lnet/minecraft/block/BlockRailBase;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V=|p_i45739_1_,p_i45739_2_,p_i45739_3_,p_i45739_4_ +net/minecraft/block/BlockRailBase$SwitchEnumRailDirection=CL_00002138 +net/minecraft/block/BlockRailBase.(Z)V=|p_i45389_1_ +net/minecraft/block/BlockRailDetector=CL_00000225 +net/minecraft/block/BlockRailDetector$1=CL_00002126 +net/minecraft/block/BlockRailPowered=CL_00000288 +net/minecraft/block/BlockRailPowered$1=CL_00002080 +net/minecraft/block/BlockRailPowered$SwitchEnumRailDirection=CL_00002079 +net/minecraft/block/BlockRedFlower=CL_00002073 +net/minecraft/block/BlockRedSandstone=CL_00002072 +net/minecraft/block/BlockRedSandstone$EnumType=CL_00002071 +net/minecraft/block/BlockRedSandstone$EnumType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45690_1_,p_i45690_2_,p_i45690_3_,p_i45690_4_,p_i45690_5_ +net/minecraft/block/BlockRedstoneComparator=CL_00000220 +net/minecraft/block/BlockRedstoneComparator$1=CL_00002129 +net/minecraft/block/BlockRedstoneComparator$1.(Lnet/minecraft/block/BlockRedstoneComparator;Lnet/minecraft/util/EnumFacing;)V=|p_i45732_1_,p_i45732_2_ +net/minecraft/block/BlockRedstoneComparator$Mode=CL_00002128 +net/minecraft/block/BlockRedstoneComparator$Mode.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45731_1_,p_i45731_2_,p_i45731_3_ +net/minecraft/block/BlockRedstoneComparator.(Z)V=|p_i45399_1_ +net/minecraft/block/BlockRedstoneDiode=CL_00000226 +net/minecraft/block/BlockRedstoneDiode.(Z)V=|p_i45400_1_ +net/minecraft/block/BlockRedstoneLight=CL_00000297 +net/minecraft/block/BlockRedstoneLight.(Z)V=|p_i45421_1_ +net/minecraft/block/BlockRedstoneOre=CL_00000294 +net/minecraft/block/BlockRedstoneOre.(Z)V=|p_i45420_1_ +net/minecraft/block/BlockRedstoneRepeater=CL_00000301 +net/minecraft/block/BlockRedstoneRepeater.(Z)V=|p_i45424_1_ +net/minecraft/block/BlockRedstoneTorch=CL_00000298 +net/minecraft/block/BlockRedstoneTorch$Toggle=CL_00000299 +net/minecraft/block/BlockRedstoneTorch$Toggle.(Lnet/minecraft/util/BlockPos;J)V=|p_i45688_1_,p_i45688_2_ +net/minecraft/block/BlockRedstoneTorch.(Z)V=|p_i45423_1_ +net/minecraft/block/BlockRedstoneWire=CL_00000295 +net/minecraft/block/BlockRedstoneWire$EnumAttachPosition=CL_00002070 +net/minecraft/block/BlockRedstoneWire$EnumAttachPosition.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45689_1_,p_i45689_2_,p_i45689_3_ +net/minecraft/block/BlockReed=CL_00000300 +net/minecraft/block/BlockRotatedPillar=CL_00000302 +net/minecraft/block/BlockRotatedPillar.(Lnet/minecraft/block/material/Material;)V=|p_i45425_1_ +net/minecraft/block/BlockSand=CL_00000303 +net/minecraft/block/BlockSand$EnumType=CL_00002069 +net/minecraft/block/BlockSand$EnumType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Lnet/minecraft/block/material/MapColor;)V=|p_i45687_1_,p_i45687_2_,p_i45687_3_,p_i45687_4_,p_i45687_5_,p_i45687_6_ +net/minecraft/block/BlockSandStone=CL_00000304 +net/minecraft/block/BlockSandStone$EnumType=CL_00002068 +net/minecraft/block/BlockSandStone$EnumType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45686_1_,p_i45686_2_,p_i45686_3_,p_i45686_4_,p_i45686_5_ +net/minecraft/block/BlockSapling=CL_00000305 +net/minecraft/block/BlockSapling$SwitchEnumType=CL_00002067 +net/minecraft/block/BlockSeaLantern=CL_00002066 +net/minecraft/block/BlockSeaLantern.(Lnet/minecraft/block/material/Material;)V=|p_i45685_1_ +net/minecraft/block/BlockSign=CL_00000306 +net/minecraft/block/BlockSilverfish=CL_00000271 +net/minecraft/block/BlockSilverfish$EnumType=CL_00002098 +net/minecraft/block/BlockSilverfish$EnumType$1=CL_00002097 +net/minecraft/block/BlockSilverfish$EnumType$1.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45703_1_,p_i45703_2_,p_i45703_3_,p_i45703_4_ +net/minecraft/block/BlockSilverfish$EnumType$2=CL_00002096 +net/minecraft/block/BlockSilverfish$EnumType$2.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45702_1_,p_i45702_2_,p_i45702_3_,p_i45702_4_,p_i45702_5_ +net/minecraft/block/BlockSilverfish$EnumType$3=CL_00002095 +net/minecraft/block/BlockSilverfish$EnumType$3.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45701_1_,p_i45701_2_,p_i45701_3_,p_i45701_4_,p_i45701_5_ +net/minecraft/block/BlockSilverfish$EnumType$4=CL_00002094 +net/minecraft/block/BlockSilverfish$EnumType$4.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45700_1_,p_i45700_2_,p_i45700_3_,p_i45700_4_,p_i45700_5_ +net/minecraft/block/BlockSilverfish$EnumType$5=CL_00002093 +net/minecraft/block/BlockSilverfish$EnumType$5.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45699_1_,p_i45699_2_,p_i45699_3_,p_i45699_4_,p_i45699_5_ +net/minecraft/block/BlockSilverfish$EnumType$6=CL_00002092 +net/minecraft/block/BlockSilverfish$EnumType$6.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45698_1_,p_i45698_2_,p_i45698_3_,p_i45698_4_,p_i45698_5_ +net/minecraft/block/BlockSilverfish$EnumType.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45704_1_,p_i45704_2_,p_i45704_3_,p_i45704_4_ +net/minecraft/block/BlockSilverfish$EnumType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45705_1_,p_i45705_2_,p_i45705_3_,p_i45705_4_,p_i45705_5_ +net/minecraft/block/BlockSilverfish$EnumType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Lnet/minecraft/block/BlockSilverfish$SwitchEnumType;)V=|p_i45707_1_,p_i45707_2_,p_i45707_3_,p_i45707_4_,p_i45707_5_,p_i45707_6_ +net/minecraft/block/BlockSilverfish$EnumType.(Ljava/lang/String;IILjava/lang/String;Lnet/minecraft/block/BlockSilverfish$SwitchEnumType;)V=|p_i45706_1_,p_i45706_2_,p_i45706_3_,p_i45706_4_,p_i45706_5_ +net/minecraft/block/BlockSilverfish$SwitchEnumType=CL_00002099 +net/minecraft/block/BlockSkull=CL_00000307 +net/minecraft/block/BlockSkull$1=CL_00002065 +net/minecraft/block/BlockSkull$SwitchEnumFacing=CL_00002064 +net/minecraft/block/BlockSlab=CL_00000253 +net/minecraft/block/BlockSlab$EnumBlockHalf=CL_00002109 +net/minecraft/block/BlockSlab$EnumBlockHalf.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45713_1_,p_i45713_2_,p_i45713_3_ +net/minecraft/block/BlockSlab.(Lnet/minecraft/block/material/Material;)V=|p_i45714_1_ +net/minecraft/block/BlockSlime=CL_00002063 +net/minecraft/block/BlockSnow=CL_00000309 +net/minecraft/block/BlockSnowBlock=CL_00000308 +net/minecraft/block/BlockSoulSand=CL_00000310 +net/minecraft/block/BlockSourceImpl=CL_00001194 +net/minecraft/block/BlockSourceImpl.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V=|p_i46023_1_,p_i46023_2_ +net/minecraft/block/BlockSponge=CL_00000311 +net/minecraft/block/BlockStainedGlass=CL_00000312 +net/minecraft/block/BlockStainedGlass.(Lnet/minecraft/block/material/Material;)V=|p_i45427_1_ +net/minecraft/block/BlockStainedGlassPane=CL_00000313 +net/minecraft/block/BlockStairs=CL_00000314 +net/minecraft/block/BlockStairs$EnumHalf=CL_00002062 +net/minecraft/block/BlockStairs$EnumHalf.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45683_1_,p_i45683_2_,p_i45683_3_ +net/minecraft/block/BlockStairs$EnumShape=CL_00002061 +net/minecraft/block/BlockStairs$EnumShape.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45682_1_,p_i45682_2_,p_i45682_3_ +net/minecraft/block/BlockStairs.(Lnet/minecraft/block/state/IBlockState;)V=|p_i45684_1_ +net/minecraft/block/BlockStandingSign=CL_00002060 +net/minecraft/block/BlockStaticLiquid=CL_00000315 +net/minecraft/block/BlockStaticLiquid.(Lnet/minecraft/block/material/Material;)V=|p_i45429_1_ +net/minecraft/block/BlockStem=CL_00000316 +net/minecraft/block/BlockStem$1=CL_00002059 +net/minecraft/block/BlockStem.(Lnet/minecraft/block/Block;)V=|p_i45430_1_ +net/minecraft/block/BlockStone=CL_00000317 +net/minecraft/block/BlockStone$EnumType=CL_00002058 +net/minecraft/block/BlockStone$EnumType.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45680_1_,p_i45680_2_,p_i45680_3_,p_i45680_4_ +net/minecraft/block/BlockStone$EnumType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45681_1_,p_i45681_2_,p_i45681_3_,p_i45681_4_,p_i45681_5_ +net/minecraft/block/BlockStoneBrick=CL_00000318 +net/minecraft/block/BlockStoneBrick$EnumType=CL_00002057 +net/minecraft/block/BlockStoneBrick$EnumType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45679_1_,p_i45679_2_,p_i45679_3_,p_i45679_4_,p_i45679_5_ +net/minecraft/block/BlockStoneSlab=CL_00000320 +net/minecraft/block/BlockStoneSlab$EnumType=CL_00002056 +net/minecraft/block/BlockStoneSlab$EnumType.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45677_1_,p_i45677_2_,p_i45677_3_,p_i45677_4_ +net/minecraft/block/BlockStoneSlab$EnumType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45678_1_,p_i45678_2_,p_i45678_3_,p_i45678_4_,p_i45678_5_ +net/minecraft/block/BlockStoneSlabNew=CL_00002087 +net/minecraft/block/BlockStoneSlabNew$EnumType=CL_00002086 +net/minecraft/block/BlockStoneSlabNew$EnumType.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45697_1_,p_i45697_2_,p_i45697_3_,p_i45697_4_ +net/minecraft/block/BlockTNT=CL_00000324 +net/minecraft/block/BlockTallGrass=CL_00000321 +net/minecraft/block/BlockTallGrass$EnumType=CL_00002055 +net/minecraft/block/BlockTallGrass$EnumType.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45676_1_,p_i45676_2_,p_i45676_3_,p_i45676_4_ +net/minecraft/block/BlockTorch=CL_00000325 +net/minecraft/block/BlockTorch$1=CL_00002054 +net/minecraft/block/BlockTorch$SwitchEnumFacing=CL_00002053 +net/minecraft/block/BlockTrapDoor=CL_00000327 +net/minecraft/block/BlockTrapDoor$DoorHalf=CL_00002051 +net/minecraft/block/BlockTrapDoor$DoorHalf.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45674_1_,p_i45674_2_,p_i45674_3_ +net/minecraft/block/BlockTrapDoor$SwitchEnumFacing=CL_00002052 +net/minecraft/block/BlockTrapDoor.(Lnet/minecraft/block/material/Material;)V=|p_i45434_1_ +net/minecraft/block/BlockTripWire=CL_00000328 +net/minecraft/block/BlockTripWireHook=CL_00000329 +net/minecraft/block/BlockTripWireHook$SwitchEnumFacing=CL_00002050 +net/minecraft/block/BlockVine=CL_00000330 +net/minecraft/block/BlockVine$SwitchEnumFacing=CL_00002049 +net/minecraft/block/BlockWall=CL_00000331 +net/minecraft/block/BlockWall$EnumType=CL_00002048 +net/minecraft/block/BlockWall$EnumType.(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V=|p_i45673_1_,p_i45673_2_,p_i45673_3_,p_i45673_4_,p_i45673_5_ +net/minecraft/block/BlockWall.(Lnet/minecraft/block/Block;)V=|p_i45435_1_ +net/minecraft/block/BlockWallSign=CL_00002047 +net/minecraft/block/BlockWallSign$SwitchEnumFacing=CL_00002046 +net/minecraft/block/BlockWeb=CL_00000333 +net/minecraft/block/BlockWoodSlab=CL_00000337 +net/minecraft/block/BlockWorkbench=CL_00000221 +net/minecraft/block/BlockWorkbench$InterfaceCraftingTable=CL_00002127 +net/minecraft/block/BlockWorkbench$InterfaceCraftingTable.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V=|p_i45730_1_,p_i45730_2_ +net/minecraft/block/BlockYellowFlower=CL_00002045 +net/minecraft/block/material/MapColor=CL_00000544 +net/minecraft/block/material/MapColor.(II)V=|p_i2117_1_,p_i2117_2_ +net/minecraft/block/material/Material=CL_00000542 +net/minecraft/block/material/Material$1=CL_00000543 +net/minecraft/block/material/Material$1.(Lnet/minecraft/block/material/MapColor;)V=|p_i2115_1_ +net/minecraft/block/material/Material.(Lnet/minecraft/block/material/MapColor;)V=|p_i2116_1_ +net/minecraft/block/material/MaterialLiquid=CL_00000541 +net/minecraft/block/material/MaterialLiquid.(Lnet/minecraft/block/material/MapColor;)V=|p_i2114_1_ +net/minecraft/block/material/MaterialLogic=CL_00000539 +net/minecraft/block/material/MaterialLogic.(Lnet/minecraft/block/material/MapColor;)V=|p_i2112_1_ +net/minecraft/block/material/MaterialPortal=CL_00000545 +net/minecraft/block/material/MaterialPortal.(Lnet/minecraft/block/material/MapColor;)V=|p_i2118_1_ +net/minecraft/block/material/MaterialTransparent=CL_00000540 +net/minecraft/block/material/MaterialTransparent.(Lnet/minecraft/block/material/MapColor;)V=|p_i2113_1_ +net/minecraft/block/properties/PropertyBool=CL_00002017 +net/minecraft/block/properties/PropertyBool.(Ljava/lang/String;)V=|p_i45651_1_ +net/minecraft/block/properties/PropertyDirection=CL_00002016 +net/minecraft/block/properties/PropertyDirection.(Ljava/lang/String;Ljava/util/Collection;)V=|p_i45650_1_,p_i45650_2_ +net/minecraft/block/properties/PropertyEnum=CL_00002015 +net/minecraft/block/properties/PropertyEnum.(Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)V=|p_i45649_1_,p_i45649_2_,p_i45649_3_ +net/minecraft/block/properties/PropertyHelper=CL_00002018 +net/minecraft/block/properties/PropertyHelper.(Ljava/lang/String;Ljava/lang/Class;)V=|p_i45652_1_,p_i45652_2_ +net/minecraft/block/properties/PropertyInteger=CL_00002014 +net/minecraft/block/properties/PropertyInteger.(Ljava/lang/String;II)V=|p_i45648_1_,p_i45648_2_,p_i45648_3_ +net/minecraft/block/state/BlockPistonStructureHelper=CL_00002033 +net/minecraft/block/state/BlockPistonStructureHelper.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;Z)V=|p_i45664_1_,p_i45664_2_,p_i45664_3_,p_i45664_4_ +net/minecraft/block/state/BlockState=CL_00002030 +net/minecraft/block/state/BlockState$1=CL_00002029 +net/minecraft/block/state/BlockState$2=CL_00002028 +net/minecraft/block/state/BlockState$2.(Lnet/minecraft/block/state/BlockState;)V=|p_i45662_1_ +net/minecraft/block/state/BlockState$StateImplementation=CL_00002027 +net/minecraft/block/state/BlockState$StateImplementation.(Lnet/minecraft/block/Block;Lcom/google/common/collect/ImmutableMap;)V=|p_i45660_1_,p_i45660_2_ +net/minecraft/block/state/BlockState$StateImplementation.(Lnet/minecraft/block/Block;Lcom/google/common/collect/ImmutableMap;Lnet/minecraft/block/state/BlockState$1;)V=|p_i45661_1_,p_i45661_2_,p_i45661_3_ +net/minecraft/block/state/BlockState.(Lnet/minecraft/block/Block;[Lnet/minecraft/block/properties/IProperty;)V=|p_i45663_1_,p_i45663_2_ +net/minecraft/block/state/BlockStateBase=CL_00002032 +net/minecraft/block/state/BlockStateBase$1=CL_00002031 +net/minecraft/block/state/BlockWorldState=CL_00002026 +net/minecraft/block/state/BlockWorldState$1=CL_00002025 +net/minecraft/block/state/BlockWorldState$1.(Lcom/google/common/base/Predicate;)V=|p_i45658_1_ +net/minecraft/block/state/BlockWorldState.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V=|p_i45659_1_,p_i45659_2_ +net/minecraft/block/state/pattern/BlockHelper=CL_00002020 +net/minecraft/block/state/pattern/BlockHelper.(Lnet/minecraft/block/Block;)V=|p_i45654_1_ +net/minecraft/block/state/pattern/BlockPattern=CL_00002024 +net/minecraft/block/state/pattern/BlockPattern$CacheLoader=CL_00002023 +net/minecraft/block/state/pattern/BlockPattern$CacheLoader.(Lnet/minecraft/world/World;)V=|p_i45656_1_ +net/minecraft/block/state/pattern/BlockPattern$PatternHelper=CL_00002022 +net/minecraft/block/state/pattern/BlockPattern$PatternHelper.(Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/EnumFacing;Lcom/google/common/cache/LoadingCache;)V=|p_i45655_1_,p_i45655_2_,p_i45655_3_,p_i45655_4_ +net/minecraft/block/state/pattern/BlockPattern.([[[Lcom/google/common/base/Predicate;)V=|p_i45657_1_ +net/minecraft/block/state/pattern/BlockStateHelper=CL_00002019 +net/minecraft/block/state/pattern/BlockStateHelper.(Lnet/minecraft/block/state/BlockState;)V=|p_i45653_1_ +net/minecraft/block/state/pattern/FactoryBlockPattern=CL_00002021 +net/minecraft/client/AnvilConverterException=CL_00000599 +net/minecraft/client/AnvilConverterException.(Ljava/lang/String;)V=|p_i2160_1_ +net/minecraft/client/ClientBrandRetriever=CL_00001460 +net/minecraft/client/LoadingScreenRenderer=CL_00000655 +net/minecraft/client/LoadingScreenRenderer.(Lnet/minecraft/client/Minecraft;)V=|p_i1017_1_ +net/minecraft/client/Minecraft=CL_00000631 +net/minecraft/client/Minecraft$1=CL_00000632 +net/minecraft/client/Minecraft$1.(Lnet/minecraft/client/Minecraft;)V=|p_i45546_1_ +net/minecraft/client/Minecraft$10=CL_00000633 +net/minecraft/client/Minecraft$10.(Lnet/minecraft/client/Minecraft;)V=|p_i1003_1_ +net/minecraft/client/Minecraft$11=CL_00000634 +net/minecraft/client/Minecraft$11.(Lnet/minecraft/client/Minecraft;)V=|p_i1004_1_ +net/minecraft/client/Minecraft$12=CL_00000635 +net/minecraft/client/Minecraft$12.(Lnet/minecraft/client/Minecraft;)V=|p_i1005_1_ +net/minecraft/client/Minecraft$13=CL_00000636 +net/minecraft/client/Minecraft$13.(Lnet/minecraft/client/Minecraft;)V=|p_i2341_1_ +net/minecraft/client/Minecraft$14=CL_00000637 +net/minecraft/client/Minecraft$14.(Lnet/minecraft/client/Minecraft;)V=|p_i45002_1_ +net/minecraft/client/Minecraft$15=CL_00001853 +net/minecraft/client/Minecraft$15.(Lnet/minecraft/client/Minecraft;)V=|p_i1101_1_ +net/minecraft/client/Minecraft$16=CL_00001852 +net/minecraft/client/Minecraft$16.(Lnet/minecraft/client/Minecraft;)V=|p_i1099_1_ +net/minecraft/client/Minecraft$2=CL_00000639 +net/minecraft/client/Minecraft$2.(Lnet/minecraft/client/Minecraft;Ljava/lang/String;)V=|p_i45545_1_,p_i45545_2_ +net/minecraft/client/Minecraft$3=CL_00000640 +net/minecraft/client/Minecraft$3.(Lnet/minecraft/client/Minecraft;)V=|p_i1007_1_ +net/minecraft/client/Minecraft$4=CL_00000642 +net/minecraft/client/Minecraft$4.(Lnet/minecraft/client/Minecraft;)V=|p_i1008_1_ +net/minecraft/client/Minecraft$5=CL_00000643 +net/minecraft/client/Minecraft$5.(Lnet/minecraft/client/Minecraft;)V=|p_i1009_1_ +net/minecraft/client/Minecraft$6=CL_00000644 +net/minecraft/client/Minecraft$6.(Lnet/minecraft/client/Minecraft;)V=|p_i1010_1_ +net/minecraft/client/Minecraft$7=CL_00000645 +net/minecraft/client/Minecraft$7.(Lnet/minecraft/client/Minecraft;)V=|p_i1011_1_ +net/minecraft/client/Minecraft$8=CL_00000646 +net/minecraft/client/Minecraft$8.(Lnet/minecraft/client/Minecraft;)V=|p_i1012_1_ +net/minecraft/client/Minecraft$9=CL_00000647 +net/minecraft/client/Minecraft$9.(Lnet/minecraft/client/Minecraft;)V=|p_i1013_1_ +net/minecraft/client/Minecraft$SwitchEnumMinecartType=CL_00001959 +net/minecraft/client/Minecraft.(Lnet/minecraft/client/main/GameConfiguration;)V=|p_i45547_1_ +net/minecraft/client/Minecraft.func_110441_Q()V=org/lwjgl/LWJGLException| +net/minecraft/client/Minecraft.func_152340_a(Ljava/io/InputStream;)Ljava/nio/ByteBuffer;=java/io/IOException| +net/minecraft/client/Minecraft.func_175605_an()V=org.lwjgl.LWJGLException| +net/minecraft/client/Minecraft.func_175609_am()V=org.lwjgl.LWJGLException| +net/minecraft/client/Minecraft.func_71384_a()V=org/lwjgl/LWJGLException| +net/minecraft/client/Minecraft.func_71407_l()V=java.io.IOException| +net/minecraft/client/Minecraft.func_71411_J()V=java.io.IOException| +net/minecraft/client/audio/GuardianSound=CL_00002381 +net/minecraft/client/audio/GuardianSound.(Lnet/minecraft/entity/monster/EntityGuardian;)V=|p_i46071_1_ +net/minecraft/client/audio/ISound$AttenuationType=CL_00001126 +net/minecraft/client/audio/ISound$AttenuationType.(Ljava/lang/String;II)V=|p_i45110_1_,p_i45110_2_,p_i45110_3_ +net/minecraft/client/audio/MovingSound=CL_00001117 +net/minecraft/client/audio/MovingSound.(Lnet/minecraft/util/ResourceLocation;)V=|p_i45104_1_ +net/minecraft/client/audio/MovingSoundMinecart=CL_00001118 +net/minecraft/client/audio/MovingSoundMinecart.(Lnet/minecraft/entity/item/EntityMinecart;)V=|p_i45105_1_ +net/minecraft/client/audio/MovingSoundMinecartRiding=CL_00001119 +net/minecraft/client/audio/MovingSoundMinecartRiding.(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/entity/item/EntityMinecart;)V=|p_i45106_1_,p_i45106_2_ +net/minecraft/client/audio/MusicTicker=CL_00001138 +net/minecraft/client/audio/MusicTicker$MusicType=CL_00001139 +net/minecraft/client/audio/MusicTicker$MusicType.(Ljava/lang/String;ILnet/minecraft/util/ResourceLocation;II)V=|p_i45111_1_,p_i45111_2_,p_i45111_3_,p_i45111_4_,p_i45111_5_ +net/minecraft/client/audio/MusicTicker.(Lnet/minecraft/client/Minecraft;)V=|p_i45112_1_ +net/minecraft/client/audio/PositionedSound=CL_00001116 +net/minecraft/client/audio/PositionedSound.(Lnet/minecraft/util/ResourceLocation;)V=|p_i45103_1_ +net/minecraft/client/audio/PositionedSoundRecord=CL_00001120 +net/minecraft/client/audio/PositionedSoundRecord.(Lnet/minecraft/util/ResourceLocation;FFFFF)V=|p_i45107_1_,p_i45107_2_,p_i45107_3_,p_i45107_4_,p_i45107_5_,p_i45107_6_ +net/minecraft/client/audio/PositionedSoundRecord.(Lnet/minecraft/util/ResourceLocation;FFZILnet/minecraft/client/audio/ISound$AttenuationType;FFF)V=|p_i45108_1_,p_i45108_2_,p_i45108_3_,p_i45108_4_,p_i45108_5_,p_i45108_6_,p_i45108_7_,p_i45108_8_,p_i45108_9_ +net/minecraft/client/audio/SoundCategory=CL_00001686 +net/minecraft/client/audio/SoundCategory.(Ljava/lang/String;ILjava/lang/String;I)V=|p_i45126_1_,p_i45126_2_,p_i45126_3_,p_i45126_4_ +net/minecraft/client/audio/SoundEventAccessor=CL_00001153 +net/minecraft/client/audio/SoundEventAccessor.(Lnet/minecraft/client/audio/SoundPoolEntry;I)V=|p_i45123_1_,p_i45123_2_ +net/minecraft/client/audio/SoundEventAccessorComposite=CL_00001146 +net/minecraft/client/audio/SoundEventAccessorComposite.(Lnet/minecraft/util/ResourceLocation;DDLnet/minecraft/client/audio/SoundCategory;)V=|p_i45120_1_,p_i45120_2_,p_i45120_4_,p_i45120_6_ +net/minecraft/client/audio/SoundHandler=CL_00001147 +net/minecraft/client/audio/SoundHandler$1=CL_00001148 +net/minecraft/client/audio/SoundHandler$2=CL_00001149 +net/minecraft/client/audio/SoundHandler$2.(Lnet/minecraft/client/audio/SoundHandler;Ljava/lang/String;Lnet/minecraft/client/audio/SoundList$SoundEntry;)V=|p_i45121_1_,p_i45121_2_,p_i45121_3_ +net/minecraft/client/audio/SoundHandler$SwitchType=CL_00001150 +net/minecraft/client/audio/SoundHandler.(Lnet/minecraft/client/resources/IResourceManager;Lnet/minecraft/client/settings/GameSettings;)V=|p_i45122_1_,p_i45122_2_ +net/minecraft/client/audio/SoundList=CL_00001121 +net/minecraft/client/audio/SoundList$SoundEntry=CL_00001122 +net/minecraft/client/audio/SoundList$SoundEntry$Type=CL_00001123 +net/minecraft/client/audio/SoundList$SoundEntry$Type.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45109_1_,p_i45109_2_,p_i45109_3_ +net/minecraft/client/audio/SoundListSerializer=CL_00001124 +net/minecraft/client/audio/SoundManager=CL_00001141 +net/minecraft/client/audio/SoundManager$1=CL_00001142 +net/minecraft/client/audio/SoundManager$1$1=CL_00002378 +net/minecraft/client/audio/SoundManager$1$1.(Lnet/minecraft/client/audio/SoundManager$1;)V=|p_i46068_1_ +net/minecraft/client/audio/SoundManager$1.(Lnet/minecraft/client/audio/SoundManager;)V=|p_i1324_1_ +net/minecraft/client/audio/SoundManager$2=CL_00001143 +net/minecraft/client/audio/SoundManager$2$1=CL_00001144 +net/minecraft/client/audio/SoundManager$2$1.(Lnet/minecraft/client/audio/SoundManager$2;Ljava/net/URL;)V=|p_i45115_1_,p_i45115_2_ +net/minecraft/client/audio/SoundManager$2$1.getInputStream()Ljava/io/InputStream;=java/io/IOException| +net/minecraft/client/audio/SoundManager$2.(Lnet/minecraft/util/ResourceLocation;)V=|p_i45116_1_ +net/minecraft/client/audio/SoundManager$SoundSystemStarterThread=CL_00001145 +net/minecraft/client/audio/SoundManager$SoundSystemStarterThread.(Lnet/minecraft/client/audio/SoundManager;)V=|p_i45117_1_ +net/minecraft/client/audio/SoundManager$SoundSystemStarterThread.(Lnet/minecraft/client/audio/SoundManager;Lnet/minecraft/client/audio/SoundManager$1;)V=|p_i45118_1_,p_i45118_2_ +net/minecraft/client/audio/SoundManager.(Lnet/minecraft/client/audio/SoundHandler;Lnet/minecraft/client/settings/GameSettings;)V=|p_i45119_1_,p_i45119_2_ +net/minecraft/client/audio/SoundPoolEntry=CL_00001140 +net/minecraft/client/audio/SoundPoolEntry.(Lnet/minecraft/client/audio/SoundPoolEntry;)V=|p_i45114_1_ +net/minecraft/client/audio/SoundPoolEntry.(Lnet/minecraft/util/ResourceLocation;DDZ)V=|p_i45113_1_,p_i45113_2_,p_i45113_4_,p_i45113_6_ +net/minecraft/client/audio/SoundRegistry=CL_00001151 +net/minecraft/client/entity/AbstractClientPlayer=CL_00000935 +net/minecraft/client/entity/AbstractClientPlayer.(Lnet/minecraft/world/World;Lcom/mojang/authlib/GameProfile;)V=|p_i45074_1_,p_i45074_2_ +net/minecraft/client/entity/EntityOtherPlayerMP=CL_00000939 +net/minecraft/client/entity/EntityOtherPlayerMP.(Lnet/minecraft/world/World;Lcom/mojang/authlib/GameProfile;)V=|p_i45075_1_,p_i45075_2_ +net/minecraft/client/entity/EntityPlayerSP=CL_00000938 +net/minecraft/client/entity/EntityPlayerSP.(Lnet/minecraft/client/Minecraft;Lnet/minecraft/world/World;Lnet/minecraft/client/network/NetHandlerPlayClient;Lnet/minecraft/stats/StatFileWriter;)V=|p_i46278_1_,p_i46278_2_,p_i46278_3_,p_i46278_4_ +net/minecraft/client/gui/ChatLine=CL_00000627 +net/minecraft/client/gui/ChatLine.(ILnet/minecraft/util/IChatComponent;I)V=|p_i45000_1_,p_i45000_2_,p_i45000_3_ +net/minecraft/client/gui/FontRenderer=CL_00000660 +net/minecraft/client/gui/FontRenderer.(Lnet/minecraft/client/settings/GameSettings;Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/client/renderer/texture/TextureManager;Z)V=|p_i1035_1_,p_i1035_2_,p_i1035_3_,p_i1035_4_ +net/minecraft/client/gui/Gui=CL_00000662 +net/minecraft/client/gui/GuiButton=CL_00000668 +net/minecraft/client/gui/GuiButton.(IIIIILjava/lang/String;)V=|p_i46323_1_,p_i46323_2_,p_i46323_3_,p_i46323_4_,p_i46323_5_,p_i46323_6_ +net/minecraft/client/gui/GuiButton.(IIILjava/lang/String;)V=|p_i1020_1_,p_i1020_2_,p_i1020_3_,p_i1020_4_ +net/minecraft/client/gui/GuiButtonLanguage=CL_00000672 +net/minecraft/client/gui/GuiButtonLanguage.(III)V=|p_i1041_1_,p_i1041_2_,p_i1041_3_ +net/minecraft/client/gui/GuiButtonRealmsProxy=CL_00001848 +net/minecraft/client/gui/GuiButtonRealmsProxy.(Lnet/minecraft/realms/RealmsButton;IIILjava/lang/String;)V=|p_i46321_1_,p_i46321_2_,p_i46321_3_,p_i46321_4_,p_i46321_5_ +net/minecraft/client/gui/GuiButtonRealmsProxy.(Lnet/minecraft/realms/RealmsButton;IIILjava/lang/String;II)V=|p_i1090_1_,p_i1090_2_,p_i1090_3_,p_i1090_4_,p_i1090_5_,p_i1090_6_,p_i1090_7_ +net/minecraft/client/gui/GuiChat=CL_00000682 +net/minecraft/client/gui/GuiChat.(Ljava/lang/String;)V=|p_i1024_1_ +net/minecraft/client/gui/GuiChat.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiChat.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiChat.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy=CL_00001939 +net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy.(Lnet/minecraft/realms/RealmsClickableScrolledSelectionList;IIIII)V=|p_i45526_1_,p_i45526_2_,p_i45526_3_,p_i45526_4_,p_i45526_5_,p_i45526_6_ +net/minecraft/client/gui/GuiCommandBlock=CL_00000748 +net/minecraft/client/gui/GuiCommandBlock.(Lnet/minecraft/command/server/CommandBlockLogic;)V=|p_i45032_1_ +net/minecraft/client/gui/GuiCommandBlock.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiCommandBlock.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiCommandBlock.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiConfirmOpenLink=CL_00000683 +net/minecraft/client/gui/GuiConfirmOpenLink.(Lnet/minecraft/client/gui/GuiYesNoCallback;Ljava/lang/String;IZ)V=|p_i1084_1_,p_i1084_2_,p_i1084_3_,p_i1084_4_ +net/minecraft/client/gui/GuiConfirmOpenLink.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiControls=CL_00000736 +net/minecraft/client/gui/GuiControls.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/settings/GameSettings;)V=|p_i1027_1_,p_i1027_2_ +net/minecraft/client/gui/GuiControls.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiControls.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiControls.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiControls.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiCreateFlatWorld=CL_00000687 +net/minecraft/client/gui/GuiCreateFlatWorld$Details=CL_00000688 +net/minecraft/client/gui/GuiCreateFlatWorld$Details.(Lnet/minecraft/client/gui/GuiCreateFlatWorld;)V=|p_i45019_1_ +net/minecraft/client/gui/GuiCreateFlatWorld.(Lnet/minecraft/client/gui/GuiCreateWorld;Ljava/lang/String;)V=|p_i1029_1_,p_i1029_2_ +net/minecraft/client/gui/GuiCreateFlatWorld.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiCreateFlatWorld.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiCreateWorld=CL_00000689 +net/minecraft/client/gui/GuiCreateWorld.(Lnet/minecraft/client/gui/GuiScreen;)V=|p_i46320_1_ +net/minecraft/client/gui/GuiCreateWorld.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiCreateWorld.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiCreateWorld.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiCustomizeSkin=CL_00001932 +net/minecraft/client/gui/GuiCustomizeSkin$1=CL_00001931 +net/minecraft/client/gui/GuiCustomizeSkin$ButtonPart=CL_00001930 +net/minecraft/client/gui/GuiCustomizeSkin$ButtonPart.(Lnet/minecraft/client/gui/GuiCustomizeSkin;IIIIILnet/minecraft/entity/player/EnumPlayerModelParts;)V=|p_i45514_1_,p_i45514_2_,p_i45514_3_,p_i45514_4_,p_i45514_5_,p_i45514_6_,p_i45514_7_ +net/minecraft/client/gui/GuiCustomizeSkin$ButtonPart.(Lnet/minecraft/client/gui/GuiCustomizeSkin;IIIIILnet/minecraft/entity/player/EnumPlayerModelParts;Lnet/minecraft/client/gui/GuiCustomizeSkin$1;)V=|p_i45515_1_,p_i45515_2_,p_i45515_3_,p_i45515_4_,p_i45515_5_,p_i45515_6_,p_i45515_7_,p_i45515_8_ +net/minecraft/client/gui/GuiCustomizeSkin.(Lnet/minecraft/client/gui/GuiScreen;)V=|p_i45516_1_ +net/minecraft/client/gui/GuiCustomizeSkin.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiCustomizeWorldScreen=CL_00001934 +net/minecraft/client/gui/GuiCustomizeWorldScreen$1=CL_00001933 +net/minecraft/client/gui/GuiCustomizeWorldScreen$1.(Lnet/minecraft/client/gui/GuiCustomizeWorldScreen;)V=|p_i45520_1_ +net/minecraft/client/gui/GuiCustomizeWorldScreen.(Lnet/minecraft/client/gui/GuiScreen;Ljava/lang/String;)V=|p_i45521_1_,p_i45521_2_ +net/minecraft/client/gui/GuiCustomizeWorldScreen.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiCustomizeWorldScreen.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiCustomizeWorldScreen.func_175331_h()V=java.io.IOException| +net/minecraft/client/gui/GuiCustomizeWorldScreen.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiCustomizeWorldScreen.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiDisconnected=CL_00000693 +net/minecraft/client/gui/GuiDisconnected.(Lnet/minecraft/client/gui/GuiScreen;Ljava/lang/String;Lnet/minecraft/util/IChatComponent;)V=|p_i45020_1_,p_i45020_2_,p_i45020_3_ +net/minecraft/client/gui/GuiDisconnected.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiDisconnected.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiDownloadTerrain=CL_00000708 +net/minecraft/client/gui/GuiDownloadTerrain.(Lnet/minecraft/client/network/NetHandlerPlayClient;)V=|p_i45023_1_ +net/minecraft/client/gui/GuiDownloadTerrain.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiEnchantment=CL_00000757 +net/minecraft/client/gui/GuiEnchantment.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/world/World;Lnet/minecraft/world/IWorldNameable;)V=|p_i45502_1_,p_i45502_2_,p_i45502_3_ +net/minecraft/client/gui/GuiEnchantment.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiErrorScreen=CL_00000696 +net/minecraft/client/gui/GuiErrorScreen.(Ljava/lang/String;Ljava/lang/String;)V=|p_i46319_1_,p_i46319_2_ +net/minecraft/client/gui/GuiErrorScreen.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiErrorScreen.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiFlatPresets=CL_00000704 +net/minecraft/client/gui/GuiFlatPresets$LayerItem=CL_00000705 +net/minecraft/client/gui/GuiFlatPresets$LayerItem.(Lnet/minecraft/item/Item;ILjava/lang/String;Ljava/lang/String;)V=|p_i45518_1_,p_i45518_2_,p_i45518_3_,p_i45518_4_ +net/minecraft/client/gui/GuiFlatPresets$ListSlot=CL_00000706 +net/minecraft/client/gui/GuiFlatPresets$ListSlot.(Lnet/minecraft/client/gui/GuiFlatPresets;)V=|p_i1048_1_ +net/minecraft/client/gui/GuiFlatPresets.(Lnet/minecraft/client/gui/GuiCreateFlatWorld;)V=|p_i46318_1_ +net/minecraft/client/gui/GuiFlatPresets.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiFlatPresets.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiFlatPresets.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiFlatPresets.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiGameOver=CL_00000690 +net/minecraft/client/gui/GuiGameOver.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiGameOver.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiHopper=CL_00000759 +net/minecraft/client/gui/GuiHopper.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/inventory/IInventory;)V=|p_i1092_1_,p_i1092_2_ +net/minecraft/client/gui/GuiIngame=CL_00000661 +net/minecraft/client/gui/GuiIngame$1=CL_00001958 +net/minecraft/client/gui/GuiIngame$1.(Lnet/minecraft/client/gui/GuiIngame;)V=|p_i45544_1_ +net/minecraft/client/gui/GuiIngame.(Lnet/minecraft/client/Minecraft;)V=|p_i46325_1_ +net/minecraft/client/gui/GuiIngameMenu=CL_00000703 +net/minecraft/client/gui/GuiIngameMenu.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiKeyBindingList=CL_00000732 +net/minecraft/client/gui/GuiKeyBindingList$1=CL_00001845 +net/minecraft/client/gui/GuiKeyBindingList$CategoryEntry=CL_00000734 +net/minecraft/client/gui/GuiKeyBindingList$CategoryEntry.(Lnet/minecraft/client/gui/GuiKeyBindingList;Ljava/lang/String;)V=|p_i45028_1_,p_i45028_2_ +net/minecraft/client/gui/GuiKeyBindingList$KeyEntry=CL_00000735 +net/minecraft/client/gui/GuiKeyBindingList$KeyEntry.(Lnet/minecraft/client/gui/GuiKeyBindingList;Lnet/minecraft/client/settings/KeyBinding;)V=|p_i45029_1_,p_i45029_2_ +net/minecraft/client/gui/GuiKeyBindingList$KeyEntry.(Lnet/minecraft/client/gui/GuiKeyBindingList;Lnet/minecraft/client/settings/KeyBinding;Lnet/minecraft/client/gui/GuiKeyBindingList$1;)V=|p_i45030_1_,p_i45030_2_,p_i45030_3_ +net/minecraft/client/gui/GuiKeyBindingList.(Lnet/minecraft/client/gui/GuiControls;Lnet/minecraft/client/Minecraft;)V=|p_i45031_1_,p_i45031_2_ +net/minecraft/client/gui/GuiLabel=CL_00000671 +net/minecraft/client/gui/GuiLabel.(Lnet/minecraft/client/gui/FontRenderer;IIIIII)V=|p_i45540_1_,p_i45540_2_,p_i45540_3_,p_i45540_4_,p_i45540_5_,p_i45540_6_,p_i45540_7_ +net/minecraft/client/gui/GuiLanguage=CL_00000698 +net/minecraft/client/gui/GuiLanguage$List=CL_00000699 +net/minecraft/client/gui/GuiLanguage$List.(Lnet/minecraft/client/gui/GuiLanguage;Lnet/minecraft/client/Minecraft;)V=|p_i45519_1_,p_i45519_2_ +net/minecraft/client/gui/GuiLanguage.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/settings/GameSettings;Lnet/minecraft/client/resources/LanguageManager;)V=|p_i1043_1_,p_i1043_2_,p_i1043_3_ +net/minecraft/client/gui/GuiLanguage.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiLanguage.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiListButton=CL_00001953 +net/minecraft/client/gui/GuiListButton.(Lnet/minecraft/client/gui/GuiPageButtonList$GuiResponder;IIILjava/lang/String;Z)V=|p_i45539_1_,p_i45539_2_,p_i45539_3_,p_i45539_4_,p_i45539_5_,p_i45539_6_ +net/minecraft/client/gui/GuiListExtended=CL_00000674 +net/minecraft/client/gui/GuiListExtended.(Lnet/minecraft/client/Minecraft;IIIII)V=|p_i45010_1_,p_i45010_2_,p_i45010_3_,p_i45010_4_,p_i45010_5_,p_i45010_6_ +net/minecraft/client/gui/GuiLockIconButton=CL_00001952 +net/minecraft/client/gui/GuiLockIconButton$Icon=CL_00001951 +net/minecraft/client/gui/GuiLockIconButton$Icon.(Ljava/lang/String;III)V=|p_i45537_1_,p_i45537_2_,p_i45537_3_,p_i45537_4_ +net/minecraft/client/gui/GuiLockIconButton.(III)V=|p_i45538_1_,p_i45538_2_,p_i45538_3_ +net/minecraft/client/gui/GuiMainMenu=CL_00001154 +net/minecraft/client/gui/GuiMainMenu.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiMainMenu.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiMainMenu.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiMemoryErrorScreen=CL_00000702 +net/minecraft/client/gui/GuiMemoryErrorScreen.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiMemoryErrorScreen.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiMerchant=CL_00000762 +net/minecraft/client/gui/GuiMerchant$MerchantButton=CL_00000763 +net/minecraft/client/gui/GuiMerchant$MerchantButton.(IIIZ)V=|p_i1095_1_,p_i1095_2_,p_i1095_3_,p_i1095_4_ +net/minecraft/client/gui/GuiMerchant.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/IMerchant;Lnet/minecraft/world/World;)V=|p_i45500_1_,p_i45500_2_,p_i45500_3_ +net/minecraft/client/gui/GuiMerchant.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiMultiplayer=CL_00000814 +net/minecraft/client/gui/GuiMultiplayer.(Lnet/minecraft/client/gui/GuiScreen;)V=|p_i1040_1_ +net/minecraft/client/gui/GuiMultiplayer.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiMultiplayer.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiMultiplayer.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiMultiplayer.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiNewChat=CL_00000669 +net/minecraft/client/gui/GuiNewChat.(Lnet/minecraft/client/Minecraft;)V=|p_i1022_1_ +net/minecraft/client/gui/GuiOptionButton=CL_00000676 +net/minecraft/client/gui/GuiOptionButton.(IIIIILjava/lang/String;)V=|p_i45012_1_,p_i45012_2_,p_i45012_3_,p_i45012_4_,p_i45012_5_,p_i45012_6_ +net/minecraft/client/gui/GuiOptionButton.(IIILjava/lang/String;)V=|p_i45011_1_,p_i45011_2_,p_i45011_3_,p_i45011_4_ +net/minecraft/client/gui/GuiOptionButton.(IIILnet/minecraft/client/settings/GameSettings$Options;Ljava/lang/String;)V=|p_i45013_1_,p_i45013_2_,p_i45013_3_,p_i45013_4_,p_i45013_5_ +net/minecraft/client/gui/GuiOptionSlider=CL_00000680 +net/minecraft/client/gui/GuiOptionSlider.(IIILnet/minecraft/client/settings/GameSettings$Options;)V=|p_i45016_1_,p_i45016_2_,p_i45016_3_,p_i45016_4_ +net/minecraft/client/gui/GuiOptionSlider.(IIILnet/minecraft/client/settings/GameSettings$Options;FF)V=|p_i45017_1_,p_i45017_2_,p_i45017_3_,p_i45017_4_,p_i45017_5_,p_i45017_6_ +net/minecraft/client/gui/GuiOptions=CL_00000700 +net/minecraft/client/gui/GuiOptions$1=CL_00000701 +net/minecraft/client/gui/GuiOptions$1.(Lnet/minecraft/client/gui/GuiOptions;IIIIILjava/lang/String;)V=|p_i45021_1_,p_i45021_2_,p_i45021_3_,p_i45021_4_,p_i45021_5_,p_i45021_6_,p_i45021_7_ +net/minecraft/client/gui/GuiOptions.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/settings/GameSettings;)V=|p_i1046_1_,p_i1046_2_ +net/minecraft/client/gui/GuiOptions.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiOptionsRowList=CL_00000677 +net/minecraft/client/gui/GuiOptionsRowList$Row=CL_00000678 +net/minecraft/client/gui/GuiOptionsRowList$Row.(Lnet/minecraft/client/gui/GuiButton;Lnet/minecraft/client/gui/GuiButton;)V=|p_i45014_1_,p_i45014_2_ +net/minecraft/client/gui/GuiOptionsRowList.(Lnet/minecraft/client/Minecraft;IIIII[Lnet/minecraft/client/settings/GameSettings$Options;)V=|p_i45015_1_,p_i45015_2_,p_i45015_3_,p_i45015_4_,p_i45015_5_,p_i45015_6_,p_i45015_7_ +net/minecraft/client/gui/GuiOverlayDebug=CL_00001956 +net/minecraft/client/gui/GuiOverlayDebug$SwitchEnumFacing=CL_00001955 +net/minecraft/client/gui/GuiOverlayDebug.(Lnet/minecraft/client/Minecraft;)V=|p_i45543_1_ +net/minecraft/client/gui/GuiPageButtonList=CL_00001950 +net/minecraft/client/gui/GuiPageButtonList$EditBoxEntry=CL_00001948 +net/minecraft/client/gui/GuiPageButtonList$EditBoxEntry.(ILjava/lang/String;ZLcom/google/common/base/Predicate;)V=|p_i45534_1_,p_i45534_2_,p_i45534_3_,p_i45534_4_ +net/minecraft/client/gui/GuiPageButtonList$GuiButtonEntry=CL_00001949 +net/minecraft/client/gui/GuiPageButtonList$GuiButtonEntry.(ILjava/lang/String;ZZ)V=|p_i45535_1_,p_i45535_2_,p_i45535_3_,p_i45535_4_ +net/minecraft/client/gui/GuiPageButtonList$GuiEntry=CL_00001947 +net/minecraft/client/gui/GuiPageButtonList$GuiEntry.(Lnet/minecraft/client/gui/Gui;Lnet/minecraft/client/gui/Gui;)V=|p_i45533_1_,p_i45533_2_ +net/minecraft/client/gui/GuiPageButtonList$GuiLabelEntry=CL_00001946 +net/minecraft/client/gui/GuiPageButtonList$GuiLabelEntry.(ILjava/lang/String;Z)V=|p_i45532_1_,p_i45532_2_,p_i45532_3_ +net/minecraft/client/gui/GuiPageButtonList$GuiListEntry=CL_00001945 +net/minecraft/client/gui/GuiPageButtonList$GuiListEntry.(ILjava/lang/String;Z)V=|p_i45531_1_,p_i45531_2_,p_i45531_3_ +net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry=CL_00001944 +net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry.(ILjava/lang/String;ZLnet/minecraft/client/gui/GuiSlider$FormatHelper;FFF)V=|p_i45530_1_,p_i45530_2_,p_i45530_3_,p_i45530_4_,p_i45530_5_,p_i45530_6_,p_i45530_7_ +net/minecraft/client/gui/GuiPageButtonList.(Lnet/minecraft/client/Minecraft;IIIIILnet/minecraft/client/gui/GuiPageButtonList$GuiResponder;[[Lnet/minecraft/client/gui/GuiPageButtonList$GuiListEntry;)V=|p_i45536_1_,p_i45536_2_,p_i45536_3_,p_i45536_4_,p_i45536_5_,p_i45536_6_,p_i45536_7_,p_i45536_8_ +net/minecraft/client/network/NetworkPlayerInfo=CL_00000888 +net/minecraft/client/network/NetworkPlayerInfo$1=CL_00002619 +net/minecraft/client/network/NetworkPlayerInfo$1.(Lnet/minecraft/client/network/NetworkPlayerInfo;)V=|p_i46290_1_ +net/minecraft/client/network/NetworkPlayerInfo$SwitchType=CL_00002618 +net/minecraft/client/network/NetworkPlayerInfo.(Lcom/mojang/authlib/GameProfile;)V=|p_i46294_1_ +net/minecraft/client/network/NetworkPlayerInfo.(Lnet/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData;)V=|p_i46295_1_ +net/minecraft/client/gui/GuiPlayerTabOverlay=CL_00001943 +net/minecraft/client/gui/GuiPlayerTabOverlay$1=CL_00001942 +net/minecraft/client/gui/GuiPlayerTabOverlay$PlayerComparator=CL_00001941 +net/minecraft/client/gui/GuiPlayerTabOverlay$PlayerComparator.(Lnet/minecraft/client/gui/GuiPlayerTabOverlay$1;)V=|p_i45528_1_ +net/minecraft/client/gui/GuiPlayerTabOverlay.(Lnet/minecraft/client/Minecraft;Lnet/minecraft/client/gui/GuiIngame;)V=|p_i45529_1_,p_i45529_2_ +net/minecraft/client/gui/GuiRenameWorld=CL_00000709 +net/minecraft/client/gui/GuiRenameWorld.(Lnet/minecraft/client/gui/GuiScreen;Ljava/lang/String;)V=|p_i46317_1_,p_i46317_2_ +net/minecraft/client/gui/GuiRenameWorld.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiRenameWorld.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiRenameWorld.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiRepair=CL_00000738 +net/minecraft/client/gui/GuiRepair.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/world/World;)V=|p_i45508_1_,p_i45508_2_ +net/minecraft/client/gui/GuiRepair.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiRepair.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiResourcePackAvailable=CL_00000824 +net/minecraft/client/gui/GuiResourcePackAvailable.(Lnet/minecraft/client/Minecraft;IILjava/util/List;)V=|p_i45054_1_,p_i45054_2_,p_i45054_3_,p_i45054_4_ +net/minecraft/client/gui/GuiResourcePackList=CL_00000825 +net/minecraft/client/gui/GuiResourcePackList.(Lnet/minecraft/client/Minecraft;IILjava/util/List;)V=|p_i45055_1_,p_i45055_2_,p_i45055_3_,p_i45055_4_ +net/minecraft/client/gui/GuiResourcePackSelected=CL_00000827 +net/minecraft/client/gui/GuiResourcePackSelected.(Lnet/minecraft/client/Minecraft;IILjava/util/List;)V=|p_i45056_1_,p_i45056_2_,p_i45056_3_,p_i45056_4_ +net/minecraft/client/gui/GuiScreen=CL_00000710 +net/minecraft/client/gui/GuiScreen.func_146269_k()V=java.io.IOException| +net/minecraft/client/gui/GuiScreen.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiScreen.func_146282_l()V=java.io.IOException| +net/minecraft/client/gui/GuiScreen.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiScreen.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiScreen.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenAddServer=CL_00000695 +net/minecraft/client/gui/GuiScreenAddServer.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/multiplayer/ServerData;)V=|p_i1033_1_,p_i1033_2_ +net/minecraft/client/gui/GuiScreenAddServer.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenAddServer.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenAddServer.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenBook=CL_00000744 +net/minecraft/client/gui/GuiScreenBook$NextPageButton=CL_00000745 +net/minecraft/client/gui/GuiScreenBook$NextPageButton.(IIIZ)V=|p_i46316_1_,p_i46316_2_,p_i46316_3_,p_i46316_4_ +net/minecraft/client/gui/GuiScreenBook.(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/item/ItemStack;Z)V=|p_i1080_1_,p_i1080_2_,p_i1080_3_ +net/minecraft/client/gui/GuiScreenBook.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenBook.func_146460_c(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenBook.func_146462_a(Z)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenBook.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenBook.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenCustomizePresets=CL_00001937 +net/minecraft/client/gui/GuiScreenCustomizePresets$Info=CL_00001936 +net/minecraft/client/gui/GuiScreenCustomizePresets$Info.(Ljava/lang/String;Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/world/gen/ChunkProviderSettings$Factory;)V=|p_i45523_1_,p_i45523_2_,p_i45523_3_ +net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset=CL_00001935 +net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset.(Lnet/minecraft/client/gui/GuiScreenCustomizePresets;)V=|p_i45522_1_ +net/minecraft/client/gui/GuiScreenCustomizePresets.(Lnet/minecraft/client/gui/GuiCustomizeWorldScreen;)V=|p_i45524_1_ +net/minecraft/client/gui/GuiScreenCustomizePresets.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiScreenCustomizePresets.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenCustomizePresets.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenCustomizePresets.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenDemo=CL_00000691 +net/minecraft/client/gui/GuiScreenDemo.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenOptionsSounds=CL_00000716 +net/minecraft/client/gui/GuiScreenOptionsSounds$Button=CL_00000717 +net/minecraft/client/gui/GuiScreenOptionsSounds$Button.(Lnet/minecraft/client/gui/GuiScreenOptionsSounds;IIILnet/minecraft/client/audio/SoundCategory;Z)V=|p_i45024_1_,p_i45024_2_,p_i45024_3_,p_i45024_4_,p_i45024_5_,p_i45024_6_ +net/minecraft/client/gui/GuiScreenOptionsSounds.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/settings/GameSettings;)V=|p_i45025_1_,p_i45025_2_ +net/minecraft/client/gui/GuiScreenOptionsSounds.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenRealmsProxy=CL_00001847 +net/minecraft/client/gui/GuiScreenRealmsProxy.(Lnet/minecraft/realms/RealmsScreen;)V=|p_i1087_1_ +net/minecraft/client/gui/GuiScreenRealmsProxy.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiScreenRealmsProxy.func_146282_l()V=java.io.IOException| +net/minecraft/client/gui/GuiScreenRealmsProxy.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenRealmsProxy.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenRealmsProxy.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenResourcePacks=CL_00000820 +net/minecraft/client/gui/GuiScreenResourcePacks.(Lnet/minecraft/client/gui/GuiScreen;)V=|p_i45050_1_ +net/minecraft/client/gui/GuiScreenResourcePacks.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiScreenResourcePacks.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenResourcePacks.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenServerList=CL_00000692 +net/minecraft/client/gui/GuiScreenServerList.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/multiplayer/ServerData;)V=|p_i1031_1_,p_i1031_2_ +net/minecraft/client/gui/GuiScreenServerList.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenServerList.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenServerList.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiScreenWorking=CL_00000707 +net/minecraft/client/gui/GuiSelectWorld=CL_00000711 +net/minecraft/client/gui/GuiSelectWorld$List=CL_00000712 +net/minecraft/client/gui/GuiSelectWorld$List.(Lnet/minecraft/client/gui/GuiSelectWorld;Lnet/minecraft/client/Minecraft;)V=|p_i45517_1_,p_i45517_2_ +net/minecraft/client/gui/GuiSelectWorld.(Lnet/minecraft/client/gui/GuiScreen;)V=|p_i1054_1_ +net/minecraft/client/gui/GuiSelectWorld.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiSelectWorld.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiSelectWorld.func_146627_h()V=net/minecraft/client/AnvilConverterException| +net/minecraft/client/gui/GuiShareToLan=CL_00000713 +net/minecraft/client/gui/GuiShareToLan.(Lnet/minecraft/client/gui/GuiScreen;)V=|p_i1055_1_ +net/minecraft/client/gui/GuiShareToLan.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy=CL_00001938 +net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy.(Lnet/minecraft/realms/RealmsSimpleScrolledSelectionList;IIIII)V=|p_i45525_1_,p_i45525_2_,p_i45525_3_,p_i45525_4_,p_i45525_5_,p_i45525_6_ +net/minecraft/client/gui/GuiSleepMP=CL_00000697 +net/minecraft/client/gui/GuiSleepMP.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiSleepMP.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiSlider=CL_00001954 +net/minecraft/client/gui/GuiSlider.(Lnet/minecraft/client/gui/GuiPageButtonList$GuiResponder;IIILjava/lang/String;FFFLnet/minecraft/client/gui/GuiSlider$FormatHelper;)V=|p_i45541_1_,p_i45541_2_,p_i45541_3_,p_i45541_4_,p_i45541_5_,p_i45541_6_,p_i45541_7_,p_i45541_8_,p_i45541_9_ +net/minecraft/client/gui/GuiSlot=CL_00000679 +net/minecraft/client/gui/GuiSlot.(Lnet/minecraft/client/Minecraft;IIIII)V=|p_i1052_1_,p_i1052_2_,p_i1052_3_,p_i1052_4_,p_i1052_5_,p_i1052_6_ +net/minecraft/client/gui/GuiSlotRealmsProxy=CL_00001846 +net/minecraft/client/gui/GuiSlotRealmsProxy.(Lnet/minecraft/realms/RealmsScrolledSelectionList;IIIII)V=|p_i1085_1_,p_i1085_2_,p_i1085_3_,p_i1085_4_,p_i1085_5_,p_i1085_6_ +net/minecraft/client/gui/GuiSnooper=CL_00000714 +net/minecraft/client/gui/GuiSnooper$List=CL_00000715 +net/minecraft/client/gui/GuiSnooper$List.(Lnet/minecraft/client/gui/GuiSnooper;)V=|p_i1060_1_ +net/minecraft/client/gui/GuiSnooper.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/settings/GameSettings;)V=|p_i1061_1_,p_i1061_2_ +net/minecraft/client/gui/GuiSnooper.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiSnooper.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiSpectator=CL_00001940 +net/minecraft/client/gui/GuiSpectator.(Lnet/minecraft/client/Minecraft;)V=|p_i45527_1_ +net/minecraft/client/gui/GuiStreamIndicator=CL_00001849 +net/minecraft/client/gui/GuiStreamIndicator.(Lnet/minecraft/client/Minecraft;)V=|p_i46322_1_ +net/minecraft/client/gui/GuiTextField=CL_00000670 +net/minecraft/client/gui/GuiTextField.(ILnet/minecraft/client/gui/FontRenderer;IIII)V=|p_i45542_1_,p_i45542_2_,p_i45542_3_,p_i45542_4_,p_i45542_5_,p_i45542_6_ +net/minecraft/client/gui/GuiUtilRenderComponents=CL_00001957 +net/minecraft/client/gui/GuiVideoSettings=CL_00000718 +net/minecraft/client/gui/GuiVideoSettings.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/settings/GameSettings;)V=|p_i1062_1_,p_i1062_2_ +net/minecraft/client/gui/GuiVideoSettings.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/GuiVideoSettings.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/GuiVideoSettings.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/GuiWinGame=CL_00000719 +net/minecraft/client/gui/GuiWinGame.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/GuiYesNo=CL_00000684 +net/minecraft/client/gui/GuiYesNo.(Lnet/minecraft/client/gui/GuiYesNoCallback;Ljava/lang/String;Ljava/lang/String;I)V=|p_i1082_1_,p_i1082_2_,p_i1082_3_,p_i1082_4_ +net/minecraft/client/gui/GuiYesNo.(Lnet/minecraft/client/gui/GuiYesNoCallback;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V=|p_i1083_1_,p_i1083_2_,p_i1083_3_,p_i1083_4_,p_i1083_5_,p_i1083_6_ +net/minecraft/client/gui/GuiYesNo.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/MapItemRenderer=CL_00000663 +net/minecraft/client/gui/MapItemRenderer$1=CL_00001850 +net/minecraft/client/gui/MapItemRenderer$Instance=CL_00000665 +net/minecraft/client/gui/MapItemRenderer$Instance.(Lnet/minecraft/client/gui/MapItemRenderer;Lnet/minecraft/world/storage/MapData;)V=|p_i45007_1_,p_i45007_2_ +net/minecraft/client/gui/MapItemRenderer$Instance.(Lnet/minecraft/client/gui/MapItemRenderer;Lnet/minecraft/world/storage/MapData;Lnet/minecraft/client/gui/MapItemRenderer$1;)V=|p_i45008_1_,p_i45008_2_,p_i45008_3_ +net/minecraft/client/gui/MapItemRenderer.(Lnet/minecraft/client/renderer/texture/TextureManager;)V=|p_i45009_1_ +net/minecraft/client/gui/ScaledResolution=CL_00000666 +net/minecraft/client/gui/ScaledResolution.(Lnet/minecraft/client/Minecraft;II)V=|p_i46324_1_,p_i46324_2_,p_i46324_3_ +net/minecraft/client/gui/ScreenChatOptions=CL_00000681 +net/minecraft/client/gui/ScreenChatOptions.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/settings/GameSettings;)V=|p_i1023_1_,p_i1023_2_ +net/minecraft/client/gui/ScreenChatOptions.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/ServerListEntryLanDetected=CL_00000816 +net/minecraft/client/gui/ServerListEntryLanDetected.(Lnet/minecraft/client/gui/GuiMultiplayer;Lnet/minecraft/client/network/LanServerDetector$LanServer;)V=|p_i45046_1_,p_i45046_2_ +net/minecraft/client/gui/ServerListEntryLanScan=CL_00000815 +net/minecraft/client/gui/ServerListEntryNormal=CL_00000817 +net/minecraft/client/gui/ServerListEntryNormal$1=CL_00000818 +net/minecraft/client/gui/ServerListEntryNormal$1.(Lnet/minecraft/client/gui/ServerListEntryNormal;)V=|p_i45047_1_ +net/minecraft/client/gui/ServerListEntryNormal.(Lnet/minecraft/client/gui/GuiMultiplayer;Lnet/minecraft/client/multiplayer/ServerData;)V=|p_i45048_1_,p_i45048_2_ +net/minecraft/client/gui/ServerSelectionList=CL_00000819 +net/minecraft/client/gui/ServerSelectionList.(Lnet/minecraft/client/gui/GuiMultiplayer;Lnet/minecraft/client/Minecraft;IIIII)V=|p_i45049_1_,p_i45049_2_,p_i45049_3_,p_i45049_4_,p_i45049_5_,p_i45049_6_,p_i45049_7_ +net/minecraft/client/gui/achievement/GuiAchievement=CL_00000721 +net/minecraft/client/gui/achievement/GuiAchievement.(Lnet/minecraft/client/Minecraft;)V=|p_i1063_1_ +net/minecraft/client/gui/achievement/GuiAchievements=CL_00000722 +net/minecraft/client/gui/achievement/GuiAchievements.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/stats/StatFileWriter;)V=|p_i45026_1_,p_i45026_2_ +net/minecraft/client/gui/achievement/GuiAchievements.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/achievement/GuiAchievements.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/achievement/GuiStats=CL_00000723 +net/minecraft/client/gui/achievement/GuiStats$Stats=CL_00000730 +net/minecraft/client/gui/achievement/GuiStats$Stats.(Lnet/minecraft/client/gui/achievement/GuiStats;Lnet/minecraft/client/Minecraft;)V=|p_i45509_1_,p_i45509_2_ +net/minecraft/client/gui/achievement/GuiStats$StatsBlock=CL_00000724 +net/minecraft/client/gui/achievement/GuiStats$StatsBlock$1=CL_00000725 +net/minecraft/client/gui/achievement/GuiStats$StatsBlock$1.(Lnet/minecraft/client/gui/achievement/GuiStats$StatsBlock;Lnet/minecraft/client/gui/achievement/GuiStats;)V=|p_i1065_1_,p_i1065_2_ +net/minecraft/client/gui/achievement/GuiStats$StatsBlock.(Lnet/minecraft/client/gui/achievement/GuiStats;Lnet/minecraft/client/Minecraft;)V=|p_i45513_1_,p_i45513_2_ +net/minecraft/client/gui/achievement/GuiStats$StatsGeneral=CL_00000726 +net/minecraft/client/gui/achievement/GuiStats$StatsGeneral.(Lnet/minecraft/client/gui/achievement/GuiStats;Lnet/minecraft/client/Minecraft;)V=|p_i45512_1_,p_i45512_2_ +net/minecraft/client/gui/achievement/GuiStats$StatsItem=CL_00000727 +net/minecraft/client/gui/achievement/GuiStats$StatsItem$1=CL_00000728 +net/minecraft/client/gui/achievement/GuiStats$StatsItem$1.(Lnet/minecraft/client/gui/achievement/GuiStats$StatsItem;Lnet/minecraft/client/gui/achievement/GuiStats;)V=|p_i1068_1_,p_i1068_2_ +net/minecraft/client/gui/achievement/GuiStats$StatsItem.(Lnet/minecraft/client/gui/achievement/GuiStats;Lnet/minecraft/client/Minecraft;)V=|p_i45511_1_,p_i45511_2_ +net/minecraft/client/gui/achievement/GuiStats$StatsMobsList=CL_00000729 +net/minecraft/client/gui/achievement/GuiStats$StatsMobsList.(Lnet/minecraft/client/gui/achievement/GuiStats;Lnet/minecraft/client/Minecraft;)V=|p_i45510_1_,p_i45510_2_ +net/minecraft/client/gui/achievement/GuiStats.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/stats/StatFileWriter;)V=|p_i1071_1_,p_i1071_2_ +net/minecraft/client/gui/achievement/GuiStats.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/achievement/GuiStats.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/inventory/CreativeCrafting=CL_00000751 +net/minecraft/client/gui/inventory/CreativeCrafting.(Lnet/minecraft/client/Minecraft;)V=|p_i46314_1_ +net/minecraft/client/gui/inventory/GuiBeacon=CL_00000739 +net/minecraft/client/gui/inventory/GuiBeacon$Button=CL_00000743 +net/minecraft/client/gui/inventory/GuiBeacon$Button.(IIILnet/minecraft/util/ResourceLocation;II)V=|p_i1077_1_,p_i1077_2_,p_i1077_3_,p_i1077_4_,p_i1077_5_,p_i1077_6_ +net/minecraft/client/gui/inventory/GuiBeacon$CancelButton=CL_00000740 +net/minecraft/client/gui/inventory/GuiBeacon$CancelButton.(Lnet/minecraft/client/gui/inventory/GuiBeacon;III)V=|p_i1074_1_,p_i1074_2_,p_i1074_3_,p_i1074_4_ +net/minecraft/client/gui/inventory/GuiBeacon$ConfirmButton=CL_00000741 +net/minecraft/client/gui/inventory/GuiBeacon$ConfirmButton.(Lnet/minecraft/client/gui/inventory/GuiBeacon;III)V=|p_i1075_1_,p_i1075_2_,p_i1075_3_,p_i1075_4_ +net/minecraft/client/gui/inventory/GuiBeacon$PowerButton=CL_00000742 +net/minecraft/client/gui/inventory/GuiBeacon$PowerButton.(Lnet/minecraft/client/gui/inventory/GuiBeacon;IIIII)V=|p_i1076_1_,p_i1076_2_,p_i1076_3_,p_i1076_4_,p_i1076_5_,p_i1076_6_ +net/minecraft/client/gui/inventory/GuiBeacon.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/inventory/IInventory;)V=|p_i45507_1_,p_i45507_2_ +net/minecraft/client/gui/inventory/GuiBeacon.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/inventory/GuiBrewingStand=CL_00000746 +net/minecraft/client/gui/inventory/GuiBrewingStand.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/inventory/IInventory;)V=|p_i45506_1_,p_i45506_2_ +net/minecraft/client/gui/inventory/GuiChest=CL_00000749 +net/minecraft/client/gui/inventory/GuiChest.(Lnet/minecraft/inventory/IInventory;Lnet/minecraft/inventory/IInventory;)V=|p_i46315_1_,p_i46315_2_ +net/minecraft/client/gui/inventory/GuiContainer=CL_00000737 +net/minecraft/client/gui/inventory/GuiContainer.(Lnet/minecraft/inventory/Container;)V=|p_i1072_1_ +net/minecraft/client/gui/inventory/GuiContainer.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/inventory/GuiContainer.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/inventory/GuiContainerCreative=CL_00000752 +net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative=CL_00000753 +net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative.(Lnet/minecraft/entity/player/EntityPlayer;)V=|p_i1086_1_ +net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot=CL_00000754 +net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot.(Lnet/minecraft/client/gui/inventory/GuiContainerCreative;Lnet/minecraft/inventory/Slot;I)V=|p_i46313_1_,p_i46313_2_,p_i46313_3_ +net/minecraft/client/gui/inventory/GuiContainerCreative.(Lnet/minecraft/entity/player/EntityPlayer;)V=|p_i1088_1_ +net/minecraft/client/gui/inventory/GuiContainerCreative.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/inventory/GuiContainerCreative.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/inventory/GuiContainerCreative.func_73864_a(III)V=java.io.IOException| +net/minecraft/client/gui/inventory/GuiContainerCreative.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/inventory/GuiCrafting=CL_00000750 +net/minecraft/client/gui/inventory/GuiCrafting.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/world/World;)V=|p_i45504_1_,p_i45504_2_ +net/minecraft/client/gui/inventory/GuiCrafting.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V=|p_i45505_1_,p_i45505_2_,p_i45505_3_ +net/minecraft/client/gui/inventory/GuiDispenser=CL_00000765 +net/minecraft/client/gui/inventory/GuiDispenser.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/inventory/IInventory;)V=|p_i45503_1_,p_i45503_2_ +net/minecraft/client/gui/inventory/GuiEditSign=CL_00000764 +net/minecraft/client/gui/inventory/GuiEditSign.(Lnet/minecraft/tileentity/TileEntitySign;)V=|p_i1097_1_ +net/minecraft/client/gui/inventory/GuiEditSign.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/inventory/GuiEditSign.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/gui/inventory/GuiFurnace=CL_00000758 +net/minecraft/client/gui/inventory/GuiFurnace.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/inventory/IInventory;)V=|p_i45501_1_,p_i45501_2_ +net/minecraft/client/gui/inventory/GuiInventory=CL_00000761 +net/minecraft/client/gui/inventory/GuiInventory.(Lnet/minecraft/entity/player/EntityPlayer;)V=|p_i1094_1_ +net/minecraft/client/gui/inventory/GuiInventory.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/inventory/GuiScreenHorseInventory=CL_00000760 +net/minecraft/client/gui/inventory/GuiScreenHorseInventory.(Lnet/minecraft/inventory/IInventory;Lnet/minecraft/inventory/IInventory;Lnet/minecraft/entity/passive/EntityHorse;)V=|p_i1093_1_,p_i1093_2_,p_i1093_3_ +net/minecraft/client/gui/spectator/BaseSpectatorGroup=CL_00001928 +net/minecraft/client/gui/spectator/PlayerMenuObject=CL_00001929 +net/minecraft/client/gui/spectator/PlayerMenuObject.(Lcom/mojang/authlib/GameProfile;)V=|p_i45498_1_ +net/minecraft/client/gui/spectator/SpectatorMenu=CL_00001927 +net/minecraft/client/gui/spectator/SpectatorMenu$1=CL_00001926 +net/minecraft/client/gui/spectator/SpectatorMenu$EndSpectatorObject=CL_00001925 +net/minecraft/client/gui/spectator/SpectatorMenu$EndSpectatorObject.(Lnet/minecraft/client/gui/spectator/SpectatorMenu$1;)V=|p_i45496_1_ +net/minecraft/client/gui/spectator/SpectatorMenu$MoveMenuObject=CL_00001924 +net/minecraft/client/gui/spectator/SpectatorMenu$MoveMenuObject.(IZ)V=|p_i45495_1_,p_i45495_2_ +net/minecraft/client/gui/spectator/SpectatorMenu.(Lnet/minecraft/client/gui/spectator/ISpectatorMenuRecipient;)V=|p_i45497_1_ +net/minecraft/client/gui/spectator/categories/SpectatorDetails=CL_00001923 +net/minecraft/client/gui/spectator/categories/SpectatorDetails.(Lnet/minecraft/client/gui/spectator/ISpectatorMenuView;Ljava/util/List;I)V=|p_i45494_1_,p_i45494_2_,p_i45494_3_ +net/minecraft/client/gui/spectator/categories/TeleportToPlayer=CL_00001922 +net/minecraft/client/gui/spectator/categories/TeleportToPlayer$1=CL_00001921 +net/minecraft/client/gui/spectator/categories/TeleportToPlayer.(Ljava/util/Collection;)V=|p_i45493_1_ +net/minecraft/client/gui/spectator/categories/TeleportToTeam=CL_00001920 +net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject=CL_00001919 +net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject.(Lnet/minecraft/client/gui/spectator/categories/TeleportToTeam;Lnet/minecraft/scoreboard/ScorePlayerTeam;)V=|p_i45492_1_,p_i45492_2_ +net/minecraft/client/gui/stream/GuiIngestServers=CL_00001843 +net/minecraft/client/gui/stream/GuiIngestServers$ServerList=CL_00001842 +net/minecraft/client/gui/stream/GuiIngestServers$ServerList.(Lnet/minecraft/client/gui/stream/GuiIngestServers;Lnet/minecraft/client/Minecraft;)V=|p_i45499_1_,p_i45499_2_ +net/minecraft/client/gui/stream/GuiIngestServers.(Lnet/minecraft/client/gui/GuiScreen;)V=|p_i46312_1_ +net/minecraft/client/gui/stream/GuiIngestServers.func_146274_d()V=java.io.IOException| +net/minecraft/client/gui/stream/GuiIngestServers.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/stream/GuiStreamOptions=CL_00001841 +net/minecraft/client/gui/stream/GuiStreamOptions.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/settings/GameSettings;)V=|p_i1073_1_,p_i1073_2_ +net/minecraft/client/gui/stream/GuiStreamOptions.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/stream/GuiStreamUnavailable=CL_00001840 +net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason=CL_00001838 +net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason.(Ljava/lang/String;ILnet/minecraft/util/IChatComponent;)V=|p_i1066_1_,p_i1066_2_,p_i1066_3_ +net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason.(Ljava/lang/String;ILnet/minecraft/util/IChatComponent;Lnet/minecraft/util/IChatComponent;)V=|p_i1067_1_,p_i1067_2_,p_i1067_3_,p_i1067_4_ +net/minecraft/client/gui/stream/GuiStreamUnavailable$SwitchReason=CL_00001839 +net/minecraft/client/gui/stream/GuiStreamUnavailable.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/gui/stream/GuiStreamUnavailable$Reason;)V=|p_i1070_1_,p_i1070_2_ +net/minecraft/client/gui/stream/GuiStreamUnavailable.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/gui/stream/GuiStreamUnavailable$Reason;Ljava/util/List;)V=|p_i46311_1_,p_i46311_2_,p_i46311_3_ +net/minecraft/client/gui/stream/GuiStreamUnavailable.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/gui/stream/GuiTwitchUserMode=CL_00001837 +net/minecraft/client/gui/stream/GuiTwitchUserMode.(Lnet/minecraft/client/stream/IStream;Ltv/twitch/chat/ChatUserInfo;)V=|p_i1064_1_,p_i1064_2_ +net/minecraft/client/gui/stream/GuiTwitchUserMode.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/main/GameConfiguration=CL_00001918 +net/minecraft/client/main/GameConfiguration$DisplayInformation=CL_00001917 +net/minecraft/client/main/GameConfiguration$DisplayInformation.(IIZZ)V=|p_i45490_1_,p_i45490_2_,p_i45490_3_,p_i45490_4_ +net/minecraft/client/main/GameConfiguration$FolderInformation=CL_00001916 +net/minecraft/client/main/GameConfiguration$FolderInformation.(Ljava/io/File;Ljava/io/File;Ljava/io/File;Ljava/lang/String;)V=|p_i45489_1_,p_i45489_2_,p_i45489_3_,p_i45489_4_ +net/minecraft/client/main/GameConfiguration$GameInformation=CL_00001915 +net/minecraft/client/main/GameConfiguration$GameInformation.(ZLjava/lang/String;)V=|p_i45488_1_,p_i45488_2_ +net/minecraft/client/main/GameConfiguration$ServerInformation=CL_00001914 +net/minecraft/client/main/GameConfiguration$ServerInformation.(Ljava/lang/String;I)V=|p_i45487_1_,p_i45487_2_ +net/minecraft/client/main/GameConfiguration$UserInformation=CL_00001913 +net/minecraft/client/main/GameConfiguration$UserInformation.(Lnet/minecraft/util/Session;Lcom/mojang/authlib/properties/PropertyMap;Ljava/net/Proxy;)V=|p_i45486_1_,p_i45486_2_,p_i45486_3_ +net/minecraft/client/main/GameConfiguration.(Lnet/minecraft/client/main/GameConfiguration$UserInformation;Lnet/minecraft/client/main/GameConfiguration$DisplayInformation;Lnet/minecraft/client/main/GameConfiguration$FolderInformation;Lnet/minecraft/client/main/GameConfiguration$GameInformation;Lnet/minecraft/client/main/GameConfiguration$ServerInformation;)V=|p_i45491_1_,p_i45491_2_,p_i45491_3_,p_i45491_4_,p_i45491_5_ +net/minecraft/client/main/Main=CL_00001461 +net/minecraft/client/main/Main$1=CL_00000828 +net/minecraft/client/main/Main$1.(Ljava/lang/String;Ljava/lang/String;)V=|p_i45485_1_,p_i45485_2_ +net/minecraft/client/main/Main$2=CL_00000829 +net/minecraft/client/main/Main$2.(Ljava/lang/String;)V=|p_i45484_1_ +net/minecraft/client/model/ModelArmorStand=CL_00002631 +net/minecraft/client/model/ModelArmorStand.(F)V=|p_i46306_1_ +net/minecraft/client/model/ModelArmorStandArmor=CL_00002632 +net/minecraft/client/model/ModelArmorStandArmor.(F)V=|p_i46307_1_ +net/minecraft/client/model/ModelArmorStandArmor.(FII)V=|p_i46308_1_,p_i46308_2_,p_i46308_3_ +net/minecraft/client/model/ModelBanner=CL_00002630 +net/minecraft/client/model/ModelBase=CL_00000845 +net/minecraft/client/model/ModelBat=CL_00000830 +net/minecraft/client/model/ModelBiped=CL_00000840 +net/minecraft/client/model/ModelBiped.(F)V=|p_i1148_1_ +net/minecraft/client/model/ModelBiped.(FFII)V=|p_i1149_1_,p_i1149_2_,p_i1149_3_,p_i1149_4_ +net/minecraft/client/model/ModelBlaze=CL_00000831 +net/minecraft/client/model/ModelBoat=CL_00000832 +net/minecraft/client/model/ModelBook=CL_00000833 +net/minecraft/client/model/ModelBox=CL_00000872 +net/minecraft/client/model/ModelBox.(Lnet/minecraft/client/model/ModelRenderer;IIFFFIIIF)V=|p_i46359_1_,p_i46359_2_,p_i46359_3_,p_i46359_4_,p_i46359_5_,p_i46359_6_,p_i46359_7_,p_i46359_8_,p_i46359_9_,p_i46359_10_ +net/minecraft/client/model/ModelBox.(Lnet/minecraft/client/model/ModelRenderer;IIFFFIIIFZ)V=|p_i46301_1_,p_i46301_2_,p_i46301_3_,p_i46301_4_,p_i46301_5_,p_i46301_6_,p_i46301_7_,p_i46301_8_,p_i46301_9_,p_i46301_10_,p_i46301_11_ +net/minecraft/client/model/ModelChest=CL_00000834 +net/minecraft/client/model/ModelChicken=CL_00000835 +net/minecraft/client/model/ModelCow=CL_00000836 +net/minecraft/client/model/ModelCreeper=CL_00000837 +net/minecraft/client/model/ModelCreeper.(F)V=|p_i46366_1_ +net/minecraft/client/model/ModelDragon=CL_00000870 +net/minecraft/client/model/ModelDragon.(F)V=|p_i46360_1_ +net/minecraft/client/model/ModelEnderCrystal=CL_00000871 +net/minecraft/client/model/ModelEnderCrystal.(FZ)V=|p_i1170_1_,p_i1170_2_ +net/minecraft/client/model/ModelEnderMite=CL_00002629 +net/minecraft/client/model/ModelEnderman=CL_00000838 +net/minecraft/client/model/ModelEnderman.(F)V=|p_i46305_1_ +net/minecraft/client/model/ModelGhast=CL_00000839 +net/minecraft/client/model/ModelGuardian=CL_00002628 +net/minecraft/client/model/ModelHorse=CL_00000846 +net/minecraft/client/model/ModelHumanoidHead=CL_00002627 +net/minecraft/client/model/ModelIronGolem=CL_00000863 +net/minecraft/client/model/ModelIronGolem.(F)V=|p_i1161_1_ +net/minecraft/client/model/ModelIronGolem.(FF)V=|p_i46362_1_,p_i46362_2_ +net/minecraft/client/model/ModelLargeChest=CL_00000841 +net/minecraft/client/model/ModelLeashKnot=CL_00000843 +net/minecraft/client/model/ModelLeashKnot.(IIII)V=|p_i46365_1_,p_i46365_2_,p_i46365_3_,p_i46365_4_ +net/minecraft/client/model/ModelMagmaCube=CL_00000842 +net/minecraft/client/model/ModelMinecart=CL_00000844 +net/minecraft/client/model/ModelOcelot=CL_00000848 +net/minecraft/client/model/ModelPig=CL_00000849 +net/minecraft/client/model/ModelPig.(F)V=|p_i1151_1_ +net/minecraft/client/model/ModelPlayer=CL_00002626 +net/minecraft/client/model/ModelPlayer.(FZ)V=|p_i46304_1_,p_i46304_2_ +net/minecraft/client/model/ModelQuadruped=CL_00000851 +net/minecraft/client/model/ModelQuadruped.(IF)V=|p_i1154_1_,p_i1154_2_ +net/minecraft/client/model/ModelRabbit=CL_00002625 +net/minecraft/client/model/ModelRenderer=CL_00000874 +net/minecraft/client/model/ModelRenderer.(Lnet/minecraft/client/model/ModelBase;)V=|p_i1173_1_ +net/minecraft/client/model/ModelRenderer.(Lnet/minecraft/client/model/ModelBase;II)V=|p_i46358_1_,p_i46358_2_,p_i46358_3_ +net/minecraft/client/model/ModelRenderer.(Lnet/minecraft/client/model/ModelBase;Ljava/lang/String;)V=|p_i1172_1_,p_i1172_2_ +net/minecraft/client/model/ModelSheep1=CL_00000852 +net/minecraft/client/model/ModelSheep2=CL_00000853 +net/minecraft/client/model/ModelSign=CL_00000854 +net/minecraft/client/model/ModelSilverfish=CL_00000855 +net/minecraft/client/model/ModelSkeleton=CL_00000857 +net/minecraft/client/model/ModelSkeleton.(FZ)V=|p_i46303_1_,p_i46303_2_ +net/minecraft/client/model/ModelSkeletonHead=CL_00000856 +net/minecraft/client/model/ModelSkeletonHead.(IIII)V=|p_i1155_1_,p_i1155_2_,p_i1155_3_,p_i1155_4_ +net/minecraft/client/model/ModelSlime=CL_00000858 +net/minecraft/client/model/ModelSlime.(I)V=|p_i1157_1_ +net/minecraft/client/model/ModelSnowMan=CL_00000859 +net/minecraft/client/model/ModelSpider=CL_00000860 +net/minecraft/client/model/ModelSquid=CL_00000861 +net/minecraft/client/model/ModelVillager=CL_00000864 +net/minecraft/client/model/ModelVillager.(F)V=|p_i1163_1_ +net/minecraft/client/model/ModelVillager.(FFII)V=|p_i1164_1_,p_i1164_2_,p_i1164_3_,p_i1164_4_ +net/minecraft/client/model/ModelWitch=CL_00000866 +net/minecraft/client/model/ModelWitch.(F)V=|p_i46361_1_ +net/minecraft/client/model/ModelWither=CL_00000867 +net/minecraft/client/model/ModelWither.(F)V=|p_i46302_1_ +net/minecraft/client/model/ModelWolf=CL_00000868 +net/minecraft/client/model/ModelZombie=CL_00000869 +net/minecraft/client/model/ModelZombie.(FFII)V=|p_i1167_1_,p_i1167_2_,p_i1167_3_,p_i1167_4_ +net/minecraft/client/model/ModelZombie.(FZ)V=|p_i1168_1_,p_i1168_2_ +net/minecraft/client/model/ModelZombieVillager=CL_00000865 +net/minecraft/client/model/ModelZombieVillager.(FFZ)V=|p_i1165_1_,p_i1165_2_,p_i1165_3_ +net/minecraft/client/model/PositionTextureVertex=CL_00000862 +net/minecraft/client/model/PositionTextureVertex.(FFFFF)V=|p_i1158_1_,p_i1158_2_,p_i1158_3_,p_i1158_4_,p_i1158_5_ +net/minecraft/client/model/PositionTextureVertex.(Lnet/minecraft/client/model/PositionTextureVertex;FF)V=|p_i46363_1_,p_i46363_2_,p_i46363_3_ +net/minecraft/client/model/PositionTextureVertex.(Lnet/minecraft/util/Vec3;FF)V=|p_i1160_1_,p_i1160_2_,p_i1160_3_ +net/minecraft/client/model/TextureOffset=CL_00000875 +net/minecraft/client/model/TextureOffset.(II)V=|p_i1175_1_,p_i1175_2_ +net/minecraft/client/model/TexturedQuad=CL_00000850 +net/minecraft/client/model/TexturedQuad.([Lnet/minecraft/client/model/PositionTextureVertex;)V=|p_i46364_1_ +net/minecraft/client/model/TexturedQuad.([Lnet/minecraft/client/model/PositionTextureVertex;IIIIFF)V=|p_i1153_1_,p_i1153_2_,p_i1153_3_,p_i1153_4_,p_i1153_5_,p_i1153_6_,p_i1153_7_ +net/minecraft/client/multiplayer/ChunkProviderClient=CL_00000880 +net/minecraft/client/multiplayer/ChunkProviderClient.(Lnet/minecraft/world/World;)V=|p_i1184_1_ +net/minecraft/client/multiplayer/GuiConnecting=CL_00000685 +net/minecraft/client/multiplayer/GuiConnecting$1=CL_00000686 +net/minecraft/client/multiplayer/GuiConnecting$1.(Lnet/minecraft/client/multiplayer/GuiConnecting;Ljava/lang/String;Ljava/lang/String;I)V=|p_i45018_1_,p_i45018_2_,p_i45018_3_,p_i45018_4_ +net/minecraft/client/multiplayer/GuiConnecting.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/Minecraft;Ljava/lang/String;I)V=|p_i1182_1_,p_i1182_2_,p_i1182_3_,p_i1182_4_ +net/minecraft/client/multiplayer/GuiConnecting.(Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/client/Minecraft;Lnet/minecraft/client/multiplayer/ServerData;)V=|p_i1181_1_,p_i1181_2_,p_i1181_3_ +net/minecraft/client/multiplayer/GuiConnecting.func_146284_a(Lnet/minecraft/client/gui/GuiButton;)V=java.io.IOException| +net/minecraft/client/multiplayer/GuiConnecting.func_73869_a(CI)V=java.io.IOException| +net/minecraft/client/multiplayer/PlayerControllerMP=CL_00000881 +net/minecraft/client/multiplayer/PlayerControllerMP.(Lnet/minecraft/client/Minecraft;Lnet/minecraft/client/network/NetHandlerPlayClient;)V=|p_i45062_1_,p_i45062_2_ +net/minecraft/client/multiplayer/ServerAddress=CL_00000889 +net/minecraft/client/multiplayer/ServerAddress.(Ljava/lang/String;I)V=|p_i1192_1_,p_i1192_2_ +net/minecraft/client/multiplayer/ServerData=CL_00000890 +net/minecraft/client/multiplayer/ServerData$ServerResourceMode=CL_00001833 +net/minecraft/client/multiplayer/ServerData$ServerResourceMode.(Ljava/lang/String;ILjava/lang/String;)V=|p_i1053_1_,p_i1053_2_,p_i1053_3_ +net/minecraft/client/multiplayer/ServerData.(Ljava/lang/String;Ljava/lang/String;)V=|p_i1193_1_,p_i1193_2_ +net/minecraft/client/multiplayer/ServerList=CL_00000891 +net/minecraft/client/multiplayer/ServerList.(Lnet/minecraft/client/Minecraft;)V=|p_i1194_1_ +net/minecraft/client/multiplayer/ThreadLanServerPing=CL_00001137 +net/minecraft/client/multiplayer/ThreadLanServerPing.(Ljava/lang/String;Ljava/lang/String;)V=java/io/IOException|p_i1321_1_,p_i1321_2_ +net/minecraft/client/multiplayer/WorldClient=CL_00000882 +net/minecraft/client/multiplayer/WorldClient$1=CL_00000883 +net/minecraft/client/multiplayer/WorldClient$1.(Lnet/minecraft/client/multiplayer/WorldClient;)V=|p_i1186_1_ +net/minecraft/client/multiplayer/WorldClient$2=CL_00000884 +net/minecraft/client/multiplayer/WorldClient$2.(Lnet/minecraft/client/multiplayer/WorldClient;)V=|p_i1187_1_ +net/minecraft/client/multiplayer/WorldClient$3=CL_00000885 +net/minecraft/client/multiplayer/WorldClient$3.(Lnet/minecraft/client/multiplayer/WorldClient;)V=|p_i2342_1_ +net/minecraft/client/multiplayer/WorldClient$4=CL_00000886 +net/minecraft/client/multiplayer/WorldClient$4.(Lnet/minecraft/client/multiplayer/WorldClient;)V=|p_i2343_1_ +net/minecraft/client/multiplayer/WorldClient.(Lnet/minecraft/client/network/NetHandlerPlayClient;Lnet/minecraft/world/WorldSettings;ILnet/minecraft/world/EnumDifficulty;Lnet/minecraft/profiler/Profiler;)V=|p_i45063_1_,p_i45063_2_,p_i45063_3_,p_i45063_4_,p_i45063_5_ +net/minecraft/client/network/LanServerDetector=CL_00001133 +net/minecraft/client/network/LanServerDetector$LanServer=CL_00001134 +net/minecraft/client/network/LanServerDetector$LanServer.(Ljava/lang/String;Ljava/lang/String;)V=|p_i1319_1_,p_i1319_2_ +net/minecraft/client/network/LanServerDetector$LanServerList=CL_00001136 +net/minecraft/client/network/LanServerDetector$ThreadLanServerFind=CL_00001135 +net/minecraft/client/network/LanServerDetector$ThreadLanServerFind.(Lnet/minecraft/client/network/LanServerDetector$LanServerList;)V=java/io/IOException|p_i1320_1_ +net/minecraft/client/network/NetHandlerHandshakeMemory=CL_00001445 +net/minecraft/client/network/NetHandlerHandshakeMemory.(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/network/NetworkManager;)V=|p_i45287_1_,p_i45287_2_ +net/minecraft/client/network/NetHandlerLoginClient=CL_00000876 +net/minecraft/client/network/NetHandlerLoginClient$1=CL_00000877 +net/minecraft/client/network/NetHandlerLoginClient$1.(Lnet/minecraft/client/network/NetHandlerLoginClient;Ljavax/crypto/SecretKey;)V=|p_i45058_1_,p_i45058_2_ +net/minecraft/client/network/NetHandlerLoginClient.(Lnet/minecraft/network/NetworkManager;Lnet/minecraft/client/Minecraft;Lnet/minecraft/client/gui/GuiScreen;)V=|p_i45059_1_,p_i45059_2_,p_i45059_3_ +net/minecraft/client/network/NetHandlerPlayClient=CL_00000878 +net/minecraft/client/network/NetHandlerPlayClient$1=CL_00000879 +net/minecraft/client/network/NetHandlerPlayClient$1.(Lnet/minecraft/client/network/NetHandlerPlayClient;Ljava/lang/String;)V=|p_i45060_1_,p_i45060_2_ +net/minecraft/client/network/NetHandlerPlayClient$2=CL_00002624 +net/minecraft/client/network/NetHandlerPlayClient$2.(Lnet/minecraft/client/network/NetHandlerPlayClient;Ljava/lang/String;)V=|p_i46299_1_,p_i46299_2_ +net/minecraft/client/network/NetHandlerPlayClient$3=CL_00002623 +net/minecraft/client/network/NetHandlerPlayClient$3$1=CL_00002622 +net/minecraft/client/network/NetHandlerPlayClient$3$1$1=CL_00002621 +net/minecraft/client/network/NetHandlerPlayClient$3$1$1.(Lnet/minecraft/client/network/NetHandlerPlayClient$3$1;)V=|p_i46296_1_ +net/minecraft/client/network/NetHandlerPlayClient$3$1.(Lnet/minecraft/client/network/NetHandlerPlayClient$3;)V=|p_i46297_1_ +net/minecraft/client/network/NetHandlerPlayClient$3.(Lnet/minecraft/client/network/NetHandlerPlayClient;Ljava/lang/String;Ljava/lang/String;)V=|p_i46298_1_,p_i46298_2_,p_i46298_3_ +net/minecraft/client/network/NetHandlerPlayClient$SwitchAction=CL_00002620 +net/minecraft/client/network/NetHandlerPlayClient.(Lnet/minecraft/client/Minecraft;Lnet/minecraft/client/gui/GuiScreen;Lnet/minecraft/network/NetworkManager;Lcom/mojang/authlib/GameProfile;)V=|p_i46300_1_,p_i46300_2_,p_i46300_3_,p_i46300_4_ +net/minecraft/client/network/NetworkPlayerInfo=CL_00000888 +net/minecraft/client/network/NetworkPlayerInfo$1=CL_00002619 +net/minecraft/client/network/NetworkPlayerInfo$1.(Lnet/minecraft/client/network/NetworkPlayerInfo;)V=|p_i46290_1_ +net/minecraft/client/network/NetworkPlayerInfo$SwitchType=CL_00002618 +net/minecraft/client/network/NetworkPlayerInfo.(Lcom/mojang/authlib/GameProfile;)V=|p_i46294_1_ +net/minecraft/client/network/NetworkPlayerInfo.(Lnet/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData;)V=|p_i46295_1_ +net/minecraft/client/network/OldServerPinger=CL_00000892 +net/minecraft/client/network/OldServerPinger$1=CL_00000893 +net/minecraft/client/network/OldServerPinger$1.(Lnet/minecraft/client/network/OldServerPinger;Lnet/minecraft/client/multiplayer/ServerData;Lnet/minecraft/network/NetworkManager;)V=|p_i45065_1_,p_i45065_2_,p_i45065_3_ +net/minecraft/client/network/OldServerPinger$2=CL_00000894 +net/minecraft/client/network/OldServerPinger$2$1=CL_00000895 +net/minecraft/client/network/OldServerPinger$2$1.(Lnet/minecraft/client/network/OldServerPinger$2;)V=|p_i45066_1_ +net/minecraft/client/network/OldServerPinger$2$1.channelActive(Lio/netty/channel/ChannelHandlerContext;)V=java/lang/Exception| +net/minecraft/client/network/OldServerPinger$2.(Lnet/minecraft/client/network/OldServerPinger;Lnet/minecraft/client/multiplayer/ServerAddress;Lnet/minecraft/client/multiplayer/ServerData;)V=|p_i45067_1_,p_i45067_2_,p_i45067_3_ +net/minecraft/client/network/OldServerPinger.func_147224_a(Lnet/minecraft/client/multiplayer/ServerData;)V=java/net/UnknownHostException| +net/minecraft/client/particle/Barrier=CL_00002615 +net/minecraft/client/particle/Barrier$Factory=CL_00002614 +net/minecraft/client/particle/Barrier.(Lnet/minecraft/world/World;DDDLnet/minecraft/item/Item;)V=|p_i46286_1_,p_i46286_2_,p_i46286_4_,p_i46286_6_,p_i46286_8_ +net/minecraft/client/particle/EffectRenderer=CL_00000915 +net/minecraft/client/particle/EffectRenderer$1=CL_00000916 +net/minecraft/client/particle/EffectRenderer$1.(Lnet/minecraft/client/particle/EffectRenderer;Lnet/minecraft/client/particle/EntityFX;)V=|p_i45068_1_,p_i45068_2_ +net/minecraft/client/particle/EffectRenderer$2=CL_00000917 +net/minecraft/client/particle/EffectRenderer$2.(Lnet/minecraft/client/particle/EffectRenderer;I)V=|p_i45069_1_,p_i45069_2_ +net/minecraft/client/particle/EffectRenderer$3=CL_00000918 +net/minecraft/client/particle/EffectRenderer$3.(Lnet/minecraft/client/particle/EffectRenderer;Lnet/minecraft/client/particle/EntityFX;)V=|p_i45070_1_,p_i45070_2_ +net/minecraft/client/particle/EffectRenderer$4=CL_00000919 +net/minecraft/client/particle/EffectRenderer$4.(Lnet/minecraft/client/particle/EffectRenderer;I)V=|p_i45071_1_,p_i45071_2_ +net/minecraft/client/particle/EffectRenderer.(Lnet/minecraft/world/World;Lnet/minecraft/client/renderer/texture/TextureManager;)V=|p_i1220_1_,p_i1220_2_ +net/minecraft/client/particle/EntityAuraFX=CL_00000929 +net/minecraft/client/particle/EntityAuraFX$Factory=CL_00002577 +net/minecraft/client/particle/EntityAuraFX$HappyVillagerFactory=CL_00002578 +net/minecraft/client/particle/EntityAuraFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1232_1_,p_i1232_2_,p_i1232_4_,p_i1232_6_,p_i1232_8_,p_i1232_10_,p_i1232_12_ +net/minecraft/client/particle/EntityBlockDustFX=CL_00000931 +net/minecraft/client/particle/EntityBlockDustFX$Factory=CL_00002576 +net/minecraft/client/particle/EntityBlockDustFX.(Lnet/minecraft/world/World;DDDDDDLnet/minecraft/block/state/IBlockState;)V=|p_i46281_1_,p_i46281_2_,p_i46281_4_,p_i46281_6_,p_i46281_8_,p_i46281_10_,p_i46281_12_,p_i46281_14_ +net/minecraft/client/particle/EntityBreakingFX=CL_00000897 +net/minecraft/client/particle/EntityBreakingFX$Factory=CL_00002613 +net/minecraft/client/particle/EntityBreakingFX$SlimeFactory=CL_00002612 +net/minecraft/client/particle/EntityBreakingFX$SnowballFactory=CL_00002611 +net/minecraft/client/particle/EntityBreakingFX.(Lnet/minecraft/world/World;DDDDDDLnet/minecraft/item/Item;I)V=|p_i1197_1_,p_i1197_2_,p_i1197_4_,p_i1197_6_,p_i1197_8_,p_i1197_10_,p_i1197_12_,p_i1197_14_,p_i1197_15_ +net/minecraft/client/particle/EntityBreakingFX.(Lnet/minecraft/world/World;DDDLnet/minecraft/item/Item;)V=|p_i1195_1_,p_i1195_2_,p_i1195_4_,p_i1195_6_,p_i1195_8_ +net/minecraft/client/particle/EntityBreakingFX.(Lnet/minecraft/world/World;DDDLnet/minecraft/item/Item;I)V=|p_i1196_1_,p_i1196_2_,p_i1196_4_,p_i1196_6_,p_i1196_8_,p_i1196_9_ +net/minecraft/client/particle/EntityBubbleFX=CL_00000898 +net/minecraft/client/particle/EntityBubbleFX$Factory=CL_00002610 +net/minecraft/client/particle/EntityBubbleFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1198_1_,p_i1198_2_,p_i1198_4_,p_i1198_6_,p_i1198_8_,p_i1198_10_,p_i1198_12_ +net/minecraft/client/particle/EntityCloudFX=CL_00000920 +net/minecraft/client/particle/EntityCloudFX$Factory=CL_00002591 +net/minecraft/client/particle/EntityCloudFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1221_1_,p_i1221_2_,p_i1221_4_,p_i1221_6_,p_i1221_8_,p_i1221_10_,p_i1221_12_ +net/minecraft/client/particle/EntityCrit2FX=CL_00000899 +net/minecraft/client/particle/EntityCrit2FX$Factory=CL_00002608 +net/minecraft/client/particle/EntityCrit2FX$MagicFactory=CL_00002609 +net/minecraft/client/particle/EntityCrit2FX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i46284_1_,p_i46284_2_,p_i46284_4_,p_i46284_6_,p_i46284_8_,p_i46284_10_,p_i46284_12_ +net/minecraft/client/particle/EntityCrit2FX.(Lnet/minecraft/world/World;DDDDDDF)V=|p_i46285_1_,p_i46285_2_,p_i46285_4_,p_i46285_6_,p_i46285_8_,p_i46285_10_,p_i46285_12_,p_i46285_14_ +net/minecraft/client/particle/EntityCritFX=CL_00000900 +net/minecraft/client/particle/EntityCritFX$Factory=CL_00002596 +net/minecraft/client/particle/EntityCritFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1201_1_,p_i1201_2_,p_i1201_4_,p_i1201_6_,p_i1201_8_,p_i1201_10_,p_i1201_12_ +net/minecraft/client/particle/EntityDiggingFX=CL_00000932 +net/minecraft/client/particle/EntityDiggingFX$Factory=CL_00002575 +net/minecraft/client/particle/EntityDiggingFX.(Lnet/minecraft/world/World;DDDDDDLnet/minecraft/block/state/IBlockState;)V=|p_i46280_1_,p_i46280_2_,p_i46280_4_,p_i46280_6_,p_i46280_8_,p_i46280_10_,p_i46280_12_,p_i46280_14_ +net/minecraft/client/particle/EntityDropParticleFX=CL_00000901 +net/minecraft/client/particle/EntityDropParticleFX$LavaFactory=CL_00002607 +net/minecraft/client/particle/EntityDropParticleFX$WaterFactory=CL_00002606 +net/minecraft/client/particle/EntityDropParticleFX.(Lnet/minecraft/world/World;DDDLnet/minecraft/block/material/Material;)V=|p_i1203_1_,p_i1203_2_,p_i1203_4_,p_i1203_6_,p_i1203_8_ +net/minecraft/client/particle/EntityEnchantmentTableParticleFX=CL_00000902 +net/minecraft/client/particle/EntityEnchantmentTableParticleFX$EnchantmentTable=CL_00002605 +net/minecraft/client/particle/EntityEnchantmentTableParticleFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1204_1_,p_i1204_2_,p_i1204_4_,p_i1204_6_,p_i1204_8_,p_i1204_10_,p_i1204_12_ +net/minecraft/client/particle/EntityExplodeFX=CL_00000903 +net/minecraft/client/particle/EntityExplodeFX$Factory=CL_00002604 +net/minecraft/client/particle/EntityExplodeFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1205_1_,p_i1205_2_,p_i1205_4_,p_i1205_6_,p_i1205_8_,p_i1205_10_,p_i1205_12_ +net/minecraft/client/particle/EntityFX=CL_00000914 +net/minecraft/client/particle/EntityFX.(Lnet/minecraft/world/World;DDD)V=|p_i46352_1_,p_i46352_2_,p_i46352_4_,p_i46352_6_ +net/minecraft/client/particle/EntityFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1219_1_,p_i1219_2_,p_i1219_4_,p_i1219_6_,p_i1219_8_,p_i1219_10_,p_i1219_12_ +net/minecraft/client/particle/EntityFireworkOverlayFX=CL_00000904 +net/minecraft/client/particle/EntityFireworkOverlayFX.(Lnet/minecraft/world/World;DDD)V=|p_i46357_1_,p_i46357_2_,p_i46357_4_,p_i46357_6_ +net/minecraft/client/particle/EntityFireworkSparkFX=CL_00000905 +net/minecraft/client/particle/EntityFireworkSparkFX.(Lnet/minecraft/world/World;DDDDDDLnet/minecraft/client/particle/EffectRenderer;)V=|p_i46356_1_,p_i46356_2_,p_i46356_4_,p_i46356_6_,p_i46356_8_,p_i46356_10_,p_i46356_12_,p_i46356_14_ +net/minecraft/client/particle/EntityFireworkStarterFX=CL_00000906 +net/minecraft/client/particle/EntityFireworkStarterFX.(Lnet/minecraft/world/World;DDDDDDLnet/minecraft/client/particle/EffectRenderer;Lnet/minecraft/nbt/NBTTagCompound;)V=|p_i46355_1_,p_i46355_2_,p_i46355_4_,p_i46355_6_,p_i46355_8_,p_i46355_10_,p_i46355_12_,p_i46355_14_,p_i46355_15_ +net/minecraft/client/particle/EntityFireworkStarterFX_Factory=CL_00002603 +net/minecraft/client/particle/EntityFishWakeFX=CL_00000933 +net/minecraft/client/particle/EntityFishWakeFX$Factory=CL_00002573 +net/minecraft/client/particle/EntityFishWakeFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i45073_1_,p_i45073_2_,p_i45073_4_,p_i45073_6_,p_i45073_8_,p_i45073_10_,p_i45073_12_ +net/minecraft/client/particle/EntityFlameFX=CL_00000907 +net/minecraft/client/particle/EntityFlameFX$Factory=CL_00002602 +net/minecraft/client/particle/EntityFlameFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1209_1_,p_i1209_2_,p_i1209_4_,p_i1209_6_,p_i1209_8_,p_i1209_10_,p_i1209_12_ +net/minecraft/client/particle/EntityFootStepFX=CL_00000908 +net/minecraft/client/particle/EntityFootStepFX$Factory=CL_00002601 +net/minecraft/client/particle/EntityFootStepFX.(Lnet/minecraft/client/renderer/texture/TextureManager;Lnet/minecraft/world/World;DDD)V=|p_i1210_1_,p_i1210_2_,p_i1210_3_,p_i1210_5_,p_i1210_7_ +net/minecraft/client/particle/EntityHeartFX=CL_00000909 +net/minecraft/client/particle/EntityHeartFX$AngryVillagerFactory=CL_00002600 +net/minecraft/client/particle/EntityHeartFX$Factory=CL_00002599 +net/minecraft/client/particle/EntityHeartFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1211_1_,p_i1211_2_,p_i1211_4_,p_i1211_6_,p_i1211_8_,p_i1211_10_,p_i1211_12_ +net/minecraft/client/particle/EntityHeartFX.(Lnet/minecraft/world/World;DDDDDDF)V=|p_i46354_1_,p_i46354_2_,p_i46354_4_,p_i46354_6_,p_i46354_8_,p_i46354_10_,p_i46354_12_,p_i46354_14_ +net/minecraft/client/particle/EntityHugeExplodeFX=CL_00000911 +net/minecraft/client/particle/EntityHugeExplodeFX$Factory=CL_00002597 +net/minecraft/client/particle/EntityHugeExplodeFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1214_1_,p_i1214_2_,p_i1214_4_,p_i1214_6_,p_i1214_8_,p_i1214_10_,p_i1214_12_ +net/minecraft/client/particle/EntityLargeExplodeFX=CL_00000910 +net/minecraft/client/particle/EntityLargeExplodeFX$Factory=CL_00002598 +net/minecraft/client/particle/EntityLargeExplodeFX.(Lnet/minecraft/client/renderer/texture/TextureManager;Lnet/minecraft/world/World;DDDDDD)V=|p_i1213_1_,p_i1213_2_,p_i1213_3_,p_i1213_5_,p_i1213_7_,p_i1213_9_,p_i1213_11_,p_i1213_13_ +net/minecraft/client/particle/EntityLavaFX=CL_00000912 +net/minecraft/client/particle/EntityLavaFX$Factory=CL_00002595 +net/minecraft/client/particle/EntityLavaFX.(Lnet/minecraft/world/World;DDD)V=|p_i1215_1_,p_i1215_2_,p_i1215_4_,p_i1215_6_ +net/minecraft/client/particle/EntityNoteFX=CL_00000913 +net/minecraft/client/particle/EntityNoteFX$Factory=CL_00002592 +net/minecraft/client/particle/EntityNoteFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i46353_1_,p_i46353_2_,p_i46353_4_,p_i46353_6_,p_i46353_8_,p_i46353_10_,p_i46353_12_ +net/minecraft/client/particle/EntityNoteFX.(Lnet/minecraft/world/World;DDDDDDF)V=|p_i1217_1_,p_i1217_2_,p_i1217_4_,p_i1217_6_,p_i1217_8_,p_i1217_10_,p_i1217_12_,p_i1217_14_ +net/minecraft/client/particle/EntityParticleEmitter=CL_00002574 +net/minecraft/client/particle/EntityParticleEmitter.(Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;Lnet/minecraft/util/EnumParticleTypes;)V=|p_i46279_1_,p_i46279_2_,p_i46279_3_ +net/minecraft/client/particle/EntityPickupFX=CL_00000930 +net/minecraft/client/particle/EntityPickupFX.(Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/Entity;F)V=|p_i1233_1_,p_i1233_2_,p_i1233_3_,p_i1233_4_ +net/minecraft/client/particle/EntityPortalFX=CL_00000921 +net/minecraft/client/particle/EntityPortalFX$Factory=CL_00002590 +net/minecraft/client/particle/EntityPortalFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i46351_1_,p_i46351_2_,p_i46351_4_,p_i46351_6_,p_i46351_8_,p_i46351_10_,p_i46351_12_ +net/minecraft/client/particle/EntityRainFX=CL_00000934 +net/minecraft/client/particle/EntityRainFX$Factory=CL_00002572 +net/minecraft/client/particle/EntityRainFX.(Lnet/minecraft/world/World;DDD)V=|p_i1235_1_,p_i1235_2_,p_i1235_4_,p_i1235_6_ +net/minecraft/client/particle/EntityReddustFX=CL_00000923 +net/minecraft/client/particle/EntityReddustFX$Factory=CL_00002589 +net/minecraft/client/particle/EntityReddustFX.(Lnet/minecraft/world/World;DDDFFF)V=|p_i46349_1_,p_i46349_2_,p_i46349_4_,p_i46349_6_,p_i46349_8_,p_i46349_9_,p_i46349_10_ +net/minecraft/client/particle/EntityReddustFX.(Lnet/minecraft/world/World;DDDFFFF)V=|p_i46350_1_,p_i46350_2_,p_i46350_4_,p_i46350_6_,p_i46350_8_,p_i46350_9_,p_i46350_10_,p_i46350_11_ +net/minecraft/client/particle/EntitySmokeFX=CL_00000924 +net/minecraft/client/particle/EntitySmokeFX$1=CL_00002588 +net/minecraft/client/particle/EntitySmokeFX$Factory=CL_00002587 +net/minecraft/client/particle/EntitySmokeFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i46347_1_,p_i46347_2_,p_i46347_4_,p_i46347_6_,p_i46347_8_,p_i46347_10_,p_i46347_12_ +net/minecraft/client/particle/EntitySmokeFX.(Lnet/minecraft/world/World;DDDDDDF)V=|p_i46348_1_,p_i46348_2_,p_i46348_4_,p_i46348_6_,p_i46348_8_,p_i46348_10_,p_i46348_12_,p_i46348_14_ +net/minecraft/client/particle/EntitySmokeFX.(Lnet/minecraft/world/World;DDDDDDLnet/minecraft/client/particle/EntitySmokeFX$1;)V=|p_i46282_1_,p_i46282_2_,p_i46282_4_,p_i46282_6_,p_i46282_8_,p_i46282_10_,p_i46282_12_,p_i46282_14_ +net/minecraft/client/particle/EntitySnowShovelFX=CL_00000925 +net/minecraft/client/particle/EntitySnowShovelFX$Factory=CL_00002586 +net/minecraft/client/particle/EntitySnowShovelFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1227_1_,p_i1227_2_,p_i1227_4_,p_i1227_6_,p_i1227_8_,p_i1227_10_,p_i1227_12_ +net/minecraft/client/particle/EntitySnowShovelFX.(Lnet/minecraft/world/World;DDDDDDF)V=|p_i1228_1_,p_i1228_2_,p_i1228_4_,p_i1228_6_,p_i1228_8_,p_i1228_10_,p_i1228_12_,p_i1228_14_ +net/minecraft/client/particle/EntitySpellParticleFX=CL_00000926 +net/minecraft/client/particle/EntitySpellParticleFX$AmbientMobFactory=CL_00002585 +net/minecraft/client/particle/EntitySpellParticleFX$Factory=CL_00002582 +net/minecraft/client/particle/EntitySpellParticleFX$InstantFactory=CL_00002584 +net/minecraft/client/particle/EntitySpellParticleFX$MobFactory=CL_00002583 +net/minecraft/client/particle/EntitySpellParticleFX$WitchFactory=CL_00002581 +net/minecraft/client/particle/EntitySpellParticleFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1229_1_,p_i1229_2_,p_i1229_4_,p_i1229_6_,p_i1229_8_,p_i1229_10_,p_i1229_12_ +net/minecraft/client/particle/EntitySplashFX=CL_00000927 +net/minecraft/client/particle/EntitySplashFX$Factory=CL_00002580 +net/minecraft/client/particle/EntitySplashFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1230_1_,p_i1230_2_,p_i1230_4_,p_i1230_6_,p_i1230_8_,p_i1230_10_,p_i1230_12_ +net/minecraft/client/particle/EntitySuspendFX=CL_00000928 +net/minecraft/client/particle/EntitySuspendFX$Factory=CL_00002579 +net/minecraft/client/particle/EntitySuspendFX.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1231_1_,p_i1231_2_,p_i1231_4_,p_i1231_6_,p_i1231_8_,p_i1231_10_,p_i1231_12_ +net/minecraft/client/particle/MobAppearance=CL_00002594 +net/minecraft/client/particle/MobAppearance$Factory=CL_00002593 +net/minecraft/client/particle/MobAppearance.(Lnet/minecraft/world/World;DDD)V=|p_i46283_1_,p_i46283_2_,p_i46283_4_,p_i46283_6_ +net/minecraft/client/player/inventory/ContainerLocalMenu=CL_00002570 +net/minecraft/client/player/inventory/ContainerLocalMenu.(Ljava/lang/String;Lnet/minecraft/util/IChatComponent;I)V=|p_i46276_1_,p_i46276_2_,p_i46276_3_ +net/minecraft/client/player/inventory/LocalBlockIntercommunication=CL_00002571 +net/minecraft/client/player/inventory/LocalBlockIntercommunication.(Ljava/lang/String;Lnet/minecraft/util/IChatComponent;)V=|p_i46277_1_,p_i46277_2_ +net/minecraft/client/renderer/ActiveRenderInfo=CL_00000626 +net/minecraft/client/renderer/BlockFluidRenderer=CL_00002519 +net/minecraft/client/renderer/BlockModelRenderer=CL_00002518 +net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace=CL_00002515 +net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace.(Lnet/minecraft/client/renderer/BlockModelRenderer;)V=|p_i46235_1_ +net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo=CL_00002516 +net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo.(Ljava/lang/String;I[Lnet/minecraft/util/EnumFacing;FZ[Lnet/minecraft/client/renderer/BlockModelRenderer$Orientation;[Lnet/minecraft/client/renderer/BlockModelRenderer$Orientation;[Lnet/minecraft/client/renderer/BlockModelRenderer$Orientation;[Lnet/minecraft/client/renderer/BlockModelRenderer$Orientation;)V=|p_i46236_1_,p_i46236_2_,p_i46236_3_,p_i46236_4_,p_i46236_5_,p_i46236_6_,p_i46236_7_,p_i46236_8_,p_i46236_9_ +net/minecraft/client/renderer/BlockModelRenderer$Orientation=CL_00002513 +net/minecraft/client/renderer/BlockModelRenderer$Orientation.(Ljava/lang/String;ILnet/minecraft/util/EnumFacing;Z)V=|p_i46233_1_,p_i46233_2_,p_i46233_3_,p_i46233_4_ +net/minecraft/client/renderer/BlockModelRenderer$SwitchEnumFacing=CL_00002517 +net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations=CL_00002514 +net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations.(Ljava/lang/String;IIIII)V=|p_i46234_1_,p_i46234_2_,p_i46234_3_,p_i46234_4_,p_i46234_5_,p_i46234_6_ +net/minecraft/client/renderer/BlockModelShapes=CL_00002529 +net/minecraft/client/renderer/BlockModelShapes$1=CL_00002528 +net/minecraft/client/renderer/BlockModelShapes$1.(Lnet/minecraft/client/renderer/BlockModelShapes;)V=|p_i46244_1_ +net/minecraft/client/renderer/BlockModelShapes$2=CL_00002527 +net/minecraft/client/renderer/BlockModelShapes$2.(Lnet/minecraft/client/renderer/BlockModelShapes;)V=|p_i46243_1_ +net/minecraft/client/renderer/BlockModelShapes$3=CL_00002526 +net/minecraft/client/renderer/BlockModelShapes$3.(Lnet/minecraft/client/renderer/BlockModelShapes;)V=|p_i46242_1_ +net/minecraft/client/renderer/BlockModelShapes$4=CL_00002525 +net/minecraft/client/renderer/BlockModelShapes$4.(Lnet/minecraft/client/renderer/BlockModelShapes;)V=|p_i46241_1_ +net/minecraft/client/renderer/BlockModelShapes$5=CL_00002524 +net/minecraft/client/renderer/BlockModelShapes$5.(Lnet/minecraft/client/renderer/BlockModelShapes;)V=|p_i46240_1_ +net/minecraft/client/renderer/BlockModelShapes$6=CL_00002523 +net/minecraft/client/renderer/BlockModelShapes$6.(Lnet/minecraft/client/renderer/BlockModelShapes;)V=|p_i46239_1_ +net/minecraft/client/renderer/BlockModelShapes$7=CL_00002522 +net/minecraft/client/renderer/BlockModelShapes$7.(Lnet/minecraft/client/renderer/BlockModelShapes;)V=|p_i46238_1_ +net/minecraft/client/renderer/BlockModelShapes$SwitchEnumType=CL_00002521 +net/minecraft/client/renderer/BlockModelShapes.(Lnet/minecraft/client/resources/model/ModelManager;)V=|p_i46245_1_ +net/minecraft/client/renderer/BlockRendererDispatcher=CL_00002520 +net/minecraft/client/renderer/BlockRendererDispatcher.(Lnet/minecraft/client/renderer/BlockModelShapes;Lnet/minecraft/client/settings/GameSettings;)V=|p_i46237_1_,p_i46237_2_ +net/minecraft/client/renderer/ChestRenderer=CL_00002530 +net/minecraft/client/renderer/ChunkRenderContainer=CL_00002563 +net/minecraft/client/renderer/DestroyBlockProgress=CL_00001427 +net/minecraft/client/renderer/DestroyBlockProgress.(ILnet/minecraft/util/BlockPos;)V=|p_i45925_1_,p_i45925_2_ +net/minecraft/client/renderer/EntityRenderer=CL_00000947 +net/minecraft/client/renderer/EntityRenderer$1=CL_00000948 +net/minecraft/client/renderer/EntityRenderer$1.(Lnet/minecraft/client/renderer/EntityRenderer;)V=|p_i1243_1_ +net/minecraft/client/renderer/EntityRenderer$2=CL_00000950 +net/minecraft/client/renderer/EntityRenderer$2.(Lnet/minecraft/client/renderer/EntityRenderer;II)V=|p_i1244_1_,p_i1244_2_,p_i1244_3_ +net/minecraft/client/renderer/EntityRenderer$3=CL_00000951 +net/minecraft/client/renderer/EntityRenderer$3.(Lnet/minecraft/client/renderer/EntityRenderer;Lnet/minecraft/client/gui/ScaledResolution;)V=|p_i1245_1_,p_i1245_2_ +net/minecraft/client/renderer/EntityRenderer.(Lnet/minecraft/client/Minecraft;Lnet/minecraft/client/resources/IResourceManager;)V=|p_i45076_1_,p_i45076_2_ +net/minecraft/client/renderer/EnumFaceDirection=CL_00002562 +net/minecraft/client/renderer/EnumFaceDirection$1=CL_00002561 +net/minecraft/client/renderer/EnumFaceDirection$Constants=CL_00002560 +net/minecraft/client/renderer/EnumFaceDirection$VertexInformation=CL_00002559 +net/minecraft/client/renderer/EnumFaceDirection$VertexInformation.(III)V=|p_i46270_1_,p_i46270_2_,p_i46270_3_ +net/minecraft/client/renderer/EnumFaceDirection$VertexInformation.(IIILnet/minecraft/client/renderer/EnumFaceDirection$1;)V=|p_i46271_1_,p_i46271_2_,p_i46271_3_,p_i46271_4_ +net/minecraft/client/renderer/EnumFaceDirection.(Ljava/lang/String;I[Lnet/minecraft/client/renderer/EnumFaceDirection$VertexInformation;)V=|p_i46272_1_,p_i46272_2_,p_i46272_3_ +net/minecraft/client/renderer/GLAllocation=CL_00000630 +net/minecraft/client/renderer/GlStateManager=CL_00002558 +net/minecraft/client/renderer/GlStateManager$AlphaState=CL_00002556 +net/minecraft/client/renderer/GlStateManager$AlphaState.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46269_1_ +net/minecraft/client/renderer/GlStateManager$BlendState=CL_00002555 +net/minecraft/client/renderer/GlStateManager$BlendState.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46268_1_ +net/minecraft/client/renderer/GlStateManager$BooleanState=CL_00002554 +net/minecraft/client/renderer/GlStateManager$BooleanState.(I)V=|p_i46267_1_ +net/minecraft/client/renderer/GlStateManager$ClearState=CL_00002553 +net/minecraft/client/renderer/GlStateManager$ClearState.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46266_1_ +net/minecraft/client/renderer/GlStateManager$Color=CL_00002552 +net/minecraft/client/renderer/GlStateManager$Color.(FFFF)V=|p_i46265_1_,p_i46265_2_,p_i46265_3_,p_i46265_4_ +net/minecraft/client/renderer/GlStateManager$ColorLogicState=CL_00002551 +net/minecraft/client/renderer/GlStateManager$ColorLogicState.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46264_1_ +net/minecraft/client/renderer/GlStateManager$ColorMask=CL_00002550 +net/minecraft/client/renderer/GlStateManager$ColorMask.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46263_1_ +net/minecraft/client/renderer/GlStateManager$ColorMaterialState=CL_00002549 +net/minecraft/client/renderer/GlStateManager$ColorMaterialState.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46262_1_ +net/minecraft/client/renderer/GlStateManager$CullState=CL_00002548 +net/minecraft/client/renderer/GlStateManager$CullState.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46261_1_ +net/minecraft/client/renderer/GlStateManager$DepthState=CL_00002547 +net/minecraft/client/renderer/GlStateManager$DepthState.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46260_1_ +net/minecraft/client/renderer/GlStateManager$FogState=CL_00002546 +net/minecraft/client/renderer/GlStateManager$FogState.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46259_1_ +net/minecraft/client/renderer/GlStateManager$PolygonOffsetState=CL_00002545 +net/minecraft/client/renderer/GlStateManager$PolygonOffsetState.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46258_1_ +net/minecraft/client/renderer/GlStateManager$StencilFunc=CL_00002544 +net/minecraft/client/renderer/GlStateManager$StencilFunc.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46257_1_ +net/minecraft/client/renderer/GlStateManager$StencilState=CL_00002543 +net/minecraft/client/renderer/GlStateManager$StencilState.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46256_1_ +net/minecraft/client/renderer/GlStateManager$SwitchTexGen=CL_00002557 +net/minecraft/client/renderer/GlStateManager$TexGen=CL_00002542 +net/minecraft/client/renderer/GlStateManager$TexGen.(Ljava/lang/String;I)V=|p_i46255_1_,p_i46255_2_ +net/minecraft/client/renderer/GlStateManager$TexGenCoord=CL_00002541 +net/minecraft/client/renderer/GlStateManager$TexGenCoord.(II)V=|p_i46254_1_,p_i46254_2_ +net/minecraft/client/renderer/GlStateManager$TexGenState=CL_00002540 +net/minecraft/client/renderer/GlStateManager$TexGenState.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46253_1_ +net/minecraft/client/renderer/GlStateManager$TextureState=CL_00002539 +net/minecraft/client/renderer/GlStateManager$TextureState.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46252_1_ +net/minecraft/client/renderer/GlStateManager$Viewport=CL_00002538 +net/minecraft/client/renderer/GlStateManager$Viewport.(Lnet/minecraft/client/renderer/GlStateManager$SwitchTexGen;)V=|p_i46251_1_ +net/minecraft/client/renderer/ImageBufferDownload=CL_00000956 +net/minecraft/client/renderer/InventoryEffectRenderer=CL_00000755 +net/minecraft/client/renderer/InventoryEffectRenderer.(Lnet/minecraft/inventory/Container;)V=|p_i1089_1_ +net/minecraft/client/renderer/ItemModelMesher=CL_00002536 +net/minecraft/client/renderer/ItemModelMesher.(Lnet/minecraft/client/resources/model/ModelManager;)V=|p_i46250_1_ +net/minecraft/client/renderer/ItemRenderer=CL_00000953 +net/minecraft/client/renderer/ItemRenderer$SwitchEnumAction=CL_00002537 +net/minecraft/client/renderer/ItemRenderer.(Lnet/minecraft/client/Minecraft;)V=|p_i1247_1_ +net/minecraft/client/renderer/OpenGlHelper=CL_00001179 +net/minecraft/client/renderer/RegionRenderCache=CL_00002565 +net/minecraft/client/renderer/RegionRenderCache.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;I)V=|p_i46273_1_,p_i46273_2_,p_i46273_3_,p_i46273_4_ +net/minecraft/client/renderer/RegionRenderCacheBuilder=CL_00002564 +net/minecraft/client/renderer/RenderGlobal=CL_00000954 +net/minecraft/client/renderer/RenderGlobal$1=CL_00000955 +net/minecraft/client/renderer/RenderGlobal$1.(Lnet/minecraft/client/renderer/RenderGlobal;DDD)V=|p_i1248_1_,p_i1248_2_,p_i1248_4_,p_i1248_6_ +net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation=CL_00002534 +net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation.(Lnet/minecraft/client/renderer/RenderGlobal;Lnet/minecraft/client/renderer/chunk/RenderChunk;Lnet/minecraft/util/EnumFacing;I)V=|p_i46248_1_,p_i46248_2_,p_i46248_3_,p_i46248_4_ +net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation.(Lnet/minecraft/client/renderer/RenderGlobal;Lnet/minecraft/client/renderer/chunk/RenderChunk;Lnet/minecraft/util/EnumFacing;ILnet/minecraft/client/renderer/RenderGlobal$1;)V=|p_i46249_1_,p_i46249_2_,p_i46249_3_,p_i46249_4_,p_i46249_5_ +net/minecraft/client/renderer/RenderGlobal$SwitchEnumUsage=CL_00002535 +net/minecraft/client/renderer/RenderGlobal.(Lnet/minecraft/client/Minecraft;)V=|p_i1249_1_ +net/minecraft/client/renderer/RenderHelper=CL_00000629 +net/minecraft/client/renderer/RenderList=CL_00000957 +net/minecraft/client/renderer/StitcherException=CL_00001057 +net/minecraft/client/renderer/StitcherException.(Lnet/minecraft/client/renderer/texture/Stitcher$Holder;Ljava/lang/String;)V=|p_i2344_1_,p_i2344_2_ +net/minecraft/client/renderer/Tessellator=CL_00000960 +net/minecraft/client/renderer/Tessellator.(I)V=|p_i1250_1_ +net/minecraft/client/renderer/ThreadDownloadImageData=CL_00001049 +net/minecraft/client/renderer/ThreadDownloadImageData$1=CL_00001050 +net/minecraft/client/renderer/ThreadDownloadImageData$1.(Lnet/minecraft/client/renderer/ThreadDownloadImageData;Ljava/lang/String;)V=|p_i45093_1_,p_i45093_2_ +net/minecraft/client/renderer/ThreadDownloadImageData.(Ljava/io/File;Ljava/lang/String;Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/client/renderer/IImageBuffer;)V=|p_i1049_1_,p_i1049_2_,p_i1049_3_,p_i1049_4_ +net/minecraft/client/renderer/ThreadDownloadImageData.func_110551_a(Lnet/minecraft/client/resources/IResourceManager;)V=java/io/IOException| +net/minecraft/client/renderer/VboRenderList=CL_00002533 +net/minecraft/client/renderer/VertexBufferUploader=CL_00002532 +net/minecraft/client/renderer/ViewFrustum=CL_00002531 +net/minecraft/client/renderer/ViewFrustum.(Lnet/minecraft/world/World;ILnet/minecraft/client/renderer/RenderGlobal;Lnet/minecraft/client/renderer/chunk/IRenderChunkFactory;)V=|p_i46246_1_,p_i46246_2_,p_i46246_3_,p_i46246_4_ +net/minecraft/client/renderer/WorldRenderer=CL_00000942 +net/minecraft/client/renderer/WorldRenderer$State=CL_00002568 +net/minecraft/client/renderer/WorldRenderer$State.(Lnet/minecraft/client/renderer/WorldRenderer;[IIILnet/minecraft/client/renderer/vertex/VertexFormat;)V=|p_i46274_1_,p_i46274_2_,p_i46274_3_,p_i46274_4_,p_i46274_5_ +net/minecraft/client/renderer/WorldRenderer$SwitchEnumUsage=CL_00002569 +net/minecraft/client/renderer/WorldRenderer.(I)V=|p_i46275_1_ +net/minecraft/client/renderer/WorldVertexBufferUploader=CL_00002567 +net/minecraft/client/renderer/WorldVertexBufferUploader$SwitchEnumUsage=CL_00002566 +net/minecraft/client/renderer/block/model/BakedQuad=CL_00002512 +net/minecraft/client/renderer/block/model/BakedQuad.([IILnet/minecraft/util/EnumFacing;)V=|p_i46232_1_,p_i46232_2_,p_i46232_3_ +net/minecraft/client/renderer/block/model/BlockFaceUV=CL_00002505 +net/minecraft/client/renderer/block/model/BlockFaceUV$Deserializer=CL_00002504 +net/minecraft/client/renderer/block/model/BlockFaceUV.([FI)V=|p_i46228_1_,p_i46228_2_ +net/minecraft/client/renderer/block/model/BlockPart=CL_00002511 +net/minecraft/client/renderer/block/model/BlockPart$Deserializer=CL_00002509 +net/minecraft/client/renderer/block/model/BlockPart$SwitchEnumFacing=CL_00002510 +net/minecraft/client/renderer/block/model/BlockPart.(Ljavax/vecmath/Vector3f;Ljavax/vecmath/Vector3f;Ljava/util/Map;Lnet/minecraft/client/renderer/block/model/BlockPartRotation;Z)V=|p_i46231_1_,p_i46231_2_,p_i46231_3_,p_i46231_4_,p_i46231_5_ +net/minecraft/client/renderer/block/model/BlockPartFace=CL_00002508 +net/minecraft/client/renderer/block/model/BlockPartFace$Deserializer=CL_00002507 +net/minecraft/client/renderer/block/model/BlockPartFace.(Lnet/minecraft/util/EnumFacing;ILjava/lang/String;Lnet/minecraft/client/renderer/block/model/BlockFaceUV;)V=|p_i46230_1_,p_i46230_2_,p_i46230_3_,p_i46230_4_ +net/minecraft/client/renderer/block/model/BlockPartRotation=CL_00002506 +net/minecraft/client/renderer/block/model/BlockPartRotation.(Ljavax/vecmath/Vector3f;Lnet/minecraft/util/EnumFacing$Axis;FZ)V=|p_i46229_1_,p_i46229_2_,p_i46229_3_,p_i46229_4_ +net/minecraft/client/renderer/block/model/BreakingFour=CL_00002492 +net/minecraft/client/renderer/block/model/BreakingFour$SwitchEnumFacing=CL_00002491 +net/minecraft/client/renderer/block/model/BreakingFour.(Lnet/minecraft/client/renderer/block/model/BakedQuad;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)V=|p_i46217_1_,p_i46217_2_ +net/minecraft/client/renderer/block/model/FaceBakery=CL_00002490 +net/minecraft/client/renderer/block/model/FaceBakery$SwitchEnumFacing=CL_00002489 +net/minecraft/client/renderer/block/model/ItemCameraTransforms=CL_00002482 +net/minecraft/client/renderer/block/model/ItemCameraTransforms$Deserializer=CL_00002481 +net/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType=CL_00002480 +net/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType.(Ljava/lang/String;I)V=|p_i46212_1_,p_i46212_2_ +net/minecraft/client/renderer/block/model/ItemCameraTransforms.(Lnet/minecraft/client/renderer/block/model/ItemTransformVec3f;Lnet/minecraft/client/renderer/block/model/ItemTransformVec3f;Lnet/minecraft/client/renderer/block/model/ItemTransformVec3f;Lnet/minecraft/client/renderer/block/model/ItemTransformVec3f;)V=|p_i46213_1_,p_i46213_2_,p_i46213_3_,p_i46213_4_ +net/minecraft/client/renderer/block/model/ItemModelGenerator=CL_00002488 +net/minecraft/client/renderer/block/model/ItemModelGenerator$Span=CL_00002486 +net/minecraft/client/renderer/block/model/ItemModelGenerator$Span.(Lnet/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing;II)V=|p_i46216_1_,p_i46216_2_,p_i46216_3_ +net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing=CL_00002485 +net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing.(Ljava/lang/String;ILnet/minecraft/util/EnumFacing;II)V=|p_i46215_1_,p_i46215_2_,p_i46215_3_,p_i46215_4_,p_i46215_5_ +net/minecraft/client/renderer/block/model/ItemModelGenerator$SwitchSpanFacing=CL_00002487 +net/minecraft/client/renderer/block/model/ItemTransformVec3f=CL_00002484 +net/minecraft/client/renderer/block/model/ItemTransformVec3f$Deserializer=CL_00002483 +net/minecraft/client/renderer/block/model/ItemTransformVec3f.(Ljavax/vecmath/Vector3f;Ljavax/vecmath/Vector3f;Ljavax/vecmath/Vector3f;)V=|p_i46214_1_,p_i46214_2_,p_i46214_3_ +net/minecraft/client/renderer/block/model/ModelBlock=CL_00002503 +net/minecraft/client/renderer/block/model/ModelBlock$1=CL_00002502 +net/minecraft/client/renderer/block/model/ModelBlock$Bookkeep=CL_00002501 +net/minecraft/client/renderer/block/model/ModelBlock$Bookkeep.(Lnet/minecraft/client/renderer/block/model/ModelBlock;)V=|p_i46223_1_ +net/minecraft/client/renderer/block/model/ModelBlock$Bookkeep.(Lnet/minecraft/client/renderer/block/model/ModelBlock;Lnet/minecraft/client/renderer/block/model/ModelBlock$1;)V=|p_i46224_1_,p_i46224_2_ +net/minecraft/client/renderer/block/model/ModelBlock$Deserializer=CL_00002500 +net/minecraft/client/renderer/block/model/ModelBlock$LoopException=CL_00002499 +net/minecraft/client/renderer/block/model/ModelBlock.(Ljava/util/List;Ljava/util/Map;ZZLnet/minecraft/client/renderer/block/model/ItemCameraTransforms;)V=|p_i46225_1_,p_i46225_2_,p_i46225_3_,p_i46225_4_,p_i46225_5_ +net/minecraft/client/renderer/block/model/ModelBlock.(Lnet/minecraft/util/ResourceLocation;Ljava/util/List;Ljava/util/Map;ZZLnet/minecraft/client/renderer/block/model/ItemCameraTransforms;)V=|p_i46227_1_,p_i46227_2_,p_i46227_3_,p_i46227_4_,p_i46227_5_,p_i46227_6_ +net/minecraft/client/renderer/block/model/ModelBlock.(Lnet/minecraft/util/ResourceLocation;Ljava/util/Map;ZZLnet/minecraft/client/renderer/block/model/ItemCameraTransforms;)V=|p_i46226_1_,p_i46226_2_,p_i46226_3_,p_i46226_4_,p_i46226_5_ +net/minecraft/client/renderer/block/model/ModelBlockDefinition=CL_00002498 +net/minecraft/client/renderer/block/model/ModelBlockDefinition$Deserializer=CL_00002497 +net/minecraft/client/renderer/block/model/ModelBlockDefinition$MissingVariantException=CL_00002496 +net/minecraft/client/renderer/block/model/ModelBlockDefinition$MissingVariantException.(Lnet/minecraft/client/renderer/block/model/ModelBlockDefinition;)V=|p_i46220_1_ +net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant=CL_00002495 +net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant$Deserializer=CL_00002494 +net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant.(Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/client/resources/model/ModelRotation;ZI)V=|p_i46219_1_,p_i46219_2_,p_i46219_3_,p_i46219_4_ +net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants=CL_00002493 +net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants.(Ljava/lang/String;Ljava/util/List;)V=|p_i46218_1_,p_i46218_2_ +net/minecraft/client/renderer/block/model/ModelBlockDefinition.(Ljava/util/Collection;)V=|p_i46221_1_ +net/minecraft/client/renderer/block/model/ModelBlockDefinition.(Ljava/util/List;)V=|p_i46222_1_ +net/minecraft/client/renderer/block/statemap/BlockStateMapper=CL_00002478 +net/minecraft/client/renderer/block/statemap/DefaultStateMapper=CL_00002477 +net/minecraft/client/renderer/block/statemap/StateMap=CL_00002476 +net/minecraft/client/renderer/block/statemap/StateMap$1=CL_00002475 +net/minecraft/client/renderer/block/statemap/StateMap$Builder=CL_00002474 +net/minecraft/client/renderer/block/statemap/StateMap.(Lnet/minecraft/block/properties/IProperty;Ljava/lang/String;Ljava/util/List;)V=|p_i46210_1_,p_i46210_2_,p_i46210_3_ +net/minecraft/client/renderer/block/statemap/StateMap.(Lnet/minecraft/block/properties/IProperty;Ljava/lang/String;Ljava/util/List;Lnet/minecraft/client/renderer/block/statemap/StateMap$1;)V=|p_i46211_1_,p_i46211_2_,p_i46211_3_,p_i46211_4_ +net/minecraft/client/renderer/block/statemap/StateMapperBase=CL_00002479 +net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator=CL_00002466 +net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status=CL_00002465 +net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status.(Ljava/lang/String;I)V=|p_i46207_1_,p_i46207_2_ +net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Type=CL_00002464 +net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Type.(Ljava/lang/String;I)V=|p_i46206_1_,p_i46206_2_ +net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator.(Lnet/minecraft/client/renderer/chunk/RenderChunk;Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Type;)V=|p_i46208_1_,p_i46208_2_ +net/minecraft/client/renderer/chunk/ChunkRenderDispatcher=CL_00002463 +net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$1=CL_00002462 +net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$1.(Lnet/minecraft/client/renderer/chunk/ChunkRenderDispatcher;Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator;)V=|p_i46205_1_,p_i46205_2_ +net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$2=CL_00002461 +net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$2.(Lnet/minecraft/client/renderer/chunk/ChunkRenderDispatcher;Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator;)V=|p_i46204_1_,p_i46204_2_ +net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$3=CL_00002460 +net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$3.(Lnet/minecraft/client/renderer/chunk/ChunkRenderDispatcher;Lnet/minecraft/util/EnumWorldBlockLayer;Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/client/renderer/chunk/RenderChunk;Lnet/minecraft/client/renderer/chunk/CompiledChunk;)V=|p_i46203_1_,p_i46203_2_,p_i46203_3_,p_i46203_4_,p_i46203_5_ +net/minecraft/client/renderer/chunk/ChunkRenderDispatcher.func_178511_d()Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator;=java.lang.InterruptedException| +net/minecraft/client/renderer/chunk/ChunkRenderDispatcher.func_178515_c()Lnet/minecraft/client/renderer/RegionRenderCacheBuilder;=java.lang.InterruptedException| +net/minecraft/client/renderer/chunk/ChunkRenderWorker=CL_00002459 +net/minecraft/client/renderer/chunk/ChunkRenderWorker$1=CL_00002458 +net/minecraft/client/renderer/chunk/ChunkRenderWorker$1.(Lnet/minecraft/client/renderer/chunk/ChunkRenderWorker;Lcom/google/common/util/concurrent/ListenableFuture;)V=|p_i46200_1_,p_i46200_2_ +net/minecraft/client/renderer/chunk/ChunkRenderWorker$2=CL_00002457 +net/minecraft/client/renderer/chunk/ChunkRenderWorker$2.(Lnet/minecraft/client/renderer/chunk/ChunkRenderWorker;Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator;Lnet/minecraft/client/renderer/chunk/CompiledChunk;)V=|p_i46199_1_,p_i46199_2_,p_i46199_3_ +net/minecraft/client/renderer/chunk/ChunkRenderWorker.(Lnet/minecraft/client/renderer/chunk/ChunkRenderDispatcher;)V=|p_i46201_1_ +net/minecraft/client/renderer/chunk/ChunkRenderWorker.(Lnet/minecraft/client/renderer/chunk/ChunkRenderDispatcher;Lnet/minecraft/client/renderer/RegionRenderCacheBuilder;)V=|p_i46202_1_,p_i46202_2_ +net/minecraft/client/renderer/chunk/ChunkRenderWorker.func_178474_a(Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator;)V=java.lang.InterruptedException| +net/minecraft/client/renderer/chunk/ChunkRenderWorker.func_178475_b()Lnet/minecraft/client/renderer/RegionRenderCacheBuilder;=java.lang.InterruptedException| +net/minecraft/client/renderer/chunk/CompiledChunk=CL_00002456 +net/minecraft/client/renderer/chunk/CompiledChunk$1=CL_00002455 +net/minecraft/client/renderer/chunk/ListedRenderChunk=CL_00002453 +net/minecraft/client/renderer/chunk/ListedRenderChunk.(Lnet/minecraft/world/World;Lnet/minecraft/client/renderer/RenderGlobal;Lnet/minecraft/util/BlockPos;I)V=|p_i46198_1_,p_i46198_2_,p_i46198_3_,p_i46198_4_ +net/minecraft/client/renderer/chunk/RenderChunk=CL_00002452 +net/minecraft/client/renderer/chunk/RenderChunk.(Lnet/minecraft/world/World;Lnet/minecraft/client/renderer/RenderGlobal;Lnet/minecraft/util/BlockPos;I)V=|p_i46197_1_,p_i46197_2_,p_i46197_3_,p_i46197_4_ +net/minecraft/client/renderer/chunk/SetVisibility=CL_00002448 +net/minecraft/client/renderer/chunk/VboChunkFactory=CL_00002451 +net/minecraft/client/renderer/chunk/VisGraph=CL_00002450 +net/minecraft/client/renderer/chunk/VisGraph$SwitchEnumFacing=CL_00002449 +net/minecraft/client/renderer/culling/ClippingHelper=CL_00000977 +net/minecraft/client/renderer/culling/ClippingHelperImpl=CL_00000975 +net/minecraft/client/renderer/culling/Frustum=CL_00000976 +net/minecraft/client/renderer/culling/Frustum.(Lnet/minecraft/client/renderer/culling/ClippingHelper;)V=|p_i46196_1_ +net/minecraft/client/renderer/entity/ArmorStandRenderer=CL_00002447 +net/minecraft/client/renderer/entity/ArmorStandRenderer$1=CL_00002446 +net/minecraft/client/renderer/entity/ArmorStandRenderer$1.(Lnet/minecraft/client/renderer/entity/ArmorStandRenderer;Lnet/minecraft/client/renderer/entity/RendererLivingEntity;)V=|p_i46194_1_,p_i46194_2_ +net/minecraft/client/renderer/entity/ArmorStandRenderer.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46195_1_ +net/minecraft/client/renderer/entity/Render=CL_00000992 +net/minecraft/client/renderer/entity/Render.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46179_1_ +net/minecraft/client/renderer/entity/RenderArrow=CL_00000978 +net/minecraft/client/renderer/entity/RenderArrow.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46193_1_ +net/minecraft/client/renderer/entity/RenderBat=CL_00000979 +net/minecraft/client/renderer/entity/RenderBat.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46192_1_ +net/minecraft/client/renderer/entity/RenderBiped=CL_00001001 +net/minecraft/client/renderer/entity/RenderBiped.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBiped;F)V=|p_i46168_1_,p_i46168_2_,p_i46168_3_ +net/minecraft/client/renderer/entity/RenderBiped.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBiped;FF)V=|p_i46169_1_,p_i46169_2_,p_i46169_3_,p_i46169_4_ +net/minecraft/client/renderer/entity/RenderBlaze=CL_00000980 +net/minecraft/client/renderer/entity/RenderBlaze.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46191_1_ +net/minecraft/client/renderer/entity/RenderBoat=CL_00000981 +net/minecraft/client/renderer/entity/RenderBoat.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46190_1_ +net/minecraft/client/renderer/entity/RenderCaveSpider=CL_00000982 +net/minecraft/client/renderer/entity/RenderCaveSpider.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46189_1_ +net/minecraft/client/renderer/entity/RenderChicken=CL_00000983 +net/minecraft/client/renderer/entity/RenderChicken.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBase;F)V=|p_i46188_1_,p_i46188_2_,p_i46188_3_ +net/minecraft/client/renderer/entity/RenderCow=CL_00000984 +net/minecraft/client/renderer/entity/RenderCow.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBase;F)V=|p_i46187_1_,p_i46187_2_,p_i46187_3_ +net/minecraft/client/renderer/entity/RenderCreeper=CL_00000985 +net/minecraft/client/renderer/entity/RenderCreeper.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46186_1_ +net/minecraft/client/renderer/entity/RenderDragon=CL_00000988 +net/minecraft/client/renderer/entity/RenderDragon.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46183_1_ +net/minecraft/client/renderer/entity/RenderEnderman=CL_00000989 +net/minecraft/client/renderer/entity/RenderEnderman.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46182_1_ +net/minecraft/client/renderer/entity/RenderEndermite=CL_00002445 +net/minecraft/client/renderer/entity/RenderEndermite.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46181_1_ +net/minecraft/client/renderer/entity/RenderEntity=CL_00000986 +net/minecraft/client/renderer/entity/RenderEntity.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46185_1_ +net/minecraft/client/renderer/entity/RenderEntityItem=CL_00002442 +net/minecraft/client/renderer/entity/RenderEntityItem.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/renderer/entity/RenderItem;)V=|p_i46167_1_,p_i46167_2_ +net/minecraft/client/renderer/entity/RenderFallingBlock=CL_00000994 +net/minecraft/client/renderer/entity/RenderFallingBlock.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46177_1_ +net/minecraft/client/renderer/entity/RenderFireball=CL_00000995 +net/minecraft/client/renderer/entity/RenderFireball.(Lnet/minecraft/client/renderer/entity/RenderManager;F)V=|p_i46176_1_,p_i46176_2_ +net/minecraft/client/renderer/entity/RenderFish=CL_00000996 +net/minecraft/client/renderer/entity/RenderFish.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46175_1_ +net/minecraft/client/renderer/entity/RenderGhast=CL_00000997 +net/minecraft/client/renderer/entity/RenderGhast.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46174_1_ +net/minecraft/client/renderer/entity/RenderGiantZombie=CL_00000998 +net/minecraft/client/renderer/entity/RenderGiantZombie$1=CL_00002444 +net/minecraft/client/renderer/entity/RenderGiantZombie$1.(Lnet/minecraft/client/renderer/entity/RenderGiantZombie;Lnet/minecraft/client/renderer/entity/RendererLivingEntity;)V=|p_i46172_1_,p_i46172_2_ +net/minecraft/client/renderer/entity/RenderGiantZombie.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBase;FF)V=|p_i46173_1_,p_i46173_2_,p_i46173_3_,p_i46173_4_ +net/minecraft/client/renderer/entity/RenderGuardian=CL_00002443 +net/minecraft/client/renderer/entity/RenderGuardian.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46171_1_ +net/minecraft/client/renderer/entity/RenderHorse=CL_00001000 +net/minecraft/client/renderer/entity/RenderHorse.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelHorse;F)V=|p_i46170_1_,p_i46170_2_,p_i46170_3_ +net/minecraft/client/renderer/entity/RenderIronGolem=CL_00001031 +net/minecraft/client/renderer/entity/RenderIronGolem.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46133_1_ +net/minecraft/client/renderer/entity/RenderItem=CL_00001003 +net/minecraft/client/renderer/entity/RenderItem$1=CL_00001004 +net/minecraft/client/renderer/entity/RenderItem$1.(Lnet/minecraft/client/renderer/entity/RenderItem;Lnet/minecraft/item/ItemStack;)V=|p_i45080_1_,p_i45080_2_ +net/minecraft/client/renderer/entity/RenderItem$2=CL_00001005 +net/minecraft/client/renderer/entity/RenderItem$2.(Lnet/minecraft/client/renderer/entity/RenderItem;Lnet/minecraft/item/ItemStack;)V=|p_i45081_1_,p_i45081_2_ +net/minecraft/client/renderer/entity/RenderItem$3=CL_00001006 +net/minecraft/client/renderer/entity/RenderItem$3.(Lnet/minecraft/client/renderer/entity/RenderItem;Lnet/minecraft/item/ItemStack;)V=|p_i45082_1_,p_i45082_2_ +net/minecraft/client/renderer/entity/RenderItem$4=CL_00001007 +net/minecraft/client/renderer/entity/RenderItem$4.(Lnet/minecraft/client/renderer/entity/RenderItem;Lnet/minecraft/item/ItemStack;)V=|p_i45083_1_,p_i45083_2_ +net/minecraft/client/renderer/entity/RenderItem$5=CL_00002440 +net/minecraft/client/renderer/entity/RenderItem$5.(Lnet/minecraft/client/renderer/entity/RenderItem;)V=|p_i46164_1_ +net/minecraft/client/renderer/entity/RenderItem$6=CL_00002439 +net/minecraft/client/renderer/entity/RenderItem$6.(Lnet/minecraft/client/renderer/entity/RenderItem;)V=|p_i46163_1_ +net/minecraft/client/renderer/entity/RenderItem$7=CL_00002438 +net/minecraft/client/renderer/entity/RenderItem$7.(Lnet/minecraft/client/renderer/entity/RenderItem;)V=|p_i46162_1_ +net/minecraft/client/renderer/entity/RenderItem$8=CL_00002437 +net/minecraft/client/renderer/entity/RenderItem$8.(Lnet/minecraft/client/renderer/entity/RenderItem;)V=|p_i46161_1_ +net/minecraft/client/renderer/entity/RenderItem$9=CL_00002436 +net/minecraft/client/renderer/entity/RenderItem$9.(Lnet/minecraft/client/renderer/entity/RenderItem;)V=|p_i46160_1_ +net/minecraft/client/renderer/entity/RenderItem$SwitchTransformType=CL_00002441 +net/minecraft/client/renderer/entity/RenderItem.(Lnet/minecraft/client/renderer/texture/TextureManager;Lnet/minecraft/client/resources/model/ModelManager;)V=|p_i46165_1_,p_i46165_2_ +net/minecraft/client/renderer/entity/RenderLeashKnot=CL_00001010 +net/minecraft/client/renderer/entity/RenderLeashKnot.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46158_1_ +net/minecraft/client/renderer/entity/RenderLightningBolt=CL_00001011 +net/minecraft/client/renderer/entity/RenderLightningBolt.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46157_1_ +net/minecraft/client/renderer/entity/RenderLiving=CL_00001015 +net/minecraft/client/renderer/entity/RenderLiving.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBase;F)V=|p_i46153_1_,p_i46153_2_,p_i46153_3_ +net/minecraft/client/renderer/entity/RenderMagmaCube=CL_00001009 +net/minecraft/client/renderer/entity/RenderMagmaCube.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46159_1_ +net/minecraft/client/renderer/entity/RenderManager=CL_00000991 +net/minecraft/client/renderer/entity/RenderManager.(Lnet/minecraft/client/renderer/texture/TextureManager;Lnet/minecraft/client/renderer/entity/RenderItem;)V=|p_i46180_1_,p_i46180_2_ +net/minecraft/client/renderer/entity/RenderMinecart=CL_00001013 +net/minecraft/client/renderer/entity/RenderMinecart.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46155_1_ +net/minecraft/client/renderer/entity/RenderMinecartMobSpawner=CL_00001014 +net/minecraft/client/renderer/entity/RenderMinecartMobSpawner.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46154_1_ +net/minecraft/client/renderer/entity/RenderMooshroom=CL_00001016 +net/minecraft/client/renderer/entity/RenderMooshroom.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBase;F)V=|p_i46152_1_,p_i46152_2_,p_i46152_3_ +net/minecraft/client/renderer/entity/RenderOcelot=CL_00001017 +net/minecraft/client/renderer/entity/RenderOcelot.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBase;F)V=|p_i46151_1_,p_i46151_2_,p_i46151_3_ +net/minecraft/client/renderer/entity/RenderPainting=CL_00001018 +net/minecraft/client/renderer/entity/RenderPainting.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46150_1_ +net/minecraft/client/renderer/entity/RenderPig=CL_00001019 +net/minecraft/client/renderer/entity/RenderPig.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBase;F)V=|p_i46149_1_,p_i46149_2_,p_i46149_3_ +net/minecraft/client/renderer/entity/RenderPigZombie=CL_00002434 +net/minecraft/client/renderer/entity/RenderPigZombie$1=CL_00002433 +net/minecraft/client/renderer/entity/RenderPigZombie$1.(Lnet/minecraft/client/renderer/entity/RenderPigZombie;Lnet/minecraft/client/renderer/entity/RendererLivingEntity;)V=|p_i46147_1_,p_i46147_2_ +net/minecraft/client/renderer/entity/RenderPigZombie.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46148_1_ +net/minecraft/client/renderer/entity/RenderPlayer=CL_00001020 +net/minecraft/client/renderer/entity/RenderPlayer.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46102_1_ +net/minecraft/client/renderer/entity/RenderPlayer.(Lnet/minecraft/client/renderer/entity/RenderManager;Z)V=|p_i46103_1_,p_i46103_2_ +net/minecraft/client/renderer/entity/RenderPotion=CL_00002430 +net/minecraft/client/renderer/entity/RenderPotion.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/renderer/entity/RenderItem;)V=|p_i46136_1_,p_i46136_2_ +net/minecraft/client/renderer/entity/RenderRabbit=CL_00002432 +net/minecraft/client/renderer/entity/RenderRabbit.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBase;F)V=|p_i46146_1_,p_i46146_2_,p_i46146_3_ +net/minecraft/client/renderer/entity/RenderSheep=CL_00001021 +net/minecraft/client/renderer/entity/RenderSheep.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBase;F)V=|p_i46145_1_,p_i46145_2_,p_i46145_3_ +net/minecraft/client/renderer/entity/RenderSilverfish=CL_00001022 +net/minecraft/client/renderer/entity/RenderSilverfish.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46144_1_ +net/minecraft/client/renderer/entity/RenderSkeleton=CL_00001023 +net/minecraft/client/renderer/entity/RenderSkeleton$1=CL_00002431 +net/minecraft/client/renderer/entity/RenderSkeleton$1.(Lnet/minecraft/client/renderer/entity/RenderSkeleton;Lnet/minecraft/client/renderer/entity/RendererLivingEntity;)V=|p_i46142_1_,p_i46142_2_ +net/minecraft/client/renderer/entity/RenderSkeleton.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46143_1_ +net/minecraft/client/renderer/entity/RenderSlime=CL_00001024 +net/minecraft/client/renderer/entity/RenderSlime.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBase;F)V=|p_i46141_1_,p_i46141_2_,p_i46141_3_ +net/minecraft/client/renderer/entity/RenderSnowMan=CL_00001025 +net/minecraft/client/renderer/entity/RenderSnowMan.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46140_1_ +net/minecraft/client/renderer/entity/RenderSnowball=CL_00001008 +net/minecraft/client/renderer/entity/RenderSnowball.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/item/Item;Lnet/minecraft/client/renderer/entity/RenderItem;)V=|p_i46137_1_,p_i46137_2_,p_i46137_3_ +net/minecraft/client/renderer/entity/RenderSpider=CL_00001027 +net/minecraft/client/renderer/entity/RenderSpider.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46139_1_ +net/minecraft/client/renderer/entity/RenderSquid=CL_00001028 +net/minecraft/client/renderer/entity/RenderSquid.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBase;F)V=|p_i46138_1_,p_i46138_2_,p_i46138_3_ +net/minecraft/client/renderer/entity/RenderTNTPrimed=CL_00001030 +net/minecraft/client/renderer/entity/RenderTNTPrimed.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46134_1_ +net/minecraft/client/renderer/entity/RenderTntMinecart=CL_00001029 +net/minecraft/client/renderer/entity/RenderTntMinecart.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46135_1_ +net/minecraft/client/renderer/entity/RenderVillager=CL_00001032 +net/minecraft/client/renderer/entity/RenderVillager.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46132_1_ +net/minecraft/client/renderer/entity/RenderWitch=CL_00001033 +net/minecraft/client/renderer/entity/RenderWitch.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46131_1_ +net/minecraft/client/renderer/entity/RenderWither=CL_00001034 +net/minecraft/client/renderer/entity/RenderWither.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46130_1_ +net/minecraft/client/renderer/entity/RenderWolf=CL_00001036 +net/minecraft/client/renderer/entity/RenderWolf.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBase;F)V=|p_i46128_1_,p_i46128_2_,p_i46128_3_ +net/minecraft/client/renderer/entity/RenderXPOrb=CL_00000993 +net/minecraft/client/renderer/entity/RenderXPOrb.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46178_1_ +net/minecraft/client/renderer/entity/RenderZombie=CL_00001037 +net/minecraft/client/renderer/entity/RenderZombie$1=CL_00002429 +net/minecraft/client/renderer/entity/RenderZombie$1.(Lnet/minecraft/client/renderer/entity/RenderZombie;Lnet/minecraft/client/renderer/entity/RendererLivingEntity;)V=|p_i46126_1_,p_i46126_2_ +net/minecraft/client/renderer/entity/RenderZombie.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46127_1_ +net/minecraft/client/renderer/entity/RendererLivingEntity=CL_00001012 +net/minecraft/client/renderer/entity/RendererLivingEntity$SwitchEnumVisible=CL_00002435 +net/minecraft/client/renderer/entity/RendererLivingEntity.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/model/ModelBase;F)V=|p_i46156_1_,p_i46156_2_,p_i46156_3_ +net/minecraft/client/renderer/entity/layers/LayerArmorBase=CL_00002428 +net/minecraft/client/renderer/entity/layers/LayerArmorBase$SwitchArmorMaterial=CL_00002427 +net/minecraft/client/renderer/entity/layers/LayerArmorBase.(Lnet/minecraft/client/renderer/entity/RendererLivingEntity;)V=|p_i46125_1_ +net/minecraft/client/renderer/entity/layers/LayerArrow=CL_00002426 +net/minecraft/client/renderer/entity/layers/LayerArrow.(Lnet/minecraft/client/renderer/entity/RendererLivingEntity;)V=|p_i46124_1_ +net/minecraft/client/renderer/entity/layers/LayerBipedArmor=CL_00002417 +net/minecraft/client/renderer/entity/layers/LayerBipedArmor.(Lnet/minecraft/client/renderer/entity/RendererLivingEntity;)V=|p_i46116_1_ +net/minecraft/client/renderer/entity/layers/LayerCape=CL_00002425 +net/minecraft/client/renderer/entity/layers/LayerCape.(Lnet/minecraft/client/renderer/entity/RenderPlayer;)V=|p_i46123_1_ +net/minecraft/client/renderer/entity/layers/LayerCreeperCharge=CL_00002423 +net/minecraft/client/renderer/entity/layers/LayerCreeperCharge.(Lnet/minecraft/client/renderer/entity/RenderCreeper;)V=|p_i46121_1_ +net/minecraft/client/renderer/entity/layers/LayerCustomHead=CL_00002422 +net/minecraft/client/renderer/entity/layers/LayerCustomHead.(Lnet/minecraft/client/model/ModelRenderer;)V=|p_i46120_1_ +net/minecraft/client/renderer/entity/layers/LayerDeadmau5Head=CL_00002421 +net/minecraft/client/renderer/entity/layers/LayerDeadmau5Head.(Lnet/minecraft/client/renderer/entity/RenderPlayer;)V=|p_i46119_1_ +net/minecraft/client/renderer/entity/layers/LayerEnderDragonDeath=CL_00002420 +net/minecraft/client/renderer/entity/layers/LayerEnderDragonEyes=CL_00002419 +net/minecraft/client/renderer/entity/layers/LayerEnderDragonEyes.(Lnet/minecraft/client/renderer/entity/RenderDragon;)V=|p_i46118_1_ +net/minecraft/client/renderer/entity/layers/LayerEndermanEyes=CL_00002418 +net/minecraft/client/renderer/entity/layers/LayerEndermanEyes.(Lnet/minecraft/client/renderer/entity/RenderEnderman;)V=|p_i46117_1_ +net/minecraft/client/renderer/entity/layers/LayerHeldBlock=CL_00002424 +net/minecraft/client/renderer/entity/layers/LayerHeldBlock.(Lnet/minecraft/client/renderer/entity/RenderEnderman;)V=|p_i46122_1_ +net/minecraft/client/renderer/entity/layers/LayerHeldItem=CL_00002416 +net/minecraft/client/renderer/entity/layers/LayerHeldItem.(Lnet/minecraft/client/renderer/entity/RendererLivingEntity;)V=|p_i46115_1_ +net/minecraft/client/renderer/entity/layers/LayerHeldItemWitch=CL_00002407 +net/minecraft/client/renderer/entity/layers/LayerHeldItemWitch.(Lnet/minecraft/client/renderer/entity/RenderWitch;)V=|p_i46106_1_ +net/minecraft/client/renderer/entity/layers/LayerIronGolemFlower=CL_00002408 +net/minecraft/client/renderer/entity/layers/LayerIronGolemFlower.(Lnet/minecraft/client/renderer/entity/RenderIronGolem;)V=|p_i46107_1_ +net/minecraft/client/renderer/entity/layers/LayerMooshroomMushroom=CL_00002415 +net/minecraft/client/renderer/entity/layers/LayerMooshroomMushroom.(Lnet/minecraft/client/renderer/entity/RenderMooshroom;)V=|p_i46114_1_ +net/minecraft/client/renderer/entity/layers/LayerSaddle=CL_00002414 +net/minecraft/client/renderer/entity/layers/LayerSaddle.(Lnet/minecraft/client/renderer/entity/RenderPig;)V=|p_i46113_1_ +net/minecraft/client/renderer/entity/layers/LayerSheepWool=CL_00002413 +net/minecraft/client/renderer/entity/layers/LayerSheepWool.(Lnet/minecraft/client/renderer/entity/RenderSheep;)V=|p_i46112_1_ +net/minecraft/client/renderer/entity/layers/LayerSlimeGel=CL_00002412 +net/minecraft/client/renderer/entity/layers/LayerSlimeGel.(Lnet/minecraft/client/renderer/entity/RenderSlime;)V=|p_i46111_1_ +net/minecraft/client/renderer/entity/layers/LayerSnowmanHead=CL_00002411 +net/minecraft/client/renderer/entity/layers/LayerSnowmanHead.(Lnet/minecraft/client/renderer/entity/RenderSnowMan;)V=|p_i46110_1_ +net/minecraft/client/renderer/entity/layers/LayerSpiderEyes=CL_00002410 +net/minecraft/client/renderer/entity/layers/LayerSpiderEyes.(Lnet/minecraft/client/renderer/entity/RenderSpider;)V=|p_i46109_1_ +net/minecraft/client/renderer/entity/layers/LayerVillagerArmor=CL_00002409 +net/minecraft/client/renderer/entity/layers/LayerVillagerArmor.(Lnet/minecraft/client/renderer/entity/RendererLivingEntity;)V=|p_i46108_1_ +net/minecraft/client/renderer/entity/layers/LayerWitherAura=CL_00002406 +net/minecraft/client/renderer/entity/layers/LayerWitherAura.(Lnet/minecraft/client/renderer/entity/RenderWither;)V=|p_i46105_1_ +net/minecraft/client/renderer/entity/layers/LayerWolfCollar=CL_00002405 +net/minecraft/client/renderer/entity/layers/LayerWolfCollar.(Lnet/minecraft/client/renderer/entity/RenderWolf;)V=|p_i46104_1_ +net/minecraft/client/renderer/texture/AbstractTexture=CL_00001047 +net/minecraft/client/renderer/texture/DynamicTexture=CL_00001048 +net/minecraft/client/renderer/texture/DynamicTexture.(II)V=|p_i1271_1_,p_i1271_2_ +net/minecraft/client/renderer/texture/DynamicTexture.(Ljava/awt/image/BufferedImage;)V=|p_i1270_1_ +net/minecraft/client/renderer/texture/DynamicTexture.func_110551_a(Lnet/minecraft/client/resources/IResourceManager;)V=java/io/IOException| +net/minecraft/client/renderer/texture/ITextureObject.func_110551_a(Lnet/minecraft/client/resources/IResourceManager;)V=java/io/IOException| +net/minecraft/client/renderer/texture/LayeredColorMaskTexture=CL_00002404 +net/minecraft/client/renderer/texture/LayeredColorMaskTexture.(Lnet/minecraft/util/ResourceLocation;Ljava/util/List;Ljava/util/List;)V=|p_i46101_1_,p_i46101_2_,p_i46101_3_ +net/minecraft/client/renderer/texture/LayeredColorMaskTexture.func_110551_a(Lnet/minecraft/client/resources/IResourceManager;)V=java/io/IOException| +net/minecraft/client/renderer/texture/LayeredTexture=CL_00001051 +net/minecraft/client/renderer/texture/LayeredTexture.([Ljava/lang/String;)V=|p_i1274_1_ +net/minecraft/client/renderer/texture/LayeredTexture.func_110551_a(Lnet/minecraft/client/resources/IResourceManager;)V=java/io/IOException| +net/minecraft/client/renderer/texture/SimpleTexture=CL_00001052 +net/minecraft/client/renderer/texture/SimpleTexture.(Lnet/minecraft/util/ResourceLocation;)V=|p_i1275_1_ +net/minecraft/client/renderer/texture/SimpleTexture.func_110551_a(Lnet/minecraft/client/resources/IResourceManager;)V=java/io/IOException| +net/minecraft/client/renderer/texture/Stitcher=CL_00001054 +net/minecraft/client/renderer/texture/Stitcher$Holder=CL_00001055 +net/minecraft/client/renderer/texture/Stitcher$Holder.(Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;I)V=|p_i45094_1_,p_i45094_2_ +net/minecraft/client/renderer/texture/Stitcher$Slot=CL_00001056 +net/minecraft/client/renderer/texture/Stitcher$Slot.(IIII)V=|p_i1277_1_,p_i1277_2_,p_i1277_3_,p_i1277_4_ +net/minecraft/client/renderer/texture/Stitcher.(IIZII)V=|p_i45095_1_,p_i45095_2_,p_i45095_3_,p_i45095_4_,p_i45095_5_ +net/minecraft/client/renderer/texture/TextureAtlasSprite=CL_00001062 +net/minecraft/client/renderer/texture/TextureAtlasSprite$1=CL_00001063 +net/minecraft/client/renderer/texture/TextureAtlasSprite$1.(Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;[[I)V=|p_i45099_1_,p_i45099_2_ +net/minecraft/client/renderer/texture/TextureAtlasSprite.(Ljava/lang/String;)V=|p_i1282_1_ +net/minecraft/client/renderer/texture/TextureClock=CL_00001070 +net/minecraft/client/renderer/texture/TextureClock.(Ljava/lang/String;)V=|p_i1285_1_ +net/minecraft/client/renderer/texture/TextureCompass=CL_00001071 +net/minecraft/client/renderer/texture/TextureCompass.(Ljava/lang/String;)V=|p_i1286_1_ +net/minecraft/client/renderer/texture/TextureManager=CL_00001064 +net/minecraft/client/renderer/texture/TextureManager$1=CL_00001065 +net/minecraft/client/renderer/texture/TextureManager$1.(Lnet/minecraft/client/renderer/texture/TextureManager;Lnet/minecraft/client/renderer/texture/ITextureObject;)V=|p_i1283_1_,p_i1283_2_ +net/minecraft/client/renderer/texture/TextureManager.(Lnet/minecraft/client/resources/IResourceManager;)V=|p_i1284_1_ +net/minecraft/client/renderer/texture/TextureMap=CL_00001058 +net/minecraft/client/renderer/texture/TextureMap$1=CL_00001059 +net/minecraft/client/renderer/texture/TextureMap$1.(Lnet/minecraft/client/renderer/texture/TextureMap;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)V=|p_i45096_1_,p_i45096_2_ +net/minecraft/client/renderer/texture/TextureMap$2=CL_00001060 +net/minecraft/client/renderer/texture/TextureMap$2.(Lnet/minecraft/client/renderer/texture/TextureMap;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)V=|p_i45097_1_,p_i45097_2_ +net/minecraft/client/renderer/texture/TextureMap$3=CL_00001061 +net/minecraft/client/renderer/texture/TextureMap$3.(Lnet/minecraft/client/renderer/texture/TextureMap;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)V=|p_i45098_1_,p_i45098_2_ +net/minecraft/client/renderer/texture/TextureMap.(Ljava/lang/String;)V=|p_i46099_1_ +net/minecraft/client/renderer/texture/TextureMap.(Ljava/lang/String;Lnet/minecraft/client/renderer/texture/IIconCreator;)V=|p_i46100_1_,p_i46100_2_ +net/minecraft/client/renderer/texture/TextureMap.func_110551_a(Lnet/minecraft/client/resources/IResourceManager;)V=java/io/IOException| +net/minecraft/client/renderer/texture/TextureUtil=CL_00001067 +net/minecraft/client/renderer/texture/TextureUtil.func_110986_a(Lnet/minecraft/client/resources/IResourceManager;Lnet/minecraft/util/ResourceLocation;)[I=java/io/IOException| +net/minecraft/client/renderer/texture/TextureUtil.func_177053_a(Ljava/io/InputStream;)Ljava/awt/image/BufferedImage;=java.io.IOException| +net/minecraft/client/renderer/tileentity/RenderEnderCrystal=CL_00000987 +net/minecraft/client/renderer/tileentity/RenderEnderCrystal.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46184_1_ +net/minecraft/client/renderer/tileentity/RenderItemFrame=CL_00001002 +net/minecraft/client/renderer/tileentity/RenderItemFrame.(Lnet/minecraft/client/renderer/entity/RenderManager;Lnet/minecraft/client/renderer/entity/RenderItem;)V=|p_i46166_1_,p_i46166_2_ +net/minecraft/client/renderer/tileentity/RenderWitherSkull=CL_00001035 +net/minecraft/client/renderer/tileentity/RenderWitherSkull.(Lnet/minecraft/client/renderer/entity/RenderManager;)V=|p_i46129_1_ +net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer=CL_00002473 +net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$1=CL_00002472 +net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$TimedBannerTexture=CL_00002471 +net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$TimedBannerTexture.(Lnet/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$1;)V=|p_i46209_1_ +net/minecraft/client/renderer/tileentity/TileEntityBeaconRenderer=CL_00000962 +net/minecraft/client/renderer/tileentity/TileEntityChestRenderer=CL_00000965 +net/minecraft/client/renderer/tileentity/TileEntityEnchantmentTableRenderer=CL_00002470 +net/minecraft/client/renderer/tileentity/TileEntityEndPortalRenderer=CL_00002467 +net/minecraft/client/renderer/tileentity/TileEntityEnderChestRenderer=CL_00000967 +net/minecraft/client/renderer/tileentity/TileEntityMobSpawnerRenderer=CL_00000968 +net/minecraft/client/renderer/tileentity/TileEntityPistonRenderer=CL_00002469 +net/minecraft/client/renderer/tileentity/TileEntityItemStackRenderer=CL_00000946 +net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher=CL_00000963 +net/minecraft/client/renderer/tileentity/TileEntitySignRenderer=CL_00000970 +net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer=CL_00000971 +net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer$SwitchEnumFacing=CL_00002468 +net/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer=CL_00000964 +net/minecraft/client/renderer/vertex/DefaultVertexFormats=CL_00002403 +net/minecraft/client/renderer/vertex/VertexBuffer=CL_00002402 +net/minecraft/client/renderer/vertex/VertexBuffer.(Lnet/minecraft/client/renderer/vertex/VertexFormat;)V=|p_i46098_1_ +net/minecraft/client/renderer/vertex/VertexFormat=CL_00002401 +net/minecraft/client/renderer/vertex/VertexFormat$SwitchEnumUsage=CL_00002400 +net/minecraft/client/renderer/vertex/VertexFormat.(Lnet/minecraft/client/renderer/vertex/VertexFormat;)V=|p_i46097_1_ +net/minecraft/client/renderer/vertex/VertexFormatElement=CL_00002399 +net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType=CL_00002398 +net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType.(Ljava/lang/String;IILjava/lang/String;I)V=|p_i46095_1_,p_i46095_2_,p_i46095_3_,p_i46095_4_,p_i46095_5_ +net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage=CL_00002397 +net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage.(Ljava/lang/String;ILjava/lang/String;)V=|p_i46094_1_,p_i46094_2_,p_i46094_3_ +net/minecraft/client/renderer/vertex/VertexFormatElement.(ILnet/minecraft/client/renderer/vertex/VertexFormatElement$EnumType;Lnet/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage;I)V=|p_i46096_1_,p_i46096_2_,p_i46096_3_,p_i46096_4_ +net/minecraft/client/resources/AbstractResourcePack=CL_00001072 +net/minecraft/client/resources/AbstractResourcePack.(Ljava/io/File;)V=|p_i1287_1_ +net/minecraft/client/resources/AbstractResourcePack.func_110586_a()Ljava/awt/image/BufferedImage;=java/io/IOException| +net/minecraft/client/resources/AbstractResourcePack.func_110590_a(Lnet/minecraft/util/ResourceLocation;)Ljava/io/InputStream;=java/io/IOException| +net/minecraft/client/resources/AbstractResourcePack.func_110591_a(Ljava/lang/String;)Ljava/io/InputStream;=java/io/IOException| +net/minecraft/client/resources/AbstractResourcePack.func_135058_a(Lnet/minecraft/client/resources/data/IMetadataSerializer;Ljava/lang/String;)Lnet/minecraft/client/resources/data/IMetadataSection;=java/io/IOException| +net/minecraft/client/resources/DefaultPlayerSkin=CL_00002396 +net/minecraft/client/resources/DefaultResourcePack=CL_00001073 +net/minecraft/client/resources/DefaultResourcePack.(Ljava/util/Map;)V=|p_i46346_1_ +net/minecraft/client/resources/DefaultResourcePack.func_110586_a()Ljava/awt/image/BufferedImage;=java/io/IOException| +net/minecraft/client/resources/DefaultResourcePack.func_110590_a(Lnet/minecraft/util/ResourceLocation;)Ljava/io/InputStream;=java/io/IOException| +net/minecraft/client/resources/DefaultResourcePack.func_135058_a(Lnet/minecraft/client/resources/data/IMetadataSerializer;Ljava/lang/String;)Lnet/minecraft/client/resources/data/IMetadataSection;=java/io/IOException| +net/minecraft/client/resources/DefaultResourcePack.func_152780_c(Lnet/minecraft/util/ResourceLocation;)Ljava/io/InputStream;=java/io/IOException| +net/minecraft/client/resources/FallbackResourceManager=CL_00001074 +net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger=CL_00002395 +net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger.(Ljava/io/InputStream;Lnet/minecraft/util/ResourceLocation;Ljava/lang/String;)V=|p_i46093_1_,p_i46093_2_,p_i46093_3_ +net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger.close()V=java.io.IOException| +net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger.finalize()V=java.lang.Throwable| +net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger.read()I=java.io.IOException| +net/minecraft/client/resources/FallbackResourceManager.(Lnet/minecraft/client/resources/data/IMetadataSerializer;)V=|p_i1289_1_ +net/minecraft/client/resources/FallbackResourceManager.func_110536_a(Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/resources/IResource;=java/io/IOException| +net/minecraft/client/resources/FallbackResourceManager.func_135056_b(Lnet/minecraft/util/ResourceLocation;)Ljava/util/List;=java/io/IOException| +net/minecraft/client/resources/FallbackResourceManager.func_177245_a(Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/client/resources/IResourcePack;)Ljava/io/InputStream;=java.io.IOException| +net/minecraft/client/resources/FileResourcePack=CL_00001075 +net/minecraft/client/resources/FileResourcePack.(Ljava/io/File;)V=|p_i1290_1_ +net/minecraft/client/resources/FileResourcePack.close()V=java/io/IOException| +net/minecraft/client/resources/FileResourcePack.finalize()V=java/lang/Throwable| +net/minecraft/client/resources/FileResourcePack.func_110591_a(Ljava/lang/String;)Ljava/io/InputStream;=java/io/IOException| +net/minecraft/client/resources/FileResourcePack.func_110599_c()Ljava/util/zip/ZipFile;=java/io/IOException| +net/minecraft/client/resources/FolderResourcePack=CL_00001076 +net/minecraft/client/resources/FolderResourcePack.(Ljava/io/File;)V=|p_i1291_1_ +net/minecraft/client/resources/FolderResourcePack.func_110591_a(Ljava/lang/String;)Ljava/io/InputStream;=java/io/IOException| +net/minecraft/client/resources/FoliageColorReloadListener=CL_00001077 +net/minecraft/client/resources/GrassColorReloadListener=CL_00001078 +net/minecraft/client/resources/I18n=CL_00001094 +net/minecraft/client/resources/IResourceManager.func_110536_a(Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/resources/IResource;=java/io/IOException| +net/minecraft/client/resources/IResourceManager.func_135056_b(Lnet/minecraft/util/ResourceLocation;)Ljava/util/List;=java/io/IOException| +net/minecraft/client/resources/IResourcePack.func_110586_a()Ljava/awt/image/BufferedImage;=java/io/IOException| +net/minecraft/client/resources/IResourcePack.func_110590_a(Lnet/minecraft/util/ResourceLocation;)Ljava/io/InputStream;=java/io/IOException| +net/minecraft/client/resources/IResourcePack.func_135058_a(Lnet/minecraft/client/resources/data/IMetadataSerializer;Ljava/lang/String;)Lnet/minecraft/client/resources/data/IMetadataSection;=java/io/IOException| +net/minecraft/client/resources/Language=CL_00001095 +net/minecraft/client/resources/Language.(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V=|p_i1303_1_,p_i1303_2_,p_i1303_3_,p_i1303_4_ +net/minecraft/client/resources/LanguageManager=CL_00001096 +net/minecraft/client/resources/LanguageManager.(Lnet/minecraft/client/resources/data/IMetadataSerializer;Ljava/lang/String;)V=|p_i1304_1_,p_i1304_2_ +net/minecraft/client/resources/Locale=CL_00001097 +net/minecraft/client/resources/Locale.func_135021_a(Ljava/io/InputStream;)V=java/io/IOException| +net/minecraft/client/resources/Locale.func_135028_a(Ljava/util/List;)V=java/io/IOException| +net/minecraft/client/resources/ResourceIndex=CL_00001831 +net/minecraft/client/resources/ResourceIndex.(Ljava/io/File;Ljava/lang/String;)V=|p_i1047_1_,p_i1047_2_ +net/minecraft/client/resources/ResourcePackFileNotFoundException=CL_00001086 +net/minecraft/client/resources/ResourcePackFileNotFoundException.(Ljava/io/File;Ljava/lang/String;)V=|p_i1294_1_,p_i1294_2_ +net/minecraft/client/resources/ResourcePackListEntry=CL_00000821 +net/minecraft/client/resources/ResourcePackListEntry.(Lnet/minecraft/client/gui/GuiScreenResourcePacks;)V=|p_i45051_1_ +net/minecraft/client/resources/ResourcePackListEntryDefault=CL_00000822 +net/minecraft/client/resources/ResourcePackListEntryDefault.(Lnet/minecraft/client/gui/GuiScreenResourcePacks;)V=|p_i45052_1_ +net/minecraft/client/resources/ResourcePackListEntryFound=CL_00000823 +net/minecraft/client/resources/ResourcePackListEntryFound.(Lnet/minecraft/client/gui/GuiScreenResourcePacks;Lnet/minecraft/client/resources/ResourcePackRepository$Entry;)V=|p_i45053_1_,p_i45053_2_ +net/minecraft/client/resources/ResourcePackRepository=CL_00001087 +net/minecraft/client/resources/ResourcePackRepository$1=CL_00001088 +net/minecraft/client/resources/ResourcePackRepository$2=CL_00001089 +net/minecraft/client/resources/ResourcePackRepository$2.(Lnet/minecraft/client/resources/ResourcePackRepository;Lnet/minecraft/client/Minecraft;Lnet/minecraft/client/gui/GuiScreenWorking;)V=|p_i46092_1_,p_i46092_2_,p_i46092_3_ +net/minecraft/client/resources/ResourcePackRepository$3=CL_00002394 +net/minecraft/client/resources/ResourcePackRepository$3.(Lnet/minecraft/client/resources/ResourcePackRepository;Ljava/io/File;Lcom/google/common/util/concurrent/SettableFuture;)V=|p_i46091_1_,p_i46091_2_,p_i46091_3_ +net/minecraft/client/resources/ResourcePackRepository$Entry=CL_00001090 +net/minecraft/client/resources/ResourcePackRepository$Entry.(Lnet/minecraft/client/resources/ResourcePackRepository;Ljava/io/File;)V=|p_i1295_1_,p_i1295_2_ +net/minecraft/client/resources/ResourcePackRepository$Entry.(Lnet/minecraft/client/resources/ResourcePackRepository;Ljava/io/File;Lnet/minecraft/client/resources/ResourcePackRepository$1;)V=|p_i1296_1_,p_i1296_2_,p_i1296_3_ +net/minecraft/client/resources/ResourcePackRepository$Entry.func_110516_a()V=java/io/IOException| +net/minecraft/client/resources/ResourcePackRepository.(Ljava/io/File;Ljava/io/File;Lnet/minecraft/client/resources/IResourcePack;Lnet/minecraft/client/resources/data/IMetadataSerializer;Lnet/minecraft/client/settings/GameSettings;)V=|p_i45101_1_,p_i45101_2_,p_i45101_3_,p_i45101_4_,p_i45101_5_ +net/minecraft/client/resources/SimpleReloadableResourceManager=CL_00001091 +net/minecraft/client/resources/SimpleReloadableResourceManager$1=CL_00001092 +net/minecraft/client/resources/SimpleReloadableResourceManager$1.(Lnet/minecraft/client/resources/SimpleReloadableResourceManager;)V=|p_i1298_1_ +net/minecraft/client/resources/SimpleReloadableResourceManager.(Lnet/minecraft/client/resources/data/IMetadataSerializer;)V=|p_i1299_1_ +net/minecraft/client/resources/SimpleReloadableResourceManager.func_110536_a(Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/resources/IResource;=java/io/IOException| +net/minecraft/client/resources/SimpleReloadableResourceManager.func_135056_b(Lnet/minecraft/util/ResourceLocation;)Ljava/util/List;=java/io/IOException| +net/minecraft/client/resources/SimpleResource=CL_00001093 +net/minecraft/client/resources/SimpleResource.(Ljava/lang/String;Lnet/minecraft/util/ResourceLocation;Ljava/io/InputStream;Ljava/io/InputStream;Lnet/minecraft/client/resources/data/IMetadataSerializer;)V=|p_i46090_1_,p_i46090_2_,p_i46090_3_,p_i46090_4_,p_i46090_5_ +net/minecraft/client/resources/SkinManager=CL_00001830 +net/minecraft/client/resources/SkinManager$1=CL_00001829 +net/minecraft/client/resources/SkinManager$1.(Lnet/minecraft/client/resources/SkinManager;)V=|p_i1042_1_ +net/minecraft/client/resources/SkinManager$2=CL_00001828 +net/minecraft/client/resources/SkinManager$2.(Lnet/minecraft/client/resources/SkinManager;Lnet/minecraft/client/renderer/IImageBuffer;Lnet/minecraft/client/resources/SkinManager$SkinAvailableCallback;Lcom/mojang/authlib/minecraft/MinecraftProfileTexture$Type;Lnet/minecraft/util/ResourceLocation;Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;)V=|p_i46089_1_,p_i46089_2_,p_i46089_3_,p_i46089_4_,p_i46089_5_,p_i46089_6_ +net/minecraft/client/resources/SkinManager$3=CL_00001827 +net/minecraft/client/resources/SkinManager$3$1=CL_00001826 +net/minecraft/client/resources/SkinManager$3$1.(Lnet/minecraft/client/resources/SkinManager$3;Ljava/util/Map;)V=|p_i1036_1_,p_i1036_2_ +net/minecraft/client/resources/SkinManager$3.(Lnet/minecraft/client/resources/SkinManager;Lcom/mojang/authlib/GameProfile;ZLnet/minecraft/client/resources/SkinManager$SkinAvailableCallback;)V=|p_i1038_1_,p_i1038_2_,p_i1038_3_,p_i1038_4_ +net/minecraft/client/resources/SkinManager.(Lnet/minecraft/client/renderer/texture/TextureManager;Ljava/io/File;Lcom/mojang/authlib/minecraft/MinecraftSessionService;)V=|p_i1044_1_,p_i1044_2_,p_i1044_3_ +net/minecraft/client/resources/data/AnimationFrame=CL_00001104 +net/minecraft/client/resources/data/AnimationFrame.(I)V=|p_i1307_1_ +net/minecraft/client/resources/data/AnimationFrame.(II)V=|p_i1308_1_,p_i1308_2_ +net/minecraft/client/resources/data/AnimationMetadataSection=CL_00001106 +net/minecraft/client/resources/data/AnimationMetadataSection.(Ljava/util/List;IIIZ)V=|p_i46088_1_,p_i46088_2_,p_i46088_3_,p_i46088_4_,p_i46088_5_ +net/minecraft/client/resources/data/AnimationMetadataSectionSerializer=CL_00001107 +net/minecraft/client/resources/data/BaseMetadataSectionSerializer=CL_00001098 +net/minecraft/client/resources/data/FontMetadataSection=CL_00001108 +net/minecraft/client/resources/data/FontMetadataSection.([F[F[F)V=|p_i1310_1_,p_i1310_2_,p_i1310_3_ +net/minecraft/client/resources/data/FontMetadataSectionSerializer=CL_00001109 +net/minecraft/client/resources/data/IMetadataSerializer=CL_00001101 +net/minecraft/client/resources/data/IMetadataSerializer$1=CL_00001825 +net/minecraft/client/resources/data/IMetadataSerializer$Registration=CL_00001103 +net/minecraft/client/resources/data/IMetadataSerializer$Registration.(Lnet/minecraft/client/resources/data/IMetadataSerializer;Lnet/minecraft/client/resources/data/IMetadataSectionSerializer;Ljava/lang/Class;)V=|p_i1305_1_,p_i1305_2_,p_i1305_3_ +net/minecraft/client/resources/data/IMetadataSerializer$Registration.(Lnet/minecraft/client/resources/data/IMetadataSerializer;Lnet/minecraft/client/resources/data/IMetadataSectionSerializer;Ljava/lang/Class;Lnet/minecraft/client/resources/data/IMetadataSerializer$1;)V=|p_i1306_1_,p_i1306_2_,p_i1306_3_,p_i1306_4_ +net/minecraft/client/resources/data/LanguageMetadataSection=CL_00001110 +net/minecraft/client/resources/data/LanguageMetadataSection.(Ljava/util/Collection;)V=|p_i1311_1_ +net/minecraft/client/resources/data/LanguageMetadataSectionSerializer=CL_00001111 +net/minecraft/client/resources/data/PackMetadataSection=CL_00001112 +net/minecraft/client/resources/data/PackMetadataSection.(Lnet/minecraft/util/IChatComponent;I)V=|p_i1034_1_,p_i1034_2_ +net/minecraft/client/resources/data/PackMetadataSectionSerializer=CL_00001113 +net/minecraft/client/resources/data/TextureMetadataSection=CL_00001114 +net/minecraft/client/resources/data/TextureMetadataSection.(ZZLjava/util/List;)V=|p_i45102_1_,p_i45102_2_,p_i45102_3_ +net/minecraft/client/resources/data/TextureMetadataSectionSerializer=CL_00001115 +net/minecraft/client/resources/model/BuiltInModel=CL_00002392 +net/minecraft/client/resources/model/BuiltInModel.(Lnet/minecraft/client/renderer/block/model/ItemCameraTransforms;)V=|p_i46086_1_ +net/minecraft/client/resources/model/ModelBakery=CL_00002391 +net/minecraft/client/resources/model/ModelBakery$1=CL_00002390 +net/minecraft/client/resources/model/ModelBakery$1.(Lnet/minecraft/client/resources/model/ModelBakery;)V=|p_i46084_1_ +net/minecraft/client/resources/model/ModelBakery$2=CL_00002389 +net/minecraft/client/resources/model/ModelBakery$2.(Lnet/minecraft/client/resources/model/ModelBakery;Ljava/util/Set;)V=|p_i46083_1_,p_i46083_2_ +net/minecraft/client/resources/model/ModelBakery.(Lnet/minecraft/client/resources/IResourceManager;Lnet/minecraft/client/renderer/texture/TextureMap;Lnet/minecraft/client/renderer/BlockModelShapes;)V=|p_i46085_1_,p_i46085_2_,p_i46085_3_ +net/minecraft/client/resources/model/ModelBakery.func_177594_c(Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/renderer/block/model/ModelBlock;=java.io.IOException| +net/minecraft/client/resources/model/ModelManager=CL_00002388 +net/minecraft/client/resources/model/ModelManager.(Lnet/minecraft/client/renderer/texture/TextureMap;)V=|p_i46082_1_ +net/minecraft/client/resources/model/ModelResourceLocation=CL_00002387 +net/minecraft/client/resources/model/ModelResourceLocation.(I[Ljava/lang/String;)V=|p_i46078_1_,p_i46078_2_ +net/minecraft/client/resources/model/ModelResourceLocation.(Ljava/lang/String;)V=|p_i46079_1_ +net/minecraft/client/resources/model/ModelResourceLocation.(Ljava/lang/String;Ljava/lang/String;)V=|p_i46081_1_,p_i46081_2_ +net/minecraft/client/resources/model/ModelResourceLocation.(Lnet/minecraft/util/ResourceLocation;Ljava/lang/String;)V=|p_i46080_1_,p_i46080_2_ +net/minecraft/client/resources/model/ModelRotation=CL_00002393 +net/minecraft/client/resources/model/ModelRotation.(Ljava/lang/String;III)V=|p_i46087_1_,p_i46087_2_,p_i46087_3_,p_i46087_4_ +net/minecraft/client/resources/model/SimpleBakedModel=CL_00002386 +net/minecraft/client/resources/model/SimpleBakedModel$Builder=CL_00002385 +net/minecraft/client/resources/model/SimpleBakedModel$Builder.(Lnet/minecraft/client/renderer/block/model/ModelBlock;)V=|p_i46074_1_ +net/minecraft/client/resources/model/SimpleBakedModel$Builder.(Lnet/minecraft/client/resources/model/IBakedModel;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)V=|p_i46075_1_,p_i46075_2_ +net/minecraft/client/resources/model/SimpleBakedModel$Builder.(ZZLnet/minecraft/client/renderer/block/model/ItemCameraTransforms;)V=|p_i46076_1_,p_i46076_2_,p_i46076_3_ +net/minecraft/client/resources/model/SimpleBakedModel.(Ljava/util/List;Ljava/util/List;ZZLnet/minecraft/client/renderer/texture/TextureAtlasSprite;Lnet/minecraft/client/renderer/block/model/ItemCameraTransforms;)V=|p_i46077_1_,p_i46077_2_,p_i46077_3_,p_i46077_4_,p_i46077_5_,p_i46077_6_ +net/minecraft/client/resources/model/WeightedBakedModel=CL_00002384 +net/minecraft/client/resources/model/WeightedBakedModel$Builder=CL_00002383 +net/minecraft/client/resources/model/WeightedBakedModel$MyWeighedRandomItem=CL_00002382 +net/minecraft/client/resources/model/WeightedBakedModel$MyWeighedRandomItem.(Lnet/minecraft/client/resources/model/IBakedModel;I)V=|p_i46072_1_,p_i46072_2_ +net/minecraft/client/resources/model/WeightedBakedModel.(Ljava/util/List;)V=|p_i46073_1_ +net/minecraft/client/settings/GameSettings=CL_00000650 +net/minecraft/client/settings/GameSettings$1=CL_00000651 +net/minecraft/client/settings/GameSettings$Options=CL_00000653 +net/minecraft/client/settings/GameSettings$Options.(Ljava/lang/String;ILjava/lang/String;ZZ)V=|p_i1015_1_,p_i1015_2_,p_i1015_3_,p_i1015_4_,p_i1015_5_ +net/minecraft/client/settings/GameSettings$Options.(Ljava/lang/String;ILjava/lang/String;ZZFFF)V=|p_i45004_1_,p_i45004_2_,p_i45004_3_,p_i45004_4_,p_i45004_5_,p_i45004_6_,p_i45004_7_,p_i45004_8_ +net/minecraft/client/settings/GameSettings$SwitchOptions=CL_00000652 +net/minecraft/client/settings/GameSettings.(Lnet/minecraft/client/Minecraft;Ljava/io/File;)V=|p_i46326_1_,p_i46326_2_ +net/minecraft/client/settings/KeyBinding=CL_00000628 +net/minecraft/client/settings/KeyBinding.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45001_1_,p_i45001_2_,p_i45001_3_ +net/minecraft/client/shader/Framebuffer=CL_00000959 +net/minecraft/client/shader/Framebuffer.(IIZ)V=|p_i45078_1_,p_i45078_2_,p_i45078_3_ +net/minecraft/client/shader/Shader=CL_00001042 +net/minecraft/client/shader/Shader.(Lnet/minecraft/client/resources/IResourceManager;Ljava/lang/String;Lnet/minecraft/client/shader/Framebuffer;Lnet/minecraft/client/shader/Framebuffer;)V=net/minecraft/client/util/JsonException|p_i45089_1_,p_i45089_2_,p_i45089_3_,p_i45089_4_ +net/minecraft/client/shader/ShaderDefault=CL_00001039 +net/minecraft/client/shader/ShaderGroup=CL_00001041 +net/minecraft/client/shader/ShaderGroup.(Lnet/minecraft/client/renderer/texture/TextureManager;Lnet/minecraft/client/resources/IResourceManager;Lnet/minecraft/client/shader/Framebuffer;Lnet/minecraft/util/ResourceLocation;)V=net/minecraft/client/util/JsonException|p_i1050_1_,p_i1050_2_,p_i1050_3_,p_i1050_4_ +net/minecraft/client/shader/ShaderGroup.func_148023_a(Ljava/lang/String;Lnet/minecraft/client/shader/Framebuffer;Lnet/minecraft/client/shader/Framebuffer;)Lnet/minecraft/client/shader/Shader;=net/minecraft/client/util/JsonException| +net/minecraft/client/shader/ShaderGroup.func_148027_a(Lcom/google/gson/JsonElement;)V=net/minecraft/client/util/JsonException| +net/minecraft/client/shader/ShaderGroup.func_148028_c(Lcom/google/gson/JsonElement;)V=net/minecraft/client/util/JsonException| +net/minecraft/client/shader/ShaderGroup.func_152764_a(Lnet/minecraft/client/renderer/texture/TextureManager;Lcom/google/gson/JsonElement;)V=net/minecraft/client/util/JsonException| +net/minecraft/client/shader/ShaderGroup.func_152765_a(Lnet/minecraft/client/renderer/texture/TextureManager;Lnet/minecraft/util/ResourceLocation;)V=net/minecraft/client/util/JsonException| +net/minecraft/client/shader/ShaderLinkHelper=CL_00001045 +net/minecraft/client/shader/ShaderLinkHelper.func_148078_c()I=net/minecraft/client/util/JsonException| +net/minecraft/client/shader/ShaderLoader=CL_00001043 +net/minecraft/client/shader/ShaderLoader$ShaderType=CL_00001044 +net/minecraft/client/shader/ShaderLoader$ShaderType.(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V=|p_i45090_1_,p_i45090_2_,p_i45090_3_,p_i45090_4_,p_i45090_5_ +net/minecraft/client/shader/ShaderLoader.(Lnet/minecraft/client/shader/ShaderLoader$ShaderType;ILjava/lang/String;)V=|p_i45091_1_,p_i45091_2_,p_i45091_3_ +net/minecraft/client/shader/ShaderLoader.func_148057_a(Lnet/minecraft/client/resources/IResourceManager;Lnet/minecraft/client/shader/ShaderLoader$ShaderType;Ljava/lang/String;)Lnet/minecraft/client/shader/ShaderLoader;=java/io/IOException| +net/minecraft/client/shader/ShaderLoader.func_177064_a(Ljava/io/BufferedInputStream;)[B=java.io.IOException| +net/minecraft/client/shader/ShaderManager=CL_00001040 +net/minecraft/client/shader/ShaderManager.(Lnet/minecraft/client/resources/IResourceManager;Ljava/lang/String;)V=net/minecraft/client/util/JsonException|p_i45087_1_,p_i45087_2_ +net/minecraft/client/shader/ShaderManager.func_147987_b(Lcom/google/gson/JsonElement;)V=net/minecraft/client/util/JsonException| +net/minecraft/client/shader/ShaderUniform=CL_00001046 +net/minecraft/client/shader/ShaderUniform.(Ljava/lang/String;IILnet/minecraft/client/shader/ShaderManager;)V=|p_i45092_1_,p_i45092_2_,p_i45092_3_,p_i45092_4_ +net/minecraft/client/stream/BroadcastController=CL_00001822 +net/minecraft/client/stream/BroadcastController$1=CL_00002375 +net/minecraft/client/stream/BroadcastController$1.(Lnet/minecraft/client/stream/BroadcastController;)V=|p_i46065_1_ +net/minecraft/client/stream/BroadcastController$2=CL_00002374 +net/minecraft/client/stream/BroadcastController$2.(Lnet/minecraft/client/stream/BroadcastController;)V=|p_i46064_1_ +net/minecraft/client/stream/BroadcastController$BroadcastState=CL_00001820 +net/minecraft/client/stream/BroadcastController$BroadcastState.(Ljava/lang/String;I)V=|p_i1025_1_,p_i1025_2_ +net/minecraft/client/stream/BroadcastController$SwitchBroadcastState=CL_00001821 +net/minecraft/client/stream/ChatController=CL_00001819 +net/minecraft/client/stream/ChatController$1=CL_00002373 +net/minecraft/client/stream/ChatController$1.(Lnet/minecraft/client/stream/ChatController;)V=|p_i46063_1_ +net/minecraft/client/stream/ChatController$ChatChannelListener=CL_00002370 +net/minecraft/client/stream/ChatController$ChatChannelListener.(Lnet/minecraft/client/stream/ChatController;Ljava/lang/String;)V=|p_i46061_1_,p_i46061_2_ +net/minecraft/client/stream/ChatController$ChatState=CL_00001817 +net/minecraft/client/stream/ChatController$ChatState.(Ljava/lang/String;I)V=|p_i1021_1_,p_i1021_2_ +net/minecraft/client/stream/ChatController$EnumChannelState=CL_00002371 +net/minecraft/client/stream/ChatController$EnumChannelState.(Ljava/lang/String;I)V=|p_i46062_1_,p_i46062_2_ +net/minecraft/client/stream/ChatController$EnumEmoticonMode=CL_00002369 +net/minecraft/client/stream/ChatController$EnumEmoticonMode.(Ljava/lang/String;I)V=|p_i46060_1_,p_i46060_2_ +net/minecraft/client/stream/ChatController$SwitchEnumEmoticonMode=CL_00002372 +net/minecraft/client/stream/IStream$AuthFailureReason=CL_00001813 +net/minecraft/client/stream/IStream$AuthFailureReason.(Ljava/lang/String;I)V=|p_i1014_1_,p_i1014_2_ +net/minecraft/client/stream/IngestServerTester=CL_00001816 +net/minecraft/client/stream/IngestServerTester$1=CL_00002368 +net/minecraft/client/stream/IngestServerTester$1.(Lnet/minecraft/client/stream/IngestServerTester;)V=|p_i46059_1_ +net/minecraft/client/stream/IngestServerTester$2=CL_00002367 +net/minecraft/client/stream/IngestServerTester$2.(Lnet/minecraft/client/stream/IngestServerTester;)V=|p_i46058_1_ +net/minecraft/client/stream/IngestServerTester$IngestTestState=CL_00001814 +net/minecraft/client/stream/IngestServerTester$IngestTestState.(Ljava/lang/String;I)V=|p_i1016_1_,p_i1016_2_ +net/minecraft/client/stream/IngestServerTester$SwitchStatType=CL_00001815 +net/minecraft/client/stream/IngestServerTester.(Ltv/twitch/broadcast/Stream;Ltv/twitch/broadcast/IngestList;)V=|p_i1019_1_,p_i1019_2_ +net/minecraft/client/stream/Metadata=CL_00001823 +net/minecraft/client/stream/Metadata.(Ljava/lang/String;)V=|p_i1030_1_ +net/minecraft/client/stream/Metadata.(Ljava/lang/String;Ljava/lang/String;)V=|p_i46345_1_,p_i46345_2_ +net/minecraft/client/stream/MetadataAchievement=CL_00001824 +net/minecraft/client/stream/MetadataAchievement.(Lnet/minecraft/stats/Achievement;)V=|p_i1032_1_ +net/minecraft/client/stream/MetadataCombat=CL_00002377 +net/minecraft/client/stream/MetadataCombat.(Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/EntityLivingBase;)V=|p_i46067_1_,p_i46067_2_ +net/minecraft/client/stream/MetadataPlayerDeath=CL_00002376 +net/minecraft/client/stream/MetadataPlayerDeath.(Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/EntityLivingBase;)V=|p_i46066_1_,p_i46066_2_ +net/minecraft/client/stream/NullStream=CL_00001809 +net/minecraft/client/stream/NullStream.(Ljava/lang/Throwable;)V=|p_i1006_1_ +net/minecraft/client/stream/TwitchStream=CL_00001812 +net/minecraft/client/stream/TwitchStream$1=CL_00001811 +net/minecraft/client/stream/TwitchStream$1$1=CL_00001810 +net/minecraft/client/stream/TwitchStream$1$1.(Lnet/minecraft/client/stream/TwitchStream$1;Ljava/lang/String;)V=|p_i46344_1_,p_i46344_2_ +net/minecraft/client/stream/TwitchStream$1.(Lnet/minecraft/client/stream/TwitchStream;Ljava/lang/String;Lcom/mojang/authlib/properties/Property;)V=|p_i46056_1_,p_i46056_2_,p_i46056_3_ +net/minecraft/client/stream/TwitchStream.(Lnet/minecraft/client/Minecraft;Lcom/mojang/authlib/properties/Property;)V=|p_i46057_1_,p_i46057_2_ +net/minecraft/client/util/JsonBlendingMode=CL_00001038 +net/minecraft/client/util/JsonBlendingMode.(III)V=|p_i45085_1_,p_i45085_2_,p_i45085_3_ +net/minecraft/client/util/JsonBlendingMode.(IIIII)V=|p_i45086_1_,p_i45086_2_,p_i45086_3_,p_i45086_4_,p_i45086_5_ +net/minecraft/client/util/JsonBlendingMode.(ZZIIIII)V=|p_i45084_1_,p_i45084_2_,p_i45084_3_,p_i45084_4_,p_i45084_5_,p_i45084_6_,p_i45084_7_ +net/minecraft/client/util/JsonException=CL_00001414 +net/minecraft/client/util/JsonException$1=CL_00001891 +net/minecraft/client/util/JsonException$Entry=CL_00001416 +net/minecraft/client/util/JsonException$Entry.(Lnet/minecraft/client/util/JsonException$1;)V=|p_i45278_1_ +net/minecraft/client/util/JsonException.(Ljava/lang/String;)V=|p_i45279_1_ +net/minecraft/client/util/JsonException.(Ljava/lang/String;Ljava/lang/Throwable;)V=|p_i45280_1_,p_i45280_2_ +net/minecraft/client/util/QuadComparator=CL_00000958 +net/minecraft/client/util/QuadComparator.(Ljava/nio/FloatBuffer;FFFI)V=|p_i46247_1_,p_i46247_2_,p_i46247_3_,p_i46247_4_,p_i46247_5_ +net/minecraft/command/CommandBase=CL_00001739 +net/minecraft/command/CommandBase$CoordinateArg=CL_00002365 +net/minecraft/command/CommandBase$CoordinateArg.(DDZ)V=|p_i46051_1_,p_i46051_3_,p_i46051_5_ +net/minecraft/command/CommandBase.func_147176_a(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;IZ)Lnet/minecraft/util/IChatComponent;=net.minecraft.command.PlayerNotFoundException| +net/minecraft/command/CommandBase.func_147178_a(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)Lnet/minecraft/util/IChatComponent;=net.minecraft.command.CommandException| +net/minecraft/command/CommandBase.func_147179_f(Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Lnet/minecraft/item/Item;=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_147180_g(Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Lnet/minecraft/block/Block;=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_175755_a(Ljava/lang/String;)I=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_175756_a(Ljava/lang/String;DD)D=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_175757_a(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;IZ)Lnet/minecraft/util/BlockPos;=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_175758_e(Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Ljava/lang/String;=net.minecraft.command.EntityNotFoundException| +net/minecraft/command/CommandBase.func_175759_a(Lnet/minecraft/command/ICommandSender;Ljava/lang/String;Ljava/lang/Class;)Lnet/minecraft/entity/Entity;=net.minecraft.command.EntityNotFoundException| +net/minecraft/command/CommandBase.func_175760_a(Ljava/lang/String;JJ)J=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_175761_b(DLjava/lang/String;Z)D=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_175763_c(Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Ljava/util/List;=net.minecraft.command.EntityNotFoundException| +net/minecraft/command/CommandBase.func_175764_a(Ljava/lang/String;II)I=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_175765_c(Ljava/lang/String;)D=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_175766_b(Ljava/lang/String;)J=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_175767_a(DLjava/lang/String;IIZ)Lnet/minecraft/command/CommandBase$CoordinateArg;=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_175768_b(Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Lnet/minecraft/entity/Entity;=net.minecraft.command.EntityNotFoundException| +net/minecraft/command/CommandBase.func_175769_b(DLjava/lang/String;IIZ)D=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_175770_a(DLjava/lang/String;Z)Lnet/minecraft/command/CommandBase$CoordinateArg;=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_180526_a(Ljava/lang/String;D)D=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_180527_d(Ljava/lang/String;)Z=net.minecraft.command.CommandException| +net/minecraft/command/CommandBase.func_180528_a(Ljava/lang/String;I)I=net.minecraft.command.NumberInvalidException| +net/minecraft/command/CommandBase.func_71521_c(Lnet/minecraft/command/ICommandSender;)Lnet/minecraft/entity/player/EntityPlayerMP;=net.minecraft.command.PlayerNotFoundException| +net/minecraft/command/CommandBase.func_82359_c(Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Lnet/minecraft/entity/player/EntityPlayerMP;=net.minecraft.command.PlayerNotFoundException| +net/minecraft/command/CommandBase.func_96332_d(Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Ljava/lang/String;=net.minecraft.command.PlayerNotFoundException| +net/minecraft/command/CommandBlockData=CL_00002349 +net/minecraft/command/CommandBlockData.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandClearInventory=CL_00000218 +net/minecraft/command/CommandClearInventory.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandClone=CL_00002348 +net/minecraft/command/CommandClone$StaticCloneData=CL_00002347 +net/minecraft/command/CommandClone$StaticCloneData.(Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/nbt/NBTTagCompound;)V=|p_i46037_1_,p_i46037_2_,p_i46037_3_ +net/minecraft/command/CommandClone.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandCompare=CL_00002346 +net/minecraft/command/CommandCompare.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandDebug=CL_00000270 +net/minecraft/command/CommandDebug.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandDefaultGameMode=CL_00000296 +net/minecraft/command/CommandDefaultGameMode.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandDifficulty=CL_00000422 +net/minecraft/command/CommandDifficulty.func_180531_e(Ljava/lang/String;)Lnet/minecraft/world/EnumDifficulty;=net.minecraft.command.CommandException| +net/minecraft/command/CommandDifficulty.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandEffect=CL_00000323 +net/minecraft/command/CommandEffect.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandEnchant=CL_00000377 +net/minecraft/command/CommandEnchant.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandEntityData=CL_00002345 +net/minecraft/command/CommandEntityData.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandException=CL_00001187 +net/minecraft/command/CommandException.(Ljava/lang/String;[Ljava/lang/Object;)V=|p_i1359_1_,p_i1359_2_ +net/minecraft/command/CommandExecuteAt=CL_00002344 +net/minecraft/command/CommandExecuteAt$1=CL_00002343 +net/minecraft/command/CommandExecuteAt$1.(Lnet/minecraft/command/CommandExecuteAt;Lnet/minecraft/entity/Entity;Lnet/minecraft/command/ICommandSender;Lnet/minecraft/util/BlockPos;DDD)V=|p_i46374_1_,p_i46374_2_,p_i46374_3_,p_i46374_4_,p_i46374_5_,p_i46374_7_,p_i46374_9_ +net/minecraft/command/CommandExecuteAt.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandFill=CL_00002342 +net/minecraft/command/CommandFill.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandGameMode=CL_00000448 +net/minecraft/command/CommandGameMode.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandGameMode.func_71539_b(Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Lnet/minecraft/world/WorldSettings$GameType;=net.minecraft.command.CommandException| +net/minecraft/command/CommandGameRule=CL_00000475 +net/minecraft/command/CommandGameRule.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandGive=CL_00000502 +net/minecraft/command/CommandGive.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandHandler=CL_00001765 +net/minecraft/command/CommandHelp=CL_00000529 +net/minecraft/command/CommandHelp.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandKill=CL_00000570 +net/minecraft/command/CommandKill.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandNotFoundException=CL_00001191 +net/minecraft/command/CommandNotFoundException.(Ljava/lang/String;[Ljava/lang/Object;)V=|p_i1363_1_,p_i1363_2_ +net/minecraft/command/CommandParticle=CL_00002341 +net/minecraft/command/CommandParticle.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandPlaySound=CL_00000774 +net/minecraft/command/CommandPlaySound.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandResultStats=CL_00002364 +net/minecraft/command/CommandResultStats$Type=CL_00002363 +net/minecraft/command/CommandResultStats$Type.(Ljava/lang/String;IILjava/lang/String;)V=|p_i46050_1_,p_i46050_2_,p_i46050_3_,p_i46050_4_ +net/minecraft/command/CommandServerKick=CL_00000550 +net/minecraft/command/CommandServerKick.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandSetPlayerTimeout=CL_00000999 +net/minecraft/command/CommandSetPlayerTimeout.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandSetSpawnpoint=CL_00001026 +net/minecraft/command/CommandSetSpawnpoint.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandShowSeed=CL_00001053 +net/minecraft/command/CommandShowSeed.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandSpreadPlayers=CL_00001080 +net/minecraft/command/CommandSpreadPlayers$Position=CL_00001105 +net/minecraft/command/CommandSpreadPlayers$Position.(DD)V=|p_i1358_1_,p_i1358_3_ +net/minecraft/command/CommandSpreadPlayers.func_110668_a(Lnet/minecraft/command/CommandSpreadPlayers$Position;DLnet/minecraft/world/World;Ljava/util/Random;DDDD[Lnet/minecraft/command/CommandSpreadPlayers$Position;Z)I=net.minecraft.command.CommandException| +net/minecraft/command/CommandSpreadPlayers.func_110669_a(Lnet/minecraft/command/ICommandSender;Ljava/util/List;Lnet/minecraft/command/CommandSpreadPlayers$Position;DDLnet/minecraft/world/World;Z)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandSpreadPlayers.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandStats=CL_00002339 +net/minecraft/command/CommandStats.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandTime=CL_00001183 +net/minecraft/command/CommandTime.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandTitle=CL_00002338 +net/minecraft/command/CommandTitle.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandToggleDownfall=CL_00001184 +net/minecraft/command/CommandToggleDownfall.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandTrigger=CL_00002337 +net/minecraft/command/CommandTrigger.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandWeather=CL_00001185 +net/minecraft/command/CommandWeather.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandWorldBorder=CL_00002336 +net/minecraft/command/CommandWorldBorder.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/CommandXP=CL_00000398 +net/minecraft/command/CommandXP.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/EntityNotFoundException=CL_00002335 +net/minecraft/command/EntityNotFoundException.(Ljava/lang/String;[Ljava/lang/Object;)V=|p_i46035_1_,p_i46035_2_ +net/minecraft/command/ICommand.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/IEntitySelector=CL_00002257 +net/minecraft/command/IEntitySelector$1=CL_00001541 +net/minecraft/command/IEntitySelector$2=CL_00001542 +net/minecraft/command/IEntitySelector$3=CL_00001867 +net/minecraft/command/IEntitySelector$4=CL_00002256 +net/minecraft/command/IEntitySelector$ArmoredMob=CL_00001543 +net/minecraft/command/IEntitySelector$ArmoredMob.(Lnet/minecraft/item/ItemStack;)V=|p_i1584_1_ +net/minecraft/command/NumberInvalidException=CL_00001188 +net/minecraft/command/NumberInvalidException.(Ljava/lang/String;[Ljava/lang/Object;)V=|p_i1360_1_,p_i1360_2_ +net/minecraft/command/PlayerNotFoundException=CL_00001190 +net/minecraft/command/PlayerNotFoundException.(Ljava/lang/String;[Ljava/lang/Object;)V=|p_i1362_1_,p_i1362_2_ +net/minecraft/command/PlayerSelector=CL_00000086 +net/minecraft/command/PlayerSelector$1=CL_00002362 +net/minecraft/command/PlayerSelector$1.(Ljava/lang/String;Z)V=|p_i46049_1_,p_i46049_2_ +net/minecraft/command/PlayerSelector$10=CL_00002361 +net/minecraft/command/PlayerSelector$10.(II)V=|p_i46048_1_,p_i46048_2_ +net/minecraft/command/PlayerSelector$11=CL_00002360 +net/minecraft/command/PlayerSelector$11.(Lnet/minecraft/util/AxisAlignedBB;)V=|p_i46047_1_ +net/minecraft/command/PlayerSelector$12=CL_00002359 +net/minecraft/command/PlayerSelector$12.(Lnet/minecraft/util/BlockPos;)V=|p_i46046_1_ +net/minecraft/command/PlayerSelector$2=CL_00002358 +net/minecraft/command/PlayerSelector$3=CL_00002357 +net/minecraft/command/PlayerSelector$3.(II)V=|p_i46045_1_,p_i46045_2_ +net/minecraft/command/PlayerSelector$4=CL_00002356 +net/minecraft/command/PlayerSelector$4.(I)V=|p_i46044_1_ +net/minecraft/command/PlayerSelector$5=CL_00002355 +net/minecraft/command/PlayerSelector$5.(Ljava/lang/String;Z)V=|p_i46043_1_,p_i46043_2_ +net/minecraft/command/PlayerSelector$6=CL_00002354 +net/minecraft/command/PlayerSelector$6.(Ljava/util/Map;)V=|p_i46042_1_ +net/minecraft/command/PlayerSelector$7=CL_00002353 +net/minecraft/command/PlayerSelector$7.(Ljava/lang/String;Z)V=|p_i46041_1_,p_i46041_2_ +net/minecraft/command/PlayerSelector$8=CL_00002352 +net/minecraft/command/PlayerSelector$8.(Lnet/minecraft/util/BlockPos;IIII)V=|p_i46040_1_,p_i46040_2_,p_i46040_3_,p_i46040_4_,p_i46040_5_ +net/minecraft/command/PlayerSelector$9=CL_00002351 +net/minecraft/command/PlayerSelector$9.(II)V=|p_i46039_1_,p_i46039_2_ +net/minecraft/command/ServerCommand=CL_00001779 +net/minecraft/command/ServerCommand.(Ljava/lang/String;Lnet/minecraft/command/ICommandSender;)V=|p_i1491_1_,p_i1491_2_ +net/minecraft/command/ServerCommandManager=CL_00000922 +net/minecraft/command/SyntaxErrorException=CL_00001189 +net/minecraft/command/SyntaxErrorException.(Ljava/lang/String;[Ljava/lang/Object;)V=|p_i1361_1_,p_i1361_2_ +net/minecraft/command/WrongUsageException=CL_00001192 +net/minecraft/command/WrongUsageException.(Ljava/lang/String;[Ljava/lang/Object;)V=|p_i1364_1_,p_i1364_2_ +net/minecraft/command/common/CommandReplaceItem=CL_00002340 +net/minecraft/command/common/CommandReplaceItem.func_175783_e(Ljava/lang/String;)I=net.minecraft.command.CommandException| +net/minecraft/command/common/CommandReplaceItem.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandAchievement=CL_00000113 +net/minecraft/command/server/CommandAchievement$1=CL_00002350 +net/minecraft/command/server/CommandAchievement$1.(Lnet/minecraft/command/server/CommandAchievement;Lnet/minecraft/entity/player/EntityPlayerMP;Lnet/minecraft/stats/StatBase;)V=|p_i46038_1_,p_i46038_2_,p_i46038_3_ +net/minecraft/command/server/CommandAchievement.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandBanIp=CL_00000139 +net/minecraft/command/server/CommandBanIp.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandBanPlayer=CL_00000165 +net/minecraft/command/server/CommandBanPlayer.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandBlockLogic=CL_00000128 +net/minecraft/command/server/CommandBlockLogic$1=CL_00002154 +net/minecraft/command/server/CommandBlockLogic$1.(Lnet/minecraft/command/server/CommandBlockLogic;)V=|p_i45759_1_ +net/minecraft/command/server/CommandBlockLogic$2=CL_00002153 +net/minecraft/command/server/CommandBlockLogic$2.(Lnet/minecraft/command/server/CommandBlockLogic;)V=|p_i45758_1_ +net/minecraft/command/server/CommandBroadcast=CL_00000191 +net/minecraft/command/server/CommandBroadcast.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandDeOp=CL_00000244 +net/minecraft/command/server/CommandDeOp.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandEmote=CL_00000351 +net/minecraft/command/server/CommandEmote.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandListBans=CL_00000596 +net/minecraft/command/server/CommandListBans.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandListPlayers=CL_00000615 +net/minecraft/command/server/CommandListPlayers.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandMessage=CL_00000641 +net/minecraft/command/server/CommandMessage.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandMessageRaw=CL_00000667 +net/minecraft/command/server/CommandMessageRaw.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandOp=CL_00000694 +net/minecraft/command/server/CommandOp.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandPardonIp=CL_00000720 +net/minecraft/command/server/CommandPardonIp.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandPardonPlayer=CL_00000747 +net/minecraft/command/server/CommandPardonPlayer.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandPublishLocalServer=CL_00000799 +net/minecraft/command/server/CommandPublishLocalServer.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandSaveAll=CL_00000826 +net/minecraft/command/server/CommandSaveAll.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandSaveOff=CL_00000847 +net/minecraft/command/server/CommandSaveOff.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandSaveOn=CL_00000873 +net/minecraft/command/server/CommandSaveOn.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard=CL_00000896 +net/minecraft/command/server/CommandScoreboard.func_147183_a(Ljava/lang/String;)Lnet/minecraft/scoreboard/ScorePlayerTeam;=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147185_d(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147186_g(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147187_n(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147188_j(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147189_a(Ljava/lang/String;Z)Lnet/minecraft/scoreboard/ScoreObjective;=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147190_h(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147191_h(Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147193_c(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147194_f(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147195_l(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147196_d(Lnet/minecraft/command/ICommandSender;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147197_m(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147198_k(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147199_i(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_147200_e(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_175778_p(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_175779_n(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_175780_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)Z=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_175781_o(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandScoreboard.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandSetBlock=CL_00000949 +net/minecraft/command/server/CommandSetBlock.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandSetDefaultSpawnpoint=CL_00000973 +net/minecraft/command/server/CommandSetDefaultSpawnpoint.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandStop=CL_00001132 +net/minecraft/command/server/CommandStop.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandSummon=CL_00001158 +net/minecraft/command/server/CommandSummon.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandTeleport=CL_00001180 +net/minecraft/command/server/CommandTeleport.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandTestFor=CL_00001182 +net/minecraft/command/server/CommandTestFor.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandTestForBlock=CL_00001181 +net/minecraft/command/server/CommandTestForBlock.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/command/server/CommandWhitelist=CL_00001186 +net/minecraft/command/server/CommandWhitelist.func_71515_b(Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V=net.minecraft.command.CommandException| +net/minecraft/crash/CrashReport=CL_00000990 +net/minecraft/crash/CrashReport$1=CL_00001197 +net/minecraft/crash/CrashReport$1.(Lnet/minecraft/crash/CrashReport;)V=|p_i1338_1_ +net/minecraft/crash/CrashReport$2=CL_00001222 +net/minecraft/crash/CrashReport$2.(Lnet/minecraft/crash/CrashReport;)V=|p_i1339_1_ +net/minecraft/crash/CrashReport$3=CL_00001248 +net/minecraft/crash/CrashReport$3.(Lnet/minecraft/crash/CrashReport;)V=|p_i1340_1_ +net/minecraft/crash/CrashReport$4=CL_00001275 +net/minecraft/crash/CrashReport$4.(Lnet/minecraft/crash/CrashReport;)V=|p_i1341_1_ +net/minecraft/crash/CrashReport$5=CL_00001302 +net/minecraft/crash/CrashReport$5.(Lnet/minecraft/crash/CrashReport;)V=|p_i1342_1_ +net/minecraft/crash/CrashReport$6=CL_00001329 +net/minecraft/crash/CrashReport$6.(Lnet/minecraft/crash/CrashReport;)V=|p_i1343_1_ +net/minecraft/crash/CrashReport$7=CL_00001355 +net/minecraft/crash/CrashReport$7.(Lnet/minecraft/crash/CrashReport;)V=|p_i1344_1_ +net/minecraft/crash/CrashReport.(Ljava/lang/String;Ljava/lang/Throwable;)V=|p_i1348_1_,p_i1348_2_ +net/minecraft/crash/CrashReportCategory=CL_00001409 +net/minecraft/crash/CrashReportCategory$1=CL_00001426 +net/minecraft/crash/CrashReportCategory$1.(ILnet/minecraft/block/Block;)V=|p_i45125_1_,p_i45125_2_ +net/minecraft/crash/CrashReportCategory$2=CL_00001441 +net/minecraft/crash/CrashReportCategory$2.(I)V=|p_i1350_1_ +net/minecraft/crash/CrashReportCategory$3=CL_00001465 +net/minecraft/crash/CrashReportCategory$3.(Lnet/minecraft/util/BlockPos;)V=|p_i46289_1_ +net/minecraft/crash/CrashReportCategory$4=CL_00002617 +net/minecraft/crash/CrashReportCategory$4.(Lnet/minecraft/block/state/IBlockState;)V=|p_i46288_1_ +net/minecraft/crash/CrashReportCategory$5=CL_00002616 +net/minecraft/crash/CrashReportCategory$5.(Lnet/minecraft/util/BlockPos;)V=|p_i46287_1_ +net/minecraft/crash/CrashReportCategory$Entry=CL_00001489 +net/minecraft/crash/CrashReportCategory$Entry.(Ljava/lang/String;Ljava/lang/Object;)V=|p_i1352_1_,p_i1352_2_ +net/minecraft/crash/CrashReportCategory.(Lnet/minecraft/crash/CrashReport;Ljava/lang/String;)V=|p_i1353_1_,p_i1353_2_ +net/minecraft/creativetab/CreativeTabs=CL_00000005 +net/minecraft/creativetab/CreativeTabs$1=CL_00000006 +net/minecraft/creativetab/CreativeTabs$1.(ILjava/lang/String;)V=|p_i1844_1_,p_i1844_2_ +net/minecraft/creativetab/CreativeTabs$10=CL_00000007 +net/minecraft/creativetab/CreativeTabs$10.(ILjava/lang/String;)V=|p_i1852_1_,p_i1852_2_ +net/minecraft/creativetab/CreativeTabs$11=CL_00000008 +net/minecraft/creativetab/CreativeTabs$11.(ILjava/lang/String;)V=|p_i1842_1_,p_i1842_2_ +net/minecraft/creativetab/CreativeTabs$12=CL_00000009 +net/minecraft/creativetab/CreativeTabs$12.(ILjava/lang/String;)V=|p_i1843_1_,p_i1843_2_ +net/minecraft/creativetab/CreativeTabs$2=CL_00000010 +net/minecraft/creativetab/CreativeTabs$2.(ILjava/lang/String;)V=|p_i1841_1_,p_i1841_2_ +net/minecraft/creativetab/CreativeTabs$3=CL_00000011 +net/minecraft/creativetab/CreativeTabs$3.(ILjava/lang/String;)V=|p_i1845_1_,p_i1845_2_ +net/minecraft/creativetab/CreativeTabs$4=CL_00000012 +net/minecraft/creativetab/CreativeTabs$4.(ILjava/lang/String;)V=|p_i1846_1_,p_i1846_2_ +net/minecraft/creativetab/CreativeTabs$5=CL_00000014 +net/minecraft/creativetab/CreativeTabs$5.(ILjava/lang/String;)V=|p_i1847_1_,p_i1847_2_ +net/minecraft/creativetab/CreativeTabs$6=CL_00000015 +net/minecraft/creativetab/CreativeTabs$6.(ILjava/lang/String;)V=|p_i1848_1_,p_i1848_2_ +net/minecraft/creativetab/CreativeTabs$7=CL_00000016 +net/minecraft/creativetab/CreativeTabs$7.(ILjava/lang/String;)V=|p_i1849_1_,p_i1849_2_ +net/minecraft/creativetab/CreativeTabs$8=CL_00000017 +net/minecraft/creativetab/CreativeTabs$8.(ILjava/lang/String;)V=|p_i1850_1_,p_i1850_2_ +net/minecraft/creativetab/CreativeTabs$9=CL_00000018 +net/minecraft/creativetab/CreativeTabs$9.(ILjava/lang/String;)V=|p_i1851_1_,p_i1851_2_ +net/minecraft/creativetab/CreativeTabs.(ILjava/lang/String;)V=|p_i1853_1_,p_i1853_2_ +net/minecraft/dispenser/BehaviorDefaultDispenseItem=CL_00001195 +net/minecraft/dispenser/BehaviorProjectileDispense=CL_00001394 +net/minecraft/dispenser/IBehaviorDispenseItem$1=CL_00001200 +net/minecraft/dispenser/PositionImpl=CL_00001208 +net/minecraft/dispenser/PositionImpl.(DDD)V=|p_i1368_1_,p_i1368_3_,p_i1368_5_ +net/minecraft/enchantment/Enchantment=CL_00000105 +net/minecraft/enchantment/Enchantment.(ILnet/minecraft/util/ResourceLocation;ILnet/minecraft/enchantment/EnumEnchantmentType;)V=|p_i45771_1_,p_i45771_2_,p_i45771_3_,p_i45771_4_ +net/minecraft/enchantment/EnchantmentArrowDamage=CL_00000098 +net/minecraft/enchantment/EnchantmentArrowDamage.(ILnet/minecraft/util/ResourceLocation;I)V=|p_i45778_1_,p_i45778_2_,p_i45778_3_ +net/minecraft/enchantment/EnchantmentArrowFire=CL_00000099 +net/minecraft/enchantment/EnchantmentArrowFire.(ILnet/minecraft/util/ResourceLocation;I)V=|p_i45777_1_,p_i45777_2_,p_i45777_3_ +net/minecraft/enchantment/EnchantmentArrowInfinite=CL_00000100 +net/minecraft/enchantment/EnchantmentArrowInfinite.(ILnet/minecraft/util/ResourceLocation;I)V=|p_i45776_1_,p_i45776_2_,p_i45776_3_ +net/minecraft/enchantment/EnchantmentArrowKnockback=CL_00000101 +net/minecraft/enchantment/EnchantmentArrowKnockback.(ILnet/minecraft/util/ResourceLocation;I)V=|p_i45775_1_,p_i45775_2_,p_i45775_3_ +net/minecraft/enchantment/EnchantmentDamage=CL_00000102 +net/minecraft/enchantment/EnchantmentDamage.(ILnet/minecraft/util/ResourceLocation;II)V=|p_i45774_1_,p_i45774_2_,p_i45774_3_,p_i45774_4_ +net/minecraft/enchantment/EnchantmentData=CL_00000115 +net/minecraft/enchantment/EnchantmentData.(Lnet/minecraft/enchantment/Enchantment;I)V=|p_i1930_1_,p_i1930_2_ +net/minecraft/enchantment/EnchantmentDigging=CL_00000104 +net/minecraft/enchantment/EnchantmentDigging.(ILnet/minecraft/util/ResourceLocation;I)V=|p_i45772_1_,p_i45772_2_,p_i45772_3_ +net/minecraft/enchantment/EnchantmentDurability=CL_00000103 +net/minecraft/enchantment/EnchantmentDurability.(ILnet/minecraft/util/ResourceLocation;I)V=|p_i45773_1_,p_i45773_2_,p_i45773_3_ +net/minecraft/enchantment/EnchantmentFireAspect=CL_00000116 +net/minecraft/enchantment/EnchantmentFireAspect.(ILnet/minecraft/util/ResourceLocation;I)V=|p_i45770_1_,p_i45770_2_,p_i45770_3_ +net/minecraft/enchantment/EnchantmentFishingSpeed=CL_00000117 +net/minecraft/enchantment/EnchantmentFishingSpeed.(ILnet/minecraft/util/ResourceLocation;ILnet/minecraft/enchantment/EnumEnchantmentType;)V=|p_i45769_1_,p_i45769_2_,p_i45769_3_,p_i45769_4_ +net/minecraft/enchantment/EnchantmentHelper=CL_00000107 +net/minecraft/enchantment/EnchantmentHelper$1=CL_00001862 +net/minecraft/enchantment/EnchantmentHelper$DamageIterator=CL_00000109 +net/minecraft/enchantment/EnchantmentHelper$DamageIterator.(Lnet/minecraft/enchantment/EnchantmentHelper$1;)V=|p_i45359_1_ +net/minecraft/enchantment/EnchantmentHelper$HurtIterator=CL_00000110 +net/minecraft/enchantment/EnchantmentHelper$HurtIterator.(Lnet/minecraft/enchantment/EnchantmentHelper$1;)V=|p_i45360_1_ +net/minecraft/enchantment/EnchantmentHelper$ModifierDamage=CL_00000114 +net/minecraft/enchantment/EnchantmentHelper$ModifierDamage.(Lnet/minecraft/enchantment/EnchantmentHelper$1;)V=|p_i1929_1_ +net/minecraft/enchantment/EnchantmentHelper$ModifierLiving=CL_00000112 +net/minecraft/enchantment/EnchantmentHelper$ModifierLiving.(Lnet/minecraft/enchantment/EnchantmentHelper$1;)V=|p_i1928_1_ +net/minecraft/enchantment/EnchantmentKnockback=CL_00000118 +net/minecraft/enchantment/EnchantmentKnockback.(ILnet/minecraft/util/ResourceLocation;I)V=|p_i45768_1_,p_i45768_2_,p_i45768_3_ +net/minecraft/enchantment/EnchantmentLootBonus=CL_00000119 +net/minecraft/enchantment/EnchantmentLootBonus.(ILnet/minecraft/util/ResourceLocation;ILnet/minecraft/enchantment/EnumEnchantmentType;)V=|p_i45767_1_,p_i45767_2_,p_i45767_3_,p_i45767_4_ +net/minecraft/enchantment/EnchantmentOxygen=CL_00000120 +net/minecraft/enchantment/EnchantmentOxygen.(ILnet/minecraft/util/ResourceLocation;I)V=|p_i45766_1_,p_i45766_2_,p_i45766_3_ +net/minecraft/enchantment/EnchantmentProtection=CL_00000121 +net/minecraft/enchantment/EnchantmentProtection.(ILnet/minecraft/util/ResourceLocation;II)V=|p_i45765_1_,p_i45765_2_,p_i45765_3_,p_i45765_4_ +net/minecraft/enchantment/EnchantmentThorns=CL_00000122 +net/minecraft/enchantment/EnchantmentThorns.(ILnet/minecraft/util/ResourceLocation;I)V=|p_i45764_1_,p_i45764_2_,p_i45764_3_ +net/minecraft/enchantment/EnchantmentUntouching=CL_00000123 +net/minecraft/enchantment/EnchantmentUntouching.(ILnet/minecraft/util/ResourceLocation;I)V=|p_i45763_1_,p_i45763_2_,p_i45763_3_ +net/minecraft/enchantment/EnchantmentWaterWalker=CL_00002155 +net/minecraft/enchantment/EnchantmentWaterWalker.(ILnet/minecraft/util/ResourceLocation;I)V=|p_i45762_1_,p_i45762_2_,p_i45762_3_ +net/minecraft/enchantment/EnchantmentWaterWorker=CL_00000124 +net/minecraft/enchantment/EnchantmentWaterWorker.(ILnet/minecraft/util/ResourceLocation;I)V=|p_i45761_1_,p_i45761_2_,p_i45761_3_ +net/minecraft/enchantment/EnumEnchantmentType=CL_00000106 +net/minecraft/enchantment/EnumEnchantmentType.(Ljava/lang/String;I)V=|p_i1927_1_,p_i1927_2_ +net/minecraft/entity/DataWatcher=CL_00001559 +net/minecraft/entity/DataWatcher$WatchableObject=CL_00001560 +net/minecraft/entity/DataWatcher$WatchableObject.(IILjava/lang/Object;)V=|p_i1603_1_,p_i1603_2_,p_i1603_3_ +net/minecraft/entity/DataWatcher.(Lnet/minecraft/entity/Entity;)V=|p_i45313_1_ +net/minecraft/entity/DataWatcher.func_151507_a(Ljava/util/List;Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/entity/DataWatcher.func_151508_b(Lnet/minecraft/network/PacketBuffer;)Ljava/util/List;=java/io/IOException| +net/minecraft/entity/DataWatcher.func_151509_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/entity/DataWatcher.func_151510_a(Lnet/minecraft/network/PacketBuffer;Lnet/minecraft/entity/DataWatcher$WatchableObject;)V=java/io/IOException| +net/minecraft/entity/Entity=CL_00001533 +net/minecraft/entity/Entity$1=CL_00001534 +net/minecraft/entity/Entity$1.(Lnet/minecraft/entity/Entity;)V=|p_i1579_1_ +net/minecraft/entity/Entity$2=CL_00001535 +net/minecraft/entity/Entity$2.(Lnet/minecraft/entity/Entity;)V=|p_i1580_1_ +net/minecraft/entity/Entity$3=CL_00002259 +net/minecraft/entity/Entity$3.(Lnet/minecraft/entity/Entity;)V=|p_i45895_1_ +net/minecraft/entity/Entity$4=CL_00002258 +net/minecraft/entity/Entity$4.(Lnet/minecraft/entity/Entity;)V=|p_i45894_1_ +net/minecraft/entity/Entity.(Lnet/minecraft/world/World;)V=|p_i1582_1_ +net/minecraft/entity/EntityAgeable=CL_00001530 +net/minecraft/entity/EntityAgeable.(Lnet/minecraft/world/World;)V=|p_i1578_1_ +net/minecraft/entity/EntityBodyHelper=CL_00001570 +net/minecraft/entity/EntityBodyHelper.(Lnet/minecraft/entity/EntityLivingBase;)V=|p_i1611_1_ +net/minecraft/entity/EntityCreature=CL_00001558 +net/minecraft/entity/EntityCreature.(Lnet/minecraft/world/World;)V=|p_i1602_1_ +net/minecraft/entity/EntityFlying=CL_00001545 +net/minecraft/entity/EntityFlying.(Lnet/minecraft/world/World;)V=|p_i1587_1_ +net/minecraft/entity/EntityHanging=CL_00001546 +net/minecraft/entity/EntityHanging.(Lnet/minecraft/world/World;)V=|p_i1588_1_ +net/minecraft/entity/EntityHanging.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V=|p_i45853_1_,p_i45853_2_ +net/minecraft/entity/EntityLeashKnot=CL_00001548 +net/minecraft/entity/EntityLeashKnot.(Lnet/minecraft/world/World;)V=|p_i1592_1_ +net/minecraft/entity/EntityLeashKnot.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V=|p_i45851_1_,p_i45851_2_ +net/minecraft/entity/EntityList=CL_00001538 +net/minecraft/entity/EntityList$EntityEggInfo=CL_00001539 +net/minecraft/entity/EntityList$EntityEggInfo.(III)V=|p_i1583_1_,p_i1583_2_,p_i1583_3_ +net/minecraft/entity/EntityLiving=CL_00001550 +net/minecraft/entity/EntityLiving$SpawnPlacementType=CL_00002255 +net/minecraft/entity/EntityLiving$SpawnPlacementType.(Ljava/lang/String;I)V=|p_i45893_1_,p_i45893_2_ +net/minecraft/entity/EntityLiving.(Lnet/minecraft/world/World;)V=|p_i1595_1_ +net/minecraft/entity/EntityLivingBase=CL_00001549 +net/minecraft/entity/EntityLivingBase.(Lnet/minecraft/world/World;)V=|p_i1594_1_ +net/minecraft/entity/EntityMinecartCommandBlock=CL_00001672 +net/minecraft/entity/EntityMinecartCommandBlock$1=CL_00001673 +net/minecraft/entity/EntityMinecartCommandBlock$1.(Lnet/minecraft/entity/EntityMinecartCommandBlock;)V=|p_i45320_1_ +net/minecraft/entity/EntityMinecartCommandBlock.(Lnet/minecraft/world/World;)V=|p_i45321_1_ +net/minecraft/entity/EntityMinecartCommandBlock.(Lnet/minecraft/world/World;DDD)V=|p_i45322_1_,p_i45322_2_,p_i45322_4_,p_i45322_6_ +net/minecraft/entity/EntitySpawnPlacementRegistry=CL_00002254 +net/minecraft/entity/EntityTracker=CL_00001431 +net/minecraft/entity/EntityTracker$1=CL_00001432 +net/minecraft/entity/EntityTracker$1.(Lnet/minecraft/entity/EntityTracker;I)V=|p_i1515_1_,p_i1515_2_ +net/minecraft/entity/EntityTracker.(Lnet/minecraft/world/WorldServer;)V=|p_i1516_1_ +net/minecraft/entity/EntityTrackerEntry=CL_00001443 +net/minecraft/entity/EntityTrackerEntry.(Lnet/minecraft/entity/Entity;IIZ)V=|p_i1525_1_,p_i1525_2_,p_i1525_3_,p_i1525_4_ +net/minecraft/entity/EnumCreatureAttribute=CL_00001553 +net/minecraft/entity/EnumCreatureAttribute.(Ljava/lang/String;I)V=|p_i1597_1_,p_i1597_2_ +net/minecraft/entity/EnumCreatureType=CL_00001551 +net/minecraft/entity/EnumCreatureType.(Ljava/lang/String;ILjava/lang/Class;ILnet/minecraft/block/material/Material;ZZ)V=|p_i1596_1_,p_i1596_2_,p_i1596_3_,p_i1596_4_,p_i1596_5_,p_i1596_6_,p_i1596_7_ +net/minecraft/entity/NpcMerchant=CL_00001705 +net/minecraft/entity/NpcMerchant.(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/IChatComponent;)V=|p_i45817_1_,p_i45817_2_ +net/minecraft/entity/SharedMonsterAttributes=CL_00001695 +net/minecraft/entity/ai/EntityAIArrowAttack=CL_00001609 +net/minecraft/entity/ai/EntityAIArrowAttack.(Lnet/minecraft/entity/IRangedAttackMob;DIF)V=|p_i1649_1_,p_i1649_2_,p_i1649_4_,p_i1649_5_ +net/minecraft/entity/ai/EntityAIArrowAttack.(Lnet/minecraft/entity/IRangedAttackMob;DIIF)V=|p_i1650_1_,p_i1650_2_,p_i1650_4_,p_i1650_5_,p_i1650_6_ +net/minecraft/entity/ai/EntityAIAttackOnCollide=CL_00001595 +net/minecraft/entity/ai/EntityAIAttackOnCollide.(Lnet/minecraft/entity/EntityCreature;DZ)V=|p_i1636_1_,p_i1636_2_,p_i1636_4_ +net/minecraft/entity/ai/EntityAIAttackOnCollide.(Lnet/minecraft/entity/EntityCreature;Ljava/lang/Class;DZ)V=|p_i1635_1_,p_i1635_2_,p_i1635_3_,p_i1635_5_ +net/minecraft/entity/ai/EntityAIAvoidEntity=CL_00001574 +net/minecraft/entity/ai/EntityAIAvoidEntity$1=CL_00001575 +net/minecraft/entity/ai/EntityAIAvoidEntity$1.(Lnet/minecraft/entity/ai/EntityAIAvoidEntity;)V=|p_i1615_1_ +net/minecraft/entity/ai/EntityAIAvoidEntity.(Lnet/minecraft/entity/EntityCreature;Lcom/google/common/base/Predicate;FDD)V=|p_i45890_1_,p_i45890_2_,p_i45890_3_,p_i45890_4_,p_i45890_6_ +net/minecraft/entity/ai/EntityAIBase=CL_00001587 +net/minecraft/entity/ai/EntityAIBeg=CL_00001576 +net/minecraft/entity/ai/EntityAIBeg.(Lnet/minecraft/entity/passive/EntityWolf;F)V=|p_i1617_1_,p_i1617_2_ +net/minecraft/entity/ai/EntityAIBreakDoor=CL_00001577 +net/minecraft/entity/ai/EntityAIBreakDoor.(Lnet/minecraft/entity/EntityLiving;)V=|p_i1618_1_ +net/minecraft/entity/ai/EntityAIControlledByPlayer=CL_00001580 +net/minecraft/entity/ai/EntityAIControlledByPlayer.(Lnet/minecraft/entity/EntityLiving;F)V=|p_i1620_1_,p_i1620_2_ +net/minecraft/entity/ai/EntityAICreeperSwell=CL_00001614 +net/minecraft/entity/ai/EntityAICreeperSwell.(Lnet/minecraft/entity/monster/EntityCreeper;)V=|p_i1655_1_ +net/minecraft/entity/ai/EntityAIDefendVillage=CL_00001618 +net/minecraft/entity/ai/EntityAIDefendVillage.(Lnet/minecraft/entity/monster/EntityIronGolem;)V=|p_i1659_1_ +net/minecraft/entity/ai/EntityAIDoorInteract=CL_00001581 +net/minecraft/entity/ai/EntityAIDoorInteract.(Lnet/minecraft/entity/EntityLiving;)V=|p_i1621_1_ +net/minecraft/entity/ai/EntityAIEatGrass=CL_00001582 +net/minecraft/entity/ai/EntityAIEatGrass.(Lnet/minecraft/entity/EntityLiving;)V=|p_i45314_1_ +net/minecraft/entity/ai/EntityAIFindEntityNearest=CL_00002250 +net/minecraft/entity/ai/EntityAIFindEntityNearest$1=CL_00002249 +net/minecraft/entity/ai/EntityAIFindEntityNearest$1.(Lnet/minecraft/entity/ai/EntityAIFindEntityNearest;)V=|p_i45883_1_ +net/minecraft/entity/ai/EntityAIFindEntityNearest.(Lnet/minecraft/entity/EntityLiving;Ljava/lang/Class;)V=|p_i45884_1_,p_i45884_2_ +net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer=CL_00002248 +net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer$1=CL_00002247 +net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer$1.(Lnet/minecraft/entity/ai/EntityAIFindEntityNearestPlayer;)V=|p_i45881_1_ +net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer.(Lnet/minecraft/entity/EntityLiving;)V=|p_i45882_1_ +net/minecraft/entity/ai/EntityAIFleeSun=CL_00001583 +net/minecraft/entity/ai/EntityAIFleeSun.(Lnet/minecraft/entity/EntityCreature;D)V=|p_i1623_1_,p_i1623_2_ +net/minecraft/entity/ai/EntityAIFollowGolem=CL_00001615 +net/minecraft/entity/ai/EntityAIFollowGolem.(Lnet/minecraft/entity/passive/EntityVillager;)V=|p_i1656_1_ +net/minecraft/entity/ai/EntityAIFollowOwner=CL_00001585 +net/minecraft/entity/ai/EntityAIFollowOwner.(Lnet/minecraft/entity/passive/EntityTameable;DFF)V=|p_i1625_1_,p_i1625_2_,p_i1625_4_,p_i1625_5_ +net/minecraft/entity/ai/EntityAIFollowParent=CL_00001586 +net/minecraft/entity/ai/EntityAIFollowParent.(Lnet/minecraft/entity/passive/EntityAnimal;D)V=|p_i1626_1_,p_i1626_2_ +net/minecraft/entity/ai/EntityAIHarvestFarmland=CL_00002253 +net/minecraft/entity/ai/EntityAIHarvestFarmland.(Lnet/minecraft/entity/passive/EntityVillager;D)V=|p_i45889_1_,p_i45889_2_ +net/minecraft/entity/ai/EntityAIHurtByTarget=CL_00001619 +net/minecraft/entity/ai/EntityAIHurtByTarget.(Lnet/minecraft/entity/EntityCreature;Z[Ljava/lang/Class;)V=|p_i45885_1_,p_i45885_2_,p_i45885_3_ +net/minecraft/entity/ai/EntityAILeapAtTarget=CL_00001591 +net/minecraft/entity/ai/EntityAILeapAtTarget.(Lnet/minecraft/entity/EntityLiving;F)V=|p_i1630_1_,p_i1630_2_ +net/minecraft/entity/ai/EntityAILookAtTradePlayer=CL_00001593 +net/minecraft/entity/ai/EntityAILookAtTradePlayer.(Lnet/minecraft/entity/passive/EntityVillager;)V=|p_i1633_1_ +net/minecraft/entity/ai/EntityAILookAtVillager=CL_00001602 +net/minecraft/entity/ai/EntityAILookAtVillager.(Lnet/minecraft/entity/monster/EntityIronGolem;)V=|p_i1643_1_ +net/minecraft/entity/ai/EntityAILookIdle=CL_00001607 +net/minecraft/entity/ai/EntityAILookIdle.(Lnet/minecraft/entity/EntityLiving;)V=|p_i1647_1_ +net/minecraft/entity/ai/EntityAIMate=CL_00001578 +net/minecraft/entity/ai/EntityAIMate.(Lnet/minecraft/entity/passive/EntityAnimal;D)V=|p_i1619_1_,p_i1619_2_ +net/minecraft/entity/ai/EntityAIMoveIndoors=CL_00001596 +net/minecraft/entity/ai/EntityAIMoveIndoors.(Lnet/minecraft/entity/EntityCreature;)V=|p_i1637_1_ +net/minecraft/entity/ai/EntityAIMoveThroughVillage=CL_00001597 +net/minecraft/entity/ai/EntityAIMoveThroughVillage.(Lnet/minecraft/entity/EntityCreature;DZ)V=|p_i1638_1_,p_i1638_2_,p_i1638_4_ +net/minecraft/entity/ai/EntityAIMoveToBlock=CL_00002252 +net/minecraft/entity/ai/EntityAIMoveToBlock.(Lnet/minecraft/entity/EntityCreature;DI)V=|p_i45888_1_,p_i45888_2_,p_i45888_4_ +net/minecraft/entity/ai/EntityAIMoveTowardsRestriction=CL_00001598 +net/minecraft/entity/ai/EntityAIMoveTowardsRestriction.(Lnet/minecraft/entity/EntityCreature;D)V=|p_i2347_1_,p_i2347_2_ +net/minecraft/entity/ai/EntityAIMoveTowardsTarget=CL_00001599 +net/minecraft/entity/ai/EntityAIMoveTowardsTarget.(Lnet/minecraft/entity/EntityCreature;DF)V=|p_i1640_1_,p_i1640_2_,p_i1640_4_ +net/minecraft/entity/ai/EntityAINearestAttackableTarget=CL_00001620 +net/minecraft/entity/ai/EntityAINearestAttackableTarget$1=CL_00001621 +net/minecraft/entity/ai/EntityAINearestAttackableTarget$1.(Lnet/minecraft/entity/ai/EntityAINearestAttackableTarget;Lcom/google/common/base/Predicate;)V=|p_i45877_1_,p_i45877_2_ +net/minecraft/entity/ai/EntityAINearestAttackableTarget$Sorter=CL_00001622 +net/minecraft/entity/ai/EntityAINearestAttackableTarget$Sorter.(Lnet/minecraft/entity/Entity;)V=|p_i1662_1_ +net/minecraft/entity/ai/EntityAINearestAttackableTarget.(Lnet/minecraft/entity/EntityCreature;Ljava/lang/Class;IZZLcom/google/common/base/Predicate;)V=|p_i45880_1_,p_i45880_2_,p_i45880_3_,p_i45880_4_,p_i45880_5_,p_i45880_6_ +net/minecraft/entity/ai/EntityAINearestAttackableTarget.(Lnet/minecraft/entity/EntityCreature;Ljava/lang/Class;Z)V=|p_i45878_1_,p_i45878_2_,p_i45878_3_ +net/minecraft/entity/ai/EntityAINearestAttackableTarget.(Lnet/minecraft/entity/EntityCreature;Ljava/lang/Class;ZZ)V=|p_i45879_1_,p_i45879_2_,p_i45879_3_,p_i45879_4_ +net/minecraft/entity/ai/EntityAIOcelotAttack=CL_00001600 +net/minecraft/entity/ai/EntityAIOcelotAttack.(Lnet/minecraft/entity/EntityLiving;)V=|p_i1641_1_ +net/minecraft/entity/ai/EntityAIOcelotSit=CL_00001601 +net/minecraft/entity/ai/EntityAIOcelotSit.(Lnet/minecraft/entity/passive/EntityOcelot;D)V=|p_i45315_1_,p_i45315_2_ +net/minecraft/entity/ai/EntityAIOpenDoor=CL_00001603 +net/minecraft/entity/ai/EntityAIOpenDoor.(Lnet/minecraft/entity/EntityLiving;Z)V=|p_i1644_1_,p_i1644_2_ +net/minecraft/entity/ai/EntityAIOwnerHurtByTarget=CL_00001624 +net/minecraft/entity/ai/EntityAIOwnerHurtByTarget.(Lnet/minecraft/entity/passive/EntityTameable;)V=|p_i1667_1_ +net/minecraft/entity/ai/EntityAIOwnerHurtTarget=CL_00001625 +net/minecraft/entity/ai/EntityAIOwnerHurtTarget.(Lnet/minecraft/entity/passive/EntityTameable;)V=|p_i1668_1_ +net/minecraft/entity/ai/EntityAIPanic=CL_00001604 +net/minecraft/entity/ai/EntityAIPanic.(Lnet/minecraft/entity/EntityCreature;D)V=|p_i1645_1_,p_i1645_2_ +net/minecraft/entity/ai/EntityAIPlay=CL_00001605 +net/minecraft/entity/ai/EntityAIPlay.(Lnet/minecraft/entity/passive/EntityVillager;D)V=|p_i1646_1_,p_i1646_2_ +net/minecraft/entity/ai/EntityAIRestrictOpenDoor=CL_00001610 +net/minecraft/entity/ai/EntityAIRestrictOpenDoor.(Lnet/minecraft/entity/EntityCreature;)V=|p_i1651_1_ +net/minecraft/entity/ai/EntityAIRestrictSun=CL_00001611 +net/minecraft/entity/ai/EntityAIRestrictSun.(Lnet/minecraft/entity/EntityCreature;)V=|p_i1652_1_ +net/minecraft/entity/ai/EntityAIRunAroundLikeCrazy=CL_00001612 +net/minecraft/entity/ai/EntityAIRunAroundLikeCrazy.(Lnet/minecraft/entity/passive/EntityHorse;D)V=|p_i1653_1_,p_i1653_2_ +net/minecraft/entity/ai/EntityAISit=CL_00001613 +net/minecraft/entity/ai/EntityAISit.(Lnet/minecraft/entity/passive/EntityTameable;)V=|p_i1654_1_ +net/minecraft/entity/ai/EntityAISwimming=CL_00001584 +net/minecraft/entity/ai/EntityAISwimming.(Lnet/minecraft/entity/EntityLiving;)V=|p_i1624_1_ +net/minecraft/entity/ai/EntityAITarget=CL_00001626 +net/minecraft/entity/ai/EntityAITarget.(Lnet/minecraft/entity/EntityCreature;Z)V=|p_i1669_1_,p_i1669_2_ +net/minecraft/entity/ai/EntityAITarget.(Lnet/minecraft/entity/EntityCreature;ZZ)V=|p_i1670_1_,p_i1670_2_,p_i1670_3_ +net/minecraft/entity/ai/EntityAITargetNonTamed=CL_00001623 +net/minecraft/entity/ai/EntityAITargetNonTamed.(Lnet/minecraft/entity/passive/EntityTameable;Ljava/lang/Class;ZLcom/google/common/base/Predicate;)V=|p_i45876_1_,p_i45876_2_,p_i45876_3_,p_i45876_4_ +net/minecraft/entity/ai/EntityAITasks=CL_00001588 +net/minecraft/entity/ai/EntityAITasks$EntityAITaskEntry=CL_00001589 +net/minecraft/entity/ai/EntityAITasks$EntityAITaskEntry.(Lnet/minecraft/entity/ai/EntityAITasks;ILnet/minecraft/entity/ai/EntityAIBase;)V=|p_i1627_1_,p_i1627_2_,p_i1627_3_ +net/minecraft/entity/ai/EntityAITasks.(Lnet/minecraft/profiler/Profiler;)V=|p_i1628_1_ +net/minecraft/entity/ai/EntityAITempt=CL_00001616 +net/minecraft/entity/ai/EntityAITempt.(Lnet/minecraft/entity/EntityCreature;DLnet/minecraft/item/Item;Z)V=|p_i45316_1_,p_i45316_2_,p_i45316_4_,p_i45316_5_ +net/minecraft/entity/ai/EntityAITradePlayer=CL_00001617 +net/minecraft/entity/ai/EntityAITradePlayer.(Lnet/minecraft/entity/passive/EntityVillager;)V=|p_i1658_1_ +net/minecraft/entity/ai/EntityAIVillagerInteract=CL_00002251 +net/minecraft/entity/ai/EntityAIVillagerInteract.(Lnet/minecraft/entity/passive/EntityVillager;)V=|p_i45886_1_ +net/minecraft/entity/ai/EntityAIVillagerMate=CL_00001594 +net/minecraft/entity/ai/EntityAIVillagerMate.(Lnet/minecraft/entity/passive/EntityVillager;)V=|p_i1634_1_ +net/minecraft/entity/ai/EntityAIWander=CL_00001608 +net/minecraft/entity/ai/EntityAIWander.(Lnet/minecraft/entity/EntityCreature;D)V=|p_i1648_1_,p_i1648_2_ +net/minecraft/entity/ai/EntityAIWander.(Lnet/minecraft/entity/EntityCreature;DI)V=|p_i45887_1_,p_i45887_2_,p_i45887_4_ +net/minecraft/entity/ai/EntityAIWatchClosest=CL_00001592 +net/minecraft/entity/ai/EntityAIWatchClosest.(Lnet/minecraft/entity/EntityLiving;Ljava/lang/Class;F)V=|p_i1631_1_,p_i1631_2_,p_i1631_3_ +net/minecraft/entity/ai/EntityAIWatchClosest.(Lnet/minecraft/entity/EntityLiving;Ljava/lang/Class;FF)V=|p_i1632_1_,p_i1632_2_,p_i1632_3_,p_i1632_4_ +net/minecraft/entity/ai/EntityAIWatchClosest2=CL_00001590 +net/minecraft/entity/ai/EntityAIWatchClosest2.(Lnet/minecraft/entity/EntityLiving;Ljava/lang/Class;FF)V=|p_i1629_1_,p_i1629_2_,p_i1629_3_,p_i1629_4_ +net/minecraft/entity/ai/EntityJumpHelper=CL_00001571 +net/minecraft/entity/ai/EntityJumpHelper.(Lnet/minecraft/entity/EntityLiving;)V=|p_i1612_1_ +net/minecraft/entity/ai/EntityLookHelper=CL_00001572 +net/minecraft/entity/ai/EntityLookHelper.(Lnet/minecraft/entity/EntityLiving;)V=|p_i1613_1_ +net/minecraft/entity/ai/EntityMinecartMobSpawner=CL_00001678 +net/minecraft/entity/ai/EntityMinecartMobSpawner$1=CL_00001679 +net/minecraft/entity/ai/EntityMinecartMobSpawner$1.(Lnet/minecraft/entity/ai/EntityMinecartMobSpawner;)V=|p_i1724_1_ +net/minecraft/entity/ai/EntityMinecartMobSpawner.(Lnet/minecraft/world/World;)V=|p_i1725_1_ +net/minecraft/entity/ai/EntityMinecartMobSpawner.(Lnet/minecraft/world/World;DDD)V=|p_i1726_1_,p_i1726_2_,p_i1726_4_,p_i1726_6_ +net/minecraft/entity/ai/EntityMoveHelper=CL_00001573 +net/minecraft/entity/ai/EntityMoveHelper.(Lnet/minecraft/entity/EntityLiving;)V=|p_i1614_1_ +net/minecraft/entity/ai/EntitySenses=CL_00001628 +net/minecraft/entity/ai/EntitySenses.(Lnet/minecraft/entity/EntityLiving;)V=|p_i1672_1_ +net/minecraft/entity/ai/RandomPositionGenerator=CL_00001629 +net/minecraft/entity/ai/attributes/AttributeModifier=CL_00001564 +net/minecraft/entity/ai/attributes/AttributeModifier.(Ljava/lang/String;DI)V=|p_i1605_1_,p_i1605_2_,p_i1605_4_ +net/minecraft/entity/ai/attributes/AttributeModifier.(Ljava/util/UUID;Ljava/lang/String;DI)V=|p_i1606_1_,p_i1606_2_,p_i1606_3_,p_i1606_5_ +net/minecraft/entity/ai/attributes/BaseAttribute=CL_00001565 +net/minecraft/entity/ai/attributes/BaseAttribute.(Lnet/minecraft/entity/ai/attributes/IAttribute;Ljava/lang/String;D)V=|p_i45892_1_,p_i45892_2_,p_i45892_3_ +net/minecraft/entity/ai/attributes/BaseAttributeMap=CL_00001566 +net/minecraft/entity/ai/attributes/ModifiableAttributeInstance=CL_00001567 +net/minecraft/entity/ai/attributes/ModifiableAttributeInstance.(Lnet/minecraft/entity/ai/attributes/BaseAttributeMap;Lnet/minecraft/entity/ai/attributes/IAttribute;)V=|p_i1608_1_,p_i1608_2_ +net/minecraft/entity/ai/attributes/RangedAttribute=CL_00001568 +net/minecraft/entity/ai/attributes/RangedAttribute.(Lnet/minecraft/entity/ai/attributes/IAttribute;Ljava/lang/String;DDD)V=|p_i45891_1_,p_i45891_2_,p_i45891_3_,p_i45891_5_,p_i45891_7_ +net/minecraft/entity/ai/attributes/ServersideAttributeMap=CL_00001569 +net/minecraft/entity/boss/BossStatus=CL_00000941 +net/minecraft/entity/boss/EntityDragon=CL_00001659 +net/minecraft/entity/boss/EntityDragon.(Lnet/minecraft/world/World;)V=|p_i1700_1_ +net/minecraft/entity/boss/EntityDragonPart=CL_00001657 +net/minecraft/entity/boss/EntityDragonPart.(Lnet/minecraft/entity/IEntityMultiPart;Ljava/lang/String;FF)V=|p_i1697_1_,p_i1697_2_,p_i1697_3_,p_i1697_4_ +net/minecraft/entity/boss/EntityWither=CL_00001661 +net/minecraft/entity/boss/EntityWither$1=CL_00001662 +net/minecraft/entity/boss/EntityWither.(Lnet/minecraft/world/World;)V=|p_i1701_1_ +net/minecraft/entity/effect/EntityLightningBolt=CL_00001666 +net/minecraft/entity/effect/EntityLightningBolt.(Lnet/minecraft/world/World;DDD)V=|p_i1703_1_,p_i1703_2_,p_i1703_4_,p_i1703_6_ +net/minecraft/entity/effect/EntityWeatherEffect=CL_00001665 +net/minecraft/entity/effect/EntityWeatherEffect.(Lnet/minecraft/world/World;)V=|p_i1702_1_ +net/minecraft/entity/item/EntityArmorStand=CL_00002228 +net/minecraft/entity/item/EntityArmorStand.(Lnet/minecraft/world/World;)V=|p_i45854_1_ +net/minecraft/entity/item/EntityArmorStand.(Lnet/minecraft/world/World;DDD)V=|p_i45855_1_,p_i45855_2_,p_i45855_4_,p_i45855_6_ +net/minecraft/entity/item/EntityBoat=CL_00001667 +net/minecraft/entity/item/EntityBoat.(Lnet/minecraft/world/World;)V=|p_i1704_1_ +net/minecraft/entity/item/EntityBoat.(Lnet/minecraft/world/World;DDD)V=|p_i1705_1_,p_i1705_2_,p_i1705_4_,p_i1705_6_ +net/minecraft/entity/item/EntityEnderCrystal=CL_00001658 +net/minecraft/entity/item/EntityEnderCrystal.(Lnet/minecraft/world/World;)V=|p_i1698_1_ +net/minecraft/entity/item/EntityEnderCrystal.(Lnet/minecraft/world/World;DDD)V=|p_i1699_1_,p_i1699_2_,p_i1699_4_,p_i1699_6_ +net/minecraft/entity/item/EntityEnderEye=CL_00001716 +net/minecraft/entity/item/EntityEnderEye.(Lnet/minecraft/world/World;)V=|p_i1757_1_ +net/minecraft/entity/item/EntityEnderEye.(Lnet/minecraft/world/World;DDD)V=|p_i1758_1_,p_i1758_2_,p_i1758_4_,p_i1758_6_ +net/minecraft/entity/item/EntityEnderPearl=CL_00001725 +net/minecraft/entity/item/EntityEnderPearl.(Lnet/minecraft/world/World;DDD)V=|p_i1784_1_,p_i1784_2_,p_i1784_4_,p_i1784_6_ +net/minecraft/entity/item/EntityEnderPearl.(Lnet/minecraft/world/World;Lnet/minecraft/entity/EntityLivingBase;)V=|p_i1783_1_,p_i1783_2_ +net/minecraft/entity/item/EntityExpBottle=CL_00001726 +net/minecraft/entity/item/EntityExpBottle.(Lnet/minecraft/world/World;)V=|p_i1785_1_ +net/minecraft/entity/item/EntityExpBottle.(Lnet/minecraft/world/World;DDD)V=|p_i1787_1_,p_i1787_2_,p_i1787_4_,p_i1787_6_ +net/minecraft/entity/item/EntityExpBottle.(Lnet/minecraft/world/World;Lnet/minecraft/entity/EntityLivingBase;)V=|p_i1786_1_,p_i1786_2_ +net/minecraft/entity/item/EntityFallingBlock=CL_00001668 +net/minecraft/entity/item/EntityFallingBlock.(Lnet/minecraft/world/World;)V=|p_i1706_1_ +net/minecraft/entity/item/EntityFallingBlock.(Lnet/minecraft/world/World;DDDLnet/minecraft/block/state/IBlockState;)V=|p_i45848_1_,p_i45848_2_,p_i45848_4_,p_i45848_6_,p_i45848_8_ +net/minecraft/entity/item/EntityFireworkRocket=CL_00001718 +net/minecraft/entity/item/EntityFireworkRocket.(Lnet/minecraft/world/World;)V=|p_i1762_1_ +net/minecraft/entity/item/EntityFireworkRocket.(Lnet/minecraft/world/World;DDDLnet/minecraft/item/ItemStack;)V=|p_i1763_1_,p_i1763_2_,p_i1763_4_,p_i1763_6_,p_i1763_8_ +net/minecraft/entity/item/EntityItem=CL_00001669 +net/minecraft/entity/item/EntityItem.(Lnet/minecraft/world/World;)V=|p_i1711_1_ +net/minecraft/entity/item/EntityItem.(Lnet/minecraft/world/World;DDD)V=|p_i1709_1_,p_i1709_2_,p_i1709_4_,p_i1709_6_ +net/minecraft/entity/item/EntityItem.(Lnet/minecraft/world/World;DDDLnet/minecraft/item/ItemStack;)V=|p_i1710_1_,p_i1710_2_,p_i1710_4_,p_i1710_6_,p_i1710_8_ +net/minecraft/entity/item/EntityItemFrame=CL_00001547 +net/minecraft/entity/item/EntityItemFrame.(Lnet/minecraft/world/World;)V=|p_i1590_1_ +net/minecraft/entity/item/EntityItemFrame.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)V=|p_i45852_1_,p_i45852_2_,p_i45852_3_ +net/minecraft/entity/item/EntityMinecart=CL_00001670 +net/minecraft/entity/item/EntityMinecart$EnumMinecartType=CL_00002226 +net/minecraft/entity/item/EntityMinecart$EnumMinecartType.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45847_1_,p_i45847_2_,p_i45847_3_,p_i45847_4_ +net/minecraft/entity/item/EntityMinecart$SwitchEnumMinecartType=CL_00002227 +net/minecraft/entity/item/EntityMinecart.(Lnet/minecraft/world/World;)V=|p_i1712_1_ +net/minecraft/entity/item/EntityMinecart.(Lnet/minecraft/world/World;DDD)V=|p_i1713_1_,p_i1713_2_,p_i1713_4_,p_i1713_6_ +net/minecraft/entity/item/EntityMinecartChest=CL_00001671 +net/minecraft/entity/item/EntityMinecartChest.(Lnet/minecraft/world/World;)V=|p_i1714_1_ +net/minecraft/entity/item/EntityMinecartChest.(Lnet/minecraft/world/World;DDD)V=|p_i1715_1_,p_i1715_2_,p_i1715_4_,p_i1715_6_ +net/minecraft/entity/item/EntityMinecartContainer=CL_00001674 +net/minecraft/entity/item/EntityMinecartContainer.(Lnet/minecraft/world/World;)V=|p_i1716_1_ +net/minecraft/entity/item/EntityMinecartContainer.(Lnet/minecraft/world/World;DDD)V=|p_i1717_1_,p_i1717_2_,p_i1717_4_,p_i1717_6_ +net/minecraft/entity/item/EntityMinecartEmpty=CL_00001677 +net/minecraft/entity/item/EntityMinecartEmpty.(Lnet/minecraft/world/World;)V=|p_i1722_1_ +net/minecraft/entity/item/EntityMinecartEmpty.(Lnet/minecraft/world/World;DDD)V=|p_i1723_1_,p_i1723_2_,p_i1723_4_,p_i1723_6_ +net/minecraft/entity/item/EntityMinecartFurnace=CL_00001675 +net/minecraft/entity/item/EntityMinecartFurnace.(Lnet/minecraft/world/World;)V=|p_i1718_1_ +net/minecraft/entity/item/EntityMinecartFurnace.(Lnet/minecraft/world/World;DDD)V=|p_i1719_1_,p_i1719_2_,p_i1719_4_,p_i1719_6_ +net/minecraft/entity/item/EntityMinecartHopper=CL_00001676 +net/minecraft/entity/item/EntityMinecartHopper.(Lnet/minecraft/world/World;)V=|p_i1720_1_ +net/minecraft/entity/item/EntityMinecartHopper.(Lnet/minecraft/world/World;DDD)V=|p_i1721_1_,p_i1721_2_,p_i1721_4_,p_i1721_6_ +net/minecraft/entity/item/EntityMinecartTNT=CL_00001680 +net/minecraft/entity/item/EntityMinecartTNT.(Lnet/minecraft/world/World;)V=|p_i1727_1_ +net/minecraft/entity/item/EntityMinecartTNT.(Lnet/minecraft/world/World;DDD)V=|p_i1728_1_,p_i1728_2_,p_i1728_4_,p_i1728_6_ +net/minecraft/entity/item/EntityPainting=CL_00001556 +net/minecraft/entity/item/EntityPainting$EnumArt=CL_00001557 +net/minecraft/entity/item/EntityPainting$EnumArt.(Ljava/lang/String;ILjava/lang/String;IIII)V=|p_i1598_1_,p_i1598_2_,p_i1598_3_,p_i1598_4_,p_i1598_5_,p_i1598_6_,p_i1598_7_ +net/minecraft/entity/item/EntityPainting.(Lnet/minecraft/world/World;)V=|p_i1599_1_ +net/minecraft/entity/item/EntityPainting.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)V=|p_i45849_1_,p_i45849_2_,p_i45849_3_ +net/minecraft/entity/item/EntityPainting.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;Ljava/lang/String;)V=|p_i45850_1_,p_i45850_2_,p_i45850_3_,p_i45850_4_ +net/minecraft/entity/item/EntityTNTPrimed=CL_00001681 +net/minecraft/entity/item/EntityTNTPrimed.(Lnet/minecraft/world/World;)V=|p_i1729_1_ +net/minecraft/entity/item/EntityTNTPrimed.(Lnet/minecraft/world/World;DDDLnet/minecraft/entity/EntityLivingBase;)V=|p_i1730_1_,p_i1730_2_,p_i1730_4_,p_i1730_6_,p_i1730_8_ +net/minecraft/entity/item/EntityXPOrb=CL_00001544 +net/minecraft/entity/item/EntityXPOrb.(Lnet/minecraft/world/World;)V=|p_i1586_1_ +net/minecraft/entity/item/EntityXPOrb.(Lnet/minecraft/world/World;DDDI)V=|p_i1585_1_,p_i1585_2_,p_i1585_4_,p_i1585_6_,p_i1585_8_ +net/minecraft/entity/monster/EntityBlaze=CL_00001682 +net/minecraft/entity/monster/EntityBlaze$AIFireballAttack=CL_00002225 +net/minecraft/entity/monster/EntityBlaze$AIFireballAttack.(Lnet/minecraft/entity/monster/EntityBlaze;)V=|p_i45846_1_ +net/minecraft/entity/monster/EntityBlaze.(Lnet/minecraft/world/World;)V=|p_i1731_1_ +net/minecraft/entity/monster/EntityCaveSpider=CL_00001683 +net/minecraft/entity/monster/EntityCaveSpider.(Lnet/minecraft/world/World;)V=|p_i1732_1_ +net/minecraft/entity/monster/EntityCreeper=CL_00001684 +net/minecraft/entity/monster/EntityCreeper$1=CL_00002224 +net/minecraft/entity/monster/EntityCreeper$1.(Lnet/minecraft/entity/monster/EntityCreeper;)V=|p_i45845_1_ +net/minecraft/entity/monster/EntityCreeper.(Lnet/minecraft/world/World;)V=|p_i1733_1_ +net/minecraft/entity/monster/EntityEnderman=CL_00001685 +net/minecraft/entity/monster/EntityEnderman$1=CL_00002223 +net/minecraft/entity/monster/EntityEnderman$1.(Lnet/minecraft/entity/monster/EntityEnderman;)V=|p_i45844_1_ +net/minecraft/entity/monster/EntityEnderman$AIFindPlayer=CL_00002221 +net/minecraft/entity/monster/EntityEnderman$AIFindPlayer.(Lnet/minecraft/entity/monster/EntityEnderman;)V=|p_i45842_1_ +net/minecraft/entity/monster/EntityEnderman$AIPlaceBlock=CL_00002222 +net/minecraft/entity/monster/EntityEnderman$AIPlaceBlock.(Lnet/minecraft/entity/monster/EntityEnderman;)V=|p_i45843_1_ +net/minecraft/entity/monster/EntityEnderman$AITakeBlock=CL_00002220 +net/minecraft/entity/monster/EntityEnderman$AITakeBlock.(Lnet/minecraft/entity/monster/EntityEnderman;)V=|p_i45841_1_ +net/minecraft/entity/monster/EntityEnderman.(Lnet/minecraft/world/World;)V=|p_i1734_1_ +net/minecraft/entity/monster/EntityEndermite=CL_00002219 +net/minecraft/entity/monster/EntityEndermite.(Lnet/minecraft/world/World;)V=|p_i45840_1_ +net/minecraft/entity/monster/EntityGhast=CL_00001689 +net/minecraft/entity/monster/EntityGhast$AIFireballAttack=CL_00002215 +net/minecraft/entity/monster/EntityGhast$AIFireballAttack.(Lnet/minecraft/entity/monster/EntityGhast;)V=|p_i45837_1_ +net/minecraft/entity/monster/EntityGhast$AILookAround=CL_00002217 +net/minecraft/entity/monster/EntityGhast$AILookAround.(Lnet/minecraft/entity/monster/EntityGhast;)V=|p_i45839_1_ +net/minecraft/entity/monster/EntityGhast$AIRandomFly=CL_00002214 +net/minecraft/entity/monster/EntityGhast$AIRandomFly.(Lnet/minecraft/entity/monster/EntityGhast;)V=|p_i45836_1_ +net/minecraft/entity/monster/EntityGhast$GhastMoveHelper=CL_00002216 +net/minecraft/entity/monster/EntityGhast$GhastMoveHelper.(Lnet/minecraft/entity/monster/EntityGhast;)V=|p_i45838_1_ +net/minecraft/entity/monster/EntityGhast.(Lnet/minecraft/world/World;)V=|p_i1735_1_ +net/minecraft/entity/monster/EntityGiantZombie=CL_00001690 +net/minecraft/entity/monster/EntityGiantZombie.(Lnet/minecraft/world/World;)V=|p_i1736_1_ +net/minecraft/entity/monster/EntityGolem=CL_00001644 +net/minecraft/entity/monster/EntityGolem.(Lnet/minecraft/world/World;)V=|p_i1686_1_ +net/minecraft/entity/monster/EntityGuardian=CL_00002213 +net/minecraft/entity/monster/EntityGuardian$1=CL_00002212 +net/minecraft/entity/monster/EntityGuardian$1.(Lnet/minecraft/entity/monster/EntityGuardian;)V=|p_i45834_1_ +net/minecraft/entity/monster/EntityGuardian$AIGuardianAttack=CL_00002211 +net/minecraft/entity/monster/EntityGuardian$AIGuardianAttack.(Lnet/minecraft/entity/monster/EntityGuardian;)V=|p_i45833_1_ +net/minecraft/entity/monster/EntityGuardian$GuardianMoveHelper=CL_00002209 +net/minecraft/entity/monster/EntityGuardian$GuardianMoveHelper.(Lnet/minecraft/entity/monster/EntityGuardian;)V=|p_i45831_1_ +net/minecraft/entity/monster/EntityGuardian$GuardianTargetSelector=CL_00002210 +net/minecraft/entity/monster/EntityGuardian$GuardianTargetSelector.(Lnet/minecraft/entity/monster/EntityGuardian;)V=|p_i45832_1_ +net/minecraft/entity/monster/EntityGuardian.(Lnet/minecraft/world/World;)V=|p_i45835_1_ +net/minecraft/entity/monster/EntityIronGolem=CL_00001652 +net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper=CL_00002231 +net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper$1=CL_00002230 +net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper$1.(Lnet/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper;Lcom/google/common/base/Predicate;Lnet/minecraft/entity/EntityCreature;)V=|p_i45857_1_,p_i45857_2_,p_i45857_3_ +net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper.(Lnet/minecraft/entity/EntityCreature;Ljava/lang/Class;IZZLcom/google/common/base/Predicate;)V=|p_i45858_1_,p_i45858_2_,p_i45858_3_,p_i45858_4_,p_i45858_5_,p_i45858_6_ +net/minecraft/entity/monster/EntityIronGolem.(Lnet/minecraft/world/World;)V=|p_i1694_1_ +net/minecraft/entity/monster/EntityMagmaCube=CL_00001691 +net/minecraft/entity/monster/EntityMagmaCube.(Lnet/minecraft/world/World;)V=|p_i1737_1_ +net/minecraft/entity/monster/EntityMob=CL_00001692 +net/minecraft/entity/monster/EntityMob$1=CL_00002208 +net/minecraft/entity/monster/EntityMob$1.(Lnet/minecraft/entity/monster/EntityMob;)V=|p_i45830_1_ +net/minecraft/entity/monster/EntityMob.(Lnet/minecraft/world/World;)V=|p_i1738_1_ +net/minecraft/entity/monster/EntityPigZombie=CL_00001693 +net/minecraft/entity/monster/EntityPigZombie$AIHurtByAggressor=CL_00002206 +net/minecraft/entity/monster/EntityPigZombie$AIHurtByAggressor.(Lnet/minecraft/entity/monster/EntityPigZombie;)V=|p_i45828_1_ +net/minecraft/entity/monster/EntityPigZombie$AITargetAggressor=CL_00002207 +net/minecraft/entity/monster/EntityPigZombie$AITargetAggressor.(Lnet/minecraft/entity/monster/EntityPigZombie;)V=|p_i45829_1_ +net/minecraft/entity/monster/EntityPigZombie.(Lnet/minecraft/world/World;)V=|p_i1739_1_ +net/minecraft/entity/monster/EntitySilverfish=CL_00001696 +net/minecraft/entity/monster/EntitySilverfish$AIHideInStone=CL_00002205 +net/minecraft/entity/monster/EntitySilverfish$AIHideInStone.(Lnet/minecraft/entity/monster/EntitySilverfish;)V=|p_i45827_1_ +net/minecraft/entity/monster/EntitySilverfish$AISummonSilverfish=CL_00002204 +net/minecraft/entity/monster/EntitySilverfish$AISummonSilverfish.(Lnet/minecraft/entity/monster/EntitySilverfish;)V=|p_i45826_1_ +net/minecraft/entity/monster/EntitySilverfish.(Lnet/minecraft/world/World;)V=|p_i1740_1_ +net/minecraft/entity/monster/EntitySkeleton=CL_00001697 +net/minecraft/entity/monster/EntitySkeleton$1=CL_00002203 +net/minecraft/entity/monster/EntitySkeleton$1.(Lnet/minecraft/entity/monster/EntitySkeleton;)V=|p_i45825_1_ +net/minecraft/entity/monster/EntitySkeleton.(Lnet/minecraft/world/World;)V=|p_i1741_1_ +net/minecraft/entity/monster/EntitySlime=CL_00001698 +net/minecraft/entity/monster/EntitySlime$AISlimeAttack=CL_00002202 +net/minecraft/entity/monster/EntitySlime$AISlimeAttack.(Lnet/minecraft/entity/monster/EntitySlime;)V=|p_i45824_1_ +net/minecraft/entity/monster/EntitySlime$AISlimeFaceRandom=CL_00002198 +net/minecraft/entity/monster/EntitySlime$AISlimeFaceRandom.(Lnet/minecraft/entity/monster/EntitySlime;)V=|p_i45820_1_ +net/minecraft/entity/monster/EntitySlime$AISlimeFloat=CL_00002201 +net/minecraft/entity/monster/EntitySlime$AISlimeFloat.(Lnet/minecraft/entity/monster/EntitySlime;)V=|p_i45823_1_ +net/minecraft/entity/monster/EntitySlime$AISlimeHop=CL_00002200 +net/minecraft/entity/monster/EntitySlime$AISlimeHop.(Lnet/minecraft/entity/monster/EntitySlime;)V=|p_i45822_1_ +net/minecraft/entity/monster/EntitySlime$SlimeMoveHelper=CL_00002199 +net/minecraft/entity/monster/EntitySlime$SlimeMoveHelper.(Lnet/minecraft/entity/monster/EntitySlime;)V=|p_i45821_1_ +net/minecraft/entity/monster/EntitySlime.(Lnet/minecraft/world/World;)V=|p_i1742_1_ +net/minecraft/entity/monster/EntitySnowman=CL_00001650 +net/minecraft/entity/monster/EntitySnowman.(Lnet/minecraft/world/World;)V=|p_i1692_1_ +net/minecraft/entity/monster/EntitySpider=CL_00001699 +net/minecraft/entity/monster/EntitySpider$AISpiderAttack=CL_00002197 +net/minecraft/entity/monster/EntitySpider$AISpiderAttack.(Lnet/minecraft/entity/monster/EntitySpider;Ljava/lang/Class;)V=|p_i45819_1_,p_i45819_2_ +net/minecraft/entity/monster/EntitySpider$AISpiderTarget=CL_00002196 +net/minecraft/entity/monster/EntitySpider$AISpiderTarget.(Lnet/minecraft/entity/monster/EntitySpider;Ljava/lang/Class;)V=|p_i45818_1_,p_i45818_2_ +net/minecraft/entity/monster/EntitySpider$GroupData=CL_00001700 +net/minecraft/entity/monster/EntitySpider.(Lnet/minecraft/world/World;)V=|p_i1743_1_ +net/minecraft/entity/monster/EntityWitch=CL_00001701 +net/minecraft/entity/monster/EntityWitch.(Lnet/minecraft/world/World;)V=|p_i1744_1_ +net/minecraft/entity/monster/EntityZombie=CL_00001702 +net/minecraft/entity/monster/EntityZombie$1=CL_00001865 +net/minecraft/entity/monster/EntityZombie$GroupData=CL_00001704 +net/minecraft/entity/monster/EntityZombie$GroupData.(Lnet/minecraft/entity/monster/EntityZombie;ZZ)V=|p_i2348_1_,p_i2348_2_,p_i2348_3_ +net/minecraft/entity/monster/EntityZombie$GroupData.(Lnet/minecraft/entity/monster/EntityZombie;ZZLnet/minecraft/entity/monster/EntityZombie$1;)V=|p_i2349_1_,p_i2349_2_,p_i2349_3_,p_i2349_4_ +net/minecraft/entity/monster/EntityZombie.(Lnet/minecraft/world/World;)V=|p_i1745_1_ +net/minecraft/entity/monster/IMob$1=CL_00001688 +net/minecraft/entity/monster/IMob$2=CL_00002218 +net/minecraft/entity/passive/EntityAmbientCreature=CL_00001636 +net/minecraft/entity/passive/EntityAmbientCreature.(Lnet/minecraft/world/World;)V=|p_i1679_1_ +net/minecraft/entity/passive/EntityAnimal=CL_00001638 +net/minecraft/entity/passive/EntityAnimal.(Lnet/minecraft/world/World;)V=|p_i1681_1_ +net/minecraft/entity/passive/EntityBat=CL_00001637 +net/minecraft/entity/passive/EntityBat.(Lnet/minecraft/world/World;)V=|p_i1680_1_ +net/minecraft/entity/passive/EntityChicken=CL_00001639 +net/minecraft/entity/passive/EntityChicken.(Lnet/minecraft/world/World;)V=|p_i1682_1_ +net/minecraft/entity/passive/EntityCow=CL_00001640 +net/minecraft/entity/passive/EntityCow.(Lnet/minecraft/world/World;)V=|p_i1683_1_ +net/minecraft/entity/passive/EntityHorse=CL_00001641 +net/minecraft/entity/passive/EntityHorse$1=CL_00001642 +net/minecraft/entity/passive/EntityHorse$GroupData=CL_00001643 +net/minecraft/entity/passive/EntityHorse$GroupData.(II)V=|p_i1684_1_,p_i1684_2_ +net/minecraft/entity/passive/EntityHorse.(Lnet/minecraft/world/World;)V=|p_i1685_1_ +net/minecraft/entity/passive/EntityMooshroom=CL_00001645 +net/minecraft/entity/passive/EntityMooshroom.(Lnet/minecraft/world/World;)V=|p_i1687_1_ +net/minecraft/entity/passive/EntityOcelot=CL_00001646 +net/minecraft/entity/passive/EntityOcelot$1=CL_00002243 +net/minecraft/entity/passive/EntityOcelot$1.(Lnet/minecraft/entity/passive/EntityOcelot;)V=|p_i45870_1_ +net/minecraft/entity/passive/EntityOcelot.(Lnet/minecraft/world/World;)V=|p_i1688_1_ +net/minecraft/entity/passive/EntityPig=CL_00001647 +net/minecraft/entity/passive/EntityPig.(Lnet/minecraft/world/World;)V=|p_i1689_1_ +net/minecraft/entity/passive/EntityRabbit=CL_00002242 +net/minecraft/entity/passive/EntityRabbit$1=CL_00002241 +net/minecraft/entity/passive/EntityRabbit$1.(Lnet/minecraft/entity/passive/EntityRabbit;)V=|p_i45868_1_ +net/minecraft/entity/passive/EntityRabbit$AIAvoidEntity=CL_00002238 +net/minecraft/entity/passive/EntityRabbit$AIAvoidEntity.(Lnet/minecraft/entity/passive/EntityRabbit;Lcom/google/common/base/Predicate;FDD)V=|p_i45865_1_,p_i45865_2_,p_i45865_3_,p_i45865_4_,p_i45865_6_ +net/minecraft/entity/passive/EntityRabbit$AIEvilAttack=CL_00002240 +net/minecraft/entity/passive/EntityRabbit$AIEvilAttack.(Lnet/minecraft/entity/passive/EntityRabbit;)V=|p_i45867_1_ +net/minecraft/entity/passive/EntityRabbit$AIPanic=CL_00002234 +net/minecraft/entity/passive/EntityRabbit$AIPanic.(Lnet/minecraft/entity/passive/EntityRabbit;D)V=|p_i45861_1_,p_i45861_2_ +net/minecraft/entity/passive/EntityRabbit$AIRaidFarm=CL_00002233 +net/minecraft/entity/passive/EntityRabbit$AIRaidFarm.(Lnet/minecraft/entity/passive/EntityRabbit;)V=|p_i45860_1_ +net/minecraft/entity/passive/EntityRabbit$EnumMoveType=CL_00002239 +net/minecraft/entity/passive/EntityRabbit$EnumMoveType.(Ljava/lang/String;IFFII)V=|p_i45866_1_,p_i45866_2_,p_i45866_3_,p_i45866_4_,p_i45866_5_,p_i45866_6_ +net/minecraft/entity/passive/EntityRabbit$RabbitJumpHelper=CL_00002236 +net/minecraft/entity/passive/EntityRabbit$RabbitJumpHelper.(Lnet/minecraft/entity/passive/EntityRabbit;Lnet/minecraft/entity/passive/EntityRabbit;)V=|p_i45863_1_,p_i45863_2_ +net/minecraft/entity/passive/EntityRabbit$RabbitMoveHelper=CL_00002235 +net/minecraft/entity/passive/EntityRabbit$RabbitMoveHelper.(Lnet/minecraft/entity/passive/EntityRabbit;)V=|p_i45862_1_ +net/minecraft/entity/passive/EntityRabbit$RabbitTypeData=CL_00002237 +net/minecraft/entity/passive/EntityRabbit$RabbitTypeData.(I)V=|p_i45864_1_ +net/minecraft/entity/passive/EntityRabbit.(Lnet/minecraft/world/World;)V=|p_i45869_1_ +net/minecraft/entity/passive/EntitySheep=CL_00001648 +net/minecraft/entity/passive/EntitySheep$1=CL_00001649 +net/minecraft/entity/passive/EntitySheep$1.(Lnet/minecraft/entity/passive/EntitySheep;)V=|p_i1690_1_ +net/minecraft/entity/passive/EntitySheep.(Lnet/minecraft/world/World;)V=|p_i1691_1_ +net/minecraft/entity/passive/EntitySquid=CL_00001651 +net/minecraft/entity/passive/EntitySquid$AIMoveRandom=CL_00002232 +net/minecraft/entity/passive/EntitySquid$AIMoveRandom.(Lnet/minecraft/entity/passive/EntitySquid;)V=|p_i45859_1_ +net/minecraft/entity/passive/EntitySquid.(Lnet/minecraft/world/World;)V=|p_i1693_1_ +net/minecraft/entity/passive/EntityTameable=CL_00001561 +net/minecraft/entity/passive/EntityTameable.(Lnet/minecraft/world/World;)V=|p_i1604_1_ +net/minecraft/entity/passive/EntityVillager=CL_00001707 +net/minecraft/entity/passive/EntityVillager$1=CL_00002195 +net/minecraft/entity/passive/EntityVillager$1.(Lnet/minecraft/entity/passive/EntityVillager;)V=|p_i45816_1_ +net/minecraft/entity/passive/EntityVillager$EmeraldForItems=CL_00002194 +net/minecraft/entity/passive/EntityVillager$EmeraldForItems.(Lnet/minecraft/item/Item;Lnet/minecraft/entity/passive/EntityVillager$PriceInfo;)V=|p_i45815_1_,p_i45815_2_ +net/minecraft/entity/passive/EntityVillager$ItemAndEmeraldToItem=CL_00002191 +net/minecraft/entity/passive/EntityVillager$ItemAndEmeraldToItem.(Lnet/minecraft/item/Item;Lnet/minecraft/entity/passive/EntityVillager$PriceInfo;Lnet/minecraft/item/Item;Lnet/minecraft/entity/passive/EntityVillager$PriceInfo;)V=|p_i45813_1_,p_i45813_2_,p_i45813_3_,p_i45813_4_ +net/minecraft/entity/passive/EntityVillager$ListEnchantedBookForEmeralds=CL_00002193 +net/minecraft/entity/passive/EntityVillager$ListEnchantedItemForEmeralds=CL_00002192 +net/minecraft/entity/passive/EntityVillager$ListEnchantedItemForEmeralds.(Lnet/minecraft/item/Item;Lnet/minecraft/entity/passive/EntityVillager$PriceInfo;)V=|p_i45814_1_,p_i45814_2_ +net/minecraft/entity/passive/EntityVillager$ListItemForEmeralds=CL_00002190 +net/minecraft/entity/passive/EntityVillager$ListItemForEmeralds.(Lnet/minecraft/item/Item;Lnet/minecraft/entity/passive/EntityVillager$PriceInfo;)V=|p_i45811_1_,p_i45811_2_ +net/minecraft/entity/passive/EntityVillager$ListItemForEmeralds.(Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/passive/EntityVillager$PriceInfo;)V=|p_i45812_1_,p_i45812_2_ +net/minecraft/entity/passive/EntityVillager$PriceInfo=CL_00002189 +net/minecraft/entity/passive/EntityVillager$PriceInfo.(II)V=|p_i45810_1_,p_i45810_2_ +net/minecraft/entity/passive/EntityVillager.(Lnet/minecraft/world/World;)V=|p_i1747_1_ +net/minecraft/entity/passive/EntityVillager.(Lnet/minecraft/world/World;I)V=|p_i1748_1_,p_i1748_2_ +net/minecraft/entity/passive/EntityWaterMob=CL_00001653 +net/minecraft/entity/passive/EntityWaterMob.(Lnet/minecraft/world/World;)V=|p_i1695_1_ +net/minecraft/entity/passive/EntityWolf=CL_00001654 +net/minecraft/entity/passive/EntityWolf$1=CL_00002229 +net/minecraft/entity/passive/EntityWolf$1.(Lnet/minecraft/entity/passive/EntityWolf;)V=|p_i45856_1_ +net/minecraft/entity/passive/EntityWolf.(Lnet/minecraft/world/World;)V=|p_i1696_1_ +net/minecraft/entity/player/EntityPlayer=CL_00001711 +net/minecraft/entity/player/EntityPlayer$EnumChatVisibility=CL_00001714 +net/minecraft/entity/player/EntityPlayer$EnumChatVisibility.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45323_1_,p_i45323_2_,p_i45323_3_,p_i45323_4_ +net/minecraft/entity/player/EntityPlayer$EnumStatus=CL_00001712 +net/minecraft/entity/player/EntityPlayer$EnumStatus.(Ljava/lang/String;I)V=|p_i1751_1_,p_i1751_2_ +net/minecraft/entity/player/EntityPlayer$SwitchEnumFacing=CL_00002188 +net/minecraft/entity/player/EntityPlayer.(Lnet/minecraft/world/World;Lcom/mojang/authlib/GameProfile;)V=|p_i45324_1_,p_i45324_2_ +net/minecraft/entity/player/EntityPlayerMP=CL_00001440 +net/minecraft/entity/player/EntityPlayerMP.(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/world/WorldServer;Lcom/mojang/authlib/GameProfile;Lnet/minecraft/server/management/ItemInWorldManager;)V=|p_i45285_1_,p_i45285_2_,p_i45285_3_,p_i45285_4_ +net/minecraft/entity/player/EnumPlayerModelParts=CL_00002187 +net/minecraft/entity/player/EnumPlayerModelParts.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45809_1_,p_i45809_2_,p_i45809_3_,p_i45809_4_ +net/minecraft/entity/player/InventoryPlayer=CL_00001709 +net/minecraft/entity/player/InventoryPlayer$1=CL_00001710 +net/minecraft/entity/player/InventoryPlayer$1.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/item/ItemStack;)V=|p_i1749_1_,p_i1749_2_ +net/minecraft/entity/player/InventoryPlayer.(Lnet/minecraft/entity/player/EntityPlayer;)V=|p_i1750_1_ +net/minecraft/entity/player/PlayerCapabilities=CL_00001708 +net/minecraft/entity/projectile/EntityArrow=CL_00001715 +net/minecraft/entity/projectile/EntityArrow.(Lnet/minecraft/world/World;)V=|p_i1753_1_ +net/minecraft/entity/projectile/EntityArrow.(Lnet/minecraft/world/World;DDD)V=|p_i1754_1_,p_i1754_2_,p_i1754_4_,p_i1754_6_ +net/minecraft/entity/projectile/EntityArrow.(Lnet/minecraft/world/World;Lnet/minecraft/entity/EntityLivingBase;F)V=|p_i1756_1_,p_i1756_2_,p_i1756_3_ +net/minecraft/entity/projectile/EntityArrow.(Lnet/minecraft/world/World;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/EntityLivingBase;FF)V=|p_i1755_1_,p_i1755_2_,p_i1755_3_,p_i1755_4_,p_i1755_5_ +net/minecraft/entity/projectile/EntityEgg=CL_00001724 +net/minecraft/entity/projectile/EntityEgg.(Lnet/minecraft/world/World;)V=|p_i1779_1_ +net/minecraft/entity/projectile/EntityEgg.(Lnet/minecraft/world/World;DDD)V=|p_i1781_1_,p_i1781_2_,p_i1781_4_,p_i1781_6_ +net/minecraft/entity/projectile/EntityEgg.(Lnet/minecraft/world/World;Lnet/minecraft/entity/EntityLivingBase;)V=|p_i1780_1_,p_i1780_2_ +net/minecraft/entity/projectile/EntityFireball=CL_00001717 +net/minecraft/entity/projectile/EntityFireball.(Lnet/minecraft/world/World;)V=|p_i1759_1_ +net/minecraft/entity/projectile/EntityFireball.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1760_1_,p_i1760_2_,p_i1760_4_,p_i1760_6_,p_i1760_8_,p_i1760_10_,p_i1760_12_ +net/minecraft/entity/projectile/EntityFireball.(Lnet/minecraft/world/World;Lnet/minecraft/entity/EntityLivingBase;DDD)V=|p_i1761_1_,p_i1761_2_,p_i1761_3_,p_i1761_5_,p_i1761_7_ +net/minecraft/entity/projectile/EntityFishHook=CL_00001663 +net/minecraft/entity/projectile/EntityFishHook.(Lnet/minecraft/world/World;)V=|p_i1764_1_ +net/minecraft/entity/projectile/EntityFishHook.(Lnet/minecraft/world/World;DDDLnet/minecraft/entity/player/EntityPlayer;)V=|p_i1765_1_,p_i1765_2_,p_i1765_4_,p_i1765_6_,p_i1765_8_ +net/minecraft/entity/projectile/EntityFishHook.(Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)V=|p_i1766_1_,p_i1766_2_ +net/minecraft/entity/projectile/EntityLargeFireball=CL_00001719 +net/minecraft/entity/projectile/EntityLargeFireball.(Lnet/minecraft/world/World;)V=|p_i1767_1_ +net/minecraft/entity/projectile/EntityLargeFireball.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1768_1_,p_i1768_2_,p_i1768_4_,p_i1768_6_,p_i1768_8_,p_i1768_10_,p_i1768_12_ +net/minecraft/entity/projectile/EntityLargeFireball.(Lnet/minecraft/world/World;Lnet/minecraft/entity/EntityLivingBase;DDD)V=|p_i1769_1_,p_i1769_2_,p_i1769_3_,p_i1769_5_,p_i1769_7_ +net/minecraft/entity/projectile/EntityPotion=CL_00001727 +net/minecraft/entity/projectile/EntityPotion.(Lnet/minecraft/world/World;)V=|p_i1788_1_ +net/minecraft/entity/projectile/EntityPotion.(Lnet/minecraft/world/World;DDDI)V=|p_i1791_1_,p_i1791_2_,p_i1791_4_,p_i1791_6_,p_i1791_8_ +net/minecraft/entity/projectile/EntityPotion.(Lnet/minecraft/world/World;DDDLnet/minecraft/item/ItemStack;)V=|p_i1792_1_,p_i1792_2_,p_i1792_4_,p_i1792_6_,p_i1792_8_ +net/minecraft/entity/projectile/EntityPotion.(Lnet/minecraft/world/World;Lnet/minecraft/entity/EntityLivingBase;I)V=|p_i1789_1_,p_i1789_2_,p_i1789_3_ +net/minecraft/entity/projectile/EntityPotion.(Lnet/minecraft/world/World;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V=|p_i1790_1_,p_i1790_2_,p_i1790_3_ +net/minecraft/entity/projectile/EntitySmallFireball=CL_00001721 +net/minecraft/entity/projectile/EntitySmallFireball.(Lnet/minecraft/world/World;)V=|p_i1770_1_ +net/minecraft/entity/projectile/EntitySmallFireball.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1772_1_,p_i1772_2_,p_i1772_4_,p_i1772_6_,p_i1772_8_,p_i1772_10_,p_i1772_12_ +net/minecraft/entity/projectile/EntitySmallFireball.(Lnet/minecraft/world/World;Lnet/minecraft/entity/EntityLivingBase;DDD)V=|p_i1771_1_,p_i1771_2_,p_i1771_3_,p_i1771_5_,p_i1771_7_ +net/minecraft/entity/projectile/EntitySnowball=CL_00001722 +net/minecraft/entity/projectile/EntitySnowball.(Lnet/minecraft/world/World;)V=|p_i1773_1_ +net/minecraft/entity/projectile/EntitySnowball.(Lnet/minecraft/world/World;DDD)V=|p_i1775_1_,p_i1775_2_,p_i1775_4_,p_i1775_6_ +net/minecraft/entity/projectile/EntitySnowball.(Lnet/minecraft/world/World;Lnet/minecraft/entity/EntityLivingBase;)V=|p_i1774_1_,p_i1774_2_ +net/minecraft/entity/projectile/EntityThrowable=CL_00001723 +net/minecraft/entity/projectile/EntityThrowable.(Lnet/minecraft/world/World;)V=|p_i1776_1_ +net/minecraft/entity/projectile/EntityThrowable.(Lnet/minecraft/world/World;DDD)V=|p_i1778_1_,p_i1778_2_,p_i1778_4_,p_i1778_6_ +net/minecraft/entity/projectile/EntityThrowable.(Lnet/minecraft/world/World;Lnet/minecraft/entity/EntityLivingBase;)V=|p_i1777_1_,p_i1777_2_ +net/minecraft/entity/projectile/EntityWitherSkull=CL_00001728 +net/minecraft/entity/projectile/EntityWitherSkull.(Lnet/minecraft/world/World;)V=|p_i1793_1_ +net/minecraft/entity/projectile/EntityWitherSkull.(Lnet/minecraft/world/World;DDDDDD)V=|p_i1795_1_,p_i1795_2_,p_i1795_4_,p_i1795_6_,p_i1795_8_,p_i1795_10_,p_i1795_12_ +net/minecraft/entity/projectile/EntityWitherSkull.(Lnet/minecraft/world/World;Lnet/minecraft/entity/EntityLivingBase;DDD)V=|p_i1794_1_,p_i1794_2_,p_i1794_3_,p_i1794_5_,p_i1794_7_ +net/minecraft/event/ClickEvent=CL_00001260 +net/minecraft/event/ClickEvent$Action=CL_00001261 +net/minecraft/event/ClickEvent$Action.(Ljava/lang/String;ILjava/lang/String;Z)V=|p_i45155_1_,p_i45155_2_,p_i45155_3_,p_i45155_4_ +net/minecraft/event/ClickEvent.(Lnet/minecraft/event/ClickEvent$Action;Ljava/lang/String;)V=|p_i45156_1_,p_i45156_2_ +net/minecraft/event/HoverEvent=CL_00001264 +net/minecraft/event/HoverEvent$Action=CL_00001265 +net/minecraft/event/HoverEvent$Action.(Ljava/lang/String;ILjava/lang/String;Z)V=|p_i45157_1_,p_i45157_2_,p_i45157_3_,p_i45157_4_ +net/minecraft/event/HoverEvent.(Lnet/minecraft/event/HoverEvent$Action;Lnet/minecraft/util/IChatComponent;)V=|p_i45158_1_,p_i45158_2_ +net/minecraft/init/Blocks=CL_00000204 +net/minecraft/init/Bootstrap=CL_00001397 +net/minecraft/init/Bootstrap$1=CL_00001398 +net/minecraft/init/Bootstrap$10=CL_00001399 +net/minecraft/init/Bootstrap$11=CL_00001400 +net/minecraft/init/Bootstrap$12=CL_00001401 +net/minecraft/init/Bootstrap$13=CL_00001402 +net/minecraft/init/Bootstrap$14=CL_00001403 +net/minecraft/init/Bootstrap$15=CL_00002278 +net/minecraft/init/Bootstrap$16=CL_00002277 +net/minecraft/init/Bootstrap$17=CL_00002276 +net/minecraft/init/Bootstrap$2=CL_00001404 +net/minecraft/init/Bootstrap$3=CL_00001405 +net/minecraft/init/Bootstrap$4=CL_00001406 +net/minecraft/init/Bootstrap$5=CL_00001407 +net/minecraft/init/Bootstrap$5$1=CL_00001408 +net/minecraft/init/Bootstrap$5$1.(Lnet/minecraft/init/Bootstrap$5;Lnet/minecraft/item/ItemStack;)V=|p_i45277_1_,p_i45277_2_ +net/minecraft/init/Bootstrap$6=CL_00001410 +net/minecraft/init/Bootstrap$7=CL_00001411 +net/minecraft/init/Bootstrap$8=CL_00001412 +net/minecraft/init/Bootstrap$9=CL_00001413 +net/minecraft/init/Items=CL_00000044 +net/minecraft/inventory/AnimalChest=CL_00001731 +net/minecraft/inventory/AnimalChest.(Ljava/lang/String;I)V=|p_i1796_1_,p_i1796_2_ +net/minecraft/inventory/AnimalChest.(Lnet/minecraft/util/IChatComponent;I)V=|p_i45808_1_,p_i45808_2_ +net/minecraft/inventory/Container=CL_00001730 +net/minecraft/inventory/ContainerBeacon=CL_00001735 +net/minecraft/inventory/ContainerBeacon$BeaconSlot=CL_00001736 +net/minecraft/inventory/ContainerBeacon$BeaconSlot.(Lnet/minecraft/inventory/ContainerBeacon;Lnet/minecraft/inventory/IInventory;III)V=|p_i1801_1_,p_i1801_2_,p_i1801_3_,p_i1801_4_,p_i1801_5_ +net/minecraft/inventory/ContainerBeacon.(Lnet/minecraft/inventory/IInventory;Lnet/minecraft/inventory/IInventory;)V=|p_i45804_1_,p_i45804_2_ +net/minecraft/inventory/ContainerBrewingStand=CL_00001737 +net/minecraft/inventory/ContainerBrewingStand$Ingredient=CL_00001738 +net/minecraft/inventory/ContainerBrewingStand$Ingredient.(Lnet/minecraft/inventory/ContainerBrewingStand;Lnet/minecraft/inventory/IInventory;III)V=|p_i1803_1_,p_i1803_2_,p_i1803_3_,p_i1803_4_,p_i1803_5_ +net/minecraft/inventory/ContainerBrewingStand$Potion=CL_00001740 +net/minecraft/inventory/ContainerBrewingStand$Potion.(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/inventory/IInventory;III)V=|p_i1804_1_,p_i1804_2_,p_i1804_3_,p_i1804_4_,p_i1804_5_ +net/minecraft/inventory/ContainerBrewingStand.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/inventory/IInventory;)V=|p_i45802_1_,p_i45802_2_ +net/minecraft/inventory/ContainerChest=CL_00001742 +net/minecraft/inventory/ContainerChest.(Lnet/minecraft/inventory/IInventory;Lnet/minecraft/inventory/IInventory;Lnet/minecraft/entity/player/EntityPlayer;)V=|p_i45801_1_,p_i45801_2_,p_i45801_3_ +net/minecraft/inventory/ContainerDispenser=CL_00001763 +net/minecraft/inventory/ContainerDispenser.(Lnet/minecraft/inventory/IInventory;Lnet/minecraft/inventory/IInventory;)V=|p_i45799_1_,p_i45799_2_ +net/minecraft/inventory/ContainerEnchantment=CL_00001745 +net/minecraft/inventory/ContainerEnchantment$1=CL_00001746 +net/minecraft/inventory/ContainerEnchantment$1.(Lnet/minecraft/inventory/ContainerEnchantment;Ljava/lang/String;ZI)V=|p_i1809_1_,p_i1809_2_,p_i1809_3_,p_i1809_4_ +net/minecraft/inventory/ContainerEnchantment$2=CL_00001747 +net/minecraft/inventory/ContainerEnchantment$2.(Lnet/minecraft/inventory/ContainerEnchantment;Lnet/minecraft/inventory/IInventory;III)V=|p_i1810_1_,p_i1810_2_,p_i1810_3_,p_i1810_4_,p_i1810_5_ +net/minecraft/inventory/ContainerEnchantment$3=CL_00002185 +net/minecraft/inventory/ContainerEnchantment$3.(Lnet/minecraft/inventory/ContainerEnchantment;Lnet/minecraft/inventory/IInventory;III)V=|p_i45796_1_,p_i45796_2_,p_i45796_3_,p_i45796_4_,p_i45796_5_ +net/minecraft/inventory/ContainerEnchantment.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/world/World;)V=|p_i45797_1_,p_i45797_2_ +net/minecraft/inventory/ContainerEnchantment.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V=|p_i45798_1_,p_i45798_2_,p_i45798_3_ +net/minecraft/inventory/ContainerFurnace=CL_00001748 +net/minecraft/inventory/ContainerFurnace.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/inventory/IInventory;)V=|p_i45794_1_,p_i45794_2_ +net/minecraft/inventory/ContainerHopper=CL_00001750 +net/minecraft/inventory/ContainerHopper.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/inventory/IInventory;Lnet/minecraft/entity/player/EntityPlayer;)V=|p_i45792_1_,p_i45792_2_,p_i45792_3_ +net/minecraft/inventory/ContainerHorseInventory=CL_00001751 +net/minecraft/inventory/ContainerHorseInventory$1=CL_00001752 +net/minecraft/inventory/ContainerHorseInventory$1.(Lnet/minecraft/inventory/ContainerHorseInventory;Lnet/minecraft/inventory/IInventory;III)V=|p_i1815_1_,p_i1815_2_,p_i1815_3_,p_i1815_4_,p_i1815_5_ +net/minecraft/inventory/ContainerHorseInventory$2=CL_00001753 +net/minecraft/inventory/ContainerHorseInventory$2.(Lnet/minecraft/inventory/ContainerHorseInventory;Lnet/minecraft/inventory/IInventory;IIILnet/minecraft/entity/passive/EntityHorse;)V=|p_i1816_1_,p_i1816_2_,p_i1816_3_,p_i1816_4_,p_i1816_5_,p_i1816_6_ +net/minecraft/inventory/ContainerHorseInventory.(Lnet/minecraft/inventory/IInventory;Lnet/minecraft/inventory/IInventory;Lnet/minecraft/entity/passive/EntityHorse;Lnet/minecraft/entity/player/EntityPlayer;)V=|p_i45791_1_,p_i45791_2_,p_i45791_3_,p_i45791_4_ +net/minecraft/inventory/ContainerMerchant=CL_00001757 +net/minecraft/inventory/ContainerMerchant.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/IMerchant;Lnet/minecraft/world/World;)V=|p_i1821_1_,p_i1821_2_,p_i1821_3_ +net/minecraft/inventory/ContainerPlayer=CL_00001754 +net/minecraft/inventory/ContainerPlayer$1=CL_00001755 +net/minecraft/inventory/ContainerPlayer$1.(Lnet/minecraft/inventory/ContainerPlayer;Lnet/minecraft/inventory/IInventory;IIII)V=|p_i1818_1_,p_i1818_2_,p_i1818_3_,p_i1818_4_,p_i1818_5_,p_i1818_6_ +net/minecraft/inventory/ContainerPlayer.(Lnet/minecraft/entity/player/InventoryPlayer;ZLnet/minecraft/entity/player/EntityPlayer;)V=|p_i1819_1_,p_i1819_2_,p_i1819_3_ +net/minecraft/inventory/ContainerRepair=CL_00001732 +net/minecraft/inventory/ContainerRepair$1=CL_00001733 +net/minecraft/inventory/ContainerRepair$1.(Lnet/minecraft/inventory/ContainerRepair;Ljava/lang/String;ZI)V=|p_i1798_1_,p_i1798_2_,p_i1798_3_,p_i1798_4_ +net/minecraft/inventory/ContainerRepair$2=CL_00001734 +net/minecraft/inventory/ContainerRepair$2.(Lnet/minecraft/inventory/ContainerRepair;Lnet/minecraft/inventory/IInventory;IIILnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V=|p_i45805_1_,p_i45805_2_,p_i45805_3_,p_i45805_4_,p_i45805_5_,p_i45805_6_,p_i45805_7_ +net/minecraft/inventory/ContainerRepair.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)V=|p_i45806_1_,p_i45806_2_,p_i45806_3_ +net/minecraft/inventory/ContainerRepair.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/player/EntityPlayer;)V=|p_i45807_1_,p_i45807_2_,p_i45807_3_,p_i45807_4_ +net/minecraft/inventory/ContainerWorkbench=CL_00001744 +net/minecraft/inventory/ContainerWorkbench.(Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V=|p_i45800_1_,p_i45800_2_,p_i45800_3_ +net/minecraft/inventory/InventoryBasic=CL_00001514 +net/minecraft/inventory/InventoryBasic.(Ljava/lang/String;ZI)V=|p_i1561_1_,p_i1561_2_,p_i1561_3_ +net/minecraft/inventory/InventoryBasic.(Lnet/minecraft/util/IChatComponent;I)V=|p_i45902_1_,p_i45902_2_ +net/minecraft/inventory/InventoryCraftResult=CL_00001760 +net/minecraft/inventory/InventoryCrafting=CL_00001743 +net/minecraft/inventory/InventoryCrafting.(Lnet/minecraft/inventory/Container;II)V=|p_i1807_1_,p_i1807_2_,p_i1807_3_ +net/minecraft/inventory/InventoryEnderChest=CL_00001759 +net/minecraft/inventory/InventoryHelper=CL_00002262 +net/minecraft/inventory/InventoryLargeChest=CL_00001507 +net/minecraft/inventory/InventoryLargeChest.(Ljava/lang/String;Lnet/minecraft/world/ILockableContainer;Lnet/minecraft/world/ILockableContainer;)V=|p_i45905_1_,p_i45905_2_,p_i45905_3_ +net/minecraft/inventory/InventoryMerchant=CL_00001756 +net/minecraft/inventory/InventoryMerchant.(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/entity/IMerchant;)V=|p_i1820_1_,p_i1820_2_ +net/minecraft/inventory/Slot=CL_00001762 +net/minecraft/inventory/Slot.(Lnet/minecraft/inventory/IInventory;III)V=|p_i1824_1_,p_i1824_2_,p_i1824_3_,p_i1824_4_ +net/minecraft/inventory/SlotCrafting=CL_00001761 +net/minecraft/inventory/SlotCrafting.(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/inventory/IInventory;III)V=|p_i45790_1_,p_i45790_2_,p_i45790_3_,p_i45790_4_,p_i45790_5_,p_i45790_6_ +net/minecraft/inventory/SlotFurnaceFuel=CL_00002184 +net/minecraft/inventory/SlotFurnaceFuel.(Lnet/minecraft/inventory/IInventory;III)V=|p_i45795_1_,p_i45795_2_,p_i45795_3_,p_i45795_4_ +net/minecraft/inventory/SlotFurnaceOutput=CL_00002183 +net/minecraft/inventory/SlotFurnaceOutput.(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/inventory/IInventory;III)V=|p_i45793_1_,p_i45793_2_,p_i45793_3_,p_i45793_4_,p_i45793_5_ +net/minecraft/inventory/SlotMerchantResult=CL_00001758 +net/minecraft/inventory/SlotMerchantResult.(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/entity/IMerchant;Lnet/minecraft/inventory/InventoryMerchant;III)V=|p_i1822_1_,p_i1822_2_,p_i1822_3_,p_i1822_4_,p_i1822_5_,p_i1822_6_ +net/minecraft/item/EnumAction=CL_00000073 +net/minecraft/item/EnumAction.(Ljava/lang/String;I)V=|p_i1910_1_,p_i1910_2_ +net/minecraft/item/EnumDyeColor=CL_00002180 +net/minecraft/item/EnumDyeColor.(Ljava/lang/String;IIILjava/lang/String;Ljava/lang/String;Lnet/minecraft/block/material/MapColor;Lnet/minecraft/util/EnumChatFormatting;)V=|p_i45786_1_,p_i45786_2_,p_i45786_3_,p_i45786_4_,p_i45786_5_,p_i45786_6_,p_i45786_7_,p_i45786_8_ +net/minecraft/item/EnumRarity=CL_00000056 +net/minecraft/item/EnumRarity.(Ljava/lang/String;ILnet/minecraft/util/EnumChatFormatting;Ljava/lang/String;)V=|p_i45349_1_,p_i45349_2_,p_i45349_3_,p_i45349_4_ +net/minecraft/item/Item=CL_00000041 +net/minecraft/item/Item$1=CL_00002178 +net/minecraft/item/Item$10=CL_00002177 +net/minecraft/item/Item$11=CL_00002176 +net/minecraft/item/Item$12=CL_00002175 +net/minecraft/item/Item$13=CL_00002174 +net/minecraft/item/Item$14=CL_00002173 +net/minecraft/item/Item$15=CL_00002172 +net/minecraft/item/Item$16=CL_00002171 +net/minecraft/item/Item$17=CL_00002170 +net/minecraft/item/Item$2=CL_00002169 +net/minecraft/item/Item$3=CL_00002168 +net/minecraft/item/Item$4=CL_00002167 +net/minecraft/item/Item$5=CL_00002166 +net/minecraft/item/Item$6=CL_00002165 +net/minecraft/item/Item$7=CL_00002164 +net/minecraft/item/Item$8=CL_00002163 +net/minecraft/item/Item$9=CL_00002162 +net/minecraft/item/Item$ToolMaterial=CL_00000042 +net/minecraft/item/Item$ToolMaterial.(Ljava/lang/String;IIIFFI)V=|p_i1874_1_,p_i1874_2_,p_i1874_3_,p_i1874_4_,p_i1874_5_,p_i1874_6_,p_i1874_7_ +net/minecraft/item/ItemAnvilBlock=CL_00001764 +net/minecraft/item/ItemAnvilBlock.(Lnet/minecraft/block/Block;)V=|p_i1826_1_ +net/minecraft/item/ItemAppleGold=CL_00000037 +net/minecraft/item/ItemAppleGold.(IFZ)V=|p_i45341_1_,p_i45341_2_,p_i45341_3_ +net/minecraft/item/ItemArmor=CL_00001766 +net/minecraft/item/ItemArmor$1=CL_00001767 +net/minecraft/item/ItemArmor$ArmorMaterial=CL_00001768 +net/minecraft/item/ItemArmor$ArmorMaterial.(Ljava/lang/String;ILjava/lang/String;I[II)V=|p_i45789_1_,p_i45789_2_,p_i45789_3_,p_i45789_4_,p_i45789_5_,p_i45789_6_ +net/minecraft/item/ItemArmor.(Lnet/minecraft/item/ItemArmor$ArmorMaterial;II)V=|p_i45325_1_,p_i45325_2_,p_i45325_3_ +net/minecraft/item/ItemArmorStand=CL_00002182 +net/minecraft/item/ItemAxe=CL_00001770 +net/minecraft/item/ItemAxe.(Lnet/minecraft/item/Item$ToolMaterial;)V=|p_i45327_1_ +net/minecraft/item/ItemBanner=CL_00002181 +net/minecraft/item/ItemBed=CL_00001771 +net/minecraft/item/ItemBlock=CL_00001772 +net/minecraft/item/ItemBlock.(Lnet/minecraft/block/Block;)V=|p_i45328_1_ +net/minecraft/item/ItemBoat=CL_00001774 +net/minecraft/item/ItemBook=CL_00001775 +net/minecraft/item/ItemBow=CL_00001777 +net/minecraft/item/ItemBucket=CL_00000000 +net/minecraft/item/ItemBucket.(Lnet/minecraft/block/Block;)V=|p_i45331_1_ +net/minecraft/item/ItemBucketMilk=CL_00000048 +net/minecraft/item/ItemCarrotOnAStick=CL_00000001 +net/minecraft/item/ItemCloth=CL_00000075 +net/minecraft/item/ItemCloth.(Lnet/minecraft/block/Block;)V=|p_i45358_1_ +net/minecraft/item/ItemCoal=CL_00000002 +net/minecraft/item/ItemColored=CL_00000003 +net/minecraft/item/ItemColored.(Lnet/minecraft/block/Block;Z)V=|p_i45332_1_,p_i45332_2_ +net/minecraft/item/ItemDoor=CL_00000020 +net/minecraft/item/ItemDoor.(Lnet/minecraft/block/Block;)V=|p_i45788_1_ +net/minecraft/item/ItemDoublePlant=CL_00000021 +net/minecraft/item/ItemDoublePlant.(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;Lcom/google/common/base/Function;)V=|p_i45787_1_,p_i45787_2_,p_i45787_3_ +net/minecraft/item/ItemDye=CL_00000022 +net/minecraft/item/ItemEditableBook=CL_00000077 +net/minecraft/item/ItemEgg=CL_00000023 +net/minecraft/item/ItemEmptyMap=CL_00000024 +net/minecraft/item/ItemEnchantedBook=CL_00000025 +net/minecraft/item/ItemEnderEye=CL_00000026 +net/minecraft/item/ItemEnderPearl=CL_00000027 +net/minecraft/item/ItemExpBottle=CL_00000028 +net/minecraft/item/ItemFireball=CL_00000029 +net/minecraft/item/ItemFirework=CL_00000031 +net/minecraft/item/ItemFireworkCharge=CL_00000030 +net/minecraft/item/ItemFishFood=CL_00000032 +net/minecraft/item/ItemFishFood$FishType=CL_00000033 +net/minecraft/item/ItemFishFood$FishType.(Ljava/lang/String;IILjava/lang/String;IF)V=|p_i45337_1_,p_i45337_2_,p_i45337_3_,p_i45337_4_,p_i45337_5_,p_i45337_6_ +net/minecraft/item/ItemFishFood$FishType.(Ljava/lang/String;IILjava/lang/String;IFIF)V=|p_i45336_1_,p_i45336_2_,p_i45336_3_,p_i45336_4_,p_i45336_5_,p_i45336_6_,p_i45336_7_,p_i45336_8_ +net/minecraft/item/ItemFishFood.(Z)V=|p_i45338_1_ +net/minecraft/item/ItemFishingRod=CL_00000034 +net/minecraft/item/ItemFlintAndSteel=CL_00000035 +net/minecraft/item/ItemFood=CL_00000036 +net/minecraft/item/ItemFood.(IFZ)V=|p_i45339_1_,p_i45339_2_,p_i45339_3_ +net/minecraft/item/ItemFood.(IZ)V=|p_i45340_1_,p_i45340_2_ +net/minecraft/item/ItemGlassBottle=CL_00001776 +net/minecraft/item/ItemHangingEntity=CL_00000038 +net/minecraft/item/ItemHangingEntity.(Ljava/lang/Class;)V=|p_i45342_1_ +net/minecraft/item/ItemHoe=CL_00000039 +net/minecraft/item/ItemHoe$SwitchDirtType=CL_00002179 +net/minecraft/item/ItemHoe.(Lnet/minecraft/item/Item$ToolMaterial;)V=|p_i45343_1_ +net/minecraft/item/ItemLead=CL_00000045 +net/minecraft/item/ItemLeaves=CL_00000046 +net/minecraft/item/ItemLeaves.(Lnet/minecraft/block/BlockLeaves;)V=|p_i45344_1_ +net/minecraft/item/ItemLilyPad=CL_00000074 +net/minecraft/item/ItemLilyPad.(Lnet/minecraft/block/Block;)V=|p_i45357_1_ +net/minecraft/item/ItemMap=CL_00000047 +net/minecraft/item/ItemMapBase=CL_00000004 +net/minecraft/item/ItemMinecart=CL_00000049 +net/minecraft/item/ItemMinecart$1=CL_00000050 +net/minecraft/item/ItemMinecart.(Lnet/minecraft/entity/item/EntityMinecart$EnumMinecartType;)V=|p_i45785_1_ +net/minecraft/item/ItemMonsterPlacer=CL_00000070 +net/minecraft/item/ItemMultiTexture=CL_00000051 +net/minecraft/item/ItemMultiTexture$1=CL_00002161 +net/minecraft/item/ItemMultiTexture$1.([Ljava/lang/String;)V=|p_i45783_1_ +net/minecraft/item/ItemMultiTexture.(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;Lcom/google/common/base/Function;)V=|p_i45784_1_,p_i45784_2_,p_i45784_3_ +net/minecraft/item/ItemMultiTexture.(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;[Ljava/lang/String;)V=|p_i45346_1_,p_i45346_2_,p_i45346_3_ +net/minecraft/item/ItemNameTag=CL_00000052 +net/minecraft/item/ItemPickaxe=CL_00000053 +net/minecraft/item/ItemPickaxe.(Lnet/minecraft/item/Item$ToolMaterial;)V=|p_i45347_1_ +net/minecraft/item/ItemPiston=CL_00000054 +net/minecraft/item/ItemPiston.(Lnet/minecraft/block/Block;)V=|p_i45348_1_ +net/minecraft/item/ItemPotion=CL_00000055 +net/minecraft/item/ItemRecord=CL_00000057 +net/minecraft/item/ItemRecord.(Ljava/lang/String;)V=|p_i45350_1_ +net/minecraft/item/ItemRedstone=CL_00000058 +net/minecraft/item/ItemReed=CL_00001773 +net/minecraft/item/ItemReed.(Lnet/minecraft/block/Block;)V=|p_i45329_1_ +net/minecraft/item/ItemSaddle=CL_00000059 +net/minecraft/item/ItemSeedFood=CL_00000060 +net/minecraft/item/ItemSeedFood.(IFLnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V=|p_i45351_1_,p_i45351_2_,p_i45351_3_,p_i45351_4_ +net/minecraft/item/ItemSeeds=CL_00000061 +net/minecraft/item/ItemSeeds.(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V=|p_i45352_1_,p_i45352_2_ +net/minecraft/item/ItemShears=CL_00000062 +net/minecraft/item/ItemSign=CL_00000064 +net/minecraft/item/ItemSimpleFoiled=CL_00000065 +net/minecraft/item/ItemSkull=CL_00000067 +net/minecraft/item/ItemSlab=CL_00000071 +net/minecraft/item/ItemSlab.(Lnet/minecraft/block/Block;Lnet/minecraft/block/BlockSlab;Lnet/minecraft/block/BlockSlab;)V=|p_i45782_1_,p_i45782_2_,p_i45782_3_ +net/minecraft/item/ItemSnow=CL_00000068 +net/minecraft/item/ItemSnow.(Lnet/minecraft/block/Block;)V=|p_i45781_1_ +net/minecraft/item/ItemSnowball=CL_00000069 +net/minecraft/item/ItemSoup=CL_00001778 +net/minecraft/item/ItemSoup.(I)V=|p_i45330_1_ +net/minecraft/item/ItemSpade=CL_00000063 +net/minecraft/item/ItemSpade.(Lnet/minecraft/item/Item$ToolMaterial;)V=|p_i45353_1_ +net/minecraft/item/ItemStack=CL_00000043 +net/minecraft/item/ItemStack.(Lnet/minecraft/block/Block;)V=|p_i1876_1_ +net/minecraft/item/ItemStack.(Lnet/minecraft/block/Block;I)V=|p_i1877_1_,p_i1877_2_ +net/minecraft/item/ItemStack.(Lnet/minecraft/block/Block;II)V=|p_i1878_1_,p_i1878_2_,p_i1878_3_ +net/minecraft/item/ItemStack.(Lnet/minecraft/item/Item;)V=|p_i1879_1_ +net/minecraft/item/ItemStack.(Lnet/minecraft/item/Item;I)V=|p_i1880_1_,p_i1880_2_ +net/minecraft/item/ItemStack.(Lnet/minecraft/item/Item;II)V=|p_i1881_1_,p_i1881_2_,p_i1881_3_ +net/minecraft/item/ItemSword=CL_00000072 +net/minecraft/item/ItemSword.(Lnet/minecraft/item/Item$ToolMaterial;)V=|p_i45356_1_ +net/minecraft/item/ItemTool=CL_00000019 +net/minecraft/item/ItemTool.(FLnet/minecraft/item/Item$ToolMaterial;Ljava/util/Set;)V=|p_i45333_1_,p_i45333_2_,p_i45333_3_ +net/minecraft/item/ItemWritableBook=CL_00000076 +net/minecraft/item/crafting/CraftingManager=CL_00000090 +net/minecraft/item/crafting/CraftingManager$1=CL_00000091 +net/minecraft/item/crafting/CraftingManager$1.(Lnet/minecraft/item/crafting/CraftingManager;)V=|p_i1916_1_ +net/minecraft/item/crafting/FurnaceRecipes=CL_00000085 +net/minecraft/item/crafting/RecipeBookCloning=CL_00000081 +net/minecraft/item/crafting/RecipeFireworks=CL_00000083 +net/minecraft/item/crafting/RecipeRepairItem=CL_00002156 +net/minecraft/item/crafting/RecipesArmor=CL_00000080 +net/minecraft/item/crafting/RecipesArmorDyes=CL_00000079 +net/minecraft/item/crafting/RecipesBanners=CL_00002160 +net/minecraft/item/crafting/RecipesBanners$1=CL_00002159 +net/minecraft/item/crafting/RecipesBanners$RecipeAddPattern=CL_00002158 +net/minecraft/item/crafting/RecipesBanners$RecipeAddPattern.(Lnet/minecraft/item/crafting/RecipesBanners$1;)V=|p_i45780_1_ +net/minecraft/item/crafting/RecipesBanners$RecipeDuplicatePattern=CL_00002157 +net/minecraft/item/crafting/RecipesBanners$RecipeDuplicatePattern.(Lnet/minecraft/item/crafting/RecipesBanners$1;)V=|p_i45779_1_ +net/minecraft/item/crafting/RecipesCrafting=CL_00000095 +net/minecraft/item/crafting/RecipesDyes=CL_00000082 +net/minecraft/item/crafting/RecipesFood=CL_00000084 +net/minecraft/item/crafting/RecipesIngots=CL_00000089 +net/minecraft/item/crafting/RecipesMapCloning=CL_00000087 +net/minecraft/item/crafting/RecipesMapExtending=CL_00000088 +net/minecraft/item/crafting/RecipesTools=CL_00000096 +net/minecraft/item/crafting/RecipesWeapons=CL_00000097 +net/minecraft/item/crafting/ShapedRecipes=CL_00000093 +net/minecraft/item/crafting/ShapedRecipes.(II[Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)V=|p_i1917_1_,p_i1917_2_,p_i1917_3_,p_i1917_4_ +net/minecraft/item/crafting/ShapelessRecipes=CL_00000094 +net/minecraft/item/crafting/ShapelessRecipes.(Lnet/minecraft/item/ItemStack;Ljava/util/List;)V=|p_i1918_1_,p_i1918_2_ +net/minecraft/nbt/CompressedStreamTools=CL_00001226 +net/minecraft/nbt/CompressedStreamTools.func_150663_a(Lnet/minecraft/nbt/NBTBase;Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/CompressedStreamTools.func_152455_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)Lnet/minecraft/nbt/NBTBase;=java/io/IOException| +net/minecraft/nbt/CompressedStreamTools.func_152456_a(Ljava/io/DataInput;Lnet/minecraft/nbt/NBTSizeTracker;)Lnet/minecraft/nbt/NBTTagCompound;=java/io/IOException| +net/minecraft/nbt/CompressedStreamTools.func_74793_a(Lnet/minecraft/nbt/NBTTagCompound;Ljava/io/File;)V=java/io/IOException| +net/minecraft/nbt/CompressedStreamTools.func_74794_a(Ljava/io/DataInputStream;)Lnet/minecraft/nbt/NBTTagCompound;=java/io/IOException| +net/minecraft/nbt/CompressedStreamTools.func_74795_b(Lnet/minecraft/nbt/NBTTagCompound;Ljava/io/File;)V=java/io/IOException| +net/minecraft/nbt/CompressedStreamTools.func_74796_a(Ljava/io/InputStream;)Lnet/minecraft/nbt/NBTTagCompound;=java/io/IOException| +net/minecraft/nbt/CompressedStreamTools.func_74797_a(Ljava/io/File;)Lnet/minecraft/nbt/NBTTagCompound;=java/io/IOException| +net/minecraft/nbt/CompressedStreamTools.func_74799_a(Lnet/minecraft/nbt/NBTTagCompound;Ljava/io/OutputStream;)V=java/io/IOException| +net/minecraft/nbt/CompressedStreamTools.func_74800_a(Lnet/minecraft/nbt/NBTTagCompound;Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/JsonToNBT=CL_00001232 +net/minecraft/nbt/JsonToNBT$Any=CL_00001233 +net/minecraft/nbt/JsonToNBT$Compound=CL_00001234 +net/minecraft/nbt/JsonToNBT$Compound.(Ljava/lang/String;)V=|p_i45137_1_ +net/minecraft/nbt/JsonToNBT$List=CL_00001235 +net/minecraft/nbt/JsonToNBT$List.(Ljava/lang/String;)V=|p_i45138_1_ +net/minecraft/nbt/JsonToNBT$Primitive=CL_00001236 +net/minecraft/nbt/JsonToNBT$Primitive.(Ljava/lang/String;Ljava/lang/String;)V=|p_i45139_1_,p_i45139_2_ +net/minecraft/nbt/JsonToNBT.func_150310_b(Ljava/lang/String;)I=net/minecraft/nbt/NBTException| +net/minecraft/nbt/JsonToNBT.func_150311_c(Ljava/lang/String;Z)Ljava/lang/String;=net/minecraft/nbt/NBTException| +net/minecraft/nbt/JsonToNBT.func_150313_b(Ljava/lang/String;Z)Ljava/lang/String;=net/minecraft/nbt/NBTException| +net/minecraft/nbt/JsonToNBT.func_150314_a(Ljava/lang/String;Z)Ljava/lang/String;=net/minecraft/nbt/NBTException| +net/minecraft/nbt/JsonToNBT.func_150316_a(Ljava/lang/String;Ljava/lang/String;)Lnet/minecraft/nbt/JsonToNBT$Any;=net/minecraft/nbt/NBTException| +net/minecraft/nbt/JsonToNBT.func_179269_a(Ljava/lang/String;I)Ljava/lang/String;=net.minecraft.nbt.NBTException| +net/minecraft/nbt/JsonToNBT.func_179270_a(Ljava/lang/String;Z)Lnet/minecraft/nbt/JsonToNBT$Any;=net.minecraft.nbt.NBTException| +net/minecraft/nbt/JsonToNBT.func_179272_a([Ljava/lang/String;)Lnet/minecraft/nbt/JsonToNBT$Any;=net.minecraft.nbt.NBTException| +net/minecraft/nbt/JsonToNBT.func_180713_a(Ljava/lang/String;)Lnet/minecraft/nbt/NBTTagCompound;=net.minecraft.nbt.NBTException| +net/minecraft/nbt/NBTBase=CL_00001229 +net/minecraft/nbt/NBTBase$NBTPrimitive=CL_00001230 +net/minecraft/nbt/NBTBase.func_152446_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V=java/io/IOException| +net/minecraft/nbt/NBTBase.func_74734_a(Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTException=CL_00001231 +net/minecraft/nbt/NBTException.(Ljava/lang/String;)V=|p_i45136_1_ +net/minecraft/nbt/NBTSizeTracker=CL_00001903 +net/minecraft/nbt/NBTSizeTracker$1=CL_00001902 +net/minecraft/nbt/NBTSizeTracker$1.(J)V=|p_i46341_1_ +net/minecraft/nbt/NBTSizeTracker.(J)V=|p_i46342_1_ +net/minecraft/nbt/NBTTagByte=CL_00001214 +net/minecraft/nbt/NBTTagByte.(B)V=|p_i45129_1_ +net/minecraft/nbt/NBTTagByte.func_152446_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V=java/io/IOException| +net/minecraft/nbt/NBTTagByte.func_74734_a(Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTTagByteArray=CL_00001213 +net/minecraft/nbt/NBTTagByteArray.([B)V=|p_i45128_1_ +net/minecraft/nbt/NBTTagByteArray.func_152446_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V=java/io/IOException| +net/minecraft/nbt/NBTTagByteArray.func_74734_a(Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTTagCompound=CL_00001215 +net/minecraft/nbt/NBTTagCompound$1=CL_00001216 +net/minecraft/nbt/NBTTagCompound$1.(Lnet/minecraft/nbt/NBTTagCompound;Ljava/lang/String;)V=|p_i1373_1_,p_i1373_2_ +net/minecraft/nbt/NBTTagCompound$2=CL_00001217 +net/minecraft/nbt/NBTTagCompound$2.(Lnet/minecraft/nbt/NBTTagCompound;I)V=|p_i1374_1_,p_i1374_2_ +net/minecraft/nbt/NBTTagCompound.func_150298_a(Ljava/lang/String;Lnet/minecraft/nbt/NBTBase;Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTTagCompound.func_152446_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V=java/io/IOException| +net/minecraft/nbt/NBTTagCompound.func_152447_a(Ljava/io/DataInput;Lnet/minecraft/nbt/NBTSizeTracker;)B=java/io/IOException| +net/minecraft/nbt/NBTTagCompound.func_152448_b(Ljava/io/DataInput;Lnet/minecraft/nbt/NBTSizeTracker;)Ljava/lang/String;=java/io/IOException| +net/minecraft/nbt/NBTTagCompound.func_74734_a(Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTTagDouble=CL_00001218 +net/minecraft/nbt/NBTTagDouble.(D)V=|p_i45130_1_ +net/minecraft/nbt/NBTTagDouble.func_152446_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V=java/io/IOException| +net/minecraft/nbt/NBTTagDouble.func_74734_a(Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTTagEnd=CL_00001219 +net/minecraft/nbt/NBTTagEnd.func_152446_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V=java/io/IOException| +net/minecraft/nbt/NBTTagEnd.func_74734_a(Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTTagFloat=CL_00001220 +net/minecraft/nbt/NBTTagFloat.(F)V=|p_i45131_1_ +net/minecraft/nbt/NBTTagFloat.func_152446_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V=java/io/IOException| +net/minecraft/nbt/NBTTagFloat.func_74734_a(Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTTagInt=CL_00001223 +net/minecraft/nbt/NBTTagInt.(I)V=|p_i45133_1_ +net/minecraft/nbt/NBTTagInt.func_152446_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V=java/io/IOException| +net/minecraft/nbt/NBTTagInt.func_74734_a(Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTTagIntArray=CL_00001221 +net/minecraft/nbt/NBTTagIntArray.([I)V=|p_i45132_1_ +net/minecraft/nbt/NBTTagIntArray.func_152446_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V=java/io/IOException| +net/minecraft/nbt/NBTTagIntArray.func_74734_a(Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTTagList=CL_00001224 +net/minecraft/nbt/NBTTagList.func_152446_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V=java/io/IOException| +net/minecraft/nbt/NBTTagList.func_74734_a(Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTTagLong=CL_00001225 +net/minecraft/nbt/NBTTagLong.(J)V=|p_i45134_1_ +net/minecraft/nbt/NBTTagLong.func_152446_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V=java/io/IOException| +net/minecraft/nbt/NBTTagLong.func_74734_a(Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTTagShort=CL_00001227 +net/minecraft/nbt/NBTTagShort.(S)V=|p_i45135_1_ +net/minecraft/nbt/NBTTagShort.func_152446_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V=java/io/IOException| +net/minecraft/nbt/NBTTagShort.func_74734_a(Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTTagString=CL_00001228 +net/minecraft/nbt/NBTTagString.(Ljava/lang/String;)V=|p_i1389_1_ +net/minecraft/nbt/NBTTagString.func_152446_a(Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V=java/io/IOException| +net/minecraft/nbt/NBTTagString.func_74734_a(Ljava/io/DataOutput;)V=java/io/IOException| +net/minecraft/nbt/NBTUtil=CL_00001901 +net/minecraft/network/EnumConnectionState=CL_00001245 +net/minecraft/network/EnumConnectionState$1=CL_00001249 +net/minecraft/network/EnumConnectionState$1.(Ljava/lang/String;II)V=|p_i46337_1_,p_i46337_2_,p_i46337_3_ +net/minecraft/network/EnumConnectionState$2=CL_00001247 +net/minecraft/network/EnumConnectionState$2.(Ljava/lang/String;II)V=|p_i46338_1_,p_i46338_2_,p_i46338_3_ +net/minecraft/network/EnumConnectionState$3=CL_00001246 +net/minecraft/network/EnumConnectionState$3.(Ljava/lang/String;II)V=|p_i46340_1_,p_i46340_2_,p_i46340_3_ +net/minecraft/network/EnumConnectionState$4=CL_00001250 +net/minecraft/network/EnumConnectionState$4.(Ljava/lang/String;II)V=|p_i46339_1_,p_i46339_2_,p_i46339_3_ +net/minecraft/network/EnumConnectionState.(Ljava/lang/String;II)V=|p_i45152_1_,p_i45152_2_,p_i45152_3_ +net/minecraft/network/EnumConnectionState.(Ljava/lang/String;IILnet/minecraft/network/EnumConnectionState$3;)V=|p_i46000_1_,p_i46000_2_,p_i46000_3_,p_i46000_4_ +net/minecraft/network/EnumConnectionState.func_179244_a(Lnet/minecraft/network/EnumPacketDirection;I)Lnet/minecraft/network/Packet;=java.lang.InstantiationException,java.lang.IllegalAccessException| +net/minecraft/network/EnumPacketDirection=CL_00002307 +net/minecraft/network/EnumPacketDirection.(Ljava/lang/String;I)V=|p_i45995_1_,p_i45995_2_ +net/minecraft/network/NetHandlerPlayServer=CL_00001452 +net/minecraft/network/NetHandlerPlayServer$1=CL_00001453 +net/minecraft/network/NetHandlerPlayServer$1.(Lnet/minecraft/network/NetHandlerPlayServer;Lnet/minecraft/util/ChatComponentText;)V=|p_i45293_1_,p_i45293_2_ +net/minecraft/network/NetHandlerPlayServer$2=CL_00001454 +net/minecraft/network/NetHandlerPlayServer$2.(Lnet/minecraft/network/NetHandlerPlayServer;)V=|p_i45915_1_ +net/minecraft/network/NetHandlerPlayServer$3=CL_00002270 +net/minecraft/network/NetHandlerPlayServer$3.(Lnet/minecraft/network/NetHandlerPlayServer;Lnet/minecraft/network/Packet;)V=|p_i45914_1_,p_i45914_2_ +net/minecraft/network/NetHandlerPlayServer$SwitchAction=CL_00002269 +net/minecraft/network/NetHandlerPlayServer.(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/network/NetworkManager;Lnet/minecraft/entity/player/EntityPlayerMP;)V=|p_i1530_1_,p_i1530_2_,p_i1530_3_ +net/minecraft/network/NettyCompressionDecoder=CL_00002314 +net/minecraft/network/NettyCompressionDecoder.(I)V=|p_i46006_1_ +net/minecraft/network/NettyCompressionDecoder.decode(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V=java.util.zip.DataFormatException| +net/minecraft/network/NettyCompressionEncoder=CL_00002313 +net/minecraft/network/NettyCompressionEncoder.(I)V=|p_i46005_1_ +net/minecraft/network/NettyEncryptingDecoder=CL_00001238 +net/minecraft/network/NettyEncryptingDecoder.(Ljavax/crypto/Cipher;)V=|p_i45141_1_ +net/minecraft/network/NettyEncryptingDecoder.decode(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V=javax/crypto/ShortBufferException| +net/minecraft/network/NettyEncryptingDecoder.decode(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V=javax/crypto/ShortBufferException| +net/minecraft/network/NettyEncryptingEncoder=CL_00001239 +net/minecraft/network/NettyEncryptingEncoder.(Ljavax/crypto/Cipher;)V=|p_i45142_1_ +net/minecraft/network/NettyEncryptingEncoder.encode(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)V=javax/crypto/ShortBufferException| +net/minecraft/network/NettyEncryptingEncoder.encode(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)V=javax/crypto/ShortBufferException| +net/minecraft/network/NettyEncryptionTranslator=CL_00001237 +net/minecraft/network/NettyEncryptionTranslator.(Ljavax/crypto/Cipher;)V=|p_i45140_1_ +net/minecraft/network/NettyEncryptionTranslator.func_150503_a(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;=javax/crypto/ShortBufferException| +net/minecraft/network/NettyEncryptionTranslator.func_150504_a(Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)V=javax/crypto/ShortBufferException| +net/minecraft/network/NetworkManager=CL_00001240 +net/minecraft/network/NetworkManager$1=CL_00001241 +net/minecraft/network/NetworkManager$2=CL_00001242 +net/minecraft/network/NetworkManager$3=CL_00001243 +net/minecraft/network/NetworkManager$3.(Lnet/minecraft/network/NetworkManager;Lnet/minecraft/network/EnumConnectionState;Lnet/minecraft/network/EnumConnectionState;Lnet/minecraft/network/Packet;[Lio/netty/util/concurrent/GenericFutureListener;)V=|p_i46003_1_,p_i46003_2_,p_i46003_3_,p_i46003_4_,p_i46003_5_ +net/minecraft/network/NetworkManager$4=CL_00002312 +net/minecraft/network/NetworkManager$4.(Lnet/minecraft/network/NetworkManager;)V=|p_i46002_1_ +net/minecraft/network/NetworkManager$5=CL_00002311 +net/minecraft/network/NetworkManager$5.(Lnet/minecraft/network/NetworkManager;)V=|p_i46001_1_ +net/minecraft/network/NetworkManager$InboundHandlerTuplePacketListener=CL_00001244 +net/minecraft/network/NetworkManager$InboundHandlerTuplePacketListener.(Lnet/minecraft/network/Packet;[Lio/netty/util/concurrent/GenericFutureListener;)V=|p_i45146_1_,p_i45146_2_ +net/minecraft/network/NetworkManager.(Lnet/minecraft/network/EnumPacketDirection;)V=|p_i46004_1_ +net/minecraft/network/NetworkManager.channelActive(Lio/netty/channel/ChannelHandlerContext;)V=java/lang/Exception| +net/minecraft/network/NetworkSystem=CL_00001447 +net/minecraft/network/NetworkSystem$1=CL_00001448 +net/minecraft/network/NetworkSystem$2=CL_00001449 +net/minecraft/network/NetworkSystem$3=CL_00001450 +net/minecraft/network/NetworkSystem$3.(Lnet/minecraft/network/NetworkSystem;)V=|p_i45919_1_ +net/minecraft/network/NetworkSystem$4=CL_00001451 +net/minecraft/network/NetworkSystem$4.(Lnet/minecraft/network/NetworkSystem;)V=|p_i45918_1_ +net/minecraft/network/NetworkSystem$5=CL_00002272 +net/minecraft/network/NetworkSystem$5.(Lnet/minecraft/network/NetworkSystem;Lnet/minecraft/network/NetworkManager;)V=|p_i45917_1_,p_i45917_2_ +net/minecraft/network/NetworkSystem$6=CL_00002271 +net/minecraft/network/NetworkSystem$6.(Lnet/minecraft/network/NetworkSystem;Lnet/minecraft/network/NetworkManager;Lnet/minecraft/util/ChatComponentText;)V=|p_i45916_1_,p_i45916_2_,p_i45916_3_ +net/minecraft/network/NetworkSystem.(Lnet/minecraft/server/MinecraftServer;)V=|p_i45292_1_ +net/minecraft/network/NetworkSystem.func_151265_a(Ljava/net/InetAddress;I)V=java/io/IOException| +net/minecraft/network/Packet.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/Packet.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/PacketBuffer=CL_00001251 +net/minecraft/network/PacketBuffer.(Lio/netty/buffer/ByteBuf;)V=|p_i45154_1_ +net/minecraft/network/PacketBuffer.func_150791_c()Lnet/minecraft/item/ItemStack;=java/io/IOException| +net/minecraft/network/PacketBuffer.func_150793_b()Lnet/minecraft/nbt/NBTTagCompound;=java/io/IOException| +net/minecraft/network/PacketBuffer.getBytes(ILjava/io/OutputStream;I)Lio/netty/buffer/ByteBuf;=java/io/IOException| +net/minecraft/network/PacketBuffer.getBytes(ILjava/nio/channels/GatheringByteChannel;I)I=java/io/IOException| +net/minecraft/network/PacketBuffer.readBytes(Ljava/io/OutputStream;I)Lio/netty/buffer/ByteBuf;=java/io/IOException| +net/minecraft/network/PacketBuffer.readBytes(Ljava/nio/channels/GatheringByteChannel;I)I=java/io/IOException| +net/minecraft/network/PacketBuffer.setBytes(ILjava/io/InputStream;I)I=java/io/IOException| +net/minecraft/network/PacketBuffer.setBytes(ILjava/nio/channels/ScatteringByteChannel;I)I=java/io/IOException| +net/minecraft/network/PacketBuffer.writeBytes(Ljava/io/InputStream;I)I=java/io/IOException| +net/minecraft/network/PacketBuffer.writeBytes(Ljava/nio/channels/ScatteringByteChannel;I)I=java/io/IOException| +net/minecraft/network/PacketThreadUtil=CL_00002306 +net/minecraft/network/PacketThreadUtil$1=CL_00002305 +net/minecraft/network/PacketThreadUtil$1.(Lnet/minecraft/network/Packet;Lnet/minecraft/network/INetHandler;)V=|p_i45994_1_,p_i45994_2_ +net/minecraft/network/PingResponseHandler=CL_00001444 +net/minecraft/network/PingResponseHandler.(Lnet/minecraft/network/NetworkSystem;)V=|p_i45286_1_ +net/minecraft/network/ServerStatusResponse=CL_00001385 +net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier=CL_00001389 +net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier$Serializer=CL_00001390 +net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier.(Ljava/lang/String;I)V=|p_i45275_1_,p_i45275_2_ +net/minecraft/network/ServerStatusResponse$PlayerCountData=CL_00001386 +net/minecraft/network/ServerStatusResponse$PlayerCountData$Serializer=CL_00001387 +net/minecraft/network/ServerStatusResponse$PlayerCountData.(II)V=|p_i45274_1_,p_i45274_2_ +net/minecraft/network/ServerStatusResponse$Serializer=CL_00001388 +net/minecraft/network/ThreadQuickExitException=CL_00002274 +net/minecraft/network/handshake/client/C00Handshake=CL_00001372 +net/minecraft/network/handshake/client/C00Handshake.(ILjava/lang/String;ILnet/minecraft/network/EnumConnectionState;)V=|p_i45266_1_,p_i45266_2_,p_i45266_3_,p_i45266_4_ +net/minecraft/network/handshake/client/C00Handshake.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/handshake/client/C00Handshake.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/login/client/C00PacketLoginStart=CL_00001379 +net/minecraft/network/login/client/C00PacketLoginStart.(Lcom/mojang/authlib/GameProfile;)V=|p_i45270_1_ +net/minecraft/network/login/client/C00PacketLoginStart.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/login/client/C00PacketLoginStart.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/login/client/C01PacketEncryptionResponse=CL_00001380 +net/minecraft/network/login/client/C01PacketEncryptionResponse.(Ljavax/crypto/SecretKey;Ljava/security/PublicKey;[B)V=|p_i45271_1_,p_i45271_2_,p_i45271_3_ +net/minecraft/network/login/client/C01PacketEncryptionResponse.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/login/client/C01PacketEncryptionResponse.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/login/server/S00PacketDisconnect=CL_00001377 +net/minecraft/network/login/server/S00PacketDisconnect.(Lnet/minecraft/util/IChatComponent;)V=|p_i45269_1_ +net/minecraft/network/login/server/S00PacketDisconnect.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/login/server/S00PacketDisconnect.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/login/server/S01PacketEncryptionRequest=CL_00001376 +net/minecraft/network/login/server/S01PacketEncryptionRequest.(Ljava/lang/String;Ljava/security/PublicKey;[B)V=|p_i45268_1_,p_i45268_2_,p_i45268_3_ +net/minecraft/network/login/server/S01PacketEncryptionRequest.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/login/server/S01PacketEncryptionRequest.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/login/server/S02PacketLoginSuccess=CL_00001375 +net/minecraft/network/login/server/S02PacketLoginSuccess.(Lcom/mojang/authlib/GameProfile;)V=|p_i45267_1_ +net/minecraft/network/login/server/S02PacketLoginSuccess.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/login/server/S02PacketLoginSuccess.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/login/server/S03PacketEnableCompression=CL_00002279 +net/minecraft/network/login/server/S03PacketEnableCompression.(I)V=|p_i45929_1_ +net/minecraft/network/login/server/S03PacketEnableCompression.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/login/server/S03PacketEnableCompression.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C00PacketKeepAlive=CL_00001359 +net/minecraft/network/play/client/C00PacketKeepAlive.(I)V=|p_i45252_1_ +net/minecraft/network/play/client/C00PacketKeepAlive.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C00PacketKeepAlive.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C01PacketChatMessage=CL_00001347 +net/minecraft/network/play/client/C01PacketChatMessage.(Ljava/lang/String;)V=|p_i45240_1_ +net/minecraft/network/play/client/C01PacketChatMessage.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C01PacketChatMessage.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C02PacketUseEntity=CL_00001357 +net/minecraft/network/play/client/C02PacketUseEntity$Action=CL_00001358 +net/minecraft/network/play/client/C02PacketUseEntity$Action.(Ljava/lang/String;I)V=|p_i45943_1_,p_i45943_2_ +net/minecraft/network/play/client/C02PacketUseEntity.(Lnet/minecraft/entity/Entity;Lnet/minecraft/network/play/client/C02PacketUseEntity$Action;)V=|p_i45251_1_,p_i45251_2_ +net/minecraft/network/play/client/C02PacketUseEntity.(Lnet/minecraft/entity/Entity;Lnet/minecraft/util/Vec3;)V=|p_i45944_1_,p_i45944_2_ +net/minecraft/network/play/client/C02PacketUseEntity.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C02PacketUseEntity.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C03PacketPlayer=CL_00001360 +net/minecraft/network/play/client/C03PacketPlayer$C04PacketPlayerPosition=CL_00001361 +net/minecraft/network/play/client/C03PacketPlayer$C04PacketPlayerPosition.(DDDZ)V=|p_i45942_1_,p_i45942_3_,p_i45942_5_,p_i45942_7_ +net/minecraft/network/play/client/C03PacketPlayer$C04PacketPlayerPosition.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C03PacketPlayer$C04PacketPlayerPosition.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C03PacketPlayer$C05PacketPlayerLook=CL_00001363 +net/minecraft/network/play/client/C03PacketPlayer$C05PacketPlayerLook.(FFZ)V=|p_i45255_1_,p_i45255_2_,p_i45255_3_ +net/minecraft/network/play/client/C03PacketPlayer$C05PacketPlayerLook.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C03PacketPlayer$C05PacketPlayerLook.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C03PacketPlayer$C06PacketPlayerPosLook=CL_00001362 +net/minecraft/network/play/client/C03PacketPlayer$C06PacketPlayerPosLook.(DDDFFZ)V=|p_i45941_1_,p_i45941_3_,p_i45941_5_,p_i45941_7_,p_i45941_8_,p_i45941_9_ +net/minecraft/network/play/client/C03PacketPlayer$C06PacketPlayerPosLook.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C03PacketPlayer$C06PacketPlayerPosLook.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C03PacketPlayer.(Z)V=|p_i45256_1_ +net/minecraft/network/play/client/C03PacketPlayer.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C03PacketPlayer.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C07PacketPlayerDigging=CL_00001365 +net/minecraft/network/play/client/C07PacketPlayerDigging$Action=CL_00002284 +net/minecraft/network/play/client/C07PacketPlayerDigging$Action.(Ljava/lang/String;I)V=|p_i45939_1_,p_i45939_2_ +net/minecraft/network/play/client/C07PacketPlayerDigging.(Lnet/minecraft/network/play/client/C07PacketPlayerDigging$Action;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)V=|p_i45940_1_,p_i45940_2_,p_i45940_3_ +net/minecraft/network/play/client/C07PacketPlayerDigging.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C07PacketPlayerDigging.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C08PacketPlayerBlockPlacement=CL_00001371 +net/minecraft/network/play/client/C08PacketPlayerBlockPlacement.(Lnet/minecraft/item/ItemStack;)V=|p_i45930_1_ +net/minecraft/network/play/client/C08PacketPlayerBlockPlacement.(Lnet/minecraft/util/BlockPos;ILnet/minecraft/item/ItemStack;FFF)V=|p_i45931_1_,p_i45931_2_,p_i45931_3_,p_i45931_4_,p_i45931_5_,p_i45931_6_ +net/minecraft/network/play/client/C08PacketPlayerBlockPlacement.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C08PacketPlayerBlockPlacement.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C09PacketHeldItemChange=CL_00001368 +net/minecraft/network/play/client/C09PacketHeldItemChange.(I)V=|p_i45262_1_ +net/minecraft/network/play/client/C09PacketHeldItemChange.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C09PacketHeldItemChange.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C0APacketAnimation=CL_00001345 +net/minecraft/network/play/client/C0APacketAnimation.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C0APacketAnimation.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C0BPacketEntityAction=CL_00001366 +net/minecraft/network/play/client/C0BPacketEntityAction$Action=CL_00002283 +net/minecraft/network/play/client/C0BPacketEntityAction$Action.(Ljava/lang/String;I)V=|p_i45936_1_,p_i45936_2_ +net/minecraft/network/play/client/C0BPacketEntityAction.(Lnet/minecraft/entity/Entity;Lnet/minecraft/network/play/client/C0BPacketEntityAction$Action;)V=|p_i45937_1_,p_i45937_2_ +net/minecraft/network/play/client/C0BPacketEntityAction.(Lnet/minecraft/entity/Entity;Lnet/minecraft/network/play/client/C0BPacketEntityAction$Action;I)V=|p_i45938_1_,p_i45938_2_,p_i45938_3_ +net/minecraft/network/play/client/C0BPacketEntityAction.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C0BPacketEntityAction.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C0CPacketInput=CL_00001367 +net/minecraft/network/play/client/C0CPacketInput.(FFZZ)V=|p_i45261_1_,p_i45261_2_,p_i45261_3_,p_i45261_4_ +net/minecraft/network/play/client/C0CPacketInput.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C0CPacketInput.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C0DPacketCloseWindow=CL_00001354 +net/minecraft/network/play/client/C0DPacketCloseWindow.(I)V=|p_i45247_1_ +net/minecraft/network/play/client/C0DPacketCloseWindow.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C0DPacketCloseWindow.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C0EPacketClickWindow=CL_00001353 +net/minecraft/network/play/client/C0EPacketClickWindow.(IIIILnet/minecraft/item/ItemStack;S)V=|p_i45246_1_,p_i45246_2_,p_i45246_3_,p_i45246_4_,p_i45246_5_,p_i45246_6_ +net/minecraft/network/play/client/C0EPacketClickWindow.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C0EPacketClickWindow.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C0FPacketConfirmTransaction=CL_00001351 +net/minecraft/network/play/client/C0FPacketConfirmTransaction.(ISZ)V=|p_i45244_1_,p_i45244_2_,p_i45244_3_ +net/minecraft/network/play/client/C0FPacketConfirmTransaction.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C0FPacketConfirmTransaction.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C10PacketCreativeInventoryAction=CL_00001369 +net/minecraft/network/play/client/C10PacketCreativeInventoryAction.(ILnet/minecraft/item/ItemStack;)V=|p_i45263_1_,p_i45263_2_ +net/minecraft/network/play/client/C10PacketCreativeInventoryAction.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C10PacketCreativeInventoryAction.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C11PacketEnchantItem=CL_00001352 +net/minecraft/network/play/client/C11PacketEnchantItem.(II)V=|p_i45245_1_,p_i45245_2_ +net/minecraft/network/play/client/C11PacketEnchantItem.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C11PacketEnchantItem.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C12PacketUpdateSign=CL_00001370 +net/minecraft/network/play/client/C12PacketUpdateSign.(Lnet/minecraft/util/BlockPos;[Lnet/minecraft/util/IChatComponent;)V=|p_i45933_1_,p_i45933_2_ +net/minecraft/network/play/client/C12PacketUpdateSign.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C12PacketUpdateSign.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C13PacketPlayerAbilities=CL_00001364 +net/minecraft/network/play/client/C13PacketPlayerAbilities.(Lnet/minecraft/entity/player/PlayerCapabilities;)V=|p_i45257_1_ +net/minecraft/network/play/client/C13PacketPlayerAbilities.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C13PacketPlayerAbilities.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C14PacketTabComplete=CL_00001346 +net/minecraft/network/play/client/C14PacketTabComplete.(Ljava/lang/String;)V=|p_i45239_1_ +net/minecraft/network/play/client/C14PacketTabComplete.(Ljava/lang/String;Lnet/minecraft/util/BlockPos;)V=|p_i45948_1_,p_i45948_2_ +net/minecraft/network/play/client/C14PacketTabComplete.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C14PacketTabComplete.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C15PacketClientSettings=CL_00001350 +net/minecraft/network/play/client/C15PacketClientSettings.(Ljava/lang/String;ILnet/minecraft/entity/player/EntityPlayer$EnumChatVisibility;ZI)V=|p_i45946_1_,p_i45946_2_,p_i45946_3_,p_i45946_4_,p_i45946_5_ +net/minecraft/network/play/client/C15PacketClientSettings.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C15PacketClientSettings.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C16PacketClientStatus=CL_00001348 +net/minecraft/network/play/client/C16PacketClientStatus$EnumState=CL_00001349 +net/minecraft/network/play/client/C16PacketClientStatus$EnumState.(Ljava/lang/String;I)V=|p_i45947_1_,p_i45947_2_ +net/minecraft/network/play/client/C16PacketClientStatus.(Lnet/minecraft/network/play/client/C16PacketClientStatus$EnumState;)V=|p_i45242_1_ +net/minecraft/network/play/client/C16PacketClientStatus.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C16PacketClientStatus.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C17PacketCustomPayload=CL_00001356 +net/minecraft/network/play/client/C17PacketCustomPayload.(Ljava/lang/String;Lnet/minecraft/network/PacketBuffer;)V=|p_i45945_1_,p_i45945_2_ +net/minecraft/network/play/client/C17PacketCustomPayload.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C17PacketCustomPayload.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C18PacketSpectate=CL_00002280 +net/minecraft/network/play/client/C18PacketSpectate.(Ljava/util/UUID;)V=|p_i45932_1_ +net/minecraft/network/play/client/C18PacketSpectate.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C18PacketSpectate.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C19PacketResourcePackStatus=CL_00002282 +net/minecraft/network/play/client/C19PacketResourcePackStatus$Action=CL_00002281 +net/minecraft/network/play/client/C19PacketResourcePackStatus$Action.(Ljava/lang/String;I)V=|p_i45934_1_,p_i45934_2_ +net/minecraft/network/play/client/C19PacketResourcePackStatus.(Ljava/lang/String;Lnet/minecraft/network/play/client/C19PacketResourcePackStatus$Action;)V=|p_i45935_1_,p_i45935_2_ +net/minecraft/network/play/client/C19PacketResourcePackStatus.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/client/C19PacketResourcePackStatus.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S00PacketKeepAlive=CL_00001303 +net/minecraft/network/play/server/S00PacketKeepAlive.(I)V=|p_i45195_1_ +net/minecraft/network/play/server/S00PacketKeepAlive.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S00PacketKeepAlive.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S01PacketJoinGame=CL_00001310 +net/minecraft/network/play/server/S01PacketJoinGame.(ILnet/minecraft/world/WorldSettings$GameType;ZILnet/minecraft/world/EnumDifficulty;ILnet/minecraft/world/WorldType;Z)V=|p_i45976_1_,p_i45976_2_,p_i45976_3_,p_i45976_4_,p_i45976_5_,p_i45976_6_,p_i45976_7_,p_i45976_8_ +net/minecraft/network/play/server/S01PacketJoinGame.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S01PacketJoinGame.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S02PacketChat=CL_00001289 +net/minecraft/network/play/server/S02PacketChat.(Lnet/minecraft/util/IChatComponent;)V=|p_i45179_1_ +net/minecraft/network/play/server/S02PacketChat.(Lnet/minecraft/util/IChatComponent;B)V=|p_i45986_1_,p_i45986_2_ +net/minecraft/network/play/server/S02PacketChat.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S02PacketChat.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S03PacketTimeUpdate=CL_00001337 +net/minecraft/network/play/server/S03PacketTimeUpdate.(JJZ)V=|p_i45230_1_,p_i45230_3_,p_i45230_5_ +net/minecraft/network/play/server/S03PacketTimeUpdate.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S03PacketTimeUpdate.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S04PacketEntityEquipment=CL_00001330 +net/minecraft/network/play/server/S04PacketEntityEquipment.(IILnet/minecraft/item/ItemStack;)V=|p_i45221_1_,p_i45221_2_,p_i45221_3_ +net/minecraft/network/play/server/S04PacketEntityEquipment.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S04PacketEntityEquipment.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S05PacketSpawnPosition=CL_00001336 +net/minecraft/network/play/server/S05PacketSpawnPosition.(Lnet/minecraft/util/BlockPos;)V=|p_i45956_1_ +net/minecraft/network/play/server/S05PacketSpawnPosition.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S05PacketSpawnPosition.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S06PacketUpdateHealth=CL_00001332 +net/minecraft/network/play/server/S06PacketUpdateHealth.(FIF)V=|p_i45223_1_,p_i45223_2_,p_i45223_3_ +net/minecraft/network/play/server/S06PacketUpdateHealth.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S06PacketUpdateHealth.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S07PacketRespawn=CL_00001322 +net/minecraft/network/play/server/S07PacketRespawn.(ILnet/minecraft/world/EnumDifficulty;Lnet/minecraft/world/WorldType;Lnet/minecraft/world/WorldSettings$GameType;)V=|p_i45213_1_,p_i45213_2_,p_i45213_3_,p_i45213_4_ +net/minecraft/network/play/server/S07PacketRespawn.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S07PacketRespawn.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S08PacketPlayerPosLook=CL_00001273 +net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags=CL_00002304 +net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags.(Ljava/lang/String;II)V=|p_i45992_1_,p_i45992_2_,p_i45992_3_ +net/minecraft/network/play/server/S08PacketPlayerPosLook.(DDDFFLjava/util/Set;)V=|p_i45993_1_,p_i45993_3_,p_i45993_5_,p_i45993_7_,p_i45993_8_,p_i45993_9_ +net/minecraft/network/play/server/S08PacketPlayerPosLook.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S08PacketPlayerPosLook.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S09PacketHeldItemChange=CL_00001324 +net/minecraft/network/play/server/S09PacketHeldItemChange.(I)V=|p_i45215_1_ +net/minecraft/network/play/server/S09PacketHeldItemChange.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S09PacketHeldItemChange.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S0APacketUseBed=CL_00001319 +net/minecraft/network/play/server/S0APacketUseBed.(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;)V=|p_i45964_1_,p_i45964_2_ +net/minecraft/network/play/server/S0APacketUseBed.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S0APacketUseBed.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S0BPacketAnimation=CL_00001282 +net/minecraft/network/play/server/S0BPacketAnimation.(Lnet/minecraft/entity/Entity;I)V=|p_i45172_1_,p_i45172_2_ +net/minecraft/network/play/server/S0BPacketAnimation.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S0BPacketAnimation.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S0CPacketSpawnPlayer=CL_00001281 +net/minecraft/network/play/server/S0CPacketSpawnPlayer.(Lnet/minecraft/entity/player/EntityPlayer;)V=|p_i45171_1_ +net/minecraft/network/play/server/S0CPacketSpawnPlayer.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S0CPacketSpawnPlayer.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S0DPacketCollectItem=CL_00001339 +net/minecraft/network/play/server/S0DPacketCollectItem.(II)V=|p_i45232_1_,p_i45232_2_ +net/minecraft/network/play/server/S0DPacketCollectItem.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S0DPacketCollectItem.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S0EPacketSpawnObject=CL_00001276 +net/minecraft/network/play/server/S0EPacketSpawnObject.(Lnet/minecraft/entity/Entity;I)V=|p_i45165_1_,p_i45165_2_ +net/minecraft/network/play/server/S0EPacketSpawnObject.(Lnet/minecraft/entity/Entity;II)V=|p_i45166_1_,p_i45166_2_,p_i45166_3_ +net/minecraft/network/play/server/S0EPacketSpawnObject.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S0EPacketSpawnObject.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S0FPacketSpawnMob=CL_00001279 +net/minecraft/network/play/server/S0FPacketSpawnMob.(Lnet/minecraft/entity/EntityLivingBase;)V=|p_i45192_1_ +net/minecraft/network/play/server/S0FPacketSpawnMob.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S0FPacketSpawnMob.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S10PacketSpawnPainting=CL_00001280 +net/minecraft/network/play/server/S10PacketSpawnPainting.(Lnet/minecraft/entity/item/EntityPainting;)V=|p_i45170_1_ +net/minecraft/network/play/server/S10PacketSpawnPainting.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S10PacketSpawnPainting.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S11PacketSpawnExperienceOrb=CL_00001277 +net/minecraft/network/play/server/S11PacketSpawnExperienceOrb.(Lnet/minecraft/entity/item/EntityXPOrb;)V=|p_i45167_1_ +net/minecraft/network/play/server/S11PacketSpawnExperienceOrb.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S11PacketSpawnExperienceOrb.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S12PacketEntityVelocity=CL_00001328 +net/minecraft/network/play/server/S12PacketEntityVelocity.(IDDD)V=|p_i45220_1_,p_i45220_2_,p_i45220_4_,p_i45220_6_ +net/minecraft/network/play/server/S12PacketEntityVelocity.(Lnet/minecraft/entity/Entity;)V=|p_i45219_1_ +net/minecraft/network/play/server/S12PacketEntityVelocity.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S12PacketEntityVelocity.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S13PacketDestroyEntities=CL_00001320 +net/minecraft/network/play/server/S13PacketDestroyEntities.([I)V=|p_i45211_1_ +net/minecraft/network/play/server/S13PacketDestroyEntities.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S13PacketDestroyEntities.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S14PacketEntity=CL_00001312 +net/minecraft/network/play/server/S14PacketEntity$S15PacketEntityRelMove=CL_00001313 +net/minecraft/network/play/server/S14PacketEntity$S15PacketEntityRelMove.(IBBBZ)V=|p_i45974_1_,p_i45974_2_,p_i45974_3_,p_i45974_4_,p_i45974_5_ +net/minecraft/network/play/server/S14PacketEntity$S15PacketEntityRelMove.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S14PacketEntity$S15PacketEntityRelMove.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S14PacketEntity$S16PacketEntityLook=CL_00001315 +net/minecraft/network/play/server/S14PacketEntity$S16PacketEntityLook.(IBBZ)V=|p_i45972_1_,p_i45972_2_,p_i45972_3_,p_i45972_4_ +net/minecraft/network/play/server/S14PacketEntity$S16PacketEntityLook.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S14PacketEntity$S16PacketEntityLook.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S14PacketEntity$S17PacketEntityLookMove=CL_00001314 +net/minecraft/network/play/server/S14PacketEntity$S17PacketEntityLookMove.(IBBBBBZ)V=|p_i45973_1_,p_i45973_2_,p_i45973_3_,p_i45973_4_,p_i45973_5_,p_i45973_6_,p_i45973_7_ +net/minecraft/network/play/server/S14PacketEntity$S17PacketEntityLookMove.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S14PacketEntity$S17PacketEntityLookMove.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S14PacketEntity.(I)V=|p_i45206_1_ +net/minecraft/network/play/server/S14PacketEntity.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S14PacketEntity.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S18PacketEntityTeleport=CL_00001340 +net/minecraft/network/play/server/S18PacketEntityTeleport.(IIIIBBZ)V=|p_i45949_1_,p_i45949_2_,p_i45949_3_,p_i45949_4_,p_i45949_5_,p_i45949_6_,p_i45949_7_ +net/minecraft/network/play/server/S18PacketEntityTeleport.(Lnet/minecraft/entity/Entity;)V=|p_i45233_1_ +net/minecraft/network/play/server/S18PacketEntityTeleport.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S18PacketEntityTeleport.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S19PacketEntityHeadLook=CL_00001323 +net/minecraft/network/play/server/S19PacketEntityHeadLook.(Lnet/minecraft/entity/Entity;B)V=|p_i45214_1_,p_i45214_2_ +net/minecraft/network/play/server/S19PacketEntityHeadLook.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S19PacketEntityHeadLook.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S19PacketEntityStatus=CL_00001299 +net/minecraft/network/play/server/S19PacketEntityStatus.(Lnet/minecraft/entity/Entity;B)V=|p_i46335_1_,p_i46335_2_ +net/minecraft/network/play/server/S19PacketEntityStatus.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S19PacketEntityStatus.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S1BPacketEntityAttach=CL_00001327 +net/minecraft/network/play/server/S1BPacketEntityAttach.(ILnet/minecraft/entity/Entity;Lnet/minecraft/entity/Entity;)V=|p_i45218_1_,p_i45218_2_,p_i45218_3_ +net/minecraft/network/play/server/S1BPacketEntityAttach.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S1BPacketEntityAttach.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S1CPacketEntityMetadata=CL_00001326 +net/minecraft/network/play/server/S1CPacketEntityMetadata.(ILnet/minecraft/entity/DataWatcher;Z)V=|p_i45217_1_,p_i45217_2_,p_i45217_3_ +net/minecraft/network/play/server/S1CPacketEntityMetadata.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S1CPacketEntityMetadata.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S1DPacketEntityEffect=CL_00001343 +net/minecraft/network/play/server/S1DPacketEntityEffect.(ILnet/minecraft/potion/PotionEffect;)V=|p_i45237_1_,p_i45237_2_ +net/minecraft/network/play/server/S1DPacketEntityEffect.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S1DPacketEntityEffect.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S1EPacketRemoveEntityEffect=CL_00001321 +net/minecraft/network/play/server/S1EPacketRemoveEntityEffect.(ILnet/minecraft/potion/PotionEffect;)V=|p_i45212_1_,p_i45212_2_ +net/minecraft/network/play/server/S1EPacketRemoveEntityEffect.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S1EPacketRemoveEntityEffect.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S1FPacketSetExperience=CL_00001331 +net/minecraft/network/play/server/S1FPacketSetExperience.(FII)V=|p_i45222_1_,p_i45222_2_,p_i45222_3_ +net/minecraft/network/play/server/S1FPacketSetExperience.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S1FPacketSetExperience.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S20PacketEntityProperties=CL_00001341 +net/minecraft/network/play/server/S20PacketEntityProperties$Snapshot=CL_00001342 +net/minecraft/network/play/server/S20PacketEntityProperties$Snapshot.(Lnet/minecraft/network/play/server/S20PacketEntityProperties;Ljava/lang/String;DLjava/util/Collection;)V=|p_i45235_1_,p_i45235_2_,p_i45235_3_,p_i45235_5_ +net/minecraft/network/play/server/S20PacketEntityProperties.(ILjava/util/Collection;)V=|p_i45236_1_,p_i45236_2_ +net/minecraft/network/play/server/S20PacketEntityProperties.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S20PacketEntityProperties.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S21PacketChunkData=CL_00001304 +net/minecraft/network/play/server/S21PacketChunkData$Extracted=CL_00001305 +net/minecraft/network/play/server/S21PacketChunkData.(Lnet/minecraft/world/chunk/Chunk;ZI)V=|p_i45196_1_,p_i45196_2_,p_i45196_3_ +net/minecraft/network/play/server/S21PacketChunkData.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S21PacketChunkData.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S22PacketMultiBlockChange=CL_00001290 +net/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData=CL_00002302 +net/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData.(Lnet/minecraft/network/play/server/S22PacketMultiBlockChange;SLnet/minecraft/block/state/IBlockState;)V=|p_i45984_1_,p_i45984_2_,p_i45984_3_ +net/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData.(Lnet/minecraft/network/play/server/S22PacketMultiBlockChange;SLnet/minecraft/world/chunk/Chunk;)V=|p_i45985_1_,p_i45985_2_,p_i45985_3_ +net/minecraft/network/play/server/S22PacketMultiBlockChange.(I[SLnet/minecraft/world/chunk/Chunk;)V=|p_i45181_1_,p_i45181_2_,p_i45181_3_ +net/minecraft/network/play/server/S22PacketMultiBlockChange.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S22PacketMultiBlockChange.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S23PacketBlockChange=CL_00001287 +net/minecraft/network/play/server/S23PacketBlockChange.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V=|p_i45988_1_,p_i45988_2_ +net/minecraft/network/play/server/S23PacketBlockChange.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S23PacketBlockChange.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S24PacketBlockAction=CL_00001286 +net/minecraft/network/play/server/S24PacketBlockAction.(Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;II)V=|p_i45989_1_,p_i45989_2_,p_i45989_3_,p_i45989_4_ +net/minecraft/network/play/server/S24PacketBlockAction.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S24PacketBlockAction.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S25PacketBlockBreakAnim=CL_00001284 +net/minecraft/network/play/server/S25PacketBlockBreakAnim.(ILnet/minecraft/util/BlockPos;I)V=|p_i45991_1_,p_i45991_2_,p_i45991_3_ +net/minecraft/network/play/server/S25PacketBlockBreakAnim.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S25PacketBlockBreakAnim.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S26PacketMapChunkBulk=CL_00001306 +net/minecraft/network/play/server/S26PacketMapChunkBulk.(Ljava/util/List;)V=|p_i45197_1_ +net/minecraft/network/play/server/S26PacketMapChunkBulk.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S26PacketMapChunkBulk.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S27PacketExplosion=CL_00001300 +net/minecraft/network/play/server/S27PacketExplosion.(DDDFLjava/util/List;Lnet/minecraft/util/Vec3;)V=|p_i45193_1_,p_i45193_3_,p_i45193_5_,p_i45193_7_,p_i45193_8_,p_i45193_9_ +net/minecraft/network/play/server/S27PacketExplosion.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S27PacketExplosion.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S28PacketEffect=CL_00001307 +net/minecraft/network/play/server/S28PacketEffect.(ILnet/minecraft/util/BlockPos;IZ)V=|p_i45978_1_,p_i45978_2_,p_i45978_3_,p_i45978_4_ +net/minecraft/network/play/server/S28PacketEffect.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S28PacketEffect.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S29PacketSoundEffect=CL_00001309 +net/minecraft/network/play/server/S29PacketSoundEffect.(Ljava/lang/String;DDDFF)V=|p_i45200_1_,p_i45200_2_,p_i45200_4_,p_i45200_6_,p_i45200_8_,p_i45200_9_ +net/minecraft/network/play/server/S29PacketSoundEffect.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S29PacketSoundEffect.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S2APacketParticles=CL_00001308 +net/minecraft/network/play/server/S2APacketParticles.(Lnet/minecraft/util/EnumParticleTypes;ZFFFFFFFI[I)V=|p_i45977_1_,p_i45977_2_,p_i45977_3_,p_i45977_4_,p_i45977_5_,p_i45977_6_,p_i45977_7_,p_i45977_8_,p_i45977_9_,p_i45977_10_,p_i45977_11_ +net/minecraft/network/play/server/S2APacketParticles.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S2APacketParticles.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S2BPacketChangeGameState=CL_00001301 +net/minecraft/network/play/server/S2BPacketChangeGameState.(IF)V=|p_i45194_1_,p_i45194_2_ +net/minecraft/network/play/server/S2BPacketChangeGameState.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S2BPacketChangeGameState.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity=CL_00001278 +net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity.(Lnet/minecraft/entity/Entity;)V=|p_i45191_1_ +net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S2DPacketOpenWindow=CL_00001293 +net/minecraft/network/play/server/S2DPacketOpenWindow.(ILjava/lang/String;Lnet/minecraft/util/IChatComponent;)V=|p_i45981_1_,p_i45981_2_,p_i45981_3_ +net/minecraft/network/play/server/S2DPacketOpenWindow.(ILjava/lang/String;Lnet/minecraft/util/IChatComponent;I)V=|p_i45982_1_,p_i45982_2_,p_i45982_3_,p_i45982_4_ +net/minecraft/network/play/server/S2DPacketOpenWindow.(ILjava/lang/String;Lnet/minecraft/util/IChatComponent;II)V=|p_i45983_1_,p_i45983_2_,p_i45983_3_,p_i45983_4_,p_i45983_5_ +net/minecraft/network/play/server/S2DPacketOpenWindow.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S2DPacketOpenWindow.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S2EPacketCloseWindow=CL_00001292 +net/minecraft/network/play/server/S2EPacketCloseWindow.(I)V=|p_i45183_1_ +net/minecraft/network/play/server/S2EPacketCloseWindow.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S2EPacketCloseWindow.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S2FPacketSetSlot=CL_00001296 +net/minecraft/network/play/server/S2FPacketSetSlot.(IILnet/minecraft/item/ItemStack;)V=|p_i45188_1_,p_i45188_2_,p_i45188_3_ +net/minecraft/network/play/server/S2FPacketSetSlot.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S2FPacketSetSlot.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S30PacketWindowItems=CL_00001294 +net/minecraft/network/play/server/S30PacketWindowItems.(ILjava/util/List;)V=|p_i45186_1_,p_i45186_2_ +net/minecraft/network/play/server/S30PacketWindowItems.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S30PacketWindowItems.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S31PacketWindowProperty=CL_00001295 +net/minecraft/network/play/server/S31PacketWindowProperty.(III)V=|p_i45187_1_,p_i45187_2_,p_i45187_3_ +net/minecraft/network/play/server/S31PacketWindowProperty.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S31PacketWindowProperty.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S32PacketConfirmTransaction=CL_00001291 +net/minecraft/network/play/server/S32PacketConfirmTransaction.(ISZ)V=|p_i45182_1_,p_i45182_2_,p_i45182_3_ +net/minecraft/network/play/server/S32PacketConfirmTransaction.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S32PacketConfirmTransaction.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S33PacketUpdateSign=CL_00001338 +net/minecraft/network/play/server/S33PacketUpdateSign.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;[Lnet/minecraft/util/IChatComponent;)V=|p_i45951_1_,p_i45951_2_,p_i45951_3_ +net/minecraft/network/play/server/S33PacketUpdateSign.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S33PacketUpdateSign.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S34PacketMaps=CL_00001311 +net/minecraft/network/play/server/S34PacketMaps.(IBLjava/util/Collection;[BIIII)V=|p_i45975_1_,p_i45975_2_,p_i45975_3_,p_i45975_4_,p_i45975_5_,p_i45975_6_,p_i45975_7_,p_i45975_8_ +net/minecraft/network/play/server/S34PacketMaps.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S34PacketMaps.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S35PacketUpdateTileEntity=CL_00001285 +net/minecraft/network/play/server/S35PacketUpdateTileEntity.(Lnet/minecraft/util/BlockPos;ILnet/minecraft/nbt/NBTTagCompound;)V=|p_i45990_1_,p_i45990_2_,p_i45990_3_ +net/minecraft/network/play/server/S35PacketUpdateTileEntity.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S35PacketUpdateTileEntity.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S36PacketSignEditorOpen=CL_00001316 +net/minecraft/network/play/server/S36PacketSignEditorOpen.(Lnet/minecraft/util/BlockPos;)V=|p_i45971_1_ +net/minecraft/network/play/server/S36PacketSignEditorOpen.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S36PacketSignEditorOpen.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S37PacketStatistics=CL_00001283 +net/minecraft/network/play/server/S37PacketStatistics.(Ljava/util/Map;)V=|p_i45173_1_ +net/minecraft/network/play/server/S37PacketStatistics.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S37PacketStatistics.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S38PacketPlayerListItem=CL_00001318 +net/minecraft/network/play/server/S38PacketPlayerListItem$Action=CL_00002295 +net/minecraft/network/play/server/S38PacketPlayerListItem$Action.(Ljava/lang/String;I)V=|p_i45966_1_,p_i45966_2_ +net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData=CL_00002294 +net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData.(Lnet/minecraft/network/play/server/S38PacketPlayerListItem;Lcom/mojang/authlib/GameProfile;ILnet/minecraft/world/WorldSettings$GameType;Lnet/minecraft/util/IChatComponent;)V=|p_i45965_1_,p_i45965_2_,p_i45965_3_,p_i45965_4_,p_i45965_5_ +net/minecraft/network/play/server/S38PacketPlayerListItem$SwitchAction=CL_00002296 +net/minecraft/network/play/server/S38PacketPlayerListItem.(Lnet/minecraft/network/play/server/S38PacketPlayerListItem$Action;Ljava/lang/Iterable;)V=|p_i45968_1_,p_i45968_2_ +net/minecraft/network/play/server/S38PacketPlayerListItem.(Lnet/minecraft/network/play/server/S38PacketPlayerListItem$Action;[Lnet/minecraft/entity/player/EntityPlayerMP;)V=|p_i45967_1_,p_i45967_2_ +net/minecraft/network/play/server/S38PacketPlayerListItem.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S38PacketPlayerListItem.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S39PacketPlayerAbilities=CL_00001317 +net/minecraft/network/play/server/S39PacketPlayerAbilities.(Lnet/minecraft/entity/player/PlayerCapabilities;)V=|p_i45208_1_ +net/minecraft/network/play/server/S39PacketPlayerAbilities.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S39PacketPlayerAbilities.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S3APacketTabComplete=CL_00001288 +net/minecraft/network/play/server/S3APacketTabComplete.([Ljava/lang/String;)V=|p_i45178_1_ +net/minecraft/network/play/server/S3APacketTabComplete.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S3APacketTabComplete.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S3BPacketScoreboardObjective=CL_00001333 +net/minecraft/network/play/server/S3BPacketScoreboardObjective.(Lnet/minecraft/scoreboard/ScoreObjective;I)V=|p_i45224_1_,p_i45224_2_ +net/minecraft/network/play/server/S3BPacketScoreboardObjective.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S3BPacketScoreboardObjective.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S3CPacketUpdateScore=CL_00001335 +net/minecraft/network/play/server/S3CPacketUpdateScore$Action=CL_00002288 +net/minecraft/network/play/server/S3CPacketUpdateScore$Action.(Ljava/lang/String;I)V=|p_i45957_1_,p_i45957_2_ +net/minecraft/network/play/server/S3CPacketUpdateScore.(Ljava/lang/String;)V=|p_i45228_1_ +net/minecraft/network/play/server/S3CPacketUpdateScore.(Ljava/lang/String;Lnet/minecraft/scoreboard/ScoreObjective;)V=|p_i45959_1_,p_i45959_2_ +net/minecraft/network/play/server/S3CPacketUpdateScore.(Lnet/minecraft/scoreboard/Score;)V=|p_i45958_1_ +net/minecraft/network/play/server/S3CPacketUpdateScore.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S3CPacketUpdateScore.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S3DPacketDisplayScoreboard=CL_00001325 +net/minecraft/network/play/server/S3DPacketDisplayScoreboard.(ILnet/minecraft/scoreboard/ScoreObjective;)V=|p_i45216_1_,p_i45216_2_ +net/minecraft/network/play/server/S3DPacketDisplayScoreboard.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S3DPacketDisplayScoreboard.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S3EPacketTeams=CL_00001334 +net/minecraft/network/play/server/S3EPacketTeams.(Lnet/minecraft/scoreboard/ScorePlayerTeam;I)V=|p_i45225_1_,p_i45225_2_ +net/minecraft/network/play/server/S3EPacketTeams.(Lnet/minecraft/scoreboard/ScorePlayerTeam;Ljava/util/Collection;I)V=|p_i45226_1_,p_i45226_2_,p_i45226_3_ +net/minecraft/network/play/server/S3EPacketTeams.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S3EPacketTeams.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S3FPacketCustomPayload=CL_00001297 +net/minecraft/network/play/server/S3FPacketCustomPayload.(Ljava/lang/String;Lnet/minecraft/network/PacketBuffer;)V=|p_i45980_1_,p_i45980_2_ +net/minecraft/network/play/server/S3FPacketCustomPayload.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S3FPacketCustomPayload.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S40PacketDisconnect=CL_00001298 +net/minecraft/network/play/server/S40PacketDisconnect.(Lnet/minecraft/util/IChatComponent;)V=|p_i46336_1_ +net/minecraft/network/play/server/S40PacketDisconnect.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S40PacketDisconnect.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S41PacketServerDifficulty=CL_00002303 +net/minecraft/network/play/server/S41PacketServerDifficulty.(Lnet/minecraft/world/EnumDifficulty;Z)V=|p_i45987_1_,p_i45987_2_ +net/minecraft/network/play/server/S41PacketServerDifficulty.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S41PacketServerDifficulty.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S42PacketCombatEvent=CL_00002299 +net/minecraft/network/play/server/S42PacketCombatEvent$Event=CL_00002297 +net/minecraft/network/play/server/S42PacketCombatEvent$Event.(Ljava/lang/String;I)V=|p_i45969_1_,p_i45969_2_ +net/minecraft/network/play/server/S42PacketCombatEvent$SwitchEvent=CL_00002298 +net/minecraft/network/play/server/S42PacketCombatEvent.(Lnet/minecraft/util/CombatTracker;Lnet/minecraft/network/play/server/S42PacketCombatEvent$Event;)V=|p_i45970_1_,p_i45970_2_ +net/minecraft/network/play/server/S42PacketCombatEvent.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S42PacketCombatEvent.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S43PacketCamera=CL_00002289 +net/minecraft/network/play/server/S43PacketCamera.(Lnet/minecraft/entity/Entity;)V=|p_i45960_1_ +net/minecraft/network/play/server/S43PacketCamera.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S43PacketCamera.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S44PacketWorldBorder=CL_00002292 +net/minecraft/network/play/server/S44PacketWorldBorder$Action=CL_00002290 +net/minecraft/network/play/server/S44PacketWorldBorder$Action.(Ljava/lang/String;I)V=|p_i45961_1_,p_i45961_2_ +net/minecraft/network/play/server/S44PacketWorldBorder$SwitchAction=CL_00002291 +net/minecraft/network/play/server/S44PacketWorldBorder.(Lnet/minecraft/world/border/WorldBorder;Lnet/minecraft/network/play/server/S44PacketWorldBorder$Action;)V=|p_i45962_1_,p_i45962_2_ +net/minecraft/network/play/server/S44PacketWorldBorder.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S44PacketWorldBorder.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S45PacketTitle=CL_00002287 +net/minecraft/network/play/server/S45PacketTitle$Type=CL_00002286 +net/minecraft/network/play/server/S45PacketTitle$Type.(Ljava/lang/String;I)V=|p_i45952_1_,p_i45952_2_ +net/minecraft/network/play/server/S45PacketTitle.(III)V=|p_i45954_1_,p_i45954_2_,p_i45954_3_ +net/minecraft/network/play/server/S45PacketTitle.(Lnet/minecraft/network/play/server/S45PacketTitle$Type;Lnet/minecraft/util/IChatComponent;)V=|p_i45953_1_,p_i45953_2_ +net/minecraft/network/play/server/S45PacketTitle.(Lnet/minecraft/network/play/server/S45PacketTitle$Type;Lnet/minecraft/util/IChatComponent;III)V=|p_i45955_1_,p_i45955_2_,p_i45955_3_,p_i45955_4_,p_i45955_5_ +net/minecraft/network/play/server/S45PacketTitle.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S45PacketTitle.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S46PacketSetCompressionLevel=CL_00002300 +net/minecraft/network/play/server/S46PacketSetCompressionLevel.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S46PacketSetCompressionLevel.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S47PacketPlayerListHeaderFooter=CL_00002285 +net/minecraft/network/play/server/S47PacketPlayerListHeaderFooter.(Lnet/minecraft/util/IChatComponent;)V=|p_i45950_1_ +net/minecraft/network/play/server/S47PacketPlayerListHeaderFooter.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S47PacketPlayerListHeaderFooter.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S48PacketResourcePackSend=CL_00002293 +net/minecraft/network/play/server/S48PacketResourcePackSend.(Ljava/lang/String;Ljava/lang/String;)V=|p_i45963_1_,p_i45963_2_ +net/minecraft/network/play/server/S48PacketResourcePackSend.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S48PacketResourcePackSend.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S49PacketUpdateEntityNBT=CL_00002301 +net/minecraft/network/play/server/S49PacketUpdateEntityNBT.(ILnet/minecraft/nbt/NBTTagCompound;)V=|p_i45979_1_,p_i45979_2_ +net/minecraft/network/play/server/S49PacketUpdateEntityNBT.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/play/server/S49PacketUpdateEntityNBT.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/rcon/RConConsoleSource=CL_00001800 +net/minecraft/network/rcon/RConOutputStream=CL_00001798 +net/minecraft/network/rcon/RConOutputStream.(I)V=|p_i1533_1_ +net/minecraft/network/rcon/RConOutputStream.func_72667_a(I)V=java/io/IOException| +net/minecraft/network/rcon/RConOutputStream.func_72668_a(S)V=java/io/IOException| +net/minecraft/network/rcon/RConOutputStream.func_72670_a([B)V=java/io/IOException| +net/minecraft/network/rcon/RConOutputStream.func_72671_a(Ljava/lang/String;)V=java/io/IOException| +net/minecraft/network/rcon/RConThreadBase=CL_00001801 +net/minecraft/network/rcon/RConThreadBase.(Lnet/minecraft/network/rcon/IServer;Ljava/lang/String;)V=|p_i45300_1_,p_i45300_2_ +net/minecraft/network/rcon/RConThreadClient=CL_00001804 +net/minecraft/network/rcon/RConThreadClient.(Lnet/minecraft/network/rcon/IServer;Ljava/net/Socket;)V=|p_i1537_1_,p_i1537_2_ +net/minecraft/network/rcon/RConThreadClient.func_72654_a(IILjava/lang/String;)V=java/io/IOException| +net/minecraft/network/rcon/RConThreadClient.func_72655_a(ILjava/lang/String;)V=java/io/IOException| +net/minecraft/network/rcon/RConThreadClient.func_72656_f()V=java/io/IOException| +net/minecraft/network/rcon/RConThreadMain=CL_00001805 +net/minecraft/network/rcon/RConThreadMain.(Lnet/minecraft/network/rcon/IServer;)V=|p_i1538_1_ +net/minecraft/network/rcon/RConThreadQuery=CL_00001802 +net/minecraft/network/rcon/RConThreadQuery$Auth=CL_00001803 +net/minecraft/network/rcon/RConThreadQuery$Auth.(Lnet/minecraft/network/rcon/RConThreadQuery;Ljava/net/DatagramPacket;)V=|p_i1535_1_,p_i1535_2_ +net/minecraft/network/rcon/RConThreadQuery.(Lnet/minecraft/network/rcon/IServer;)V=|p_i1536_1_ +net/minecraft/network/rcon/RConThreadQuery.func_72620_a([BLjava/net/DatagramPacket;)V=java/io/IOException| +net/minecraft/network/rcon/RConThreadQuery.func_72621_a(Ljava/net/DatagramPacket;)Z=java/io/IOException| +net/minecraft/network/rcon/RConThreadQuery.func_72622_d(Ljava/net/DatagramPacket;)V=java/io/IOException| +net/minecraft/network/rcon/RConThreadQuery.func_72624_b(Ljava/net/DatagramPacket;)[B=java/io/IOException| +net/minecraft/network/rcon/RConUtils=CL_00001799 +net/minecraft/network/status/client/C00PacketServerQuery=CL_00001393 +net/minecraft/network/status/client/C00PacketServerQuery.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/status/client/C00PacketServerQuery.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/status/client/C01PacketPing=CL_00001392 +net/minecraft/network/status/client/C01PacketPing.(J)V=|p_i45276_1_ +net/minecraft/network/status/client/C01PacketPing.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/status/client/C01PacketPing.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/status/server/S00PacketServerInfo=CL_00001384 +net/minecraft/network/status/server/S00PacketServerInfo.(Lnet/minecraft/network/ServerStatusResponse;)V=|p_i45273_1_ +net/minecraft/network/status/server/S00PacketServerInfo.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/status/server/S00PacketServerInfo.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/status/server/S01PacketPong=CL_00001383 +net/minecraft/network/status/server/S01PacketPong.(J)V=|p_i45272_1_ +net/minecraft/network/status/server/S01PacketPong.func_148837_a(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/network/status/server/S01PacketPong.func_148840_b(Lnet/minecraft/network/PacketBuffer;)V=java/io/IOException| +net/minecraft/util/EnumParticleTypes=CL_00002317 +net/minecraft/util/EnumParticleTypes.(Ljava/lang/String;ILjava/lang/String;IZ)V=|p_i46012_1_,p_i46012_2_,p_i46012_3_,p_i46012_4_,p_i46012_5_ +net/minecraft/util/EnumParticleTypes.(Ljava/lang/String;ILjava/lang/String;IZI)V=|p_i46011_1_,p_i46011_2_,p_i46011_3_,p_i46011_4_,p_i46011_5_,p_i46011_6_ +net/minecraft/pathfinding/Path=CL_00000573 +net/minecraft/pathfinding/PathEntity=CL_00000575 +net/minecraft/pathfinding/PathEntity.([Lnet/minecraft/pathfinding/PathPoint;)V=|p_i2136_1_ +net/minecraft/pathfinding/PathFinder=CL_00000576 +net/minecraft/pathfinding/PathFinder.(Lnet/minecraft/world/pathfinder/NodeProcessor;)V=|p_i45557_1_ +net/minecraft/pathfinding/PathNavigate=CL_00001627 +net/minecraft/pathfinding/PathNavigate.(Lnet/minecraft/entity/EntityLiving;Lnet/minecraft/world/World;)V=|p_i1671_1_,p_i1671_2_ +net/minecraft/pathfinding/PathNavigateClimber=CL_00002245 +net/minecraft/pathfinding/PathNavigateClimber.(Lnet/minecraft/entity/EntityLiving;Lnet/minecraft/world/World;)V=|p_i45874_1_,p_i45874_2_ +net/minecraft/pathfinding/PathNavigateGround=CL_00002246 +net/minecraft/pathfinding/PathNavigateGround.(Lnet/minecraft/entity/EntityLiving;Lnet/minecraft/world/World;)V=|p_i45875_1_,p_i45875_2_ +net/minecraft/pathfinding/PathNavigateSwimmer=CL_00002244 +net/minecraft/pathfinding/PathNavigateSwimmer.(Lnet/minecraft/entity/EntityLiving;Lnet/minecraft/world/World;)V=|p_i45873_1_,p_i45873_2_ +net/minecraft/pathfinding/PathPoint=CL_00000574 +net/minecraft/pathfinding/PathPoint.(III)V=|p_i2135_1_,p_i2135_2_,p_i2135_3_ +net/minecraft/potion/Potion=CL_00001528 +net/minecraft/potion/Potion.(ILnet/minecraft/util/ResourceLocation;ZI)V=|p_i45897_1_,p_i45897_2_,p_i45897_3_,p_i45897_4_ +net/minecraft/potion/PotionAbsorption=CL_00001524 +net/minecraft/potion/PotionAbsorption.(ILnet/minecraft/util/ResourceLocation;ZI)V=|p_i45901_1_,p_i45901_2_,p_i45901_3_,p_i45901_4_ +net/minecraft/potion/PotionAttackDamage=CL_00001525 +net/minecraft/potion/PotionAttackDamage.(ILnet/minecraft/util/ResourceLocation;ZI)V=|p_i45900_1_,p_i45900_2_,p_i45900_3_,p_i45900_4_ +net/minecraft/potion/PotionEffect=CL_00001529 +net/minecraft/potion/PotionEffect.(II)V=|p_i1574_1_,p_i1574_2_ +net/minecraft/potion/PotionEffect.(III)V=|p_i1575_1_,p_i1575_2_,p_i1575_3_ +net/minecraft/potion/PotionEffect.(IIIZZ)V=|p_i45896_1_,p_i45896_2_,p_i45896_3_,p_i45896_4_,p_i45896_5_ +net/minecraft/potion/PotionEffect.(Lnet/minecraft/potion/PotionEffect;)V=|p_i1577_1_ +net/minecraft/potion/PotionHealth=CL_00001527 +net/minecraft/potion/PotionHealth.(ILnet/minecraft/util/ResourceLocation;ZI)V=|p_i45898_1_,p_i45898_2_,p_i45898_3_,p_i45898_4_ +net/minecraft/potion/PotionHealthBoost=CL_00001526 +net/minecraft/potion/PotionHealthBoost.(ILnet/minecraft/util/ResourceLocation;ZI)V=|p_i45899_1_,p_i45899_2_,p_i45899_3_,p_i45899_4_ +net/minecraft/potion/PotionHelper=CL_00000078 +net/minecraft/profiler/PlayerUsageSnooper=CL_00001515 +net/minecraft/profiler/PlayerUsageSnooper$1=CL_00001516 +net/minecraft/profiler/PlayerUsageSnooper$1.(Lnet/minecraft/profiler/PlayerUsageSnooper;)V=|p_i1562_1_ +net/minecraft/profiler/PlayerUsageSnooper.(Ljava/lang/String;Lnet/minecraft/profiler/IPlayerUsage;J)V=|p_i1563_1_,p_i1563_2_,p_i1563_3_ +net/minecraft/profiler/Profiler=CL_00001497 +net/minecraft/profiler/Profiler$Result=CL_00001498 +net/minecraft/profiler/Profiler$Result.(Ljava/lang/String;DD)V=|p_i1554_1_,p_i1554_2_,p_i1554_4_ +net/minecraft/realms/DisconnectedRealmsScreen=CL_00002145 +net/minecraft/realms/DisconnectedRealmsScreen.(Lnet/minecraft/realms/RealmsScreen;Ljava/lang/String;Lnet/minecraft/util/IChatComponent;)V=|p_i45742_1_,p_i45742_2_,p_i45742_3_ +net/minecraft/realms/Realms=CL_00001892 +net/minecraft/realms/RealmsAnvilLevelStorageSource=CL_00001856 +net/minecraft/realms/RealmsAnvilLevelStorageSource.(Lnet/minecraft/world/storage/ISaveFormat;)V=|p_i1106_1_ +net/minecraft/realms/RealmsAnvilLevelStorageSource.getLevelList()Ljava/util/List;=net/minecraft/client/AnvilConverterException| +net/minecraft/realms/RealmsBridge=CL_00001869 +net/minecraft/realms/RealmsButton=CL_00001890 +net/minecraft/realms/RealmsButton.(IIIIILjava/lang/String;)V=|p_i1178_1_,p_i1178_2_,p_i1178_3_,p_i1178_4_,p_i1178_5_,p_i1178_6_ +net/minecraft/realms/RealmsButton.(IIILjava/lang/String;)V=|p_i1177_1_,p_i1177_2_,p_i1177_3_,p_i1177_4_ +net/minecraft/realms/RealmsClickableScrolledSelectionList=CL_00002366 +net/minecraft/realms/RealmsClickableScrolledSelectionList.(IIIII)V=|p_i46052_1_,p_i46052_2_,p_i46052_3_,p_i46052_4_,p_i46052_5_ +net/minecraft/realms/RealmsConnect=CL_00001844 +net/minecraft/realms/RealmsConnect$1=CL_00001808 +net/minecraft/realms/RealmsConnect$1.(Lnet/minecraft/realms/RealmsConnect;Ljava/lang/String;Ljava/lang/String;I)V=|p_i46343_1_,p_i46343_2_,p_i46343_3_,p_i46343_4_ +net/minecraft/realms/RealmsConnect.(Lnet/minecraft/realms/RealmsScreen;)V=|p_i1079_1_ +net/minecraft/realms/RealmsEditBox=CL_00001858 +net/minecraft/realms/RealmsEditBox.(IIIII)V=|p_i45743_1_,p_i45743_2_,p_i45743_3_,p_i45743_4_,p_i45743_5_ +net/minecraft/realms/RealmsLevelSummary=CL_00001857 +net/minecraft/realms/RealmsLevelSummary.(Lnet/minecraft/world/storage/SaveFormatComparator;)V=|p_i1109_1_ +net/minecraft/realms/RealmsMth=CL_00001900 +net/minecraft/realms/RealmsScreen=CL_00001898 +net/minecraft/realms/RealmsScrolledSelectionList=CL_00001863 +net/minecraft/realms/RealmsScrolledSelectionList.(IIIII)V=|p_i1119_1_,p_i1119_2_,p_i1119_3_,p_i1119_4_,p_i1119_5_ +net/minecraft/realms/RealmsServerAddress=CL_00001864 +net/minecraft/realms/RealmsServerAddress.(Ljava/lang/String;I)V=|p_i1121_1_,p_i1121_2_ +net/minecraft/realms/RealmsServerPing=CL_00002328 +net/minecraft/realms/RealmsServerStatusPinger=CL_00001854 +net/minecraft/realms/RealmsServerStatusPinger$1=CL_00001807 +net/minecraft/realms/RealmsServerStatusPinger$1.(Lnet/minecraft/realms/RealmsServerStatusPinger;Lnet/minecraft/realms/RealmsServerPing;Lnet/minecraft/network/NetworkManager;Ljava/lang/String;)V=|p_i46055_1_,p_i46055_2_,p_i46055_3_,p_i46055_4_ +net/minecraft/realms/RealmsServerStatusPinger.pingServer(Ljava/lang/String;Lnet/minecraft/realms/RealmsServerPing;)V=java.net.UnknownHostException| +net/minecraft/realms/RealmsSharedConstants=CL_00001866 +net/minecraft/realms/RealmsSimpleScrolledSelectionList=CL_00002186 +net/minecraft/realms/RealmsSimpleScrolledSelectionList.(IIIII)V=|p_i45803_1_,p_i45803_2_,p_i45803_3_,p_i45803_4_,p_i45803_5_ +net/minecraft/realms/RealmsSliderButton=CL_00001834 +net/minecraft/realms/RealmsSliderButton.(IIIIII)V=|p_i1056_1_,p_i1056_2_,p_i1056_3_,p_i1056_4_,p_i1056_5_,p_i1056_6_ +net/minecraft/realms/RealmsSliderButton.(IIIIIIFF)V=|p_i1057_1_,p_i1057_2_,p_i1057_3_,p_i1057_4_,p_i1057_5_,p_i1057_6_,p_i1057_7_,p_i1057_8_ +net/minecraft/realms/Tezzelator=CL_00001855 +net/minecraft/scoreboard/GoalColor=CL_00001961 +net/minecraft/scoreboard/GoalColor.(Ljava/lang/String;Lnet/minecraft/util/EnumChatFormatting;)V=|p_i45549_1_,p_i45549_2_ +net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType=CL_00001960 +net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45548_1_,p_i45548_2_,p_i45548_3_ +net/minecraft/scoreboard/Score=CL_00000617 +net/minecraft/scoreboard/Score$1=CL_00000618 +net/minecraft/scoreboard/Score.(Lnet/minecraft/scoreboard/Scoreboard;Lnet/minecraft/scoreboard/ScoreObjective;Ljava/lang/String;)V=|p_i2309_1_,p_i2309_2_,p_i2309_3_ +net/minecraft/scoreboard/ScoreDummyCriteria=CL_00000622 +net/minecraft/scoreboard/ScoreDummyCriteria.(Ljava/lang/String;)V=|p_i2311_1_ +net/minecraft/scoreboard/ScoreHealthCriteria=CL_00000623 +net/minecraft/scoreboard/ScoreHealthCriteria.(Ljava/lang/String;)V=|p_i2312_1_ +net/minecraft/scoreboard/ScoreObjective=CL_00000614 +net/minecraft/scoreboard/ScoreObjective.(Lnet/minecraft/scoreboard/Scoreboard;Ljava/lang/String;Lnet/minecraft/scoreboard/IScoreObjectiveCriteria;)V=|p_i2307_1_,p_i2307_2_,p_i2307_3_ +net/minecraft/scoreboard/ScorePlayerTeam=CL_00000616 +net/minecraft/scoreboard/ScorePlayerTeam.(Lnet/minecraft/scoreboard/Scoreboard;Ljava/lang/String;)V=|p_i2308_1_,p_i2308_2_ +net/minecraft/scoreboard/Scoreboard=CL_00000619 +net/minecraft/scoreboard/ScoreboardSaveData=CL_00000620 +net/minecraft/scoreboard/ScoreboardSaveData.(Ljava/lang/String;)V=|p_i2310_1_ +net/minecraft/scoreboard/ServerScoreboard=CL_00001424 +net/minecraft/scoreboard/ServerScoreboard.(Lnet/minecraft/server/MinecraftServer;)V=|p_i1501_1_ +net/minecraft/scoreboard/Team=CL_00000621 +net/minecraft/scoreboard/Team$EnumVisible=CL_00001962 +net/minecraft/scoreboard/Team$EnumVisible.(Ljava/lang/String;ILjava/lang/String;I)V=|p_i45550_1_,p_i45550_2_,p_i45550_3_,p_i45550_4_ +net/minecraft/server/MinecraftServer=CL_00001462 +net/minecraft/server/MinecraftServer$1=CL_00001417 +net/minecraft/server/MinecraftServer$1.(Lnet/minecraft/server/MinecraftServer;)V=|p_i1493_1_ +net/minecraft/server/MinecraftServer$2=CL_00001806 +net/minecraft/server/MinecraftServer$2.(Ljava/lang/String;Lnet/minecraft/server/dedicated/DedicatedServer;)V=|p_i1226_1_,p_i1226_2_ +net/minecraft/server/MinecraftServer$3=CL_00001418 +net/minecraft/server/MinecraftServer$3.(Lnet/minecraft/server/MinecraftServer;)V=|p_i45926_1_ +net/minecraft/server/MinecraftServer$4=CL_00001419 +net/minecraft/server/MinecraftServer$4.(Lnet/minecraft/server/MinecraftServer;)V=|p_i1495_1_ +net/minecraft/server/MinecraftServer.(Ljava/io/File;Ljava/net/Proxy;Ljava/io/File;)V=|p_i46054_1_,p_i46054_2_,p_i46054_3_ +net/minecraft/server/MinecraftServer.(Ljava/net/Proxy;Ljava/io/File;)V=|p_i46053_1_,p_i46053_2_ +net/minecraft/server/MinecraftServer.func_71197_b()Z=java/io/IOException| +net/minecraft/server/ServerEula=CL_00001911 +net/minecraft/server/ServerEula.(Ljava/io/File;)V=|p_i46373_1_ +net/minecraft/server/dedicated/DedicatedPlayerList=CL_00001783 +net/minecraft/server/dedicated/DedicatedPlayerList.(Lnet/minecraft/server/dedicated/DedicatedServer;)V=|p_i1503_1_ +net/minecraft/server/dedicated/DedicatedServer=CL_00001784 +net/minecraft/server/dedicated/DedicatedServer$1=CL_00001787 +net/minecraft/server/dedicated/DedicatedServer$1.(Lnet/minecraft/server/dedicated/DedicatedServer;Ljava/lang/String;)V=|p_i1225_1_,p_i1225_2_ +net/minecraft/server/dedicated/DedicatedServer$2=CL_00001786 +net/minecraft/server/dedicated/DedicatedServer$2.(Lnet/minecraft/server/dedicated/DedicatedServer;Ljava/lang/String;)V=|p_i46371_1_,p_i46371_2_ +net/minecraft/server/dedicated/DedicatedServer$3=CL_00001785 +net/minecraft/server/dedicated/DedicatedServer$3.(Lnet/minecraft/server/dedicated/DedicatedServer;)V=|p_i1224_1_ +net/minecraft/server/dedicated/DedicatedServer$4=CL_00001788 +net/minecraft/server/dedicated/DedicatedServer$4.(Lnet/minecraft/server/dedicated/DedicatedServer;)V=|p_i1507_1_ +net/minecraft/server/dedicated/DedicatedServer.(Ljava/io/File;)V=|p_i1508_1_ +net/minecraft/server/dedicated/DedicatedServer.func_152368_aE()Z=java/io/IOException| +net/minecraft/server/dedicated/DedicatedServer.func_71190_q()V-Access=PUBLIC +net/minecraft/server/dedicated/DedicatedServer.func_71197_b()Z=java/io/IOException| +net/minecraft/server/dedicated/PropertyManager=CL_00001782 +net/minecraft/server/dedicated/PropertyManager.(Ljava/io/File;)V=|p_i46372_1_ +net/minecraft/server/dedicated/ServerHangWatchdog=CL_00002634 +net/minecraft/server/dedicated/ServerHangWatchdog$1=CL_00002633 +net/minecraft/server/dedicated/ServerHangWatchdog$1.(Lnet/minecraft/server/dedicated/ServerHangWatchdog;)V=|p_i46309_1_ +net/minecraft/server/dedicated/ServerHangWatchdog.(Lnet/minecraft/server/dedicated/DedicatedServer;)V=|p_i46310_1_ +net/minecraft/server/gui/MinecraftServerGui=CL_00001789 +net/minecraft/server/gui/MinecraftServerGui$1=CL_00001791 +net/minecraft/server/gui/MinecraftServerGui$1.(Lnet/minecraft/server/dedicated/DedicatedServer;)V=|p_i1223_1_ +net/minecraft/server/gui/MinecraftServerGui$2=CL_00001790 +net/minecraft/server/gui/MinecraftServerGui$2.(Lnet/minecraft/server/gui/MinecraftServerGui;Ljavax/swing/JTextField;)V=|p_i1222_1_,p_i1222_2_ +net/minecraft/server/gui/MinecraftServerGui$3=CL_00001794 +net/minecraft/server/gui/MinecraftServerGui$3.(Lnet/minecraft/server/gui/MinecraftServerGui;)V=|p_i46370_1_ +net/minecraft/server/gui/MinecraftServerGui$4=CL_00001793 +net/minecraft/server/gui/MinecraftServerGui$4.(Lnet/minecraft/server/gui/MinecraftServerGui;Ljavax/swing/JTextArea;Ljavax/swing/JScrollPane;)V=|p_i45281_1_,p_i45281_2_,p_i45281_3_ +net/minecraft/server/gui/MinecraftServerGui$5=CL_00001792 +net/minecraft/server/gui/MinecraftServerGui$5.(Lnet/minecraft/server/gui/MinecraftServerGui;Ljavax/swing/JTextArea;Ljavax/swing/JScrollPane;Ljava/lang/String;)V=|p_i46369_1_,p_i46369_2_,p_i46369_3_,p_i46369_4_ +net/minecraft/server/gui/MinecraftServerGui.(Lnet/minecraft/server/dedicated/DedicatedServer;)V=|p_i2362_1_ +net/minecraft/server/gui/PlayerListComponent=CL_00001795 +net/minecraft/server/gui/PlayerListComponent.(Lnet/minecraft/server/MinecraftServer;)V=|p_i2366_1_ +net/minecraft/server/gui/StatsComponent=CL_00001796 +net/minecraft/server/gui/StatsComponent$1=CL_00001797 +net/minecraft/server/gui/StatsComponent$1.(Lnet/minecraft/server/gui/StatsComponent;)V=|p_i2368_1_ +net/minecraft/server/gui/StatsComponent.(Lnet/minecraft/server/MinecraftServer;)V=|p_i2367_1_ +net/minecraft/server/integrated/IntegratedPlayerList=CL_00001128 +net/minecraft/server/integrated/IntegratedPlayerList.(Lnet/minecraft/server/integrated/IntegratedServer;)V=|p_i1314_1_ +net/minecraft/server/integrated/IntegratedServer=CL_00001129 +net/minecraft/server/integrated/IntegratedServer$1=CL_00001130 +net/minecraft/server/integrated/IntegratedServer$1.(Lnet/minecraft/server/integrated/IntegratedServer;)V=|p_i1315_1_ +net/minecraft/server/integrated/IntegratedServer$2=CL_00001131 +net/minecraft/server/integrated/IntegratedServer$2.(Lnet/minecraft/server/integrated/IntegratedServer;)V=|p_i1316_1_ +net/minecraft/server/integrated/IntegratedServer$3=CL_00002380 +net/minecraft/server/integrated/IntegratedServer$3.(Lnet/minecraft/server/integrated/IntegratedServer;)V=|p_i46069_1_ +net/minecraft/server/integrated/IntegratedServer.(Lnet/minecraft/client/Minecraft;)V=|p_i46070_1_ +net/minecraft/server/integrated/IntegratedServer.(Lnet/minecraft/client/Minecraft;Ljava/lang/String;Ljava/lang/String;Lnet/minecraft/world/WorldSettings;)V=|p_i1317_1_,p_i1317_2_,p_i1317_3_,p_i1317_4_ +net/minecraft/server/integrated/IntegratedServer.func_71197_b()Z=java/io/IOException| +net/minecraft/server/integrated/IntegratedServer.func_71217_p()V-Access=PUBLIC +net/minecraft/server/integrated/IntegratedServerCommandManager=CL_00002379 +net/minecraft/server/management/BanEntry=CL_00001395 +net/minecraft/server/management/BanEntry.(Ljava/lang/Object;Lcom/google/gson/JsonObject;)V=|p_i1174_1_,p_i1174_2_ +net/minecraft/server/management/BanEntry.(Ljava/lang/Object;Ljava/util/Date;Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;)V=|p_i46334_1_,p_i46334_2_,p_i46334_3_,p_i46334_4_,p_i46334_5_ +net/minecraft/server/management/BanList=CL_00001396 +net/minecraft/server/management/BanList.(Ljava/io/File;)V=|p_i1490_1_ +net/minecraft/server/management/IPBanEntry=CL_00001883 +net/minecraft/server/management/IPBanEntry.(Lcom/google/gson/JsonObject;)V=|p_i46331_1_ +net/minecraft/server/management/IPBanEntry.(Ljava/lang/String;)V=|p_i46330_1_ +net/minecraft/server/management/IPBanEntry.(Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;)V=|p_i1159_1_,p_i1159_2_,p_i1159_3_,p_i1159_4_,p_i1159_5_ +net/minecraft/server/management/ItemInWorldManager=CL_00001442 +net/minecraft/server/management/ItemInWorldManager.(Lnet/minecraft/world/World;)V=|p_i1524_1_ +net/minecraft/server/management/LowerStringMap=CL_00001488 +net/minecraft/server/management/PlayerManager=CL_00001434 +net/minecraft/server/management/PlayerManager$PlayerInstance=CL_00001435 +net/minecraft/server/management/PlayerManager$PlayerInstance.(Lnet/minecraft/server/management/PlayerManager;II)V=|p_i1518_1_,p_i1518_2_,p_i1518_3_ +net/minecraft/server/management/PlayerManager.(Lnet/minecraft/world/WorldServer;)V=|p_i1176_1_ +net/minecraft/server/management/PlayerProfileCache=CL_00001888 +net/minecraft/server/management/PlayerProfileCache$1=CL_00001887 +net/minecraft/server/management/PlayerProfileCache$1.([Lcom/mojang/authlib/GameProfile;)V=|p_i1169_1_ +net/minecraft/server/management/PlayerProfileCache$2=CL_00001886 +net/minecraft/server/management/PlayerProfileCache$ProfileEntry=CL_00001885 +net/minecraft/server/management/PlayerProfileCache$ProfileEntry.(Lnet/minecraft/server/management/PlayerProfileCache;Lcom/mojang/authlib/GameProfile;Ljava/util/Date;)V=|p_i46333_1_,p_i46333_2_,p_i46333_3_ +net/minecraft/server/management/PlayerProfileCache$ProfileEntry.(Lnet/minecraft/server/management/PlayerProfileCache;Lcom/mojang/authlib/GameProfile;Ljava/util/Date;Lnet/minecraft/server/management/PlayerProfileCache$1;)V=|p_i1166_1_,p_i1166_2_,p_i1166_3_,p_i1166_4_ +net/minecraft/server/management/PlayerProfileCache$Serializer=CL_00001884 +net/minecraft/server/management/PlayerProfileCache$Serializer.(Lnet/minecraft/server/management/PlayerProfileCache;)V=|p_i1162_1_ +net/minecraft/server/management/PlayerProfileCache$Serializer.(Lnet/minecraft/server/management/PlayerProfileCache;Lnet/minecraft/server/management/PlayerProfileCache$1;)V=|p_i46332_1_,p_i46332_2_ +net/minecraft/server/management/PlayerProfileCache.(Lnet/minecraft/server/MinecraftServer;Ljava/io/File;)V=|p_i1171_1_,p_i1171_2_ +net/minecraft/server/management/PreYggdrasilConverter=CL_00001882 +net/minecraft/server/management/PreYggdrasilConverter$1=CL_00001881 +net/minecraft/server/management/PreYggdrasilConverter$2=CL_00001910 +net/minecraft/server/management/PreYggdrasilConverter$2.(Lnet/minecraft/server/MinecraftServer;Ljava/util/Map;Lnet/minecraft/server/management/UserListBans;)V=|p_i1218_1_,p_i1218_2_,p_i1218_3_ +net/minecraft/server/management/PreYggdrasilConverter$3=CL_00001909 +net/minecraft/server/management/PreYggdrasilConverter$3.(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/server/management/UserListOps;)V=|p_i1216_1_,p_i1216_2_ +net/minecraft/server/management/PreYggdrasilConverter$4=CL_00001908 +net/minecraft/server/management/PreYggdrasilConverter$4.(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/server/management/UserListWhitelist;)V=|p_i46368_1_,p_i46368_2_ +net/minecraft/server/management/PreYggdrasilConverter$5=CL_00001880 +net/minecraft/server/management/PreYggdrasilConverter$5.(Lnet/minecraft/server/MinecraftServer;Ljava/util/List;)V=|p_i46329_1_,p_i46329_2_ +net/minecraft/server/management/PreYggdrasilConverter$6=CL_00001907 +net/minecraft/server/management/PreYggdrasilConverter$6.(Lnet/minecraft/server/dedicated/DedicatedServer;Ljava/io/File;Ljava/io/File;Ljava/io/File;[Ljava/lang/String;)V=|p_i1212_1_,p_i1212_2_,p_i1212_3_,p_i1212_4_,p_i1212_5_ +net/minecraft/server/management/PreYggdrasilConverter$ConversionError=CL_00001905 +net/minecraft/server/management/PreYggdrasilConverter$ConversionError.(Ljava/lang/String;)V=|p_i1207_1_ +net/minecraft/server/management/PreYggdrasilConverter$ConversionError.(Ljava/lang/String;Ljava/lang/Throwable;)V=|p_i1206_1_,p_i1206_2_ +net/minecraft/server/management/PreYggdrasilConverter$ConversionError.(Ljava/lang/String;Ljava/lang/Throwable;Lnet/minecraft/server/management/PreYggdrasilConverter$1;)V=|p_i46367_1_,p_i46367_2_,p_i46367_3_ +net/minecraft/server/management/PreYggdrasilConverter$ConversionError.(Ljava/lang/String;Lnet/minecraft/server/management/PreYggdrasilConverter$1;)V=|p_i1208_1_,p_i1208_2_ +net/minecraft/server/management/PreYggdrasilConverter.func_152710_d(Lnet/minecraft/server/MinecraftServer;)Z=java/io/IOException| +net/minecraft/server/management/PreYggdrasilConverter.func_152718_c(Lnet/minecraft/server/MinecraftServer;)Z=java/io/IOException| +net/minecraft/server/management/PreYggdrasilConverter.func_152721_a(Ljava/io/File;Ljava/util/Map;)Ljava/util/List;=java/io/IOException| +net/minecraft/server/management/PreYggdrasilConverter.func_152722_b(Lnet/minecraft/server/MinecraftServer;)Z=java/io/IOException| +net/minecraft/server/management/PreYggdrasilConverter.func_152724_a(Lnet/minecraft/server/MinecraftServer;)Z=java/io/IOException| +net/minecraft/server/management/ServerConfigurationManager=CL_00001423 +net/minecraft/server/management/ServerConfigurationManager$1=CL_00002267 +net/minecraft/server/management/ServerConfigurationManager$1.(Lnet/minecraft/server/management/ServerConfigurationManager;)V=|p_i45911_1_ +net/minecraft/server/management/ServerConfigurationManager.(Lnet/minecraft/server/MinecraftServer;)V=|p_i1500_1_ +net/minecraft/server/management/UserList=CL_00001876 +net/minecraft/server/management/UserList$1=CL_00001875 +net/minecraft/server/management/UserList$Serializer=CL_00001874 +net/minecraft/server/management/UserList$Serializer.(Lnet/minecraft/server/management/UserList;)V=|p_i1140_1_ +net/minecraft/server/management/UserList$Serializer.(Lnet/minecraft/server/management/UserList;Lnet/minecraft/server/management/UserList$1;)V=|p_i1141_1_,p_i1141_2_ +net/minecraft/server/management/UserList.(Ljava/io/File;)V=|p_i1144_1_ +net/minecraft/server/management/UserList.func_152678_f()V=java/io/IOException| +net/minecraft/server/management/UserList.func_152679_g()V=java/io/IOException| +net/minecraft/server/management/UserListBans=CL_00001873 +net/minecraft/server/management/UserListBans.(Ljava/io/File;)V=|p_i1138_1_ +net/minecraft/server/management/UserListBansEntry=CL_00001872 +net/minecraft/server/management/UserListBansEntry.(Lcom/google/gson/JsonObject;)V=|p_i1136_1_ +net/minecraft/server/management/UserListBansEntry.(Lcom/mojang/authlib/GameProfile;)V=|p_i1134_1_ +net/minecraft/server/management/UserListBansEntry.(Lcom/mojang/authlib/GameProfile;Ljava/util/Date;Ljava/lang/String;Ljava/util/Date;Ljava/lang/String;)V=|p_i1135_1_,p_i1135_2_,p_i1135_3_,p_i1135_4_,p_i1135_5_ +net/minecraft/server/management/UserListEntry=CL_00001877 +net/minecraft/server/management/UserListEntry.(Ljava/lang/Object;)V=|p_i1146_1_ +net/minecraft/server/management/UserListEntry.(Ljava/lang/Object;Lcom/google/gson/JsonObject;)V=|p_i1147_1_,p_i1147_2_ +net/minecraft/server/management/UserListOps=CL_00001879 +net/minecraft/server/management/UserListOps.(Ljava/io/File;)V=|p_i1152_1_ +net/minecraft/server/management/UserListOpsEntry=CL_00001878 +net/minecraft/server/management/UserListOpsEntry.(Lcom/google/gson/JsonObject;)V=|p_i1150_1_ +net/minecraft/server/management/UserListOpsEntry.(Lcom/mojang/authlib/GameProfile;I)V=|p_i46328_1_,p_i46328_2_ +net/minecraft/server/management/UserListWhitelist=CL_00001871 +net/minecraft/server/management/UserListWhitelist.(Ljava/io/File;)V=|p_i1132_1_ +net/minecraft/server/management/UserListWhitelistEntry=CL_00001870 +net/minecraft/server/management/UserListWhitelistEntry.(Lcom/google/gson/JsonObject;)V=|p_i1130_1_ +net/minecraft/server/management/UserListWhitelistEntry.(Lcom/mojang/authlib/GameProfile;)V=|p_i1129_1_ +net/minecraft/server/network/NetHandlerHandshakeTCP=CL_00001456 +net/minecraft/server/network/NetHandlerHandshakeTCP$SwitchEnumConnectionState=CL_00001457 +net/minecraft/server/network/NetHandlerHandshakeTCP.(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/network/NetworkManager;)V=|p_i45295_1_,p_i45295_2_ +net/minecraft/server/network/NetHandlerLoginServer=CL_00001458 +net/minecraft/server/network/NetHandlerLoginServer$1=CL_00001459 +net/minecraft/server/network/NetHandlerLoginServer$1.(Lnet/minecraft/server/network/NetHandlerLoginServer;)V=|p_i45913_1_ +net/minecraft/server/network/NetHandlerLoginServer$2=CL_00002268 +net/minecraft/server/network/NetHandlerLoginServer$2.(Lnet/minecraft/server/network/NetHandlerLoginServer;Ljava/lang/String;)V=|p_i45912_1_,p_i45912_2_ +net/minecraft/server/network/NetHandlerLoginServer$LoginState=CL_00001463 +net/minecraft/server/network/NetHandlerLoginServer$LoginState.(Ljava/lang/String;I)V=|p_i45297_1_,p_i45297_2_ +net/minecraft/server/network/NetHandlerLoginServer.(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/network/NetworkManager;)V=|p_i45298_1_,p_i45298_2_ +net/minecraft/server/network/NetHandlerStatusServer=CL_00001464 +net/minecraft/server/network/NetHandlerStatusServer.(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/network/NetworkManager;)V=|p_i45299_1_,p_i45299_2_ +net/minecraft/src/com=CL_00002454 +net/minecraft/stats/Achievement=CL_00001466 +net/minecraft/stats/Achievement.(Ljava/lang/String;Ljava/lang/String;IILnet/minecraft/block/Block;Lnet/minecraft/stats/Achievement;)V=|p_i45301_1_,p_i45301_2_,p_i45301_3_,p_i45301_4_,p_i45301_5_,p_i45301_6_ +net/minecraft/stats/Achievement.(Ljava/lang/String;Ljava/lang/String;IILnet/minecraft/item/Item;Lnet/minecraft/stats/Achievement;)V=|p_i46327_1_,p_i46327_2_,p_i46327_3_,p_i46327_4_,p_i46327_5_,p_i46327_6_ +net/minecraft/stats/Achievement.(Ljava/lang/String;Ljava/lang/String;IILnet/minecraft/item/ItemStack;Lnet/minecraft/stats/Achievement;)V=|p_i45302_1_,p_i45302_2_,p_i45302_3_,p_i45302_4_,p_i45302_5_,p_i45302_6_ +net/minecraft/stats/AchievementList=CL_00001467 +net/minecraft/stats/ObjectiveStat=CL_00000625 +net/minecraft/stats/ObjectiveStat.(Lnet/minecraft/stats/StatBase;)V=|p_i45483_1_ +net/minecraft/stats/StatBase=CL_00001472 +net/minecraft/stats/StatBase$1=CL_00001473 +net/minecraft/stats/StatBase$2=CL_00001474 +net/minecraft/stats/StatBase$3=CL_00001475 +net/minecraft/stats/StatBase$4=CL_00001476 +net/minecraft/stats/StatBase.(Ljava/lang/String;Lnet/minecraft/util/IChatComponent;)V=|p_i45308_1_,p_i45308_2_ +net/minecraft/stats/StatBase.(Ljava/lang/String;Lnet/minecraft/util/IChatComponent;Lnet/minecraft/stats/IStatType;)V=|p_i45307_1_,p_i45307_2_,p_i45307_3_ +net/minecraft/stats/StatBasic=CL_00001469 +net/minecraft/stats/StatBasic.(Ljava/lang/String;Lnet/minecraft/util/IChatComponent;)V=|p_i45304_1_,p_i45304_2_ +net/minecraft/stats/StatBasic.(Ljava/lang/String;Lnet/minecraft/util/IChatComponent;Lnet/minecraft/stats/IStatType;)V=|p_i45303_1_,p_i45303_2_,p_i45303_3_ +net/minecraft/stats/StatCrafting=CL_00001470 +net/minecraft/stats/StatCrafting.(Ljava/lang/String;Ljava/lang/String;Lnet/minecraft/util/IChatComponent;Lnet/minecraft/item/Item;)V=|p_i45910_1_,p_i45910_2_,p_i45910_3_,p_i45910_4_ +net/minecraft/stats/StatFileWriter=CL_00001481 +net/minecraft/stats/StatList=CL_00001480 +net/minecraft/stats/StatisticsFile=CL_00001471 +net/minecraft/stats/StatisticsFile.(Lnet/minecraft/server/MinecraftServer;Ljava/io/File;)V=|p_i45306_1_,p_i45306_2_ +net/minecraft/tileentity/MobSpawnerBaseLogic=CL_00000129 +net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart=CL_00000130 +net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart.(Lnet/minecraft/tileentity/MobSpawnerBaseLogic;Lnet/minecraft/nbt/NBTTagCompound;)V=|p_i1945_1_,p_i1945_2_ +net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart.(Lnet/minecraft/tileentity/MobSpawnerBaseLogic;Lnet/minecraft/nbt/NBTTagCompound;Ljava/lang/String;)V=|p_i1946_1_,p_i1946_2_,p_i1946_3_ +net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart.(Lnet/minecraft/tileentity/MobSpawnerBaseLogic;Lnet/minecraft/nbt/NBTTagCompound;Ljava/lang/String;I)V=|p_i45757_1_,p_i45757_2_,p_i45757_3_,p_i45757_4_ +net/minecraft/tileentity/TileEntity=CL_00000340 +net/minecraft/tileentity/TileEntity$1=CL_00000341 +net/minecraft/tileentity/TileEntity$1.(Lnet/minecraft/tileentity/TileEntity;)V=|p_i45438_1_ +net/minecraft/tileentity/TileEntity$2=CL_00000343 +net/minecraft/tileentity/TileEntity$2.(Lnet/minecraft/tileentity/TileEntity;)V=|p_i45439_1_ +net/minecraft/tileentity/TileEntity$3=CL_00000344 +net/minecraft/tileentity/TileEntity$3.(Lnet/minecraft/tileentity/TileEntity;)V=|p_i45440_1_ +net/minecraft/tileentity/TileEntityBanner=CL_00002044 +net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern=CL_00002043 +net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern.(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V=|p_i45670_1_,p_i45670_2_,p_i45670_3_,p_i45670_4_ +net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern.(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V=|p_i45672_1_,p_i45672_2_,p_i45672_3_,p_i45672_4_,p_i45672_5_,p_i45672_6_,p_i45672_7_ +net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern.(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Lnet/minecraft/item/ItemStack;)V=|p_i45671_1_,p_i45671_2_,p_i45671_3_,p_i45671_4_,p_i45671_5_ +net/minecraft/tileentity/TileEntityBeacon=CL_00000339 +net/minecraft/tileentity/TileEntityBeacon$BeamSegment=CL_00002042 +net/minecraft/tileentity/TileEntityBeacon$BeamSegment.([F)V=|p_i45669_1_ +net/minecraft/tileentity/TileEntityBrewingStand=CL_00000345 +net/minecraft/tileentity/TileEntityChest=CL_00000346 +net/minecraft/tileentity/TileEntityChest$SwitchEnumFacing=CL_00002041 +net/minecraft/tileentity/TileEntityChest.(I)V=|p_i2350_1_ +net/minecraft/tileentity/TileEntityCommandBlock=CL_00000347 +net/minecraft/tileentity/TileEntityCommandBlock$1=CL_00000348 +net/minecraft/tileentity/TileEntityCommandBlock$1.(Lnet/minecraft/tileentity/TileEntityCommandBlock;)V=|p_i45441_1_ +net/minecraft/tileentity/TileEntityComparator=CL_00000349 +net/minecraft/tileentity/TileEntityDaylightDetector=CL_00000350 +net/minecraft/tileentity/TileEntityDispenser=CL_00000352 +net/minecraft/tileentity/TileEntityDropper=CL_00000353 +net/minecraft/tileentity/TileEntityEnchantmentTable=CL_00000354 +net/minecraft/tileentity/TileEntityEndPortal=CL_00000365 +net/minecraft/tileentity/TileEntityEnderChest=CL_00000355 +net/minecraft/tileentity/TileEntityFlowerPot=CL_00000356 +net/minecraft/tileentity/TileEntityFlowerPot.(Lnet/minecraft/item/Item;I)V=|p_i45442_1_,p_i45442_2_ +net/minecraft/tileentity/TileEntityFurnace=CL_00000357 +net/minecraft/tileentity/TileEntityHopper=CL_00000359 +net/minecraft/tileentity/TileEntityLockable=CL_00002040 +net/minecraft/tileentity/TileEntityMobSpawner=CL_00000360 +net/minecraft/tileentity/TileEntityMobSpawner$1=CL_00000361 +net/minecraft/tileentity/TileEntityMobSpawner$1.(Lnet/minecraft/tileentity/TileEntityMobSpawner;)V=|p_i2292_1_ +net/minecraft/tileentity/TileEntityNote=CL_00000362 +net/minecraft/tileentity/TileEntityPiston=CL_00000369 +net/minecraft/tileentity/TileEntityPiston$SwitchAxis=CL_00002034 +net/minecraft/tileentity/TileEntityPiston.(Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;ZZ)V=|p_i45665_1_,p_i45665_2_,p_i45665_3_,p_i45665_4_ +net/minecraft/tileentity/TileEntitySign=CL_00000363 +net/minecraft/tileentity/TileEntitySign$1=CL_00002039 +net/minecraft/tileentity/TileEntitySign$1.(Lnet/minecraft/tileentity/TileEntitySign;)V=|p_i45668_1_ +net/minecraft/tileentity/TileEntitySign$2=CL_00002038 +net/minecraft/tileentity/TileEntitySign$2.(Lnet/minecraft/tileentity/TileEntitySign;Lnet/minecraft/entity/player/EntityPlayer;)V=|p_i45667_1_,p_i45667_2_ +net/minecraft/tileentity/TileEntitySkull=CL_00000364 +net/minecraft/util/AxisAlignedBB=CL_00000607 +net/minecraft/util/AxisAlignedBB.(DDDDDD)V=|p_i2300_1_,p_i2300_3_,p_i2300_5_,p_i2300_7_,p_i2300_9_,p_i2300_11_ +net/minecraft/util/AxisAlignedBB.(Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;)V=|p_i45554_1_,p_i45554_2_ +net/minecraft/util/BlockPos=CL_00002334 +net/minecraft/util/BlockPos$1=CL_00002333 +net/minecraft/util/BlockPos$1$1=CL_00002332 +net/minecraft/util/BlockPos$1$1.(Lnet/minecraft/util/BlockPos$1;)V=|p_i46028_1_ +net/minecraft/util/BlockPos$1.(Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;)V=|p_i46029_1_,p_i46029_2_ +net/minecraft/util/BlockPos$2=CL_00002331 +net/minecraft/util/BlockPos$2$1=CL_00002330 +net/minecraft/util/BlockPos$2$1.(Lnet/minecraft/util/BlockPos$2;)V=|p_i46026_1_ +net/minecraft/util/BlockPos$2.(Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;)V=|p_i46027_1_,p_i46027_2_ +net/minecraft/util/BlockPos$MutableBlockPos=CL_00002329 +net/minecraft/util/BlockPos$MutableBlockPos.(III)V=|p_i46024_1_,p_i46024_2_,p_i46024_3_ +net/minecraft/util/BlockPos$MutableBlockPos.(IIILnet/minecraft/util/BlockPos$1;)V=|p_i46025_1_,p_i46025_2_,p_i46025_3_,p_i46025_4_ +net/minecraft/util/BlockPos.(DDD)V=|p_i46031_1_,p_i46031_3_,p_i46031_5_ +net/minecraft/util/BlockPos.(III)V=|p_i46030_1_,p_i46030_2_,p_i46030_3_ +net/minecraft/util/BlockPos.(Lnet/minecraft/entity/Entity;)V=|p_i46032_1_ +net/minecraft/util/BlockPos.(Lnet/minecraft/util/Vec3;)V=|p_i46033_1_ +net/minecraft/util/BlockPos.(Lnet/minecraft/util/Vec3i;)V=|p_i46034_1_ +net/minecraft/util/Cartesian=CL_00002327 +net/minecraft/util/Cartesian$1=CL_00002326 +net/minecraft/util/Cartesian$GetList=CL_00002325 +net/minecraft/util/Cartesian$GetList.(Lnet/minecraft/util/Cartesian$1;)V=|p_i46022_1_ +net/minecraft/util/Cartesian$Product=CL_00002324 +net/minecraft/util/Cartesian$Product$ProductIterator=CL_00002323 +net/minecraft/util/Cartesian$Product$ProductIterator.(Ljava/lang/Class;[Ljava/lang/Iterable;)V=|p_i46018_1_,p_i46018_2_ +net/minecraft/util/Cartesian$Product$ProductIterator.(Ljava/lang/Class;[Ljava/lang/Iterable;Lnet/minecraft/util/Cartesian$1;)V=|p_i46019_1_,p_i46019_2_,p_i46019_3_ +net/minecraft/util/Cartesian$Product.(Ljava/lang/Class;[Ljava/lang/Iterable;)V=|p_i46020_1_,p_i46020_2_ +net/minecraft/util/Cartesian$Product.(Ljava/lang/Class;[Ljava/lang/Iterable;Lnet/minecraft/util/Cartesian$1;)V=|p_i46021_1_,p_i46021_2_,p_i46021_3_ +net/minecraft/util/ChatAllowedCharacters=CL_00001606 +net/minecraft/util/ChatComponentProcessor=CL_00002310 +net/minecraft/util/ChatComponentProcessor.func_179985_a(Lnet/minecraft/command/ICommandSender;Lnet/minecraft/util/IChatComponent;Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/IChatComponent;=net.minecraft.command.CommandException| +net/minecraft/util/ChatComponentScore=CL_00002309 +net/minecraft/util/ChatComponentScore.(Ljava/lang/String;Ljava/lang/String;)V=|p_i45997_1_,p_i45997_2_ +net/minecraft/util/ChatComponentSelector=CL_00002308 +net/minecraft/util/ChatComponentSelector.(Ljava/lang/String;)V=|p_i45996_1_ +net/minecraft/util/ChatComponentStyle=CL_00001257 +net/minecraft/util/ChatComponentStyle$1=CL_00001258 +net/minecraft/util/ChatComponentStyle$2=CL_00001259 +net/minecraft/util/ChatComponentText=CL_00001269 +net/minecraft/util/ChatComponentText.(Ljava/lang/String;)V=|p_i45159_1_ +net/minecraft/util/ChatComponentTranslation=CL_00001270 +net/minecraft/util/ChatComponentTranslation.(Ljava/lang/String;[Ljava/lang/Object;)V=|p_i45160_1_,p_i45160_2_ +net/minecraft/util/ChatComponentTranslationFormatException=CL_00001271 +net/minecraft/util/ChatComponentTranslationFormatException.(Lnet/minecraft/util/ChatComponentTranslation;I)V=|p_i45162_1_,p_i45162_2_ +net/minecraft/util/ChatComponentTranslationFormatException.(Lnet/minecraft/util/ChatComponentTranslation;Ljava/lang/String;)V=|p_i45161_1_,p_i45161_2_ +net/minecraft/util/ChatComponentTranslationFormatException.(Lnet/minecraft/util/ChatComponentTranslation;Ljava/lang/Throwable;)V=|p_i45163_1_,p_i45163_2_ +net/minecraft/util/ChatStyle=CL_00001266 +net/minecraft/util/ChatStyle$1=CL_00001267 +net/minecraft/util/ChatStyle$Serializer=CL_00001268 +net/minecraft/util/ClassInheritanceMultiMap=CL_00002266 +net/minecraft/util/ClassInheritanceMultiMap$1=CL_00002265 +net/minecraft/util/ClassInheritanceMultiMap$1.(Lnet/minecraft/util/ClassInheritanceMultiMap;Ljava/lang/Class;)V=|p_i45908_1_,p_i45908_2_ +net/minecraft/util/ClassInheritanceMultiMap$2=CL_00002264 +net/minecraft/util/ClassInheritanceMultiMap$2.(Lnet/minecraft/util/ClassInheritanceMultiMap;Ljava/util/Iterator;)V=|p_i45907_1_,p_i45907_2_ +net/minecraft/util/ClassInheritanceMultiMap.(Ljava/lang/Class;)V=|p_i45909_1_ +net/minecraft/util/CombatEntry=CL_00001519 +net/minecraft/util/CombatEntry.(Lnet/minecraft/util/DamageSource;IFFLjava/lang/String;F)V=|p_i1564_1_,p_i1564_2_,p_i1564_3_,p_i1564_4_,p_i1564_5_,p_i1564_6_ +net/minecraft/util/CombatTracker=CL_00001520 +net/minecraft/util/CombatTracker.(Lnet/minecraft/entity/EntityLivingBase;)V=|p_i1565_1_ +net/minecraft/util/CryptManager=CL_00001483 +net/minecraft/util/DamageSource=CL_00001521 +net/minecraft/util/DamageSource.(Ljava/lang/String;)V=|p_i1566_1_ +net/minecraft/util/EnchantmentNameParts=CL_00000756 +net/minecraft/util/EntityDamageSource=CL_00001522 +net/minecraft/util/EntityDamageSource.(Ljava/lang/String;Lnet/minecraft/entity/Entity;)V=|p_i1567_1_,p_i1567_2_ +net/minecraft/util/EntityDamageSourceIndirect=CL_00001523 +net/minecraft/util/EntityDamageSourceIndirect.(Ljava/lang/String;Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/Entity;)V=|p_i1568_1_,p_i1568_2_,p_i1568_3_ +net/minecraft/util/EnumChatFormatting=CL_00000342 +net/minecraft/util/EnumChatFormatting.(Ljava/lang/String;ILjava/lang/String;CI)V=|p_i46291_1_,p_i46291_2_,p_i46291_3_,p_i46291_4_,p_i46291_5_ +net/minecraft/util/EnumChatFormatting.(Ljava/lang/String;ILjava/lang/String;CZ)V=|p_i46292_1_,p_i46292_2_,p_i46292_3_,p_i46292_4_,p_i46292_5_ +net/minecraft/util/EnumChatFormatting.(Ljava/lang/String;ILjava/lang/String;CZI)V=|p_i46293_1_,p_i46293_2_,p_i46293_3_,p_i46293_4_,p_i46293_5_,p_i46293_6_ +net/minecraft/util/EnumFacing=CL_00001201 +net/minecraft/util/EnumFacing$Axis=CL_00002321 +net/minecraft/util/EnumFacing$Axis.(Ljava/lang/String;ILjava/lang/String;Lnet/minecraft/util/EnumFacing$Plane;)V=|p_i46015_1_,p_i46015_2_,p_i46015_3_,p_i46015_4_ +net/minecraft/util/EnumFacing$AxisDirection=CL_00002320 +net/minecraft/util/EnumFacing$AxisDirection.(Ljava/lang/String;IILjava/lang/String;)V=|p_i46014_1_,p_i46014_2_,p_i46014_3_,p_i46014_4_ +net/minecraft/util/EnumFacing$Plane=CL_00002319 +net/minecraft/util/EnumFacing$Plane.(Ljava/lang/String;I)V=|p_i46013_1_,p_i46013_2_ +net/minecraft/util/EnumFacing$SwitchPlane=CL_00002322 +net/minecraft/util/EnumFacing.(Ljava/lang/String;IIIILjava/lang/String;Lnet/minecraft/util/EnumFacing$AxisDirection;Lnet/minecraft/util/EnumFacing$Axis;Lnet/minecraft/util/Vec3i;)V=|p_i46016_1_,p_i46016_2_,p_i46016_3_,p_i46016_4_,p_i46016_5_,p_i46016_6_,p_i46016_7_,p_i46016_8_,p_i46016_9_ +net/minecraft/util/EnumTypeAdapterFactory=CL_00001494 +net/minecraft/util/EnumTypeAdapterFactory$1=CL_00001495 +net/minecraft/util/EnumTypeAdapterFactory$1.(Lnet/minecraft/util/EnumTypeAdapterFactory;Ljava/util/Map;)V=|p_i45310_1_,p_i45310_2_ +net/minecraft/util/EnumTypeAdapterFactory$1.read(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;=java/io/IOException| +net/minecraft/util/EnumTypeAdapterFactory$1.write(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V=java/io/IOException| +net/minecraft/util/EnumWorldBlockLayer=CL_00002152 +net/minecraft/util/EnumWorldBlockLayer.(Ljava/lang/String;ILjava/lang/String;)V=|p_i45755_1_,p_i45755_2_,p_i45755_3_ +net/minecraft/util/FoodStats=CL_00001729 +net/minecraft/util/HttpUtil=CL_00001485 +net/minecraft/util/HttpUtil$1=CL_00001486 +net/minecraft/util/HttpUtil$1.(Lnet/minecraft/util/IProgressUpdate;Ljava/lang/String;Ljava/net/Proxy;Ljava/util/Map;Ljava/io/File;I)V=|p_i45906_1_,p_i45906_2_,p_i45906_3_,p_i45906_4_,p_i45906_5_,p_i45906_6_ +net/minecraft/util/HttpUtil.func_152755_a(Ljava/net/URL;)Ljava/lang/String;=java/io/IOException| +net/minecraft/util/HttpUtil.func_76181_a()I=java/io/IOException| +net/minecraft/util/IChatComponent$Serializer=CL_00001263 +net/minecraft/util/IntHashMap=CL_00001490 +net/minecraft/util/IntHashMap$Entry=CL_00001491 +net/minecraft/util/IntHashMap$Entry.(IILjava/lang/Object;Lnet/minecraft/util/IntHashMap$Entry;)V=|p_i1552_1_,p_i1552_2_,p_i1552_3_,p_i1552_4_ +net/minecraft/util/JsonSerializableSet=CL_00001482 +net/minecraft/util/JsonUtils=CL_00001484 +net/minecraft/util/LazyLoadBase=CL_00002263 +net/minecraft/util/LoggingPrintStream=CL_00002275 +net/minecraft/util/LoggingPrintStream.(Ljava/lang/String;Ljava/io/OutputStream;)V=|p_i45927_1_,p_i45927_2_ +net/minecraft/util/LongHashMap=CL_00001492 +net/minecraft/util/LongHashMap$Entry=CL_00001493 +net/minecraft/util/LongHashMap$Entry.(IJLjava/lang/Object;Lnet/minecraft/util/LongHashMap$Entry;)V=|p_i1553_1_,p_i1553_2_,p_i1553_4_,p_i1553_5_ +net/minecraft/util/MapPopulator=CL_00002318 +net/minecraft/util/MathHelper=CL_00001496 +net/minecraft/util/MessageDeserializer=CL_00001252 +net/minecraft/util/MessageDeserializer.(Lnet/minecraft/network/EnumPacketDirection;)V=|p_i45999_1_ +net/minecraft/util/MessageDeserializer.decode(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V=java/io/IOException,java.lang.InstantiationException,java.lang.IllegalAccessException| +net/minecraft/util/MessageDeserializer2=CL_00001255 +net/minecraft/util/MessageSerializer=CL_00001253 +net/minecraft/util/MessageSerializer.(Lnet/minecraft/network/EnumPacketDirection;)V=|p_i45998_1_ +net/minecraft/util/MessageSerializer.encode(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)V=java/io/IOException| +net/minecraft/util/MessageSerializer.encode(Lio/netty/channel/ChannelHandlerContext;Lnet/minecraft/network/Packet;Lio/netty/buffer/ByteBuf;)V=java/io/IOException| +net/minecraft/util/MessageSerializer2=CL_00001256 +net/minecraft/util/MinecraftError=CL_00000657 +net/minecraft/util/MouseFilter=CL_00001500 +net/minecraft/util/MouseHelper=CL_00000648 +net/minecraft/util/MovementInput=CL_00000936 +net/minecraft/util/MovementInputFromOptions=CL_00000937 +net/minecraft/util/MovementInputFromOptions.(Lnet/minecraft/client/settings/GameSettings;)V=|p_i1237_1_ +net/minecraft/util/MovingObjectPosition=CL_00000610 +net/minecraft/util/MovingObjectPosition$MovingObjectType=CL_00000611 +net/minecraft/util/MovingObjectPosition$MovingObjectType.(Ljava/lang/String;I)V=|p_i2302_1_,p_i2302_2_ +net/minecraft/util/MovingObjectPosition.(Lnet/minecraft/entity/Entity;)V=|p_i2304_1_ +net/minecraft/util/MovingObjectPosition.(Lnet/minecraft/entity/Entity;Lnet/minecraft/util/Vec3;)V=|p_i45482_1_,p_i45482_2_ +net/minecraft/util/MovingObjectPosition.(Lnet/minecraft/util/MovingObjectPosition$MovingObjectType;Lnet/minecraft/util/Vec3;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/BlockPos;)V=|p_i45553_1_,p_i45553_2_,p_i45553_3_,p_i45553_4_ +net/minecraft/util/MovingObjectPosition.(Lnet/minecraft/util/Vec3;Lnet/minecraft/util/EnumFacing;)V=|p_i45552_1_,p_i45552_2_ +net/minecraft/util/MovingObjectPosition.(Lnet/minecraft/util/Vec3;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/BlockPos;)V=|p_i45551_1_,p_i45551_2_,p_i45551_3_ +net/minecraft/util/ObjectIntIdentityMap=CL_00001203 +net/minecraft/util/RegistryDefaulted=CL_00001198 +net/minecraft/util/RegistryDefaulted.(Ljava/lang/Object;)V=|p_i1366_1_ +net/minecraft/util/RegistryNamespaced=CL_00001206 +net/minecraft/util/RegistryNamespacedDefaultedByKey=CL_00001196 +net/minecraft/util/RegistryNamespacedDefaultedByKey.(Ljava/lang/Object;)V=|p_i46017_1_ +net/minecraft/util/RegistrySimple=CL_00001210 +net/minecraft/util/ReportedException=CL_00001579 +net/minecraft/util/ReportedException.(Lnet/minecraft/crash/CrashReport;)V=|p_i1356_1_ +net/minecraft/util/ResourceLocation=CL_00001082 +net/minecraft/util/ResourceLocation.(I[Ljava/lang/String;)V=|p_i45928_1_,p_i45928_2_ +net/minecraft/util/ResourceLocation.(Ljava/lang/String;)V=|p_i1293_1_ +net/minecraft/util/ResourceLocation.(Ljava/lang/String;Ljava/lang/String;)V=|p_i1292_1_,p_i1292_2_ +net/minecraft/util/Rotations=CL_00002316 +net/minecraft/util/Rotations.(FFF)V=|p_i46009_1_,p_i46009_2_,p_i46009_3_ +net/minecraft/util/Rotations.(Lnet/minecraft/nbt/NBTTagList;)V=|p_i46010_1_ +net/minecraft/util/ScreenShotHelper=CL_00000656 +net/minecraft/util/Session=CL_00000659 +net/minecraft/util/Session$Type=CL_00001851 +net/minecraft/util/Session$Type.(Ljava/lang/String;ILjava/lang/String;)V=|p_i1096_1_,p_i1096_2_,p_i1096_3_ +net/minecraft/util/Session.(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V=|p_i1098_1_,p_i1098_2_,p_i1098_3_,p_i1098_4_ +net/minecraft/util/StatCollector=CL_00001211 +net/minecraft/util/StringTranslate=CL_00001212 +net/minecraft/util/StringUtils=CL_00001501 +net/minecraft/util/ThreadSafeBoundList=CL_00001868 +net/minecraft/util/ThreadSafeBoundList.(Ljava/lang/Class;I)V=|p_i1126_1_,p_i1126_2_ +net/minecraft/util/Timer=CL_00000658 +net/minecraft/util/Timer.(F)V=|p_i1018_1_ +net/minecraft/util/Tuple=CL_00001502 +net/minecraft/util/Tuple.(Ljava/lang/Object;Ljava/lang/Object;)V=|p_i1555_1_,p_i1555_2_ +net/minecraft/util/TupleIntJsonSerializable=CL_00001478 +net/minecraft/util/Util=CL_00001633 +net/minecraft/util/Util$EnumOS=CL_00001660 +net/minecraft/util/Util$EnumOS.(Ljava/lang/String;I)V=|p_i1357_1_,p_i1357_2_ +net/minecraft/util/Vec3=CL_00000612 +net/minecraft/util/Vec3.(DDD)V=|p_i1108_1_,p_i1108_3_,p_i1108_5_ +net/minecraft/util/Vec3i=CL_00002315 +net/minecraft/util/Vec3i.(DDD)V=|p_i46008_1_,p_i46008_3_,p_i46008_5_ +net/minecraft/util/Vec3i.(III)V=|p_i46007_1_,p_i46007_2_,p_i46007_3_ +net/minecraft/util/Vec4b=CL_00001964 +net/minecraft/util/Vec4b.(BBBB)V=|p_i45555_1_,p_i45555_2_,p_i45555_3_,p_i45555_4_ +net/minecraft/util/Vec4b.(Lnet/minecraft/util/Vec4b;)V=|p_i45556_1_ +net/minecraft/util/WeightedRandom=CL_00001503 +net/minecraft/util/WeightedRandom$Item=CL_00001504 +net/minecraft/util/WeightedRandom$Item.(I)V=|p_i1556_1_ +net/minecraft/util/WeightedRandomChestContent=CL_00001505 +net/minecraft/util/WeightedRandomChestContent.(Lnet/minecraft/item/Item;IIII)V=|p_i45311_1_,p_i45311_2_,p_i45311_3_,p_i45311_4_,p_i45311_5_ +net/minecraft/util/WeightedRandomChestContent.(Lnet/minecraft/item/ItemStack;III)V=|p_i1558_1_,p_i1558_2_,p_i1558_3_,p_i1558_4_ +net/minecraft/util/WeightedRandomFishable=CL_00001664 +net/minecraft/util/WeightedRandomFishable.(Lnet/minecraft/item/ItemStack;I)V=|p_i45317_1_,p_i45317_2_ +net/minecraft/village/MerchantRecipe=CL_00000126 +net/minecraft/village/MerchantRecipe.(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/Item;)V=|p_i1943_1_,p_i1943_2_ +net/minecraft/village/MerchantRecipe.(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)V=|p_i1942_1_,p_i1942_2_ +net/minecraft/village/MerchantRecipe.(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)V=|p_i1941_1_,p_i1941_2_,p_i1941_3_ +net/minecraft/village/MerchantRecipe.(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;II)V=|p_i45760_1_,p_i45760_2_,p_i45760_3_,p_i45760_4_,p_i45760_5_ +net/minecraft/village/MerchantRecipe.(Lnet/minecraft/nbt/NBTTagCompound;)V=|p_i1940_1_ +net/minecraft/village/MerchantRecipeList=CL_00000127 +net/minecraft/village/MerchantRecipeList.(Lnet/minecraft/nbt/NBTTagCompound;)V=|p_i1944_1_ +net/minecraft/village/MerchantRecipeList.func_151390_b(Lnet/minecraft/network/PacketBuffer;)Lnet/minecraft/village/MerchantRecipeList;=java/io/IOException| +net/minecraft/village/Village=CL_00001631 +net/minecraft/village/Village$VillageAggressor=CL_00001632 +net/minecraft/village/Village$VillageAggressor.(Lnet/minecraft/village/Village;Lnet/minecraft/entity/EntityLivingBase;I)V=|p_i1674_1_,p_i1674_2_,p_i1674_3_ +net/minecraft/village/Village.(Lnet/minecraft/world/World;)V=|p_i1675_1_ +net/minecraft/village/VillageCollection=CL_00001635 +net/minecraft/village/VillageCollection.(Ljava/lang/String;)V=|p_i1677_1_ +net/minecraft/village/VillageCollection.(Lnet/minecraft/world/World;)V=|p_i1678_1_ +net/minecraft/village/VillageDoorInfo=CL_00001630 +net/minecraft/village/VillageDoorInfo.(Lnet/minecraft/util/BlockPos;III)V=|p_i45871_1_,p_i45871_2_,p_i45871_3_,p_i45871_4_ +net/minecraft/village/VillageDoorInfo.(Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;I)V=|p_i45872_1_,p_i45872_2_,p_i45872_3_ +net/minecraft/village/VillageSiege=CL_00001634 +net/minecraft/village/VillageSiege.(Lnet/minecraft/world/World;)V=|p_i1676_1_ +net/minecraft/world/ChunkCache=CL_00000155 +net/minecraft/world/ChunkCache.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;I)V=|p_i45746_1_,p_i45746_2_,p_i45746_3_,p_i45746_4_ +net/minecraft/world/ChunkCoordIntPair=CL_00000133 +net/minecraft/world/ChunkCoordIntPair.(II)V=|p_i1947_1_,p_i1947_2_ +net/minecraft/world/ColorizerFoliage=CL_00000135 +net/minecraft/world/ColorizerGrass=CL_00000138 +net/minecraft/world/DifficultyInstance=CL_00002261 +net/minecraft/world/DifficultyInstance.(Lnet/minecraft/world/EnumDifficulty;JJF)V=|p_i45904_1_,p_i45904_2_,p_i45904_4_,p_i45904_6_ +net/minecraft/world/EnumDifficulty=CL_00001510 +net/minecraft/world/EnumDifficulty.(Ljava/lang/String;IILjava/lang/String;)V=|p_i45312_1_,p_i45312_2_,p_i45312_3_,p_i45312_4_ +net/minecraft/world/EnumSkyBlock=CL_00000151 +net/minecraft/world/EnumSkyBlock.(Ljava/lang/String;II)V=|p_i1961_1_,p_i1961_2_,p_i1961_3_ +net/minecraft/world/Explosion=CL_00000134 +net/minecraft/world/Explosion.(Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;DDDFLjava/util/List;)V=|p_i45752_1_,p_i45752_2_,p_i45752_3_,p_i45752_5_,p_i45752_7_,p_i45752_9_,p_i45752_10_ +net/minecraft/world/Explosion.(Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;DDDFZZ)V=|p_i45754_1_,p_i45754_2_,p_i45754_3_,p_i45754_5_,p_i45754_7_,p_i45754_9_,p_i45754_10_,p_i45754_11_ +net/minecraft/world/Explosion.(Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;DDDFZZLjava/util/List;)V=|p_i45753_1_,p_i45753_2_,p_i45753_3_,p_i45753_5_,p_i45753_7_,p_i45753_9_,p_i45753_10_,p_i45753_11_,p_i45753_12_ +net/minecraft/world/GameRules=CL_00000136 +net/minecraft/world/GameRules$Value=CL_00000137 +net/minecraft/world/GameRules$Value.(Ljava/lang/String;Lnet/minecraft/world/GameRules$ValueType;)V=|p_i45751_1_,p_i45751_2_ +net/minecraft/world/GameRules$ValueType=CL_00002151 +net/minecraft/world/GameRules$ValueType.(Ljava/lang/String;I)V=|p_i45750_1_,p_i45750_2_ +net/minecraft/world/LockCode=CL_00002260 +net/minecraft/world/LockCode.(Ljava/lang/String;)V=|p_i45903_1_ +net/minecraft/world/MinecraftException=CL_00000145 +net/minecraft/world/MinecraftException.(Ljava/lang/String;)V=|p_i1955_1_ +net/minecraft/world/NextTickListEntry=CL_00000156 +net/minecraft/world/NextTickListEntry.(Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V=|p_i45745_1_,p_i45745_2_ +net/minecraft/world/SpawnerAnimals=CL_00000152 +net/minecraft/world/Teleporter=CL_00000153 +net/minecraft/world/Teleporter$PortalPosition=CL_00000154 +net/minecraft/world/Teleporter$PortalPosition.(Lnet/minecraft/world/Teleporter;Lnet/minecraft/util/BlockPos;J)V=|p_i45747_1_,p_i45747_2_,p_i45747_3_ +net/minecraft/world/Teleporter.(Lnet/minecraft/world/WorldServer;)V=|p_i1963_1_ +net/minecraft/world/World=CL_00000140 +net/minecraft/world/World$1=CL_00000141 +net/minecraft/world/World$1.(Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V=|p_i45748_1_,p_i45748_2_ +net/minecraft/world/World$2=CL_00000142 +net/minecraft/world/World$2.(Lnet/minecraft/world/World;Lnet/minecraft/block/Block;)V=|p_i45366_1_,p_i45366_2_ +net/minecraft/world/World$3=CL_00000143 +net/minecraft/world/World$3.(Lnet/minecraft/world/World;)V=|p_i1952_1_ +net/minecraft/world/World$4=CL_00000144 +net/minecraft/world/World$4.(Lnet/minecraft/world/World;)V=|p_i45367_1_ +net/minecraft/world/World.(Lnet/minecraft/world/storage/ISaveHandler;Lnet/minecraft/world/storage/WorldInfo;Lnet/minecraft/world/WorldProvider;Lnet/minecraft/profiler/Profiler;Z)V=|p_i45749_1_,p_i45749_2_,p_i45749_3_,p_i45749_4_,p_i45749_5_ +net/minecraft/world/World.func_72906_B()V=net/minecraft/world/MinecraftException| +net/minecraft/world/WorldManager=CL_00001433 +net/minecraft/world/WorldManager.(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/world/WorldServer;)V=|p_i1517_1_,p_i1517_2_ +net/minecraft/world/WorldProvider=CL_00000386 +net/minecraft/world/WorldProviderEnd=CL_00000389 +net/minecraft/world/WorldProviderHell=CL_00000387 +net/minecraft/world/WorldProviderHell$1=CL_00002008 +net/minecraft/world/WorldProviderHell$1.(Lnet/minecraft/world/WorldProviderHell;)V=|p_i45641_1_ +net/minecraft/world/WorldProviderSurface=CL_00000388 +net/minecraft/world/WorldSavedData=CL_00000580 +net/minecraft/world/WorldSavedData.(Ljava/lang/String;)V=|p_i2141_1_ +net/minecraft/world/WorldServer=CL_00001437 +net/minecraft/world/WorldServer$1=CL_00001889 +net/minecraft/world/WorldServer$1.(Lnet/minecraft/world/WorldServer;)V=|p_i45920_1_ +net/minecraft/world/WorldServer$ServerBlockEventList=CL_00001439 +net/minecraft/world/WorldServer$ServerBlockEventList.(Lnet/minecraft/world/WorldServer$1;)V=|p_i1521_1_ +net/minecraft/world/WorldServer.(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/world/storage/ISaveHandler;Lnet/minecraft/world/storage/WorldInfo;ILnet/minecraft/profiler/Profiler;)V=|p_i45921_1_,p_i45921_2_,p_i45921_3_,p_i45921_4_,p_i45921_5_ +net/minecraft/world/WorldServer.func_73042_a()V=net/minecraft/world/MinecraftException| +net/minecraft/world/WorldServer.func_73044_a(ZLnet/minecraft/util/IProgressUpdate;)V=net/minecraft/world/MinecraftException| +net/minecraft/world/WorldServerMulti=CL_00001430 +net/minecraft/world/WorldServerMulti$1=CL_00002273 +net/minecraft/world/WorldServerMulti$1.(Lnet/minecraft/world/WorldServerMulti;)V=|p_i45922_1_ +net/minecraft/world/WorldServerMulti.(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/world/storage/ISaveHandler;ILnet/minecraft/world/WorldServer;Lnet/minecraft/profiler/Profiler;)V=|p_i45923_1_,p_i45923_2_,p_i45923_3_,p_i45923_4_,p_i45923_5_ +net/minecraft/world/WorldServerMulti.func_73042_a()V=net/minecraft/world/MinecraftException| +net/minecraft/world/WorldSettings=CL_00000147 +net/minecraft/world/WorldSettings$GameType=CL_00000148 +net/minecraft/world/WorldSettings$GameType.(Ljava/lang/String;IILjava/lang/String;)V=|p_i1956_1_,p_i1956_2_,p_i1956_3_,p_i1956_4_ +net/minecraft/world/WorldSettings.(JLnet/minecraft/world/WorldSettings$GameType;ZZLnet/minecraft/world/WorldType;)V=|p_i1957_1_,p_i1957_3_,p_i1957_4_,p_i1957_5_,p_i1957_6_ +net/minecraft/world/WorldSettings.(Lnet/minecraft/world/storage/WorldInfo;)V=|p_i1958_1_ +net/minecraft/world/WorldType=CL_00000150 +net/minecraft/world/WorldType.(ILjava/lang/String;)V=|p_i1959_1_,p_i1959_2_ +net/minecraft/world/WorldType.(ILjava/lang/String;I)V=|p_i1960_1_,p_i1960_2_,p_i1960_3_ +net/minecraft/world/biome/BiomeCache=CL_00000162 +net/minecraft/world/biome/BiomeCache$Block=CL_00000163 +net/minecraft/world/biome/BiomeCache$Block.(Lnet/minecraft/world/biome/BiomeCache;II)V=|p_i1972_1_,p_i1972_2_,p_i1972_3_ +net/minecraft/world/biome/BiomeCache.(Lnet/minecraft/world/biome/WorldChunkManager;)V=|p_i1973_1_ +net/minecraft/world/biome/BiomeColorHelper=CL_00002149 +net/minecraft/world/biome/BiomeColorHelper$1=CL_00002148 +net/minecraft/world/biome/BiomeColorHelper$2=CL_00002147 +net/minecraft/world/biome/BiomeColorHelper$3=CL_00002146 +net/minecraft/world/biome/BiomeDecorator=CL_00000164 +net/minecraft/world/biome/BiomeEndDecorator=CL_00000188 +net/minecraft/world/biome/BiomeGenBase=CL_00000158 +net/minecraft/world/biome/BiomeGenBase$Height=CL_00000159 +net/minecraft/world/biome/BiomeGenBase$Height.(FF)V=|p_i45371_1_,p_i45371_2_ +net/minecraft/world/biome/BiomeGenBase$SpawnListEntry=CL_00000161 +net/minecraft/world/biome/BiomeGenBase$SpawnListEntry.(Ljava/lang/Class;III)V=|p_i1970_1_,p_i1970_2_,p_i1970_3_,p_i1970_4_ +net/minecraft/world/biome/BiomeGenBase$SwitchEnumCreatureType=CL_00002150 +net/minecraft/world/biome/BiomeGenBase$TempCategory=CL_00000160 +net/minecraft/world/biome/BiomeGenBase$TempCategory.(Ljava/lang/String;I)V=|p_i45372_1_,p_i45372_2_ +net/minecraft/world/biome/BiomeGenBase.(I)V=|p_i1971_1_ +net/minecraft/world/biome/BiomeGenBeach=CL_00000157 +net/minecraft/world/biome/BiomeGenBeach.(I)V=|p_i1969_1_ +net/minecraft/world/biome/BiomeGenDesert=CL_00000167 +net/minecraft/world/biome/BiomeGenDesert.(I)V=|p_i1977_1_ +net/minecraft/world/biome/BiomeGenEnd=CL_00000187 +net/minecraft/world/biome/BiomeGenEnd.(I)V=|p_i1990_1_ +net/minecraft/world/biome/BiomeGenForest=CL_00000170 +net/minecraft/world/biome/BiomeGenForest$1=CL_00001861 +net/minecraft/world/biome/BiomeGenForest$1.(Lnet/minecraft/world/biome/BiomeGenForest;ILnet/minecraft/world/biome/BiomeGenBase;)V=|p_i1116_1_,p_i1116_2_,p_i1116_3_ +net/minecraft/world/biome/BiomeGenForest$2=CL_00000172 +net/minecraft/world/biome/BiomeGenForest$2.(Lnet/minecraft/world/biome/BiomeGenForest;ILnet/minecraft/world/biome/BiomeGenBase;)V=|p_i45376_1_,p_i45376_2_,p_i45376_3_ +net/minecraft/world/biome/BiomeGenForest.(II)V=|p_i45377_1_,p_i45377_2_ +net/minecraft/world/biome/BiomeGenHell=CL_00000173 +net/minecraft/world/biome/BiomeGenHell.(I)V=|p_i1981_1_ +net/minecraft/world/biome/BiomeGenHills=CL_00000168 +net/minecraft/world/biome/BiomeGenHills.(IZ)V=|p_i45373_1_,p_i45373_2_ +net/minecraft/world/biome/BiomeGenJungle=CL_00000175 +net/minecraft/world/biome/BiomeGenJungle.(IZ)V=|p_i45379_1_,p_i45379_2_ +net/minecraft/world/biome/BiomeGenMesa=CL_00000176 +net/minecraft/world/biome/BiomeGenMesa.(IZZ)V=|p_i45380_1_,p_i45380_2_,p_i45380_3_ +net/minecraft/world/biome/BiomeGenMushroomIsland=CL_00000177 +net/minecraft/world/biome/BiomeGenMushroomIsland.(I)V=|p_i1984_1_ +net/minecraft/world/biome/BiomeGenMutated=CL_00000178 +net/minecraft/world/biome/BiomeGenMutated.(ILnet/minecraft/world/biome/BiomeGenBase;)V=|p_i45381_1_,p_i45381_2_ +net/minecraft/world/biome/BiomeGenOcean=CL_00000179 +net/minecraft/world/biome/BiomeGenOcean.(I)V=|p_i1985_1_ +net/minecraft/world/biome/BiomeGenPlains=CL_00000180 +net/minecraft/world/biome/BiomeGenPlains.(I)V=|p_i1986_1_ +net/minecraft/world/biome/BiomeGenRiver=CL_00000181 +net/minecraft/world/biome/BiomeGenRiver.(I)V=|p_i1987_1_ +net/minecraft/world/biome/BiomeGenSavanna=CL_00000182 +net/minecraft/world/biome/BiomeGenSavanna$Mutated=CL_00000183 +net/minecraft/world/biome/BiomeGenSavanna$Mutated.(ILnet/minecraft/world/biome/BiomeGenBase;)V=|p_i45382_1_,p_i45382_2_ +net/minecraft/world/biome/BiomeGenSavanna.(I)V=|p_i45383_1_ +net/minecraft/world/biome/BiomeGenSnow=CL_00000174 +net/minecraft/world/biome/BiomeGenSnow.(IZ)V=|p_i45378_1_,p_i45378_2_ +net/minecraft/world/biome/BiomeGenStoneBeach=CL_00000184 +net/minecraft/world/biome/BiomeGenStoneBeach.(I)V=|p_i45384_1_ +net/minecraft/world/biome/BiomeGenSwamp=CL_00000185 +net/minecraft/world/biome/BiomeGenSwamp.(I)V=|p_i1988_1_ +net/minecraft/world/biome/BiomeGenTaiga=CL_00000186 +net/minecraft/world/biome/BiomeGenTaiga.(II)V=|p_i45385_1_,p_i45385_2_ +net/minecraft/world/biome/WorldChunkManager=CL_00000166 +net/minecraft/world/biome/WorldChunkManager.(JLnet/minecraft/world/WorldType;Ljava/lang/String;)V=|p_i45744_1_,p_i45744_3_,p_i45744_4_ +net/minecraft/world/biome/WorldChunkManager.(Lnet/minecraft/world/World;)V=|p_i1976_1_ +net/minecraft/world/biome/WorldChunkManagerHell=CL_00000169 +net/minecraft/world/biome/WorldChunkManagerHell.(Lnet/minecraft/world/biome/BiomeGenBase;F)V=|p_i45374_1_,p_i45374_2_ +net/minecraft/world/border/EnumBorderStatus=CL_00002013 +net/minecraft/world/border/EnumBorderStatus.(Ljava/lang/String;II)V=|p_i45647_1_,p_i45647_2_,p_i45647_3_ +net/minecraft/world/border/WorldBorder=CL_00002012 +net/minecraft/world/chunk/Chunk=CL_00000373 +net/minecraft/world/chunk/Chunk$1=CL_00000374 +net/minecraft/world/chunk/Chunk$1.(Lnet/minecraft/world/chunk/Chunk;III)V=|p_i45445_1_,p_i45445_2_,p_i45445_3_,p_i45445_4_ +net/minecraft/world/chunk/Chunk$2=CL_00002011 +net/minecraft/world/chunk/Chunk$2.(Lnet/minecraft/world/chunk/Chunk;Lnet/minecraft/util/BlockPos;)V=|p_i45644_1_,p_i45644_2_ +net/minecraft/world/chunk/Chunk$3=CL_00002010 +net/minecraft/world/chunk/Chunk$3.(Lnet/minecraft/world/chunk/Chunk;Lnet/minecraft/util/BlockPos;)V=|p_i45643_1_,p_i45643_2_ +net/minecraft/world/chunk/Chunk$EnumCreateEntityType=CL_00002009 +net/minecraft/world/chunk/Chunk$EnumCreateEntityType.(Ljava/lang/String;I)V=|p_i45642_1_,p_i45642_2_ +net/minecraft/world/chunk/Chunk.(Lnet/minecraft/world/World;II)V=|p_i1995_1_,p_i1995_2_,p_i1995_3_ +net/minecraft/world/chunk/Chunk.(Lnet/minecraft/world/World;Lnet/minecraft/world/chunk/ChunkPrimer;II)V=|p_i45645_1_,p_i45645_2_,p_i45645_3_,p_i45645_4_ +net/minecraft/world/chunk/ChunkPrimer=CL_00002007 +net/minecraft/world/chunk/EmptyChunk=CL_00000372 +net/minecraft/world/chunk/EmptyChunk.(Lnet/minecraft/world/World;II)V=|p_i1994_1_,p_i1994_2_,p_i1994_3_ +net/minecraft/world/chunk/NibbleArray=CL_00000371 +net/minecraft/world/chunk/NibbleArray.([B)V=|p_i45646_1_ +net/minecraft/world/chunk/storage/AnvilChunkLoader=CL_00000384 +net/minecraft/world/chunk/storage/AnvilChunkLoader$PendingChunk=CL_00000385 +net/minecraft/world/chunk/storage/AnvilChunkLoader$PendingChunk.(Lnet/minecraft/world/ChunkCoordIntPair;Lnet/minecraft/nbt/NBTTagCompound;)V=|p_i2002_1_,p_i2002_2_ +net/minecraft/world/chunk/storage/AnvilChunkLoader.(Ljava/io/File;)V=|p_i2003_1_ +net/minecraft/world/chunk/storage/AnvilChunkLoader.func_75815_a(Lnet/minecraft/world/World;II)Lnet/minecraft/world/chunk/Chunk;=java/io/IOException| +net/minecraft/world/chunk/storage/AnvilChunkLoader.func_75816_a(Lnet/minecraft/world/World;Lnet/minecraft/world/chunk/Chunk;)V=net/minecraft/world/MinecraftException,java/io/IOException| +net/minecraft/world/chunk/storage/AnvilChunkLoader.func_75821_a(Lnet/minecraft/world/chunk/storage/AnvilChunkLoader$PendingChunk;)V=java/io/IOException| +net/minecraft/world/chunk/storage/AnvilSaveConverter=CL_00000582 +net/minecraft/world/chunk/storage/AnvilSaveConverter$1=CL_00000583 +net/minecraft/world/chunk/storage/AnvilSaveConverter$1.(Lnet/minecraft/world/chunk/storage/AnvilSaveConverter;)V=|p_i2143_1_ +net/minecraft/world/chunk/storage/AnvilSaveConverter.(Ljava/io/File;)V=|p_i2144_1_ +net/minecraft/world/chunk/storage/AnvilSaveConverter.func_75799_b()Ljava/util/List;=net/minecraft/client/AnvilConverterException| +net/minecraft/world/chunk/storage/AnvilSaveHandler=CL_00000581 +net/minecraft/world/chunk/storage/AnvilSaveHandler.(Ljava/io/File;Ljava/lang/String;Z)V=|p_i2142_1_,p_i2142_2_,p_i2142_3_ +net/minecraft/world/chunk/storage/ChunkLoader=CL_00000379 +net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData=CL_00000380 +net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData.(II)V=|p_i1999_1_,p_i1999_2_ +net/minecraft/world/chunk/storage/ExtendedBlockStorage=CL_00000375 +net/minecraft/world/chunk/storage/ExtendedBlockStorage.(IZ)V=|p_i1997_1_,p_i1997_2_ +net/minecraft/world/chunk/storage/IChunkLoader.func_75815_a(Lnet/minecraft/world/World;II)Lnet/minecraft/world/chunk/Chunk;=java/io/IOException| +net/minecraft/world/chunk/storage/IChunkLoader.func_75816_a(Lnet/minecraft/world/World;Lnet/minecraft/world/chunk/Chunk;)V=net/minecraft/world/MinecraftException,java/io/IOException| +net/minecraft/world/chunk/storage/NibbleArrayReader=CL_00000376 +net/minecraft/world/chunk/storage/NibbleArrayReader.([BI)V=|p_i1998_1_,p_i1998_2_ +net/minecraft/world/chunk/storage/RegionFile=CL_00000381 +net/minecraft/world/chunk/storage/RegionFile$ChunkBuffer=CL_00000382 +net/minecraft/world/chunk/storage/RegionFile$ChunkBuffer.(Lnet/minecraft/world/chunk/storage/RegionFile;II)V=|p_i2000_1_,p_i2000_2_,p_i2000_3_ +net/minecraft/world/chunk/storage/RegionFile$ChunkBuffer.close()V=java/io/IOException| +net/minecraft/world/chunk/storage/RegionFile.(Ljava/io/File;)V=|p_i2001_1_ +net/minecraft/world/chunk/storage/RegionFile.func_76708_c()V=java/io/IOException| +net/minecraft/world/chunk/storage/RegionFile.func_76711_a(III)V=java/io/IOException| +net/minecraft/world/chunk/storage/RegionFile.func_76712_a(I[BI)V=java/io/IOException| +net/minecraft/world/chunk/storage/RegionFile.func_76713_b(III)V=java/io/IOException| +net/minecraft/world/chunk/storage/RegionFileCache=CL_00000383 +net/minecraft/world/demo/DemoWorldManager=CL_00001429 +net/minecraft/world/demo/DemoWorldManager.(Lnet/minecraft/world/World;)V=|p_i1513_1_ +net/minecraft/world/demo/DemoWorldServer=CL_00001428 +net/minecraft/world/demo/DemoWorldServer.(Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/world/storage/ISaveHandler;Lnet/minecraft/world/storage/WorldInfo;ILnet/minecraft/profiler/Profiler;)V=|p_i45924_1_,p_i45924_2_,p_i45924_3_,p_i45924_4_,p_i45924_5_ +net/minecraft/world/gen/ChunkProviderEnd=CL_00000397 +net/minecraft/world/gen/ChunkProviderEnd.(Lnet/minecraft/world/World;J)V=|p_i2007_1_,p_i2007_2_ +net/minecraft/world/gen/ChunkProviderFlat=CL_00000391 +net/minecraft/world/gen/ChunkProviderFlat.(Lnet/minecraft/world/World;JZLjava/lang/String;)V=|p_i2004_1_,p_i2004_2_,p_i2004_4_,p_i2004_5_ +net/minecraft/world/gen/ChunkProviderGenerate=CL_00000396 +net/minecraft/world/gen/ChunkProviderGenerate.(Lnet/minecraft/world/World;JZLjava/lang/String;)V=|p_i45636_1_,p_i45636_2_,p_i45636_4_,p_i45636_5_ +net/minecraft/world/gen/ChunkProviderHell=CL_00000392 +net/minecraft/world/gen/ChunkProviderHell.(Lnet/minecraft/world/World;ZJ)V=|p_i45637_1_,p_i45637_2_,p_i45637_3_ +net/minecraft/world/gen/ChunkProviderServer=CL_00001436 +net/minecraft/world/gen/ChunkProviderServer.(Lnet/minecraft/world/WorldServer;Lnet/minecraft/world/chunk/storage/IChunkLoader;Lnet/minecraft/world/chunk/IChunkProvider;)V=|p_i1520_1_,p_i1520_2_,p_i1520_3_ +net/minecraft/world/gen/FlatGeneratorInfo=CL_00000440 +net/minecraft/world/gen/FlatLayerInfo=CL_00000441 +net/minecraft/world/gen/FlatLayerInfo.(IILnet/minecraft/block/Block;)V=|p_i45627_1_,p_i45627_2_,p_i45627_3_ +net/minecraft/world/gen/FlatLayerInfo.(IILnet/minecraft/block/Block;I)V=|p_i45628_1_,p_i45628_2_,p_i45628_3_,p_i45628_4_ +net/minecraft/world/gen/FlatLayerInfo.(ILnet/minecraft/block/Block;)V=|p_i45467_1_,p_i45467_2_ +net/minecraft/world/gen/GeneratorBushFeature=CL_00002000 +net/minecraft/world/gen/GeneratorBushFeature.(Lnet/minecraft/block/BlockBush;)V=|p_i45633_1_ +net/minecraft/world/gen/MapGenBase=CL_00000394 +net/minecraft/world/gen/MapGenCaves=CL_00000393 +net/minecraft/world/gen/MapGenCavesHell=CL_00000395 +net/minecraft/world/gen/MapGenRavine=CL_00000390 +net/minecraft/world/gen/NoiseGenerator=CL_00000538 +net/minecraft/world/gen/NoiseGeneratorImproved=CL_00000534 +net/minecraft/world/gen/NoiseGeneratorImproved.(Ljava/util/Random;)V=|p_i45469_1_ +net/minecraft/world/gen/NoiseGeneratorOctaves=CL_00000535 +net/minecraft/world/gen/NoiseGeneratorOctaves.(Ljava/util/Random;I)V=|p_i2111_1_,p_i2111_2_ +net/minecraft/world/gen/NoiseGeneratorPerlin=CL_00000536 +net/minecraft/world/gen/NoiseGeneratorPerlin.(Ljava/util/Random;I)V=|p_i45470_1_,p_i45470_2_ +net/minecraft/world/gen/NoiseGeneratorSimplex=CL_00000537 +net/minecraft/world/gen/NoiseGeneratorSimplex.(Ljava/util/Random;)V=|p_i45471_1_ +net/minecraft/world/gen/ChunkProviderDebug=CL_00002002 +net/minecraft/world/gen/ChunkProviderDebug.(Lnet/minecraft/world/World;)V=|p_i45638_1_ +net/minecraft/world/gen/ChunkProviderSettings=CL_00002006 +net/minecraft/world/gen/ChunkProviderSettings$1=CL_00002005 +net/minecraft/world/gen/ChunkProviderSettings$Factory=CL_00002004 +net/minecraft/world/gen/ChunkProviderSettings$Serializer=CL_00002003 +net/minecraft/world/gen/ChunkProviderSettings.(Lnet/minecraft/world/gen/ChunkProviderSettings$Factory;)V=|p_i45639_1_ +net/minecraft/world/gen/ChunkProviderSettings.(Lnet/minecraft/world/gen/ChunkProviderSettings$Factory;Lnet/minecraft/world/gen/ChunkProviderSettings$1;)V=|p_i45640_1_,p_i45640_2_ +net/minecraft/world/gen/feature/WorldGenAbstractTree=CL_00000399 +net/minecraft/world/gen/feature/WorldGenAbstractTree.(Z)V=|p_i45448_1_ +net/minecraft/world/gen/feature/WorldGenBigMushroom=CL_00000415 +net/minecraft/world/gen/feature/WorldGenBigMushroom.(I)V=|p_i2017_1_ +net/minecraft/world/gen/feature/WorldGenBigTree=CL_00000400 +net/minecraft/world/gen/feature/WorldGenBigTree$FoliageCoordinates=CL_00002001 +net/minecraft/world/gen/feature/WorldGenBigTree$FoliageCoordinates.(Lnet/minecraft/util/BlockPos;I)V=|p_i45635_1_,p_i45635_2_ +net/minecraft/world/gen/feature/WorldGenBigTree.(Z)V=|p_i2008_1_ +net/minecraft/world/gen/feature/WorldGenBlockBlob=CL_00000402 +net/minecraft/world/gen/feature/WorldGenBlockBlob.(Lnet/minecraft/block/Block;I)V=|p_i45450_1_,p_i45450_2_ +net/minecraft/world/gen/feature/WorldGenCactus=CL_00000404 +net/minecraft/world/gen/feature/WorldGenCanopyTree=CL_00000430 +net/minecraft/world/gen/feature/WorldGenCanopyTree.(Z)V=|p_i45461_1_ +net/minecraft/world/gen/feature/WorldGenClay=CL_00000405 +net/minecraft/world/gen/feature/WorldGenClay.(I)V=|p_i2011_1_ +net/minecraft/world/gen/feature/WorldGenDeadBush=CL_00000406 +net/minecraft/world/gen/feature/WorldGenDesertWells=CL_00000407 +net/minecraft/world/gen/feature/WorldGenDoublePlant=CL_00000408 +net/minecraft/world/gen/feature/WorldGenDungeons=CL_00000425 +net/minecraft/world/gen/feature/WorldGenFire=CL_00000412 +net/minecraft/world/gen/feature/WorldGenFlowers=CL_00000410 +net/minecraft/world/gen/feature/WorldGenFlowers.(Lnet/minecraft/block/BlockFlower;Lnet/minecraft/block/BlockFlower$EnumFlowerType;)V=|p_i45632_1_,p_i45632_2_ +net/minecraft/world/gen/feature/WorldGenForest=CL_00000401 +net/minecraft/world/gen/feature/WorldGenForest.(ZZ)V=|p_i45449_1_,p_i45449_2_ +net/minecraft/world/gen/feature/WorldGenGlowStone1=CL_00000419 +net/minecraft/world/gen/feature/WorldGenGlowStone2=CL_00000413 +net/minecraft/world/gen/feature/WorldGenHellLava=CL_00000414 +net/minecraft/world/gen/feature/WorldGenHellLava.(Lnet/minecraft/block/Block;Z)V=|p_i45453_1_,p_i45453_2_ +net/minecraft/world/gen/feature/WorldGenHugeTrees=CL_00000423 +net/minecraft/world/gen/feature/WorldGenHugeTrees.(ZIIII)V=|p_i45458_1_,p_i45458_2_,p_i45458_3_,p_i45458_4_,p_i45458_5_ +net/minecraft/world/gen/feature/WorldGenIcePath=CL_00000416 +net/minecraft/world/gen/feature/WorldGenIcePath.(I)V=|p_i45454_1_ +net/minecraft/world/gen/feature/WorldGenIceSpike=CL_00000417 +net/minecraft/world/gen/feature/WorldGenLakes=CL_00000418 +net/minecraft/world/gen/feature/WorldGenLakes.(Lnet/minecraft/block/Block;)V=|p_i45455_1_ +net/minecraft/world/gen/feature/WorldGenLiquids=CL_00000434 +net/minecraft/world/gen/feature/WorldGenLiquids.(Lnet/minecraft/block/Block;)V=|p_i45465_1_ +net/minecraft/world/gen/feature/WorldGenMegaJungle=CL_00000420 +net/minecraft/world/gen/feature/WorldGenMegaJungle.(ZIIII)V=|p_i45456_1_,p_i45456_2_,p_i45456_3_,p_i45456_4_,p_i45456_5_ +net/minecraft/world/gen/feature/WorldGenMegaPineTree=CL_00000421 +net/minecraft/world/gen/feature/WorldGenMegaPineTree.(ZZ)V=|p_i45457_1_,p_i45457_2_ +net/minecraft/world/gen/feature/WorldGenMelon=CL_00000424 +net/minecraft/world/gen/feature/WorldGenMinable=CL_00000426 +net/minecraft/world/gen/feature/WorldGenMinable.(Lnet/minecraft/block/state/IBlockState;I)V=|p_i45630_1_,p_i45630_2_ +net/minecraft/world/gen/feature/WorldGenMinable.(Lnet/minecraft/block/state/IBlockState;ILcom/google/common/base/Predicate;)V=|p_i45631_1_,p_i45631_2_,p_i45631_3_ +net/minecraft/world/gen/feature/WorldGenPumpkin=CL_00000428 +net/minecraft/world/gen/feature/WorldGenReed=CL_00000429 +net/minecraft/world/gen/feature/WorldGenSand=CL_00000431 +net/minecraft/world/gen/feature/WorldGenSand.(Lnet/minecraft/block/Block;I)V=|p_i45462_1_,p_i45462_2_ +net/minecraft/world/gen/feature/WorldGenSavannaTree=CL_00000432 +net/minecraft/world/gen/feature/WorldGenSavannaTree.(Z)V=|p_i45463_1_ +net/minecraft/world/gen/feature/WorldGenShrub=CL_00000411 +net/minecraft/world/gen/feature/WorldGenShrub.(II)V=|p_i2015_1_,p_i2015_2_ +net/minecraft/world/gen/feature/WorldGenSpikes=CL_00000433 +net/minecraft/world/gen/feature/WorldGenSpikes.(Lnet/minecraft/block/Block;)V=|p_i45464_1_ +net/minecraft/world/gen/feature/WorldGenSwamp=CL_00000436 +net/minecraft/world/gen/feature/WorldGenTaiga1=CL_00000427 +net/minecraft/world/gen/feature/WorldGenTaiga2=CL_00000435 +net/minecraft/world/gen/feature/WorldGenTaiga2.(Z)V=|p_i2025_1_ +net/minecraft/world/gen/feature/WorldGenTallGrass=CL_00000437 +net/minecraft/world/gen/feature/WorldGenTallGrass.(Lnet/minecraft/block/BlockTallGrass$EnumType;)V=|p_i45629_1_ +net/minecraft/world/gen/feature/WorldGenTrees=CL_00000438 +net/minecraft/world/gen/feature/WorldGenTrees.(Z)V=|p_i2027_1_ +net/minecraft/world/gen/feature/WorldGenTrees.(ZIIIZ)V=|p_i2028_1_,p_i2028_2_,p_i2028_3_,p_i2028_4_,p_i2028_5_ +net/minecraft/world/gen/feature/WorldGenVines=CL_00000439 +net/minecraft/world/gen/feature/WorldGenWaterlily=CL_00000189 +net/minecraft/world/gen/feature/WorldGenerator=CL_00000409 +net/minecraft/world/gen/feature/WorldGenerator.(Z)V=|p_i2013_1_ +net/minecraft/world/gen/feature/WorldGeneratorBonusChest=CL_00000403 +net/minecraft/world/gen/feature/WorldGeneratorBonusChest.(Ljava/util/List;I)V=|p_i45634_1_,p_i45634_2_ +net/minecraft/world/gen/layer/GenLayer=CL_00000559 +net/minecraft/world/gen/layer/GenLayer$1=CL_00000560 +net/minecraft/world/gen/layer/GenLayer$1.(Lnet/minecraft/world/biome/BiomeGenBase;)V=|p_i45559_1_ +net/minecraft/world/gen/layer/GenLayer$2=CL_00000561 +net/minecraft/world/gen/layer/GenLayer$2.(Lnet/minecraft/world/biome/BiomeGenBase;)V=|p_i45558_1_ +net/minecraft/world/gen/layer/GenLayer.(J)V=|p_i2125_1_ +net/minecraft/world/gen/layer/GenLayerAddIsland=CL_00000551 +net/minecraft/world/gen/layer/GenLayerAddIsland.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i2119_1_,p_i2119_3_ +net/minecraft/world/gen/layer/GenLayerAddMushroomIsland=CL_00000552 +net/minecraft/world/gen/layer/GenLayerAddMushroomIsland.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i2120_1_,p_i2120_3_ +net/minecraft/world/gen/layer/GenLayerAddSnow=CL_00000553 +net/minecraft/world/gen/layer/GenLayerAddSnow.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i2121_1_,p_i2121_3_ +net/minecraft/world/gen/layer/GenLayerBiome=CL_00000555 +net/minecraft/world/gen/layer/GenLayerBiome.(JLnet/minecraft/world/gen/layer/GenLayer;Lnet/minecraft/world/WorldType;Ljava/lang/String;)V=|p_i45560_1_,p_i45560_3_,p_i45560_4_,p_i45560_5_ +net/minecraft/world/gen/layer/GenLayerBiomeEdge=CL_00000554 +net/minecraft/world/gen/layer/GenLayerBiomeEdge.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i45475_1_,p_i45475_3_ +net/minecraft/world/gen/layer/GenLayerDeepOcean=CL_00000546 +net/minecraft/world/gen/layer/GenLayerDeepOcean.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i45472_1_,p_i45472_3_ +net/minecraft/world/gen/layer/GenLayerEdge=CL_00000547 +net/minecraft/world/gen/layer/GenLayerEdge$Mode=CL_00000549 +net/minecraft/world/gen/layer/GenLayerEdge$Mode.(Ljava/lang/String;I)V=|p_i45473_1_,p_i45473_2_ +net/minecraft/world/gen/layer/GenLayerEdge$SwitchMode=CL_00000548 +net/minecraft/world/gen/layer/GenLayerEdge.(JLnet/minecraft/world/gen/layer/GenLayer;Lnet/minecraft/world/gen/layer/GenLayerEdge$Mode;)V=|p_i45474_1_,p_i45474_3_,p_i45474_4_ +net/minecraft/world/gen/layer/GenLayerFuzzyZoom=CL_00000556 +net/minecraft/world/gen/layer/GenLayerFuzzyZoom.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i2123_1_,p_i2123_3_ +net/minecraft/world/gen/layer/GenLayerHills=CL_00000563 +net/minecraft/world/gen/layer/GenLayerHills.(JLnet/minecraft/world/gen/layer/GenLayer;Lnet/minecraft/world/gen/layer/GenLayer;)V=|p_i45479_1_,p_i45479_3_,p_i45479_4_ +net/minecraft/world/gen/layer/GenLayerIsland=CL_00000558 +net/minecraft/world/gen/layer/GenLayerIsland.(J)V=|p_i2124_1_ +net/minecraft/world/gen/layer/GenLayerRareBiome=CL_00000562 +net/minecraft/world/gen/layer/GenLayerRareBiome.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i45478_1_,p_i45478_3_ +net/minecraft/world/gen/layer/GenLayerRemoveTooMuchOcean=CL_00000564 +net/minecraft/world/gen/layer/GenLayerRemoveTooMuchOcean.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i45480_1_,p_i45480_3_ +net/minecraft/world/gen/layer/GenLayerRiver=CL_00000566 +net/minecraft/world/gen/layer/GenLayerRiver.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i2128_1_,p_i2128_3_ +net/minecraft/world/gen/layer/GenLayerRiverInit=CL_00000565 +net/minecraft/world/gen/layer/GenLayerRiverInit.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i2127_1_,p_i2127_3_ +net/minecraft/world/gen/layer/GenLayerRiverMix=CL_00000567 +net/minecraft/world/gen/layer/GenLayerRiverMix.(JLnet/minecraft/world/gen/layer/GenLayer;Lnet/minecraft/world/gen/layer/GenLayer;)V=|p_i2129_1_,p_i2129_3_,p_i2129_4_ +net/minecraft/world/gen/layer/GenLayerShore=CL_00000568 +net/minecraft/world/gen/layer/GenLayerShore.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i2130_1_,p_i2130_3_ +net/minecraft/world/gen/layer/GenLayerSmooth=CL_00000569 +net/minecraft/world/gen/layer/GenLayerSmooth.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i2131_1_,p_i2131_3_ +net/minecraft/world/gen/layer/GenLayerVoronoiZoom=CL_00000571 +net/minecraft/world/gen/layer/GenLayerVoronoiZoom.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i2133_1_,p_i2133_3_ +net/minecraft/world/gen/layer/GenLayerZoom=CL_00000572 +net/minecraft/world/gen/layer/GenLayerZoom.(JLnet/minecraft/world/gen/layer/GenLayer;)V=|p_i2134_1_,p_i2134_3_ +net/minecraft/world/gen/layer/IntCache=CL_00000557 +net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces=CL_00000473 +net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$DesertPyramid=CL_00000476 +net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$DesertPyramid.(Ljava/util/Random;II)V=|p_i2062_1_,p_i2062_2_,p_i2062_3_ +net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$Feature=CL_00000479 +net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$Feature.(Ljava/util/Random;IIIIII)V=|p_i2065_1_,p_i2065_2_,p_i2065_3_,p_i2065_4_,p_i2065_5_,p_i2065_6_,p_i2065_7_ +net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid=CL_00000477 +net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid$Stones=CL_00000478 +net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid$Stones.(Lnet/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwitchEnumFacing;)V=|p_i45583_1_ +net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid.(Ljava/util/Random;II)V=|p_i2064_1_,p_i2064_2_,p_i2064_3_ +net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwampHut=CL_00000480 +net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwampHut.(Ljava/util/Random;II)V=|p_i2066_1_,p_i2066_2_,p_i2066_3_ +net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwitchEnumFacing=CL_00001971 +net/minecraft/world/gen/structure/MapGenMineshaft=CL_00000443 +net/minecraft/world/gen/structure/MapGenMineshaft.(Ljava/util/Map;)V=|p_i2034_1_ +net/minecraft/world/gen/structure/MapGenNetherBridge=CL_00000451 +net/minecraft/world/gen/structure/MapGenNetherBridge$Start=CL_00000452 +net/minecraft/world/gen/structure/MapGenNetherBridge$Start.(Lnet/minecraft/world/World;Ljava/util/Random;II)V=|p_i2040_1_,p_i2040_2_,p_i2040_3_,p_i2040_4_ +net/minecraft/world/gen/structure/MapGenScatteredFeature=CL_00000471 +net/minecraft/world/gen/structure/MapGenScatteredFeature$Start=CL_00000472 +net/minecraft/world/gen/structure/MapGenScatteredFeature$Start.(Lnet/minecraft/world/World;Ljava/util/Random;II)V=|p_i2060_1_,p_i2060_2_,p_i2060_3_,p_i2060_4_ +net/minecraft/world/gen/structure/MapGenScatteredFeature.(Ljava/util/Map;)V=|p_i2061_1_ +net/minecraft/world/gen/structure/MapGenStronghold=CL_00000481 +net/minecraft/world/gen/structure/MapGenStronghold$Start=CL_00000482 +net/minecraft/world/gen/structure/MapGenStronghold$Start.(Lnet/minecraft/world/World;Ljava/util/Random;II)V=|p_i2067_1_,p_i2067_2_,p_i2067_3_,p_i2067_4_ +net/minecraft/world/gen/structure/MapGenStronghold.(Ljava/util/Map;)V=|p_i2068_1_ +net/minecraft/world/gen/structure/MapGenStructure=CL_00000505 +net/minecraft/world/gen/structure/MapGenStructure$1=CL_00000506 +net/minecraft/world/gen/structure/MapGenStructure$1.(Lnet/minecraft/world/gen/structure/MapGenStructure;II)V=|p_i2088_1_,p_i2088_2_,p_i2088_3_ +net/minecraft/world/gen/structure/MapGenStructure$2=CL_00000507 +net/minecraft/world/gen/structure/MapGenStructure$2.(Lnet/minecraft/world/gen/structure/MapGenStructure;II)V=|p_i2089_1_,p_i2089_2_,p_i2089_3_ +net/minecraft/world/gen/structure/MapGenStructure$3=CL_00000508 +net/minecraft/world/gen/structure/MapGenStructure$3.(Lnet/minecraft/world/gen/structure/MapGenStructure;)V=|p_i2090_1_ +net/minecraft/world/gen/structure/MapGenStructureData=CL_00000510 +net/minecraft/world/gen/structure/MapGenStructureData.(Ljava/lang/String;)V=|p_i43001_1_ +net/minecraft/world/gen/structure/MapGenStructureIO=CL_00000509 +net/minecraft/world/gen/structure/MapGenVillage=CL_00000514 +net/minecraft/world/gen/structure/MapGenVillage$Start=CL_00000515 +net/minecraft/world/gen/structure/MapGenVillage$Start.(Lnet/minecraft/world/World;Ljava/util/Random;III)V=|p_i2092_1_,p_i2092_2_,p_i2092_3_,p_i2092_4_,p_i2092_5_ +net/minecraft/world/gen/structure/MapGenVillage.(Ljava/util/Map;)V=|p_i2093_1_ +net/minecraft/world/gen/structure/StructureBoundingBox=CL_00000442 +net/minecraft/world/gen/structure/StructureBoundingBox$SwitchEnumFacing=CL_00001999 +net/minecraft/world/gen/structure/StructureBoundingBox.(IIII)V=|p_i2033_1_,p_i2033_2_,p_i2033_3_,p_i2033_4_ +net/minecraft/world/gen/structure/StructureBoundingBox.(IIIIII)V=|p_i2032_1_,p_i2032_2_,p_i2032_3_,p_i2032_4_,p_i2032_5_,p_i2032_6_ +net/minecraft/world/gen/structure/StructureBoundingBox.(Lnet/minecraft/util/Vec3i;Lnet/minecraft/util/Vec3i;)V=|p_i45626_1_,p_i45626_2_ +net/minecraft/world/gen/structure/StructureBoundingBox.(Lnet/minecraft/world/gen/structure/StructureBoundingBox;)V=|p_i2031_1_ +net/minecraft/world/gen/structure/StructureBoundingBox.([I)V=|p_i43000_1_ +net/minecraft/world/gen/structure/StructureComponent=CL_00000511 +net/minecraft/world/gen/structure/StructureComponent$BlockSelector=CL_00000512 +net/minecraft/world/gen/structure/StructureComponent$SwitchEnumFacing=CL_00001969 +net/minecraft/world/gen/structure/StructureComponent.(I)V=|p_i2091_1_ +net/minecraft/world/gen/structure/StructureMineshaftPieces=CL_00000444 +net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor=CL_00000445 +net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45625_1_,p_i45625_2_,p_i45625_3_,p_i45625_4_ +net/minecraft/world/gen/structure/StructureMineshaftPieces$Cross=CL_00000446 +net/minecraft/world/gen/structure/StructureMineshaftPieces$Cross.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45624_1_,p_i45624_2_,p_i45624_3_,p_i45624_4_ +net/minecraft/world/gen/structure/StructureMineshaftPieces$Room=CL_00000447 +net/minecraft/world/gen/structure/StructureMineshaftPieces$Room.(ILjava/util/Random;II)V=|p_i2037_1_,p_i2037_2_,p_i2037_3_,p_i2037_4_ +net/minecraft/world/gen/structure/StructureMineshaftPieces$Stairs=CL_00000449 +net/minecraft/world/gen/structure/StructureMineshaftPieces$Stairs.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45623_1_,p_i45623_2_,p_i45623_3_,p_i45623_4_ +net/minecraft/world/gen/structure/StructureMineshaftPieces$SwitchEnumFacing=CL_00001998 +net/minecraft/world/gen/structure/StructureMineshaftStart=CL_00000450 +net/minecraft/world/gen/structure/StructureMineshaftStart.(Lnet/minecraft/world/World;Ljava/util/Random;II)V=|p_i2039_1_,p_i2039_2_,p_i2039_3_,p_i2039_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces=CL_00000453 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor=CL_00000461 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45615_1_,p_i45615_2_,p_i45615_3_,p_i45615_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor2=CL_00000463 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor2.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45613_1_,p_i45613_2_,p_i45613_3_,p_i45613_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor3=CL_00000457 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor3.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45619_1_,p_i45619_2_,p_i45619_3_,p_i45619_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor4=CL_00000458 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor4.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45618_1_,p_i45618_2_,p_i45618_3_,p_i45618_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor5=CL_00000462 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor5.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45614_1_,p_i45614_2_,p_i45614_3_,p_i45614_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing=CL_00000468 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45610_1_,p_i45610_2_,p_i45610_3_,p_i45610_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing2=CL_00000460 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing2.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45616_1_,p_i45616_2_,p_i45616_3_,p_i45616_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing3=CL_00000454 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing3.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45622_1_,p_i45622_2_,p_i45622_3_,p_i45622_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing3.(Ljava/util/Random;II)V=|p_i2042_1_,p_i2042_2_,p_i2042_3_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$End=CL_00000455 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$End.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45621_1_,p_i45621_2_,p_i45621_3_,p_i45621_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Entrance=CL_00000459 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Entrance.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45617_1_,p_i45617_2_,p_i45617_3_,p_i45617_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$NetherStalkRoom=CL_00000464 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$NetherStalkRoom.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45612_1_,p_i45612_2_,p_i45612_3_,p_i45612_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece=CL_00000466 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece.(I)V=|p_i2054_1_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight=CL_00000467 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight.(Ljava/lang/Class;II)V=|p_i2056_1_,p_i2056_2_,p_i2056_3_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight.(Ljava/lang/Class;IIZ)V=|p_i2055_1_,p_i2055_2_,p_i2055_3_,p_i2055_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Stairs=CL_00000469 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Stairs.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45609_1_,p_i45609_2_,p_i45609_3_,p_i45609_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Start=CL_00000470 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Start.(Ljava/util/Random;II)V=|p_i2059_1_,p_i2059_2_,p_i2059_3_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Straight=CL_00000456 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Straight.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45620_1_,p_i45620_2_,p_i45620_3_,p_i45620_4_ +net/minecraft/world/gen/structure/StructureNetherBridgePieces$SwitchEnumFacing=CL_00001997 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Throne=CL_00000465 +net/minecraft/world/gen/structure/StructureNetherBridgePieces$Throne.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45611_1_,p_i45611_2_,p_i45611_3_,p_i45611_4_ +net/minecraft/world/gen/structure/StructureOceanMonument=CL_00001996 +net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument=CL_00001995 +net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument.(Lnet/minecraft/world/World;Ljava/util/Random;II)V=|p_i45607_1_,p_i45607_2_,p_i45607_3_,p_i45607_4_ +net/minecraft/world/gen/structure/StructureOceanMonument.(Ljava/util/Map;)V=|p_i45608_1_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces=CL_00001994 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXRoom=CL_00001983 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXRoom.(Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)V=|p_i45597_1_,p_i45597_2_,p_i45597_3_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXYRoom=CL_00001982 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXYRoom.(Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)V=|p_i45596_1_,p_i45596_2_,p_i45596_3_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYRoom=CL_00001981 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYRoom.(Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)V=|p_i45595_1_,p_i45595_2_,p_i45595_3_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYZRoom=CL_00001980 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYZRoom.(Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)V=|p_i45594_1_,p_i45594_2_,p_i45594_3_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleZRoom=CL_00001979 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleZRoom.(Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)V=|p_i45593_1_,p_i45593_2_,p_i45593_3_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$EntryRoom=CL_00001978 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$EntryRoom.(Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;)V=|p_i45592_1_,p_i45592_2_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomHelper=CL_00001987 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomHelper.(Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$SwitchEnumFacing;)V=|p_i45601_1_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomTopHelper=CL_00001986 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomTopHelper.(Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$SwitchEnumFacing;)V=|p_i45600_1_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding=CL_00001985 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding.(Ljava/util/Random;IILnet/minecraft/util/EnumFacing;)V=|p_i45599_1_,p_i45599_2_,p_i45599_3_,p_i45599_4_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentCoreRoom=CL_00001984 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentCoreRoom.(Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)V=|p_i45598_1_,p_i45598_2_,p_i45598_3_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Penthouse=CL_00001977 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Penthouse.(Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)V=|p_i45591_1_,p_i45591_2_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece=CL_00001976 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece.(I)V=|p_i45588_1_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece.(ILnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;III)V=|p_i45590_1_,p_i45590_2_,p_i45590_3_,p_i45590_4_,p_i45590_5_,p_i45590_6_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece.(Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)V=|p_i45589_1_,p_i45589_2_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition=CL_00001972 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition.(I)V=|p_i45584_1_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleRoom=CL_00001975 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleRoom.(Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)V=|p_i45587_1_,p_i45587_2_,p_i45587_3_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleTopRoom=CL_00001974 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleTopRoom.(Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)V=|p_i45586_1_,p_i45586_2_,p_i45586_3_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SwitchEnumFacing=CL_00001993 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$WingRoom=CL_00001973 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$WingRoom.(Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureBoundingBox;I)V=|p_i45585_1_,p_i45585_2_,p_i45585_3_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XDoubleRoomFitHelper=CL_00001992 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XDoubleRoomFitHelper.(Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$SwitchEnumFacing;)V=|p_i45606_1_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XYDoubleRoomFitHelper=CL_00001991 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XYDoubleRoomFitHelper.(Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$SwitchEnumFacing;)V=|p_i45605_1_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YDoubleRoomFitHelper=CL_00001990 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YDoubleRoomFitHelper.(Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$SwitchEnumFacing;)V=|p_i45604_1_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YZDoubleRoomFitHelper=CL_00001989 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YZDoubleRoomFitHelper.(Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$SwitchEnumFacing;)V=|p_i45603_1_ +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$ZDoubleRoomFitHelper=CL_00001988 +net/minecraft/world/gen/structure/StructureOceanMonumentPieces$ZDoubleRoomFitHelper.(Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$SwitchEnumFacing;)V=|p_i45602_1_ +net/minecraft/world/gen/structure/StructureStart=CL_00000513 +net/minecraft/world/gen/structure/StructureStart.(II)V=|p_i43002_1_,p_i43002_2_ +net/minecraft/world/gen/structure/StructureStrongholdPieces=CL_00000483 +net/minecraft/world/gen/structure/StructureStrongholdPieces$1=CL_00000484 +net/minecraft/world/gen/structure/StructureStrongholdPieces$1.(Ljava/lang/Class;II)V=|p_i2069_1_,p_i2069_2_,p_i2069_3_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$2=CL_00000485 +net/minecraft/world/gen/structure/StructureStrongholdPieces$2.(Ljava/lang/Class;II)V=|p_i2070_1_,p_i2070_2_,p_i2070_3_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor=CL_00000487 +net/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45582_1_,p_i45582_2_,p_i45582_3_,p_i45582_4_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$Corridor=CL_00000488 +net/minecraft/world/gen/structure/StructureStrongholdPieces$Corridor.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45581_1_,p_i45581_2_,p_i45581_3_,p_i45581_4_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing=CL_00000489 +net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45580_1_,p_i45580_2_,p_i45580_3_,p_i45580_4_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$LeftTurn=CL_00000490 +net/minecraft/world/gen/structure/StructureStrongholdPieces$LeftTurn.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45579_1_,p_i45579_2_,p_i45579_3_,p_i45579_4_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$Library=CL_00000491 +net/minecraft/world/gen/structure/StructureStrongholdPieces$Library.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45578_1_,p_i45578_2_,p_i45578_3_,p_i45578_4_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$PieceWeight=CL_00000492 +net/minecraft/world/gen/structure/StructureStrongholdPieces$PieceWeight.(Ljava/lang/Class;II)V=|p_i2076_1_,p_i2076_2_,p_i2076_3_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$PortalRoom=CL_00000493 +net/minecraft/world/gen/structure/StructureStrongholdPieces$PortalRoom.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45577_1_,p_i45577_2_,p_i45577_3_,p_i45577_4_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$Prison=CL_00000494 +net/minecraft/world/gen/structure/StructureStrongholdPieces$Prison.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45576_1_,p_i45576_2_,p_i45576_3_,p_i45576_4_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$RightTurn=CL_00000495 +net/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing=CL_00000496 +net/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45575_1_,p_i45575_2_,p_i45575_3_,p_i45575_4_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs=CL_00000498 +net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs.(ILjava/util/Random;II)V=|p_i2081_1_,p_i2081_2_,p_i2081_3_,p_i2081_4_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45574_1_,p_i45574_2_,p_i45574_3_,p_i45574_4_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2=CL_00000499 +net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2.(ILjava/util/Random;II)V=|p_i2083_1_,p_i2083_2_,p_i2083_3_,p_i2083_4_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$StairsStraight=CL_00000501 +net/minecraft/world/gen/structure/StructureStrongholdPieces$StairsStraight.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45572_1_,p_i45572_2_,p_i45572_3_,p_i45572_4_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$Stones=CL_00000497 +net/minecraft/world/gen/structure/StructureStrongholdPieces$Stones.(Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$1;)V=|p_i2080_1_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$Straight=CL_00000500 +net/minecraft/world/gen/structure/StructureStrongholdPieces$Straight.(ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45573_1_,p_i45573_2_,p_i45573_3_,p_i45573_4_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold=CL_00000503 +net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door=CL_00000504 +net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door.(Ljava/lang/String;I)V=|p_i2086_1_,p_i2086_2_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold.(I)V=|p_i2087_1_ +net/minecraft/world/gen/structure/StructureStrongholdPieces$SwitchEnumFacing=CL_00001970 +net/minecraft/world/gen/structure/StructureVillagePieces=CL_00000516 +net/minecraft/world/gen/structure/StructureVillagePieces$Church=CL_00000525 +net/minecraft/world/gen/structure/StructureVillagePieces$Church.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45564_1_,p_i45564_2_,p_i45564_3_,p_i45564_4_,p_i45564_5_ +net/minecraft/world/gen/structure/StructureVillagePieces$Field1=CL_00000518 +net/minecraft/world/gen/structure/StructureVillagePieces$Field1.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45570_1_,p_i45570_2_,p_i45570_3_,p_i45570_4_,p_i45570_5_ +net/minecraft/world/gen/structure/StructureVillagePieces$Field2=CL_00000519 +net/minecraft/world/gen/structure/StructureVillagePieces$Field2.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45569_1_,p_i45569_2_,p_i45569_3_,p_i45569_4_,p_i45569_5_ +net/minecraft/world/gen/structure/StructureVillagePieces$Hall=CL_00000522 +net/minecraft/world/gen/structure/StructureVillagePieces$Hall.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45567_1_,p_i45567_2_,p_i45567_3_,p_i45567_4_,p_i45567_5_ +net/minecraft/world/gen/structure/StructureVillagePieces$House1=CL_00000517 +net/minecraft/world/gen/structure/StructureVillagePieces$House1.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45571_1_,p_i45571_2_,p_i45571_3_,p_i45571_4_,p_i45571_5_ +net/minecraft/world/gen/structure/StructureVillagePieces$House2=CL_00000526 +net/minecraft/world/gen/structure/StructureVillagePieces$House2.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45563_1_,p_i45563_2_,p_i45563_3_,p_i45563_4_,p_i45563_5_ +net/minecraft/world/gen/structure/StructureVillagePieces$House3=CL_00000530 +net/minecraft/world/gen/structure/StructureVillagePieces$House3.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45561_1_,p_i45561_2_,p_i45561_3_,p_i45561_4_,p_i45561_5_ +net/minecraft/world/gen/structure/StructureVillagePieces$House4Garden=CL_00000523 +net/minecraft/world/gen/structure/StructureVillagePieces$House4Garden.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45566_1_,p_i45566_2_,p_i45566_3_,p_i45566_4_,p_i45566_5_ +net/minecraft/world/gen/structure/StructureVillagePieces$Path=CL_00000528 +net/minecraft/world/gen/structure/StructureVillagePieces$Path.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45562_1_,p_i45562_2_,p_i45562_3_,p_i45562_4_,p_i45562_5_ +net/minecraft/world/gen/structure/StructureVillagePieces$PieceWeight=CL_00000521 +net/minecraft/world/gen/structure/StructureVillagePieces$PieceWeight.(Ljava/lang/Class;II)V=|p_i2098_1_,p_i2098_2_,p_i2098_3_ +net/minecraft/world/gen/structure/StructureVillagePieces$Road=CL_00000532 +net/minecraft/world/gen/structure/StructureVillagePieces$Road.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;I)V=|p_i2108_1_,p_i2108_2_ +net/minecraft/world/gen/structure/StructureVillagePieces$Start=CL_00000527 +net/minecraft/world/gen/structure/StructureVillagePieces$Start.(Lnet/minecraft/world/biome/WorldChunkManager;ILjava/util/Random;IILjava/util/List;I)V=|p_i2104_1_,p_i2104_2_,p_i2104_3_,p_i2104_4_,p_i2104_5_,p_i2104_6_,p_i2104_7_ +net/minecraft/world/gen/structure/StructureVillagePieces$SwitchEnumFacing=CL_00001968 +net/minecraft/world/gen/structure/StructureVillagePieces$Torch=CL_00000520 +net/minecraft/world/gen/structure/StructureVillagePieces$Torch.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45568_1_,p_i45568_2_,p_i45568_3_,p_i45568_4_,p_i45568_5_ +net/minecraft/world/gen/structure/StructureVillagePieces$Village=CL_00000531 +net/minecraft/world/gen/structure/StructureVillagePieces$Village.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;I)V=|p_i2107_1_,p_i2107_2_ +net/minecraft/world/gen/structure/StructureVillagePieces$Well=CL_00000533 +net/minecraft/world/gen/structure/StructureVillagePieces$Well.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;ILjava/util/Random;II)V=|p_i2109_1_,p_i2109_2_,p_i2109_3_,p_i2109_4_,p_i2109_5_ +net/minecraft/world/gen/structure/StructureVillagePieces$WoodHut=CL_00000524 +net/minecraft/world/gen/structure/StructureVillagePieces$WoodHut.(Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;ILjava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/util/EnumFacing;)V=|p_i45565_1_,p_i45565_2_,p_i45565_3_,p_i45565_4_,p_i45565_5_ +net/minecraft/world/pathfinder/NodeProcessor=CL_00001967 +net/minecraft/world/pathfinder/SwimNodeProcessor=CL_00001966 +net/minecraft/world/pathfinder/WalkNodeProcessor=CL_00001965 +net/minecraft/world/storage/DerivedWorldInfo=CL_00000584 +net/minecraft/world/storage/DerivedWorldInfo.(Lnet/minecraft/world/storage/WorldInfo;)V=|p_i2145_1_ +net/minecraft/world/storage/ISaveFormat.func_75799_b()Ljava/util/List;=net/minecraft/client/AnvilConverterException| +net/minecraft/world/storage/ISaveHandler.func_75762_c()V=net/minecraft/world/MinecraftException| +net/minecraft/world/storage/MapData=CL_00000577 +net/minecraft/world/storage/MapData$MapInfo=CL_00000578 +net/minecraft/world/storage/MapData$MapInfo.(Lnet/minecraft/world/storage/MapData;Lnet/minecraft/entity/player/EntityPlayer;)V=|p_i2138_1_,p_i2138_2_ +net/minecraft/world/storage/MapData.(Ljava/lang/String;)V=|p_i2140_1_ +net/minecraft/world/storage/MapStorage=CL_00000604 +net/minecraft/world/storage/MapStorage.(Lnet/minecraft/world/storage/ISaveHandler;)V=|p_i2162_1_ +net/minecraft/world/storage/SaveDataMemoryStorage=CL_00001963 +net/minecraft/world/storage/SaveFormatComparator=CL_00000601 +net/minecraft/world/storage/SaveFormatComparator.(Ljava/lang/String;Ljava/lang/String;JJLnet/minecraft/world/WorldSettings$GameType;ZZZ)V=|p_i2161_1_,p_i2161_2_,p_i2161_3_,p_i2161_5_,p_i2161_7_,p_i2161_8_,p_i2161_9_,p_i2161_10_ +net/minecraft/world/storage/SaveFormatOld=CL_00000586 +net/minecraft/world/storage/SaveFormatOld.(Ljava/io/File;)V=|p_i2147_1_ +net/minecraft/world/storage/SaveFormatOld.func_75799_b()Ljava/util/List;=net/minecraft/client/AnvilConverterException| +net/minecraft/world/storage/SaveHandler=CL_00000585 +net/minecraft/world/storage/SaveHandler.(Ljava/io/File;Ljava/lang/String;Z)V=|p_i2146_1_,p_i2146_2_,p_i2146_3_ +net/minecraft/world/storage/SaveHandler.func_75762_c()V=net/minecraft/world/MinecraftException| +net/minecraft/world/storage/SaveHandlerMP=CL_00000602 +net/minecraft/world/storage/SaveHandlerMP.func_75762_c()V=net/minecraft/world/MinecraftException| +net/minecraft/world/storage/ThreadedFileIOBase=CL_00000605 +net/minecraft/world/storage/ThreadedFileIOBase.func_75734_a()V=java/lang/InterruptedException| +net/minecraft/world/storage/WorldInfo=CL_00000587 +net/minecraft/world/storage/WorldInfo$1=CL_00000588 +net/minecraft/world/storage/WorldInfo$1.(Lnet/minecraft/world/storage/WorldInfo;)V=|p_i2148_1_ +net/minecraft/world/storage/WorldInfo$2=CL_00000589 +net/minecraft/world/storage/WorldInfo$2.(Lnet/minecraft/world/storage/WorldInfo;)V=|p_i2149_1_ +net/minecraft/world/storage/WorldInfo$3=CL_00000590 +net/minecraft/world/storage/WorldInfo$3.(Lnet/minecraft/world/storage/WorldInfo;)V=|p_i2150_1_ +net/minecraft/world/storage/WorldInfo$4=CL_00000591 +net/minecraft/world/storage/WorldInfo$4.(Lnet/minecraft/world/storage/WorldInfo;)V=|p_i2151_1_ +net/minecraft/world/storage/WorldInfo$5=CL_00000592 +net/minecraft/world/storage/WorldInfo$5.(Lnet/minecraft/world/storage/WorldInfo;)V=|p_i2152_1_ +net/minecraft/world/storage/WorldInfo$6=CL_00000593 +net/minecraft/world/storage/WorldInfo$6.(Lnet/minecraft/world/storage/WorldInfo;)V=|p_i2153_1_ +net/minecraft/world/storage/WorldInfo$7=CL_00000594 +net/minecraft/world/storage/WorldInfo$7.(Lnet/minecraft/world/storage/WorldInfo;)V=|p_i2154_1_ +net/minecraft/world/storage/WorldInfo$8=CL_00000595 +net/minecraft/world/storage/WorldInfo$8.(Lnet/minecraft/world/storage/WorldInfo;)V=|p_i2155_1_ +net/minecraft/world/storage/WorldInfo$9=CL_00000597 +net/minecraft/world/storage/WorldInfo$9.(Lnet/minecraft/world/storage/WorldInfo;)V=|p_i2156_1_ +net/minecraft/world/storage/WorldInfo.(Lnet/minecraft/nbt/NBTTagCompound;)V=|p_i2157_1_ +net/minecraft/world/storage/WorldInfo.(Lnet/minecraft/world/WorldSettings;Ljava/lang/String;)V=|p_i2158_1_,p_i2158_2_ +net/minecraft/world/storage/WorldInfo.(Lnet/minecraft/world/storage/WorldInfo;)V=|p_i2159_1_ \ No newline at end of file diff --git a/fml/conf/joined.srg b/fml/conf/joined.srg new file mode 100644 index 000000000..03ef8340a --- /dev/null +++ b/fml/conf/joined.srg @@ -0,0 +1,27537 @@ +PK: . net/minecraft/src +PK: net net +PK: net/minecraft net/minecraft +PK: net/minecraft/client net/minecraft/client +PK: net/minecraft/client/main net/minecraft/client/main +PK: net/minecraft/realms net/minecraft/realms +PK: net/minecraft/server net/minecraft/server +CL: a net/minecraft/util/EnumChatFormatting +CL: aa net/minecraft/command/CommandBase$CoordinateArg +CL: aaa net/minecraft/entity/ai/EntityAIRestrictOpenDoor +CL: aab net/minecraft/entity/ai/EntityAIRestrictSun +CL: aac net/minecraft/entity/ai/EntityAIRunAroundLikeCrazy +CL: aad net/minecraft/entity/ai/EntityAISit +CL: aae net/minecraft/entity/ai/EntityAICreeperSwell +CL: aaf net/minecraft/entity/ai/EntityAIFollowGolem +CL: aag net/minecraft/entity/ai/EntityAITempt +CL: aah net/minecraft/entity/ai/EntityAITradePlayer +CL: aai net/minecraft/entity/ai/EntityAIVillagerInteract +CL: aak net/minecraft/entity/ai/EntityAIDefendVillage +CL: aal net/minecraft/entity/ai/EntityAIHurtByTarget +CL: aam net/minecraft/entity/ai/EntityAIFindEntityNearest +CL: aan net/minecraft/entity/ai/EntityAIFindEntityNearest$1 +CL: aao net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer +CL: aap net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer$1 +CL: aaq net/minecraft/entity/ai/EntityAINearestAttackableTarget +CL: aar net/minecraft/entity/ai/EntityAINearestAttackableTarget$1 +CL: aas net/minecraft/entity/ai/EntityAINearestAttackableTarget$Sorter +CL: aat net/minecraft/entity/ai/EntityAITargetNonTamed +CL: aau net/minecraft/entity/ai/EntityAIOwnerHurtByTarget +CL: aav net/minecraft/entity/ai/EntityAIOwnerHurtTarget +CL: aaw net/minecraft/entity/ai/EntityAITarget +CL: aay net/minecraft/pathfinding/PathNavigateGround +CL: aaz net/minecraft/pathfinding/PathNavigate +CL: ab net/minecraft/command/CommandHandler +CL: aba net/minecraft/pathfinding/PathNavigateClimber +CL: abb net/minecraft/pathfinding/PathNavigateSwimmer +CL: abd net/minecraft/entity/ai/EntitySenses +CL: abf net/minecraft/entity/ai/RandomPositionGenerator +CL: abh net/minecraft/village/VillageDoorInfo +CL: abi net/minecraft/village/Village +CL: abj net/minecraft/village/Village$VillageAggressor +CL: abk net/minecraft/village/VillageSiege +CL: abl net/minecraft/village/VillageCollection +CL: abn net/minecraft/entity/passive/EntityAmbientCreature +CL: abo net/minecraft/entity/passive/EntityBat +CL: abq net/minecraft/entity/passive/EntityAnimal +CL: abr net/minecraft/entity/passive/EntityChicken +CL: abs net/minecraft/entity/passive/EntityCow +CL: abt net/minecraft/entity/passive/EntityHorse +CL: abu net/minecraft/entity/passive/EntityHorse$1 +CL: abv net/minecraft/entity/passive/EntityHorse$GroupData +CL: abw net/minecraft/entity/monster/EntityGolem +CL: abx net/minecraft/entity/passive/EntityMooshroom +CL: aby net/minecraft/entity/passive/EntityOcelot +CL: abz net/minecraft/entity/passive/EntityOcelot$1 +CL: ac net/minecraft/command/ICommand +CL: aca net/minecraft/entity/passive/EntityPig +CL: acb net/minecraft/entity/passive/EntityRabbit +CL: acc net/minecraft/entity/passive/EntityRabbit$1 +CL: acd net/minecraft/entity/passive/EntityRabbit$AIEvilAttack +CL: ace net/minecraft/entity/passive/EntityRabbit$EnumMoveType +CL: acf net/minecraft/entity/passive/EntityRabbit$AIAvoidEntity +CL: acg net/minecraft/entity/passive/EntityRabbit$RabbitTypeData +CL: ach net/minecraft/entity/passive/EntityRabbit$RabbitJumpHelper +CL: aci net/minecraft/entity/passive/EntityRabbit$RabbitMoveHelper +CL: acj net/minecraft/entity/passive/EntityRabbit$AIPanic +CL: ack net/minecraft/entity/passive/EntityRabbit$AIRaidFarm +CL: acl net/minecraft/entity/passive/EntitySheep +CL: acm net/minecraft/entity/passive/EntitySheep$1 +CL: acn net/minecraft/entity/monster/EntitySnowman +CL: aco net/minecraft/entity/passive/EntitySquid +CL: acp net/minecraft/entity/passive/EntitySquid$AIMoveRandom +CL: acq net/minecraft/entity/monster/EntityIronGolem +CL: acr net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper +CL: acs net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper$1 +CL: act net/minecraft/entity/passive/EntityWaterMob +CL: acu net/minecraft/entity/passive/EntityWolf +CL: acv net/minecraft/entity/passive/EntityWolf$1 +CL: acx net/minecraft/entity/boss/IBossDisplayData +CL: acy net/minecraft/entity/IEntityMultiPart +CL: acz net/minecraft/entity/boss/EntityDragonPart +CL: ad net/minecraft/command/ICommandManager +CL: ada net/minecraft/entity/item/EntityEnderCrystal +CL: adb net/minecraft/entity/boss/EntityDragon +CL: adf net/minecraft/entity/boss/EntityWither +CL: adg net/minecraft/entity/boss/EntityWither$1 +CL: adi net/minecraft/entity/item/EntityArmorStand +CL: adj net/minecraft/entity/EntityHanging +CL: adk net/minecraft/entity/item/EntityItemFrame +CL: adl net/minecraft/entity/EntityLeashKnot +CL: adm net/minecraft/entity/item/EntityPainting +CL: adn net/minecraft/entity/item/EntityPainting$EnumArt +CL: ado net/minecraft/entity/projectile/EntityFishHook +CL: adp net/minecraft/util/WeightedRandomFishable +CL: adr net/minecraft/entity/effect/EntityWeatherEffect +CL: ads net/minecraft/entity/effect/EntityLightningBolt +CL: adu net/minecraft/entity/item/EntityBoat +CL: adv net/minecraft/entity/item/EntityFallingBlock +CL: adw net/minecraft/entity/item/EntityItem +CL: adx net/minecraft/entity/item/EntityMinecart +CL: ady net/minecraft/entity/item/EntityMinecart$SwitchEnumMinecartType +CL: adz net/minecraft/entity/item/EntityMinecart$EnumMinecartType +CL: ae net/minecraft/command/ICommandSender +CL: aea net/minecraft/entity/item/EntityMinecartChest +CL: aeb net/minecraft/entity/EntityMinecartCommandBlock +CL: aec net/minecraft/entity/EntityMinecartCommandBlock$1 +CL: aed net/minecraft/entity/item/EntityMinecartContainer +CL: aee net/minecraft/entity/item/EntityMinecartFurnace +CL: aef net/minecraft/entity/item/EntityMinecartHopper +CL: aeg net/minecraft/entity/item/EntityMinecartEmpty +CL: aeh net/minecraft/entity/ai/EntityMinecartMobSpawner +CL: aei net/minecraft/entity/ai/EntityMinecartMobSpawner$1 +CL: aej net/minecraft/entity/item/EntityMinecartTNT +CL: aek net/minecraft/entity/item/EntityTNTPrimed +CL: aem net/minecraft/entity/monster/EntityBlaze +CL: aen net/minecraft/entity/monster/EntityBlaze$AIFireballAttack +CL: aeo net/minecraft/entity/monster/EntityCaveSpider +CL: aep net/minecraft/entity/monster/EntityCreeper +CL: aeq net/minecraft/entity/monster/EntityCreeper$1 +CL: aer net/minecraft/entity/monster/EntityEnderman +CL: aes net/minecraft/entity/monster/EntityEnderman$1 +CL: aet net/minecraft/entity/monster/EntityEnderman$AIPlaceBlock +CL: aeu net/minecraft/entity/monster/EntityEnderman$AIFindPlayer +CL: aev net/minecraft/entity/monster/EntityEnderman$AITakeBlock +CL: aew net/minecraft/entity/monster/EntityEndermite +CL: aex net/minecraft/entity/monster/IMob +CL: aey net/minecraft/entity/monster/IMob$1 +CL: aez net/minecraft/entity/monster/IMob$2 +CL: af net/minecraft/command/CommandResultStats +CL: afa net/minecraft/entity/monster/EntityGhast +CL: afb net/minecraft/entity/monster/EntityGhast$AILookAround +CL: afc net/minecraft/entity/monster/EntityGhast$GhastMoveHelper +CL: afd net/minecraft/entity/monster/EntityGhast$AIFireballAttack +CL: afe net/minecraft/entity/monster/EntityGhast$AIRandomFly +CL: aff net/minecraft/entity/monster/EntityGiantZombie +CL: afg net/minecraft/entity/monster/EntityGuardian +CL: afh net/minecraft/entity/monster/EntityGuardian$1 +CL: afi net/minecraft/entity/monster/EntityGuardian$AIGuardianAttack +CL: afj net/minecraft/entity/monster/EntityGuardian$GuardianTargetSelector +CL: afk net/minecraft/entity/monster/EntityGuardian$GuardianMoveHelper +CL: afl net/minecraft/entity/monster/EntityMagmaCube +CL: afm net/minecraft/entity/monster/EntityMob +CL: afn net/minecraft/entity/monster/EntityMob$1 +CL: afo net/minecraft/entity/monster/EntityPigZombie +CL: afp net/minecraft/entity/monster/EntityPigZombie$AITargetAggressor +CL: afq net/minecraft/entity/monster/EntityPigZombie$AIHurtByAggressor +CL: afr net/minecraft/entity/IRangedAttackMob +CL: afs net/minecraft/entity/SharedMonsterAttributes +CL: aft net/minecraft/entity/monster/EntitySilverfish +CL: afu net/minecraft/entity/monster/EntitySilverfish$AIHideInStone +CL: afv net/minecraft/entity/monster/EntitySilverfish$AISummonSilverfish +CL: afw net/minecraft/entity/monster/EntitySkeleton +CL: afx net/minecraft/entity/monster/EntitySkeleton$1 +CL: afy net/minecraft/entity/monster/EntitySlime +CL: afz net/minecraft/entity/monster/EntitySlime$AISlimeAttack +CL: ag net/minecraft/command/CommandResultStats$Type +CL: aga net/minecraft/entity/monster/EntitySlime$AISlimeFloat +CL: agb net/minecraft/entity/monster/EntitySlime$AISlimeHop +CL: agc net/minecraft/entity/monster/EntitySlime$SlimeMoveHelper +CL: agd net/minecraft/entity/monster/EntitySlime$AISlimeFaceRandom +CL: age net/minecraft/entity/monster/EntitySpider +CL: agf net/minecraft/entity/monster/EntitySpider$AISpiderAttack +CL: agg net/minecraft/entity/monster/EntitySpider$GroupData +CL: agh net/minecraft/entity/monster/EntitySpider$AISpiderTarget +CL: agi net/minecraft/entity/monster/EntityWitch +CL: agj net/minecraft/entity/monster/EntityZombie +CL: agk net/minecraft/entity/monster/EntityZombie$1 +CL: agl net/minecraft/entity/monster/EntityZombie$GroupData +CL: agn net/minecraft/entity/NpcMerchant +CL: ago net/minecraft/entity/INpc +CL: agp net/minecraft/entity/passive/EntityVillager +CL: agq net/minecraft/entity/passive/EntityVillager$1 +CL: agr net/minecraft/entity/passive/EntityVillager$EmeraldForItems +CL: ags net/minecraft/entity/passive/EntityVillager$ListEnchantedBookForEmeralds +CL: agt net/minecraft/entity/passive/EntityVillager$ListEnchantedItemForEmeralds +CL: agu net/minecraft/entity/passive/EntityVillager$ItemAndEmeraldToItem +CL: agv net/minecraft/entity/passive/EntityVillager$ListItemForEmeralds +CL: agw net/minecraft/entity/passive/EntityVillager$ITradeList +CL: agx net/minecraft/entity/passive/EntityVillager$PriceInfo +CL: ah net/minecraft/command/PlayerSelector +CL: aha net/minecraft/entity/player/PlayerCapabilities +CL: ahb net/minecraft/entity/player/InventoryPlayer +CL: ahc net/minecraft/entity/player/InventoryPlayer$1 +CL: ahd net/minecraft/entity/player/EntityPlayer +CL: ahe net/minecraft/entity/player/EntityPlayer$SwitchEnumFacing +CL: ahf net/minecraft/entity/player/EntityPlayer$EnumStatus +CL: ahg net/minecraft/entity/player/EntityPlayer$EnumChatVisibility +CL: ahh net/minecraft/entity/player/EnumPlayerModelParts +CL: ahj net/minecraft/entity/projectile/EntityArrow +CL: ahk net/minecraft/entity/item/EntityEnderEye +CL: ahl net/minecraft/entity/projectile/EntityFireball +CL: ahm net/minecraft/entity/item/EntityFireworkRocket +CL: ahn net/minecraft/entity/projectile/EntityLargeFireball +CL: aho net/minecraft/entity/IProjectile +CL: ahp net/minecraft/entity/projectile/EntitySmallFireball +CL: ahq net/minecraft/entity/projectile/EntitySnowball +CL: ahr net/minecraft/entity/projectile/EntityThrowable +CL: ahs net/minecraft/entity/projectile/EntityEgg +CL: aht net/minecraft/entity/item/EntityEnderPearl +CL: ahu net/minecraft/entity/item/EntityExpBottle +CL: ahv net/minecraft/entity/projectile/EntityPotion +CL: ahw net/minecraft/entity/projectile/EntityWitherSkull +CL: ahz net/minecraft/util/FoodStats +CL: ai net/minecraft/command/PlayerSelector$1 +CL: aib net/minecraft/inventory/Container +CL: aic net/minecraft/inventory/AnimalChest +CL: aid net/minecraft/inventory/ContainerRepair +CL: aie net/minecraft/inventory/ContainerRepair$1 +CL: aif net/minecraft/inventory/ContainerRepair$2 +CL: aig net/minecraft/inventory/ContainerBeacon +CL: aih net/minecraft/inventory/ContainerBeacon$BeaconSlot +CL: aii net/minecraft/inventory/ContainerBrewingStand +CL: aij net/minecraft/inventory/ContainerBrewingStand$Ingredient +CL: aik net/minecraft/inventory/ContainerBrewingStand$Potion +CL: ail net/minecraft/inventory/ICrafting +CL: aim net/minecraft/inventory/ContainerChest +CL: ain net/minecraft/inventory/InventoryCrafting +CL: aio net/minecraft/inventory/ContainerWorkbench +CL: aip net/minecraft/inventory/ContainerDispenser +CL: aiq net/minecraft/inventory/ContainerEnchantment +CL: air net/minecraft/inventory/ContainerEnchantment$1 +CL: ais net/minecraft/inventory/ContainerEnchantment$2 +CL: ait net/minecraft/inventory/ContainerEnchantment$3 +CL: aiu net/minecraft/inventory/SlotFurnaceFuel +CL: aiv net/minecraft/inventory/ContainerFurnace +CL: aiw net/minecraft/inventory/SlotFurnaceOutput +CL: aix net/minecraft/inventory/ContainerHopper +CL: aiy net/minecraft/inventory/ContainerHorseInventory +CL: aiz net/minecraft/inventory/ContainerHorseInventory$1 +CL: aj net/minecraft/command/PlayerSelector$10 +CL: aja net/minecraft/inventory/ContainerHorseInventory$2 +CL: ajb net/minecraft/inventory/ContainerPlayer +CL: ajc net/minecraft/inventory/ContainerPlayer$1 +CL: aje net/minecraft/inventory/InventoryMerchant +CL: ajf net/minecraft/inventory/ContainerMerchant +CL: ajg net/minecraft/inventory/SlotMerchantResult +CL: ajh net/minecraft/inventory/InventoryEnderChest +CL: aji net/minecraft/inventory/InventoryCraftResult +CL: ajj net/minecraft/inventory/SlotCrafting +CL: ajk net/minecraft/inventory/Slot +CL: ajm net/minecraft/item/ItemAnvilBlock +CL: ajn net/minecraft/item/ItemArmor +CL: ajo net/minecraft/item/ItemArmor$1 +CL: ajp net/minecraft/item/ItemArmor$ArmorMaterial +CL: ajq net/minecraft/item/ItemArmorStand +CL: ajr net/minecraft/item/ItemAxe +CL: ajs net/minecraft/item/ItemBanner +CL: ajt net/minecraft/item/ItemBed +CL: aju net/minecraft/item/ItemBlock +CL: ajv net/minecraft/item/ItemReed +CL: ajw net/minecraft/item/ItemBoat +CL: ajx net/minecraft/item/ItemBook +CL: ajy net/minecraft/item/ItemGlassBottle +CL: ajz net/minecraft/item/ItemBow +CL: ak net/minecraft/command/PlayerSelector$11 +CL: aka net/minecraft/item/ItemSoup +CL: akb net/minecraft/item/ItemBucket +CL: akc net/minecraft/item/ItemCarrotOnAStick +CL: akd net/minecraft/item/ItemCoal +CL: ake net/minecraft/item/ItemMapBase +CL: akf net/minecraft/creativetab/CreativeTabs +CL: akg net/minecraft/creativetab/CreativeTabs$1 +CL: akh net/minecraft/creativetab/CreativeTabs$10 +CL: aki net/minecraft/creativetab/CreativeTabs$11 +CL: akj net/minecraft/creativetab/CreativeTabs$12 +CL: akk net/minecraft/creativetab/CreativeTabs$2 +CL: akl net/minecraft/creativetab/CreativeTabs$3 +CL: akm net/minecraft/creativetab/CreativeTabs$4 +CL: akn net/minecraft/creativetab/CreativeTabs$5 +CL: ako net/minecraft/creativetab/CreativeTabs$6 +CL: akp net/minecraft/creativetab/CreativeTabs$7 +CL: akq net/minecraft/creativetab/CreativeTabs$8 +CL: akr net/minecraft/creativetab/CreativeTabs$9 +CL: aks net/minecraft/item/ItemTool +CL: akt net/minecraft/item/ItemDoor +CL: aku net/minecraft/item/ItemDoublePlant +CL: akv net/minecraft/item/EnumDyeColor +CL: akw net/minecraft/item/ItemDye +CL: akx net/minecraft/item/ItemCloth +CL: aky net/minecraft/item/ItemEgg +CL: akz net/minecraft/item/ItemEmptyMap +CL: al net/minecraft/command/PlayerSelector$12 +CL: ala net/minecraft/item/ItemEnchantedBook +CL: alb net/minecraft/item/ItemEnderEye +CL: alc net/minecraft/item/ItemEnderPearl +CL: ald net/minecraft/item/ItemExpBottle +CL: ale net/minecraft/item/ItemFireball +CL: alf net/minecraft/item/ItemFireworkCharge +CL: alg net/minecraft/item/ItemFirework +CL: alh net/minecraft/item/ItemFishFood +CL: ali net/minecraft/item/ItemFishFood$FishType +CL: alj net/minecraft/item/ItemFishingRod +CL: alk net/minecraft/item/ItemFlintAndSteel +CL: all net/minecraft/item/ItemFood +CL: alm net/minecraft/item/ItemAppleGold +CL: aln net/minecraft/item/ItemHangingEntity +CL: alo net/minecraft/item/ItemHoe +CL: alp net/minecraft/item/ItemHoe$SwitchDirtType +CL: alq net/minecraft/item/Item +CL: alr net/minecraft/item/Item$1 +CL: als net/minecraft/item/Item$10 +CL: alt net/minecraft/item/Item$11 +CL: alu net/minecraft/item/Item$12 +CL: alv net/minecraft/item/Item$13 +CL: alw net/minecraft/item/Item$14 +CL: alx net/minecraft/item/Item$15 +CL: aly net/minecraft/item/Item$16 +CL: alz net/minecraft/item/Item$17 +CL: am net/minecraft/command/PlayerSelector$2 +CL: ama net/minecraft/item/Item$2 +CL: amb net/minecraft/item/Item$3 +CL: amc net/minecraft/item/Item$4 +CL: amd net/minecraft/item/Item$5 +CL: ame net/minecraft/item/Item$6 +CL: amf net/minecraft/item/Item$7 +CL: amg net/minecraft/item/Item$8 +CL: amh net/minecraft/item/Item$9 +CL: ami net/minecraft/item/Item$ToolMaterial +CL: amj net/minecraft/item/ItemStack +CL: amk net/minecraft/init/Items +CL: aml net/minecraft/item/ItemLead +CL: amm net/minecraft/item/ItemLeaves +CL: amn net/minecraft/item/ItemMap +CL: amo net/minecraft/item/ItemBucketMilk +CL: amp net/minecraft/item/ItemMinecart +CL: amq net/minecraft/item/ItemMinecart$1 +CL: amr net/minecraft/item/ItemMultiTexture +CL: ams net/minecraft/item/ItemMultiTexture$1 +CL: amt net/minecraft/item/ItemNameTag +CL: amu net/minecraft/item/ItemPickaxe +CL: amv net/minecraft/item/ItemPiston +CL: amw net/minecraft/item/ItemPotion +CL: amx net/minecraft/item/EnumRarity +CL: amy net/minecraft/item/ItemRecord +CL: amz net/minecraft/item/ItemRedstone +CL: an net/minecraft/command/PlayerSelector$3 +CL: ana net/minecraft/item/ItemSaddle +CL: anb net/minecraft/item/ItemSeedFood +CL: anc net/minecraft/item/ItemSeeds +CL: and net/minecraft/item/ItemShears +CL: ane net/minecraft/item/ItemSpade +CL: anf net/minecraft/item/ItemSign +CL: ang net/minecraft/item/ItemSimpleFoiled +CL: anh net/minecraft/item/ItemSkull +CL: ani net/minecraft/item/ItemSlab +CL: anj net/minecraft/item/ItemSnow +CL: ank net/minecraft/item/ItemSnowball +CL: anl net/minecraft/item/ItemMonsterPlacer +CL: anm net/minecraft/item/ItemSword +CL: ann net/minecraft/item/ItemColored +CL: ano net/minecraft/item/EnumAction +CL: anp net/minecraft/item/ItemLilyPad +CL: anq net/minecraft/item/ItemWritableBook +CL: anr net/minecraft/item/ItemEditableBook +CL: ans net/minecraft/potion/PotionHelper +CL: ao net/minecraft/command/PlayerSelector$4 +CL: aoa net/minecraft/item/crafting/RecipesArmorDyes +CL: aob net/minecraft/item/crafting/RecipesArmor +CL: aoc net/minecraft/item/crafting/RecipesBanners +CL: aod net/minecraft/item/crafting/RecipesBanners$1 +CL: aoe net/minecraft/item/crafting/RecipesBanners$RecipeAddPattern +CL: aof net/minecraft/item/crafting/RecipesBanners$RecipeDuplicatePattern +CL: aog net/minecraft/item/crafting/RecipeBookCloning +CL: aoh net/minecraft/item/crafting/RecipesDyes +CL: aoi net/minecraft/item/crafting/RecipeFireworks +CL: aoj net/minecraft/item/crafting/RecipesFood +CL: aok net/minecraft/item/crafting/FurnaceRecipes +CL: aol net/minecraft/item/crafting/RecipesMapCloning +CL: aom net/minecraft/item/crafting/RecipesMapExtending +CL: aon net/minecraft/item/crafting/RecipesIngots +CL: aoo net/minecraft/item/crafting/IRecipe +CL: aop net/minecraft/item/crafting/CraftingManager +CL: aoq net/minecraft/item/crafting/CraftingManager$1 +CL: aor net/minecraft/item/crafting/RecipeRepairItem +CL: aos net/minecraft/item/crafting/ShapedRecipes +CL: aot net/minecraft/item/crafting/ShapelessRecipes +CL: aou net/minecraft/item/crafting/RecipesCrafting +CL: aov net/minecraft/item/crafting/RecipesTools +CL: aow net/minecraft/item/crafting/RecipesWeapons +CL: aoy net/minecraft/enchantment/EnchantmentArrowDamage +CL: aoz net/minecraft/enchantment/EnchantmentArrowFire +CL: ap net/minecraft/command/PlayerSelector$5 +CL: apa net/minecraft/enchantment/EnchantmentArrowInfinite +CL: apb net/minecraft/enchantment/EnchantmentArrowKnockback +CL: apc net/minecraft/enchantment/EnchantmentDamage +CL: apd net/minecraft/enchantment/EnchantmentDurability +CL: ape net/minecraft/enchantment/EnchantmentDigging +CL: apf net/minecraft/enchantment/Enchantment +CL: apg net/minecraft/enchantment/EnumEnchantmentType +CL: aph net/minecraft/enchantment/EnchantmentHelper +CL: api net/minecraft/enchantment/EnchantmentHelper$1 +CL: apj net/minecraft/enchantment/EnchantmentHelper$DamageIterator +CL: apk net/minecraft/enchantment/EnchantmentHelper$HurtIterator +CL: apl net/minecraft/enchantment/EnchantmentHelper$IModifier +CL: apm net/minecraft/enchantment/EnchantmentHelper$ModifierLiving +CL: apn net/minecraft/enchantment/EnchantmentHelper$ModifierDamage +CL: apo net/minecraft/enchantment/EnchantmentData +CL: app net/minecraft/enchantment/EnchantmentFireAspect +CL: apq net/minecraft/enchantment/EnchantmentFishingSpeed +CL: apr net/minecraft/enchantment/EnchantmentKnockback +CL: aps net/minecraft/enchantment/EnchantmentLootBonus +CL: apt net/minecraft/enchantment/EnchantmentOxygen +CL: apu net/minecraft/enchantment/EnchantmentProtection +CL: apv net/minecraft/enchantment/EnchantmentThorns +CL: apw net/minecraft/enchantment/EnchantmentUntouching +CL: apx net/minecraft/enchantment/EnchantmentWaterWalker +CL: apy net/minecraft/enchantment/EnchantmentWaterWorker +CL: aq net/minecraft/command/PlayerSelector$6 +CL: aqb net/minecraft/entity/IMerchant +CL: aqc net/minecraft/village/MerchantRecipe +CL: aqd net/minecraft/village/MerchantRecipeList +CL: aqf net/minecraft/command/server/CommandBlockLogic +CL: aqg net/minecraft/command/server/CommandBlockLogic$1 +CL: aqh net/minecraft/command/server/CommandBlockLogic$2 +CL: aqi net/minecraft/tileentity/MobSpawnerBaseLogic +CL: aqj net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart +CL: aqk net/minecraft/block/BlockEventData +CL: aql net/minecraft/util/EnumWorldBlockLayer +CL: aqm net/minecraft/world/ChunkCoordIntPair +CL: aqo net/minecraft/world/Explosion +CL: aqp net/minecraft/world/ColorizerFoliage +CL: aqq net/minecraft/world/GameRules +CL: aqr net/minecraft/world/GameRules$Value +CL: aqs net/minecraft/world/GameRules$ValueType +CL: aqt net/minecraft/world/ColorizerGrass +CL: aqu net/minecraft/world/World +CL: aqv net/minecraft/world/World$1 +CL: aqw net/minecraft/world/World$2 +CL: aqx net/minecraft/world/World$3 +CL: aqy net/minecraft/world/World$4 +CL: aqz net/minecraft/world/MinecraftException +CL: ar net/minecraft/command/PlayerSelector$7 +CL: ara net/minecraft/world/IWorldAccess +CL: arb net/minecraft/world/WorldSettings +CL: arc net/minecraft/world/WorldSettings$GameType +CL: ard net/minecraft/world/IBlockAccess +CL: are net/minecraft/world/WorldType +CL: arf net/minecraft/world/EnumSkyBlock +CL: arg net/minecraft/world/SpawnerAnimals +CL: arh net/minecraft/world/Teleporter +CL: ari net/minecraft/world/Teleporter$PortalPosition +CL: arj net/minecraft/world/ChunkCache +CL: ark net/minecraft/world/NextTickListEntry +CL: arl net/minecraft/world/biome/BiomeGenBeach +CL: arm net/minecraft/world/biome/BiomeGenBase +CL: arn net/minecraft/world/biome/BiomeGenBase$SwitchEnumCreatureType +CL: aro net/minecraft/world/biome/BiomeGenBase$Height +CL: arp net/minecraft/world/biome/BiomeGenBase$TempCategory +CL: arq net/minecraft/world/biome/BiomeGenBase$SpawnListEntry +CL: arr net/minecraft/world/biome/BiomeCache +CL: ars net/minecraft/world/biome/BiomeCache$Block +CL: art net/minecraft/world/biome/BiomeColorHelper +CL: aru net/minecraft/world/biome/BiomeColorHelper$1 +CL: arv net/minecraft/world/biome/BiomeColorHelper$2 +CL: arw net/minecraft/world/biome/BiomeColorHelper$3 +CL: arx net/minecraft/world/biome/BiomeColorHelper$ColorResolver +CL: ary net/minecraft/world/biome/BiomeDecorator +CL: arz net/minecraft/world/biome/WorldChunkManager +CL: as net/minecraft/command/PlayerSelector$8 +CL: asa net/minecraft/world/biome/BiomeGenDesert +CL: asb net/minecraft/world/biome/BiomeGenHills +CL: asc net/minecraft/world/biome/WorldChunkManagerHell +CL: asd net/minecraft/world/biome/BiomeGenForest +CL: ase net/minecraft/world/biome/BiomeGenForest$2 +CL: asf net/minecraft/world/biome/BiomeGenForest$1 +CL: asg net/minecraft/world/biome/BiomeGenHell +CL: ash net/minecraft/world/biome/BiomeGenSnow +CL: asi net/minecraft/world/biome/BiomeGenJungle +CL: asj net/minecraft/world/biome/BiomeGenMesa +CL: ask net/minecraft/world/biome/BiomeGenMushroomIsland +CL: asl net/minecraft/world/biome/BiomeGenMutated +CL: asm net/minecraft/world/biome/BiomeGenOcean +CL: asn net/minecraft/world/biome/BiomeGenPlains +CL: asp net/minecraft/world/biome/BiomeGenRiver +CL: asq net/minecraft/world/biome/BiomeGenSavanna +CL: asr net/minecraft/world/biome/BiomeGenSavanna$Mutated +CL: ass net/minecraft/world/biome/BiomeGenStoneBeach +CL: ast net/minecraft/world/biome/BiomeGenSwamp +CL: asu net/minecraft/world/biome/BiomeGenTaiga +CL: asv net/minecraft/world/biome/BiomeGenEnd +CL: asw net/minecraft/world/biome/BiomeEndDecorator +CL: asy net/minecraft/block/BlockAir +CL: asz net/minecraft/block/BlockAnvil +CL: at net/minecraft/command/PlayerSelector$9 +CL: ata net/minecraft/block/BlockAnvil$Anvil +CL: atb net/minecraft/block/BlockBanner +CL: atc net/minecraft/block/BlockBanner$SwitchEnumFacing +CL: atd net/minecraft/block/BlockBanner$BlockBannerStanding +CL: ate net/minecraft/block/BlockBanner$BlockBannerHanging +CL: atf net/minecraft/block/BlockBarrier +CL: atg net/minecraft/block/BlockContainer +CL: ath net/minecraft/block/BlockBasePressurePlate +CL: ati net/minecraft/block/BlockRailBase +CL: atj net/minecraft/block/BlockRailBase$SwitchEnumRailDirection +CL: atk net/minecraft/block/BlockRailBase$Rail +CL: atl net/minecraft/block/BlockRailBase$EnumRailDirection +CL: atm net/minecraft/block/BlockBeacon +CL: atn net/minecraft/block/BlockBeacon$1 +CL: ato net/minecraft/block/BlockBeacon$1$1 +CL: atp net/minecraft/block/BlockBed +CL: atq net/minecraft/block/BlockBed$EnumPartType +CL: atr net/minecraft/block/Block +CL: ats net/minecraft/block/Block$1 +CL: att net/minecraft/block/Block$2 +CL: atu net/minecraft/block/Block$3 +CL: atv net/minecraft/block/Block$4 +CL: atw net/minecraft/block/Block$EnumOffsetType +CL: atx net/minecraft/block/Block$SoundType +CL: aty net/minecraft/init/Blocks +CL: atz net/minecraft/block/IGrowable +CL: au net/minecraft/command/server/CommandAchievement +CL: aua net/minecraft/block/BlockBookshelf +CL: aub net/minecraft/block/BlockBrewingStand +CL: auc net/minecraft/block/BlockBush +CL: aud net/minecraft/block/BlockButton +CL: aue net/minecraft/block/BlockButton$SwitchEnumFacing +CL: auf net/minecraft/block/BlockCactus +CL: aug net/minecraft/block/BlockCake +CL: auh net/minecraft/block/BlockCarrot +CL: aui net/minecraft/block/BlockCauldron +CL: auj net/minecraft/block/BlockChest +CL: auk net/minecraft/block/BlockClay +CL: aul net/minecraft/block/BlockCocoa +CL: aum net/minecraft/block/BlockCocoa$SwitchEnumFacing +CL: aun net/minecraft/block/BlockColored +CL: auo net/minecraft/block/BlockCommandBlock +CL: aup net/minecraft/block/BlockRedstoneComparator +CL: auq net/minecraft/block/BlockRedstoneComparator$1 +CL: aur net/minecraft/block/BlockRedstoneComparator$Mode +CL: aus net/minecraft/block/BlockWorkbench +CL: aut net/minecraft/block/BlockWorkbench$InterfaceCraftingTable +CL: auu net/minecraft/block/BlockCrops +CL: auv net/minecraft/block/BlockDaylightDetector +CL: auw net/minecraft/block/BlockDeadBush +CL: auy net/minecraft/block/BlockRailDetector +CL: auz net/minecraft/block/BlockRailDetector$1 +CL: av net/minecraft/command/server/CommandAchievement$1 +CL: ava net/minecraft/block/BlockRedstoneDiode +CL: avb net/minecraft/block/BlockDirectional +CL: avc net/minecraft/block/BlockDirt +CL: avd net/minecraft/block/BlockDirt$DirtType +CL: ave net/minecraft/block/BlockDispenser +CL: avf net/minecraft/block/BlockDoor +CL: avg net/minecraft/block/BlockDoor$EnumDoorHalf +CL: avh net/minecraft/block/BlockDoor$EnumHingePosition +CL: avi net/minecraft/block/BlockDoublePlant +CL: avj net/minecraft/block/BlockDoublePlant$EnumBlockHalf +CL: avk net/minecraft/block/BlockDoublePlant$EnumPlantType +CL: avl net/minecraft/block/BlockDragonEgg +CL: avm net/minecraft/block/BlockDropper +CL: avn net/minecraft/block/BlockDynamicLiquid +CL: avo net/minecraft/block/BlockEnchantmentTable +CL: avp net/minecraft/block/BlockEndPortal +CL: avq net/minecraft/block/BlockEndPortalFrame +CL: avr net/minecraft/block/BlockEnderChest +CL: avs net/minecraft/block/ITileEntityProvider +CL: avt net/minecraft/block/BlockFalling +CL: avu net/minecraft/block/BlockFarmland +CL: avv net/minecraft/block/BlockFence +CL: avw net/minecraft/block/BlockFenceGate +CL: avx net/minecraft/block/BlockFire +CL: avy net/minecraft/block/BlockFlower +CL: avz net/minecraft/block/BlockFlower$1 +CL: aw net/minecraft/command/server/CommandBanIp +CL: awa net/minecraft/block/BlockFlower$EnumFlowerType +CL: awb net/minecraft/block/BlockFlower$EnumFlowerType$1 +CL: awc net/minecraft/block/BlockFlower$EnumFlowerColor +CL: awd net/minecraft/block/BlockFlowerPot +CL: awe net/minecraft/block/BlockFlowerPot$SwitchEnumType +CL: awf net/minecraft/block/BlockFlowerPot$EnumFlowerType +CL: awg net/minecraft/block/BlockDoubleStoneSlabNew +CL: awh net/minecraft/block/BlockDoubleStoneSlab +CL: awi net/minecraft/block/BlockDoubleWoodSlab +CL: awj net/minecraft/block/BlockFurnace +CL: awk net/minecraft/block/BlockFurnace$SwitchEnumFacing +CL: awl net/minecraft/block/BlockGlass +CL: awm net/minecraft/block/BlockGlowstone +CL: awn net/minecraft/block/BlockGrass +CL: awo net/minecraft/block/BlockGravel +CL: awp net/minecraft/block/BlockHalfStoneSlabNew +CL: awq net/minecraft/block/BlockSlab +CL: awr net/minecraft/block/BlockSlab$EnumBlockHalf +CL: aws net/minecraft/block/BlockHalfStoneSlab +CL: awt net/minecraft/block/BlockBreakable +CL: awu net/minecraft/block/BlockHalfWoodSlab +CL: awv net/minecraft/block/BlockHardenedClay +CL: aww net/minecraft/block/BlockHay +CL: awx net/minecraft/block/BlockHopper +CL: awy net/minecraft/block/BlockHopper$1 +CL: awz net/minecraft/block/BlockHugeMushroom +CL: ax net/minecraft/command/server/CommandBanPlayer +CL: axa net/minecraft/block/BlockHugeMushroom$EnumType +CL: axb net/minecraft/block/BlockIce +CL: axc net/minecraft/block/BlockJukebox +CL: axd net/minecraft/block/BlockJukebox$TileEntityJukebox +CL: axe net/minecraft/block/BlockLadder +CL: axf net/minecraft/block/BlockLadder$SwitchEnumFacing +CL: axg net/minecraft/block/BlockLeaves +CL: axi net/minecraft/block/BlockLever +CL: axj net/minecraft/block/BlockLever$SwitchEnumFacing +CL: axk net/minecraft/block/BlockLever$EnumOrientation +CL: axl net/minecraft/block/BlockLiquid +CL: axm net/minecraft/block/BlockLog +CL: axn net/minecraft/block/BlockLog$SwitchAxis +CL: axo net/minecraft/block/BlockLog$EnumAxis +CL: axp net/minecraft/block/BlockMelon +CL: axq net/minecraft/block/BlockCompressed +CL: axr net/minecraft/block/BlockMobSpawner +CL: axs net/minecraft/block/BlockSilverfish +CL: axt net/minecraft/block/BlockSilverfish$SwitchEnumType +CL: axu net/minecraft/block/BlockSilverfish$EnumType +CL: axv net/minecraft/block/BlockSilverfish$EnumType$1 +CL: axw net/minecraft/block/BlockSilverfish$EnumType$2 +CL: axx net/minecraft/block/BlockSilverfish$EnumType$3 +CL: axy net/minecraft/block/BlockSilverfish$EnumType$4 +CL: axz net/minecraft/block/BlockSilverfish$EnumType$5 +CL: ay net/minecraft/command/CommandBlockData +CL: aya net/minecraft/block/BlockSilverfish$EnumType$6 +CL: ayb net/minecraft/block/BlockMushroom +CL: ayc net/minecraft/block/BlockMycelium +CL: ayd net/minecraft/block/BlockNetherBrick +CL: aye net/minecraft/block/BlockNetherWart +CL: ayf net/minecraft/block/BlockNetherrack +CL: ayg net/minecraft/block/BlockNewLeaf +CL: ayh net/minecraft/block/BlockNewLeaf$1 +CL: ayi net/minecraft/block/BlockNewLog +CL: ayj net/minecraft/block/BlockNewLog$1 +CL: ayk net/minecraft/block/BlockNewLog$SwitchEnumAxis +CL: ayl net/minecraft/block/BlockStoneSlabNew +CL: aym net/minecraft/block/BlockStoneSlabNew$EnumType +CL: ayn net/minecraft/block/BlockNote +CL: ayo net/minecraft/block/BlockObsidian +CL: ayp net/minecraft/block/BlockOldLeaf +CL: ayq net/minecraft/block/BlockOldLeaf$1 +CL: ayr net/minecraft/block/BlockOldLog +CL: ays net/minecraft/block/BlockOldLog$1 +CL: ayt net/minecraft/block/BlockOldLog$SwitchEnumAxis +CL: ayu net/minecraft/block/BlockOre +CL: ayv net/minecraft/block/BlockPackedIce +CL: ayw net/minecraft/block/BlockPlanks +CL: ayx net/minecraft/block/BlockPlanks$EnumType +CL: ayy net/minecraft/block/BlockPortal +CL: ayz net/minecraft/block/BlockPortal$Size +CL: az net/minecraft/command/CommandClearInventory +CL: aza net/minecraft/block/BlockPotato +CL: azb net/minecraft/block/BlockCompressedPowered +CL: azc net/minecraft/block/BlockRailPowered +CL: azd net/minecraft/block/BlockRailPowered$1 +CL: aze net/minecraft/block/BlockRailPowered$SwitchEnumRailDirection +CL: azf net/minecraft/block/BlockPressurePlate +CL: azg net/minecraft/block/BlockPressurePlate$SwitchSensitivity +CL: azh net/minecraft/block/BlockPressurePlate$Sensitivity +CL: azi net/minecraft/block/BlockPrismarine +CL: azj net/minecraft/block/BlockPrismarine$EnumType +CL: azk net/minecraft/block/BlockPumpkin +CL: azl net/minecraft/block/BlockQuartz +CL: azm net/minecraft/block/BlockQuartz$SwitchAxis +CL: azn net/minecraft/block/BlockQuartz$EnumType +CL: azo net/minecraft/block/BlockRail +CL: azp net/minecraft/block/BlockRedFlower +CL: azq net/minecraft/block/BlockRedSandstone +CL: azr net/minecraft/block/BlockRedSandstone$EnumType +CL: azs net/minecraft/block/BlockRedstoneOre +CL: azt net/minecraft/block/BlockRedstoneWire +CL: azu net/minecraft/block/BlockRedstoneWire$EnumAttachPosition +CL: azv net/minecraft/block/BlockRedstoneLight +CL: azw net/minecraft/block/BlockRedstoneTorch +CL: azx net/minecraft/block/BlockRedstoneTorch$Toggle +CL: azy net/minecraft/block/BlockReed +CL: azz net/minecraft/block/BlockRedstoneRepeater +CL: b net/minecraft/crash/CrashReport +CL: ba net/minecraft/command/CommandClone +CL: baa net/minecraft/block/BlockRotatedPillar +CL: bab net/minecraft/block/BlockSand +CL: bac net/minecraft/block/BlockSand$EnumType +CL: bad net/minecraft/block/BlockSandStone +CL: bae net/minecraft/block/BlockSandStone$EnumType +CL: baf net/minecraft/block/BlockSapling +CL: bag net/minecraft/block/BlockSapling$SwitchEnumType +CL: bah net/minecraft/block/BlockSeaLantern +CL: bai net/minecraft/block/BlockSign +CL: baj net/minecraft/block/BlockSkull +CL: bak net/minecraft/block/BlockSkull$1 +CL: bal net/minecraft/block/BlockSkull$SwitchEnumFacing +CL: bam net/minecraft/block/BlockSlime +CL: ban net/minecraft/block/BlockSnowBlock +CL: bao net/minecraft/block/BlockSnow +CL: bap net/minecraft/block/BlockSoulSand +CL: baq net/minecraft/block/BlockSponge +CL: bar net/minecraft/block/BlockStainedGlass +CL: bas net/minecraft/block/BlockStainedGlassPane +CL: bat net/minecraft/block/BlockStairs +CL: bau net/minecraft/block/BlockStairs$EnumHalf +CL: bav net/minecraft/block/BlockStairs$EnumShape +CL: baw net/minecraft/block/BlockStandingSign +CL: bax net/minecraft/block/BlockStaticLiquid +CL: bay net/minecraft/block/BlockStem +CL: baz net/minecraft/block/BlockStem$1 +CL: bb net/minecraft/command/CommandClone$StaticCloneData +CL: bba net/minecraft/block/BlockStone +CL: bbb net/minecraft/block/BlockStone$EnumType +CL: bbc net/minecraft/block/BlockStoneBrick +CL: bbd net/minecraft/block/BlockStoneBrick$EnumType +CL: bbe net/minecraft/block/BlockButtonStone +CL: bbf net/minecraft/block/BlockStoneSlab +CL: bbg net/minecraft/block/BlockStoneSlab$EnumType +CL: bbh net/minecraft/block/BlockTallGrass +CL: bbi net/minecraft/block/BlockTallGrass$EnumType +CL: bbj net/minecraft/block/BlockPane +CL: bbk net/minecraft/block/BlockTNT +CL: bbl net/minecraft/block/BlockTorch +CL: bbm net/minecraft/block/BlockTorch$1 +CL: bbn net/minecraft/block/BlockTorch$SwitchEnumFacing +CL: bbo net/minecraft/block/BlockLeavesBase +CL: bbp net/minecraft/block/BlockTrapDoor +CL: bbq net/minecraft/block/BlockTrapDoor$SwitchEnumFacing +CL: bbr net/minecraft/block/BlockTrapDoor$DoorHalf +CL: bbs net/minecraft/block/BlockTripWire +CL: bbt net/minecraft/block/BlockTripWireHook +CL: bbu net/minecraft/block/BlockTripWireHook$SwitchEnumFacing +CL: bbv net/minecraft/block/BlockVine +CL: bbw net/minecraft/block/BlockVine$SwitchEnumFacing +CL: bbx net/minecraft/block/BlockWall +CL: bby net/minecraft/block/BlockWall$EnumType +CL: bbz net/minecraft/block/BlockWallSign +CL: bc net/minecraft/command/CommandCompare +CL: bca net/minecraft/block/BlockWallSign$SwitchEnumFacing +CL: bcb net/minecraft/block/BlockLilyPad +CL: bcc net/minecraft/block/BlockWeb +CL: bcd net/minecraft/block/BlockPressurePlateWeighted +CL: bce net/minecraft/block/BlockButtonWood +CL: bcf net/minecraft/block/BlockWoodSlab +CL: bcg net/minecraft/block/BlockCarpet +CL: bch net/minecraft/block/BlockYellowFlower +CL: bci net/minecraft/tileentity/TileEntityBanner +CL: bcj net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern +CL: bck net/minecraft/tileentity/TileEntityBeacon +CL: bcl net/minecraft/tileentity/TileEntityBeacon$BeamSegment +CL: bcm net/minecraft/tileentity/TileEntity +CL: bcn net/minecraft/tileentity/TileEntity$1 +CL: bco net/minecraft/tileentity/TileEntity$2 +CL: bcp net/minecraft/tileentity/TileEntity$3 +CL: bcq net/minecraft/tileentity/TileEntityBrewingStand +CL: bcr net/minecraft/tileentity/TileEntityChest +CL: bcs net/minecraft/tileentity/TileEntityChest$SwitchEnumFacing +CL: bct net/minecraft/tileentity/TileEntityCommandBlock +CL: bcu net/minecraft/tileentity/TileEntityCommandBlock$1 +CL: bcv net/minecraft/tileentity/TileEntityComparator +CL: bcw net/minecraft/tileentity/TileEntityDaylightDetector +CL: bcx net/minecraft/tileentity/TileEntityDispenser +CL: bcy net/minecraft/tileentity/TileEntityDropper +CL: bcz net/minecraft/tileentity/TileEntityEnchantmentTable +CL: bd net/minecraft/command/server/CommandDeOp +CL: bda net/minecraft/tileentity/TileEntityEnderChest +CL: bdb net/minecraft/tileentity/TileEntityFlowerPot +CL: bdc net/minecraft/tileentity/TileEntityFurnace +CL: bdd net/minecraft/tileentity/IHopper +CL: bde net/minecraft/tileentity/TileEntityHopper +CL: bdf net/minecraft/tileentity/TileEntityLockable +CL: bdg net/minecraft/tileentity/TileEntityMobSpawner +CL: bdh net/minecraft/tileentity/TileEntityMobSpawner$1 +CL: bdi net/minecraft/tileentity/TileEntityNote +CL: bdj net/minecraft/tileentity/TileEntitySign +CL: bdk net/minecraft/tileentity/TileEntitySign$1 +CL: bdl net/minecraft/tileentity/TileEntitySign$2 +CL: bdm net/minecraft/tileentity/TileEntitySkull +CL: bdn net/minecraft/tileentity/TileEntityEndPortal +CL: bdq net/minecraft/block/BlockPistonBase +CL: bdr net/minecraft/block/BlockPistonBase$SwitchEnumFacing +CL: bds net/minecraft/block/BlockPistonExtension +CL: bdt net/minecraft/block/BlockPistonExtension$SwitchEnumFacing +CL: bdu net/minecraft/block/BlockPistonExtension$EnumPistonType +CL: bdv net/minecraft/tileentity/TileEntityPiston +CL: bdw net/minecraft/tileentity/TileEntityPiston$SwitchAxis +CL: bdx net/minecraft/block/BlockPistonMoving +CL: bdy net/minecraft/block/state/BlockPistonStructureHelper +CL: be net/minecraft/command/CommandDebug +CL: bea net/minecraft/block/state/BlockStateBase +CL: beb net/minecraft/block/state/BlockStateBase$1 +CL: bec net/minecraft/block/state/IBlockState +CL: bed net/minecraft/block/state/BlockState +CL: bee net/minecraft/block/state/BlockState$1 +CL: bef net/minecraft/block/state/BlockState$2 +CL: beg net/minecraft/block/state/BlockState$StateImplementation +CL: bei net/minecraft/block/state/BlockWorldState +CL: bej net/minecraft/block/state/BlockWorldState$1 +CL: bek net/minecraft/block/state/pattern/BlockPattern +CL: bel net/minecraft/block/state/pattern/BlockPattern$CacheLoader +CL: bem net/minecraft/block/state/pattern/BlockPattern$PatternHelper +CL: ben net/minecraft/block/state/pattern/FactoryBlockPattern +CL: bep net/minecraft/block/state/pattern/BlockHelper +CL: beq net/minecraft/block/state/pattern/BlockStateHelper +CL: bes net/minecraft/block/properties/PropertyHelper +CL: bet net/minecraft/block/properties/PropertyBool +CL: beu net/minecraft/block/properties/PropertyDirection +CL: bev net/minecraft/block/properties/PropertyEnum +CL: bew net/minecraft/block/properties/PropertyInteger +CL: bex net/minecraft/block/properties/IProperty +CL: bez net/minecraft/world/border/IBorderListener +CL: bf net/minecraft/command/CommandDefaultGameMode +CL: bfa net/minecraft/world/border/EnumBorderStatus +CL: bfb net/minecraft/world/border/WorldBorder +CL: bfe net/minecraft/world/chunk/IChunkProvider +CL: bff net/minecraft/world/chunk/NibbleArray +CL: bfg net/minecraft/world/chunk/EmptyChunk +CL: bfh net/minecraft/world/chunk/Chunk +CL: bfi net/minecraft/world/chunk/Chunk$1 +CL: bfj net/minecraft/world/chunk/Chunk$2 +CL: bfk net/minecraft/world/chunk/Chunk$3 +CL: bfl net/minecraft/world/chunk/Chunk$EnumCreateEntityType +CL: bfm net/minecraft/world/chunk/storage/ExtendedBlockStorage +CL: bfn net/minecraft/world/chunk/storage/NibbleArrayReader +CL: bfq net/minecraft/world/chunk/storage/IChunkLoader +CL: bft net/minecraft/world/chunk/storage/ChunkLoader +CL: bfu net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData +CL: bfv net/minecraft/world/chunk/storage/RegionFile +CL: bfw net/minecraft/world/chunk/storage/RegionFile$ChunkBuffer +CL: bfx net/minecraft/world/chunk/storage/RegionFileCache +CL: bfy net/minecraft/world/chunk/storage/AnvilChunkLoader +CL: bfz net/minecraft/world/chunk/storage/AnvilChunkLoader$PendingChunk +CL: bg net/minecraft/command/CommandEffect +CL: bgd net/minecraft/world/WorldProvider +CL: bge net/minecraft/world/WorldProviderHell +CL: bgf net/minecraft/world/WorldProviderHell$1 +CL: bgg net/minecraft/world/WorldProviderSurface +CL: bgh net/minecraft/world/WorldProviderEnd +CL: bgj net/minecraft/world/gen/MapGenRavine +CL: bgk net/minecraft/world/chunk/ChunkPrimer +CL: bgl net/minecraft/world/gen/ChunkProviderSettings +CL: bgm net/minecraft/world/gen/ChunkProviderSettings$1 +CL: bgn net/minecraft/world/gen/ChunkProviderSettings$Factory +CL: bgo net/minecraft/world/gen/ChunkProviderSettings$Serializer +CL: bgp net/minecraft/world/gen/ChunkProviderDebug +CL: bgq net/minecraft/world/gen/ChunkProviderFlat +CL: bgr net/minecraft/world/gen/ChunkProviderHell +CL: bgs net/minecraft/world/gen/MapGenCaves +CL: bgt net/minecraft/world/gen/MapGenBase +CL: bgu net/minecraft/world/gen/MapGenCavesHell +CL: bgv net/minecraft/world/gen/ChunkProviderGenerate +CL: bgw net/minecraft/world/gen/ChunkProviderEnd +CL: bh net/minecraft/command/server/CommandEmote +CL: bhc net/minecraft/world/gen/feature/WorldGenAbstractTree +CL: bhd net/minecraft/world/gen/feature/WorldGenBigTree +CL: bhe net/minecraft/world/gen/feature/WorldGenBigTree$FoliageCoordinates +CL: bhf net/minecraft/world/gen/feature/WorldGenForest +CL: bhg net/minecraft/world/gen/feature/WorldGenBlockBlob +CL: bhh net/minecraft/world/gen/feature/WorldGeneratorBonusChest +CL: bhi net/minecraft/world/gen/GeneratorBushFeature +CL: bhj net/minecraft/world/gen/feature/WorldGenCactus +CL: bhl net/minecraft/world/gen/feature/WorldGenClay +CL: bhm net/minecraft/world/gen/feature/WorldGenDeadBush +CL: bhn net/minecraft/world/gen/feature/WorldGenDesertWells +CL: bho net/minecraft/world/gen/feature/WorldGenDoublePlant +CL: bhp net/minecraft/world/gen/feature/WorldGenerator +CL: bhq net/minecraft/world/gen/feature/WorldGenFlowers +CL: bhr net/minecraft/world/gen/feature/WorldGenShrub +CL: bhs net/minecraft/world/gen/feature/WorldGenFire +CL: bht net/minecraft/world/gen/feature/WorldGenGlowStone2 +CL: bhu net/minecraft/world/gen/feature/WorldGenHellLava +CL: bhv net/minecraft/world/gen/feature/WorldGenBigMushroom +CL: bhw net/minecraft/world/gen/feature/WorldGenIcePath +CL: bhx net/minecraft/world/gen/feature/WorldGenIceSpike +CL: bhy net/minecraft/world/gen/feature/WorldGenLakes +CL: bhz net/minecraft/world/gen/feature/WorldGenGlowStone1 +CL: bi net/minecraft/command/CommandEnchant +CL: bia net/minecraft/world/gen/feature/WorldGenMegaJungle +CL: bib net/minecraft/world/gen/feature/WorldGenMegaPineTree +CL: bic net/minecraft/world/gen/feature/WorldGenHugeTrees +CL: bid net/minecraft/world/gen/feature/WorldGenMelon +CL: bie net/minecraft/world/gen/feature/WorldGenDungeons +CL: bif net/minecraft/world/gen/feature/WorldGenMinable +CL: big net/minecraft/world/gen/feature/WorldGenTaiga1 +CL: bih net/minecraft/world/gen/feature/WorldGenPumpkin +CL: bii net/minecraft/world/gen/feature/WorldGenReed +CL: bij net/minecraft/world/gen/feature/WorldGenCanopyTree +CL: bik net/minecraft/world/gen/feature/WorldGenSand +CL: bil net/minecraft/world/gen/feature/WorldGenSavannaTree +CL: bim net/minecraft/world/gen/feature/WorldGenSpikes +CL: bin net/minecraft/world/gen/feature/WorldGenLiquids +CL: bio net/minecraft/world/gen/feature/WorldGenTaiga2 +CL: bip net/minecraft/world/gen/feature/WorldGenSwamp +CL: biq net/minecraft/world/gen/feature/WorldGenTallGrass +CL: bir net/minecraft/world/gen/feature/WorldGenTrees +CL: bis net/minecraft/world/gen/feature/WorldGenVines +CL: bit net/minecraft/world/gen/feature/WorldGenWaterlily +CL: biv net/minecraft/world/gen/FlatGeneratorInfo +CL: biw net/minecraft/world/gen/FlatLayerInfo +CL: bj net/minecraft/command/CommandEntityData +CL: bjb net/minecraft/world/gen/structure/StructureBoundingBox +CL: bjc net/minecraft/world/gen/structure/StructureBoundingBox$SwitchEnumFacing +CL: bjd net/minecraft/world/gen/structure/MapGenMineshaft +CL: bje net/minecraft/world/gen/structure/StructureMineshaftPieces +CL: bjf net/minecraft/world/gen/structure/StructureMineshaftPieces$SwitchEnumFacing +CL: bjg net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor +CL: bjh net/minecraft/world/gen/structure/StructureMineshaftPieces$Cross +CL: bji net/minecraft/world/gen/structure/StructureMineshaftPieces$Room +CL: bjj net/minecraft/world/gen/structure/StructureMineshaftPieces$Stairs +CL: bjk net/minecraft/world/gen/structure/StructureMineshaftStart +CL: bjl net/minecraft/world/gen/structure/MapGenNetherBridge +CL: bjm net/minecraft/world/gen/structure/MapGenNetherBridge$Start +CL: bjn net/minecraft/world/gen/structure/StructureNetherBridgePieces +CL: bjo net/minecraft/world/gen/structure/StructureNetherBridgePieces$SwitchEnumFacing +CL: bjp net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing3 +CL: bjq net/minecraft/world/gen/structure/StructureNetherBridgePieces$End +CL: bjr net/minecraft/world/gen/structure/StructureNetherBridgePieces$Straight +CL: bjs net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor3 +CL: bjt net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor4 +CL: bju net/minecraft/world/gen/structure/StructureNetherBridgePieces$Entrance +CL: bjv net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing2 +CL: bjw net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor +CL: bjx net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor5 +CL: bjy net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor2 +CL: bjz net/minecraft/world/gen/structure/StructureNetherBridgePieces$NetherStalkRoom +CL: bk net/minecraft/command/CommandExecuteAt +CL: bka net/minecraft/world/gen/structure/StructureNetherBridgePieces$Throne +CL: bkb net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece +CL: bkc net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight +CL: bkd net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing +CL: bke net/minecraft/world/gen/structure/StructureNetherBridgePieces$Stairs +CL: bkf net/minecraft/world/gen/structure/StructureNetherBridgePieces$Start +CL: bkg net/minecraft/world/gen/structure/StructureOceanMonument +CL: bkh net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument +CL: bki net/minecraft/world/gen/structure/StructureOceanMonumentPieces +CL: bkj net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SwitchEnumFacing +CL: bkk net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XDoubleRoomFitHelper +CL: bkl net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XYDoubleRoomFitHelper +CL: bkm net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YDoubleRoomFitHelper +CL: bkn net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YZDoubleRoomFitHelper +CL: bko net/minecraft/world/gen/structure/StructureOceanMonumentPieces$ZDoubleRoomFitHelper +CL: bkp net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomHelper +CL: bkq net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomTopHelper +CL: bkr net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding +CL: bks net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentRoomFitHelper +CL: bkt net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentCoreRoom +CL: bku net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXRoom +CL: bkv net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXYRoom +CL: bkw net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYRoom +CL: bkx net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYZRoom +CL: bky net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleZRoom +CL: bkz net/minecraft/world/gen/structure/StructureOceanMonumentPieces$EntryRoom +CL: bl net/minecraft/command/CommandExecuteAt$1 +CL: bla net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Penthouse +CL: blb net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece +CL: blc net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleRoom +CL: bld net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleTopRoom +CL: ble net/minecraft/world/gen/structure/StructureOceanMonumentPieces$WingRoom +CL: blf net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition +CL: blg net/minecraft/world/gen/structure/MapGenScatteredFeature +CL: blh net/minecraft/world/gen/structure/MapGenScatteredFeature$Start +CL: bli net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces +CL: blj net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwitchEnumFacing +CL: blk net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$DesertPyramid +CL: bll net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid +CL: blm net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid$Stones +CL: bln net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$Feature +CL: blo net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwampHut +CL: blp net/minecraft/world/gen/structure/MapGenStronghold +CL: blq net/minecraft/world/gen/structure/MapGenStronghold$Start +CL: blr net/minecraft/world/gen/structure/StructureStrongholdPieces +CL: bls net/minecraft/world/gen/structure/StructureStrongholdPieces$1 +CL: blt net/minecraft/world/gen/structure/StructureStrongholdPieces$2 +CL: blu net/minecraft/world/gen/structure/StructureStrongholdPieces$SwitchEnumFacing +CL: blv net/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor +CL: blw net/minecraft/world/gen/structure/StructureStrongholdPieces$Corridor +CL: blx net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing +CL: bly net/minecraft/world/gen/structure/StructureStrongholdPieces$LeftTurn +CL: blz net/minecraft/world/gen/structure/StructureStrongholdPieces$Library +CL: bm net/minecraft/command/CommandXP +CL: bma net/minecraft/world/gen/structure/StructureStrongholdPieces$PieceWeight +CL: bmb net/minecraft/world/gen/structure/StructureStrongholdPieces$PortalRoom +CL: bmc net/minecraft/world/gen/structure/StructureStrongholdPieces$Prison +CL: bmd net/minecraft/world/gen/structure/StructureStrongholdPieces$RightTurn +CL: bme net/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing +CL: bmf net/minecraft/world/gen/structure/StructureStrongholdPieces$Stones +CL: bmg net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs +CL: bmh net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2 +CL: bmi net/minecraft/world/gen/structure/StructureStrongholdPieces$Straight +CL: bmj net/minecraft/world/gen/structure/StructureStrongholdPieces$StairsStraight +CL: bmk net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold +CL: bml net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door +CL: bmm net/minecraft/world/gen/structure/MapGenStructure +CL: bmn net/minecraft/world/gen/structure/MapGenStructure$1 +CL: bmo net/minecraft/world/gen/structure/MapGenStructure$2 +CL: bmp net/minecraft/world/gen/structure/MapGenStructure$3 +CL: bmq net/minecraft/world/gen/structure/MapGenStructureIO +CL: bmr net/minecraft/world/gen/structure/MapGenStructureData +CL: bms net/minecraft/world/gen/structure/StructureComponent +CL: bmt net/minecraft/world/gen/structure/StructureComponent$SwitchEnumFacing +CL: bmu net/minecraft/world/gen/structure/StructureComponent$BlockSelector +CL: bmv net/minecraft/world/gen/structure/StructureStart +CL: bmw net/minecraft/world/gen/structure/MapGenVillage +CL: bmx net/minecraft/world/gen/structure/MapGenVillage$Start +CL: bmy net/minecraft/world/gen/structure/StructureVillagePieces +CL: bmz net/minecraft/world/gen/structure/StructureVillagePieces$SwitchEnumFacing +CL: bn net/minecraft/command/CommandFill +CL: bna net/minecraft/world/gen/structure/StructureVillagePieces$House1 +CL: bnb net/minecraft/world/gen/structure/StructureVillagePieces$Field1 +CL: bnc net/minecraft/world/gen/structure/StructureVillagePieces$Field2 +CL: bnd net/minecraft/world/gen/structure/StructureVillagePieces$Torch +CL: bne net/minecraft/world/gen/structure/StructureVillagePieces$PieceWeight +CL: bnf net/minecraft/world/gen/structure/StructureVillagePieces$Hall +CL: bng net/minecraft/world/gen/structure/StructureVillagePieces$House4Garden +CL: bnh net/minecraft/world/gen/structure/StructureVillagePieces$WoodHut +CL: bni net/minecraft/world/gen/structure/StructureVillagePieces$Church +CL: bnj net/minecraft/world/gen/structure/StructureVillagePieces$House2 +CL: bnk net/minecraft/world/gen/structure/StructureVillagePieces$Start +CL: bnl net/minecraft/world/gen/structure/StructureVillagePieces$Path +CL: bnm net/minecraft/world/gen/structure/StructureVillagePieces$House3 +CL: bnn net/minecraft/world/gen/structure/StructureVillagePieces$Village +CL: bno net/minecraft/world/gen/structure/StructureVillagePieces$Road +CL: bnp net/minecraft/world/gen/structure/StructureVillagePieces$Well +CL: bnu net/minecraft/world/gen/NoiseGeneratorImproved +CL: bnv net/minecraft/world/gen/NoiseGeneratorOctaves +CL: bnw net/minecraft/world/gen/NoiseGeneratorPerlin +CL: bnz net/minecraft/world/gen/NoiseGeneratorSimplex +CL: bo net/minecraft/command/CommandDifficulty +CL: boa net/minecraft/world/gen/NoiseGenerator +CL: boc net/minecraft/block/material/MaterialLogic +CL: bod net/minecraft/block/material/MaterialTransparent +CL: boe net/minecraft/block/material/MaterialLiquid +CL: bof net/minecraft/block/material/Material +CL: bog net/minecraft/block/material/Material$1 +CL: boh net/minecraft/block/material/MapColor +CL: boi net/minecraft/block/material/MaterialPortal +CL: bok net/minecraft/world/gen/layer/GenLayerDeepOcean +CL: bol net/minecraft/world/gen/layer/GenLayerEdge +CL: bom net/minecraft/world/gen/layer/GenLayerEdge$SwitchMode +CL: bon net/minecraft/world/gen/layer/GenLayerEdge$Mode +CL: boo net/minecraft/world/gen/layer/GenLayerAddIsland +CL: bop net/minecraft/world/gen/layer/GenLayerAddMushroomIsland +CL: boq net/minecraft/world/gen/layer/GenLayerAddSnow +CL: bor net/minecraft/world/gen/layer/GenLayerBiomeEdge +CL: bos net/minecraft/world/gen/layer/GenLayerBiome +CL: bow net/minecraft/world/gen/layer/GenLayerFuzzyZoom +CL: boy net/minecraft/world/gen/layer/IntCache +CL: boz net/minecraft/world/gen/layer/GenLayerIsland +CL: bp net/minecraft/command/CommandGameMode +CL: bpa net/minecraft/world/gen/layer/GenLayer +CL: bpb net/minecraft/world/gen/layer/GenLayer$1 +CL: bpc net/minecraft/world/gen/layer/GenLayer$2 +CL: bpd net/minecraft/world/gen/layer/GenLayerRareBiome +CL: bpe net/minecraft/world/gen/layer/GenLayerHills +CL: bpf net/minecraft/world/gen/layer/GenLayerRemoveTooMuchOcean +CL: bpg net/minecraft/world/gen/layer/GenLayerRiverInit +CL: bph net/minecraft/world/gen/layer/GenLayerRiver +CL: bpi net/minecraft/world/gen/layer/GenLayerRiverMix +CL: bpj net/minecraft/world/gen/layer/GenLayerShore +CL: bpk net/minecraft/world/gen/layer/GenLayerSmooth +CL: bpo net/minecraft/world/gen/layer/GenLayerVoronoiZoom +CL: bpp net/minecraft/world/gen/layer/GenLayerZoom +CL: bps net/minecraft/pathfinding/Path +CL: bpt net/minecraft/pathfinding/PathPoint +CL: bpu net/minecraft/world/pathfinder/NodeProcessor +CL: bpv net/minecraft/pathfinding/PathEntity +CL: bpw net/minecraft/pathfinding/PathFinder +CL: bpx net/minecraft/world/pathfinder/SwimNodeProcessor +CL: bpy net/minecraft/world/pathfinder/WalkNodeProcessor +CL: bq net/minecraft/command/CommandGameRule +CL: bqc net/minecraft/world/WorldSavedData +CL: bqd net/minecraft/util/Vec4b +CL: bqe net/minecraft/world/storage/MapData +CL: bqf net/minecraft/world/storage/MapData$MapInfo +CL: bqi net/minecraft/world/chunk/storage/AnvilSaveHandler +CL: bqj net/minecraft/world/chunk/storage/AnvilSaveConverter +CL: bqk net/minecraft/world/chunk/storage/AnvilSaveConverter$1 +CL: bql net/minecraft/world/storage/DerivedWorldInfo +CL: bqm net/minecraft/world/storage/SaveHandler +CL: bqn net/minecraft/world/storage/SaveFormatOld +CL: bqo net/minecraft/world/storage/WorldInfo +CL: bqp net/minecraft/world/storage/WorldInfo$1 +CL: bqq net/minecraft/world/storage/WorldInfo$2 +CL: bqr net/minecraft/world/storage/WorldInfo$3 +CL: bqs net/minecraft/world/storage/WorldInfo$4 +CL: bqt net/minecraft/world/storage/WorldInfo$5 +CL: bqu net/minecraft/world/storage/WorldInfo$6 +CL: bqv net/minecraft/world/storage/WorldInfo$7 +CL: bqw net/minecraft/world/storage/WorldInfo$8 +CL: bqx net/minecraft/world/storage/WorldInfo$9 +CL: bqy net/minecraft/world/storage/ISaveHandler +CL: bqz net/minecraft/client/AnvilConverterException +CL: br net/minecraft/command/CommandGive +CL: bra net/minecraft/world/storage/ISaveFormat +CL: brb net/minecraft/world/storage/SaveFormatComparator +CL: brk net/minecraft/world/storage/SaveHandlerMP +CL: brl net/minecraft/world/storage/IPlayerFileData +CL: brm net/minecraft/world/storage/SaveDataMemoryStorage +CL: brn net/minecraft/world/storage/MapStorage +CL: brp net/minecraft/world/storage/ThreadedFileIOBase +CL: brq net/minecraft/world/storage/IThreadedFileIO +CL: brt net/minecraft/util/AxisAlignedBB +CL: bru net/minecraft/util/MovingObjectPosition +CL: brv net/minecraft/util/MovingObjectPosition$MovingObjectType +CL: brw net/minecraft/util/Vec3 +CL: bry net/minecraft/scoreboard/ScoreObjective +CL: brz net/minecraft/scoreboard/ScorePlayerTeam +CL: bs net/minecraft/command/CommandHelp +CL: bsa net/minecraft/scoreboard/Score +CL: bsb net/minecraft/scoreboard/Score$1 +CL: bsd net/minecraft/scoreboard/Scoreboard +CL: bse net/minecraft/scoreboard/ScoreboardSaveData +CL: bsf net/minecraft/scoreboard/Team +CL: bsg net/minecraft/scoreboard/Team$EnumVisible +CL: bsh net/minecraft/scoreboard/GoalColor +CL: bsi net/minecraft/scoreboard/ScoreDummyCriteria +CL: bsj net/minecraft/scoreboard/ScoreHealthCriteria +CL: bsk net/minecraft/scoreboard/IScoreObjectiveCriteria +CL: bsl net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType +CL: bsm net/minecraft/stats/ObjectiveStat +CL: bsp net/minecraft/client/renderer/ActiveRenderInfo +CL: bsq net/minecraft/client/gui/ChatLine +CL: bsr net/minecraft/client/settings/KeyBinding +CL: bss net/minecraft/client/renderer/RenderHelper +CL: bst net/minecraft/client/renderer/GLAllocation +CL: bsu net/minecraft/client/Minecraft +CL: bsv net/minecraft/client/Minecraft$1 +CL: bsw net/minecraft/client/Minecraft$10 +CL: bsx net/minecraft/client/Minecraft$11 +CL: bsy net/minecraft/client/Minecraft$12 +CL: bsz net/minecraft/client/Minecraft$13 +CL: bt net/minecraft/command/CommandServerKick +CL: bta net/minecraft/client/Minecraft$14 +CL: btb net/minecraft/client/Minecraft$15 +CL: btc net/minecraft/client/Minecraft$16 +CL: btd net/minecraft/client/Minecraft$SwitchEnumMinecartType +CL: bte net/minecraft/client/Minecraft$2 +CL: btf net/minecraft/client/Minecraft$3 +CL: btg net/minecraft/client/Minecraft$4 +CL: bth net/minecraft/client/Minecraft$5 +CL: bti net/minecraft/client/Minecraft$6 +CL: btj net/minecraft/client/Minecraft$7 +CL: btk net/minecraft/client/Minecraft$8 +CL: btl net/minecraft/client/Minecraft$9 +CL: btm net/minecraft/util/MouseHelper +CL: bto net/minecraft/client/settings/GameSettings +CL: btp net/minecraft/client/settings/GameSettings$1 +CL: btq net/minecraft/client/settings/GameSettings$SwitchOptions +CL: btr net/minecraft/client/settings/GameSettings$Options +CL: bts net/minecraft/client/LoadingScreenRenderer +CL: btt net/minecraft/util/ScreenShotHelper +CL: btu net/minecraft/util/MinecraftError +CL: btv net/minecraft/util/Timer +CL: btw net/minecraft/util/Session +CL: btx net/minecraft/util/Session$Type +CL: bty net/minecraft/client/gui/FontRenderer +CL: btz net/minecraft/client/gui/GuiIngame +CL: bu net/minecraft/command/CommandKill +CL: bua net/minecraft/client/gui/GuiIngame$1 +CL: bub net/minecraft/client/gui/Gui +CL: buc net/minecraft/client/gui/MapItemRenderer +CL: bud net/minecraft/client/gui/MapItemRenderer$1 +CL: bue net/minecraft/client/gui/MapItemRenderer$Instance +CL: buf net/minecraft/client/gui/ScaledResolution +CL: bug net/minecraft/client/gui/GuiButton +CL: buh net/minecraft/client/gui/GuiNewChat +CL: bui net/minecraft/client/gui/GuiUtilRenderComponents +CL: buj net/minecraft/client/gui/GuiOverlayDebug +CL: buk net/minecraft/client/gui/GuiOverlayDebug$SwitchEnumFacing +CL: bul net/minecraft/client/gui/GuiTextField +CL: bum net/minecraft/client/gui/GuiSlider +CL: bun net/minecraft/client/gui/GuiSlider$FormatHelper +CL: buo net/minecraft/client/gui/GuiLabel +CL: bup net/minecraft/client/gui/GuiButtonLanguage +CL: bur net/minecraft/client/gui/GuiListButton +CL: bus net/minecraft/client/gui/GuiLockIconButton +CL: but net/minecraft/client/gui/GuiLockIconButton$Icon +CL: buu net/minecraft/client/gui/GuiListExtended +CL: buv net/minecraft/client/gui/GuiListExtended$IGuiListEntry +CL: buw net/minecraft/client/gui/GuiOptionButton +CL: bux net/minecraft/client/gui/GuiOptionsRowList +CL: buy net/minecraft/client/gui/GuiOptionsRowList$Row +CL: buz net/minecraft/client/gui/GuiPageButtonList +CL: bv net/minecraft/command/server/CommandListBans +CL: bva net/minecraft/client/gui/GuiPageButtonList$GuiButtonEntry +CL: bvb net/minecraft/client/gui/GuiPageButtonList$GuiResponder +CL: bvc net/minecraft/client/gui/GuiPageButtonList$EditBoxEntry +CL: bvd net/minecraft/client/gui/GuiPageButtonList$GuiEntry +CL: bve net/minecraft/client/gui/GuiPageButtonList$GuiLabelEntry +CL: bvf net/minecraft/client/gui/GuiPageButtonList$GuiListEntry +CL: bvg net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry +CL: bvh net/minecraft/client/gui/GuiPlayerTabOverlay +CL: bvi net/minecraft/client/gui/GuiPlayerTabOverlay$1 +CL: bvj net/minecraft/client/gui/GuiPlayerTabOverlay$PlayerComparator +CL: bvk net/minecraft/client/gui/GuiSlot +CL: bvl net/minecraft/client/gui/GuiOptionSlider +CL: bvm net/minecraft/client/gui/GuiStreamIndicator +CL: bvo net/minecraft/client/gui/GuiSpectator +CL: bvr net/minecraft/client/gui/GuiButtonRealmsProxy +CL: bvs net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy +CL: bvt net/minecraft/client/gui/GuiScreenRealmsProxy +CL: bvu net/minecraft/client/gui/GuiSlotRealmsProxy +CL: bvv net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy +CL: bvw net/minecraft/client/gui/ScreenChatOptions +CL: bvx net/minecraft/client/gui/GuiChat +CL: bvy net/minecraft/client/gui/GuiConfirmOpenLink +CL: bvz net/minecraft/client/gui/GuiYesNoCallback +CL: bw net/minecraft/command/server/CommandListPlayers +CL: bwa net/minecraft/client/gui/GuiYesNo +CL: bwb net/minecraft/client/multiplayer/GuiConnecting +CL: bwc net/minecraft/client/multiplayer/GuiConnecting$1 +CL: bwd net/minecraft/client/gui/GuiCreateFlatWorld +CL: bwe net/minecraft/client/gui/GuiCreateFlatWorld$Details +CL: bwf net/minecraft/client/gui/GuiCreateWorld +CL: bwg net/minecraft/client/gui/GuiScreenCustomizePresets +CL: bwh net/minecraft/client/gui/GuiScreenCustomizePresets$Info +CL: bwi net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset +CL: bwj net/minecraft/client/gui/GuiCustomizeWorldScreen +CL: bwk net/minecraft/client/gui/GuiCustomizeWorldScreen$1 +CL: bwl net/minecraft/client/gui/GuiGameOver +CL: bwm net/minecraft/client/gui/GuiScreenDemo +CL: bwn net/minecraft/client/gui/GuiScreenServerList +CL: bwo net/minecraft/client/gui/GuiDisconnected +CL: bwp net/minecraft/client/gui/GuiScreenAddServer +CL: bwq net/minecraft/client/gui/GuiErrorScreen +CL: bwr net/minecraft/client/gui/GuiSleepMP +CL: bws net/minecraft/client/gui/GuiLanguage +CL: bwt net/minecraft/client/gui/GuiLanguage$List +CL: bwv net/minecraft/client/gui/GuiOptions +CL: bww net/minecraft/client/gui/GuiOptions$1 +CL: bwx net/minecraft/client/gui/GuiMemoryErrorScreen +CL: bwy net/minecraft/client/gui/GuiIngameMenu +CL: bwz net/minecraft/client/gui/GuiFlatPresets +CL: bx net/minecraft/command/server/CommandMessage +CL: bxa net/minecraft/client/gui/GuiFlatPresets$LayerItem +CL: bxb net/minecraft/client/gui/GuiFlatPresets$ListSlot +CL: bxc net/minecraft/client/gui/GuiScreenWorking +CL: bxd net/minecraft/client/gui/GuiDownloadTerrain +CL: bxe net/minecraft/client/gui/GuiRenameWorld +CL: bxf net/minecraft/client/gui/GuiScreen +CL: bxg net/minecraft/client/gui/GuiSelectWorld +CL: bxh net/minecraft/client/gui/GuiSelectWorld$List +CL: bxi net/minecraft/client/gui/GuiShareToLan +CL: bxj net/minecraft/client/gui/GuiCustomizeSkin +CL: bxk net/minecraft/client/gui/GuiCustomizeSkin$1 +CL: bxl net/minecraft/client/gui/GuiCustomizeSkin$ButtonPart +CL: bxm net/minecraft/client/gui/GuiSnooper +CL: bxn net/minecraft/client/gui/GuiSnooper$List +CL: bxo net/minecraft/client/gui/GuiScreenOptionsSounds +CL: bxp net/minecraft/client/gui/GuiScreenOptionsSounds$Button +CL: bxq net/minecraft/client/gui/GuiMainMenu +CL: bxr net/minecraft/client/gui/GuiVideoSettings +CL: bxs net/minecraft/client/gui/GuiWinGame +CL: bxt net/minecraft/client/gui/achievement/GuiAchievement +CL: bxu net/minecraft/client/gui/achievement/GuiAchievements +CL: bxv net/minecraft/client/gui/achievement/GuiStats +CL: bxw net/minecraft/client/gui/achievement/GuiStats$StatsBlock +CL: bxx net/minecraft/client/gui/achievement/GuiStats$StatsBlock$1 +CL: bxy net/minecraft/client/gui/achievement/GuiStats$StatsGeneral +CL: bxz net/minecraft/client/gui/achievement/GuiStats$StatsItem +CL: by net/minecraft/command/server/CommandMessageRaw +CL: bya net/minecraft/client/gui/achievement/GuiStats$StatsItem$1 +CL: byb net/minecraft/client/gui/achievement/GuiStats$StatsMobsList +CL: byc net/minecraft/client/gui/achievement/GuiStats$Stats +CL: byd net/minecraft/client/gui/IProgressMeter +CL: byf net/minecraft/client/gui/GuiKeyBindingList +CL: byg net/minecraft/client/gui/GuiKeyBindingList$1 +CL: byh net/minecraft/client/gui/GuiKeyBindingList$CategoryEntry +CL: byi net/minecraft/client/gui/GuiKeyBindingList$KeyEntry +CL: byj net/minecraft/client/gui/GuiControls +CL: byl net/minecraft/client/gui/inventory/GuiContainer +CL: bym net/minecraft/client/gui/GuiRepair +CL: byn net/minecraft/client/gui/inventory/GuiBeacon +CL: byo net/minecraft/client/gui/inventory/GuiBeacon$CancelButton +CL: byp net/minecraft/client/gui/inventory/GuiBeacon$ConfirmButton +CL: byq net/minecraft/client/gui/inventory/GuiBeacon$PowerButton +CL: byr net/minecraft/client/gui/inventory/GuiBeacon$Button +CL: bys net/minecraft/client/gui/GuiScreenBook +CL: byt net/minecraft/client/gui/GuiScreenBook$NextPageButton +CL: byu net/minecraft/client/gui/inventory/GuiBrewingStand +CL: byv net/minecraft/client/gui/GuiCommandBlock +CL: byw net/minecraft/client/gui/inventory/GuiChest +CL: byx net/minecraft/client/gui/inventory/GuiCrafting +CL: byy net/minecraft/client/gui/inventory/CreativeCrafting +CL: byz net/minecraft/client/gui/inventory/GuiContainerCreative +CL: bz net/minecraft/command/server/CommandOp +CL: bza net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative +CL: bzb net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot +CL: bzc net/minecraft/client/gui/inventory/GuiDispenser +CL: bzd net/minecraft/client/renderer/InventoryEffectRenderer +CL: bze net/minecraft/util/EnchantmentNameParts +CL: bzf net/minecraft/client/gui/GuiEnchantment +CL: bzg net/minecraft/client/gui/inventory/GuiFurnace +CL: bzh net/minecraft/client/gui/GuiHopper +CL: bzi net/minecraft/client/gui/inventory/GuiScreenHorseInventory +CL: bzj net/minecraft/client/gui/inventory/GuiInventory +CL: bzk net/minecraft/client/gui/GuiMerchant +CL: bzl net/minecraft/client/gui/GuiMerchant$MerchantButton +CL: bzm net/minecraft/client/gui/inventory/GuiEditSign +CL: bzp net/minecraft/client/gui/GuiMultiplayer +CL: bzq net/minecraft/client/gui/ServerListEntryLanScan +CL: bzr net/minecraft/client/gui/ServerListEntryLanDetected +CL: bzs net/minecraft/client/gui/ServerListEntryNormal +CL: bzt net/minecraft/client/gui/ServerListEntryNormal$1 +CL: bzu net/minecraft/client/gui/ServerSelectionList +CL: bzx net/minecraft/client/gui/GuiScreenResourcePacks +CL: bzy net/minecraft/client/resources/ResourcePackListEntry +CL: bzz net/minecraft/client/resources/ResourcePackListEntryDefault +CL: c net/minecraft/crash/CrashReport$1 +CL: ca net/minecraft/command/server/CommandPardonIp +CL: caa net/minecraft/client/resources/ResourcePackListEntryFound +CL: cac net/minecraft/client/gui/GuiResourcePackAvailable +CL: cad net/minecraft/client/gui/GuiResourcePackList +CL: cae net/minecraft/client/gui/GuiResourcePackSelected +CL: cah net/minecraft/client/gui/stream/GuiIngestServers +CL: cai net/minecraft/client/gui/stream/GuiIngestServers$ServerList +CL: caj net/minecraft/client/gui/stream/GuiStreamOptions +CL: cak net/minecraft/client/gui/stream/GuiStreamUnavailable +CL: cal net/minecraft/client/gui/stream/GuiStreamUnavailable$SwitchReason +CL: cam net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason +CL: can net/minecraft/client/gui/stream/GuiTwitchUserMode +CL: cap net/minecraft/client/gui/spectator/PlayerMenuObject +CL: caq net/minecraft/client/gui/spectator/BaseSpectatorGroup +CL: car net/minecraft/client/gui/spectator/SpectatorMenu +CL: cas net/minecraft/client/gui/spectator/SpectatorMenu$1 +CL: cat net/minecraft/client/gui/spectator/SpectatorMenu$EndSpectatorObject +CL: cau net/minecraft/client/gui/spectator/SpectatorMenu$MoveMenuObject +CL: cav net/minecraft/client/gui/spectator/ISpectatorMenuView +CL: caw net/minecraft/client/gui/spectator/ISpectatorMenuObject +CL: cax net/minecraft/client/gui/spectator/ISpectatorMenuRecipient +CL: cay net/minecraft/client/gui/spectator/categories/SpectatorDetails +CL: caz net/minecraft/client/gui/spectator/categories/TeleportToPlayer +CL: cb net/minecraft/command/server/CommandPardonPlayer +CL: cba net/minecraft/client/gui/spectator/categories/TeleportToPlayer$1 +CL: cbb net/minecraft/client/gui/spectator/categories/TeleportToTeam +CL: cbc net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject +CL: cbf net/minecraft/client/main/GameConfiguration +CL: cbg net/minecraft/client/main/GameConfiguration$DisplayInformation +CL: cbh net/minecraft/client/main/GameConfiguration$FolderInformation +CL: cbi net/minecraft/client/main/GameConfiguration$GameInformation +CL: cbj net/minecraft/client/main/GameConfiguration$ServerInformation +CL: cbk net/minecraft/client/main/GameConfiguration$UserInformation +CL: cbl net/minecraft/client/main/Main$1 +CL: cbm net/minecraft/client/main/Main$2 +CL: cbu net/minecraft/client/model/ModelArmorStandArmor +CL: cbv net/minecraft/client/model/ModelArmorStand +CL: cbw net/minecraft/client/model/ModelBanner +CL: cbx net/minecraft/client/model/ModelBat +CL: cby net/minecraft/client/model/ModelBlaze +CL: cbz net/minecraft/client/model/ModelBoat +CL: cc net/minecraft/command/CommandParticle +CL: cca net/minecraft/client/model/ModelBook +CL: ccb net/minecraft/client/model/ModelChest +CL: ccc net/minecraft/client/model/ModelChicken +CL: ccd net/minecraft/client/model/ModelCow +CL: cce net/minecraft/client/model/ModelCreeper +CL: ccf net/minecraft/client/model/ModelEnderman +CL: ccg net/minecraft/client/model/ModelEnderMite +CL: cch net/minecraft/client/model/ModelGhast +CL: cci net/minecraft/client/model/ModelGuardian +CL: ccj net/minecraft/client/model/ModelHorse +CL: cck net/minecraft/client/model/ModelHumanoidHead +CL: ccl net/minecraft/client/model/ModelBiped +CL: ccm net/minecraft/client/model/ModelLargeChest +CL: ccn net/minecraft/client/model/ModelMagmaCube +CL: cco net/minecraft/client/model/ModelLeashKnot +CL: ccp net/minecraft/client/model/ModelMinecart +CL: ccq net/minecraft/client/model/ModelBase +CL: ccr net/minecraft/client/model/ModelOcelot +CL: ccs net/minecraft/client/model/ModelPig +CL: cct net/minecraft/client/model/ModelPlayer +CL: ccu net/minecraft/client/model/TexturedQuad +CL: ccv net/minecraft/client/model/ModelQuadruped +CL: ccw net/minecraft/client/model/ModelRabbit +CL: ccx net/minecraft/client/model/ModelSheep1 +CL: ccy net/minecraft/client/model/ModelSheep2 +CL: ccz net/minecraft/client/model/ModelSign +CL: cd net/minecraft/command/CommandPlaySound +CL: cda net/minecraft/client/model/ModelSilverfish +CL: cdb net/minecraft/client/model/ModelSkeletonHead +CL: cdc net/minecraft/client/model/ModelSkeleton +CL: cde net/minecraft/client/model/ModelSlime +CL: cdf net/minecraft/client/model/ModelSnowMan +CL: cdg net/minecraft/client/model/ModelSpider +CL: cdh net/minecraft/client/model/ModelSquid +CL: cdi net/minecraft/client/model/PositionTextureVertex +CL: cdj net/minecraft/client/model/ModelIronGolem +CL: cdk net/minecraft/client/model/ModelVillager +CL: cdl net/minecraft/client/model/ModelZombieVillager +CL: cdm net/minecraft/client/model/ModelWitch +CL: cdn net/minecraft/client/model/ModelWither +CL: cdo net/minecraft/client/model/ModelWolf +CL: cdp net/minecraft/client/model/ModelZombie +CL: cdq net/minecraft/client/model/ModelDragon +CL: cdr net/minecraft/client/model/ModelEnderCrystal +CL: cdt net/minecraft/client/model/ModelBox +CL: cdy net/minecraft/client/model/ModelRenderer +CL: cdz net/minecraft/client/model/TextureOffset +CL: ce net/minecraft/command/server/CommandPublishLocalServer +CL: cec net/minecraft/client/network/NetHandlerLoginClient +CL: ced net/minecraft/client/network/NetHandlerLoginClient$1 +CL: cee net/minecraft/client/network/NetHandlerPlayClient +CL: cef net/minecraft/client/network/NetHandlerPlayClient$1 +CL: ceg net/minecraft/client/network/NetHandlerPlayClient$2 +CL: ceh net/minecraft/client/network/NetHandlerPlayClient$3 +CL: cei net/minecraft/client/network/NetHandlerPlayClient$3$1 +CL: cej net/minecraft/client/network/NetHandlerPlayClient$3$1$1 +CL: cek net/minecraft/client/network/NetHandlerPlayClient$SwitchAction +CL: cel net/minecraft/client/multiplayer/ChunkProviderClient +CL: cem net/minecraft/client/multiplayer/PlayerControllerMP +CL: cen net/minecraft/client/multiplayer/WorldClient +CL: ceo net/minecraft/client/multiplayer/WorldClient$1 +CL: cep net/minecraft/client/multiplayer/WorldClient$2 +CL: ceq net/minecraft/client/multiplayer/WorldClient$3 +CL: cer net/minecraft/client/multiplayer/WorldClient$4 +CL: ces net/minecraft/client/network/NetworkPlayerInfo +CL: cet net/minecraft/client/network/NetworkPlayerInfo$1 +CL: ceu net/minecraft/client/network/NetworkPlayerInfo$SwitchType +CL: cev net/minecraft/client/multiplayer/ServerAddress +CL: cew net/minecraft/client/multiplayer/ServerData +CL: cex net/minecraft/client/multiplayer/ServerData$ServerResourceMode +CL: cey net/minecraft/client/multiplayer/ServerList +CL: cez net/minecraft/client/network/OldServerPinger +CL: cf net/minecraft/command/common/CommandReplaceItem +CL: cfa net/minecraft/client/network/OldServerPinger$1 +CL: cfb net/minecraft/client/network/OldServerPinger$2 +CL: cfc net/minecraft/client/network/OldServerPinger$2$1 +CL: cff net/minecraft/client/particle/Barrier +CL: cfg net/minecraft/client/particle/Barrier$Factory +CL: cfh net/minecraft/client/particle/EntityBreakingFX +CL: cfi net/minecraft/client/particle/EntityBreakingFX$Factory +CL: cfj net/minecraft/client/particle/EntityBreakingFX$SlimeFactory +CL: cfk net/minecraft/client/particle/EntityBreakingFX$SnowballFactory +CL: cfl net/minecraft/client/particle/EntityBubbleFX +CL: cfm net/minecraft/client/particle/EntityBubbleFX$Factory +CL: cfn net/minecraft/client/particle/EntityCrit2FX +CL: cfo net/minecraft/client/particle/EntityCrit2FX$MagicFactory +CL: cfp net/minecraft/client/particle/EntityCrit2FX$Factory +CL: cfq net/minecraft/client/particle/EntityDropParticleFX +CL: cfr net/minecraft/client/particle/EntityDropParticleFX$LavaFactory +CL: cfs net/minecraft/client/particle/EntityDropParticleFX$WaterFactory +CL: cft net/minecraft/client/particle/EntityEnchantmentTableParticleFX +CL: cfu net/minecraft/client/particle/EntityEnchantmentTableParticleFX$EnchantmentTable +CL: cfv net/minecraft/client/particle/EntityExplodeFX +CL: cfw net/minecraft/client/particle/EntityExplodeFX$Factory +CL: cfy net/minecraft/client/particle/EntityFireworkOverlayFX +CL: cfz net/minecraft/client/particle/EntityFireworkSparkFX +CL: cg net/minecraft/command/server/CommandSaveAll +CL: cga net/minecraft/client/particle/EntityFireworkStarterFX +CL: cgb net/minecraft/client/particle/EntityFireworkStarterFX_Factory +CL: cgc net/minecraft/client/particle/EntityFlameFX +CL: cgd net/minecraft/client/particle/EntityFlameFX$Factory +CL: cge net/minecraft/client/particle/EntityFootStepFX +CL: cgf net/minecraft/client/particle/EntityFootStepFX$Factory +CL: cgg net/minecraft/client/particle/EntityHeartFX +CL: cgh net/minecraft/client/particle/EntityHeartFX$AngryVillagerFactory +CL: cgi net/minecraft/client/particle/EntityHeartFX$Factory +CL: cgj net/minecraft/client/particle/EntityLargeExplodeFX +CL: cgk net/minecraft/client/particle/EntityLargeExplodeFX$Factory +CL: cgl net/minecraft/client/particle/EntityHugeExplodeFX +CL: cgm net/minecraft/client/particle/EntityHugeExplodeFX$Factory +CL: cgn net/minecraft/client/particle/EntityPickupFX +CL: cgo net/minecraft/client/particle/EntityCritFX +CL: cgp net/minecraft/client/particle/EntityCritFX$Factory +CL: cgq net/minecraft/client/particle/EntityLavaFX +CL: cgr net/minecraft/client/particle/EntityLavaFX$Factory +CL: cgs net/minecraft/client/particle/MobAppearance +CL: cgt net/minecraft/client/particle/MobAppearance$Factory +CL: cgu net/minecraft/client/particle/EntityNoteFX +CL: cgv net/minecraft/client/particle/EntityNoteFX$Factory +CL: cgw net/minecraft/client/particle/EntityFX +CL: cgx net/minecraft/client/particle/EffectRenderer +CL: cgy net/minecraft/client/particle/EffectRenderer$1 +CL: cgz net/minecraft/client/particle/EffectRenderer$2 +CL: ch net/minecraft/command/server/CommandSaveOff +CL: cha net/minecraft/client/particle/EffectRenderer$3 +CL: chb net/minecraft/client/particle/EffectRenderer$4 +CL: chc net/minecraft/client/particle/IParticleFactory +CL: chd net/minecraft/client/particle/EntityCloudFX +CL: che net/minecraft/client/particle/EntityCloudFX$Factory +CL: chf net/minecraft/client/particle/EntityPortalFX +CL: chg net/minecraft/client/particle/EntityPortalFX$Factory +CL: chh net/minecraft/client/particle/EntityReddustFX +CL: chi net/minecraft/client/particle/EntityReddustFX$Factory +CL: chj net/minecraft/client/particle/EntitySmokeFX +CL: chk net/minecraft/client/particle/EntitySmokeFX$1 +CL: chl net/minecraft/client/particle/EntitySmokeFX$Factory +CL: chm net/minecraft/client/particle/EntitySnowShovelFX +CL: chn net/minecraft/client/particle/EntitySnowShovelFX$Factory +CL: cho net/minecraft/client/particle/EntitySpellParticleFX +CL: chp net/minecraft/client/particle/EntitySpellParticleFX$AmbientMobFactory +CL: chq net/minecraft/client/particle/EntitySpellParticleFX$InstantFactory +CL: chr net/minecraft/client/particle/EntitySpellParticleFX$MobFactory +CL: chs net/minecraft/client/particle/EntitySpellParticleFX$Factory +CL: cht net/minecraft/client/particle/EntitySpellParticleFX$WitchFactory +CL: chu net/minecraft/client/particle/EntitySplashFX +CL: chv net/minecraft/client/particle/EntitySplashFX$Factory +CL: chw net/minecraft/client/particle/EntitySuspendFX +CL: chx net/minecraft/client/particle/EntitySuspendFX$Factory +CL: chy net/minecraft/client/particle/EntityAuraFX +CL: chz net/minecraft/client/particle/EntityAuraFX$HappyVillagerFactory +CL: ci net/minecraft/command/server/CommandSaveOn +CL: cia net/minecraft/client/particle/EntityAuraFX$Factory +CL: cib net/minecraft/client/particle/EntityBlockDustFX +CL: cic net/minecraft/client/particle/EntityBlockDustFX$Factory +CL: cid net/minecraft/client/particle/EntityDiggingFX +CL: cie net/minecraft/client/particle/EntityDiggingFX$Factory +CL: cif net/minecraft/client/particle/EntityParticleEmitter +CL: cig net/minecraft/client/particle/EntityFishWakeFX +CL: cih net/minecraft/client/particle/EntityFishWakeFX$Factory +CL: cii net/minecraft/client/particle/EntityRainFX +CL: cij net/minecraft/client/particle/EntityRainFX$Factory +CL: cil net/minecraft/client/entity/AbstractClientPlayer +CL: cim net/minecraft/util/MovementInput +CL: cin net/minecraft/util/MovementInputFromOptions +CL: cio net/minecraft/client/entity/EntityPlayerSP +CL: cip net/minecraft/client/entity/EntityOtherPlayerMP +CL: ciq net/minecraft/client/player/inventory/LocalBlockIntercommunication +CL: cir net/minecraft/client/player/inventory/ContainerLocalMenu +CL: ciu net/minecraft/entity/boss/BossStatus +CL: civ net/minecraft/client/renderer/WorldRenderer +CL: ciw net/minecraft/client/renderer/WorldRenderer$SwitchEnumUsage +CL: cix net/minecraft/client/renderer/WorldRenderer$State +CL: ciy net/minecraft/client/renderer/WorldVertexBufferUploader +CL: ciz net/minecraft/client/renderer/WorldVertexBufferUploader$SwitchEnumUsage +CL: cj net/minecraft/command/server/CommandBroadcast +CL: cja net/minecraft/client/renderer/RegionRenderCache +CL: cjb net/minecraft/client/renderer/RegionRenderCacheBuilder +CL: cjc net/minecraft/client/renderer/ChunkRenderContainer +CL: cjd net/minecraft/client/renderer/tileentity/TileEntityItemStackRenderer +CL: cje net/minecraft/client/renderer/EnumFaceDirection +CL: cjf net/minecraft/client/renderer/EnumFaceDirection$1 +CL: cjg net/minecraft/client/renderer/EnumFaceDirection$Constants +CL: cjh net/minecraft/client/renderer/EnumFaceDirection$VertexInformation +CL: cji net/minecraft/client/renderer/EntityRenderer +CL: cjj net/minecraft/client/renderer/EntityRenderer$1 +CL: cjk net/minecraft/client/renderer/EntityRenderer$2 +CL: cjl net/minecraft/client/renderer/EntityRenderer$3 +CL: cjm net/minecraft/client/renderer/GlStateManager +CL: cjn net/minecraft/client/renderer/GlStateManager$SwitchTexGen +CL: cjo net/minecraft/client/renderer/GlStateManager$AlphaState +CL: cjp net/minecraft/client/renderer/GlStateManager$BlendState +CL: cjq net/minecraft/client/renderer/GlStateManager$BooleanState +CL: cjr net/minecraft/client/renderer/GlStateManager$ClearState +CL: cjs net/minecraft/client/renderer/GlStateManager$Color +CL: cjt net/minecraft/client/renderer/GlStateManager$ColorLogicState +CL: cju net/minecraft/client/renderer/GlStateManager$ColorMask +CL: cjv net/minecraft/client/renderer/GlStateManager$ColorMaterialState +CL: cjw net/minecraft/client/renderer/GlStateManager$CullState +CL: cjx net/minecraft/client/renderer/GlStateManager$DepthState +CL: cjy net/minecraft/client/renderer/GlStateManager$FogState +CL: cjz net/minecraft/client/renderer/GlStateManager$PolygonOffsetState +CL: ck net/minecraft/command/server/CommandScoreboard +CL: cka net/minecraft/client/renderer/GlStateManager$StencilFunc +CL: ckb net/minecraft/client/renderer/GlStateManager$StencilState +CL: ckc net/minecraft/client/renderer/GlStateManager$TexGen +CL: ckd net/minecraft/client/renderer/GlStateManager$TexGenCoord +CL: cke net/minecraft/client/renderer/GlStateManager$TexGenState +CL: ckf net/minecraft/client/renderer/GlStateManager$TextureState +CL: ckg net/minecraft/client/renderer/GlStateManager$Viewport +CL: ckh net/minecraft/client/renderer/IImageBuffer +CL: cki net/minecraft/client/renderer/ItemRenderer +CL: ckj net/minecraft/client/renderer/ItemRenderer$SwitchEnumAction +CL: ckk net/minecraft/client/renderer/ItemModelMesher +CL: ckl net/minecraft/client/renderer/ItemMeshDefinition +CL: ckn net/minecraft/client/renderer/RenderGlobal +CL: cko net/minecraft/client/renderer/RenderGlobal$1 +CL: ckp net/minecraft/client/renderer/RenderGlobal$SwitchEnumUsage +CL: ckq net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation +CL: ckr net/minecraft/client/renderer/ImageBufferDownload +CL: cks net/minecraft/client/renderer/RenderList +CL: ckt net/minecraft/client/util/QuadComparator +CL: ckw net/minecraft/client/shader/Framebuffer +CL: ckx net/minecraft/client/renderer/Tessellator +CL: cky net/minecraft/client/renderer/VboRenderList +CL: ckz net/minecraft/client/renderer/VertexBufferUploader +CL: cl net/minecraft/command/ServerCommandManager +CL: cla net/minecraft/client/renderer/ViewFrustum +CL: clb net/minecraft/client/renderer/ChestRenderer +CL: clc net/minecraft/client/renderer/BlockModelShapes +CL: cld net/minecraft/client/renderer/BlockModelShapes$1 +CL: cle net/minecraft/client/renderer/BlockModelShapes$2 +CL: clf net/minecraft/client/renderer/BlockModelShapes$3 +CL: clg net/minecraft/client/renderer/BlockModelShapes$4 +CL: clh net/minecraft/client/renderer/BlockModelShapes$5 +CL: cli net/minecraft/client/renderer/BlockModelShapes$6 +CL: clj net/minecraft/client/renderer/BlockModelShapes$7 +CL: clk net/minecraft/client/renderer/BlockModelShapes$SwitchEnumType +CL: cll net/minecraft/client/renderer/BlockRendererDispatcher +CL: clm net/minecraft/client/renderer/BlockFluidRenderer +CL: cln net/minecraft/client/renderer/BlockModelRenderer +CL: clo net/minecraft/client/renderer/BlockModelRenderer$SwitchEnumFacing +CL: clp net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo +CL: clq net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace +CL: clr net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations +CL: cls net/minecraft/client/renderer/BlockModelRenderer$Orientation +CL: clt net/minecraft/client/renderer/block/model/BakedQuad +CL: clu net/minecraft/client/renderer/block/model/BlockPart +CL: clv net/minecraft/client/renderer/block/model/BlockPart$SwitchEnumFacing +CL: clw net/minecraft/client/renderer/block/model/BlockPart$Deserializer +CL: clx net/minecraft/client/renderer/block/model/BlockPartFace +CL: cly net/minecraft/client/renderer/block/model/BlockPartFace$Deserializer +CL: clz net/minecraft/client/renderer/block/model/BlockPartRotation +CL: cm net/minecraft/command/server/CommandSetBlock +CL: cma net/minecraft/client/renderer/block/model/BlockFaceUV +CL: cmb net/minecraft/client/renderer/block/model/BlockFaceUV$Deserializer +CL: cmc net/minecraft/client/renderer/block/model/ModelBlock +CL: cmd net/minecraft/client/renderer/block/model/ModelBlock$1 +CL: cme net/minecraft/client/renderer/block/model/ModelBlock$Bookkeep +CL: cmf net/minecraft/client/renderer/block/model/ModelBlock$Deserializer +CL: cmg net/minecraft/client/renderer/block/model/ModelBlock$LoopException +CL: cmh net/minecraft/client/renderer/block/model/ModelBlockDefinition +CL: cmi net/minecraft/client/renderer/block/model/ModelBlockDefinition$Deserializer +CL: cmj net/minecraft/client/renderer/block/model/ModelBlockDefinition$MissingVariantException +CL: cmk net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant +CL: cml net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant$Deserializer +CL: cmm net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants +CL: cmn net/minecraft/client/renderer/block/model/BreakingFour +CL: cmo net/minecraft/client/renderer/block/model/BreakingFour$SwitchEnumFacing +CL: cmp net/minecraft/client/renderer/block/model/FaceBakery +CL: cmq net/minecraft/client/renderer/block/model/FaceBakery$SwitchEnumFacing +CL: cmr net/minecraft/client/renderer/block/model/ItemModelGenerator +CL: cms net/minecraft/client/renderer/block/model/ItemModelGenerator$SwitchSpanFacing +CL: cmt net/minecraft/client/renderer/block/model/ItemModelGenerator$Span +CL: cmu net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing +CL: cmv net/minecraft/client/renderer/block/model/ItemTransformVec3f +CL: cmw net/minecraft/client/renderer/block/model/ItemTransformVec3f$Deserializer +CL: cmx net/minecraft/client/renderer/block/model/ItemCameraTransforms +CL: cmy net/minecraft/client/renderer/block/model/ItemCameraTransforms$Deserializer +CL: cmz net/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType +CL: cn net/minecraft/command/server/CommandSetDefaultSpawnpoint +CL: cnc net/minecraft/client/renderer/block/statemap/StateMapperBase +CL: cnd net/minecraft/client/renderer/block/statemap/BlockStateMapper +CL: cne net/minecraft/client/renderer/block/statemap/DefaultStateMapper +CL: cnf net/minecraft/client/renderer/block/statemap/StateMap +CL: cng net/minecraft/client/renderer/block/statemap/StateMap$1 +CL: cnh net/minecraft/client/renderer/block/statemap/StateMap$Builder +CL: cni net/minecraft/client/renderer/block/statemap/IStateMapper +CL: cnk net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer +CL: cnl net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$1 +CL: cnm net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$TimedBannerTexture +CL: cnn net/minecraft/client/renderer/tileentity/TileEntityBeaconRenderer +CL: cno net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher +CL: cnp net/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer +CL: cnq net/minecraft/client/renderer/tileentity/TileEntityChestRenderer +CL: cnr net/minecraft/client/renderer/tileentity/TileEntityEnchantmentTableRenderer +CL: cns net/minecraft/client/renderer/tileentity/TileEntityEnderChestRenderer +CL: cnt net/minecraft/client/renderer/tileentity/TileEntityMobSpawnerRenderer +CL: cnu net/minecraft/client/renderer/tileentity/TileEntityPistonRenderer +CL: cnv net/minecraft/client/renderer/tileentity/TileEntitySignRenderer +CL: cnw net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer +CL: cnx net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer$SwitchEnumFacing +CL: cny net/minecraft/client/renderer/tileentity/TileEntityEndPortalRenderer +CL: co net/minecraft/command/CommandSetPlayerTimeout +CL: coa net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator +CL: cob net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status +CL: coc net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Type +CL: cod net/minecraft/client/renderer/chunk/ChunkRenderDispatcher +CL: coe net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$1 +CL: cof net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$2 +CL: cog net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$3 +CL: coh net/minecraft/client/renderer/chunk/ChunkRenderWorker +CL: coi net/minecraft/client/renderer/chunk/ChunkRenderWorker$1 +CL: coj net/minecraft/client/renderer/chunk/ChunkRenderWorker$2 +CL: cok net/minecraft/client/renderer/chunk/CompiledChunk +CL: col net/minecraft/client/renderer/chunk/CompiledChunk$1 +CL: com net/minecraft/client/renderer/chunk/ListChunkFactory +CL: coo net/minecraft/client/renderer/chunk/ListedRenderChunk +CL: cop net/minecraft/client/renderer/chunk/RenderChunk +CL: coq net/minecraft/client/renderer/chunk/IRenderChunkFactory +CL: cor net/minecraft/client/renderer/chunk/VboChunkFactory +CL: cos net/minecraft/client/renderer/chunk/VisGraph +CL: cot net/minecraft/client/renderer/chunk/VisGraph$SwitchEnumFacing +CL: cou net/minecraft/client/renderer/chunk/SetVisibility +CL: cox net/minecraft/client/renderer/culling/ICamera +CL: coy net/minecraft/client/renderer/culling/ClippingHelperImpl +CL: coz net/minecraft/client/renderer/culling/Frustum +CL: cp net/minecraft/command/CommandSetSpawnpoint +CL: cpa net/minecraft/client/renderer/culling/ClippingHelper +CL: cpe net/minecraft/client/renderer/entity/ArmorStandRenderer +CL: cpf net/minecraft/client/renderer/entity/ArmorStandRenderer$1 +CL: cpg net/minecraft/client/renderer/entity/RenderArrow +CL: cph net/minecraft/client/renderer/entity/RenderBat +CL: cpi net/minecraft/client/renderer/entity/RenderBlaze +CL: cpj net/minecraft/client/renderer/entity/RenderBoat +CL: cpk net/minecraft/client/renderer/entity/RenderCaveSpider +CL: cpl net/minecraft/client/renderer/entity/RenderChicken +CL: cpm net/minecraft/client/renderer/entity/RenderCow +CL: cpn net/minecraft/client/renderer/entity/RenderCreeper +CL: cpo net/minecraft/client/renderer/entity/RenderEntity +CL: cpp net/minecraft/client/renderer/tileentity/RenderEnderCrystal +CL: cpq net/minecraft/client/renderer/entity/RenderDragon +CL: cpr net/minecraft/client/renderer/entity/RenderEnderman +CL: cps net/minecraft/client/renderer/entity/RenderEndermite +CL: cpt net/minecraft/client/renderer/entity/RenderManager +CL: cpu net/minecraft/client/renderer/entity/Render +CL: cpv net/minecraft/client/renderer/entity/RenderXPOrb +CL: cpw net/minecraft/client/renderer/entity/RenderFallingBlock +CL: cpx net/minecraft/client/renderer/entity/RenderFireball +CL: cpy net/minecraft/client/renderer/entity/RenderFish +CL: cpz net/minecraft/client/renderer/entity/RenderGhast +CL: cq net/minecraft/command/CommandShowSeed +CL: cqa net/minecraft/client/renderer/entity/RenderGiantZombie +CL: cqb net/minecraft/client/renderer/entity/RenderGiantZombie$1 +CL: cqc net/minecraft/client/renderer/entity/RenderGuardian +CL: cqd net/minecraft/client/renderer/entity/RenderHorse +CL: cqe net/minecraft/client/renderer/entity/RenderBiped +CL: cqf net/minecraft/client/renderer/entity/RenderEntityItem +CL: cqg net/minecraft/client/renderer/tileentity/RenderItemFrame +CL: cqh net/minecraft/client/renderer/entity/RenderItem +CL: cqi net/minecraft/client/renderer/entity/RenderItem$1 +CL: cqj net/minecraft/client/renderer/entity/RenderItem$SwitchTransformType +CL: cqk net/minecraft/client/renderer/entity/RenderItem$2 +CL: cql net/minecraft/client/renderer/entity/RenderItem$3 +CL: cqm net/minecraft/client/renderer/entity/RenderItem$4 +CL: cqn net/minecraft/client/renderer/entity/RenderItem$5 +CL: cqo net/minecraft/client/renderer/entity/RenderItem$6 +CL: cqp net/minecraft/client/renderer/entity/RenderItem$7 +CL: cqq net/minecraft/client/renderer/entity/RenderItem$8 +CL: cqr net/minecraft/client/renderer/entity/RenderItem$9 +CL: cqs net/minecraft/client/renderer/entity/RenderMagmaCube +CL: cqt net/minecraft/client/renderer/entity/RenderLeashKnot +CL: cqu net/minecraft/client/renderer/entity/RenderLightningBolt +CL: cqv net/minecraft/client/renderer/entity/RendererLivingEntity +CL: cqw net/minecraft/client/renderer/entity/RendererLivingEntity$SwitchEnumVisible +CL: cqx net/minecraft/client/renderer/entity/RenderMinecart +CL: cqy net/minecraft/client/renderer/entity/RenderMinecartMobSpawner +CL: cqz net/minecraft/client/renderer/entity/RenderLiving +CL: cr net/minecraft/command/CommandSpreadPlayers +CL: cra net/minecraft/client/renderer/entity/RenderMooshroom +CL: crb net/minecraft/client/renderer/entity/RenderOcelot +CL: crc net/minecraft/client/renderer/entity/RenderPainting +CL: crd net/minecraft/client/renderer/entity/RenderPig +CL: cre net/minecraft/client/renderer/entity/RenderPigZombie +CL: crf net/minecraft/client/renderer/entity/RenderPigZombie$1 +CL: crg net/minecraft/client/renderer/entity/RenderRabbit +CL: crh net/minecraft/client/renderer/entity/RenderSheep +CL: cri net/minecraft/client/renderer/entity/RenderSilverfish +CL: crj net/minecraft/client/renderer/entity/RenderSkeleton +CL: crk net/minecraft/client/renderer/entity/RenderSkeleton$1 +CL: crl net/minecraft/client/renderer/entity/RenderSlime +CL: crm net/minecraft/client/renderer/entity/RenderSnowMan +CL: crn net/minecraft/client/renderer/entity/RenderSpider +CL: cro net/minecraft/client/renderer/entity/RenderSquid +CL: crp net/minecraft/client/renderer/entity/RenderSnowball +CL: crq net/minecraft/client/renderer/entity/RenderPotion +CL: crr net/minecraft/client/renderer/entity/RenderTntMinecart +CL: crs net/minecraft/client/renderer/entity/RenderTNTPrimed +CL: crt net/minecraft/client/renderer/entity/RenderIronGolem +CL: cru net/minecraft/client/renderer/entity/RenderVillager +CL: crv net/minecraft/client/renderer/entity/RenderWitch +CL: crw net/minecraft/client/renderer/entity/RenderWither +CL: crx net/minecraft/client/renderer/tileentity/RenderWitherSkull +CL: cry net/minecraft/client/renderer/entity/RenderWolf +CL: crz net/minecraft/client/renderer/entity/RenderZombie +CL: cs net/minecraft/command/CommandSpreadPlayers$Position +CL: csa net/minecraft/client/renderer/entity/RenderZombie$1 +CL: csb net/minecraft/client/renderer/entity/layers/LayerArmorBase +CL: csc net/minecraft/client/renderer/entity/layers/LayerArmorBase$SwitchArmorMaterial +CL: csd net/minecraft/client/renderer/entity/layers/LayerArrow +CL: cse net/minecraft/client/renderer/entity/layers/LayerCape +CL: csf net/minecraft/client/renderer/entity/layers/LayerHeldBlock +CL: csg net/minecraft/client/renderer/entity/layers/LayerCreeperCharge +CL: csh net/minecraft/client/renderer/entity/layers/LayerCustomHead +CL: csi net/minecraft/client/renderer/entity/layers/LayerDeadmau5Head +CL: csj net/minecraft/client/renderer/entity/layers/LayerEnderDragonDeath +CL: csk net/minecraft/client/renderer/entity/layers/LayerEnderDragonEyes +CL: csl net/minecraft/client/renderer/entity/layers/LayerEndermanEyes +CL: csm net/minecraft/client/renderer/entity/layers/LayerBipedArmor +CL: csn net/minecraft/client/renderer/entity/layers/LayerHeldItem +CL: cso net/minecraft/client/renderer/entity/layers/LayerMooshroomMushroom +CL: csp net/minecraft/client/renderer/entity/layers/LayerSaddle +CL: csq net/minecraft/client/renderer/entity/layers/LayerRenderer +CL: csr net/minecraft/client/renderer/entity/layers/LayerSheepWool +CL: css net/minecraft/client/renderer/entity/layers/LayerSlimeGel +CL: cst net/minecraft/client/renderer/entity/layers/LayerSnowmanHead +CL: csu net/minecraft/client/renderer/entity/layers/LayerSpiderEyes +CL: csv net/minecraft/client/renderer/entity/layers/LayerVillagerArmor +CL: csw net/minecraft/client/renderer/entity/layers/LayerIronGolemFlower +CL: csx net/minecraft/client/renderer/entity/layers/LayerHeldItemWitch +CL: csy net/minecraft/client/renderer/entity/layers/LayerWitherAura +CL: csz net/minecraft/client/renderer/entity/layers/LayerWolfCollar +CL: ct net/minecraft/command/CommandStats +CL: ctc net/minecraft/client/renderer/entity/RenderPlayer +CL: ctd net/minecraft/client/util/JsonBlendingMode +CL: cte net/minecraft/client/shader/ShaderDefault +CL: ctf net/minecraft/client/shader/ShaderManager +CL: ctg net/minecraft/client/shader/ShaderGroup +CL: cth net/minecraft/client/shader/Shader +CL: cti net/minecraft/client/shader/ShaderLoader +CL: ctj net/minecraft/client/shader/ShaderLoader$ShaderType +CL: ctk net/minecraft/client/shader/ShaderLinkHelper +CL: ctl net/minecraft/client/shader/ShaderUniform +CL: cto net/minecraft/client/renderer/texture/AbstractTexture +CL: ctp net/minecraft/client/renderer/texture/DynamicTexture +CL: ctq net/minecraft/client/renderer/ThreadDownloadImageData +CL: ctr net/minecraft/client/renderer/ThreadDownloadImageData$1 +CL: cts net/minecraft/client/renderer/texture/IIconCreator +CL: ctt net/minecraft/client/renderer/texture/LayeredColorMaskTexture +CL: ctu net/minecraft/client/renderer/texture/LayeredTexture +CL: ctv net/minecraft/client/renderer/texture/SimpleTexture +CL: ctw net/minecraft/client/renderer/texture/Stitcher +CL: ctx net/minecraft/client/renderer/texture/Stitcher$Holder +CL: cty net/minecraft/client/renderer/texture/Stitcher$Slot +CL: ctz net/minecraft/client/renderer/StitcherException +CL: cu net/minecraft/command/server/CommandStop +CL: cua net/minecraft/client/renderer/texture/TextureMap +CL: cub net/minecraft/client/renderer/texture/TextureMap$1 +CL: cuc net/minecraft/client/renderer/texture/TextureMap$2 +CL: cud net/minecraft/client/renderer/texture/TextureMap$3 +CL: cue net/minecraft/client/renderer/texture/TextureAtlasSprite +CL: cuf net/minecraft/client/renderer/texture/TextureAtlasSprite$1 +CL: cug net/minecraft/client/renderer/texture/TextureManager +CL: cuh net/minecraft/client/renderer/texture/TextureManager$1 +CL: cui net/minecraft/client/renderer/texture/ITextureObject +CL: cuj net/minecraft/client/renderer/texture/TextureUtil +CL: cuk net/minecraft/client/renderer/texture/ITickable +CL: cul net/minecraft/client/renderer/texture/ITickableTextureObject +CL: cum net/minecraft/client/renderer/texture/TextureClock +CL: cun net/minecraft/client/renderer/texture/TextureCompass +CL: cuq net/minecraft/client/renderer/vertex/DefaultVertexFormats +CL: cur net/minecraft/client/renderer/vertex/VertexBuffer +CL: cus net/minecraft/client/renderer/vertex/VertexFormat +CL: cut net/minecraft/client/renderer/vertex/VertexFormat$SwitchEnumUsage +CL: cuu net/minecraft/client/renderer/vertex/VertexFormatElement +CL: cuv net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType +CL: cuw net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage +CL: cuy net/minecraft/client/resources/AbstractResourcePack +CL: cuz net/minecraft/client/resources/ResourceIndex +CL: cv net/minecraft/command/server/CommandSummon +CL: cva net/minecraft/client/resources/DefaultPlayerSkin +CL: cvb net/minecraft/client/resources/DefaultResourcePack +CL: cvc net/minecraft/client/resources/FallbackResourceManager +CL: cvd net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger +CL: cve net/minecraft/client/resources/FileResourcePack +CL: cvf net/minecraft/client/resources/FolderResourcePack +CL: cvg net/minecraft/client/resources/FoliageColorReloadListener +CL: cvh net/minecraft/client/resources/GrassColorReloadListener +CL: cvi net/minecraft/client/resources/IReloadableResourceManager +CL: cvj net/minecraft/client/resources/IResource +CL: cvk net/minecraft/client/resources/IResourceManager +CL: cvl net/minecraft/client/resources/IResourceManagerReloadListener +CL: cvm net/minecraft/client/resources/IResourcePack +CL: cvn net/minecraft/client/resources/ResourcePackFileNotFoundException +CL: cvo net/minecraft/client/resources/ResourcePackRepository +CL: cvp net/minecraft/client/resources/ResourcePackRepository$1 +CL: cvq net/minecraft/client/resources/ResourcePackRepository$2 +CL: cvr net/minecraft/client/resources/ResourcePackRepository$3 +CL: cvs net/minecraft/client/resources/ResourcePackRepository$Entry +CL: cvt net/minecraft/client/resources/SimpleReloadableResourceManager +CL: cvu net/minecraft/client/resources/SimpleReloadableResourceManager$1 +CL: cvv net/minecraft/client/resources/SimpleResource +CL: cvw net/minecraft/client/resources/SkinManager +CL: cvx net/minecraft/client/resources/SkinManager$1 +CL: cvy net/minecraft/client/resources/SkinManager$2 +CL: cvz net/minecraft/client/resources/SkinManager$3 +CL: cw net/minecraft/command/server/CommandTeleport +CL: cwa net/minecraft/client/resources/SkinManager$3$1 +CL: cwb net/minecraft/client/resources/SkinManager$SkinAvailableCallback +CL: cwc net/minecraft/client/resources/I18n +CL: cwd net/minecraft/client/resources/Language +CL: cwe net/minecraft/client/resources/LanguageManager +CL: cwf net/minecraft/client/resources/Locale +CL: cwh net/minecraft/client/resources/data/BaseMetadataSectionSerializer +CL: cwi net/minecraft/client/resources/data/IMetadataSection +CL: cwj net/minecraft/client/resources/data/IMetadataSectionSerializer +CL: cwk net/minecraft/client/resources/data/IMetadataSerializer +CL: cwl net/minecraft/client/resources/data/IMetadataSerializer$1 +CL: cwm net/minecraft/client/resources/data/IMetadataSerializer$Registration +CL: cwn net/minecraft/client/resources/data/AnimationFrame +CL: cwo net/minecraft/client/resources/data/AnimationMetadataSection +CL: cwp net/minecraft/client/resources/data/AnimationMetadataSectionSerializer +CL: cwr net/minecraft/client/resources/data/FontMetadataSection +CL: cws net/minecraft/client/resources/data/FontMetadataSectionSerializer +CL: cwu net/minecraft/client/resources/data/LanguageMetadataSection +CL: cwv net/minecraft/client/resources/data/LanguageMetadataSectionSerializer +CL: cwx net/minecraft/client/resources/data/PackMetadataSection +CL: cwy net/minecraft/client/resources/data/PackMetadataSectionSerializer +CL: cxb net/minecraft/client/resources/data/TextureMetadataSection +CL: cxc net/minecraft/client/resources/data/TextureMetadataSectionSerializer +CL: cxe net/minecraft/client/resources/model/IBakedModel +CL: cxf net/minecraft/client/resources/model/ModelRotation +CL: cxg net/minecraft/client/resources/model/BuiltInModel +CL: cxh net/minecraft/client/resources/model/ModelBakery +CL: cxi net/minecraft/client/resources/model/ModelBakery$1 +CL: cxj net/minecraft/client/resources/model/ModelBakery$2 +CL: cxk net/minecraft/client/resources/model/ModelManager +CL: cxl net/minecraft/client/resources/model/ModelResourceLocation +CL: cxm net/minecraft/client/resources/model/SimpleBakedModel +CL: cxn net/minecraft/client/resources/model/SimpleBakedModel$Builder +CL: cxo net/minecraft/client/resources/model/WeightedBakedModel +CL: cxp net/minecraft/client/resources/model/WeightedBakedModel$Builder +CL: cxq net/minecraft/client/resources/model/WeightedBakedModel$MyWeighedRandomItem +CL: cxt net/minecraft/client/audio/PositionedSound +CL: cxu net/minecraft/client/audio/MovingSound +CL: cxv net/minecraft/client/audio/GuardianSound +CL: cxw net/minecraft/client/audio/MovingSoundMinecart +CL: cxx net/minecraft/client/audio/MovingSoundMinecartRiding +CL: cxy net/minecraft/client/audio/PositionedSoundRecord +CL: cxz net/minecraft/client/audio/SoundCategory +CL: cy net/minecraft/command/server/CommandTestForBlock +CL: cya net/minecraft/client/audio/SoundList +CL: cyb net/minecraft/client/audio/SoundList$SoundEntry +CL: cyc net/minecraft/client/audio/SoundList$SoundEntry$Type +CL: cyd net/minecraft/client/audio/SoundListSerializer +CL: cye net/minecraft/client/audio/ISound +CL: cyf net/minecraft/client/audio/ISound$AttenuationType +CL: cyg net/minecraft/client/audio/ITickableSound +CL: cyj net/minecraft/server/integrated/IntegratedPlayerList +CL: cyk net/minecraft/server/integrated/IntegratedServer +CL: cyl net/minecraft/server/integrated/IntegratedServer$1 +CL: cym net/minecraft/server/integrated/IntegratedServer$2 +CL: cyn net/minecraft/server/integrated/IntegratedServer$3 +CL: cyo net/minecraft/server/integrated/IntegratedServerCommandManager +CL: cyp net/minecraft/client/network/LanServerDetector +CL: cyq net/minecraft/client/network/LanServerDetector$LanServer +CL: cyr net/minecraft/client/network/LanServerDetector$ThreadLanServerFind +CL: cys net/minecraft/client/network/LanServerDetector$LanServerList +CL: cyt net/minecraft/client/multiplayer/ThreadLanServerPing +CL: cyx net/minecraft/client/audio/MusicTicker +CL: cyy net/minecraft/client/audio/MusicTicker$MusicType +CL: cyz net/minecraft/client/audio/SoundPoolEntry +CL: cz net/minecraft/command/server/CommandTestFor +CL: cza net/minecraft/client/audio/SoundManager +CL: czb net/minecraft/client/audio/SoundManager$1 +CL: czc net/minecraft/client/audio/SoundManager$1$1 +CL: czd net/minecraft/client/audio/SoundManager$2 +CL: cze net/minecraft/client/audio/SoundManager$2$1 +CL: czf net/minecraft/client/audio/SoundManager$SoundSystemStarterThread +CL: czg net/minecraft/client/audio/SoundEventAccessorComposite +CL: czh net/minecraft/client/audio/SoundHandler +CL: czi net/minecraft/client/audio/SoundHandler$1 +CL: czj net/minecraft/client/audio/SoundHandler$2 +CL: czk net/minecraft/client/audio/SoundHandler$SwitchType +CL: czl net/minecraft/client/audio/SoundRegistry +CL: czm net/minecraft/client/audio/ISoundEventAccessor +CL: czn net/minecraft/client/audio/SoundEventAccessor +CL: czp net/minecraft/client/stream/MetadataAchievement +CL: czq net/minecraft/client/stream/MetadataCombat +CL: czr net/minecraft/client/stream/MetadataPlayerDeath +CL: czs net/minecraft/client/stream/Metadata +CL: czu net/minecraft/client/stream/BroadcastController +CL: czv net/minecraft/client/stream/BroadcastController$1 +CL: czw net/minecraft/client/stream/BroadcastController$2 +CL: czx net/minecraft/client/stream/BroadcastController$SwitchBroadcastState +CL: czy net/minecraft/client/stream/BroadcastController$BroadcastState +CL: czz net/minecraft/client/stream/BroadcastController$BroadcastListener +CL: d net/minecraft/crash/CrashReport$2 +CL: da net/minecraft/command/CommandTime +CL: daa net/minecraft/client/stream/ChatController +CL: dab net/minecraft/client/stream/ChatController$1 +CL: dac net/minecraft/client/stream/ChatController$SwitchEnumEmoticonMode +CL: dad net/minecraft/client/stream/ChatController$EnumChannelState +CL: dae net/minecraft/client/stream/ChatController$ChatChannelListener +CL: daf net/minecraft/client/stream/ChatController$ChatState +CL: dag net/minecraft/client/stream/ChatController$EnumEmoticonMode +CL: dah net/minecraft/client/stream/ChatController$ChatListener +CL: dai net/minecraft/client/stream/IngestServerTester +CL: daj net/minecraft/client/stream/IngestServerTester$1 +CL: dak net/minecraft/client/stream/IngestServerTester$2 +CL: dal net/minecraft/client/stream/IngestServerTester$SwitchStatType +CL: dam net/minecraft/client/stream/IngestServerTester$IngestTestListener +CL: dan net/minecraft/client/stream/IngestServerTester$IngestTestState +CL: dao net/minecraft/client/stream/IStream +CL: dap net/minecraft/client/stream/IStream$AuthFailureReason +CL: daq net/minecraft/client/stream/TwitchStream +CL: dar net/minecraft/client/stream/TwitchStream$1 +CL: das net/minecraft/client/stream/TwitchStream$1$1 +CL: dat net/minecraft/client/stream/NullStream +CL: dav net/minecraft/realms/RealmsConnect$1 +CL: daw net/minecraft/realms/RealmsServerStatusPinger$1 +CL: dax net/minecraft/client/renderer/OpenGlHelper +CL: db net/minecraft/command/CommandTitle +CL: dc net/minecraft/command/CommandToggleDownfall +CL: dd net/minecraft/command/CommandTrigger +CL: de net/minecraft/command/CommandWeather +CL: df net/minecraft/command/server/CommandWhitelist +CL: dg net/minecraft/command/CommandWorldBorder +CL: di net/minecraft/command/CommandException +CL: dj net/minecraft/command/EntityNotFoundException +CL: dk net/minecraft/command/NumberInvalidException +CL: dl net/minecraft/command/SyntaxErrorException +CL: dm net/minecraft/command/PlayerNotFoundException +CL: dn net/minecraft/command/CommandNotFoundException +CL: dp net/minecraft/command/WrongUsageException +CL: dt net/minecraft/util/BlockPos +CL: du net/minecraft/util/BlockPos$1 +CL: dv net/minecraft/util/BlockPos$1$1 +CL: dw net/minecraft/util/BlockPos$2 +CL: dx net/minecraft/util/BlockPos$2$1 +CL: dy net/minecraft/util/BlockPos$MutableBlockPos +CL: dz net/minecraft/dispenser/IBlockSource +CL: e net/minecraft/crash/CrashReport$3 +CL: ea net/minecraft/block/BlockSourceImpl +CL: eb net/minecraft/util/Cartesian +CL: ec net/minecraft/util/Cartesian$1 +CL: ed net/minecraft/util/Cartesian$GetList +CL: ee net/minecraft/util/Cartesian$Product +CL: ef net/minecraft/util/Cartesian$Product$ProductIterator +CL: eg net/minecraft/dispenser/BehaviorDefaultDispenseItem +CL: eh net/minecraft/util/RegistryNamespacedDefaultedByKey +CL: ei net/minecraft/util/RegistryDefaulted +CL: ej net/minecraft/util/EnumFacing +CL: ek net/minecraft/util/EnumFacing$SwitchPlane +CL: el net/minecraft/util/EnumFacing$Axis +CL: em net/minecraft/util/EnumFacing$AxisDirection +CL: en net/minecraft/util/EnumFacing$Plane +CL: eo net/minecraft/dispenser/IBehaviorDispenseItem +CL: ep net/minecraft/dispenser/IBehaviorDispenseItem$1 +CL: eq net/minecraft/util/IObjectIntIterable +CL: er net/minecraft/util/ObjectIntIdentityMap +CL: es net/minecraft/dispenser/ILocatableSource +CL: et net/minecraft/dispenser/ILocation +CL: eu net/minecraft/util/MapPopulator +CL: ev net/minecraft/util/RegistryNamespaced +CL: ew net/minecraft/util/EnumParticleTypes +CL: ex net/minecraft/dispenser/IPosition +CL: ey net/minecraft/dispenser/PositionImpl +CL: ez net/minecraft/util/IRegistry +CL: f net/minecraft/crash/CrashReport$4 +CL: fa net/minecraft/util/Rotations +CL: fb net/minecraft/util/RegistrySimple +CL: fd net/minecraft/util/Vec3i +CL: fi net/minecraft/util/StatCollector +CL: fj net/minecraft/util/StringTranslate +CL: fl net/minecraft/nbt/NBTTagByteArray +CL: fm net/minecraft/nbt/NBTTagByte +CL: fn net/minecraft/nbt/NBTTagCompound +CL: fo net/minecraft/nbt/NBTTagCompound$1 +CL: fp net/minecraft/nbt/NBTTagCompound$2 +CL: fq net/minecraft/nbt/NBTTagDouble +CL: fr net/minecraft/nbt/NBTTagEnd +CL: fs net/minecraft/nbt/NBTTagFloat +CL: ft net/minecraft/nbt/NBTTagIntArray +CL: fu net/minecraft/nbt/NBTTagInt +CL: fv net/minecraft/nbt/NBTTagList +CL: fw net/minecraft/nbt/NBTTagLong +CL: fx net/minecraft/nbt/NBTSizeTracker +CL: fy net/minecraft/nbt/NBTSizeTracker$1 +CL: fz net/minecraft/nbt/CompressedStreamTools +CL: g net/minecraft/crash/CrashReport$5 +CL: ga net/minecraft/nbt/NBTUtil +CL: gb net/minecraft/nbt/NBTTagShort +CL: gc net/minecraft/nbt/NBTTagString +CL: gd net/minecraft/nbt/NBTBase +CL: ge net/minecraft/nbt/NBTBase$NBTPrimitive +CL: gf net/minecraft/nbt/NBTException +CL: gg net/minecraft/nbt/JsonToNBT +CL: gh net/minecraft/nbt/JsonToNBT$Any +CL: gi net/minecraft/nbt/JsonToNBT$Compound +CL: gj net/minecraft/nbt/JsonToNBT$List +CL: gk net/minecraft/nbt/JsonToNBT$Primitive +CL: gm net/minecraft/network/NettyEncryptionTranslator +CL: gn net/minecraft/network/NettyEncryptingDecoder +CL: go net/minecraft/network/NettyEncryptingEncoder +CL: gp net/minecraft/network/NettyCompressionDecoder +CL: gq net/minecraft/network/NettyCompressionEncoder +CL: gr net/minecraft/network/NetworkManager +CL: gs net/minecraft/network/NetworkManager$1 +CL: gt net/minecraft/network/NetworkManager$2 +CL: gu net/minecraft/network/NetworkManager$3 +CL: gv net/minecraft/network/NetworkManager$4 +CL: gw net/minecraft/network/NetworkManager$5 +CL: gx net/minecraft/network/NetworkManager$InboundHandlerTuplePacketListener +CL: gy net/minecraft/network/EnumConnectionState +CL: gz net/minecraft/network/EnumConnectionState$3 +CL: h net/minecraft/crash/CrashReport$6 +CL: ha net/minecraft/network/EnumConnectionState$4 +CL: hb net/minecraft/network/EnumConnectionState$2 +CL: hc net/minecraft/network/EnumConnectionState$1 +CL: hd net/minecraft/network/PacketBuffer +CL: he net/minecraft/util/MessageDeserializer +CL: hf net/minecraft/util/MessageSerializer +CL: hg net/minecraft/network/INetHandler +CL: hh net/minecraft/util/MessageDeserializer2 +CL: hi net/minecraft/util/MessageSerializer2 +CL: hj net/minecraft/util/ChatComponentStyle +CL: hk net/minecraft/util/ChatComponentStyle$1 +CL: hl net/minecraft/util/ChatComponentStyle$2 +CL: hm net/minecraft/event/ClickEvent +CL: hn net/minecraft/event/ClickEvent$Action +CL: ho net/minecraft/util/IChatComponent +CL: hp net/minecraft/util/IChatComponent$Serializer +CL: hq net/minecraft/util/ChatComponentProcessor +CL: hr net/minecraft/event/HoverEvent +CL: hs net/minecraft/event/HoverEvent$Action +CL: ht net/minecraft/util/ChatComponentScore +CL: hu net/minecraft/util/ChatComponentSelector +CL: hv net/minecraft/util/ChatStyle +CL: hw net/minecraft/util/ChatStyle$1 +CL: hx net/minecraft/util/ChatStyle$Serializer +CL: hy net/minecraft/util/ChatComponentText +CL: hz net/minecraft/util/ChatComponentTranslation +CL: i net/minecraft/crash/CrashReport$7 +CL: ia net/minecraft/util/ChatComponentTranslationFormatException +CL: id net/minecraft/network/Packet +CL: ie net/minecraft/network/EnumPacketDirection +CL: ig net/minecraft/network/PacketThreadUtil +CL: ih net/minecraft/network/PacketThreadUtil$1 +CL: ii net/minecraft/network/play/server/S08PacketPlayerPosLook +CL: ij net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags +CL: ik net/minecraft/network/play/INetHandlerPlayClient +CL: il net/minecraft/network/play/server/S0EPacketSpawnObject +CL: im net/minecraft/network/play/server/S11PacketSpawnExperienceOrb +CL: in net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity +CL: io net/minecraft/network/play/server/S0FPacketSpawnMob +CL: ip net/minecraft/network/play/server/S10PacketSpawnPainting +CL: iq net/minecraft/network/play/server/S0CPacketSpawnPlayer +CL: ir net/minecraft/network/play/server/S0BPacketAnimation +CL: is net/minecraft/network/play/server/S37PacketStatistics +CL: it net/minecraft/network/play/server/S25PacketBlockBreakAnim +CL: iu net/minecraft/network/play/server/S35PacketUpdateTileEntity +CL: iv net/minecraft/network/play/server/S24PacketBlockAction +CL: iw net/minecraft/network/play/server/S23PacketBlockChange +CL: ix net/minecraft/network/play/server/S41PacketServerDifficulty +CL: iy net/minecraft/network/play/server/S3APacketTabComplete +CL: iz net/minecraft/network/play/server/S02PacketChat +CL: j net/minecraft/crash/CrashReportCategory +CL: ja net/minecraft/network/play/server/S22PacketMultiBlockChange +CL: jb net/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData +CL: jc net/minecraft/network/play/server/S32PacketConfirmTransaction +CL: jd net/minecraft/network/play/server/S2EPacketCloseWindow +CL: je net/minecraft/network/play/server/S2DPacketOpenWindow +CL: jf net/minecraft/network/play/server/S30PacketWindowItems +CL: jg net/minecraft/network/play/server/S31PacketWindowProperty +CL: jh net/minecraft/network/play/server/S2FPacketSetSlot +CL: ji net/minecraft/network/play/server/S3FPacketCustomPayload +CL: jj net/minecraft/network/play/server/S40PacketDisconnect +CL: jk net/minecraft/network/play/server/S19PacketEntityStatus +CL: jl net/minecraft/network/play/server/S49PacketUpdateEntityNBT +CL: jm net/minecraft/network/play/server/S27PacketExplosion +CL: jn net/minecraft/network/play/server/S46PacketSetCompressionLevel +CL: jo net/minecraft/network/play/server/S2BPacketChangeGameState +CL: jp net/minecraft/network/play/server/S00PacketKeepAlive +CL: jq net/minecraft/network/play/server/S21PacketChunkData +CL: jr net/minecraft/network/play/server/S21PacketChunkData$Extracted +CL: js net/minecraft/network/play/server/S26PacketMapChunkBulk +CL: jt net/minecraft/network/play/server/S28PacketEffect +CL: ju net/minecraft/network/play/server/S2APacketParticles +CL: jv net/minecraft/network/play/server/S29PacketSoundEffect +CL: jw net/minecraft/network/play/server/S01PacketJoinGame +CL: jx net/minecraft/network/play/server/S34PacketMaps +CL: jy net/minecraft/network/play/server/S14PacketEntity +CL: jz net/minecraft/network/play/server/S14PacketEntity$S15PacketEntityRelMove +CL: k net/minecraft/crash/CrashReportCategory$1 +CL: ka net/minecraft/network/play/server/S14PacketEntity$S17PacketEntityLookMove +CL: kb net/minecraft/network/play/server/S14PacketEntity$S16PacketEntityLook +CL: kc net/minecraft/network/play/server/S36PacketSignEditorOpen +CL: kd net/minecraft/network/play/server/S39PacketPlayerAbilities +CL: ke net/minecraft/network/play/server/S42PacketCombatEvent +CL: kf net/minecraft/network/play/server/S42PacketCombatEvent$SwitchEvent +CL: kg net/minecraft/network/play/server/S42PacketCombatEvent$Event +CL: kh net/minecraft/network/play/server/S38PacketPlayerListItem +CL: ki net/minecraft/network/play/server/S38PacketPlayerListItem$SwitchAction +CL: kj net/minecraft/network/play/server/S38PacketPlayerListItem$Action +CL: kk net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData +CL: kl net/minecraft/network/play/server/S0APacketUseBed +CL: km net/minecraft/network/play/server/S13PacketDestroyEntities +CL: kn net/minecraft/network/play/server/S1EPacketRemoveEntityEffect +CL: ko net/minecraft/network/play/server/S48PacketResourcePackSend +CL: kp net/minecraft/network/play/server/S07PacketRespawn +CL: kq net/minecraft/network/play/server/S19PacketEntityHeadLook +CL: kr net/minecraft/network/play/server/S44PacketWorldBorder +CL: ks net/minecraft/network/play/server/S44PacketWorldBorder$SwitchAction +CL: kt net/minecraft/network/play/server/S44PacketWorldBorder$Action +CL: ku net/minecraft/network/play/server/S43PacketCamera +CL: kv net/minecraft/network/play/server/S09PacketHeldItemChange +CL: kw net/minecraft/network/play/server/S3DPacketDisplayScoreboard +CL: kx net/minecraft/network/play/server/S1CPacketEntityMetadata +CL: ky net/minecraft/network/play/server/S1BPacketEntityAttach +CL: kz net/minecraft/network/play/server/S12PacketEntityVelocity +CL: l net/minecraft/crash/CrashReportCategory$2 +CL: la net/minecraft/network/play/server/S04PacketEntityEquipment +CL: lb net/minecraft/network/play/server/S1FPacketSetExperience +CL: lc net/minecraft/network/play/server/S06PacketUpdateHealth +CL: ld net/minecraft/network/play/server/S3BPacketScoreboardObjective +CL: le net/minecraft/network/play/server/S3EPacketTeams +CL: lf net/minecraft/network/play/server/S3CPacketUpdateScore +CL: lg net/minecraft/network/play/server/S3CPacketUpdateScore$Action +CL: lh net/minecraft/network/play/server/S05PacketSpawnPosition +CL: li net/minecraft/network/play/server/S03PacketTimeUpdate +CL: lj net/minecraft/network/play/server/S45PacketTitle +CL: lk net/minecraft/network/play/server/S45PacketTitle$Type +CL: ll net/minecraft/network/play/server/S33PacketUpdateSign +CL: lm net/minecraft/network/play/server/S47PacketPlayerListHeaderFooter +CL: ln net/minecraft/network/play/server/S0DPacketCollectItem +CL: lo net/minecraft/network/play/server/S18PacketEntityTeleport +CL: lp net/minecraft/network/play/server/S20PacketEntityProperties +CL: lq net/minecraft/network/play/server/S20PacketEntityProperties$Snapshot +CL: lr net/minecraft/network/play/server/S1DPacketEntityEffect +CL: ls net/minecraft/network/play/INetHandlerPlayServer +CL: lt net/minecraft/network/play/client/C14PacketTabComplete +CL: lu net/minecraft/network/play/client/C01PacketChatMessage +CL: lv net/minecraft/network/play/client/C16PacketClientStatus +CL: lw net/minecraft/network/play/client/C16PacketClientStatus$EnumState +CL: lx net/minecraft/network/play/client/C15PacketClientSettings +CL: ly net/minecraft/network/play/client/C0FPacketConfirmTransaction +CL: lz net/minecraft/network/play/client/C11PacketEnchantItem +CL: m net/minecraft/crash/CrashReportCategory$3 +CL: ma net/minecraft/network/play/client/C0EPacketClickWindow +CL: mb net/minecraft/network/play/client/C0DPacketCloseWindow +CL: mc net/minecraft/network/play/client/C17PacketCustomPayload +CL: md net/minecraft/network/play/client/C02PacketUseEntity +CL: me net/minecraft/network/play/client/C02PacketUseEntity$Action +CL: mf net/minecraft/network/play/client/C00PacketKeepAlive +CL: mg net/minecraft/network/play/client/C03PacketPlayer +CL: mh net/minecraft/network/play/client/C03PacketPlayer$C04PacketPlayerPosition +CL: mi net/minecraft/network/play/client/C03PacketPlayer$C06PacketPlayerPosLook +CL: mj net/minecraft/network/play/client/C03PacketPlayer$C05PacketPlayerLook +CL: mk net/minecraft/network/play/client/C13PacketPlayerAbilities +CL: ml net/minecraft/network/play/client/C07PacketPlayerDigging +CL: mm net/minecraft/network/play/client/C07PacketPlayerDigging$Action +CL: mn net/minecraft/network/play/client/C0BPacketEntityAction +CL: mo net/minecraft/network/play/client/C0BPacketEntityAction$Action +CL: mp net/minecraft/network/play/client/C0CPacketInput +CL: mq net/minecraft/network/play/client/C19PacketResourcePackStatus +CL: mr net/minecraft/network/play/client/C19PacketResourcePackStatus$Action +CL: ms net/minecraft/network/play/client/C09PacketHeldItemChange +CL: mt net/minecraft/network/play/client/C10PacketCreativeInventoryAction +CL: mu net/minecraft/network/play/client/C12PacketUpdateSign +CL: mv net/minecraft/network/play/client/C0APacketAnimation +CL: mw net/minecraft/network/play/client/C18PacketSpectate +CL: mx net/minecraft/network/play/client/C08PacketPlayerBlockPlacement +CL: mz net/minecraft/network/handshake/client/C00Handshake +CL: na net/minecraft/network/handshake/INetHandlerHandshakeServer +CL: nc net/minecraft/network/login/INetHandlerLoginClient +CL: nd net/minecraft/network/login/server/S02PacketLoginSuccess +CL: ne net/minecraft/network/login/server/S01PacketEncryptionRequest +CL: net/minecraft/client/ClientBrandRetriever net/minecraft/client/ClientBrandRetriever +CL: net/minecraft/client/main/Main net/minecraft/client/main/Main +CL: net/minecraft/realms/DisconnectedRealmsScreen net/minecraft/realms/DisconnectedRealmsScreen +CL: net/minecraft/realms/Realms net/minecraft/realms/Realms +CL: net/minecraft/realms/RealmsAnvilLevelStorageSource net/minecraft/realms/RealmsAnvilLevelStorageSource +CL: net/minecraft/realms/RealmsBridge net/minecraft/realms/RealmsBridge +CL: net/minecraft/realms/RealmsButton net/minecraft/realms/RealmsButton +CL: net/minecraft/realms/RealmsClickableScrolledSelectionList net/minecraft/realms/RealmsClickableScrolledSelectionList +CL: net/minecraft/realms/RealmsConnect net/minecraft/realms/RealmsConnect +CL: net/minecraft/realms/RealmsEditBox net/minecraft/realms/RealmsEditBox +CL: net/minecraft/realms/RealmsLevelSummary net/minecraft/realms/RealmsLevelSummary +CL: net/minecraft/realms/RealmsMth net/minecraft/realms/RealmsMth +CL: net/minecraft/realms/RealmsScreen net/minecraft/realms/RealmsScreen +CL: net/minecraft/realms/RealmsScrolledSelectionList net/minecraft/realms/RealmsScrolledSelectionList +CL: net/minecraft/realms/RealmsServerAddress net/minecraft/realms/RealmsServerAddress +CL: net/minecraft/realms/RealmsServerPing net/minecraft/realms/RealmsServerPing +CL: net/minecraft/realms/RealmsServerStatusPinger net/minecraft/realms/RealmsServerStatusPinger +CL: net/minecraft/realms/RealmsSharedConstants net/minecraft/realms/RealmsSharedConstants +CL: net/minecraft/realms/RealmsSimpleScrolledSelectionList net/minecraft/realms/RealmsSimpleScrolledSelectionList +CL: net/minecraft/realms/RealmsSliderButton net/minecraft/realms/RealmsSliderButton +CL: net/minecraft/realms/Tezzelator net/minecraft/realms/Tezzelator +CL: net/minecraft/server/MinecraftServer net/minecraft/server/MinecraftServer +CL: nf net/minecraft/network/login/server/S03PacketEnableCompression +CL: ng net/minecraft/network/login/server/S00PacketDisconnect +CL: nh net/minecraft/network/login/INetHandlerLoginServer +CL: ni net/minecraft/network/login/client/C00PacketLoginStart +CL: nj net/minecraft/network/login/client/C01PacketEncryptionResponse +CL: nm net/minecraft/network/status/INetHandlerStatusClient +CL: nn net/minecraft/network/status/server/S01PacketPong +CL: no net/minecraft/network/status/server/S00PacketServerInfo +CL: np net/minecraft/network/ServerStatusResponse +CL: nq net/minecraft/network/ServerStatusResponse$PlayerCountData +CL: nr net/minecraft/network/ServerStatusResponse$PlayerCountData$Serializer +CL: ns net/minecraft/network/ServerStatusResponse$Serializer +CL: nt net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier +CL: nu net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier$Serializer +CL: nv net/minecraft/network/status/INetHandlerStatusServer +CL: nw net/minecraft/network/status/client/C01PacketPing +CL: nx net/minecraft/network/status/client/C00PacketServerQuery +CL: oa net/minecraft/util/ResourceLocation +CL: oc net/minecraft/dispenser/BehaviorProjectileDispense +CL: od net/minecraft/init/Bootstrap +CL: oe net/minecraft/init/Bootstrap$1 +CL: of net/minecraft/init/Bootstrap$10 +CL: og net/minecraft/init/Bootstrap$11 +CL: oh net/minecraft/init/Bootstrap$12 +CL: oi net/minecraft/init/Bootstrap$13 +CL: oj net/minecraft/init/Bootstrap$14 +CL: ok net/minecraft/init/Bootstrap$15 +CL: ol net/minecraft/init/Bootstrap$16 +CL: om net/minecraft/init/Bootstrap$17 +CL: on net/minecraft/init/Bootstrap$2 +CL: oo net/minecraft/init/Bootstrap$3 +CL: op net/minecraft/init/Bootstrap$4 +CL: oq net/minecraft/init/Bootstrap$5 +CL: or net/minecraft/init/Bootstrap$5$1 +CL: os net/minecraft/init/Bootstrap$6 +CL: ot net/minecraft/init/Bootstrap$7 +CL: ou net/minecraft/init/Bootstrap$8 +CL: ov net/minecraft/init/Bootstrap$9 +CL: ow net/minecraft/client/util/JsonException +CL: ox net/minecraft/client/util/JsonException$1 +CL: oy net/minecraft/client/util/JsonException$Entry +CL: oz net/minecraft/command/ServerCommand +CL: p net/minecraft/crash/CrashReportCategory$4 +CL: pb net/minecraft/server/ServerEula +CL: pc net/minecraft/util/LoggingPrintStream +CL: pd net/minecraft/server/MinecraftServer$1 +CL: pe net/minecraft/server/MinecraftServer$2 +CL: pf net/minecraft/server/MinecraftServer$3 +CL: pg net/minecraft/server/MinecraftServer$4 +CL: pi net/minecraft/network/ThreadQuickExitException +CL: pj net/minecraft/network/rcon/IServer +CL: pk net/minecraft/scoreboard/ServerScoreboard +CL: pl net/minecraft/server/dedicated/PropertyManager +CL: pm net/minecraft/server/gui/IUpdatePlayerListBox +CL: pn net/minecraft/server/dedicated/DedicatedPlayerList +CL: po net/minecraft/server/dedicated/DedicatedServer +CL: pp net/minecraft/server/dedicated/DedicatedServer$1 +CL: pq net/minecraft/server/dedicated/DedicatedServer$2 +CL: pr net/minecraft/server/dedicated/DedicatedServer$3 +CL: ps net/minecraft/server/dedicated/DedicatedServer$4 +CL: pt net/minecraft/server/dedicated/ServerHangWatchdog +CL: pu net/minecraft/server/dedicated/ServerHangWatchdog$1 +CL: pw net/minecraft/server/gui/MinecraftServerGui +CL: px net/minecraft/server/gui/MinecraftServerGui$1 +CL: py net/minecraft/server/gui/MinecraftServerGui$2 +CL: pz net/minecraft/server/gui/MinecraftServerGui$3 +CL: q net/minecraft/crash/CrashReportCategory$5 +CL: qa net/minecraft/server/gui/MinecraftServerGui$4 +CL: qb net/minecraft/server/gui/MinecraftServerGui$5 +CL: qc net/minecraft/server/gui/PlayerListComponent +CL: qd net/minecraft/server/gui/StatsComponent +CL: qe net/minecraft/server/gui/StatsComponent$1 +CL: qi net/minecraft/client/renderer/DestroyBlockProgress +CL: qj net/minecraft/world/demo/DemoWorldServer +CL: qk net/minecraft/world/demo/DemoWorldManager +CL: ql net/minecraft/world/WorldServerMulti +CL: qm net/minecraft/world/WorldServerMulti$1 +CL: qn net/minecraft/entity/EntityTracker +CL: qo net/minecraft/entity/EntityTracker$1 +CL: qp net/minecraft/world/WorldManager +CL: qq net/minecraft/server/management/PlayerManager +CL: qr net/minecraft/server/management/PlayerManager$PlayerInstance +CL: qs net/minecraft/world/gen/ChunkProviderServer +CL: qt net/minecraft/world/WorldServer +CL: qu net/minecraft/world/WorldServer$1 +CL: qv net/minecraft/world/WorldServer$ServerBlockEventList +CL: qw net/minecraft/entity/player/EntityPlayerMP +CL: qx net/minecraft/server/management/ItemInWorldManager +CL: qy net/minecraft/entity/EntityTrackerEntry +CL: r net/minecraft/crash/CrashReportCategory$Entry +CL: ra net/minecraft/network/PingResponseHandler +CL: rb net/minecraft/client/network/NetHandlerHandshakeMemory +CL: rc net/minecraft/network/NetworkSystem +CL: rd net/minecraft/network/NetworkSystem$1 +CL: re net/minecraft/network/NetworkSystem$2 +CL: rf net/minecraft/network/NetworkSystem$3 +CL: rg net/minecraft/network/NetworkSystem$4 +CL: rh net/minecraft/network/NetworkSystem$5 +CL: ri net/minecraft/network/NetworkSystem$6 +CL: rj net/minecraft/network/NetHandlerPlayServer +CL: rk net/minecraft/network/NetHandlerPlayServer$1 +CL: rl net/minecraft/network/NetHandlerPlayServer$2 +CL: rm net/minecraft/network/NetHandlerPlayServer$3 +CL: rn net/minecraft/network/NetHandlerPlayServer$SwitchAction +CL: ro net/minecraft/server/network/NetHandlerHandshakeTCP +CL: rp net/minecraft/server/network/NetHandlerHandshakeTCP$SwitchEnumConnectionState +CL: rq net/minecraft/server/network/NetHandlerLoginServer +CL: rr net/minecraft/server/network/NetHandlerLoginServer$1 +CL: rs net/minecraft/server/network/NetHandlerLoginServer$2 +CL: rt net/minecraft/server/network/NetHandlerLoginServer$LoginState +CL: ru net/minecraft/server/network/NetHandlerStatusServer +CL: rx net/minecraft/server/management/BanEntry +CL: ry net/minecraft/server/management/PlayerProfileCache +CL: rz net/minecraft/server/management/PlayerProfileCache$1 +CL: sa net/minecraft/server/management/PlayerProfileCache$2 +CL: sb net/minecraft/server/management/PlayerProfileCache$ProfileEntry +CL: sc net/minecraft/server/management/PlayerProfileCache$Serializer +CL: sd net/minecraft/server/management/BanList +CL: se net/minecraft/server/management/IPBanEntry +CL: sf net/minecraft/server/management/PreYggdrasilConverter +CL: sg net/minecraft/server/management/PreYggdrasilConverter$1 +CL: sh net/minecraft/server/management/PreYggdrasilConverter$2 +CL: si net/minecraft/server/management/PreYggdrasilConverter$3 +CL: sj net/minecraft/server/management/PreYggdrasilConverter$4 +CL: sk net/minecraft/server/management/PreYggdrasilConverter$5 +CL: sl net/minecraft/server/management/PreYggdrasilConverter$6 +CL: sm net/minecraft/server/management/PreYggdrasilConverter$ConversionError +CL: sn net/minecraft/server/management/ServerConfigurationManager +CL: so net/minecraft/server/management/ServerConfigurationManager$1 +CL: sp net/minecraft/server/management/UserListOps +CL: sq net/minecraft/server/management/UserListOpsEntry +CL: sr net/minecraft/server/management/UserListEntry +CL: ss net/minecraft/server/management/UserList +CL: st net/minecraft/server/management/UserList$1 +CL: su net/minecraft/server/management/UserList$Serializer +CL: sv net/minecraft/server/management/UserListBans +CL: sw net/minecraft/server/management/UserListBansEntry +CL: sx net/minecraft/server/management/UserListWhitelist +CL: sy net/minecraft/server/management/UserListWhitelistEntry +CL: ta net/minecraft/network/rcon/RConOutputStream +CL: tb net/minecraft/network/rcon/RConUtils +CL: tc net/minecraft/network/rcon/RConConsoleSource +CL: te net/minecraft/network/rcon/RConThreadBase +CL: tf net/minecraft/network/rcon/RConThreadQuery +CL: tg net/minecraft/network/rcon/RConThreadQuery$Auth +CL: th net/minecraft/network/rcon/RConThreadClient +CL: ti net/minecraft/network/rcon/RConThreadMain +CL: tk net/minecraft/stats/Achievement +CL: tl net/minecraft/stats/AchievementList +CL: tm net/minecraft/stats/IStatStringFormat +CL: tn net/minecraft/stats/StatBasic +CL: to net/minecraft/stats/StatCrafting +CL: tp net/minecraft/stats/StatisticsFile +CL: tq net/minecraft/stats/StatBase +CL: tr net/minecraft/stats/StatBase$1 +CL: ts net/minecraft/stats/StatBase$2 +CL: tt net/minecraft/stats/StatBase$3 +CL: tu net/minecraft/stats/StatBase$4 +CL: tv net/minecraft/stats/IStatType +CL: tw net/minecraft/util/TupleIntJsonSerializable +CL: tx net/minecraft/util/IJsonSerializable +CL: ty net/minecraft/stats/StatList +CL: tz net/minecraft/stats/StatFileWriter +CL: u net/minecraft/util/ReportedException +CL: ua net/minecraft/util/JsonSerializableSet +CL: uc net/minecraft/util/ClassInheritanceMultiMap +CL: ud net/minecraft/util/ClassInheritanceMultiMap$1 +CL: ue net/minecraft/util/ClassInheritanceMultiMap$2 +CL: ug net/minecraft/util/CryptManager +CL: uh net/minecraft/util/JsonUtils +CL: ui net/minecraft/util/HttpUtil +CL: uj net/minecraft/util/HttpUtil$1 +CL: ul net/minecraft/server/management/LowerStringMap +CL: um net/minecraft/util/IntHashMap +CL: un net/minecraft/util/IntHashMap$Entry +CL: up net/minecraft/util/LazyLoadBase +CL: uq net/minecraft/util/ThreadSafeBoundList +CL: ur net/minecraft/util/LongHashMap +CL: us net/minecraft/util/LongHashMap$Entry +CL: ut net/minecraft/util/EnumTypeAdapterFactory +CL: uu net/minecraft/util/EnumTypeAdapterFactory$1 +CL: uv net/minecraft/util/MathHelper +CL: uw net/minecraft/profiler/Profiler +CL: ux net/minecraft/profiler/Profiler$Result +CL: uy net/minecraft/util/IProgressUpdate +CL: uz net/minecraft/util/MouseFilter +CL: v net/minecraft/util/ChatAllowedCharacters +CL: va net/minecraft/util/IStringSerializable +CL: vb net/minecraft/util/StringUtils +CL: vi net/minecraft/util/Tuple +CL: vj net/minecraft/util/WeightedRandom +CL: vk net/minecraft/util/WeightedRandom$Item +CL: vl net/minecraft/util/WeightedRandomChestContent +CL: vn net/minecraft/util/IThreadListener +CL: vp net/minecraft/inventory/InventoryLargeChest +CL: vq net/minecraft/inventory/IInventory +CL: vr net/minecraft/inventory/IInvBasic +CL: vs net/minecraft/inventory/InventoryHelper +CL: vt net/minecraft/world/EnumDifficulty +CL: vu net/minecraft/world/DifficultyInstance +CL: vv net/minecraft/world/IInteractionObject +CL: vx net/minecraft/world/LockCode +CL: vy net/minecraft/world/ILockableContainer +CL: vz net/minecraft/world/IWorldNameable +CL: w net/minecraft/util/Util +CL: wa net/minecraft/inventory/InventoryBasic +CL: wb net/minecraft/profiler/PlayerUsageSnooper +CL: wc net/minecraft/profiler/PlayerUsageSnooper$1 +CL: wd net/minecraft/profiler/IPlayerUsage +CL: we net/minecraft/inventory/ISidedInventory +CL: wf net/minecraft/util/CombatEntry +CL: wg net/minecraft/util/CombatTracker +CL: wh net/minecraft/util/DamageSource +CL: wi net/minecraft/util/EntityDamageSource +CL: wj net/minecraft/util/EntityDamageSourceIndirect +CL: wl net/minecraft/potion/PotionAbsorption +CL: wm net/minecraft/potion/PotionAttackDamage +CL: wn net/minecraft/potion/PotionHealthBoost +CL: wo net/minecraft/potion/PotionHealth +CL: wp net/minecraft/potion/Potion +CL: wq net/minecraft/potion/PotionEffect +CL: ws net/minecraft/entity/EntityAgeable +CL: wt net/minecraft/entity/passive/IAnimals +CL: wv net/minecraft/entity/Entity +CL: ww net/minecraft/entity/Entity$1 +CL: wx net/minecraft/entity/Entity$2 +CL: wy net/minecraft/entity/Entity$3 +CL: wz net/minecraft/entity/Entity$4 +CL: x net/minecraft/util/Util$EnumOS +CL: xb net/minecraft/entity/EntityList +CL: xc net/minecraft/entity/EntityList$EntityEggInfo +CL: xe net/minecraft/command/IEntitySelector +CL: xf net/minecraft/command/IEntitySelector$1 +CL: xg net/minecraft/command/IEntitySelector$2 +CL: xh net/minecraft/command/IEntitySelector$3 +CL: xi net/minecraft/command/IEntitySelector$4 +CL: xj net/minecraft/command/IEntitySelector$ArmoredMob +CL: xk net/minecraft/entity/item/EntityXPOrb +CL: xl net/minecraft/entity/EntityFlying +CL: xm net/minecraft/entity/EntityLivingBase +CL: xn net/minecraft/entity/EntityLiving +CL: xo net/minecraft/entity/EntityLiving$SpawnPlacementType +CL: xp net/minecraft/entity/EnumCreatureType +CL: xq net/minecraft/entity/IEntityLivingData +CL: xr net/minecraft/entity/EntitySpawnPlacementRegistry +CL: xs net/minecraft/entity/EnumCreatureAttribute +CL: xt net/minecraft/entity/IEntityOwnable +CL: xu net/minecraft/entity/EntityCreature +CL: xv net/minecraft/entity/DataWatcher +CL: xw net/minecraft/entity/DataWatcher$WatchableObject +CL: xx net/minecraft/entity/passive/EntityTameable +CL: xy net/minecraft/entity/ai/attributes/IAttribute +CL: xz net/minecraft/entity/ai/attributes/IAttributeInstance +CL: y net/minecraft/command/IAdminCommand +CL: ya net/minecraft/entity/ai/attributes/AttributeModifier +CL: yb net/minecraft/entity/ai/attributes/BaseAttribute +CL: yc net/minecraft/entity/ai/attributes/BaseAttributeMap +CL: ye net/minecraft/entity/ai/attributes/ModifiableAttributeInstance +CL: yf net/minecraft/entity/ai/attributes/ServersideAttributeMap +CL: yg net/minecraft/entity/ai/attributes/RangedAttribute +CL: yj net/minecraft/entity/EntityBodyHelper +CL: yl net/minecraft/entity/ai/EntityJumpHelper +CL: ym net/minecraft/entity/ai/EntityLookHelper +CL: yn net/minecraft/entity/ai/EntityMoveHelper +CL: yp net/minecraft/entity/ai/EntityAIAvoidEntity +CL: yq net/minecraft/entity/ai/EntityAIAvoidEntity$1 +CL: yr net/minecraft/entity/ai/EntityAIBeg +CL: ys net/minecraft/entity/ai/EntityAIBreakDoor +CL: yt net/minecraft/entity/ai/EntityAIMate +CL: yu net/minecraft/entity/ai/EntityAIControlledByPlayer +CL: yv net/minecraft/entity/ai/EntityAIDoorInteract +CL: yw net/minecraft/entity/ai/EntityAIEatGrass +CL: yx net/minecraft/entity/ai/EntityAIFleeSun +CL: yy net/minecraft/entity/ai/EntityAISwimming +CL: yz net/minecraft/entity/ai/EntityAIFollowOwner +CL: z net/minecraft/command/CommandBase +CL: za net/minecraft/entity/ai/EntityAIFollowParent +CL: zb net/minecraft/entity/ai/EntityAIBase +CL: zc net/minecraft/entity/ai/EntityAITasks +CL: zd net/minecraft/entity/ai/EntityAITasks$EntityAITaskEntry +CL: ze net/minecraft/entity/ai/EntityAIHarvestFarmland +CL: zf net/minecraft/entity/ai/EntityAIWatchClosest2 +CL: zg net/minecraft/entity/ai/EntityAILeapAtTarget +CL: zh net/minecraft/entity/ai/EntityAIWatchClosest +CL: zi net/minecraft/entity/ai/EntityAILookAtTradePlayer +CL: zj net/minecraft/entity/ai/EntityAIVillagerMate +CL: zk net/minecraft/entity/ai/EntityAIAttackOnCollide +CL: zl net/minecraft/entity/ai/EntityAIMoveIndoors +CL: zm net/minecraft/entity/ai/EntityAIMoveThroughVillage +CL: zn net/minecraft/entity/ai/EntityAIMoveToBlock +CL: zo net/minecraft/entity/ai/EntityAIMoveTowardsRestriction +CL: zp net/minecraft/entity/ai/EntityAIMoveTowardsTarget +CL: zq net/minecraft/entity/ai/EntityAIOcelotAttack +CL: zr net/minecraft/entity/ai/EntityAIOcelotSit +CL: zs net/minecraft/entity/ai/EntityAILookAtVillager +CL: zt net/minecraft/entity/ai/EntityAIOpenDoor +CL: zu net/minecraft/entity/ai/EntityAIPanic +CL: zv net/minecraft/entity/ai/EntityAIPlay +CL: zx net/minecraft/entity/ai/EntityAILookIdle +CL: zy net/minecraft/entity/ai/EntityAIWander +CL: zz net/minecraft/entity/ai/EntityAIArrowAttack +FD: a/A net/minecraft/util/EnumChatFormatting/field_96303_A +FD: a/B net/minecraft/util/EnumChatFormatting/field_96304_B +FD: a/C net/minecraft/util/EnumChatFormatting/field_175747_C +FD: a/D net/minecraft/util/EnumChatFormatting/$VALUES +FD: a/a net/minecraft/util/EnumChatFormatting/BLACK +FD: a/b net/minecraft/util/EnumChatFormatting/DARK_BLUE +FD: a/c net/minecraft/util/EnumChatFormatting/DARK_GREEN +FD: a/d net/minecraft/util/EnumChatFormatting/DARK_AQUA +FD: a/e net/minecraft/util/EnumChatFormatting/DARK_RED +FD: a/f net/minecraft/util/EnumChatFormatting/DARK_PURPLE +FD: a/g net/minecraft/util/EnumChatFormatting/GOLD +FD: a/h net/minecraft/util/EnumChatFormatting/GRAY +FD: a/i net/minecraft/util/EnumChatFormatting/DARK_GRAY +FD: a/j net/minecraft/util/EnumChatFormatting/BLUE +FD: a/k net/minecraft/util/EnumChatFormatting/GREEN +FD: a/l net/minecraft/util/EnumChatFormatting/AQUA +FD: a/m net/minecraft/util/EnumChatFormatting/RED +FD: a/n net/minecraft/util/EnumChatFormatting/LIGHT_PURPLE +FD: a/o net/minecraft/util/EnumChatFormatting/YELLOW +FD: a/p net/minecraft/util/EnumChatFormatting/WHITE +FD: a/q net/minecraft/util/EnumChatFormatting/OBFUSCATED +FD: a/r net/minecraft/util/EnumChatFormatting/BOLD +FD: a/s net/minecraft/util/EnumChatFormatting/STRIKETHROUGH +FD: a/t net/minecraft/util/EnumChatFormatting/UNDERLINE +FD: a/u net/minecraft/util/EnumChatFormatting/ITALIC +FD: a/v net/minecraft/util/EnumChatFormatting/RESET +FD: a/w net/minecraft/util/EnumChatFormatting/field_96331_x +FD: a/x net/minecraft/util/EnumChatFormatting/field_96330_y +FD: a/y net/minecraft/util/EnumChatFormatting/field_175748_y +FD: a/z net/minecraft/util/EnumChatFormatting/field_96329_z +FD: aa/a net/minecraft/command/CommandBase$CoordinateArg/field_179633_a +FD: aa/b net/minecraft/command/CommandBase$CoordinateArg/field_179631_b +FD: aa/c net/minecraft/command/CommandBase$CoordinateArg/field_179632_c +FD: aaa/a net/minecraft/entity/ai/EntityAIRestrictOpenDoor/field_75275_a +FD: aaa/b net/minecraft/entity/ai/EntityAIRestrictOpenDoor/field_75274_b +FD: aab/a net/minecraft/entity/ai/EntityAIRestrictSun/field_75273_a +FD: aac/a net/minecraft/entity/ai/EntityAIRunAroundLikeCrazy/field_111180_a +FD: aac/b net/minecraft/entity/ai/EntityAIRunAroundLikeCrazy/field_111178_b +FD: aac/c net/minecraft/entity/ai/EntityAIRunAroundLikeCrazy/field_111179_c +FD: aac/d net/minecraft/entity/ai/EntityAIRunAroundLikeCrazy/field_111176_d +FD: aac/e net/minecraft/entity/ai/EntityAIRunAroundLikeCrazy/field_111177_e +FD: aad/a net/minecraft/entity/ai/EntityAISit/field_75272_a +FD: aad/b net/minecraft/entity/ai/EntityAISit/field_75271_b +FD: aae/a net/minecraft/entity/ai/EntityAICreeperSwell/field_75269_a +FD: aae/b net/minecraft/entity/ai/EntityAICreeperSwell/field_75268_b +FD: aaf/a net/minecraft/entity/ai/EntityAIFollowGolem/field_75294_a +FD: aaf/b net/minecraft/entity/ai/EntityAIFollowGolem/field_75292_b +FD: aaf/c net/minecraft/entity/ai/EntityAIFollowGolem/field_75293_c +FD: aaf/d net/minecraft/entity/ai/EntityAIFollowGolem/field_75291_d +FD: aag/a net/minecraft/entity/ai/EntityAITempt/field_75284_a +FD: aag/b net/minecraft/entity/ai/EntityAITempt/field_75282_b +FD: aag/c net/minecraft/entity/ai/EntityAITempt/field_75283_c +FD: aag/d net/minecraft/entity/ai/EntityAITempt/field_75280_d +FD: aag/e net/minecraft/entity/ai/EntityAITempt/field_75281_e +FD: aag/f net/minecraft/entity/ai/EntityAITempt/field_75278_f +FD: aag/g net/minecraft/entity/ai/EntityAITempt/field_75279_g +FD: aag/h net/minecraft/entity/ai/EntityAITempt/field_75289_h +FD: aag/i net/minecraft/entity/ai/EntityAITempt/field_75290_i +FD: aag/j net/minecraft/entity/ai/EntityAITempt/field_75287_j +FD: aag/k net/minecraft/entity/ai/EntityAITempt/field_151484_k +FD: aag/l net/minecraft/entity/ai/EntityAITempt/field_75285_l +FD: aag/m net/minecraft/entity/ai/EntityAITempt/field_75286_m +FD: aah/a net/minecraft/entity/ai/EntityAITradePlayer/field_75276_a +FD: aai/e net/minecraft/entity/ai/EntityAIVillagerInteract/field_179478_e +FD: aai/f net/minecraft/entity/ai/EntityAIVillagerInteract/field_179477_f +FD: aak/a net/minecraft/entity/ai/EntityAIDefendVillage/field_75305_a +FD: aak/b net/minecraft/entity/ai/EntityAIDefendVillage/field_75304_b +FD: aal/a net/minecraft/entity/ai/EntityAIHurtByTarget/field_75312_a +FD: aal/b net/minecraft/entity/ai/EntityAIHurtByTarget/field_142052_b +FD: aal/c net/minecraft/entity/ai/EntityAIHurtByTarget/field_179447_c +FD: aam/a net/minecraft/entity/ai/EntityAIFindEntityNearest/field_179444_a +FD: aam/b net/minecraft/entity/ai/EntityAIFindEntityNearest/field_179442_b +FD: aam/c net/minecraft/entity/ai/EntityAIFindEntityNearest/field_179443_c +FD: aam/d net/minecraft/entity/ai/EntityAIFindEntityNearest/field_179440_d +FD: aam/e net/minecraft/entity/ai/EntityAIFindEntityNearest/field_179441_e +FD: aam/f net/minecraft/entity/ai/EntityAIFindEntityNearest/field_179439_f +FD: aan/a net/minecraft/entity/ai/EntityAIFindEntityNearest$1/field_179877_a +FD: aao/a net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer/field_179436_a +FD: aao/b net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer/field_179434_b +FD: aao/c net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer/field_179435_c +FD: aao/d net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer/field_179432_d +FD: aao/e net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer/field_179433_e +FD: aap/a net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer$1/field_179881_a +FD: aaq/a net/minecraft/entity/ai/EntityAINearestAttackableTarget/field_75307_b +FD: aaq/b net/minecraft/entity/ai/EntityAINearestAttackableTarget/field_75306_g +FD: aaq/c net/minecraft/entity/ai/EntityAINearestAttackableTarget/field_82643_g +FD: aaq/d net/minecraft/entity/ai/EntityAINearestAttackableTarget/field_75309_a +FD: aaq/g net/minecraft/entity/ai/EntityAINearestAttackableTarget/field_75308_c +FD: aar/a net/minecraft/entity/ai/EntityAINearestAttackableTarget$1/field_111103_c +FD: aar/b net/minecraft/entity/ai/EntityAINearestAttackableTarget$1/field_111102_d +FD: aas/a net/minecraft/entity/ai/EntityAINearestAttackableTarget$Sorter/field_75459_b +FD: aat/g net/minecraft/entity/ai/EntityAITargetNonTamed/field_75310_g +FD: aau/a net/minecraft/entity/ai/EntityAIOwnerHurtByTarget/field_75316_a +FD: aau/b net/minecraft/entity/ai/EntityAIOwnerHurtByTarget/field_75315_b +FD: aau/c net/minecraft/entity/ai/EntityAIOwnerHurtByTarget/field_142051_e +FD: aav/a net/minecraft/entity/ai/EntityAIOwnerHurtTarget/field_75314_a +FD: aav/b net/minecraft/entity/ai/EntityAIOwnerHurtTarget/field_75313_b +FD: aav/c net/minecraft/entity/ai/EntityAIOwnerHurtTarget/field_142050_e +FD: aaw/a net/minecraft/entity/ai/EntityAITarget/field_75303_a +FD: aaw/b net/minecraft/entity/ai/EntityAITarget/field_75301_b +FD: aaw/c net/minecraft/entity/ai/EntityAITarget/field_75302_c +FD: aaw/d net/minecraft/entity/ai/EntityAITarget/field_75298_g +FD: aaw/e net/minecraft/entity/ai/EntityAITarget/field_75299_d +FD: aaw/f net/minecraft/entity/ai/EntityAITarget/field_75297_f +FD: aay/a net/minecraft/pathfinding/PathNavigateGround/field_179695_a +FD: aay/f net/minecraft/pathfinding/PathNavigateGround/field_179694_f +FD: aaz/a net/minecraft/pathfinding/PathNavigate/field_75512_e +FD: aaz/b net/minecraft/pathfinding/PathNavigate/field_75515_a +FD: aaz/c net/minecraft/pathfinding/PathNavigate/field_75513_b +FD: aaz/d net/minecraft/pathfinding/PathNavigate/field_75514_c +FD: aaz/e net/minecraft/pathfinding/PathNavigate/field_75511_d +FD: aaz/f net/minecraft/pathfinding/PathNavigate/field_75510_g +FD: aaz/g net/minecraft/pathfinding/PathNavigate/field_75520_h +FD: aaz/h net/minecraft/pathfinding/PathNavigate/field_75521_i +FD: aaz/i net/minecraft/pathfinding/PathNavigate/field_179682_i +FD: aaz/j net/minecraft/pathfinding/PathNavigate/field_179681_j +FD: ab/a net/minecraft/command/CommandHandler/field_147175_a +FD: ab/b net/minecraft/command/CommandHandler/field_71562_a +FD: ab/c net/minecraft/command/CommandHandler/field_71561_b +FD: aba/f net/minecraft/pathfinding/PathNavigateClimber/field_179696_f +FD: abd/a net/minecraft/entity/ai/EntitySenses/field_75526_a +FD: abd/b net/minecraft/entity/ai/EntitySenses/field_75524_b +FD: abd/c net/minecraft/entity/ai/EntitySenses/field_75525_c +FD: abf/a net/minecraft/entity/ai/RandomPositionGenerator/field_75465_a +FD: abh/a net/minecraft/village/VillageDoorInfo/field_179859_a +FD: abh/b net/minecraft/village/VillageDoorInfo/field_179857_b +FD: abh/c net/minecraft/village/VillageDoorInfo/field_179858_c +FD: abh/d net/minecraft/village/VillageDoorInfo/field_75475_f +FD: abh/e net/minecraft/village/VillageDoorInfo/field_75476_g +FD: abh/f net/minecraft/village/VillageDoorInfo/field_75482_h +FD: abi/a net/minecraft/village/Village/field_75586_a +FD: abi/b net/minecraft/village/Village/field_75584_b +FD: abi/c net/minecraft/village/Village/field_75585_c +FD: abi/d net/minecraft/village/Village/field_75582_d +FD: abi/e net/minecraft/village/Village/field_75583_e +FD: abi/f net/minecraft/village/Village/field_75580_f +FD: abi/g net/minecraft/village/Village/field_75581_g +FD: abi/h net/minecraft/village/Village/field_75588_h +FD: abi/i net/minecraft/village/Village/field_82694_i +FD: abi/j net/minecraft/village/Village/field_82693_j +FD: abi/k net/minecraft/village/Village/field_75589_i +FD: abi/l net/minecraft/village/Village/field_75587_j +FD: abj/a net/minecraft/village/Village$VillageAggressor/field_75592_a +FD: abj/b net/minecraft/village/Village$VillageAggressor/field_75590_b +FD: abj/c net/minecraft/village/Village$VillageAggressor/field_75591_c +FD: abk/a net/minecraft/village/VillageSiege/field_75537_a +FD: abk/b net/minecraft/village/VillageSiege/field_75535_b +FD: abk/c net/minecraft/village/VillageSiege/field_75536_c +FD: abk/d net/minecraft/village/VillageSiege/field_75533_d +FD: abk/e net/minecraft/village/VillageSiege/field_75534_e +FD: abk/f net/minecraft/village/VillageSiege/field_75531_f +FD: abk/g net/minecraft/village/VillageSiege/field_75532_g +FD: abk/h net/minecraft/village/VillageSiege/field_75538_h +FD: abk/i net/minecraft/village/VillageSiege/field_75539_i +FD: abl/b net/minecraft/village/VillageCollection/field_75556_a +FD: abl/c net/minecraft/village/VillageCollection/field_75554_b +FD: abl/d net/minecraft/village/VillageCollection/field_75555_c +FD: abl/e net/minecraft/village/VillageCollection/field_75552_d +FD: abl/f net/minecraft/village/VillageCollection/field_75553_e +FD: abo/a net/minecraft/entity/passive/EntityBat/field_82237_a +FD: abq/bk net/minecraft/entity/passive/EntityAnimal/field_70881_d +FD: abq/bl net/minecraft/entity/passive/EntityAnimal/field_175506_bl +FD: abq/bm net/minecraft/entity/passive/EntityAnimal/field_146084_br +FD: abr/bk net/minecraft/entity/passive/EntityChicken/field_70886_e +FD: abr/bm net/minecraft/entity/passive/EntityChicken/field_70883_f +FD: abr/bn net/minecraft/entity/passive/EntityChicken/field_70884_g +FD: abr/bo net/minecraft/entity/passive/EntityChicken/field_70888_h +FD: abr/bp net/minecraft/entity/passive/EntityChicken/field_70889_i +FD: abr/bq net/minecraft/entity/passive/EntityChicken/field_70887_j +FD: abr/br net/minecraft/entity/passive/EntityChicken/field_152118_bv +FD: abt/bA net/minecraft/entity/passive/EntityHorse/field_110290_bE +FD: abt/bB net/minecraft/entity/passive/EntityHorse/field_110295_bF +FD: abt/bC net/minecraft/entity/passive/EntityHorse/field_110296_bG +FD: abt/bD net/minecraft/entity/passive/EntityHorse/field_110293_bH +FD: abt/bE net/minecraft/entity/passive/EntityHorse/field_110294_bI +FD: abt/bF net/minecraft/entity/passive/EntityHorse/field_110283_bJ +FD: abt/bG net/minecraft/entity/passive/EntityHorse/field_110284_bK +FD: abt/bH net/minecraft/entity/passive/EntityHorse/field_110281_bL +FD: abt/bI net/minecraft/entity/passive/EntityHorse/field_110282_bM +FD: abt/bJ net/minecraft/entity/passive/EntityHorse/field_110287_bN +FD: abt/bK net/minecraft/entity/passive/EntityHorse/field_110288_bO +FD: abt/bL net/minecraft/entity/passive/EntityHorse/field_110285_bP +FD: abt/bM net/minecraft/entity/passive/EntityHorse/field_110286_bQ +FD: abt/bN net/minecraft/entity/passive/EntityHorse/field_110280_bR +FD: abt/bO net/minecraft/entity/passive/EntityHorse/field_175508_bO +FD: abt/bk net/minecraft/entity/passive/EntityHorse/field_110278_bp +FD: abt/bm net/minecraft/entity/passive/EntityHorse/field_110279_bq +FD: abt/bn net/minecraft/entity/passive/EntityHorse/field_110275_br +FD: abt/bo net/minecraft/entity/passive/EntityHorse/field_110274_bs +FD: abt/bp net/minecraft/entity/passive/EntityHorse/field_110277_bt +FD: abt/bq net/minecraft/entity/passive/EntityHorse/field_110276_bu +FD: abt/br net/minecraft/entity/passive/EntityHorse/field_110271_bv +FD: abt/bs net/minecraft/entity/passive/EntityHorse/field_110270_bw +FD: abt/bt net/minecraft/entity/passive/EntityHorse/field_110273_bx +FD: abt/bu net/minecraft/entity/passive/EntityHorse/field_110272_by +FD: abt/bv net/minecraft/entity/passive/EntityHorse/field_110268_bz +FD: abt/bw net/minecraft/entity/passive/EntityHorse/field_110269_bA +FD: abt/bx net/minecraft/entity/passive/EntityHorse/field_110291_bB +FD: abt/by net/minecraft/entity/passive/EntityHorse/field_110292_bC +FD: abt/bz net/minecraft/entity/passive/EntityHorse/field_110289_bD +FD: abv/a net/minecraft/entity/passive/EntityHorse$GroupData/field_111107_a +FD: abv/b net/minecraft/entity/passive/EntityHorse$GroupData/field_111106_b +FD: aby/bm net/minecraft/entity/passive/EntityOcelot/field_175545_bm +FD: aby/bn net/minecraft/entity/passive/EntityOcelot/field_70914_e +FD: abz/a net/minecraft/entity/passive/EntityOcelot$1/field_179875_a +FD: aca/bk net/minecraft/entity/passive/EntityPig/field_82184_d +FD: acb/bk net/minecraft/entity/passive/EntityRabbit/field_175539_bk +FD: acb/bm net/minecraft/entity/passive/EntityRabbit/field_175540_bm +FD: acb/bn net/minecraft/entity/passive/EntityRabbit/field_175535_bn +FD: acb/bo net/minecraft/entity/passive/EntityRabbit/field_175536_bo +FD: acb/bp net/minecraft/entity/passive/EntityRabbit/field_175537_bp +FD: acb/bq net/minecraft/entity/passive/EntityRabbit/field_175538_bq +FD: acb/br net/minecraft/entity/passive/EntityRabbit/field_175542_br +FD: acb/bs net/minecraft/entity/passive/EntityRabbit/field_175541_bs +FD: acb/bt net/minecraft/entity/passive/EntityRabbit/field_175543_bt +FD: acc/a net/minecraft/entity/passive/EntityRabbit$1/field_180087_a +FD: ace/a net/minecraft/entity/passive/EntityRabbit$EnumMoveType/NONE +FD: ace/b net/minecraft/entity/passive/EntityRabbit$EnumMoveType/HOP +FD: ace/c net/minecraft/entity/passive/EntityRabbit$EnumMoveType/STEP +FD: ace/d net/minecraft/entity/passive/EntityRabbit$EnumMoveType/SPRINT +FD: ace/e net/minecraft/entity/passive/EntityRabbit$EnumMoveType/ATTACK +FD: ace/f net/minecraft/entity/passive/EntityRabbit$EnumMoveType/field_180076_f +FD: ace/g net/minecraft/entity/passive/EntityRabbit$EnumMoveType/field_180077_g +FD: ace/h net/minecraft/entity/passive/EntityRabbit$EnumMoveType/field_180084_h +FD: ace/i net/minecraft/entity/passive/EntityRabbit$EnumMoveType/field_180085_i +FD: ace/j net/minecraft/entity/passive/EntityRabbit$EnumMoveType/$VALUES +FD: acf/d net/minecraft/entity/passive/EntityRabbit$AIAvoidEntity/field_179511_d +FD: acg/a net/minecraft/entity/passive/EntityRabbit$RabbitTypeData/field_179427_a +FD: ach/b net/minecraft/entity/passive/EntityRabbit$RabbitJumpHelper/field_180069_b +FD: ach/c net/minecraft/entity/passive/EntityRabbit$RabbitJumpHelper/field_180070_c +FD: ach/d net/minecraft/entity/passive/EntityRabbit$RabbitJumpHelper/field_180068_d +FD: aci/g net/minecraft/entity/passive/EntityRabbit$RabbitMoveHelper/field_179929_g +FD: acj/b net/minecraft/entity/passive/EntityRabbit$AIPanic/field_179486_b +FD: ack/c net/minecraft/entity/passive/EntityRabbit$AIRaidFarm/field_179500_c +FD: ack/d net/minecraft/entity/passive/EntityRabbit$AIRaidFarm/field_179498_d +FD: ack/e net/minecraft/entity/passive/EntityRabbit$AIRaidFarm/field_179499_e +FD: acl/bk net/minecraft/entity/passive/EntitySheep/field_90016_e +FD: acl/bm net/minecraft/entity/passive/EntitySheep/field_175514_bm +FD: acl/bn net/minecraft/entity/passive/EntitySheep/field_70899_e +FD: acl/bo net/minecraft/entity/passive/EntitySheep/field_146087_bs +FD: acm/a net/minecraft/entity/passive/EntitySheep$1/field_90034_a +FD: aco/a net/minecraft/entity/passive/EntitySquid/field_70861_d +FD: aco/b net/minecraft/entity/passive/EntitySquid/field_70862_e +FD: aco/bi net/minecraft/entity/passive/EntitySquid/field_70860_g +FD: aco/bj net/minecraft/entity/passive/EntitySquid/field_70867_h +FD: aco/bk net/minecraft/entity/passive/EntitySquid/field_70868_i +FD: aco/bl net/minecraft/entity/passive/EntitySquid/field_70866_j +FD: aco/bm net/minecraft/entity/passive/EntitySquid/field_70865_by +FD: aco/bn net/minecraft/entity/passive/EntitySquid/field_70863_bz +FD: aco/bo net/minecraft/entity/passive/EntitySquid/field_70864_bA +FD: aco/bp net/minecraft/entity/passive/EntitySquid/field_70871_bB +FD: aco/bq net/minecraft/entity/passive/EntitySquid/field_70872_bC +FD: aco/br net/minecraft/entity/passive/EntitySquid/field_70869_bD +FD: aco/bs net/minecraft/entity/passive/EntitySquid/field_70870_bE +FD: aco/c net/minecraft/entity/passive/EntitySquid/field_70859_f +FD: acp/a net/minecraft/entity/passive/EntitySquid$AIMoveRandom/field_179476_a +FD: acq/a net/minecraft/entity/monster/EntityIronGolem/field_70857_d +FD: acq/b net/minecraft/entity/monster/EntityIronGolem/field_70858_e +FD: acq/bk net/minecraft/entity/monster/EntityIronGolem/field_70856_g +FD: acq/c net/minecraft/entity/monster/EntityIronGolem/field_70855_f +FD: acs/a net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper$1/field_180099_a +FD: acs/b net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper$1/field_180097_b +FD: acs/c net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper$1/field_180098_c +FD: acu/bm net/minecraft/entity/passive/EntityWolf/field_70926_e +FD: acu/bn net/minecraft/entity/passive/EntityWolf/field_70924_f +FD: acu/bo net/minecraft/entity/passive/EntityWolf/field_70925_g +FD: acu/bp net/minecraft/entity/passive/EntityWolf/field_70928_h +FD: acu/bq net/minecraft/entity/passive/EntityWolf/field_70929_i +FD: acu/br net/minecraft/entity/passive/EntityWolf/field_70927_j +FD: acv/a net/minecraft/entity/passive/EntityWolf$1/field_180095_a +FD: acz/a net/minecraft/entity/boss/EntityDragonPart/field_70259_a +FD: acz/b net/minecraft/entity/boss/EntityDragonPart/field_146032_b +FD: ada/a net/minecraft/entity/item/EntityEnderCrystal/field_70261_a +FD: ada/b net/minecraft/entity/item/EntityEnderCrystal/field_70260_b +FD: adb/a net/minecraft/entity/boss/EntityDragon/field_70980_b +FD: adb/b net/minecraft/entity/boss/EntityDragon/field_70981_c +FD: adb/bi net/minecraft/entity/boss/EntityDragon/field_70979_e +FD: adb/bj net/minecraft/entity/boss/EntityDragon/field_70976_f +FD: adb/bk net/minecraft/entity/boss/EntityDragon/field_70977_g +FD: adb/bl net/minecraft/entity/boss/EntityDragon/field_70986_h +FD: adb/bm net/minecraft/entity/boss/EntityDragon/field_70987_i +FD: adb/bn net/minecraft/entity/boss/EntityDragon/field_70985_j +FD: adb/bo net/minecraft/entity/boss/EntityDragon/field_70984_by +FD: adb/bp net/minecraft/entity/boss/EntityDragon/field_70982_bz +FD: adb/bq net/minecraft/entity/boss/EntityDragon/field_70983_bA +FD: adb/br net/minecraft/entity/boss/EntityDragon/field_70990_bB +FD: adb/bs net/minecraft/entity/boss/EntityDragon/field_70991_bC +FD: adb/bt net/minecraft/entity/boss/EntityDragon/field_70988_bD +FD: adb/bu net/minecraft/entity/boss/EntityDragon/field_70989_bE +FD: adb/bv net/minecraft/entity/boss/EntityDragon/field_70994_bF +FD: adb/bw net/minecraft/entity/boss/EntityDragon/field_70995_bG +FD: adb/bx net/minecraft/entity/boss/EntityDragon/field_70992_bH +FD: adb/by net/minecraft/entity/boss/EntityDragon/field_70993_bI +FD: adb/c net/minecraft/entity/boss/EntityDragon/field_70978_d +FD: adf/b net/minecraft/entity/boss/EntityWither/field_82220_d +FD: adf/bk net/minecraft/entity/boss/EntityWither/field_82217_f +FD: adf/bl net/minecraft/entity/boss/EntityWither/field_82218_g +FD: adf/bm net/minecraft/entity/boss/EntityWither/field_82223_h +FD: adf/bn net/minecraft/entity/boss/EntityWither/field_82224_i +FD: adf/bo net/minecraft/entity/boss/EntityWither/field_82222_j +FD: adf/bp net/minecraft/entity/boss/EntityWither/field_82219_bJ +FD: adf/c net/minecraft/entity/boss/EntityWither/field_82221_e +FD: adi/a net/minecraft/entity/item/EntityArmorStand/field_175435_a +FD: adi/b net/minecraft/entity/item/EntityArmorStand/field_175433_b +FD: adi/bg net/minecraft/entity/item/EntityArmorStand/field_175442_bg +FD: adi/bh net/minecraft/entity/item/EntityArmorStand/field_175443_bh +FD: adi/bi net/minecraft/entity/item/EntityArmorStand/field_175444_bi +FD: adi/bj net/minecraft/entity/item/EntityArmorStand/field_175438_bj +FD: adi/bk net/minecraft/entity/item/EntityArmorStand/field_175439_bk +FD: adi/bl net/minecraft/entity/item/EntityArmorStand/field_175440_bl +FD: adi/bm net/minecraft/entity/item/EntityArmorStand/field_175441_bm +FD: adi/c net/minecraft/entity/item/EntityArmorStand/field_175434_c +FD: adi/d net/minecraft/entity/item/EntityArmorStand/field_175431_d +FD: adi/e net/minecraft/entity/item/EntityArmorStand/field_175432_e +FD: adi/f net/minecraft/entity/item/EntityArmorStand/field_175429_f +FD: adi/g net/minecraft/entity/item/EntityArmorStand/field_175430_g +FD: adi/h net/minecraft/entity/item/EntityArmorStand/field_175436_h +FD: adi/i net/minecraft/entity/item/EntityArmorStand/field_175437_i +FD: adj/a net/minecraft/entity/EntityHanging/field_174861_a +FD: adj/b net/minecraft/entity/EntityHanging/field_174860_b +FD: adj/c net/minecraft/entity/EntityHanging/field_70520_f +FD: adk/c net/minecraft/entity/item/EntityItemFrame/field_82337_e +FD: adm/c net/minecraft/entity/item/EntityPainting/field_70522_e +FD: adn/A net/minecraft/entity/item/EntityPainting$EnumArt/field_180001_A +FD: adn/B net/minecraft/entity/item/EntityPainting$EnumArt/field_75702_A +FD: adn/C net/minecraft/entity/item/EntityPainting$EnumArt/field_75703_B +FD: adn/D net/minecraft/entity/item/EntityPainting$EnumArt/field_75704_C +FD: adn/E net/minecraft/entity/item/EntityPainting$EnumArt/field_75699_D +FD: adn/F net/minecraft/entity/item/EntityPainting$EnumArt/field_75700_E +FD: adn/G net/minecraft/entity/item/EntityPainting$EnumArt/$VALUES +FD: adn/a net/minecraft/entity/item/EntityPainting$EnumArt/KEBAB +FD: adn/b net/minecraft/entity/item/EntityPainting$EnumArt/AZTEC +FD: adn/c net/minecraft/entity/item/EntityPainting$EnumArt/ALBAN +FD: adn/d net/minecraft/entity/item/EntityPainting$EnumArt/AZTEC_2 +FD: adn/e net/minecraft/entity/item/EntityPainting$EnumArt/BOMB +FD: adn/f net/minecraft/entity/item/EntityPainting$EnumArt/PLANT +FD: adn/g net/minecraft/entity/item/EntityPainting$EnumArt/WASTELAND +FD: adn/h net/minecraft/entity/item/EntityPainting$EnumArt/POOL +FD: adn/i net/minecraft/entity/item/EntityPainting$EnumArt/COURBET +FD: adn/j net/minecraft/entity/item/EntityPainting$EnumArt/SEA +FD: adn/k net/minecraft/entity/item/EntityPainting$EnumArt/SUNSET +FD: adn/l net/minecraft/entity/item/EntityPainting$EnumArt/CREEBET +FD: adn/m net/minecraft/entity/item/EntityPainting$EnumArt/WANDERER +FD: adn/n net/minecraft/entity/item/EntityPainting$EnumArt/GRAHAM +FD: adn/o net/minecraft/entity/item/EntityPainting$EnumArt/MATCH +FD: adn/p net/minecraft/entity/item/EntityPainting$EnumArt/BUST +FD: adn/q net/minecraft/entity/item/EntityPainting$EnumArt/STAGE +FD: adn/r net/minecraft/entity/item/EntityPainting$EnumArt/VOID +FD: adn/s net/minecraft/entity/item/EntityPainting$EnumArt/SKULL_AND_ROSES +FD: adn/t net/minecraft/entity/item/EntityPainting$EnumArt/WITHER +FD: adn/u net/minecraft/entity/item/EntityPainting$EnumArt/FIGHTERS +FD: adn/v net/minecraft/entity/item/EntityPainting$EnumArt/POINTER +FD: adn/w net/minecraft/entity/item/EntityPainting$EnumArt/PIGSCENE +FD: adn/x net/minecraft/entity/item/EntityPainting$EnumArt/BURNING_SKULL +FD: adn/y net/minecraft/entity/item/EntityPainting$EnumArt/SKELETON +FD: adn/z net/minecraft/entity/item/EntityPainting$EnumArt/DONKEY_KONG +FD: ado/a net/minecraft/entity/projectile/EntityFishHook/field_146044_a +FD: ado/aA net/minecraft/entity/projectile/EntityFishHook/field_146058_aE +FD: ado/aB net/minecraft/entity/projectile/EntityFishHook/field_146059_aF +FD: ado/aC net/minecraft/entity/projectile/EntityFishHook/field_146060_aG +FD: ado/aD net/minecraft/entity/projectile/EntityFishHook/field_146061_aH +FD: ado/aE net/minecraft/entity/projectile/EntityFishHook/field_146052_aI +FD: ado/aF net/minecraft/entity/projectile/EntityFishHook/field_146053_aJ +FD: ado/ap net/minecraft/entity/projectile/EntityFishHook/field_146046_j +FD: ado/aq net/minecraft/entity/projectile/EntityFishHook/field_146051_au +FD: ado/ar net/minecraft/entity/projectile/EntityFishHook/field_146049_av +FD: ado/as net/minecraft/entity/projectile/EntityFishHook/field_146047_aw +FD: ado/at net/minecraft/entity/projectile/EntityFishHook/field_146045_ax +FD: ado/au net/minecraft/entity/projectile/EntityFishHook/field_146040_ay +FD: ado/av net/minecraft/entity/projectile/EntityFishHook/field_146038_az +FD: ado/aw net/minecraft/entity/projectile/EntityFishHook/field_146054_aA +FD: ado/ax net/minecraft/entity/projectile/EntityFishHook/field_146055_aB +FD: ado/ay net/minecraft/entity/projectile/EntityFishHook/field_146056_aC +FD: ado/az net/minecraft/entity/projectile/EntityFishHook/field_146057_aD +FD: ado/b net/minecraft/entity/projectile/EntityFishHook/field_146042_b +FD: ado/c net/minecraft/entity/projectile/EntityFishHook/field_146043_c +FD: ado/d net/minecraft/entity/projectile/EntityFishHook/field_146039_d +FD: ado/e net/minecraft/entity/projectile/EntityFishHook/field_146041_e +FD: ado/f net/minecraft/entity/projectile/EntityFishHook/field_146036_f +FD: ado/g net/minecraft/entity/projectile/EntityFishHook/field_146037_g +FD: ado/h net/minecraft/entity/projectile/EntityFishHook/field_146048_h +FD: ado/i net/minecraft/entity/projectile/EntityFishHook/field_146050_i +FD: adp/b net/minecraft/util/WeightedRandomFishable/field_150711_b +FD: adp/c net/minecraft/util/WeightedRandomFishable/field_150712_c +FD: adp/d net/minecraft/util/WeightedRandomFishable/field_150710_d +FD: ads/a net/minecraft/entity/effect/EntityLightningBolt/field_70264_a +FD: ads/b net/minecraft/entity/effect/EntityLightningBolt/field_70262_b +FD: ads/c net/minecraft/entity/effect/EntityLightningBolt/field_70263_c +FD: adu/a net/minecraft/entity/item/EntityBoat/field_70279_a +FD: adu/ap net/minecraft/entity/item/EntityBoat/field_70280_j +FD: adu/aq net/minecraft/entity/item/EntityBoat/field_70278_an +FD: adu/b net/minecraft/entity/item/EntityBoat/field_70276_b +FD: adu/c net/minecraft/entity/item/EntityBoat/field_70277_c +FD: adu/d net/minecraft/entity/item/EntityBoat/field_70274_d +FD: adu/e net/minecraft/entity/item/EntityBoat/field_70275_e +FD: adu/f net/minecraft/entity/item/EntityBoat/field_70272_f +FD: adu/g net/minecraft/entity/item/EntityBoat/field_70273_g +FD: adu/h net/minecraft/entity/item/EntityBoat/field_70281_h +FD: adu/i net/minecraft/entity/item/EntityBoat/field_70282_i +FD: adv/a net/minecraft/entity/item/EntityFallingBlock/field_145812_b +FD: adv/b net/minecraft/entity/item/EntityFallingBlock/field_145813_c +FD: adv/c net/minecraft/entity/item/EntityFallingBlock/field_145810_d +FD: adv/d net/minecraft/entity/item/EntityFallingBlock/field_175132_d +FD: adv/e net/minecraft/entity/item/EntityFallingBlock/field_145808_f +FD: adv/f net/minecraft/entity/item/EntityFallingBlock/field_145809_g +FD: adv/g net/minecraft/entity/item/EntityFallingBlock/field_145815_h +FD: adv/h net/minecraft/entity/item/EntityFallingBlock/field_145816_i +FD: adw/a net/minecraft/entity/item/EntityItem/field_70290_d +FD: adw/b net/minecraft/entity/item/EntityItem/field_145803_d +FD: adw/c net/minecraft/entity/item/EntityItem/field_70292_b +FD: adw/d net/minecraft/entity/item/EntityItem/field_145804_b +FD: adw/e net/minecraft/entity/item/EntityItem/field_70291_e +FD: adw/f net/minecraft/entity/item/EntityItem/field_145801_f +FD: adw/g net/minecraft/entity/item/EntityItem/field_145802_g +FD: adx/a net/minecraft/entity/item/EntityMinecart/field_70499_f +FD: adx/ap net/minecraft/entity/item/EntityMinecart/field_70508_aq +FD: adx/aq net/minecraft/entity/item/EntityMinecart/field_70507_ar +FD: adx/ar net/minecraft/entity/item/EntityMinecart/field_70506_as +FD: adx/b net/minecraft/entity/item/EntityMinecart/field_94102_c +FD: adx/c net/minecraft/entity/item/EntityMinecart/field_70500_g +FD: adx/d net/minecraft/entity/item/EntityMinecart/field_70510_h +FD: adx/e net/minecraft/entity/item/EntityMinecart/field_70511_i +FD: adx/f net/minecraft/entity/item/EntityMinecart/field_70509_j +FD: adx/g net/minecraft/entity/item/EntityMinecart/field_70514_an +FD: adx/h net/minecraft/entity/item/EntityMinecart/field_70512_ao +FD: adx/i net/minecraft/entity/item/EntityMinecart/field_70513_ap +FD: ady/a net/minecraft/entity/item/EntityMinecart$SwitchEnumMinecartType/field_180037_a +FD: ady/b net/minecraft/entity/item/EntityMinecart$SwitchEnumMinecartType/field_180036_b +FD: adz/a net/minecraft/entity/item/EntityMinecart$EnumMinecartType/RIDEABLE +FD: adz/b net/minecraft/entity/item/EntityMinecart$EnumMinecartType/CHEST +FD: adz/c net/minecraft/entity/item/EntityMinecart$EnumMinecartType/FURNACE +FD: adz/d net/minecraft/entity/item/EntityMinecart$EnumMinecartType/TNT +FD: adz/e net/minecraft/entity/item/EntityMinecart$EnumMinecartType/SPAWNER +FD: adz/f net/minecraft/entity/item/EntityMinecart$EnumMinecartType/HOPPER +FD: adz/g net/minecraft/entity/item/EntityMinecart$EnumMinecartType/COMMAND_BLOCK +FD: adz/h net/minecraft/entity/item/EntityMinecart$EnumMinecartType/field_180051_h +FD: adz/i net/minecraft/entity/item/EntityMinecart$EnumMinecartType/field_180052_i +FD: adz/j net/minecraft/entity/item/EntityMinecart$EnumMinecartType/field_180049_j +FD: adz/k net/minecraft/entity/item/EntityMinecart$EnumMinecartType/$VALUES +FD: aeb/a net/minecraft/entity/EntityMinecartCommandBlock/field_145824_a +FD: aeb/b net/minecraft/entity/EntityMinecartCommandBlock/field_145823_b +FD: aec/a net/minecraft/entity/EntityMinecartCommandBlock$1/field_145768_a +FD: aed/a net/minecraft/entity/item/EntityMinecartContainer/field_94113_a +FD: aed/b net/minecraft/entity/item/EntityMinecartContainer/field_94112_b +FD: aee/a net/minecraft/entity/item/EntityMinecartFurnace/field_94111_a +FD: aee/b net/minecraft/entity/item/EntityMinecartFurnace/field_94109_b +FD: aee/c net/minecraft/entity/item/EntityMinecartFurnace/field_94110_c +FD: aef/a net/minecraft/entity/item/EntityMinecartHopper/field_96113_a +FD: aef/b net/minecraft/entity/item/EntityMinecartHopper/field_98044_b +FD: aef/c net/minecraft/entity/item/EntityMinecartHopper/field_174900_c +FD: aeh/a net/minecraft/entity/ai/EntityMinecartMobSpawner/field_98040_a +FD: aei/a net/minecraft/entity/ai/EntityMinecartMobSpawner$1/field_98296_a +FD: aej/a net/minecraft/entity/item/EntityMinecartTNT/field_94106_a +FD: aek/a net/minecraft/entity/item/EntityTNTPrimed/field_70516_a +FD: aek/b net/minecraft/entity/item/EntityTNTPrimed/field_94084_b +FD: aem/b net/minecraft/entity/monster/EntityBlaze/field_70847_d +FD: aem/c net/minecraft/entity/monster/EntityBlaze/field_70848_e +FD: aen/a net/minecraft/entity/monster/EntityBlaze$AIFireballAttack/field_179469_a +FD: aen/b net/minecraft/entity/monster/EntityBlaze$AIFireballAttack/field_179467_b +FD: aen/c net/minecraft/entity/monster/EntityBlaze$AIFireballAttack/field_179468_c +FD: aep/b net/minecraft/entity/monster/EntityCreeper/field_70834_e +FD: aep/bk net/minecraft/entity/monster/EntityCreeper/field_82225_f +FD: aep/bl net/minecraft/entity/monster/EntityCreeper/field_82226_g +FD: aep/bm net/minecraft/entity/monster/EntityCreeper/field_175494_bm +FD: aep/c net/minecraft/entity/monster/EntityCreeper/field_70833_d +FD: aeq/a net/minecraft/entity/monster/EntityCreeper$1/field_179959_a +FD: aer/b net/minecraft/entity/monster/EntityEnderman/field_110192_bp +FD: aer/bk net/minecraft/entity/monster/EntityEnderman/field_70827_d +FD: aer/bl net/minecraft/entity/monster/EntityEnderman/field_104003_g +FD: aer/c net/minecraft/entity/monster/EntityEnderman/field_110193_bq +FD: aes/a net/minecraft/entity/monster/EntityEnderman$1/field_179949_a +FD: aet/a net/minecraft/entity/monster/EntityEnderman$AIPlaceBlock/field_179475_a +FD: aeu/g net/minecraft/entity/monster/EntityEnderman$AIFindPlayer/field_179448_g +FD: aeu/h net/minecraft/entity/monster/EntityEnderman$AIFindPlayer/field_179450_h +FD: aeu/i net/minecraft/entity/monster/EntityEnderman$AIFindPlayer/field_179451_i +FD: aeu/j net/minecraft/entity/monster/EntityEnderman$AIFindPlayer/field_179449_j +FD: aev/a net/minecraft/entity/monster/EntityEnderman$AITakeBlock/field_179473_a +FD: aew/b net/minecraft/entity/monster/EntityEndermite/field_175497_b +FD: aew/c net/minecraft/entity/monster/EntityEndermite/field_175498_c +FD: aex/d net/minecraft/entity/monster/IMob/field_82192_a +FD: aex/e net/minecraft/entity/monster/IMob/field_175450_e +FD: af/a net/minecraft/command/CommandResultStats/field_179676_a +FD: af/b net/minecraft/command/CommandResultStats/field_179674_b +FD: af/c net/minecraft/command/CommandResultStats/field_179675_c +FD: af/d net/minecraft/command/CommandResultStats/field_179673_d +FD: afa/a net/minecraft/entity/monster/EntityGhast/field_92014_j +FD: afb/a net/minecraft/entity/monster/EntityGhast$AILookAround/field_179472_a +FD: afc/g net/minecraft/entity/monster/EntityGhast$GhastMoveHelper/field_179927_g +FD: afc/h net/minecraft/entity/monster/EntityGhast$GhastMoveHelper/field_179928_h +FD: afd/a net/minecraft/entity/monster/EntityGhast$AIFireballAttack/field_179471_a +FD: afd/b net/minecraft/entity/monster/EntityGhast$AIFireballAttack/field_179470_b +FD: afe/a net/minecraft/entity/monster/EntityGhast$AIRandomFly/field_179454_a +FD: afg/b net/minecraft/entity/monster/EntityGuardian/field_175482_b +FD: afg/bk net/minecraft/entity/monster/EntityGuardian/field_175483_bk +FD: afg/bl net/minecraft/entity/monster/EntityGuardian/field_175485_bl +FD: afg/bm net/minecraft/entity/monster/EntityGuardian/field_175486_bm +FD: afg/bn net/minecraft/entity/monster/EntityGuardian/field_175478_bn +FD: afg/bo net/minecraft/entity/monster/EntityGuardian/field_175479_bo +FD: afg/bp net/minecraft/entity/monster/EntityGuardian/field_175480_bp +FD: afg/bq net/minecraft/entity/monster/EntityGuardian/field_175481_bq +FD: afg/c net/minecraft/entity/monster/EntityGuardian/field_175484_c +FD: afh/a net/minecraft/entity/monster/EntityGuardian$1/field_179914_a +FD: afi/a net/minecraft/entity/monster/EntityGuardian$AIGuardianAttack/field_179456_a +FD: afi/b net/minecraft/entity/monster/EntityGuardian$AIGuardianAttack/field_179455_b +FD: afj/a net/minecraft/entity/monster/EntityGuardian$GuardianTargetSelector/field_179916_a +FD: afk/g net/minecraft/entity/monster/EntityGuardian$GuardianMoveHelper/field_179930_g +FD: afm/a net/minecraft/entity/monster/EntityMob/field_175455_a +FD: afn/a net/minecraft/entity/monster/EntityMob$1/field_179912_a +FD: afo/bk net/minecraft/entity/monster/EntityPigZombie/field_110190_br +FD: afo/bl net/minecraft/entity/monster/EntityPigZombie/field_70837_d +FD: afo/bm net/minecraft/entity/monster/EntityPigZombie/field_70838_e +FD: afo/bn net/minecraft/entity/monster/EntityPigZombie/field_175459_bn +FD: afo/c net/minecraft/entity/monster/EntityPigZombie/field_110189_bq +FD: afs/a net/minecraft/entity/SharedMonsterAttributes/field_111267_a +FD: afs/b net/minecraft/entity/SharedMonsterAttributes/field_111265_b +FD: afs/c net/minecraft/entity/SharedMonsterAttributes/field_111266_c +FD: afs/d net/minecraft/entity/SharedMonsterAttributes/field_111263_d +FD: afs/e net/minecraft/entity/SharedMonsterAttributes/field_111264_e +FD: afs/f net/minecraft/entity/SharedMonsterAttributes/field_151476_f +FD: aft/b net/minecraft/entity/monster/EntitySilverfish/field_175460_b +FD: afu/a net/minecraft/entity/monster/EntitySilverfish$AIHideInStone/field_179485_a +FD: afu/b net/minecraft/entity/monster/EntitySilverfish$AIHideInStone/field_179483_b +FD: afu/c net/minecraft/entity/monster/EntitySilverfish$AIHideInStone/field_179484_c +FD: afv/a net/minecraft/entity/monster/EntitySilverfish$AISummonSilverfish/field_179464_a +FD: afv/b net/minecraft/entity/monster/EntitySilverfish$AISummonSilverfish/field_179463_b +FD: afw/b net/minecraft/entity/monster/EntitySkeleton/field_85037_d +FD: afw/c net/minecraft/entity/monster/EntitySkeleton/field_85038_e +FD: afx/a net/minecraft/entity/monster/EntitySkeleton$1/field_179946_a +FD: afy/a net/minecraft/entity/monster/EntitySlime/field_70813_a +FD: afy/b net/minecraft/entity/monster/EntitySlime/field_70811_b +FD: afy/bi net/minecraft/entity/monster/EntitySlime/field_175452_bi +FD: afy/c net/minecraft/entity/monster/EntitySlime/field_70812_c +FD: afz/a net/minecraft/entity/monster/EntitySlime$AISlimeAttack/field_179466_a +FD: afz/b net/minecraft/entity/monster/EntitySlime$AISlimeAttack/field_179465_b +FD: ag/a net/minecraft/command/CommandResultStats$Type/SUCCESS_COUNT +FD: ag/b net/minecraft/command/CommandResultStats$Type/AFFECTED_BLOCKS +FD: ag/c net/minecraft/command/CommandResultStats$Type/AFFECTED_ENTITIES +FD: ag/d net/minecraft/command/CommandResultStats$Type/AFFECTED_ITEMS +FD: ag/e net/minecraft/command/CommandResultStats$Type/QUERY_RESULT +FD: ag/f net/minecraft/command/CommandResultStats$Type/field_179639_f +FD: ag/g net/minecraft/command/CommandResultStats$Type/field_179640_g +FD: ag/h net/minecraft/command/CommandResultStats$Type/$VALUES +FD: aga/a net/minecraft/entity/monster/EntitySlime$AISlimeFloat/field_179457_a +FD: agb/a net/minecraft/entity/monster/EntitySlime$AISlimeHop/field_179458_a +FD: agc/g net/minecraft/entity/monster/EntitySlime$SlimeMoveHelper/field_179922_g +FD: agc/h net/minecraft/entity/monster/EntitySlime$SlimeMoveHelper/field_179924_h +FD: agc/i net/minecraft/entity/monster/EntitySlime$SlimeMoveHelper/field_179925_i +FD: agc/j net/minecraft/entity/monster/EntitySlime$SlimeMoveHelper/field_179923_j +FD: agd/a net/minecraft/entity/monster/EntitySlime$AISlimeFaceRandom/field_179461_a +FD: agd/b net/minecraft/entity/monster/EntitySlime$AISlimeFaceRandom/field_179459_b +FD: agd/c net/minecraft/entity/monster/EntitySlime$AISlimeFaceRandom/field_179460_c +FD: agg/a net/minecraft/entity/monster/EntitySpider$GroupData/field_111105_a +FD: agi/b net/minecraft/entity/monster/EntityWitch/field_110184_bp +FD: agi/bk net/minecraft/entity/monster/EntityWitch/field_82199_d +FD: agi/bl net/minecraft/entity/monster/EntityWitch/field_82200_e +FD: agi/c net/minecraft/entity/monster/EntityWitch/field_110185_bq +FD: agj/b net/minecraft/entity/monster/EntityZombie/field_110186_bp +FD: agj/bk net/minecraft/entity/monster/EntityZombie/field_110188_br +FD: agj/bl net/minecraft/entity/monster/EntityZombie/field_146075_bs +FD: agj/bm net/minecraft/entity/monster/EntityZombie/field_82234_d +FD: agj/bn net/minecraft/entity/monster/EntityZombie/field_146076_bu +FD: agj/bo net/minecraft/entity/monster/EntityZombie/field_146074_bv +FD: agj/bp net/minecraft/entity/monster/EntityZombie/field_146073_bw +FD: agj/c net/minecraft/entity/monster/EntityZombie/field_110187_bq +FD: agl/a net/minecraft/entity/monster/EntityZombie$GroupData/field_142048_a +FD: agl/b net/minecraft/entity/monster/EntityZombie$GroupData/field_142046_b +FD: agl/c net/minecraft/entity/monster/EntityZombie$GroupData/field_142047_c +FD: agn/a net/minecraft/entity/NpcMerchant/field_70937_a +FD: agn/b net/minecraft/entity/NpcMerchant/field_70935_b +FD: agn/c net/minecraft/entity/NpcMerchant/field_70936_c +FD: agn/d net/minecraft/entity/NpcMerchant/field_175548_d +FD: agp/bA net/minecraft/entity/passive/EntityVillager/field_175561_bA +FD: agp/bk net/minecraft/entity/passive/EntityVillager/field_70954_d +FD: agp/bl net/minecraft/entity/passive/EntityVillager/field_70955_e +FD: agp/bm net/minecraft/entity/passive/EntityVillager/field_70952_f +FD: agp/bn net/minecraft/entity/passive/EntityVillager/field_70953_g +FD: agp/bo net/minecraft/entity/passive/EntityVillager/field_70962_h +FD: agp/bp net/minecraft/entity/passive/EntityVillager/field_70963_i +FD: agp/bq net/minecraft/entity/passive/EntityVillager/field_70961_j +FD: agp/br net/minecraft/entity/passive/EntityVillager/field_70959_by +FD: agp/bs net/minecraft/entity/passive/EntityVillager/field_175565_bs +FD: agp/bt net/minecraft/entity/passive/EntityVillager/field_70956_bz +FD: agp/bu net/minecraft/entity/passive/EntityVillager/field_82189_bL +FD: agp/bv net/minecraft/entity/passive/EntityVillager/field_175563_bv +FD: agp/bw net/minecraft/entity/passive/EntityVillager/field_175562_bw +FD: agp/bx net/minecraft/entity/passive/EntityVillager/field_82190_bM +FD: agp/by net/minecraft/entity/passive/EntityVillager/field_175564_by +FD: agp/bz net/minecraft/entity/passive/EntityVillager/field_175560_bz +FD: agq/a net/minecraft/entity/passive/EntityVillager$1/field_179531_a +FD: agr/a net/minecraft/entity/passive/EntityVillager$EmeraldForItems/field_179405_a +FD: agr/b net/minecraft/entity/passive/EntityVillager$EmeraldForItems/field_179404_b +FD: agt/a net/minecraft/entity/passive/EntityVillager$ListEnchantedItemForEmeralds/field_179407_a +FD: agt/b net/minecraft/entity/passive/EntityVillager$ListEnchantedItemForEmeralds/field_179406_b +FD: agu/a net/minecraft/entity/passive/EntityVillager$ItemAndEmeraldToItem/field_179411_a +FD: agu/b net/minecraft/entity/passive/EntityVillager$ItemAndEmeraldToItem/field_179409_b +FD: agu/c net/minecraft/entity/passive/EntityVillager$ItemAndEmeraldToItem/field_179410_c +FD: agu/d net/minecraft/entity/passive/EntityVillager$ItemAndEmeraldToItem/field_179408_d +FD: agv/a net/minecraft/entity/passive/EntityVillager$ListItemForEmeralds/field_179403_a +FD: agv/b net/minecraft/entity/passive/EntityVillager$ListItemForEmeralds/field_179402_b +FD: ah/a net/minecraft/command/PlayerSelector/field_82389_a +FD: ah/b net/minecraft/command/PlayerSelector/field_82387_b +FD: ah/c net/minecraft/command/PlayerSelector/field_82388_c +FD: ah/d net/minecraft/command/PlayerSelector/field_179666_d +FD: aha/a net/minecraft/entity/player/PlayerCapabilities/field_75102_a +FD: aha/b net/minecraft/entity/player/PlayerCapabilities/field_75100_b +FD: aha/c net/minecraft/entity/player/PlayerCapabilities/field_75101_c +FD: aha/d net/minecraft/entity/player/PlayerCapabilities/field_75098_d +FD: aha/e net/minecraft/entity/player/PlayerCapabilities/field_75099_e +FD: aha/f net/minecraft/entity/player/PlayerCapabilities/field_75096_f +FD: aha/g net/minecraft/entity/player/PlayerCapabilities/field_75097_g +FD: ahb/a net/minecraft/entity/player/InventoryPlayer/field_70462_a +FD: ahb/b net/minecraft/entity/player/InventoryPlayer/field_70460_b +FD: ahb/c net/minecraft/entity/player/InventoryPlayer/field_70461_c +FD: ahb/d net/minecraft/entity/player/InventoryPlayer/field_70458_d +FD: ahb/e net/minecraft/entity/player/InventoryPlayer/field_70459_e +FD: ahb/f net/minecraft/entity/player/InventoryPlayer/field_70457_g +FD: ahc/a net/minecraft/entity/player/InventoryPlayer$1/field_96634_a +FD: ahc/b net/minecraft/entity/player/InventoryPlayer$1/field_96633_b +FD: ahd/a net/minecraft/entity/player/EntityPlayer/field_71078_a +FD: ahd/b net/minecraft/entity/player/EntityPlayer/field_71076_b +FD: ahd/bA net/minecraft/entity/player/EntityPlayer/field_71067_cb +FD: ahd/bB net/minecraft/entity/player/EntityPlayer/field_71106_cc +FD: ahd/bC net/minecraft/entity/player/EntityPlayer/field_71108_cd +FD: ahd/bD net/minecraft/entity/player/EntityPlayer/field_71102_ce +FD: ahd/bE net/minecraft/entity/player/EntityPlayer/field_71104_cf +FD: ahd/bF net/minecraft/entity/player/EntityPlayer/field_146106_i +FD: ahd/bG net/minecraft/entity/player/EntityPlayer/field_175153_bG +FD: ahd/bX net/minecraft/entity/player/EntityPlayer/field_71082_cx +FD: ahd/bg net/minecraft/entity/player/EntityPlayer/field_71071_by +FD: ahd/bh net/minecraft/entity/player/EntityPlayer/field_71069_bz +FD: ahd/bi net/minecraft/entity/player/EntityPlayer/field_71070_bA +FD: ahd/bj net/minecraft/entity/player/EntityPlayer/field_71100_bB +FD: ahd/bk net/minecraft/entity/player/EntityPlayer/field_71101_bC +FD: ahd/bl net/minecraft/entity/player/EntityPlayer/field_71107_bF +FD: ahd/bm net/minecraft/entity/player/EntityPlayer/field_71109_bG +FD: ahd/bn net/minecraft/entity/player/EntityPlayer/field_71090_bL +FD: ahd/bo net/minecraft/entity/player/EntityPlayer/field_71091_bM +FD: ahd/bp net/minecraft/entity/player/EntityPlayer/field_71096_bN +FD: ahd/bq net/minecraft/entity/player/EntityPlayer/field_71097_bO +FD: ahd/br net/minecraft/entity/player/EntityPlayer/field_71094_bP +FD: ahd/bs net/minecraft/entity/player/EntityPlayer/field_71095_bQ +FD: ahd/bt net/minecraft/entity/player/EntityPlayer/field_71085_bR +FD: ahd/bu net/minecraft/entity/player/EntityPlayer/field_71083_bS +FD: ahd/bv net/minecraft/entity/player/EntityPlayer/field_71081_bT +FD: ahd/bw net/minecraft/entity/player/EntityPlayer/field_71079_bU +FD: ahd/bx net/minecraft/entity/player/EntityPlayer/field_71089_bV +FD: ahd/by net/minecraft/entity/player/EntityPlayer/field_71075_bZ +FD: ahd/bz net/minecraft/entity/player/EntityPlayer/field_71068_ca +FD: ahd/c net/minecraft/entity/player/EntityPlayer/field_71077_c +FD: ahd/d net/minecraft/entity/player/EntityPlayer/field_82248_d +FD: ahd/e net/minecraft/entity/player/EntityPlayer/field_71073_d +FD: ahd/f net/minecraft/entity/player/EntityPlayer/field_175152_f +FD: ahd/g net/minecraft/entity/player/EntityPlayer/field_71074_e +FD: ahd/h net/minecraft/entity/player/EntityPlayer/field_71072_f +FD: ahd/i net/minecraft/entity/player/EntityPlayer/field_82249_h +FD: ahe/a net/minecraft/entity/player/EntityPlayer$SwitchEnumFacing/field_179420_a +FD: ahf/a net/minecraft/entity/player/EntityPlayer$EnumStatus/OK +FD: ahf/b net/minecraft/entity/player/EntityPlayer$EnumStatus/NOT_POSSIBLE_HERE +FD: ahf/c net/minecraft/entity/player/EntityPlayer$EnumStatus/NOT_POSSIBLE_NOW +FD: ahf/d net/minecraft/entity/player/EntityPlayer$EnumStatus/TOO_FAR_AWAY +FD: ahf/e net/minecraft/entity/player/EntityPlayer$EnumStatus/OTHER_PROBLEM +FD: ahf/f net/minecraft/entity/player/EntityPlayer$EnumStatus/NOT_SAFE +FD: ahf/g net/minecraft/entity/player/EntityPlayer$EnumStatus/$VALUES +FD: ahg/a net/minecraft/entity/player/EntityPlayer$EnumChatVisibility/FULL +FD: ahg/b net/minecraft/entity/player/EntityPlayer$EnumChatVisibility/SYSTEM +FD: ahg/c net/minecraft/entity/player/EntityPlayer$EnumChatVisibility/HIDDEN +FD: ahg/d net/minecraft/entity/player/EntityPlayer$EnumChatVisibility/field_151432_d +FD: ahg/e net/minecraft/entity/player/EntityPlayer$EnumChatVisibility/field_151433_e +FD: ahg/f net/minecraft/entity/player/EntityPlayer$EnumChatVisibility/field_151430_f +FD: ahg/g net/minecraft/entity/player/EntityPlayer$EnumChatVisibility/$VALUES +FD: ahh/a net/minecraft/entity/player/EnumPlayerModelParts/CAPE +FD: ahh/b net/minecraft/entity/player/EnumPlayerModelParts/JACKET +FD: ahh/c net/minecraft/entity/player/EnumPlayerModelParts/LEFT_SLEEVE +FD: ahh/d net/minecraft/entity/player/EnumPlayerModelParts/RIGHT_SLEEVE +FD: ahh/e net/minecraft/entity/player/EnumPlayerModelParts/LEFT_PANTS_LEG +FD: ahh/f net/minecraft/entity/player/EnumPlayerModelParts/RIGHT_PANTS_LEG +FD: ahh/g net/minecraft/entity/player/EnumPlayerModelParts/HAT +FD: ahh/h net/minecraft/entity/player/EnumPlayerModelParts/field_179340_h +FD: ahh/i net/minecraft/entity/player/EnumPlayerModelParts/field_179341_i +FD: ahh/j net/minecraft/entity/player/EnumPlayerModelParts/field_179338_j +FD: ahh/k net/minecraft/entity/player/EnumPlayerModelParts/field_179339_k +FD: ahh/l net/minecraft/entity/player/EnumPlayerModelParts/$VALUES +FD: ahj/a net/minecraft/entity/projectile/EntityArrow/field_70251_a +FD: ahj/ap net/minecraft/entity/projectile/EntityArrow/field_70252_j +FD: ahj/aq net/minecraft/entity/projectile/EntityArrow/field_70257_an +FD: ahj/ar net/minecraft/entity/projectile/EntityArrow/field_70255_ao +FD: ahj/as net/minecraft/entity/projectile/EntityArrow/field_70256_ap +FD: ahj/b net/minecraft/entity/projectile/EntityArrow/field_70249_b +FD: ahj/c net/minecraft/entity/projectile/EntityArrow/field_70250_c +FD: ahj/d net/minecraft/entity/projectile/EntityArrow/field_145791_d +FD: ahj/e net/minecraft/entity/projectile/EntityArrow/field_145792_e +FD: ahj/f net/minecraft/entity/projectile/EntityArrow/field_145789_f +FD: ahj/g net/minecraft/entity/projectile/EntityArrow/field_145790_g +FD: ahj/h net/minecraft/entity/projectile/EntityArrow/field_70253_h +FD: ahj/i net/minecraft/entity/projectile/EntityArrow/field_70254_i +FD: ahk/a net/minecraft/entity/item/EntityEnderEye/field_70224_b +FD: ahk/b net/minecraft/entity/item/EntityEnderEye/field_70225_c +FD: ahk/c net/minecraft/entity/item/EntityEnderEye/field_70222_d +FD: ahk/d net/minecraft/entity/item/EntityEnderEye/field_70223_e +FD: ahk/e net/minecraft/entity/item/EntityEnderEye/field_70221_f +FD: ahl/a net/minecraft/entity/projectile/EntityFireball/field_70235_a +FD: ahl/ap net/minecraft/entity/projectile/EntityFireball/field_70236_j +FD: ahl/aq net/minecraft/entity/projectile/EntityFireball/field_70234_an +FD: ahl/b net/minecraft/entity/projectile/EntityFireball/field_70232_b +FD: ahl/c net/minecraft/entity/projectile/EntityFireball/field_70233_c +FD: ahl/d net/minecraft/entity/projectile/EntityFireball/field_70230_d +FD: ahl/e net/minecraft/entity/projectile/EntityFireball/field_145795_e +FD: ahl/f net/minecraft/entity/projectile/EntityFireball/field_145793_f +FD: ahl/g net/minecraft/entity/projectile/EntityFireball/field_145794_g +FD: ahl/h net/minecraft/entity/projectile/EntityFireball/field_145796_h +FD: ahl/i net/minecraft/entity/projectile/EntityFireball/field_70238_i +FD: ahm/a net/minecraft/entity/item/EntityFireworkRocket/field_92056_a +FD: ahm/b net/minecraft/entity/item/EntityFireworkRocket/field_92055_b +FD: ahn/e net/minecraft/entity/projectile/EntityLargeFireball/field_92057_e +FD: ahr/a net/minecraft/entity/projectile/EntityThrowable/field_174854_a +FD: ahr/ap net/minecraft/entity/projectile/EntityThrowable/field_70195_i +FD: ahr/b net/minecraft/entity/projectile/EntityThrowable/field_70191_b +FD: ahr/c net/minecraft/entity/projectile/EntityThrowable/field_145788_c +FD: ahr/d net/minecraft/entity/projectile/EntityThrowable/field_145786_d +FD: ahr/e net/minecraft/entity/projectile/EntityThrowable/field_145787_e +FD: ahr/f net/minecraft/entity/projectile/EntityThrowable/field_174853_f +FD: ahr/g net/minecraft/entity/projectile/EntityThrowable/field_70192_c +FD: ahr/h net/minecraft/entity/projectile/EntityThrowable/field_85053_h +FD: ahr/i net/minecraft/entity/projectile/EntityThrowable/field_70194_h +FD: ahv/c net/minecraft/entity/projectile/EntityPotion/field_70197_d +FD: ahz/a net/minecraft/util/FoodStats/field_75127_a +FD: ahz/b net/minecraft/util/FoodStats/field_75125_b +FD: ahz/c net/minecraft/util/FoodStats/field_75126_c +FD: ahz/d net/minecraft/util/FoodStats/field_75123_d +FD: ahz/e net/minecraft/util/FoodStats/field_75124_e +FD: ai/a net/minecraft/command/PlayerSelector$1/field_179615_a +FD: ai/b net/minecraft/command/PlayerSelector$1/field_179614_b +FD: aib/a net/minecraft/inventory/Container/field_75150_e +FD: aib/b net/minecraft/inventory/Container/field_75153_a +FD: aib/c net/minecraft/inventory/Container/field_75151_b +FD: aib/d net/minecraft/inventory/Container/field_75152_c +FD: aib/e net/minecraft/inventory/Container/field_75149_d +FD: aib/f net/minecraft/inventory/Container/field_94535_f +FD: aib/g net/minecraft/inventory/Container/field_94536_g +FD: aib/h net/minecraft/inventory/Container/field_94537_h +FD: aib/i net/minecraft/inventory/Container/field_75148_f +FD: aid/a net/minecraft/inventory/ContainerRepair/field_82854_e +FD: aid/f net/minecraft/inventory/ContainerRepair/field_148326_f +FD: aid/g net/minecraft/inventory/ContainerRepair/field_82852_f +FD: aid/h net/minecraft/inventory/ContainerRepair/field_82853_g +FD: aid/i net/minecraft/inventory/ContainerRepair/field_82860_h +FD: aid/j net/minecraft/inventory/ContainerRepair/field_178156_j +FD: aid/k net/minecraft/inventory/ContainerRepair/field_82856_l +FD: aid/l net/minecraft/inventory/ContainerRepair/field_82857_m +FD: aid/m net/minecraft/inventory/ContainerRepair/field_82855_n +FD: aie/a net/minecraft/inventory/ContainerRepair$1/field_135010_a +FD: aif/a net/minecraft/inventory/ContainerRepair$2/field_135071_a +FD: aif/b net/minecraft/inventory/ContainerRepair$2/field_178174_b +FD: aif/c net/minecraft/inventory/ContainerRepair$2/field_135068_e +FD: aig/a net/minecraft/inventory/ContainerBeacon/field_82866_e +FD: aig/f net/minecraft/inventory/ContainerBeacon/field_82864_f +FD: aih/a net/minecraft/inventory/ContainerBeacon$BeaconSlot/field_82876_a +FD: aii/a net/minecraft/inventory/ContainerBrewingStand/field_75188_e +FD: aii/f net/minecraft/inventory/ContainerBrewingStand/field_75186_f +FD: aii/g net/minecraft/inventory/ContainerBrewingStand/field_75187_g +FD: aij/a net/minecraft/inventory/ContainerBrewingStand$Ingredient/field_75226_a +FD: aik/a net/minecraft/inventory/ContainerBrewingStand$Potion/field_75244_a +FD: aim/a net/minecraft/inventory/ContainerChest/field_75155_e +FD: aim/f net/minecraft/inventory/ContainerChest/field_75154_f +FD: ain/a net/minecraft/inventory/InventoryCrafting/field_70466_a +FD: ain/b net/minecraft/inventory/InventoryCrafting/field_70464_b +FD: ain/c net/minecraft/inventory/InventoryCrafting/field_174924_c +FD: ain/d net/minecraft/inventory/InventoryCrafting/field_70465_c +FD: aio/a net/minecraft/inventory/ContainerWorkbench/field_75162_e +FD: aio/f net/minecraft/inventory/ContainerWorkbench/field_75160_f +FD: aio/g net/minecraft/inventory/ContainerWorkbench/field_75161_g +FD: aio/h net/minecraft/inventory/ContainerWorkbench/field_178145_h +FD: aip/a net/minecraft/inventory/ContainerDispenser/field_178146_a +FD: aiq/a net/minecraft/inventory/ContainerEnchantment/field_75168_e +FD: aiq/f net/minecraft/inventory/ContainerEnchantment/field_178149_f +FD: aiq/g net/minecraft/inventory/ContainerEnchantment/field_75167_g +FD: aiq/h net/minecraft/inventory/ContainerEnchantment/field_178151_h +FD: aiq/i net/minecraft/inventory/ContainerEnchantment/field_75172_h +FD: aiq/j net/minecraft/inventory/ContainerEnchantment/field_178150_j +FD: aiq/k net/minecraft/inventory/ContainerEnchantment/field_75169_l +FD: air/a net/minecraft/inventory/ContainerEnchantment$1/field_70484_a +FD: ais/a net/minecraft/inventory/ContainerEnchantment$2/field_75227_a +FD: ait/a net/minecraft/inventory/ContainerEnchantment$3/field_178172_a +FD: aiv/a net/minecraft/inventory/ContainerFurnace/field_75158_e +FD: aiv/f net/minecraft/inventory/ContainerFurnace/field_178152_f +FD: aiv/g net/minecraft/inventory/ContainerFurnace/field_178153_g +FD: aiv/h net/minecraft/inventory/ContainerFurnace/field_178154_h +FD: aiv/i net/minecraft/inventory/ContainerFurnace/field_178155_i +FD: aiw/a net/minecraft/inventory/SlotFurnaceOutput/field_75229_a +FD: aiw/b net/minecraft/inventory/SlotFurnaceOutput/field_75228_b +FD: aix/a net/minecraft/inventory/ContainerHopper/field_94538_a +FD: aiy/a net/minecraft/inventory/ContainerHorseInventory/field_111243_a +FD: aiy/f net/minecraft/inventory/ContainerHorseInventory/field_111242_f +FD: aiz/a net/minecraft/inventory/ContainerHorseInventory$1/field_111239_a +FD: aj/a net/minecraft/command/PlayerSelector$10/field_179618_a +FD: aj/b net/minecraft/command/PlayerSelector$10/field_179617_b +FD: aja/a net/minecraft/inventory/ContainerHorseInventory$2/field_111241_a +FD: aja/b net/minecraft/inventory/ContainerHorseInventory$2/field_111240_b +FD: ajb/a net/minecraft/inventory/ContainerPlayer/field_75181_e +FD: ajb/f net/minecraft/inventory/ContainerPlayer/field_75179_f +FD: ajb/g net/minecraft/inventory/ContainerPlayer/field_75180_g +FD: ajb/h net/minecraft/inventory/ContainerPlayer/field_82862_h +FD: ajc/a net/minecraft/inventory/ContainerPlayer$1/field_75236_a +FD: ajc/b net/minecraft/inventory/ContainerPlayer$1/field_75235_b +FD: aje/a net/minecraft/inventory/InventoryMerchant/field_70476_a +FD: aje/b net/minecraft/inventory/InventoryMerchant/field_70474_b +FD: aje/c net/minecraft/inventory/InventoryMerchant/field_70475_c +FD: aje/d net/minecraft/inventory/InventoryMerchant/field_70472_d +FD: aje/e net/minecraft/inventory/InventoryMerchant/field_70473_e +FD: ajf/a net/minecraft/inventory/ContainerMerchant/field_75178_e +FD: ajf/f net/minecraft/inventory/ContainerMerchant/field_75176_f +FD: ajf/g net/minecraft/inventory/ContainerMerchant/field_75177_g +FD: ajg/a net/minecraft/inventory/SlotMerchantResult/field_75233_a +FD: ajg/b net/minecraft/inventory/SlotMerchantResult/field_75232_b +FD: ajg/c net/minecraft/inventory/SlotMerchantResult/field_75231_g +FD: ajg/h net/minecraft/inventory/SlotMerchantResult/field_75234_h +FD: ajh/a net/minecraft/inventory/InventoryEnderChest/field_70488_a +FD: aji/a net/minecraft/inventory/InventoryCraftResult/field_70467_a +FD: ajj/a net/minecraft/inventory/SlotCrafting/field_75239_a +FD: ajj/b net/minecraft/inventory/SlotCrafting/field_75238_b +FD: ajj/c net/minecraft/inventory/SlotCrafting/field_75237_g +FD: ajk/a net/minecraft/inventory/Slot/field_75225_a +FD: ajk/d net/minecraft/inventory/Slot/field_75224_c +FD: ajk/e net/minecraft/inventory/Slot/field_75222_d +FD: ajk/f net/minecraft/inventory/Slot/field_75223_e +FD: ajk/g net/minecraft/inventory/Slot/field_75221_f +FD: ajn/a net/minecraft/item/ItemArmor/field_94603_a +FD: ajn/b net/minecraft/item/ItemArmor/field_77881_a +FD: ajn/c net/minecraft/item/ItemArmor/field_77879_b +FD: ajn/d net/minecraft/item/ItemArmor/field_77880_c +FD: ajn/k net/minecraft/item/ItemArmor/field_77882_bY +FD: ajn/l net/minecraft/item/ItemArmor/field_96605_cw +FD: ajn/m net/minecraft/item/ItemArmor/field_77878_bZ +FD: ajp/a net/minecraft/item/ItemArmor$ArmorMaterial/LEATHER +FD: ajp/b net/minecraft/item/ItemArmor$ArmorMaterial/CHAIN +FD: ajp/c net/minecraft/item/ItemArmor$ArmorMaterial/IRON +FD: ajp/d net/minecraft/item/ItemArmor$ArmorMaterial/GOLD +FD: ajp/e net/minecraft/item/ItemArmor$ArmorMaterial/DIAMOND +FD: ajp/f net/minecraft/item/ItemArmor$ArmorMaterial/field_179243_f +FD: ajp/g net/minecraft/item/ItemArmor$ArmorMaterial/field_78048_f +FD: ajp/h net/minecraft/item/ItemArmor$ArmorMaterial/field_78049_g +FD: ajp/i net/minecraft/item/ItemArmor$ArmorMaterial/field_78055_h +FD: ajp/j net/minecraft/item/ItemArmor$ArmorMaterial/$VALUES +FD: ajr/c net/minecraft/item/ItemAxe/field_150917_c +FD: aju/a net/minecraft/item/ItemBlock/field_150939_a +FD: ajv/a net/minecraft/item/ItemReed/field_150935_a +FD: ajz/a net/minecraft/item/ItemBow/field_94601_a +FD: ak/a net/minecraft/command/PlayerSelector$11/field_179610_a +FD: akb/a net/minecraft/item/ItemBucket/field_77876_a +FD: akf/a net/minecraft/creativetab/CreativeTabs/field_78032_a +FD: akf/b net/minecraft/creativetab/CreativeTabs/field_78030_b +FD: akf/c net/minecraft/creativetab/CreativeTabs/field_78031_c +FD: akf/d net/minecraft/creativetab/CreativeTabs/field_78028_d +FD: akf/e net/minecraft/creativetab/CreativeTabs/field_78029_e +FD: akf/f net/minecraft/creativetab/CreativeTabs/field_78026_f +FD: akf/g net/minecraft/creativetab/CreativeTabs/field_78027_g +FD: akf/h net/minecraft/creativetab/CreativeTabs/field_78039_h +FD: akf/i net/minecraft/creativetab/CreativeTabs/field_78040_i +FD: akf/j net/minecraft/creativetab/CreativeTabs/field_78037_j +FD: akf/k net/minecraft/creativetab/CreativeTabs/field_78038_k +FD: akf/l net/minecraft/creativetab/CreativeTabs/field_78035_l +FD: akf/m net/minecraft/creativetab/CreativeTabs/field_78036_m +FD: akf/n net/minecraft/creativetab/CreativeTabs/field_78033_n +FD: akf/o net/minecraft/creativetab/CreativeTabs/field_78034_o +FD: akf/p net/minecraft/creativetab/CreativeTabs/field_78043_p +FD: akf/q net/minecraft/creativetab/CreativeTabs/field_78042_q +FD: akf/r net/minecraft/creativetab/CreativeTabs/field_78041_r +FD: akf/s net/minecraft/creativetab/CreativeTabs/field_111230_s +FD: akf/t net/minecraft/creativetab/CreativeTabs/field_151245_t +FD: aks/a net/minecraft/item/ItemTool/field_77864_a +FD: aks/b net/minecraft/item/ItemTool/field_77862_b +FD: aks/c net/minecraft/item/ItemTool/field_150914_c +FD: aks/d net/minecraft/item/ItemTool/field_77865_bY +FD: akt/a net/minecraft/item/ItemDoor/field_179236_a +FD: akv/a net/minecraft/item/EnumDyeColor/WHITE +FD: akv/b net/minecraft/item/EnumDyeColor/ORANGE +FD: akv/c net/minecraft/item/EnumDyeColor/MAGENTA +FD: akv/d net/minecraft/item/EnumDyeColor/LIGHT_BLUE +FD: akv/e net/minecraft/item/EnumDyeColor/YELLOW +FD: akv/f net/minecraft/item/EnumDyeColor/LIME +FD: akv/g net/minecraft/item/EnumDyeColor/PINK +FD: akv/h net/minecraft/item/EnumDyeColor/GRAY +FD: akv/i net/minecraft/item/EnumDyeColor/SILVER +FD: akv/j net/minecraft/item/EnumDyeColor/CYAN +FD: akv/k net/minecraft/item/EnumDyeColor/PURPLE +FD: akv/l net/minecraft/item/EnumDyeColor/BLUE +FD: akv/m net/minecraft/item/EnumDyeColor/BROWN +FD: akv/n net/minecraft/item/EnumDyeColor/GREEN +FD: akv/o net/minecraft/item/EnumDyeColor/RED +FD: akv/p net/minecraft/item/EnumDyeColor/BLACK +FD: akv/q net/minecraft/item/EnumDyeColor/field_176790_q +FD: akv/r net/minecraft/item/EnumDyeColor/field_176789_r +FD: akv/s net/minecraft/item/EnumDyeColor/field_176788_s +FD: akv/t net/minecraft/item/EnumDyeColor/field_176787_t +FD: akv/u net/minecraft/item/EnumDyeColor/field_176786_u +FD: akv/v net/minecraft/item/EnumDyeColor/field_176785_v +FD: akv/w net/minecraft/item/EnumDyeColor/field_176784_w +FD: akv/x net/minecraft/item/EnumDyeColor/field_176793_x +FD: akv/y net/minecraft/item/EnumDyeColor/$VALUES +FD: akw/a net/minecraft/item/ItemDye/field_150922_c +FD: al/a net/minecraft/command/PlayerSelector$12/field_179612_a +FD: alh/b net/minecraft/item/ItemFishFood/field_150907_b +FD: ali/a net/minecraft/item/ItemFishFood$FishType/COD +FD: ali/b net/minecraft/item/ItemFishFood$FishType/SALMON +FD: ali/c net/minecraft/item/ItemFishFood$FishType/CLOWNFISH +FD: ali/d net/minecraft/item/ItemFishFood$FishType/PUFFERFISH +FD: ali/e net/minecraft/item/ItemFishFood$FishType/field_150983_e +FD: ali/f net/minecraft/item/ItemFishFood$FishType/field_150980_f +FD: ali/g net/minecraft/item/ItemFishFood$FishType/field_150981_g +FD: ali/h net/minecraft/item/ItemFishFood$FishType/field_150991_j +FD: ali/i net/minecraft/item/ItemFishFood$FishType/field_150992_k +FD: ali/j net/minecraft/item/ItemFishFood$FishType/field_150989_l +FD: ali/k net/minecraft/item/ItemFishFood$FishType/field_150990_m +FD: ali/l net/minecraft/item/ItemFishFood$FishType/field_150987_n +FD: ali/m net/minecraft/item/ItemFishFood$FishType/$VALUES +FD: all/a net/minecraft/item/ItemFood/field_77855_a +FD: all/b net/minecraft/item/ItemFood/field_77853_b +FD: all/c net/minecraft/item/ItemFood/field_77854_c +FD: all/d net/minecraft/item/ItemFood/field_77856_bY +FD: all/k net/minecraft/item/ItemFood/field_77852_bZ +FD: all/l net/minecraft/item/ItemFood/field_77851_ca +FD: all/m net/minecraft/item/ItemFood/field_77850_cb +FD: all/n net/minecraft/item/ItemFood/field_77857_cc +FD: all/o net/minecraft/item/ItemFood/field_77858_cd +FD: aln/a net/minecraft/item/ItemHangingEntity/field_82811_a +FD: alo/a net/minecraft/item/ItemHoe/field_77843_a +FD: alp/a net/minecraft/item/ItemHoe$SwitchDirtType/field_179590_a +FD: alq/a net/minecraft/item/Item/field_179220_a +FD: alq/b net/minecraft/item/Item/field_77701_a +FD: alq/c net/minecraft/item/Item/field_77699_b +FD: alq/d net/minecraft/item/Item/field_77700_c +FD: alq/e net/minecraft/item/Item/field_150901_e +FD: alq/f net/minecraft/item/Item/field_111210_e +FD: alq/g net/minecraft/item/Item/field_77697_d +FD: alq/h net/minecraft/item/Item/field_77777_bU +FD: alq/i net/minecraft/item/Item/field_77789_bW +FD: alq/j net/minecraft/item/Item/field_77787_bX +FD: alq/k net/minecraft/item/Item/field_77785_bY +FD: alq/l net/minecraft/item/Item/field_77774_bZ +FD: ami/a net/minecraft/item/Item$ToolMaterial/WOOD +FD: ami/b net/minecraft/item/Item$ToolMaterial/STONE +FD: ami/c net/minecraft/item/Item$ToolMaterial/IRON +FD: ami/d net/minecraft/item/Item$ToolMaterial/EMERALD +FD: ami/e net/minecraft/item/Item$ToolMaterial/GOLD +FD: ami/f net/minecraft/item/Item$ToolMaterial/field_78001_f +FD: ami/g net/minecraft/item/Item$ToolMaterial/field_78002_g +FD: ami/h net/minecraft/item/Item$ToolMaterial/field_78010_h +FD: ami/i net/minecraft/item/Item$ToolMaterial/field_78011_i +FD: ami/j net/minecraft/item/Item$ToolMaterial/field_78008_j +FD: ami/k net/minecraft/item/Item$ToolMaterial/$VALUES +FD: amj/a net/minecraft/item/ItemStack/field_111284_a +FD: amj/b net/minecraft/item/ItemStack/field_77994_a +FD: amj/c net/minecraft/item/ItemStack/field_77992_b +FD: amj/d net/minecraft/item/ItemStack/field_151002_e +FD: amj/e net/minecraft/item/ItemStack/field_77990_d +FD: amj/f net/minecraft/item/ItemStack/field_77991_e +FD: amj/g net/minecraft/item/ItemStack/field_82843_f +FD: amj/h net/minecraft/item/ItemStack/field_179552_h +FD: amj/i net/minecraft/item/ItemStack/field_179553_i +FD: amj/j net/minecraft/item/ItemStack/field_179550_j +FD: amj/k net/minecraft/item/ItemStack/field_179551_k +FD: amk/A net/minecraft/init/Items/field_151009_A +FD: amk/B net/minecraft/init/Items/field_151010_B +FD: amk/C net/minecraft/init/Items/field_151011_C +FD: amk/D net/minecraft/init/Items/field_151005_D +FD: amk/E net/minecraft/init/Items/field_151006_E +FD: amk/F net/minecraft/init/Items/field_151007_F +FD: amk/G net/minecraft/init/Items/field_151008_G +FD: amk/H net/minecraft/init/Items/field_151016_H +FD: amk/I net/minecraft/init/Items/field_151017_I +FD: amk/J net/minecraft/init/Items/field_151018_J +FD: amk/K net/minecraft/init/Items/field_151019_K +FD: amk/L net/minecraft/init/Items/field_151012_L +FD: amk/M net/minecraft/init/Items/field_151013_M +FD: amk/N net/minecraft/init/Items/field_151014_N +FD: amk/O net/minecraft/init/Items/field_151015_O +FD: amk/P net/minecraft/init/Items/field_151025_P +FD: amk/Q net/minecraft/init/Items/field_151024_Q +FD: amk/R net/minecraft/init/Items/field_151027_R +FD: amk/S net/minecraft/init/Items/field_151026_S +FD: amk/T net/minecraft/init/Items/field_151021_T +FD: amk/U net/minecraft/init/Items/field_151020_U +FD: amk/V net/minecraft/init/Items/field_151023_V +FD: amk/W net/minecraft/init/Items/field_151022_W +FD: amk/X net/minecraft/init/Items/field_151029_X +FD: amk/Y net/minecraft/init/Items/field_151028_Y +FD: amk/Z net/minecraft/init/Items/field_151030_Z +FD: amk/a net/minecraft/init/Items/field_151037_a +FD: amk/aA net/minecraft/init/Items/field_151141_av +FD: amk/aB net/minecraft/init/Items/field_151139_aw +FD: amk/aC net/minecraft/init/Items/field_151137_ax +FD: amk/aD net/minecraft/init/Items/field_151126_ay +FD: amk/aE net/minecraft/init/Items/field_151124_az +FD: amk/aF net/minecraft/init/Items/field_151116_aA +FD: amk/aG net/minecraft/init/Items/field_151117_aB +FD: amk/aH net/minecraft/init/Items/field_151118_aC +FD: amk/aI net/minecraft/init/Items/field_151119_aD +FD: amk/aJ net/minecraft/init/Items/field_151120_aE +FD: amk/aK net/minecraft/init/Items/field_151121_aF +FD: amk/aL net/minecraft/init/Items/field_151122_aG +FD: amk/aM net/minecraft/init/Items/field_151123_aH +FD: amk/aN net/minecraft/init/Items/field_151108_aI +FD: amk/aO net/minecraft/init/Items/field_151109_aJ +FD: amk/aP net/minecraft/init/Items/field_151110_aK +FD: amk/aQ net/minecraft/init/Items/field_151111_aL +FD: amk/aR net/minecraft/init/Items/field_151112_aM +FD: amk/aS net/minecraft/init/Items/field_151113_aN +FD: amk/aT net/minecraft/init/Items/field_151114_aO +FD: amk/aU net/minecraft/init/Items/field_151115_aP +FD: amk/aV net/minecraft/init/Items/field_179566_aV +FD: amk/aW net/minecraft/init/Items/field_151100_aR +FD: amk/aX net/minecraft/init/Items/field_151103_aS +FD: amk/aY net/minecraft/init/Items/field_151102_aT +FD: amk/aZ net/minecraft/init/Items/field_151105_aU +FD: amk/aa net/minecraft/init/Items/field_151165_aa +FD: amk/ab net/minecraft/init/Items/field_151167_ab +FD: amk/ac net/minecraft/init/Items/field_151161_ac +FD: amk/ad net/minecraft/init/Items/field_151163_ad +FD: amk/ae net/minecraft/init/Items/field_151173_ae +FD: amk/af net/minecraft/init/Items/field_151175_af +FD: amk/ag net/minecraft/init/Items/field_151169_ag +FD: amk/ah net/minecraft/init/Items/field_151171_ah +FD: amk/ai net/minecraft/init/Items/field_151149_ai +FD: amk/aj net/minecraft/init/Items/field_151151_aj +FD: amk/ak net/minecraft/init/Items/field_151145_ak +FD: amk/al net/minecraft/init/Items/field_151147_al +FD: amk/am net/minecraft/init/Items/field_151157_am +FD: amk/an net/minecraft/init/Items/field_151159_an +FD: amk/ao net/minecraft/init/Items/field_151153_ao +FD: amk/ap net/minecraft/init/Items/field_151155_ap +FD: amk/aq net/minecraft/init/Items/field_179570_aq +FD: amk/ar net/minecraft/init/Items/field_179569_ar +FD: amk/as net/minecraft/init/Items/field_179568_as +FD: amk/at net/minecraft/init/Items/field_179567_at +FD: amk/au net/minecraft/init/Items/field_179572_au +FD: amk/av net/minecraft/init/Items/field_179571_av +FD: amk/aw net/minecraft/init/Items/field_151133_ar +FD: amk/ax net/minecraft/init/Items/field_151131_as +FD: amk/ay net/minecraft/init/Items/field_151129_at +FD: amk/az net/minecraft/init/Items/field_151143_au +FD: amk/b net/minecraft/init/Items/field_151035_b +FD: amk/bA net/minecraft/init/Items/field_151069_bo +FD: amk/bB net/minecraft/init/Items/field_151070_bp +FD: amk/bC net/minecraft/init/Items/field_151071_bq +FD: amk/bD net/minecraft/init/Items/field_151065_br +FD: amk/bE net/minecraft/init/Items/field_151064_bs +FD: amk/bF net/minecraft/init/Items/field_151067_bt +FD: amk/bG net/minecraft/init/Items/field_151066_bu +FD: amk/bH net/minecraft/init/Items/field_151061_bv +FD: amk/bI net/minecraft/init/Items/field_151060_bw +FD: amk/bJ net/minecraft/init/Items/field_151063_bx +FD: amk/bK net/minecraft/init/Items/field_151062_by +FD: amk/bL net/minecraft/init/Items/field_151059_bz +FD: amk/bM net/minecraft/init/Items/field_151099_bA +FD: amk/bN net/minecraft/init/Items/field_151164_bB +FD: amk/bO net/minecraft/init/Items/field_151166_bC +FD: amk/bP net/minecraft/init/Items/field_151160_bD +FD: amk/bQ net/minecraft/init/Items/field_151162_bE +FD: amk/bR net/minecraft/init/Items/field_151172_bF +FD: amk/bS net/minecraft/init/Items/field_151174_bG +FD: amk/bT net/minecraft/init/Items/field_151168_bH +FD: amk/bU net/minecraft/init/Items/field_151170_bI +FD: amk/bV net/minecraft/init/Items/field_151148_bJ +FD: amk/bW net/minecraft/init/Items/field_151150_bK +FD: amk/bX net/minecraft/init/Items/field_151144_bL +FD: amk/bY net/minecraft/init/Items/field_151146_bM +FD: amk/bZ net/minecraft/init/Items/field_151156_bN +FD: amk/ba net/minecraft/init/Items/field_151104_aV +FD: amk/bb net/minecraft/init/Items/field_151107_aW +FD: amk/bc net/minecraft/init/Items/field_151106_aX +FD: amk/bd net/minecraft/init/Items/field_151098_aY +FD: amk/be net/minecraft/init/Items/field_151097_aZ +FD: amk/bf net/minecraft/init/Items/field_151127_ba +FD: amk/bg net/minecraft/init/Items/field_151080_bb +FD: amk/bh net/minecraft/init/Items/field_151081_bc +FD: amk/bi net/minecraft/init/Items/field_151082_bd +FD: amk/bj net/minecraft/init/Items/field_151083_be +FD: amk/bk net/minecraft/init/Items/field_151076_bf +FD: amk/bl net/minecraft/init/Items/field_151077_bg +FD: amk/bm net/minecraft/init/Items/field_179561_bm +FD: amk/bn net/minecraft/init/Items/field_179557_bn +FD: amk/bo net/minecraft/init/Items/field_179558_bo +FD: amk/bp net/minecraft/init/Items/field_179559_bp +FD: amk/bq net/minecraft/init/Items/field_179560_bq +FD: amk/br net/minecraft/init/Items/field_179556_br +FD: amk/bs net/minecraft/init/Items/field_179555_bs +FD: amk/bt net/minecraft/init/Items/field_151078_bh +FD: amk/bu net/minecraft/init/Items/field_151079_bi +FD: amk/bv net/minecraft/init/Items/field_151072_bj +FD: amk/bw net/minecraft/init/Items/field_151073_bk +FD: amk/bx net/minecraft/init/Items/field_151074_bl +FD: amk/by net/minecraft/init/Items/field_151075_bm +FD: amk/bz net/minecraft/init/Items/field_151068_bn +FD: amk/c net/minecraft/init/Items/field_151036_c +FD: amk/cA net/minecraft/init/Items/field_151086_cn +FD: amk/cB net/minecraft/init/Items/field_151084_co +FD: amk/cC net/minecraft/init/Items/field_179562_cC +FD: amk/cD net/minecraft/init/Items/field_179563_cD +FD: amk/cE net/minecraft/init/Items/field_179564_cE +FD: amk/ca net/minecraft/init/Items/field_151158_bO +FD: amk/cb net/minecraft/init/Items/field_151152_bP +FD: amk/cc net/minecraft/init/Items/field_151154_bQ +FD: amk/cd net/minecraft/init/Items/field_151134_bR +FD: amk/ce net/minecraft/init/Items/field_151132_bS +FD: amk/cf net/minecraft/init/Items/field_151130_bT +FD: amk/cg net/minecraft/init/Items/field_151128_bU +FD: amk/ch net/minecraft/init/Items/field_151142_bV +FD: amk/ci net/minecraft/init/Items/field_151140_bW +FD: amk/cj net/minecraft/init/Items/field_179565_cj +FD: amk/ck net/minecraft/init/Items/field_151138_bX +FD: amk/cl net/minecraft/init/Items/field_151136_bY +FD: amk/cm net/minecraft/init/Items/field_151125_bZ +FD: amk/cn net/minecraft/init/Items/field_151058_ca +FD: amk/co net/minecraft/init/Items/field_151057_cb +FD: amk/cp net/minecraft/init/Items/field_151095_cc +FD: amk/cq net/minecraft/init/Items/field_151096_cd +FD: amk/cr net/minecraft/init/Items/field_151093_ce +FD: amk/cs net/minecraft/init/Items/field_151094_cf +FD: amk/ct net/minecraft/init/Items/field_151091_cg +FD: amk/cu net/minecraft/init/Items/field_151092_ch +FD: amk/cv net/minecraft/init/Items/field_151089_ci +FD: amk/cw net/minecraft/init/Items/field_151090_cj +FD: amk/cx net/minecraft/init/Items/field_151087_ck +FD: amk/cy net/minecraft/init/Items/field_151088_cl +FD: amk/cz net/minecraft/init/Items/field_151085_cm +FD: amk/d net/minecraft/init/Items/field_151033_d +FD: amk/e net/minecraft/init/Items/field_151034_e +FD: amk/f net/minecraft/init/Items/field_151031_f +FD: amk/g net/minecraft/init/Items/field_151032_g +FD: amk/h net/minecraft/init/Items/field_151044_h +FD: amk/i net/minecraft/init/Items/field_151045_i +FD: amk/j net/minecraft/init/Items/field_151042_j +FD: amk/k net/minecraft/init/Items/field_151043_k +FD: amk/l net/minecraft/init/Items/field_151040_l +FD: amk/m net/minecraft/init/Items/field_151041_m +FD: amk/n net/minecraft/init/Items/field_151038_n +FD: amk/o net/minecraft/init/Items/field_151039_o +FD: amk/p net/minecraft/init/Items/field_151053_p +FD: amk/q net/minecraft/init/Items/field_151052_q +FD: amk/r net/minecraft/init/Items/field_151051_r +FD: amk/s net/minecraft/init/Items/field_151050_s +FD: amk/t net/minecraft/init/Items/field_151049_t +FD: amk/u net/minecraft/init/Items/field_151048_u +FD: amk/v net/minecraft/init/Items/field_151047_v +FD: amk/w net/minecraft/init/Items/field_151046_w +FD: amk/x net/minecraft/init/Items/field_151056_x +FD: amk/y net/minecraft/init/Items/field_151055_y +FD: amk/z net/minecraft/init/Items/field_151054_z +FD: amm/b net/minecraft/item/ItemLeaves/field_150940_b +FD: amp/a net/minecraft/item/ItemMinecart/field_96602_b +FD: amp/b net/minecraft/item/ItemMinecart/field_77841_a +FD: amq/b net/minecraft/item/ItemMinecart$1/field_96465_b +FD: amr/b net/minecraft/item/ItemMultiTexture/field_179227_b +FD: amr/c net/minecraft/item/ItemMultiTexture/field_179228_c +FD: ams/a net/minecraft/item/ItemMultiTexture$1/field_179542_a +FD: amu/c net/minecraft/item/ItemPickaxe/field_150915_c +FD: amw/a net/minecraft/item/ItemPotion/field_77836_a +FD: amw/b net/minecraft/item/ItemPotion/field_77835_b +FD: amx/a net/minecraft/item/EnumRarity/COMMON +FD: amx/b net/minecraft/item/EnumRarity/UNCOMMON +FD: amx/c net/minecraft/item/EnumRarity/RARE +FD: amx/d net/minecraft/item/EnumRarity/EPIC +FD: amx/e net/minecraft/item/EnumRarity/field_77937_e +FD: amx/f net/minecraft/item/EnumRarity/field_77934_f +FD: amx/g net/minecraft/item/EnumRarity/$VALUES +FD: amy/a net/minecraft/item/ItemRecord/field_150929_a +FD: amy/b net/minecraft/item/ItemRecord/field_150928_b +FD: an/a net/minecraft/command/PlayerSelector$3/field_179627_a +FD: an/b net/minecraft/command/PlayerSelector$3/field_179626_b +FD: anb/b net/minecraft/item/ItemSeedFood/field_150908_b +FD: anb/c net/minecraft/item/ItemSeedFood/field_82809_c +FD: anc/a net/minecraft/item/ItemSeeds/field_150925_a +FD: anc/b net/minecraft/item/ItemSeeds/field_77838_b +FD: ane/c net/minecraft/item/ItemSpade/field_150916_c +FD: anh/a net/minecraft/item/ItemSkull/field_82807_a +FD: ani/b net/minecraft/item/ItemSlab/field_150949_c +FD: ani/c net/minecraft/item/ItemSlab/field_179226_c +FD: anm/a net/minecraft/item/ItemSword/field_150934_a +FD: anm/b net/minecraft/item/ItemSword/field_150933_b +FD: ann/b net/minecraft/item/ItemColored/field_150944_b +FD: ann/c net/minecraft/item/ItemColored/field_150945_c +FD: ano/a net/minecraft/item/EnumAction/NONE +FD: ano/b net/minecraft/item/EnumAction/EAT +FD: ano/c net/minecraft/item/EnumAction/DRINK +FD: ano/d net/minecraft/item/EnumAction/BLOCK +FD: ano/e net/minecraft/item/EnumAction/BOW +FD: ano/f net/minecraft/item/EnumAction/$VALUES +FD: ans/a net/minecraft/potion/PotionHelper/field_77924_a +FD: ans/b net/minecraft/potion/PotionHelper/field_77922_b +FD: ans/c net/minecraft/potion/PotionHelper/field_77923_c +FD: ans/d net/minecraft/potion/PotionHelper/field_77920_d +FD: ans/e net/minecraft/potion/PotionHelper/field_77921_e +FD: ans/f net/minecraft/potion/PotionHelper/field_77918_f +FD: ans/g net/minecraft/potion/PotionHelper/field_77919_g +FD: ans/h net/minecraft/potion/PotionHelper/field_77931_h +FD: ans/i net/minecraft/potion/PotionHelper/field_77932_i +FD: ans/j net/minecraft/potion/PotionHelper/field_77929_j +FD: ans/k net/minecraft/potion/PotionHelper/field_77930_k +FD: ans/l net/minecraft/potion/PotionHelper/field_82818_l +FD: ans/m net/minecraft/potion/PotionHelper/field_151423_m +FD: ans/n net/minecraft/potion/PotionHelper/field_179538_n +FD: ans/o net/minecraft/potion/PotionHelper/field_179539_o +FD: ans/p net/minecraft/potion/PotionHelper/field_179540_p +FD: ans/q net/minecraft/potion/PotionHelper/field_77925_n +FD: ans/r net/minecraft/potion/PotionHelper/field_77926_o +FD: ao/a net/minecraft/command/PlayerSelector$4/field_179620_a +FD: aob/a net/minecraft/item/crafting/RecipesArmor/field_77611_a +FD: aob/b net/minecraft/item/crafting/RecipesArmor/field_77610_b +FD: aoi/a net/minecraft/item/crafting/RecipeFireworks/field_92102_a +FD: aok/a net/minecraft/item/crafting/FurnaceRecipes/field_77606_a +FD: aok/b net/minecraft/item/crafting/FurnaceRecipes/field_77604_b +FD: aok/c net/minecraft/item/crafting/FurnaceRecipes/field_77605_c +FD: aon/a net/minecraft/item/crafting/RecipesIngots/field_77591_a +FD: aop/a net/minecraft/item/crafting/CraftingManager/field_77598_a +FD: aop/b net/minecraft/item/crafting/CraftingManager/field_77597_b +FD: aoq/a net/minecraft/item/crafting/CraftingManager$1/field_77582_a +FD: aos/a net/minecraft/item/crafting/ShapedRecipes/field_77576_b +FD: aos/b net/minecraft/item/crafting/ShapedRecipes/field_77577_c +FD: aos/c net/minecraft/item/crafting/ShapedRecipes/field_77574_d +FD: aos/d net/minecraft/item/crafting/ShapedRecipes/field_77575_e +FD: aos/e net/minecraft/item/crafting/ShapedRecipes/field_92101_f +FD: aot/a net/minecraft/item/crafting/ShapelessRecipes/field_77580_a +FD: aot/b net/minecraft/item/crafting/ShapelessRecipes/field_77579_b +FD: aov/a net/minecraft/item/crafting/RecipesTools/field_77588_a +FD: aov/b net/minecraft/item/crafting/RecipesTools/field_77587_b +FD: aow/a net/minecraft/item/crafting/RecipesWeapons/field_77585_a +FD: aow/b net/minecraft/item/crafting/RecipesWeapons/field_77584_b +FD: ap/a net/minecraft/command/PlayerSelector$5/field_179623_a +FD: ap/b net/minecraft/command/PlayerSelector$5/field_179622_b +FD: apc/E net/minecraft/enchantment/EnchantmentDamage/field_77359_A +FD: apc/F net/minecraft/enchantment/EnchantmentDamage/field_77360_B +FD: apc/G net/minecraft/enchantment/EnchantmentDamage/field_77362_C +FD: apc/H net/minecraft/enchantment/EnchantmentDamage/field_77358_D +FD: apc/a net/minecraft/enchantment/EnchantmentDamage/field_77361_a +FD: apf/A net/minecraft/enchantment/Enchantment/field_151369_A +FD: apf/B net/minecraft/enchantment/Enchantment/field_77352_x +FD: apf/C net/minecraft/enchantment/Enchantment/field_77351_y +FD: apf/D net/minecraft/enchantment/Enchantment/field_77350_z +FD: apf/E net/minecraft/enchantment/Enchantment/field_180307_E +FD: apf/F net/minecraft/enchantment/Enchantment/field_77333_a +FD: apf/a net/minecraft/enchantment/Enchantment/field_180311_a +FD: apf/b net/minecraft/enchantment/Enchantment/field_77331_b +FD: apf/c net/minecraft/enchantment/Enchantment/field_180310_c +FD: apf/d net/minecraft/enchantment/Enchantment/field_77329_d +FD: apf/e net/minecraft/enchantment/Enchantment/field_180309_e +FD: apf/f net/minecraft/enchantment/Enchantment/field_77327_f +FD: apf/g net/minecraft/enchantment/Enchantment/field_180308_g +FD: apf/h net/minecraft/enchantment/Enchantment/field_180317_h +FD: apf/i net/minecraft/enchantment/Enchantment/field_77341_i +FD: apf/j net/minecraft/enchantment/Enchantment/field_92091_k +FD: apf/k net/minecraft/enchantment/Enchantment/field_180316_k +FD: apf/l net/minecraft/enchantment/Enchantment/field_180314_l +FD: apf/m net/minecraft/enchantment/Enchantment/field_180315_m +FD: apf/n net/minecraft/enchantment/Enchantment/field_180312_n +FD: apf/o net/minecraft/enchantment/Enchantment/field_180313_o +FD: apf/p net/minecraft/enchantment/Enchantment/field_77334_n +FD: apf/q net/minecraft/enchantment/Enchantment/field_77335_o +FD: apf/r net/minecraft/enchantment/Enchantment/field_77349_p +FD: apf/s net/minecraft/enchantment/Enchantment/field_77348_q +FD: apf/t net/minecraft/enchantment/Enchantment/field_77347_r +FD: apf/u net/minecraft/enchantment/Enchantment/field_77346_s +FD: apf/v net/minecraft/enchantment/Enchantment/field_77345_t +FD: apf/w net/minecraft/enchantment/Enchantment/field_77344_u +FD: apf/x net/minecraft/enchantment/Enchantment/field_77343_v +FD: apf/y net/minecraft/enchantment/Enchantment/field_77342_w +FD: apf/z net/minecraft/enchantment/Enchantment/field_151370_z +FD: apg/a net/minecraft/enchantment/EnumEnchantmentType/ALL +FD: apg/b net/minecraft/enchantment/EnumEnchantmentType/ARMOR +FD: apg/c net/minecraft/enchantment/EnumEnchantmentType/ARMOR_FEET +FD: apg/d net/minecraft/enchantment/EnumEnchantmentType/ARMOR_LEGS +FD: apg/e net/minecraft/enchantment/EnumEnchantmentType/ARMOR_TORSO +FD: apg/f net/minecraft/enchantment/EnumEnchantmentType/ARMOR_HEAD +FD: apg/g net/minecraft/enchantment/EnumEnchantmentType/WEAPON +FD: apg/h net/minecraft/enchantment/EnumEnchantmentType/DIGGER +FD: apg/i net/minecraft/enchantment/EnumEnchantmentType/FISHING_ROD +FD: apg/j net/minecraft/enchantment/EnumEnchantmentType/BREAKABLE +FD: apg/k net/minecraft/enchantment/EnumEnchantmentType/BOW +FD: apg/l net/minecraft/enchantment/EnumEnchantmentType/$VALUES +FD: aph/a net/minecraft/enchantment/EnchantmentHelper/field_77522_a +FD: aph/b net/minecraft/enchantment/EnchantmentHelper/field_77520_b +FD: aph/c net/minecraft/enchantment/EnchantmentHelper/field_77521_c +FD: aph/d net/minecraft/enchantment/EnchantmentHelper/field_151388_d +FD: aph/e net/minecraft/enchantment/EnchantmentHelper/field_151389_e +FD: apj/a net/minecraft/enchantment/EnchantmentHelper$DamageIterator/field_151366_a +FD: apj/b net/minecraft/enchantment/EnchantmentHelper$DamageIterator/field_151365_b +FD: apk/a net/minecraft/enchantment/EnchantmentHelper$HurtIterator/field_151364_a +FD: apk/b net/minecraft/enchantment/EnchantmentHelper$HurtIterator/field_151363_b +FD: apm/a net/minecraft/enchantment/EnchantmentHelper$ModifierLiving/field_77495_a +FD: apm/b net/minecraft/enchantment/EnchantmentHelper$ModifierLiving/field_77494_b +FD: apn/a net/minecraft/enchantment/EnchantmentHelper$ModifierDamage/field_77497_a +FD: apn/b net/minecraft/enchantment/EnchantmentHelper$ModifierDamage/field_77496_b +FD: apo/b net/minecraft/enchantment/EnchantmentData/field_76302_b +FD: apo/c net/minecraft/enchantment/EnchantmentData/field_76303_c +FD: apu/E net/minecraft/enchantment/EnchantmentProtection/field_77354_A +FD: apu/F net/minecraft/enchantment/EnchantmentProtection/field_77355_B +FD: apu/G net/minecraft/enchantment/EnchantmentProtection/field_77357_C +FD: apu/H net/minecraft/enchantment/EnchantmentProtection/field_77353_D +FD: apu/a net/minecraft/enchantment/EnchantmentProtection/field_77356_a +FD: aq/a net/minecraft/command/PlayerSelector$6/field_179604_a +FD: aqc/a net/minecraft/village/MerchantRecipe/field_77403_a +FD: aqc/b net/minecraft/village/MerchantRecipe/field_77401_b +FD: aqc/c net/minecraft/village/MerchantRecipe/field_77402_c +FD: aqc/d net/minecraft/village/MerchantRecipe/field_77400_d +FD: aqc/e net/minecraft/village/MerchantRecipe/field_82786_e +FD: aqc/f net/minecraft/village/MerchantRecipe/field_180323_f +FD: aqf/a net/minecraft/command/server/CommandBlockLogic/field_145766_a +FD: aqf/b net/minecraft/command/server/CommandBlockLogic/field_145764_b +FD: aqf/c net/minecraft/command/server/CommandBlockLogic/field_145765_c +FD: aqf/d net/minecraft/command/server/CommandBlockLogic/field_145762_d +FD: aqf/e net/minecraft/command/server/CommandBlockLogic/field_145763_e +FD: aqf/f net/minecraft/command/server/CommandBlockLogic/field_145761_f +FD: aqf/g net/minecraft/command/server/CommandBlockLogic/field_175575_g +FD: aqg/a net/minecraft/command/server/CommandBlockLogic$1/field_180325_a +FD: aqh/a net/minecraft/command/server/CommandBlockLogic$2/field_180327_a +FD: aqi/a net/minecraft/tileentity/MobSpawnerBaseLogic/field_98286_b +FD: aqi/b net/minecraft/tileentity/MobSpawnerBaseLogic/field_98288_a +FD: aqi/c net/minecraft/tileentity/MobSpawnerBaseLogic/field_98285_e +FD: aqi/d net/minecraft/tileentity/MobSpawnerBaseLogic/field_98282_f +FD: aqi/e net/minecraft/tileentity/MobSpawnerBaseLogic/field_98287_c +FD: aqi/f net/minecraft/tileentity/MobSpawnerBaseLogic/field_98284_d +FD: aqi/g net/minecraft/tileentity/MobSpawnerBaseLogic/field_98283_g +FD: aqi/h net/minecraft/tileentity/MobSpawnerBaseLogic/field_98293_h +FD: aqi/i net/minecraft/tileentity/MobSpawnerBaseLogic/field_98294_i +FD: aqi/j net/minecraft/tileentity/MobSpawnerBaseLogic/field_98291_j +FD: aqi/k net/minecraft/tileentity/MobSpawnerBaseLogic/field_98292_k +FD: aqi/l net/minecraft/tileentity/MobSpawnerBaseLogic/field_98289_l +FD: aqi/m net/minecraft/tileentity/MobSpawnerBaseLogic/field_98290_m +FD: aqj/b net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart/field_98221_d +FD: aqj/c net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart/field_98222_b +FD: aqj/d net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart/field_98223_c +FD: aqk/a net/minecraft/block/BlockEventData/field_180329_a +FD: aqk/b net/minecraft/block/BlockEventData/field_151344_d +FD: aqk/c net/minecraft/block/BlockEventData/field_151345_e +FD: aqk/d net/minecraft/block/BlockEventData/field_151343_f +FD: aql/a net/minecraft/util/EnumWorldBlockLayer/SOLID +FD: aql/b net/minecraft/util/EnumWorldBlockLayer/CUTOUT_MIPPED +FD: aql/c net/minecraft/util/EnumWorldBlockLayer/CUTOUT +FD: aql/d net/minecraft/util/EnumWorldBlockLayer/TRANSLUCENT +FD: aql/e net/minecraft/util/EnumWorldBlockLayer/field_180338_e +FD: aql/f net/minecraft/util/EnumWorldBlockLayer/$VALUES +FD: aqm/a net/minecraft/world/ChunkCoordIntPair/field_77276_a +FD: aqm/b net/minecraft/world/ChunkCoordIntPair/field_77275_b +FD: aqo/a net/minecraft/world/Explosion/field_77286_a +FD: aqo/b net/minecraft/world/Explosion/field_82755_b +FD: aqo/c net/minecraft/world/Explosion/field_77290_i +FD: aqo/d net/minecraft/world/Explosion/field_77287_j +FD: aqo/e net/minecraft/world/Explosion/field_77284_b +FD: aqo/f net/minecraft/world/Explosion/field_77285_c +FD: aqo/g net/minecraft/world/Explosion/field_77282_d +FD: aqo/h net/minecraft/world/Explosion/field_77283_e +FD: aqo/i net/minecraft/world/Explosion/field_77280_f +FD: aqo/j net/minecraft/world/Explosion/field_77281_g +FD: aqo/k net/minecraft/world/Explosion/field_77288_k +FD: aqp/a net/minecraft/world/ColorizerFoliage/field_77471_a +FD: aqq/a net/minecraft/world/GameRules/field_82771_a +FD: aqr/a net/minecraft/world/GameRules$Value/field_82762_a +FD: aqr/b net/minecraft/world/GameRules$Value/field_82760_b +FD: aqr/c net/minecraft/world/GameRules$Value/field_82761_c +FD: aqr/d net/minecraft/world/GameRules$Value/field_82759_d +FD: aqr/e net/minecraft/world/GameRules$Value/field_180256_e +FD: aqs/a net/minecraft/world/GameRules$ValueType/ANY_VALUE +FD: aqs/b net/minecraft/world/GameRules$ValueType/BOOLEAN_VALUE +FD: aqs/c net/minecraft/world/GameRules$ValueType/NUMERICAL_VALUE +FD: aqs/d net/minecraft/world/GameRules$ValueType/$VALUES +FD: aqt/a net/minecraft/world/ColorizerGrass/field_77481_a +FD: aqu/A net/minecraft/world/World/field_72982_D +FD: aqu/B net/minecraft/world/World/field_72984_F +FD: aqu/C net/minecraft/world/World/field_96442_D +FD: aqu/D net/minecraft/world/World/field_72995_K +FD: aqu/E net/minecraft/world/World/field_72993_I +FD: aqu/F net/minecraft/world/World/field_72985_G +FD: aqu/G net/minecraft/world/World/field_72992_H +FD: aqu/H net/minecraft/world/World/field_72994_J +FD: aqu/I net/minecraft/world/World/field_73016_r +FD: aqu/J net/minecraft/world/World/field_83016_L +FD: aqu/K net/minecraft/world/World/field_72990_M +FD: aqu/L net/minecraft/world/World/field_147481_N +FD: aqu/M net/minecraft/world/World/field_175728_M +FD: aqu/a net/minecraft/world/World/field_147484_a +FD: aqu/b net/minecraft/world/World/field_147483_b +FD: aqu/c net/minecraft/world/World/field_73001_c +FD: aqu/d net/minecraft/world/World/field_73008_k +FD: aqu/e net/minecraft/world/World/field_72999_e +FD: aqu/f net/minecraft/world/World/field_72996_f +FD: aqu/g net/minecraft/world/World/field_72997_g +FD: aqu/h net/minecraft/world/World/field_147482_g +FD: aqu/i net/minecraft/world/World/field_175730_i +FD: aqu/j net/minecraft/world/World/field_73010_i +FD: aqu/k net/minecraft/world/World/field_73007_j +FD: aqu/l net/minecraft/world/World/field_175729_l +FD: aqu/m net/minecraft/world/World/field_73005_l +FD: aqu/n net/minecraft/world/World/field_73006_m +FD: aqu/o net/minecraft/world/World/field_73003_n +FD: aqu/p net/minecraft/world/World/field_73004_o +FD: aqu/q net/minecraft/world/World/field_73018_p +FD: aqu/r net/minecraft/world/World/field_73017_q +FD: aqu/s net/minecraft/world/World/field_73012_v +FD: aqu/t net/minecraft/world/World/field_73011_w +FD: aqu/u net/minecraft/world/World/field_73021_x +FD: aqu/v net/minecraft/world/World/field_73020_y +FD: aqu/w net/minecraft/world/World/field_73019_z +FD: aqu/x net/minecraft/world/World/field_72986_A +FD: aqu/y net/minecraft/world/World/field_72987_B +FD: aqu/z net/minecraft/world/World/field_72988_C +FD: aqv/a net/minecraft/world/World$1/field_180253_a +FD: aqv/b net/minecraft/world/World$1/field_77485_a +FD: aqw/a net/minecraft/world/World$2/field_151300_a +FD: aqw/b net/minecraft/world/World$2/field_77405_a +FD: aqx/a net/minecraft/world/World$3/field_77440_a +FD: aqy/a net/minecraft/world/World$4/field_151308_a +FD: ar/a net/minecraft/command/PlayerSelector$7/field_179602_a +FD: ar/b net/minecraft/command/PlayerSelector$7/field_179601_b +FD: arb/a net/minecraft/world/WorldSettings/field_77174_a +FD: arb/b net/minecraft/world/WorldSettings/field_77172_b +FD: arb/c net/minecraft/world/WorldSettings/field_77173_c +FD: arb/d net/minecraft/world/WorldSettings/field_77170_d +FD: arb/e net/minecraft/world/WorldSettings/field_77171_e +FD: arb/f net/minecraft/world/WorldSettings/field_77168_f +FD: arb/g net/minecraft/world/WorldSettings/field_77169_g +FD: arb/h net/minecraft/world/WorldSettings/field_82751_h +FD: arc/a net/minecraft/world/WorldSettings$GameType/NOT_SET +FD: arc/b net/minecraft/world/WorldSettings$GameType/SURVIVAL +FD: arc/c net/minecraft/world/WorldSettings$GameType/CREATIVE +FD: arc/d net/minecraft/world/WorldSettings$GameType/ADVENTURE +FD: arc/e net/minecraft/world/WorldSettings$GameType/SPECTATOR +FD: arc/f net/minecraft/world/WorldSettings$GameType/field_77154_e +FD: arc/g net/minecraft/world/WorldSettings$GameType/field_77151_f +FD: arc/h net/minecraft/world/WorldSettings$GameType/$VALUES +FD: are/a net/minecraft/world/WorldType/field_77139_a +FD: are/b net/minecraft/world/WorldType/field_77137_b +FD: are/c net/minecraft/world/WorldType/field_77138_c +FD: are/d net/minecraft/world/WorldType/field_77135_d +FD: are/e net/minecraft/world/WorldType/field_151360_e +FD: are/f net/minecraft/world/WorldType/field_180271_f +FD: are/g net/minecraft/world/WorldType/field_180272_g +FD: are/h net/minecraft/world/WorldType/field_77136_e +FD: are/i net/minecraft/world/WorldType/field_82748_f +FD: are/j net/minecraft/world/WorldType/field_77133_f +FD: are/k net/minecraft/world/WorldType/field_77134_g +FD: are/l net/minecraft/world/WorldType/field_77140_h +FD: are/m net/minecraft/world/WorldType/field_77141_i +FD: are/n net/minecraft/world/WorldType/field_151361_l +FD: arf/a net/minecraft/world/EnumSkyBlock/SKY +FD: arf/b net/minecraft/world/EnumSkyBlock/BLOCK +FD: arf/c net/minecraft/world/EnumSkyBlock/field_77198_c +FD: arf/d net/minecraft/world/EnumSkyBlock/$VALUES +FD: arg/a net/minecraft/world/SpawnerAnimals/field_180268_a +FD: arg/b net/minecraft/world/SpawnerAnimals/field_77193_b +FD: arh/a net/minecraft/world/Teleporter/field_85192_a +FD: arh/b net/minecraft/world/Teleporter/field_77187_a +FD: arh/c net/minecraft/world/Teleporter/field_85191_c +FD: arh/d net/minecraft/world/Teleporter/field_85190_d +FD: ari/b net/minecraft/world/Teleporter$PortalPosition/field_85087_d +FD: ari/c net/minecraft/world/Teleporter$PortalPosition/field_85088_e +FD: arj/a net/minecraft/world/ChunkCache/field_72818_a +FD: arj/b net/minecraft/world/ChunkCache/field_72816_b +FD: arj/c net/minecraft/world/ChunkCache/field_72817_c +FD: arj/d net/minecraft/world/ChunkCache/field_72814_d +FD: arj/e net/minecraft/world/ChunkCache/field_72815_e +FD: ark/a net/minecraft/world/NextTickListEntry/field_180282_a +FD: ark/b net/minecraft/world/NextTickListEntry/field_77180_e +FD: ark/c net/minecraft/world/NextTickListEntry/field_82754_f +FD: ark/d net/minecraft/world/NextTickListEntry/field_77177_f +FD: ark/e net/minecraft/world/NextTickListEntry/field_151352_g +FD: ark/f net/minecraft/world/NextTickListEntry/field_77178_g +FD: arm/A net/minecraft/world/biome/BiomeGenBase/field_76777_m +FD: arm/B net/minecraft/world/biome/BiomeGenBase/field_76774_n +FD: arm/C net/minecraft/world/biome/BiomeGenBase/field_76775_o +FD: arm/D net/minecraft/world/biome/BiomeGenBase/field_76789_p +FD: arm/E net/minecraft/world/biome/BiomeGenBase/field_76788_q +FD: arm/F net/minecraft/world/biome/BiomeGenBase/field_76787_r +FD: arm/G net/minecraft/world/biome/BiomeGenBase/field_76786_s +FD: arm/H net/minecraft/world/biome/BiomeGenBase/field_76785_t +FD: arm/I net/minecraft/world/biome/BiomeGenBase/field_76784_u +FD: arm/J net/minecraft/world/biome/BiomeGenBase/field_76783_v +FD: arm/K net/minecraft/world/biome/BiomeGenBase/field_76782_w +FD: arm/L net/minecraft/world/biome/BiomeGenBase/field_76792_x +FD: arm/M net/minecraft/world/biome/BiomeGenBase/field_150574_L +FD: arm/N net/minecraft/world/biome/BiomeGenBase/field_150575_M +FD: arm/O net/minecraft/world/biome/BiomeGenBase/field_150576_N +FD: arm/P net/minecraft/world/biome/BiomeGenBase/field_150577_O +FD: arm/Q net/minecraft/world/biome/BiomeGenBase/field_150583_P +FD: arm/R net/minecraft/world/biome/BiomeGenBase/field_150582_Q +FD: arm/S net/minecraft/world/biome/BiomeGenBase/field_150585_R +FD: arm/T net/minecraft/world/biome/BiomeGenBase/field_150584_S +FD: arm/U net/minecraft/world/biome/BiomeGenBase/field_150579_T +FD: arm/V net/minecraft/world/biome/BiomeGenBase/field_150578_U +FD: arm/W net/minecraft/world/biome/BiomeGenBase/field_150581_V +FD: arm/X net/minecraft/world/biome/BiomeGenBase/field_150580_W +FD: arm/Y net/minecraft/world/biome/BiomeGenBase/field_150588_X +FD: arm/Z net/minecraft/world/biome/BiomeGenBase/field_150587_Y +FD: arm/a net/minecraft/world/biome/BiomeGenBase/field_150596_a +FD: arm/aA net/minecraft/world/biome/BiomeGenBase/field_76757_N +FD: arm/aB net/minecraft/world/biome/BiomeGenBase/field_76758_O +FD: arm/aC net/minecraft/world/biome/BiomeGenBase/field_76763_Q +FD: arm/aD net/minecraft/world/biome/BiomeGenBase/field_150586_aC +FD: arm/aE net/minecraft/world/biome/BiomeGenBase/field_76773_a +FD: arm/aa net/minecraft/world/biome/BiomeGenBase/field_150589_Z +FD: arm/ab net/minecraft/world/biome/BiomeGenBase/field_150607_aa +FD: arm/ac net/minecraft/world/biome/BiomeGenBase/field_150608_ab +FD: arm/ad net/minecraft/world/biome/BiomeGenBase/field_180279_ad +FD: arm/ae net/minecraft/world/biome/BiomeGenBase/field_150605_ac +FD: arm/af net/minecraft/world/biome/BiomeGenBase/field_180281_af +FD: arm/ag net/minecraft/world/biome/BiomeGenBase/field_180280_ag +FD: arm/ah net/minecraft/world/biome/BiomeGenBase/field_76791_y +FD: arm/ai net/minecraft/world/biome/BiomeGenBase/field_76790_z +FD: arm/aj net/minecraft/world/biome/BiomeGenBase/field_150609_ah +FD: arm/ak net/minecraft/world/biome/BiomeGenBase/field_76752_A +FD: arm/al net/minecraft/world/biome/BiomeGenBase/field_76753_B +FD: arm/am net/minecraft/world/biome/BiomeGenBase/field_76754_C +FD: arm/an net/minecraft/world/biome/BiomeGenBase/field_76748_D +FD: arm/ao net/minecraft/world/biome/BiomeGenBase/field_76749_E +FD: arm/ap net/minecraft/world/biome/BiomeGenBase/field_76750_F +FD: arm/aq net/minecraft/world/biome/BiomeGenBase/field_76751_G +FD: arm/ar net/minecraft/world/biome/BiomeGenBase/field_76759_H +FD: arm/as net/minecraft/world/biome/BiomeGenBase/field_76760_I +FD: arm/at net/minecraft/world/biome/BiomeGenBase/field_76761_J +FD: arm/au net/minecraft/world/biome/BiomeGenBase/field_76762_K +FD: arm/av net/minecraft/world/biome/BiomeGenBase/field_76755_L +FD: arm/aw net/minecraft/world/biome/BiomeGenBase/field_82914_M +FD: arm/ax net/minecraft/world/biome/BiomeGenBase/field_76766_R +FD: arm/ay net/minecraft/world/biome/BiomeGenBase/field_76765_S +FD: arm/az net/minecraft/world/biome/BiomeGenBase/field_76756_M +FD: arm/b net/minecraft/world/biome/BiomeGenBase/field_150594_b +FD: arm/c net/minecraft/world/biome/BiomeGenBase/field_150595_c +FD: arm/d net/minecraft/world/biome/BiomeGenBase/field_150592_d +FD: arm/e net/minecraft/world/biome/BiomeGenBase/field_150593_e +FD: arm/f net/minecraft/world/biome/BiomeGenBase/field_150590_f +FD: arm/g net/minecraft/world/biome/BiomeGenBase/field_150591_g +FD: arm/h net/minecraft/world/biome/BiomeGenBase/field_150602_h +FD: arm/i net/minecraft/world/biome/BiomeGenBase/field_150603_i +FD: arm/j net/minecraft/world/biome/BiomeGenBase/field_150600_j +FD: arm/k net/minecraft/world/biome/BiomeGenBase/field_150601_k +FD: arm/l net/minecraft/world/biome/BiomeGenBase/field_150598_l +FD: arm/m net/minecraft/world/biome/BiomeGenBase/field_150599_m +FD: arm/n net/minecraft/world/biome/BiomeGenBase/field_150597_n +FD: arm/o net/minecraft/world/biome/BiomeGenBase/field_180278_o +FD: arm/p net/minecraft/world/biome/BiomeGenBase/field_76771_b +FD: arm/q net/minecraft/world/biome/BiomeGenBase/field_76772_c +FD: arm/r net/minecraft/world/biome/BiomeGenBase/field_76769_d +FD: arm/s net/minecraft/world/biome/BiomeGenBase/field_76770_e +FD: arm/t net/minecraft/world/biome/BiomeGenBase/field_76767_f +FD: arm/u net/minecraft/world/biome/BiomeGenBase/field_76768_g +FD: arm/v net/minecraft/world/biome/BiomeGenBase/field_76780_h +FD: arm/w net/minecraft/world/biome/BiomeGenBase/field_76781_i +FD: arm/x net/minecraft/world/biome/BiomeGenBase/field_76778_j +FD: arm/y net/minecraft/world/biome/BiomeGenBase/field_76779_k +FD: arm/z net/minecraft/world/biome/BiomeGenBase/field_76776_l +FD: arn/a net/minecraft/world/biome/BiomeGenBase$SwitchEnumCreatureType/field_180275_a +FD: aro/a net/minecraft/world/biome/BiomeGenBase$Height/field_150777_a +FD: aro/b net/minecraft/world/biome/BiomeGenBase$Height/field_150776_b +FD: arp/a net/minecraft/world/biome/BiomeGenBase$TempCategory/OCEAN +FD: arp/b net/minecraft/world/biome/BiomeGenBase$TempCategory/COLD +FD: arp/c net/minecraft/world/biome/BiomeGenBase$TempCategory/MEDIUM +FD: arp/d net/minecraft/world/biome/BiomeGenBase$TempCategory/WARM +FD: arp/e net/minecraft/world/biome/BiomeGenBase$TempCategory/$VALUES +FD: arq/b net/minecraft/world/biome/BiomeGenBase$SpawnListEntry/field_76300_b +FD: arq/c net/minecraft/world/biome/BiomeGenBase$SpawnListEntry/field_76301_c +FD: arq/d net/minecraft/world/biome/BiomeGenBase$SpawnListEntry/field_76299_d +FD: arr/a net/minecraft/world/biome/BiomeCache/field_76844_a +FD: arr/b net/minecraft/world/biome/BiomeCache/field_76842_b +FD: arr/c net/minecraft/world/biome/BiomeCache/field_76843_c +FD: arr/d net/minecraft/world/biome/BiomeCache/field_76841_d +FD: ars/a net/minecraft/world/biome/BiomeCache$Block/field_76890_b +FD: ars/b net/minecraft/world/biome/BiomeCache$Block/field_76891_c +FD: ars/c net/minecraft/world/biome/BiomeCache$Block/field_76888_d +FD: ars/d net/minecraft/world/biome/BiomeCache$Block/field_76889_e +FD: ars/e net/minecraft/world/biome/BiomeCache$Block/field_76886_f +FD: ars/f net/minecraft/world/biome/BiomeCache$Block/field_76887_g +FD: art/a net/minecraft/world/biome/BiomeColorHelper/field_180291_a +FD: art/b net/minecraft/world/biome/BiomeColorHelper/field_180289_b +FD: art/c net/minecraft/world/biome/BiomeColorHelper/field_180290_c +FD: ary/A net/minecraft/world/biome/BiomeDecorator/field_76832_z +FD: ary/B net/minecraft/world/biome/BiomeDecorator/field_76802_A +FD: ary/C net/minecraft/world/biome/BiomeDecorator/field_76803_B +FD: ary/D net/minecraft/world/biome/BiomeDecorator/field_76804_C +FD: ary/E net/minecraft/world/biome/BiomeDecorator/field_76798_D +FD: ary/F net/minecraft/world/biome/BiomeDecorator/field_76799_E +FD: ary/G net/minecraft/world/biome/BiomeDecorator/field_76800_F +FD: ary/H net/minecraft/world/biome/BiomeDecorator/field_76801_G +FD: ary/I net/minecraft/world/biome/BiomeDecorator/field_76805_H +FD: ary/J net/minecraft/world/biome/BiomeDecorator/field_76806_I +FD: ary/K net/minecraft/world/biome/BiomeDecorator/field_76807_J +FD: ary/L net/minecraft/world/biome/BiomeDecorator/field_76808_K +FD: ary/a net/minecraft/world/biome/BiomeDecorator/field_76815_a +FD: ary/b net/minecraft/world/biome/BiomeDecorator/field_76813_b +FD: ary/c net/minecraft/world/biome/BiomeDecorator/field_180294_c +FD: ary/d net/minecraft/world/biome/BiomeDecorator/field_180293_d +FD: ary/e net/minecraft/world/biome/BiomeDecorator/field_76809_f +FD: ary/f net/minecraft/world/biome/BiomeDecorator/field_76810_g +FD: ary/g net/minecraft/world/biome/BiomeDecorator/field_76822_h +FD: ary/h net/minecraft/world/biome/BiomeDecorator/field_76823_i +FD: ary/i net/minecraft/world/biome/BiomeDecorator/field_76820_j +FD: ary/j net/minecraft/world/biome/BiomeDecorator/field_180296_j +FD: ary/k net/minecraft/world/biome/BiomeDecorator/field_180297_k +FD: ary/l net/minecraft/world/biome/BiomeDecorator/field_180295_l +FD: ary/m net/minecraft/world/biome/BiomeDecorator/field_76821_k +FD: ary/n net/minecraft/world/biome/BiomeDecorator/field_76818_l +FD: ary/o net/minecraft/world/biome/BiomeDecorator/field_76819_m +FD: ary/p net/minecraft/world/biome/BiomeDecorator/field_180299_p +FD: ary/q net/minecraft/world/biome/BiomeDecorator/field_180298_q +FD: ary/r net/minecraft/world/biome/BiomeDecorator/field_76831_p +FD: ary/s net/minecraft/world/biome/BiomeDecorator/field_150514_p +FD: ary/t net/minecraft/world/biome/BiomeDecorator/field_76828_s +FD: ary/u net/minecraft/world/biome/BiomeDecorator/field_76827_t +FD: ary/v net/minecraft/world/biome/BiomeDecorator/field_76826_u +FD: ary/w net/minecraft/world/biome/BiomeDecorator/field_76825_v +FD: ary/x net/minecraft/world/biome/BiomeDecorator/field_76824_w +FD: ary/y net/minecraft/world/biome/BiomeDecorator/field_76834_x +FD: ary/z net/minecraft/world/biome/BiomeDecorator/field_76833_y +FD: arz/b net/minecraft/world/biome/WorldChunkManager/field_76944_d +FD: arz/c net/minecraft/world/biome/WorldChunkManager/field_76945_e +FD: arz/d net/minecraft/world/biome/WorldChunkManager/field_76942_f +FD: arz/e net/minecraft/world/biome/WorldChunkManager/field_76943_g +FD: arz/f net/minecraft/world/biome/WorldChunkManager/field_180301_f +FD: as/a net/minecraft/command/PlayerSelector$8/field_179599_a +FD: as/b net/minecraft/command/PlayerSelector$8/field_179597_b +FD: as/c net/minecraft/command/PlayerSelector$8/field_179598_c +FD: as/d net/minecraft/command/PlayerSelector$8/field_179595_d +FD: as/e net/minecraft/command/PlayerSelector$8/field_179596_e +FD: asb/aD net/minecraft/world/biome/BiomeGenHills/field_82915_S +FD: asb/aE net/minecraft/world/biome/BiomeGenHills/field_150634_aD +FD: asb/aF net/minecraft/world/biome/BiomeGenHills/field_150635_aE +FD: asb/aG net/minecraft/world/biome/BiomeGenHills/field_150636_aF +FD: asb/aH net/minecraft/world/biome/BiomeGenHills/field_150637_aG +FD: asb/aI net/minecraft/world/biome/BiomeGenHills/field_150638_aH +FD: asc/b net/minecraft/world/biome/WorldChunkManagerHell/field_76947_d +FD: asc/c net/minecraft/world/biome/WorldChunkManagerHell/field_76946_f +FD: asd/aD net/minecraft/world/biome/BiomeGenForest/field_150629_aC +FD: asd/aE net/minecraft/world/biome/BiomeGenForest/field_150630_aD +FD: asd/aF net/minecraft/world/biome/BiomeGenForest/field_150631_aE +FD: asd/aG net/minecraft/world/biome/BiomeGenForest/field_150632_aF +FD: ase/aD net/minecraft/world/biome/BiomeGenForest$2/field_150612_aC +FD: asf/aD net/minecraft/world/biome/BiomeGenForest$1/field_150613_aC +FD: ash/aD net/minecraft/world/biome/BiomeGenSnow/field_150615_aC +FD: ash/aE net/minecraft/world/biome/BiomeGenSnow/field_150616_aD +FD: ash/aF net/minecraft/world/biome/BiomeGenSnow/field_150617_aE +FD: asi/aD net/minecraft/world/biome/BiomeGenJungle/field_150614_aC +FD: asj/aD net/minecraft/world/biome/BiomeGenMesa/field_150621_aC +FD: asj/aE net/minecraft/world/biome/BiomeGenMesa/field_150622_aD +FD: asj/aF net/minecraft/world/biome/BiomeGenMesa/field_150623_aE +FD: asj/aG net/minecraft/world/biome/BiomeGenMesa/field_150624_aF +FD: asj/aH net/minecraft/world/biome/BiomeGenMesa/field_150625_aG +FD: asj/aI net/minecraft/world/biome/BiomeGenMesa/field_150626_aH +FD: asj/aJ net/minecraft/world/biome/BiomeGenMesa/field_150620_aI +FD: asl/aE net/minecraft/world/biome/BiomeGenMutated/field_150611_aD +FD: asn/aD net/minecraft/world/biome/BiomeGenPlains/field_150628_aC +FD: asq/aD net/minecraft/world/biome/BiomeGenSavanna/field_150627_aC +FD: asu/aD net/minecraft/world/biome/BiomeGenTaiga/field_150639_aC +FD: asu/aE net/minecraft/world/biome/BiomeGenTaiga/field_150640_aD +FD: asu/aF net/minecraft/world/biome/BiomeGenTaiga/field_150641_aE +FD: asu/aG net/minecraft/world/biome/BiomeGenTaiga/field_150642_aF +FD: asu/aH net/minecraft/world/biome/BiomeGenTaiga/field_150643_aG +FD: asu/aI net/minecraft/world/biome/BiomeGenTaiga/field_150644_aH +FD: asw/M net/minecraft/world/biome/BiomeEndDecorator/field_76835_L +FD: asz/a net/minecraft/block/BlockAnvil/field_176506_a +FD: asz/b net/minecraft/block/BlockAnvil/field_176505_b +FD: at/a net/minecraft/command/PlayerSelector$9/field_179593_a +FD: at/b net/minecraft/command/PlayerSelector$9/field_179592_b +FD: ata/a net/minecraft/block/BlockAnvil$Anvil/field_175130_a +FD: ata/b net/minecraft/block/BlockAnvil$Anvil/field_175129_b +FD: atb/a net/minecraft/block/BlockBanner/field_176449_a +FD: atb/b net/minecraft/block/BlockBanner/field_176448_b +FD: atc/a net/minecraft/block/BlockBanner$SwitchEnumFacing/field_180370_a +FD: ati/a net/minecraft/block/BlockRailBase/field_150053_a +FD: atj/a net/minecraft/block/BlockRailBase$SwitchEnumRailDirection/field_180371_a +FD: atk/a net/minecraft/block/BlockRailBase$Rail/field_150662_a +FD: atk/b net/minecraft/block/BlockRailBase$Rail/field_150660_b +FD: atk/c net/minecraft/block/BlockRailBase$Rail/field_180367_c +FD: atk/d net/minecraft/block/BlockRailBase$Rail/field_180365_d +FD: atk/e net/minecraft/block/BlockRailBase$Rail/field_180366_e +FD: atk/f net/minecraft/block/BlockRailBase$Rail/field_150656_f +FD: atk/g net/minecraft/block/BlockRailBase$Rail/field_150657_g +FD: atl/a net/minecraft/block/BlockRailBase$EnumRailDirection/NORTH_SOUTH +FD: atl/b net/minecraft/block/BlockRailBase$EnumRailDirection/EAST_WEST +FD: atl/c net/minecraft/block/BlockRailBase$EnumRailDirection/ASCENDING_EAST +FD: atl/d net/minecraft/block/BlockRailBase$EnumRailDirection/ASCENDING_WEST +FD: atl/e net/minecraft/block/BlockRailBase$EnumRailDirection/ASCENDING_NORTH +FD: atl/f net/minecraft/block/BlockRailBase$EnumRailDirection/ASCENDING_SOUTH +FD: atl/g net/minecraft/block/BlockRailBase$EnumRailDirection/SOUTH_EAST +FD: atl/h net/minecraft/block/BlockRailBase$EnumRailDirection/SOUTH_WEST +FD: atl/i net/minecraft/block/BlockRailBase$EnumRailDirection/NORTH_WEST +FD: atl/j net/minecraft/block/BlockRailBase$EnumRailDirection/NORTH_EAST +FD: atl/k net/minecraft/block/BlockRailBase$EnumRailDirection/field_177030_k +FD: atl/l net/minecraft/block/BlockRailBase$EnumRailDirection/field_177027_l +FD: atl/m net/minecraft/block/BlockRailBase$EnumRailDirection/field_177028_m +FD: atl/n net/minecraft/block/BlockRailBase$EnumRailDirection/$VALUES +FD: atn/a net/minecraft/block/BlockBeacon$1/field_180358_a +FD: atn/b net/minecraft/block/BlockBeacon$1/field_180357_b +FD: ato/a net/minecraft/block/BlockBeacon$1$1/field_180369_a +FD: ato/b net/minecraft/block/BlockBeacon$1$1/field_180368_b +FD: atp/a net/minecraft/block/BlockBed/field_176472_a +FD: atp/b net/minecraft/block/BlockBed/field_176471_b +FD: atq/a net/minecraft/block/BlockBed$EnumPartType/HEAD +FD: atq/b net/minecraft/block/BlockBed$EnumPartType/FOOT +FD: atq/c net/minecraft/block/BlockBed$EnumPartType/field_177036_c +FD: atq/d net/minecraft/block/BlockBed$EnumPartType/$VALUES +FD: atr/A net/minecraft/block/Block/field_149758_A +FD: atr/B net/minecraft/block/Block/field_149759_B +FD: atr/C net/minecraft/block/Block/field_149760_C +FD: atr/D net/minecraft/block/Block/field_149754_D +FD: atr/E net/minecraft/block/Block/field_149755_E +FD: atr/F net/minecraft/block/Block/field_149756_F +FD: atr/G net/minecraft/block/Block/field_149757_G +FD: atr/H net/minecraft/block/Block/field_149762_H +FD: atr/I net/minecraft/block/Block/field_149763_I +FD: atr/J net/minecraft/block/Block/field_149764_J +FD: atr/K net/minecraft/block/Block/field_149765_K +FD: atr/L net/minecraft/block/Block/field_176227_L +FD: atr/M net/minecraft/block/Block/field_176228_M +FD: atr/N net/minecraft/block/Block/field_149770_b +FD: atr/a net/minecraft/block/Block/field_176230_a +FD: atr/b net/minecraft/block/Block/field_149772_a +FD: atr/c net/minecraft/block/Block/field_149771_c +FD: atr/d net/minecraft/block/Block/field_176229_d +FD: atr/e net/minecraft/block/Block/field_149769_e +FD: atr/f net/minecraft/block/Block/field_149766_f +FD: atr/g net/minecraft/block/Block/field_149767_g +FD: atr/h net/minecraft/block/Block/field_149779_h +FD: atr/i net/minecraft/block/Block/field_149780_i +FD: atr/j net/minecraft/block/Block/field_149777_j +FD: atr/k net/minecraft/block/Block/field_149778_k +FD: atr/l net/minecraft/block/Block/field_149775_l +FD: atr/m net/minecraft/block/Block/field_149776_m +FD: atr/n net/minecraft/block/Block/field_149773_n +FD: atr/o net/minecraft/block/Block/field_149774_o +FD: atr/p net/minecraft/block/Block/field_149788_p +FD: atr/q net/minecraft/block/Block/field_176231_q +FD: atr/r net/minecraft/block/Block/field_149787_q +FD: atr/s net/minecraft/block/Block/field_149786_r +FD: atr/t net/minecraft/block/Block/field_149785_s +FD: atr/u net/minecraft/block/Block/field_149784_t +FD: atr/v net/minecraft/block/Block/field_149783_u +FD: atr/w net/minecraft/block/Block/field_149782_v +FD: atr/x net/minecraft/block/Block/field_149781_w +FD: atr/y net/minecraft/block/Block/field_149790_y +FD: atr/z net/minecraft/block/Block/field_149789_z +FD: atw/a net/minecraft/block/Block$EnumOffsetType/NONE +FD: atw/b net/minecraft/block/Block$EnumOffsetType/XZ +FD: atw/c net/minecraft/block/Block$EnumOffsetType/XYZ +FD: atw/d net/minecraft/block/Block$EnumOffsetType/$VALUES +FD: atx/a net/minecraft/block/Block$SoundType/field_150501_a +FD: atx/b net/minecraft/block/Block$SoundType/field_150499_b +FD: atx/c net/minecraft/block/Block$SoundType/field_150500_c +FD: aty/A net/minecraft/init/Blocks/field_150322_A +FD: aty/B net/minecraft/init/Blocks/field_150323_B +FD: aty/C net/minecraft/init/Blocks/field_150324_C +FD: aty/D net/minecraft/init/Blocks/field_150318_D +FD: aty/E net/minecraft/init/Blocks/field_150319_E +FD: aty/F net/minecraft/init/Blocks/field_150320_F +FD: aty/G net/minecraft/init/Blocks/field_150321_G +FD: aty/H net/minecraft/init/Blocks/field_150329_H +FD: aty/I net/minecraft/init/Blocks/field_150330_I +FD: aty/J net/minecraft/init/Blocks/field_150331_J +FD: aty/K net/minecraft/init/Blocks/field_150332_K +FD: aty/L net/minecraft/init/Blocks/field_150325_L +FD: aty/M net/minecraft/init/Blocks/field_180384_M +FD: aty/N net/minecraft/init/Blocks/field_150327_N +FD: aty/O net/minecraft/init/Blocks/field_150328_O +FD: aty/P net/minecraft/init/Blocks/field_150338_P +FD: aty/Q net/minecraft/init/Blocks/field_150337_Q +FD: aty/R net/minecraft/init/Blocks/field_150340_R +FD: aty/S net/minecraft/init/Blocks/field_150339_S +FD: aty/T net/minecraft/init/Blocks/field_150334_T +FD: aty/U net/minecraft/init/Blocks/field_150333_U +FD: aty/V net/minecraft/init/Blocks/field_150336_V +FD: aty/W net/minecraft/init/Blocks/field_150335_W +FD: aty/X net/minecraft/init/Blocks/field_150342_X +FD: aty/Y net/minecraft/init/Blocks/field_150341_Y +FD: aty/Z net/minecraft/init/Blocks/field_150343_Z +FD: aty/a net/minecraft/init/Blocks/field_150350_a +FD: aty/aA net/minecraft/init/Blocks/field_150454_av +FD: aty/aB net/minecraft/init/Blocks/field_150452_aw +FD: aty/aC net/minecraft/init/Blocks/field_150450_ax +FD: aty/aD net/minecraft/init/Blocks/field_150439_ay +FD: aty/aE net/minecraft/init/Blocks/field_150437_az +FD: aty/aF net/minecraft/init/Blocks/field_150429_aA +FD: aty/aG net/minecraft/init/Blocks/field_150430_aB +FD: aty/aH net/minecraft/init/Blocks/field_150431_aC +FD: aty/aI net/minecraft/init/Blocks/field_150432_aD +FD: aty/aJ net/minecraft/init/Blocks/field_150433_aE +FD: aty/aK net/minecraft/init/Blocks/field_150434_aF +FD: aty/aL net/minecraft/init/Blocks/field_150435_aG +FD: aty/aM net/minecraft/init/Blocks/field_150436_aH +FD: aty/aN net/minecraft/init/Blocks/field_150421_aI +FD: aty/aO net/minecraft/init/Blocks/field_180407_aO +FD: aty/aP net/minecraft/init/Blocks/field_180408_aP +FD: aty/aQ net/minecraft/init/Blocks/field_180404_aQ +FD: aty/aR net/minecraft/init/Blocks/field_180403_aR +FD: aty/aS net/minecraft/init/Blocks/field_180406_aS +FD: aty/aT net/minecraft/init/Blocks/field_180405_aT +FD: aty/aU net/minecraft/init/Blocks/field_150423_aK +FD: aty/aV net/minecraft/init/Blocks/field_150424_aL +FD: aty/aW net/minecraft/init/Blocks/field_150425_aM +FD: aty/aX net/minecraft/init/Blocks/field_150426_aN +FD: aty/aY net/minecraft/init/Blocks/field_150427_aO +FD: aty/aZ net/minecraft/init/Blocks/field_150428_aP +FD: aty/aa net/minecraft/init/Blocks/field_150478_aa +FD: aty/ab net/minecraft/init/Blocks/field_150480_ab +FD: aty/ac net/minecraft/init/Blocks/field_150474_ac +FD: aty/ad net/minecraft/init/Blocks/field_150476_ad +FD: aty/ae net/minecraft/init/Blocks/field_150486_ae +FD: aty/af net/minecraft/init/Blocks/field_150488_af +FD: aty/ag net/minecraft/init/Blocks/field_150482_ag +FD: aty/ah net/minecraft/init/Blocks/field_150484_ah +FD: aty/ai net/minecraft/init/Blocks/field_150462_ai +FD: aty/aj net/minecraft/init/Blocks/field_150464_aj +FD: aty/ak net/minecraft/init/Blocks/field_150458_ak +FD: aty/al net/minecraft/init/Blocks/field_150460_al +FD: aty/am net/minecraft/init/Blocks/field_150470_am +FD: aty/an net/minecraft/init/Blocks/field_150472_an +FD: aty/ao net/minecraft/init/Blocks/field_180413_ao +FD: aty/ap net/minecraft/init/Blocks/field_180414_ap +FD: aty/aq net/minecraft/init/Blocks/field_180412_aq +FD: aty/ar net/minecraft/init/Blocks/field_180411_ar +FD: aty/as net/minecraft/init/Blocks/field_180410_as +FD: aty/at net/minecraft/init/Blocks/field_180409_at +FD: aty/au net/minecraft/init/Blocks/field_150468_ap +FD: aty/av net/minecraft/init/Blocks/field_150448_aq +FD: aty/aw net/minecraft/init/Blocks/field_150446_ar +FD: aty/ax net/minecraft/init/Blocks/field_150444_as +FD: aty/ay net/minecraft/init/Blocks/field_150442_at +FD: aty/az net/minecraft/init/Blocks/field_150456_au +FD: aty/b net/minecraft/init/Blocks/field_150348_b +FD: aty/bA net/minecraft/init/Blocks/field_150387_bl +FD: aty/bB net/minecraft/init/Blocks/field_150388_bm +FD: aty/bC net/minecraft/init/Blocks/field_150381_bn +FD: aty/bD net/minecraft/init/Blocks/field_150382_bo +FD: aty/bE net/minecraft/init/Blocks/field_150383_bp +FD: aty/bF net/minecraft/init/Blocks/field_150384_bq +FD: aty/bG net/minecraft/init/Blocks/field_150378_br +FD: aty/bH net/minecraft/init/Blocks/field_150377_bs +FD: aty/bI net/minecraft/init/Blocks/field_150380_bt +FD: aty/bJ net/minecraft/init/Blocks/field_150379_bu +FD: aty/bK net/minecraft/init/Blocks/field_150374_bv +FD: aty/bL net/minecraft/init/Blocks/field_150373_bw +FD: aty/bM net/minecraft/init/Blocks/field_150376_bx +FD: aty/bN net/minecraft/init/Blocks/field_150375_by +FD: aty/bO net/minecraft/init/Blocks/field_150372_bz +FD: aty/bP net/minecraft/init/Blocks/field_150412_bA +FD: aty/bQ net/minecraft/init/Blocks/field_150477_bB +FD: aty/bR net/minecraft/init/Blocks/field_150479_bC +FD: aty/bS net/minecraft/init/Blocks/field_150473_bD +FD: aty/bT net/minecraft/init/Blocks/field_150475_bE +FD: aty/bU net/minecraft/init/Blocks/field_150485_bF +FD: aty/bV net/minecraft/init/Blocks/field_150487_bG +FD: aty/bW net/minecraft/init/Blocks/field_150481_bH +FD: aty/bX net/minecraft/init/Blocks/field_150483_bI +FD: aty/bY net/minecraft/init/Blocks/field_150461_bJ +FD: aty/bZ net/minecraft/init/Blocks/field_150463_bK +FD: aty/ba net/minecraft/init/Blocks/field_150414_aQ +FD: aty/bb net/minecraft/init/Blocks/field_150413_aR +FD: aty/bc net/minecraft/init/Blocks/field_150416_aS +FD: aty/bd net/minecraft/init/Blocks/field_150415_aT +FD: aty/be net/minecraft/init/Blocks/field_150418_aU +FD: aty/bf net/minecraft/init/Blocks/field_150417_aV +FD: aty/bg net/minecraft/init/Blocks/field_150420_aW +FD: aty/bh net/minecraft/init/Blocks/field_150419_aX +FD: aty/bi net/minecraft/init/Blocks/field_150411_aY +FD: aty/bj net/minecraft/init/Blocks/field_150410_aZ +FD: aty/bk net/minecraft/init/Blocks/field_150440_ba +FD: aty/bl net/minecraft/init/Blocks/field_150393_bb +FD: aty/bm net/minecraft/init/Blocks/field_150394_bc +FD: aty/bn net/minecraft/init/Blocks/field_150395_bd +FD: aty/bo net/minecraft/init/Blocks/field_180390_bo +FD: aty/bp net/minecraft/init/Blocks/field_180391_bp +FD: aty/bq net/minecraft/init/Blocks/field_180392_bq +FD: aty/br net/minecraft/init/Blocks/field_180386_br +FD: aty/bs net/minecraft/init/Blocks/field_180385_bs +FD: aty/bt net/minecraft/init/Blocks/field_180387_bt +FD: aty/bu net/minecraft/init/Blocks/field_150389_bf +FD: aty/bv net/minecraft/init/Blocks/field_150390_bg +FD: aty/bw net/minecraft/init/Blocks/field_150391_bh +FD: aty/bx net/minecraft/init/Blocks/field_150392_bi +FD: aty/by net/minecraft/init/Blocks/field_150385_bj +FD: aty/bz net/minecraft/init/Blocks/field_150386_bk +FD: aty/c net/minecraft/init/Blocks/field_150349_c +FD: aty/cA net/minecraft/init/Blocks/field_150402_ci +FD: aty/cB net/minecraft/init/Blocks/field_150403_cj +FD: aty/cC net/minecraft/init/Blocks/field_150400_ck +FD: aty/cD net/minecraft/init/Blocks/field_150401_cl +FD: aty/cE net/minecraft/init/Blocks/field_180399_cE +FD: aty/cF net/minecraft/init/Blocks/field_150398_cm +FD: aty/cG net/minecraft/init/Blocks/field_150399_cn +FD: aty/cH net/minecraft/init/Blocks/field_150397_co +FD: aty/cI net/minecraft/init/Blocks/field_180397_cI +FD: aty/cJ net/minecraft/init/Blocks/field_180398_cJ +FD: aty/cK net/minecraft/init/Blocks/field_180393_cK +FD: aty/cL net/minecraft/init/Blocks/field_180394_cL +FD: aty/cM net/minecraft/init/Blocks/field_180395_cM +FD: aty/cN net/minecraft/init/Blocks/field_180396_cN +FD: aty/cO net/minecraft/init/Blocks/field_180388_cO +FD: aty/cP net/minecraft/init/Blocks/field_180389_cP +FD: aty/ca net/minecraft/init/Blocks/field_150457_bL +FD: aty/cb net/minecraft/init/Blocks/field_150459_bM +FD: aty/cc net/minecraft/init/Blocks/field_150469_bN +FD: aty/cd net/minecraft/init/Blocks/field_150471_bO +FD: aty/ce net/minecraft/init/Blocks/field_150465_bP +FD: aty/cf net/minecraft/init/Blocks/field_150467_bQ +FD: aty/cg net/minecraft/init/Blocks/field_150447_bR +FD: aty/ch net/minecraft/init/Blocks/field_150445_bS +FD: aty/ci net/minecraft/init/Blocks/field_150443_bT +FD: aty/cj net/minecraft/init/Blocks/field_150441_bU +FD: aty/ck net/minecraft/init/Blocks/field_150455_bV +FD: aty/cl net/minecraft/init/Blocks/field_150453_bW +FD: aty/cm net/minecraft/init/Blocks/field_180402_cm +FD: aty/cn net/minecraft/init/Blocks/field_150451_bX +FD: aty/co net/minecraft/init/Blocks/field_150449_bY +FD: aty/cp net/minecraft/init/Blocks/field_150438_bZ +FD: aty/cq net/minecraft/init/Blocks/field_150371_ca +FD: aty/cr net/minecraft/init/Blocks/field_150370_cb +FD: aty/cs net/minecraft/init/Blocks/field_150408_cc +FD: aty/ct net/minecraft/init/Blocks/field_150409_cd +FD: aty/cu net/minecraft/init/Blocks/field_150406_ce +FD: aty/cv net/minecraft/init/Blocks/field_180401_cv +FD: aty/cw net/minecraft/init/Blocks/field_180400_cw +FD: aty/cx net/minecraft/init/Blocks/field_150407_cf +FD: aty/cy net/minecraft/init/Blocks/field_150404_cg +FD: aty/cz net/minecraft/init/Blocks/field_150405_ch +FD: aty/d net/minecraft/init/Blocks/field_150346_d +FD: aty/e net/minecraft/init/Blocks/field_150347_e +FD: aty/f net/minecraft/init/Blocks/field_150344_f +FD: aty/g net/minecraft/init/Blocks/field_150345_g +FD: aty/h net/minecraft/init/Blocks/field_150357_h +FD: aty/i net/minecraft/init/Blocks/field_150358_i +FD: aty/j net/minecraft/init/Blocks/field_150355_j +FD: aty/k net/minecraft/init/Blocks/field_150356_k +FD: aty/l net/minecraft/init/Blocks/field_150353_l +FD: aty/m net/minecraft/init/Blocks/field_150354_m +FD: aty/n net/minecraft/init/Blocks/field_150351_n +FD: aty/o net/minecraft/init/Blocks/field_150352_o +FD: aty/p net/minecraft/init/Blocks/field_150366_p +FD: aty/q net/minecraft/init/Blocks/field_150365_q +FD: aty/r net/minecraft/init/Blocks/field_150364_r +FD: aty/s net/minecraft/init/Blocks/field_150363_s +FD: aty/t net/minecraft/init/Blocks/field_150362_t +FD: aty/u net/minecraft/init/Blocks/field_150361_u +FD: aty/v net/minecraft/init/Blocks/field_150360_v +FD: aty/w net/minecraft/init/Blocks/field_150359_w +FD: aty/x net/minecraft/init/Blocks/field_150369_x +FD: aty/y net/minecraft/init/Blocks/field_150368_y +FD: aty/z net/minecraft/init/Blocks/field_150367_z +FD: aub/a net/minecraft/block/BlockBrewingStand/field_176451_a +FD: aub/b net/minecraft/block/BlockBrewingStand/field_149961_a +FD: aud/M net/minecraft/block/BlockButton/field_150047_a +FD: aud/a net/minecraft/block/BlockButton/field_176585_a +FD: aud/b net/minecraft/block/BlockButton/field_176584_b +FD: aue/a net/minecraft/block/BlockButton$SwitchEnumFacing/field_180420_a +FD: auf/a net/minecraft/block/BlockCactus/field_176587_a +FD: aug/a net/minecraft/block/BlockCake/field_176589_a +FD: aui/a net/minecraft/block/BlockCauldron/field_176591_a +FD: auj/M net/minecraft/block/BlockChest/field_149955_b +FD: auj/a net/minecraft/block/BlockChest/field_176459_a +FD: auj/b net/minecraft/block/BlockChest/field_149956_a +FD: aul/a net/minecraft/block/BlockCocoa/field_176501_a +FD: aum/a net/minecraft/block/BlockCocoa$SwitchEnumFacing/field_180415_a +FD: aun/a net/minecraft/block/BlockColored/field_176581_a +FD: auo/a net/minecraft/block/BlockCommandBlock/field_176452_a +FD: aup/a net/minecraft/block/BlockRedstoneComparator/field_176464_a +FD: aup/b net/minecraft/block/BlockRedstoneComparator/field_176463_b +FD: auq/a net/minecraft/block/BlockRedstoneComparator$1/field_180418_a +FD: auq/b net/minecraft/block/BlockRedstoneComparator$1/field_180417_b +FD: aur/a net/minecraft/block/BlockRedstoneComparator$Mode/COMPARE +FD: aur/b net/minecraft/block/BlockRedstoneComparator$Mode/SUBTRACT +FD: aur/c net/minecraft/block/BlockRedstoneComparator$Mode/field_177041_c +FD: aur/d net/minecraft/block/BlockRedstoneComparator$Mode/$VALUES +FD: aut/a net/minecraft/block/BlockWorkbench$InterfaceCraftingTable/field_175128_a +FD: aut/b net/minecraft/block/BlockWorkbench$InterfaceCraftingTable/field_175127_b +FD: auu/a net/minecraft/block/BlockCrops/field_176488_a +FD: auv/a net/minecraft/block/BlockDaylightDetector/field_176436_a +FD: auv/b net/minecraft/block/BlockDaylightDetector/field_176435_b +FD: auy/M net/minecraft/block/BlockRailDetector/field_176574_M +FD: auy/b net/minecraft/block/BlockRailDetector/field_176573_b +FD: av/a net/minecraft/command/server/CommandAchievement$1/field_179608_a +FD: av/b net/minecraft/command/server/CommandAchievement$1/field_179606_b +FD: av/c net/minecraft/command/server/CommandAchievement$1/field_179607_c +FD: ava/M net/minecraft/block/BlockRedstoneDiode/field_149914_a +FD: avb/N net/minecraft/block/BlockDirectional/field_176387_N +FD: avc/a net/minecraft/block/BlockDirt/field_176386_a +FD: avc/b net/minecraft/block/BlockDirt/field_176385_b +FD: avd/a net/minecraft/block/BlockDirt$DirtType/DIRT +FD: avd/b net/minecraft/block/BlockDirt$DirtType/COARSE_DIRT +FD: avd/c net/minecraft/block/BlockDirt$DirtType/PODZOL +FD: avd/d net/minecraft/block/BlockDirt$DirtType/field_176930_d +FD: avd/e net/minecraft/block/BlockDirt$DirtType/field_176931_e +FD: avd/f net/minecraft/block/BlockDirt$DirtType/field_176928_f +FD: avd/g net/minecraft/block/BlockDirt$DirtType/field_176929_g +FD: avd/h net/minecraft/block/BlockDirt$DirtType/$VALUES +FD: ave/M net/minecraft/block/BlockDispenser/field_149943_a +FD: ave/N net/minecraft/block/BlockDispenser/field_149942_b +FD: ave/a net/minecraft/block/BlockDispenser/field_176441_a +FD: ave/b net/minecraft/block/BlockDispenser/field_176440_b +FD: avf/M net/minecraft/block/BlockDoor/field_176521_M +FD: avf/N net/minecraft/block/BlockDoor/field_176522_N +FD: avf/O net/minecraft/block/BlockDoor/field_176523_O +FD: avf/a net/minecraft/block/BlockDoor/field_176520_a +FD: avf/b net/minecraft/block/BlockDoor/field_176519_b +FD: avg/a net/minecraft/block/BlockDoor$EnumDoorHalf/UPPER +FD: avg/b net/minecraft/block/BlockDoor$EnumDoorHalf/LOWER +FD: avg/c net/minecraft/block/BlockDoor$EnumDoorHalf/$VALUES +FD: avh/a net/minecraft/block/BlockDoor$EnumHingePosition/LEFT +FD: avh/b net/minecraft/block/BlockDoor$EnumHingePosition/RIGHT +FD: avh/c net/minecraft/block/BlockDoor$EnumHingePosition/$VALUES +FD: avi/a net/minecraft/block/BlockDoublePlant/field_176493_a +FD: avi/b net/minecraft/block/BlockDoublePlant/field_176492_b +FD: avj/a net/minecraft/block/BlockDoublePlant$EnumBlockHalf/UPPER +FD: avj/b net/minecraft/block/BlockDoublePlant$EnumBlockHalf/LOWER +FD: avj/c net/minecraft/block/BlockDoublePlant$EnumBlockHalf/$VALUES +FD: avk/a net/minecraft/block/BlockDoublePlant$EnumPlantType/SUNFLOWER +FD: avk/b net/minecraft/block/BlockDoublePlant$EnumPlantType/SYRINGA +FD: avk/c net/minecraft/block/BlockDoublePlant$EnumPlantType/GRASS +FD: avk/d net/minecraft/block/BlockDoublePlant$EnumPlantType/FERN +FD: avk/e net/minecraft/block/BlockDoublePlant$EnumPlantType/ROSE +FD: avk/f net/minecraft/block/BlockDoublePlant$EnumPlantType/PAEONIA +FD: avk/g net/minecraft/block/BlockDoublePlant$EnumPlantType/field_176941_g +FD: avk/h net/minecraft/block/BlockDoublePlant$EnumPlantType/field_176949_h +FD: avk/i net/minecraft/block/BlockDoublePlant$EnumPlantType/field_176950_i +FD: avk/j net/minecraft/block/BlockDoublePlant$EnumPlantType/field_176947_j +FD: avk/k net/minecraft/block/BlockDoublePlant$EnumPlantType/$VALUES +FD: avm/O net/minecraft/block/BlockDropper/field_149947_P +FD: avn/a net/minecraft/block/BlockDynamicLiquid/field_149815_a +FD: avq/a net/minecraft/block/BlockEndPortalFrame/field_176508_a +FD: avq/b net/minecraft/block/BlockEndPortalFrame/field_176507_b +FD: avr/a net/minecraft/block/BlockEnderChest/field_176437_a +FD: avt/M net/minecraft/block/BlockFalling/field_149832_M +FD: avu/a net/minecraft/block/BlockFarmland/field_176531_a +FD: avv/M net/minecraft/block/BlockFence/field_176527_M +FD: avv/N net/minecraft/block/BlockFence/field_176528_N +FD: avv/a net/minecraft/block/BlockFence/field_176526_a +FD: avv/b net/minecraft/block/BlockFence/field_176525_b +FD: avw/M net/minecraft/block/BlockFenceGate/field_176467_M +FD: avw/a net/minecraft/block/BlockFenceGate/field_176466_a +FD: avw/b net/minecraft/block/BlockFenceGate/field_176465_b +FD: avx/M net/minecraft/block/BlockFire/field_176544_M +FD: avx/N net/minecraft/block/BlockFire/field_176545_N +FD: avx/O net/minecraft/block/BlockFire/field_176546_O +FD: avx/P net/minecraft/block/BlockFire/field_176541_P +FD: avx/Q net/minecraft/block/BlockFire/field_176539_Q +FD: avx/R net/minecraft/block/BlockFire/field_176542_R +FD: avx/S net/minecraft/block/BlockFire/field_149849_a +FD: avx/T net/minecraft/block/BlockFire/field_149848_b +FD: avx/a net/minecraft/block/BlockFire/field_176543_a +FD: avx/b net/minecraft/block/BlockFire/field_176540_b +FD: avy/a net/minecraft/block/BlockFlower/field_176496_a +FD: avz/a net/minecraft/block/BlockFlower$1/field_180355_a +FD: aw/a net/minecraft/command/server/CommandBanIp/field_147211_a +FD: awa/a net/minecraft/block/BlockFlower$EnumFlowerType/DANDELION +FD: awa/b net/minecraft/block/BlockFlower$EnumFlowerType/POPPY +FD: awa/c net/minecraft/block/BlockFlower$EnumFlowerType/BLUE_ORCHID +FD: awa/d net/minecraft/block/BlockFlower$EnumFlowerType/ALLIUM +FD: awa/e net/minecraft/block/BlockFlower$EnumFlowerType/HOUSTONIA +FD: awa/f net/minecraft/block/BlockFlower$EnumFlowerType/RED_TULIP +FD: awa/g net/minecraft/block/BlockFlower$EnumFlowerType/ORANGE_TULIP +FD: awa/h net/minecraft/block/BlockFlower$EnumFlowerType/WHITE_TULIP +FD: awa/i net/minecraft/block/BlockFlower$EnumFlowerType/PINK_TULIP +FD: awa/j net/minecraft/block/BlockFlower$EnumFlowerType/OXEYE_DAISY +FD: awa/k net/minecraft/block/BlockFlower$EnumFlowerType/field_176981_k +FD: awa/l net/minecraft/block/BlockFlower$EnumFlowerType/field_176978_l +FD: awa/m net/minecraft/block/BlockFlower$EnumFlowerType/field_176979_m +FD: awa/n net/minecraft/block/BlockFlower$EnumFlowerType/field_176976_n +FD: awa/o net/minecraft/block/BlockFlower$EnumFlowerType/field_176977_o +FD: awa/p net/minecraft/block/BlockFlower$EnumFlowerType/$VALUES +FD: awb/a net/minecraft/block/BlockFlower$EnumFlowerType$1/field_180351_a +FD: awc/a net/minecraft/block/BlockFlower$EnumFlowerColor/YELLOW +FD: awc/b net/minecraft/block/BlockFlower$EnumFlowerColor/RED +FD: awc/c net/minecraft/block/BlockFlower$EnumFlowerColor/$VALUES +FD: awd/a net/minecraft/block/BlockFlowerPot/field_176444_a +FD: awd/b net/minecraft/block/BlockFlowerPot/field_176443_b +FD: awe/a net/minecraft/block/BlockFlowerPot$SwitchEnumType/field_180353_a +FD: awe/b net/minecraft/block/BlockFlowerPot$SwitchEnumType/field_180352_b +FD: awf/a net/minecraft/block/BlockFlowerPot$EnumFlowerType/EMPTY +FD: awf/b net/minecraft/block/BlockFlowerPot$EnumFlowerType/POPPY +FD: awf/c net/minecraft/block/BlockFlowerPot$EnumFlowerType/BLUE_ORCHID +FD: awf/d net/minecraft/block/BlockFlowerPot$EnumFlowerType/ALLIUM +FD: awf/e net/minecraft/block/BlockFlowerPot$EnumFlowerType/HOUSTONIA +FD: awf/f net/minecraft/block/BlockFlowerPot$EnumFlowerType/RED_TULIP +FD: awf/g net/minecraft/block/BlockFlowerPot$EnumFlowerType/ORANGE_TULIP +FD: awf/h net/minecraft/block/BlockFlowerPot$EnumFlowerType/WHITE_TULIP +FD: awf/i net/minecraft/block/BlockFlowerPot$EnumFlowerType/PINK_TULIP +FD: awf/j net/minecraft/block/BlockFlowerPot$EnumFlowerType/OXEYE_DAISY +FD: awf/k net/minecraft/block/BlockFlowerPot$EnumFlowerType/DANDELION +FD: awf/l net/minecraft/block/BlockFlowerPot$EnumFlowerType/OAK_SAPLING +FD: awf/m net/minecraft/block/BlockFlowerPot$EnumFlowerType/SPRUCE_SAPLING +FD: awf/n net/minecraft/block/BlockFlowerPot$EnumFlowerType/BIRCH_SAPLING +FD: awf/o net/minecraft/block/BlockFlowerPot$EnumFlowerType/JUNGLE_SAPLING +FD: awf/p net/minecraft/block/BlockFlowerPot$EnumFlowerType/ACACIA_SAPLING +FD: awf/q net/minecraft/block/BlockFlowerPot$EnumFlowerType/DARK_OAK_SAPLING +FD: awf/r net/minecraft/block/BlockFlowerPot$EnumFlowerType/MUSHROOM_RED +FD: awf/s net/minecraft/block/BlockFlowerPot$EnumFlowerType/MUSHROOM_BROWN +FD: awf/t net/minecraft/block/BlockFlowerPot$EnumFlowerType/DEAD_BUSH +FD: awf/u net/minecraft/block/BlockFlowerPot$EnumFlowerType/FERN +FD: awf/v net/minecraft/block/BlockFlowerPot$EnumFlowerType/CACTUS +FD: awf/w net/minecraft/block/BlockFlowerPot$EnumFlowerType/field_177006_w +FD: awf/x net/minecraft/block/BlockFlowerPot$EnumFlowerType/$VALUES +FD: awj/M net/minecraft/block/BlockFurnace/field_149934_M +FD: awj/a net/minecraft/block/BlockFurnace/field_176447_a +FD: awj/b net/minecraft/block/BlockFurnace/field_149932_b +FD: awk/a net/minecraft/block/BlockFurnace$SwitchEnumFacing/field_180356_a +FD: awn/a net/minecraft/block/BlockGrass/field_176498_a +FD: awq/a net/minecraft/block/BlockSlab/field_176554_a +FD: awr/a net/minecraft/block/BlockSlab$EnumBlockHalf/TOP +FD: awr/b net/minecraft/block/BlockSlab$EnumBlockHalf/BOTTOM +FD: awr/c net/minecraft/block/BlockSlab$EnumBlockHalf/field_176988_c +FD: awr/d net/minecraft/block/BlockSlab$EnumBlockHalf/$VALUES +FD: awt/a net/minecraft/block/BlockBreakable/field_149996_a +FD: awx/a net/minecraft/block/BlockHopper/field_176430_a +FD: awx/b net/minecraft/block/BlockHopper/field_176429_b +FD: awz/a net/minecraft/block/BlockHugeMushroom/field_176380_a +FD: awz/b net/minecraft/block/BlockHugeMushroom/field_176379_b +FD: axa/a net/minecraft/block/BlockHugeMushroom$EnumType/NORTH_WEST +FD: axa/b net/minecraft/block/BlockHugeMushroom$EnumType/NORTH +FD: axa/c net/minecraft/block/BlockHugeMushroom$EnumType/NORTH_EAST +FD: axa/d net/minecraft/block/BlockHugeMushroom$EnumType/WEST +FD: axa/e net/minecraft/block/BlockHugeMushroom$EnumType/CENTER +FD: axa/f net/minecraft/block/BlockHugeMushroom$EnumType/EAST +FD: axa/g net/minecraft/block/BlockHugeMushroom$EnumType/SOUTH_WEST +FD: axa/h net/minecraft/block/BlockHugeMushroom$EnumType/SOUTH +FD: axa/i net/minecraft/block/BlockHugeMushroom$EnumType/SOUTH_EAST +FD: axa/j net/minecraft/block/BlockHugeMushroom$EnumType/STEM +FD: axa/k net/minecraft/block/BlockHugeMushroom$EnumType/ALL_INSIDE +FD: axa/l net/minecraft/block/BlockHugeMushroom$EnumType/ALL_OUTSIDE +FD: axa/m net/minecraft/block/BlockHugeMushroom$EnumType/ALL_STEM +FD: axa/n net/minecraft/block/BlockHugeMushroom$EnumType/field_176905_n +FD: axa/o net/minecraft/block/BlockHugeMushroom$EnumType/field_176906_o +FD: axa/p net/minecraft/block/BlockHugeMushroom$EnumType/field_176914_p +FD: axa/q net/minecraft/block/BlockHugeMushroom$EnumType/$VALUES +FD: axc/a net/minecraft/block/BlockJukebox/field_176432_a +FD: axd/a net/minecraft/block/BlockJukebox$TileEntityJukebox/field_145858_a +FD: axe/a net/minecraft/block/BlockLadder/field_176382_a +FD: axf/a net/minecraft/block/BlockLadder$SwitchEnumFacing/field_180190_a +FD: axg/M net/minecraft/block/BlockLeaves/field_150128_a +FD: axg/N net/minecraft/block/BlockLeaves/field_150127_b +FD: axg/O net/minecraft/block/BlockLeaves/field_176238_O +FD: axg/a net/minecraft/block/BlockLeaves/field_176237_a +FD: axg/b net/minecraft/block/BlockLeaves/field_176236_b +FD: axi/a net/minecraft/block/BlockLever/field_176360_a +FD: axi/b net/minecraft/block/BlockLever/field_176359_b +FD: axj/a net/minecraft/block/BlockLever$SwitchEnumFacing/field_180165_a +FD: axj/b net/minecraft/block/BlockLever$SwitchEnumFacing/field_180163_b +FD: axj/c net/minecraft/block/BlockLever$SwitchEnumFacing/field_180164_c +FD: axk/a net/minecraft/block/BlockLever$EnumOrientation/DOWN_X +FD: axk/b net/minecraft/block/BlockLever$EnumOrientation/EAST +FD: axk/c net/minecraft/block/BlockLever$EnumOrientation/WEST +FD: axk/d net/minecraft/block/BlockLever$EnumOrientation/SOUTH +FD: axk/e net/minecraft/block/BlockLever$EnumOrientation/NORTH +FD: axk/f net/minecraft/block/BlockLever$EnumOrientation/UP_Z +FD: axk/g net/minecraft/block/BlockLever$EnumOrientation/UP_X +FD: axk/h net/minecraft/block/BlockLever$EnumOrientation/DOWN_Z +FD: axk/i net/minecraft/block/BlockLever$EnumOrientation/field_176869_i +FD: axk/j net/minecraft/block/BlockLever$EnumOrientation/field_176866_j +FD: axk/k net/minecraft/block/BlockLever$EnumOrientation/field_176867_k +FD: axk/l net/minecraft/block/BlockLever$EnumOrientation/field_176864_l +FD: axk/m net/minecraft/block/BlockLever$EnumOrientation/$VALUES +FD: axl/b net/minecraft/block/BlockLiquid/field_176367_b +FD: axm/a net/minecraft/block/BlockLog/field_176299_a +FD: axn/a net/minecraft/block/BlockLog$SwitchAxis/field_180167_a +FD: axo/a net/minecraft/block/BlockLog$EnumAxis/X +FD: axo/b net/minecraft/block/BlockLog$EnumAxis/Y +FD: axo/c net/minecraft/block/BlockLog$EnumAxis/Z +FD: axo/d net/minecraft/block/BlockLog$EnumAxis/NONE +FD: axo/e net/minecraft/block/BlockLog$EnumAxis/field_176874_e +FD: axo/f net/minecraft/block/BlockLog$EnumAxis/$VALUES +FD: axq/a net/minecraft/block/BlockCompressed/field_150202_a +FD: axs/a net/minecraft/block/BlockSilverfish/field_176378_a +FD: axt/a net/minecraft/block/BlockSilverfish$SwitchEnumType/field_180178_a +FD: axu/a net/minecraft/block/BlockSilverfish$EnumType/STONE +FD: axu/b net/minecraft/block/BlockSilverfish$EnumType/COBBLESTONE +FD: axu/c net/minecraft/block/BlockSilverfish$EnumType/STONEBRICK +FD: axu/d net/minecraft/block/BlockSilverfish$EnumType/MOSSY_STONEBRICK +FD: axu/e net/minecraft/block/BlockSilverfish$EnumType/CRACKED_STONEBRICK +FD: axu/f net/minecraft/block/BlockSilverfish$EnumType/CHISELED_STONEBRICK +FD: axu/g net/minecraft/block/BlockSilverfish$EnumType/field_176885_g +FD: axu/h net/minecraft/block/BlockSilverfish$EnumType/field_176893_h +FD: axu/i net/minecraft/block/BlockSilverfish$EnumType/field_176894_i +FD: axu/j net/minecraft/block/BlockSilverfish$EnumType/field_176891_j +FD: axu/k net/minecraft/block/BlockSilverfish$EnumType/$VALUES +FD: ayc/a net/minecraft/block/BlockMycelium/field_176384_a +FD: aye/a net/minecraft/block/BlockNetherWart/field_176486_a +FD: ayg/P net/minecraft/block/BlockNewLeaf/field_176240_P +FD: ayi/b net/minecraft/block/BlockNewLog/field_176300_b +FD: ayk/a net/minecraft/block/BlockNewLog$SwitchEnumAxis/field_180191_a +FD: ayl/M net/minecraft/block/BlockStoneSlabNew/field_176559_M +FD: ayl/b net/minecraft/block/BlockStoneSlabNew/field_176558_b +FD: aym/a net/minecraft/block/BlockStoneSlabNew$EnumType/RED_SANDSTONE +FD: aym/b net/minecraft/block/BlockStoneSlabNew$EnumType/field_176921_b +FD: aym/c net/minecraft/block/BlockStoneSlabNew$EnumType/field_176922_c +FD: aym/d net/minecraft/block/BlockStoneSlabNew$EnumType/field_176919_d +FD: aym/e net/minecraft/block/BlockStoneSlabNew$EnumType/$VALUES +FD: ayn/a net/minecraft/block/BlockNote/field_176434_a +FD: ayp/P net/minecraft/block/BlockOldLeaf/field_176239_P +FD: ayr/b net/minecraft/block/BlockOldLog/field_176301_b +FD: ayt/a net/minecraft/block/BlockOldLog$SwitchEnumAxis/field_180203_a +FD: ayw/a net/minecraft/block/BlockPlanks/field_176383_a +FD: ayx/a net/minecraft/block/BlockPlanks$EnumType/OAK +FD: ayx/b net/minecraft/block/BlockPlanks$EnumType/SPRUCE +FD: ayx/c net/minecraft/block/BlockPlanks$EnumType/BIRCH +FD: ayx/d net/minecraft/block/BlockPlanks$EnumType/JUNGLE +FD: ayx/e net/minecraft/block/BlockPlanks$EnumType/ACACIA +FD: ayx/f net/minecraft/block/BlockPlanks$EnumType/DARK_OAK +FD: ayx/g net/minecraft/block/BlockPlanks$EnumType/field_176842_g +FD: ayx/h net/minecraft/block/BlockPlanks$EnumType/field_176850_h +FD: ayx/i net/minecraft/block/BlockPlanks$EnumType/field_176851_i +FD: ayx/j net/minecraft/block/BlockPlanks$EnumType/field_176848_j +FD: ayx/k net/minecraft/block/BlockPlanks$EnumType/$VALUES +FD: ayy/a net/minecraft/block/BlockPortal/field_176550_a +FD: ayz/a net/minecraft/block/BlockPortal$Size/field_150867_a +FD: ayz/b net/minecraft/block/BlockPortal$Size/field_150865_b +FD: ayz/c net/minecraft/block/BlockPortal$Size/field_150866_c +FD: ayz/d net/minecraft/block/BlockPortal$Size/field_150863_d +FD: ayz/e net/minecraft/block/BlockPortal$Size/field_150864_e +FD: ayz/f net/minecraft/block/BlockPortal$Size/field_150861_f +FD: ayz/g net/minecraft/block/BlockPortal$Size/field_150862_g +FD: ayz/h net/minecraft/block/BlockPortal$Size/field_150868_h +FD: azc/M net/minecraft/block/BlockRailPowered/field_176569_M +FD: azc/b net/minecraft/block/BlockRailPowered/field_176568_b +FD: aze/a net/minecraft/block/BlockRailPowered$SwitchEnumRailDirection/field_180121_a +FD: azf/a net/minecraft/block/BlockPressurePlate/field_176580_a +FD: azf/b net/minecraft/block/BlockPressurePlate/field_150069_a +FD: azg/a net/minecraft/block/BlockPressurePlate$SwitchSensitivity/field_180127_a +FD: azh/a net/minecraft/block/BlockPressurePlate$Sensitivity/EVERYTHING +FD: azh/b net/minecraft/block/BlockPressurePlate$Sensitivity/MOBS +FD: azh/c net/minecraft/block/BlockPressurePlate$Sensitivity/$VALUES +FD: azi/M net/minecraft/block/BlockPrismarine/field_176333_M +FD: azi/N net/minecraft/block/BlockPrismarine/field_176334_N +FD: azi/a net/minecraft/block/BlockPrismarine/field_176332_a +FD: azi/b net/minecraft/block/BlockPrismarine/field_176331_b +FD: azj/a net/minecraft/block/BlockPrismarine$EnumType/ROUGH +FD: azj/b net/minecraft/block/BlockPrismarine$EnumType/BRICKS +FD: azj/c net/minecraft/block/BlockPrismarine$EnumType/DARK +FD: azj/d net/minecraft/block/BlockPrismarine$EnumType/field_176813_d +FD: azj/e net/minecraft/block/BlockPrismarine$EnumType/field_176814_e +FD: azj/f net/minecraft/block/BlockPrismarine$EnumType/field_176811_f +FD: azj/g net/minecraft/block/BlockPrismarine$EnumType/field_176812_g +FD: azj/h net/minecraft/block/BlockPrismarine$EnumType/$VALUES +FD: azk/M net/minecraft/block/BlockPumpkin/field_176395_M +FD: azk/O net/minecraft/block/BlockPumpkin/field_176396_O +FD: azk/a net/minecraft/block/BlockPumpkin/field_176394_a +FD: azk/b net/minecraft/block/BlockPumpkin/field_176393_b +FD: azl/a net/minecraft/block/BlockQuartz/field_176335_a +FD: azm/a net/minecraft/block/BlockQuartz$SwitchAxis/field_180101_a +FD: azn/a net/minecraft/block/BlockQuartz$EnumType/DEFAULT +FD: azn/b net/minecraft/block/BlockQuartz$EnumType/CHISELED +FD: azn/c net/minecraft/block/BlockQuartz$EnumType/LINES_Y +FD: azn/d net/minecraft/block/BlockQuartz$EnumType/LINES_X +FD: azn/e net/minecraft/block/BlockQuartz$EnumType/LINES_Z +FD: azn/f net/minecraft/block/BlockQuartz$EnumType/field_176797_f +FD: azn/g net/minecraft/block/BlockQuartz$EnumType/field_176798_g +FD: azn/h net/minecraft/block/BlockQuartz$EnumType/field_176805_h +FD: azn/i net/minecraft/block/BlockQuartz$EnumType/field_176806_i +FD: azn/j net/minecraft/block/BlockQuartz$EnumType/$VALUES +FD: azo/b net/minecraft/block/BlockRail/field_176565_b +FD: azq/a net/minecraft/block/BlockRedSandstone/field_176336_a +FD: azr/a net/minecraft/block/BlockRedSandstone$EnumType/DEFAULT +FD: azr/b net/minecraft/block/BlockRedSandstone$EnumType/CHISELED +FD: azr/c net/minecraft/block/BlockRedSandstone$EnumType/SMOOTH +FD: azr/d net/minecraft/block/BlockRedSandstone$EnumType/field_176831_d +FD: azr/e net/minecraft/block/BlockRedSandstone$EnumType/field_176832_e +FD: azr/f net/minecraft/block/BlockRedSandstone$EnumType/field_176829_f +FD: azr/g net/minecraft/block/BlockRedSandstone$EnumType/field_176830_g +FD: azr/h net/minecraft/block/BlockRedSandstone$EnumType/$VALUES +FD: azs/a net/minecraft/block/BlockRedstoneOre/field_150187_a +FD: azt/M net/minecraft/block/BlockRedstoneWire/field_176349_M +FD: azt/N net/minecraft/block/BlockRedstoneWire/field_176350_N +FD: azt/O net/minecraft/block/BlockRedstoneWire/field_176351_O +FD: azt/P net/minecraft/block/BlockRedstoneWire/field_150181_a +FD: azt/Q net/minecraft/block/BlockRedstoneWire/field_150179_b +FD: azt/a net/minecraft/block/BlockRedstoneWire/field_176348_a +FD: azt/b net/minecraft/block/BlockRedstoneWire/field_176347_b +FD: azu/a net/minecraft/block/BlockRedstoneWire$EnumAttachPosition/UP +FD: azu/b net/minecraft/block/BlockRedstoneWire$EnumAttachPosition/SIDE +FD: azu/c net/minecraft/block/BlockRedstoneWire$EnumAttachPosition/NONE +FD: azu/d net/minecraft/block/BlockRedstoneWire$EnumAttachPosition/field_176820_d +FD: azu/e net/minecraft/block/BlockRedstoneWire$EnumAttachPosition/$VALUES +FD: azv/a net/minecraft/block/BlockRedstoneLight/field_150171_a +FD: azw/M net/minecraft/block/BlockRedstoneTorch/field_150113_a +FD: azw/b net/minecraft/block/BlockRedstoneTorch/field_150112_b +FD: azx/a net/minecraft/block/BlockRedstoneTorch$Toggle/field_180111_a +FD: azx/b net/minecraft/block/BlockRedstoneTorch$Toggle/field_150844_d +FD: azy/a net/minecraft/block/BlockReed/field_176355_a +FD: azz/a net/minecraft/block/BlockRedstoneRepeater/field_176411_a +FD: azz/b net/minecraft/block/BlockRedstoneRepeater/field_176410_b +FD: b/a net/minecraft/crash/CrashReport/field_147150_a +FD: b/b net/minecraft/crash/CrashReport/field_71513_a +FD: b/c net/minecraft/crash/CrashReport/field_71511_b +FD: b/d net/minecraft/crash/CrashReport/field_85061_c +FD: b/e net/minecraft/crash/CrashReport/field_71512_c +FD: b/f net/minecraft/crash/CrashReport/field_71510_d +FD: b/g net/minecraft/crash/CrashReport/field_85059_f +FD: b/h net/minecraft/crash/CrashReport/field_85060_g +FD: baa/M net/minecraft/block/BlockRotatedPillar/field_176298_M +FD: bab/a net/minecraft/block/BlockSand/field_176504_a +FD: bac/a net/minecraft/block/BlockSand$EnumType/SAND +FD: bac/b net/minecraft/block/BlockSand$EnumType/RED_SAND +FD: bac/c net/minecraft/block/BlockSand$EnumType/field_176695_c +FD: bac/d net/minecraft/block/BlockSand$EnumType/field_176692_d +FD: bac/e net/minecraft/block/BlockSand$EnumType/field_176693_e +FD: bac/f net/minecraft/block/BlockSand$EnumType/field_176690_f +FD: bac/g net/minecraft/block/BlockSand$EnumType/field_176691_g +FD: bac/h net/minecraft/block/BlockSand$EnumType/$VALUES +FD: bad/a net/minecraft/block/BlockSandStone/field_176297_a +FD: bae/a net/minecraft/block/BlockSandStone$EnumType/DEFAULT +FD: bae/b net/minecraft/block/BlockSandStone$EnumType/CHISELED +FD: bae/c net/minecraft/block/BlockSandStone$EnumType/SMOOTH +FD: bae/d net/minecraft/block/BlockSandStone$EnumType/field_176679_d +FD: bae/e net/minecraft/block/BlockSandStone$EnumType/field_176680_e +FD: bae/f net/minecraft/block/BlockSandStone$EnumType/field_176677_f +FD: bae/g net/minecraft/block/BlockSandStone$EnumType/field_176678_g +FD: bae/h net/minecraft/block/BlockSandStone$EnumType/$VALUES +FD: baf/a net/minecraft/block/BlockSapling/field_176480_a +FD: baf/b net/minecraft/block/BlockSapling/field_176479_b +FD: bag/a net/minecraft/block/BlockSapling$SwitchEnumType/field_177065_a +FD: baj/M net/minecraft/block/BlockSkull/field_176419_M +FD: baj/N net/minecraft/block/BlockSkull/field_176420_N +FD: baj/O net/minecraft/block/BlockSkull/field_176421_O +FD: baj/a net/minecraft/block/BlockSkull/field_176418_a +FD: baj/b net/minecraft/block/BlockSkull/field_176417_b +FD: bal/a net/minecraft/block/BlockSkull$SwitchEnumFacing/field_177063_a +FD: bao/a net/minecraft/block/BlockSnow/field_176315_a +FD: baq/a net/minecraft/block/BlockSponge/field_176313_a +FD: bar/a net/minecraft/block/BlockStainedGlass/field_176547_a +FD: bas/a net/minecraft/block/BlockStainedGlassPane/field_176245_a +FD: bat/M net/minecraft/block/BlockStairs/field_176310_M +FD: bat/N net/minecraft/block/BlockStairs/field_150150_a +FD: bat/O net/minecraft/block/BlockStairs/field_150149_b +FD: bat/P net/minecraft/block/BlockStairs/field_150151_M +FD: bat/Q net/minecraft/block/BlockStairs/field_150152_N +FD: bat/R net/minecraft/block/BlockStairs/field_150153_O +FD: bat/a net/minecraft/block/BlockStairs/field_176309_a +FD: bat/b net/minecraft/block/BlockStairs/field_176308_b +FD: bau/a net/minecraft/block/BlockStairs$EnumHalf/TOP +FD: bau/b net/minecraft/block/BlockStairs$EnumHalf/BOTTOM +FD: bau/c net/minecraft/block/BlockStairs$EnumHalf/field_176709_c +FD: bau/d net/minecraft/block/BlockStairs$EnumHalf/$VALUES +FD: bav/a net/minecraft/block/BlockStairs$EnumShape/STRAIGHT +FD: bav/b net/minecraft/block/BlockStairs$EnumShape/INNER_LEFT +FD: bav/c net/minecraft/block/BlockStairs$EnumShape/INNER_RIGHT +FD: bav/d net/minecraft/block/BlockStairs$EnumShape/OUTER_LEFT +FD: bav/e net/minecraft/block/BlockStairs$EnumShape/OUTER_RIGHT +FD: bav/f net/minecraft/block/BlockStairs$EnumShape/field_176699_f +FD: bav/g net/minecraft/block/BlockStairs$EnumShape/$VALUES +FD: baw/a net/minecraft/block/BlockStandingSign/field_176413_a +FD: bay/M net/minecraft/block/BlockStem/field_149877_a +FD: bay/a net/minecraft/block/BlockStem/field_176484_a +FD: bay/b net/minecraft/block/BlockStem/field_176483_b +FD: bb/a net/minecraft/command/CommandClone$StaticCloneData/field_179537_a +FD: bb/b net/minecraft/command/CommandClone$StaticCloneData/field_179535_b +FD: bb/c net/minecraft/command/CommandClone$StaticCloneData/field_179536_c +FD: bba/a net/minecraft/block/BlockStone/field_176247_a +FD: bbb/a net/minecraft/block/BlockStone$EnumType/STONE +FD: bbb/b net/minecraft/block/BlockStone$EnumType/GRANITE +FD: bbb/c net/minecraft/block/BlockStone$EnumType/GRANITE_SMOOTH +FD: bbb/d net/minecraft/block/BlockStone$EnumType/DIORITE +FD: bbb/e net/minecraft/block/BlockStone$EnumType/DIORITE_SMOOTH +FD: bbb/f net/minecraft/block/BlockStone$EnumType/ANDESITE +FD: bbb/g net/minecraft/block/BlockStone$EnumType/ANDESITE_SMOOTH +FD: bbb/h net/minecraft/block/BlockStone$EnumType/field_176655_h +FD: bbb/i net/minecraft/block/BlockStone$EnumType/field_176656_i +FD: bbb/j net/minecraft/block/BlockStone$EnumType/field_176653_j +FD: bbb/k net/minecraft/block/BlockStone$EnumType/field_176654_k +FD: bbb/l net/minecraft/block/BlockStone$EnumType/$VALUES +FD: bbc/M net/minecraft/block/BlockStoneBrick/field_176250_M +FD: bbc/N net/minecraft/block/BlockStoneBrick/field_176251_N +FD: bbc/O net/minecraft/block/BlockStoneBrick/field_176252_O +FD: bbc/a net/minecraft/block/BlockStoneBrick/field_176249_a +FD: bbc/b net/minecraft/block/BlockStoneBrick/field_176248_b +FD: bbd/a net/minecraft/block/BlockStoneBrick$EnumType/DEFAULT +FD: bbd/b net/minecraft/block/BlockStoneBrick$EnumType/MOSSY +FD: bbd/c net/minecraft/block/BlockStoneBrick$EnumType/CRACKED +FD: bbd/d net/minecraft/block/BlockStoneBrick$EnumType/CHISELED +FD: bbd/e net/minecraft/block/BlockStoneBrick$EnumType/field_176618_e +FD: bbd/f net/minecraft/block/BlockStoneBrick$EnumType/field_176615_f +FD: bbd/g net/minecraft/block/BlockStoneBrick$EnumType/field_176616_g +FD: bbd/h net/minecraft/block/BlockStoneBrick$EnumType/field_176622_h +FD: bbd/i net/minecraft/block/BlockStoneBrick$EnumType/$VALUES +FD: bbf/M net/minecraft/block/BlockStoneSlab/field_176556_M +FD: bbf/b net/minecraft/block/BlockStoneSlab/field_176555_b +FD: bbg/a net/minecraft/block/BlockStoneSlab$EnumType/STONE +FD: bbg/b net/minecraft/block/BlockStoneSlab$EnumType/SAND +FD: bbg/c net/minecraft/block/BlockStoneSlab$EnumType/WOOD +FD: bbg/d net/minecraft/block/BlockStoneSlab$EnumType/COBBLESTONE +FD: bbg/e net/minecraft/block/BlockStoneSlab$EnumType/BRICK +FD: bbg/f net/minecraft/block/BlockStoneSlab$EnumType/SMOOTHBRICK +FD: bbg/g net/minecraft/block/BlockStoneSlab$EnumType/NETHERBRICK +FD: bbg/h net/minecraft/block/BlockStoneSlab$EnumType/QUARTZ +FD: bbg/i net/minecraft/block/BlockStoneSlab$EnumType/field_176640_i +FD: bbg/j net/minecraft/block/BlockStoneSlab$EnumType/field_176637_j +FD: bbg/k net/minecraft/block/BlockStoneSlab$EnumType/field_176638_k +FD: bbg/l net/minecraft/block/BlockStoneSlab$EnumType/field_176635_l +FD: bbg/m net/minecraft/block/BlockStoneSlab$EnumType/$VALUES +FD: bbh/a net/minecraft/block/BlockTallGrass/field_176497_a +FD: bbi/a net/minecraft/block/BlockTallGrass$EnumType/DEAD_BUSH +FD: bbi/b net/minecraft/block/BlockTallGrass$EnumType/GRASS +FD: bbi/c net/minecraft/block/BlockTallGrass$EnumType/FERN +FD: bbi/d net/minecraft/block/BlockTallGrass$EnumType/field_177048_d +FD: bbi/e net/minecraft/block/BlockTallGrass$EnumType/field_177049_e +FD: bbi/f net/minecraft/block/BlockTallGrass$EnumType/field_177046_f +FD: bbi/g net/minecraft/block/BlockTallGrass$EnumType/$VALUES +FD: bbj/M net/minecraft/block/BlockPane/field_176242_M +FD: bbj/N net/minecraft/block/BlockPane/field_176243_N +FD: bbj/O net/minecraft/block/BlockPane/field_176244_O +FD: bbj/a net/minecraft/block/BlockPane/field_150099_b +FD: bbj/b net/minecraft/block/BlockPane/field_176241_b +FD: bbk/a net/minecraft/block/BlockTNT/field_176246_a +FD: bbl/a net/minecraft/block/BlockTorch/field_176596_a +FD: bbn/a net/minecraft/block/BlockTorch$SwitchEnumFacing/field_176609_a +FD: bbo/Q net/minecraft/block/BlockLeavesBase/field_150121_P +FD: bbp/M net/minecraft/block/BlockTrapDoor/field_176285_M +FD: bbp/a net/minecraft/block/BlockTrapDoor/field_176284_a +FD: bbp/b net/minecraft/block/BlockTrapDoor/field_176283_b +FD: bbq/a net/minecraft/block/BlockTrapDoor$SwitchEnumFacing/field_177058_a +FD: bbr/a net/minecraft/block/BlockTrapDoor$DoorHalf/TOP +FD: bbr/b net/minecraft/block/BlockTrapDoor$DoorHalf/BOTTOM +FD: bbr/c net/minecraft/block/BlockTrapDoor$DoorHalf/field_176671_c +FD: bbr/d net/minecraft/block/BlockTrapDoor$DoorHalf/$VALUES +FD: bbs/M net/minecraft/block/BlockTripWire/field_176294_M +FD: bbs/N net/minecraft/block/BlockTripWire/field_176295_N +FD: bbs/O net/minecraft/block/BlockTripWire/field_176296_O +FD: bbs/P net/minecraft/block/BlockTripWire/field_176291_P +FD: bbs/Q net/minecraft/block/BlockTripWire/field_176289_Q +FD: bbs/R net/minecraft/block/BlockTripWire/field_176292_R +FD: bbs/a net/minecraft/block/BlockTripWire/field_176293_a +FD: bbs/b net/minecraft/block/BlockTripWire/field_176290_b +FD: bbt/M net/minecraft/block/BlockTripWireHook/field_176265_M +FD: bbt/N net/minecraft/block/BlockTripWireHook/field_176266_N +FD: bbt/a net/minecraft/block/BlockTripWireHook/field_176264_a +FD: bbt/b net/minecraft/block/BlockTripWireHook/field_176263_b +FD: bbu/a net/minecraft/block/BlockTripWireHook$SwitchEnumFacing/field_177056_a +FD: bbv/M net/minecraft/block/BlockVine/field_176278_M +FD: bbv/N net/minecraft/block/BlockVine/field_176279_N +FD: bbv/O net/minecraft/block/BlockVine/field_176280_O +FD: bbv/P net/minecraft/block/BlockVine/field_176274_P +FD: bbv/Q net/minecraft/block/BlockVine/field_176272_Q +FD: bbv/R net/minecraft/block/BlockVine/field_176276_R +FD: bbv/S net/minecraft/block/BlockVine/field_176275_S +FD: bbv/T net/minecraft/block/BlockVine/field_176271_T +FD: bbv/a net/minecraft/block/BlockVine/field_176277_a +FD: bbv/b net/minecraft/block/BlockVine/field_176273_b +FD: bbw/a net/minecraft/block/BlockVine$SwitchEnumFacing/field_177057_a +FD: bbx/M net/minecraft/block/BlockWall/field_176257_M +FD: bbx/N net/minecraft/block/BlockWall/field_176258_N +FD: bbx/O net/minecraft/block/BlockWall/field_176259_O +FD: bbx/P net/minecraft/block/BlockWall/field_176255_P +FD: bbx/a net/minecraft/block/BlockWall/field_176256_a +FD: bbx/b net/minecraft/block/BlockWall/field_176254_b +FD: bby/a net/minecraft/block/BlockWall$EnumType/NORMAL +FD: bby/b net/minecraft/block/BlockWall$EnumType/MOSSY +FD: bby/c net/minecraft/block/BlockWall$EnumType/field_176666_c +FD: bby/d net/minecraft/block/BlockWall$EnumType/field_176663_d +FD: bby/e net/minecraft/block/BlockWall$EnumType/field_176664_e +FD: bby/f net/minecraft/block/BlockWall$EnumType/field_176661_f +FD: bby/g net/minecraft/block/BlockWall$EnumType/$VALUES +FD: bbz/a net/minecraft/block/BlockWallSign/field_176412_a +FD: bca/a net/minecraft/block/BlockWallSign$SwitchEnumFacing/field_177331_a +FD: bcd/a net/minecraft/block/BlockPressurePlateWeighted/field_176579_a +FD: bcd/b net/minecraft/block/BlockPressurePlateWeighted/field_150068_a +FD: bcf/b net/minecraft/block/BlockWoodSlab/field_176557_b +FD: bcg/a net/minecraft/block/BlockCarpet/field_176330_a +FD: bci/a net/minecraft/tileentity/TileEntityBanner/field_175120_a +FD: bci/f net/minecraft/tileentity/TileEntityBanner/field_175118_f +FD: bci/g net/minecraft/tileentity/TileEntityBanner/field_175119_g +FD: bci/h net/minecraft/tileentity/TileEntityBanner/field_175122_h +FD: bci/i net/minecraft/tileentity/TileEntityBanner/field_175123_i +FD: bci/j net/minecraft/tileentity/TileEntityBanner/field_175121_j +FD: bcj/A net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/HALF_VERTICAL +FD: bcj/B net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/HALF_HORIZONTAL +FD: bcj/C net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/HALF_VERTICAL_MIRROR +FD: bcj/D net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/HALF_HORIZONTAL_MIRROR +FD: bcj/E net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/BORDER +FD: bcj/F net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/CURLY_BORDER +FD: bcj/G net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/CREEPER +FD: bcj/H net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/GRADIENT +FD: bcj/I net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/GRADIENT_UP +FD: bcj/J net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/BRICKS +FD: bcj/K net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/SKULL +FD: bcj/L net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/FLOWER +FD: bcj/M net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/MOJANG +FD: bcj/N net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/field_177284_N +FD: bcj/O net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/field_177285_O +FD: bcj/P net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/field_177291_P +FD: bcj/Q net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/field_177290_Q +FD: bcj/R net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/$VALUES +FD: bcj/a net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/BASE +FD: bcj/b net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/SQUARE_BOTTOM_LEFT +FD: bcj/c net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/SQUARE_BOTTOM_RIGHT +FD: bcj/d net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/SQUARE_TOP_LEFT +FD: bcj/e net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/SQUARE_TOP_RIGHT +FD: bcj/f net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/STRIPE_BOTTOM +FD: bcj/g net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/STRIPE_TOP +FD: bcj/h net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/STRIPE_LEFT +FD: bcj/i net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/STRIPE_RIGHT +FD: bcj/j net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/STRIPE_CENTER +FD: bcj/k net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/STRIPE_MIDDLE +FD: bcj/l net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/STRIPE_DOWNRIGHT +FD: bcj/m net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/STRIPE_DOWNLEFT +FD: bcj/n net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/STRIPE_SMALL +FD: bcj/o net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/CROSS +FD: bcj/p net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/STRAIGHT_CROSS +FD: bcj/q net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/TRIANGLE_BOTTOM +FD: bcj/r net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/TRIANGLE_TOP +FD: bcj/s net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/TRIANGLES_BOTTOM +FD: bcj/t net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/TRIANGLES_TOP +FD: bcj/u net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/DIAGONAL_LEFT +FD: bcj/v net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/DIAGONAL_RIGHT +FD: bcj/w net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/DIAGONAL_LEFT_MIRROR +FD: bcj/x net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/DIAGONAL_RIGHT_MIRROR +FD: bcj/y net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/CIRCLE_MIDDLE +FD: bcj/z net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/RHOMBUS_MIDDLE +FD: bck/a net/minecraft/tileentity/TileEntityBeacon/field_146009_a +FD: bck/f net/minecraft/tileentity/TileEntityBeacon/field_174909_f +FD: bck/g net/minecraft/tileentity/TileEntityBeacon/field_146016_i +FD: bck/h net/minecraft/tileentity/TileEntityBeacon/field_146014_j +FD: bck/i net/minecraft/tileentity/TileEntityBeacon/field_146015_k +FD: bck/j net/minecraft/tileentity/TileEntityBeacon/field_146012_l +FD: bck/k net/minecraft/tileentity/TileEntityBeacon/field_146013_m +FD: bck/l net/minecraft/tileentity/TileEntityBeacon/field_146010_n +FD: bck/m net/minecraft/tileentity/TileEntityBeacon/field_146011_o +FD: bck/n net/minecraft/tileentity/TileEntityBeacon/field_146008_p +FD: bcl/a net/minecraft/tileentity/TileEntityBeacon$BeamSegment/field_177266_a +FD: bcl/b net/minecraft/tileentity/TileEntityBeacon$BeamSegment/field_177265_b +FD: bcm/a net/minecraft/tileentity/TileEntity/field_145852_a +FD: bcm/b net/minecraft/tileentity/TileEntity/field_145850_b +FD: bcm/c net/minecraft/tileentity/TileEntity/field_174879_c +FD: bcm/d net/minecraft/tileentity/TileEntity/field_145846_f +FD: bcm/e net/minecraft/tileentity/TileEntity/field_145854_h +FD: bcm/f net/minecraft/tileentity/TileEntity/field_145855_i +FD: bcm/g net/minecraft/tileentity/TileEntity/field_145853_j +FD: bcm/h net/minecraft/tileentity/TileEntity/field_145847_g +FD: bcn/a net/minecraft/tileentity/TileEntity$1/field_150830_a +FD: bco/a net/minecraft/tileentity/TileEntity$2/field_150832_a +FD: bcp/a net/minecraft/tileentity/TileEntity$3/field_150834_a +FD: bcq/a net/minecraft/tileentity/TileEntityBrewingStand/field_145941_a +FD: bcq/f net/minecraft/tileentity/TileEntityBrewingStand/field_145947_i +FD: bcq/g net/minecraft/tileentity/TileEntityBrewingStand/field_145945_j +FD: bcq/h net/minecraft/tileentity/TileEntityBrewingStand/field_145946_k +FD: bcq/i net/minecraft/tileentity/TileEntityBrewingStand/field_145943_l +FD: bcq/j net/minecraft/tileentity/TileEntityBrewingStand/field_145944_m +FD: bcq/k net/minecraft/tileentity/TileEntityBrewingStand/field_145942_n +FD: bcr/a net/minecraft/tileentity/TileEntityChest/field_145984_a +FD: bcr/f net/minecraft/tileentity/TileEntityChest/field_145992_i +FD: bcr/g net/minecraft/tileentity/TileEntityChest/field_145990_j +FD: bcr/h net/minecraft/tileentity/TileEntityChest/field_145991_k +FD: bcr/i net/minecraft/tileentity/TileEntityChest/field_145988_l +FD: bcr/j net/minecraft/tileentity/TileEntityChest/field_145989_m +FD: bcr/k net/minecraft/tileentity/TileEntityChest/field_145986_n +FD: bcr/l net/minecraft/tileentity/TileEntityChest/field_145987_o +FD: bcr/m net/minecraft/tileentity/TileEntityChest/field_145985_p +FD: bcr/n net/minecraft/tileentity/TileEntityChest/field_145983_q +FD: bcr/o net/minecraft/tileentity/TileEntityChest/field_145982_r +FD: bcr/p net/minecraft/tileentity/TileEntityChest/field_145981_s +FD: bcs/a net/minecraft/tileentity/TileEntityChest$SwitchEnumFacing/field_177366_a +FD: bct/a net/minecraft/tileentity/TileEntityCommandBlock/field_145994_a +FD: bcu/a net/minecraft/tileentity/TileEntityCommandBlock$1/field_145767_a +FD: bcv/a net/minecraft/tileentity/TileEntityComparator/field_145997_a +FD: bcx/a net/minecraft/tileentity/TileEntityDispenser/field_146020_a +FD: bcx/f net/minecraft/tileentity/TileEntityDispenser/field_174913_f +FD: bcx/g net/minecraft/tileentity/TileEntityDispenser/field_146022_i +FD: bcz/a net/minecraft/tileentity/TileEntityEnchantmentTable/field_145926_a +FD: bcz/f net/minecraft/tileentity/TileEntityEnchantmentTable/field_145933_i +FD: bcz/g net/minecraft/tileentity/TileEntityEnchantmentTable/field_145931_j +FD: bcz/h net/minecraft/tileentity/TileEntityEnchantmentTable/field_145932_k +FD: bcz/i net/minecraft/tileentity/TileEntityEnchantmentTable/field_145929_l +FD: bcz/j net/minecraft/tileentity/TileEntityEnchantmentTable/field_145930_m +FD: bcz/k net/minecraft/tileentity/TileEntityEnchantmentTable/field_145927_n +FD: bcz/l net/minecraft/tileentity/TileEntityEnchantmentTable/field_145928_o +FD: bcz/m net/minecraft/tileentity/TileEntityEnchantmentTable/field_145925_p +FD: bcz/n net/minecraft/tileentity/TileEntityEnchantmentTable/field_145924_q +FD: bcz/o net/minecraft/tileentity/TileEntityEnchantmentTable/field_145923_r +FD: bcz/p net/minecraft/tileentity/TileEntityEnchantmentTable/field_145922_s +FD: bda/a net/minecraft/tileentity/TileEntityEnderChest/field_145972_a +FD: bda/f net/minecraft/tileentity/TileEntityEnderChest/field_145975_i +FD: bda/g net/minecraft/tileentity/TileEntityEnderChest/field_145973_j +FD: bda/h net/minecraft/tileentity/TileEntityEnderChest/field_145974_k +FD: bdb/a net/minecraft/tileentity/TileEntityFlowerPot/field_145967_a +FD: bdb/f net/minecraft/tileentity/TileEntityFlowerPot/field_145968_i +FD: bdc/a net/minecraft/tileentity/TileEntityFurnace/field_145962_k +FD: bdc/f net/minecraft/tileentity/TileEntityFurnace/field_145959_l +FD: bdc/g net/minecraft/tileentity/TileEntityFurnace/field_145960_m +FD: bdc/h net/minecraft/tileentity/TileEntityFurnace/field_145957_n +FD: bdc/i net/minecraft/tileentity/TileEntityFurnace/field_145956_a +FD: bdc/j net/minecraft/tileentity/TileEntityFurnace/field_145963_i +FD: bdc/k net/minecraft/tileentity/TileEntityFurnace/field_174906_k +FD: bdc/l net/minecraft/tileentity/TileEntityFurnace/field_174905_l +FD: bdc/m net/minecraft/tileentity/TileEntityFurnace/field_145958_o +FD: bde/a net/minecraft/tileentity/TileEntityHopper/field_145900_a +FD: bde/f net/minecraft/tileentity/TileEntityHopper/field_145902_i +FD: bde/g net/minecraft/tileentity/TileEntityHopper/field_145901_j +FD: bdf/a net/minecraft/tileentity/TileEntityLockable/field_174901_a +FD: bdg/a net/minecraft/tileentity/TileEntityMobSpawner/field_145882_a +FD: bdh/a net/minecraft/tileentity/TileEntityMobSpawner$1/field_150825_a +FD: bdi/a net/minecraft/tileentity/TileEntityNote/field_145879_a +FD: bdi/f net/minecraft/tileentity/TileEntityNote/field_145880_i +FD: bdj/a net/minecraft/tileentity/TileEntitySign/field_145915_a +FD: bdj/f net/minecraft/tileentity/TileEntitySign/field_145918_i +FD: bdj/g net/minecraft/tileentity/TileEntitySign/field_145916_j +FD: bdj/h net/minecraft/tileentity/TileEntitySign/field_145917_k +FD: bdj/i net/minecraft/tileentity/TileEntitySign/field_174883_i +FD: bdk/a net/minecraft/tileentity/TileEntitySign$1/field_174795_a +FD: bdl/a net/minecraft/tileentity/TileEntitySign$2/field_174797_a +FD: bdl/b net/minecraft/tileentity/TileEntitySign$2/field_174796_b +FD: bdm/a net/minecraft/tileentity/TileEntitySkull/field_145908_a +FD: bdm/f net/minecraft/tileentity/TileEntitySkull/field_145910_i +FD: bdm/g net/minecraft/tileentity/TileEntitySkull/field_152110_j +FD: bdq/M net/minecraft/block/BlockPistonBase/field_150082_a +FD: bdq/a net/minecraft/block/BlockPistonBase/field_176321_a +FD: bdq/b net/minecraft/block/BlockPistonBase/field_176320_b +FD: bdr/a net/minecraft/block/BlockPistonBase$SwitchEnumFacing/field_177243_a +FD: bds/M net/minecraft/block/BlockPistonExtension/field_176327_M +FD: bds/a net/minecraft/block/BlockPistonExtension/field_176326_a +FD: bds/b net/minecraft/block/BlockPistonExtension/field_176325_b +FD: bdt/a net/minecraft/block/BlockPistonExtension$SwitchEnumFacing/field_177247_a +FD: bdu/a net/minecraft/block/BlockPistonExtension$EnumPistonType/DEFAULT +FD: bdu/b net/minecraft/block/BlockPistonExtension$EnumPistonType/STICKY +FD: bdu/c net/minecraft/block/BlockPistonExtension$EnumPistonType/field_176714_c +FD: bdu/d net/minecraft/block/BlockPistonExtension$EnumPistonType/$VALUES +FD: bdv/a net/minecraft/tileentity/TileEntityPiston/field_174932_a +FD: bdv/f net/minecraft/tileentity/TileEntityPiston/field_174931_f +FD: bdv/g net/minecraft/tileentity/TileEntityPiston/field_145875_k +FD: bdv/h net/minecraft/tileentity/TileEntityPiston/field_145872_l +FD: bdv/i net/minecraft/tileentity/TileEntityPiston/field_145873_m +FD: bdv/j net/minecraft/tileentity/TileEntityPiston/field_145870_n +FD: bdv/k net/minecraft/tileentity/TileEntityPiston/field_174933_k +FD: bdw/a net/minecraft/tileentity/TileEntityPiston$SwitchAxis/field_177248_a +FD: bdx/a net/minecraft/block/BlockPistonMoving/field_176426_a +FD: bdx/b net/minecraft/block/BlockPistonMoving/field_176425_b +FD: bdy/a net/minecraft/block/state/BlockPistonStructureHelper/field_177261_a +FD: bdy/b net/minecraft/block/state/BlockPistonStructureHelper/field_177259_b +FD: bdy/c net/minecraft/block/state/BlockPistonStructureHelper/field_177260_c +FD: bdy/d net/minecraft/block/state/BlockPistonStructureHelper/field_177257_d +FD: bdy/e net/minecraft/block/state/BlockPistonStructureHelper/field_177258_e +FD: bdy/f net/minecraft/block/state/BlockPistonStructureHelper/field_177256_f +FD: be/a net/minecraft/command/CommandDebug/field_147208_a +FD: be/b net/minecraft/command/CommandDebug/field_147206_b +FD: be/c net/minecraft/command/CommandDebug/field_147207_c +FD: bea/a net/minecraft/block/state/BlockStateBase/field_177234_a +FD: bea/b net/minecraft/block/state/BlockStateBase/field_177233_b +FD: bed/a net/minecraft/block/state/BlockState/field_177628_a +FD: bed/b net/minecraft/block/state/BlockState/field_177626_b +FD: bed/c net/minecraft/block/state/BlockState/field_177627_c +FD: bed/d net/minecraft/block/state/BlockState/field_177624_d +FD: bed/e net/minecraft/block/state/BlockState/field_177625_e +FD: bef/a net/minecraft/block/state/BlockState$2/field_177549_a +FD: beg/a net/minecraft/block/state/BlockState$StateImplementation/field_177239_a +FD: beg/b net/minecraft/block/state/BlockState$StateImplementation/field_177237_b +FD: beg/c net/minecraft/block/state/BlockState$StateImplementation/field_177238_c +FD: bei/a net/minecraft/block/state/BlockWorldState/field_177515_a +FD: bei/b net/minecraft/block/state/BlockWorldState/field_177513_b +FD: bei/c net/minecraft/block/state/BlockWorldState/field_177514_c +FD: bei/d net/minecraft/block/state/BlockWorldState/field_177511_d +FD: bei/e net/minecraft/block/state/BlockWorldState/field_177512_e +FD: bej/a net/minecraft/block/state/BlockWorldState$1/field_177504_a +FD: bek/a net/minecraft/block/state/pattern/BlockPattern/field_177689_a +FD: bek/b net/minecraft/block/state/pattern/BlockPattern/field_177687_b +FD: bek/c net/minecraft/block/state/pattern/BlockPattern/field_177688_c +FD: bek/d net/minecraft/block/state/pattern/BlockPattern/field_177686_d +FD: bel/a net/minecraft/block/state/pattern/BlockPattern$CacheLoader/field_177680_a +FD: bem/a net/minecraft/block/state/pattern/BlockPattern$PatternHelper/field_177674_a +FD: bem/b net/minecraft/block/state/pattern/BlockPattern$PatternHelper/field_177672_b +FD: bem/c net/minecraft/block/state/pattern/BlockPattern$PatternHelper/field_177673_c +FD: bem/d net/minecraft/block/state/pattern/BlockPattern$PatternHelper/field_177671_d +FD: ben/a net/minecraft/block/state/pattern/FactoryBlockPattern/field_177667_a +FD: ben/b net/minecraft/block/state/pattern/FactoryBlockPattern/field_177665_b +FD: ben/c net/minecraft/block/state/pattern/FactoryBlockPattern/field_177666_c +FD: ben/d net/minecraft/block/state/pattern/FactoryBlockPattern/field_177663_d +FD: ben/e net/minecraft/block/state/pattern/FactoryBlockPattern/field_177664_e +FD: bep/a net/minecraft/block/state/pattern/BlockHelper/field_177644_a +FD: beq/a net/minecraft/block/state/pattern/BlockStateHelper/field_177641_a +FD: beq/b net/minecraft/block/state/pattern/BlockStateHelper/field_177640_b +FD: bes/a net/minecraft/block/properties/PropertyHelper/field_177704_a +FD: bes/b net/minecraft/block/properties/PropertyHelper/field_177703_b +FD: bet/a net/minecraft/block/properties/PropertyBool/field_177717_a +FD: bev/a net/minecraft/block/properties/PropertyEnum/field_177711_a +FD: bev/b net/minecraft/block/properties/PropertyEnum/field_177710_b +FD: bew/a net/minecraft/block/properties/PropertyInteger/field_177720_a +FD: bfa/a net/minecraft/world/border/EnumBorderStatus/GROWING +FD: bfa/b net/minecraft/world/border/EnumBorderStatus/SHRINKING +FD: bfa/c net/minecraft/world/border/EnumBorderStatus/STATIONARY +FD: bfa/d net/minecraft/world/border/EnumBorderStatus/field_177767_d +FD: bfa/e net/minecraft/world/border/EnumBorderStatus/$VALUES +FD: bfb/a net/minecraft/world/border/WorldBorder/field_177758_a +FD: bfb/b net/minecraft/world/border/WorldBorder/field_177756_b +FD: bfb/c net/minecraft/world/border/WorldBorder/field_177757_c +FD: bfb/d net/minecraft/world/border/WorldBorder/field_177754_d +FD: bfb/e net/minecraft/world/border/WorldBorder/field_177755_e +FD: bfb/f net/minecraft/world/border/WorldBorder/field_177752_f +FD: bfb/g net/minecraft/world/border/WorldBorder/field_177753_g +FD: bfb/h net/minecraft/world/border/WorldBorder/field_177762_h +FD: bfb/i net/minecraft/world/border/WorldBorder/field_177763_i +FD: bfb/j net/minecraft/world/border/WorldBorder/field_177760_j +FD: bfb/k net/minecraft/world/border/WorldBorder/field_177761_k +FD: bfb/l net/minecraft/world/border/WorldBorder/field_177759_l +FD: bff/a net/minecraft/world/chunk/NibbleArray/field_76585_a +FD: bfh/a net/minecraft/world/chunk/Chunk/field_76635_g +FD: bfh/b net/minecraft/world/chunk/Chunk/field_76647_h +FD: bfh/c net/minecraft/world/chunk/Chunk/field_150817_t +FD: bfh/d net/minecraft/world/chunk/Chunk/field_76652_q +FD: bfh/e net/minecraft/world/chunk/Chunk/field_76651_r +FD: bfh/f net/minecraft/world/chunk/Chunk/field_76638_b +FD: bfh/g net/minecraft/world/chunk/Chunk/field_76639_c +FD: bfh/h net/minecraft/world/chunk/Chunk/field_76636_d +FD: bfh/i net/minecraft/world/chunk/Chunk/field_76637_e +FD: bfh/j net/minecraft/world/chunk/Chunk/field_76634_f +FD: bfh/k net/minecraft/world/chunk/Chunk/field_76650_s +FD: bfh/l net/minecraft/world/chunk/Chunk/field_150816_i +FD: bfh/m net/minecraft/world/chunk/Chunk/field_76645_j +FD: bfh/n net/minecraft/world/chunk/Chunk/field_76646_k +FD: bfh/o net/minecraft/world/chunk/Chunk/field_150814_l +FD: bfh/p net/minecraft/world/chunk/Chunk/field_150815_m +FD: bfh/q net/minecraft/world/chunk/Chunk/field_76643_l +FD: bfh/r net/minecraft/world/chunk/Chunk/field_76644_m +FD: bfh/s net/minecraft/world/chunk/Chunk/field_76641_n +FD: bfh/t net/minecraft/world/chunk/Chunk/field_82912_p +FD: bfh/u net/minecraft/world/chunk/Chunk/field_111204_q +FD: bfh/v net/minecraft/world/chunk/Chunk/field_76649_t +FD: bfh/w net/minecraft/world/chunk/Chunk/field_177447_w +FD: bfi/a net/minecraft/world/chunk/Chunk$1/field_150824_a +FD: bfi/b net/minecraft/world/chunk/Chunk$1/field_150822_b +FD: bfi/c net/minecraft/world/chunk/Chunk$1/field_150823_c +FD: bfi/d net/minecraft/world/chunk/Chunk$1/field_150821_d +FD: bfj/a net/minecraft/world/chunk/Chunk$2/field_177457_a +FD: bfj/b net/minecraft/world/chunk/Chunk$2/field_177456_b +FD: bfk/a net/minecraft/world/chunk/Chunk$3/field_177450_a +FD: bfk/b net/minecraft/world/chunk/Chunk$3/field_177449_b +FD: bfl/a net/minecraft/world/chunk/Chunk$EnumCreateEntityType/IMMEDIATE +FD: bfl/b net/minecraft/world/chunk/Chunk$EnumCreateEntityType/QUEUED +FD: bfl/c net/minecraft/world/chunk/Chunk$EnumCreateEntityType/CHECK +FD: bfl/d net/minecraft/world/chunk/Chunk$EnumCreateEntityType/$VALUES +FD: bfm/a net/minecraft/world/chunk/storage/ExtendedBlockStorage/field_76684_a +FD: bfm/b net/minecraft/world/chunk/storage/ExtendedBlockStorage/field_76682_b +FD: bfm/c net/minecraft/world/chunk/storage/ExtendedBlockStorage/field_76683_c +FD: bfm/d net/minecraft/world/chunk/storage/ExtendedBlockStorage/field_177488_d +FD: bfm/e net/minecraft/world/chunk/storage/ExtendedBlockStorage/field_76679_g +FD: bfm/f net/minecraft/world/chunk/storage/ExtendedBlockStorage/field_76685_h +FD: bfn/a net/minecraft/world/chunk/storage/NibbleArrayReader/field_76689_a +FD: bfn/b net/minecraft/world/chunk/storage/NibbleArrayReader/field_76687_b +FD: bfn/c net/minecraft/world/chunk/storage/NibbleArrayReader/field_76688_c +FD: bfu/a net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData/field_76698_a +FD: bfu/b net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData/field_76696_b +FD: bfu/c net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData/field_76697_c +FD: bfu/d net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData/field_76694_d +FD: bfu/e net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData/field_76695_e +FD: bfu/f net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData/field_76692_f +FD: bfu/g net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData/field_76693_g +FD: bfu/h net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData/field_76702_h +FD: bfu/i net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData/field_151564_i +FD: bfu/j net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData/field_151563_j +FD: bfu/k net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData/field_76701_k +FD: bfu/l net/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData/field_76699_l +FD: bfv/a net/minecraft/world/chunk/storage/RegionFile/field_76720_a +FD: bfv/b net/minecraft/world/chunk/storage/RegionFile/field_76718_b +FD: bfv/c net/minecraft/world/chunk/storage/RegionFile/field_76719_c +FD: bfv/d net/minecraft/world/chunk/storage/RegionFile/field_76716_d +FD: bfv/e net/minecraft/world/chunk/storage/RegionFile/field_76717_e +FD: bfv/f net/minecraft/world/chunk/storage/RegionFile/field_76714_f +FD: bfv/g net/minecraft/world/chunk/storage/RegionFile/field_76715_g +FD: bfv/h net/minecraft/world/chunk/storage/RegionFile/field_76721_h +FD: bfw/a net/minecraft/world/chunk/storage/RegionFile$ChunkBuffer/field_76724_a +FD: bfw/b net/minecraft/world/chunk/storage/RegionFile$ChunkBuffer/field_76722_b +FD: bfw/c net/minecraft/world/chunk/storage/RegionFile$ChunkBuffer/field_76723_c +FD: bfx/a net/minecraft/world/chunk/storage/RegionFileCache/field_76553_a +FD: bfy/a net/minecraft/world/chunk/storage/AnvilChunkLoader/field_151505_a +FD: bfy/b net/minecraft/world/chunk/storage/AnvilChunkLoader/field_75828_a +FD: bfy/c net/minecraft/world/chunk/storage/AnvilChunkLoader/field_75826_b +FD: bfy/d net/minecraft/world/chunk/storage/AnvilChunkLoader/field_75827_c +FD: bfy/e net/minecraft/world/chunk/storage/AnvilChunkLoader/field_75825_d +FD: bfz/a net/minecraft/world/chunk/storage/AnvilChunkLoader$PendingChunk/field_76548_a +FD: bfz/b net/minecraft/world/chunk/storage/AnvilChunkLoader$PendingChunk/field_76547_b +FD: bgd/a net/minecraft/world/WorldProvider/field_111203_a +FD: bgd/b net/minecraft/world/WorldProvider/field_76579_a +FD: bgd/c net/minecraft/world/WorldProvider/field_76578_c +FD: bgd/d net/minecraft/world/WorldProvider/field_76575_d +FD: bgd/e net/minecraft/world/WorldProvider/field_76576_e +FD: bgd/f net/minecraft/world/WorldProvider/field_76573_f +FD: bgd/g net/minecraft/world/WorldProvider/field_76574_g +FD: bgd/h net/minecraft/world/WorldProvider/field_76577_b +FD: bgd/i net/minecraft/world/WorldProvider/field_82913_c +FD: bgd/j net/minecraft/world/WorldProvider/field_76580_h +FD: bgf/a net/minecraft/world/WorldProviderHell$1/field_177764_a +FD: bgj/d net/minecraft/world/gen/MapGenRavine/field_75046_d +FD: bgk/a net/minecraft/world/chunk/ChunkPrimer/field_177860_a +FD: bgk/b net/minecraft/world/chunk/ChunkPrimer/field_177859_b +FD: bgl/A net/minecraft/world/gen/ChunkProviderSettings/field_177781_A +FD: bgl/B net/minecraft/world/gen/ChunkProviderSettings/field_177782_B +FD: bgl/C net/minecraft/world/gen/ChunkProviderSettings/field_177783_C +FD: bgl/D net/minecraft/world/gen/ChunkProviderSettings/field_177777_D +FD: bgl/E net/minecraft/world/gen/ChunkProviderSettings/field_177778_E +FD: bgl/F net/minecraft/world/gen/ChunkProviderSettings/field_177779_F +FD: bgl/G net/minecraft/world/gen/ChunkProviderSettings/field_177780_G +FD: bgl/H net/minecraft/world/gen/ChunkProviderSettings/field_177788_H +FD: bgl/I net/minecraft/world/gen/ChunkProviderSettings/field_177789_I +FD: bgl/J net/minecraft/world/gen/ChunkProviderSettings/field_177790_J +FD: bgl/K net/minecraft/world/gen/ChunkProviderSettings/field_177791_K +FD: bgl/L net/minecraft/world/gen/ChunkProviderSettings/field_177784_L +FD: bgl/M net/minecraft/world/gen/ChunkProviderSettings/field_177785_M +FD: bgl/N net/minecraft/world/gen/ChunkProviderSettings/field_177786_N +FD: bgl/O net/minecraft/world/gen/ChunkProviderSettings/field_177787_O +FD: bgl/P net/minecraft/world/gen/ChunkProviderSettings/field_177797_P +FD: bgl/Q net/minecraft/world/gen/ChunkProviderSettings/field_177796_Q +FD: bgl/R net/minecraft/world/gen/ChunkProviderSettings/field_177799_R +FD: bgl/S net/minecraft/world/gen/ChunkProviderSettings/field_177798_S +FD: bgl/T net/minecraft/world/gen/ChunkProviderSettings/field_177793_T +FD: bgl/U net/minecraft/world/gen/ChunkProviderSettings/field_177792_U +FD: bgl/V net/minecraft/world/gen/ChunkProviderSettings/field_177795_V +FD: bgl/W net/minecraft/world/gen/ChunkProviderSettings/field_177794_W +FD: bgl/X net/minecraft/world/gen/ChunkProviderSettings/field_177801_X +FD: bgl/Y net/minecraft/world/gen/ChunkProviderSettings/field_177800_Y +FD: bgl/Z net/minecraft/world/gen/ChunkProviderSettings/field_177802_Z +FD: bgl/a net/minecraft/world/gen/ChunkProviderSettings/field_177811_a +FD: bgl/aa net/minecraft/world/gen/ChunkProviderSettings/field_177846_aa +FD: bgl/ab net/minecraft/world/gen/ChunkProviderSettings/field_177847_ab +FD: bgl/ac net/minecraft/world/gen/ChunkProviderSettings/field_177844_ac +FD: bgl/ad net/minecraft/world/gen/ChunkProviderSettings/field_177845_ad +FD: bgl/ae net/minecraft/world/gen/ChunkProviderSettings/field_177851_ae +FD: bgl/af net/minecraft/world/gen/ChunkProviderSettings/field_177853_af +FD: bgl/ag net/minecraft/world/gen/ChunkProviderSettings/field_177848_ag +FD: bgl/ah net/minecraft/world/gen/ChunkProviderSettings/field_177849_ah +FD: bgl/ai net/minecraft/world/gen/ChunkProviderSettings/field_177832_ai +FD: bgl/aj net/minecraft/world/gen/ChunkProviderSettings/field_177834_aj +FD: bgl/ak net/minecraft/world/gen/ChunkProviderSettings/field_177828_ak +FD: bgl/al net/minecraft/world/gen/ChunkProviderSettings/field_177830_al +FD: bgl/am net/minecraft/world/gen/ChunkProviderSettings/field_177840_am +FD: bgl/an net/minecraft/world/gen/ChunkProviderSettings/field_177842_an +FD: bgl/ao net/minecraft/world/gen/ChunkProviderSettings/field_177836_ao +FD: bgl/ap net/minecraft/world/gen/ChunkProviderSettings/field_177838_ap +FD: bgl/aq net/minecraft/world/gen/ChunkProviderSettings/field_177818_aq +FD: bgl/ar net/minecraft/world/gen/ChunkProviderSettings/field_177816_ar +FD: bgl/as net/minecraft/world/gen/ChunkProviderSettings/field_177814_as +FD: bgl/at net/minecraft/world/gen/ChunkProviderSettings/field_177812_at +FD: bgl/au net/minecraft/world/gen/ChunkProviderSettings/field_177826_au +FD: bgl/av net/minecraft/world/gen/ChunkProviderSettings/field_177824_av +FD: bgl/aw net/minecraft/world/gen/ChunkProviderSettings/field_177822_aw +FD: bgl/ax net/minecraft/world/gen/ChunkProviderSettings/field_177820_ax +FD: bgl/ay net/minecraft/world/gen/ChunkProviderSettings/field_177807_ay +FD: bgl/az net/minecraft/world/gen/ChunkProviderSettings/field_177805_az +FD: bgl/b net/minecraft/world/gen/ChunkProviderSettings/field_177809_b +FD: bgl/c net/minecraft/world/gen/ChunkProviderSettings/field_177810_c +FD: bgl/d net/minecraft/world/gen/ChunkProviderSettings/field_177806_d +FD: bgl/e net/minecraft/world/gen/ChunkProviderSettings/field_177808_e +FD: bgl/f net/minecraft/world/gen/ChunkProviderSettings/field_177803_f +FD: bgl/g net/minecraft/world/gen/ChunkProviderSettings/field_177804_g +FD: bgl/h net/minecraft/world/gen/ChunkProviderSettings/field_177825_h +FD: bgl/i net/minecraft/world/gen/ChunkProviderSettings/field_177827_i +FD: bgl/j net/minecraft/world/gen/ChunkProviderSettings/field_177821_j +FD: bgl/k net/minecraft/world/gen/ChunkProviderSettings/field_177823_k +FD: bgl/l net/minecraft/world/gen/ChunkProviderSettings/field_177817_l +FD: bgl/m net/minecraft/world/gen/ChunkProviderSettings/field_177819_m +FD: bgl/n net/minecraft/world/gen/ChunkProviderSettings/field_177813_n +FD: bgl/o net/minecraft/world/gen/ChunkProviderSettings/field_177815_o +FD: bgl/p net/minecraft/world/gen/ChunkProviderSettings/field_177843_p +FD: bgl/q net/minecraft/world/gen/ChunkProviderSettings/field_177841_q +FD: bgl/r net/minecraft/world/gen/ChunkProviderSettings/field_177839_r +FD: bgl/s net/minecraft/world/gen/ChunkProviderSettings/field_177837_s +FD: bgl/t net/minecraft/world/gen/ChunkProviderSettings/field_177835_t +FD: bgl/u net/minecraft/world/gen/ChunkProviderSettings/field_177833_u +FD: bgl/v net/minecraft/world/gen/ChunkProviderSettings/field_177831_v +FD: bgl/w net/minecraft/world/gen/ChunkProviderSettings/field_177829_w +FD: bgl/x net/minecraft/world/gen/ChunkProviderSettings/field_177854_x +FD: bgl/y net/minecraft/world/gen/ChunkProviderSettings/field_177852_y +FD: bgl/z net/minecraft/world/gen/ChunkProviderSettings/field_177850_z +FD: bgn/A net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177870_A +FD: bgn/B net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177871_B +FD: bgn/C net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177872_C +FD: bgn/D net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177866_D +FD: bgn/E net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177867_E +FD: bgn/F net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177868_F +FD: bgn/G net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177869_G +FD: bgn/H net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177877_H +FD: bgn/I net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177878_I +FD: bgn/J net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177879_J +FD: bgn/K net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177880_K +FD: bgn/L net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177873_L +FD: bgn/M net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177874_M +FD: bgn/N net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177875_N +FD: bgn/O net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177876_O +FD: bgn/P net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177886_P +FD: bgn/Q net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177885_Q +FD: bgn/R net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177888_R +FD: bgn/S net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177887_S +FD: bgn/T net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177882_T +FD: bgn/U net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177881_U +FD: bgn/V net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177884_V +FD: bgn/W net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177883_W +FD: bgn/X net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177891_X +FD: bgn/Y net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177890_Y +FD: bgn/Z net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177892_Z +FD: bgn/a net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177901_a +FD: bgn/aA net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177889_aA +FD: bgn/aa net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177936_aa +FD: bgn/ab net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177937_ab +FD: bgn/ac net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177934_ac +FD: bgn/ad net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177935_ad +FD: bgn/ae net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177941_ae +FD: bgn/af net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177943_af +FD: bgn/ag net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177938_ag +FD: bgn/ah net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177939_ah +FD: bgn/ai net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177922_ai +FD: bgn/aj net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177924_aj +FD: bgn/ak net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177918_ak +FD: bgn/al net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177920_al +FD: bgn/am net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177930_am +FD: bgn/an net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177932_an +FD: bgn/ao net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177926_ao +FD: bgn/ap net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177928_ap +FD: bgn/aq net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177908_aq +FD: bgn/ar net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177906_ar +FD: bgn/as net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177904_as +FD: bgn/at net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177902_at +FD: bgn/au net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177916_au +FD: bgn/av net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177914_av +FD: bgn/aw net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177912_aw +FD: bgn/ax net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177910_ax +FD: bgn/ay net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177897_ay +FD: bgn/az net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177895_az +FD: bgn/b net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177899_b +FD: bgn/c net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177900_c +FD: bgn/d net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177896_d +FD: bgn/e net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177898_e +FD: bgn/f net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177893_f +FD: bgn/g net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177894_g +FD: bgn/h net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177915_h +FD: bgn/i net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177917_i +FD: bgn/j net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177911_j +FD: bgn/k net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177913_k +FD: bgn/l net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177907_l +FD: bgn/m net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177909_m +FD: bgn/n net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177903_n +FD: bgn/o net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177905_o +FD: bgn/p net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177933_p +FD: bgn/q net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177931_q +FD: bgn/r net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177929_r +FD: bgn/s net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177927_s +FD: bgn/t net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177925_t +FD: bgn/u net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177923_u +FD: bgn/v net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177921_v +FD: bgn/w net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177919_w +FD: bgn/x net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177944_x +FD: bgn/y net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177942_y +FD: bgn/z net/minecraft/world/gen/ChunkProviderSettings$Factory/field_177940_z +FD: bgp/a net/minecraft/world/gen/ChunkProviderDebug/field_177464_a +FD: bgp/b net/minecraft/world/gen/ChunkProviderDebug/field_177462_b +FD: bgp/c net/minecraft/world/gen/ChunkProviderDebug/field_177463_c +FD: bgq/a net/minecraft/world/gen/ChunkProviderFlat/field_73163_a +FD: bgq/b net/minecraft/world/gen/ChunkProviderFlat/field_73161_b +FD: bgq/c net/minecraft/world/gen/ChunkProviderFlat/field_82700_c +FD: bgq/d net/minecraft/world/gen/ChunkProviderFlat/field_82699_e +FD: bgq/e net/minecraft/world/gen/ChunkProviderFlat/field_82696_f +FD: bgq/f net/minecraft/world/gen/ChunkProviderFlat/field_82697_g +FD: bgq/g net/minecraft/world/gen/ChunkProviderFlat/field_82702_h +FD: bgq/h net/minecraft/world/gen/ChunkProviderFlat/field_82703_i +FD: bgq/i net/minecraft/world/gen/ChunkProviderFlat/field_82701_j +FD: bgr/A net/minecraft/world/gen/ChunkProviderHell/field_177465_A +FD: bgr/B net/minecraft/world/gen/ChunkProviderHell/field_73172_c +FD: bgr/C net/minecraft/world/gen/ChunkProviderHell/field_73182_t +FD: bgr/a net/minecraft/world/gen/ChunkProviderHell/field_73173_a +FD: bgr/b net/minecraft/world/gen/ChunkProviderHell/field_73171_b +FD: bgr/c net/minecraft/world/gen/ChunkProviderHell/field_73169_d +FD: bgr/d net/minecraft/world/gen/ChunkProviderHell/field_73170_e +FD: bgr/e net/minecraft/world/gen/ChunkProviderHell/field_73167_f +FD: bgr/f net/minecraft/world/gen/ChunkProviderHell/field_73168_g +FD: bgr/g net/minecraft/world/gen/ChunkProviderHell/field_73180_h +FD: bgr/h net/minecraft/world/gen/ChunkProviderHell/field_73175_o +FD: bgr/i net/minecraft/world/gen/ChunkProviderHell/field_177466_i +FD: bgr/j net/minecraft/world/gen/ChunkProviderHell/field_73181_i +FD: bgr/k net/minecraft/world/gen/ChunkProviderHell/field_73185_q +FD: bgr/l net/minecraft/world/gen/ChunkProviderHell/field_73184_r +FD: bgr/m net/minecraft/world/gen/ChunkProviderHell/field_73183_s +FD: bgr/n net/minecraft/world/gen/ChunkProviderHell/field_73186_p +FD: bgr/o net/minecraft/world/gen/ChunkProviderHell/field_73178_j +FD: bgr/p net/minecraft/world/gen/ChunkProviderHell/field_73179_k +FD: bgr/q net/minecraft/world/gen/ChunkProviderHell/field_73176_l +FD: bgr/r net/minecraft/world/gen/ChunkProviderHell/field_73177_m +FD: bgr/s net/minecraft/world/gen/ChunkProviderHell/field_73174_n +FD: bgr/t net/minecraft/world/gen/ChunkProviderHell/field_177470_t +FD: bgr/u net/minecraft/world/gen/ChunkProviderHell/field_177469_u +FD: bgr/v net/minecraft/world/gen/ChunkProviderHell/field_177468_v +FD: bgr/w net/minecraft/world/gen/ChunkProviderHell/field_177467_w +FD: bgr/x net/minecraft/world/gen/ChunkProviderHell/field_177473_x +FD: bgr/y net/minecraft/world/gen/ChunkProviderHell/field_177472_y +FD: bgr/z net/minecraft/world/gen/ChunkProviderHell/field_177471_z +FD: bgt/a net/minecraft/world/gen/MapGenBase/field_75040_a +FD: bgt/b net/minecraft/world/gen/MapGenBase/field_75038_b +FD: bgt/c net/minecraft/world/gen/MapGenBase/field_75039_c +FD: bgv/A net/minecraft/world/gen/ChunkProviderGenerate/field_177474_A +FD: bgv/B net/minecraft/world/gen/ChunkProviderGenerate/field_73231_z +FD: bgv/a net/minecraft/world/gen/ChunkProviderGenerate/field_73214_a +FD: bgv/b net/minecraft/world/gen/ChunkProviderGenerate/field_73212_b +FD: bgv/c net/minecraft/world/gen/ChunkProviderGenerate/field_73213_c +FD: bgv/d net/minecraft/world/gen/ChunkProviderGenerate/field_147427_d +FD: bgv/e net/minecraft/world/gen/ChunkProviderGenerate/field_147428_e +FD: bgv/f net/minecraft/world/gen/ChunkProviderGenerate/field_147425_f +FD: bgv/g net/minecraft/world/gen/ChunkProviderGenerate/field_147426_g +FD: bgv/h net/minecraft/world/gen/ChunkProviderGenerate/field_73220_k +FD: bgv/i net/minecraft/world/gen/ChunkProviderGenerate/field_147431_j +FD: bgv/j net/minecraft/world/gen/ChunkProviderGenerate/field_147432_k +FD: bgv/k net/minecraft/world/gen/ChunkProviderGenerate/field_147429_l +FD: bgv/l net/minecraft/world/gen/ChunkProviderGenerate/field_147430_m +FD: bgv/m net/minecraft/world/gen/ChunkProviderGenerate/field_73230_p +FD: bgv/n net/minecraft/world/gen/ChunkProviderGenerate/field_73229_q +FD: bgv/o net/minecraft/world/gen/ChunkProviderGenerate/field_177475_o +FD: bgv/p net/minecraft/world/gen/ChunkProviderGenerate/field_147434_q +FD: bgv/q net/minecraft/world/gen/ChunkProviderGenerate/field_147433_r +FD: bgv/r net/minecraft/world/gen/ChunkProviderGenerate/field_177477_r +FD: bgv/s net/minecraft/world/gen/ChunkProviderGenerate/field_177476_s +FD: bgv/t net/minecraft/world/gen/ChunkProviderGenerate/field_73227_s +FD: bgv/u net/minecraft/world/gen/ChunkProviderGenerate/field_73226_t +FD: bgv/v net/minecraft/world/gen/ChunkProviderGenerate/field_73225_u +FD: bgv/w net/minecraft/world/gen/ChunkProviderGenerate/field_73224_v +FD: bgv/x net/minecraft/world/gen/ChunkProviderGenerate/field_73223_w +FD: bgv/y net/minecraft/world/gen/ChunkProviderGenerate/field_73233_x +FD: bgv/z net/minecraft/world/gen/ChunkProviderGenerate/field_73232_y +FD: bgw/a net/minecraft/world/gen/ChunkProviderEnd/field_73196_a +FD: bgw/b net/minecraft/world/gen/ChunkProviderEnd/field_73194_b +FD: bgw/c net/minecraft/world/gen/ChunkProviderEnd/field_73195_c +FD: bgw/d net/minecraft/world/gen/ChunkProviderEnd/field_73192_d +FD: bgw/e net/minecraft/world/gen/ChunkProviderEnd/field_73193_e +FD: bgw/f net/minecraft/world/gen/ChunkProviderEnd/field_73190_f +FD: bgw/g net/minecraft/world/gen/ChunkProviderEnd/field_73191_g +FD: bgw/h net/minecraft/world/gen/ChunkProviderEnd/field_73204_i +FD: bgw/i net/minecraft/world/gen/ChunkProviderEnd/field_73201_j +FD: bgw/j net/minecraft/world/gen/ChunkProviderEnd/field_73202_k +FD: bgw/k net/minecraft/world/gen/ChunkProviderEnd/field_73199_l +FD: bgw/l net/minecraft/world/gen/ChunkProviderEnd/field_73200_m +FD: bgw/m net/minecraft/world/gen/ChunkProviderEnd/field_73197_n +FD: bgw/n net/minecraft/world/gen/ChunkProviderEnd/field_73198_o +FD: bhd/a net/minecraft/world/gen/feature/WorldGenBigTree/field_76504_e +FD: bhd/b net/minecraft/world/gen/feature/WorldGenBigTree/field_76501_f +FD: bhd/c net/minecraft/world/gen/feature/WorldGenBigTree/field_76502_g +FD: bhd/d net/minecraft/world/gen/feature/WorldGenBigTree/field_175944_d +FD: bhd/e net/minecraft/world/gen/feature/WorldGenBigTree/field_175945_e +FD: bhd/f net/minecraft/world/gen/feature/WorldGenBigTree/field_76513_k +FD: bhd/g net/minecraft/world/gen/feature/WorldGenBigTree/field_175943_g +FD: bhd/h net/minecraft/world/gen/feature/WorldGenBigTree/field_175950_h +FD: bhd/i net/minecraft/world/gen/feature/WorldGenBigTree/field_76508_n +FD: bhd/j net/minecraft/world/gen/feature/WorldGenBigTree/field_175948_j +FD: bhd/k net/minecraft/world/gen/feature/WorldGenBigTree/field_175949_k +FD: bhd/l net/minecraft/world/gen/feature/WorldGenBigTree/field_175946_l +FD: bhd/m net/minecraft/world/gen/feature/WorldGenBigTree/field_175947_m +FD: bhe/b net/minecraft/world/gen/feature/WorldGenBigTree$FoliageCoordinates/field_178000_b +FD: bhf/a net/minecraft/world/gen/feature/WorldGenForest/field_150531_a +FD: bhg/a net/minecraft/world/gen/feature/WorldGenBlockBlob/field_150545_a +FD: bhg/b net/minecraft/world/gen/feature/WorldGenBlockBlob/field_150544_b +FD: bhh/a net/minecraft/world/gen/feature/WorldGeneratorBonusChest/field_175909_a +FD: bhh/b net/minecraft/world/gen/feature/WorldGeneratorBonusChest/field_76545_b +FD: bhi/a net/minecraft/world/gen/GeneratorBushFeature/field_175908_a +FD: bhl/a net/minecraft/world/gen/feature/WorldGenClay/field_150546_a +FD: bhl/b net/minecraft/world/gen/feature/WorldGenClay/field_76517_b +FD: bhn/a net/minecraft/world/gen/feature/WorldGenDesertWells/field_175913_a +FD: bhn/b net/minecraft/world/gen/feature/WorldGenDesertWells/field_175911_b +FD: bhn/c net/minecraft/world/gen/feature/WorldGenDesertWells/field_175912_c +FD: bhn/d net/minecraft/world/gen/feature/WorldGenDesertWells/field_175910_d +FD: bho/a net/minecraft/world/gen/feature/WorldGenDoublePlant/field_150549_a +FD: bhp/a net/minecraft/world/gen/feature/WorldGenerator/field_76488_a +FD: bhq/a net/minecraft/world/gen/feature/WorldGenFlowers/field_150552_a +FD: bhq/b net/minecraft/world/gen/feature/WorldGenFlowers/field_175915_b +FD: bhr/a net/minecraft/world/gen/feature/WorldGenShrub/field_150528_a +FD: bhr/b net/minecraft/world/gen/feature/WorldGenShrub/field_150527_b +FD: bhu/a net/minecraft/world/gen/feature/WorldGenHellLava/field_150553_a +FD: bhu/b net/minecraft/world/gen/feature/WorldGenHellLava/field_94524_b +FD: bhv/a net/minecraft/world/gen/feature/WorldGenBigMushroom/field_76523_a +FD: bhw/a net/minecraft/world/gen/feature/WorldGenIcePath/field_150555_a +FD: bhw/b net/minecraft/world/gen/feature/WorldGenIcePath/field_150554_b +FD: bhy/a net/minecraft/world/gen/feature/WorldGenLakes/field_150556_a +FD: bib/e net/minecraft/world/gen/feature/WorldGenMegaPineTree/field_150542_e +FD: bic/a net/minecraft/world/gen/feature/WorldGenHugeTrees/field_76522_a +FD: bic/b net/minecraft/world/gen/feature/WorldGenHugeTrees/field_76520_b +FD: bic/c net/minecraft/world/gen/feature/WorldGenHugeTrees/field_76521_c +FD: bic/d net/minecraft/world/gen/feature/WorldGenHugeTrees/field_150538_d +FD: bie/a net/minecraft/world/gen/feature/WorldGenDungeons/field_175918_a +FD: bie/b net/minecraft/world/gen/feature/WorldGenDungeons/field_175916_b +FD: bie/c net/minecraft/world/gen/feature/WorldGenDungeons/field_175917_c +FD: bif/a net/minecraft/world/gen/feature/WorldGenMinable/field_175920_a +FD: bif/b net/minecraft/world/gen/feature/WorldGenMinable/field_76541_b +FD: bif/c net/minecraft/world/gen/feature/WorldGenMinable/field_175919_c +FD: bik/a net/minecraft/world/gen/feature/WorldGenSand/field_150517_a +FD: bik/b net/minecraft/world/gen/feature/WorldGenSand/field_76539_b +FD: bim/a net/minecraft/world/gen/feature/WorldGenSpikes/field_150520_a +FD: bin/a net/minecraft/world/gen/feature/WorldGenLiquids/field_150521_a +FD: biq/a net/minecraft/world/gen/feature/WorldGenTallGrass/field_175907_a +FD: bir/a net/minecraft/world/gen/feature/WorldGenTrees/field_76533_a +FD: bir/b net/minecraft/world/gen/feature/WorldGenTrees/field_76531_b +FD: bir/c net/minecraft/world/gen/feature/WorldGenTrees/field_76532_c +FD: bir/d net/minecraft/world/gen/feature/WorldGenTrees/field_76530_d +FD: biv/a net/minecraft/world/gen/FlatGeneratorInfo/field_82655_a +FD: biv/b net/minecraft/world/gen/FlatGeneratorInfo/field_82653_b +FD: biv/c net/minecraft/world/gen/FlatGeneratorInfo/field_82654_c +FD: biw/a net/minecraft/world/gen/FlatLayerInfo/field_175902_a +FD: biw/b net/minecraft/world/gen/FlatLayerInfo/field_175901_b +FD: biw/c net/minecraft/world/gen/FlatLayerInfo/field_82664_a +FD: biw/d net/minecraft/world/gen/FlatLayerInfo/field_82661_d +FD: bjb/a net/minecraft/world/gen/structure/StructureBoundingBox/field_78897_a +FD: bjb/b net/minecraft/world/gen/structure/StructureBoundingBox/field_78895_b +FD: bjb/c net/minecraft/world/gen/structure/StructureBoundingBox/field_78896_c +FD: bjb/d net/minecraft/world/gen/structure/StructureBoundingBox/field_78893_d +FD: bjb/e net/minecraft/world/gen/structure/StructureBoundingBox/field_78894_e +FD: bjb/f net/minecraft/world/gen/structure/StructureBoundingBox/field_78892_f +FD: bjc/a net/minecraft/world/gen/structure/StructureBoundingBox$SwitchEnumFacing/field_175895_a +FD: bjd/d net/minecraft/world/gen/structure/MapGenMineshaft/field_82673_e +FD: bje/a net/minecraft/world/gen/structure/StructureMineshaftPieces/field_175893_a +FD: bjf/a net/minecraft/world/gen/structure/StructureMineshaftPieces$SwitchEnumFacing/field_175894_a +FD: bjg/a net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor/field_74958_a +FD: bjg/b net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor/field_74956_b +FD: bjg/c net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor/field_74957_c +FD: bjg/d net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor/field_74955_d +FD: bjh/a net/minecraft/world/gen/structure/StructureMineshaftPieces$Cross/field_74953_a +FD: bjh/b net/minecraft/world/gen/structure/StructureMineshaftPieces$Cross/field_74952_b +FD: bji/a net/minecraft/world/gen/structure/StructureMineshaftPieces$Room/field_74949_a +FD: bjl/d net/minecraft/world/gen/structure/MapGenNetherBridge/field_75060_e +FD: bjn/a net/minecraft/world/gen/structure/StructureNetherBridgePieces/field_78742_a +FD: bjn/b net/minecraft/world/gen/structure/StructureNetherBridgePieces/field_78741_b +FD: bjo/a net/minecraft/world/gen/structure/StructureNetherBridgePieces$SwitchEnumFacing/field_175888_a +FD: bjq/b net/minecraft/world/gen/structure/StructureNetherBridgePieces$End/field_74972_a +FD: bjw/b net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor/field_111021_b +FD: bjy/b net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor2/field_111020_b +FD: bka/b net/minecraft/world/gen/structure/StructureNetherBridgePieces$Throne/field_74976_a +FD: bkb/a net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece/field_111019_a +FD: bkc/a net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight/field_78828_a +FD: bkc/b net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight/field_78826_b +FD: bkc/c net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight/field_78827_c +FD: bkc/d net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight/field_78824_d +FD: bkc/e net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight/field_78825_e +FD: bkf/b net/minecraft/world/gen/structure/StructureNetherBridgePieces$Start/field_74970_a +FD: bkf/c net/minecraft/world/gen/structure/StructureNetherBridgePieces$Start/field_74968_b +FD: bkf/d net/minecraft/world/gen/structure/StructureNetherBridgePieces$Start/field_74969_c +FD: bkf/e net/minecraft/world/gen/structure/StructureNetherBridgePieces$Start/field_74967_d +FD: bkg/d net/minecraft/world/gen/structure/StructureOceanMonument/field_175802_d +FD: bkg/f net/minecraft/world/gen/structure/StructureOceanMonument/field_175800_f +FD: bkg/g net/minecraft/world/gen/structure/StructureOceanMonument/field_175801_g +FD: bkg/h net/minecraft/world/gen/structure/StructureOceanMonument/field_175803_h +FD: bkh/c net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument/field_175791_c +FD: bkh/d net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument/field_175790_d +FD: bkj/a net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SwitchEnumFacing/field_175971_a +FD: bkr/o net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding/field_175845_o +FD: bkr/p net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding/field_175844_p +FD: bkr/q net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding/field_175843_q +FD: bl/a net/minecraft/command/CommandExecuteAt$1/field_174804_a +FD: bl/b net/minecraft/command/CommandExecuteAt$1/field_174802_b +FD: bl/c net/minecraft/command/CommandExecuteAt$1/field_174803_c +FD: bl/d net/minecraft/command/CommandExecuteAt$1/field_174800_d +FD: bl/e net/minecraft/command/CommandExecuteAt$1/field_174801_e +FD: bl/f net/minecraft/command/CommandExecuteAt$1/field_174798_f +FD: bl/g net/minecraft/command/CommandExecuteAt$1/field_174799_g +FD: blb/a net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/field_175828_a +FD: blb/b net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/field_175826_b +FD: blb/c net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/field_175827_c +FD: blb/d net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/field_175824_d +FD: blb/e net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/field_175825_e +FD: blb/f net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/field_175822_f +FD: blb/g net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/field_175823_g +FD: blb/h net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/field_175831_h +FD: blb/i net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/field_175832_i +FD: blb/j net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/field_175829_j +FD: blb/k net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/field_175830_k +FD: blc/o net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleRoom/field_175833_o +FD: ble/o net/minecraft/world/gen/structure/StructureOceanMonumentPieces$WingRoom/field_175834_o +FD: blf/a net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition/field_175967_a +FD: blf/b net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition/field_175965_b +FD: blf/c net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition/field_175966_c +FD: blf/d net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition/field_175963_d +FD: blf/e net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition/field_175964_e +FD: blf/f net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition/field_175962_f +FD: blg/d net/minecraft/world/gen/structure/MapGenScatteredFeature/field_75061_e +FD: blg/f net/minecraft/world/gen/structure/MapGenScatteredFeature/field_82668_f +FD: blg/g net/minecraft/world/gen/structure/MapGenScatteredFeature/field_82669_g +FD: blg/h net/minecraft/world/gen/structure/MapGenScatteredFeature/field_82670_h +FD: blj/a net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwitchEnumFacing/field_175956_a +FD: blk/e net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$DesertPyramid/field_74940_h +FD: blk/f net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$DesertPyramid/field_74941_i +FD: bll/e net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid/field_74947_h +FD: bll/f net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid/field_74948_i +FD: bll/g net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid/field_74945_j +FD: bll/h net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid/field_74946_k +FD: bll/i net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid/field_175816_i +FD: bll/j net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid/field_175815_j +FD: bll/k net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid/field_74942_n +FD: bln/a net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$Feature/field_74939_a +FD: bln/b net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$Feature/field_74937_b +FD: bln/c net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$Feature/field_74938_c +FD: bln/d net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$Feature/field_74936_d +FD: blo/e net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwampHut/field_82682_h +FD: blp/d net/minecraft/world/gen/structure/MapGenStronghold/field_151546_e +FD: blp/f net/minecraft/world/gen/structure/MapGenStronghold/field_75056_f +FD: blp/g net/minecraft/world/gen/structure/MapGenStronghold/field_75057_g +FD: blp/h net/minecraft/world/gen/structure/MapGenStronghold/field_82671_h +FD: blp/i net/minecraft/world/gen/structure/MapGenStronghold/field_82672_i +FD: blr/a net/minecraft/world/gen/structure/StructureStrongholdPieces/field_75207_a +FD: blr/b net/minecraft/world/gen/structure/StructureStrongholdPieces/field_75205_b +FD: blr/c net/minecraft/world/gen/structure/StructureStrongholdPieces/field_75206_c +FD: blr/d net/minecraft/world/gen/structure/StructureStrongholdPieces/field_75203_d +FD: blr/e net/minecraft/world/gen/structure/StructureStrongholdPieces/field_75204_e +FD: blu/a net/minecraft/world/gen/structure/StructureStrongholdPieces$SwitchEnumFacing/field_75245_a +FD: blu/b net/minecraft/world/gen/structure/StructureStrongholdPieces$SwitchEnumFacing/field_175951_b +FD: blv/a net/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor/field_75003_a +FD: blv/b net/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor/field_75002_c +FD: blw/a net/minecraft/world/gen/structure/StructureStrongholdPieces$Corridor/field_74993_a +FD: blx/a net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing/field_74996_b +FD: blx/b net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing/field_74997_c +FD: blx/c net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing/field_74995_d +FD: blx/e net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing/field_74999_h +FD: blz/a net/minecraft/world/gen/structure/StructureStrongholdPieces$Library/field_75007_b +FD: blz/b net/minecraft/world/gen/structure/StructureStrongholdPieces$Library/field_75008_c +FD: bma/a net/minecraft/world/gen/structure/StructureStrongholdPieces$PieceWeight/field_75194_a +FD: bma/b net/minecraft/world/gen/structure/StructureStrongholdPieces$PieceWeight/field_75192_b +FD: bma/c net/minecraft/world/gen/structure/StructureStrongholdPieces$PieceWeight/field_75193_c +FD: bma/d net/minecraft/world/gen/structure/StructureStrongholdPieces$PieceWeight/field_75191_d +FD: bmb/a net/minecraft/world/gen/structure/StructureStrongholdPieces$PortalRoom/field_75005_a +FD: bme/a net/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing/field_75013_b +FD: bme/b net/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing/field_75014_c +FD: bmg/a net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs/field_75024_a +FD: bmh/a net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2/field_75027_a +FD: bmh/b net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2/field_75025_b +FD: bmh/c net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2/field_75026_c +FD: bmi/a net/minecraft/world/gen/structure/StructureStrongholdPieces$Straight/field_75019_b +FD: bmi/b net/minecraft/world/gen/structure/StructureStrongholdPieces$Straight/field_75020_c +FD: bmk/d net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold/field_143013_d +FD: bml/a net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door/OPENING +FD: bml/b net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door/WOOD_DOOR +FD: bml/c net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door/GRATES +FD: bml/d net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door/IRON_DOOR +FD: bml/e net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door/$VALUES +FD: bmm/d net/minecraft/world/gen/structure/MapGenStructure/field_143029_e +FD: bmm/e net/minecraft/world/gen/structure/MapGenStructure/field_75053_d +FD: bmn/a net/minecraft/world/gen/structure/MapGenStructure$1/field_85169_a +FD: bmn/b net/minecraft/world/gen/structure/MapGenStructure$1/field_85167_b +FD: bmn/c net/minecraft/world/gen/structure/MapGenStructure$1/field_85168_c +FD: bmo/a net/minecraft/world/gen/structure/MapGenStructure$2/field_85165_a +FD: bmo/b net/minecraft/world/gen/structure/MapGenStructure$2/field_85163_b +FD: bmo/c net/minecraft/world/gen/structure/MapGenStructure$2/field_85164_c +FD: bmp/a net/minecraft/world/gen/structure/MapGenStructure$3/field_85161_a +FD: bmq/a net/minecraft/world/gen/structure/MapGenStructureIO/field_151687_a +FD: bmq/b net/minecraft/world/gen/structure/MapGenStructureIO/field_143040_a +FD: bmq/c net/minecraft/world/gen/structure/MapGenStructureIO/field_143038_b +FD: bmq/d net/minecraft/world/gen/structure/MapGenStructureIO/field_143039_c +FD: bmq/e net/minecraft/world/gen/structure/MapGenStructureIO/field_143037_d +FD: bmr/b net/minecraft/world/gen/structure/MapGenStructureData/field_143044_a +FD: bms/l net/minecraft/world/gen/structure/StructureComponent/field_74887_e +FD: bms/m net/minecraft/world/gen/structure/StructureComponent/field_74885_f +FD: bms/n net/minecraft/world/gen/structure/StructureComponent/field_74886_g +FD: bmt/a net/minecraft/world/gen/structure/StructureComponent$SwitchEnumFacing/field_176100_a +FD: bmu/a net/minecraft/world/gen/structure/StructureComponent$BlockSelector/field_151562_a +FD: bmv/a net/minecraft/world/gen/structure/StructureStart/field_75075_a +FD: bmv/b net/minecraft/world/gen/structure/StructureStart/field_75074_b +FD: bmv/c net/minecraft/world/gen/structure/StructureStart/field_143024_c +FD: bmv/d net/minecraft/world/gen/structure/StructureStart/field_143023_d +FD: bmw/d net/minecraft/world/gen/structure/MapGenVillage/field_75055_e +FD: bmw/f net/minecraft/world/gen/structure/MapGenVillage/field_75054_f +FD: bmw/g net/minecraft/world/gen/structure/MapGenVillage/field_82665_g +FD: bmw/h net/minecraft/world/gen/structure/MapGenVillage/field_82666_h +FD: bmx/c net/minecraft/world/gen/structure/MapGenVillage$Start/field_75076_c +FD: bmz/a net/minecraft/world/gen/structure/StructureVillagePieces$SwitchEnumFacing/field_176064_a +FD: bnb/a net/minecraft/world/gen/structure/StructureVillagePieces$Field1/field_82679_b +FD: bnb/b net/minecraft/world/gen/structure/StructureVillagePieces$Field1/field_82680_c +FD: bnb/c net/minecraft/world/gen/structure/StructureVillagePieces$Field1/field_82678_d +FD: bnb/d net/minecraft/world/gen/structure/StructureVillagePieces$Field1/field_82681_h +FD: bnc/a net/minecraft/world/gen/structure/StructureVillagePieces$Field2/field_82675_b +FD: bnc/b net/minecraft/world/gen/structure/StructureVillagePieces$Field2/field_82676_c +FD: bne/a net/minecraft/world/gen/structure/StructureVillagePieces$PieceWeight/field_75090_a +FD: bne/b net/minecraft/world/gen/structure/StructureVillagePieces$PieceWeight/field_75088_b +FD: bne/c net/minecraft/world/gen/structure/StructureVillagePieces$PieceWeight/field_75089_c +FD: bne/d net/minecraft/world/gen/structure/StructureVillagePieces$PieceWeight/field_75087_d +FD: bng/a net/minecraft/world/gen/structure/StructureVillagePieces$House4Garden/field_74913_b +FD: bnh/a net/minecraft/world/gen/structure/StructureVillagePieces$WoodHut/field_74909_b +FD: bnh/b net/minecraft/world/gen/structure/StructureVillagePieces$WoodHut/field_74910_c +FD: bnj/a net/minecraft/world/gen/structure/StructureVillagePieces$House2/field_74918_a +FD: bnj/b net/minecraft/world/gen/structure/StructureVillagePieces$House2/field_74917_c +FD: bnk/a net/minecraft/world/gen/structure/StructureVillagePieces$Start/field_74929_a +FD: bnk/b net/minecraft/world/gen/structure/StructureVillagePieces$Start/field_74927_b +FD: bnk/c net/minecraft/world/gen/structure/StructureVillagePieces$Start/field_74928_c +FD: bnk/d net/minecraft/world/gen/structure/StructureVillagePieces$Start/field_74926_d +FD: bnk/e net/minecraft/world/gen/structure/StructureVillagePieces$Start/field_74931_h +FD: bnk/f net/minecraft/world/gen/structure/StructureVillagePieces$Start/field_74932_i +FD: bnk/g net/minecraft/world/gen/structure/StructureVillagePieces$Start/field_74930_j +FD: bnl/a net/minecraft/world/gen/structure/StructureVillagePieces$Path/field_74934_a +FD: bnn/a net/minecraft/world/gen/structure/StructureVillagePieces$Village/field_74896_a +FD: bnn/b net/minecraft/world/gen/structure/StructureVillagePieces$Village/field_143014_b +FD: bnn/h net/minecraft/world/gen/structure/StructureVillagePieces$Village/field_143015_k +FD: bnu/a net/minecraft/world/gen/NoiseGeneratorImproved/field_76315_a +FD: bnu/b net/minecraft/world/gen/NoiseGeneratorImproved/field_76313_b +FD: bnu/c net/minecraft/world/gen/NoiseGeneratorImproved/field_76314_c +FD: bnu/d net/minecraft/world/gen/NoiseGeneratorImproved/field_76312_d +FD: bnu/e net/minecraft/world/gen/NoiseGeneratorImproved/field_152381_e +FD: bnu/f net/minecraft/world/gen/NoiseGeneratorImproved/field_152382_f +FD: bnu/g net/minecraft/world/gen/NoiseGeneratorImproved/field_152383_g +FD: bnu/h net/minecraft/world/gen/NoiseGeneratorImproved/field_152384_h +FD: bnu/i net/minecraft/world/gen/NoiseGeneratorImproved/field_152385_i +FD: bnv/a net/minecraft/world/gen/NoiseGeneratorOctaves/field_76307_a +FD: bnv/b net/minecraft/world/gen/NoiseGeneratorOctaves/field_76306_b +FD: bnw/a net/minecraft/world/gen/NoiseGeneratorPerlin/field_151603_a +FD: bnw/b net/minecraft/world/gen/NoiseGeneratorPerlin/field_151602_b +FD: bnz/a net/minecraft/world/gen/NoiseGeneratorSimplex/field_151614_a +FD: bnz/b net/minecraft/world/gen/NoiseGeneratorSimplex/field_151612_b +FD: bnz/c net/minecraft/world/gen/NoiseGeneratorSimplex/field_151613_c +FD: bnz/d net/minecraft/world/gen/NoiseGeneratorSimplex/field_151610_d +FD: bnz/e net/minecraft/world/gen/NoiseGeneratorSimplex/field_151611_e +FD: bnz/f net/minecraft/world/gen/NoiseGeneratorSimplex/field_151608_f +FD: bnz/g net/minecraft/world/gen/NoiseGeneratorSimplex/field_151609_g +FD: bnz/h net/minecraft/world/gen/NoiseGeneratorSimplex/field_151615_h +FD: bof/A net/minecraft/block/material/Material/field_151570_A +FD: bof/B net/minecraft/block/material/Material/field_151571_B +FD: bof/C net/minecraft/block/material/Material/field_151572_C +FD: bof/D net/minecraft/block/material/Material/field_151566_D +FD: bof/E net/minecraft/block/material/Material/field_151567_E +FD: bof/F net/minecraft/block/material/Material/field_151568_F +FD: bof/G net/minecraft/block/material/Material/field_151569_G +FD: bof/H net/minecraft/block/material/Material/field_76233_E +FD: bof/I net/minecraft/block/material/Material/field_175972_I +FD: bof/J net/minecraft/block/material/Material/field_76235_G +FD: bof/K net/minecraft/block/material/Material/field_76239_H +FD: bof/L net/minecraft/block/material/Material/field_76240_I +FD: bof/M net/minecraft/block/material/Material/field_76234_F +FD: bof/N net/minecraft/block/material/Material/field_76241_J +FD: bof/O net/minecraft/block/material/Material/field_76242_K +FD: bof/P net/minecraft/block/material/Material/field_85159_M +FD: bof/a net/minecraft/block/material/Material/field_151579_a +FD: bof/b net/minecraft/block/material/Material/field_151577_b +FD: bof/c net/minecraft/block/material/Material/field_151578_c +FD: bof/d net/minecraft/block/material/Material/field_151575_d +FD: bof/e net/minecraft/block/material/Material/field_151576_e +FD: bof/f net/minecraft/block/material/Material/field_151573_f +FD: bof/g net/minecraft/block/material/Material/field_151574_g +FD: bof/h net/minecraft/block/material/Material/field_151586_h +FD: bof/i net/minecraft/block/material/Material/field_151587_i +FD: bof/j net/minecraft/block/material/Material/field_151584_j +FD: bof/k net/minecraft/block/material/Material/field_151585_k +FD: bof/l net/minecraft/block/material/Material/field_151582_l +FD: bof/m net/minecraft/block/material/Material/field_151583_m +FD: bof/n net/minecraft/block/material/Material/field_151580_n +FD: bof/o net/minecraft/block/material/Material/field_151581_o +FD: bof/p net/minecraft/block/material/Material/field_151595_p +FD: bof/q net/minecraft/block/material/Material/field_151594_q +FD: bof/r net/minecraft/block/material/Material/field_151593_r +FD: bof/s net/minecraft/block/material/Material/field_151592_s +FD: bof/t net/minecraft/block/material/Material/field_151591_t +FD: bof/u net/minecraft/block/material/Material/field_151590_u +FD: bof/v net/minecraft/block/material/Material/field_151589_v +FD: bof/w net/minecraft/block/material/Material/field_151588_w +FD: bof/x net/minecraft/block/material/Material/field_151598_x +FD: bof/y net/minecraft/block/material/Material/field_151597_y +FD: bof/z net/minecraft/block/material/Material/field_151596_z +FD: boh/A net/minecraft/block/material/MapColor/field_151649_A +FD: boh/B net/minecraft/block/material/MapColor/field_151650_B +FD: boh/C net/minecraft/block/material/MapColor/field_151651_C +FD: boh/D net/minecraft/block/material/MapColor/field_151645_D +FD: boh/E net/minecraft/block/material/MapColor/field_151646_E +FD: boh/F net/minecraft/block/material/MapColor/field_151647_F +FD: boh/G net/minecraft/block/material/MapColor/field_151648_G +FD: boh/H net/minecraft/block/material/MapColor/field_151652_H +FD: boh/I net/minecraft/block/material/MapColor/field_151653_I +FD: boh/J net/minecraft/block/material/MapColor/field_151654_J +FD: boh/K net/minecraft/block/material/MapColor/field_151655_K +FD: boh/L net/minecraft/block/material/MapColor/field_76291_p +FD: boh/M net/minecraft/block/material/MapColor/field_76290_q +FD: boh/a net/minecraft/block/material/MapColor/field_76281_a +FD: boh/b net/minecraft/block/material/MapColor/field_151660_b +FD: boh/c net/minecraft/block/material/MapColor/field_151661_c +FD: boh/d net/minecraft/block/material/MapColor/field_151658_d +FD: boh/e net/minecraft/block/material/MapColor/field_151659_e +FD: boh/f net/minecraft/block/material/MapColor/field_151656_f +FD: boh/g net/minecraft/block/material/MapColor/field_151657_g +FD: boh/h net/minecraft/block/material/MapColor/field_151668_h +FD: boh/i net/minecraft/block/material/MapColor/field_151669_i +FD: boh/j net/minecraft/block/material/MapColor/field_151666_j +FD: boh/k net/minecraft/block/material/MapColor/field_151667_k +FD: boh/l net/minecraft/block/material/MapColor/field_151664_l +FD: boh/m net/minecraft/block/material/MapColor/field_151665_m +FD: boh/n net/minecraft/block/material/MapColor/field_151662_n +FD: boh/o net/minecraft/block/material/MapColor/field_151663_o +FD: boh/p net/minecraft/block/material/MapColor/field_151677_p +FD: boh/q net/minecraft/block/material/MapColor/field_151676_q +FD: boh/r net/minecraft/block/material/MapColor/field_151675_r +FD: boh/s net/minecraft/block/material/MapColor/field_151674_s +FD: boh/t net/minecraft/block/material/MapColor/field_151673_t +FD: boh/u net/minecraft/block/material/MapColor/field_151672_u +FD: boh/v net/minecraft/block/material/MapColor/field_151671_v +FD: boh/w net/minecraft/block/material/MapColor/field_151670_w +FD: boh/x net/minecraft/block/material/MapColor/field_151680_x +FD: boh/y net/minecraft/block/material/MapColor/field_151679_y +FD: boh/z net/minecraft/block/material/MapColor/field_151678_z +FD: bol/c net/minecraft/world/gen/layer/GenLayerEdge/field_151627_c +FD: bom/a net/minecraft/world/gen/layer/GenLayerEdge$SwitchMode/field_151642_a +FD: bon/a net/minecraft/world/gen/layer/GenLayerEdge$Mode/COOL_WARM +FD: bon/b net/minecraft/world/gen/layer/GenLayerEdge$Mode/HEAT_ICE +FD: bon/c net/minecraft/world/gen/layer/GenLayerEdge$Mode/SPECIAL +FD: bon/d net/minecraft/world/gen/layer/GenLayerEdge$Mode/$VALUES +FD: bos/c net/minecraft/world/gen/layer/GenLayerBiome/field_151623_c +FD: bos/d net/minecraft/world/gen/layer/GenLayerBiome/field_151621_d +FD: bos/e net/minecraft/world/gen/layer/GenLayerBiome/field_151622_e +FD: bos/f net/minecraft/world/gen/layer/GenLayerBiome/field_151620_f +FD: bos/g net/minecraft/world/gen/layer/GenLayerBiome/field_175973_g +FD: boy/a net/minecraft/world/gen/layer/IntCache/field_76451_a +FD: boy/b net/minecraft/world/gen/layer/IntCache/field_76449_b +FD: boy/c net/minecraft/world/gen/layer/IntCache/field_76450_c +FD: boy/d net/minecraft/world/gen/layer/IntCache/field_76447_d +FD: boy/e net/minecraft/world/gen/layer/IntCache/field_76448_e +FD: bpa/a net/minecraft/world/gen/layer/GenLayer/field_75909_a +FD: bpa/b net/minecraft/world/gen/layer/GenLayer/field_75906_d +FD: bpa/c net/minecraft/world/gen/layer/GenLayer/field_75907_b +FD: bpa/d net/minecraft/world/gen/layer/GenLayer/field_75908_c +FD: bpb/a net/minecraft/world/gen/layer/GenLayer$1/field_176191_a +FD: bpc/a net/minecraft/world/gen/layer/GenLayer$2/field_176192_a +FD: bpe/c net/minecraft/world/gen/layer/GenLayerHills/field_151629_c +FD: bpe/d net/minecraft/world/gen/layer/GenLayerHills/field_151628_d +FD: bpi/c net/minecraft/world/gen/layer/GenLayerRiverMix/field_75910_b +FD: bpi/d net/minecraft/world/gen/layer/GenLayerRiverMix/field_75911_c +FD: bps/a net/minecraft/pathfinding/Path/field_75852_a +FD: bps/b net/minecraft/pathfinding/Path/field_75851_b +FD: bpt/a net/minecraft/pathfinding/PathPoint/field_75839_a +FD: bpt/b net/minecraft/pathfinding/PathPoint/field_75837_b +FD: bpt/c net/minecraft/pathfinding/PathPoint/field_75838_c +FD: bpt/d net/minecraft/pathfinding/PathPoint/field_75835_d +FD: bpt/e net/minecraft/pathfinding/PathPoint/field_75836_e +FD: bpt/f net/minecraft/pathfinding/PathPoint/field_75833_f +FD: bpt/g net/minecraft/pathfinding/PathPoint/field_75834_g +FD: bpt/h net/minecraft/pathfinding/PathPoint/field_75841_h +FD: bpt/i net/minecraft/pathfinding/PathPoint/field_75842_i +FD: bpt/j net/minecraft/pathfinding/PathPoint/field_75840_j +FD: bpu/a net/minecraft/world/pathfinder/NodeProcessor/field_176169_a +FD: bpu/b net/minecraft/world/pathfinder/NodeProcessor/field_176167_b +FD: bpu/c net/minecraft/world/pathfinder/NodeProcessor/field_176168_c +FD: bpu/d net/minecraft/world/pathfinder/NodeProcessor/field_176165_d +FD: bpu/e net/minecraft/world/pathfinder/NodeProcessor/field_176166_e +FD: bpv/a net/minecraft/pathfinding/PathEntity/field_75884_a +FD: bpv/b net/minecraft/pathfinding/PathEntity/field_75882_b +FD: bpv/c net/minecraft/pathfinding/PathEntity/field_75883_c +FD: bpw/a net/minecraft/pathfinding/PathFinder/field_75866_b +FD: bpw/b net/minecraft/pathfinding/PathFinder/field_75864_d +FD: bpw/c net/minecraft/pathfinding/PathFinder/field_176190_c +FD: bpy/f net/minecraft/world/pathfinder/WalkNodeProcessor/field_176180_f +FD: bpy/g net/minecraft/world/pathfinder/WalkNodeProcessor/field_176181_g +FD: bpy/h net/minecraft/world/pathfinder/WalkNodeProcessor/field_176183_h +FD: bpy/i net/minecraft/world/pathfinder/WalkNodeProcessor/field_176184_i +FD: bpy/j net/minecraft/world/pathfinder/WalkNodeProcessor/field_176182_j +FD: bqc/a net/minecraft/world/WorldSavedData/field_76190_i +FD: bqc/b net/minecraft/world/WorldSavedData/field_76189_a +FD: bqd/a net/minecraft/util/Vec4b/field_176117_a +FD: bqd/b net/minecraft/util/Vec4b/field_176115_b +FD: bqd/c net/minecraft/util/Vec4b/field_176116_c +FD: bqd/d net/minecraft/util/Vec4b/field_176114_d +FD: bqe/b net/minecraft/world/storage/MapData/field_76201_a +FD: bqe/c net/minecraft/world/storage/MapData/field_76199_b +FD: bqe/d net/minecraft/world/storage/MapData/field_76200_c +FD: bqe/e net/minecraft/world/storage/MapData/field_76197_d +FD: bqe/f net/minecraft/world/storage/MapData/field_76198_e +FD: bqe/g net/minecraft/world/storage/MapData/field_76196_g +FD: bqe/h net/minecraft/world/storage/MapData/field_76203_h +FD: bqe/i net/minecraft/world/storage/MapData/field_76202_j +FD: bqf/a net/minecraft/world/storage/MapData$MapInfo/field_76211_a +FD: bqf/b net/minecraft/world/storage/MapData$MapInfo/field_82569_d +FD: bqf/c net/minecraft/world/storage/MapData$MapInfo/field_176107_c +FD: bqf/d net/minecraft/world/storage/MapData$MapInfo/field_176105_d +FD: bqf/e net/minecraft/world/storage/MapData$MapInfo/field_176106_e +FD: bqf/f net/minecraft/world/storage/MapData$MapInfo/field_176103_f +FD: bqf/g net/minecraft/world/storage/MapData$MapInfo/field_176104_g +FD: bqf/h net/minecraft/world/storage/MapData$MapInfo/field_176108_h +FD: bqf/i net/minecraft/world/storage/MapData$MapInfo/field_176109_i +FD: bqj/b net/minecraft/world/chunk/storage/AnvilSaveConverter/field_151480_b +FD: bqk/a net/minecraft/world/chunk/storage/AnvilSaveConverter$1/field_76172_a +FD: bql/b net/minecraft/world/storage/DerivedWorldInfo/field_76115_a +FD: bqm/a net/minecraft/world/storage/SaveHandler/field_151478_a +FD: bqm/b net/minecraft/world/storage/SaveHandler/field_75770_b +FD: bqm/c net/minecraft/world/storage/SaveHandler/field_75771_c +FD: bqm/d net/minecraft/world/storage/SaveHandler/field_75768_d +FD: bqm/e net/minecraft/world/storage/SaveHandler/field_75769_e +FD: bqm/f net/minecraft/world/storage/SaveHandler/field_75767_f +FD: bqn/a net/minecraft/world/storage/SaveFormatOld/field_75808_a +FD: bqn/b net/minecraft/world/storage/SaveFormatOld/field_151479_b +FD: bqo/A net/minecraft/world/storage/WorldInfo/field_176150_A +FD: bqo/B net/minecraft/world/storage/WorldInfo/field_176151_B +FD: bqo/C net/minecraft/world/storage/WorldInfo/field_176152_C +FD: bqo/D net/minecraft/world/storage/WorldInfo/field_176146_D +FD: bqo/E net/minecraft/world/storage/WorldInfo/field_176147_E +FD: bqo/F net/minecraft/world/storage/WorldInfo/field_176148_F +FD: bqo/G net/minecraft/world/storage/WorldInfo/field_176149_G +FD: bqo/H net/minecraft/world/storage/WorldInfo/field_176153_H +FD: bqo/I net/minecraft/world/storage/WorldInfo/field_176154_I +FD: bqo/J net/minecraft/world/storage/WorldInfo/field_176155_J +FD: bqo/K net/minecraft/world/storage/WorldInfo/field_82577_x +FD: bqo/a net/minecraft/world/storage/WorldInfo/field_176156_a +FD: bqo/b net/minecraft/world/storage/WorldInfo/field_76100_a +FD: bqo/c net/minecraft/world/storage/WorldInfo/field_76098_b +FD: bqo/d net/minecraft/world/storage/WorldInfo/field_82576_c +FD: bqo/e net/minecraft/world/storage/WorldInfo/field_76099_c +FD: bqo/f net/minecraft/world/storage/WorldInfo/field_76096_d +FD: bqo/g net/minecraft/world/storage/WorldInfo/field_76097_e +FD: bqo/h net/minecraft/world/storage/WorldInfo/field_82575_g +FD: bqo/i net/minecraft/world/storage/WorldInfo/field_76094_f +FD: bqo/j net/minecraft/world/storage/WorldInfo/field_76095_g +FD: bqo/k net/minecraft/world/storage/WorldInfo/field_76107_h +FD: bqo/l net/minecraft/world/storage/WorldInfo/field_76108_i +FD: bqo/m net/minecraft/world/storage/WorldInfo/field_76105_j +FD: bqo/n net/minecraft/world/storage/WorldInfo/field_76106_k +FD: bqo/o net/minecraft/world/storage/WorldInfo/field_76103_l +FD: bqo/p net/minecraft/world/storage/WorldInfo/field_176157_p +FD: bqo/q net/minecraft/world/storage/WorldInfo/field_76104_m +FD: bqo/r net/minecraft/world/storage/WorldInfo/field_76101_n +FD: bqo/s net/minecraft/world/storage/WorldInfo/field_76102_o +FD: bqo/t net/minecraft/world/storage/WorldInfo/field_76114_p +FD: bqo/u net/minecraft/world/storage/WorldInfo/field_76113_q +FD: bqo/v net/minecraft/world/storage/WorldInfo/field_76112_r +FD: bqo/w net/minecraft/world/storage/WorldInfo/field_76111_s +FD: bqo/x net/minecraft/world/storage/WorldInfo/field_76110_t +FD: bqo/y net/minecraft/world/storage/WorldInfo/field_76109_u +FD: bqo/z net/minecraft/world/storage/WorldInfo/field_176158_z +FD: bqp/a net/minecraft/world/storage/WorldInfo$1/field_85143_a +FD: bqq/a net/minecraft/world/storage/WorldInfo$2/field_85139_a +FD: bqr/a net/minecraft/world/storage/WorldInfo$3/field_85141_a +FD: bqs/a net/minecraft/world/storage/WorldInfo$4/field_85135_a +FD: bqt/a net/minecraft/world/storage/WorldInfo$5/field_85137_a +FD: bqu/a net/minecraft/world/storage/WorldInfo$6/field_85115_a +FD: bqv/a net/minecraft/world/storage/WorldInfo$7/field_85113_a +FD: bqw/a net/minecraft/world/storage/WorldInfo$8/field_85111_a +FD: bqx/a net/minecraft/world/storage/WorldInfo$9/field_85109_a +FD: brb/a net/minecraft/world/storage/SaveFormatComparator/field_75797_a +FD: brb/b net/minecraft/world/storage/SaveFormatComparator/field_75795_b +FD: brb/c net/minecraft/world/storage/SaveFormatComparator/field_75796_c +FD: brb/d net/minecraft/world/storage/SaveFormatComparator/field_75793_d +FD: brb/e net/minecraft/world/storage/SaveFormatComparator/field_75794_e +FD: brb/f net/minecraft/world/storage/SaveFormatComparator/field_75791_f +FD: brb/g net/minecraft/world/storage/SaveFormatComparator/field_75792_g +FD: brb/h net/minecraft/world/storage/SaveFormatComparator/field_75798_h +FD: brn/a net/minecraft/world/storage/MapStorage/field_75749_b +FD: brn/b net/minecraft/world/storage/MapStorage/field_75751_a +FD: brn/c net/minecraft/world/storage/MapStorage/field_75750_c +FD: brn/d net/minecraft/world/storage/MapStorage/field_75748_d +FD: brp/a net/minecraft/world/storage/ThreadedFileIOBase/field_75741_a +FD: brp/b net/minecraft/world/storage/ThreadedFileIOBase/field_75739_b +FD: brp/c net/minecraft/world/storage/ThreadedFileIOBase/field_75740_c +FD: brp/d net/minecraft/world/storage/ThreadedFileIOBase/field_75737_d +FD: brp/e net/minecraft/world/storage/ThreadedFileIOBase/field_75738_e +FD: brt/a net/minecraft/util/AxisAlignedBB/field_72340_a +FD: brt/b net/minecraft/util/AxisAlignedBB/field_72338_b +FD: brt/c net/minecraft/util/AxisAlignedBB/field_72339_c +FD: brt/d net/minecraft/util/AxisAlignedBB/field_72336_d +FD: brt/e net/minecraft/util/AxisAlignedBB/field_72337_e +FD: brt/f net/minecraft/util/AxisAlignedBB/field_72334_f +FD: bru/a net/minecraft/util/MovingObjectPosition/field_72313_a +FD: bru/b net/minecraft/util/MovingObjectPosition/field_178784_b +FD: bru/c net/minecraft/util/MovingObjectPosition/field_72307_f +FD: bru/d net/minecraft/util/MovingObjectPosition/field_72308_g +FD: bru/e net/minecraft/util/MovingObjectPosition/field_178783_e +FD: brv/a net/minecraft/util/MovingObjectPosition$MovingObjectType/MISS +FD: brv/b net/minecraft/util/MovingObjectPosition$MovingObjectType/BLOCK +FD: brv/c net/minecraft/util/MovingObjectPosition$MovingObjectType/ENTITY +FD: brv/d net/minecraft/util/MovingObjectPosition$MovingObjectType/$VALUES +FD: brw/a net/minecraft/util/Vec3/field_72450_a +FD: brw/b net/minecraft/util/Vec3/field_72448_b +FD: brw/c net/minecraft/util/Vec3/field_72449_c +FD: bry/a net/minecraft/scoreboard/ScoreObjective/field_96686_a +FD: bry/b net/minecraft/scoreboard/ScoreObjective/field_96684_b +FD: bry/c net/minecraft/scoreboard/ScoreObjective/field_96685_c +FD: bry/d net/minecraft/scoreboard/ScoreObjective/field_178768_d +FD: bry/e net/minecraft/scoreboard/ScoreObjective/field_96683_d +FD: brz/a net/minecraft/scoreboard/ScorePlayerTeam/field_96677_a +FD: brz/b net/minecraft/scoreboard/ScorePlayerTeam/field_96675_b +FD: brz/c net/minecraft/scoreboard/ScorePlayerTeam/field_96676_c +FD: brz/d net/minecraft/scoreboard/ScorePlayerTeam/field_96673_d +FD: brz/e net/minecraft/scoreboard/ScorePlayerTeam/field_96674_e +FD: brz/f net/minecraft/scoreboard/ScorePlayerTeam/field_96671_f +FD: brz/g net/minecraft/scoreboard/ScorePlayerTeam/field_96672_g +FD: brz/h net/minecraft/scoreboard/ScorePlayerTeam/field_98301_h +FD: brz/i net/minecraft/scoreboard/ScorePlayerTeam/field_178778_i +FD: brz/j net/minecraft/scoreboard/ScorePlayerTeam/field_178776_j +FD: brz/k net/minecraft/scoreboard/ScorePlayerTeam/field_178777_k +FD: bsa/a net/minecraft/scoreboard/Score/field_96658_a +FD: bsa/b net/minecraft/scoreboard/Score/field_96656_b +FD: bsa/c net/minecraft/scoreboard/Score/field_96657_c +FD: bsa/d net/minecraft/scoreboard/Score/field_96654_d +FD: bsa/e net/minecraft/scoreboard/Score/field_96655_e +FD: bsa/f net/minecraft/scoreboard/Score/field_178817_f +FD: bsa/g net/minecraft/scoreboard/Score/field_178818_g +FD: bsd/a net/minecraft/scoreboard/Scoreboard/field_96545_a +FD: bsd/b net/minecraft/scoreboard/Scoreboard/field_96543_b +FD: bsd/c net/minecraft/scoreboard/Scoreboard/field_96544_c +FD: bsd/d net/minecraft/scoreboard/Scoreboard/field_96541_d +FD: bsd/e net/minecraft/scoreboard/Scoreboard/field_96542_e +FD: bsd/f net/minecraft/scoreboard/Scoreboard/field_96540_f +FD: bsd/g net/minecraft/scoreboard/Scoreboard/field_178823_g +FD: bse/b net/minecraft/scoreboard/ScoreboardSaveData/field_151481_a +FD: bse/c net/minecraft/scoreboard/ScoreboardSaveData/field_96507_a +FD: bse/d net/minecraft/scoreboard/ScoreboardSaveData/field_96506_b +FD: bsg/a net/minecraft/scoreboard/Team$EnumVisible/ALWAYS +FD: bsg/b net/minecraft/scoreboard/Team$EnumVisible/NEVER +FD: bsg/c net/minecraft/scoreboard/Team$EnumVisible/HIDE_FOR_OTHER_TEAMS +FD: bsg/d net/minecraft/scoreboard/Team$EnumVisible/HIDE_FOR_OWN_TEAM +FD: bsg/e net/minecraft/scoreboard/Team$EnumVisible/field_178830_e +FD: bsg/f net/minecraft/scoreboard/Team$EnumVisible/field_178827_f +FD: bsg/g net/minecraft/scoreboard/Team$EnumVisible/field_178828_g +FD: bsg/h net/minecraft/scoreboard/Team$EnumVisible/$VALUES +FD: bsh/j net/minecraft/scoreboard/GoalColor/field_178794_j +FD: bsi/j net/minecraft/scoreboard/ScoreDummyCriteria/field_96644_g +FD: bsk/a net/minecraft/scoreboard/IScoreObjectiveCriteria/field_96643_a +FD: bsk/b net/minecraft/scoreboard/IScoreObjectiveCriteria/field_96641_b +FD: bsk/c net/minecraft/scoreboard/IScoreObjectiveCriteria/field_178791_c +FD: bsk/d net/minecraft/scoreboard/IScoreObjectiveCriteria/field_96642_c +FD: bsk/e net/minecraft/scoreboard/IScoreObjectiveCriteria/field_96639_d +FD: bsk/f net/minecraft/scoreboard/IScoreObjectiveCriteria/field_96640_e +FD: bsk/g net/minecraft/scoreboard/IScoreObjectiveCriteria/field_96638_f +FD: bsk/h net/minecraft/scoreboard/IScoreObjectiveCriteria/field_178792_h +FD: bsk/i net/minecraft/scoreboard/IScoreObjectiveCriteria/field_178793_i +FD: bsl/a net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType/INTEGER +FD: bsl/b net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType/HEARTS +FD: bsl/c net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType/field_178801_c +FD: bsl/d net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType/field_178798_d +FD: bsl/e net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType/$VALUES +FD: bsm/j net/minecraft/stats/ObjectiveStat/field_151459_g +FD: bsp/a net/minecraft/client/renderer/ActiveRenderInfo/field_178814_a +FD: bsp/b net/minecraft/client/renderer/ActiveRenderInfo/field_178812_b +FD: bsp/c net/minecraft/client/renderer/ActiveRenderInfo/field_178813_c +FD: bsp/d net/minecraft/client/renderer/ActiveRenderInfo/field_178810_d +FD: bsp/e net/minecraft/client/renderer/ActiveRenderInfo/field_178811_e +FD: bsp/f net/minecraft/client/renderer/ActiveRenderInfo/field_74588_d +FD: bsp/g net/minecraft/client/renderer/ActiveRenderInfo/field_74589_e +FD: bsp/h net/minecraft/client/renderer/ActiveRenderInfo/field_74586_f +FD: bsp/i net/minecraft/client/renderer/ActiveRenderInfo/field_74587_g +FD: bsp/j net/minecraft/client/renderer/ActiveRenderInfo/field_74596_h +FD: bsq/a net/minecraft/client/gui/ChatLine/field_74543_a +FD: bsq/b net/minecraft/client/gui/ChatLine/field_74541_b +FD: bsq/c net/minecraft/client/gui/ChatLine/field_74542_c +FD: bsr/a net/minecraft/client/settings/KeyBinding/field_74516_a +FD: bsr/b net/minecraft/client/settings/KeyBinding/field_74514_b +FD: bsr/c net/minecraft/client/settings/KeyBinding/field_151473_c +FD: bsr/d net/minecraft/client/settings/KeyBinding/field_74515_c +FD: bsr/e net/minecraft/client/settings/KeyBinding/field_151472_e +FD: bsr/f net/minecraft/client/settings/KeyBinding/field_151471_f +FD: bsr/g net/minecraft/client/settings/KeyBinding/field_74512_d +FD: bsr/h net/minecraft/client/settings/KeyBinding/field_74513_e +FD: bsr/i net/minecraft/client/settings/KeyBinding/field_151474_i +FD: bss/a net/minecraft/client/renderer/RenderHelper/field_74522_a +FD: bss/b net/minecraft/client/renderer/RenderHelper/field_82884_b +FD: bss/c net/minecraft/client/renderer/RenderHelper/field_82885_c +FD: bsu/A net/minecraft/client/Minecraft/field_71426_K +FD: bsu/B net/minecraft/client/Minecraft/field_175613_B +FD: bsu/C net/minecraft/client/Minecraft/field_175614_C +FD: bsu/D net/minecraft/client/Minecraft/field_175611_D +FD: bsu/E net/minecraft/client/Minecraft/field_175612_E +FD: bsu/F net/minecraft/client/Minecraft/field_71419_L +FD: bsu/G net/minecraft/client/Minecraft/field_71420_M +FD: bsu/H net/minecraft/client/Minecraft/field_71421_N +FD: bsu/I net/minecraft/client/Minecraft/field_147123_G +FD: bsu/J net/minecraft/client/Minecraft/field_110444_H +FD: bsu/K net/minecraft/client/Minecraft/field_110445_I +FD: bsu/L net/minecraft/client/Minecraft/field_130070_K +FD: bsu/M net/minecraft/client/Minecraft/field_152356_J +FD: bsu/N net/minecraft/client/Minecraft/field_71422_O +FD: bsu/O net/minecraft/client/Minecraft/field_71446_o +FD: bsu/P net/minecraft/client/Minecraft/field_71432_P +FD: bsu/Q net/minecraft/client/Minecraft/field_71431_Q +FD: bsu/R net/minecraft/client/Minecraft/field_175619_R +FD: bsu/S net/minecraft/client/Minecraft/field_71434_R +FD: bsu/T net/minecraft/client/Minecraft/field_71433_S +FD: bsu/U net/minecraft/client/Minecraft/field_71428_T +FD: bsu/V net/minecraft/client/Minecraft/field_71427_U +FD: bsu/W net/minecraft/client/Minecraft/field_175616_W +FD: bsu/X net/minecraft/client/Minecraft/field_175621_X +FD: bsu/Y net/minecraft/client/Minecraft/field_175620_Y +FD: bsu/Z net/minecraft/client/Minecraft/field_175622_Z +FD: bsu/a net/minecraft/client/Minecraft/field_142025_a +FD: bsu/aA net/minecraft/client/Minecraft/field_152353_at +FD: bsu/aB net/minecraft/client/Minecraft/field_147124_at +FD: bsu/aC net/minecraft/client/Minecraft/field_147128_au +FD: bsu/aD net/minecraft/client/Minecraft/field_147127_av +FD: bsu/aE net/minecraft/client/Minecraft/field_147126_aw +FD: bsu/aF net/minecraft/client/Minecraft/field_152354_ay +FD: bsu/aG net/minecraft/client/Minecraft/field_152355_az +FD: bsu/aH net/minecraft/client/Minecraft/field_152350_aA +FD: bsu/aI net/minecraft/client/Minecraft/field_152351_aB +FD: bsu/aJ net/minecraft/client/Minecraft/field_175615_aJ +FD: bsu/aK net/minecraft/client/Minecraft/field_152352_aC +FD: bsu/aL net/minecraft/client/Minecraft/field_175617_aL +FD: bsu/aM net/minecraft/client/Minecraft/field_175618_aM +FD: bsu/aN net/minecraft/client/Minecraft/field_71465_an +FD: bsu/aa net/minecraft/client/Minecraft/field_71449_j +FD: bsu/ab net/minecraft/client/Minecraft/field_71445_n +FD: bsu/ac net/minecraft/client/Minecraft/field_71429_W +FD: bsu/ad net/minecraft/client/Minecraft/field_71436_X +FD: bsu/ae net/minecraft/client/Minecraft/field_71435_Y +FD: bsu/af net/minecraft/client/Minecraft/field_71437_Z +FD: bsu/ag net/minecraft/client/Minecraft/field_110446_Y +FD: bsu/ah net/minecraft/client/Minecraft/field_110447_Z +FD: bsu/ai net/minecraft/client/Minecraft/field_110453_aa +FD: bsu/aj net/minecraft/client/Minecraft/field_71469_aa +FD: bsu/ak net/minecraft/client/Minecraft/field_71470_ab +FD: bsu/al net/minecraft/client/Minecraft/field_71467_ac +FD: bsu/am net/minecraft/client/Minecraft/field_71475_ae +FD: bsu/an net/minecraft/client/Minecraft/field_71477_af +FD: bsu/ao net/minecraft/client/Minecraft/field_71457_ai +FD: bsu/ap net/minecraft/client/Minecraft/field_147129_ai +FD: bsu/aq net/minecraft/client/Minecraft/field_71459_aj +FD: bsu/ar net/minecraft/client/Minecraft/field_71453_ak +FD: bsu/as net/minecraft/client/Minecraft/field_71455_al +FD: bsu/at net/minecraft/client/Minecraft/field_83002_am +FD: bsu/au net/minecraft/client/Minecraft/field_110451_am +FD: bsu/av net/minecraft/client/Minecraft/field_110452_an +FD: bsu/aw net/minecraft/client/Minecraft/field_110449_ao +FD: bsu/ax net/minecraft/client/Minecraft/field_110450_ap +FD: bsu/ay net/minecraft/client/Minecraft/field_110448_aq +FD: bsu/az net/minecraft/client/Minecraft/field_135017_as +FD: bsu/b net/minecraft/client/Minecraft/field_71444_a +FD: bsu/c net/minecraft/client/Minecraft/field_71442_b +FD: bsu/d net/minecraft/client/Minecraft/field_71443_c +FD: bsu/e net/minecraft/client/Minecraft/field_71440_d +FD: bsu/f net/minecraft/client/Minecraft/field_71441_e +FD: bsu/g net/minecraft/client/Minecraft/field_71438_f +FD: bsu/h net/minecraft/client/Minecraft/field_71439_g +FD: bsu/i net/minecraft/client/Minecraft/field_147125_j +FD: bsu/j net/minecraft/client/Minecraft/field_71452_i +FD: bsu/k net/minecraft/client/Minecraft/field_71466_p +FD: bsu/l net/minecraft/client/Minecraft/field_71464_q +FD: bsu/m net/minecraft/client/Minecraft/field_71462_r +FD: bsu/n net/minecraft/client/Minecraft/field_71461_s +FD: bsu/o net/minecraft/client/Minecraft/field_71460_t +FD: bsu/p net/minecraft/client/Minecraft/field_71458_u +FD: bsu/q net/minecraft/client/Minecraft/field_71456_v +FD: bsu/r net/minecraft/client/Minecraft/field_71454_w +FD: bsu/s net/minecraft/client/Minecraft/field_71476_x +FD: bsu/t net/minecraft/client/Minecraft/field_71474_y +FD: bsu/u net/minecraft/client/Minecraft/field_71417_B +FD: bsu/v net/minecraft/client/Minecraft/field_71412_D +FD: bsu/w net/minecraft/client/Minecraft/field_71415_G +FD: bsu/x net/minecraft/client/Minecraft/field_71423_H +FD: bsu/y net/minecraft/client/Minecraft/field_71424_I +FD: bsu/z net/minecraft/client/Minecraft/field_71425_J +FD: bsv/a net/minecraft/client/Minecraft$1/field_74532_a +FD: bsw/a net/minecraft/client/Minecraft$10/field_90051_a +FD: bsx/a net/minecraft/client/Minecraft$11/field_90046_a +FD: bsy/a net/minecraft/client/Minecraft$12/field_90048_a +FD: bsz/a net/minecraft/client/Minecraft$13/field_142056_a +FD: bta/a net/minecraft/client/Minecraft$14/field_151425_a +FD: btb/a net/minecraft/client/Minecraft$15/field_152389_a +FD: btc/a net/minecraft/client/Minecraft$16/field_152128_a +FD: btd/a net/minecraft/client/Minecraft$SwitchEnumMinecartType/field_152390_a +FD: btd/b net/minecraft/client/Minecraft$SwitchEnumMinecartType/field_178901_b +FD: bte/a net/minecraft/client/Minecraft$2/field_74536_a +FD: btf/a net/minecraft/client/Minecraft$3/field_90055_a +FD: btg/a net/minecraft/client/Minecraft$4/field_90053_a +FD: bth/a net/minecraft/client/Minecraft$5/field_74421_a +FD: bti/a net/minecraft/client/Minecraft$6/field_74503_a +FD: btj/a net/minecraft/client/Minecraft$7/field_79002_a +FD: btk/a net/minecraft/client/Minecraft$8/field_74500_a +FD: btl/a net/minecraft/client/Minecraft$9/field_82887_a +FD: btm/a net/minecraft/util/MouseHelper/field_74377_a +FD: btm/b net/minecraft/util/MouseHelper/field_74375_b +FD: bto/A net/minecraft/client/settings/GameSettings/field_92118_B +FD: bto/B net/minecraft/client/settings/GameSettings/field_92119_C +FD: bto/C net/minecraft/client/settings/GameSettings/field_92117_D +FD: bto/D net/minecraft/client/settings/GameSettings/field_96691_E +FD: bto/E net/minecraft/client/settings/GameSettings/field_96692_F +FD: bto/F net/minecraft/client/settings/GameSettings/field_96693_G +FD: bto/G net/minecraft/client/settings/GameSettings/field_96694_H +FD: bto/H net/minecraft/client/settings/GameSettings/field_151441_H +FD: bto/I net/minecraft/client/settings/GameSettings/field_151442_I +FD: bto/J net/minecraft/client/settings/GameSettings/field_152400_J +FD: bto/K net/minecraft/client/settings/GameSettings/field_152401_K +FD: bto/L net/minecraft/client/settings/GameSettings/field_152402_L +FD: bto/M net/minecraft/client/settings/GameSettings/field_152403_M +FD: bto/N net/minecraft/client/settings/GameSettings/field_152404_N +FD: bto/O net/minecraft/client/settings/GameSettings/field_152405_O +FD: bto/P net/minecraft/client/settings/GameSettings/field_152406_P +FD: bto/Q net/minecraft/client/settings/GameSettings/field_152407_Q +FD: bto/R net/minecraft/client/settings/GameSettings/field_152408_R +FD: bto/S net/minecraft/client/settings/GameSettings/field_152409_S +FD: bto/T net/minecraft/client/settings/GameSettings/field_152410_T +FD: bto/U net/minecraft/client/settings/GameSettings/field_74351_w +FD: bto/V net/minecraft/client/settings/GameSettings/field_74370_x +FD: bto/W net/minecraft/client/settings/GameSettings/field_74368_y +FD: bto/X net/minecraft/client/settings/GameSettings/field_74366_z +FD: bto/Y net/minecraft/client/settings/GameSettings/field_74314_A +FD: bto/Z net/minecraft/client/settings/GameSettings/field_74311_E +FD: bto/a net/minecraft/client/settings/GameSettings/field_74341_c +FD: bto/aA net/minecraft/client/settings/GameSettings/field_74332_R +FD: bto/aB net/minecraft/client/settings/GameSettings/field_74326_T +FD: bto/aC net/minecraft/client/settings/GameSettings/field_74325_U +FD: bto/aD net/minecraft/client/settings/GameSettings/field_74334_X +FD: bto/aE net/minecraft/client/settings/GameSettings/field_74333_Y +FD: bto/aF net/minecraft/client/settings/GameSettings/field_151452_as +FD: bto/aG net/minecraft/client/settings/GameSettings/field_74335_Z +FD: bto/aH net/minecraft/client/settings/GameSettings/field_74362_aa +FD: bto/aI net/minecraft/client/settings/GameSettings/field_74363_ab +FD: bto/aJ net/minecraft/client/settings/GameSettings/field_151455_aw +FD: bto/aK net/minecraft/client/settings/GameSettings/field_151454_ax +FD: bto/aL net/minecraft/client/settings/GameSettings/field_151450_ay +FD: bto/aM net/minecraft/client/settings/GameSettings/field_151449_az +FD: bto/aN net/minecraft/client/settings/GameSettings/field_74367_ae +FD: bto/aO net/minecraft/client/settings/GameSettings/field_74364_ag +FD: bto/aP net/minecraft/client/settings/GameSettings/field_98303_au +FD: bto/aQ net/minecraft/client/settings/GameSettings/field_152391_aS +FD: bto/aR net/minecraft/client/settings/GameSettings/field_152392_aT +FD: bto/aS net/minecraft/client/settings/GameSettings/field_152393_aU +FD: bto/aT net/minecraft/client/settings/GameSettings/field_152394_aV +FD: bto/aU net/minecraft/client/settings/GameSettings/field_178882_aU +FD: bto/aV net/minecraft/client/settings/GameSettings/field_151446_aD +FD: bto/aW net/minecraft/client/settings/GameSettings/field_74354_ai +FD: bto/aa net/minecraft/client/settings/GameSettings/field_151445_Q +FD: bto/ab net/minecraft/client/settings/GameSettings/field_74313_G +FD: bto/ac net/minecraft/client/settings/GameSettings/field_74316_C +FD: bto/ad net/minecraft/client/settings/GameSettings/field_74312_F +FD: bto/ae net/minecraft/client/settings/GameSettings/field_74322_I +FD: bto/af net/minecraft/client/settings/GameSettings/field_151444_V +FD: bto/ag net/minecraft/client/settings/GameSettings/field_74310_D +FD: bto/ah net/minecraft/client/settings/GameSettings/field_74321_H +FD: bto/ai net/minecraft/client/settings/GameSettings/field_74323_J +FD: bto/aj net/minecraft/client/settings/GameSettings/field_151447_Z +FD: bto/ak net/minecraft/client/settings/GameSettings/field_151457_aa +FD: bto/al net/minecraft/client/settings/GameSettings/field_151458_ab +FD: bto/am net/minecraft/client/settings/GameSettings/field_152395_am +FD: bto/an net/minecraft/client/settings/GameSettings/field_178883_an +FD: bto/ao net/minecraft/client/settings/GameSettings/field_152396_an +FD: bto/ap net/minecraft/client/settings/GameSettings/field_152397_ao +FD: bto/aq net/minecraft/client/settings/GameSettings/field_152398_ap +FD: bto/ar net/minecraft/client/settings/GameSettings/field_152399_aq +FD: bto/as net/minecraft/client/settings/GameSettings/field_151456_ac +FD: bto/at net/minecraft/client/settings/GameSettings/field_74324_K +FD: bto/au net/minecraft/client/settings/GameSettings/field_74317_L +FD: bto/av net/minecraft/client/settings/GameSettings/field_74318_M +FD: bto/aw net/minecraft/client/settings/GameSettings/field_74319_N +FD: bto/ax net/minecraft/client/settings/GameSettings/field_74320_O +FD: bto/ay net/minecraft/client/settings/GameSettings/field_74330_P +FD: bto/az net/minecraft/client/settings/GameSettings/field_74329_Q +FD: bto/b net/minecraft/client/settings/GameSettings/field_74338_d +FD: bto/c net/minecraft/client/settings/GameSettings/field_151451_c +FD: bto/d net/minecraft/client/settings/GameSettings/field_74336_f +FD: bto/e net/minecraft/client/settings/GameSettings/field_74337_g +FD: bto/f net/minecraft/client/settings/GameSettings/field_151448_g +FD: bto/g net/minecraft/client/settings/GameSettings/field_74350_i +FD: bto/h net/minecraft/client/settings/GameSettings/field_74345_l +FD: bto/i net/minecraft/client/settings/GameSettings/field_74347_j +FD: bto/j net/minecraft/client/settings/GameSettings/field_74348_k +FD: bto/k net/minecraft/client/settings/GameSettings/field_151453_l +FD: bto/l net/minecraft/client/settings/GameSettings/field_74343_n +FD: bto/m net/minecraft/client/settings/GameSettings/field_74344_o +FD: bto/n net/minecraft/client/settings/GameSettings/field_74359_p +FD: bto/o net/minecraft/client/settings/GameSettings/field_74358_q +FD: bto/p net/minecraft/client/settings/GameSettings/field_74357_r +FD: bto/q net/minecraft/client/settings/GameSettings/field_74355_t +FD: bto/r net/minecraft/client/settings/GameSettings/field_74353_u +FD: bto/s net/minecraft/client/settings/GameSettings/field_74352_v +FD: bto/t net/minecraft/client/settings/GameSettings/field_178881_t +FD: bto/u net/minecraft/client/settings/GameSettings/field_178880_u +FD: bto/v net/minecraft/client/settings/GameSettings/field_178879_v +FD: bto/w net/minecraft/client/settings/GameSettings/field_80005_w +FD: bto/x net/minecraft/client/settings/GameSettings/field_82882_x +FD: bto/y net/minecraft/client/settings/GameSettings/field_82881_y +FD: bto/z net/minecraft/client/settings/GameSettings/field_85185_A +FD: btq/a net/minecraft/client/settings/GameSettings$SwitchOptions/field_151477_a +FD: btr/A net/minecraft/client/settings/GameSettings$Options/CHAT_WIDTH +FD: btr/B net/minecraft/client/settings/GameSettings$Options/CHAT_HEIGHT_FOCUSED +FD: btr/C net/minecraft/client/settings/GameSettings$Options/CHAT_HEIGHT_UNFOCUSED +FD: btr/D net/minecraft/client/settings/GameSettings$Options/MIPMAP_LEVELS +FD: btr/E net/minecraft/client/settings/GameSettings$Options/FORCE_UNICODE_FONT +FD: btr/F net/minecraft/client/settings/GameSettings$Options/STREAM_BYTES_PER_PIXEL +FD: btr/G net/minecraft/client/settings/GameSettings$Options/STREAM_VOLUME_MIC +FD: btr/H net/minecraft/client/settings/GameSettings$Options/STREAM_VOLUME_SYSTEM +FD: btr/I net/minecraft/client/settings/GameSettings$Options/STREAM_KBPS +FD: btr/J net/minecraft/client/settings/GameSettings$Options/STREAM_FPS +FD: btr/K net/minecraft/client/settings/GameSettings$Options/STREAM_COMPRESSION +FD: btr/L net/minecraft/client/settings/GameSettings$Options/STREAM_SEND_METADATA +FD: btr/M net/minecraft/client/settings/GameSettings$Options/STREAM_CHAT_ENABLED +FD: btr/N net/minecraft/client/settings/GameSettings$Options/STREAM_CHAT_USER_FILTER +FD: btr/O net/minecraft/client/settings/GameSettings$Options/STREAM_MIC_TOGGLE_BEHAVIOR +FD: btr/P net/minecraft/client/settings/GameSettings$Options/BLOCK_ALTERNATIVES +FD: btr/Q net/minecraft/client/settings/GameSettings$Options/REDUCED_DEBUG_INFO +FD: btr/R net/minecraft/client/settings/GameSettings$Options/field_74385_A +FD: btr/S net/minecraft/client/settings/GameSettings$Options/field_74386_B +FD: btr/T net/minecraft/client/settings/GameSettings$Options/field_74387_C +FD: btr/U net/minecraft/client/settings/GameSettings$Options/field_148270_M +FD: btr/V net/minecraft/client/settings/GameSettings$Options/field_148271_N +FD: btr/W net/minecraft/client/settings/GameSettings$Options/field_148272_O +FD: btr/X net/minecraft/client/settings/GameSettings$Options/$VALUES +FD: btr/a net/minecraft/client/settings/GameSettings$Options/INVERT_MOUSE +FD: btr/b net/minecraft/client/settings/GameSettings$Options/SENSITIVITY +FD: btr/c net/minecraft/client/settings/GameSettings$Options/FOV +FD: btr/d net/minecraft/client/settings/GameSettings$Options/GAMMA +FD: btr/e net/minecraft/client/settings/GameSettings$Options/SATURATION +FD: btr/f net/minecraft/client/settings/GameSettings$Options/RENDER_DISTANCE +FD: btr/g net/minecraft/client/settings/GameSettings$Options/VIEW_BOBBING +FD: btr/h net/minecraft/client/settings/GameSettings$Options/ANAGLYPH +FD: btr/i net/minecraft/client/settings/GameSettings$Options/FRAMERATE_LIMIT +FD: btr/j net/minecraft/client/settings/GameSettings$Options/FBO_ENABLE +FD: btr/k net/minecraft/client/settings/GameSettings$Options/RENDER_CLOUDS +FD: btr/l net/minecraft/client/settings/GameSettings$Options/GRAPHICS +FD: btr/m net/minecraft/client/settings/GameSettings$Options/AMBIENT_OCCLUSION +FD: btr/n net/minecraft/client/settings/GameSettings$Options/GUI_SCALE +FD: btr/o net/minecraft/client/settings/GameSettings$Options/PARTICLES +FD: btr/p net/minecraft/client/settings/GameSettings$Options/CHAT_VISIBILITY +FD: btr/q net/minecraft/client/settings/GameSettings$Options/CHAT_COLOR +FD: btr/r net/minecraft/client/settings/GameSettings$Options/CHAT_LINKS +FD: btr/s net/minecraft/client/settings/GameSettings$Options/CHAT_OPACITY +FD: btr/t net/minecraft/client/settings/GameSettings$Options/CHAT_LINKS_PROMPT +FD: btr/u net/minecraft/client/settings/GameSettings$Options/SNOOPER_ENABLED +FD: btr/v net/minecraft/client/settings/GameSettings$Options/USE_FULLSCREEN +FD: btr/w net/minecraft/client/settings/GameSettings$Options/ENABLE_VSYNC +FD: btr/x net/minecraft/client/settings/GameSettings$Options/USE_VBO +FD: btr/y net/minecraft/client/settings/GameSettings$Options/TOUCHSCREEN +FD: btr/z net/minecraft/client/settings/GameSettings$Options/CHAT_SCALE +FD: bts/a net/minecraft/client/LoadingScreenRenderer/field_73727_a +FD: bts/b net/minecraft/client/LoadingScreenRenderer/field_73725_b +FD: bts/c net/minecraft/client/LoadingScreenRenderer/field_73726_c +FD: bts/d net/minecraft/client/LoadingScreenRenderer/field_73723_d +FD: bts/e net/minecraft/client/LoadingScreenRenderer/field_73724_e +FD: bts/f net/minecraft/client/LoadingScreenRenderer/field_146587_f +FD: bts/g net/minecraft/client/LoadingScreenRenderer/field_146588_g +FD: btt/a net/minecraft/util/ScreenShotHelper/field_148261_a +FD: btt/b net/minecraft/util/ScreenShotHelper/field_74295_a +FD: btt/c net/minecraft/util/ScreenShotHelper/field_74293_b +FD: btt/d net/minecraft/util/ScreenShotHelper/field_74294_c +FD: btv/a net/minecraft/util/Timer/field_74282_a +FD: btv/b net/minecraft/util/Timer/field_74280_b +FD: btv/c net/minecraft/util/Timer/field_74281_c +FD: btv/d net/minecraft/util/Timer/field_74278_d +FD: btv/e net/minecraft/util/Timer/field_74279_e +FD: btv/f net/minecraft/util/Timer/field_74276_f +FD: btv/g net/minecraft/util/Timer/field_74277_g +FD: btv/h net/minecraft/util/Timer/field_74284_h +FD: btv/i net/minecraft/util/Timer/field_74285_i +FD: btv/j net/minecraft/util/Timer/field_74283_j +FD: btw/a net/minecraft/util/Session/field_74286_b +FD: btw/b net/minecraft/util/Session/field_148257_b +FD: btw/c net/minecraft/util/Session/field_148258_c +FD: btw/d net/minecraft/util/Session/field_152429_d +FD: btx/a net/minecraft/util/Session$Type/LEGACY +FD: btx/b net/minecraft/util/Session$Type/MOJANG +FD: btx/c net/minecraft/util/Session$Type/field_152425_c +FD: btx/d net/minecraft/util/Session$Type/field_152426_d +FD: btx/e net/minecraft/util/Session$Type/$VALUES +FD: bty/a net/minecraft/client/gui/FontRenderer/field_78288_b +FD: bty/b net/minecraft/client/gui/FontRenderer/field_78289_c +FD: bty/c net/minecraft/client/gui/FontRenderer/field_111274_c +FD: bty/d net/minecraft/client/gui/FontRenderer/field_78286_d +FD: bty/e net/minecraft/client/gui/FontRenderer/field_78287_e +FD: bty/f net/minecraft/client/gui/FontRenderer/field_78285_g +FD: bty/g net/minecraft/client/gui/FontRenderer/field_111273_g +FD: bty/h net/minecraft/client/gui/FontRenderer/field_78298_i +FD: bty/i net/minecraft/client/gui/FontRenderer/field_78295_j +FD: bty/j net/minecraft/client/gui/FontRenderer/field_78296_k +FD: bty/k net/minecraft/client/gui/FontRenderer/field_78293_l +FD: bty/l net/minecraft/client/gui/FontRenderer/field_78294_m +FD: bty/m net/minecraft/client/gui/FontRenderer/field_78291_n +FD: bty/n net/minecraft/client/gui/FontRenderer/field_78292_o +FD: bty/o net/minecraft/client/gui/FontRenderer/field_78306_p +FD: bty/p net/minecraft/client/gui/FontRenderer/field_78305_q +FD: bty/q net/minecraft/client/gui/FontRenderer/field_78304_r +FD: bty/r net/minecraft/client/gui/FontRenderer/field_78303_s +FD: bty/s net/minecraft/client/gui/FontRenderer/field_78302_t +FD: bty/t net/minecraft/client/gui/FontRenderer/field_78301_u +FD: bty/u net/minecraft/client/gui/FontRenderer/field_78300_v +FD: bty/v net/minecraft/client/gui/FontRenderer/field_78299_w +FD: btz/A net/minecraft/client/gui/GuiIngame/field_175192_A +FD: btz/B net/minecraft/client/gui/GuiIngame/field_175193_B +FD: btz/C net/minecraft/client/gui/GuiIngame/field_175194_C +FD: btz/D net/minecraft/client/gui/GuiIngame/field_175189_D +FD: btz/E net/minecraft/client/gui/GuiIngame/field_175190_E +FD: btz/F net/minecraft/client/gui/GuiIngame/field_175191_F +FD: btz/a net/minecraft/client/gui/GuiIngame/field_73843_a +FD: btz/f net/minecraft/client/gui/GuiIngame/field_110329_b +FD: btz/g net/minecraft/client/gui/GuiIngame/field_110330_c +FD: btz/h net/minecraft/client/gui/GuiIngame/field_110328_d +FD: btz/i net/minecraft/client/gui/GuiIngame/field_73842_c +FD: btz/j net/minecraft/client/gui/GuiIngame/field_73839_d +FD: btz/k net/minecraft/client/gui/GuiIngame/field_73841_b +FD: btz/l net/minecraft/client/gui/GuiIngame/field_73840_e +FD: btz/m net/minecraft/client/gui/GuiIngame/field_152127_m +FD: btz/n net/minecraft/client/gui/GuiIngame/field_73837_f +FD: btz/o net/minecraft/client/gui/GuiIngame/field_73838_g +FD: btz/p net/minecraft/client/gui/GuiIngame/field_73845_h +FD: btz/q net/minecraft/client/gui/GuiIngame/field_73844_j +FD: btz/r net/minecraft/client/gui/GuiIngame/field_92017_k +FD: btz/s net/minecraft/client/gui/GuiIngame/field_92016_l +FD: btz/t net/minecraft/client/gui/GuiIngame/field_175198_t +FD: btz/u net/minecraft/client/gui/GuiIngame/field_175197_u +FD: btz/v net/minecraft/client/gui/GuiIngame/field_175196_v +FD: btz/w net/minecraft/client/gui/GuiIngame/field_175195_w +FD: btz/x net/minecraft/client/gui/GuiIngame/field_175201_x +FD: btz/y net/minecraft/client/gui/GuiIngame/field_175200_y +FD: btz/z net/minecraft/client/gui/GuiIngame/field_175199_z +FD: bua/a net/minecraft/client/gui/GuiIngame$1/field_178904_a +FD: bub/b net/minecraft/client/gui/Gui/field_110325_k +FD: bub/c net/minecraft/client/gui/Gui/field_110323_l +FD: bub/d net/minecraft/client/gui/Gui/field_110324_m +FD: bub/e net/minecraft/client/gui/Gui/field_73735_i +FD: buc/a net/minecraft/client/gui/MapItemRenderer/field_148253_a +FD: buc/b net/minecraft/client/gui/MapItemRenderer/field_148251_b +FD: buc/c net/minecraft/client/gui/MapItemRenderer/field_148252_c +FD: bue/a net/minecraft/client/gui/MapItemRenderer$Instance/field_148244_a +FD: bue/b net/minecraft/client/gui/MapItemRenderer$Instance/field_148242_b +FD: bue/c net/minecraft/client/gui/MapItemRenderer$Instance/field_148243_c +FD: bue/d net/minecraft/client/gui/MapItemRenderer$Instance/field_148240_d +FD: bue/e net/minecraft/client/gui/MapItemRenderer$Instance/field_148241_e +FD: buf/a net/minecraft/client/gui/ScaledResolution/field_78332_c +FD: buf/b net/minecraft/client/gui/ScaledResolution/field_78329_d +FD: buf/c net/minecraft/client/gui/ScaledResolution/field_78333_a +FD: buf/d net/minecraft/client/gui/ScaledResolution/field_78331_b +FD: buf/e net/minecraft/client/gui/ScaledResolution/field_78330_e +FD: bug/a net/minecraft/client/gui/GuiButton/field_146122_a +FD: bug/f net/minecraft/client/gui/GuiButton/field_146120_f +FD: bug/g net/minecraft/client/gui/GuiButton/field_146121_g +FD: bug/h net/minecraft/client/gui/GuiButton/field_146128_h +FD: bug/i net/minecraft/client/gui/GuiButton/field_146129_i +FD: bug/j net/minecraft/client/gui/GuiButton/field_146126_j +FD: bug/k net/minecraft/client/gui/GuiButton/field_146127_k +FD: bug/l net/minecraft/client/gui/GuiButton/field_146124_l +FD: bug/m net/minecraft/client/gui/GuiButton/field_146125_m +FD: bug/n net/minecraft/client/gui/GuiButton/field_146123_n +FD: buh/a net/minecraft/client/gui/GuiNewChat/field_146249_a +FD: buh/f net/minecraft/client/gui/GuiNewChat/field_146247_f +FD: buh/g net/minecraft/client/gui/GuiNewChat/field_146248_g +FD: buh/h net/minecraft/client/gui/GuiNewChat/field_146252_h +FD: buh/i net/minecraft/client/gui/GuiNewChat/field_146253_i +FD: buh/j net/minecraft/client/gui/GuiNewChat/field_146250_j +FD: buh/k net/minecraft/client/gui/GuiNewChat/field_146251_k +FD: buj/a net/minecraft/client/gui/GuiOverlayDebug/field_175242_a +FD: buj/f net/minecraft/client/gui/GuiOverlayDebug/field_175241_f +FD: buk/a net/minecraft/client/gui/GuiOverlayDebug$SwitchEnumFacing/field_178907_a +FD: bul/a net/minecraft/client/gui/GuiTextField/field_146209_f +FD: bul/f net/minecraft/client/gui/GuiTextField/field_146210_g +FD: bul/g net/minecraft/client/gui/GuiTextField/field_175208_g +FD: bul/h net/minecraft/client/gui/GuiTextField/field_146211_a +FD: bul/i net/minecraft/client/gui/GuiTextField/field_146218_h +FD: bul/j net/minecraft/client/gui/GuiTextField/field_146219_i +FD: bul/k net/minecraft/client/gui/GuiTextField/field_146216_j +FD: bul/l net/minecraft/client/gui/GuiTextField/field_146217_k +FD: bul/m net/minecraft/client/gui/GuiTextField/field_146214_l +FD: bul/n net/minecraft/client/gui/GuiTextField/field_146215_m +FD: bul/o net/minecraft/client/gui/GuiTextField/field_146212_n +FD: bul/p net/minecraft/client/gui/GuiTextField/field_146213_o +FD: bul/q net/minecraft/client/gui/GuiTextField/field_146226_p +FD: bul/r net/minecraft/client/gui/GuiTextField/field_146225_q +FD: bul/s net/minecraft/client/gui/GuiTextField/field_146224_r +FD: bul/t net/minecraft/client/gui/GuiTextField/field_146223_s +FD: bul/u net/minecraft/client/gui/GuiTextField/field_146222_t +FD: bul/v net/minecraft/client/gui/GuiTextField/field_146221_u +FD: bul/w net/minecraft/client/gui/GuiTextField/field_146220_v +FD: bul/x net/minecraft/client/gui/GuiTextField/field_175210_x +FD: bul/y net/minecraft/client/gui/GuiTextField/field_175209_y +FD: bum/o net/minecraft/client/gui/GuiSlider/field_175228_o +FD: bum/p net/minecraft/client/gui/GuiSlider/field_175227_p +FD: bum/q net/minecraft/client/gui/GuiSlider/field_175226_q +FD: bum/r net/minecraft/client/gui/GuiSlider/field_175225_r +FD: bum/s net/minecraft/client/gui/GuiSlider/field_175224_s +FD: bum/t net/minecraft/client/gui/GuiSlider/field_175223_t +FD: bum/u net/minecraft/client/gui/GuiSlider/field_175222_u +FD: buo/a net/minecraft/client/gui/GuiLabel/field_146167_a +FD: buo/f net/minecraft/client/gui/GuiLabel/field_146161_f +FD: buo/g net/minecraft/client/gui/GuiLabel/field_146162_g +FD: buo/h net/minecraft/client/gui/GuiLabel/field_146174_h +FD: buo/i net/minecraft/client/gui/GuiLabel/field_175204_i +FD: buo/j net/minecraft/client/gui/GuiLabel/field_146172_j +FD: buo/k net/minecraft/client/gui/GuiLabel/field_146173_k +FD: buo/l net/minecraft/client/gui/GuiLabel/field_146170_l +FD: buo/m net/minecraft/client/gui/GuiLabel/field_146171_m +FD: buo/n net/minecraft/client/gui/GuiLabel/field_146168_n +FD: buo/o net/minecraft/client/gui/GuiLabel/field_146169_o +FD: buo/p net/minecraft/client/gui/GuiLabel/field_146166_p +FD: buo/q net/minecraft/client/gui/GuiLabel/field_146165_q +FD: buo/r net/minecraft/client/gui/GuiLabel/field_146164_r +FD: buo/s net/minecraft/client/gui/GuiLabel/field_146163_s +FD: bur/o net/minecraft/client/gui/GuiListButton/field_175216_o +FD: bur/p net/minecraft/client/gui/GuiListButton/field_175215_p +FD: bur/q net/minecraft/client/gui/GuiListButton/field_175214_q +FD: bus/o net/minecraft/client/gui/GuiLockIconButton/field_175231_o +FD: but/a net/minecraft/client/gui/GuiLockIconButton$Icon/LOCKED +FD: but/b net/minecraft/client/gui/GuiLockIconButton$Icon/LOCKED_HOVER +FD: but/c net/minecraft/client/gui/GuiLockIconButton$Icon/LOCKED_DISABLED +FD: but/d net/minecraft/client/gui/GuiLockIconButton$Icon/UNLOCKED +FD: but/e net/minecraft/client/gui/GuiLockIconButton$Icon/UNLOCKED_HOVER +FD: but/f net/minecraft/client/gui/GuiLockIconButton$Icon/UNLOCKED_DISABLED +FD: but/g net/minecraft/client/gui/GuiLockIconButton$Icon/field_178914_g +FD: but/h net/minecraft/client/gui/GuiLockIconButton$Icon/field_178920_h +FD: but/i net/minecraft/client/gui/GuiLockIconButton$Icon/$VALUES +FD: buw/o net/minecraft/client/gui/GuiOptionButton/field_146137_o +FD: bux/u net/minecraft/client/gui/GuiOptionsRowList/field_148184_k +FD: buy/a net/minecraft/client/gui/GuiOptionsRowList$Row/field_148325_a +FD: buy/b net/minecraft/client/gui/GuiOptionsRowList$Row/field_148323_b +FD: buy/c net/minecraft/client/gui/GuiOptionsRowList$Row/field_148324_c +FD: buz/A net/minecraft/client/gui/GuiPageButtonList/field_178075_A +FD: buz/u net/minecraft/client/gui/GuiPageButtonList/field_178074_u +FD: buz/v net/minecraft/client/gui/GuiPageButtonList/field_178073_v +FD: buz/w net/minecraft/client/gui/GuiPageButtonList/field_178072_w +FD: buz/x net/minecraft/client/gui/GuiPageButtonList/field_178078_x +FD: buz/y net/minecraft/client/gui/GuiPageButtonList/field_178077_y +FD: buz/z net/minecraft/client/gui/GuiPageButtonList/field_178076_z +FD: bva/a net/minecraft/client/gui/GuiPageButtonList$GuiButtonEntry/field_178941_a +FD: bvc/a net/minecraft/client/gui/GuiPageButtonList$EditBoxEntry/field_178951_a +FD: bvd/a net/minecraft/client/gui/GuiPageButtonList$GuiEntry/field_178031_a +FD: bvd/b net/minecraft/client/gui/GuiPageButtonList$GuiEntry/field_178029_b +FD: bvd/c net/minecraft/client/gui/GuiPageButtonList$GuiEntry/field_178030_c +FD: bvd/d net/minecraft/client/gui/GuiPageButtonList$GuiEntry/field_178028_d +FD: bvf/a net/minecraft/client/gui/GuiPageButtonList$GuiListEntry/field_178939_a +FD: bvf/b net/minecraft/client/gui/GuiPageButtonList$GuiListEntry/field_178937_b +FD: bvf/c net/minecraft/client/gui/GuiPageButtonList$GuiListEntry/field_178938_c +FD: bvg/a net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry/field_178949_a +FD: bvg/b net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry/field_178947_b +FD: bvg/c net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry/field_178948_c +FD: bvg/d net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry/field_178946_d +FD: bvh/a net/minecraft/client/gui/GuiPlayerTabOverlay/field_175252_a +FD: bvh/f net/minecraft/client/gui/GuiPlayerTabOverlay/field_175250_f +FD: bvh/g net/minecraft/client/gui/GuiPlayerTabOverlay/field_175251_g +FD: bvh/h net/minecraft/client/gui/GuiPlayerTabOverlay/field_175255_h +FD: bvh/i net/minecraft/client/gui/GuiPlayerTabOverlay/field_175256_i +FD: bvh/j net/minecraft/client/gui/GuiPlayerTabOverlay/field_175253_j +FD: bvh/k net/minecraft/client/gui/GuiPlayerTabOverlay/field_175254_k +FD: bvk/a net/minecraft/client/gui/GuiSlot/field_148161_k +FD: bvk/b net/minecraft/client/gui/GuiSlot/field_148155_a +FD: bvk/c net/minecraft/client/gui/GuiSlot/field_148158_l +FD: bvk/d net/minecraft/client/gui/GuiSlot/field_148153_b +FD: bvk/e net/minecraft/client/gui/GuiSlot/field_148154_c +FD: bvk/f net/minecraft/client/gui/GuiSlot/field_148151_d +FD: bvk/g net/minecraft/client/gui/GuiSlot/field_148152_e +FD: bvk/h net/minecraft/client/gui/GuiSlot/field_148149_f +FD: bvk/i net/minecraft/client/gui/GuiSlot/field_148150_g +FD: bvk/j net/minecraft/client/gui/GuiSlot/field_148162_h +FD: bvk/k net/minecraft/client/gui/GuiSlot/field_148163_i +FD: bvk/l net/minecraft/client/gui/GuiSlot/field_148157_o +FD: bvk/m net/minecraft/client/gui/GuiSlot/field_148170_p +FD: bvk/n net/minecraft/client/gui/GuiSlot/field_148169_q +FD: bvk/o net/minecraft/client/gui/GuiSlot/field_148168_r +FD: bvk/p net/minecraft/client/gui/GuiSlot/field_148167_s +FD: bvk/q net/minecraft/client/gui/GuiSlot/field_178041_q +FD: bvk/r net/minecraft/client/gui/GuiSlot/field_148166_t +FD: bvk/s net/minecraft/client/gui/GuiSlot/field_148165_u +FD: bvk/t net/minecraft/client/gui/GuiSlot/field_148160_j +FD: bvk/u net/minecraft/client/gui/GuiSlot/field_148159_m +FD: bvk/v net/minecraft/client/gui/GuiSlot/field_148156_n +FD: bvk/w net/minecraft/client/gui/GuiSlot/field_148164_v +FD: bvl/o net/minecraft/client/gui/GuiOptionSlider/field_146135_o +FD: bvl/p net/minecraft/client/gui/GuiOptionSlider/field_146134_p +FD: bvl/q net/minecraft/client/gui/GuiOptionSlider/field_146133_q +FD: bvl/r net/minecraft/client/gui/GuiOptionSlider/field_146132_r +FD: bvl/s net/minecraft/client/gui/GuiOptionSlider/field_146131_s +FD: bvm/a net/minecraft/client/gui/GuiStreamIndicator/field_152441_a +FD: bvm/b net/minecraft/client/gui/GuiStreamIndicator/field_152442_b +FD: bvm/c net/minecraft/client/gui/GuiStreamIndicator/field_152443_c +FD: bvm/d net/minecraft/client/gui/GuiStreamIndicator/field_152444_d +FD: bvo/a net/minecraft/client/gui/GuiSpectator/field_175269_a +FD: bvo/f net/minecraft/client/gui/GuiSpectator/field_175267_f +FD: bvo/g net/minecraft/client/gui/GuiSpectator/field_175268_g +FD: bvo/h net/minecraft/client/gui/GuiSpectator/field_175270_h +FD: bvo/i net/minecraft/client/gui/GuiSpectator/field_175271_i +FD: bvr/o net/minecraft/client/gui/GuiButtonRealmsProxy/field_154318_o +FD: bvs/u net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/field_178046_u +FD: bvt/a net/minecraft/client/gui/GuiScreenRealmsProxy/field_154330_a +FD: bvu/u net/minecraft/client/gui/GuiSlotRealmsProxy/field_154340_k +FD: bvv/u net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy/field_178050_u +FD: bvw/a net/minecraft/client/gui/ScreenChatOptions/field_146399_a +FD: bvw/f net/minecraft/client/gui/ScreenChatOptions/field_146396_g +FD: bvw/g net/minecraft/client/gui/ScreenChatOptions/field_146400_h +FD: bvw/h net/minecraft/client/gui/ScreenChatOptions/field_146401_i +FD: bvw/i net/minecraft/client/gui/ScreenChatOptions/field_146398_r +FD: bvw/r net/minecraft/client/gui/ScreenChatOptions/field_146397_s +FD: bvx/a net/minecraft/client/gui/GuiChat/field_146415_a +FD: bvx/f net/minecraft/client/gui/GuiChat/field_146408_f +FD: bvx/g net/minecraft/client/gui/GuiChat/field_146410_g +FD: bvx/h net/minecraft/client/gui/GuiChat/field_146416_h +FD: bvx/i net/minecraft/client/gui/GuiChat/field_146417_i +FD: bvx/r net/minecraft/client/gui/GuiChat/field_146414_r +FD: bvx/s net/minecraft/client/gui/GuiChat/field_146413_s +FD: bvx/t net/minecraft/client/gui/GuiChat/field_146412_t +FD: bvx/u net/minecraft/client/gui/GuiChat/field_146409_v +FD: bvy/r net/minecraft/client/gui/GuiConfirmOpenLink/field_146363_r +FD: bvy/s net/minecraft/client/gui/GuiConfirmOpenLink/field_146362_s +FD: bvy/t net/minecraft/client/gui/GuiConfirmOpenLink/field_146361_t +FD: bvy/u net/minecraft/client/gui/GuiConfirmOpenLink/field_146360_u +FD: bwa/a net/minecraft/client/gui/GuiYesNo/field_146355_a +FD: bwa/f net/minecraft/client/gui/GuiYesNo/field_146351_f +FD: bwa/g net/minecraft/client/gui/GuiYesNo/field_146352_g +FD: bwa/h net/minecraft/client/gui/GuiYesNo/field_146356_h +FD: bwa/i net/minecraft/client/gui/GuiYesNo/field_146357_i +FD: bwa/r net/minecraft/client/gui/GuiYesNo/field_146354_r +FD: bwa/s net/minecraft/client/gui/GuiYesNo/field_175298_s +FD: bwa/t net/minecraft/client/gui/GuiYesNo/field_146353_s +FD: bwb/a net/minecraft/client/multiplayer/GuiConnecting/field_146372_a +FD: bwb/f net/minecraft/client/multiplayer/GuiConnecting/field_146370_f +FD: bwb/g net/minecraft/client/multiplayer/GuiConnecting/field_146371_g +FD: bwb/h net/minecraft/client/multiplayer/GuiConnecting/field_146373_h +FD: bwb/i net/minecraft/client/multiplayer/GuiConnecting/field_146374_i +FD: bwc/a net/minecraft/client/multiplayer/GuiConnecting$1/field_148231_a +FD: bwc/b net/minecraft/client/multiplayer/GuiConnecting$1/field_148229_b +FD: bwc/c net/minecraft/client/multiplayer/GuiConnecting$1/field_148230_c +FD: bwd/a net/minecraft/client/gui/GuiCreateFlatWorld/field_146385_f +FD: bwd/f net/minecraft/client/gui/GuiCreateFlatWorld/field_146387_g +FD: bwd/g net/minecraft/client/gui/GuiCreateFlatWorld/field_146393_h +FD: bwd/h net/minecraft/client/gui/GuiCreateFlatWorld/field_146394_i +FD: bwd/i net/minecraft/client/gui/GuiCreateFlatWorld/field_146391_r +FD: bwd/r net/minecraft/client/gui/GuiCreateFlatWorld/field_146390_s +FD: bwd/s net/minecraft/client/gui/GuiCreateFlatWorld/field_146389_t +FD: bwd/t net/minecraft/client/gui/GuiCreateFlatWorld/field_146388_u +FD: bwd/u net/minecraft/client/gui/GuiCreateFlatWorld/field_146386_v +FD: bwe/u net/minecraft/client/gui/GuiCreateFlatWorld$Details/field_148228_k +FD: bwe/v net/minecraft/client/gui/GuiCreateFlatWorld$Details/field_148227_l +FD: bwf/A net/minecraft/client/gui/GuiCreateWorld/field_146343_z +FD: bwf/B net/minecraft/client/gui/GuiCreateWorld/field_146324_A +FD: bwf/C net/minecraft/client/gui/GuiCreateWorld/field_146325_B +FD: bwf/D net/minecraft/client/gui/GuiCreateWorld/field_146326_C +FD: bwf/E net/minecraft/client/gui/GuiCreateWorld/field_146320_D +FD: bwf/F net/minecraft/client/gui/GuiCreateWorld/field_146321_E +FD: bwf/G net/minecraft/client/gui/GuiCreateWorld/field_146322_F +FD: bwf/H net/minecraft/client/gui/GuiCreateWorld/field_146323_G +FD: bwf/I net/minecraft/client/gui/GuiCreateWorld/field_146328_H +FD: bwf/J net/minecraft/client/gui/GuiCreateWorld/field_146329_I +FD: bwf/K net/minecraft/client/gui/GuiCreateWorld/field_146330_J +FD: bwf/L net/minecraft/client/gui/GuiCreateWorld/field_146331_K +FD: bwf/M net/minecraft/client/gui/GuiCreateWorld/field_146327_L +FD: bwf/a net/minecraft/client/gui/GuiCreateWorld/field_146334_a +FD: bwf/f net/minecraft/client/gui/GuiCreateWorld/field_146332_f +FD: bwf/g net/minecraft/client/gui/GuiCreateWorld/field_146333_g +FD: bwf/h net/minecraft/client/gui/GuiCreateWorld/field_146335_h +FD: bwf/i net/minecraft/client/gui/GuiCreateWorld/field_146336_i +FD: bwf/r net/minecraft/client/gui/GuiCreateWorld/field_146342_r +FD: bwf/s net/minecraft/client/gui/GuiCreateWorld/field_175300_s +FD: bwf/t net/minecraft/client/gui/GuiCreateWorld/field_146341_s +FD: bwf/u net/minecraft/client/gui/GuiCreateWorld/field_146340_t +FD: bwf/v net/minecraft/client/gui/GuiCreateWorld/field_146339_u +FD: bwf/w net/minecraft/client/gui/GuiCreateWorld/field_146338_v +FD: bwf/x net/minecraft/client/gui/GuiCreateWorld/field_146337_w +FD: bwf/y net/minecraft/client/gui/GuiCreateWorld/field_146345_x +FD: bwf/z net/minecraft/client/gui/GuiCreateWorld/field_146344_y +FD: bwg/a net/minecraft/client/gui/GuiScreenCustomizePresets/field_175315_a +FD: bwg/f net/minecraft/client/gui/GuiScreenCustomizePresets/field_175310_f +FD: bwg/g net/minecraft/client/gui/GuiScreenCustomizePresets/field_175311_g +FD: bwg/h net/minecraft/client/gui/GuiScreenCustomizePresets/field_175316_h +FD: bwg/i net/minecraft/client/gui/GuiScreenCustomizePresets/field_175317_i +FD: bwg/r net/minecraft/client/gui/GuiScreenCustomizePresets/field_175314_r +FD: bwg/s net/minecraft/client/gui/GuiScreenCustomizePresets/field_175313_s +FD: bwg/t net/minecraft/client/gui/GuiScreenCustomizePresets/field_175312_t +FD: bwh/a net/minecraft/client/gui/GuiScreenCustomizePresets$Info/field_178955_a +FD: bwh/b net/minecraft/client/gui/GuiScreenCustomizePresets$Info/field_178953_b +FD: bwh/c net/minecraft/client/gui/GuiScreenCustomizePresets$Info/field_178954_c +FD: bwi/u net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset/field_178053_u +FD: bwi/v net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset/field_178052_v +FD: bwj/A net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175338_A +FD: bwj/B net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175339_B +FD: bwj/C net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175340_C +FD: bwj/D net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175332_D +FD: bwj/E net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175334_E +FD: bwj/F net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175336_F +FD: bwj/G net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175337_G +FD: bwj/a net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175341_a +FD: bwj/f net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175333_f +FD: bwj/g net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175335_g +FD: bwj/h net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175342_h +FD: bwj/i net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175343_i +FD: bwj/r net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175349_r +FD: bwj/s net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175348_s +FD: bwj/t net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175347_t +FD: bwj/u net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175346_u +FD: bwj/v net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175345_v +FD: bwj/w net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175344_w +FD: bwj/x net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175352_x +FD: bwj/y net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175351_y +FD: bwj/z net/minecraft/client/gui/GuiCustomizeWorldScreen/field_175350_z +FD: bwk/a net/minecraft/client/gui/GuiCustomizeWorldScreen$1/field_178957_a +FD: bwl/a net/minecraft/client/gui/GuiGameOver/field_146347_a +FD: bwl/f net/minecraft/client/gui/GuiGameOver/field_146346_f +FD: bwm/a net/minecraft/client/gui/GuiScreenDemo/field_146349_a +FD: bwm/f net/minecraft/client/gui/GuiScreenDemo/field_146348_f +FD: bwn/a net/minecraft/client/gui/GuiScreenServerList/field_146303_a +FD: bwn/f net/minecraft/client/gui/GuiScreenServerList/field_146301_f +FD: bwn/g net/minecraft/client/gui/GuiScreenServerList/field_146302_g +FD: bwo/a net/minecraft/client/gui/GuiDisconnected/field_146306_a +FD: bwo/f net/minecraft/client/gui/GuiDisconnected/field_146304_f +FD: bwo/g net/minecraft/client/gui/GuiDisconnected/field_146305_g +FD: bwo/h net/minecraft/client/gui/GuiDisconnected/field_146307_h +FD: bwo/i net/minecraft/client/gui/GuiDisconnected/field_175353_i +FD: bwp/a net/minecraft/client/gui/GuiScreenAddServer/field_146310_a +FD: bwp/f net/minecraft/client/gui/GuiScreenAddServer/field_146311_h +FD: bwp/g net/minecraft/client/gui/GuiScreenAddServer/field_146308_f +FD: bwp/h net/minecraft/client/gui/GuiScreenAddServer/field_146309_g +FD: bwp/i net/minecraft/client/gui/GuiScreenAddServer/field_152176_i +FD: bwq/a net/minecraft/client/gui/GuiErrorScreen/field_146313_a +FD: bwq/f net/minecraft/client/gui/GuiErrorScreen/field_146312_f +FD: bws/a net/minecraft/client/gui/GuiLanguage/field_146453_a +FD: bws/f net/minecraft/client/gui/GuiLanguage/field_146450_f +FD: bws/g net/minecraft/client/gui/GuiLanguage/field_146451_g +FD: bws/h net/minecraft/client/gui/GuiLanguage/field_146454_h +FD: bws/i net/minecraft/client/gui/GuiLanguage/field_146455_i +FD: bws/r net/minecraft/client/gui/GuiLanguage/field_146452_r +FD: bwt/u net/minecraft/client/gui/GuiLanguage$List/field_148178_k +FD: bwt/v net/minecraft/client/gui/GuiLanguage$List/field_148176_l +FD: bwt/w net/minecraft/client/gui/GuiLanguage$List/field_148177_m +FD: bwv/a net/minecraft/client/gui/GuiOptions/field_146442_a +FD: bwv/f net/minecraft/client/gui/GuiOptions/field_146440_f +FD: bwv/g net/minecraft/client/gui/GuiOptions/field_146441_g +FD: bwv/h net/minecraft/client/gui/GuiOptions/field_146443_h +FD: bwv/i net/minecraft/client/gui/GuiOptions/field_175357_i +FD: bwv/r net/minecraft/client/gui/GuiOptions/field_175356_r +FD: bww/o net/minecraft/client/gui/GuiOptions$1/field_146130_o +FD: bwy/a net/minecraft/client/gui/GuiIngameMenu/field_146445_a +FD: bwy/f net/minecraft/client/gui/GuiIngameMenu/field_146444_f +FD: bwz/a net/minecraft/client/gui/GuiFlatPresets/field_146431_f +FD: bwz/f net/minecraft/client/gui/GuiFlatPresets/field_146432_g +FD: bwz/g net/minecraft/client/gui/GuiFlatPresets/field_146438_h +FD: bwz/h net/minecraft/client/gui/GuiFlatPresets/field_146439_i +FD: bwz/i net/minecraft/client/gui/GuiFlatPresets/field_146436_r +FD: bwz/r net/minecraft/client/gui/GuiFlatPresets/field_146435_s +FD: bwz/s net/minecraft/client/gui/GuiFlatPresets/field_146434_t +FD: bwz/t net/minecraft/client/gui/GuiFlatPresets/field_146433_u +FD: bxa/a net/minecraft/client/gui/GuiFlatPresets$LayerItem/field_148234_a +FD: bxa/b net/minecraft/client/gui/GuiFlatPresets$LayerItem/field_179037_b +FD: bxa/c net/minecraft/client/gui/GuiFlatPresets$LayerItem/field_148232_b +FD: bxa/d net/minecraft/client/gui/GuiFlatPresets$LayerItem/field_148233_c +FD: bxb/u net/minecraft/client/gui/GuiFlatPresets$ListSlot/field_148175_k +FD: bxb/v net/minecraft/client/gui/GuiFlatPresets$ListSlot/field_148174_l +FD: bxc/a net/minecraft/client/gui/GuiScreenWorking/field_146591_a +FD: bxc/f net/minecraft/client/gui/GuiScreenWorking/field_146589_f +FD: bxc/g net/minecraft/client/gui/GuiScreenWorking/field_146590_g +FD: bxc/h net/minecraft/client/gui/GuiScreenWorking/field_146592_h +FD: bxd/a net/minecraft/client/gui/GuiDownloadTerrain/field_146594_a +FD: bxd/f net/minecraft/client/gui/GuiDownloadTerrain/field_146593_f +FD: bxe/a net/minecraft/client/gui/GuiRenameWorld/field_146585_a +FD: bxe/f net/minecraft/client/gui/GuiRenameWorld/field_146583_f +FD: bxe/g net/minecraft/client/gui/GuiRenameWorld/field_146584_g +FD: bxf/a net/minecraft/client/gui/GuiScreen/field_175287_a +FD: bxf/f net/minecraft/client/gui/GuiScreen/field_175284_f +FD: bxf/g net/minecraft/client/gui/GuiScreen/field_175285_g +FD: bxf/h net/minecraft/client/gui/GuiScreen/field_146290_a +FD: bxf/i net/minecraft/client/gui/GuiScreen/field_146287_f +FD: bxf/j net/minecraft/client/gui/GuiScreen/field_146297_k +FD: bxf/k net/minecraft/client/gui/GuiScreen/field_146296_j +FD: bxf/l net/minecraft/client/gui/GuiScreen/field_146294_l +FD: bxf/m net/minecraft/client/gui/GuiScreen/field_146295_m +FD: bxf/n net/minecraft/client/gui/GuiScreen/field_146292_n +FD: bxf/o net/minecraft/client/gui/GuiScreen/field_146293_o +FD: bxf/p net/minecraft/client/gui/GuiScreen/field_146291_p +FD: bxf/q net/minecraft/client/gui/GuiScreen/field_146289_q +FD: bxf/r net/minecraft/client/gui/GuiScreen/field_146288_g +FD: bxf/s net/minecraft/client/gui/GuiScreen/field_146298_h +FD: bxf/t net/minecraft/client/gui/GuiScreen/field_175286_t +FD: bxg/A net/minecraft/client/gui/GuiSelectWorld/field_146630_A +FD: bxg/B net/minecraft/client/gui/GuiSelectWorld/field_146631_B +FD: bxg/a net/minecraft/client/gui/GuiSelectWorld/field_146632_a +FD: bxg/f net/minecraft/client/gui/GuiSelectWorld/field_146628_f +FD: bxg/g net/minecraft/client/gui/GuiSelectWorld/field_146629_g +FD: bxg/h net/minecraft/client/gui/GuiSelectWorld/field_146633_h +FD: bxg/i net/minecraft/client/gui/GuiSelectWorld/field_146634_i +FD: bxg/r net/minecraft/client/gui/GuiSelectWorld/field_146640_r +FD: bxg/s net/minecraft/client/gui/GuiSelectWorld/field_146639_s +FD: bxg/t net/minecraft/client/gui/GuiSelectWorld/field_146638_t +FD: bxg/u net/minecraft/client/gui/GuiSelectWorld/field_146637_u +FD: bxg/v net/minecraft/client/gui/GuiSelectWorld/field_146636_v +FD: bxg/w net/minecraft/client/gui/GuiSelectWorld/field_146635_w +FD: bxg/x net/minecraft/client/gui/GuiSelectWorld/field_146643_x +FD: bxg/y net/minecraft/client/gui/GuiSelectWorld/field_146642_y +FD: bxg/z net/minecraft/client/gui/GuiSelectWorld/field_146641_z +FD: bxh/u net/minecraft/client/gui/GuiSelectWorld$List/field_148207_k +FD: bxi/a net/minecraft/client/gui/GuiShareToLan/field_146598_a +FD: bxi/f net/minecraft/client/gui/GuiShareToLan/field_146596_f +FD: bxi/g net/minecraft/client/gui/GuiShareToLan/field_146597_g +FD: bxi/h net/minecraft/client/gui/GuiShareToLan/field_146599_h +FD: bxi/i net/minecraft/client/gui/GuiShareToLan/field_146600_i +FD: bxj/a net/minecraft/client/gui/GuiCustomizeSkin/field_175361_a +FD: bxj/f net/minecraft/client/gui/GuiCustomizeSkin/field_175360_f +FD: bxl/o net/minecraft/client/gui/GuiCustomizeSkin$ButtonPart/field_175235_o +FD: bxl/p net/minecraft/client/gui/GuiCustomizeSkin$ButtonPart/field_175234_p +FD: bxm/a net/minecraft/client/gui/GuiSnooper/field_146608_a +FD: bxm/f net/minecraft/client/gui/GuiSnooper/field_146603_f +FD: bxm/g net/minecraft/client/gui/GuiSnooper/field_146604_g +FD: bxm/h net/minecraft/client/gui/GuiSnooper/field_146609_h +FD: bxm/i net/minecraft/client/gui/GuiSnooper/field_146610_i +FD: bxm/r net/minecraft/client/gui/GuiSnooper/field_146607_r +FD: bxm/s net/minecraft/client/gui/GuiSnooper/field_146606_s +FD: bxm/t net/minecraft/client/gui/GuiSnooper/field_146605_t +FD: bxn/u net/minecraft/client/gui/GuiSnooper$List/field_148206_k +FD: bxo/a net/minecraft/client/gui/GuiScreenOptionsSounds/field_146507_a +FD: bxo/f net/minecraft/client/gui/GuiScreenOptionsSounds/field_146505_f +FD: bxo/g net/minecraft/client/gui/GuiScreenOptionsSounds/field_146506_g +FD: bxo/h net/minecraft/client/gui/GuiScreenOptionsSounds/field_146508_h +FD: bxp/o net/minecraft/client/gui/GuiScreenOptionsSounds$Button/field_146156_o +FD: bxp/p net/minecraft/client/gui/GuiScreenOptionsSounds$Button/field_146155_p +FD: bxp/q net/minecraft/client/gui/GuiScreenOptionsSounds$Button/field_146154_q +FD: bxp/r net/minecraft/client/gui/GuiScreenOptionsSounds$Button/field_146153_r +FD: bxp/s net/minecraft/client/gui/GuiScreenOptionsSounds$Button/field_146152_s +FD: bxq/A net/minecraft/client/gui/GuiMainMenu/field_110353_x +FD: bxq/B net/minecraft/client/gui/GuiMainMenu/field_110352_y +FD: bxq/C net/minecraft/client/gui/GuiMainMenu/field_73978_o +FD: bxq/D net/minecraft/client/gui/GuiMainMenu/field_92024_r +FD: bxq/E net/minecraft/client/gui/GuiMainMenu/field_92023_s +FD: bxq/F net/minecraft/client/gui/GuiMainMenu/field_92022_t +FD: bxq/G net/minecraft/client/gui/GuiMainMenu/field_92021_u +FD: bxq/H net/minecraft/client/gui/GuiMainMenu/field_92020_v +FD: bxq/I net/minecraft/client/gui/GuiMainMenu/field_92019_w +FD: bxq/J net/minecraft/client/gui/GuiMainMenu/field_110351_G +FD: bxq/K net/minecraft/client/gui/GuiMainMenu/field_175372_K +FD: bxq/a net/minecraft/client/gui/GuiMainMenu/field_96138_a +FD: bxq/f net/minecraft/client/gui/GuiMainMenu/field_175373_f +FD: bxq/g net/minecraft/client/gui/GuiMainMenu/field_146974_g +FD: bxq/h net/minecraft/client/gui/GuiMainMenu/field_175374_h +FD: bxq/i net/minecraft/client/gui/GuiMainMenu/field_73974_b +FD: bxq/r net/minecraft/client/gui/GuiMainMenu/field_73975_c +FD: bxq/s net/minecraft/client/gui/GuiMainMenu/field_73973_d +FD: bxq/t net/minecraft/client/gui/GuiMainMenu/field_73979_m +FD: bxq/u net/minecraft/client/gui/GuiMainMenu/field_73977_n +FD: bxq/v net/minecraft/client/gui/GuiMainMenu/field_175375_v +FD: bxq/w net/minecraft/client/gui/GuiMainMenu/field_104025_t +FD: bxq/x net/minecraft/client/gui/GuiMainMenu/field_92025_p +FD: bxq/y net/minecraft/client/gui/GuiMainMenu/field_146972_A +FD: bxq/z net/minecraft/client/gui/GuiMainMenu/field_104024_v +FD: bxr/a net/minecraft/client/gui/GuiVideoSettings/field_146500_a +FD: bxr/f net/minecraft/client/gui/GuiVideoSettings/field_146498_f +FD: bxr/g net/minecraft/client/gui/GuiVideoSettings/field_146499_g +FD: bxr/h net/minecraft/client/gui/GuiVideoSettings/field_146501_h +FD: bxr/i net/minecraft/client/gui/GuiVideoSettings/field_146502_i +FD: bxs/a net/minecraft/client/gui/GuiWinGame/field_146580_a +FD: bxs/f net/minecraft/client/gui/GuiWinGame/field_146576_f +FD: bxs/g net/minecraft/client/gui/GuiWinGame/field_146577_g +FD: bxs/h net/minecraft/client/gui/GuiWinGame/field_146581_h +FD: bxs/i net/minecraft/client/gui/GuiWinGame/field_146582_i +FD: bxs/r net/minecraft/client/gui/GuiWinGame/field_146579_r +FD: bxs/s net/minecraft/client/gui/GuiWinGame/field_146578_s +FD: bxt/a net/minecraft/client/gui/achievement/GuiAchievement/field_146261_a +FD: bxt/f net/minecraft/client/gui/achievement/GuiAchievement/field_146259_f +FD: bxt/g net/minecraft/client/gui/achievement/GuiAchievement/field_146260_g +FD: bxt/h net/minecraft/client/gui/achievement/GuiAchievement/field_146267_h +FD: bxt/i net/minecraft/client/gui/achievement/GuiAchievement/field_146268_i +FD: bxt/j net/minecraft/client/gui/achievement/GuiAchievement/field_146265_j +FD: bxt/k net/minecraft/client/gui/achievement/GuiAchievement/field_146266_k +FD: bxt/l net/minecraft/client/gui/achievement/GuiAchievement/field_146263_l +FD: bxt/m net/minecraft/client/gui/achievement/GuiAchievement/field_146264_m +FD: bxt/n net/minecraft/client/gui/achievement/GuiAchievement/field_146262_n +FD: bxu/A net/minecraft/client/gui/achievement/GuiAchievements/field_146559_A +FD: bxu/B net/minecraft/client/gui/achievement/GuiAchievements/field_146560_B +FD: bxu/C net/minecraft/client/gui/achievement/GuiAchievements/field_146561_C +FD: bxu/D net/minecraft/client/gui/achievement/GuiAchievements/field_146554_D +FD: bxu/E net/minecraft/client/gui/achievement/GuiAchievements/field_146556_E +FD: bxu/F net/minecraft/client/gui/achievement/GuiAchievements/field_146558_F +FD: bxu/a net/minecraft/client/gui/achievement/GuiAchievements/field_146562_a +FD: bxu/f net/minecraft/client/gui/achievement/GuiAchievements/field_146555_f +FD: bxu/g net/minecraft/client/gui/achievement/GuiAchievements/field_146557_g +FD: bxu/h net/minecraft/client/gui/achievement/GuiAchievements/field_146563_h +FD: bxu/i net/minecraft/client/gui/achievement/GuiAchievements/field_146564_i +FD: bxu/r net/minecraft/client/gui/achievement/GuiAchievements/field_146570_r +FD: bxu/s net/minecraft/client/gui/achievement/GuiAchievements/field_146569_s +FD: bxu/t net/minecraft/client/gui/achievement/GuiAchievements/field_146568_t +FD: bxu/u net/minecraft/client/gui/achievement/GuiAchievements/field_146567_u +FD: bxu/v net/minecraft/client/gui/achievement/GuiAchievements/field_146566_v +FD: bxu/w net/minecraft/client/gui/achievement/GuiAchievements/field_146565_w +FD: bxu/x net/minecraft/client/gui/achievement/GuiAchievements/field_146573_x +FD: bxu/y net/minecraft/client/gui/achievement/GuiAchievements/field_146572_y +FD: bxu/z net/minecraft/client/gui/achievement/GuiAchievements/field_146571_z +FD: bxv/a net/minecraft/client/gui/achievement/GuiStats/field_146549_a +FD: bxv/f net/minecraft/client/gui/achievement/GuiStats/field_146542_f +FD: bxv/g net/minecraft/client/gui/achievement/GuiStats/field_146550_h +FD: bxv/h net/minecraft/client/gui/achievement/GuiStats/field_146551_i +FD: bxv/i net/minecraft/client/gui/achievement/GuiStats/field_146548_r +FD: bxv/r net/minecraft/client/gui/achievement/GuiStats/field_146547_s +FD: bxv/s net/minecraft/client/gui/achievement/GuiStats/field_146546_t +FD: bxv/t net/minecraft/client/gui/achievement/GuiStats/field_146545_u +FD: bxv/u net/minecraft/client/gui/achievement/GuiStats/field_146543_v +FD: bxw/u net/minecraft/client/gui/achievement/GuiStats$StatsBlock/field_148221_k +FD: bxx/a net/minecraft/client/gui/achievement/GuiStats$StatsBlock$1/field_148341_a +FD: bxx/b net/minecraft/client/gui/achievement/GuiStats$StatsBlock$1/field_148340_b +FD: bxy/u net/minecraft/client/gui/achievement/GuiStats$StatsGeneral/field_148208_k +FD: bxz/u net/minecraft/client/gui/achievement/GuiStats$StatsItem/field_148220_k +FD: bya/a net/minecraft/client/gui/achievement/GuiStats$StatsItem$1/field_148344_a +FD: bya/b net/minecraft/client/gui/achievement/GuiStats$StatsItem$1/field_148343_b +FD: byb/u net/minecraft/client/gui/achievement/GuiStats$StatsMobsList/field_148223_k +FD: byb/v net/minecraft/client/gui/achievement/GuiStats$StatsMobsList/field_148222_l +FD: byc/A net/minecraft/client/gui/achievement/GuiStats$Stats/field_148214_q +FD: byc/v net/minecraft/client/gui/achievement/GuiStats$Stats/field_148218_l +FD: byc/w net/minecraft/client/gui/achievement/GuiStats$Stats/field_148219_m +FD: byc/x net/minecraft/client/gui/achievement/GuiStats$Stats/field_148216_n +FD: byc/y net/minecraft/client/gui/achievement/GuiStats$Stats/field_148217_o +FD: byc/z net/minecraft/client/gui/achievement/GuiStats$Stats/field_148215_p +FD: byd/c_ net/minecraft/client/gui/IProgressMeter/field_146510_b_ +FD: byf/u net/minecraft/client/gui/GuiKeyBindingList/field_148191_k +FD: byf/v net/minecraft/client/gui/GuiKeyBindingList/field_148189_l +FD: byf/w net/minecraft/client/gui/GuiKeyBindingList/field_148190_m +FD: byf/x net/minecraft/client/gui/GuiKeyBindingList/field_148188_n +FD: byh/a net/minecraft/client/gui/GuiKeyBindingList$CategoryEntry/field_148287_a +FD: byh/b net/minecraft/client/gui/GuiKeyBindingList$CategoryEntry/field_148285_b +FD: byh/c net/minecraft/client/gui/GuiKeyBindingList$CategoryEntry/field_148286_c +FD: byi/a net/minecraft/client/gui/GuiKeyBindingList$KeyEntry/field_148284_a +FD: byi/b net/minecraft/client/gui/GuiKeyBindingList$KeyEntry/field_148282_b +FD: byi/c net/minecraft/client/gui/GuiKeyBindingList$KeyEntry/field_148283_c +FD: byi/d net/minecraft/client/gui/GuiKeyBindingList$KeyEntry/field_148280_d +FD: byi/e net/minecraft/client/gui/GuiKeyBindingList$KeyEntry/field_148281_e +FD: byj/a net/minecraft/client/gui/GuiControls/field_146495_a +FD: byj/f net/minecraft/client/gui/GuiControls/field_146491_f +FD: byj/g net/minecraft/client/gui/GuiControls/field_152177_g +FD: byj/h net/minecraft/client/gui/GuiControls/field_146492_g +FD: byj/i net/minecraft/client/gui/GuiControls/field_146496_h +FD: byj/r net/minecraft/client/gui/GuiControls/field_146497_i +FD: byj/s net/minecraft/client/gui/GuiControls/field_146494_r +FD: byj/t net/minecraft/client/gui/GuiControls/field_146493_s +FD: byl/A net/minecraft/client/gui/inventory/GuiContainer/field_146989_A +FD: byl/B net/minecraft/client/gui/inventory/GuiContainer/field_146990_B +FD: byl/C net/minecraft/client/gui/inventory/GuiContainer/field_146991_C +FD: byl/D net/minecraft/client/gui/inventory/GuiContainer/field_146985_D +FD: byl/E net/minecraft/client/gui/inventory/GuiContainer/field_146986_E +FD: byl/F net/minecraft/client/gui/inventory/GuiContainer/field_146987_F +FD: byl/G net/minecraft/client/gui/inventory/GuiContainer/field_146988_G +FD: byl/H net/minecraft/client/gui/inventory/GuiContainer/field_146995_H +FD: byl/I net/minecraft/client/gui/inventory/GuiContainer/field_146996_I +FD: byl/J net/minecraft/client/gui/inventory/GuiContainer/field_146997_J +FD: byl/K net/minecraft/client/gui/inventory/GuiContainer/field_146998_K +FD: byl/L net/minecraft/client/gui/inventory/GuiContainer/field_146992_L +FD: byl/M net/minecraft/client/gui/inventory/GuiContainer/field_146993_M +FD: byl/N net/minecraft/client/gui/inventory/GuiContainer/field_146994_N +FD: byl/a net/minecraft/client/gui/inventory/GuiContainer/field_147001_a +FD: byl/f net/minecraft/client/gui/inventory/GuiContainer/field_146999_f +FD: byl/g net/minecraft/client/gui/inventory/GuiContainer/field_147000_g +FD: byl/h net/minecraft/client/gui/inventory/GuiContainer/field_147002_h +FD: byl/i net/minecraft/client/gui/inventory/GuiContainer/field_147003_i +FD: byl/r net/minecraft/client/gui/inventory/GuiContainer/field_147009_r +FD: byl/s net/minecraft/client/gui/inventory/GuiContainer/field_147008_s +FD: byl/t net/minecraft/client/gui/inventory/GuiContainer/field_147007_t +FD: byl/u net/minecraft/client/gui/inventory/GuiContainer/field_147006_u +FD: byl/v net/minecraft/client/gui/inventory/GuiContainer/field_147005_v +FD: byl/w net/minecraft/client/gui/inventory/GuiContainer/field_147004_w +FD: byl/x net/minecraft/client/gui/inventory/GuiContainer/field_147012_x +FD: byl/y net/minecraft/client/gui/inventory/GuiContainer/field_147011_y +FD: byl/z net/minecraft/client/gui/inventory/GuiContainer/field_147010_z +FD: bym/u net/minecraft/client/gui/GuiRepair/field_147093_u +FD: bym/v net/minecraft/client/gui/GuiRepair/field_147092_v +FD: bym/w net/minecraft/client/gui/GuiRepair/field_147091_w +FD: bym/x net/minecraft/client/gui/GuiRepair/field_147094_x +FD: byn/u net/minecraft/client/gui/inventory/GuiBeacon/field_147026_u +FD: byn/v net/minecraft/client/gui/inventory/GuiBeacon/field_147025_v +FD: byn/w net/minecraft/client/gui/inventory/GuiBeacon/field_147024_w +FD: byn/x net/minecraft/client/gui/inventory/GuiBeacon/field_147028_x +FD: byn/y net/minecraft/client/gui/inventory/GuiBeacon/field_147027_y +FD: byo/o net/minecraft/client/gui/inventory/GuiBeacon$CancelButton/field_146146_o +FD: byp/o net/minecraft/client/gui/inventory/GuiBeacon$ConfirmButton/field_146147_o +FD: byq/o net/minecraft/client/gui/inventory/GuiBeacon$PowerButton/field_146150_o +FD: byq/p net/minecraft/client/gui/inventory/GuiBeacon$PowerButton/field_146149_p +FD: byq/q net/minecraft/client/gui/inventory/GuiBeacon$PowerButton/field_146148_q +FD: byr/o net/minecraft/client/gui/inventory/GuiBeacon$Button/field_146145_o +FD: byr/p net/minecraft/client/gui/inventory/GuiBeacon$Button/field_146144_p +FD: byr/q net/minecraft/client/gui/inventory/GuiBeacon$Button/field_146143_q +FD: byr/r net/minecraft/client/gui/inventory/GuiBeacon$Button/field_146142_r +FD: bys/A net/minecraft/client/gui/GuiScreenBook/field_175386_A +FD: bys/B net/minecraft/client/gui/GuiScreenBook/field_175387_B +FD: bys/C net/minecraft/client/gui/GuiScreenBook/field_146470_A +FD: bys/D net/minecraft/client/gui/GuiScreenBook/field_146471_B +FD: bys/E net/minecraft/client/gui/GuiScreenBook/field_146472_C +FD: bys/F net/minecraft/client/gui/GuiScreenBook/field_146465_D +FD: bys/G net/minecraft/client/gui/GuiScreenBook/field_146467_E +FD: bys/H net/minecraft/client/gui/GuiScreenBook/field_146469_F +FD: bys/a net/minecraft/client/gui/GuiScreenBook/field_146473_a +FD: bys/f net/minecraft/client/gui/GuiScreenBook/field_146466_f +FD: bys/g net/minecraft/client/gui/GuiScreenBook/field_146468_g +FD: bys/h net/minecraft/client/gui/GuiScreenBook/field_146474_h +FD: bys/i net/minecraft/client/gui/GuiScreenBook/field_146475_i +FD: bys/r net/minecraft/client/gui/GuiScreenBook/field_146481_r +FD: bys/s net/minecraft/client/gui/GuiScreenBook/field_146480_s +FD: bys/t net/minecraft/client/gui/GuiScreenBook/field_146479_t +FD: bys/u net/minecraft/client/gui/GuiScreenBook/field_146478_u +FD: bys/v net/minecraft/client/gui/GuiScreenBook/field_146477_v +FD: bys/w net/minecraft/client/gui/GuiScreenBook/field_146476_w +FD: bys/x net/minecraft/client/gui/GuiScreenBook/field_146484_x +FD: bys/y net/minecraft/client/gui/GuiScreenBook/field_146483_y +FD: bys/z net/minecraft/client/gui/GuiScreenBook/field_146482_z +FD: byt/o net/minecraft/client/gui/GuiScreenBook$NextPageButton/field_146151_o +FD: byu/u net/minecraft/client/gui/inventory/GuiBrewingStand/field_147014_u +FD: byu/v net/minecraft/client/gui/inventory/GuiBrewingStand/field_175384_v +FD: byu/w net/minecraft/client/gui/inventory/GuiBrewingStand/field_147013_v +FD: byv/a net/minecraft/client/gui/GuiCommandBlock/field_146488_a +FD: byv/f net/minecraft/client/gui/GuiCommandBlock/field_146485_f +FD: byv/g net/minecraft/client/gui/GuiCommandBlock/field_146486_g +FD: byv/h net/minecraft/client/gui/GuiCommandBlock/field_146489_h +FD: byv/i net/minecraft/client/gui/GuiCommandBlock/field_146490_i +FD: byv/r net/minecraft/client/gui/GuiCommandBlock/field_146487_r +FD: byv/s net/minecraft/client/gui/GuiCommandBlock/field_175390_s +FD: byv/t net/minecraft/client/gui/GuiCommandBlock/field_175389_t +FD: byw/u net/minecraft/client/gui/inventory/GuiChest/field_147017_u +FD: byw/v net/minecraft/client/gui/inventory/GuiChest/field_147016_v +FD: byw/w net/minecraft/client/gui/inventory/GuiChest/field_147015_w +FD: byw/x net/minecraft/client/gui/inventory/GuiChest/field_147018_x +FD: byx/u net/minecraft/client/gui/inventory/GuiCrafting/field_147019_u +FD: byy/a net/minecraft/client/gui/inventory/CreativeCrafting/field_146109_a +FD: byz/A net/minecraft/client/gui/inventory/GuiContainerCreative/field_147062_A +FD: byz/B net/minecraft/client/gui/inventory/GuiContainerCreative/field_147063_B +FD: byz/C net/minecraft/client/gui/inventory/GuiContainerCreative/field_147064_C +FD: byz/D net/minecraft/client/gui/inventory/GuiContainerCreative/field_147057_D +FD: byz/E net/minecraft/client/gui/inventory/GuiContainerCreative/field_147059_E +FD: byz/u net/minecraft/client/gui/inventory/GuiContainerCreative/field_147061_u +FD: byz/v net/minecraft/client/gui/inventory/GuiContainerCreative/field_147060_v +FD: byz/w net/minecraft/client/gui/inventory/GuiContainerCreative/field_147058_w +FD: byz/x net/minecraft/client/gui/inventory/GuiContainerCreative/field_147067_x +FD: byz/y net/minecraft/client/gui/inventory/GuiContainerCreative/field_147066_y +FD: byz/z net/minecraft/client/gui/inventory/GuiContainerCreative/field_147065_z +FD: bza/a net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative/field_148330_a +FD: bzb/a net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/field_148333_a +FD: bzb/b net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/field_148332_b +FD: bzc/u net/minecraft/client/gui/inventory/GuiDispenser/field_175377_u +FD: bzc/v net/minecraft/client/gui/inventory/GuiDispenser/field_147088_v +FD: bzc/w net/minecraft/client/gui/inventory/GuiDispenser/field_175376_w +FD: bzd/u net/minecraft/client/renderer/InventoryEffectRenderer/field_147045_u +FD: bze/a net/minecraft/util/EnchantmentNameParts/field_148338_a +FD: bze/b net/minecraft/util/EnchantmentNameParts/field_148336_b +FD: bze/c net/minecraft/util/EnchantmentNameParts/field_148337_c +FD: bzf/A net/minecraft/client/gui/GuiEnchantment/field_147076_A +FD: bzf/B net/minecraft/client/gui/GuiEnchantment/field_147077_B +FD: bzf/C net/minecraft/client/gui/GuiEnchantment/field_147078_C +FD: bzf/D net/minecraft/client/gui/GuiEnchantment/field_147070_D +FD: bzf/E net/minecraft/client/gui/GuiEnchantment/field_147072_E +FD: bzf/F net/minecraft/client/gui/GuiEnchantment/field_175379_F +FD: bzf/G net/minecraft/client/gui/GuiEnchantment/field_147074_F +FD: bzf/H net/minecraft/client/gui/GuiEnchantment/field_147075_G +FD: bzf/I net/minecraft/client/gui/GuiEnchantment/field_175380_I +FD: bzf/u net/minecraft/client/gui/GuiEnchantment/field_147073_u +FD: bzf/v net/minecraft/client/gui/GuiEnchantment/field_147071_v +FD: bzf/w net/minecraft/client/gui/GuiEnchantment/field_147069_w +FD: bzf/x net/minecraft/client/gui/GuiEnchantment/field_147082_x +FD: bzf/y net/minecraft/client/gui/GuiEnchantment/field_147081_y +FD: bzf/z net/minecraft/client/gui/GuiEnchantment/field_147080_z +FD: bzg/u net/minecraft/client/gui/inventory/GuiFurnace/field_147087_u +FD: bzg/v net/minecraft/client/gui/inventory/GuiFurnace/field_175383_v +FD: bzg/w net/minecraft/client/gui/inventory/GuiFurnace/field_147086_v +FD: bzh/u net/minecraft/client/gui/GuiHopper/field_147085_u +FD: bzh/v net/minecraft/client/gui/GuiHopper/field_147084_v +FD: bzh/w net/minecraft/client/gui/GuiHopper/field_147083_w +FD: bzi/u net/minecraft/client/gui/inventory/GuiScreenHorseInventory/field_147031_u +FD: bzi/v net/minecraft/client/gui/inventory/GuiScreenHorseInventory/field_147030_v +FD: bzi/w net/minecraft/client/gui/inventory/GuiScreenHorseInventory/field_147029_w +FD: bzi/x net/minecraft/client/gui/inventory/GuiScreenHorseInventory/field_147034_x +FD: bzi/y net/minecraft/client/gui/inventory/GuiScreenHorseInventory/field_147033_y +FD: bzi/z net/minecraft/client/gui/inventory/GuiScreenHorseInventory/field_147032_z +FD: bzj/u net/minecraft/client/gui/inventory/GuiInventory/field_147048_u +FD: bzj/v net/minecraft/client/gui/inventory/GuiInventory/field_147047_v +FD: bzk/A net/minecraft/client/gui/GuiMerchant/field_147040_A +FD: bzk/u net/minecraft/client/gui/GuiMerchant/field_147039_u +FD: bzk/v net/minecraft/client/gui/GuiMerchant/field_147038_v +FD: bzk/w net/minecraft/client/gui/GuiMerchant/field_147037_w +FD: bzk/x net/minecraft/client/gui/GuiMerchant/field_147043_x +FD: bzk/y net/minecraft/client/gui/GuiMerchant/field_147042_y +FD: bzk/z net/minecraft/client/gui/GuiMerchant/field_147041_z +FD: bzl/o net/minecraft/client/gui/GuiMerchant$MerchantButton/field_146157_o +FD: bzm/a net/minecraft/client/gui/inventory/GuiEditSign/field_146848_f +FD: bzm/f net/minecraft/client/gui/inventory/GuiEditSign/field_146849_g +FD: bzm/g net/minecraft/client/gui/inventory/GuiEditSign/field_146851_h +FD: bzm/h net/minecraft/client/gui/inventory/GuiEditSign/field_146852_i +FD: bzp/A net/minecraft/client/gui/GuiMultiplayer/field_146799_A +FD: bzp/B net/minecraft/client/gui/GuiMultiplayer/field_146800_B +FD: bzp/C net/minecraft/client/gui/GuiMultiplayer/field_146801_C +FD: bzp/a net/minecraft/client/gui/GuiMultiplayer/field_146802_a +FD: bzp/f net/minecraft/client/gui/GuiMultiplayer/field_146797_f +FD: bzp/g net/minecraft/client/gui/GuiMultiplayer/field_146798_g +FD: bzp/h net/minecraft/client/gui/GuiMultiplayer/field_146803_h +FD: bzp/i net/minecraft/client/gui/GuiMultiplayer/field_146804_i +FD: bzp/r net/minecraft/client/gui/GuiMultiplayer/field_146810_r +FD: bzp/s net/minecraft/client/gui/GuiMultiplayer/field_146809_s +FD: bzp/t net/minecraft/client/gui/GuiMultiplayer/field_146808_t +FD: bzp/u net/minecraft/client/gui/GuiMultiplayer/field_146807_u +FD: bzp/v net/minecraft/client/gui/GuiMultiplayer/field_146806_v +FD: bzp/w net/minecraft/client/gui/GuiMultiplayer/field_146805_w +FD: bzp/x net/minecraft/client/gui/GuiMultiplayer/field_146813_x +FD: bzp/y net/minecraft/client/gui/GuiMultiplayer/field_146812_y +FD: bzp/z net/minecraft/client/gui/GuiMultiplayer/field_146811_z +FD: bzq/a net/minecraft/client/gui/ServerListEntryLanScan/field_148288_a +FD: bzr/a net/minecraft/client/gui/ServerListEntryLanDetected/field_148293_a +FD: bzr/b net/minecraft/client/gui/ServerListEntryLanDetected/field_148291_b +FD: bzr/c net/minecraft/client/gui/ServerListEntryLanDetected/field_148292_c +FD: bzr/d net/minecraft/client/gui/ServerListEntryLanDetected/field_148290_d +FD: bzs/a net/minecraft/client/gui/ServerListEntryNormal/field_148304_a +FD: bzs/b net/minecraft/client/gui/ServerListEntryNormal/field_148302_b +FD: bzs/c net/minecraft/client/gui/ServerListEntryNormal/field_178015_c +FD: bzs/d net/minecraft/client/gui/ServerListEntryNormal/field_178014_d +FD: bzs/e net/minecraft/client/gui/ServerListEntryNormal/field_148303_c +FD: bzs/f net/minecraft/client/gui/ServerListEntryNormal/field_148300_d +FD: bzs/g net/minecraft/client/gui/ServerListEntryNormal/field_148301_e +FD: bzs/h net/minecraft/client/gui/ServerListEntryNormal/field_148306_i +FD: bzs/i net/minecraft/client/gui/ServerListEntryNormal/field_148299_g +FD: bzs/j net/minecraft/client/gui/ServerListEntryNormal/field_148305_h +FD: bzs/k net/minecraft/client/gui/ServerListEntryNormal/field_148298_f +FD: bzt/a net/minecraft/client/gui/ServerListEntryNormal$1/field_148521_a +FD: bzu/u net/minecraft/client/gui/ServerSelectionList/field_148200_k +FD: bzu/v net/minecraft/client/gui/ServerSelectionList/field_148198_l +FD: bzu/w net/minecraft/client/gui/ServerSelectionList/field_148199_m +FD: bzu/x net/minecraft/client/gui/ServerSelectionList/field_148196_n +FD: bzu/y net/minecraft/client/gui/ServerSelectionList/field_148197_o +FD: bzx/a net/minecraft/client/gui/GuiScreenResourcePacks/field_146968_a +FD: bzx/f net/minecraft/client/gui/GuiScreenResourcePacks/field_146965_f +FD: bzx/g net/minecraft/client/gui/GuiScreenResourcePacks/field_146966_g +FD: bzx/h net/minecraft/client/gui/GuiScreenResourcePacks/field_146969_h +FD: bzx/i net/minecraft/client/gui/GuiScreenResourcePacks/field_146970_i +FD: bzx/r net/minecraft/client/gui/GuiScreenResourcePacks/field_146967_r +FD: bzx/s net/minecraft/client/gui/GuiScreenResourcePacks/field_175289_s +FD: bzy/a net/minecraft/client/resources/ResourcePackListEntry/field_148317_a +FD: bzy/b net/minecraft/client/resources/ResourcePackListEntry/field_148315_b +FD: bzy/c net/minecraft/client/resources/ResourcePackListEntry/field_148316_c +FD: bzz/c net/minecraft/client/resources/ResourcePackListEntryDefault/field_148322_c +FD: bzz/d net/minecraft/client/resources/ResourcePackListEntryDefault/field_148320_d +FD: bzz/e net/minecraft/client/resources/ResourcePackListEntryDefault/field_148321_e +FD: c/a net/minecraft/crash/CrashReport$1/field_71494_a +FD: caa/c net/minecraft/client/resources/ResourcePackListEntryFound/field_148319_c +FD: cad/u net/minecraft/client/gui/GuiResourcePackList/field_148205_k +FD: cad/v net/minecraft/client/gui/GuiResourcePackList/field_148204_l +FD: cah/a net/minecraft/client/gui/stream/GuiIngestServers/field_152309_a +FD: cah/f net/minecraft/client/gui/stream/GuiIngestServers/field_152310_f +FD: cah/g net/minecraft/client/gui/stream/GuiIngestServers/field_152311_g +FD: cai/u net/minecraft/client/gui/stream/GuiIngestServers$ServerList/field_152435_k +FD: caj/a net/minecraft/client/gui/stream/GuiStreamOptions/field_152312_a +FD: caj/f net/minecraft/client/gui/stream/GuiStreamOptions/field_152316_f +FD: caj/g net/minecraft/client/gui/stream/GuiStreamOptions/field_152317_g +FD: caj/h net/minecraft/client/gui/stream/GuiStreamOptions/field_152318_h +FD: caj/i net/minecraft/client/gui/stream/GuiStreamOptions/field_152319_i +FD: caj/r net/minecraft/client/gui/stream/GuiStreamOptions/field_152313_r +FD: caj/s net/minecraft/client/gui/stream/GuiStreamOptions/field_152314_s +FD: caj/t net/minecraft/client/gui/stream/GuiStreamOptions/field_152315_t +FD: cak/a net/minecraft/client/gui/stream/GuiStreamUnavailable/field_152322_a +FD: cak/f net/minecraft/client/gui/stream/GuiStreamUnavailable/field_152324_f +FD: cak/g net/minecraft/client/gui/stream/GuiStreamUnavailable/field_152325_g +FD: cak/h net/minecraft/client/gui/stream/GuiStreamUnavailable/field_152326_h +FD: cak/i net/minecraft/client/gui/stream/GuiStreamUnavailable/field_152327_i +FD: cak/r net/minecraft/client/gui/stream/GuiStreamUnavailable/field_152323_r +FD: cal/a net/minecraft/client/gui/stream/GuiStreamUnavailable$SwitchReason/field_152577_a +FD: cal/b net/minecraft/client/gui/stream/GuiStreamUnavailable$SwitchReason/field_152578_b +FD: cal/c net/minecraft/client/gui/stream/GuiStreamUnavailable$SwitchReason/field_152579_c +FD: cam/a net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/NO_FBO +FD: cam/b net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/LIBRARY_ARCH_MISMATCH +FD: cam/c net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/LIBRARY_FAILURE +FD: cam/d net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/UNSUPPORTED_OS_WINDOWS +FD: cam/e net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/UNSUPPORTED_OS_MAC +FD: cam/f net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/UNSUPPORTED_OS_OTHER +FD: cam/g net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/ACCOUNT_NOT_MIGRATED +FD: cam/h net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/ACCOUNT_NOT_BOUND +FD: cam/i net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/FAILED_TWITCH_AUTH +FD: cam/j net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/FAILED_TWITCH_AUTH_ERROR +FD: cam/k net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/INITIALIZATION_FAILURE +FD: cam/l net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/UNKNOWN +FD: cam/m net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/field_152574_m +FD: cam/n net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/field_152575_n +FD: cam/o net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/$VALUES +FD: can/a net/minecraft/client/gui/stream/GuiTwitchUserMode/field_152331_a +FD: can/f net/minecraft/client/gui/stream/GuiTwitchUserMode/field_152335_f +FD: can/g net/minecraft/client/gui/stream/GuiTwitchUserMode/field_152336_g +FD: can/h net/minecraft/client/gui/stream/GuiTwitchUserMode/field_152337_h +FD: can/i net/minecraft/client/gui/stream/GuiTwitchUserMode/field_152338_i +FD: can/r net/minecraft/client/gui/stream/GuiTwitchUserMode/field_152332_r +FD: can/s net/minecraft/client/gui/stream/GuiTwitchUserMode/field_152333_s +FD: can/t net/minecraft/client/gui/stream/GuiTwitchUserMode/field_152334_t +FD: cap/a net/minecraft/client/gui/spectator/PlayerMenuObject/field_178668_a +FD: cap/b net/minecraft/client/gui/spectator/PlayerMenuObject/field_178667_b +FD: caq/a net/minecraft/client/gui/spectator/BaseSpectatorGroup/field_178671_a +FD: car/a net/minecraft/client/gui/spectator/SpectatorMenu/field_178657_a +FD: car/b net/minecraft/client/gui/spectator/SpectatorMenu/field_178655_b +FD: car/c net/minecraft/client/gui/spectator/SpectatorMenu/field_178656_c +FD: car/d net/minecraft/client/gui/spectator/SpectatorMenu/field_178653_d +FD: car/e net/minecraft/client/gui/spectator/SpectatorMenu/field_178654_e +FD: car/f net/minecraft/client/gui/spectator/SpectatorMenu/field_178651_f +FD: car/g net/minecraft/client/gui/spectator/SpectatorMenu/field_178652_g +FD: car/h net/minecraft/client/gui/spectator/SpectatorMenu/field_178659_h +FD: car/i net/minecraft/client/gui/spectator/SpectatorMenu/field_178660_i +FD: car/j net/minecraft/client/gui/spectator/SpectatorMenu/field_178658_j +FD: cau/a net/minecraft/client/gui/spectator/SpectatorMenu$MoveMenuObject/field_178666_a +FD: cau/b net/minecraft/client/gui/spectator/SpectatorMenu$MoveMenuObject/field_178665_b +FD: cay/a net/minecraft/client/gui/spectator/categories/SpectatorDetails/field_178684_a +FD: cay/b net/minecraft/client/gui/spectator/categories/SpectatorDetails/field_178682_b +FD: cay/c net/minecraft/client/gui/spectator/categories/SpectatorDetails/field_178683_c +FD: caz/a net/minecraft/client/gui/spectator/categories/TeleportToPlayer/field_178674_a +FD: caz/b net/minecraft/client/gui/spectator/categories/TeleportToPlayer/field_178673_b +FD: cbb/a net/minecraft/client/gui/spectator/categories/TeleportToTeam/field_178672_a +FD: cbc/a net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject/field_178678_a +FD: cbc/b net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject/field_178676_b +FD: cbc/c net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject/field_178677_c +FD: cbc/d net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject/field_178675_d +FD: cbf/a net/minecraft/client/main/GameConfiguration/field_178745_a +FD: cbf/b net/minecraft/client/main/GameConfiguration/field_178743_b +FD: cbf/c net/minecraft/client/main/GameConfiguration/field_178744_c +FD: cbf/d net/minecraft/client/main/GameConfiguration/field_178741_d +FD: cbf/e net/minecraft/client/main/GameConfiguration/field_178742_e +FD: cbg/a net/minecraft/client/main/GameConfiguration$DisplayInformation/field_178764_a +FD: cbg/b net/minecraft/client/main/GameConfiguration$DisplayInformation/field_178762_b +FD: cbg/c net/minecraft/client/main/GameConfiguration$DisplayInformation/field_178763_c +FD: cbg/d net/minecraft/client/main/GameConfiguration$DisplayInformation/field_178761_d +FD: cbh/a net/minecraft/client/main/GameConfiguration$FolderInformation/field_178760_a +FD: cbh/b net/minecraft/client/main/GameConfiguration$FolderInformation/field_178758_b +FD: cbh/c net/minecraft/client/main/GameConfiguration$FolderInformation/field_178759_c +FD: cbh/d net/minecraft/client/main/GameConfiguration$FolderInformation/field_178757_d +FD: cbi/a net/minecraft/client/main/GameConfiguration$GameInformation/field_178756_a +FD: cbi/b net/minecraft/client/main/GameConfiguration$GameInformation/field_178755_b +FD: cbj/a net/minecraft/client/main/GameConfiguration$ServerInformation/field_178754_a +FD: cbj/b net/minecraft/client/main/GameConfiguration$ServerInformation/field_178753_b +FD: cbk/a net/minecraft/client/main/GameConfiguration$UserInformation/field_178752_a +FD: cbk/b net/minecraft/client/main/GameConfiguration$UserInformation/field_178750_b +FD: cbk/c net/minecraft/client/main/GameConfiguration$UserInformation/field_178751_c +FD: cbl/a net/minecraft/client/main/Main$1/field_178749_a +FD: cbl/b net/minecraft/client/main/Main$1/field_178748_b +FD: cbv/a net/minecraft/client/model/ModelArmorStand/field_178740_a +FD: cbv/b net/minecraft/client/model/ModelArmorStand/field_178738_b +FD: cbv/c net/minecraft/client/model/ModelArmorStand/field_178739_c +FD: cbv/d net/minecraft/client/model/ModelArmorStand/field_178737_d +FD: cbw/a net/minecraft/client/model/ModelBanner/field_178690_a +FD: cbw/b net/minecraft/client/model/ModelBanner/field_178688_b +FD: cbw/c net/minecraft/client/model/ModelBanner/field_178689_c +FD: cbx/a net/minecraft/client/model/ModelBat/field_82895_a +FD: cbx/b net/minecraft/client/model/ModelBat/field_82893_b +FD: cbx/c net/minecraft/client/model/ModelBat/field_82894_c +FD: cbx/d net/minecraft/client/model/ModelBat/field_82891_d +FD: cbx/e net/minecraft/client/model/ModelBat/field_82892_e +FD: cbx/f net/minecraft/client/model/ModelBat/field_82890_f +FD: cby/a net/minecraft/client/model/ModelBlaze/field_78106_a +FD: cby/b net/minecraft/client/model/ModelBlaze/field_78105_b +FD: cbz/a net/minecraft/client/model/ModelBoat/field_78103_a +FD: cca/a net/minecraft/client/model/ModelBook/field_78102_a +FD: cca/b net/minecraft/client/model/ModelBook/field_78100_b +FD: cca/c net/minecraft/client/model/ModelBook/field_78101_c +FD: cca/d net/minecraft/client/model/ModelBook/field_78098_d +FD: cca/e net/minecraft/client/model/ModelBook/field_78099_e +FD: cca/f net/minecraft/client/model/ModelBook/field_78096_f +FD: cca/g net/minecraft/client/model/ModelBook/field_78097_g +FD: ccb/a net/minecraft/client/model/ModelChest/field_78234_a +FD: ccb/b net/minecraft/client/model/ModelChest/field_78232_b +FD: ccb/c net/minecraft/client/model/ModelChest/field_78233_c +FD: ccc/a net/minecraft/client/model/ModelChicken/field_78142_a +FD: ccc/b net/minecraft/client/model/ModelChicken/field_78140_b +FD: ccc/c net/minecraft/client/model/ModelChicken/field_78141_c +FD: ccc/d net/minecraft/client/model/ModelChicken/field_78138_d +FD: ccc/e net/minecraft/client/model/ModelChicken/field_78139_e +FD: ccc/f net/minecraft/client/model/ModelChicken/field_78136_f +FD: ccc/g net/minecraft/client/model/ModelChicken/field_78137_g +FD: ccc/h net/minecraft/client/model/ModelChicken/field_78143_h +FD: cce/a net/minecraft/client/model/ModelCreeper/field_78135_a +FD: cce/b net/minecraft/client/model/ModelCreeper/field_78133_b +FD: cce/c net/minecraft/client/model/ModelCreeper/field_78134_c +FD: cce/d net/minecraft/client/model/ModelCreeper/field_78131_d +FD: cce/e net/minecraft/client/model/ModelCreeper/field_78132_e +FD: cce/f net/minecraft/client/model/ModelCreeper/field_78129_f +FD: cce/g net/minecraft/client/model/ModelCreeper/field_78130_g +FD: ccf/a net/minecraft/client/model/ModelEnderman/field_78126_a +FD: ccf/b net/minecraft/client/model/ModelEnderman/field_78125_b +FD: ccg/a net/minecraft/client/model/ModelEnderMite/field_178716_a +FD: ccg/b net/minecraft/client/model/ModelEnderMite/field_178714_b +FD: ccg/c net/minecraft/client/model/ModelEnderMite/field_178715_c +FD: ccg/d net/minecraft/client/model/ModelEnderMite/field_178713_d +FD: cch/a net/minecraft/client/model/ModelGhast/field_78128_a +FD: cch/b net/minecraft/client/model/ModelGhast/field_78127_b +FD: cci/a net/minecraft/client/model/ModelGuardian/field_178710_a +FD: cci/b net/minecraft/client/model/ModelGuardian/field_178708_b +FD: cci/c net/minecraft/client/model/ModelGuardian/field_178709_c +FD: cci/d net/minecraft/client/model/ModelGuardian/field_178707_d +FD: ccj/A net/minecraft/client/model/ModelHorse/field_110688_A +FD: ccj/B net/minecraft/client/model/ModelHorse/field_110689_B +FD: ccj/C net/minecraft/client/model/ModelHorse/field_110690_C +FD: ccj/D net/minecraft/client/model/ModelHorse/field_110684_D +FD: ccj/E net/minecraft/client/model/ModelHorse/field_110685_E +FD: ccj/F net/minecraft/client/model/ModelHorse/field_110686_F +FD: ccj/G net/minecraft/client/model/ModelHorse/field_110687_G +FD: ccj/H net/minecraft/client/model/ModelHorse/field_110695_H +FD: ccj/I net/minecraft/client/model/ModelHorse/field_110696_I +FD: ccj/J net/minecraft/client/model/ModelHorse/field_110697_J +FD: ccj/K net/minecraft/client/model/ModelHorse/field_110698_K +FD: ccj/L net/minecraft/client/model/ModelHorse/field_110691_L +FD: ccj/M net/minecraft/client/model/ModelHorse/field_110692_M +FD: ccj/N net/minecraft/client/model/ModelHorse/field_110693_N +FD: ccj/O net/minecraft/client/model/ModelHorse/field_110694_O +FD: ccj/P net/minecraft/client/model/ModelHorse/field_110700_P +FD: ccj/Q net/minecraft/client/model/ModelHorse/field_110699_Q +FD: ccj/R net/minecraft/client/model/ModelHorse/field_110702_R +FD: ccj/S net/minecraft/client/model/ModelHorse/field_110701_S +FD: ccj/a net/minecraft/client/model/ModelHorse/field_110709_a +FD: ccj/b net/minecraft/client/model/ModelHorse/field_178711_b +FD: ccj/c net/minecraft/client/model/ModelHorse/field_178712_c +FD: ccj/d net/minecraft/client/model/ModelHorse/field_110705_d +FD: ccj/e net/minecraft/client/model/ModelHorse/field_110706_e +FD: ccj/f net/minecraft/client/model/ModelHorse/field_110703_f +FD: ccj/g net/minecraft/client/model/ModelHorse/field_110704_g +FD: ccj/h net/minecraft/client/model/ModelHorse/field_110716_h +FD: ccj/i net/minecraft/client/model/ModelHorse/field_110717_i +FD: ccj/j net/minecraft/client/model/ModelHorse/field_110714_j +FD: ccj/k net/minecraft/client/model/ModelHorse/field_110715_k +FD: ccj/l net/minecraft/client/model/ModelHorse/field_110712_l +FD: ccj/m net/minecraft/client/model/ModelHorse/field_110713_m +FD: ccj/n net/minecraft/client/model/ModelHorse/field_110710_n +FD: ccj/o net/minecraft/client/model/ModelHorse/field_110711_o +FD: ccj/v net/minecraft/client/model/ModelHorse/field_110719_v +FD: ccj/w net/minecraft/client/model/ModelHorse/field_110718_w +FD: ccj/x net/minecraft/client/model/ModelHorse/field_110722_x +FD: ccj/y net/minecraft/client/model/ModelHorse/field_110721_y +FD: ccj/z net/minecraft/client/model/ModelHorse/field_110720_z +FD: cck/b net/minecraft/client/model/ModelHumanoidHead/field_178717_b +FD: ccl/e net/minecraft/client/model/ModelBiped/field_78116_c +FD: ccl/f net/minecraft/client/model/ModelBiped/field_178720_f +FD: ccl/g net/minecraft/client/model/ModelBiped/field_78115_e +FD: ccl/h net/minecraft/client/model/ModelBiped/field_178723_h +FD: ccl/i net/minecraft/client/model/ModelBiped/field_178724_i +FD: ccl/j net/minecraft/client/model/ModelBiped/field_178721_j +FD: ccl/k net/minecraft/client/model/ModelBiped/field_178722_k +FD: ccl/l net/minecraft/client/model/ModelBiped/field_78119_l +FD: ccl/m net/minecraft/client/model/ModelBiped/field_78120_m +FD: ccl/n net/minecraft/client/model/ModelBiped/field_78117_n +FD: ccl/o net/minecraft/client/model/ModelBiped/field_78118_o +FD: ccn/a net/minecraft/client/model/ModelMagmaCube/field_78109_a +FD: ccn/b net/minecraft/client/model/ModelMagmaCube/field_78108_b +FD: cco/a net/minecraft/client/model/ModelLeashKnot/field_110723_a +FD: ccp/a net/minecraft/client/model/ModelMinecart/field_78154_a +FD: ccq/a net/minecraft/client/model/ModelBase/field_78094_a +FD: ccq/p net/minecraft/client/model/ModelBase/field_78095_p +FD: ccq/q net/minecraft/client/model/ModelBase/field_78093_q +FD: ccq/r net/minecraft/client/model/ModelBase/field_78091_s +FD: ccq/s net/minecraft/client/model/ModelBase/field_78092_r +FD: ccq/t net/minecraft/client/model/ModelBase/field_78090_t +FD: ccq/u net/minecraft/client/model/ModelBase/field_78089_u +FD: ccr/a net/minecraft/client/model/ModelOcelot/field_78161_a +FD: ccr/b net/minecraft/client/model/ModelOcelot/field_78159_b +FD: ccr/c net/minecraft/client/model/ModelOcelot/field_78160_c +FD: ccr/d net/minecraft/client/model/ModelOcelot/field_78157_d +FD: ccr/e net/minecraft/client/model/ModelOcelot/field_78158_e +FD: ccr/f net/minecraft/client/model/ModelOcelot/field_78155_f +FD: ccr/g net/minecraft/client/model/ModelOcelot/field_78156_g +FD: ccr/h net/minecraft/client/model/ModelOcelot/field_78162_h +FD: ccr/i net/minecraft/client/model/ModelOcelot/field_78163_i +FD: cct/a net/minecraft/client/model/ModelPlayer/field_178734_a +FD: cct/b net/minecraft/client/model/ModelPlayer/field_178732_b +FD: cct/c net/minecraft/client/model/ModelPlayer/field_178733_c +FD: cct/d net/minecraft/client/model/ModelPlayer/field_178731_d +FD: cct/v net/minecraft/client/model/ModelPlayer/field_178730_v +FD: cct/w net/minecraft/client/model/ModelPlayer/field_178729_w +FD: cct/x net/minecraft/client/model/ModelPlayer/field_178736_x +FD: cct/y net/minecraft/client/model/ModelPlayer/field_178735_y +FD: ccu/a net/minecraft/client/model/TexturedQuad/field_78239_a +FD: ccu/b net/minecraft/client/model/TexturedQuad/field_78237_b +FD: ccu/c net/minecraft/client/model/TexturedQuad/field_78238_c +FD: ccv/a net/minecraft/client/model/ModelQuadruped/field_78150_a +FD: ccv/b net/minecraft/client/model/ModelQuadruped/field_78148_b +FD: ccv/c net/minecraft/client/model/ModelQuadruped/field_78149_c +FD: ccv/d net/minecraft/client/model/ModelQuadruped/field_78146_d +FD: ccv/e net/minecraft/client/model/ModelQuadruped/field_78147_e +FD: ccv/f net/minecraft/client/model/ModelQuadruped/field_78144_f +FD: ccv/g net/minecraft/client/model/ModelQuadruped/field_78145_g +FD: ccv/h net/minecraft/client/model/ModelQuadruped/field_78151_h +FD: ccw/a net/minecraft/client/model/ModelRabbit/field_178698_a +FD: ccw/b net/minecraft/client/model/ModelRabbit/field_178696_b +FD: ccw/c net/minecraft/client/model/ModelRabbit/field_178697_c +FD: ccw/d net/minecraft/client/model/ModelRabbit/field_178694_d +FD: ccw/e net/minecraft/client/model/ModelRabbit/field_178695_e +FD: ccw/f net/minecraft/client/model/ModelRabbit/field_178692_f +FD: ccw/g net/minecraft/client/model/ModelRabbit/field_178693_g +FD: ccw/h net/minecraft/client/model/ModelRabbit/field_178704_h +FD: ccw/i net/minecraft/client/model/ModelRabbit/field_178705_i +FD: ccw/j net/minecraft/client/model/ModelRabbit/field_178702_j +FD: ccw/k net/minecraft/client/model/ModelRabbit/field_178703_k +FD: ccw/l net/minecraft/client/model/ModelRabbit/field_178700_l +FD: ccw/m net/minecraft/client/model/ModelRabbit/field_178701_m +FD: ccw/n net/minecraft/client/model/ModelRabbit/field_178699_n +FD: ccx/i net/minecraft/client/model/ModelSheep1/field_78152_i +FD: ccy/i net/minecraft/client/model/ModelSheep2/field_78153_i +FD: ccz/a net/minecraft/client/model/ModelSign/field_78166_a +FD: ccz/b net/minecraft/client/model/ModelSign/field_78165_b +FD: cda/a net/minecraft/client/model/ModelSilverfish/field_78171_a +FD: cda/b net/minecraft/client/model/ModelSilverfish/field_78169_b +FD: cda/c net/minecraft/client/model/ModelSilverfish/field_78170_c +FD: cda/d net/minecraft/client/model/ModelSilverfish/field_78167_d +FD: cda/e net/minecraft/client/model/ModelSilverfish/field_78168_e +FD: cdb/a net/minecraft/client/model/ModelSkeletonHead/field_82896_a +FD: cde/a net/minecraft/client/model/ModelSlime/field_78200_a +FD: cde/b net/minecraft/client/model/ModelSlime/field_78198_b +FD: cde/c net/minecraft/client/model/ModelSlime/field_78199_c +FD: cde/d net/minecraft/client/model/ModelSlime/field_78197_d +FD: cdf/a net/minecraft/client/model/ModelSnowMan/field_78196_a +FD: cdf/b net/minecraft/client/model/ModelSnowMan/field_78194_b +FD: cdf/c net/minecraft/client/model/ModelSnowMan/field_78195_c +FD: cdf/d net/minecraft/client/model/ModelSnowMan/field_78192_d +FD: cdf/e net/minecraft/client/model/ModelSnowMan/field_78193_e +FD: cdg/a net/minecraft/client/model/ModelSpider/field_78209_a +FD: cdg/b net/minecraft/client/model/ModelSpider/field_78207_b +FD: cdg/c net/minecraft/client/model/ModelSpider/field_78208_c +FD: cdg/d net/minecraft/client/model/ModelSpider/field_78205_d +FD: cdg/e net/minecraft/client/model/ModelSpider/field_78206_e +FD: cdg/f net/minecraft/client/model/ModelSpider/field_78203_f +FD: cdg/g net/minecraft/client/model/ModelSpider/field_78204_g +FD: cdg/h net/minecraft/client/model/ModelSpider/field_78212_h +FD: cdg/i net/minecraft/client/model/ModelSpider/field_78213_i +FD: cdg/j net/minecraft/client/model/ModelSpider/field_78210_j +FD: cdg/k net/minecraft/client/model/ModelSpider/field_78211_k +FD: cdh/a net/minecraft/client/model/ModelSquid/field_78202_a +FD: cdh/b net/minecraft/client/model/ModelSquid/field_78201_b +FD: cdi/a net/minecraft/client/model/PositionTextureVertex/field_78243_a +FD: cdi/b net/minecraft/client/model/PositionTextureVertex/field_78241_b +FD: cdi/c net/minecraft/client/model/PositionTextureVertex/field_78242_c +FD: cdj/a net/minecraft/client/model/ModelIronGolem/field_78178_a +FD: cdj/b net/minecraft/client/model/ModelIronGolem/field_78176_b +FD: cdj/c net/minecraft/client/model/ModelIronGolem/field_78177_c +FD: cdj/d net/minecraft/client/model/ModelIronGolem/field_78174_d +FD: cdj/e net/minecraft/client/model/ModelIronGolem/field_78175_e +FD: cdj/f net/minecraft/client/model/ModelIronGolem/field_78173_f +FD: cdk/a net/minecraft/client/model/ModelVillager/field_78191_a +FD: cdk/b net/minecraft/client/model/ModelVillager/field_78189_b +FD: cdk/c net/minecraft/client/model/ModelVillager/field_78190_c +FD: cdk/d net/minecraft/client/model/ModelVillager/field_78187_d +FD: cdk/e net/minecraft/client/model/ModelVillager/field_78188_e +FD: cdk/f net/minecraft/client/model/ModelVillager/field_82898_f +FD: cdm/g net/minecraft/client/model/ModelWitch/field_82900_g +FD: cdm/h net/minecraft/client/model/ModelWitch/field_82901_h +FD: cdm/i net/minecraft/client/model/ModelWitch/field_82902_i +FD: cdn/a net/minecraft/client/model/ModelWither/field_82905_a +FD: cdn/b net/minecraft/client/model/ModelWither/field_82904_b +FD: cdo/a net/minecraft/client/model/ModelWolf/field_78185_a +FD: cdo/b net/minecraft/client/model/ModelWolf/field_78183_b +FD: cdo/c net/minecraft/client/model/ModelWolf/field_78184_c +FD: cdo/d net/minecraft/client/model/ModelWolf/field_78181_d +FD: cdo/e net/minecraft/client/model/ModelWolf/field_78182_e +FD: cdo/f net/minecraft/client/model/ModelWolf/field_78179_f +FD: cdo/g net/minecraft/client/model/ModelWolf/field_78180_g +FD: cdo/h net/minecraft/client/model/ModelWolf/field_78186_h +FD: cdq/a net/minecraft/client/model/ModelDragon/field_78221_a +FD: cdq/b net/minecraft/client/model/ModelDragon/field_78219_b +FD: cdq/c net/minecraft/client/model/ModelDragon/field_78220_c +FD: cdq/d net/minecraft/client/model/ModelDragon/field_78217_d +FD: cdq/e net/minecraft/client/model/ModelDragon/field_78218_e +FD: cdq/f net/minecraft/client/model/ModelDragon/field_78215_f +FD: cdq/g net/minecraft/client/model/ModelDragon/field_78216_g +FD: cdq/h net/minecraft/client/model/ModelDragon/field_78226_h +FD: cdq/i net/minecraft/client/model/ModelDragon/field_78227_i +FD: cdq/j net/minecraft/client/model/ModelDragon/field_78224_j +FD: cdq/k net/minecraft/client/model/ModelDragon/field_78225_k +FD: cdq/l net/minecraft/client/model/ModelDragon/field_78222_l +FD: cdq/m net/minecraft/client/model/ModelDragon/field_78223_m +FD: cdr/a net/minecraft/client/model/ModelEnderCrystal/field_78230_a +FD: cdr/b net/minecraft/client/model/ModelEnderCrystal/field_78228_b +FD: cdr/c net/minecraft/client/model/ModelEnderCrystal/field_78229_c +FD: cdt/a net/minecraft/client/model/ModelBox/field_78252_a +FD: cdt/b net/minecraft/client/model/ModelBox/field_78250_b +FD: cdt/c net/minecraft/client/model/ModelBox/field_78251_c +FD: cdt/d net/minecraft/client/model/ModelBox/field_78248_d +FD: cdt/e net/minecraft/client/model/ModelBox/field_78249_e +FD: cdt/f net/minecraft/client/model/ModelBox/field_78246_f +FD: cdt/g net/minecraft/client/model/ModelBox/field_78247_g +FD: cdt/h net/minecraft/client/model/ModelBox/field_78253_h +FD: cdt/i net/minecraft/client/model/ModelBox/field_78254_i +FD: cdy/a net/minecraft/client/model/ModelRenderer/field_78801_a +FD: cdy/b net/minecraft/client/model/ModelRenderer/field_78799_b +FD: cdy/c net/minecraft/client/model/ModelRenderer/field_78800_c +FD: cdy/d net/minecraft/client/model/ModelRenderer/field_78797_d +FD: cdy/e net/minecraft/client/model/ModelRenderer/field_78798_e +FD: cdy/f net/minecraft/client/model/ModelRenderer/field_78795_f +FD: cdy/g net/minecraft/client/model/ModelRenderer/field_78796_g +FD: cdy/h net/minecraft/client/model/ModelRenderer/field_78808_h +FD: cdy/i net/minecraft/client/model/ModelRenderer/field_78809_i +FD: cdy/j net/minecraft/client/model/ModelRenderer/field_78806_j +FD: cdy/k net/minecraft/client/model/ModelRenderer/field_78807_k +FD: cdy/l net/minecraft/client/model/ModelRenderer/field_78804_l +FD: cdy/m net/minecraft/client/model/ModelRenderer/field_78805_m +FD: cdy/n net/minecraft/client/model/ModelRenderer/field_78802_n +FD: cdy/o net/minecraft/client/model/ModelRenderer/field_82906_o +FD: cdy/p net/minecraft/client/model/ModelRenderer/field_82908_p +FD: cdy/q net/minecraft/client/model/ModelRenderer/field_82907_q +FD: cdy/r net/minecraft/client/model/ModelRenderer/field_78803_o +FD: cdy/s net/minecraft/client/model/ModelRenderer/field_78813_p +FD: cdy/t net/minecraft/client/model/ModelRenderer/field_78812_q +FD: cdy/u net/minecraft/client/model/ModelRenderer/field_78811_r +FD: cdy/v net/minecraft/client/model/ModelRenderer/field_78810_s +FD: cdz/a net/minecraft/client/model/TextureOffset/field_78783_a +FD: cdz/b net/minecraft/client/model/TextureOffset/field_78782_b +FD: cec/a net/minecraft/client/network/NetHandlerLoginClient/field_147396_a +FD: cec/b net/minecraft/client/network/NetHandlerLoginClient/field_147394_b +FD: cec/c net/minecraft/client/network/NetHandlerLoginClient/field_147395_c +FD: cec/d net/minecraft/client/network/NetHandlerLoginClient/field_147393_d +FD: cec/e net/minecraft/client/network/NetHandlerLoginClient/field_175091_e +FD: ced/a net/minecraft/client/network/NetHandlerLoginClient$1/field_147495_a +FD: ced/b net/minecraft/client/network/NetHandlerLoginClient$1/field_147494_b +FD: cee/a net/minecraft/client/network/NetHandlerPlayClient/field_147304_c +FD: cee/b net/minecraft/client/network/NetHandlerPlayClient/field_147301_d +FD: cee/c net/minecraft/client/network/NetHandlerPlayClient/field_147302_e +FD: cee/d net/minecraft/client/network/NetHandlerPlayClient/field_175107_d +FD: cee/e net/minecraft/client/network/NetHandlerPlayClient/field_147307_j +FD: cee/f net/minecraft/client/network/NetHandlerPlayClient/field_147299_f +FD: cee/g net/minecraft/client/network/NetHandlerPlayClient/field_147300_g +FD: cee/h net/minecraft/client/network/NetHandlerPlayClient/field_147309_h +FD: cee/i net/minecraft/client/network/NetHandlerPlayClient/field_147310_i +FD: cee/j net/minecraft/client/network/NetHandlerPlayClient/field_147308_k +FD: cee/k net/minecraft/client/network/NetHandlerPlayClient/field_147306_l +FD: cef/a net/minecraft/client/network/NetHandlerPlayClient$1/field_146300_a +FD: cef/b net/minecraft/client/network/NetHandlerPlayClient$1/field_146299_f +FD: ceg/a net/minecraft/client/network/NetHandlerPlayClient$2/field_178897_a +FD: ceg/b net/minecraft/client/network/NetHandlerPlayClient$2/field_178896_b +FD: ceh/a net/minecraft/client/network/NetHandlerPlayClient$3/field_178900_a +FD: ceh/b net/minecraft/client/network/NetHandlerPlayClient$3/field_178898_b +FD: ceh/c net/minecraft/client/network/NetHandlerPlayClient$3/field_178899_c +FD: cei/a net/minecraft/client/network/NetHandlerPlayClient$3$1/field_175395_a +FD: cej/a net/minecraft/client/network/NetHandlerPlayClient$3$1$1/field_178886_a +FD: cek/a net/minecraft/client/network/NetHandlerPlayClient$SwitchAction/field_178885_a +FD: cek/b net/minecraft/client/network/NetHandlerPlayClient$SwitchAction/field_178884_b +FD: cel/a net/minecraft/client/multiplayer/ChunkProviderClient/field_147436_a +FD: cel/b net/minecraft/client/multiplayer/ChunkProviderClient/field_73238_a +FD: cel/c net/minecraft/client/multiplayer/ChunkProviderClient/field_73236_b +FD: cel/d net/minecraft/client/multiplayer/ChunkProviderClient/field_73237_c +FD: cel/e net/minecraft/client/multiplayer/ChunkProviderClient/field_73235_d +FD: cem/a net/minecraft/client/multiplayer/PlayerControllerMP/field_78776_a +FD: cem/b net/minecraft/client/multiplayer/PlayerControllerMP/field_78774_b +FD: cem/c net/minecraft/client/multiplayer/PlayerControllerMP/field_178895_c +FD: cem/d net/minecraft/client/multiplayer/PlayerControllerMP/field_85183_f +FD: cem/e net/minecraft/client/multiplayer/PlayerControllerMP/field_78770_f +FD: cem/f net/minecraft/client/multiplayer/PlayerControllerMP/field_78780_h +FD: cem/g net/minecraft/client/multiplayer/PlayerControllerMP/field_78781_i +FD: cem/h net/minecraft/client/multiplayer/PlayerControllerMP/field_78778_j +FD: cem/i net/minecraft/client/multiplayer/PlayerControllerMP/field_78779_k +FD: cem/j net/minecraft/client/multiplayer/PlayerControllerMP/field_78777_l +FD: cen/I net/minecraft/client/multiplayer/WorldClient/field_73037_M +FD: cen/J net/minecraft/client/multiplayer/WorldClient/field_73038_N +FD: cen/a net/minecraft/client/multiplayer/WorldClient/field_73035_a +FD: cen/b net/minecraft/client/multiplayer/WorldClient/field_73033_b +FD: cen/c net/minecraft/client/multiplayer/WorldClient/field_73032_d +FD: cen/d net/minecraft/client/multiplayer/WorldClient/field_73036_L +FD: ceo/a net/minecraft/client/multiplayer/WorldClient$1/field_78833_a +FD: cep/a net/minecraft/client/multiplayer/WorldClient$2/field_78835_a +FD: ceq/a net/minecraft/client/multiplayer/WorldClient$3/field_142027_a +FD: cer/a net/minecraft/client/multiplayer/WorldClient$4/field_142029_a +FD: ces/a net/minecraft/client/network/NetworkPlayerInfo/field_178867_a +FD: ces/b net/minecraft/client/network/NetworkPlayerInfo/field_178866_b +FD: ces/c net/minecraft/client/network/NetworkPlayerInfo/field_78829_b +FD: ces/d net/minecraft/client/network/NetworkPlayerInfo/field_178864_d +FD: ces/e net/minecraft/client/network/NetworkPlayerInfo/field_178865_e +FD: ces/f net/minecraft/client/network/NetworkPlayerInfo/field_178862_f +FD: ces/g net/minecraft/client/network/NetworkPlayerInfo/field_178863_g +FD: ces/h net/minecraft/client/network/NetworkPlayerInfo/field_178872_h +FD: ces/i net/minecraft/client/network/NetworkPlayerInfo/field_178873_i +FD: ces/j net/minecraft/client/network/NetworkPlayerInfo/field_178870_j +FD: ces/k net/minecraft/client/network/NetworkPlayerInfo/field_178871_k +FD: ces/l net/minecraft/client/network/NetworkPlayerInfo/field_178868_l +FD: ces/m net/minecraft/client/network/NetworkPlayerInfo/field_178869_m +FD: cet/a net/minecraft/client/network/NetworkPlayerInfo$1/field_177224_a +FD: ceu/a net/minecraft/client/network/NetworkPlayerInfo$SwitchType/field_178875_a +FD: cev/a net/minecraft/client/multiplayer/ServerAddress/field_78866_a +FD: cev/b net/minecraft/client/multiplayer/ServerAddress/field_78865_b +FD: cew/a net/minecraft/client/multiplayer/ServerData/field_78847_a +FD: cew/b net/minecraft/client/multiplayer/ServerData/field_78845_b +FD: cew/c net/minecraft/client/multiplayer/ServerData/field_78846_c +FD: cew/d net/minecraft/client/multiplayer/ServerData/field_78843_d +FD: cew/e net/minecraft/client/multiplayer/ServerData/field_78844_e +FD: cew/f net/minecraft/client/multiplayer/ServerData/field_82821_f +FD: cew/g net/minecraft/client/multiplayer/ServerData/field_82822_g +FD: cew/h net/minecraft/client/multiplayer/ServerData/field_78841_f +FD: cew/i net/minecraft/client/multiplayer/ServerData/field_147412_i +FD: cew/j net/minecraft/client/multiplayer/ServerData/field_152587_j +FD: cew/k net/minecraft/client/multiplayer/ServerData/field_147411_m +FD: cex/a net/minecraft/client/multiplayer/ServerData$ServerResourceMode/ENABLED +FD: cex/b net/minecraft/client/multiplayer/ServerData$ServerResourceMode/DISABLED +FD: cex/c net/minecraft/client/multiplayer/ServerData$ServerResourceMode/PROMPT +FD: cex/d net/minecraft/client/multiplayer/ServerData$ServerResourceMode/field_152594_d +FD: cex/e net/minecraft/client/multiplayer/ServerData$ServerResourceMode/$VALUES +FD: cey/a net/minecraft/client/multiplayer/ServerList/field_147415_a +FD: cey/b net/minecraft/client/multiplayer/ServerList/field_78859_a +FD: cey/c net/minecraft/client/multiplayer/ServerList/field_78858_b +FD: cez/a net/minecraft/client/network/OldServerPinger/field_147230_a +FD: cez/b net/minecraft/client/network/OldServerPinger/field_147228_b +FD: cez/c net/minecraft/client/network/OldServerPinger/field_147229_c +FD: cf/a net/minecraft/command/common/CommandReplaceItem/field_175785_a +FD: cfa/a net/minecraft/client/network/OldServerPinger$1/field_147406_a +FD: cfa/b net/minecraft/client/network/OldServerPinger$1/field_147404_b +FD: cfa/c net/minecraft/client/network/OldServerPinger$1/field_147405_c +FD: cfa/d net/minecraft/client/network/OldServerPinger$1/field_147403_d +FD: cfa/e net/minecraft/client/network/OldServerPinger$1/field_175092_e +FD: cfb/a net/minecraft/client/network/OldServerPinger$2/field_147218_a +FD: cfb/b net/minecraft/client/network/OldServerPinger$2/field_147216_b +FD: cfb/c net/minecraft/client/network/OldServerPinger$2/field_147217_c +FD: cfc/a net/minecraft/client/network/OldServerPinger$2$1/field_147220_a +FD: cfn/a net/minecraft/client/particle/EntityCrit2FX/field_174839_a +FD: cfq/a net/minecraft/client/particle/EntityDropParticleFX/field_70563_a +FD: cfq/ax net/minecraft/client/particle/EntityDropParticleFX/field_70564_aq +FD: cft/a net/minecraft/client/particle/EntityEnchantmentTableParticleFX/field_70565_a +FD: cft/ax net/minecraft/client/particle/EntityEnchantmentTableParticleFX/field_70568_aq +FD: cft/ay net/minecraft/client/particle/EntityEnchantmentTableParticleFX/field_70567_ar +FD: cft/az net/minecraft/client/particle/EntityEnchantmentTableParticleFX/field_70566_as +FD: cfz/a net/minecraft/client/particle/EntityFireworkSparkFX/field_92049_a +FD: cfz/aA net/minecraft/client/particle/EntityFireworkSparkFX/field_92050_aA +FD: cfz/aB net/minecraft/client/particle/EntityFireworkSparkFX/field_92051_aB +FD: cfz/aC net/minecraft/client/particle/EntityFireworkSparkFX/field_92052_aC +FD: cfz/aD net/minecraft/client/particle/EntityFireworkSparkFX/field_92053_aD +FD: cfz/ax net/minecraft/client/particle/EntityFireworkSparkFX/field_92054_ax +FD: cfz/ay net/minecraft/client/particle/EntityFireworkSparkFX/field_92048_ay +FD: cfz/az net/minecraft/client/particle/EntityFireworkSparkFX/field_92047_az +FD: cga/a net/minecraft/client/particle/EntityFireworkStarterFX/field_92041_a +FD: cga/ax net/minecraft/client/particle/EntityFireworkStarterFX/field_92042_ax +FD: cga/ay net/minecraft/client/particle/EntityFireworkStarterFX/field_92040_ay +FD: cga/az net/minecraft/client/particle/EntityFireworkStarterFX/field_92039_az +FD: cgc/a net/minecraft/client/particle/EntityFlameFX/field_70562_a +FD: cge/a net/minecraft/client/particle/EntityFootStepFX/field_110126_a +FD: cge/ax net/minecraft/client/particle/EntityFootStepFX/field_70576_a +FD: cge/ay net/minecraft/client/particle/EntityFootStepFX/field_70578_aq +FD: cge/az net/minecraft/client/particle/EntityFootStepFX/field_70577_ar +FD: cgg/a net/minecraft/client/particle/EntityHeartFX/field_70575_a +FD: cgj/a net/minecraft/client/particle/EntityLargeExplodeFX/field_110127_a +FD: cgj/aA net/minecraft/client/particle/EntityLargeExplodeFX/field_70582_as +FD: cgj/ax net/minecraft/client/particle/EntityLargeExplodeFX/field_70581_a +FD: cgj/ay net/minecraft/client/particle/EntityLargeExplodeFX/field_70584_aq +FD: cgj/az net/minecraft/client/particle/EntityLargeExplodeFX/field_70583_ar +FD: cgl/a net/minecraft/client/particle/EntityHugeExplodeFX/field_70579_a +FD: cgl/ax net/minecraft/client/particle/EntityHugeExplodeFX/field_70580_aq +FD: cgn/a net/minecraft/client/particle/EntityPickupFX/field_174840_a +FD: cgn/aA net/minecraft/client/particle/EntityPickupFX/field_174841_aA +FD: cgn/aB net/minecraft/client/particle/EntityPickupFX/field_174842_aB +FD: cgn/ax net/minecraft/client/particle/EntityPickupFX/field_174843_ax +FD: cgn/ay net/minecraft/client/particle/EntityPickupFX/field_70594_ar +FD: cgn/az net/minecraft/client/particle/EntityPickupFX/field_70593_as +FD: cgq/a net/minecraft/client/particle/EntityLavaFX/field_70586_a +FD: cgs/a net/minecraft/client/particle/MobAppearance/field_174844_a +FD: cgu/a net/minecraft/client/particle/EntityNoteFX/field_70585_a +FD: cgw/ap net/minecraft/client/particle/EntityFX/field_70552_h +FD: cgw/aq net/minecraft/client/particle/EntityFX/field_70553_i +FD: cgw/ar net/minecraft/client/particle/EntityFX/field_70551_j +FD: cgw/as net/minecraft/client/particle/EntityFX/field_82339_as +FD: cgw/at net/minecraft/client/particle/EntityFX/field_70550_a +FD: cgw/au net/minecraft/client/particle/EntityFX/field_70556_an +FD: cgw/av net/minecraft/client/particle/EntityFX/field_70554_ao +FD: cgw/aw net/minecraft/client/particle/EntityFX/field_70555_ap +FD: cgw/b net/minecraft/client/particle/EntityFX/field_94054_b +FD: cgw/c net/minecraft/client/particle/EntityFX/field_94055_c +FD: cgw/d net/minecraft/client/particle/EntityFX/field_70548_b +FD: cgw/e net/minecraft/client/particle/EntityFX/field_70549_c +FD: cgw/f net/minecraft/client/particle/EntityFX/field_70546_d +FD: cgw/g net/minecraft/client/particle/EntityFX/field_70547_e +FD: cgw/h net/minecraft/client/particle/EntityFX/field_70544_f +FD: cgw/i net/minecraft/client/particle/EntityFX/field_70545_g +FD: cgx/a net/minecraft/client/particle/EffectRenderer/field_78878_a +FD: cgx/b net/minecraft/client/particle/EffectRenderer/field_110737_b +FD: cgx/c net/minecraft/client/particle/EffectRenderer/field_78876_b +FD: cgx/d net/minecraft/client/particle/EffectRenderer/field_178933_d +FD: cgx/e net/minecraft/client/particle/EffectRenderer/field_78877_c +FD: cgx/f net/minecraft/client/particle/EffectRenderer/field_78875_d +FD: cgx/g net/minecraft/client/particle/EffectRenderer/field_178932_g +FD: cgy/a net/minecraft/client/particle/EffectRenderer$1/field_147214_a +FD: cgy/b net/minecraft/client/particle/EffectRenderer$1/field_147213_b +FD: cgz/a net/minecraft/client/particle/EffectRenderer$2/field_147898_a +FD: cgz/b net/minecraft/client/particle/EffectRenderer$2/field_147897_b +FD: cha/a net/minecraft/client/particle/EffectRenderer$3/field_147901_a +FD: cha/b net/minecraft/client/particle/EffectRenderer$3/field_147900_b +FD: chb/a net/minecraft/client/particle/EffectRenderer$4/field_147904_a +FD: chb/b net/minecraft/client/particle/EffectRenderer$4/field_147903_b +FD: chd/a net/minecraft/client/particle/EntityCloudFX/field_70569_a +FD: chf/a net/minecraft/client/particle/EntityPortalFX/field_70571_a +FD: chf/ax net/minecraft/client/particle/EntityPortalFX/field_70574_aq +FD: chf/ay net/minecraft/client/particle/EntityPortalFX/field_70573_ar +FD: chf/az net/minecraft/client/particle/EntityPortalFX/field_70572_as +FD: chh/a net/minecraft/client/particle/EntityReddustFX/field_70570_a +FD: chj/a net/minecraft/client/particle/EntitySmokeFX/field_70587_a +FD: chm/a net/minecraft/client/particle/EntitySnowShovelFX/field_70588_a +FD: cho/a net/minecraft/client/particle/EntitySpellParticleFX/field_174848_a +FD: cho/ax net/minecraft/client/particle/EntitySpellParticleFX/field_70590_a +FD: cid/a net/minecraft/client/particle/EntityDiggingFX/field_174847_a +FD: cif/a net/minecraft/client/particle/EntityParticleEmitter/field_174851_a +FD: cif/ax net/minecraft/client/particle/EntityParticleEmitter/field_174852_ax +FD: cif/ay net/minecraft/client/particle/EntityParticleEmitter/field_174850_ay +FD: cif/az net/minecraft/client/particle/EntityParticleEmitter/field_174849_az +FD: cil/a net/minecraft/client/entity/AbstractClientPlayer/field_175157_a +FD: cim/a net/minecraft/util/MovementInput/field_78902_a +FD: cim/b net/minecraft/util/MovementInput/field_78900_b +FD: cim/c net/minecraft/util/MovementInput/field_78901_c +FD: cim/d net/minecraft/util/MovementInput/field_78899_d +FD: cin/e net/minecraft/util/MovementInputFromOptions/field_78903_e +FD: cio/a net/minecraft/client/entity/EntityPlayerSP/field_71174_a +FD: cio/b net/minecraft/client/entity/EntityPlayerSP/field_71158_b +FD: cio/bF net/minecraft/client/entity/EntityPlayerSP/field_71086_bY +FD: cio/bG net/minecraft/client/entity/EntityPlayerSP/field_71080_cy +FD: cio/bH net/minecraft/client/entity/EntityPlayerSP/field_146108_bO +FD: cio/bI net/minecraft/client/entity/EntityPlayerSP/field_175172_bI +FD: cio/bJ net/minecraft/client/entity/EntityPlayerSP/field_175166_bJ +FD: cio/bK net/minecraft/client/entity/EntityPlayerSP/field_175167_bK +FD: cio/bL net/minecraft/client/entity/EntityPlayerSP/field_175164_bL +FD: cio/bM net/minecraft/client/entity/EntityPlayerSP/field_175165_bM +FD: cio/bN net/minecraft/client/entity/EntityPlayerSP/field_175170_bN +FD: cio/bO net/minecraft/client/entity/EntityPlayerSP/field_175171_bO +FD: cio/bP net/minecraft/client/entity/EntityPlayerSP/field_175168_bP +FD: cio/bQ net/minecraft/client/entity/EntityPlayerSP/field_175169_bQ +FD: cio/bR net/minecraft/client/entity/EntityPlayerSP/field_142022_ce +FD: cio/bS net/minecraft/client/entity/EntityPlayerSP/field_110320_a +FD: cio/bT net/minecraft/client/entity/EntityPlayerSP/field_110321_bQ +FD: cio/c net/minecraft/client/entity/EntityPlayerSP/field_71159_c +FD: cio/d net/minecraft/client/entity/EntityPlayerSP/field_71156_d +FD: cio/e net/minecraft/client/entity/EntityPlayerSP/field_71157_e +FD: cio/f net/minecraft/client/entity/EntityPlayerSP/field_71154_f +FD: cio/g net/minecraft/client/entity/EntityPlayerSP/field_71155_g +FD: cio/h net/minecraft/client/entity/EntityPlayerSP/field_71163_h +FD: cio/i net/minecraft/client/entity/EntityPlayerSP/field_71164_i +FD: cip/a net/minecraft/client/entity/EntityOtherPlayerMP/field_71186_a +FD: cip/b net/minecraft/client/entity/EntityOtherPlayerMP/field_71184_b +FD: cip/c net/minecraft/client/entity/EntityOtherPlayerMP/field_71185_c +FD: cip/d net/minecraft/client/entity/EntityOtherPlayerMP/field_71182_d +FD: cip/e net/minecraft/client/entity/EntityOtherPlayerMP/field_71183_e +FD: cip/f net/minecraft/client/entity/EntityOtherPlayerMP/field_71180_f +FD: cip/g net/minecraft/client/entity/EntityOtherPlayerMP/field_71181_g +FD: ciq/a net/minecraft/client/player/inventory/LocalBlockIntercommunication/field_175126_a +FD: ciq/b net/minecraft/client/player/inventory/LocalBlockIntercommunication/field_175125_b +FD: cir/a net/minecraft/client/player/inventory/ContainerLocalMenu/field_174896_a +FD: cir/b net/minecraft/client/player/inventory/ContainerLocalMenu/field_174895_b +FD: ciu/a net/minecraft/entity/boss/BossStatus/field_82828_a +FD: ciu/b net/minecraft/entity/boss/BossStatus/field_82826_b +FD: ciu/c net/minecraft/entity/boss/BossStatus/field_82827_c +FD: ciu/d net/minecraft/entity/boss/BossStatus/field_82825_d +FD: civ/a net/minecraft/client/renderer/WorldRenderer/field_179001_a +FD: civ/b net/minecraft/client/renderer/WorldRenderer/field_178999_b +FD: civ/c net/minecraft/client/renderer/WorldRenderer/field_179000_c +FD: civ/d net/minecraft/client/renderer/WorldRenderer/field_178997_d +FD: civ/e net/minecraft/client/renderer/WorldRenderer/field_178998_e +FD: civ/f net/minecraft/client/renderer/WorldRenderer/field_178995_f +FD: civ/g net/minecraft/client/renderer/WorldRenderer/field_178996_g +FD: civ/h net/minecraft/client/renderer/WorldRenderer/field_179007_h +FD: civ/i net/minecraft/client/renderer/WorldRenderer/field_179008_i +FD: civ/j net/minecraft/client/renderer/WorldRenderer/field_78939_q +FD: civ/k net/minecraft/client/renderer/WorldRenderer/field_179006_k +FD: civ/l net/minecraft/client/renderer/WorldRenderer/field_179004_l +FD: civ/m net/minecraft/client/renderer/WorldRenderer/field_179005_m +FD: civ/n net/minecraft/client/renderer/WorldRenderer/field_179002_n +FD: civ/o net/minecraft/client/renderer/WorldRenderer/field_179003_o +FD: civ/p net/minecraft/client/renderer/WorldRenderer/field_179012_p +FD: civ/q net/minecraft/client/renderer/WorldRenderer/field_179011_q +FD: civ/r net/minecraft/client/renderer/WorldRenderer/field_179010_r +FD: civ/s net/minecraft/client/renderer/WorldRenderer/field_179009_s +FD: ciw/a net/minecraft/client/renderer/WorldRenderer$SwitchEnumUsage/field_178959_a +FD: cix/a net/minecraft/client/renderer/WorldRenderer$State/field_179021_a +FD: cix/b net/minecraft/client/renderer/WorldRenderer$State/field_179019_b +FD: cix/c net/minecraft/client/renderer/WorldRenderer$State/field_179020_c +FD: cix/d net/minecraft/client/renderer/WorldRenderer$State/field_179017_d +FD: cix/e net/minecraft/client/renderer/WorldRenderer$State/field_179018_e +FD: ciz/a net/minecraft/client/renderer/WorldVertexBufferUploader$SwitchEnumUsage/field_178958_a +FD: cja/f net/minecraft/client/renderer/RegionRenderCache/field_175632_f +FD: cja/g net/minecraft/client/renderer/RegionRenderCache/field_175633_g +FD: cja/h net/minecraft/client/renderer/RegionRenderCache/field_175634_h +FD: cja/i net/minecraft/client/renderer/RegionRenderCache/field_175635_i +FD: cjb/a net/minecraft/client/renderer/RegionRenderCacheBuilder/field_179040_a +FD: cjc/a net/minecraft/client/renderer/ChunkRenderContainer/field_178009_a +FD: cjc/b net/minecraft/client/renderer/ChunkRenderContainer/field_178007_b +FD: cjc/c net/minecraft/client/renderer/ChunkRenderContainer/field_178008_c +FD: cjc/d net/minecraft/client/renderer/ChunkRenderContainer/field_178005_d +FD: cjc/e net/minecraft/client/renderer/ChunkRenderContainer/field_178006_e +FD: cjd/a net/minecraft/client/renderer/tileentity/TileEntityItemStackRenderer/field_147719_a +FD: cjd/b net/minecraft/client/renderer/tileentity/TileEntityItemStackRenderer/field_147717_b +FD: cjd/c net/minecraft/client/renderer/tileentity/TileEntityItemStackRenderer/field_147718_c +FD: cjd/d net/minecraft/client/renderer/tileentity/TileEntityItemStackRenderer/field_147716_d +FD: cjd/e net/minecraft/client/renderer/tileentity/TileEntityItemStackRenderer/field_179024_e +FD: cjd/f net/minecraft/client/renderer/tileentity/TileEntityItemStackRenderer/field_179023_f +FD: cje/a net/minecraft/client/renderer/EnumFaceDirection/DOWN +FD: cje/b net/minecraft/client/renderer/EnumFaceDirection/UP +FD: cje/c net/minecraft/client/renderer/EnumFaceDirection/NORTH +FD: cje/d net/minecraft/client/renderer/EnumFaceDirection/SOUTH +FD: cje/e net/minecraft/client/renderer/EnumFaceDirection/WEST +FD: cje/f net/minecraft/client/renderer/EnumFaceDirection/EAST +FD: cje/g net/minecraft/client/renderer/EnumFaceDirection/field_179029_g +FD: cje/h net/minecraft/client/renderer/EnumFaceDirection/field_179035_h +FD: cje/i net/minecraft/client/renderer/EnumFaceDirection/$VALUES +FD: cjg/a net/minecraft/client/renderer/EnumFaceDirection$Constants/field_179181_a +FD: cjg/b net/minecraft/client/renderer/EnumFaceDirection$Constants/field_179179_b +FD: cjg/c net/minecraft/client/renderer/EnumFaceDirection$Constants/field_179180_c +FD: cjg/d net/minecraft/client/renderer/EnumFaceDirection$Constants/field_179177_d +FD: cjg/e net/minecraft/client/renderer/EnumFaceDirection$Constants/field_179178_e +FD: cjg/f net/minecraft/client/renderer/EnumFaceDirection$Constants/field_179176_f +FD: cjh/a net/minecraft/client/renderer/EnumFaceDirection$VertexInformation/field_179184_a +FD: cjh/b net/minecraft/client/renderer/EnumFaceDirection$VertexInformation/field_179182_b +FD: cjh/c net/minecraft/client/renderer/EnumFaceDirection$VertexInformation/field_179183_c +FD: cji/A net/minecraft/client/renderer/EntityRenderer/field_82832_V +FD: cji/B net/minecraft/client/renderer/EntityRenderer/field_78500_U +FD: cji/C net/minecraft/client/renderer/EntityRenderer/field_175074_C +FD: cji/D net/minecraft/client/renderer/EntityRenderer/field_175073_D +FD: cji/E net/minecraft/client/renderer/EntityRenderer/field_78508_Y +FD: cji/F net/minecraft/client/renderer/EntityRenderer/field_78510_Z +FD: cji/G net/minecraft/client/renderer/EntityRenderer/field_78513_d +FD: cji/H net/minecraft/client/renderer/EntityRenderer/field_78504_Q +FD: cji/I net/minecraft/client/renderer/EntityRenderer/field_110922_T +FD: cji/J net/minecraft/client/renderer/EntityRenderer/field_78536_aa +FD: cji/K net/minecraft/client/renderer/EntityRenderer/field_78514_e +FD: cji/L net/minecraft/client/renderer/EntityRenderer/field_175075_L +FD: cji/M net/minecraft/client/renderer/EntityRenderer/field_78534_ac +FD: cji/N net/minecraft/client/renderer/EntityRenderer/field_175076_N +FD: cji/O net/minecraft/client/renderer/EntityRenderer/field_175077_O +FD: cji/P net/minecraft/client/renderer/EntityRenderer/field_78521_m +FD: cji/Q net/minecraft/client/renderer/EntityRenderer/field_175080_Q +FD: cji/R net/minecraft/client/renderer/EntityRenderer/field_175082_R +FD: cji/S net/minecraft/client/renderer/EntityRenderer/field_175081_S +FD: cji/T net/minecraft/client/renderer/EntityRenderer/field_78535_ad +FD: cji/U net/minecraft/client/renderer/EntityRenderer/field_78539_ae +FD: cji/V net/minecraft/client/renderer/EntityRenderer/field_175079_V +FD: cji/W net/minecraft/client/renderer/EntityRenderer/field_175078_W +FD: cji/X net/minecraft/client/renderer/EntityRenderer/field_78503_V +FD: cji/Y net/minecraft/client/renderer/EntityRenderer/field_78502_W +FD: cji/Z net/minecraft/client/renderer/EntityRenderer/field_78509_X +FD: cji/a net/minecraft/client/renderer/EntityRenderer/field_78517_a +FD: cji/aa net/minecraft/client/renderer/EntityRenderer/field_147707_d +FD: cji/ab net/minecraft/client/renderer/EntityRenderer/field_147712_ad +FD: cji/ac net/minecraft/client/renderer/EntityRenderer/field_147713_ae +FD: cji/ad net/minecraft/client/renderer/EntityRenderer/field_175083_ad +FD: cji/ae net/minecraft/client/renderer/EntityRenderer/field_175084_ae +FD: cji/b net/minecraft/client/renderer/EntityRenderer/field_78515_b +FD: cji/c net/minecraft/client/renderer/EntityRenderer/field_78516_c +FD: cji/d net/minecraft/client/renderer/EntityRenderer/field_147708_e +FD: cji/e net/minecraft/client/renderer/EntityRenderer/field_147710_q +FD: cji/f net/minecraft/client/renderer/EntityRenderer/field_110924_q +FD: cji/g net/minecraft/client/renderer/EntityRenderer/field_110923_r +FD: cji/h net/minecraft/client/renderer/EntityRenderer/field_78531_r +FD: cji/i net/minecraft/client/renderer/EntityRenderer/field_147711_ac +FD: cji/j net/minecraft/client/renderer/EntityRenderer/field_78537_ab +FD: cji/k net/minecraft/client/renderer/EntityRenderer/field_78530_s +FD: cji/l net/minecraft/client/renderer/EntityRenderer/field_147709_v +FD: cji/m net/minecraft/client/renderer/EntityRenderer/field_78529_t +FD: cji/n net/minecraft/client/renderer/EntityRenderer/field_78528_u +FD: cji/o net/minecraft/client/renderer/EntityRenderer/field_78527_v +FD: cji/p net/minecraft/client/renderer/EntityRenderer/field_78526_w +FD: cji/q net/minecraft/client/renderer/EntityRenderer/field_78490_B +FD: cji/r net/minecraft/client/renderer/EntityRenderer/field_78491_C +FD: cji/s net/minecraft/client/renderer/EntityRenderer/field_78496_H +FD: cji/t net/minecraft/client/renderer/EntityRenderer/field_78497_I +FD: cji/u net/minecraft/client/renderer/EntityRenderer/field_78498_J +FD: cji/v net/minecraft/client/renderer/EntityRenderer/field_78499_K +FD: cji/w net/minecraft/client/renderer/EntityRenderer/field_78492_L +FD: cji/x net/minecraft/client/renderer/EntityRenderer/field_78507_R +FD: cji/y net/minecraft/client/renderer/EntityRenderer/field_78506_S +FD: cji/z net/minecraft/client/renderer/EntityRenderer/field_82831_U +FD: cjj/a net/minecraft/client/renderer/EntityRenderer$1/field_90032_a +FD: cjk/a net/minecraft/client/renderer/EntityRenderer$2/field_90026_a +FD: cjk/b net/minecraft/client/renderer/EntityRenderer$2/field_90024_b +FD: cjk/c net/minecraft/client/renderer/EntityRenderer$2/field_90025_c +FD: cjl/a net/minecraft/client/renderer/EntityRenderer$3/field_90029_a +FD: cjl/b net/minecraft/client/renderer/EntityRenderer$3/field_90028_b +FD: cjm/a net/minecraft/client/renderer/GlStateManager/field_179160_a +FD: cjm/b net/minecraft/client/renderer/GlStateManager/field_179158_b +FD: cjm/c net/minecraft/client/renderer/GlStateManager/field_179159_c +FD: cjm/d net/minecraft/client/renderer/GlStateManager/field_179156_d +FD: cjm/e net/minecraft/client/renderer/GlStateManager/field_179157_e +FD: cjm/f net/minecraft/client/renderer/GlStateManager/field_179154_f +FD: cjm/g net/minecraft/client/renderer/GlStateManager/field_179155_g +FD: cjm/h net/minecraft/client/renderer/GlStateManager/field_179167_h +FD: cjm/i net/minecraft/client/renderer/GlStateManager/field_179168_i +FD: cjm/j net/minecraft/client/renderer/GlStateManager/field_179165_j +FD: cjm/k net/minecraft/client/renderer/GlStateManager/field_179166_k +FD: cjm/l net/minecraft/client/renderer/GlStateManager/field_179163_l +FD: cjm/m net/minecraft/client/renderer/GlStateManager/field_179164_m +FD: cjm/n net/minecraft/client/renderer/GlStateManager/field_179161_n +FD: cjm/o net/minecraft/client/renderer/GlStateManager/field_179162_o +FD: cjm/p net/minecraft/client/renderer/GlStateManager/field_179174_p +FD: cjm/q net/minecraft/client/renderer/GlStateManager/field_179173_q +FD: cjm/r net/minecraft/client/renderer/GlStateManager/field_179172_r +FD: cjm/s net/minecraft/client/renderer/GlStateManager/field_179171_s +FD: cjm/t net/minecraft/client/renderer/GlStateManager/field_179170_t +FD: cjm/u net/minecraft/client/renderer/GlStateManager/field_179169_u +FD: cjn/a net/minecraft/client/renderer/GlStateManager$SwitchTexGen/field_179175_a +FD: cjo/a net/minecraft/client/renderer/GlStateManager$AlphaState/field_179208_a +FD: cjo/b net/minecraft/client/renderer/GlStateManager$AlphaState/field_179206_b +FD: cjo/c net/minecraft/client/renderer/GlStateManager$AlphaState/field_179207_c +FD: cjp/a net/minecraft/client/renderer/GlStateManager$BlendState/field_179213_a +FD: cjp/b net/minecraft/client/renderer/GlStateManager$BlendState/field_179211_b +FD: cjp/c net/minecraft/client/renderer/GlStateManager$BlendState/field_179212_c +FD: cjp/d net/minecraft/client/renderer/GlStateManager$BlendState/field_179209_d +FD: cjp/e net/minecraft/client/renderer/GlStateManager$BlendState/field_179210_e +FD: cjq/a net/minecraft/client/renderer/GlStateManager$BooleanState/field_179202_a +FD: cjq/b net/minecraft/client/renderer/GlStateManager$BooleanState/field_179201_b +FD: cjr/a net/minecraft/client/renderer/GlStateManager$ClearState/field_179205_a +FD: cjr/b net/minecraft/client/renderer/GlStateManager$ClearState/field_179203_b +FD: cjr/c net/minecraft/client/renderer/GlStateManager$ClearState/field_179204_c +FD: cjs/a net/minecraft/client/renderer/GlStateManager$Color/field_179195_a +FD: cjs/b net/minecraft/client/renderer/GlStateManager$Color/field_179193_b +FD: cjs/c net/minecraft/client/renderer/GlStateManager$Color/field_179194_c +FD: cjs/d net/minecraft/client/renderer/GlStateManager$Color/field_179192_d +FD: cjt/a net/minecraft/client/renderer/GlStateManager$ColorLogicState/field_179197_a +FD: cjt/b net/minecraft/client/renderer/GlStateManager$ColorLogicState/field_179196_b +FD: cju/a net/minecraft/client/renderer/GlStateManager$ColorMask/field_179188_a +FD: cju/b net/minecraft/client/renderer/GlStateManager$ColorMask/field_179186_b +FD: cju/c net/minecraft/client/renderer/GlStateManager$ColorMask/field_179187_c +FD: cju/d net/minecraft/client/renderer/GlStateManager$ColorMask/field_179185_d +FD: cjv/a net/minecraft/client/renderer/GlStateManager$ColorMaterialState/field_179191_a +FD: cjv/b net/minecraft/client/renderer/GlStateManager$ColorMaterialState/field_179189_b +FD: cjv/c net/minecraft/client/renderer/GlStateManager$ColorMaterialState/field_179190_c +FD: cjw/a net/minecraft/client/renderer/GlStateManager$CullState/field_179054_a +FD: cjw/b net/minecraft/client/renderer/GlStateManager$CullState/field_179053_b +FD: cjx/a net/minecraft/client/renderer/GlStateManager$DepthState/field_179052_a +FD: cjx/b net/minecraft/client/renderer/GlStateManager$DepthState/field_179050_b +FD: cjx/c net/minecraft/client/renderer/GlStateManager$DepthState/field_179051_c +FD: cjy/a net/minecraft/client/renderer/GlStateManager$FogState/field_179049_a +FD: cjy/b net/minecraft/client/renderer/GlStateManager$FogState/field_179047_b +FD: cjy/c net/minecraft/client/renderer/GlStateManager$FogState/field_179048_c +FD: cjy/d net/minecraft/client/renderer/GlStateManager$FogState/field_179045_d +FD: cjy/e net/minecraft/client/renderer/GlStateManager$FogState/field_179046_e +FD: cjz/a net/minecraft/client/renderer/GlStateManager$PolygonOffsetState/field_179044_a +FD: cjz/b net/minecraft/client/renderer/GlStateManager$PolygonOffsetState/field_179042_b +FD: cjz/c net/minecraft/client/renderer/GlStateManager$PolygonOffsetState/field_179043_c +FD: cjz/d net/minecraft/client/renderer/GlStateManager$PolygonOffsetState/field_179041_d +FD: cka/a net/minecraft/client/renderer/GlStateManager$StencilFunc/field_179081_a +FD: cka/b net/minecraft/client/renderer/GlStateManager$StencilFunc/field_179079_b +FD: cka/c net/minecraft/client/renderer/GlStateManager$StencilFunc/field_179080_c +FD: ckb/a net/minecraft/client/renderer/GlStateManager$StencilState/field_179078_a +FD: ckb/b net/minecraft/client/renderer/GlStateManager$StencilState/field_179076_b +FD: ckb/c net/minecraft/client/renderer/GlStateManager$StencilState/field_179077_c +FD: ckb/d net/minecraft/client/renderer/GlStateManager$StencilState/field_179074_d +FD: ckb/e net/minecraft/client/renderer/GlStateManager$StencilState/field_179075_e +FD: ckc/a net/minecraft/client/renderer/GlStateManager$TexGen/S +FD: ckc/b net/minecraft/client/renderer/GlStateManager$TexGen/T +FD: ckc/c net/minecraft/client/renderer/GlStateManager$TexGen/R +FD: ckc/d net/minecraft/client/renderer/GlStateManager$TexGen/Q +FD: ckc/e net/minecraft/client/renderer/GlStateManager$TexGen/$VALUES +FD: ckd/a net/minecraft/client/renderer/GlStateManager$TexGenCoord/field_179067_a +FD: ckd/b net/minecraft/client/renderer/GlStateManager$TexGenCoord/field_179065_b +FD: ckd/c net/minecraft/client/renderer/GlStateManager$TexGenCoord/field_179066_c +FD: cke/a net/minecraft/client/renderer/GlStateManager$TexGenState/field_179064_a +FD: cke/b net/minecraft/client/renderer/GlStateManager$TexGenState/field_179062_b +FD: cke/c net/minecraft/client/renderer/GlStateManager$TexGenState/field_179063_c +FD: cke/d net/minecraft/client/renderer/GlStateManager$TexGenState/field_179061_d +FD: ckf/a net/minecraft/client/renderer/GlStateManager$TextureState/field_179060_a +FD: ckf/b net/minecraft/client/renderer/GlStateManager$TextureState/field_179059_b +FD: ckg/a net/minecraft/client/renderer/GlStateManager$Viewport/field_179058_a +FD: ckg/b net/minecraft/client/renderer/GlStateManager$Viewport/field_179056_b +FD: ckg/c net/minecraft/client/renderer/GlStateManager$Viewport/field_179057_c +FD: ckg/d net/minecraft/client/renderer/GlStateManager$Viewport/field_179055_d +FD: cki/a net/minecraft/client/renderer/ItemRenderer/field_110931_c +FD: cki/b net/minecraft/client/renderer/ItemRenderer/field_110929_d +FD: cki/c net/minecraft/client/renderer/ItemRenderer/field_78455_a +FD: cki/d net/minecraft/client/renderer/ItemRenderer/field_78453_b +FD: cki/e net/minecraft/client/renderer/ItemRenderer/field_78454_c +FD: cki/f net/minecraft/client/renderer/ItemRenderer/field_78451_d +FD: cki/g net/minecraft/client/renderer/ItemRenderer/field_178111_g +FD: cki/h net/minecraft/client/renderer/ItemRenderer/field_178112_h +FD: cki/i net/minecraft/client/renderer/ItemRenderer/field_78450_g +FD: ckj/a net/minecraft/client/renderer/ItemRenderer$SwitchEnumAction/field_178094_a +FD: ckk/a net/minecraft/client/renderer/ItemModelMesher/field_178093_a +FD: ckk/b net/minecraft/client/renderer/ItemModelMesher/field_178091_b +FD: ckk/c net/minecraft/client/renderer/ItemModelMesher/field_178092_c +FD: ckk/d net/minecraft/client/renderer/ItemModelMesher/field_178090_d +FD: ckn/A net/minecraft/client/renderer/RenderGlobal/field_174991_A +FD: ckn/B net/minecraft/client/renderer/RenderGlobal/field_174992_B +FD: ckn/C net/minecraft/client/renderer/RenderGlobal/field_174993_C +FD: ckn/D net/minecraft/client/renderer/RenderGlobal/field_174987_D +FD: ckn/E net/minecraft/client/renderer/RenderGlobal/field_174988_E +FD: ckn/F net/minecraft/client/renderer/RenderGlobal/field_174989_F +FD: ckn/G net/minecraft/client/renderer/RenderGlobal/field_174990_G +FD: ckn/H net/minecraft/client/renderer/RenderGlobal/field_174997_H +FD: ckn/I net/minecraft/client/renderer/RenderGlobal/field_174998_I +FD: ckn/J net/minecraft/client/renderer/RenderGlobal/field_174999_J +FD: ckn/K net/minecraft/client/renderer/RenderGlobal/field_175000_K +FD: ckn/L net/minecraft/client/renderer/RenderGlobal/field_174994_L +FD: ckn/M net/minecraft/client/renderer/RenderGlobal/field_174995_M +FD: ckn/N net/minecraft/client/renderer/RenderGlobal/field_174996_N +FD: ckn/O net/minecraft/client/renderer/RenderGlobal/field_72739_F +FD: ckn/P net/minecraft/client/renderer/RenderGlobal/field_72740_G +FD: ckn/Q net/minecraft/client/renderer/RenderGlobal/field_72748_H +FD: ckn/R net/minecraft/client/renderer/RenderGlobal/field_72749_I +FD: ckn/S net/minecraft/client/renderer/RenderGlobal/field_72750_J +FD: ckn/T net/minecraft/client/renderer/RenderGlobal/field_175002_T +FD: ckn/U net/minecraft/client/renderer/RenderGlobal/field_175001_U +FD: ckn/V net/minecraft/client/renderer/RenderGlobal/field_175004_V +FD: ckn/W net/minecraft/client/renderer/RenderGlobal/field_175003_W +FD: ckn/X net/minecraft/client/renderer/RenderGlobal/field_175005_X +FD: ckn/Y net/minecraft/client/renderer/RenderGlobal/field_147596_f +FD: ckn/Z net/minecraft/client/renderer/RenderGlobal/field_147597_g +FD: ckn/a net/minecraft/client/renderer/RenderGlobal/field_175007_a +FD: ckn/aa net/minecraft/client/renderer/RenderGlobal/field_147602_h +FD: ckn/ab net/minecraft/client/renderer/RenderGlobal/field_147595_R +FD: ckn/b net/minecraft/client/renderer/RenderGlobal/field_147599_m +FD: ckn/c net/minecraft/client/renderer/RenderGlobal/field_110927_h +FD: ckn/d net/minecraft/client/renderer/RenderGlobal/field_110928_i +FD: ckn/e net/minecraft/client/renderer/RenderGlobal/field_110925_j +FD: ckn/f net/minecraft/client/renderer/RenderGlobal/field_110926_k +FD: ckn/g net/minecraft/client/renderer/RenderGlobal/field_175006_g +FD: ckn/h net/minecraft/client/renderer/RenderGlobal/field_72777_q +FD: ckn/i net/minecraft/client/renderer/RenderGlobal/field_72770_i +FD: ckn/j net/minecraft/client/renderer/RenderGlobal/field_175010_j +FD: ckn/k net/minecraft/client/renderer/RenderGlobal/field_72769_h +FD: ckn/l net/minecraft/client/renderer/RenderGlobal/field_175009_l +FD: ckn/m net/minecraft/client/renderer/RenderGlobal/field_72755_R +FD: ckn/n net/minecraft/client/renderer/RenderGlobal/field_175008_n +FD: ckn/o net/minecraft/client/renderer/RenderGlobal/field_72772_v +FD: ckn/p net/minecraft/client/renderer/RenderGlobal/field_72771_w +FD: ckn/q net/minecraft/client/renderer/RenderGlobal/field_72781_x +FD: ckn/r net/minecraft/client/renderer/RenderGlobal/field_175014_r +FD: ckn/s net/minecraft/client/renderer/RenderGlobal/field_175013_s +FD: ckn/t net/minecraft/client/renderer/RenderGlobal/field_175012_t +FD: ckn/u net/minecraft/client/renderer/RenderGlobal/field_175011_u +FD: ckn/v net/minecraft/client/renderer/RenderGlobal/field_72773_u +FD: ckn/w net/minecraft/client/renderer/RenderGlobal/field_72738_E +FD: ckn/x net/minecraft/client/renderer/RenderGlobal/field_147593_P +FD: ckn/y net/minecraft/client/renderer/RenderGlobal/field_94141_F +FD: ckn/z net/minecraft/client/renderer/RenderGlobal/field_175015_z +FD: cko/a net/minecraft/client/renderer/RenderGlobal$1/field_85101_a +FD: cko/b net/minecraft/client/renderer/RenderGlobal$1/field_85099_b +FD: cko/c net/minecraft/client/renderer/RenderGlobal$1/field_85100_c +FD: cko/d net/minecraft/client/renderer/RenderGlobal$1/field_85098_d +FD: ckp/a net/minecraft/client/renderer/RenderGlobal$SwitchEnumUsage/field_178037_a +FD: ckq/a net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation/field_178036_a +FD: ckq/b net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation/field_178034_b +FD: ckq/c net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation/field_178035_c +FD: ckq/d net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation/field_178032_d +FD: ckq/e net/minecraft/client/renderer/RenderGlobal$ContainerLocalRenderInformation/field_178033_e +FD: ckr/a net/minecraft/client/renderer/ImageBufferDownload/field_78438_a +FD: ckr/b net/minecraft/client/renderer/ImageBufferDownload/field_78436_b +FD: ckr/c net/minecraft/client/renderer/ImageBufferDownload/field_78437_c +FD: ckt/a net/minecraft/client/util/QuadComparator/field_147630_a +FD: ckt/b net/minecraft/client/util/QuadComparator/field_147628_b +FD: ckt/c net/minecraft/client/util/QuadComparator/field_147629_c +FD: ckt/d net/minecraft/client/util/QuadComparator/field_147627_d +FD: ckt/e net/minecraft/client/util/QuadComparator/field_178079_e +FD: ckw/a net/minecraft/client/shader/Framebuffer/field_147622_a +FD: ckw/b net/minecraft/client/shader/Framebuffer/field_147620_b +FD: ckw/c net/minecraft/client/shader/Framebuffer/field_147621_c +FD: ckw/d net/minecraft/client/shader/Framebuffer/field_147618_d +FD: ckw/e net/minecraft/client/shader/Framebuffer/field_147619_e +FD: ckw/f net/minecraft/client/shader/Framebuffer/field_147616_f +FD: ckw/g net/minecraft/client/shader/Framebuffer/field_147617_g +FD: ckw/h net/minecraft/client/shader/Framebuffer/field_147624_h +FD: ckw/i net/minecraft/client/shader/Framebuffer/field_147625_i +FD: ckw/j net/minecraft/client/shader/Framebuffer/field_147623_j +FD: ckx/a net/minecraft/client/renderer/Tessellator/field_178183_a +FD: ckx/b net/minecraft/client/renderer/Tessellator/field_178182_b +FD: ckx/c net/minecraft/client/renderer/Tessellator/field_78398_a +FD: ckz/a net/minecraft/client/renderer/VertexBufferUploader/field_178179_a +FD: cla/a net/minecraft/client/renderer/ViewFrustum/field_178169_a +FD: cla/b net/minecraft/client/renderer/ViewFrustum/field_178167_b +FD: cla/c net/minecraft/client/renderer/ViewFrustum/field_178168_c +FD: cla/d net/minecraft/client/renderer/ViewFrustum/field_178165_d +FD: cla/e net/minecraft/client/renderer/ViewFrustum/field_178166_e +FD: cla/f net/minecraft/client/renderer/ViewFrustum/field_178164_f +FD: clc/a net/minecraft/client/renderer/BlockModelShapes/field_178129_a +FD: clc/b net/minecraft/client/renderer/BlockModelShapes/field_178127_b +FD: clc/c net/minecraft/client/renderer/BlockModelShapes/field_178128_c +FD: cld/a net/minecraft/client/renderer/BlockModelShapes$1/field_178143_a +FD: cle/a net/minecraft/client/renderer/BlockModelShapes$2/field_178136_a +FD: clf/a net/minecraft/client/renderer/BlockModelShapes$3/field_178137_a +FD: clg/a net/minecraft/client/renderer/BlockModelShapes$4/field_178134_a +FD: clh/a net/minecraft/client/renderer/BlockModelShapes$5/field_178135_a +FD: cli/a net/minecraft/client/renderer/BlockModelShapes$6/field_178139_a +FD: clj/a net/minecraft/client/renderer/BlockModelShapes$7/field_178138_a +FD: clk/a net/minecraft/client/renderer/BlockModelShapes$SwitchEnumType/field_178257_a +FD: cll/a net/minecraft/client/renderer/BlockRendererDispatcher/field_175028_a +FD: cll/b net/minecraft/client/renderer/BlockRendererDispatcher/field_175026_b +FD: cll/c net/minecraft/client/renderer/BlockRendererDispatcher/field_175027_c +FD: cll/d net/minecraft/client/renderer/BlockRendererDispatcher/field_175024_d +FD: cll/e net/minecraft/client/renderer/BlockRendererDispatcher/field_175025_e +FD: clm/a net/minecraft/client/renderer/BlockFluidRenderer/field_178272_a +FD: clm/b net/minecraft/client/renderer/BlockFluidRenderer/field_178271_b +FD: clo/a net/minecraft/client/renderer/BlockModelRenderer$SwitchEnumFacing/field_178290_a +FD: clp/a net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/DOWN +FD: clp/b net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/UP +FD: clp/c net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/NORTH +FD: clp/d net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/SOUTH +FD: clp/e net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/WEST +FD: clp/f net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/EAST +FD: clp/g net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/field_178276_g +FD: clp/h net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/field_178288_h +FD: clp/i net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/field_178289_i +FD: clp/j net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/field_178286_j +FD: clp/k net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/field_178287_k +FD: clp/l net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/field_178284_l +FD: clp/m net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/field_178285_m +FD: clp/n net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/field_178282_n +FD: clp/o net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/$VALUES +FD: clq/a net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace/field_178208_a +FD: clq/b net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace/field_178206_b +FD: clq/c net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace/field_178207_c +FD: clr/a net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/DOWN +FD: clr/b net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/UP +FD: clr/c net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/NORTH +FD: clr/d net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/SOUTH +FD: clr/e net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/WEST +FD: clr/f net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/EAST +FD: clr/g net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/field_178191_g +FD: clr/h net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/field_178200_h +FD: clr/i net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/field_178201_i +FD: clr/j net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/field_178198_j +FD: clr/k net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/field_178199_k +FD: clr/l net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/$VALUES +FD: cls/a net/minecraft/client/renderer/BlockModelRenderer$Orientation/DOWN +FD: cls/b net/minecraft/client/renderer/BlockModelRenderer$Orientation/UP +FD: cls/c net/minecraft/client/renderer/BlockModelRenderer$Orientation/NORTH +FD: cls/d net/minecraft/client/renderer/BlockModelRenderer$Orientation/SOUTH +FD: cls/e net/minecraft/client/renderer/BlockModelRenderer$Orientation/WEST +FD: cls/f net/minecraft/client/renderer/BlockModelRenderer$Orientation/EAST +FD: cls/g net/minecraft/client/renderer/BlockModelRenderer$Orientation/FLIP_DOWN +FD: cls/h net/minecraft/client/renderer/BlockModelRenderer$Orientation/FLIP_UP +FD: cls/i net/minecraft/client/renderer/BlockModelRenderer$Orientation/FLIP_NORTH +FD: cls/j net/minecraft/client/renderer/BlockModelRenderer$Orientation/FLIP_SOUTH +FD: cls/k net/minecraft/client/renderer/BlockModelRenderer$Orientation/FLIP_WEST +FD: cls/l net/minecraft/client/renderer/BlockModelRenderer$Orientation/FLIP_EAST +FD: cls/m net/minecraft/client/renderer/BlockModelRenderer$Orientation/field_178229_m +FD: cls/n net/minecraft/client/renderer/BlockModelRenderer$Orientation/$VALUES +FD: clt/a net/minecraft/client/renderer/block/model/BakedQuad/field_178215_a +FD: clt/b net/minecraft/client/renderer/block/model/BakedQuad/field_178213_b +FD: clt/c net/minecraft/client/renderer/block/model/BakedQuad/field_178214_c +FD: clu/a net/minecraft/client/renderer/block/model/BlockPart/field_178241_a +FD: clu/b net/minecraft/client/renderer/block/model/BlockPart/field_178239_b +FD: clu/c net/minecraft/client/renderer/block/model/BlockPart/field_178240_c +FD: clu/d net/minecraft/client/renderer/block/model/BlockPart/field_178237_d +FD: clu/e net/minecraft/client/renderer/block/model/BlockPart/field_178238_e +FD: clv/a net/minecraft/client/renderer/block/model/BlockPart$SwitchEnumFacing/field_178234_a +FD: clx/a net/minecraft/client/renderer/block/model/BlockPartFace/field_178246_a +FD: clx/b net/minecraft/client/renderer/block/model/BlockPartFace/field_178244_b +FD: clx/c net/minecraft/client/renderer/block/model/BlockPartFace/field_178245_c +FD: clx/d net/minecraft/client/renderer/block/model/BlockPartFace/field_178242_d +FD: clx/e net/minecraft/client/renderer/block/model/BlockPartFace/field_178243_e +FD: clz/a net/minecraft/client/renderer/block/model/BlockPartRotation/field_178344_a +FD: clz/b net/minecraft/client/renderer/block/model/BlockPartRotation/field_178342_b +FD: clz/c net/minecraft/client/renderer/block/model/BlockPartRotation/field_178343_c +FD: clz/d net/minecraft/client/renderer/block/model/BlockPartRotation/field_178341_d +FD: cma/a net/minecraft/client/renderer/block/model/BlockFaceUV/field_178351_a +FD: cma/b net/minecraft/client/renderer/block/model/BlockFaceUV/field_178350_b +FD: cmc/a net/minecraft/client/renderer/block/model/ModelBlock/field_178319_a +FD: cmc/b net/minecraft/client/renderer/block/model/ModelBlock/field_178317_b +FD: cmc/c net/minecraft/client/renderer/block/model/ModelBlock/field_178318_c +FD: cmc/d net/minecraft/client/renderer/block/model/ModelBlock/field_178315_d +FD: cmc/e net/minecraft/client/renderer/block/model/ModelBlock/field_178316_e +FD: cmc/f net/minecraft/client/renderer/block/model/ModelBlock/field_178313_f +FD: cmc/g net/minecraft/client/renderer/block/model/ModelBlock/field_178314_g +FD: cmc/h net/minecraft/client/renderer/block/model/ModelBlock/field_178321_h +FD: cmc/i net/minecraft/client/renderer/block/model/ModelBlock/field_178322_i +FD: cmc/j net/minecraft/client/renderer/block/model/ModelBlock/field_178320_j +FD: cme/a net/minecraft/client/renderer/block/model/ModelBlock$Bookkeep/field_178324_a +FD: cme/b net/minecraft/client/renderer/block/model/ModelBlock$Bookkeep/field_178323_b +FD: cmh/a net/minecraft/client/renderer/block/model/ModelBlockDefinition/field_178333_a +FD: cmh/b net/minecraft/client/renderer/block/model/ModelBlockDefinition/field_178332_b +FD: cmj/a net/minecraft/client/renderer/block/model/ModelBlockDefinition$MissingVariantException/field_178438_a +FD: cmk/a net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant/field_178437_a +FD: cmk/b net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant/field_178435_b +FD: cmk/c net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant/field_178436_c +FD: cmk/d net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant/field_178434_d +FD: cmm/a net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants/field_178423_a +FD: cmm/b net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants/field_178422_b +FD: cmn/d net/minecraft/client/renderer/block/model/BreakingFour/field_178218_d +FD: cmo/a net/minecraft/client/renderer/block/model/BreakingFour$SwitchEnumFacing/field_178419_a +FD: cmp/a net/minecraft/client/renderer/block/model/FaceBakery/field_178418_a +FD: cmp/b net/minecraft/client/renderer/block/model/FaceBakery/field_178417_b +FD: cmq/a net/minecraft/client/renderer/block/model/FaceBakery$SwitchEnumFacing/field_178400_a +FD: cmq/b net/minecraft/client/renderer/block/model/FaceBakery$SwitchEnumFacing/field_178399_b +FD: cmr/a net/minecraft/client/renderer/block/model/ItemModelGenerator/field_178398_a +FD: cms/a net/minecraft/client/renderer/block/model/ItemModelGenerator$SwitchSpanFacing/field_178390_a +FD: cmt/a net/minecraft/client/renderer/block/model/ItemModelGenerator$Span/field_178389_a +FD: cmt/b net/minecraft/client/renderer/block/model/ItemModelGenerator$Span/field_178387_b +FD: cmt/c net/minecraft/client/renderer/block/model/ItemModelGenerator$Span/field_178388_c +FD: cmt/d net/minecraft/client/renderer/block/model/ItemModelGenerator$Span/field_178386_d +FD: cmu/a net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/UP +FD: cmu/b net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/DOWN +FD: cmu/c net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/LEFT +FD: cmu/d net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/RIGHT +FD: cmu/e net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/field_178376_e +FD: cmu/f net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/field_178373_f +FD: cmu/g net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/field_178374_g +FD: cmu/h net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/$VALUES +FD: cmv/a net/minecraft/client/renderer/block/model/ItemTransformVec3f/field_178366_a +FD: cmv/b net/minecraft/client/renderer/block/model/ItemTransformVec3f/field_178364_b +FD: cmv/c net/minecraft/client/renderer/block/model/ItemTransformVec3f/field_178365_c +FD: cmv/d net/minecraft/client/renderer/block/model/ItemTransformVec3f/field_178363_d +FD: cmw/a net/minecraft/client/renderer/block/model/ItemTransformVec3f$Deserializer/field_178362_a +FD: cmw/b net/minecraft/client/renderer/block/model/ItemTransformVec3f$Deserializer/field_178360_b +FD: cmw/c net/minecraft/client/renderer/block/model/ItemTransformVec3f$Deserializer/field_178361_c +FD: cmx/a net/minecraft/client/renderer/block/model/ItemCameraTransforms/field_178357_a +FD: cmx/b net/minecraft/client/renderer/block/model/ItemCameraTransforms/field_178355_b +FD: cmx/c net/minecraft/client/renderer/block/model/ItemCameraTransforms/field_178356_c +FD: cmx/d net/minecraft/client/renderer/block/model/ItemCameraTransforms/field_178353_d +FD: cmx/e net/minecraft/client/renderer/block/model/ItemCameraTransforms/field_178354_e +FD: cmz/a net/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType/NONE +FD: cmz/b net/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType/THIRD_PERSON +FD: cmz/c net/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType/FIRST_PERSON +FD: cmz/d net/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType/HEAD +FD: cmz/e net/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType/GUI +FD: cmz/f net/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType/$VALUES +FD: cnc/b net/minecraft/client/renderer/block/statemap/StateMapperBase/field_178133_b +FD: cnd/a net/minecraft/client/renderer/block/statemap/BlockStateMapper/field_178450_a +FD: cnd/b net/minecraft/client/renderer/block/statemap/BlockStateMapper/field_178449_b +FD: cnf/a net/minecraft/client/renderer/block/statemap/StateMap/field_178142_a +FD: cnf/c net/minecraft/client/renderer/block/statemap/StateMap/field_178141_c +FD: cnf/d net/minecraft/client/renderer/block/statemap/StateMap/field_178140_d +FD: cnh/a net/minecraft/client/renderer/block/statemap/StateMap$Builder/field_178445_a +FD: cnh/b net/minecraft/client/renderer/block/statemap/StateMap$Builder/field_178443_b +FD: cnh/c net/minecraft/client/renderer/block/statemap/StateMap$Builder/field_178444_c +FD: cnk/c net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer/field_178466_c +FD: cnk/d net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer/field_178464_d +FD: cnk/e net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer/field_178465_e +FD: cnm/a net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$TimedBannerTexture/field_178472_a +FD: cnm/b net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer$TimedBannerTexture/field_178471_b +FD: cnn/c net/minecraft/client/renderer/tileentity/TileEntityBeaconRenderer/field_147523_b +FD: cno/a net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147556_a +FD: cno/b net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147554_b +FD: cno/c net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147555_c +FD: cno/d net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147552_d +FD: cno/e net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147553_e +FD: cno/f net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147550_f +FD: cno/g net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147551_g +FD: cno/h net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147562_h +FD: cno/i net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147563_i +FD: cno/j net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147560_j +FD: cno/k net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147561_k +FD: cno/l net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147558_l +FD: cno/m net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147559_m +FD: cno/n net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/field_147557_n +FD: cnp/a net/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer/field_178460_a +FD: cnp/b net/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer/field_147501_a +FD: cnq/c net/minecraft/client/renderer/tileentity/TileEntityChestRenderer/field_147507_b +FD: cnq/d net/minecraft/client/renderer/tileentity/TileEntityChestRenderer/field_147508_c +FD: cnq/e net/minecraft/client/renderer/tileentity/TileEntityChestRenderer/field_147505_d +FD: cnq/f net/minecraft/client/renderer/tileentity/TileEntityChestRenderer/field_147506_e +FD: cnq/g net/minecraft/client/renderer/tileentity/TileEntityChestRenderer/field_147503_f +FD: cnq/h net/minecraft/client/renderer/tileentity/TileEntityChestRenderer/field_147504_g +FD: cnq/i net/minecraft/client/renderer/tileentity/TileEntityChestRenderer/field_147510_h +FD: cnq/j net/minecraft/client/renderer/tileentity/TileEntityChestRenderer/field_147511_i +FD: cnq/k net/minecraft/client/renderer/tileentity/TileEntityChestRenderer/field_147509_j +FD: cnr/c net/minecraft/client/renderer/tileentity/TileEntityEnchantmentTableRenderer/field_147540_b +FD: cnr/d net/minecraft/client/renderer/tileentity/TileEntityEnchantmentTableRenderer/field_147541_c +FD: cns/c net/minecraft/client/renderer/tileentity/TileEntityEnderChestRenderer/field_147520_b +FD: cns/d net/minecraft/client/renderer/tileentity/TileEntityEnderChestRenderer/field_147521_c +FD: cnu/c net/minecraft/client/renderer/tileentity/TileEntityPistonRenderer/field_178462_c +FD: cnv/c net/minecraft/client/renderer/tileentity/TileEntitySignRenderer/field_147513_b +FD: cnv/d net/minecraft/client/renderer/tileentity/TileEntitySignRenderer/field_147514_c +FD: cnw/c net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer/field_147536_b +FD: cnw/d net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer/field_147537_c +FD: cnw/e net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer/field_147534_d +FD: cnw/f net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer/field_147535_e +FD: cnw/g net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer/field_147532_f +FD: cnw/h net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer/field_178467_h +FD: cnw/i net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer/field_178468_i +FD: cnx/a net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer$SwitchEnumFacing/field_178458_a +FD: cny/c net/minecraft/client/renderer/tileentity/TileEntityEndPortalRenderer/field_147528_b +FD: cny/d net/minecraft/client/renderer/tileentity/TileEntityEndPortalRenderer/field_147529_c +FD: cny/e net/minecraft/client/renderer/tileentity/TileEntityEndPortalRenderer/field_147526_d +FD: cny/f net/minecraft/client/renderer/tileentity/TileEntityEndPortalRenderer/field_147527_e +FD: coa/a net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/field_178553_a +FD: coa/b net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/field_178551_b +FD: coa/c net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/field_178552_c +FD: coa/d net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/field_178549_d +FD: coa/e net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/field_178550_e +FD: coa/f net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/field_178547_f +FD: coa/g net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/field_178548_g +FD: coa/h net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/field_178554_h +FD: cob/a net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status/PENDING +FD: cob/b net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status/COMPILING +FD: cob/c net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status/UPLOADING +FD: cob/d net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status/DONE +FD: cob/e net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status/$VALUES +FD: coc/a net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Type/REBUILD_CHUNK +FD: coc/b net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Type/RESORT_TRANSPARENCY +FD: coc/c net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Type/$VALUES +FD: cod/a net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/field_178523_a +FD: cod/b net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/field_178521_b +FD: cod/c net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/field_178522_c +FD: cod/d net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/field_178519_d +FD: cod/e net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/field_178520_e +FD: cod/f net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/field_178517_f +FD: cod/g net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/field_178518_g +FD: cod/h net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/field_178524_h +FD: cod/i net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/field_178525_i +FD: coe/a net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$1/field_178527_a +FD: coe/b net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$1/field_178526_b +FD: cof/a net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$2/field_178529_a +FD: cof/b net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$2/field_178528_b +FD: cog/a net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$3/field_178534_a +FD: cog/b net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$3/field_178532_b +FD: cog/c net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$3/field_178533_c +FD: cog/d net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$3/field_178530_d +FD: cog/e net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$3/field_178531_e +FD: coh/a net/minecraft/client/renderer/chunk/ChunkRenderWorker/field_152478_a +FD: coh/b net/minecraft/client/renderer/chunk/ChunkRenderWorker/field_178477_b +FD: coh/c net/minecraft/client/renderer/chunk/ChunkRenderWorker/field_178478_c +FD: coi/a net/minecraft/client/renderer/chunk/ChunkRenderWorker$1/field_178480_a +FD: coi/b net/minecraft/client/renderer/chunk/ChunkRenderWorker$1/field_178479_b +FD: coj/a net/minecraft/client/renderer/chunk/ChunkRenderWorker$2/field_178484_a +FD: coj/b net/minecraft/client/renderer/chunk/ChunkRenderWorker$2/field_178482_b +FD: coj/c net/minecraft/client/renderer/chunk/ChunkRenderWorker$2/field_178483_c +FD: cok/a net/minecraft/client/renderer/chunk/CompiledChunk/field_178502_a +FD: cok/b net/minecraft/client/renderer/chunk/CompiledChunk/field_178500_b +FD: cok/c net/minecraft/client/renderer/chunk/CompiledChunk/field_178501_c +FD: cok/d net/minecraft/client/renderer/chunk/CompiledChunk/field_178498_d +FD: cok/e net/minecraft/client/renderer/chunk/CompiledChunk/field_178499_e +FD: cok/f net/minecraft/client/renderer/chunk/CompiledChunk/field_178496_f +FD: cok/g net/minecraft/client/renderer/chunk/CompiledChunk/field_178497_g +FD: coo/d net/minecraft/client/renderer/chunk/ListedRenderChunk/field_178601_d +FD: cop/a net/minecraft/client/renderer/chunk/RenderChunk/field_178592_a +FD: cop/b net/minecraft/client/renderer/chunk/RenderChunk/field_178590_b +FD: cop/c net/minecraft/client/renderer/chunk/RenderChunk/field_178591_c +FD: cop/d net/minecraft/client/renderer/chunk/RenderChunk/field_178588_d +FD: cop/e net/minecraft/client/renderer/chunk/RenderChunk/field_178589_e +FD: cop/f net/minecraft/client/renderer/chunk/RenderChunk/field_178586_f +FD: cop/g net/minecraft/client/renderer/chunk/RenderChunk/field_178587_g +FD: cop/h net/minecraft/client/renderer/chunk/RenderChunk/field_178598_h +FD: cop/i net/minecraft/client/renderer/chunk/RenderChunk/field_178599_i +FD: cop/j net/minecraft/client/renderer/chunk/RenderChunk/field_178596_j +FD: cop/k net/minecraft/client/renderer/chunk/RenderChunk/field_178597_k +FD: cop/l net/minecraft/client/renderer/chunk/RenderChunk/field_178594_l +FD: cop/m net/minecraft/client/renderer/chunk/RenderChunk/field_178595_m +FD: cop/n net/minecraft/client/renderer/chunk/RenderChunk/field_178593_n +FD: cos/a net/minecraft/client/renderer/chunk/VisGraph/field_178616_a +FD: cos/b net/minecraft/client/renderer/chunk/VisGraph/field_178614_b +FD: cos/c net/minecraft/client/renderer/chunk/VisGraph/field_178615_c +FD: cos/d net/minecraft/client/renderer/chunk/VisGraph/field_178612_d +FD: cos/e net/minecraft/client/renderer/chunk/VisGraph/field_178613_e +FD: cos/f net/minecraft/client/renderer/chunk/VisGraph/field_178611_f +FD: cot/a net/minecraft/client/renderer/chunk/VisGraph$SwitchEnumFacing/field_178617_a +FD: cou/a net/minecraft/client/renderer/chunk/SetVisibility/field_178623_a +FD: cou/b net/minecraft/client/renderer/chunk/SetVisibility/field_178622_b +FD: coy/e net/minecraft/client/renderer/culling/ClippingHelperImpl/field_78563_e +FD: coy/f net/minecraft/client/renderer/culling/ClippingHelperImpl/field_78561_f +FD: coy/g net/minecraft/client/renderer/culling/ClippingHelperImpl/field_78562_g +FD: coy/h net/minecraft/client/renderer/culling/ClippingHelperImpl/field_78564_h +FD: coz/a net/minecraft/client/renderer/culling/Frustum/field_78552_a +FD: coz/b net/minecraft/client/renderer/culling/Frustum/field_78550_b +FD: coz/c net/minecraft/client/renderer/culling/Frustum/field_78551_c +FD: coz/d net/minecraft/client/renderer/culling/Frustum/field_78549_d +FD: cpa/a net/minecraft/client/renderer/culling/ClippingHelper/field_78557_a +FD: cpa/b net/minecraft/client/renderer/culling/ClippingHelper/field_178625_b +FD: cpa/c net/minecraft/client/renderer/culling/ClippingHelper/field_178626_c +FD: cpa/d net/minecraft/client/renderer/culling/ClippingHelper/field_78554_d +FD: cpe/a net/minecraft/client/renderer/entity/ArmorStandRenderer/field_177103_a +FD: cpf/a net/minecraft/client/renderer/entity/ArmorStandRenderer$1/field_177196_a +FD: cpg/a net/minecraft/client/renderer/entity/RenderArrow/field_110780_a +FD: cph/a net/minecraft/client/renderer/entity/RenderBat/field_110835_a +FD: cpi/a net/minecraft/client/renderer/entity/RenderBlaze/field_110837_a +FD: cpj/a net/minecraft/client/renderer/entity/RenderBoat/field_76998_a +FD: cpj/e net/minecraft/client/renderer/entity/RenderBoat/field_110782_f +FD: cpk/a net/minecraft/client/renderer/entity/RenderCaveSpider/field_110893_a +FD: cpl/a net/minecraft/client/renderer/entity/RenderChicken/field_110920_a +FD: cpm/a net/minecraft/client/renderer/entity/RenderCow/field_110833_a +FD: cpn/a net/minecraft/client/renderer/entity/RenderCreeper/field_110830_f +FD: cpp/a net/minecraft/client/renderer/tileentity/RenderEnderCrystal/field_110787_a +FD: cpp/e net/minecraft/client/renderer/tileentity/RenderEnderCrystal/field_76995_b +FD: cpq/a net/minecraft/client/renderer/entity/RenderDragon/field_77084_b +FD: cpq/e net/minecraft/client/renderer/entity/RenderDragon/field_110843_g +FD: cpq/j net/minecraft/client/renderer/entity/RenderDragon/field_110842_f +FD: cpq/k net/minecraft/client/renderer/entity/RenderDragon/field_110844_k +FD: cpr/a net/minecraft/client/renderer/entity/RenderEnderman/field_110839_f +FD: cpr/e net/minecraft/client/renderer/entity/RenderEnderman/field_77078_a +FD: cpr/j net/minecraft/client/renderer/entity/RenderEnderman/field_77077_b +FD: cps/a net/minecraft/client/renderer/entity/RenderEndermite/field_177108_a +FD: cpt/a net/minecraft/client/renderer/entity/RenderManager/field_78724_e +FD: cpt/b net/minecraft/client/renderer/entity/RenderManager/field_78722_g +FD: cpt/c net/minecraft/client/renderer/entity/RenderManager/field_78734_h +FD: cpt/d net/minecraft/client/renderer/entity/RenderManager/field_147941_i +FD: cpt/e net/minecraft/client/renderer/entity/RenderManager/field_78735_i +FD: cpt/f net/minecraft/client/renderer/entity/RenderManager/field_78732_j +FD: cpt/g net/minecraft/client/renderer/entity/RenderManager/field_78733_k +FD: cpt/h net/minecraft/client/renderer/entity/RenderManager/field_78730_l +FD: cpt/i net/minecraft/client/renderer/entity/RenderManager/field_78731_m +FD: cpt/j net/minecraft/client/renderer/entity/RenderManager/field_78728_n +FD: cpt/k net/minecraft/client/renderer/entity/RenderManager/field_78729_o +FD: cpt/l net/minecraft/client/renderer/entity/RenderManager/field_178636_l +FD: cpt/m net/minecraft/client/renderer/entity/RenderManager/field_178637_m +FD: cpt/n net/minecraft/client/renderer/entity/RenderManager/field_78736_p +FD: cpt/o net/minecraft/client/renderer/entity/RenderManager/field_78725_b +FD: cpt/p net/minecraft/client/renderer/entity/RenderManager/field_78726_c +FD: cpt/q net/minecraft/client/renderer/entity/RenderManager/field_78723_d +FD: cpt/r net/minecraft/client/renderer/entity/RenderManager/field_178639_r +FD: cpt/s net/minecraft/client/renderer/entity/RenderManager/field_178638_s +FD: cpt/t net/minecraft/client/renderer/entity/RenderManager/field_85095_o +FD: cpu/a net/minecraft/client/renderer/entity/Render/field_110778_a +FD: cpu/b net/minecraft/client/renderer/entity/Render/field_76990_c +FD: cpu/c net/minecraft/client/renderer/entity/Render/field_76989_e +FD: cpu/d net/minecraft/client/renderer/entity/Render/field_76987_f +FD: cpv/a net/minecraft/client/renderer/entity/RenderXPOrb/field_110785_a +FD: cpx/a net/minecraft/client/renderer/entity/RenderFireball/field_77002_a +FD: cpy/a net/minecraft/client/renderer/entity/RenderFish/field_110792_a +FD: cpz/a net/minecraft/client/renderer/entity/RenderGhast/field_110869_a +FD: cpz/e net/minecraft/client/renderer/entity/RenderGhast/field_110868_f +FD: cqa/a net/minecraft/client/renderer/entity/RenderGiantZombie/field_110871_a +FD: cqa/e net/minecraft/client/renderer/entity/RenderGiantZombie/field_77073_a +FD: cqb/a net/minecraft/client/renderer/entity/RenderGiantZombie$1/field_177197_a +FD: cqc/a net/minecraft/client/renderer/entity/RenderGuardian/field_177115_a +FD: cqc/e net/minecraft/client/renderer/entity/RenderGuardian/field_177114_e +FD: cqc/j net/minecraft/client/renderer/entity/RenderGuardian/field_177116_j +FD: cqc/k net/minecraft/client/renderer/entity/RenderGuardian/field_177117_k +FD: cqd/a net/minecraft/client/renderer/entity/RenderHorse/field_110852_a +FD: cqd/e net/minecraft/client/renderer/entity/RenderHorse/field_110850_f +FD: cqd/j net/minecraft/client/renderer/entity/RenderHorse/field_110851_g +FD: cqd/k net/minecraft/client/renderer/entity/RenderHorse/field_110855_h +FD: cqd/l net/minecraft/client/renderer/entity/RenderHorse/field_110854_k +FD: cqd/m net/minecraft/client/renderer/entity/RenderHorse/field_110853_l +FD: cqe/a net/minecraft/client/renderer/entity/RenderBiped/field_77071_a +FD: cqe/e net/minecraft/client/renderer/entity/RenderBiped/field_77070_b +FD: cqe/j net/minecraft/client/renderer/entity/RenderBiped/field_177118_j +FD: cqf/a net/minecraft/client/renderer/entity/RenderEntityItem/field_177080_a +FD: cqf/e net/minecraft/client/renderer/entity/RenderEntityItem/field_177079_e +FD: cqg/a net/minecraft/client/renderer/tileentity/RenderItemFrame/field_110789_a +FD: cqg/e net/minecraft/client/renderer/tileentity/RenderItemFrame/field_147917_g +FD: cqg/f net/minecraft/client/renderer/tileentity/RenderItemFrame/field_177072_f +FD: cqg/g net/minecraft/client/renderer/tileentity/RenderItemFrame/field_177073_g +FD: cqg/h net/minecraft/client/renderer/tileentity/RenderItemFrame/field_177074_h +FD: cqh/a net/minecraft/client/renderer/entity/RenderItem/field_77023_b +FD: cqh/b net/minecraft/client/renderer/entity/RenderItem/field_175055_b +FD: cqh/c net/minecraft/client/renderer/entity/RenderItem/field_175056_c +FD: cqh/d net/minecraft/client/renderer/entity/RenderItem/field_175053_d +FD: cqh/e net/minecraft/client/renderer/entity/RenderItem/field_175054_e +FD: cqh/f net/minecraft/client/renderer/entity/RenderItem/field_175051_f +FD: cqh/g net/minecraft/client/renderer/entity/RenderItem/field_175052_g +FD: cqh/h net/minecraft/client/renderer/entity/RenderItem/field_175061_h +FD: cqh/i net/minecraft/client/renderer/entity/RenderItem/field_175062_i +FD: cqh/j net/minecraft/client/renderer/entity/RenderItem/field_175060_j +FD: cqh/k net/minecraft/client/renderer/entity/RenderItem/field_110798_h +FD: cqh/l net/minecraft/client/renderer/entity/RenderItem/field_175058_l +FD: cqh/m net/minecraft/client/renderer/entity/RenderItem/field_175059_m +FD: cqh/n net/minecraft/client/renderer/entity/RenderItem/field_175057_n +FD: cqi/a net/minecraft/client/renderer/entity/RenderItem$1/field_147929_a +FD: cqi/b net/minecraft/client/renderer/entity/RenderItem$1/field_147928_b +FD: cqj/a net/minecraft/client/renderer/entity/RenderItem$SwitchTransformType/field_178640_a +FD: cqk/a net/minecraft/client/renderer/entity/RenderItem$2/field_147926_a +FD: cqk/b net/minecraft/client/renderer/entity/RenderItem$2/field_147925_b +FD: cql/a net/minecraft/client/renderer/entity/RenderItem$3/field_147935_a +FD: cql/b net/minecraft/client/renderer/entity/RenderItem$3/field_147934_b +FD: cqm/a net/minecraft/client/renderer/entity/RenderItem$4/field_147932_a +FD: cqm/b net/minecraft/client/renderer/entity/RenderItem$4/field_147931_b +FD: cqn/a net/minecraft/client/renderer/entity/RenderItem$5/field_178117_a +FD: cqo/a net/minecraft/client/renderer/entity/RenderItem$6/field_178118_a +FD: cqp/a net/minecraft/client/renderer/entity/RenderItem$7/field_178115_a +FD: cqq/a net/minecraft/client/renderer/entity/RenderItem$8/field_178116_a +FD: cqr/a net/minecraft/client/renderer/entity/RenderItem$9/field_178114_a +FD: cqs/a net/minecraft/client/renderer/entity/RenderMagmaCube/field_110873_a +FD: cqt/a net/minecraft/client/renderer/entity/RenderLeashKnot/field_110802_a +FD: cqt/e net/minecraft/client/renderer/entity/RenderLeashKnot/field_110801_f +FD: cqv/a net/minecraft/client/renderer/entity/RendererLivingEntity/field_147923_a +FD: cqv/e net/minecraft/client/renderer/entity/RendererLivingEntity/field_177096_e +FD: cqv/f net/minecraft/client/renderer/entity/RendererLivingEntity/field_77045_g +FD: cqv/g net/minecraft/client/renderer/entity/RendererLivingEntity/field_177095_g +FD: cqv/h net/minecraft/client/renderer/entity/RendererLivingEntity/field_177097_h +FD: cqv/i net/minecraft/client/renderer/entity/RendererLivingEntity/field_177098_i +FD: cqw/a net/minecraft/client/renderer/entity/RendererLivingEntity$SwitchEnumVisible/field_178679_a +FD: cqx/a net/minecraft/client/renderer/entity/RenderMinecart/field_77013_a +FD: cqx/e net/minecraft/client/renderer/entity/RenderMinecart/field_110804_g +FD: cra/a net/minecraft/client/renderer/entity/RenderMooshroom/field_110880_a +FD: crb/a net/minecraft/client/renderer/entity/RenderOcelot/field_110877_a +FD: crb/e net/minecraft/client/renderer/entity/RenderOcelot/field_110875_f +FD: crb/j net/minecraft/client/renderer/entity/RenderOcelot/field_110876_g +FD: crb/k net/minecraft/client/renderer/entity/RenderOcelot/field_110878_h +FD: crc/a net/minecraft/client/renderer/entity/RenderPainting/field_110807_a +FD: crd/a net/minecraft/client/renderer/entity/RenderPig/field_110887_f +FD: cre/j net/minecraft/client/renderer/entity/RenderPigZombie/field_177120_j +FD: crf/a net/minecraft/client/renderer/entity/RenderPigZombie$1/field_177198_a +FD: crg/a net/minecraft/client/renderer/entity/RenderRabbit/field_177127_a +FD: crg/e net/minecraft/client/renderer/entity/RenderRabbit/field_177126_e +FD: crg/j net/minecraft/client/renderer/entity/RenderRabbit/field_177132_j +FD: crg/k net/minecraft/client/renderer/entity/RenderRabbit/field_177133_k +FD: crg/l net/minecraft/client/renderer/entity/RenderRabbit/field_177130_l +FD: crg/m net/minecraft/client/renderer/entity/RenderRabbit/field_177131_m +FD: crg/n net/minecraft/client/renderer/entity/RenderRabbit/field_177128_n +FD: crg/o net/minecraft/client/renderer/entity/RenderRabbit/field_177129_o +FD: crh/a net/minecraft/client/renderer/entity/RenderSheep/field_110884_f +FD: cri/a net/minecraft/client/renderer/entity/RenderSilverfish/field_110882_a +FD: crj/j net/minecraft/client/renderer/entity/RenderSkeleton/field_110862_k +FD: crj/k net/minecraft/client/renderer/entity/RenderSkeleton/field_110861_l +FD: crk/a net/minecraft/client/renderer/entity/RenderSkeleton$1/field_177199_a +FD: crl/a net/minecraft/client/renderer/entity/RenderSlime/field_110897_a +FD: crm/a net/minecraft/client/renderer/entity/RenderSnowMan/field_110895_a +FD: crn/a net/minecraft/client/renderer/entity/RenderSpider/field_110890_f +FD: cro/a net/minecraft/client/renderer/entity/RenderSquid/field_110901_a +FD: crp/a net/minecraft/client/renderer/entity/RenderSnowball/field_177084_a +FD: crp/e net/minecraft/client/renderer/entity/RenderSnowball/field_177083_e +FD: crt/a net/minecraft/client/renderer/entity/RenderIronGolem/field_110899_a +FD: cru/a net/minecraft/client/renderer/entity/RenderVillager/field_110903_f +FD: cru/e net/minecraft/client/renderer/entity/RenderVillager/field_110904_g +FD: cru/j net/minecraft/client/renderer/entity/RenderVillager/field_110908_h +FD: cru/k net/minecraft/client/renderer/entity/RenderVillager/field_110907_k +FD: cru/l net/minecraft/client/renderer/entity/RenderVillager/field_110905_l +FD: cru/m net/minecraft/client/renderer/entity/RenderVillager/field_110906_m +FD: crv/a net/minecraft/client/renderer/entity/RenderWitch/field_110910_a +FD: crw/a net/minecraft/client/renderer/entity/RenderWither/field_110913_a +FD: crw/e net/minecraft/client/renderer/entity/RenderWither/field_110912_f +FD: crx/a net/minecraft/client/renderer/tileentity/RenderWitherSkull/field_110811_a +FD: crx/e net/minecraft/client/renderer/tileentity/RenderWitherSkull/field_110810_f +FD: crx/f net/minecraft/client/renderer/tileentity/RenderWitherSkull/field_82401_a +FD: cry/a net/minecraft/client/renderer/entity/RenderWolf/field_110917_a +FD: cry/e net/minecraft/client/renderer/entity/RenderWolf/field_110915_f +FD: cry/j net/minecraft/client/renderer/entity/RenderWolf/field_110916_g +FD: crz/j net/minecraft/client/renderer/entity/RenderZombie/field_110865_p +FD: crz/k net/minecraft/client/renderer/entity/RenderZombie/field_110864_q +FD: crz/l net/minecraft/client/renderer/entity/RenderZombie/field_82434_o +FD: crz/m net/minecraft/client/renderer/entity/RenderZombie/field_82432_p +FD: crz/n net/minecraft/client/renderer/entity/RenderZombie/field_177121_n +FD: crz/o net/minecraft/client/renderer/entity/RenderZombie/field_177122_o +FD: cs/a net/minecraft/command/CommandSpreadPlayers$Position/field_111101_a +FD: cs/b net/minecraft/command/CommandSpreadPlayers$Position/field_111100_b +FD: csa/a net/minecraft/client/renderer/entity/RenderZombie$1/field_177200_a +FD: csb/a net/minecraft/client/renderer/entity/layers/LayerArmorBase/field_177190_a +FD: csb/b net/minecraft/client/renderer/entity/layers/LayerArmorBase/field_177188_b +FD: csb/c net/minecraft/client/renderer/entity/layers/LayerArmorBase/field_177189_c +FD: csb/d net/minecraft/client/renderer/entity/layers/LayerArmorBase/field_177186_d +FD: csb/e net/minecraft/client/renderer/entity/layers/LayerArmorBase/field_177187_e +FD: csb/f net/minecraft/client/renderer/entity/layers/LayerArmorBase/field_177184_f +FD: csb/g net/minecraft/client/renderer/entity/layers/LayerArmorBase/field_177185_g +FD: csb/h net/minecraft/client/renderer/entity/layers/LayerArmorBase/field_177192_h +FD: csb/i net/minecraft/client/renderer/entity/layers/LayerArmorBase/field_177193_i +FD: csb/j net/minecraft/client/renderer/entity/layers/LayerArmorBase/field_177191_j +FD: csc/a net/minecraft/client/renderer/entity/layers/LayerArmorBase$SwitchArmorMaterial/field_178747_a +FD: csd/a net/minecraft/client/renderer/entity/layers/LayerArrow/field_177168_a +FD: cse/a net/minecraft/client/renderer/entity/layers/LayerCape/field_177167_a +FD: csf/a net/minecraft/client/renderer/entity/layers/LayerHeldBlock/field_177174_a +FD: csg/a net/minecraft/client/renderer/entity/layers/LayerCreeperCharge/field_177172_a +FD: csg/b net/minecraft/client/renderer/entity/layers/LayerCreeperCharge/field_177170_b +FD: csg/c net/minecraft/client/renderer/entity/layers/LayerCreeperCharge/field_177171_c +FD: csh/a net/minecraft/client/renderer/entity/layers/LayerCustomHead/field_177209_a +FD: csi/a net/minecraft/client/renderer/entity/layers/LayerDeadmau5Head/field_177208_a +FD: csk/a net/minecraft/client/renderer/entity/layers/LayerEnderDragonEyes/field_177212_a +FD: csk/b net/minecraft/client/renderer/entity/layers/LayerEnderDragonEyes/field_177211_b +FD: csl/a net/minecraft/client/renderer/entity/layers/LayerEndermanEyes/field_177203_a +FD: csl/b net/minecraft/client/renderer/entity/layers/LayerEndermanEyes/field_177202_b +FD: csn/a net/minecraft/client/renderer/entity/layers/LayerHeldItem/field_177206_a +FD: cso/a net/minecraft/client/renderer/entity/layers/LayerMooshroomMushroom/field_177205_a +FD: csp/a net/minecraft/client/renderer/entity/layers/LayerSaddle/field_177158_a +FD: csp/b net/minecraft/client/renderer/entity/layers/LayerSaddle/field_177156_b +FD: csp/c net/minecraft/client/renderer/entity/layers/LayerSaddle/field_177157_c +FD: csr/a net/minecraft/client/renderer/entity/layers/LayerSheepWool/field_177165_a +FD: csr/b net/minecraft/client/renderer/entity/layers/LayerSheepWool/field_177163_b +FD: csr/c net/minecraft/client/renderer/entity/layers/LayerSheepWool/field_177164_c +FD: css/a net/minecraft/client/renderer/entity/layers/LayerSlimeGel/field_177161_a +FD: css/b net/minecraft/client/renderer/entity/layers/LayerSlimeGel/field_177160_b +FD: cst/a net/minecraft/client/renderer/entity/layers/LayerSnowmanHead/field_177152_a +FD: csu/a net/minecraft/client/renderer/entity/layers/LayerSpiderEyes/field_177150_a +FD: csu/b net/minecraft/client/renderer/entity/layers/LayerSpiderEyes/field_177149_b +FD: csw/a net/minecraft/client/renderer/entity/layers/LayerIronGolemFlower/field_177154_a +FD: csx/a net/minecraft/client/renderer/entity/layers/LayerHeldItemWitch/field_177144_a +FD: csy/a net/minecraft/client/renderer/entity/layers/LayerWitherAura/field_177217_a +FD: csy/b net/minecraft/client/renderer/entity/layers/LayerWitherAura/field_177215_b +FD: csy/c net/minecraft/client/renderer/entity/layers/LayerWitherAura/field_177216_c +FD: csz/a net/minecraft/client/renderer/entity/layers/LayerWolfCollar/field_177147_a +FD: csz/b net/minecraft/client/renderer/entity/layers/LayerWolfCollar/field_177146_b +FD: ctc/a net/minecraft/client/renderer/entity/RenderPlayer/field_177140_a +FD: ctd/a net/minecraft/client/util/JsonBlendingMode/field_148118_a +FD: ctd/b net/minecraft/client/util/JsonBlendingMode/field_148116_b +FD: ctd/c net/minecraft/client/util/JsonBlendingMode/field_148117_c +FD: ctd/d net/minecraft/client/util/JsonBlendingMode/field_148114_d +FD: ctd/e net/minecraft/client/util/JsonBlendingMode/field_148115_e +FD: ctd/f net/minecraft/client/util/JsonBlendingMode/field_148112_f +FD: ctd/g net/minecraft/client/util/JsonBlendingMode/field_148113_g +FD: ctd/h net/minecraft/client/util/JsonBlendingMode/field_148119_h +FD: ctf/a net/minecraft/client/shader/ShaderManager/field_148003_a +FD: ctf/b net/minecraft/client/shader/ShaderManager/field_148001_b +FD: ctf/c net/minecraft/client/shader/ShaderManager/field_148002_c +FD: ctf/d net/minecraft/client/shader/ShaderManager/field_147999_d +FD: ctf/e net/minecraft/client/shader/ShaderManager/field_148000_e +FD: ctf/f net/minecraft/client/shader/ShaderManager/field_147997_f +FD: ctf/g net/minecraft/client/shader/ShaderManager/field_147998_g +FD: ctf/h net/minecraft/client/shader/ShaderManager/field_148010_h +FD: ctf/i net/minecraft/client/shader/ShaderManager/field_148011_i +FD: ctf/j net/minecraft/client/shader/ShaderManager/field_148008_j +FD: ctf/k net/minecraft/client/shader/ShaderManager/field_148009_k +FD: ctf/l net/minecraft/client/shader/ShaderManager/field_148006_l +FD: ctf/m net/minecraft/client/shader/ShaderManager/field_148007_m +FD: ctf/n net/minecraft/client/shader/ShaderManager/field_148004_n +FD: ctf/o net/minecraft/client/shader/ShaderManager/field_148005_o +FD: ctf/p net/minecraft/client/shader/ShaderManager/field_148016_p +FD: ctf/q net/minecraft/client/shader/ShaderManager/field_148015_q +FD: ctf/r net/minecraft/client/shader/ShaderManager/field_148014_r +FD: ctf/s net/minecraft/client/shader/ShaderManager/field_148013_s +FD: ctf/t net/minecraft/client/shader/ShaderManager/field_148012_t +FD: ctg/a net/minecraft/client/shader/ShaderGroup/field_148035_a +FD: ctg/b net/minecraft/client/shader/ShaderGroup/field_148033_b +FD: ctg/c net/minecraft/client/shader/ShaderGroup/field_148034_c +FD: ctg/d net/minecraft/client/shader/ShaderGroup/field_148031_d +FD: ctg/e net/minecraft/client/shader/ShaderGroup/field_148032_e +FD: ctg/f net/minecraft/client/shader/ShaderGroup/field_148029_f +FD: ctg/g net/minecraft/client/shader/ShaderGroup/field_148030_g +FD: ctg/h net/minecraft/client/shader/ShaderGroup/field_148038_h +FD: ctg/i net/minecraft/client/shader/ShaderGroup/field_148039_i +FD: ctg/j net/minecraft/client/shader/ShaderGroup/field_148036_j +FD: ctg/k net/minecraft/client/shader/ShaderGroup/field_148037_k +FD: cth/a net/minecraft/client/shader/Shader/field_148052_a +FD: cth/b net/minecraft/client/shader/Shader/field_148050_b +FD: cth/c net/minecraft/client/shader/Shader/field_148051_c +FD: cth/d net/minecraft/client/shader/Shader/field_148048_d +FD: cth/e net/minecraft/client/shader/Shader/field_148049_e +FD: cth/f net/minecraft/client/shader/Shader/field_148046_f +FD: cth/g net/minecraft/client/shader/Shader/field_148047_g +FD: cth/h net/minecraft/client/shader/Shader/field_148053_h +FD: cti/a net/minecraft/client/shader/ShaderLoader/field_148061_a +FD: cti/b net/minecraft/client/shader/ShaderLoader/field_148059_b +FD: cti/c net/minecraft/client/shader/ShaderLoader/field_148060_c +FD: cti/d net/minecraft/client/shader/ShaderLoader/field_148058_d +FD: ctj/a net/minecraft/client/shader/ShaderLoader$ShaderType/VERTEX +FD: ctj/b net/minecraft/client/shader/ShaderLoader$ShaderType/FRAGMENT +FD: ctj/c net/minecraft/client/shader/ShaderLoader$ShaderType/field_148072_c +FD: ctj/d net/minecraft/client/shader/ShaderLoader$ShaderType/field_148069_d +FD: ctj/e net/minecraft/client/shader/ShaderLoader$ShaderType/field_148070_e +FD: ctj/f net/minecraft/client/shader/ShaderLoader$ShaderType/field_148067_f +FD: ctj/g net/minecraft/client/shader/ShaderLoader$ShaderType/$VALUES +FD: ctk/a net/minecraft/client/shader/ShaderLinkHelper/field_148080_a +FD: ctk/b net/minecraft/client/shader/ShaderLinkHelper/field_148079_b +FD: ctl/a net/minecraft/client/shader/ShaderUniform/field_148104_a +FD: ctl/b net/minecraft/client/shader/ShaderUniform/field_148102_b +FD: ctl/c net/minecraft/client/shader/ShaderUniform/field_148103_c +FD: ctl/d net/minecraft/client/shader/ShaderUniform/field_148100_d +FD: ctl/e net/minecraft/client/shader/ShaderUniform/field_148101_e +FD: ctl/f net/minecraft/client/shader/ShaderUniform/field_148098_f +FD: ctl/g net/minecraft/client/shader/ShaderUniform/field_148099_g +FD: ctl/h net/minecraft/client/shader/ShaderUniform/field_148105_h +FD: ctl/i net/minecraft/client/shader/ShaderUniform/field_148106_i +FD: cto/a net/minecraft/client/renderer/texture/AbstractTexture/field_110553_a +FD: cto/b net/minecraft/client/renderer/texture/AbstractTexture/field_174940_b +FD: cto/c net/minecraft/client/renderer/texture/AbstractTexture/field_174941_c +FD: cto/d net/minecraft/client/renderer/texture/AbstractTexture/field_174938_d +FD: cto/e net/minecraft/client/renderer/texture/AbstractTexture/field_174939_e +FD: ctp/f net/minecraft/client/renderer/texture/DynamicTexture/field_110566_b +FD: ctp/g net/minecraft/client/renderer/texture/DynamicTexture/field_94233_j +FD: ctp/h net/minecraft/client/renderer/texture/DynamicTexture/field_94234_k +FD: ctq/g net/minecraft/client/renderer/ThreadDownloadImageData/field_147644_c +FD: ctq/h net/minecraft/client/renderer/ThreadDownloadImageData/field_147643_d +FD: ctq/i net/minecraft/client/renderer/ThreadDownloadImageData/field_152434_e +FD: ctq/j net/minecraft/client/renderer/ThreadDownloadImageData/field_110562_b +FD: ctq/k net/minecraft/client/renderer/ThreadDownloadImageData/field_110563_c +FD: ctq/l net/minecraft/client/renderer/ThreadDownloadImageData/field_110560_d +FD: ctq/m net/minecraft/client/renderer/ThreadDownloadImageData/field_110561_e +FD: ctq/n net/minecraft/client/renderer/ThreadDownloadImageData/field_110559_g +FD: ctr/a net/minecraft/client/renderer/ThreadDownloadImageData$1/field_110932_a +FD: ctt/f net/minecraft/client/renderer/texture/LayeredColorMaskTexture/field_174947_f +FD: ctt/g net/minecraft/client/renderer/texture/LayeredColorMaskTexture/field_174948_g +FD: ctt/h net/minecraft/client/renderer/texture/LayeredColorMaskTexture/field_174949_h +FD: ctt/i net/minecraft/client/renderer/texture/LayeredColorMaskTexture/field_174950_i +FD: ctu/f net/minecraft/client/renderer/texture/LayeredTexture/field_110567_b +FD: ctu/g net/minecraft/client/renderer/texture/LayeredTexture/field_147638_c +FD: ctv/f net/minecraft/client/renderer/texture/SimpleTexture/field_110568_b +FD: ctv/g net/minecraft/client/renderer/texture/SimpleTexture/field_147639_c +FD: ctw/a net/minecraft/client/renderer/texture/Stitcher/field_147971_a +FD: ctw/b net/minecraft/client/renderer/texture/Stitcher/field_94319_a +FD: ctw/c net/minecraft/client/renderer/texture/Stitcher/field_94317_b +FD: ctw/d net/minecraft/client/renderer/texture/Stitcher/field_94318_c +FD: ctw/e net/minecraft/client/renderer/texture/Stitcher/field_94315_d +FD: ctw/f net/minecraft/client/renderer/texture/Stitcher/field_94316_e +FD: ctw/g net/minecraft/client/renderer/texture/Stitcher/field_94313_f +FD: ctw/h net/minecraft/client/renderer/texture/Stitcher/field_94314_g +FD: ctw/i net/minecraft/client/renderer/texture/Stitcher/field_94323_h +FD: ctx/a net/minecraft/client/renderer/texture/Stitcher$Holder/field_98151_a +FD: ctx/b net/minecraft/client/renderer/texture/Stitcher$Holder/field_94204_c +FD: ctx/c net/minecraft/client/renderer/texture/Stitcher$Holder/field_94201_d +FD: ctx/d net/minecraft/client/renderer/texture/Stitcher$Holder/field_147968_d +FD: ctx/e net/minecraft/client/renderer/texture/Stitcher$Holder/field_94202_e +FD: ctx/f net/minecraft/client/renderer/texture/Stitcher$Holder/field_94205_a +FD: cty/a net/minecraft/client/renderer/texture/Stitcher$Slot/field_94192_a +FD: cty/b net/minecraft/client/renderer/texture/Stitcher$Slot/field_94190_b +FD: cty/c net/minecraft/client/renderer/texture/Stitcher$Slot/field_94191_c +FD: cty/d net/minecraft/client/renderer/texture/Stitcher$Slot/field_94188_d +FD: cty/e net/minecraft/client/renderer/texture/Stitcher$Slot/field_94189_e +FD: cty/f net/minecraft/client/renderer/texture/Stitcher$Slot/field_94187_f +FD: ctz/a net/minecraft/client/renderer/StitcherException/field_98149_a +FD: cua/f net/minecraft/client/renderer/texture/TextureMap/field_174945_f +FD: cua/g net/minecraft/client/renderer/texture/TextureMap/field_110575_b +FD: cua/h net/minecraft/client/renderer/texture/TextureMap/field_147635_d +FD: cua/i net/minecraft/client/renderer/texture/TextureMap/field_94258_i +FD: cua/j net/minecraft/client/renderer/texture/TextureMap/field_110574_e +FD: cua/k net/minecraft/client/renderer/texture/TextureMap/field_94252_e +FD: cua/l net/minecraft/client/renderer/texture/TextureMap/field_94254_c +FD: cua/m net/minecraft/client/renderer/texture/TextureMap/field_174946_m +FD: cua/n net/minecraft/client/renderer/texture/TextureMap/field_147636_j +FD: cua/o net/minecraft/client/renderer/texture/TextureMap/field_94249_f +FD: cub/a net/minecraft/client/renderer/texture/TextureMap$1/field_147980_a +FD: cub/b net/minecraft/client/renderer/texture/TextureMap$1/field_147979_b +FD: cuc/a net/minecraft/client/renderer/texture/TextureMap$2/field_147977_a +FD: cuc/b net/minecraft/client/renderer/texture/TextureMap$2/field_147976_b +FD: cud/a net/minecraft/client/renderer/texture/TextureMap$3/field_147974_a +FD: cud/b net/minecraft/client/renderer/texture/TextureMap$3/field_147973_b +FD: cue/a net/minecraft/client/renderer/texture/TextureAtlasSprite/field_110976_a +FD: cue/b net/minecraft/client/renderer/texture/TextureAtlasSprite/field_176605_b +FD: cue/c net/minecraft/client/renderer/texture/TextureAtlasSprite/field_130222_e +FD: cue/d net/minecraft/client/renderer/texture/TextureAtlasSprite/field_110975_c +FD: cue/e net/minecraft/client/renderer/texture/TextureAtlasSprite/field_110974_d +FD: cue/f net/minecraft/client/renderer/texture/TextureAtlasSprite/field_130223_c +FD: cue/g net/minecraft/client/renderer/texture/TextureAtlasSprite/field_130224_d +FD: cue/h net/minecraft/client/renderer/texture/TextureAtlasSprite/field_110973_g +FD: cue/i net/minecraft/client/renderer/texture/TextureAtlasSprite/field_110983_h +FD: cue/j net/minecraft/client/renderer/texture/TextureAtlasSprite/field_110984_i +FD: cue/k net/minecraft/client/renderer/texture/TextureAtlasSprite/field_110982_k +FD: cue/l net/minecraft/client/renderer/texture/TextureAtlasSprite/field_110979_l +FD: cue/m net/minecraft/client/renderer/texture/TextureAtlasSprite/field_110980_m +FD: cue/n net/minecraft/client/renderer/texture/TextureAtlasSprite/field_110977_n +FD: cue/o net/minecraft/client/renderer/texture/TextureAtlasSprite/field_110978_o +FD: cue/p net/minecraft/client/renderer/texture/TextureAtlasSprite/field_176607_p +FD: cue/q net/minecraft/client/renderer/texture/TextureAtlasSprite/field_176606_q +FD: cuf/a net/minecraft/client/renderer/texture/TextureAtlasSprite$1/field_147983_a +FD: cuf/b net/minecraft/client/renderer/texture/TextureAtlasSprite$1/field_147982_b +FD: cug/a net/minecraft/client/renderer/texture/TextureManager/field_147646_a +FD: cug/b net/minecraft/client/renderer/texture/TextureManager/field_110585_a +FD: cug/c net/minecraft/client/renderer/texture/TextureManager/field_110583_b +FD: cug/d net/minecraft/client/renderer/texture/TextureManager/field_110584_c +FD: cug/e net/minecraft/client/renderer/texture/TextureManager/field_110582_d +FD: cuh/a net/minecraft/client/renderer/texture/TextureManager$1/field_135062_a +FD: cuh/b net/minecraft/client/renderer/texture/TextureManager$1/field_135061_b +FD: cuj/a net/minecraft/client/renderer/texture/TextureUtil/field_111001_a +FD: cuj/b net/minecraft/client/renderer/texture/TextureUtil/field_110999_b +FD: cuj/c net/minecraft/client/renderer/texture/TextureUtil/field_147959_c +FD: cuj/d net/minecraft/client/renderer/texture/TextureUtil/field_111000_c +FD: cuj/e net/minecraft/client/renderer/texture/TextureUtil/field_147957_g +FD: cum/j net/minecraft/client/renderer/texture/TextureClock/field_94239_h +FD: cum/k net/minecraft/client/renderer/texture/TextureClock/field_94240_i +FD: cun/j net/minecraft/client/renderer/texture/TextureCompass/field_94244_i +FD: cun/k net/minecraft/client/renderer/texture/TextureCompass/field_94242_j +FD: cun/l net/minecraft/client/renderer/texture/TextureCompass/field_176608_l +FD: cuq/a net/minecraft/client/renderer/vertex/DefaultVertexFormats/field_176600_a +FD: cuq/b net/minecraft/client/renderer/vertex/DefaultVertexFormats/field_176599_b +FD: cur/a net/minecraft/client/renderer/vertex/VertexBuffer/field_177365_a +FD: cur/b net/minecraft/client/renderer/vertex/VertexBuffer/field_177363_b +FD: cur/c net/minecraft/client/renderer/vertex/VertexBuffer/field_177364_c +FD: cus/a net/minecraft/client/renderer/vertex/VertexFormat/field_177357_a +FD: cus/b net/minecraft/client/renderer/vertex/VertexFormat/field_177355_b +FD: cus/c net/minecraft/client/renderer/vertex/VertexFormat/field_177356_c +FD: cus/d net/minecraft/client/renderer/vertex/VertexFormat/field_177353_d +FD: cus/e net/minecraft/client/renderer/vertex/VertexFormat/field_177354_e +FD: cus/f net/minecraft/client/renderer/vertex/VertexFormat/field_177351_f +FD: cus/g net/minecraft/client/renderer/vertex/VertexFormat/field_177352_g +FD: cut/a net/minecraft/client/renderer/vertex/VertexFormat$SwitchEnumUsage/field_177382_a +FD: cuu/a net/minecraft/client/renderer/vertex/VertexFormatElement/field_177381_a +FD: cuu/b net/minecraft/client/renderer/vertex/VertexFormatElement/field_177379_b +FD: cuu/c net/minecraft/client/renderer/vertex/VertexFormatElement/field_177380_c +FD: cuu/d net/minecraft/client/renderer/vertex/VertexFormatElement/field_177377_d +FD: cuu/e net/minecraft/client/renderer/vertex/VertexFormatElement/field_177378_e +FD: cuu/f net/minecraft/client/renderer/vertex/VertexFormatElement/field_177376_f +FD: cuv/a net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/FLOAT +FD: cuv/b net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/UBYTE +FD: cuv/c net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/BYTE +FD: cuv/d net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/USHORT +FD: cuv/e net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/SHORT +FD: cuv/f net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/UINT +FD: cuv/g net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/INT +FD: cuv/h net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/field_177407_h +FD: cuv/i net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/field_177408_i +FD: cuv/j net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/field_177405_j +FD: cuv/k net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/$VALUES +FD: cuw/a net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage/POSITION +FD: cuw/b net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage/NORMAL +FD: cuw/c net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage/COLOR +FD: cuw/d net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage/UV +FD: cuw/e net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage/MATRIX +FD: cuw/f net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage/BLEND_WEIGHT +FD: cuw/g net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage/PADDING +FD: cuw/h net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage/field_177392_h +FD: cuw/i net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage/$VALUES +FD: cuy/a net/minecraft/client/resources/AbstractResourcePack/field_110597_b +FD: cuy/b net/minecraft/client/resources/AbstractResourcePack/field_110598_a +FD: cuz/a net/minecraft/client/resources/ResourceIndex/field_152783_a +FD: cuz/b net/minecraft/client/resources/ResourceIndex/field_152784_b +FD: cva/a net/minecraft/client/resources/DefaultPlayerSkin/field_177337_a +FD: cva/b net/minecraft/client/resources/DefaultPlayerSkin/field_177336_b +FD: cvb/a net/minecraft/client/resources/DefaultResourcePack/field_110608_a +FD: cvb/b net/minecraft/client/resources/DefaultResourcePack/field_152781_b +FD: cvc/a net/minecraft/client/resources/FallbackResourceManager/field_110540_a +FD: cvc/b net/minecraft/client/resources/FallbackResourceManager/field_177246_b +FD: cvc/c net/minecraft/client/resources/FallbackResourceManager/field_110539_b +FD: cvd/a net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger/field_177330_a +FD: cvd/b net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger/field_177328_b +FD: cvd/c net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger/field_177329_c +FD: cve/b net/minecraft/client/resources/FileResourcePack/field_110601_c +FD: cve/c net/minecraft/client/resources/FileResourcePack/field_110600_d +FD: cvg/a net/minecraft/client/resources/FoliageColorReloadListener/field_130079_a +FD: cvh/a net/minecraft/client/resources/GrassColorReloadListener/field_130078_a +FD: cvo/a net/minecraft/client/resources/ResourcePackRepository/field_110620_b +FD: cvo/b net/minecraft/client/resources/ResourcePackRepository/field_110621_c +FD: cvo/c net/minecraft/client/resources/ResourcePackRepository/field_177320_c +FD: cvo/d net/minecraft/client/resources/ResourcePackRepository/field_110622_a +FD: cvo/e net/minecraft/client/resources/ResourcePackRepository/field_110618_d +FD: cvo/f net/minecraft/client/resources/ResourcePackRepository/field_148534_e +FD: cvo/g net/minecraft/client/resources/ResourcePackRepository/field_148532_f +FD: cvo/h net/minecraft/client/resources/ResourcePackRepository/field_177321_h +FD: cvo/i net/minecraft/client/resources/ResourcePackRepository/field_177322_i +FD: cvo/j net/minecraft/client/resources/ResourcePackRepository/field_110619_e +FD: cvo/k net/minecraft/client/resources/ResourcePackRepository/field_110617_f +FD: cvq/a net/minecraft/client/resources/ResourcePackRepository$2/field_177324_a +FD: cvq/b net/minecraft/client/resources/ResourcePackRepository$2/field_177323_b +FD: cvq/c net/minecraft/client/resources/ResourcePackRepository$2/field_148523_a +FD: cvr/a net/minecraft/client/resources/ResourcePackRepository$3/field_177327_a +FD: cvr/b net/minecraft/client/resources/ResourcePackRepository$3/field_177325_b +FD: cvr/c net/minecraft/client/resources/ResourcePackRepository$3/field_177326_c +FD: cvs/a net/minecraft/client/resources/ResourcePackRepository$Entry/field_110525_a +FD: cvs/b net/minecraft/client/resources/ResourcePackRepository$Entry/field_110523_b +FD: cvs/c net/minecraft/client/resources/ResourcePackRepository$Entry/field_110524_c +FD: cvs/d net/minecraft/client/resources/ResourcePackRepository$Entry/field_110521_d +FD: cvs/e net/minecraft/client/resources/ResourcePackRepository$Entry/field_110522_e +FD: cvs/f net/minecraft/client/resources/ResourcePackRepository$Entry/field_110520_f +FD: cvt/a net/minecraft/client/resources/SimpleReloadableResourceManager/field_147967_a +FD: cvt/b net/minecraft/client/resources/SimpleReloadableResourceManager/field_130074_a +FD: cvt/c net/minecraft/client/resources/SimpleReloadableResourceManager/field_110548_a +FD: cvt/d net/minecraft/client/resources/SimpleReloadableResourceManager/field_110546_b +FD: cvt/e net/minecraft/client/resources/SimpleReloadableResourceManager/field_135057_d +FD: cvt/f net/minecraft/client/resources/SimpleReloadableResourceManager/field_110547_c +FD: cvu/a net/minecraft/client/resources/SimpleReloadableResourceManager$1/field_130076_a +FD: cvv/a net/minecraft/client/resources/SimpleResource/field_110535_a +FD: cvv/b net/minecraft/client/resources/SimpleResource/field_177242_b +FD: cvv/c net/minecraft/client/resources/SimpleResource/field_110533_b +FD: cvv/d net/minecraft/client/resources/SimpleResource/field_110534_c +FD: cvv/e net/minecraft/client/resources/SimpleResource/field_110531_d +FD: cvv/f net/minecraft/client/resources/SimpleResource/field_110532_e +FD: cvv/g net/minecraft/client/resources/SimpleResource/field_110529_f +FD: cvv/h net/minecraft/client/resources/SimpleResource/field_110530_g +FD: cvw/a net/minecraft/client/resources/SkinManager/field_152794_b +FD: cvw/b net/minecraft/client/resources/SkinManager/field_152795_c +FD: cvw/c net/minecraft/client/resources/SkinManager/field_152796_d +FD: cvw/d net/minecraft/client/resources/SkinManager/field_152797_e +FD: cvw/e net/minecraft/client/resources/SkinManager/field_152798_f +FD: cvx/a net/minecraft/client/resources/SkinManager$1/field_152787_a +FD: cvy/a net/minecraft/client/resources/SkinManager$2/field_152635_a +FD: cvy/b net/minecraft/client/resources/SkinManager$2/field_152636_b +FD: cvy/c net/minecraft/client/resources/SkinManager$2/field_152637_c +FD: cvy/d net/minecraft/client/resources/SkinManager$2/field_152638_d +FD: cvy/e net/minecraft/client/resources/SkinManager$2/field_177249_e +FD: cvy/f net/minecraft/client/resources/SkinManager$2/field_152639_e +FD: cvz/a net/minecraft/client/resources/SkinManager$3/field_152799_a +FD: cvz/b net/minecraft/client/resources/SkinManager$3/field_152800_b +FD: cvz/c net/minecraft/client/resources/SkinManager$3/field_152801_c +FD: cvz/d net/minecraft/client/resources/SkinManager$3/field_152802_d +FD: cwa/a net/minecraft/client/resources/SkinManager$3$1/field_152803_a +FD: cwa/b net/minecraft/client/resources/SkinManager$3$1/field_152804_b +FD: cwc/a net/minecraft/client/resources/I18n/field_135054_a +FD: cwd/a net/minecraft/client/resources/Language/field_135039_a +FD: cwd/b net/minecraft/client/resources/Language/field_135037_b +FD: cwd/c net/minecraft/client/resources/Language/field_135038_c +FD: cwd/d net/minecraft/client/resources/Language/field_135036_d +FD: cwe/a net/minecraft/client/resources/LanguageManager/field_135049_a +FD: cwe/b net/minecraft/client/resources/LanguageManager/field_147648_b +FD: cwe/c net/minecraft/client/resources/LanguageManager/field_135047_b +FD: cwe/d net/minecraft/client/resources/LanguageManager/field_135048_c +FD: cwe/e net/minecraft/client/resources/LanguageManager/field_135046_d +FD: cwf/a net/minecraft/client/resources/Locale/field_135032_a +FD: cwf/b net/minecraft/client/resources/Locale/field_135030_b +FD: cwf/c net/minecraft/client/resources/Locale/field_135031_c +FD: cwf/d net/minecraft/client/resources/Locale/field_135029_d +FD: cwk/a net/minecraft/client/resources/data/IMetadataSerializer/field_110508_a +FD: cwk/b net/minecraft/client/resources/data/IMetadataSerializer/field_110506_b +FD: cwk/c net/minecraft/client/resources/data/IMetadataSerializer/field_110507_c +FD: cwm/a net/minecraft/client/resources/data/IMetadataSerializer$Registration/field_110502_a +FD: cwm/b net/minecraft/client/resources/data/IMetadataSerializer$Registration/field_110500_b +FD: cwm/c net/minecraft/client/resources/data/IMetadataSerializer$Registration/field_110501_c +FD: cwn/a net/minecraft/client/resources/data/AnimationFrame/field_110499_a +FD: cwn/b net/minecraft/client/resources/data/AnimationFrame/field_110498_b +FD: cwo/a net/minecraft/client/resources/data/AnimationMetadataSection/field_110478_a +FD: cwo/b net/minecraft/client/resources/data/AnimationMetadataSection/field_110476_b +FD: cwo/c net/minecraft/client/resources/data/AnimationMetadataSection/field_110477_c +FD: cwo/d net/minecraft/client/resources/data/AnimationMetadataSection/field_110475_d +FD: cwo/e net/minecraft/client/resources/data/AnimationMetadataSection/field_177220_e +FD: cwr/a net/minecraft/client/resources/data/FontMetadataSection/field_110467_a +FD: cwr/b net/minecraft/client/resources/data/FontMetadataSection/field_110465_b +FD: cwr/c net/minecraft/client/resources/data/FontMetadataSection/field_110466_c +FD: cwu/a net/minecraft/client/resources/data/LanguageMetadataSection/field_135019_a +FD: cwx/a net/minecraft/client/resources/data/PackMetadataSection/field_110464_a +FD: cwx/b net/minecraft/client/resources/data/PackMetadataSection/field_110463_b +FD: cxb/a net/minecraft/client/resources/data/TextureMetadataSection/field_110482_a +FD: cxb/b net/minecraft/client/resources/data/TextureMetadataSection/field_110481_b +FD: cxb/c net/minecraft/client/resources/data/TextureMetadataSection/field_148536_c +FD: cxf/a net/minecraft/client/resources/model/ModelRotation/X0_Y0 +FD: cxf/b net/minecraft/client/resources/model/ModelRotation/X0_Y90 +FD: cxf/c net/minecraft/client/resources/model/ModelRotation/X0_Y180 +FD: cxf/d net/minecraft/client/resources/model/ModelRotation/X0_Y270 +FD: cxf/e net/minecraft/client/resources/model/ModelRotation/X90_Y0 +FD: cxf/f net/minecraft/client/resources/model/ModelRotation/X90_Y90 +FD: cxf/g net/minecraft/client/resources/model/ModelRotation/X90_Y180 +FD: cxf/h net/minecraft/client/resources/model/ModelRotation/X90_Y270 +FD: cxf/i net/minecraft/client/resources/model/ModelRotation/X180_Y0 +FD: cxf/j net/minecraft/client/resources/model/ModelRotation/X180_Y90 +FD: cxf/k net/minecraft/client/resources/model/ModelRotation/X180_Y180 +FD: cxf/l net/minecraft/client/resources/model/ModelRotation/X180_Y270 +FD: cxf/m net/minecraft/client/resources/model/ModelRotation/X270_Y0 +FD: cxf/n net/minecraft/client/resources/model/ModelRotation/X270_Y90 +FD: cxf/o net/minecraft/client/resources/model/ModelRotation/X270_Y180 +FD: cxf/p net/minecraft/client/resources/model/ModelRotation/X270_Y270 +FD: cxf/q net/minecraft/client/resources/model/ModelRotation/field_177546_q +FD: cxf/r net/minecraft/client/resources/model/ModelRotation/field_177545_r +FD: cxf/s net/minecraft/client/resources/model/ModelRotation/field_177544_s +FD: cxf/t net/minecraft/client/resources/model/ModelRotation/field_177543_t +FD: cxf/u net/minecraft/client/resources/model/ModelRotation/field_177542_u +FD: cxf/v net/minecraft/client/resources/model/ModelRotation/$VALUES +FD: cxg/a net/minecraft/client/resources/model/BuiltInModel/field_177557_a +FD: cxh/a net/minecraft/client/resources/model/ModelBakery/field_177604_a +FD: cxh/b net/minecraft/client/resources/model/ModelBakery/field_177602_b +FD: cxh/c net/minecraft/client/resources/model/ModelBakery/field_177603_c +FD: cxh/d net/minecraft/client/resources/model/ModelBakery/field_177600_d +FD: cxh/e net/minecraft/client/resources/model/ModelBakery/field_177601_e +FD: cxh/f net/minecraft/client/resources/model/ModelBakery/field_177598_f +FD: cxh/g net/minecraft/client/resources/model/ModelBakery/field_177599_g +FD: cxh/h net/minecraft/client/resources/model/ModelBakery/field_177611_h +FD: cxh/i net/minecraft/client/resources/model/ModelBakery/field_177612_i +FD: cxh/j net/minecraft/client/resources/model/ModelBakery/field_177609_j +FD: cxh/k net/minecraft/client/resources/model/ModelBakery/field_177610_k +FD: cxh/l net/minecraft/client/resources/model/ModelBakery/field_177607_l +FD: cxh/m net/minecraft/client/resources/model/ModelBakery/field_177608_m +FD: cxh/n net/minecraft/client/resources/model/ModelBakery/field_177605_n +FD: cxh/o net/minecraft/client/resources/model/ModelBakery/field_177606_o +FD: cxh/p net/minecraft/client/resources/model/ModelBakery/field_177618_p +FD: cxh/q net/minecraft/client/resources/model/ModelBakery/field_177617_q +FD: cxh/r net/minecraft/client/resources/model/ModelBakery/field_177616_r +FD: cxh/s net/minecraft/client/resources/model/ModelBakery/field_177615_s +FD: cxh/t net/minecraft/client/resources/model/ModelBakery/field_177614_t +FD: cxh/u net/minecraft/client/resources/model/ModelBakery/field_177613_u +FD: cxi/a net/minecraft/client/resources/model/ModelBakery$1/field_177506_a +FD: cxj/a net/minecraft/client/resources/model/ModelBakery$2/field_177061_a +FD: cxj/b net/minecraft/client/resources/model/ModelBakery$2/field_177060_b +FD: cxk/a net/minecraft/client/resources/model/ModelManager/field_174958_a +FD: cxk/b net/minecraft/client/resources/model/ModelManager/field_174956_b +FD: cxk/c net/minecraft/client/resources/model/ModelManager/field_174957_c +FD: cxk/d net/minecraft/client/resources/model/ModelManager/field_174955_d +FD: cxl/c net/minecraft/client/resources/model/ModelResourceLocation/field_177519_c +FD: cxm/a net/minecraft/client/resources/model/SimpleBakedModel/field_177563_a +FD: cxm/b net/minecraft/client/resources/model/SimpleBakedModel/field_177561_b +FD: cxm/c net/minecraft/client/resources/model/SimpleBakedModel/field_177562_c +FD: cxm/d net/minecraft/client/resources/model/SimpleBakedModel/field_177559_d +FD: cxm/e net/minecraft/client/resources/model/SimpleBakedModel/field_177560_e +FD: cxm/f net/minecraft/client/resources/model/SimpleBakedModel/field_177558_f +FD: cxn/a net/minecraft/client/resources/model/SimpleBakedModel$Builder/field_177656_a +FD: cxn/b net/minecraft/client/resources/model/SimpleBakedModel$Builder/field_177654_b +FD: cxn/c net/minecraft/client/resources/model/SimpleBakedModel$Builder/field_177655_c +FD: cxn/d net/minecraft/client/resources/model/SimpleBakedModel$Builder/field_177652_d +FD: cxn/e net/minecraft/client/resources/model/SimpleBakedModel$Builder/field_177653_e +FD: cxn/f net/minecraft/client/resources/model/SimpleBakedModel$Builder/field_177651_f +FD: cxo/a net/minecraft/client/resources/model/WeightedBakedModel/field_177567_a +FD: cxo/b net/minecraft/client/resources/model/WeightedBakedModel/field_177565_b +FD: cxo/c net/minecraft/client/resources/model/WeightedBakedModel/field_177566_c +FD: cxp/a net/minecraft/client/resources/model/WeightedBakedModel$Builder/field_177678_a +FD: cxq/b net/minecraft/client/resources/model/WeightedBakedModel$MyWeighedRandomItem/field_177636_b +FD: cxt/a net/minecraft/client/audio/PositionedSound/field_147664_a +FD: cxt/b net/minecraft/client/audio/PositionedSound/field_147662_b +FD: cxt/c net/minecraft/client/audio/PositionedSound/field_147663_c +FD: cxt/d net/minecraft/client/audio/PositionedSound/field_147660_d +FD: cxt/e net/minecraft/client/audio/PositionedSound/field_147661_e +FD: cxt/f net/minecraft/client/audio/PositionedSound/field_147658_f +FD: cxt/g net/minecraft/client/audio/PositionedSound/field_147659_g +FD: cxt/h net/minecraft/client/audio/PositionedSound/field_147665_h +FD: cxt/i net/minecraft/client/audio/PositionedSound/field_147666_i +FD: cxu/j net/minecraft/client/audio/MovingSound/field_147668_j +FD: cxv/k net/minecraft/client/audio/GuardianSound/field_174934_k +FD: cxw/k net/minecraft/client/audio/MovingSoundMinecart/field_147670_k +FD: cxw/l net/minecraft/client/audio/MovingSoundMinecart/field_147669_l +FD: cxx/k net/minecraft/client/audio/MovingSoundMinecartRiding/field_147672_k +FD: cxx/l net/minecraft/client/audio/MovingSoundMinecartRiding/field_147671_l +FD: cxz/a net/minecraft/client/audio/SoundCategory/MASTER +FD: cxz/b net/minecraft/client/audio/SoundCategory/MUSIC +FD: cxz/c net/minecraft/client/audio/SoundCategory/RECORDS +FD: cxz/d net/minecraft/client/audio/SoundCategory/WEATHER +FD: cxz/e net/minecraft/client/audio/SoundCategory/BLOCKS +FD: cxz/f net/minecraft/client/audio/SoundCategory/MOBS +FD: cxz/g net/minecraft/client/audio/SoundCategory/ANIMALS +FD: cxz/h net/minecraft/client/audio/SoundCategory/PLAYERS +FD: cxz/i net/minecraft/client/audio/SoundCategory/AMBIENT +FD: cxz/j net/minecraft/client/audio/SoundCategory/field_147168_j +FD: cxz/k net/minecraft/client/audio/SoundCategory/field_147169_k +FD: cxz/l net/minecraft/client/audio/SoundCategory/field_147166_l +FD: cxz/m net/minecraft/client/audio/SoundCategory/field_147167_m +FD: cxz/n net/minecraft/client/audio/SoundCategory/$VALUES +FD: cya/a net/minecraft/client/audio/SoundList/field_148577_a +FD: cya/b net/minecraft/client/audio/SoundList/field_148575_b +FD: cya/c net/minecraft/client/audio/SoundList/field_148576_c +FD: cyb/a net/minecraft/client/audio/SoundList$SoundEntry/field_148569_a +FD: cyb/b net/minecraft/client/audio/SoundList$SoundEntry/field_148567_b +FD: cyb/c net/minecraft/client/audio/SoundList$SoundEntry/field_148568_c +FD: cyb/d net/minecraft/client/audio/SoundList$SoundEntry/field_148565_d +FD: cyb/e net/minecraft/client/audio/SoundList$SoundEntry/field_148566_e +FD: cyb/f net/minecraft/client/audio/SoundList$SoundEntry/field_148564_f +FD: cyc/a net/minecraft/client/audio/SoundList$SoundEntry$Type/FILE +FD: cyc/b net/minecraft/client/audio/SoundList$SoundEntry$Type/SOUND_EVENT +FD: cyc/c net/minecraft/client/audio/SoundList$SoundEntry$Type/field_148583_c +FD: cyc/d net/minecraft/client/audio/SoundList$SoundEntry$Type/$VALUES +FD: cyf/a net/minecraft/client/audio/ISound$AttenuationType/NONE +FD: cyf/b net/minecraft/client/audio/ISound$AttenuationType/LINEAR +FD: cyf/c net/minecraft/client/audio/ISound$AttenuationType/field_148589_c +FD: cyf/d net/minecraft/client/audio/ISound$AttenuationType/$VALUES +FD: cyj/h net/minecraft/server/integrated/IntegratedPlayerList/field_72416_e +FD: cyk/j net/minecraft/server/integrated/IntegratedServer/field_147148_h +FD: cyk/k net/minecraft/server/integrated/IntegratedServer/field_71349_l +FD: cyk/l net/minecraft/server/integrated/IntegratedServer/field_71350_m +FD: cyk/m net/minecraft/server/integrated/IntegratedServer/field_71348_o +FD: cyk/n net/minecraft/server/integrated/IntegratedServer/field_71346_p +FD: cyk/o net/minecraft/server/integrated/IntegratedServer/field_71345_q +FD: cyl/a net/minecraft/server/integrated/IntegratedServer$1/field_76974_a +FD: cym/a net/minecraft/server/integrated/IntegratedServer$2/field_76972_a +FD: cyn/a net/minecraft/server/integrated/IntegratedServer$3/field_177494_a +FD: cyp/a net/minecraft/client/network/LanServerDetector/field_148551_a +FD: cyp/b net/minecraft/client/network/LanServerDetector/field_148550_b +FD: cyq/a net/minecraft/client/network/LanServerDetector$LanServer/field_77492_a +FD: cyq/b net/minecraft/client/network/LanServerDetector$LanServer/field_77490_b +FD: cyq/c net/minecraft/client/network/LanServerDetector$LanServer/field_77491_c +FD: cyr/a net/minecraft/client/network/LanServerDetector$ThreadLanServerFind/field_77500_a +FD: cyr/b net/minecraft/client/network/LanServerDetector$ThreadLanServerFind/field_77498_b +FD: cyr/c net/minecraft/client/network/LanServerDetector$ThreadLanServerFind/field_77499_c +FD: cys/a net/minecraft/client/network/LanServerDetector$LanServerList/field_77556_a +FD: cys/b net/minecraft/client/network/LanServerDetector$LanServerList/field_77555_b +FD: cyt/a net/minecraft/client/multiplayer/ThreadLanServerPing/field_148658_a +FD: cyt/b net/minecraft/client/multiplayer/ThreadLanServerPing/field_148657_b +FD: cyt/c net/minecraft/client/multiplayer/ThreadLanServerPing/field_77528_b +FD: cyt/d net/minecraft/client/multiplayer/ThreadLanServerPing/field_77529_c +FD: cyt/e net/minecraft/client/multiplayer/ThreadLanServerPing/field_77526_d +FD: cyt/f net/minecraft/client/multiplayer/ThreadLanServerPing/field_77527_e +FD: cyx/a net/minecraft/client/audio/MusicTicker/field_147679_a +FD: cyx/b net/minecraft/client/audio/MusicTicker/field_147677_b +FD: cyx/c net/minecraft/client/audio/MusicTicker/field_147678_c +FD: cyx/d net/minecraft/client/audio/MusicTicker/field_147676_d +FD: cyy/a net/minecraft/client/audio/MusicTicker$MusicType/MENU +FD: cyy/b net/minecraft/client/audio/MusicTicker$MusicType/GAME +FD: cyy/c net/minecraft/client/audio/MusicTicker$MusicType/CREATIVE +FD: cyy/d net/minecraft/client/audio/MusicTicker$MusicType/CREDITS +FD: cyy/e net/minecraft/client/audio/MusicTicker$MusicType/NETHER +FD: cyy/f net/minecraft/client/audio/MusicTicker$MusicType/END_BOSS +FD: cyy/g net/minecraft/client/audio/MusicTicker$MusicType/END +FD: cyy/h net/minecraft/client/audio/MusicTicker$MusicType/field_148645_h +FD: cyy/i net/minecraft/client/audio/MusicTicker$MusicType/field_148646_i +FD: cyy/j net/minecraft/client/audio/MusicTicker$MusicType/field_148643_j +FD: cyy/k net/minecraft/client/audio/MusicTicker$MusicType/$VALUES +FD: cyz/a net/minecraft/client/audio/SoundPoolEntry/field_148656_a +FD: cyz/b net/minecraft/client/audio/SoundPoolEntry/field_148654_b +FD: cyz/c net/minecraft/client/audio/SoundPoolEntry/field_148655_c +FD: cyz/d net/minecraft/client/audio/SoundPoolEntry/field_148653_d +FD: cza/a net/minecraft/client/audio/SoundManager/field_148623_a +FD: cza/b net/minecraft/client/audio/SoundManager/field_148621_b +FD: cza/c net/minecraft/client/audio/SoundManager/field_148622_c +FD: cza/d net/minecraft/client/audio/SoundManager/field_148619_d +FD: cza/e net/minecraft/client/audio/SoundManager/field_148620_e +FD: cza/f net/minecraft/client/audio/SoundManager/field_148617_f +FD: cza/g net/minecraft/client/audio/SoundManager/field_148618_g +FD: cza/h net/minecraft/client/audio/SoundManager/field_148629_h +FD: cza/i net/minecraft/client/audio/SoundManager/field_148630_i +FD: cza/j net/minecraft/client/audio/SoundManager/field_148627_j +FD: cza/k net/minecraft/client/audio/SoundManager/field_148628_k +FD: cza/l net/minecraft/client/audio/SoundManager/field_148625_l +FD: cza/m net/minecraft/client/audio/SoundManager/field_148626_m +FD: cza/n net/minecraft/client/audio/SoundManager/field_148624_n +FD: czb/a net/minecraft/client/audio/SoundManager$1/field_148631_a +FD: czc/a net/minecraft/client/audio/SoundManager$1$1/field_177950_a +FD: czd/a net/minecraft/client/audio/SoundManager$2/field_148592_a +FD: cze/a net/minecraft/client/audio/SoundManager$2$1/field_148593_a +FD: czf/a net/minecraft/client/audio/SoundManager$SoundSystemStarterThread/field_148591_a +FD: czg/a net/minecraft/client/audio/SoundEventAccessorComposite/field_148736_a +FD: czg/b net/minecraft/client/audio/SoundEventAccessorComposite/field_148734_b +FD: czg/c net/minecraft/client/audio/SoundEventAccessorComposite/field_148735_c +FD: czg/d net/minecraft/client/audio/SoundEventAccessorComposite/field_148732_d +FD: czg/e net/minecraft/client/audio/SoundEventAccessorComposite/field_148733_e +FD: czg/f net/minecraft/client/audio/SoundEventAccessorComposite/field_148731_f +FD: czh/a net/minecraft/client/audio/SoundHandler/field_147700_a +FD: czh/b net/minecraft/client/audio/SoundHandler/field_147698_b +FD: czh/c net/minecraft/client/audio/SoundHandler/field_147699_c +FD: czh/d net/minecraft/client/audio/SoundHandler/field_147696_d +FD: czh/e net/minecraft/client/audio/SoundHandler/field_147697_e +FD: czh/f net/minecraft/client/audio/SoundHandler/field_147694_f +FD: czh/g net/minecraft/client/audio/SoundHandler/field_147695_g +FD: czj/a net/minecraft/client/audio/SoundHandler$2/field_148726_a +FD: czj/b net/minecraft/client/audio/SoundHandler$2/field_148724_b +FD: czj/c net/minecraft/client/audio/SoundHandler$2/field_148725_c +FD: czj/d net/minecraft/client/audio/SoundHandler$2/field_148723_d +FD: czk/a net/minecraft/client/audio/SoundHandler$SwitchType/field_148765_a +FD: czl/a net/minecraft/client/audio/SoundRegistry/field_148764_a +FD: czn/a net/minecraft/client/audio/SoundEventAccessor/field_148739_a +FD: czn/b net/minecraft/client/audio/SoundEventAccessor/field_148738_b +FD: czs/a net/minecraft/client/stream/Metadata/field_152811_a +FD: czs/b net/minecraft/client/stream/Metadata/field_152812_b +FD: czs/c net/minecraft/client/stream/Metadata/field_152813_c +FD: czs/d net/minecraft/client/stream/Metadata/field_152814_d +FD: czu/A net/minecraft/client/stream/BroadcastController/field_152860_A +FD: czu/B net/minecraft/client/stream/BroadcastController/field_177948_B +FD: czu/C net/minecraft/client/stream/BroadcastController/field_177949_C +FD: czu/D net/minecraft/client/stream/BroadcastController/field_152861_B +FD: czu/E net/minecraft/client/stream/BroadcastController/field_152862_C +FD: czu/F net/minecraft/client/stream/BroadcastController/field_152863_D +FD: czu/G net/minecraft/client/stream/BroadcastController/field_152864_E +FD: czu/a net/minecraft/client/stream/BroadcastController/field_152865_a +FD: czu/b net/minecraft/client/stream/BroadcastController/field_152866_b +FD: czu/c net/minecraft/client/stream/BroadcastController/field_152867_c +FD: czu/d net/minecraft/client/stream/BroadcastController/field_152868_d +FD: czu/e net/minecraft/client/stream/BroadcastController/field_152869_e +FD: czu/f net/minecraft/client/stream/BroadcastController/field_152870_f +FD: czu/g net/minecraft/client/stream/BroadcastController/field_152871_g +FD: czu/h net/minecraft/client/stream/BroadcastController/field_152872_h +FD: czu/i net/minecraft/client/stream/BroadcastController/field_152873_i +FD: czu/j net/minecraft/client/stream/BroadcastController/field_152874_j +FD: czu/k net/minecraft/client/stream/BroadcastController/field_152875_k +FD: czu/l net/minecraft/client/stream/BroadcastController/field_152876_l +FD: czu/m net/minecraft/client/stream/BroadcastController/field_152877_m +FD: czu/n net/minecraft/client/stream/BroadcastController/field_152878_n +FD: czu/o net/minecraft/client/stream/BroadcastController/field_152879_o +FD: czu/p net/minecraft/client/stream/BroadcastController/field_152880_p +FD: czu/q net/minecraft/client/stream/BroadcastController/field_152881_q +FD: czu/r net/minecraft/client/stream/BroadcastController/field_152882_r +FD: czu/s net/minecraft/client/stream/BroadcastController/field_152883_s +FD: czu/t net/minecraft/client/stream/BroadcastController/field_152884_t +FD: czu/u net/minecraft/client/stream/BroadcastController/field_152885_u +FD: czu/v net/minecraft/client/stream/BroadcastController/field_152886_v +FD: czu/w net/minecraft/client/stream/BroadcastController/field_152887_w +FD: czu/x net/minecraft/client/stream/BroadcastController/field_152888_x +FD: czu/y net/minecraft/client/stream/BroadcastController/field_152889_y +FD: czu/z net/minecraft/client/stream/BroadcastController/field_152890_z +FD: czv/a net/minecraft/client/stream/BroadcastController$1/field_177945_a +FD: czw/a net/minecraft/client/stream/BroadcastController$2/field_177772_a +FD: czx/a net/minecraft/client/stream/BroadcastController$SwitchBroadcastState/field_177773_a +FD: czy/a net/minecraft/client/stream/BroadcastController$BroadcastState/Uninitialized +FD: czy/b net/minecraft/client/stream/BroadcastController$BroadcastState/Initialized +FD: czy/c net/minecraft/client/stream/BroadcastController$BroadcastState/Authenticating +FD: czy/d net/minecraft/client/stream/BroadcastController$BroadcastState/Authenticated +FD: czy/e net/minecraft/client/stream/BroadcastController$BroadcastState/LoggingIn +FD: czy/f net/minecraft/client/stream/BroadcastController$BroadcastState/LoggedIn +FD: czy/g net/minecraft/client/stream/BroadcastController$BroadcastState/FindingIngestServer +FD: czy/h net/minecraft/client/stream/BroadcastController$BroadcastState/ReceivedIngestServers +FD: czy/i net/minecraft/client/stream/BroadcastController$BroadcastState/ReadyToBroadcast +FD: czy/j net/minecraft/client/stream/BroadcastController$BroadcastState/Starting +FD: czy/k net/minecraft/client/stream/BroadcastController$BroadcastState/Broadcasting +FD: czy/l net/minecraft/client/stream/BroadcastController$BroadcastState/Stopping +FD: czy/m net/minecraft/client/stream/BroadcastController$BroadcastState/Paused +FD: czy/n net/minecraft/client/stream/BroadcastController$BroadcastState/IngestTesting +FD: czy/o net/minecraft/client/stream/BroadcastController$BroadcastState/$VALUES +FD: d/a net/minecraft/crash/CrashReport$2/field_71496_a +FD: daa/a net/minecraft/client/stream/ChatController/field_153003_a +FD: daa/b net/minecraft/client/stream/ChatController/field_153004_b +FD: daa/c net/minecraft/client/stream/ChatController/field_153006_d +FD: daa/d net/minecraft/client/stream/ChatController/field_153007_e +FD: daa/e net/minecraft/client/stream/ChatController/field_175992_e +FD: daa/f net/minecraft/client/stream/ChatController/field_153008_f +FD: daa/g net/minecraft/client/stream/ChatController/field_153011_i +FD: daa/h net/minecraft/client/stream/ChatController/field_153012_j +FD: daa/i net/minecraft/client/stream/ChatController/field_175998_i +FD: daa/j net/minecraft/client/stream/ChatController/field_153015_m +FD: daa/k net/minecraft/client/stream/ChatController/field_175997_k +FD: daa/l net/minecraft/client/stream/ChatController/field_175995_l +FD: daa/m net/minecraft/client/stream/ChatController/field_175996_m +FD: daa/n net/minecraft/client/stream/ChatController/field_175993_n +FD: daa/o net/minecraft/client/stream/ChatController/field_175994_o +FD: daa/p net/minecraft/client/stream/ChatController/field_175999_p +FD: daa/q net/minecraft/client/stream/ChatController/field_153018_p +FD: dab/a net/minecraft/client/stream/ChatController$1/field_176000_a +FD: dac/a net/minecraft/client/stream/ChatController$SwitchEnumEmoticonMode/field_175976_a +FD: dac/b net/minecraft/client/stream/ChatController$SwitchEnumEmoticonMode/field_175974_b +FD: dac/c net/minecraft/client/stream/ChatController$SwitchEnumEmoticonMode/field_175975_c +FD: dad/a net/minecraft/client/stream/ChatController$EnumChannelState/Created +FD: dad/b net/minecraft/client/stream/ChatController$EnumChannelState/Connecting +FD: dad/c net/minecraft/client/stream/ChatController$EnumChannelState/Connected +FD: dad/d net/minecraft/client/stream/ChatController$EnumChannelState/Disconnecting +FD: dad/e net/minecraft/client/stream/ChatController$EnumChannelState/Disconnected +FD: dad/f net/minecraft/client/stream/ChatController$EnumChannelState/$VALUES +FD: dae/a net/minecraft/client/stream/ChatController$ChatChannelListener/field_176048_a +FD: dae/b net/minecraft/client/stream/ChatController$ChatChannelListener/field_176046_b +FD: dae/c net/minecraft/client/stream/ChatController$ChatChannelListener/field_176047_c +FD: dae/d net/minecraft/client/stream/ChatController$ChatChannelListener/field_176044_d +FD: dae/e net/minecraft/client/stream/ChatController$ChatChannelListener/field_176045_e +FD: dae/f net/minecraft/client/stream/ChatController$ChatChannelListener/field_176042_f +FD: dae/g net/minecraft/client/stream/ChatController$ChatChannelListener/field_176043_g +FD: dae/h net/minecraft/client/stream/ChatController$ChatChannelListener/field_176049_h +FD: daf/a net/minecraft/client/stream/ChatController$ChatState/Uninitialized +FD: daf/b net/minecraft/client/stream/ChatController$ChatState/Initializing +FD: daf/c net/minecraft/client/stream/ChatController$ChatState/Initialized +FD: daf/d net/minecraft/client/stream/ChatController$ChatState/ShuttingDown +FD: daf/e net/minecraft/client/stream/ChatController$ChatState/$VALUES +FD: dag/a net/minecraft/client/stream/ChatController$EnumEmoticonMode/None +FD: dag/b net/minecraft/client/stream/ChatController$EnumEmoticonMode/Url +FD: dag/c net/minecraft/client/stream/ChatController$EnumEmoticonMode/TextureAtlas +FD: dag/d net/minecraft/client/stream/ChatController$EnumEmoticonMode/$VALUES +FD: dai/A net/minecraft/client/stream/IngestServerTester/field_176005_A +FD: dai/B net/minecraft/client/stream/IngestServerTester/field_176006_B +FD: dai/a net/minecraft/client/stream/IngestServerTester/field_153044_b +FD: dai/b net/minecraft/client/stream/IngestServerTester/field_153045_c +FD: dai/c net/minecraft/client/stream/IngestServerTester/field_153046_d +FD: dai/d net/minecraft/client/stream/IngestServerTester/field_153047_e +FD: dai/e net/minecraft/client/stream/IngestServerTester/field_153048_f +FD: dai/f net/minecraft/client/stream/IngestServerTester/field_153049_g +FD: dai/g net/minecraft/client/stream/IngestServerTester/field_153050_h +FD: dai/h net/minecraft/client/stream/IngestServerTester/field_153051_i +FD: dai/i net/minecraft/client/stream/IngestServerTester/field_153052_j +FD: dai/j net/minecraft/client/stream/IngestServerTester/field_153053_k +FD: dai/k net/minecraft/client/stream/IngestServerTester/field_153054_l +FD: dai/l net/minecraft/client/stream/IngestServerTester/field_153055_m +FD: dai/m net/minecraft/client/stream/IngestServerTester/field_153056_n +FD: dai/n net/minecraft/client/stream/IngestServerTester/field_153057_o +FD: dai/o net/minecraft/client/stream/IngestServerTester/field_153058_p +FD: dai/p net/minecraft/client/stream/IngestServerTester/field_153059_q +FD: dai/q net/minecraft/client/stream/IngestServerTester/field_153060_r +FD: dai/r net/minecraft/client/stream/IngestServerTester/field_153061_s +FD: dai/s net/minecraft/client/stream/IngestServerTester/field_153062_t +FD: dai/t net/minecraft/client/stream/IngestServerTester/field_153063_u +FD: dai/u net/minecraft/client/stream/IngestServerTester/field_153064_v +FD: dai/v net/minecraft/client/stream/IngestServerTester/field_153065_w +FD: dai/w net/minecraft/client/stream/IngestServerTester/field_153066_x +FD: dai/x net/minecraft/client/stream/IngestServerTester/field_176009_x +FD: dai/y net/minecraft/client/stream/IngestServerTester/field_176008_y +FD: dai/z net/minecraft/client/stream/IngestServerTester/field_176007_z +FD: daj/a net/minecraft/client/stream/IngestServerTester$1/field_176010_a +FD: dak/a net/minecraft/client/stream/IngestServerTester$2/field_176001_a +FD: dal/a net/minecraft/client/stream/IngestServerTester$SwitchStatType/field_176003_a +FD: dal/b net/minecraft/client/stream/IngestServerTester$SwitchStatType/field_176002_b +FD: dan/a net/minecraft/client/stream/IngestServerTester$IngestTestState/Uninitalized +FD: dan/b net/minecraft/client/stream/IngestServerTester$IngestTestState/Starting +FD: dan/c net/minecraft/client/stream/IngestServerTester$IngestTestState/ConnectingToServer +FD: dan/d net/minecraft/client/stream/IngestServerTester$IngestTestState/TestingServer +FD: dan/e net/minecraft/client/stream/IngestServerTester$IngestTestState/DoneTestingServer +FD: dan/f net/minecraft/client/stream/IngestServerTester$IngestTestState/Finished +FD: dan/g net/minecraft/client/stream/IngestServerTester$IngestTestState/Cancelling +FD: dan/h net/minecraft/client/stream/IngestServerTester$IngestTestState/Cancelled +FD: dan/i net/minecraft/client/stream/IngestServerTester$IngestTestState/Failed +FD: dan/j net/minecraft/client/stream/IngestServerTester$IngestTestState/$VALUES +FD: dap/a net/minecraft/client/stream/IStream$AuthFailureReason/ERROR +FD: dap/b net/minecraft/client/stream/IStream$AuthFailureReason/INVALID_TOKEN +FD: dap/c net/minecraft/client/stream/IStream$AuthFailureReason/$VALUES +FD: daq/a net/minecraft/client/stream/TwitchStream/field_152949_a +FD: daq/b net/minecraft/client/stream/TwitchStream/field_152950_b +FD: daq/c net/minecraft/client/stream/TwitchStream/field_152951_c +FD: daq/d net/minecraft/client/stream/TwitchStream/field_152952_d +FD: daq/e net/minecraft/client/stream/TwitchStream/field_176029_e +FD: daq/f net/minecraft/client/stream/TwitchStream/field_152953_e +FD: daq/g net/minecraft/client/stream/TwitchStream/field_152954_f +FD: daq/h net/minecraft/client/stream/TwitchStream/field_152955_g +FD: daq/i net/minecraft/client/stream/TwitchStream/field_152956_h +FD: daq/j net/minecraft/client/stream/TwitchStream/field_152957_i +FD: daq/k net/minecraft/client/stream/TwitchStream/field_152958_j +FD: daq/l net/minecraft/client/stream/TwitchStream/field_152959_k +FD: daq/m net/minecraft/client/stream/TwitchStream/field_152960_l +FD: daq/n net/minecraft/client/stream/TwitchStream/field_152961_m +FD: daq/o net/minecraft/client/stream/TwitchStream/field_152962_n +FD: daq/p net/minecraft/client/stream/TwitchStream/field_152963_o +FD: daq/q net/minecraft/client/stream/TwitchStream/field_152964_p +FD: daq/r net/minecraft/client/stream/TwitchStream/field_152965_q +FD: dar/a net/minecraft/client/stream/TwitchStream$1/field_153083_a +FD: dar/b net/minecraft/client/stream/TwitchStream$1/field_153084_b +FD: das/a net/minecraft/client/stream/TwitchStream$1$1/field_153082_a +FD: dat/a net/minecraft/client/stream/NullStream/field_152938_a +FD: dav/a net/minecraft/realms/RealmsConnect$1/field_154355_a +FD: dav/b net/minecraft/realms/RealmsConnect$1/field_154356_b +FD: dav/c net/minecraft/realms/RealmsConnect$1/field_154357_c +FD: daw/a net/minecraft/realms/RealmsServerStatusPinger$1/field_154341_a +FD: daw/b net/minecraft/realms/RealmsServerStatusPinger$1/field_154342_b +FD: daw/c net/minecraft/realms/RealmsServerStatusPinger$1/field_154343_c +FD: daw/d net/minecraft/realms/RealmsServerStatusPinger$1/field_154344_d +FD: daw/e net/minecraft/realms/RealmsServerStatusPinger$1/field_154345_e +FD: dax/A net/minecraft/client/renderer/OpenGlHelper/field_176080_A +FD: dax/B net/minecraft/client/renderer/OpenGlHelper/field_176081_B +FD: dax/C net/minecraft/client/renderer/OpenGlHelper/field_176082_C +FD: dax/D net/minecraft/client/renderer/OpenGlHelper/field_176076_D +FD: dax/E net/minecraft/client/renderer/OpenGlHelper/field_176077_E +FD: dax/F net/minecraft/client/renderer/OpenGlHelper/field_176078_F +FD: dax/G net/minecraft/client/renderer/OpenGlHelper/field_176079_G +FD: dax/H net/minecraft/client/renderer/OpenGlHelper/field_176084_H +FD: dax/I net/minecraft/client/renderer/OpenGlHelper/field_176085_I +FD: dax/J net/minecraft/client/renderer/OpenGlHelper/field_176086_J +FD: dax/K net/minecraft/client/renderer/OpenGlHelper/field_176087_K +FD: dax/L net/minecraft/client/renderer/OpenGlHelper/field_153211_u +FD: dax/M net/minecraft/client/renderer/OpenGlHelper/field_148827_a +FD: dax/N net/minecraft/client/renderer/OpenGlHelper/field_148824_g +FD: dax/O net/minecraft/client/renderer/OpenGlHelper/field_176083_O +FD: dax/P net/minecraft/client/renderer/OpenGlHelper/field_176089_P +FD: dax/Q net/minecraft/client/renderer/OpenGlHelper/field_148826_e +FD: dax/R net/minecraft/client/renderer/OpenGlHelper/field_153212_w +FD: dax/S net/minecraft/client/renderer/OpenGlHelper/field_153213_x +FD: dax/T net/minecraft/client/renderer/OpenGlHelper/field_153214_y +FD: dax/U net/minecraft/client/renderer/OpenGlHelper/field_153215_z +FD: dax/V net/minecraft/client/renderer/OpenGlHelper/field_176088_V +FD: dax/W net/minecraft/client/renderer/OpenGlHelper/field_148828_i +FD: dax/X net/minecraft/client/renderer/OpenGlHelper/field_153196_B +FD: dax/Y net/minecraft/client/renderer/OpenGlHelper/field_176090_Y +FD: dax/a net/minecraft/client/renderer/OpenGlHelper/field_153197_d +FD: dax/b net/minecraft/client/renderer/OpenGlHelper/field_153198_e +FD: dax/c net/minecraft/client/renderer/OpenGlHelper/field_153199_f +FD: dax/d net/minecraft/client/renderer/OpenGlHelper/field_153200_g +FD: dax/e net/minecraft/client/renderer/OpenGlHelper/field_153201_h +FD: dax/f net/minecraft/client/renderer/OpenGlHelper/field_153202_i +FD: dax/g net/minecraft/client/renderer/OpenGlHelper/field_153203_j +FD: dax/h net/minecraft/client/renderer/OpenGlHelper/field_153204_k +FD: dax/i net/minecraft/client/renderer/OpenGlHelper/field_153205_l +FD: dax/j net/minecraft/client/renderer/OpenGlHelper/field_153206_m +FD: dax/k net/minecraft/client/renderer/OpenGlHelper/field_148823_f +FD: dax/l net/minecraft/client/renderer/OpenGlHelper/field_153207_o +FD: dax/m net/minecraft/client/renderer/OpenGlHelper/field_153208_p +FD: dax/n net/minecraft/client/renderer/OpenGlHelper/field_153209_q +FD: dax/o net/minecraft/client/renderer/OpenGlHelper/field_153210_r +FD: dax/p net/minecraft/client/renderer/OpenGlHelper/field_77478_a +FD: dax/q net/minecraft/client/renderer/OpenGlHelper/field_77476_b +FD: dax/r net/minecraft/client/renderer/OpenGlHelper/field_176096_r +FD: dax/s net/minecraft/client/renderer/OpenGlHelper/field_176095_s +FD: dax/t net/minecraft/client/renderer/OpenGlHelper/field_176094_t +FD: dax/u net/minecraft/client/renderer/OpenGlHelper/field_176093_u +FD: dax/v net/minecraft/client/renderer/OpenGlHelper/field_176092_v +FD: dax/w net/minecraft/client/renderer/OpenGlHelper/field_176091_w +FD: dax/x net/minecraft/client/renderer/OpenGlHelper/field_176099_x +FD: dax/y net/minecraft/client/renderer/OpenGlHelper/field_176098_y +FD: dax/z net/minecraft/client/renderer/OpenGlHelper/field_176097_z +FD: db/a net/minecraft/command/CommandTitle/field_175774_a +FD: di/a net/minecraft/command/CommandException/field_74845_a +FD: dt/a net/minecraft/util/BlockPos/field_177992_a +FD: dt/b net/minecraft/util/BlockPos/field_177990_b +FD: dt/c net/minecraft/util/BlockPos/field_177991_c +FD: dt/d net/minecraft/util/BlockPos/field_177989_d +FD: dt/f net/minecraft/util/BlockPos/field_177987_f +FD: dt/g net/minecraft/util/BlockPos/field_177988_g +FD: dt/h net/minecraft/util/BlockPos/field_177994_h +FD: dt/i net/minecraft/util/BlockPos/field_177995_i +FD: dt/j net/minecraft/util/BlockPos/field_177993_j +FD: du/a net/minecraft/util/BlockPos$1/field_179307_a +FD: du/b net/minecraft/util/BlockPos$1/field_179306_b +FD: dv/a net/minecraft/util/BlockPos$1$1/field_179310_a +FD: dv/b net/minecraft/util/BlockPos$1$1/field_179309_b +FD: dw/a net/minecraft/util/BlockPos$2/field_179312_a +FD: dw/b net/minecraft/util/BlockPos$2/field_179311_b +FD: dx/a net/minecraft/util/BlockPos$2$1/field_179315_a +FD: dx/b net/minecraft/util/BlockPos$2$1/field_179314_b +FD: dy/b net/minecraft/util/BlockPos$MutableBlockPos/field_177997_b +FD: dy/c net/minecraft/util/BlockPos$MutableBlockPos/field_177998_c +FD: dy/d net/minecraft/util/BlockPos$MutableBlockPos/field_177996_d +FD: e/a net/minecraft/crash/CrashReport$3/field_71490_a +FD: ea/a net/minecraft/block/BlockSourceImpl/field_82627_a +FD: ea/b net/minecraft/block/BlockSourceImpl/field_179317_b +FD: ee/a net/minecraft/util/Cartesian$Product/field_179429_a +FD: ee/b net/minecraft/util/Cartesian$Product/field_179428_b +FD: ef/a net/minecraft/util/Cartesian$Product$ProductIterator/field_179426_a +FD: ef/b net/minecraft/util/Cartesian$Product$ProductIterator/field_179424_b +FD: ef/c net/minecraft/util/Cartesian$Product$ProductIterator/field_179425_c +FD: ef/d net/minecraft/util/Cartesian$Product$ProductIterator/field_179423_d +FD: eh/d net/minecraft/util/RegistryNamespacedDefaultedByKey/field_148760_d +FD: eh/e net/minecraft/util/RegistryNamespacedDefaultedByKey/field_148761_e +FD: ei/a net/minecraft/util/RegistryDefaulted/field_82597_b +FD: ej/a net/minecraft/util/EnumFacing/DOWN +FD: ej/b net/minecraft/util/EnumFacing/UP +FD: ej/c net/minecraft/util/EnumFacing/NORTH +FD: ej/d net/minecraft/util/EnumFacing/SOUTH +FD: ej/e net/minecraft/util/EnumFacing/WEST +FD: ej/f net/minecraft/util/EnumFacing/EAST +FD: ej/g net/minecraft/util/EnumFacing/field_176748_g +FD: ej/h net/minecraft/util/EnumFacing/field_176759_h +FD: ej/i net/minecraft/util/EnumFacing/field_176760_i +FD: ej/j net/minecraft/util/EnumFacing/field_176757_j +FD: ej/k net/minecraft/util/EnumFacing/field_176758_k +FD: ej/l net/minecraft/util/EnumFacing/field_176755_l +FD: ej/m net/minecraft/util/EnumFacing/field_176756_m +FD: ej/n net/minecraft/util/EnumFacing/field_82609_l +FD: ej/o net/minecraft/util/EnumFacing/field_176754_o +FD: ej/p net/minecraft/util/EnumFacing/field_176761_p +FD: ej/q net/minecraft/util/EnumFacing/$VALUES +FD: ek/a net/minecraft/util/EnumFacing$SwitchPlane/field_179515_a +FD: ek/b net/minecraft/util/EnumFacing$SwitchPlane/field_179513_b +FD: ek/c net/minecraft/util/EnumFacing$SwitchPlane/field_179514_c +FD: el/a net/minecraft/util/EnumFacing$Axis/X +FD: el/b net/minecraft/util/EnumFacing$Axis/Y +FD: el/c net/minecraft/util/EnumFacing$Axis/Z +FD: el/d net/minecraft/util/EnumFacing$Axis/field_176725_d +FD: el/e net/minecraft/util/EnumFacing$Axis/field_176726_e +FD: el/f net/minecraft/util/EnumFacing$Axis/field_176723_f +FD: el/g net/minecraft/util/EnumFacing$Axis/$VALUES +FD: em/a net/minecraft/util/EnumFacing$AxisDirection/POSITIVE +FD: em/b net/minecraft/util/EnumFacing$AxisDirection/NEGATIVE +FD: em/c net/minecraft/util/EnumFacing$AxisDirection/field_179528_c +FD: em/d net/minecraft/util/EnumFacing$AxisDirection/field_179525_d +FD: em/e net/minecraft/util/EnumFacing$AxisDirection/$VALUES +FD: en/a net/minecraft/util/EnumFacing$Plane/HORIZONTAL +FD: en/b net/minecraft/util/EnumFacing$Plane/VERTICAL +FD: en/c net/minecraft/util/EnumFacing$Plane/$VALUES +FD: eo/a net/minecraft/dispenser/IBehaviorDispenseItem/field_82483_a +FD: er/a net/minecraft/util/ObjectIntIdentityMap/field_148749_a +FD: er/b net/minecraft/util/ObjectIntIdentityMap/field_148748_b +FD: ev/a net/minecraft/util/RegistryNamespaced/field_148759_a +FD: ev/b net/minecraft/util/RegistryNamespaced/field_148758_b +FD: ew/A net/minecraft/util/EnumParticleTypes/FLAME +FD: ew/B net/minecraft/util/EnumParticleTypes/LAVA +FD: ew/C net/minecraft/util/EnumParticleTypes/FOOTSTEP +FD: ew/D net/minecraft/util/EnumParticleTypes/CLOUD +FD: ew/E net/minecraft/util/EnumParticleTypes/REDSTONE +FD: ew/F net/minecraft/util/EnumParticleTypes/SNOWBALL +FD: ew/G net/minecraft/util/EnumParticleTypes/SNOW_SHOVEL +FD: ew/H net/minecraft/util/EnumParticleTypes/SLIME +FD: ew/I net/minecraft/util/EnumParticleTypes/HEART +FD: ew/J net/minecraft/util/EnumParticleTypes/BARRIER +FD: ew/K net/minecraft/util/EnumParticleTypes/ITEM_CRACK +FD: ew/L net/minecraft/util/EnumParticleTypes/BLOCK_CRACK +FD: ew/M net/minecraft/util/EnumParticleTypes/BLOCK_DUST +FD: ew/N net/minecraft/util/EnumParticleTypes/WATER_DROP +FD: ew/O net/minecraft/util/EnumParticleTypes/ITEM_TAKE +FD: ew/P net/minecraft/util/EnumParticleTypes/MOB_APPEARANCE +FD: ew/Q net/minecraft/util/EnumParticleTypes/field_179369_Q +FD: ew/R net/minecraft/util/EnumParticleTypes/field_179372_R +FD: ew/S net/minecraft/util/EnumParticleTypes/field_179371_S +FD: ew/T net/minecraft/util/EnumParticleTypes/field_179366_T +FD: ew/U net/minecraft/util/EnumParticleTypes/field_179365_U +FD: ew/V net/minecraft/util/EnumParticleTypes/field_179368_V +FD: ew/W net/minecraft/util/EnumParticleTypes/$VALUES +FD: ew/a net/minecraft/util/EnumParticleTypes/EXPLOSION_NORMAL +FD: ew/b net/minecraft/util/EnumParticleTypes/EXPLOSION_LARGE +FD: ew/c net/minecraft/util/EnumParticleTypes/EXPLOSION_HUGE +FD: ew/d net/minecraft/util/EnumParticleTypes/FIREWORKS_SPARK +FD: ew/e net/minecraft/util/EnumParticleTypes/WATER_BUBBLE +FD: ew/f net/minecraft/util/EnumParticleTypes/WATER_SPLASH +FD: ew/g net/minecraft/util/EnumParticleTypes/WATER_WAKE +FD: ew/h net/minecraft/util/EnumParticleTypes/SUSPENDED +FD: ew/i net/minecraft/util/EnumParticleTypes/SUSPENDED_DEPTH +FD: ew/j net/minecraft/util/EnumParticleTypes/CRIT +FD: ew/k net/minecraft/util/EnumParticleTypes/CRIT_MAGIC +FD: ew/l net/minecraft/util/EnumParticleTypes/SMOKE_NORMAL +FD: ew/m net/minecraft/util/EnumParticleTypes/SMOKE_LARGE +FD: ew/n net/minecraft/util/EnumParticleTypes/SPELL +FD: ew/o net/minecraft/util/EnumParticleTypes/SPELL_INSTANT +FD: ew/p net/minecraft/util/EnumParticleTypes/SPELL_MOB +FD: ew/q net/minecraft/util/EnumParticleTypes/SPELL_MOB_AMBIENT +FD: ew/r net/minecraft/util/EnumParticleTypes/SPELL_WITCH +FD: ew/s net/minecraft/util/EnumParticleTypes/DRIP_WATER +FD: ew/t net/minecraft/util/EnumParticleTypes/DRIP_LAVA +FD: ew/u net/minecraft/util/EnumParticleTypes/VILLAGER_ANGRY +FD: ew/v net/minecraft/util/EnumParticleTypes/VILLAGER_HAPPY +FD: ew/w net/minecraft/util/EnumParticleTypes/TOWN_AURA +FD: ew/x net/minecraft/util/EnumParticleTypes/NOTE +FD: ew/y net/minecraft/util/EnumParticleTypes/PORTAL +FD: ew/z net/minecraft/util/EnumParticleTypes/ENCHANTMENT_TABLE +FD: ey/a net/minecraft/dispenser/PositionImpl/field_82630_a +FD: ey/b net/minecraft/dispenser/PositionImpl/field_82628_b +FD: ey/c net/minecraft/dispenser/PositionImpl/field_82629_c +FD: f/a net/minecraft/crash/CrashReport$4/field_71492_a +FD: fa/a net/minecraft/util/Rotations/field_179419_a +FD: fa/b net/minecraft/util/Rotations/field_179417_b +FD: fa/c net/minecraft/util/Rotations/field_179418_c +FD: fb/a net/minecraft/util/RegistrySimple/field_148743_a +FD: fb/c net/minecraft/util/RegistrySimple/field_82596_a +FD: fd/a net/minecraft/util/Vec3i/field_177962_a +FD: fd/b net/minecraft/util/Vec3i/field_177960_b +FD: fd/c net/minecraft/util/Vec3i/field_177961_c +FD: fd/e net/minecraft/util/Vec3i/field_177959_e +FD: fi/a net/minecraft/util/StatCollector/field_74839_a +FD: fi/b net/minecraft/util/StatCollector/field_150828_b +FD: fj/a net/minecraft/util/StringTranslate/field_111053_a +FD: fj/b net/minecraft/util/StringTranslate/field_135065_b +FD: fj/c net/minecraft/util/StringTranslate/field_74817_a +FD: fj/d net/minecraft/util/StringTranslate/field_74816_c +FD: fj/e net/minecraft/util/StringTranslate/field_150511_e +FD: fl/b net/minecraft/nbt/NBTTagByteArray/field_74754_a +FD: fm/b net/minecraft/nbt/NBTTagByte/field_74756_a +FD: fn/b net/minecraft/nbt/NBTTagCompound/field_150301_b +FD: fn/c net/minecraft/nbt/NBTTagCompound/field_74784_a +FD: fo/a net/minecraft/nbt/NBTTagCompound$1/field_82585_a +FD: fo/b net/minecraft/nbt/NBTTagCompound$1/field_82584_b +FD: fp/a net/minecraft/nbt/NBTTagCompound$2/field_82588_a +FD: fp/b net/minecraft/nbt/NBTTagCompound$2/field_82587_b +FD: fq/b net/minecraft/nbt/NBTTagDouble/field_74755_a +FD: fs/b net/minecraft/nbt/NBTTagFloat/field_74750_a +FD: ft/b net/minecraft/nbt/NBTTagIntArray/field_74749_a +FD: fu/b net/minecraft/nbt/NBTTagInt/field_74748_a +FD: fv/b net/minecraft/nbt/NBTTagList/field_179239_b +FD: fv/c net/minecraft/nbt/NBTTagList/field_74747_a +FD: fv/d net/minecraft/nbt/NBTTagList/field_74746_b +FD: fw/b net/minecraft/nbt/NBTTagLong/field_74753_a +FD: fx/a net/minecraft/nbt/NBTSizeTracker/field_152451_a +FD: fx/b net/minecraft/nbt/NBTSizeTracker/field_152452_b +FD: fx/c net/minecraft/nbt/NBTSizeTracker/field_152453_c +FD: g/a net/minecraft/crash/CrashReport$5/field_71486_a +FD: gb/b net/minecraft/nbt/NBTTagShort/field_74752_a +FD: gc/b net/minecraft/nbt/NBTTagString/field_74751_a +FD: gd/a net/minecraft/nbt/NBTBase/field_82578_b +FD: gg/a net/minecraft/nbt/JsonToNBT/field_150317_a +FD: gg/b net/minecraft/nbt/JsonToNBT/field_179273_b +FD: gh/a net/minecraft/nbt/JsonToNBT$Any/field_150490_a +FD: gi/b net/minecraft/nbt/JsonToNBT$Compound/field_150491_b +FD: gj/b net/minecraft/nbt/JsonToNBT$List/field_150492_b +FD: gk/b net/minecraft/nbt/JsonToNBT$Primitive/field_150493_b +FD: gk/c net/minecraft/nbt/JsonToNBT$Primitive/field_179265_c +FD: gk/d net/minecraft/nbt/JsonToNBT$Primitive/field_179263_d +FD: gk/e net/minecraft/nbt/JsonToNBT$Primitive/field_179264_e +FD: gk/f net/minecraft/nbt/JsonToNBT$Primitive/field_179261_f +FD: gk/g net/minecraft/nbt/JsonToNBT$Primitive/field_179262_g +FD: gk/h net/minecraft/nbt/JsonToNBT$Primitive/field_179267_h +FD: gk/i net/minecraft/nbt/JsonToNBT$Primitive/field_179268_i +FD: gk/j net/minecraft/nbt/JsonToNBT$Primitive/field_179266_j +FD: gm/a net/minecraft/network/NettyEncryptionTranslator/field_150507_a +FD: gm/b net/minecraft/network/NettyEncryptionTranslator/field_150505_b +FD: gm/c net/minecraft/network/NettyEncryptionTranslator/field_150506_c +FD: gn/a net/minecraft/network/NettyEncryptingDecoder/field_150509_a +FD: go/a net/minecraft/network/NettyEncryptingEncoder/field_150750_a +FD: gp/a net/minecraft/network/NettyCompressionDecoder/field_179305_a +FD: gp/b net/minecraft/network/NettyCompressionDecoder/field_179304_b +FD: gq/a net/minecraft/network/NettyCompressionEncoder/field_179302_a +FD: gq/b net/minecraft/network/NettyCompressionEncoder/field_179300_b +FD: gq/c net/minecraft/network/NettyCompressionEncoder/field_179301_c +FD: gr/a net/minecraft/network/NetworkManager/field_150740_a +FD: gr/b net/minecraft/network/NetworkManager/field_150738_b +FD: gr/c net/minecraft/network/NetworkManager/field_150739_c +FD: gr/d net/minecraft/network/NetworkManager/field_179295_d +FD: gr/e net/minecraft/network/NetworkManager/field_179296_e +FD: gr/f net/minecraft/network/NetworkManager/field_150735_g +FD: gr/g net/minecraft/network/NetworkManager/field_179294_g +FD: gr/h net/minecraft/network/NetworkManager/field_150745_j +FD: gr/i net/minecraft/network/NetworkManager/field_150746_k +FD: gr/j net/minecraft/network/NetworkManager/field_150743_l +FD: gr/k net/minecraft/network/NetworkManager/field_150744_m +FD: gr/l net/minecraft/network/NetworkManager/field_150742_o +FD: gr/m net/minecraft/network/NetworkManager/field_152463_r +FD: gr/n net/minecraft/network/NetworkManager/field_179297_n +FD: gu/a net/minecraft/network/NetworkManager$3/field_179279_a +FD: gu/b net/minecraft/network/NetworkManager$3/field_179277_b +FD: gu/c net/minecraft/network/NetworkManager$3/field_179278_c +FD: gu/d net/minecraft/network/NetworkManager$3/field_179275_d +FD: gu/e net/minecraft/network/NetworkManager$3/field_179276_e +FD: gv/a net/minecraft/network/NetworkManager$4/field_179274_a +FD: gw/a net/minecraft/network/NetworkManager$5/field_179248_a +FD: gx/a net/minecraft/network/NetworkManager$InboundHandlerTuplePacketListener/field_150774_a +FD: gx/b net/minecraft/network/NetworkManager$InboundHandlerTuplePacketListener/field_150773_b +FD: gy/a net/minecraft/network/EnumConnectionState/HANDSHAKING +FD: gy/b net/minecraft/network/EnumConnectionState/PLAY +FD: gy/c net/minecraft/network/EnumConnectionState/STATUS +FD: gy/d net/minecraft/network/EnumConnectionState/LOGIN +FD: gy/e net/minecraft/network/EnumConnectionState/field_150764_e +FD: gy/f net/minecraft/network/EnumConnectionState/field_150761_f +FD: gy/g net/minecraft/network/EnumConnectionState/field_150762_g +FD: gy/h net/minecraft/network/EnumConnectionState/field_179247_h +FD: gy/i net/minecraft/network/EnumConnectionState/$VALUES +FD: h/a net/minecraft/crash/CrashReport$6/field_71488_a +FD: hd/a net/minecraft/network/PacketBuffer/field_150794_a +FD: he/a net/minecraft/util/MessageDeserializer/field_150800_a +FD: he/b net/minecraft/util/MessageDeserializer/field_150799_b +FD: he/c net/minecraft/util/MessageDeserializer/field_152499_c +FD: hf/a net/minecraft/util/MessageSerializer/field_150798_a +FD: hf/b net/minecraft/util/MessageSerializer/field_150797_b +FD: hf/c net/minecraft/util/MessageSerializer/field_152500_c +FD: hj/a net/minecraft/util/ChatComponentStyle/field_150264_a +FD: hj/b net/minecraft/util/ChatComponentStyle/field_150263_b +FD: hm/a net/minecraft/event/ClickEvent/field_150671_a +FD: hm/b net/minecraft/event/ClickEvent/field_150670_b +FD: hn/a net/minecraft/event/ClickEvent$Action/OPEN_URL +FD: hn/b net/minecraft/event/ClickEvent$Action/OPEN_FILE +FD: hn/c net/minecraft/event/ClickEvent$Action/RUN_COMMAND +FD: hn/d net/minecraft/event/ClickEvent$Action/TWITCH_USER_INFO +FD: hn/e net/minecraft/event/ClickEvent$Action/SUGGEST_COMMAND +FD: hn/f net/minecraft/event/ClickEvent$Action/CHANGE_PAGE +FD: hn/g net/minecraft/event/ClickEvent$Action/field_150679_e +FD: hn/h net/minecraft/event/ClickEvent$Action/field_150676_f +FD: hn/i net/minecraft/event/ClickEvent$Action/field_150677_g +FD: hn/j net/minecraft/event/ClickEvent$Action/$VALUES +FD: hp/a net/minecraft/util/IChatComponent$Serializer/field_150700_a +FD: hr/a net/minecraft/event/HoverEvent/field_150704_a +FD: hr/b net/minecraft/event/HoverEvent/field_150703_b +FD: hs/a net/minecraft/event/HoverEvent$Action/SHOW_TEXT +FD: hs/b net/minecraft/event/HoverEvent$Action/SHOW_ACHIEVEMENT +FD: hs/c net/minecraft/event/HoverEvent$Action/SHOW_ITEM +FD: hs/d net/minecraft/event/HoverEvent$Action/SHOW_ENTITY +FD: hs/e net/minecraft/event/HoverEvent$Action/field_150690_d +FD: hs/f net/minecraft/event/HoverEvent$Action/field_150691_e +FD: hs/g net/minecraft/event/HoverEvent$Action/field_150688_f +FD: hs/h net/minecraft/event/HoverEvent$Action/$VALUES +FD: ht/b net/minecraft/util/ChatComponentScore/field_179999_b +FD: ht/c net/minecraft/util/ChatComponentScore/field_180000_c +FD: ht/d net/minecraft/util/ChatComponentScore/field_179998_d +FD: hu/b net/minecraft/util/ChatComponentSelector/field_179993_b +FD: hv/a net/minecraft/util/ChatStyle/field_150249_a +FD: hv/b net/minecraft/util/ChatStyle/field_150247_b +FD: hv/c net/minecraft/util/ChatStyle/field_150248_c +FD: hv/d net/minecraft/util/ChatStyle/field_150245_d +FD: hv/e net/minecraft/util/ChatStyle/field_150246_e +FD: hv/f net/minecraft/util/ChatStyle/field_150243_f +FD: hv/g net/minecraft/util/ChatStyle/field_150244_g +FD: hv/h net/minecraft/util/ChatStyle/field_150251_h +FD: hv/i net/minecraft/util/ChatStyle/field_150252_i +FD: hv/j net/minecraft/util/ChatStyle/field_179990_j +FD: hv/k net/minecraft/util/ChatStyle/field_150250_j +FD: hy/b net/minecraft/util/ChatComponentText/field_150267_b +FD: hz/b net/minecraft/util/ChatComponentTranslation/field_150278_b +FD: hz/c net/minecraft/util/ChatComponentTranslation/field_150279_c +FD: hz/d net/minecraft/util/ChatComponentTranslation/field_150276_d +FD: hz/e net/minecraft/util/ChatComponentTranslation/field_150277_e +FD: hz/f net/minecraft/util/ChatComponentTranslation/field_150274_f +FD: hz/g net/minecraft/util/ChatComponentTranslation/field_150275_g +FD: i/a net/minecraft/crash/CrashReport$7/field_83004_a +FD: ie/a net/minecraft/network/EnumPacketDirection/SERVERBOUND +FD: ie/b net/minecraft/network/EnumPacketDirection/CLIENTBOUND +FD: ie/c net/minecraft/network/EnumPacketDirection/$VALUES +FD: ih/a net/minecraft/network/PacketThreadUtil$1/field_180030_a +FD: ih/b net/minecraft/network/PacketThreadUtil$1/field_180029_b +FD: ii/a net/minecraft/network/play/server/S08PacketPlayerPosLook/field_148940_a +FD: ii/b net/minecraft/network/play/server/S08PacketPlayerPosLook/field_148938_b +FD: ii/c net/minecraft/network/play/server/S08PacketPlayerPosLook/field_148939_c +FD: ii/d net/minecraft/network/play/server/S08PacketPlayerPosLook/field_148936_d +FD: ii/e net/minecraft/network/play/server/S08PacketPlayerPosLook/field_148937_e +FD: ii/f net/minecraft/network/play/server/S08PacketPlayerPosLook/field_179835_f +FD: ij/a net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags/X +FD: ij/b net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags/Y +FD: ij/c net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags/Z +FD: ij/d net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags/Y_ROT +FD: ij/e net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags/X_ROT +FD: ij/f net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags/field_180058_f +FD: ij/g net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags/$VALUES +FD: il/a net/minecraft/network/play/server/S0EPacketSpawnObject/field_149018_a +FD: il/b net/minecraft/network/play/server/S0EPacketSpawnObject/field_149016_b +FD: il/c net/minecraft/network/play/server/S0EPacketSpawnObject/field_149017_c +FD: il/d net/minecraft/network/play/server/S0EPacketSpawnObject/field_149014_d +FD: il/e net/minecraft/network/play/server/S0EPacketSpawnObject/field_149015_e +FD: il/f net/minecraft/network/play/server/S0EPacketSpawnObject/field_149012_f +FD: il/g net/minecraft/network/play/server/S0EPacketSpawnObject/field_149013_g +FD: il/h net/minecraft/network/play/server/S0EPacketSpawnObject/field_149021_h +FD: il/i net/minecraft/network/play/server/S0EPacketSpawnObject/field_149022_i +FD: il/j net/minecraft/network/play/server/S0EPacketSpawnObject/field_149019_j +FD: il/k net/minecraft/network/play/server/S0EPacketSpawnObject/field_149020_k +FD: im/a net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/field_148992_a +FD: im/b net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/field_148990_b +FD: im/c net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/field_148991_c +FD: im/d net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/field_148988_d +FD: im/e net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/field_148989_e +FD: in/a net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/field_149059_a +FD: in/b net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/field_149057_b +FD: in/c net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/field_149058_c +FD: in/d net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/field_149055_d +FD: in/e net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/field_149056_e +FD: io/a net/minecraft/network/play/server/S0FPacketSpawnMob/field_149042_a +FD: io/b net/minecraft/network/play/server/S0FPacketSpawnMob/field_149040_b +FD: io/c net/minecraft/network/play/server/S0FPacketSpawnMob/field_149041_c +FD: io/d net/minecraft/network/play/server/S0FPacketSpawnMob/field_149038_d +FD: io/e net/minecraft/network/play/server/S0FPacketSpawnMob/field_149039_e +FD: io/f net/minecraft/network/play/server/S0FPacketSpawnMob/field_149036_f +FD: io/g net/minecraft/network/play/server/S0FPacketSpawnMob/field_149037_g +FD: io/h net/minecraft/network/play/server/S0FPacketSpawnMob/field_149047_h +FD: io/i net/minecraft/network/play/server/S0FPacketSpawnMob/field_149048_i +FD: io/j net/minecraft/network/play/server/S0FPacketSpawnMob/field_149045_j +FD: io/k net/minecraft/network/play/server/S0FPacketSpawnMob/field_149046_k +FD: io/l net/minecraft/network/play/server/S0FPacketSpawnMob/field_149043_l +FD: io/m net/minecraft/network/play/server/S0FPacketSpawnMob/field_149044_m +FD: ip/a net/minecraft/network/play/server/S10PacketSpawnPainting/field_148973_a +FD: ip/b net/minecraft/network/play/server/S10PacketSpawnPainting/field_179838_b +FD: ip/c net/minecraft/network/play/server/S10PacketSpawnPainting/field_179839_c +FD: ip/d net/minecraft/network/play/server/S10PacketSpawnPainting/field_148968_f +FD: iq/a net/minecraft/network/play/server/S0CPacketSpawnPlayer/field_148957_a +FD: iq/b net/minecraft/network/play/server/S0CPacketSpawnPlayer/field_179820_b +FD: iq/c net/minecraft/network/play/server/S0CPacketSpawnPlayer/field_148956_c +FD: iq/d net/minecraft/network/play/server/S0CPacketSpawnPlayer/field_148953_d +FD: iq/e net/minecraft/network/play/server/S0CPacketSpawnPlayer/field_148954_e +FD: iq/f net/minecraft/network/play/server/S0CPacketSpawnPlayer/field_148951_f +FD: iq/g net/minecraft/network/play/server/S0CPacketSpawnPlayer/field_148952_g +FD: iq/h net/minecraft/network/play/server/S0CPacketSpawnPlayer/field_148959_h +FD: iq/i net/minecraft/network/play/server/S0CPacketSpawnPlayer/field_148960_i +FD: iq/j net/minecraft/network/play/server/S0CPacketSpawnPlayer/field_148958_j +FD: ir/a net/minecraft/network/play/server/S0BPacketAnimation/field_148981_a +FD: ir/b net/minecraft/network/play/server/S0BPacketAnimation/field_148980_b +FD: is/a net/minecraft/network/play/server/S37PacketStatistics/field_148976_a +FD: it/a net/minecraft/network/play/server/S25PacketBlockBreakAnim/field_148852_a +FD: it/b net/minecraft/network/play/server/S25PacketBlockBreakAnim/field_179822_b +FD: it/c net/minecraft/network/play/server/S25PacketBlockBreakAnim/field_148849_e +FD: iu/a net/minecraft/network/play/server/S35PacketUpdateTileEntity/field_179824_a +FD: iu/b net/minecraft/network/play/server/S35PacketUpdateTileEntity/field_148859_d +FD: iu/c net/minecraft/network/play/server/S35PacketUpdateTileEntity/field_148860_e +FD: iv/a net/minecraft/network/play/server/S24PacketBlockAction/field_179826_a +FD: iv/b net/minecraft/network/play/server/S24PacketBlockAction/field_148872_d +FD: iv/c net/minecraft/network/play/server/S24PacketBlockAction/field_148873_e +FD: iv/d net/minecraft/network/play/server/S24PacketBlockAction/field_148871_f +FD: iw/a net/minecraft/network/play/server/S23PacketBlockChange/field_179828_a +FD: iw/b net/minecraft/network/play/server/S23PacketBlockChange/field_148883_d +FD: ix/a net/minecraft/network/play/server/S41PacketServerDifficulty/field_179833_a +FD: ix/b net/minecraft/network/play/server/S41PacketServerDifficulty/field_179832_b +FD: iy/a net/minecraft/network/play/server/S3APacketTabComplete/field_149632_a +FD: iz/a net/minecraft/network/play/server/S02PacketChat/field_148919_a +FD: iz/b net/minecraft/network/play/server/S02PacketChat/field_179842_b +FD: j/a net/minecraft/crash/CrashReportCategory/field_85078_a +FD: j/b net/minecraft/crash/CrashReportCategory/field_85076_b +FD: j/c net/minecraft/crash/CrashReportCategory/field_85077_c +FD: j/d net/minecraft/crash/CrashReportCategory/field_85075_d +FD: ja/a net/minecraft/network/play/server/S22PacketMultiBlockChange/field_148925_b +FD: ja/b net/minecraft/network/play/server/S22PacketMultiBlockChange/field_179845_b +FD: jb/a net/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData/field_180093_a +FD: jb/b net/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData/field_180091_b +FD: jb/c net/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData/field_180092_c +FD: jc/a net/minecraft/network/play/server/S32PacketConfirmTransaction/field_148894_a +FD: jc/b net/minecraft/network/play/server/S32PacketConfirmTransaction/field_148892_b +FD: jc/c net/minecraft/network/play/server/S32PacketConfirmTransaction/field_148893_c +FD: jd/a net/minecraft/network/play/server/S2EPacketCloseWindow/field_148896_a +FD: je/a net/minecraft/network/play/server/S2DPacketOpenWindow/field_148909_a +FD: je/b net/minecraft/network/play/server/S2DPacketOpenWindow/field_148907_b +FD: je/c net/minecraft/network/play/server/S2DPacketOpenWindow/field_148908_c +FD: je/d net/minecraft/network/play/server/S2DPacketOpenWindow/field_148905_d +FD: je/e net/minecraft/network/play/server/S2DPacketOpenWindow/field_148904_f +FD: jf/a net/minecraft/network/play/server/S30PacketWindowItems/field_148914_a +FD: jf/b net/minecraft/network/play/server/S30PacketWindowItems/field_148913_b +FD: jg/a net/minecraft/network/play/server/S31PacketWindowProperty/field_149186_a +FD: jg/b net/minecraft/network/play/server/S31PacketWindowProperty/field_149184_b +FD: jg/c net/minecraft/network/play/server/S31PacketWindowProperty/field_149185_c +FD: jh/a net/minecraft/network/play/server/S2FPacketSetSlot/field_149179_a +FD: jh/b net/minecraft/network/play/server/S2FPacketSetSlot/field_149177_b +FD: jh/c net/minecraft/network/play/server/S2FPacketSetSlot/field_149178_c +FD: ji/a net/minecraft/network/play/server/S3FPacketCustomPayload/field_149172_a +FD: ji/b net/minecraft/network/play/server/S3FPacketCustomPayload/field_149171_b +FD: jj/a net/minecraft/network/play/server/S40PacketDisconnect/field_149167_a +FD: jk/a net/minecraft/network/play/server/S19PacketEntityStatus/field_149164_a +FD: jk/b net/minecraft/network/play/server/S19PacketEntityStatus/field_149163_b +FD: jl/a net/minecraft/network/play/server/S49PacketUpdateEntityNBT/field_179766_a +FD: jl/b net/minecraft/network/play/server/S49PacketUpdateEntityNBT/field_179765_b +FD: jm/a net/minecraft/network/play/server/S27PacketExplosion/field_149158_a +FD: jm/b net/minecraft/network/play/server/S27PacketExplosion/field_149156_b +FD: jm/c net/minecraft/network/play/server/S27PacketExplosion/field_149157_c +FD: jm/d net/minecraft/network/play/server/S27PacketExplosion/field_149154_d +FD: jm/e net/minecraft/network/play/server/S27PacketExplosion/field_149155_e +FD: jm/f net/minecraft/network/play/server/S27PacketExplosion/field_149152_f +FD: jm/g net/minecraft/network/play/server/S27PacketExplosion/field_149153_g +FD: jm/h net/minecraft/network/play/server/S27PacketExplosion/field_149159_h +FD: jn/a net/minecraft/network/play/server/S46PacketSetCompressionLevel/field_179761_a +FD: jo/a net/minecraft/network/play/server/S2BPacketChangeGameState/field_149142_a +FD: jo/b net/minecraft/network/play/server/S2BPacketChangeGameState/field_149140_b +FD: jo/c net/minecraft/network/play/server/S2BPacketChangeGameState/field_149141_c +FD: jp/a net/minecraft/network/play/server/S00PacketKeepAlive/field_149136_a +FD: jq/a net/minecraft/network/play/server/S21PacketChunkData/field_149284_a +FD: jq/b net/minecraft/network/play/server/S21PacketChunkData/field_149282_b +FD: jq/c net/minecraft/network/play/server/S21PacketChunkData/field_179758_c +FD: jq/d net/minecraft/network/play/server/S21PacketChunkData/field_149279_g +FD: jr/a net/minecraft/network/play/server/S21PacketChunkData$Extracted/field_150282_a +FD: jr/b net/minecraft/network/play/server/S21PacketChunkData$Extracted/field_150280_b +FD: js/a net/minecraft/network/play/server/S26PacketMapChunkBulk/field_149266_a +FD: js/b net/minecraft/network/play/server/S26PacketMapChunkBulk/field_149264_b +FD: js/c net/minecraft/network/play/server/S26PacketMapChunkBulk/field_179755_c +FD: js/d net/minecraft/network/play/server/S26PacketMapChunkBulk/field_149267_h +FD: jt/a net/minecraft/network/play/server/S28PacketEffect/field_149251_a +FD: jt/b net/minecraft/network/play/server/S28PacketEffect/field_179747_b +FD: jt/c net/minecraft/network/play/server/S28PacketEffect/field_149249_b +FD: jt/d net/minecraft/network/play/server/S28PacketEffect/field_149246_f +FD: ju/a net/minecraft/network/play/server/S2APacketParticles/field_179751_a +FD: ju/b net/minecraft/network/play/server/S2APacketParticles/field_149234_b +FD: ju/c net/minecraft/network/play/server/S2APacketParticles/field_149235_c +FD: ju/d net/minecraft/network/play/server/S2APacketParticles/field_149232_d +FD: ju/e net/minecraft/network/play/server/S2APacketParticles/field_149233_e +FD: ju/f net/minecraft/network/play/server/S2APacketParticles/field_149230_f +FD: ju/g net/minecraft/network/play/server/S2APacketParticles/field_149231_g +FD: ju/h net/minecraft/network/play/server/S2APacketParticles/field_149237_h +FD: ju/i net/minecraft/network/play/server/S2APacketParticles/field_149238_i +FD: ju/j net/minecraft/network/play/server/S2APacketParticles/field_179752_j +FD: ju/k net/minecraft/network/play/server/S2APacketParticles/field_179753_k +FD: jv/a net/minecraft/network/play/server/S29PacketSoundEffect/field_149219_a +FD: jv/b net/minecraft/network/play/server/S29PacketSoundEffect/field_149217_b +FD: jv/c net/minecraft/network/play/server/S29PacketSoundEffect/field_149218_c +FD: jv/d net/minecraft/network/play/server/S29PacketSoundEffect/field_149215_d +FD: jv/e net/minecraft/network/play/server/S29PacketSoundEffect/field_149216_e +FD: jv/f net/minecraft/network/play/server/S29PacketSoundEffect/field_149214_f +FD: jw/a net/minecraft/network/play/server/S01PacketJoinGame/field_149206_a +FD: jw/b net/minecraft/network/play/server/S01PacketJoinGame/field_149204_b +FD: jw/c net/minecraft/network/play/server/S01PacketJoinGame/field_149205_c +FD: jw/d net/minecraft/network/play/server/S01PacketJoinGame/field_149202_d +FD: jw/e net/minecraft/network/play/server/S01PacketJoinGame/field_149203_e +FD: jw/f net/minecraft/network/play/server/S01PacketJoinGame/field_149200_f +FD: jw/g net/minecraft/network/play/server/S01PacketJoinGame/field_149201_g +FD: jw/h net/minecraft/network/play/server/S01PacketJoinGame/field_179745_h +FD: jx/a net/minecraft/network/play/server/S34PacketMaps/field_149191_a +FD: jx/b net/minecraft/network/play/server/S34PacketMaps/field_179739_b +FD: jx/c net/minecraft/network/play/server/S34PacketMaps/field_179740_c +FD: jx/d net/minecraft/network/play/server/S34PacketMaps/field_179737_d +FD: jx/e net/minecraft/network/play/server/S34PacketMaps/field_179738_e +FD: jx/f net/minecraft/network/play/server/S34PacketMaps/field_179735_f +FD: jx/g net/minecraft/network/play/server/S34PacketMaps/field_179736_g +FD: jx/h net/minecraft/network/play/server/S34PacketMaps/field_179741_h +FD: jy/a net/minecraft/network/play/server/S14PacketEntity/field_149074_a +FD: jy/b net/minecraft/network/play/server/S14PacketEntity/field_149072_b +FD: jy/c net/minecraft/network/play/server/S14PacketEntity/field_149073_c +FD: jy/d net/minecraft/network/play/server/S14PacketEntity/field_149070_d +FD: jy/e net/minecraft/network/play/server/S14PacketEntity/field_149071_e +FD: jy/f net/minecraft/network/play/server/S14PacketEntity/field_149068_f +FD: jy/g net/minecraft/network/play/server/S14PacketEntity/field_179743_g +FD: jy/h net/minecraft/network/play/server/S14PacketEntity/field_149069_g +FD: k/a net/minecraft/crash/CrashReportCategory$1/field_85080_a +FD: k/b net/minecraft/crash/CrashReportCategory$1/field_147151_b +FD: kc/a net/minecraft/network/play/server/S36PacketSignEditorOpen/field_179778_a +FD: kd/a net/minecraft/network/play/server/S39PacketPlayerAbilities/field_149119_a +FD: kd/b net/minecraft/network/play/server/S39PacketPlayerAbilities/field_149117_b +FD: kd/c net/minecraft/network/play/server/S39PacketPlayerAbilities/field_149118_c +FD: kd/d net/minecraft/network/play/server/S39PacketPlayerAbilities/field_149115_d +FD: kd/e net/minecraft/network/play/server/S39PacketPlayerAbilities/field_149116_e +FD: kd/f net/minecraft/network/play/server/S39PacketPlayerAbilities/field_149114_f +FD: ke/a net/minecraft/network/play/server/S42PacketCombatEvent/field_179776_a +FD: ke/b net/minecraft/network/play/server/S42PacketCombatEvent/field_179774_b +FD: ke/c net/minecraft/network/play/server/S42PacketCombatEvent/field_179775_c +FD: ke/d net/minecraft/network/play/server/S42PacketCombatEvent/field_179772_d +FD: ke/e net/minecraft/network/play/server/S42PacketCombatEvent/field_179773_e +FD: kf/a net/minecraft/network/play/server/S42PacketCombatEvent$SwitchEvent/field_179944_a +FD: kg/a net/minecraft/network/play/server/S42PacketCombatEvent$Event/ENTER_COMBAT +FD: kg/b net/minecraft/network/play/server/S42PacketCombatEvent$Event/END_COMBAT +FD: kg/c net/minecraft/network/play/server/S42PacketCombatEvent$Event/ENTITY_DIED +FD: kg/d net/minecraft/network/play/server/S42PacketCombatEvent$Event/$VALUES +FD: kh/a net/minecraft/network/play/server/S38PacketPlayerListItem/field_179770_a +FD: kh/b net/minecraft/network/play/server/S38PacketPlayerListItem/field_179769_b +FD: ki/a net/minecraft/network/play/server/S38PacketPlayerListItem$SwitchAction/field_179938_a +FD: kj/a net/minecraft/network/play/server/S38PacketPlayerListItem$Action/ADD_PLAYER +FD: kj/b net/minecraft/network/play/server/S38PacketPlayerListItem$Action/UPDATE_GAME_MODE +FD: kj/c net/minecraft/network/play/server/S38PacketPlayerListItem$Action/UPDATE_LATENCY +FD: kj/d net/minecraft/network/play/server/S38PacketPlayerListItem$Action/UPDATE_DISPLAY_NAME +FD: kj/e net/minecraft/network/play/server/S38PacketPlayerListItem$Action/REMOVE_PLAYER +FD: kj/f net/minecraft/network/play/server/S38PacketPlayerListItem$Action/$VALUES +FD: kk/a net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData/field_179968_a +FD: kk/b net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData/field_179966_b +FD: kk/c net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData/field_179967_c +FD: kk/d net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData/field_179964_d +FD: kk/e net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData/field_179965_e +FD: kl/a net/minecraft/network/play/server/S0APacketUseBed/field_149097_a +FD: kl/b net/minecraft/network/play/server/S0APacketUseBed/field_179799_b +FD: km/a net/minecraft/network/play/server/S13PacketDestroyEntities/field_149100_a +FD: kn/a net/minecraft/network/play/server/S1EPacketRemoveEntityEffect/field_149079_a +FD: kn/b net/minecraft/network/play/server/S1EPacketRemoveEntityEffect/field_149078_b +FD: ko/a net/minecraft/network/play/server/S48PacketResourcePackSend/field_179786_a +FD: ko/b net/minecraft/network/play/server/S48PacketResourcePackSend/field_179785_b +FD: kp/a net/minecraft/network/play/server/S07PacketRespawn/field_149088_a +FD: kp/b net/minecraft/network/play/server/S07PacketRespawn/field_149086_b +FD: kp/c net/minecraft/network/play/server/S07PacketRespawn/field_149087_c +FD: kp/d net/minecraft/network/play/server/S07PacketRespawn/field_149085_d +FD: kq/a net/minecraft/network/play/server/S19PacketEntityHeadLook/field_149384_a +FD: kq/b net/minecraft/network/play/server/S19PacketEntityHeadLook/field_149383_b +FD: kr/a net/minecraft/network/play/server/S44PacketWorldBorder/field_179795_a +FD: kr/b net/minecraft/network/play/server/S44PacketWorldBorder/field_179793_b +FD: kr/c net/minecraft/network/play/server/S44PacketWorldBorder/field_179794_c +FD: kr/d net/minecraft/network/play/server/S44PacketWorldBorder/field_179791_d +FD: kr/e net/minecraft/network/play/server/S44PacketWorldBorder/field_179792_e +FD: kr/f net/minecraft/network/play/server/S44PacketWorldBorder/field_179789_f +FD: kr/g net/minecraft/network/play/server/S44PacketWorldBorder/field_179790_g +FD: kr/h net/minecraft/network/play/server/S44PacketWorldBorder/field_179796_h +FD: kr/i net/minecraft/network/play/server/S44PacketWorldBorder/field_179797_i +FD: ks/a net/minecraft/network/play/server/S44PacketWorldBorder$SwitchAction/field_179947_a +FD: kt/a net/minecraft/network/play/server/S44PacketWorldBorder$Action/SET_SIZE +FD: kt/b net/minecraft/network/play/server/S44PacketWorldBorder$Action/LERP_SIZE +FD: kt/c net/minecraft/network/play/server/S44PacketWorldBorder$Action/SET_CENTER +FD: kt/d net/minecraft/network/play/server/S44PacketWorldBorder$Action/INITIALIZE +FD: kt/e net/minecraft/network/play/server/S44PacketWorldBorder$Action/SET_WARNING_TIME +FD: kt/f net/minecraft/network/play/server/S44PacketWorldBorder$Action/SET_WARNING_BLOCKS +FD: kt/g net/minecraft/network/play/server/S44PacketWorldBorder$Action/$VALUES +FD: ku/a net/minecraft/network/play/server/S43PacketCamera/field_179781_a +FD: kv/a net/minecraft/network/play/server/S09PacketHeldItemChange/field_149387_a +FD: kw/a net/minecraft/network/play/server/S3DPacketDisplayScoreboard/field_149374_a +FD: kw/b net/minecraft/network/play/server/S3DPacketDisplayScoreboard/field_149373_b +FD: kx/a net/minecraft/network/play/server/S1CPacketEntityMetadata/field_149379_a +FD: kx/b net/minecraft/network/play/server/S1CPacketEntityMetadata/field_149378_b +FD: ky/a net/minecraft/network/play/server/S1BPacketEntityAttach/field_149408_a +FD: ky/b net/minecraft/network/play/server/S1BPacketEntityAttach/field_149406_b +FD: ky/c net/minecraft/network/play/server/S1BPacketEntityAttach/field_149407_c +FD: kz/a net/minecraft/network/play/server/S12PacketEntityVelocity/field_149417_a +FD: kz/b net/minecraft/network/play/server/S12PacketEntityVelocity/field_149415_b +FD: kz/c net/minecraft/network/play/server/S12PacketEntityVelocity/field_149416_c +FD: kz/d net/minecraft/network/play/server/S12PacketEntityVelocity/field_149414_d +FD: l/a net/minecraft/crash/CrashReportCategory$2/field_85063_a +FD: la/a net/minecraft/network/play/server/S04PacketEntityEquipment/field_149394_a +FD: la/b net/minecraft/network/play/server/S04PacketEntityEquipment/field_149392_b +FD: la/c net/minecraft/network/play/server/S04PacketEntityEquipment/field_149393_c +FD: lb/a net/minecraft/network/play/server/S1FPacketSetExperience/field_149401_a +FD: lb/b net/minecraft/network/play/server/S1FPacketSetExperience/field_149399_b +FD: lb/c net/minecraft/network/play/server/S1FPacketSetExperience/field_149400_c +FD: lc/a net/minecraft/network/play/server/S06PacketUpdateHealth/field_149336_a +FD: lc/b net/minecraft/network/play/server/S06PacketUpdateHealth/field_149334_b +FD: lc/c net/minecraft/network/play/server/S06PacketUpdateHealth/field_149335_c +FD: ld/a net/minecraft/network/play/server/S3BPacketScoreboardObjective/field_149343_a +FD: ld/b net/minecraft/network/play/server/S3BPacketScoreboardObjective/field_149341_b +FD: ld/c net/minecraft/network/play/server/S3BPacketScoreboardObjective/field_179818_c +FD: ld/d net/minecraft/network/play/server/S3BPacketScoreboardObjective/field_149342_c +FD: le/a net/minecraft/network/play/server/S3EPacketTeams/field_149320_a +FD: le/b net/minecraft/network/play/server/S3EPacketTeams/field_149318_b +FD: le/c net/minecraft/network/play/server/S3EPacketTeams/field_149319_c +FD: le/d net/minecraft/network/play/server/S3EPacketTeams/field_149316_d +FD: le/e net/minecraft/network/play/server/S3EPacketTeams/field_179816_e +FD: le/f net/minecraft/network/play/server/S3EPacketTeams/field_179815_f +FD: le/g net/minecraft/network/play/server/S3EPacketTeams/field_149317_e +FD: le/h net/minecraft/network/play/server/S3EPacketTeams/field_149314_f +FD: le/i net/minecraft/network/play/server/S3EPacketTeams/field_149315_g +FD: lf/a net/minecraft/network/play/server/S3CPacketUpdateScore/field_149329_a +FD: lf/b net/minecraft/network/play/server/S3CPacketUpdateScore/field_149327_b +FD: lf/c net/minecraft/network/play/server/S3CPacketUpdateScore/field_149328_c +FD: lf/d net/minecraft/network/play/server/S3CPacketUpdateScore/field_149326_d +FD: lg/a net/minecraft/network/play/server/S3CPacketUpdateScore$Action/CHANGE +FD: lg/b net/minecraft/network/play/server/S3CPacketUpdateScore$Action/REMOVE +FD: lg/c net/minecraft/network/play/server/S3CPacketUpdateScore$Action/$VALUES +FD: lh/a net/minecraft/network/play/server/S05PacketSpawnPosition/field_179801_a +FD: li/a net/minecraft/network/play/server/S03PacketTimeUpdate/field_149369_a +FD: li/b net/minecraft/network/play/server/S03PacketTimeUpdate/field_149368_b +FD: lj/a net/minecraft/network/play/server/S45PacketTitle/field_179812_a +FD: lj/b net/minecraft/network/play/server/S45PacketTitle/field_179810_b +FD: lj/c net/minecraft/network/play/server/S45PacketTitle/field_179811_c +FD: lj/d net/minecraft/network/play/server/S45PacketTitle/field_179808_d +FD: lj/e net/minecraft/network/play/server/S45PacketTitle/field_179809_e +FD: lk/a net/minecraft/network/play/server/S45PacketTitle$Type/TITLE +FD: lk/b net/minecraft/network/play/server/S45PacketTitle$Type/SUBTITLE +FD: lk/c net/minecraft/network/play/server/S45PacketTitle$Type/TIMES +FD: lk/d net/minecraft/network/play/server/S45PacketTitle$Type/CLEAR +FD: lk/e net/minecraft/network/play/server/S45PacketTitle$Type/RESET +FD: lk/f net/minecraft/network/play/server/S45PacketTitle$Type/$VALUES +FD: ll/a net/minecraft/network/play/server/S33PacketUpdateSign/field_179706_a +FD: ll/b net/minecraft/network/play/server/S33PacketUpdateSign/field_179705_b +FD: ll/c net/minecraft/network/play/server/S33PacketUpdateSign/field_149349_d +FD: lm/a net/minecraft/network/play/server/S47PacketPlayerListHeaderFooter/field_179703_a +FD: lm/b net/minecraft/network/play/server/S47PacketPlayerListHeaderFooter/field_179702_b +FD: ln/a net/minecraft/network/play/server/S0DPacketCollectItem/field_149357_a +FD: ln/b net/minecraft/network/play/server/S0DPacketCollectItem/field_149356_b +FD: lo/a net/minecraft/network/play/server/S18PacketEntityTeleport/field_149458_a +FD: lo/b net/minecraft/network/play/server/S18PacketEntityTeleport/field_149456_b +FD: lo/c net/minecraft/network/play/server/S18PacketEntityTeleport/field_149457_c +FD: lo/d net/minecraft/network/play/server/S18PacketEntityTeleport/field_149454_d +FD: lo/e net/minecraft/network/play/server/S18PacketEntityTeleport/field_149455_e +FD: lo/f net/minecraft/network/play/server/S18PacketEntityTeleport/field_149453_f +FD: lo/g net/minecraft/network/play/server/S18PacketEntityTeleport/field_179698_g +FD: lp/a net/minecraft/network/play/server/S20PacketEntityProperties/field_149445_a +FD: lp/b net/minecraft/network/play/server/S20PacketEntityProperties/field_149444_b +FD: lq/a net/minecraft/network/play/server/S20PacketEntityProperties$Snapshot/field_151414_a +FD: lq/b net/minecraft/network/play/server/S20PacketEntityProperties$Snapshot/field_151412_b +FD: lq/c net/minecraft/network/play/server/S20PacketEntityProperties$Snapshot/field_151413_c +FD: lq/d net/minecraft/network/play/server/S20PacketEntityProperties$Snapshot/field_151411_d +FD: lr/a net/minecraft/network/play/server/S1DPacketEntityEffect/field_149434_a +FD: lr/b net/minecraft/network/play/server/S1DPacketEntityEffect/field_149432_b +FD: lr/c net/minecraft/network/play/server/S1DPacketEntityEffect/field_149433_c +FD: lr/d net/minecraft/network/play/server/S1DPacketEntityEffect/field_149431_d +FD: lr/e net/minecraft/network/play/server/S1DPacketEntityEffect/field_179708_e +FD: lt/a net/minecraft/network/play/client/C14PacketTabComplete/field_149420_a +FD: lt/b net/minecraft/network/play/client/C14PacketTabComplete/field_179710_b +FD: lu/a net/minecraft/network/play/client/C01PacketChatMessage/field_149440_a +FD: lv/a net/minecraft/network/play/client/C16PacketClientStatus/field_149437_a +FD: lw/a net/minecraft/network/play/client/C16PacketClientStatus$EnumState/PERFORM_RESPAWN +FD: lw/b net/minecraft/network/play/client/C16PacketClientStatus$EnumState/REQUEST_STATS +FD: lw/c net/minecraft/network/play/client/C16PacketClientStatus$EnumState/OPEN_INVENTORY_ACHIEVEMENT +FD: lw/d net/minecraft/network/play/client/C16PacketClientStatus$EnumState/$VALUES +FD: lx/a net/minecraft/network/play/client/C15PacketClientSettings/field_149530_a +FD: lx/b net/minecraft/network/play/client/C15PacketClientSettings/field_149528_b +FD: lx/c net/minecraft/network/play/client/C15PacketClientSettings/field_149529_c +FD: lx/d net/minecraft/network/play/client/C15PacketClientSettings/field_149526_d +FD: lx/e net/minecraft/network/play/client/C15PacketClientSettings/field_179711_e +FD: ly/a net/minecraft/network/play/client/C0FPacketConfirmTransaction/field_149536_a +FD: ly/b net/minecraft/network/play/client/C0FPacketConfirmTransaction/field_149534_b +FD: ly/c net/minecraft/network/play/client/C0FPacketConfirmTransaction/field_149535_c +FD: lz/a net/minecraft/network/play/client/C11PacketEnchantItem/field_149541_a +FD: lz/b net/minecraft/network/play/client/C11PacketEnchantItem/field_149540_b +FD: m/a net/minecraft/crash/CrashReportCategory$3/field_175749_a +FD: ma/a net/minecraft/network/play/client/C0EPacketClickWindow/field_149554_a +FD: ma/b net/minecraft/network/play/client/C0EPacketClickWindow/field_149552_b +FD: ma/c net/minecraft/network/play/client/C0EPacketClickWindow/field_149553_c +FD: ma/d net/minecraft/network/play/client/C0EPacketClickWindow/field_149550_d +FD: ma/e net/minecraft/network/play/client/C0EPacketClickWindow/field_149551_e +FD: ma/f net/minecraft/network/play/client/C0EPacketClickWindow/field_149549_f +FD: mb/a net/minecraft/network/play/client/C0DPacketCloseWindow/field_149556_a +FD: mc/a net/minecraft/network/play/client/C17PacketCustomPayload/field_149562_a +FD: mc/b net/minecraft/network/play/client/C17PacketCustomPayload/field_149561_c +FD: md/a net/minecraft/network/play/client/C02PacketUseEntity/field_149567_a +FD: md/b net/minecraft/network/play/client/C02PacketUseEntity/field_149566_b +FD: md/c net/minecraft/network/play/client/C02PacketUseEntity/field_179713_c +FD: me/a net/minecraft/network/play/client/C02PacketUseEntity$Action/INTERACT +FD: me/b net/minecraft/network/play/client/C02PacketUseEntity$Action/ATTACK +FD: me/c net/minecraft/network/play/client/C02PacketUseEntity$Action/INTERACT_AT +FD: me/d net/minecraft/network/play/client/C02PacketUseEntity$Action/$VALUES +FD: mf/a net/minecraft/network/play/client/C00PacketKeepAlive/field_149461_a +FD: mg/a net/minecraft/network/play/client/C03PacketPlayer/field_149479_a +FD: mg/b net/minecraft/network/play/client/C03PacketPlayer/field_149477_b +FD: mg/c net/minecraft/network/play/client/C03PacketPlayer/field_149478_c +FD: mg/d net/minecraft/network/play/client/C03PacketPlayer/field_149476_e +FD: mg/e net/minecraft/network/play/client/C03PacketPlayer/field_149473_f +FD: mg/f net/minecraft/network/play/client/C03PacketPlayer/field_149474_g +FD: mg/g net/minecraft/network/play/client/C03PacketPlayer/field_149480_h +FD: mg/h net/minecraft/network/play/client/C03PacketPlayer/field_149481_i +FD: mk/a net/minecraft/network/play/client/C13PacketPlayerAbilities/field_149500_a +FD: mk/b net/minecraft/network/play/client/C13PacketPlayerAbilities/field_149498_b +FD: mk/c net/minecraft/network/play/client/C13PacketPlayerAbilities/field_149499_c +FD: mk/d net/minecraft/network/play/client/C13PacketPlayerAbilities/field_149496_d +FD: mk/e net/minecraft/network/play/client/C13PacketPlayerAbilities/field_149497_e +FD: mk/f net/minecraft/network/play/client/C13PacketPlayerAbilities/field_149495_f +FD: ml/a net/minecraft/network/play/client/C07PacketPlayerDigging/field_179717_a +FD: ml/b net/minecraft/network/play/client/C07PacketPlayerDigging/field_179716_b +FD: ml/c net/minecraft/network/play/client/C07PacketPlayerDigging/field_149508_e +FD: mm/a net/minecraft/network/play/client/C07PacketPlayerDigging$Action/START_DESTROY_BLOCK +FD: mm/b net/minecraft/network/play/client/C07PacketPlayerDigging$Action/ABORT_DESTROY_BLOCK +FD: mm/c net/minecraft/network/play/client/C07PacketPlayerDigging$Action/STOP_DESTROY_BLOCK +FD: mm/d net/minecraft/network/play/client/C07PacketPlayerDigging$Action/DROP_ALL_ITEMS +FD: mm/e net/minecraft/network/play/client/C07PacketPlayerDigging$Action/DROP_ITEM +FD: mm/f net/minecraft/network/play/client/C07PacketPlayerDigging$Action/RELEASE_USE_ITEM +FD: mm/g net/minecraft/network/play/client/C07PacketPlayerDigging$Action/$VALUES +FD: mn/a net/minecraft/network/play/client/C0BPacketEntityAction/field_149517_a +FD: mn/b net/minecraft/network/play/client/C0BPacketEntityAction/field_149515_b +FD: mn/c net/minecraft/network/play/client/C0BPacketEntityAction/field_149516_c +FD: mo/a net/minecraft/network/play/client/C0BPacketEntityAction$Action/START_SNEAKING +FD: mo/b net/minecraft/network/play/client/C0BPacketEntityAction$Action/STOP_SNEAKING +FD: mo/c net/minecraft/network/play/client/C0BPacketEntityAction$Action/STOP_SLEEPING +FD: mo/d net/minecraft/network/play/client/C0BPacketEntityAction$Action/START_SPRINTING +FD: mo/e net/minecraft/network/play/client/C0BPacketEntityAction$Action/STOP_SPRINTING +FD: mo/f net/minecraft/network/play/client/C0BPacketEntityAction$Action/RIDING_JUMP +FD: mo/g net/minecraft/network/play/client/C0BPacketEntityAction$Action/OPEN_INVENTORY +FD: mo/h net/minecraft/network/play/client/C0BPacketEntityAction$Action/$VALUES +FD: mp/a net/minecraft/network/play/client/C0CPacketInput/field_149624_a +FD: mp/b net/minecraft/network/play/client/C0CPacketInput/field_149622_b +FD: mp/c net/minecraft/network/play/client/C0CPacketInput/field_149623_c +FD: mp/d net/minecraft/network/play/client/C0CPacketInput/field_149621_d +FD: mq/a net/minecraft/network/play/client/C19PacketResourcePackStatus/field_179720_a +FD: mq/b net/minecraft/network/play/client/C19PacketResourcePackStatus/field_179719_b +FD: mr/a net/minecraft/network/play/client/C19PacketResourcePackStatus$Action/SUCCESSFULLY_LOADED +FD: mr/b net/minecraft/network/play/client/C19PacketResourcePackStatus$Action/DECLINED +FD: mr/c net/minecraft/network/play/client/C19PacketResourcePackStatus$Action/FAILED_DOWNLOAD +FD: mr/d net/minecraft/network/play/client/C19PacketResourcePackStatus$Action/ACCEPTED +FD: mr/e net/minecraft/network/play/client/C19PacketResourcePackStatus$Action/$VALUES +FD: ms/a net/minecraft/network/play/client/C09PacketHeldItemChange/field_149615_a +FD: mt/a net/minecraft/network/play/client/C10PacketCreativeInventoryAction/field_149629_a +FD: mt/b net/minecraft/network/play/client/C10PacketCreativeInventoryAction/field_149628_b +FD: mu/a net/minecraft/network/play/client/C12PacketUpdateSign/field_179723_a +FD: mu/b net/minecraft/network/play/client/C12PacketUpdateSign/field_149590_d +FD: mw/a net/minecraft/network/play/client/C18PacketSpectate/field_179729_a +FD: mx/a net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/field_179726_a +FD: mx/b net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/field_179725_b +FD: mx/c net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/field_149579_d +FD: mx/d net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/field_149580_e +FD: mx/e net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/field_149577_f +FD: mx/f net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/field_149578_g +FD: mx/g net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/field_149584_h +FD: mz/a net/minecraft/network/handshake/client/C00Handshake/field_149600_a +FD: mz/b net/minecraft/network/handshake/client/C00Handshake/field_149598_b +FD: mz/c net/minecraft/network/handshake/client/C00Handshake/field_149599_c +FD: mz/d net/minecraft/network/handshake/client/C00Handshake/field_149597_d +FD: nd/a net/minecraft/network/login/server/S02PacketLoginSuccess/field_149602_a +FD: ne/a net/minecraft/network/login/server/S01PacketEncryptionRequest/field_149612_a +FD: ne/b net/minecraft/network/login/server/S01PacketEncryptionRequest/field_149610_b +FD: ne/c net/minecraft/network/login/server/S01PacketEncryptionRequest/field_149611_c +FD: net/minecraft/realms/DisconnectedRealmsScreen/lines net/minecraft/realms/DisconnectedRealmsScreen/lines +FD: net/minecraft/realms/DisconnectedRealmsScreen/parent net/minecraft/realms/DisconnectedRealmsScreen/parent +FD: net/minecraft/realms/DisconnectedRealmsScreen/reason net/minecraft/realms/DisconnectedRealmsScreen/reason +FD: net/minecraft/realms/DisconnectedRealmsScreen/title net/minecraft/realms/DisconnectedRealmsScreen/title +FD: net/minecraft/realms/RealmsAnvilLevelStorageSource/levelStorageSource net/minecraft/realms/RealmsAnvilLevelStorageSource/levelStorageSource +FD: net/minecraft/realms/RealmsBridge/LOGGER net/minecraft/realms/RealmsBridge/LOGGER +FD: net/minecraft/realms/RealmsBridge/previousScreen net/minecraft/realms/RealmsBridge/previousScreen +FD: net/minecraft/realms/RealmsButton/WIDGETS_LOCATION net/minecraft/realms/RealmsButton/WIDGETS_LOCATION +FD: net/minecraft/realms/RealmsButton/proxy net/minecraft/realms/RealmsButton/proxy +FD: net/minecraft/realms/RealmsClickableScrolledSelectionList/proxy net/minecraft/realms/RealmsClickableScrolledSelectionList/proxy +FD: net/minecraft/realms/RealmsConnect/LOGGER net/minecraft/realms/RealmsConnect/LOGGER +FD: net/minecraft/realms/RealmsConnect/aborted net/minecraft/realms/RealmsConnect/aborted +FD: net/minecraft/realms/RealmsConnect/connection net/minecraft/realms/RealmsConnect/connection +FD: net/minecraft/realms/RealmsConnect/onlineScreen net/minecraft/realms/RealmsConnect/onlineScreen +FD: net/minecraft/realms/RealmsEditBox/editBox net/minecraft/realms/RealmsEditBox/editBox +FD: net/minecraft/realms/RealmsLevelSummary/levelSummary net/minecraft/realms/RealmsLevelSummary/levelSummary +FD: net/minecraft/realms/RealmsScreen/SKIN_HAT_HEIGHT net/minecraft/realms/RealmsScreen/SKIN_HAT_HEIGHT +FD: net/minecraft/realms/RealmsScreen/SKIN_HAT_U net/minecraft/realms/RealmsScreen/SKIN_HAT_U +FD: net/minecraft/realms/RealmsScreen/SKIN_HAT_V net/minecraft/realms/RealmsScreen/SKIN_HAT_V +FD: net/minecraft/realms/RealmsScreen/SKIN_HAT_WIDTH net/minecraft/realms/RealmsScreen/SKIN_HAT_WIDTH +FD: net/minecraft/realms/RealmsScreen/SKIN_HEAD_HEIGHT net/minecraft/realms/RealmsScreen/SKIN_HEAD_HEIGHT +FD: net/minecraft/realms/RealmsScreen/SKIN_HEAD_U net/minecraft/realms/RealmsScreen/SKIN_HEAD_U +FD: net/minecraft/realms/RealmsScreen/SKIN_HEAD_V net/minecraft/realms/RealmsScreen/SKIN_HEAD_V +FD: net/minecraft/realms/RealmsScreen/SKIN_HEAD_WIDTH net/minecraft/realms/RealmsScreen/SKIN_HEAD_WIDTH +FD: net/minecraft/realms/RealmsScreen/SKIN_TEX_HEIGHT net/minecraft/realms/RealmsScreen/SKIN_TEX_HEIGHT +FD: net/minecraft/realms/RealmsScreen/SKIN_TEX_WIDTH net/minecraft/realms/RealmsScreen/SKIN_TEX_WIDTH +FD: net/minecraft/realms/RealmsScreen/height net/minecraft/realms/RealmsScreen/height +FD: net/minecraft/realms/RealmsScreen/minecraft net/minecraft/realms/RealmsScreen/minecraft +FD: net/minecraft/realms/RealmsScreen/proxy net/minecraft/realms/RealmsScreen/proxy +FD: net/minecraft/realms/RealmsScreen/width net/minecraft/realms/RealmsScreen/width +FD: net/minecraft/realms/RealmsScrolledSelectionList/proxy net/minecraft/realms/RealmsScrolledSelectionList/proxy +FD: net/minecraft/realms/RealmsServerAddress/host net/minecraft/realms/RealmsServerAddress/host +FD: net/minecraft/realms/RealmsServerAddress/port net/minecraft/realms/RealmsServerAddress/port +FD: net/minecraft/realms/RealmsServerPing/lastPingSnapshot net/minecraft/realms/RealmsServerPing/lastPingSnapshot +FD: net/minecraft/realms/RealmsServerPing/nrOfPlayers net/minecraft/realms/RealmsServerPing/nrOfPlayers +FD: net/minecraft/realms/RealmsServerStatusPinger/LOGGER net/minecraft/realms/RealmsServerStatusPinger/LOGGER +FD: net/minecraft/realms/RealmsServerStatusPinger/connections net/minecraft/realms/RealmsServerStatusPinger/connections +FD: net/minecraft/realms/RealmsSharedConstants/ILLEGAL_FILE_CHARACTERS net/minecraft/realms/RealmsSharedConstants/ILLEGAL_FILE_CHARACTERS +FD: net/minecraft/realms/RealmsSharedConstants/NETWORK_PROTOCOL_VERSION net/minecraft/realms/RealmsSharedConstants/NETWORK_PROTOCOL_VERSION +FD: net/minecraft/realms/RealmsSharedConstants/TICKS_PER_SECOND net/minecraft/realms/RealmsSharedConstants/TICKS_PER_SECOND +FD: net/minecraft/realms/RealmsSharedConstants/VERSION_STRING net/minecraft/realms/RealmsSharedConstants/VERSION_STRING +FD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/proxy net/minecraft/realms/RealmsSimpleScrolledSelectionList/proxy +FD: net/minecraft/realms/RealmsSliderButton/maxValue net/minecraft/realms/RealmsSliderButton/maxValue +FD: net/minecraft/realms/RealmsSliderButton/minValue net/minecraft/realms/RealmsSliderButton/minValue +FD: net/minecraft/realms/RealmsSliderButton/sliding net/minecraft/realms/RealmsSliderButton/sliding +FD: net/minecraft/realms/RealmsSliderButton/steps net/minecraft/realms/RealmsSliderButton/steps +FD: net/minecraft/realms/RealmsSliderButton/value net/minecraft/realms/RealmsSliderButton/value +FD: net/minecraft/realms/Tezzelator/instance net/minecraft/realms/Tezzelator/instance +FD: net/minecraft/realms/Tezzelator/t net/minecraft/realms/Tezzelator/t +FD: net/minecraft/server/MinecraftServer/A net/minecraft/server/MinecraftServer/field_71324_y +FD: net/minecraft/server/MinecraftServer/B net/minecraft/server/MinecraftServer/field_71323_z +FD: net/minecraft/server/MinecraftServer/C net/minecraft/server/MinecraftServer/field_71284_A +FD: net/minecraft/server/MinecraftServer/D net/minecraft/server/MinecraftServer/field_71285_B +FD: net/minecraft/server/MinecraftServer/E net/minecraft/server/MinecraftServer/field_71286_C +FD: net/minecraft/server/MinecraftServer/F net/minecraft/server/MinecraftServer/field_71280_D +FD: net/minecraft/server/MinecraftServer/G net/minecraft/server/MinecraftServer/field_143008_E +FD: net/minecraft/server/MinecraftServer/H net/minecraft/server/MinecraftServer/field_71292_I +FD: net/minecraft/server/MinecraftServer/I net/minecraft/server/MinecraftServer/field_71293_J +FD: net/minecraft/server/MinecraftServer/J net/minecraft/server/MinecraftServer/field_71294_K +FD: net/minecraft/server/MinecraftServer/K net/minecraft/server/MinecraftServer/field_71287_L +FD: net/minecraft/server/MinecraftServer/L net/minecraft/server/MinecraftServer/field_71288_M +FD: net/minecraft/server/MinecraftServer/M net/minecraft/server/MinecraftServer/field_71289_N +FD: net/minecraft/server/MinecraftServer/N net/minecraft/server/MinecraftServer/field_71290_O +FD: net/minecraft/server/MinecraftServer/O net/minecraft/server/MinecraftServer/field_147141_M +FD: net/minecraft/server/MinecraftServer/P net/minecraft/server/MinecraftServer/field_175588_P +FD: net/minecraft/server/MinecraftServer/Q net/minecraft/server/MinecraftServer/field_71296_Q +FD: net/minecraft/server/MinecraftServer/R net/minecraft/server/MinecraftServer/field_71299_R +FD: net/minecraft/server/MinecraftServer/S net/minecraft/server/MinecraftServer/field_71298_S +FD: net/minecraft/server/MinecraftServer/T net/minecraft/server/MinecraftServer/field_71295_T +FD: net/minecraft/server/MinecraftServer/U net/minecraft/server/MinecraftServer/field_104057_T +FD: net/minecraft/server/MinecraftServer/V net/minecraft/server/MinecraftServer/field_152364_T +FD: net/minecraft/server/MinecraftServer/W net/minecraft/server/MinecraftServer/field_147143_S +FD: net/minecraft/server/MinecraftServer/X net/minecraft/server/MinecraftServer/field_147142_T +FD: net/minecraft/server/MinecraftServer/Y net/minecraft/server/MinecraftServer/field_152365_W +FD: net/minecraft/server/MinecraftServer/Z net/minecraft/server/MinecraftServer/field_152366_X +FD: net/minecraft/server/MinecraftServer/a net/minecraft/server/MinecraftServer/field_152367_a +FD: net/minecraft/server/MinecraftServer/aa net/minecraft/server/MinecraftServer/field_175590_aa +FD: net/minecraft/server/MinecraftServer/ab net/minecraft/server/MinecraftServer/field_175591_ab +FD: net/minecraft/server/MinecraftServer/b net/minecraft/server/MinecraftServer/field_71304_b +FD: net/minecraft/server/MinecraftServer/c net/minecraft/server/MinecraftServer/field_71305_c +FD: net/minecraft/server/MinecraftServer/d net/minecraft/server/MinecraftServer/field_110456_c +FD: net/minecraft/server/MinecraftServer/e net/minecraft/server/MinecraftServer/field_71302_d +FD: net/minecraft/server/MinecraftServer/f net/minecraft/server/MinecraftServer/field_71303_e +FD: net/minecraft/server/MinecraftServer/g net/minecraft/server/MinecraftServer/field_71311_j +FD: net/minecraft/server/MinecraftServer/h net/minecraft/server/MinecraftServer/field_71312_k +FD: net/minecraft/server/MinecraftServer/i net/minecraft/server/MinecraftServer/field_175589_i +FD: net/minecraft/server/MinecraftServer/j net/minecraft/server/MinecraftServer/field_147145_h +FD: net/minecraft/server/MinecraftServer/k net/minecraft/server/MinecraftServer/field_71309_l +FD: net/minecraft/server/MinecraftServer/l net/minecraft/server/MinecraftServer/field_71310_m +FD: net/minecraft/server/MinecraftServer/m net/minecraft/server/MinecraftServer/field_71307_n +FD: net/minecraft/server/MinecraftServer/n net/minecraft/server/MinecraftServer/field_71308_o +FD: net/minecraft/server/MinecraftServer/o net/minecraft/server/MinecraftServer/field_71322_p +FD: net/minecraft/server/MinecraftServer/p net/minecraft/server/MinecraftServer/field_71321_q +FD: net/minecraft/server/MinecraftServer/q net/minecraft/server/MinecraftServer/field_147144_o +FD: net/minecraft/server/MinecraftServer/r net/minecraft/server/MinecraftServer/field_147147_p +FD: net/minecraft/server/MinecraftServer/s net/minecraft/server/MinecraftServer/field_147146_q +FD: net/minecraft/server/MinecraftServer/t net/minecraft/server/MinecraftServer/field_71320_r +FD: net/minecraft/server/MinecraftServer/u net/minecraft/server/MinecraftServer/field_71319_s +FD: net/minecraft/server/MinecraftServer/v net/minecraft/server/MinecraftServer/field_71318_t +FD: net/minecraft/server/MinecraftServer/w net/minecraft/server/MinecraftServer/field_71317_u +FD: net/minecraft/server/MinecraftServer/x net/minecraft/server/MinecraftServer/field_71316_v +FD: net/minecraft/server/MinecraftServer/y net/minecraft/server/MinecraftServer/field_71315_w +FD: net/minecraft/server/MinecraftServer/z net/minecraft/server/MinecraftServer/field_71325_x +FD: nf/a net/minecraft/network/login/server/S03PacketEnableCompression/field_179733_a +FD: ng/a net/minecraft/network/login/server/S00PacketDisconnect/field_149605_a +FD: ni/a net/minecraft/network/login/client/C00PacketLoginStart/field_149305_a +FD: nj/a net/minecraft/network/login/client/C01PacketEncryptionResponse/field_149302_a +FD: nj/b net/minecraft/network/login/client/C01PacketEncryptionResponse/field_149301_b +FD: nn/a net/minecraft/network/status/server/S01PacketPong/field_149293_a +FD: no/a net/minecraft/network/status/server/S00PacketServerInfo/field_149297_a +FD: no/b net/minecraft/network/status/server/S00PacketServerInfo/field_149296_b +FD: np/a net/minecraft/network/ServerStatusResponse/field_151326_a +FD: np/b net/minecraft/network/ServerStatusResponse/field_151324_b +FD: np/c net/minecraft/network/ServerStatusResponse/field_151325_c +FD: np/d net/minecraft/network/ServerStatusResponse/field_151323_d +FD: nq/a net/minecraft/network/ServerStatusResponse$PlayerCountData/field_151336_a +FD: nq/b net/minecraft/network/ServerStatusResponse$PlayerCountData/field_151334_b +FD: nq/c net/minecraft/network/ServerStatusResponse$PlayerCountData/field_151335_c +FD: nt/a net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier/field_151306_a +FD: nt/b net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier/field_151305_b +FD: nw/a net/minecraft/network/status/client/C01PacketPing/field_149290_a +FD: oa/a net/minecraft/util/ResourceLocation/field_110626_a +FD: oa/b net/minecraft/util/ResourceLocation/field_110625_b +FD: od/a net/minecraft/init/Bootstrap/field_179872_a +FD: od/b net/minecraft/init/Bootstrap/field_151355_a +FD: od/c net/minecraft/init/Bootstrap/field_179871_c +FD: of/b net/minecraft/init/Bootstrap$10/field_150841_b +FD: og/b net/minecraft/init/Bootstrap$11/field_150840_b +FD: oh/b net/minecraft/init/Bootstrap$12/field_150839_b +FD: oi/b net/minecraft/init/Bootstrap$13/field_150838_b +FD: ok/b net/minecraft/init/Bootstrap$15/field_179240_b +FD: ol/b net/minecraft/init/Bootstrap$16/field_179241_b +FD: oq/b net/minecraft/init/Bootstrap$5/field_150843_b +FD: or/b net/minecraft/init/Bootstrap$5$1/field_150836_b +FD: or/c net/minecraft/init/Bootstrap$5$1/field_150837_c +FD: ov/b net/minecraft/init/Bootstrap$9/field_150842_b +FD: ow/a net/minecraft/client/util/JsonException/field_151383_a +FD: ow/b net/minecraft/client/util/JsonException/field_151382_b +FD: oy/a net/minecraft/client/util/JsonException$Entry/field_151376_a +FD: oy/b net/minecraft/client/util/JsonException$Entry/field_151375_b +FD: oz/a net/minecraft/command/ServerCommand/field_73702_a +FD: oz/b net/minecraft/command/ServerCommand/field_73701_b +FD: p/a net/minecraft/crash/CrashReportCategory$4/field_175754_a +FD: pb/a net/minecraft/server/ServerEula/field_154349_a +FD: pb/b net/minecraft/server/ServerEula/field_154350_b +FD: pb/c net/minecraft/server/ServerEula/field_154351_c +FD: pc/a net/minecraft/util/LoggingPrintStream/field_179884_a +FD: pc/b net/minecraft/util/LoggingPrintStream/field_179883_b +FD: pd/a net/minecraft/server/MinecraftServer$1/field_74267_a +FD: pd/b net/minecraft/server/MinecraftServer$1/field_96245_b +FD: pe/a net/minecraft/server/MinecraftServer$2/field_96244_a +FD: pf/a net/minecraft/server/MinecraftServer$3/field_73716_a +FD: pg/a net/minecraft/server/MinecraftServer$4/field_74274_a +FD: pi/a net/minecraft/network/ThreadQuickExitException/field_179886_a +FD: pk/a net/minecraft/scoreboard/ServerScoreboard/field_96555_a +FD: pk/b net/minecraft/scoreboard/ServerScoreboard/field_96553_b +FD: pk/c net/minecraft/scoreboard/ServerScoreboard/field_96554_c +FD: pl/a net/minecraft/server/dedicated/PropertyManager/field_164440_a +FD: pl/b net/minecraft/server/dedicated/PropertyManager/field_73672_b +FD: pl/c net/minecraft/server/dedicated/PropertyManager/field_73673_c +FD: pn/h net/minecraft/server/dedicated/DedicatedPlayerList/field_164439_d +FD: po/j net/minecraft/server/dedicated/DedicatedServer/field_155771_h +FD: po/k net/minecraft/server/dedicated/DedicatedServer/field_71341_l +FD: po/l net/minecraft/server/dedicated/DedicatedServer/field_71342_m +FD: po/m net/minecraft/server/dedicated/DedicatedServer/field_71339_n +FD: po/n net/minecraft/server/dedicated/DedicatedServer/field_71340_o +FD: po/o net/minecraft/server/dedicated/DedicatedServer/field_154332_n +FD: po/p net/minecraft/server/dedicated/DedicatedServer/field_71338_p +FD: po/q net/minecraft/server/dedicated/DedicatedServer/field_71337_q +FD: po/r net/minecraft/server/dedicated/DedicatedServer/field_71335_s +FD: pp/a net/minecraft/server/dedicated/DedicatedServer$1/field_72451_a +FD: pq/a net/minecraft/server/dedicated/DedicatedServer$2/field_72428_a +FD: pr/a net/minecraft/server/dedicated/DedicatedServer$3/field_71743_a +FD: ps/a net/minecraft/server/dedicated/DedicatedServer$4/field_85171_a +FD: pt/a net/minecraft/server/dedicated/ServerHangWatchdog/field_180251_a +FD: pt/b net/minecraft/server/dedicated/ServerHangWatchdog/field_180249_b +FD: pt/c net/minecraft/server/dedicated/ServerHangWatchdog/field_180250_c +FD: pu/a net/minecraft/server/dedicated/ServerHangWatchdog$1/field_180252_a +FD: pw/a net/minecraft/server/gui/MinecraftServerGui/field_164249_a +FD: pw/b net/minecraft/server/gui/MinecraftServerGui/field_164248_b +FD: pw/c net/minecraft/server/gui/MinecraftServerGui/field_120021_b +FD: px/a net/minecraft/server/gui/MinecraftServerGui$1/field_120023_a +FD: py/a net/minecraft/server/gui/MinecraftServerGui$2/field_120025_a +FD: py/b net/minecraft/server/gui/MinecraftServerGui$2/field_120024_b +FD: pz/a net/minecraft/server/gui/MinecraftServerGui$3/field_120032_a +FD: q/a net/minecraft/crash/CrashReportCategory$5/field_175752_a +FD: qa/a net/minecraft/server/gui/MinecraftServerGui$4/field_164252_a +FD: qa/b net/minecraft/server/gui/MinecraftServerGui$4/field_164250_b +FD: qa/c net/minecraft/server/gui/MinecraftServerGui$4/field_164251_c +FD: qb/a net/minecraft/server/gui/MinecraftServerGui$5/field_164256_a +FD: qb/b net/minecraft/server/gui/MinecraftServerGui$5/field_164254_b +FD: qb/c net/minecraft/server/gui/MinecraftServerGui$5/field_164255_c +FD: qb/d net/minecraft/server/gui/MinecraftServerGui$5/field_164253_d +FD: qc/a net/minecraft/server/gui/PlayerListComponent/field_120015_a +FD: qc/b net/minecraft/server/gui/PlayerListComponent/field_120014_b +FD: qd/a net/minecraft/server/gui/StatsComponent/field_120040_a +FD: qd/b net/minecraft/server/gui/StatsComponent/field_120038_b +FD: qd/c net/minecraft/server/gui/StatsComponent/field_120039_c +FD: qd/d net/minecraft/server/gui/StatsComponent/field_120036_d +FD: qd/e net/minecraft/server/gui/StatsComponent/field_120037_e +FD: qe/a net/minecraft/server/gui/StatsComponent$1/field_120030_a +FD: qi/a net/minecraft/client/renderer/DestroyBlockProgress/field_73115_a +FD: qi/b net/minecraft/client/renderer/DestroyBlockProgress/field_180247_b +FD: qi/c net/minecraft/client/renderer/DestroyBlockProgress/field_73112_e +FD: qi/d net/minecraft/client/renderer/DestroyBlockProgress/field_82745_f +FD: qj/I net/minecraft/world/demo/DemoWorldServer/field_73072_L +FD: qj/a net/minecraft/world/demo/DemoWorldServer/field_73071_a +FD: qk/c net/minecraft/world/demo/DemoWorldManager/field_73105_c +FD: qk/d net/minecraft/world/demo/DemoWorldManager/field_73103_d +FD: qk/e net/minecraft/world/demo/DemoWorldManager/field_73104_e +FD: qk/f net/minecraft/world/demo/DemoWorldManager/field_73102_f +FD: ql/a net/minecraft/world/WorldServerMulti/field_175743_a +FD: qm/a net/minecraft/world/WorldServerMulti$1/field_177698_a +FD: qn/a net/minecraft/entity/EntityTracker/field_151249_a +FD: qn/b net/minecraft/entity/EntityTracker/field_72795_a +FD: qn/c net/minecraft/entity/EntityTracker/field_72793_b +FD: qn/d net/minecraft/entity/EntityTracker/field_72794_c +FD: qn/e net/minecraft/entity/EntityTracker/field_72792_d +FD: qo/a net/minecraft/entity/EntityTracker$1/field_96570_a +FD: qo/b net/minecraft/entity/EntityTracker$1/field_96569_b +FD: qp/a net/minecraft/world/WorldManager/field_72783_a +FD: qp/b net/minecraft/world/WorldManager/field_72782_b +FD: qq/a net/minecraft/server/management/PlayerManager/field_152627_a +FD: qq/b net/minecraft/server/management/PlayerManager/field_72701_a +FD: qq/c net/minecraft/server/management/PlayerManager/field_72699_b +FD: qq/d net/minecraft/server/management/PlayerManager/field_72700_c +FD: qq/e net/minecraft/server/management/PlayerManager/field_72697_d +FD: qq/f net/minecraft/server/management/PlayerManager/field_111193_e +FD: qq/g net/minecraft/server/management/PlayerManager/field_72698_e +FD: qq/h net/minecraft/server/management/PlayerManager/field_111192_g +FD: qq/i net/minecraft/server/management/PlayerManager/field_72696_f +FD: qr/a net/minecraft/server/management/PlayerManager$PlayerInstance/field_73265_a +FD: qr/b net/minecraft/server/management/PlayerManager$PlayerInstance/field_73263_b +FD: qr/c net/minecraft/server/management/PlayerManager$PlayerInstance/field_73264_c +FD: qr/d net/minecraft/server/management/PlayerManager$PlayerInstance/field_151254_d +FD: qr/e net/minecraft/server/management/PlayerManager$PlayerInstance/field_73262_e +FD: qr/f net/minecraft/server/management/PlayerManager$PlayerInstance/field_73260_f +FD: qr/g net/minecraft/server/management/PlayerManager$PlayerInstance/field_111198_g +FD: qs/a net/minecraft/world/gen/ChunkProviderServer/field_73250_a +FD: qs/b net/minecraft/world/gen/ChunkProviderServer/field_147417_b +FD: qs/c net/minecraft/world/gen/ChunkProviderServer/field_73248_b +FD: qs/d net/minecraft/world/gen/ChunkProviderServer/field_73249_c +FD: qs/e net/minecraft/world/gen/ChunkProviderServer/field_73246_d +FD: qs/f net/minecraft/world/gen/ChunkProviderServer/field_73247_e +FD: qs/g net/minecraft/world/gen/ChunkProviderServer/field_73244_f +FD: qs/h net/minecraft/world/gen/ChunkProviderServer/field_73245_g +FD: qs/i net/minecraft/world/gen/ChunkProviderServer/field_73251_h +FD: qt/I net/minecraft/world/WorldServer/field_73061_a +FD: qt/J net/minecraft/world/WorldServer/field_73062_L +FD: qt/K net/minecraft/world/WorldServer/field_73063_M +FD: qt/L net/minecraft/world/WorldServer/field_73064_N +FD: qt/M net/minecraft/world/WorldServer/field_73065_O +FD: qt/N net/minecraft/world/WorldServer/field_175741_N +FD: qt/O net/minecraft/world/WorldServer/field_73068_P +FD: qt/P net/minecraft/world/WorldServer/field_80004_Q +FD: qt/Q net/minecraft/world/WorldServer/field_85177_Q +FD: qt/R net/minecraft/world/WorldServer/field_175742_R +FD: qt/S net/minecraft/world/WorldServer/field_147490_S +FD: qt/T net/minecraft/world/WorldServer/field_147489_T +FD: qt/U net/minecraft/world/WorldServer/field_73069_S +FD: qt/V net/minecraft/world/WorldServer/field_94579_S +FD: qt/a net/minecraft/world/WorldServer/field_147491_a +FD: qt/b net/minecraft/world/WorldServer/field_73059_b +FD: qt/c net/minecraft/world/WorldServer/field_73058_d +FD: qt/d net/minecraft/world/WorldServer/field_175740_d +FD: qu/a net/minecraft/world/WorldServer$1/field_180243_a +FD: qw/a net/minecraft/entity/player/EntityPlayerMP/field_71135_a +FD: qw/b net/minecraft/entity/player/EntityPlayerMP/field_71133_b +FD: qw/bF net/minecraft/entity/player/EntityPlayerMP/field_147102_bM +FD: qw/bG net/minecraft/entity/player/EntityPlayerMP/field_71148_cg +FD: qw/bH net/minecraft/entity/player/EntityPlayerMP/field_71130_g +FD: qw/bI net/minecraft/entity/player/EntityPlayerMP/field_147103_bO +FD: qw/bJ net/minecraft/entity/player/EntityPlayerMP/field_130068_bO +FD: qw/bK net/minecraft/entity/player/EntityPlayerMP/field_71149_ch +FD: qw/bL net/minecraft/entity/player/EntityPlayerMP/field_71146_ci +FD: qw/bM net/minecraft/entity/player/EntityPlayerMP/field_71147_cj +FD: qw/bN net/minecraft/entity/player/EntityPlayerMP/field_71144_ck +FD: qw/bO net/minecraft/entity/player/EntityPlayerMP/field_147101_bU +FD: qw/bP net/minecraft/entity/player/EntityPlayerMP/field_71143_cn +FD: qw/bQ net/minecraft/entity/player/EntityPlayerMP/field_71140_co +FD: qw/bR net/minecraft/entity/player/EntityPlayerMP/field_143005_bX +FD: qw/bS net/minecraft/entity/player/EntityPlayerMP/field_175401_bS +FD: qw/bT net/minecraft/entity/player/EntityPlayerMP/field_71139_cq +FD: qw/c net/minecraft/entity/player/EntityPlayerMP/field_71134_c +FD: qw/d net/minecraft/entity/player/EntityPlayerMP/field_71131_d +FD: qw/e net/minecraft/entity/player/EntityPlayerMP/field_71132_e +FD: qw/f net/minecraft/entity/player/EntityPlayerMP/field_71129_f +FD: qw/g net/minecraft/entity/player/EntityPlayerMP/field_71137_h +FD: qw/h net/minecraft/entity/player/EntityPlayerMP/field_71138_i +FD: qw/i net/minecraft/entity/player/EntityPlayerMP/field_71136_j +FD: qx/a net/minecraft/server/management/ItemInWorldManager/field_73092_a +FD: qx/b net/minecraft/server/management/ItemInWorldManager/field_73090_b +FD: qx/c net/minecraft/server/management/ItemInWorldManager/field_73091_c +FD: qx/d net/minecraft/server/management/ItemInWorldManager/field_73088_d +FD: qx/e net/minecraft/server/management/ItemInWorldManager/field_73089_e +FD: qx/f net/minecraft/server/management/ItemInWorldManager/field_180240_f +FD: qx/g net/minecraft/server/management/ItemInWorldManager/field_73100_i +FD: qx/h net/minecraft/server/management/ItemInWorldManager/field_73097_j +FD: qx/i net/minecraft/server/management/ItemInWorldManager/field_180241_i +FD: qx/j net/minecraft/server/management/ItemInWorldManager/field_73093_n +FD: qx/k net/minecraft/server/management/ItemInWorldManager/field_73094_o +FD: qy/a net/minecraft/entity/EntityTrackerEntry/field_73132_a +FD: qy/b net/minecraft/entity/EntityTrackerEntry/field_73130_b +FD: qy/c net/minecraft/entity/EntityTrackerEntry/field_73131_c +FD: qy/d net/minecraft/entity/EntityTrackerEntry/field_73128_d +FD: qy/e net/minecraft/entity/EntityTrackerEntry/field_73129_e +FD: qy/f net/minecraft/entity/EntityTrackerEntry/field_73126_f +FD: qy/g net/minecraft/entity/EntityTrackerEntry/field_73127_g +FD: qy/h net/minecraft/entity/EntityTrackerEntry/field_73139_h +FD: qy/i net/minecraft/entity/EntityTrackerEntry/field_73140_i +FD: qy/j net/minecraft/entity/EntityTrackerEntry/field_73137_j +FD: qy/k net/minecraft/entity/EntityTrackerEntry/field_73138_k +FD: qy/l net/minecraft/entity/EntityTrackerEntry/field_73135_l +FD: qy/m net/minecraft/entity/EntityTrackerEntry/field_73136_m +FD: qy/n net/minecraft/entity/EntityTrackerEntry/field_73133_n +FD: qy/o net/minecraft/entity/EntityTrackerEntry/field_73134_o +FD: qy/p net/minecraft/entity/EntityTrackerEntry/field_151262_p +FD: qy/q net/minecraft/entity/EntityTrackerEntry/field_73147_p +FD: qy/r net/minecraft/entity/EntityTrackerEntry/field_73146_q +FD: qy/s net/minecraft/entity/EntityTrackerEntry/field_73145_r +FD: qy/t net/minecraft/entity/EntityTrackerEntry/field_73144_s +FD: qy/u net/minecraft/entity/EntityTrackerEntry/field_73143_t +FD: qy/v net/minecraft/entity/EntityTrackerEntry/field_73142_u +FD: qy/w net/minecraft/entity/EntityTrackerEntry/field_85178_v +FD: qy/x net/minecraft/entity/EntityTrackerEntry/field_73141_v +FD: qy/y net/minecraft/entity/EntityTrackerEntry/field_180234_y +FD: r/a net/minecraft/crash/CrashReportCategory$Entry/field_85092_a +FD: r/b net/minecraft/crash/CrashReportCategory$Entry/field_85091_b +FD: ra/a net/minecraft/network/PingResponseHandler/field_151258_a +FD: ra/b net/minecraft/network/PingResponseHandler/field_151257_b +FD: rb/a net/minecraft/client/network/NetHandlerHandshakeMemory/field_147385_a +FD: rb/b net/minecraft/client/network/NetHandlerHandshakeMemory/field_147384_b +FD: rc/a net/minecraft/network/NetworkSystem/field_151276_c +FD: rc/b net/minecraft/network/NetworkSystem/field_180232_b +FD: rc/c net/minecraft/network/NetworkSystem/field_151277_a +FD: rc/d net/minecraft/network/NetworkSystem/field_151275_b +FD: rc/e net/minecraft/network/NetworkSystem/field_151273_d +FD: rc/f net/minecraft/network/NetworkSystem/field_151274_e +FD: rc/g net/minecraft/network/NetworkSystem/field_151272_f +FD: rf/a net/minecraft/network/NetworkSystem$3/field_151279_b +FD: rg/a net/minecraft/network/NetworkSystem$4/field_151283_c +FD: rh/a net/minecraft/network/NetworkSystem$5/field_180231_a +FD: rh/b net/minecraft/network/NetworkSystem$5/field_180230_b +FD: ri/a net/minecraft/network/NetworkSystem$6/field_151284_a +FD: ri/b net/minecraft/network/NetworkSystem$6/field_151282_b +FD: ri/c net/minecraft/network/NetworkSystem$6/field_180228_c +FD: rj/a net/minecraft/network/NetHandlerPlayServer/field_147371_a +FD: rj/b net/minecraft/network/NetHandlerPlayServer/field_147369_b +FD: rj/c net/minecraft/network/NetHandlerPlayServer/field_147370_c +FD: rj/d net/minecraft/network/NetHandlerPlayServer/field_147367_d +FD: rj/e net/minecraft/network/NetHandlerPlayServer/field_147368_e +FD: rj/f net/minecraft/network/NetHandlerPlayServer/field_175090_f +FD: rj/g net/minecraft/network/NetHandlerPlayServer/field_147365_f +FD: rj/h net/minecraft/network/NetHandlerPlayServer/field_147366_g +FD: rj/i net/minecraft/network/NetHandlerPlayServer/field_147378_h +FD: rj/j net/minecraft/network/NetHandlerPlayServer/field_147379_i +FD: rj/k net/minecraft/network/NetHandlerPlayServer/field_147377_k +FD: rj/l net/minecraft/network/NetHandlerPlayServer/field_147374_l +FD: rj/m net/minecraft/network/NetHandlerPlayServer/field_147375_m +FD: rj/n net/minecraft/network/NetHandlerPlayServer/field_147372_n +FD: rj/o net/minecraft/network/NetHandlerPlayServer/field_147373_o +FD: rj/p net/minecraft/network/NetHandlerPlayServer/field_147382_p +FD: rj/q net/minecraft/network/NetHandlerPlayServer/field_147381_q +FD: rj/r net/minecraft/network/NetHandlerPlayServer/field_147380_r +FD: rk/a net/minecraft/network/NetHandlerPlayServer$1/field_151289_a +FD: rk/b net/minecraft/network/NetHandlerPlayServer$1/field_151288_b +FD: rl/a net/minecraft/network/NetHandlerPlayServer$2/field_151286_b +FD: rm/a net/minecraft/network/NetHandlerPlayServer$3/field_180227_a +FD: rm/b net/minecraft/network/NetHandlerPlayServer$3/field_180226_b +FD: rn/a net/minecraft/network/NetHandlerPlayServer$SwitchAction/field_180224_a +FD: rn/b net/minecraft/network/NetHandlerPlayServer$SwitchAction/field_180222_b +FD: rn/c net/minecraft/network/NetHandlerPlayServer$SwitchAction/field_180223_c +FD: ro/a net/minecraft/server/network/NetHandlerHandshakeTCP/field_147387_a +FD: ro/b net/minecraft/server/network/NetHandlerHandshakeTCP/field_147386_b +FD: rp/a net/minecraft/server/network/NetHandlerHandshakeTCP$SwitchEnumConnectionState/field_151291_a +FD: rq/a net/minecraft/server/network/NetHandlerLoginServer/field_147333_a +FD: rq/b net/minecraft/server/network/NetHandlerLoginServer/field_147331_b +FD: rq/c net/minecraft/server/network/NetHandlerLoginServer/field_147332_c +FD: rq/d net/minecraft/server/network/NetHandlerLoginServer/field_147329_d +FD: rq/e net/minecraft/server/network/NetHandlerLoginServer/field_147330_e +FD: rq/f net/minecraft/server/network/NetHandlerLoginServer/field_147327_f +FD: rq/g net/minecraft/server/network/NetHandlerLoginServer/field_147328_g +FD: rq/h net/minecraft/server/network/NetHandlerLoginServer/field_147336_h +FD: rq/i net/minecraft/server/network/NetHandlerLoginServer/field_147337_i +FD: rq/j net/minecraft/server/network/NetHandlerLoginServer/field_147334_j +FD: rq/k net/minecraft/server/network/NetHandlerLoginServer/field_147335_k +FD: rr/a net/minecraft/server/network/NetHandlerLoginServer$1/field_151292_a +FD: rs/a net/minecraft/server/network/NetHandlerLoginServer$2/field_180221_a +FD: rt/a net/minecraft/server/network/NetHandlerLoginServer$LoginState/HELLO +FD: rt/b net/minecraft/server/network/NetHandlerLoginServer$LoginState/KEY +FD: rt/c net/minecraft/server/network/NetHandlerLoginServer$LoginState/AUTHENTICATING +FD: rt/d net/minecraft/server/network/NetHandlerLoginServer$LoginState/READY_TO_ACCEPT +FD: rt/e net/minecraft/server/network/NetHandlerLoginServer$LoginState/ACCEPTED +FD: rt/f net/minecraft/server/network/NetHandlerLoginServer$LoginState/$VALUES +FD: ru/a net/minecraft/server/network/NetHandlerStatusServer/field_147314_a +FD: ru/b net/minecraft/server/network/NetHandlerStatusServer/field_147313_b +FD: rx/a net/minecraft/server/management/BanEntry/field_73698_a +FD: rx/b net/minecraft/server/management/BanEntry/field_73694_d +FD: rx/c net/minecraft/server/management/BanEntry/field_73695_e +FD: rx/d net/minecraft/server/management/BanEntry/field_73692_f +FD: rx/e net/minecraft/server/management/BanEntry/field_73693_g +FD: ry/a net/minecraft/server/management/PlayerProfileCache/field_152659_a +FD: ry/b net/minecraft/server/management/PlayerProfileCache/field_152660_b +FD: ry/c net/minecraft/server/management/PlayerProfileCache/field_152661_c +FD: ry/d net/minecraft/server/management/PlayerProfileCache/field_152662_d +FD: ry/e net/minecraft/server/management/PlayerProfileCache/field_152663_e +FD: ry/f net/minecraft/server/management/PlayerProfileCache/field_152664_f +FD: ry/g net/minecraft/server/management/PlayerProfileCache/field_152665_g +FD: ry/h net/minecraft/server/management/PlayerProfileCache/field_152666_h +FD: rz/a net/minecraft/server/management/PlayerProfileCache$1/field_152667_a +FD: sb/a net/minecraft/server/management/PlayerProfileCache$ProfileEntry/field_152671_a +FD: sb/b net/minecraft/server/management/PlayerProfileCache$ProfileEntry/field_152672_b +FD: sb/c net/minecraft/server/management/PlayerProfileCache$ProfileEntry/field_152673_c +FD: sc/a net/minecraft/server/management/PlayerProfileCache$Serializer/field_152677_a +FD: sf/a net/minecraft/server/management/PreYggdrasilConverter/field_152728_a +FD: sf/b net/minecraft/server/management/PreYggdrasilConverter/field_152729_b +FD: sf/c net/minecraft/server/management/PreYggdrasilConverter/field_152730_c +FD: sf/d net/minecraft/server/management/PreYggdrasilConverter/field_152731_d +FD: sf/e net/minecraft/server/management/PreYggdrasilConverter/field_152732_e +FD: sh/a net/minecraft/server/management/PreYggdrasilConverter$2/field_152734_a +FD: sh/b net/minecraft/server/management/PreYggdrasilConverter$2/field_152735_b +FD: sh/c net/minecraft/server/management/PreYggdrasilConverter$2/field_152736_c +FD: si/a net/minecraft/server/management/PreYggdrasilConverter$3/field_152737_a +FD: si/b net/minecraft/server/management/PreYggdrasilConverter$3/field_152738_b +FD: sj/a net/minecraft/server/management/PreYggdrasilConverter$4/field_152739_a +FD: sj/b net/minecraft/server/management/PreYggdrasilConverter$4/field_152740_b +FD: sk/a net/minecraft/server/management/PreYggdrasilConverter$5/field_152741_a +FD: sk/b net/minecraft/server/management/PreYggdrasilConverter$5/field_152742_b +FD: sl/a net/minecraft/server/management/PreYggdrasilConverter$6/field_152745_a +FD: sl/b net/minecraft/server/management/PreYggdrasilConverter$6/field_152746_b +FD: sl/c net/minecraft/server/management/PreYggdrasilConverter$6/field_152747_c +FD: sl/d net/minecraft/server/management/PreYggdrasilConverter$6/field_152748_d +FD: sl/e net/minecraft/server/management/PreYggdrasilConverter$6/field_152749_e +FD: sn/a net/minecraft/server/management/ServerConfigurationManager/field_152613_a +FD: sn/b net/minecraft/server/management/ServerConfigurationManager/field_152614_b +FD: sn/c net/minecraft/server/management/ServerConfigurationManager/field_152615_c +FD: sn/d net/minecraft/server/management/ServerConfigurationManager/field_152616_d +FD: sn/e net/minecraft/server/management/ServerConfigurationManager/field_72404_b +FD: sn/f net/minecraft/server/management/ServerConfigurationManager/field_177454_f +FD: sn/g net/minecraft/server/management/ServerConfigurationManager/field_72405_c +FD: sn/h net/minecraft/server/management/ServerConfigurationManager/field_148546_d +FD: sn/i net/minecraft/server/management/ServerConfigurationManager/field_72403_e +FD: sn/j net/minecraft/server/management/ServerConfigurationManager/field_72400_f +FD: sn/k net/minecraft/server/management/ServerConfigurationManager/field_72401_g +FD: sn/l net/minecraft/server/management/ServerConfigurationManager/field_72413_h +FD: sn/m net/minecraft/server/management/ServerConfigurationManager/field_72414_i +FD: sn/n net/minecraft/server/management/ServerConfigurationManager/field_72411_j +FD: sn/o net/minecraft/server/management/ServerConfigurationManager/field_148547_k +FD: sn/p net/minecraft/server/management/ServerConfigurationManager/field_72412_k +FD: sn/q net/minecraft/server/management/ServerConfigurationManager/field_72409_l +FD: sn/r net/minecraft/server/management/ServerConfigurationManager/field_72402_d +FD: sn/s net/minecraft/server/management/ServerConfigurationManager/field_72410_m +FD: sn/t net/minecraft/server/management/ServerConfigurationManager/field_72407_n +FD: sn/u net/minecraft/server/management/ServerConfigurationManager/field_72408_o +FD: so/a net/minecraft/server/management/ServerConfigurationManager$1/field_177697_a +FD: sq/a net/minecraft/server/management/UserListOpsEntry/field_152645_a +FD: sr/a net/minecraft/server/management/UserListEntry/field_152642_a +FD: ss/a net/minecraft/server/management/UserList/field_152693_a +FD: ss/b net/minecraft/server/management/UserList/field_152694_b +FD: ss/c net/minecraft/server/management/UserList/field_152695_c +FD: ss/d net/minecraft/server/management/UserList/field_152696_d +FD: ss/e net/minecraft/server/management/UserList/field_152697_e +FD: ss/f net/minecraft/server/management/UserList/field_152698_f +FD: su/a net/minecraft/server/management/UserList$Serializer/field_152752_a +FD: ta/a net/minecraft/network/rcon/RConOutputStream/field_72674_a +FD: ta/b net/minecraft/network/rcon/RConOutputStream/field_72673_b +FD: tb/a net/minecraft/network/rcon/RConUtils/field_72666_a +FD: tc/a net/minecraft/network/rcon/RConConsoleSource/field_70010_a +FD: tc/b net/minecraft/network/rcon/RConConsoleSource/field_70009_b +FD: te/a net/minecraft/network/rcon/RConThreadBase/field_72619_a +FD: te/b net/minecraft/network/rcon/RConThreadBase/field_72617_b +FD: te/c net/minecraft/network/rcon/RConThreadBase/field_164003_c +FD: te/d net/minecraft/network/rcon/RConThreadBase/field_72618_c +FD: te/e net/minecraft/network/rcon/RConThreadBase/field_72615_d +FD: te/f net/minecraft/network/rcon/RConThreadBase/field_72616_e +FD: te/g net/minecraft/network/rcon/RConThreadBase/field_72614_f +FD: te/h net/minecraft/network/rcon/RConThreadBase/field_164004_h +FD: tf/h net/minecraft/network/rcon/RConThreadQuery/field_72629_g +FD: tf/i net/minecraft/network/rcon/RConThreadQuery/field_72636_h +FD: tf/j net/minecraft/network/rcon/RConThreadQuery/field_72637_i +FD: tf/k net/minecraft/network/rcon/RConThreadQuery/field_72634_j +FD: tf/l net/minecraft/network/rcon/RConThreadQuery/field_72635_k +FD: tf/m net/minecraft/network/rcon/RConThreadQuery/field_72632_l +FD: tf/n net/minecraft/network/rcon/RConThreadQuery/field_72633_m +FD: tf/o net/minecraft/network/rcon/RConThreadQuery/field_72630_n +FD: tf/p net/minecraft/network/rcon/RConThreadQuery/field_72631_o +FD: tf/q net/minecraft/network/rcon/RConThreadQuery/field_72644_p +FD: tf/r net/minecraft/network/rcon/RConThreadQuery/field_72643_q +FD: tf/s net/minecraft/network/rcon/RConThreadQuery/field_72642_r +FD: tf/t net/minecraft/network/rcon/RConThreadQuery/field_72641_s +FD: tf/u net/minecraft/network/rcon/RConThreadQuery/field_72640_t +FD: tf/v net/minecraft/network/rcon/RConThreadQuery/field_72639_u +FD: tf/w net/minecraft/network/rcon/RConThreadQuery/field_72638_v +FD: tg/a net/minecraft/network/rcon/RConThreadQuery$Auth/field_72600_a +FD: tg/b net/minecraft/network/rcon/RConThreadQuery$Auth/field_72598_b +FD: tg/c net/minecraft/network/rcon/RConThreadQuery$Auth/field_72599_c +FD: tg/d net/minecraft/network/rcon/RConThreadQuery$Auth/field_72596_d +FD: tg/e net/minecraft/network/rcon/RConThreadQuery$Auth/field_72597_e +FD: tg/f net/minecraft/network/rcon/RConThreadQuery$Auth/field_72595_f +FD: th/h net/minecraft/network/rcon/RConThreadClient/field_164005_h +FD: th/i net/minecraft/network/rcon/RConThreadClient/field_72657_g +FD: th/j net/minecraft/network/rcon/RConThreadClient/field_72659_h +FD: th/k net/minecraft/network/rcon/RConThreadClient/field_72660_i +FD: th/l net/minecraft/network/rcon/RConThreadClient/field_72658_j +FD: ti/h net/minecraft/network/rcon/RConThreadMain/field_72647_g +FD: ti/i net/minecraft/network/rcon/RConThreadMain/field_72651_h +FD: ti/j net/minecraft/network/rcon/RConThreadMain/field_72652_i +FD: ti/k net/minecraft/network/rcon/RConThreadMain/field_72649_j +FD: ti/l net/minecraft/network/rcon/RConThreadMain/field_72650_k +FD: ti/m net/minecraft/network/rcon/RConThreadMain/field_72648_l +FD: tk/a net/minecraft/stats/Achievement/field_75993_a +FD: tk/b net/minecraft/stats/Achievement/field_75991_b +FD: tk/c net/minecraft/stats/Achievement/field_75992_c +FD: tk/d net/minecraft/stats/Achievement/field_75990_d +FD: tk/k net/minecraft/stats/Achievement/field_75996_k +FD: tk/l net/minecraft/stats/Achievement/field_75994_l +FD: tk/m net/minecraft/stats/Achievement/field_75995_m +FD: tl/A net/minecraft/stats/AchievementList/field_76027_z +FD: tl/B net/minecraft/stats/AchievementList/field_76001_A +FD: tl/C net/minecraft/stats/AchievementList/field_76002_B +FD: tl/D net/minecraft/stats/AchievementList/field_76003_C +FD: tl/E net/minecraft/stats/AchievementList/field_75998_D +FD: tl/F net/minecraft/stats/AchievementList/field_75999_E +FD: tl/G net/minecraft/stats/AchievementList/field_76000_F +FD: tl/H net/minecraft/stats/AchievementList/field_150962_H +FD: tl/I net/minecraft/stats/AchievementList/field_150963_I +FD: tl/J net/minecraft/stats/AchievementList/field_150964_J +FD: tl/K net/minecraft/stats/AchievementList/field_150965_K +FD: tl/L net/minecraft/stats/AchievementList/field_150961_L +FD: tl/M net/minecraft/stats/AchievementList/field_180219_M +FD: tl/a net/minecraft/stats/AchievementList/field_76010_a +FD: tl/b net/minecraft/stats/AchievementList/field_76008_b +FD: tl/c net/minecraft/stats/AchievementList/field_76009_c +FD: tl/d net/minecraft/stats/AchievementList/field_76006_d +FD: tl/e net/minecraft/stats/AchievementList/field_76007_e +FD: tl/f net/minecraft/stats/AchievementList/field_76004_f +FD: tl/g net/minecraft/stats/AchievementList/field_76005_g +FD: tl/h net/minecraft/stats/AchievementList/field_76017_h +FD: tl/i net/minecraft/stats/AchievementList/field_76018_i +FD: tl/j net/minecraft/stats/AchievementList/field_76015_j +FD: tl/k net/minecraft/stats/AchievementList/field_76016_k +FD: tl/l net/minecraft/stats/AchievementList/field_76013_l +FD: tl/m net/minecraft/stats/AchievementList/field_76014_m +FD: tl/n net/minecraft/stats/AchievementList/field_76011_n +FD: tl/o net/minecraft/stats/AchievementList/field_76012_o +FD: tl/p net/minecraft/stats/AchievementList/field_76026_p +FD: tl/q net/minecraft/stats/AchievementList/field_76025_q +FD: tl/r net/minecraft/stats/AchievementList/field_76024_r +FD: tl/s net/minecraft/stats/AchievementList/field_76023_s +FD: tl/t net/minecraft/stats/AchievementList/field_76022_t +FD: tl/u net/minecraft/stats/AchievementList/field_76021_u +FD: tl/v net/minecraft/stats/AchievementList/field_76020_v +FD: tl/w net/minecraft/stats/AchievementList/field_76019_w +FD: tl/x net/minecraft/stats/AchievementList/field_150966_x +FD: tl/y net/minecraft/stats/AchievementList/field_76029_x +FD: tl/z net/minecraft/stats/AchievementList/field_76028_y +FD: to/a net/minecraft/stats/StatCrafting/field_150960_a +FD: tp/b net/minecraft/stats/StatisticsFile/field_150889_b +FD: tp/c net/minecraft/stats/StatisticsFile/field_150890_c +FD: tp/d net/minecraft/stats/StatisticsFile/field_150887_d +FD: tp/e net/minecraft/stats/StatisticsFile/field_150888_e +FD: tp/f net/minecraft/stats/StatisticsFile/field_150885_f +FD: tp/g net/minecraft/stats/StatisticsFile/field_150886_g +FD: tq/a net/minecraft/stats/StatBase/field_75978_a +FD: tq/b net/minecraft/stats/StatBase/field_75976_b +FD: tq/c net/minecraft/stats/StatBase/field_150957_c +FD: tq/d net/minecraft/stats/StatBase/field_150956_d +FD: tq/e net/minecraft/stats/StatBase/field_75975_e +FD: tq/f net/minecraft/stats/StatBase/field_75972_f +FD: tq/g net/minecraft/stats/StatBase/field_75980_h +FD: tq/h net/minecraft/stats/StatBase/field_75981_i +FD: tq/i net/minecraft/stats/StatBase/field_75979_j +FD: tq/j net/minecraft/stats/StatBase/field_111202_k +FD: tq/k net/minecraft/stats/StatBase/field_75977_c +FD: tq/l net/minecraft/stats/StatBase/field_75974_d +FD: tw/a net/minecraft/util/TupleIntJsonSerializable/field_151192_a +FD: tw/b net/minecraft/util/TupleIntJsonSerializable/field_151191_b +FD: ty/A net/minecraft/stats/StatList/field_151186_x +FD: ty/B net/minecraft/stats/StatList/field_75932_A +FD: ty/C net/minecraft/stats/StatList/field_75933_B +FD: ty/D net/minecraft/stats/StatList/field_151183_A +FD: ty/E net/minecraft/stats/StatList/field_151184_B +FD: ty/F net/minecraft/stats/StatList/field_180205_F +FD: ty/G net/minecraft/stats/StatList/field_180206_G +FD: ty/H net/minecraft/stats/StatList/field_75934_C +FD: ty/I net/minecraft/stats/StatList/field_75928_D +FD: ty/J net/minecraft/stats/StatList/field_75929_E +FD: ty/K net/minecraft/stats/StatList/field_75930_F +FD: ty/a net/minecraft/stats/StatList/field_75942_a +FD: ty/b net/minecraft/stats/StatList/field_75940_b +FD: ty/c net/minecraft/stats/StatList/field_75941_c +FD: ty/d net/minecraft/stats/StatList/field_75938_d +FD: ty/e net/minecraft/stats/StatList/field_75939_e +FD: ty/f net/minecraft/stats/StatList/field_75947_j +FD: ty/g net/minecraft/stats/StatList/field_75948_k +FD: ty/h net/minecraft/stats/StatList/field_180209_h +FD: ty/i net/minecraft/stats/StatList/field_75945_l +FD: ty/j net/minecraft/stats/StatList/field_180207_j +FD: ty/k net/minecraft/stats/StatList/field_180208_k +FD: ty/l net/minecraft/stats/StatList/field_75946_m +FD: ty/m net/minecraft/stats/StatList/field_75943_n +FD: ty/n net/minecraft/stats/StatList/field_75944_o +FD: ty/o net/minecraft/stats/StatList/field_75958_p +FD: ty/p net/minecraft/stats/StatList/field_75957_q +FD: ty/q net/minecraft/stats/StatList/field_75956_r +FD: ty/r net/minecraft/stats/StatList/field_75955_s +FD: ty/s net/minecraft/stats/StatList/field_75954_t +FD: ty/t net/minecraft/stats/StatList/field_151185_q +FD: ty/u net/minecraft/stats/StatList/field_75953_u +FD: ty/v net/minecraft/stats/StatList/field_75952_v +FD: ty/w net/minecraft/stats/StatList/field_75951_w +FD: ty/x net/minecraft/stats/StatList/field_75961_x +FD: ty/y net/minecraft/stats/StatList/field_75960_y +FD: ty/z net/minecraft/stats/StatList/field_75959_z +FD: tz/a net/minecraft/stats/StatFileWriter/field_150875_a +FD: u/a net/minecraft/util/ReportedException/field_71576_a +FD: ua/a net/minecraft/util/JsonSerializableSet/field_151004_a +FD: uc/a net/minecraft/util/ClassInheritanceMultiMap/field_180218_a +FD: uc/b net/minecraft/util/ClassInheritanceMultiMap/field_180216_b +FD: uc/c net/minecraft/util/ClassInheritanceMultiMap/field_180217_c +FD: ud/a net/minecraft/util/ClassInheritanceMultiMap$1/field_180211_a +FD: ud/b net/minecraft/util/ClassInheritanceMultiMap$1/field_180210_b +FD: ue/a net/minecraft/util/ClassInheritanceMultiMap$2/field_180197_a +FD: ue/b net/minecraft/util/ClassInheritanceMultiMap$2/field_180196_b +FD: ug/a net/minecraft/util/CryptManager/field_180198_a +FD: ui/a net/minecraft/util/HttpUtil/field_180193_a +FD: ui/b net/minecraft/util/HttpUtil/field_151228_a +FD: ui/c net/minecraft/util/HttpUtil/field_151227_b +FD: uj/a net/minecraft/util/HttpUtil$1/field_151199_a +FD: uj/b net/minecraft/util/HttpUtil$1/field_151197_b +FD: uj/c net/minecraft/util/HttpUtil$1/field_151198_c +FD: uj/d net/minecraft/util/HttpUtil$1/field_151195_d +FD: uj/e net/minecraft/util/HttpUtil$1/field_151196_e +FD: uj/f net/minecraft/util/HttpUtil$1/field_151194_g +FD: ul/a net/minecraft/server/management/LowerStringMap/field_76117_a +FD: um/a net/minecraft/util/IntHashMap/field_76055_a +FD: um/b net/minecraft/util/IntHashMap/field_76053_b +FD: um/c net/minecraft/util/IntHashMap/field_76054_c +FD: um/d net/minecraft/util/IntHashMap/field_76051_d +FD: un/a net/minecraft/util/IntHashMap$Entry/field_76035_a +FD: un/b net/minecraft/util/IntHashMap$Entry/field_76033_b +FD: un/c net/minecraft/util/IntHashMap$Entry/field_76034_c +FD: un/d net/minecraft/util/IntHashMap$Entry/field_76032_d +FD: up/a net/minecraft/util/LazyLoadBase/field_179283_a +FD: up/b net/minecraft/util/LazyLoadBase/field_179282_b +FD: uq/a net/minecraft/util/ThreadSafeBoundList/field_152759_a +FD: uq/b net/minecraft/util/ThreadSafeBoundList/field_152760_b +FD: uq/c net/minecraft/util/ThreadSafeBoundList/field_152761_c +FD: uq/d net/minecraft/util/ThreadSafeBoundList/field_152762_d +FD: uq/e net/minecraft/util/ThreadSafeBoundList/field_152763_e +FD: ur/a net/minecraft/util/LongHashMap/field_76169_a +FD: ur/b net/minecraft/util/LongHashMap/field_76167_b +FD: ur/c net/minecraft/util/LongHashMap/field_180201_c +FD: ur/d net/minecraft/util/LongHashMap/field_76168_c +FD: ur/e net/minecraft/util/LongHashMap/field_76165_d +FD: ur/f net/minecraft/util/LongHashMap/field_76166_e +FD: us/a net/minecraft/util/LongHashMap$Entry/field_76150_a +FD: us/b net/minecraft/util/LongHashMap$Entry/field_76148_b +FD: us/c net/minecraft/util/LongHashMap$Entry/field_76149_c +FD: us/d net/minecraft/util/LongHashMap$Entry/field_76147_d +FD: uu/a net/minecraft/util/EnumTypeAdapterFactory$1/field_151231_a +FD: uu/b net/minecraft/util/EnumTypeAdapterFactory$1/field_151230_b +FD: uv/a net/minecraft/util/MathHelper/field_180189_a +FD: uv/b net/minecraft/util/MathHelper/field_76144_a +FD: uv/c net/minecraft/util/MathHelper/field_151242_b +FD: uw/a net/minecraft/profiler/Profiler/field_76327_a +FD: uw/b net/minecraft/profiler/Profiler/field_151234_b +FD: uw/c net/minecraft/profiler/Profiler/field_76325_b +FD: uw/d net/minecraft/profiler/Profiler/field_76326_c +FD: uw/e net/minecraft/profiler/Profiler/field_76323_d +FD: uw/f net/minecraft/profiler/Profiler/field_76324_e +FD: ux/a net/minecraft/profiler/Profiler$Result/field_76332_a +FD: ux/b net/minecraft/profiler/Profiler$Result/field_76330_b +FD: ux/c net/minecraft/profiler/Profiler$Result/field_76331_c +FD: uz/a net/minecraft/util/MouseFilter/field_76336_a +FD: uz/b net/minecraft/util/MouseFilter/field_76334_b +FD: uz/c net/minecraft/util/MouseFilter/field_76335_c +FD: v/a net/minecraft/util/ChatAllowedCharacters/field_71567_b +FD: vb/a net/minecraft/util/StringUtils/field_76339_a +FD: vi/a net/minecraft/util/Tuple/a +FD: vi/b net/minecraft/util/Tuple/b +FD: vk/a net/minecraft/util/WeightedRandom$Item/field_76292_a +FD: vl/b net/minecraft/util/WeightedRandomChestContent/field_76297_b +FD: vl/c net/minecraft/util/WeightedRandomChestContent/field_76295_d +FD: vl/d net/minecraft/util/WeightedRandomChestContent/field_76296_e +FD: vp/a net/minecraft/inventory/InventoryLargeChest/field_70479_a +FD: vp/b net/minecraft/inventory/InventoryLargeChest/field_70477_b +FD: vp/c net/minecraft/inventory/InventoryLargeChest/field_70478_c +FD: vs/a net/minecraft/inventory/InventoryHelper/field_180177_a +FD: vt/a net/minecraft/world/EnumDifficulty/PEACEFUL +FD: vt/b net/minecraft/world/EnumDifficulty/EASY +FD: vt/c net/minecraft/world/EnumDifficulty/NORMAL +FD: vt/d net/minecraft/world/EnumDifficulty/HARD +FD: vt/e net/minecraft/world/EnumDifficulty/field_151530_e +FD: vt/f net/minecraft/world/EnumDifficulty/field_151527_f +FD: vt/g net/minecraft/world/EnumDifficulty/field_151528_g +FD: vt/h net/minecraft/world/EnumDifficulty/$VALUES +FD: vu/a net/minecraft/world/DifficultyInstance/field_180172_a +FD: vu/b net/minecraft/world/DifficultyInstance/field_180171_b +FD: vx/a net/minecraft/world/LockCode/field_180162_a +FD: vx/b net/minecraft/world/LockCode/field_180161_b +FD: wa/a net/minecraft/inventory/InventoryBasic/field_70483_a +FD: wa/b net/minecraft/inventory/InventoryBasic/field_70481_b +FD: wa/c net/minecraft/inventory/InventoryBasic/field_70482_c +FD: wa/d net/minecraft/inventory/InventoryBasic/field_70480_d +FD: wa/e net/minecraft/inventory/InventoryBasic/field_94051_e +FD: wb/a net/minecraft/profiler/PlayerUsageSnooper/field_152773_a +FD: wb/b net/minecraft/profiler/PlayerUsageSnooper/field_152774_b +FD: wb/c net/minecraft/profiler/PlayerUsageSnooper/field_76480_b +FD: wb/d net/minecraft/profiler/PlayerUsageSnooper/field_76481_c +FD: wb/e net/minecraft/profiler/PlayerUsageSnooper/field_76478_d +FD: wb/f net/minecraft/profiler/PlayerUsageSnooper/field_76479_e +FD: wb/g net/minecraft/profiler/PlayerUsageSnooper/field_76476_f +FD: wb/h net/minecraft/profiler/PlayerUsageSnooper/field_98224_g +FD: wb/i net/minecraft/profiler/PlayerUsageSnooper/field_76477_g +FD: wb/j net/minecraft/profiler/PlayerUsageSnooper/field_76483_h +FD: wc/a net/minecraft/profiler/PlayerUsageSnooper$1/field_76344_a +FD: wf/a net/minecraft/util/CombatEntry/field_94569_a +FD: wf/b net/minecraft/util/CombatEntry/field_94567_b +FD: wf/c net/minecraft/util/CombatEntry/field_94568_c +FD: wf/d net/minecraft/util/CombatEntry/field_94565_d +FD: wf/e net/minecraft/util/CombatEntry/field_94566_e +FD: wf/f net/minecraft/util/CombatEntry/field_94564_f +FD: wg/a net/minecraft/util/CombatTracker/field_94556_a +FD: wg/b net/minecraft/util/CombatTracker/field_94554_b +FD: wg/c net/minecraft/util/CombatTracker/field_94555_c +FD: wg/d net/minecraft/util/CombatTracker/field_152775_d +FD: wg/e net/minecraft/util/CombatTracker/field_152776_e +FD: wg/f net/minecraft/util/CombatTracker/field_94552_d +FD: wg/g net/minecraft/util/CombatTracker/field_94553_e +FD: wg/h net/minecraft/util/CombatTracker/field_94551_f +FD: wh/a net/minecraft/util/DamageSource/field_76372_a +FD: wh/b net/minecraft/util/DamageSource/field_180137_b +FD: wh/c net/minecraft/util/DamageSource/field_76370_b +FD: wh/d net/minecraft/util/DamageSource/field_76371_c +FD: wh/e net/minecraft/util/DamageSource/field_76368_d +FD: wh/f net/minecraft/util/DamageSource/field_76369_e +FD: wh/g net/minecraft/util/DamageSource/field_76366_f +FD: wh/h net/minecraft/util/DamageSource/field_76367_g +FD: wh/i net/minecraft/util/DamageSource/field_76379_h +FD: wh/j net/minecraft/util/DamageSource/field_76380_i +FD: wh/k net/minecraft/util/DamageSource/field_76377_j +FD: wh/l net/minecraft/util/DamageSource/field_76376_m +FD: wh/m net/minecraft/util/DamageSource/field_82727_n +FD: wh/n net/minecraft/util/DamageSource/field_82728_o +FD: wh/o net/minecraft/util/DamageSource/field_82729_p +FD: wh/p net/minecraft/util/DamageSource/field_76373_n +FD: wh/q net/minecraft/util/DamageSource/field_76374_o +FD: wh/r net/minecraft/util/DamageSource/field_76385_p +FD: wh/s net/minecraft/util/DamageSource/field_151520_r +FD: wh/t net/minecraft/util/DamageSource/field_76384_q +FD: wh/u net/minecraft/util/DamageSource/field_76383_r +FD: wh/v net/minecraft/util/DamageSource/field_76382_s +FD: wh/w net/minecraft/util/DamageSource/field_76381_t +FD: wh/x net/minecraft/util/DamageSource/field_82730_x +FD: wh/y net/minecraft/util/DamageSource/field_76378_k +FD: wi/q net/minecraft/util/EntityDamageSource/field_76386_o +FD: wi/r net/minecraft/util/EntityDamageSource/field_180140_r +FD: wj/r net/minecraft/util/EntityDamageSourceIndirect/field_76387_p +FD: wp/A net/minecraft/potion/Potion/field_180147_A +FD: wp/B net/minecraft/potion/Potion/field_180148_B +FD: wp/C net/minecraft/potion/Potion/field_180149_C +FD: wp/D net/minecraft/potion/Potion/field_180143_D +FD: wp/E net/minecraft/potion/Potion/field_180144_E +FD: wp/F net/minecraft/potion/Potion/field_180145_F +FD: wp/G net/minecraft/potion/Potion/field_180146_G +FD: wp/H net/minecraft/potion/Potion/field_76415_H +FD: wp/I net/minecraft/potion/Potion/field_180150_I +FD: wp/J net/minecraft/potion/Potion/field_111188_I +FD: wp/K net/minecraft/potion/Potion/field_76418_K +FD: wp/L net/minecraft/potion/Potion/field_76414_N +FD: wp/M net/minecraft/potion/Potion/field_76416_I +FD: wp/N net/minecraft/potion/Potion/field_76417_J +FD: wp/O net/minecraft/potion/Potion/field_76412_L +FD: wp/P net/minecraft/potion/Potion/field_76413_M +FD: wp/a net/minecraft/potion/Potion/field_76425_a +FD: wp/b net/minecraft/potion/Potion/field_180151_b +FD: wp/c net/minecraft/potion/Potion/field_76424_c +FD: wp/d net/minecraft/potion/Potion/field_76421_d +FD: wp/e net/minecraft/potion/Potion/field_76422_e +FD: wp/f net/minecraft/potion/Potion/field_76419_f +FD: wp/g net/minecraft/potion/Potion/field_76420_g +FD: wp/h net/minecraft/potion/Potion/field_76432_h +FD: wp/i net/minecraft/potion/Potion/field_76433_i +FD: wp/j net/minecraft/potion/Potion/field_76430_j +FD: wp/k net/minecraft/potion/Potion/field_76431_k +FD: wp/l net/minecraft/potion/Potion/field_76428_l +FD: wp/m net/minecraft/potion/Potion/field_76429_m +FD: wp/n net/minecraft/potion/Potion/field_76426_n +FD: wp/o net/minecraft/potion/Potion/field_76427_o +FD: wp/p net/minecraft/potion/Potion/field_76441_p +FD: wp/q net/minecraft/potion/Potion/field_76440_q +FD: wp/r net/minecraft/potion/Potion/field_76439_r +FD: wp/s net/minecraft/potion/Potion/field_76438_s +FD: wp/t net/minecraft/potion/Potion/field_76437_t +FD: wp/u net/minecraft/potion/Potion/field_76436_u +FD: wp/v net/minecraft/potion/Potion/field_82731_v +FD: wp/w net/minecraft/potion/Potion/field_180152_w +FD: wp/x net/minecraft/potion/Potion/field_76444_x +FD: wp/y net/minecraft/potion/Potion/field_76443_y +FD: wp/z net/minecraft/potion/Potion/field_180153_z +FD: wq/a net/minecraft/potion/PotionEffect/field_180155_a +FD: wq/b net/minecraft/potion/PotionEffect/field_76462_a +FD: wq/c net/minecraft/potion/PotionEffect/field_76460_b +FD: wq/d net/minecraft/potion/PotionEffect/field_76461_c +FD: wq/e net/minecraft/potion/PotionEffect/field_82723_d +FD: wq/f net/minecraft/potion/PotionEffect/field_82724_e +FD: wq/g net/minecraft/potion/PotionEffect/field_100013_f +FD: wq/h net/minecraft/potion/PotionEffect/field_180156_h +FD: ws/a net/minecraft/entity/EntityAgeable/field_175504_a +FD: ws/b net/minecraft/entity/EntityAgeable/field_175502_b +FD: ws/bk net/minecraft/entity/EntityAgeable/field_98056_d +FD: ws/bl net/minecraft/entity/EntityAgeable/field_98057_e +FD: ws/c net/minecraft/entity/EntityAgeable/field_175503_c +FD: wv/A net/minecraft/entity/Entity/field_70126_B +FD: wv/B net/minecraft/entity/Entity/field_70127_C +FD: wv/C net/minecraft/entity/Entity/field_70122_E +FD: wv/D net/minecraft/entity/Entity/field_70123_F +FD: wv/E net/minecraft/entity/Entity/field_70124_G +FD: wv/F net/minecraft/entity/Entity/field_70132_H +FD: wv/G net/minecraft/entity/Entity/field_70133_I +FD: wv/H net/minecraft/entity/Entity/field_70134_J +FD: wv/I net/minecraft/entity/Entity/field_70128_L +FD: wv/J net/minecraft/entity/Entity/field_70130_N +FD: wv/K net/minecraft/entity/Entity/field_70131_O +FD: wv/L net/minecraft/entity/Entity/field_70141_P +FD: wv/M net/minecraft/entity/Entity/field_70140_Q +FD: wv/N net/minecraft/entity/Entity/field_82151_R +FD: wv/O net/minecraft/entity/Entity/field_70143_R +FD: wv/P net/minecraft/entity/Entity/field_70142_S +FD: wv/Q net/minecraft/entity/Entity/field_70137_T +FD: wv/R net/minecraft/entity/Entity/field_70136_U +FD: wv/S net/minecraft/entity/Entity/field_70138_W +FD: wv/T net/minecraft/entity/Entity/field_70145_X +FD: wv/U net/minecraft/entity/Entity/field_70144_Y +FD: wv/V net/minecraft/entity/Entity/field_70146_Z +FD: wv/W net/minecraft/entity/Entity/field_70173_aa +FD: wv/X net/minecraft/entity/Entity/field_70174_ab +FD: wv/Y net/minecraft/entity/Entity/field_70171_ac +FD: wv/Z net/minecraft/entity/Entity/field_70172_ad +FD: wv/a net/minecraft/entity/Entity/field_174836_a +FD: wv/aa net/minecraft/entity/Entity/field_70148_d +FD: wv/ab net/minecraft/entity/Entity/field_70178_ae +FD: wv/ac net/minecraft/entity/Entity/field_70180_af +FD: wv/ad net/minecraft/entity/Entity/field_70175_ag +FD: wv/ae net/minecraft/entity/Entity/field_70176_ah +FD: wv/af net/minecraft/entity/Entity/field_70162_ai +FD: wv/ag net/minecraft/entity/Entity/field_70164_aj +FD: wv/ah net/minecraft/entity/Entity/field_70158_ak +FD: wv/ai net/minecraft/entity/Entity/field_70160_al +FD: wv/aj net/minecraft/entity/Entity/field_71088_bW +FD: wv/ak net/minecraft/entity/Entity/field_71087_bX +FD: wv/al net/minecraft/entity/Entity/field_82153_h +FD: wv/am net/minecraft/entity/Entity/field_71093_bK +FD: wv/an net/minecraft/entity/Entity/field_82152_aq +FD: wv/ao net/minecraft/entity/Entity/field_96093_i +FD: wv/ap net/minecraft/entity/Entity/field_70149_e +FD: wv/aq net/minecraft/entity/Entity/field_70147_f +FD: wv/ar net/minecraft/entity/Entity/field_83001_bt +FD: wv/as net/minecraft/entity/Entity/field_174837_as +FD: wv/b net/minecraft/entity/Entity/field_70152_a +FD: wv/bU net/minecraft/entity/Entity/field_70118_ct +FD: wv/bV net/minecraft/entity/Entity/field_70117_cu +FD: wv/bW net/minecraft/entity/Entity/field_70116_cv +FD: wv/c net/minecraft/entity/Entity/field_145783_c +FD: wv/f net/minecraft/entity/Entity/field_70121_D +FD: wv/g net/minecraft/entity/Entity/field_174835_g +FD: wv/h net/minecraft/entity/Entity/field_70150_b +FD: wv/i net/minecraft/entity/Entity/field_70151_c +FD: wv/j net/minecraft/entity/Entity/field_70155_l +FD: wv/k net/minecraft/entity/Entity/field_70156_m +FD: wv/l net/minecraft/entity/Entity/field_70153_n +FD: wv/m net/minecraft/entity/Entity/field_70154_o +FD: wv/n net/minecraft/entity/Entity/field_98038_p +FD: wv/o net/minecraft/entity/Entity/field_70170_p +FD: wv/p net/minecraft/entity/Entity/field_70169_q +FD: wv/q net/minecraft/entity/Entity/field_70167_r +FD: wv/r net/minecraft/entity/Entity/field_70166_s +FD: wv/s net/minecraft/entity/Entity/field_70165_t +FD: wv/t net/minecraft/entity/Entity/field_70163_u +FD: wv/u net/minecraft/entity/Entity/field_70161_v +FD: wv/v net/minecraft/entity/Entity/field_70159_w +FD: wv/w net/minecraft/entity/Entity/field_70181_x +FD: wv/x net/minecraft/entity/Entity/field_70179_y +FD: wv/y net/minecraft/entity/Entity/field_70177_z +FD: wv/z net/minecraft/entity/Entity/field_70125_A +FD: ww/a net/minecraft/entity/Entity$1/field_85155_a +FD: wx/a net/minecraft/entity/Entity$2/field_96564_a +FD: wy/a net/minecraft/entity/Entity$3/field_180119_a +FD: wz/a net/minecraft/entity/Entity$4/field_180117_a +FD: x/a net/minecraft/util/Util$EnumOS/LINUX +FD: x/b net/minecraft/util/Util$EnumOS/SOLARIS +FD: x/c net/minecraft/util/Util$EnumOS/WINDOWS +FD: x/d net/minecraft/util/Util$EnumOS/OSX +FD: x/e net/minecraft/util/Util$EnumOS/UNKNOWN +FD: x/f net/minecraft/util/Util$EnumOS/$VALUES +FD: xb/a net/minecraft/entity/EntityList/field_75627_a +FD: xb/b net/minecraft/entity/EntityList/field_151516_b +FD: xb/c net/minecraft/entity/EntityList/field_75625_b +FD: xb/d net/minecraft/entity/EntityList/field_75626_c +FD: xb/e net/minecraft/entity/EntityList/field_75623_d +FD: xb/f net/minecraft/entity/EntityList/field_75624_e +FD: xb/g net/minecraft/entity/EntityList/field_180126_g +FD: xc/a net/minecraft/entity/EntityList$EntityEggInfo/field_75613_a +FD: xc/b net/minecraft/entity/EntityList$EntityEggInfo/field_75611_b +FD: xc/c net/minecraft/entity/EntityList$EntityEggInfo/field_75612_c +FD: xc/d net/minecraft/entity/EntityList$EntityEggInfo/field_151512_d +FD: xc/e net/minecraft/entity/EntityList$EntityEggInfo/field_151513_e +FD: xe/a net/minecraft/command/IEntitySelector/field_94557_a +FD: xe/b net/minecraft/command/IEntitySelector/field_152785_b +FD: xe/c net/minecraft/command/IEntitySelector/field_96566_b +FD: xe/d net/minecraft/command/IEntitySelector/field_180132_d +FD: xj/a net/minecraft/command/IEntitySelector$ArmoredMob/field_96567_c +FD: xk/a net/minecraft/entity/item/EntityXPOrb/field_70533_a +FD: xk/b net/minecraft/entity/item/EntityXPOrb/field_70531_b +FD: xk/c net/minecraft/entity/item/EntityXPOrb/field_70532_c +FD: xk/d net/minecraft/entity/item/EntityXPOrb/field_70529_d +FD: xk/e net/minecraft/entity/item/EntityXPOrb/field_70530_e +FD: xk/f net/minecraft/entity/item/EntityXPOrb/field_80001_f +FD: xk/g net/minecraft/entity/item/EntityXPOrb/field_80002_g +FD: xm/a net/minecraft/entity/EntityLivingBase/field_110156_b +FD: xm/aA net/minecraft/entity/EntityLivingBase/field_70754_ba +FD: xm/aB net/minecraft/entity/EntityLivingBase/field_70771_an +FD: xm/aC net/minecraft/entity/EntityLivingBase/field_70727_aS +FD: xm/aD net/minecraft/entity/EntityLivingBase/field_70726_aT +FD: xm/aE net/minecraft/entity/EntityLivingBase/field_70769_ao +FD: xm/aF net/minecraft/entity/EntityLivingBase/field_70770_ap +FD: xm/aG net/minecraft/entity/EntityLivingBase/field_70761_aq +FD: xm/aH net/minecraft/entity/EntityLivingBase/field_70760_ar +FD: xm/aI net/minecraft/entity/EntityLivingBase/field_70759_as +FD: xm/aJ net/minecraft/entity/EntityLivingBase/field_70758_at +FD: xm/aK net/minecraft/entity/EntityLivingBase/field_70747_aH +FD: xm/aL net/minecraft/entity/EntityLivingBase/field_70717_bb +FD: xm/aM net/minecraft/entity/EntityLivingBase/field_70718_bc +FD: xm/aN net/minecraft/entity/EntityLivingBase/field_70729_aU +FD: xm/aO net/minecraft/entity/EntityLivingBase/field_70708_bq +FD: xm/aP net/minecraft/entity/EntityLivingBase/field_70768_au +FD: xm/aQ net/minecraft/entity/EntityLivingBase/field_110154_aX +FD: xm/aR net/minecraft/entity/EntityLivingBase/field_70764_aw +FD: xm/aS net/minecraft/entity/EntityLivingBase/field_70763_ax +FD: xm/aT net/minecraft/entity/EntityLivingBase/field_70741_aB +FD: xm/aU net/minecraft/entity/EntityLivingBase/field_70744_aE +FD: xm/aV net/minecraft/entity/EntityLivingBase/field_110153_bc +FD: xm/aW net/minecraft/entity/EntityLivingBase/field_70703_bu +FD: xm/aX net/minecraft/entity/EntityLivingBase/field_70702_br +FD: xm/aY net/minecraft/entity/EntityLivingBase/field_70701_bs +FD: xm/aZ net/minecraft/entity/EntityLivingBase/field_70704_bt +FD: xm/ap net/minecraft/entity/EntityLivingBase/field_82175_bq +FD: xm/aq net/minecraft/entity/EntityLivingBase/field_110158_av +FD: xm/ar net/minecraft/entity/EntityLivingBase/field_70720_be +FD: xm/as net/minecraft/entity/EntityLivingBase/field_70737_aN +FD: xm/at net/minecraft/entity/EntityLivingBase/field_70738_aO +FD: xm/au net/minecraft/entity/EntityLivingBase/field_70739_aP +FD: xm/av net/minecraft/entity/EntityLivingBase/field_70725_aQ +FD: xm/aw net/minecraft/entity/EntityLivingBase/field_70732_aI +FD: xm/ax net/minecraft/entity/EntityLivingBase/field_70733_aJ +FD: xm/ay net/minecraft/entity/EntityLivingBase/field_70722_aY +FD: xm/az net/minecraft/entity/EntityLivingBase/field_70721_aZ +FD: xm/b net/minecraft/entity/EntityLivingBase/field_110157_c +FD: xm/ba net/minecraft/entity/EntityLivingBase/field_70716_bi +FD: xm/bb net/minecraft/entity/EntityLivingBase/field_70709_bj +FD: xm/bc net/minecraft/entity/EntityLivingBase/field_70710_bk +FD: xm/bd net/minecraft/entity/EntityLivingBase/field_110152_bk +FD: xm/be net/minecraft/entity/EntityLivingBase/field_70712_bm +FD: xm/bf net/minecraft/entity/EntityLivingBase/field_70705_bn +FD: xm/bg net/minecraft/entity/EntityLivingBase/field_70755_b +FD: xm/bh net/minecraft/entity/EntityLivingBase/field_70756_c +FD: xm/bi net/minecraft/entity/EntityLivingBase/field_110150_bn +FD: xm/bj net/minecraft/entity/EntityLivingBase/field_142016_bo +FD: xm/bk net/minecraft/entity/EntityLivingBase/field_70746_aG +FD: xm/bl net/minecraft/entity/EntityLivingBase/field_70773_bE +FD: xm/bm net/minecraft/entity/EntityLivingBase/field_110151_bq +FD: xm/c net/minecraft/entity/EntityLivingBase/field_110155_d +FD: xm/f net/minecraft/entity/EntityLivingBase/field_94063_bt +FD: xm/g net/minecraft/entity/EntityLivingBase/field_70713_bf +FD: xm/h net/minecraft/entity/EntityLivingBase/field_82180_bT +FD: xm/i net/minecraft/entity/EntityLivingBase/field_70752_e +FD: xn/a net/minecraft/entity/EntityLiving/field_70749_g +FD: xn/a_ net/minecraft/entity/EntityLiving/field_70757_a +FD: xn/b net/minecraft/entity/EntityLiving/field_70762_j +FD: xn/b_ net/minecraft/entity/EntityLiving/field_70728_aV +FD: xn/bg net/minecraft/entity/EntityLiving/field_70715_bh +FD: xn/bh net/minecraft/entity/EntityLiving/field_82174_bp +FD: xn/bi net/minecraft/entity/EntityLiving/field_70723_bA +FD: xn/bj net/minecraft/entity/EntityLiving/field_82182_bS +FD: xn/bk net/minecraft/entity/EntityLiving/field_82172_bs +FD: xn/bl net/minecraft/entity/EntityLiving/field_82179_bU +FD: xn/bm net/minecraft/entity/EntityLiving/field_110169_bv +FD: xn/bn net/minecraft/entity/EntityLiving/field_110168_bw +FD: xn/bo net/minecraft/entity/EntityLiving/field_110170_bx +FD: xn/c net/minecraft/entity/EntityLiving/field_70696_bz +FD: xn/f net/minecraft/entity/EntityLiving/field_70765_h +FD: xn/g net/minecraft/entity/EntityLiving/field_70767_i +FD: xn/h net/minecraft/entity/EntityLiving/field_70699_by +FD: xn/i net/minecraft/entity/EntityLiving/field_70714_bg +FD: xo/a net/minecraft/entity/EntityLiving$SpawnPlacementType/ON_GROUND +FD: xo/b net/minecraft/entity/EntityLiving$SpawnPlacementType/IN_AIR +FD: xo/c net/minecraft/entity/EntityLiving$SpawnPlacementType/IN_WATER +FD: xo/d net/minecraft/entity/EntityLiving$SpawnPlacementType/$VALUES +FD: xp/a net/minecraft/entity/EnumCreatureType/MONSTER +FD: xp/b net/minecraft/entity/EnumCreatureType/CREATURE +FD: xp/c net/minecraft/entity/EnumCreatureType/AMBIENT +FD: xp/d net/minecraft/entity/EnumCreatureType/WATER_CREATURE +FD: xp/e net/minecraft/entity/EnumCreatureType/field_75605_d +FD: xp/f net/minecraft/entity/EnumCreatureType/field_75606_e +FD: xp/g net/minecraft/entity/EnumCreatureType/field_75603_f +FD: xp/h net/minecraft/entity/EnumCreatureType/field_75604_g +FD: xp/i net/minecraft/entity/EnumCreatureType/field_82707_i +FD: xp/j net/minecraft/entity/EnumCreatureType/$VALUES +FD: xr/a net/minecraft/entity/EntitySpawnPlacementRegistry/field_180110_a +FD: xs/a net/minecraft/entity/EnumCreatureAttribute/UNDEFINED +FD: xs/b net/minecraft/entity/EnumCreatureAttribute/UNDEAD +FD: xs/c net/minecraft/entity/EnumCreatureAttribute/ARTHROPOD +FD: xs/d net/minecraft/entity/EnumCreatureAttribute/$VALUES +FD: xu/a net/minecraft/entity/EntityCreature/field_70775_bC +FD: xu/b net/minecraft/entity/EntityCreature/field_70772_bD +FD: xu/bi net/minecraft/entity/EntityCreature/field_110179_h +FD: xu/bj net/minecraft/entity/EntityCreature/field_110181_i +FD: xu/bk net/minecraft/entity/EntityCreature/field_110180_bt +FD: xu/c net/minecraft/entity/EntityCreature/field_110178_bs +FD: xv/a net/minecraft/entity/DataWatcher/field_151511_a +FD: xv/b net/minecraft/entity/DataWatcher/field_92086_a +FD: xv/c net/minecraft/entity/DataWatcher/field_75697_a +FD: xv/d net/minecraft/entity/DataWatcher/field_75695_b +FD: xv/e net/minecraft/entity/DataWatcher/field_75696_c +FD: xv/f net/minecraft/entity/DataWatcher/field_75694_d +FD: xw/a net/minecraft/entity/DataWatcher$WatchableObject/field_75678_a +FD: xw/b net/minecraft/entity/DataWatcher$WatchableObject/field_75676_b +FD: xw/c net/minecraft/entity/DataWatcher$WatchableObject/field_75677_c +FD: xw/d net/minecraft/entity/DataWatcher$WatchableObject/field_75675_d +FD: xx/bk net/minecraft/entity/passive/EntityTameable/field_70911_d +FD: ya/a net/minecraft/entity/ai/attributes/AttributeModifier/field_111174_a +FD: ya/b net/minecraft/entity/ai/attributes/AttributeModifier/field_111172_b +FD: ya/c net/minecraft/entity/ai/attributes/AttributeModifier/field_111173_c +FD: ya/d net/minecraft/entity/ai/attributes/AttributeModifier/field_111170_d +FD: ya/e net/minecraft/entity/ai/attributes/AttributeModifier/field_111171_e +FD: yb/a net/minecraft/entity/ai/attributes/BaseAttribute/field_180373_a +FD: yb/b net/minecraft/entity/ai/attributes/BaseAttribute/field_111115_a +FD: yb/c net/minecraft/entity/ai/attributes/BaseAttribute/field_111113_b +FD: yb/d net/minecraft/entity/ai/attributes/BaseAttribute/field_111114_c +FD: yc/a net/minecraft/entity/ai/attributes/BaseAttributeMap/field_111154_a +FD: yc/b net/minecraft/entity/ai/attributes/BaseAttributeMap/field_111153_b +FD: yc/c net/minecraft/entity/ai/attributes/BaseAttributeMap/field_180377_c +FD: ye/a net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/field_111138_a +FD: ye/b net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/field_111136_b +FD: ye/c net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/field_111137_c +FD: ye/d net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/field_111134_d +FD: ye/e net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/field_111135_e +FD: ye/f net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/field_111132_f +FD: ye/g net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/field_111133_g +FD: ye/h net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/field_111139_h +FD: yf/d net/minecraft/entity/ai/attributes/ServersideAttributeMap/field_111163_c +FD: yf/e net/minecraft/entity/ai/attributes/ServersideAttributeMap/field_111162_d +FD: yg/a net/minecraft/entity/ai/attributes/RangedAttribute/field_111120_a +FD: yg/b net/minecraft/entity/ai/attributes/RangedAttribute/field_111118_b +FD: yg/c net/minecraft/entity/ai/attributes/RangedAttribute/field_111119_c +FD: yj/a net/minecraft/entity/EntityBodyHelper/field_75668_a +FD: yj/b net/minecraft/entity/EntityBodyHelper/field_75666_b +FD: yj/c net/minecraft/entity/EntityBodyHelper/field_75667_c +FD: yl/a net/minecraft/entity/ai/EntityJumpHelper/field_75662_b +FD: yl/b net/minecraft/entity/ai/EntityJumpHelper/field_75663_a +FD: ym/a net/minecraft/entity/ai/EntityLookHelper/field_75659_a +FD: ym/b net/minecraft/entity/ai/EntityLookHelper/field_75657_b +FD: ym/c net/minecraft/entity/ai/EntityLookHelper/field_75658_c +FD: ym/d net/minecraft/entity/ai/EntityLookHelper/field_75655_d +FD: ym/e net/minecraft/entity/ai/EntityLookHelper/field_75656_e +FD: ym/f net/minecraft/entity/ai/EntityLookHelper/field_75653_f +FD: ym/g net/minecraft/entity/ai/EntityLookHelper/field_75654_g +FD: yn/a net/minecraft/entity/ai/EntityMoveHelper/field_75648_a +FD: yn/b net/minecraft/entity/ai/EntityMoveHelper/field_75646_b +FD: yn/c net/minecraft/entity/ai/EntityMoveHelper/field_75647_c +FD: yn/d net/minecraft/entity/ai/EntityMoveHelper/field_75644_d +FD: yn/e net/minecraft/entity/ai/EntityMoveHelper/field_75645_e +FD: yn/f net/minecraft/entity/ai/EntityMoveHelper/field_75643_f +FD: yp/a net/minecraft/entity/ai/EntityAIAvoidEntity/field_179509_a +FD: yp/b net/minecraft/entity/ai/EntityAIAvoidEntity/field_75380_a +FD: yp/c net/minecraft/entity/ai/EntityAIAvoidEntity/field_75376_d +FD: yp/d net/minecraft/entity/ai/EntityAIAvoidEntity/field_75378_b +FD: yp/e net/minecraft/entity/ai/EntityAIAvoidEntity/field_75379_c +FD: yp/f net/minecraft/entity/ai/EntityAIAvoidEntity/field_179508_f +FD: yp/g net/minecraft/entity/ai/EntityAIAvoidEntity/field_75374_f +FD: yp/h net/minecraft/entity/ai/EntityAIAvoidEntity/field_75375_g +FD: yp/i net/minecraft/entity/ai/EntityAIAvoidEntity/field_179510_i +FD: yq/a net/minecraft/entity/ai/EntityAIAvoidEntity$1/field_98219_c +FD: yr/a net/minecraft/entity/ai/EntityAIBeg/field_75387_a +FD: yr/b net/minecraft/entity/ai/EntityAIBeg/field_75385_b +FD: yr/c net/minecraft/entity/ai/EntityAIBeg/field_75386_c +FD: yr/d net/minecraft/entity/ai/EntityAIBeg/field_75383_d +FD: yr/e net/minecraft/entity/ai/EntityAIBeg/field_75384_e +FD: ys/g net/minecraft/entity/ai/EntityAIBreakDoor/field_75359_i +FD: ys/h net/minecraft/entity/ai/EntityAIBreakDoor/field_75358_j +FD: yt/a net/minecraft/entity/ai/EntityAIMate/field_75394_a +FD: yt/b net/minecraft/entity/ai/EntityAIMate/field_75392_b +FD: yt/c net/minecraft/entity/ai/EntityAIMate/field_75393_c +FD: yt/d net/minecraft/entity/ai/EntityAIMate/field_75390_d +FD: yt/e net/minecraft/entity/ai/EntityAIMate/field_75391_e +FD: yu/a net/minecraft/entity/ai/EntityAIControlledByPlayer/field_82640_a +FD: yu/b net/minecraft/entity/ai/EntityAIControlledByPlayer/field_82638_b +FD: yu/c net/minecraft/entity/ai/EntityAIControlledByPlayer/field_82639_c +FD: yu/d net/minecraft/entity/ai/EntityAIControlledByPlayer/field_82636_d +FD: yu/e net/minecraft/entity/ai/EntityAIControlledByPlayer/field_82637_e +FD: yu/f net/minecraft/entity/ai/EntityAIControlledByPlayer/field_82635_f +FD: yv/a net/minecraft/entity/ai/EntityAIDoorInteract/field_75356_a +FD: yv/b net/minecraft/entity/ai/EntityAIDoorInteract/field_179507_b +FD: yv/c net/minecraft/entity/ai/EntityAIDoorInteract/field_151504_e +FD: yv/d net/minecraft/entity/ai/EntityAIDoorInteract/field_75350_f +FD: yv/e net/minecraft/entity/ai/EntityAIDoorInteract/field_75351_g +FD: yv/f net/minecraft/entity/ai/EntityAIDoorInteract/field_75357_h +FD: yw/a net/minecraft/entity/ai/EntityAIEatGrass/field_151502_a +FD: yw/b net/minecraft/entity/ai/EntityAIEatGrass/field_179505_b +FD: yw/c net/minecraft/entity/ai/EntityAIEatGrass/field_151500_b +FD: yw/d net/minecraft/entity/ai/EntityAIEatGrass/field_151501_c +FD: yx/a net/minecraft/entity/ai/EntityAIFleeSun/field_75372_a +FD: yx/b net/minecraft/entity/ai/EntityAIFleeSun/field_75370_b +FD: yx/c net/minecraft/entity/ai/EntityAIFleeSun/field_75371_c +FD: yx/d net/minecraft/entity/ai/EntityAIFleeSun/field_75368_d +FD: yx/e net/minecraft/entity/ai/EntityAIFleeSun/field_75369_e +FD: yx/f net/minecraft/entity/ai/EntityAIFleeSun/field_75367_f +FD: yy/a net/minecraft/entity/ai/EntityAISwimming/field_75373_a +FD: yz/a net/minecraft/entity/ai/EntityAIFollowOwner/field_75342_a +FD: yz/b net/minecraft/entity/ai/EntityAIFollowOwner/field_75340_b +FD: yz/c net/minecraft/entity/ai/EntityAIFollowOwner/field_75341_c +FD: yz/d net/minecraft/entity/ai/EntityAIFollowOwner/field_75338_d +FD: yz/e net/minecraft/entity/ai/EntityAIFollowOwner/field_75339_e +FD: yz/f net/minecraft/entity/ai/EntityAIFollowOwner/field_75336_f +FD: yz/g net/minecraft/entity/ai/EntityAIFollowOwner/field_75337_g +FD: yz/h net/minecraft/entity/ai/EntityAIFollowOwner/field_75343_h +FD: yz/i net/minecraft/entity/ai/EntityAIFollowOwner/field_75344_i +FD: z/a net/minecraft/command/CommandBase/field_71533_a +FD: za/a net/minecraft/entity/ai/EntityAIFollowParent/field_75348_a +FD: za/b net/minecraft/entity/ai/EntityAIFollowParent/field_75346_b +FD: za/c net/minecraft/entity/ai/EntityAIFollowParent/field_75347_c +FD: za/d net/minecraft/entity/ai/EntityAIFollowParent/field_75345_d +FD: zb/a net/minecraft/entity/ai/EntityAIBase/field_75254_a +FD: zc/a net/minecraft/entity/ai/EntityAITasks/field_151506_a +FD: zc/b net/minecraft/entity/ai/EntityAITasks/field_75782_a +FD: zc/c net/minecraft/entity/ai/EntityAITasks/field_75780_b +FD: zc/d net/minecraft/entity/ai/EntityAITasks/field_75781_c +FD: zc/e net/minecraft/entity/ai/EntityAITasks/field_75778_d +FD: zc/f net/minecraft/entity/ai/EntityAITasks/field_75779_e +FD: zd/a net/minecraft/entity/ai/EntityAITasks$EntityAITaskEntry/field_75733_a +FD: zd/b net/minecraft/entity/ai/EntityAITasks$EntityAITaskEntry/field_75731_b +FD: zd/c net/minecraft/entity/ai/EntityAITasks$EntityAITaskEntry/field_75732_c +FD: ze/c net/minecraft/entity/ai/EntityAIHarvestFarmland/field_179504_c +FD: ze/d net/minecraft/entity/ai/EntityAIHarvestFarmland/field_179502_d +FD: ze/e net/minecraft/entity/ai/EntityAIHarvestFarmland/field_179503_e +FD: ze/f net/minecraft/entity/ai/EntityAIHarvestFarmland/field_179501_f +FD: zg/a net/minecraft/entity/ai/EntityAILeapAtTarget/field_75328_a +FD: zg/b net/minecraft/entity/ai/EntityAILeapAtTarget/field_75326_b +FD: zg/c net/minecraft/entity/ai/EntityAILeapAtTarget/field_75327_c +FD: zh/a net/minecraft/entity/ai/EntityAIWatchClosest/field_75332_b +FD: zh/b net/minecraft/entity/ai/EntityAIWatchClosest/field_75334_a +FD: zh/c net/minecraft/entity/ai/EntityAIWatchClosest/field_75333_c +FD: zh/d net/minecraft/entity/ai/EntityAIWatchClosest/field_75329_f +FD: zh/e net/minecraft/entity/ai/EntityAIWatchClosest/field_75330_d +FD: zh/f net/minecraft/entity/ai/EntityAIWatchClosest/field_75331_e +FD: zi/e net/minecraft/entity/ai/EntityAILookAtTradePlayer/field_75335_b +FD: zj/a net/minecraft/entity/ai/EntityAIVillagerMate/field_75452_a +FD: zj/b net/minecraft/entity/ai/EntityAIVillagerMate/field_75450_b +FD: zj/c net/minecraft/entity/ai/EntityAIVillagerMate/field_75451_c +FD: zj/d net/minecraft/entity/ai/EntityAIVillagerMate/field_75448_d +FD: zj/e net/minecraft/entity/ai/EntityAIVillagerMate/field_75449_e +FD: zk/a net/minecraft/entity/ai/EntityAIAttackOnCollide/field_75443_a +FD: zk/b net/minecraft/entity/ai/EntityAIAttackOnCollide/field_75441_b +FD: zk/c net/minecraft/entity/ai/EntityAIAttackOnCollide/field_75439_d +FD: zk/d net/minecraft/entity/ai/EntityAIAttackOnCollide/field_75440_e +FD: zk/e net/minecraft/entity/ai/EntityAIAttackOnCollide/field_75437_f +FD: zk/f net/minecraft/entity/ai/EntityAIAttackOnCollide/field_75438_g +FD: zk/g net/minecraft/entity/ai/EntityAIAttackOnCollide/field_75444_h +FD: zk/h net/minecraft/entity/ai/EntityAIAttackOnCollide/field_75445_i +FD: zk/i net/minecraft/entity/ai/EntityAIAttackOnCollide/field_151497_i +FD: zk/j net/minecraft/entity/ai/EntityAIAttackOnCollide/field_151495_j +FD: zk/k net/minecraft/entity/ai/EntityAIAttackOnCollide/field_151496_k +FD: zl/a net/minecraft/entity/ai/EntityAIMoveIndoors/field_75424_a +FD: zl/b net/minecraft/entity/ai/EntityAIMoveIndoors/field_75422_b +FD: zl/c net/minecraft/entity/ai/EntityAIMoveIndoors/field_75423_c +FD: zl/d net/minecraft/entity/ai/EntityAIMoveIndoors/field_75421_d +FD: zm/a net/minecraft/entity/ai/EntityAIMoveThroughVillage/field_75420_a +FD: zm/b net/minecraft/entity/ai/EntityAIMoveThroughVillage/field_75418_b +FD: zm/c net/minecraft/entity/ai/EntityAIMoveThroughVillage/field_75419_c +FD: zm/d net/minecraft/entity/ai/EntityAIMoveThroughVillage/field_75416_d +FD: zm/e net/minecraft/entity/ai/EntityAIMoveThroughVillage/field_75417_e +FD: zm/f net/minecraft/entity/ai/EntityAIMoveThroughVillage/field_75415_f +FD: zn/a net/minecraft/entity/ai/EntityAIMoveToBlock/field_179496_a +FD: zn/b net/minecraft/entity/ai/EntityAIMoveToBlock/field_179494_b +FD: zn/c net/minecraft/entity/ai/EntityAIMoveToBlock/field_179495_c +FD: zn/d net/minecraft/entity/ai/EntityAIMoveToBlock/field_179492_d +FD: zn/e net/minecraft/entity/ai/EntityAIMoveToBlock/field_179493_e +FD: zn/f net/minecraft/entity/ai/EntityAIMoveToBlock/field_179490_f +FD: zn/g net/minecraft/entity/ai/EntityAIMoveToBlock/field_179491_g +FD: zn/h net/minecraft/entity/ai/EntityAIMoveToBlock/field_179497_h +FD: zo/a net/minecraft/entity/ai/EntityAIMoveTowardsRestriction/field_75436_a +FD: zo/b net/minecraft/entity/ai/EntityAIMoveTowardsRestriction/field_75434_b +FD: zo/c net/minecraft/entity/ai/EntityAIMoveTowardsRestriction/field_75435_c +FD: zo/d net/minecraft/entity/ai/EntityAIMoveTowardsRestriction/field_75432_d +FD: zo/e net/minecraft/entity/ai/EntityAIMoveTowardsRestriction/field_75433_e +FD: zp/a net/minecraft/entity/ai/EntityAIMoveTowardsTarget/field_75431_a +FD: zp/b net/minecraft/entity/ai/EntityAIMoveTowardsTarget/field_75429_b +FD: zp/c net/minecraft/entity/ai/EntityAIMoveTowardsTarget/field_75430_c +FD: zp/d net/minecraft/entity/ai/EntityAIMoveTowardsTarget/field_75427_d +FD: zp/e net/minecraft/entity/ai/EntityAIMoveTowardsTarget/field_75428_e +FD: zp/f net/minecraft/entity/ai/EntityAIMoveTowardsTarget/field_75425_f +FD: zp/g net/minecraft/entity/ai/EntityAIMoveTowardsTarget/field_75426_g +FD: zq/a net/minecraft/entity/ai/EntityAIOcelotAttack/field_75411_a +FD: zq/b net/minecraft/entity/ai/EntityAIOcelotAttack/field_75409_b +FD: zq/c net/minecraft/entity/ai/EntityAIOcelotAttack/field_75410_c +FD: zq/d net/minecraft/entity/ai/EntityAIOcelotAttack/field_75408_d +FD: zr/c net/minecraft/entity/ai/EntityAIOcelotSit/field_151493_a +FD: zs/a net/minecraft/entity/ai/EntityAILookAtVillager/field_75397_a +FD: zs/b net/minecraft/entity/ai/EntityAILookAtVillager/field_75395_b +FD: zs/c net/minecraft/entity/ai/EntityAILookAtVillager/field_75396_c +FD: zt/g net/minecraft/entity/ai/EntityAIOpenDoor/field_75361_i +FD: zt/h net/minecraft/entity/ai/EntityAIOpenDoor/field_75360_j +FD: zu/a net/minecraft/entity/ai/EntityAIPanic/field_75265_b +FD: zu/b net/minecraft/entity/ai/EntityAIPanic/field_75267_a +FD: zu/c net/minecraft/entity/ai/EntityAIPanic/field_75266_c +FD: zu/d net/minecraft/entity/ai/EntityAIPanic/field_75263_d +FD: zu/e net/minecraft/entity/ai/EntityAIPanic/field_75264_e +FD: zv/a net/minecraft/entity/ai/EntityAIPlay/field_75262_a +FD: zv/b net/minecraft/entity/ai/EntityAIPlay/field_75260_b +FD: zv/c net/minecraft/entity/ai/EntityAIPlay/field_75261_c +FD: zv/d net/minecraft/entity/ai/EntityAIPlay/field_75259_d +FD: zx/a net/minecraft/entity/ai/EntityAILookIdle/field_75258_a +FD: zx/b net/minecraft/entity/ai/EntityAILookIdle/field_75256_b +FD: zx/c net/minecraft/entity/ai/EntityAILookIdle/field_75257_c +FD: zx/d net/minecraft/entity/ai/EntityAILookIdle/field_75255_d +FD: zy/a net/minecraft/entity/ai/EntityAIWander/field_75457_a +FD: zy/b net/minecraft/entity/ai/EntityAIWander/field_75455_b +FD: zy/c net/minecraft/entity/ai/EntityAIWander/field_75456_c +FD: zy/d net/minecraft/entity/ai/EntityAIWander/field_75453_d +FD: zy/e net/minecraft/entity/ai/EntityAIWander/field_75454_e +FD: zy/f net/minecraft/entity/ai/EntityAIWander/field_179481_f +FD: zy/g net/minecraft/entity/ai/EntityAIWander/field_179482_g +FD: zz/a net/minecraft/entity/ai/EntityAIArrowAttack/field_75322_b +FD: zz/b net/minecraft/entity/ai/EntityAIArrowAttack/field_82641_b +FD: zz/c net/minecraft/entity/ai/EntityAIArrowAttack/field_75323_c +FD: zz/d net/minecraft/entity/ai/EntityAIArrowAttack/field_75320_d +FD: zz/e net/minecraft/entity/ai/EntityAIArrowAttack/field_75321_e +FD: zz/f net/minecraft/entity/ai/EntityAIArrowAttack/field_75318_f +FD: zz/g net/minecraft/entity/ai/EntityAIArrowAttack/field_96561_g +FD: zz/h net/minecraft/entity/ai/EntityAIArrowAttack/field_75325_h +FD: zz/i net/minecraft/entity/ai/EntityAIArrowAttack/field_96562_i +FD: zz/j net/minecraft/entity/ai/EntityAIArrowAttack/field_82642_h +MD: a/a (I)La; net/minecraft/util/EnumChatFormatting/func_175744_a (I)Lnet/minecraft/util/EnumChatFormatting; +MD: a/a (Ljava/lang/String;)Ljava/lang/String; net/minecraft/util/EnumChatFormatting/func_110646_a (Ljava/lang/String;)Ljava/lang/String; +MD: a/a (ZZ)Ljava/util/Collection; net/minecraft/util/EnumChatFormatting/func_96296_a (ZZ)Ljava/util/Collection; +MD: a/b ()I net/minecraft/util/EnumChatFormatting/func_175746_b ()I +MD: a/b (Ljava/lang/String;)La; net/minecraft/util/EnumChatFormatting/func_96300_b (Ljava/lang/String;)Lnet/minecraft/util/EnumChatFormatting; +MD: a/c ()Z net/minecraft/util/EnumChatFormatting/func_96301_b ()Z +MD: a/c (Ljava/lang/String;)Ljava/lang/String; net/minecraft/util/EnumChatFormatting/func_175745_c (Ljava/lang/String;)Ljava/lang/String; +MD: a/d ()Z net/minecraft/util/EnumChatFormatting/func_96302_c ()Z +MD: a/e ()Ljava/lang/String; net/minecraft/util/EnumChatFormatting/func_96297_d ()Ljava/lang/String; +MD: a/toString ()Ljava/lang/String; net/minecraft/util/EnumChatFormatting/toString ()Ljava/lang/String; +MD: a/values ()[La; net/minecraft/util/EnumChatFormatting/values ()[Lnet/minecraft/util/EnumChatFormatting; +MD: aa/a ()D net/minecraft/command/CommandBase$CoordinateArg/func_179628_a ()D +MD: aa/b ()D net/minecraft/command/CommandBase$CoordinateArg/func_179629_b ()D +MD: aa/c ()Z net/minecraft/command/CommandBase$CoordinateArg/func_179630_c ()Z +MD: aaa/a ()Z net/minecraft/entity/ai/EntityAIRestrictOpenDoor/func_75250_a ()Z +MD: aaa/b ()Z net/minecraft/entity/ai/EntityAIRestrictOpenDoor/func_75253_b ()Z +MD: aaa/c ()V net/minecraft/entity/ai/EntityAIRestrictOpenDoor/func_75249_e ()V +MD: aaa/d ()V net/minecraft/entity/ai/EntityAIRestrictOpenDoor/func_75251_c ()V +MD: aaa/e ()V net/minecraft/entity/ai/EntityAIRestrictOpenDoor/func_75246_d ()V +MD: aab/a ()Z net/minecraft/entity/ai/EntityAIRestrictSun/func_75250_a ()Z +MD: aab/c ()V net/minecraft/entity/ai/EntityAIRestrictSun/func_75249_e ()V +MD: aab/d ()V net/minecraft/entity/ai/EntityAIRestrictSun/func_75251_c ()V +MD: aac/a ()Z net/minecraft/entity/ai/EntityAIRunAroundLikeCrazy/func_75250_a ()Z +MD: aac/b ()Z net/minecraft/entity/ai/EntityAIRunAroundLikeCrazy/func_75253_b ()Z +MD: aac/c ()V net/minecraft/entity/ai/EntityAIRunAroundLikeCrazy/func_75249_e ()V +MD: aac/e ()V net/minecraft/entity/ai/EntityAIRunAroundLikeCrazy/func_75246_d ()V +MD: aad/a ()Z net/minecraft/entity/ai/EntityAISit/func_75250_a ()Z +MD: aad/a (Z)V net/minecraft/entity/ai/EntityAISit/func_75270_a (Z)V +MD: aad/c ()V net/minecraft/entity/ai/EntityAISit/func_75249_e ()V +MD: aad/d ()V net/minecraft/entity/ai/EntityAISit/func_75251_c ()V +MD: aae/a ()Z net/minecraft/entity/ai/EntityAICreeperSwell/func_75250_a ()Z +MD: aae/c ()V net/minecraft/entity/ai/EntityAICreeperSwell/func_75249_e ()V +MD: aae/d ()V net/minecraft/entity/ai/EntityAICreeperSwell/func_75251_c ()V +MD: aae/e ()V net/minecraft/entity/ai/EntityAICreeperSwell/func_75246_d ()V +MD: aaf/a ()Z net/minecraft/entity/ai/EntityAIFollowGolem/func_75250_a ()Z +MD: aaf/b ()Z net/minecraft/entity/ai/EntityAIFollowGolem/func_75253_b ()Z +MD: aaf/c ()V net/minecraft/entity/ai/EntityAIFollowGolem/func_75249_e ()V +MD: aaf/d ()V net/minecraft/entity/ai/EntityAIFollowGolem/func_75251_c ()V +MD: aaf/e ()V net/minecraft/entity/ai/EntityAIFollowGolem/func_75246_d ()V +MD: aag/a ()Z net/minecraft/entity/ai/EntityAITempt/func_75250_a ()Z +MD: aag/b ()Z net/minecraft/entity/ai/EntityAITempt/func_75253_b ()Z +MD: aag/c ()V net/minecraft/entity/ai/EntityAITempt/func_75249_e ()V +MD: aag/d ()V net/minecraft/entity/ai/EntityAITempt/func_75251_c ()V +MD: aag/e ()V net/minecraft/entity/ai/EntityAITempt/func_75246_d ()V +MD: aag/f ()Z net/minecraft/entity/ai/EntityAITempt/func_75277_f ()Z +MD: aah/a ()Z net/minecraft/entity/ai/EntityAITradePlayer/func_75250_a ()Z +MD: aah/c ()V net/minecraft/entity/ai/EntityAITradePlayer/func_75249_e ()V +MD: aah/d ()V net/minecraft/entity/ai/EntityAITradePlayer/func_75251_c ()V +MD: aai/c ()V net/minecraft/entity/ai/EntityAIVillagerInteract/func_75249_e ()V +MD: aai/e ()V net/minecraft/entity/ai/EntityAIVillagerInteract/func_75246_d ()V +MD: aak/a ()Z net/minecraft/entity/ai/EntityAIDefendVillage/func_75250_a ()Z +MD: aak/c ()V net/minecraft/entity/ai/EntityAIDefendVillage/func_75249_e ()V +MD: aal/a ()Z net/minecraft/entity/ai/EntityAIHurtByTarget/func_75250_a ()Z +MD: aal/a (Lxu;Lxm;)V net/minecraft/entity/ai/EntityAIHurtByTarget/func_179446_a (Lnet/minecraft/entity/EntityCreature;Lnet/minecraft/entity/EntityLivingBase;)V +MD: aal/c ()V net/minecraft/entity/ai/EntityAIHurtByTarget/func_75249_e ()V +MD: aam/a ()Z net/minecraft/entity/ai/EntityAIFindEntityNearest/func_75250_a ()Z +MD: aam/a (Laam;)Lxn; net/minecraft/entity/ai/EntityAIFindEntityNearest/access$000 (Lnet/minecraft/entity/ai/EntityAIFindEntityNearest;)Lnet/minecraft/entity/EntityLiving; +MD: aam/b ()Z net/minecraft/entity/ai/EntityAIFindEntityNearest/func_75253_b ()Z +MD: aam/c ()V net/minecraft/entity/ai/EntityAIFindEntityNearest/func_75249_e ()V +MD: aam/d ()V net/minecraft/entity/ai/EntityAIFindEntityNearest/func_75251_c ()V +MD: aam/f ()D net/minecraft/entity/ai/EntityAIFindEntityNearest/func_179438_f ()D +MD: aan/a (Lxm;)Z net/minecraft/entity/ai/EntityAIFindEntityNearest$1/func_179876_a (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: aan/apply (Ljava/lang/Object;)Z net/minecraft/entity/ai/EntityAIFindEntityNearest$1/apply (Ljava/lang/Object;)Z +MD: aao/a ()Z net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer/func_75250_a ()Z +MD: aao/a (Laao;)Lxn; net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer/access$000 (Lnet/minecraft/entity/ai/EntityAIFindEntityNearestPlayer;)Lnet/minecraft/entity/EntityLiving; +MD: aao/b ()Z net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer/func_75253_b ()Z +MD: aao/c ()V net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer/func_75249_e ()V +MD: aao/d ()V net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer/func_75251_c ()V +MD: aao/f ()D net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer/func_179431_f ()D +MD: aap/a (Lwv;)Z net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer$1/func_179880_a (Lnet/minecraft/entity/Entity;)Z +MD: aap/apply (Ljava/lang/Object;)Z net/minecraft/entity/ai/EntityAIFindEntityNearestPlayer$1/apply (Ljava/lang/Object;)Z +MD: aaq/a ()Z net/minecraft/entity/ai/EntityAINearestAttackableTarget/func_75250_a ()Z +MD: aaq/c ()V net/minecraft/entity/ai/EntityAINearestAttackableTarget/func_75249_e ()V +MD: aar/a (Lxm;)Z net/minecraft/entity/ai/EntityAINearestAttackableTarget$1/func_179878_a (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: aar/apply (Ljava/lang/Object;)Z net/minecraft/entity/ai/EntityAINearestAttackableTarget$1/apply (Ljava/lang/Object;)Z +MD: aas/a (Lwv;Lwv;)I net/minecraft/entity/ai/EntityAINearestAttackableTarget$Sorter/compare (Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/Entity;)I +MD: aas/compare (Ljava/lang/Object;Ljava/lang/Object;)I net/minecraft/entity/ai/EntityAINearestAttackableTarget$Sorter/compare (Ljava/lang/Object;Ljava/lang/Object;)I +MD: aat/a ()Z net/minecraft/entity/ai/EntityAITargetNonTamed/func_75250_a ()Z +MD: aau/a ()Z net/minecraft/entity/ai/EntityAIOwnerHurtByTarget/func_75250_a ()Z +MD: aau/c ()V net/minecraft/entity/ai/EntityAIOwnerHurtByTarget/func_75249_e ()V +MD: aav/a ()Z net/minecraft/entity/ai/EntityAIOwnerHurtTarget/func_75250_a ()Z +MD: aav/c ()V net/minecraft/entity/ai/EntityAIOwnerHurtTarget/func_75249_e ()V +MD: aaw/a (Lxm;)Z net/minecraft/entity/ai/EntityAITarget/func_75295_a (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: aaw/a (Lxm;Z)Z net/minecraft/entity/ai/EntityAITarget/func_75296_a (Lnet/minecraft/entity/EntityLivingBase;Z)Z +MD: aaw/a (Lxn;Lxm;ZZ)Z net/minecraft/entity/ai/EntityAITarget/func_179445_a (Lnet/minecraft/entity/EntityLiving;Lnet/minecraft/entity/EntityLivingBase;ZZ)Z +MD: aaw/b ()Z net/minecraft/entity/ai/EntityAITarget/func_75253_b ()Z +MD: aaw/c ()V net/minecraft/entity/ai/EntityAITarget/func_75249_e ()V +MD: aaw/d ()V net/minecraft/entity/ai/EntityAITarget/func_75251_c ()V +MD: aaw/f ()D net/minecraft/entity/ai/EntityAITarget/func_111175_f ()D +MD: aay/a ()Lbpw; net/minecraft/pathfinding/PathNavigateGround/func_179679_a ()Lnet/minecraft/pathfinding/PathFinder; +MD: aay/a (IIIIIILbrw;DD)Z net/minecraft/pathfinding/PathNavigateGround/func_179683_a (IIIIIILnet/minecraft/util/Vec3;DD)Z +MD: aay/a (Lbrw;Lbrw;III)Z net/minecraft/pathfinding/PathNavigateGround/func_75493_a (Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;III)Z +MD: aay/a (Z)V net/minecraft/pathfinding/PathNavigateGround/func_179690_a (Z)V +MD: aay/b ()Z net/minecraft/pathfinding/PathNavigateGround/func_75485_k ()Z +MD: aay/b (IIIIIILbrw;DD)Z net/minecraft/pathfinding/PathNavigateGround/func_179692_b (IIIIIILnet/minecraft/util/Vec3;DD)Z +MD: aay/b (Z)V net/minecraft/pathfinding/PathNavigateGround/func_179688_b (Z)V +MD: aay/c ()Lbrw; net/minecraft/pathfinding/PathNavigateGround/func_75502_i ()Lnet/minecraft/util/Vec3; +MD: aay/c (Z)V net/minecraft/pathfinding/PathNavigateGround/func_179691_c (Z)V +MD: aay/d ()V net/minecraft/pathfinding/PathNavigateGround/func_75487_m ()V +MD: aay/d (Z)V net/minecraft/pathfinding/PathNavigateGround/func_179693_d (Z)V +MD: aay/e ()Z net/minecraft/pathfinding/PathNavigateGround/func_179689_e ()Z +MD: aay/e (Z)V net/minecraft/pathfinding/PathNavigateGround/func_179685_e (Z)V +MD: aay/g ()Z net/minecraft/pathfinding/PathNavigateGround/func_179686_g ()Z +MD: aay/h ()Z net/minecraft/pathfinding/PathNavigateGround/func_179684_h ()Z +MD: aay/p ()I net/minecraft/pathfinding/PathNavigateGround/func_179687_p ()I +MD: aaz/a ()Lbpw; net/minecraft/pathfinding/PathNavigate/func_179679_a ()Lnet/minecraft/pathfinding/PathFinder; +MD: aaz/a (D)V net/minecraft/pathfinding/PathNavigate/func_75489_a (D)V +MD: aaz/a (DDD)Lbpv; net/minecraft/pathfinding/PathNavigate/func_75488_a (DDD)Lnet/minecraft/pathfinding/PathEntity; +MD: aaz/a (DDDD)Z net/minecraft/pathfinding/PathNavigate/func_75492_a (DDDD)Z +MD: aaz/a (F)V net/minecraft/pathfinding/PathNavigate/func_179678_a (F)V +MD: aaz/a (Lbpv;D)Z net/minecraft/pathfinding/PathNavigate/func_75484_a (Lnet/minecraft/pathfinding/PathEntity;D)Z +MD: aaz/a (Lbrw;)V net/minecraft/pathfinding/PathNavigate/func_179677_a (Lnet/minecraft/util/Vec3;)V +MD: aaz/a (Lbrw;Lbrw;III)Z net/minecraft/pathfinding/PathNavigate/func_75493_a (Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;III)Z +MD: aaz/a (Ldt;)Lbpv; net/minecraft/pathfinding/PathNavigate/func_179680_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/pathfinding/PathEntity; +MD: aaz/a (Lwv;)Lbpv; net/minecraft/pathfinding/PathNavigate/func_75494_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/pathfinding/PathEntity; +MD: aaz/a (Lwv;D)Z net/minecraft/pathfinding/PathNavigate/func_75497_a (Lnet/minecraft/entity/Entity;D)Z +MD: aaz/b ()Z net/minecraft/pathfinding/PathNavigate/func_75485_k ()Z +MD: aaz/c ()Lbrw; net/minecraft/pathfinding/PathNavigate/func_75502_i ()Lnet/minecraft/util/Vec3; +MD: aaz/d ()V net/minecraft/pathfinding/PathNavigate/func_75487_m ()V +MD: aaz/i ()F net/minecraft/pathfinding/PathNavigate/func_111269_d ()F +MD: aaz/j ()Lbpv; net/minecraft/pathfinding/PathNavigate/func_75505_d ()Lnet/minecraft/pathfinding/PathEntity; +MD: aaz/k ()V net/minecraft/pathfinding/PathNavigate/func_75501_e ()V +MD: aaz/l ()V net/minecraft/pathfinding/PathNavigate/func_75508_h ()V +MD: aaz/m ()Z net/minecraft/pathfinding/PathNavigate/func_75500_f ()Z +MD: aaz/n ()V net/minecraft/pathfinding/PathNavigate/func_75499_g ()V +MD: aaz/o ()Z net/minecraft/pathfinding/PathNavigate/func_75506_l ()Z +MD: ab/a ()Ljava/util/Map; net/minecraft/command/CommandHandler/func_71555_a ()Ljava/util/Map; +MD: ab/a (Lac;)Lac; net/minecraft/command/CommandHandler/func_71560_a (Lnet/minecraft/command/ICommand;)Lnet/minecraft/command/ICommand; +MD: ab/a (Lac;[Ljava/lang/String;)I net/minecraft/command/CommandHandler/func_82370_a (Lnet/minecraft/command/ICommand;[Ljava/lang/String;)I +MD: ab/a (Lae;)Ljava/util/List; net/minecraft/command/CommandHandler/func_71557_a (Lnet/minecraft/command/ICommandSender;)Ljava/util/List; +MD: ab/a (Lae;Ljava/lang/String;)I net/minecraft/command/CommandHandler/func_71556_a (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)I +MD: ab/a (Lae;Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandHandler/func_180524_a (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: ab/a (Lae;[Ljava/lang/String;Lac;Ljava/lang/String;)Z net/minecraft/command/CommandHandler/func_175786_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/command/ICommand;Ljava/lang/String;)Z +MD: ab/a ([Ljava/lang/String;)[Ljava/lang/String; net/minecraft/command/CommandHandler/func_71559_a ([Ljava/lang/String;)[Ljava/lang/String; +MD: aba/a (Ldt;)Lbpv; net/minecraft/pathfinding/PathNavigateClimber/func_179680_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/pathfinding/PathEntity; +MD: aba/a (Lwv;)Lbpv; net/minecraft/pathfinding/PathNavigateClimber/func_75494_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/pathfinding/PathEntity; +MD: aba/a (Lwv;D)Z net/minecraft/pathfinding/PathNavigateClimber/func_75497_a (Lnet/minecraft/entity/Entity;D)Z +MD: aba/k ()V net/minecraft/pathfinding/PathNavigateClimber/func_75501_e ()V +MD: abb/a ()Lbpw; net/minecraft/pathfinding/PathNavigateSwimmer/func_179679_a ()Lnet/minecraft/pathfinding/PathFinder; +MD: abb/a (Lbrw;Lbrw;III)Z net/minecraft/pathfinding/PathNavigateSwimmer/func_75493_a (Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;III)Z +MD: abb/b ()Z net/minecraft/pathfinding/PathNavigateSwimmer/func_75485_k ()Z +MD: abb/c ()Lbrw; net/minecraft/pathfinding/PathNavigateSwimmer/func_75502_i ()Lnet/minecraft/util/Vec3; +MD: abb/d ()V net/minecraft/pathfinding/PathNavigateSwimmer/func_75487_m ()V +MD: abb/l ()V net/minecraft/pathfinding/PathNavigateSwimmer/func_75508_h ()V +MD: abd/a ()V net/minecraft/entity/ai/EntitySenses/func_75523_a ()V +MD: abd/a (Lwv;)Z net/minecraft/entity/ai/EntitySenses/func_75522_a (Lnet/minecraft/entity/Entity;)Z +MD: abf/a (Lxu;II)Lbrw; net/minecraft/entity/ai/RandomPositionGenerator/func_75463_a (Lnet/minecraft/entity/EntityCreature;II)Lnet/minecraft/util/Vec3; +MD: abf/a (Lxu;IILbrw;)Lbrw; net/minecraft/entity/ai/RandomPositionGenerator/func_75464_a (Lnet/minecraft/entity/EntityCreature;IILnet/minecraft/util/Vec3;)Lnet/minecraft/util/Vec3; +MD: abf/b (Lxu;IILbrw;)Lbrw; net/minecraft/entity/ai/RandomPositionGenerator/func_75461_b (Lnet/minecraft/entity/EntityCreature;IILnet/minecraft/util/Vec3;)Lnet/minecraft/util/Vec3; +MD: abf/c (Lxu;IILbrw;)Lbrw; net/minecraft/entity/ai/RandomPositionGenerator/func_75462_c (Lnet/minecraft/entity/EntityCreature;IILnet/minecraft/util/Vec3;)Lnet/minecraft/util/Vec3; +MD: abh/a ()V net/minecraft/village/VillageDoorInfo/func_75466_d ()V +MD: abh/a (I)V net/minecraft/village/VillageDoorInfo/func_179849_a (I)V +MD: abh/a (II)Lej; net/minecraft/village/VillageDoorInfo/func_179854_a (II)Lnet/minecraft/util/EnumFacing; +MD: abh/a (Ldt;)I net/minecraft/village/VillageDoorInfo/func_179848_a (Lnet/minecraft/util/BlockPos;)I +MD: abh/a (Z)V net/minecraft/village/VillageDoorInfo/func_179853_a (Z)V +MD: abh/b ()V net/minecraft/village/VillageDoorInfo/func_75470_e ()V +MD: abh/b (III)I net/minecraft/village/VillageDoorInfo/func_75474_b (III)I +MD: abh/b (Ldt;)I net/minecraft/village/VillageDoorInfo/func_179846_b (Lnet/minecraft/util/BlockPos;)I +MD: abh/c ()I net/minecraft/village/VillageDoorInfo/func_75468_f ()I +MD: abh/c (Ldt;)Z net/minecraft/village/VillageDoorInfo/func_179850_c (Lnet/minecraft/util/BlockPos;)Z +MD: abh/d ()Ldt; net/minecraft/village/VillageDoorInfo/func_179852_d ()Lnet/minecraft/util/BlockPos; +MD: abh/e ()Ldt; net/minecraft/village/VillageDoorInfo/func_179856_e ()Lnet/minecraft/util/BlockPos; +MD: abh/f ()I net/minecraft/village/VillageDoorInfo/func_179847_f ()I +MD: abh/g ()I net/minecraft/village/VillageDoorInfo/func_179855_g ()I +MD: abh/h ()I net/minecraft/village/VillageDoorInfo/func_75473_b ()I +MD: abh/i ()Z net/minecraft/village/VillageDoorInfo/func_179851_i ()Z +MD: abi/a ()Ldt; net/minecraft/village/Village/func_180608_a ()Lnet/minecraft/util/BlockPos; +MD: abi/a (I)V net/minecraft/village/Village/func_75560_a (I)V +MD: abi/a (Labh;)V net/minecraft/village/Village/func_75576_a (Lnet/minecraft/village/VillageDoorInfo;)V +MD: abi/a (Laqu;)V net/minecraft/village/Village/func_82691_a (Lnet/minecraft/world/World;)V +MD: abi/a (Ldt;)Z net/minecraft/village/Village/func_179866_a (Lnet/minecraft/util/BlockPos;)Z +MD: abi/a (Ldt;III)Lbrw; net/minecraft/village/Village/func_179862_a (Lnet/minecraft/util/BlockPos;III)Lnet/minecraft/util/Vec3; +MD: abi/a (Ldt;Ldt;)Z net/minecraft/village/Village/func_179861_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;)Z +MD: abi/a (Lfn;)V net/minecraft/village/Village/func_82690_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: abi/a (Ljava/lang/String;)I net/minecraft/village/Village/func_82684_a (Ljava/lang/String;)I +MD: abi/a (Ljava/lang/String;I)I net/minecraft/village/Village/func_82688_a (Ljava/lang/String;I)I +MD: abi/a (Lxm;)V net/minecraft/village/Village/func_75575_a (Lnet/minecraft/entity/EntityLivingBase;)V +MD: abi/b ()I net/minecraft/village/Village/func_75568_b ()I +MD: abi/b (I)V net/minecraft/village/Village/func_82683_b (I)V +MD: abi/b (Ldt;)Labh; net/minecraft/village/Village/func_179865_b (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/village/VillageDoorInfo; +MD: abi/b (Lfn;)V net/minecraft/village/Village/func_82689_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: abi/b (Lxm;)Lxm; net/minecraft/village/Village/func_75571_b (Lnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/entity/EntityLivingBase; +MD: abi/c ()I net/minecraft/village/Village/func_75567_c ()I +MD: abi/c (Ldt;)Labh; net/minecraft/village/Village/func_179863_c (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/village/VillageDoorInfo; +MD: abi/c (Lxm;)Lahd; net/minecraft/village/Village/func_82685_c (Lnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/entity/player/EntityPlayer; +MD: abi/d ()I net/minecraft/village/Village/func_75561_d ()I +MD: abi/d (Ljava/lang/String;)Z net/minecraft/village/Village/func_82687_d (Ljava/lang/String;)Z +MD: abi/e ()I net/minecraft/village/Village/func_75562_e ()I +MD: abi/e (Ldt;)Labh; net/minecraft/village/Village/func_179864_e (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/village/VillageDoorInfo; +MD: abi/f ()Ljava/util/List; net/minecraft/village/Village/func_75558_f ()Ljava/util/List; +MD: abi/f (Ldt;)Z net/minecraft/village/Village/func_179860_f (Lnet/minecraft/util/BlockPos;)Z +MD: abi/g ()Z net/minecraft/village/Village/func_75566_g ()Z +MD: abi/h ()V net/minecraft/village/Village/func_82692_h ()V +MD: abi/i ()Z net/minecraft/village/Village/func_82686_i ()Z +MD: abi/j ()V net/minecraft/village/Village/func_75579_h ()V +MD: abi/k ()V net/minecraft/village/Village/func_75572_i ()V +MD: abi/l ()V net/minecraft/village/Village/func_75565_j ()V +MD: abi/m ()V net/minecraft/village/Village/func_75557_k ()V +MD: abi/n ()V net/minecraft/village/Village/func_75573_l ()V +MD: abk/a ()V net/minecraft/village/VillageSiege/func_75528_a ()V +MD: abk/a (Ldt;)Lbrw; net/minecraft/village/VillageSiege/func_179867_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/Vec3; +MD: abk/b ()Z net/minecraft/village/VillageSiege/func_75529_b ()Z +MD: abk/c ()Z net/minecraft/village/VillageSiege/func_75530_c ()Z +MD: abl/a ()V net/minecraft/village/VillageCollection/func_75544_a ()V +MD: abl/a (Laqu;)V net/minecraft/village/VillageCollection/func_82566_a (Lnet/minecraft/world/World;)V +MD: abl/a (Lbgd;)Ljava/lang/String; net/minecraft/village/VillageCollection/func_176062_a (Lnet/minecraft/world/WorldProvider;)Ljava/lang/String; +MD: abl/a (Ldt;)V net/minecraft/village/VillageCollection/func_176060_a (Lnet/minecraft/util/BlockPos;)V +MD: abl/a (Ldt;I)Labi; net/minecraft/village/VillageCollection/func_176056_a (Lnet/minecraft/util/BlockPos;I)Lnet/minecraft/village/Village; +MD: abl/a (Ldt;Lej;I)I net/minecraft/village/VillageCollection/func_176061_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;I)I +MD: abl/a (Lfn;)V net/minecraft/village/VillageCollection/func_76184_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: abl/b ()Ljava/util/List; net/minecraft/village/VillageCollection/func_75540_b ()Ljava/util/List; +MD: abl/b (Ldt;)V net/minecraft/village/VillageCollection/func_180609_b (Lnet/minecraft/util/BlockPos;)V +MD: abl/b (Lfn;)V net/minecraft/village/VillageCollection/func_76187_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: abl/c (Ldt;)Labh; net/minecraft/village/VillageCollection/func_176055_c (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/village/VillageDoorInfo; +MD: abl/d (Ldt;)V net/minecraft/village/VillageCollection/func_176059_d (Lnet/minecraft/util/BlockPos;)V +MD: abl/e ()V net/minecraft/village/VillageCollection/func_75549_c ()V +MD: abl/e (Ldt;)Z net/minecraft/village/VillageCollection/func_176057_e (Lnet/minecraft/util/BlockPos;)Z +MD: abl/f ()V net/minecraft/village/VillageCollection/func_75543_d ()V +MD: abl/f (Ldt;)Z net/minecraft/village/VillageCollection/func_176058_f (Lnet/minecraft/util/BlockPos;)Z +MD: abl/g ()V net/minecraft/village/VillageCollection/func_75545_e ()V +MD: abn/a (Lahd;)Z net/minecraft/entity/passive/EntityAmbientCreature/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: abn/ca ()Z net/minecraft/entity/passive/EntityAmbientCreature/func_110164_bC ()Z +MD: abo/E ()V net/minecraft/entity/passive/EntityBat/func_70619_bc ()V +MD: abo/a (DZLatr;Ldt;)V net/minecraft/entity/passive/EntityBat/func_180433_a (DZLnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;)V +MD: abo/a (Lfn;)V net/minecraft/entity/passive/EntityBat/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: abo/a (Ljava/util/Calendar;)Z net/minecraft/entity/passive/EntityBat/func_175569_a (Ljava/util/Calendar;)Z +MD: abo/a (Lwh;F)Z net/minecraft/entity/passive/EntityBat/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: abo/a (Z)V net/minecraft/entity/passive/EntityBat/func_82236_f (Z)V +MD: abo/aH ()Z net/minecraft/entity/passive/EntityBat/func_145773_az ()Z +MD: abo/aR ()F net/minecraft/entity/passive/EntityBat/func_70047_e ()F +MD: abo/aW ()V net/minecraft/entity/passive/EntityBat/func_110147_ax ()V +MD: abo/ae ()Z net/minecraft/entity/passive/EntityBat/func_70104_M ()Z +MD: abo/b (Lfn;)V net/minecraft/entity/passive/EntityBat/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: abo/bA ()F net/minecraft/entity/passive/EntityBat/func_70599_aP ()F +MD: abo/bB ()F net/minecraft/entity/passive/EntityBat/func_70647_i ()F +MD: abo/bK ()V net/minecraft/entity/passive/EntityBat/func_85033_bc ()V +MD: abo/bQ ()Z net/minecraft/entity/passive/EntityBat/func_70601_bi ()Z +MD: abo/bn ()Ljava/lang/String; net/minecraft/entity/passive/EntityBat/func_70621_aR ()Ljava/lang/String; +MD: abo/bo ()Ljava/lang/String; net/minecraft/entity/passive/EntityBat/func_70673_aS ()Ljava/lang/String; +MD: abo/e (FF)V net/minecraft/entity/passive/EntityBat/func_180430_e (FF)V +MD: abo/h ()V net/minecraft/entity/passive/EntityBat/func_70088_a ()V +MD: abo/n ()Z net/minecraft/entity/passive/EntityBat/func_82235_h ()Z +MD: abo/r_ ()Z net/minecraft/entity/passive/EntityBat/func_70041_e_ ()Z +MD: abo/s (Lwv;)V net/minecraft/entity/passive/EntityBat/func_82167_n (Lnet/minecraft/entity/Entity;)V +MD: abo/s_ ()V net/minecraft/entity/passive/EntityBat/func_70071_h_ ()V +MD: abo/z ()Ljava/lang/String; net/minecraft/entity/passive/EntityBat/func_70639_aQ ()Ljava/lang/String; +MD: abq/C ()Z net/minecraft/entity/passive/EntityAnimal/func_70692_ba ()Z +MD: abq/E ()V net/minecraft/entity/passive/EntityAnimal/func_70619_bc ()V +MD: abq/a (B)V net/minecraft/entity/passive/EntityAnimal/func_70103_a (B)V +MD: abq/a (Labq;)Z net/minecraft/entity/passive/EntityAnimal/func_70878_b (Lnet/minecraft/entity/passive/EntityAnimal;)Z +MD: abq/a (Lahd;)Z net/minecraft/entity/passive/EntityAnimal/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: abq/a (Lahd;Lamj;)V net/minecraft/entity/passive/EntityAnimal/func_175505_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/item/ItemStack;)V +MD: abq/a (Ldt;)F net/minecraft/entity/passive/EntityAnimal/func_180484_a (Lnet/minecraft/util/BlockPos;)F +MD: abq/a (Lfn;)V net/minecraft/entity/passive/EntityAnimal/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: abq/a (Lwh;F)Z net/minecraft/entity/passive/EntityAnimal/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: abq/b (Lahd;)I net/minecraft/entity/passive/EntityAnimal/func_70693_a (Lnet/minecraft/entity/player/EntityPlayer;)I +MD: abq/b (Lfn;)V net/minecraft/entity/passive/EntityAnimal/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: abq/bQ ()Z net/minecraft/entity/passive/EntityAnimal/func_70601_bi ()Z +MD: abq/c (Lahd;)V net/minecraft/entity/passive/EntityAnimal/func_146082_f (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: abq/co ()Lahd; net/minecraft/entity/passive/EntityAnimal/func_146083_cb ()Lnet/minecraft/entity/player/EntityPlayer; +MD: abq/cp ()Z net/minecraft/entity/passive/EntityAnimal/func_70880_s ()Z +MD: abq/cq ()V net/minecraft/entity/passive/EntityAnimal/func_70875_t ()V +MD: abq/d (Lamj;)Z net/minecraft/entity/passive/EntityAnimal/func_70877_b (Lnet/minecraft/item/ItemStack;)Z +MD: abq/m ()V net/minecraft/entity/passive/EntityAnimal/func_70636_d ()V +MD: abq/w ()I net/minecraft/entity/passive/EntityAnimal/func_70627_aG ()I +MD: abr/A ()Lalq; net/minecraft/entity/passive/EntityChicken/func_146068_u ()Lnet/minecraft/item/Item; +MD: abr/C ()Z net/minecraft/entity/passive/EntityChicken/func_70692_ba ()Z +MD: abr/a (Ldt;Latr;)V net/minecraft/entity/passive/EntityChicken/func_180429_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: abr/a (Lfn;)V net/minecraft/entity/passive/EntityChicken/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: abr/a (Lws;)Lws; net/minecraft/entity/passive/EntityChicken/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/EntityAgeable; +MD: abr/aR ()F net/minecraft/entity/passive/EntityChicken/func_70047_e ()F +MD: abr/aW ()V net/minecraft/entity/passive/EntityChicken/func_110147_ax ()V +MD: abr/al ()V net/minecraft/entity/passive/EntityChicken/func_70043_V ()V +MD: abr/b (Lahd;)I net/minecraft/entity/passive/EntityChicken/func_70693_a (Lnet/minecraft/entity/player/EntityPlayer;)I +MD: abr/b (Lfn;)V net/minecraft/entity/passive/EntityChicken/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: abr/b (Lws;)Labr; net/minecraft/entity/passive/EntityChicken/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/passive/EntityChicken; +MD: abr/b (ZI)V net/minecraft/entity/passive/EntityChicken/func_70628_a (ZI)V +MD: abr/bn ()Ljava/lang/String; net/minecraft/entity/passive/EntityChicken/func_70621_aR ()Ljava/lang/String; +MD: abr/bo ()Ljava/lang/String; net/minecraft/entity/passive/EntityChicken/func_70673_aS ()Ljava/lang/String; +MD: abr/cj ()Z net/minecraft/entity/passive/EntityChicken/func_152116_bZ ()Z +MD: abr/d (Lamj;)Z net/minecraft/entity/passive/EntityChicken/func_70877_b (Lnet/minecraft/item/ItemStack;)Z +MD: abr/e (FF)V net/minecraft/entity/passive/EntityChicken/func_180430_e (FF)V +MD: abr/l (Z)V net/minecraft/entity/passive/EntityChicken/func_152117_i (Z)V +MD: abr/m ()V net/minecraft/entity/passive/EntityChicken/func_70636_d ()V +MD: abr/z ()Ljava/lang/String; net/minecraft/entity/passive/EntityChicken/func_70639_aQ ()Ljava/lang/String; +MD: abs/A ()Lalq; net/minecraft/entity/passive/EntityCow/func_146068_u ()Lnet/minecraft/item/Item; +MD: abs/a (Lahd;)Z net/minecraft/entity/passive/EntityCow/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: abs/a (Ldt;Latr;)V net/minecraft/entity/passive/EntityCow/func_180429_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: abs/a (Lws;)Lws; net/minecraft/entity/passive/EntityCow/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/EntityAgeable; +MD: abs/aR ()F net/minecraft/entity/passive/EntityCow/func_70047_e ()F +MD: abs/aW ()V net/minecraft/entity/passive/EntityCow/func_110147_ax ()V +MD: abs/b (Lws;)Labs; net/minecraft/entity/passive/EntityCow/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/passive/EntityCow; +MD: abs/b (ZI)V net/minecraft/entity/passive/EntityCow/func_70628_a (ZI)V +MD: abs/bA ()F net/minecraft/entity/passive/EntityCow/func_70599_aP ()F +MD: abs/bn ()Ljava/lang/String; net/minecraft/entity/passive/EntityCow/func_70621_aR ()Ljava/lang/String; +MD: abs/bo ()Ljava/lang/String; net/minecraft/entity/passive/EntityCow/func_70673_aS ()Ljava/lang/String; +MD: abs/z ()Ljava/lang/String; net/minecraft/entity/passive/EntityCow/func_70639_aQ ()Ljava/lang/String; +MD: abt/A ()Lalq; net/minecraft/entity/passive/EntityHorse/func_146068_u ()Lnet/minecraft/item/Item; +MD: abt/a (B)V net/minecraft/entity/passive/EntityHorse/func_70103_a (B)V +MD: abt/a (Labq;)Z net/minecraft/entity/passive/EntityHorse/func_70878_b (Lnet/minecraft/entity/passive/EntityAnimal;)Z +MD: abt/a (Lahd;)Z net/minecraft/entity/passive/EntityHorse/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: abt/a (Lalq;)Z net/minecraft/entity/passive/EntityHorse/func_146085_a (Lnet/minecraft/item/Item;)Z +MD: abt/a (Ldt;Latr;)V net/minecraft/entity/passive/EntityHorse/func_180429_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: abt/a (Lfn;)V net/minecraft/entity/passive/EntityHorse/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: abt/a (Lvu;Lxq;)Lxq; net/minecraft/entity/passive/EntityHorse/func_180482_a (Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/entity/IEntityLivingData;)Lnet/minecraft/entity/IEntityLivingData; +MD: abt/a (Lwa;)V net/minecraft/entity/passive/EntityHorse/func_76316_a (Lnet/minecraft/inventory/InventoryBasic;)V +MD: abt/a (Lwh;)V net/minecraft/entity/passive/EntityHorse/func_70645_a (Lnet/minecraft/util/DamageSource;)V +MD: abt/a (Lwh;F)Z net/minecraft/entity/passive/EntityHorse/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: abt/a (Lws;)Lws; net/minecraft/entity/passive/EntityHorse/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/EntityAgeable; +MD: abt/a (Lwv;D)Labt; net/minecraft/entity/passive/EntityHorse/func_110250_a (Lnet/minecraft/entity/Entity;D)Lnet/minecraft/entity/passive/EntityHorse; +MD: abt/a (Lwv;Laic;)V net/minecraft/entity/passive/EntityHorse/func_110240_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/inventory/AnimalChest;)V +MD: abt/a (Z)V net/minecraft/entity/passive/EntityHorse/func_98054_a (Z)V +MD: abt/aR ()F net/minecraft/entity/passive/EntityHorse/func_70047_e ()F +MD: abt/aW ()V net/minecraft/entity/passive/EntityHorse/func_110147_ax ()V +MD: abt/ae ()Z net/minecraft/entity/passive/EntityHorse/func_70104_M ()Z +MD: abt/al ()V net/minecraft/entity/passive/EntityHorse/func_70043_V ()V +MD: abt/b (Lfn;)V net/minecraft/entity/passive/EntityHorse/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: abt/b (Ljava/lang/String;)V net/minecraft/entity/passive/EntityHorse/func_152120_b (Ljava/lang/String;)V +MD: abt/bA ()F net/minecraft/entity/passive/EntityHorse/func_70599_aP ()F +MD: abt/bC ()Z net/minecraft/entity/passive/EntityHorse/func_70610_aX ()Z +MD: abt/bQ ()Z net/minecraft/entity/passive/EntityHorse/func_70601_bi ()Z +MD: abt/bU ()I net/minecraft/entity/passive/EntityHorse/func_70641_bl ()I +MD: abt/bn ()Ljava/lang/String; net/minecraft/entity/passive/EntityHorse/func_70621_aR ()Ljava/lang/String; +MD: abt/bo ()Ljava/lang/String; net/minecraft/entity/passive/EntityHorse/func_70673_aS ()Ljava/lang/String; +MD: abt/bq ()I net/minecraft/entity/passive/EntityHorse/func_70658_aO ()I +MD: abt/c (IZ)V net/minecraft/entity/passive/EntityHorse/func_110208_b (IZ)V +MD: abt/cA ()I net/minecraft/entity/passive/EntityHorse/func_110252_cg ()I +MD: abt/cB ()Z net/minecraft/entity/passive/EntityHorse/func_110262_ch ()Z +MD: abt/cC ()V net/minecraft/entity/passive/EntityHorse/func_110224_ci ()V +MD: abt/cD ()D net/minecraft/entity/passive/EntityHorse/func_110215_cj ()D +MD: abt/cE ()Z net/minecraft/entity/passive/EntityHorse/func_110257_ck ()Z +MD: abt/cF ()Ljava/lang/String; net/minecraft/entity/passive/EntityHorse/func_110217_cl ()Ljava/lang/String; +MD: abt/cG ()I net/minecraft/entity/passive/EntityHorse/func_110218_cm ()I +MD: abt/cH ()Z net/minecraft/entity/passive/EntityHorse/func_110239_cn ()Z +MD: abt/cI ()Z net/minecraft/entity/passive/EntityHorse/func_175507_cI ()Z +MD: abt/cJ ()Ljava/lang/String; net/minecraft/entity/passive/EntityHorse/func_110264_co ()Ljava/lang/String; +MD: abt/cK ()[Ljava/lang/String; net/minecraft/entity/passive/EntityHorse/func_110212_cp ()[Ljava/lang/String; +MD: abt/cM ()Z net/minecraft/entity/passive/EntityHorse/func_110259_cr ()Z +MD: abt/cN ()Z net/minecraft/entity/passive/EntityHorse/func_110229_cs ()Z +MD: abt/cP ()Z net/minecraft/entity/passive/EntityHorse/func_110256_cu ()Z +MD: abt/cQ ()Z net/minecraft/entity/passive/EntityHorse/func_110222_cv ()Z +MD: abt/cU ()V net/minecraft/entity/passive/EntityHorse/func_110231_cz ()V +MD: abt/cV ()V net/minecraft/entity/passive/EntityHorse/func_110244_cA ()V +MD: abt/cW ()V net/minecraft/entity/passive/EntityHorse/func_110266_cB ()V +MD: abt/cX ()I net/minecraft/entity/passive/EntityHorse/func_110225_cC ()I +MD: abt/cY ()V net/minecraft/entity/passive/EntityHorse/func_110226_cD ()V +MD: abt/cZ ()V net/minecraft/entity/passive/EntityHorse/func_110232_cE ()V +MD: abt/ca ()Z net/minecraft/entity/passive/EntityHorse/func_110164_bC ()Z +MD: abt/cj ()I net/minecraft/entity/passive/EntityHorse/func_110265_bP ()I +MD: abt/ck ()I net/minecraft/entity/passive/EntityHorse/func_110202_bQ ()I +MD: abt/cl ()Z net/minecraft/entity/passive/EntityHorse/func_110228_bR ()Z +MD: abt/cm ()Z net/minecraft/entity/passive/EntityHorse/func_110248_bS ()Z +MD: abt/cn ()Z net/minecraft/entity/passive/EntityHorse/func_110253_bW ()Z +MD: abt/cr ()Ljava/lang/String; net/minecraft/entity/passive/EntityHorse/func_152119_ch ()Ljava/lang/String; +MD: abt/cs ()F net/minecraft/entity/passive/EntityHorse/func_110254_bY ()F +MD: abt/ct ()Z net/minecraft/entity/passive/EntityHorse/func_110246_bZ ()Z +MD: abt/cu ()Z net/minecraft/entity/passive/EntityHorse/func_110261_ca ()Z +MD: abt/cv ()I net/minecraft/entity/passive/EntityHorse/func_110241_cb ()I +MD: abt/cw ()Z net/minecraft/entity/passive/EntityHorse/func_110204_cc ()Z +MD: abt/cx ()Z net/minecraft/entity/passive/EntityHorse/func_110209_cd ()Z +MD: abt/cy ()Z net/minecraft/entity/passive/EntityHorse/func_110205_ce ()Z +MD: abt/cz ()Z net/minecraft/entity/passive/EntityHorse/func_110243_cf ()Z +MD: abt/d (ILamj;)Z net/minecraft/entity/passive/EntityHorse/func_174820_d (ILnet/minecraft/item/ItemStack;)Z +MD: abt/d (Lamj;)Z net/minecraft/entity/passive/EntityHorse/func_70877_b (Lnet/minecraft/item/ItemStack;)Z +MD: abt/d_ ()Ljava/lang/String; net/minecraft/entity/passive/EntityHorse/func_70005_c_ ()Ljava/lang/String; +MD: abt/da ()V net/minecraft/entity/passive/EntityHorse/func_110230_cF ()V +MD: abt/db ()V net/minecraft/entity/passive/EntityHorse/func_110247_cG ()V +MD: abt/dc ()V net/minecraft/entity/passive/EntityHorse/func_110210_cH ()V +MD: abt/dd ()V net/minecraft/entity/passive/EntityHorse/func_110249_cI ()V +MD: abt/de ()Z net/minecraft/entity/passive/EntityHorse/func_110200_cJ ()Z +MD: abt/df ()V net/minecraft/entity/passive/EntityHorse/func_110220_cK ()V +MD: abt/dg ()F net/minecraft/entity/passive/EntityHorse/func_110267_cL ()F +MD: abt/dh ()D net/minecraft/entity/passive/EntityHorse/func_110245_cM ()D +MD: abt/di ()D net/minecraft/entity/passive/EntityHorse/func_110203_cN ()D +MD: abt/e (FF)V net/minecraft/entity/passive/EntityHorse/func_180430_e (FF)V +MD: abt/e (Lamj;)V net/minecraft/entity/passive/EntityHorse/func_146086_d (Lnet/minecraft/item/ItemStack;)V +MD: abt/f (Lamj;)I net/minecraft/entity/passive/EntityHorse/func_110260_d (Lnet/minecraft/item/ItemStack;)I +MD: abt/f (Z)V net/minecraft/entity/passive/EntityHorse/func_70019_c (Z)V +MD: abt/g (FF)V net/minecraft/entity/passive/EntityHorse/func_70612_e (FF)V +MD: abt/g (Lahd;)V net/minecraft/entity/passive/EntityHorse/func_110199_f (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: abt/h ()V net/minecraft/entity/passive/EntityHorse/func_70088_a ()V +MD: abt/h (Lahd;)Z net/minecraft/entity/passive/EntityHorse/func_110263_g (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: abt/i (Lahd;)V net/minecraft/entity/passive/EntityHorse/func_110237_h (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: abt/j_ ()Z net/minecraft/entity/passive/EntityHorse/func_70617_f_ ()Z +MD: abt/l (Z)V net/minecraft/entity/passive/EntityHorse/func_110234_j (Z)V +MD: abt/m ()V net/minecraft/entity/passive/EntityHorse/func_70636_d ()V +MD: abt/m (Z)V net/minecraft/entity/passive/EntityHorse/func_110255_k (Z)V +MD: abt/n (F)V net/minecraft/entity/passive/EntityHorse/func_142017_o (F)V +MD: abt/n (Z)V net/minecraft/entity/passive/EntityHorse/func_110242_l (Z)V +MD: abt/o (F)F net/minecraft/entity/passive/EntityHorse/func_110258_o (F)F +MD: abt/o (Z)V net/minecraft/entity/passive/EntityHorse/func_110207_m (Z)V +MD: abt/p (F)F net/minecraft/entity/passive/EntityHorse/func_110223_p (F)F +MD: abt/p (Z)V net/minecraft/entity/passive/EntityHorse/func_110221_n (Z)V +MD: abt/q (F)F net/minecraft/entity/passive/EntityHorse/func_110201_q (F)F +MD: abt/q (Z)V net/minecraft/entity/passive/EntityHorse/func_110251_o (Z)V +MD: abt/r (I)V net/minecraft/entity/passive/EntityHorse/func_110214_p (I)V +MD: abt/r (Z)V net/minecraft/entity/passive/EntityHorse/func_110227_p (Z)V +MD: abt/s (I)V net/minecraft/entity/passive/EntityHorse/func_110235_q (I)V +MD: abt/s (Z)V net/minecraft/entity/passive/EntityHorse/func_110219_q (Z)V +MD: abt/s_ ()V net/minecraft/entity/passive/EntityHorse/func_70071_h_ ()V +MD: abt/t (I)V net/minecraft/entity/passive/EntityHorse/func_110238_s (I)V +MD: abt/t (Z)V net/minecraft/entity/passive/EntityHorse/func_110216_r (Z)V +MD: abt/u (I)I net/minecraft/entity/passive/EntityHorse/func_110198_t (I)I +MD: abt/v (I)V net/minecraft/entity/passive/EntityHorse/func_110206_u (I)V +MD: abt/w ()I net/minecraft/entity/passive/EntityHorse/func_70627_aG ()I +MD: abt/w (I)Z net/minecraft/entity/passive/EntityHorse/func_110233_w (I)Z +MD: abt/z ()Ljava/lang/String; net/minecraft/entity/passive/EntityHorse/func_70639_aQ ()Ljava/lang/String; +MD: abu/a (Lwv;)Z net/minecraft/entity/passive/EntityHorse$1/func_179873_a (Lnet/minecraft/entity/Entity;)Z +MD: abu/apply (Ljava/lang/Object;)Z net/minecraft/entity/passive/EntityHorse$1/apply (Ljava/lang/Object;)Z +MD: abw/C ()Z net/minecraft/entity/monster/EntityGolem/func_70692_ba ()Z +MD: abw/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntityGolem/func_70621_aR ()Ljava/lang/String; +MD: abw/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntityGolem/func_70673_aS ()Ljava/lang/String; +MD: abw/e (FF)V net/minecraft/entity/monster/EntityGolem/func_180430_e (FF)V +MD: abw/w ()I net/minecraft/entity/monster/EntityGolem/func_70627_aG ()I +MD: abw/z ()Ljava/lang/String; net/minecraft/entity/monster/EntityGolem/func_70639_aQ ()Ljava/lang/String; +MD: abx/a (Lahd;)Z net/minecraft/entity/passive/EntityMooshroom/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: abx/a (Lws;)Lws; net/minecraft/entity/passive/EntityMooshroom/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/EntityAgeable; +MD: abx/b (Lws;)Labs; net/minecraft/entity/passive/EntityMooshroom/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/passive/EntityCow; +MD: abx/c (Lws;)Labx; net/minecraft/entity/passive/EntityMooshroom/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/passive/EntityMooshroom; +MD: aby/A ()Lalq; net/minecraft/entity/passive/EntityOcelot/func_146068_u ()Lnet/minecraft/item/Item; +MD: aby/C ()Z net/minecraft/entity/passive/EntityOcelot/func_70692_ba ()Z +MD: aby/E ()V net/minecraft/entity/passive/EntityOcelot/func_70619_bc ()V +MD: aby/a (Labq;)Z net/minecraft/entity/passive/EntityOcelot/func_70878_b (Lnet/minecraft/entity/passive/EntityAnimal;)Z +MD: aby/a (Lahd;)Z net/minecraft/entity/passive/EntityOcelot/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aby/a (Lfn;)V net/minecraft/entity/passive/EntityOcelot/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aby/a (Lvu;Lxq;)Lxq; net/minecraft/entity/passive/EntityOcelot/func_180482_a (Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/entity/IEntityLivingData;)Lnet/minecraft/entity/IEntityLivingData; +MD: aby/a (Lwh;F)Z net/minecraft/entity/passive/EntityOcelot/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: aby/a (Lws;)Lws; net/minecraft/entity/passive/EntityOcelot/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/EntityAgeable; +MD: aby/aW ()V net/minecraft/entity/passive/EntityOcelot/func_110147_ax ()V +MD: aby/b (Lfn;)V net/minecraft/entity/passive/EntityOcelot/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aby/b (Lws;)Laby; net/minecraft/entity/passive/EntityOcelot/func_180493_b (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/passive/EntityOcelot; +MD: aby/b (ZI)V net/minecraft/entity/passive/EntityOcelot/func_70628_a (ZI)V +MD: aby/bA ()F net/minecraft/entity/passive/EntityOcelot/func_70599_aP ()F +MD: aby/bQ ()Z net/minecraft/entity/passive/EntityOcelot/func_70601_bi ()Z +MD: aby/bR ()Z net/minecraft/entity/passive/EntityOcelot/func_70058_J ()Z +MD: aby/bn ()Ljava/lang/String; net/minecraft/entity/passive/EntityOcelot/func_70621_aR ()Ljava/lang/String; +MD: aby/bo ()Ljava/lang/String; net/minecraft/entity/passive/EntityOcelot/func_70673_aS ()Ljava/lang/String; +MD: aby/ck ()V net/minecraft/entity/passive/EntityOcelot/func_175544_ck ()V +MD: aby/cr ()I net/minecraft/entity/passive/EntityOcelot/func_70913_u ()I +MD: aby/d (Lamj;)Z net/minecraft/entity/passive/EntityOcelot/func_70877_b (Lnet/minecraft/item/ItemStack;)Z +MD: aby/d_ ()Ljava/lang/String; net/minecraft/entity/passive/EntityOcelot/func_70005_c_ ()Ljava/lang/String; +MD: aby/e (FF)V net/minecraft/entity/passive/EntityOcelot/func_180430_e (FF)V +MD: aby/h ()V net/minecraft/entity/passive/EntityOcelot/func_70088_a ()V +MD: aby/m (Z)V net/minecraft/entity/passive/EntityOcelot/func_70903_f (Z)V +MD: aby/r (I)V net/minecraft/entity/passive/EntityOcelot/func_70912_b (I)V +MD: aby/r (Lwv;)Z net/minecraft/entity/passive/EntityOcelot/func_70652_k (Lnet/minecraft/entity/Entity;)Z +MD: aby/z ()Ljava/lang/String; net/minecraft/entity/passive/EntityOcelot/func_70639_aQ ()Ljava/lang/String; +MD: abz/a (Lwv;)Z net/minecraft/entity/passive/EntityOcelot$1/func_179874_a (Lnet/minecraft/entity/Entity;)Z +MD: abz/apply (Ljava/lang/Object;)Z net/minecraft/entity/passive/EntityOcelot$1/apply (Ljava/lang/Object;)Z +MD: ac/a (Lae;)Z net/minecraft/command/ICommand/func_71519_b (Lnet/minecraft/command/ICommandSender;)Z +MD: ac/a (Lae;[Ljava/lang/String;)V net/minecraft/command/ICommand/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: ac/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/ICommand/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: ac/b ()Ljava/util/List; net/minecraft/command/ICommand/func_71514_a ()Ljava/util/List; +MD: ac/b ([Ljava/lang/String;I)Z net/minecraft/command/ICommand/func_82358_a ([Ljava/lang/String;I)Z +MD: ac/c ()Ljava/lang/String; net/minecraft/command/ICommand/func_71517_b ()Ljava/lang/String; +MD: ac/c (Lae;)Ljava/lang/String; net/minecraft/command/ICommand/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: aca/A ()Lalq; net/minecraft/entity/passive/EntityPig/func_146068_u ()Lnet/minecraft/item/Item; +MD: aca/a (Lads;)V net/minecraft/entity/passive/EntityPig/func_70077_a (Lnet/minecraft/entity/effect/EntityLightningBolt;)V +MD: aca/a (Lahd;)Z net/minecraft/entity/passive/EntityPig/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aca/a (Ldt;Latr;)V net/minecraft/entity/passive/EntityPig/func_180429_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: aca/a (Lfn;)V net/minecraft/entity/passive/EntityPig/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aca/a (Lws;)Lws; net/minecraft/entity/passive/EntityPig/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/EntityAgeable; +MD: aca/aW ()V net/minecraft/entity/passive/EntityPig/func_110147_ax ()V +MD: aca/b (Lfn;)V net/minecraft/entity/passive/EntityPig/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aca/b (Lws;)Laca; net/minecraft/entity/passive/EntityPig/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/passive/EntityPig; +MD: aca/b (ZI)V net/minecraft/entity/passive/EntityPig/func_70628_a (ZI)V +MD: aca/bV ()Z net/minecraft/entity/passive/EntityPig/func_82171_bF ()Z +MD: aca/bn ()Ljava/lang/String; net/minecraft/entity/passive/EntityPig/func_70621_aR ()Ljava/lang/String; +MD: aca/bo ()Ljava/lang/String; net/minecraft/entity/passive/EntityPig/func_70673_aS ()Ljava/lang/String; +MD: aca/cj ()Z net/minecraft/entity/passive/EntityPig/func_70901_n ()Z +MD: aca/ck ()Lyu; net/minecraft/entity/passive/EntityPig/func_82183_n ()Lnet/minecraft/entity/ai/EntityAIControlledByPlayer; +MD: aca/d (Lamj;)Z net/minecraft/entity/passive/EntityPig/func_70877_b (Lnet/minecraft/item/ItemStack;)Z +MD: aca/e (FF)V net/minecraft/entity/passive/EntityPig/func_180430_e (FF)V +MD: aca/h ()V net/minecraft/entity/passive/EntityPig/func_70088_a ()V +MD: aca/l (Z)V net/minecraft/entity/passive/EntityPig/func_70900_e (Z)V +MD: aca/z ()Ljava/lang/String; net/minecraft/entity/passive/EntityPig/func_70639_aQ ()Ljava/lang/String; +MD: acb/E ()V net/minecraft/entity/passive/EntityRabbit/func_70619_bc ()V +MD: acb/Y ()V net/minecraft/entity/passive/EntityRabbit/func_174830_Y ()V +MD: acb/a (B)V net/minecraft/entity/passive/EntityRabbit/func_70103_a (B)V +MD: acb/a (DD)V net/minecraft/entity/passive/EntityRabbit/func_175533_a (DD)V +MD: acb/a (Lacb;)Z net/minecraft/entity/passive/EntityRabbit/access$000 (Lnet/minecraft/entity/passive/EntityRabbit;)Z +MD: acb/a (Lace;)V net/minecraft/entity/passive/EntityRabbit/func_175522_a (Lnet/minecraft/entity/passive/EntityRabbit$EnumMoveType;)V +MD: acb/a (Lalq;)Z net/minecraft/entity/passive/EntityRabbit/func_175525_a (Lnet/minecraft/item/Item;)Z +MD: acb/a (Lfn;)V net/minecraft/entity/passive/EntityRabbit/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: acb/a (Lvu;Lxq;)Lxq; net/minecraft/entity/passive/EntityRabbit/func_180482_a (Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/entity/IEntityLivingData;)Lnet/minecraft/entity/IEntityLivingData; +MD: acb/a (Lwh;F)Z net/minecraft/entity/passive/EntityRabbit/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: acb/a (Lws;)Lws; net/minecraft/entity/passive/EntityRabbit/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/EntityAgeable; +MD: acb/a (ZLace;)V net/minecraft/entity/passive/EntityRabbit/func_175519_a (ZLnet/minecraft/entity/passive/EntityRabbit$EnumMoveType;)V +MD: acb/aW ()V net/minecraft/entity/passive/EntityRabbit/func_110147_ax ()V +MD: acb/b (D)V net/minecraft/entity/passive/EntityRabbit/func_175515_b (D)V +MD: acb/b (Lace;)V net/minecraft/entity/passive/EntityRabbit/func_175524_b (Lnet/minecraft/entity/passive/EntityRabbit$EnumMoveType;)V +MD: acb/b (Lfn;)V net/minecraft/entity/passive/EntityRabbit/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: acb/b (Lws;)Lacb; net/minecraft/entity/passive/EntityRabbit/func_175526_b (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/passive/EntityRabbit; +MD: acb/b (ZI)V net/minecraft/entity/passive/EntityRabbit/func_70628_a (ZI)V +MD: acb/bD ()F net/minecraft/entity/passive/EntityRabbit/func_175134_bD ()F +MD: acb/bn ()Ljava/lang/String; net/minecraft/entity/passive/EntityRabbit/func_70621_aR ()Ljava/lang/String; +MD: acb/bo ()Ljava/lang/String; net/minecraft/entity/passive/EntityRabbit/func_70673_aS ()Ljava/lang/String; +MD: acb/bp ()V net/minecraft/entity/passive/EntityRabbit/func_82164_bB ()V +MD: acb/bq ()I net/minecraft/entity/passive/EntityRabbit/func_70658_aO ()I +MD: acb/cj ()Z net/minecraft/entity/passive/EntityRabbit/func_175523_cj ()Z +MD: acb/ck ()Ljava/lang/String; net/minecraft/entity/passive/EntityRabbit/func_175516_ck ()Ljava/lang/String; +MD: acb/cl ()I net/minecraft/entity/passive/EntityRabbit/func_175531_cl ()I +MD: acb/cm ()I net/minecraft/entity/passive/EntityRabbit/func_175532_cm ()I +MD: acb/cn ()V net/minecraft/entity/passive/EntityRabbit/func_175528_cn ()V +MD: acb/cr ()V net/minecraft/entity/passive/EntityRabbit/func_175518_cr ()V +MD: acb/cs ()V net/minecraft/entity/passive/EntityRabbit/func_175520_cs ()V +MD: acb/ct ()V net/minecraft/entity/passive/EntityRabbit/func_175530_ct ()V +MD: acb/cu ()V net/minecraft/entity/passive/EntityRabbit/func_175517_cu ()V +MD: acb/cv ()Z net/minecraft/entity/passive/EntityRabbit/func_175534_cv ()Z +MD: acb/d (Lamj;)Z net/minecraft/entity/passive/EntityRabbit/func_70877_b (Lnet/minecraft/item/ItemStack;)Z +MD: acb/h ()V net/minecraft/entity/passive/EntityRabbit/func_70088_a ()V +MD: acb/m ()V net/minecraft/entity/passive/EntityRabbit/func_70636_d ()V +MD: acb/o (F)F net/minecraft/entity/passive/EntityRabbit/func_175521_o (F)F +MD: acb/r (I)V net/minecraft/entity/passive/EntityRabbit/func_175529_r (I)V +MD: acb/r (Lwv;)Z net/minecraft/entity/passive/EntityRabbit/func_70652_k (Lnet/minecraft/entity/Entity;)Z +MD: acb/z ()Ljava/lang/String; net/minecraft/entity/passive/EntityRabbit/func_70639_aQ ()Ljava/lang/String; +MD: acc/a (Lwv;)Z net/minecraft/entity/passive/EntityRabbit$1/func_180086_a (Lnet/minecraft/entity/Entity;)Z +MD: acc/apply (Ljava/lang/Object;)Z net/minecraft/entity/passive/EntityRabbit$1/apply (Ljava/lang/Object;)Z +MD: acd/a (Lxm;)D net/minecraft/entity/passive/EntityRabbit$AIEvilAttack/func_179512_a (Lnet/minecraft/entity/EntityLivingBase;)D +MD: ace/a ()F net/minecraft/entity/passive/EntityRabbit$EnumMoveType/func_180072_a ()F +MD: ace/b ()F net/minecraft/entity/passive/EntityRabbit$EnumMoveType/func_180074_b ()F +MD: ace/c ()I net/minecraft/entity/passive/EntityRabbit$EnumMoveType/func_180075_c ()I +MD: ace/d ()I net/minecraft/entity/passive/EntityRabbit$EnumMoveType/func_180073_d ()I +MD: ace/values ()[Lace; net/minecraft/entity/passive/EntityRabbit$EnumMoveType/values ()[Lnet/minecraft/entity/passive/EntityRabbit$EnumMoveType; +MD: acf/e ()V net/minecraft/entity/passive/EntityRabbit$AIAvoidEntity/func_75246_d ()V +MD: ach/a (Z)V net/minecraft/entity/passive/EntityRabbit$RabbitJumpHelper/func_180066_a (Z)V +MD: ach/b ()V net/minecraft/entity/passive/EntityRabbit$RabbitJumpHelper/func_75661_b ()V +MD: ach/c ()Z net/minecraft/entity/passive/EntityRabbit$RabbitJumpHelper/func_180067_c ()Z +MD: ach/d ()Z net/minecraft/entity/passive/EntityRabbit$RabbitJumpHelper/func_180065_d ()Z +MD: aci/c ()V net/minecraft/entity/passive/EntityRabbit$RabbitMoveHelper/func_75641_c ()V +MD: acj/e ()V net/minecraft/entity/passive/EntityRabbit$AIPanic/func_75246_d ()V +MD: ack/a ()Z net/minecraft/entity/passive/EntityRabbit$AIRaidFarm/func_75250_a ()Z +MD: ack/a (Laqu;Ldt;)Z net/minecraft/entity/passive/EntityRabbit$AIRaidFarm/func_179488_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: ack/b ()Z net/minecraft/entity/passive/EntityRabbit$AIRaidFarm/func_75253_b ()Z +MD: ack/c ()V net/minecraft/entity/passive/EntityRabbit$AIRaidFarm/func_75249_e ()V +MD: ack/d ()V net/minecraft/entity/passive/EntityRabbit$AIRaidFarm/func_75251_c ()V +MD: ack/e ()V net/minecraft/entity/passive/EntityRabbit$AIRaidFarm/func_75246_d ()V +MD: acl/A ()Lalq; net/minecraft/entity/passive/EntitySheep/func_146068_u ()Lnet/minecraft/item/Item; +MD: acl/E ()V net/minecraft/entity/passive/EntitySheep/func_70619_bc ()V +MD: acl/a (B)V net/minecraft/entity/passive/EntitySheep/func_70103_a (B)V +MD: acl/a (Labq;Labq;)Lakv; net/minecraft/entity/passive/EntitySheep/func_175511_a (Lnet/minecraft/entity/passive/EntityAnimal;Lnet/minecraft/entity/passive/EntityAnimal;)Lnet/minecraft/item/EnumDyeColor; +MD: acl/a (Lahd;)Z net/minecraft/entity/passive/EntitySheep/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: acl/a (Lakv;)[F net/minecraft/entity/passive/EntitySheep/func_175513_a (Lnet/minecraft/item/EnumDyeColor;)[F +MD: acl/a (Ldt;Latr;)V net/minecraft/entity/passive/EntitySheep/func_180429_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: acl/a (Lfn;)V net/minecraft/entity/passive/EntitySheep/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: acl/a (Ljava/util/Random;)Lakv; net/minecraft/entity/passive/EntitySheep/func_175510_a (Ljava/util/Random;)Lnet/minecraft/item/EnumDyeColor; +MD: acl/a (Lvu;Lxq;)Lxq; net/minecraft/entity/passive/EntitySheep/func_180482_a (Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/entity/IEntityLivingData;)Lnet/minecraft/entity/IEntityLivingData; +MD: acl/a (Lws;)Lws; net/minecraft/entity/passive/EntitySheep/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/EntityAgeable; +MD: acl/aR ()F net/minecraft/entity/passive/EntitySheep/func_70047_e ()F +MD: acl/aW ()V net/minecraft/entity/passive/EntitySheep/func_110147_ax ()V +MD: acl/b (Lakv;)V net/minecraft/entity/passive/EntitySheep/func_175512_b (Lnet/minecraft/item/EnumDyeColor;)V +MD: acl/b (Lfn;)V net/minecraft/entity/passive/EntitySheep/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: acl/b (Lws;)Lacl; net/minecraft/entity/passive/EntitySheep/func_180491_b (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/passive/EntitySheep; +MD: acl/b (ZI)V net/minecraft/entity/passive/EntitySheep/func_70628_a (ZI)V +MD: acl/bn ()Ljava/lang/String; net/minecraft/entity/passive/EntitySheep/func_70621_aR ()Ljava/lang/String; +MD: acl/bo ()Ljava/lang/String; net/minecraft/entity/passive/EntitySheep/func_70673_aS ()Ljava/lang/String; +MD: acl/cj ()Lakv; net/minecraft/entity/passive/EntitySheep/func_175509_cj ()Lnet/minecraft/item/EnumDyeColor; +MD: acl/ck ()Z net/minecraft/entity/passive/EntitySheep/func_70892_o ()Z +MD: acl/h ()V net/minecraft/entity/passive/EntitySheep/func_70088_a ()V +MD: acl/l (Z)V net/minecraft/entity/passive/EntitySheep/func_70893_e (Z)V +MD: acl/m ()V net/minecraft/entity/passive/EntitySheep/func_70636_d ()V +MD: acl/o (F)F net/minecraft/entity/passive/EntitySheep/func_70894_j (F)F +MD: acl/p (F)F net/minecraft/entity/passive/EntitySheep/func_70890_k (F)F +MD: acl/v ()V net/minecraft/entity/passive/EntitySheep/func_70615_aA ()V +MD: acl/z ()Ljava/lang/String; net/minecraft/entity/passive/EntitySheep/func_70639_aQ ()Ljava/lang/String; +MD: acm/a (Lahd;)Z net/minecraft/entity/passive/EntitySheep$1/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: acn/A ()Lalq; net/minecraft/entity/monster/EntitySnowman/func_146068_u ()Lnet/minecraft/item/Item; +MD: acn/a (Lxm;F)V net/minecraft/entity/monster/EntitySnowman/func_82196_d (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: acn/aR ()F net/minecraft/entity/monster/EntitySnowman/func_70047_e ()F +MD: acn/aW ()V net/minecraft/entity/monster/EntitySnowman/func_110147_ax ()V +MD: acn/b (ZI)V net/minecraft/entity/monster/EntitySnowman/func_70628_a (ZI)V +MD: acn/m ()V net/minecraft/entity/monster/EntitySnowman/func_70636_d ()V +MD: aco/A ()Lalq; net/minecraft/entity/passive/EntitySquid/func_146068_u ()Lnet/minecraft/item/Item; +MD: aco/V ()Z net/minecraft/entity/passive/EntitySquid/func_70090_H ()Z +MD: aco/a (B)V net/minecraft/entity/passive/EntitySquid/func_70103_a (B)V +MD: aco/a (Laco;)Z net/minecraft/entity/passive/EntitySquid/access$000 (Lnet/minecraft/entity/passive/EntitySquid;)Z +MD: aco/aR ()F net/minecraft/entity/passive/EntitySquid/func_70047_e ()F +MD: aco/aW ()V net/minecraft/entity/passive/EntitySquid/func_110147_ax ()V +MD: aco/b (FFF)V net/minecraft/entity/passive/EntitySquid/func_175568_b (FFF)V +MD: aco/b (ZI)V net/minecraft/entity/passive/EntitySquid/func_70628_a (ZI)V +MD: aco/bA ()F net/minecraft/entity/passive/EntitySquid/func_70599_aP ()F +MD: aco/bQ ()Z net/minecraft/entity/passive/EntitySquid/func_70601_bi ()Z +MD: aco/bn ()Ljava/lang/String; net/minecraft/entity/passive/EntitySquid/func_70621_aR ()Ljava/lang/String; +MD: aco/bo ()Ljava/lang/String; net/minecraft/entity/passive/EntitySquid/func_70673_aS ()Ljava/lang/String; +MD: aco/g (FF)V net/minecraft/entity/passive/EntitySquid/func_70612_e (FF)V +MD: aco/m ()V net/minecraft/entity/passive/EntitySquid/func_70636_d ()V +MD: aco/n ()Z net/minecraft/entity/passive/EntitySquid/func_175567_n ()Z +MD: aco/r_ ()Z net/minecraft/entity/passive/EntitySquid/func_70041_e_ ()Z +MD: aco/z ()Ljava/lang/String; net/minecraft/entity/passive/EntitySquid/func_70639_aQ ()Ljava/lang/String; +MD: acp/a ()Z net/minecraft/entity/passive/EntitySquid$AIMoveRandom/func_75250_a ()Z +MD: acp/e ()V net/minecraft/entity/passive/EntitySquid$AIMoveRandom/func_75246_d ()V +MD: acq/E ()V net/minecraft/entity/monster/EntityIronGolem/func_70619_bc ()V +MD: acq/a (B)V net/minecraft/entity/monster/EntityIronGolem/func_70103_a (B)V +MD: acq/a (Ldt;Latr;)V net/minecraft/entity/monster/EntityIronGolem/func_180429_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: acq/a (Lfn;)V net/minecraft/entity/monster/EntityIronGolem/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: acq/a (Ljava/lang/Class;)Z net/minecraft/entity/monster/EntityIronGolem/func_70686_a (Ljava/lang/Class;)Z +MD: acq/a (Lwh;)V net/minecraft/entity/monster/EntityIronGolem/func_70645_a (Lnet/minecraft/util/DamageSource;)V +MD: acq/a (Z)V net/minecraft/entity/monster/EntityIronGolem/func_70851_e (Z)V +MD: acq/aW ()V net/minecraft/entity/monster/EntityIronGolem/func_110147_ax ()V +MD: acq/b (Lfn;)V net/minecraft/entity/monster/EntityIronGolem/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: acq/b (ZI)V net/minecraft/entity/monster/EntityIronGolem/func_70628_a (ZI)V +MD: acq/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntityIronGolem/func_70621_aR ()Ljava/lang/String; +MD: acq/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntityIronGolem/func_70673_aS ()Ljava/lang/String; +MD: acq/cj ()I net/minecraft/entity/monster/EntityIronGolem/func_70854_o ()I +MD: acq/ck ()I net/minecraft/entity/monster/EntityIronGolem/func_70853_p ()I +MD: acq/cl ()Z net/minecraft/entity/monster/EntityIronGolem/func_70850_q ()Z +MD: acq/h ()V net/minecraft/entity/monster/EntityIronGolem/func_70088_a ()V +MD: acq/j (I)I net/minecraft/entity/monster/EntityIronGolem/func_70682_h (I)I +MD: acq/l (Z)V net/minecraft/entity/monster/EntityIronGolem/func_70849_f (Z)V +MD: acq/m ()V net/minecraft/entity/monster/EntityIronGolem/func_70636_d ()V +MD: acq/n ()Labi; net/minecraft/entity/monster/EntityIronGolem/func_70852_n ()Lnet/minecraft/village/Village; +MD: acq/r (Lwv;)Z net/minecraft/entity/monster/EntityIronGolem/func_70652_k (Lnet/minecraft/entity/Entity;)Z +MD: acq/s (Lwv;)V net/minecraft/entity/monster/EntityIronGolem/func_82167_n (Lnet/minecraft/entity/Entity;)V +MD: acr/a (Lacr;)D net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper/access$000 (Lnet/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper;)D +MD: acr/a (Lacr;Lxm;Z)Z net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper/access$100 (Lnet/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper;Lnet/minecraft/entity/EntityLivingBase;Z)Z +MD: acs/a (Lxm;)Z net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper$1/func_180096_a (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: acs/apply (Ljava/lang/Object;)Z net/minecraft/entity/monster/EntityIronGolem$AINearestAttackableTargetNonCreeper$1/apply (Ljava/lang/Object;)Z +MD: act/C ()Z net/minecraft/entity/passive/EntityWaterMob/func_70692_ba ()Z +MD: act/K ()V net/minecraft/entity/passive/EntityWaterMob/func_70030_z ()V +MD: act/aK ()Z net/minecraft/entity/passive/EntityWaterMob/func_96092_aw ()Z +MD: act/aX ()Z net/minecraft/entity/passive/EntityWaterMob/func_70648_aU ()Z +MD: act/b (Lahd;)I net/minecraft/entity/passive/EntityWaterMob/func_70693_a (Lnet/minecraft/entity/player/EntityPlayer;)I +MD: act/bQ ()Z net/minecraft/entity/passive/EntityWaterMob/func_70601_bi ()Z +MD: act/bR ()Z net/minecraft/entity/passive/EntityWaterMob/func_70058_J ()Z +MD: act/w ()I net/minecraft/entity/passive/EntityWaterMob/func_70627_aG ()I +MD: acu/A ()Lalq; net/minecraft/entity/passive/EntityWolf/func_146068_u ()Lnet/minecraft/item/Item; +MD: acu/C ()Z net/minecraft/entity/passive/EntityWolf/func_70692_ba ()Z +MD: acu/E ()V net/minecraft/entity/passive/EntityWolf/func_70619_bc ()V +MD: acu/a (B)V net/minecraft/entity/passive/EntityWolf/func_70103_a (B)V +MD: acu/a (Labq;)Z net/minecraft/entity/passive/EntityWolf/func_70878_b (Lnet/minecraft/entity/passive/EntityAnimal;)Z +MD: acu/a (Lahd;)Z net/minecraft/entity/passive/EntityWolf/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: acu/a (Lakv;)V net/minecraft/entity/passive/EntityWolf/func_175547_a (Lnet/minecraft/item/EnumDyeColor;)V +MD: acu/a (Ldt;Latr;)V net/minecraft/entity/passive/EntityWolf/func_180429_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: acu/a (Lfn;)V net/minecraft/entity/passive/EntityWolf/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: acu/a (Lwh;F)Z net/minecraft/entity/passive/EntityWolf/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: acu/a (Lws;)Lws; net/minecraft/entity/passive/EntityWolf/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/EntityAgeable; +MD: acu/a (Lxm;Lxm;)Z net/minecraft/entity/passive/EntityWolf/func_142018_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: acu/aR ()F net/minecraft/entity/passive/EntityWolf/func_70047_e ()F +MD: acu/aW ()V net/minecraft/entity/passive/EntityWolf/func_110147_ax ()V +MD: acu/b (Lfn;)V net/minecraft/entity/passive/EntityWolf/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: acu/b (Lws;)Lacu; net/minecraft/entity/passive/EntityWolf/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/passive/EntityWolf; +MD: acu/bA ()F net/minecraft/entity/passive/EntityWolf/func_70599_aP ()F +MD: acu/bP ()I net/minecraft/entity/passive/EntityWolf/func_70646_bf ()I +MD: acu/bU ()I net/minecraft/entity/passive/EntityWolf/func_70641_bl ()I +MD: acu/bn ()Ljava/lang/String; net/minecraft/entity/passive/EntityWolf/func_70621_aR ()Ljava/lang/String; +MD: acu/bo ()Ljava/lang/String; net/minecraft/entity/passive/EntityWolf/func_70673_aS ()Ljava/lang/String; +MD: acu/ca ()Z net/minecraft/entity/passive/EntityWolf/func_110164_bC ()Z +MD: acu/cr ()Z net/minecraft/entity/passive/EntityWolf/func_70921_u ()Z +MD: acu/cs ()F net/minecraft/entity/passive/EntityWolf/func_70920_v ()F +MD: acu/ct ()Z net/minecraft/entity/passive/EntityWolf/func_70919_bu ()Z +MD: acu/cu ()Lakv; net/minecraft/entity/passive/EntityWolf/func_175546_cu ()Lnet/minecraft/item/EnumDyeColor; +MD: acu/cv ()Z net/minecraft/entity/passive/EntityWolf/func_70922_bv ()Z +MD: acu/d (Lamj;)Z net/minecraft/entity/passive/EntityWolf/func_70877_b (Lnet/minecraft/item/ItemStack;)Z +MD: acu/d (Lxm;)V net/minecraft/entity/passive/EntityWolf/func_70624_b (Lnet/minecraft/entity/EntityLivingBase;)V +MD: acu/h ()V net/minecraft/entity/passive/EntityWolf/func_70088_a ()V +MD: acu/i (FF)F net/minecraft/entity/passive/EntityWolf/func_70923_f (FF)F +MD: acu/m ()V net/minecraft/entity/passive/EntityWolf/func_70636_d ()V +MD: acu/m (Z)V net/minecraft/entity/passive/EntityWolf/func_70903_f (Z)V +MD: acu/o (F)F net/minecraft/entity/passive/EntityWolf/func_70915_j (F)F +MD: acu/o (Z)V net/minecraft/entity/passive/EntityWolf/func_70916_h (Z)V +MD: acu/p (F)F net/minecraft/entity/passive/EntityWolf/func_70917_k (F)F +MD: acu/p (Z)V net/minecraft/entity/passive/EntityWolf/func_70918_i (Z)V +MD: acu/r (Lwv;)Z net/minecraft/entity/passive/EntityWolf/func_70652_k (Lnet/minecraft/entity/Entity;)Z +MD: acu/s_ ()V net/minecraft/entity/passive/EntityWolf/func_70071_h_ ()V +MD: acu/z ()Ljava/lang/String; net/minecraft/entity/passive/EntityWolf/func_70639_aQ ()Ljava/lang/String; +MD: acv/a (Lwv;)Z net/minecraft/entity/passive/EntityWolf$1/func_180094_a (Lnet/minecraft/entity/Entity;)Z +MD: acv/apply (Ljava/lang/Object;)Z net/minecraft/entity/passive/EntityWolf$1/apply (Ljava/lang/Object;)Z +MD: acx/bm ()F net/minecraft/entity/boss/IBossDisplayData/func_110143_aJ ()F +MD: acx/bt ()F net/minecraft/entity/boss/IBossDisplayData/func_110138_aP ()F +MD: acx/e_ ()Lho; net/minecraft/entity/boss/IBossDisplayData/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: acy/a ()Laqu; net/minecraft/entity/IEntityMultiPart/func_82194_d ()Lnet/minecraft/world/World; +MD: acy/a (Lacz;Lwh;F)Z net/minecraft/entity/IEntityMultiPart/func_70965_a (Lnet/minecraft/entity/boss/EntityDragonPart;Lnet/minecraft/util/DamageSource;F)Z +MD: acz/a (Lfn;)V net/minecraft/entity/boss/EntityDragonPart/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: acz/a (Lwh;F)Z net/minecraft/entity/boss/EntityDragonPart/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: acz/ad ()Z net/minecraft/entity/boss/EntityDragonPart/func_70067_L ()Z +MD: acz/b (Lfn;)V net/minecraft/entity/boss/EntityDragonPart/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: acz/h ()V net/minecraft/entity/boss/EntityDragonPart/func_70088_a ()V +MD: acz/k (Lwv;)Z net/minecraft/entity/boss/EntityDragonPart/func_70028_i (Lnet/minecraft/entity/Entity;)Z +MD: ad/a ()Ljava/util/Map; net/minecraft/command/ICommandManager/func_71555_a ()Ljava/util/Map; +MD: ad/a (Lae;)Ljava/util/List; net/minecraft/command/ICommandManager/func_71557_a (Lnet/minecraft/command/ICommandSender;)Ljava/util/List; +MD: ad/a (Lae;Ljava/lang/String;)I net/minecraft/command/ICommandManager/func_71556_a (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)I +MD: ad/a (Lae;Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/ICommandManager/func_180524_a (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: ada/a (Lfn;)V net/minecraft/entity/item/EntityEnderCrystal/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ada/a (Lwh;F)Z net/minecraft/entity/item/EntityEnderCrystal/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: ada/ad ()Z net/minecraft/entity/item/EntityEnderCrystal/func_70067_L ()Z +MD: ada/b (Lfn;)V net/minecraft/entity/item/EntityEnderCrystal/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ada/h ()V net/minecraft/entity/item/EntityEnderCrystal/func_70088_a ()V +MD: ada/r_ ()Z net/minecraft/entity/item/EntityEnderCrystal/func_70041_e_ ()Z +MD: ada/s_ ()V net/minecraft/entity/item/EntityEnderCrystal/func_70071_h_ ()V +MD: adb/D ()V net/minecraft/entity/boss/EntityDragon/func_70623_bb ()V +MD: adb/G ()V net/minecraft/entity/boss/EntityDragon/func_174812_G ()V +MD: adb/a ()Laqu; net/minecraft/entity/boss/EntityDragon/func_82194_d ()Lnet/minecraft/world/World; +MD: adb/a (Lacz;Lwh;F)Z net/minecraft/entity/boss/EntityDragon/func_70965_a (Lnet/minecraft/entity/boss/EntityDragonPart;Lnet/minecraft/util/DamageSource;F)Z +MD: adb/a (Ldt;)V net/minecraft/entity/boss/EntityDragon/func_175499_a (Lnet/minecraft/util/BlockPos;)V +MD: adb/a (Ljava/util/List;)V net/minecraft/entity/boss/EntityDragon/func_70970_a (Ljava/util/List;)V +MD: adb/a (Lwh;F)Z net/minecraft/entity/boss/EntityDragon/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: adb/aC ()[Lwv; net/minecraft/entity/boss/EntityDragon/func_70021_al ()[Lnet/minecraft/entity/Entity; +MD: adb/aW ()V net/minecraft/entity/boss/EntityDragon/func_110147_ax ()V +MD: adb/aY ()V net/minecraft/entity/boss/EntityDragon/func_70609_aI ()V +MD: adb/ad ()Z net/minecraft/entity/boss/EntityDragon/func_70067_L ()Z +MD: adb/b (D)F net/minecraft/entity/boss/EntityDragon/func_70973_b (D)F +MD: adb/b (IF)[D net/minecraft/entity/boss/EntityDragon/func_70974_a (IF)[D +MD: adb/b (Lbrt;)Z net/minecraft/entity/boss/EntityDragon/func_70972_a (Lnet/minecraft/util/AxisAlignedBB;)Z +MD: adb/b (Ljava/util/List;)V net/minecraft/entity/boss/EntityDragon/func_70971_b (Ljava/util/List;)V +MD: adb/bA ()F net/minecraft/entity/boss/EntityDragon/func_70599_aP ()F +MD: adb/bn ()Ljava/lang/String; net/minecraft/entity/boss/EntityDragon/func_70621_aR ()Ljava/lang/String; +MD: adb/cd ()V net/minecraft/entity/boss/EntityDragon/func_70967_k ()V +MD: adb/e (Lwh;F)Z net/minecraft/entity/boss/EntityDragon/func_82195_e (Lnet/minecraft/util/DamageSource;F)Z +MD: adb/h ()V net/minecraft/entity/boss/EntityDragon/func_70088_a ()V +MD: adb/m ()V net/minecraft/entity/boss/EntityDragon/func_70636_d ()V +MD: adb/n ()V net/minecraft/entity/boss/EntityDragon/func_70969_j ()V +MD: adb/z ()Ljava/lang/String; net/minecraft/entity/boss/EntityDragon/func_70639_aQ ()Ljava/lang/String; +MD: adf/D ()V net/minecraft/entity/boss/EntityWither/func_70623_bb ()V +MD: adf/E ()V net/minecraft/entity/boss/EntityWither/func_70619_bc ()V +MD: adf/a (I)F net/minecraft/entity/boss/EntityWither/func_82207_a (I)F +MD: adf/a (IDDDZ)V net/minecraft/entity/boss/EntityWither/func_82209_a (IDDDZ)V +MD: adf/a (ILxm;)V net/minecraft/entity/boss/EntityWither/func_82216_a (ILnet/minecraft/entity/EntityLivingBase;)V +MD: adf/a (Lfn;)V net/minecraft/entity/boss/EntityWither/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adf/a (Lwh;F)Z net/minecraft/entity/boss/EntityWither/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: adf/a (Lwv;)V net/minecraft/entity/boss/EntityWither/func_70078_a (Lnet/minecraft/entity/Entity;)V +MD: adf/a (Lxm;F)V net/minecraft/entity/boss/EntityWither/func_82196_d (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: adf/aB ()V net/minecraft/entity/boss/EntityWither/func_70110_aj ()V +MD: adf/aW ()V net/minecraft/entity/boss/EntityWither/func_110147_ax ()V +MD: adf/b (F)I net/minecraft/entity/boss/EntityWither/func_70070_b (F)I +MD: adf/b (FFF)F net/minecraft/entity/boss/EntityWither/func_82204_b (FFF)F +MD: adf/b (I)F net/minecraft/entity/boss/EntityWither/func_82210_r (I)F +MD: adf/b (II)V net/minecraft/entity/boss/EntityWither/func_82211_c (II)V +MD: adf/b (Lfn;)V net/minecraft/entity/boss/EntityWither/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adf/b (ZI)V net/minecraft/entity/boss/EntityWither/func_70628_a (ZI)V +MD: adf/bn ()Ljava/lang/String; net/minecraft/entity/boss/EntityWither/func_70621_aR ()Ljava/lang/String; +MD: adf/bo ()Ljava/lang/String; net/minecraft/entity/boss/EntityWither/func_70673_aS ()Ljava/lang/String; +MD: adf/bq ()I net/minecraft/entity/boss/EntityWither/func_70658_aO ()I +MD: adf/by ()Lxs; net/minecraft/entity/boss/EntityWither/func_70668_bt ()Lnet/minecraft/entity/EnumCreatureAttribute; +MD: adf/c (Lwq;)V net/minecraft/entity/boss/EntityWither/func_70690_d (Lnet/minecraft/potion/PotionEffect;)V +MD: adf/cj ()I net/minecraft/entity/boss/EntityWither/func_82212_n ()I +MD: adf/ck ()Z net/minecraft/entity/boss/EntityWither/func_82205_o ()Z +MD: adf/e (FF)V net/minecraft/entity/boss/EntityWither/func_180430_e (FF)V +MD: adf/h ()V net/minecraft/entity/boss/EntityWither/func_70088_a ()V +MD: adf/m ()V net/minecraft/entity/boss/EntityWither/func_70636_d ()V +MD: adf/n ()V net/minecraft/entity/boss/EntityWither/func_82206_m ()V +MD: adf/r (I)V net/minecraft/entity/boss/EntityWither/func_82215_s (I)V +MD: adf/s (I)I net/minecraft/entity/boss/EntityWither/func_82203_t (I)I +MD: adf/t (I)D net/minecraft/entity/boss/EntityWither/func_82214_u (I)D +MD: adf/u (I)D net/minecraft/entity/boss/EntityWither/func_82208_v (I)D +MD: adf/v (I)D net/minecraft/entity/boss/EntityWither/func_82213_w (I)D +MD: adf/z ()Ljava/lang/String; net/minecraft/entity/boss/EntityWither/func_70639_aQ ()Ljava/lang/String; +MD: adg/a (Lwv;)Z net/minecraft/entity/boss/EntityWither$1/func_180027_a (Lnet/minecraft/entity/Entity;)Z +MD: adg/apply (Ljava/lang/Object;)Z net/minecraft/entity/boss/EntityWither$1/apply (Ljava/lang/Object;)Z +MD: adi/A ()V net/minecraft/entity/item/EntityArmorStand/func_175421_A ()V +MD: adi/B ()V net/minecraft/entity/item/EntityArmorStand/func_175135_B ()V +MD: adi/C ()V net/minecraft/entity/item/EntityArmorStand/func_175409_C ()V +MD: adi/G ()V net/minecraft/entity/item/EntityArmorStand/func_174812_G ()V +MD: adi/a (F)V net/minecraft/entity/item/EntityArmorStand/func_175406_a (F)V +MD: adi/a (Lahd;I)V net/minecraft/entity/item/EntityArmorStand/func_175422_a (Lnet/minecraft/entity/player/EntityPlayer;I)V +MD: adi/a (Lahd;Lbrw;)Z net/minecraft/entity/item/EntityArmorStand/func_174825_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/Vec3;)Z +MD: adi/a (Lfa;)V net/minecraft/entity/item/EntityArmorStand/func_175415_a (Lnet/minecraft/util/Rotations;)V +MD: adi/a (Lfn;)V net/minecraft/entity/item/EntityArmorStand/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adi/a (Lwh;F)Z net/minecraft/entity/item/EntityArmorStand/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: adi/a (Z)V net/minecraft/entity/item/EntityArmorStand/func_175420_a (Z)V +MD: adi/aR ()F net/minecraft/entity/item/EntityArmorStand/func_70047_e ()F +MD: adi/aV ()Z net/minecraft/entity/item/EntityArmorStand/func_180427_aV ()Z +MD: adi/ae ()Z net/minecraft/entity/item/EntityArmorStand/func_70104_M ()Z +MD: adi/at ()[Lamj; net/minecraft/entity/item/EntityArmorStand/func_70035_c ()[Lnet/minecraft/item/ItemStack; +MD: adi/b (Lfa;)V net/minecraft/entity/item/EntityArmorStand/func_175424_b (Lnet/minecraft/util/Rotations;)V +MD: adi/b (Lfn;)V net/minecraft/entity/item/EntityArmorStand/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adi/bK ()V net/minecraft/entity/item/EntityArmorStand/func_85033_bc ()V +MD: adi/bL ()Z net/minecraft/entity/item/EntityArmorStand/func_70613_aW ()Z +MD: adi/bz ()Lamj; net/minecraft/entity/item/EntityArmorStand/func_70694_bm ()Lnet/minecraft/item/ItemStack; +MD: adi/c (ILamj;)V net/minecraft/entity/item/EntityArmorStand/func_70062_b (ILnet/minecraft/item/ItemStack;)V +MD: adi/c (Lfa;)V net/minecraft/entity/item/EntityArmorStand/func_175405_c (Lnet/minecraft/util/Rotations;)V +MD: adi/d (ILamj;)Z net/minecraft/entity/item/EntityArmorStand/func_174820_d (ILnet/minecraft/item/ItemStack;)Z +MD: adi/d (Lfa;)V net/minecraft/entity/item/EntityArmorStand/func_175428_d (Lnet/minecraft/util/Rotations;)V +MD: adi/e (Lfa;)V net/minecraft/entity/item/EntityArmorStand/func_175417_e (Lnet/minecraft/util/Rotations;)V +MD: adi/e (Z)V net/minecraft/entity/item/EntityArmorStand/func_82142_c (Z)V +MD: adi/f (Lfa;)V net/minecraft/entity/item/EntityArmorStand/func_175427_f (Lnet/minecraft/util/Rotations;)V +MD: adi/g (FF)V net/minecraft/entity/item/EntityArmorStand/func_70612_e (FF)V +MD: adi/h ()V net/minecraft/entity/item/EntityArmorStand/func_70088_a ()V +MD: adi/h (FF)F net/minecraft/entity/item/EntityArmorStand/func_110146_f (FF)F +MD: adi/h (Lfn;)V net/minecraft/entity/item/EntityArmorStand/func_175416_h (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adi/i_ ()Z net/minecraft/entity/item/EntityArmorStand/func_70631_g_ ()Z +MD: adi/j (Z)V net/minecraft/entity/item/EntityArmorStand/func_175425_j (Z)V +MD: adi/k (Z)V net/minecraft/entity/item/EntityArmorStand/func_175413_k (Z)V +MD: adi/l (Z)V net/minecraft/entity/item/EntityArmorStand/func_175426_l (Z)V +MD: adi/n ()Z net/minecraft/entity/item/EntityArmorStand/func_175410_n ()Z +MD: adi/p ()Z net/minecraft/entity/item/EntityArmorStand/func_175423_p ()Z +MD: adi/p (I)Lamj; net/minecraft/entity/item/EntityArmorStand/func_71124_b (I)Lnet/minecraft/item/ItemStack; +MD: adi/q ()Z net/minecraft/entity/item/EntityArmorStand/func_175402_q ()Z +MD: adi/q (I)Lamj; net/minecraft/entity/item/EntityArmorStand/func_82169_q (I)Lnet/minecraft/item/ItemStack; +MD: adi/r ()Z net/minecraft/entity/item/EntityArmorStand/func_175414_r ()Z +MD: adi/s ()Lfa; net/minecraft/entity/item/EntityArmorStand/func_175418_s ()Lnet/minecraft/util/Rotations; +MD: adi/s (Lwv;)V net/minecraft/entity/item/EntityArmorStand/func_82167_n (Lnet/minecraft/entity/Entity;)V +MD: adi/s_ ()V net/minecraft/entity/item/EntityArmorStand/func_70071_h_ ()V +MD: adi/t ()Lfa; net/minecraft/entity/item/EntityArmorStand/func_175408_t ()Lnet/minecraft/util/Rotations; +MD: adi/u ()Lfa; net/minecraft/entity/item/EntityArmorStand/func_175404_u ()Lnet/minecraft/util/Rotations; +MD: adi/v ()Lfa; net/minecraft/entity/item/EntityArmorStand/func_175411_v ()Lnet/minecraft/util/Rotations; +MD: adi/w ()Lfa; net/minecraft/entity/item/EntityArmorStand/func_175403_w ()Lnet/minecraft/util/Rotations; +MD: adi/x ()Lfa; net/minecraft/entity/item/EntityArmorStand/func_175407_x ()Lnet/minecraft/util/Rotations; +MD: adi/y ()Lfn; net/minecraft/entity/item/EntityArmorStand/func_175419_y ()Lnet/minecraft/nbt/NBTTagCompound; +MD: adi/z ()V net/minecraft/entity/item/EntityArmorStand/func_175412_z ()V +MD: adj/a (I)D net/minecraft/entity/EntityHanging/func_174858_a (I)D +MD: adj/a (Lej;)V net/minecraft/entity/EntityHanging/func_174859_a (Lnet/minecraft/util/EnumFacing;)V +MD: adj/a (Lfn;)V net/minecraft/entity/EntityHanging/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adj/a (Lwh;F)Z net/minecraft/entity/EntityHanging/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: adj/aO ()Lej; net/minecraft/entity/EntityHanging/func_174811_aO ()Lnet/minecraft/util/EnumFacing; +MD: adj/ad ()Z net/minecraft/entity/EntityHanging/func_70067_L ()Z +MD: adj/af ()Z net/minecraft/entity/EntityHanging/func_142008_O ()Z +MD: adj/b (DDD)V net/minecraft/entity/EntityHanging/func_70107_b (DDD)V +MD: adj/b (Lfn;)V net/minecraft/entity/EntityHanging/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adj/b (Lwv;)V net/minecraft/entity/EntityHanging/func_110128_b (Lnet/minecraft/entity/Entity;)V +MD: adj/d (DDD)V net/minecraft/entity/EntityHanging/func_70091_d (DDD)V +MD: adj/g (DDD)V net/minecraft/entity/EntityHanging/func_70024_g (DDD)V +MD: adj/h ()V net/minecraft/entity/EntityHanging/func_70088_a ()V +MD: adj/j ()Z net/minecraft/entity/EntityHanging/func_70518_d ()Z +MD: adj/l ()I net/minecraft/entity/EntityHanging/func_82329_d ()I +MD: adj/l (Lwv;)Z net/minecraft/entity/EntityHanging/func_85031_j (Lnet/minecraft/entity/Entity;)Z +MD: adj/m ()I net/minecraft/entity/EntityHanging/func_82330_g ()I +MD: adj/n ()Ldt; net/minecraft/entity/EntityHanging/func_174857_n ()Lnet/minecraft/util/BlockPos; +MD: adj/o ()V net/minecraft/entity/EntityHanging/func_174856_o ()V +MD: adj/s_ ()V net/minecraft/entity/EntityHanging/func_70071_h_ ()V +MD: adk/a (D)Z net/minecraft/entity/item/EntityItemFrame/func_70112_a (D)Z +MD: adk/a (I)V net/minecraft/entity/item/EntityItemFrame/func_82336_g (I)V +MD: adk/a (IZ)V net/minecraft/entity/item/EntityItemFrame/func_174865_a (IZ)V +MD: adk/a (Lamj;)V net/minecraft/entity/item/EntityItemFrame/func_82334_a (Lnet/minecraft/item/ItemStack;)V +MD: adk/a (Lamj;Z)V net/minecraft/entity/item/EntityItemFrame/func_174864_a (Lnet/minecraft/item/ItemStack;Z)V +MD: adk/a (Lfn;)V net/minecraft/entity/item/EntityItemFrame/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adk/a (Lwh;F)Z net/minecraft/entity/item/EntityItemFrame/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: adk/a (Lwv;Z)V net/minecraft/entity/item/EntityItemFrame/func_146065_b (Lnet/minecraft/entity/Entity;Z)V +MD: adk/ao ()F net/minecraft/entity/item/EntityItemFrame/func_70111_Y ()F +MD: adk/b (Lamj;)V net/minecraft/entity/item/EntityItemFrame/func_110131_b (Lnet/minecraft/item/ItemStack;)V +MD: adk/b (Lfn;)V net/minecraft/entity/item/EntityItemFrame/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adk/b (Lwv;)V net/minecraft/entity/item/EntityItemFrame/func_110128_b (Lnet/minecraft/entity/Entity;)V +MD: adk/e (Lahd;)Z net/minecraft/entity/item/EntityItemFrame/func_130002_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: adk/h ()V net/minecraft/entity/item/EntityItemFrame/func_70088_a ()V +MD: adk/l ()I net/minecraft/entity/item/EntityItemFrame/func_82329_d ()I +MD: adk/m ()I net/minecraft/entity/item/EntityItemFrame/func_82330_g ()I +MD: adk/o ()Lamj; net/minecraft/entity/item/EntityItemFrame/func_82335_i ()Lnet/minecraft/item/ItemStack; +MD: adk/p ()I net/minecraft/entity/item/EntityItemFrame/func_82333_j ()I +MD: adk/q ()I net/minecraft/entity/item/EntityItemFrame/func_174866_q ()I +MD: adl/a (D)Z net/minecraft/entity/EntityLeashKnot/func_70112_a (D)Z +MD: adl/a (Laqu;Ldt;)Ladl; net/minecraft/entity/EntityLeashKnot/func_174862_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/entity/EntityLeashKnot; +MD: adl/a (Lej;)V net/minecraft/entity/EntityLeashKnot/func_174859_a (Lnet/minecraft/util/EnumFacing;)V +MD: adl/a (Lfn;)V net/minecraft/entity/EntityLeashKnot/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adl/aR ()F net/minecraft/entity/EntityLeashKnot/func_70047_e ()F +MD: adl/b (Laqu;Ldt;)Ladl; net/minecraft/entity/EntityLeashKnot/func_174863_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/entity/EntityLeashKnot; +MD: adl/b (Lfn;)V net/minecraft/entity/EntityLeashKnot/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adl/b (Lwv;)V net/minecraft/entity/EntityLeashKnot/func_110128_b (Lnet/minecraft/entity/Entity;)V +MD: adl/d (Lfn;)Z net/minecraft/entity/EntityLeashKnot/func_70039_c (Lnet/minecraft/nbt/NBTTagCompound;)Z +MD: adl/e (Lahd;)Z net/minecraft/entity/EntityLeashKnot/func_130002_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: adl/h ()V net/minecraft/entity/EntityLeashKnot/func_70088_a ()V +MD: adl/j ()Z net/minecraft/entity/EntityLeashKnot/func_70518_d ()Z +MD: adl/l ()I net/minecraft/entity/EntityLeashKnot/func_82329_d ()I +MD: adl/m ()I net/minecraft/entity/EntityLeashKnot/func_82330_g ()I +MD: adm/a (DDDFFIZ)V net/minecraft/entity/item/EntityPainting/func_180426_a (DDDFFIZ)V +MD: adm/a (Lfn;)V net/minecraft/entity/item/EntityPainting/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adm/b (DDDFF)V net/minecraft/entity/item/EntityPainting/func_70012_b (DDDFF)V +MD: adm/b (Lfn;)V net/minecraft/entity/item/EntityPainting/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adm/b (Lwv;)V net/minecraft/entity/item/EntityPainting/func_110128_b (Lnet/minecraft/entity/Entity;)V +MD: adm/l ()I net/minecraft/entity/item/EntityPainting/func_82329_d ()I +MD: adm/m ()I net/minecraft/entity/item/EntityPainting/func_82330_g ()I +MD: adn/valueOf (Ljava/lang/String;)Ladn; net/minecraft/entity/item/EntityPainting$EnumArt/valueOf (Ljava/lang/String;)Lnet/minecraft/entity/item/EntityPainting$EnumArt; +MD: adn/values ()[Ladn; net/minecraft/entity/item/EntityPainting$EnumArt/values ()[Lnet/minecraft/entity/item/EntityPainting$EnumArt; +MD: ado/J ()V net/minecraft/entity/projectile/EntityFishHook/func_70106_y ()V +MD: ado/a (D)Z net/minecraft/entity/projectile/EntityFishHook/func_70112_a (D)Z +MD: ado/a (DDDFFIZ)V net/minecraft/entity/projectile/EntityFishHook/func_180426_a (DDDFFIZ)V +MD: ado/a (Lfn;)V net/minecraft/entity/projectile/EntityFishHook/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ado/b (Lfn;)V net/minecraft/entity/projectile/EntityFishHook/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ado/c (DDDFF)V net/minecraft/entity/projectile/EntityFishHook/func_146035_c (DDDFF)V +MD: ado/h ()V net/minecraft/entity/projectile/EntityFishHook/func_70088_a ()V +MD: ado/i (DDD)V net/minecraft/entity/projectile/EntityFishHook/func_70016_h (DDD)V +MD: ado/j ()Ljava/util/List; net/minecraft/entity/projectile/EntityFishHook/func_174855_j ()Ljava/util/List; +MD: ado/l ()I net/minecraft/entity/projectile/EntityFishHook/func_146034_e ()I +MD: ado/m ()Lamj; net/minecraft/entity/projectile/EntityFishHook/func_146033_f ()Lnet/minecraft/item/ItemStack; +MD: ado/s_ ()V net/minecraft/entity/projectile/EntityFishHook/func_70071_h_ ()V +MD: adp/a ()Ladp; net/minecraft/util/WeightedRandomFishable/func_150707_a ()Lnet/minecraft/util/WeightedRandomFishable; +MD: adp/a (F)Ladp; net/minecraft/util/WeightedRandomFishable/func_150709_a (F)Lnet/minecraft/util/WeightedRandomFishable; +MD: adp/a (Ljava/util/Random;)Lamj; net/minecraft/util/WeightedRandomFishable/func_150708_a (Ljava/util/Random;)Lnet/minecraft/item/ItemStack; +MD: ads/a (Lfn;)V net/minecraft/entity/effect/EntityLightningBolt/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ads/b (Lfn;)V net/minecraft/entity/effect/EntityLightningBolt/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ads/h ()V net/minecraft/entity/effect/EntityLightningBolt/func_70088_a ()V +MD: ads/s_ ()V net/minecraft/entity/effect/EntityLightningBolt/func_70071_h_ ()V +MD: adu/S ()Lbrt; net/minecraft/entity/item/EntityBoat/func_70046_E ()Lnet/minecraft/util/AxisAlignedBB; +MD: adu/a (DDDFFIZ)V net/minecraft/entity/item/EntityBoat/func_180426_a (DDDFFIZ)V +MD: adu/a (DZLatr;Ldt;)V net/minecraft/entity/item/EntityBoat/func_180433_a (DZLnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;)V +MD: adu/a (F)V net/minecraft/entity/item/EntityBoat/func_70266_a (F)V +MD: adu/a (I)V net/minecraft/entity/item/EntityBoat/func_70265_b (I)V +MD: adu/a (Lfn;)V net/minecraft/entity/item/EntityBoat/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adu/a (Lwh;F)Z net/minecraft/entity/item/EntityBoat/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: adu/a (Z)V net/minecraft/entity/item/EntityBoat/func_70270_d (Z)V +MD: adu/ad ()Z net/minecraft/entity/item/EntityBoat/func_70067_L ()Z +MD: adu/ae ()Z net/minecraft/entity/item/EntityBoat/func_70104_M ()Z +MD: adu/al ()V net/minecraft/entity/item/EntityBoat/func_70043_V ()V +MD: adu/an ()D net/minecraft/entity/item/EntityBoat/func_70042_X ()D +MD: adu/as ()V net/minecraft/entity/item/EntityBoat/func_70057_ab ()V +MD: adu/b (I)V net/minecraft/entity/item/EntityBoat/func_70269_c (I)V +MD: adu/b (Lfn;)V net/minecraft/entity/item/EntityBoat/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adu/e (Lahd;)Z net/minecraft/entity/item/EntityBoat/func_130002_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: adu/h ()V net/minecraft/entity/item/EntityBoat/func_70088_a ()V +MD: adu/i (DDD)V net/minecraft/entity/item/EntityBoat/func_70016_h (DDD)V +MD: adu/j ()F net/minecraft/entity/item/EntityBoat/func_70271_g ()F +MD: adu/j (Lwv;)Lbrt; net/minecraft/entity/item/EntityBoat/func_70114_g (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/AxisAlignedBB; +MD: adu/l ()I net/minecraft/entity/item/EntityBoat/func_70268_h ()I +MD: adu/m ()I net/minecraft/entity/item/EntityBoat/func_70267_i ()I +MD: adu/r_ ()Z net/minecraft/entity/item/EntityBoat/func_70041_e_ ()Z +MD: adu/s_ ()V net/minecraft/entity/item/EntityBoat/func_70071_h_ ()V +MD: adv/a (Lfn;)V net/minecraft/entity/item/EntityFallingBlock/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adv/a (Lj;)V net/minecraft/entity/item/EntityFallingBlock/func_85029_a (Lnet/minecraft/crash/CrashReportCategory;)V +MD: adv/a (Z)V net/minecraft/entity/item/EntityFallingBlock/func_145806_a (Z)V +MD: adv/aI ()Z net/minecraft/entity/item/EntityFallingBlock/func_90999_ad ()Z +MD: adv/ad ()Z net/minecraft/entity/item/EntityFallingBlock/func_70067_L ()Z +MD: adv/b (Lfn;)V net/minecraft/entity/item/EntityFallingBlock/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adv/e (FF)V net/minecraft/entity/item/EntityFallingBlock/func_180430_e (FF)V +MD: adv/h ()V net/minecraft/entity/item/EntityFallingBlock/func_70088_a ()V +MD: adv/j ()Laqu; net/minecraft/entity/item/EntityFallingBlock/func_145807_e ()Lnet/minecraft/world/World; +MD: adv/l ()Lbec; net/minecraft/entity/item/EntityFallingBlock/func_175131_l ()Lnet/minecraft/block/state/IBlockState; +MD: adv/r_ ()Z net/minecraft/entity/item/EntityFallingBlock/func_70041_e_ ()Z +MD: adv/s_ ()V net/minecraft/entity/item/EntityFallingBlock/func_70071_h_ ()V +MD: adw/W ()Z net/minecraft/entity/item/EntityItem/func_70072_I ()Z +MD: adw/a (I)V net/minecraft/entity/item/EntityItem/func_174867_a (I)V +MD: adw/a (Ladw;)Z net/minecraft/entity/item/EntityItem/func_70289_a (Lnet/minecraft/entity/item/EntityItem;)Z +MD: adw/a (Lamj;)V net/minecraft/entity/item/EntityItem/func_92058_a (Lnet/minecraft/item/ItemStack;)V +MD: adw/a (Lfn;)V net/minecraft/entity/item/EntityItem/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adw/a (Lwh;F)Z net/minecraft/entity/item/EntityItem/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: adw/aE ()Z net/minecraft/entity/item/EntityItem/func_70075_an ()Z +MD: adw/b (Lfn;)V net/minecraft/entity/item/EntityItem/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adw/b (Ljava/lang/String;)V net/minecraft/entity/item/EntityItem/func_145797_a (Ljava/lang/String;)V +MD: adw/c (I)V net/minecraft/entity/item/EntityItem/func_71027_c (I)V +MD: adw/c (Ljava/lang/String;)V net/minecraft/entity/item/EntityItem/func_145799_b (Ljava/lang/String;)V +MD: adw/d (Lahd;)V net/minecraft/entity/item/EntityItem/func_70100_b_ (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: adw/d_ ()Ljava/lang/String; net/minecraft/entity/item/EntityItem/func_70005_c_ ()Ljava/lang/String; +MD: adw/f (I)V net/minecraft/entity/item/EntityItem/func_70081_e (I)V +MD: adw/h ()V net/minecraft/entity/item/EntityItem/func_70088_a ()V +MD: adw/j ()V net/minecraft/entity/item/EntityItem/func_70288_d ()V +MD: adw/l ()Lamj; net/minecraft/entity/item/EntityItem/func_92059_d ()Lnet/minecraft/item/ItemStack; +MD: adw/m ()Ljava/lang/String; net/minecraft/entity/item/EntityItem/func_145798_i ()Ljava/lang/String; +MD: adw/n ()Ljava/lang/String; net/minecraft/entity/item/EntityItem/func_145800_j ()Ljava/lang/String; +MD: adw/o ()I net/minecraft/entity/item/EntityItem/func_174872_o ()I +MD: adw/p ()V net/minecraft/entity/item/EntityItem/func_174869_p ()V +MD: adw/q ()V net/minecraft/entity/item/EntityItem/func_174868_q ()V +MD: adw/r ()V net/minecraft/entity/item/EntityItem/func_174871_r ()V +MD: adw/r_ ()Z net/minecraft/entity/item/EntityItem/func_70041_e_ ()Z +MD: adw/s ()Z net/minecraft/entity/item/EntityItem/func_174874_s ()Z +MD: adw/s_ ()V net/minecraft/entity/item/EntityItem/func_70071_h_ ()V +MD: adw/u ()V net/minecraft/entity/item/EntityItem/func_174873_u ()V +MD: adw/v ()V net/minecraft/entity/item/EntityItem/func_174870_v ()V +MD: adw/w ()V net/minecraft/entity/item/EntityItem/func_85054_d ()V +MD: adx/J ()V net/minecraft/entity/item/EntityMinecart/func_70106_y ()V +MD: adx/S ()Lbrt; net/minecraft/entity/item/EntityMinecart/func_70046_E ()Lnet/minecraft/util/AxisAlignedBB; +MD: adx/a (DDDD)Lbrw; net/minecraft/entity/item/EntityMinecart/func_70495_a (DDDD)Lnet/minecraft/util/Vec3; +MD: adx/a (DDDFFIZ)V net/minecraft/entity/item/EntityMinecart/func_180426_a (DDDFFIZ)V +MD: adx/a (F)V net/minecraft/entity/item/EntityMinecart/func_70492_c (F)V +MD: adx/a (IIIZ)V net/minecraft/entity/item/EntityMinecart/func_96095_a (IIIZ)V +MD: adx/a (Laqu;DDDLadz;)Ladx; net/minecraft/entity/item/EntityMinecart/func_180458_a (Lnet/minecraft/world/World;DDDLnet/minecraft/entity/item/EntityMinecart$EnumMinecartType;)Lnet/minecraft/entity/item/EntityMinecart; +MD: adx/a (Lbec;)V net/minecraft/entity/item/EntityMinecart/func_174899_a (Lnet/minecraft/block/state/IBlockState;)V +MD: adx/a (Ldt;Lbec;)V net/minecraft/entity/item/EntityMinecart/func_180460_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: adx/a (Lfn;)V net/minecraft/entity/item/EntityMinecart/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adx/a (Ljava/lang/String;)V net/minecraft/entity/item/EntityMinecart/func_96094_a (Ljava/lang/String;)V +MD: adx/a (Lwh;)V net/minecraft/entity/item/EntityMinecart/func_94095_a (Lnet/minecraft/util/DamageSource;)V +MD: adx/a (Lwh;F)Z net/minecraft/entity/item/EntityMinecart/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: adx/a (Z)V net/minecraft/entity/item/EntityMinecart/func_94096_e (Z)V +MD: adx/aL ()Ljava/lang/String; net/minecraft/entity/item/EntityMinecart/func_95999_t ()Ljava/lang/String; +MD: adx/ad ()Z net/minecraft/entity/item/EntityMinecart/func_70067_L ()Z +MD: adx/ae ()Z net/minecraft/entity/item/EntityMinecart/func_70104_M ()Z +MD: adx/an ()D net/minecraft/entity/item/EntityMinecart/func_70042_X ()D +MD: adx/as ()V net/minecraft/entity/item/EntityMinecart/func_70057_ab ()V +MD: adx/b (DDD)V net/minecraft/entity/item/EntityMinecart/func_70107_b (DDD)V +MD: adx/b (Lfn;)V net/minecraft/entity/item/EntityMinecart/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: adx/d_ ()Ljava/lang/String; net/minecraft/entity/item/EntityMinecart/func_70005_c_ ()Ljava/lang/String; +MD: adx/e_ ()Lho; net/minecraft/entity/item/EntityMinecart/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: adx/h ()V net/minecraft/entity/item/EntityMinecart/func_70088_a ()V +MD: adx/i (DDD)V net/minecraft/entity/item/EntityMinecart/func_70016_h (DDD)V +MD: adx/i (Lwv;)V net/minecraft/entity/item/EntityMinecart/func_70108_f (Lnet/minecraft/entity/Entity;)V +MD: adx/j (I)V net/minecraft/entity/item/EntityMinecart/func_70497_h (I)V +MD: adx/j (Lwv;)Lbrt; net/minecraft/entity/item/EntityMinecart/func_70114_g (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/AxisAlignedBB; +MD: adx/k (DDD)Lbrw; net/minecraft/entity/item/EntityMinecart/func_70489_a (DDD)Lnet/minecraft/util/Vec3; +MD: adx/k (I)V net/minecraft/entity/item/EntityMinecart/func_70494_i (I)V +MD: adx/k_ ()Z net/minecraft/entity/item/EntityMinecart/func_145818_k_ ()Z +MD: adx/l (I)V net/minecraft/entity/item/EntityMinecart/func_94086_l (I)V +MD: adx/m ()D net/minecraft/entity/item/EntityMinecart/func_174898_m ()D +MD: adx/n ()V net/minecraft/entity/item/EntityMinecart/func_180459_n ()V +MD: adx/o ()V net/minecraft/entity/item/EntityMinecart/func_94101_h ()V +MD: adx/p ()F net/minecraft/entity/item/EntityMinecart/func_70491_i ()F +MD: adx/q ()I net/minecraft/entity/item/EntityMinecart/func_70496_j ()I +MD: adx/r ()I net/minecraft/entity/item/EntityMinecart/func_70493_k ()I +MD: adx/r_ ()Z net/minecraft/entity/item/EntityMinecart/func_70041_e_ ()Z +MD: adx/s ()Ladz; net/minecraft/entity/item/EntityMinecart/func_180456_s ()Lnet/minecraft/entity/item/EntityMinecart$EnumMinecartType; +MD: adx/s_ ()V net/minecraft/entity/item/EntityMinecart/func_70071_h_ ()V +MD: adx/t ()Lbec; net/minecraft/entity/item/EntityMinecart/func_174897_t ()Lnet/minecraft/block/state/IBlockState; +MD: adx/u ()Lbec; net/minecraft/entity/item/EntityMinecart/func_180457_u ()Lnet/minecraft/block/state/IBlockState; +MD: adx/v ()I net/minecraft/entity/item/EntityMinecart/func_94099_q ()I +MD: adx/w ()I net/minecraft/entity/item/EntityMinecart/func_94085_r ()I +MD: adx/x ()Z net/minecraft/entity/item/EntityMinecart/func_94100_s ()Z +MD: adz/a ()I net/minecraft/entity/item/EntityMinecart$EnumMinecartType/func_180039_a ()I +MD: adz/a (I)Ladz; net/minecraft/entity/item/EntityMinecart$EnumMinecartType/func_180038_a (I)Lnet/minecraft/entity/item/EntityMinecart$EnumMinecartType; +MD: adz/b ()Ljava/lang/String; net/minecraft/entity/item/EntityMinecart$EnumMinecartType/func_180040_b ()Ljava/lang/String; +MD: adz/values ()[Ladz; net/minecraft/entity/item/EntityMinecart$EnumMinecartType/values ()[Lnet/minecraft/entity/item/EntityMinecart$EnumMinecartType; +MD: ae/a (ILjava/lang/String;)Z net/minecraft/command/ICommandSender/func_70003_b (ILjava/lang/String;)Z +MD: ae/a (Lag;I)V net/minecraft/command/ICommandSender/func_174794_a (Lnet/minecraft/command/CommandResultStats$Type;I)V +MD: ae/a (Lho;)V net/minecraft/command/ICommandSender/func_145747_a (Lnet/minecraft/util/IChatComponent;)V +MD: ae/c ()Ldt; net/minecraft/command/ICommandSender/func_180425_c ()Lnet/minecraft/util/BlockPos; +MD: ae/d ()Lbrw; net/minecraft/command/ICommandSender/func_174791_d ()Lnet/minecraft/util/Vec3; +MD: ae/d_ ()Ljava/lang/String; net/minecraft/command/ICommandSender/func_70005_c_ ()Ljava/lang/String; +MD: ae/e ()Laqu; net/minecraft/command/ICommandSender/func_130014_f_ ()Lnet/minecraft/world/World; +MD: ae/e_ ()Lho; net/minecraft/command/ICommandSender/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: ae/f ()Lwv; net/minecraft/command/ICommandSender/func_174793_f ()Lnet/minecraft/entity/Entity; +MD: ae/t_ ()Z net/minecraft/command/ICommandSender/func_174792_t_ ()Z +MD: aea/a (Lahb;Lahd;)Laib; net/minecraft/entity/item/EntityMinecartChest/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: aea/a (Lwh;)V net/minecraft/entity/item/EntityMinecartChest/func_94095_a (Lnet/minecraft/util/DamageSource;)V +MD: aea/k ()Ljava/lang/String; net/minecraft/entity/item/EntityMinecartChest/func_174875_k ()Ljava/lang/String; +MD: aea/n_ ()I net/minecraft/entity/item/EntityMinecartChest/func_70302_i_ ()I +MD: aea/s ()Ladz; net/minecraft/entity/item/EntityMinecartChest/func_180456_s ()Lnet/minecraft/entity/item/EntityMinecart$EnumMinecartType; +MD: aea/u ()Lbec; net/minecraft/entity/item/EntityMinecartChest/func_180457_u ()Lnet/minecraft/block/state/IBlockState; +MD: aea/w ()I net/minecraft/entity/item/EntityMinecartChest/func_94085_r ()I +MD: aeb/a (IIIZ)V net/minecraft/entity/EntityMinecartCommandBlock/func_96095_a (IIIZ)V +MD: aeb/a (Lfn;)V net/minecraft/entity/EntityMinecartCommandBlock/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aeb/b (Lfn;)V net/minecraft/entity/EntityMinecartCommandBlock/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aeb/e (Lahd;)Z net/minecraft/entity/EntityMinecartCommandBlock/func_130002_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aeb/h ()V net/minecraft/entity/EntityMinecartCommandBlock/func_70088_a ()V +MD: aeb/i (I)V net/minecraft/entity/EntityMinecartCommandBlock/func_145781_i (I)V +MD: aeb/j ()Laqf; net/minecraft/entity/EntityMinecartCommandBlock/func_145822_e ()Lnet/minecraft/command/server/CommandBlockLogic; +MD: aeb/s ()Ladz; net/minecraft/entity/EntityMinecartCommandBlock/func_180456_s ()Lnet/minecraft/entity/item/EntityMinecart$EnumMinecartType; +MD: aeb/u ()Lbec; net/minecraft/entity/EntityMinecartCommandBlock/func_180457_u ()Lnet/minecraft/block/state/IBlockState; +MD: aec/a (Lio/netty/buffer/ByteBuf;)V net/minecraft/entity/EntityMinecartCommandBlock$1/func_145757_a (Lio/netty/buffer/ByteBuf;)V +MD: aec/c ()Ldt; net/minecraft/entity/EntityMinecartCommandBlock$1/func_180425_c ()Lnet/minecraft/util/BlockPos; +MD: aec/d ()Lbrw; net/minecraft/entity/EntityMinecartCommandBlock$1/func_174791_d ()Lnet/minecraft/util/Vec3; +MD: aec/e ()Laqu; net/minecraft/entity/EntityMinecartCommandBlock$1/func_130014_f_ ()Lnet/minecraft/world/World; +MD: aec/f ()Lwv; net/minecraft/entity/EntityMinecartCommandBlock$1/func_174793_f ()Lnet/minecraft/entity/Entity; +MD: aec/h ()V net/minecraft/entity/EntityMinecartCommandBlock$1/func_145756_e ()V +MD: aec/i ()I net/minecraft/entity/EntityMinecartCommandBlock$1/func_145751_f ()I +MD: aed/J ()V net/minecraft/entity/item/EntityMinecartContainer/func_70106_y ()V +MD: aed/a (I)Lamj; net/minecraft/entity/item/EntityMinecartContainer/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: aed/a (II)Lamj; net/minecraft/entity/item/EntityMinecartContainer/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: aed/a (ILamj;)V net/minecraft/entity/item/EntityMinecartContainer/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: aed/a (Lahd;)Z net/minecraft/entity/item/EntityMinecartContainer/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aed/a (Lfn;)V net/minecraft/entity/item/EntityMinecartContainer/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aed/a (Lvx;)V net/minecraft/entity/item/EntityMinecartContainer/func_174892_a (Lnet/minecraft/world/LockCode;)V +MD: aed/a (Lwh;)V net/minecraft/entity/item/EntityMinecartContainer/func_94095_a (Lnet/minecraft/util/DamageSource;)V +MD: aed/a_ (I)I net/minecraft/entity/item/EntityMinecartContainer/func_174887_a_ (I)I +MD: aed/b (I)Lamj; net/minecraft/entity/item/EntityMinecartContainer/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: aed/b (II)V net/minecraft/entity/item/EntityMinecartContainer/func_174885_b (II)V +MD: aed/b (ILamj;)Z net/minecraft/entity/item/EntityMinecartContainer/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: aed/b (Lahd;)V net/minecraft/entity/item/EntityMinecartContainer/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aed/b (Lfn;)V net/minecraft/entity/item/EntityMinecartContainer/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aed/c (I)V net/minecraft/entity/item/EntityMinecartContainer/func_71027_c (I)V +MD: aed/c (Lahd;)V net/minecraft/entity/item/EntityMinecartContainer/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aed/d_ ()Ljava/lang/String; net/minecraft/entity/item/EntityMinecartContainer/func_70005_c_ ()Ljava/lang/String; +MD: aed/e (Lahd;)Z net/minecraft/entity/item/EntityMinecartContainer/func_130002_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aed/g ()I net/minecraft/entity/item/EntityMinecartContainer/func_174890_g ()I +MD: aed/i ()Lvx; net/minecraft/entity/item/EntityMinecartContainer/func_174891_i ()Lnet/minecraft/world/LockCode; +MD: aed/l ()V net/minecraft/entity/item/EntityMinecartContainer/func_174888_l ()V +MD: aed/o ()V net/minecraft/entity/item/EntityMinecartContainer/func_94101_h ()V +MD: aed/o_ ()V net/minecraft/entity/item/EntityMinecartContainer/func_70296_d ()V +MD: aed/p_ ()I net/minecraft/entity/item/EntityMinecartContainer/func_70297_j_ ()I +MD: aed/q_ ()Z net/minecraft/entity/item/EntityMinecartContainer/func_174893_q_ ()Z +MD: aee/a (Ldt;Lbec;)V net/minecraft/entity/item/EntityMinecartFurnace/func_180460_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: aee/a (Lfn;)V net/minecraft/entity/item/EntityMinecartFurnace/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aee/a (Lwh;)V net/minecraft/entity/item/EntityMinecartFurnace/func_94095_a (Lnet/minecraft/util/DamageSource;)V +MD: aee/b (Lfn;)V net/minecraft/entity/item/EntityMinecartFurnace/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aee/e (Lahd;)Z net/minecraft/entity/item/EntityMinecartFurnace/func_130002_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aee/h ()V net/minecraft/entity/item/EntityMinecartFurnace/func_70088_a ()V +MD: aee/i (Z)V net/minecraft/entity/item/EntityMinecartFurnace/func_94107_f (Z)V +MD: aee/j ()Z net/minecraft/entity/item/EntityMinecartFurnace/func_94108_c ()Z +MD: aee/m ()D net/minecraft/entity/item/EntityMinecartFurnace/func_174898_m ()D +MD: aee/o ()V net/minecraft/entity/item/EntityMinecartFurnace/func_94101_h ()V +MD: aee/s ()Ladz; net/minecraft/entity/item/EntityMinecartFurnace/func_180456_s ()Lnet/minecraft/entity/item/EntityMinecart$EnumMinecartType; +MD: aee/s_ ()V net/minecraft/entity/item/EntityMinecartFurnace/func_70071_h_ ()V +MD: aee/u ()Lbec; net/minecraft/entity/item/EntityMinecartFurnace/func_180457_u ()Lnet/minecraft/block/state/IBlockState; +MD: aef/A ()D net/minecraft/entity/item/EntityMinecartHopper/func_96107_aA ()D +MD: aef/B ()D net/minecraft/entity/item/EntityMinecartHopper/func_96109_aB ()D +MD: aef/C ()D net/minecraft/entity/item/EntityMinecartHopper/func_96108_aC ()D +MD: aef/D ()Z net/minecraft/entity/item/EntityMinecartHopper/func_96112_aD ()Z +MD: aef/E ()Z net/minecraft/entity/item/EntityMinecartHopper/func_98043_aE ()Z +MD: aef/a (IIIZ)V net/minecraft/entity/item/EntityMinecartHopper/func_96095_a (IIIZ)V +MD: aef/a (Lahb;Lahd;)Laib; net/minecraft/entity/item/EntityMinecartHopper/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: aef/a (Lfn;)V net/minecraft/entity/item/EntityMinecartHopper/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aef/a (Lwh;)V net/minecraft/entity/item/EntityMinecartHopper/func_94095_a (Lnet/minecraft/util/DamageSource;)V +MD: aef/b (Lfn;)V net/minecraft/entity/item/EntityMinecartHopper/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aef/e (Lahd;)Z net/minecraft/entity/item/EntityMinecartHopper/func_130002_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aef/i (Z)V net/minecraft/entity/item/EntityMinecartHopper/func_96110_f (Z)V +MD: aef/k ()Ljava/lang/String; net/minecraft/entity/item/EntityMinecartHopper/func_174875_k ()Ljava/lang/String; +MD: aef/m (I)V net/minecraft/entity/item/EntityMinecartHopper/func_98042_n (I)V +MD: aef/n_ ()I net/minecraft/entity/item/EntityMinecartHopper/func_70302_i_ ()I +MD: aef/s ()Ladz; net/minecraft/entity/item/EntityMinecartHopper/func_180456_s ()Lnet/minecraft/entity/item/EntityMinecart$EnumMinecartType; +MD: aef/s_ ()V net/minecraft/entity/item/EntityMinecartHopper/func_70071_h_ ()V +MD: aef/u ()Lbec; net/minecraft/entity/item/EntityMinecartHopper/func_180457_u ()Lnet/minecraft/block/state/IBlockState; +MD: aef/w ()I net/minecraft/entity/item/EntityMinecartHopper/func_94085_r ()I +MD: aef/y ()Z net/minecraft/entity/item/EntityMinecartHopper/func_96111_ay ()Z +MD: aef/z ()Laqu; net/minecraft/entity/item/EntityMinecartHopper/func_145831_w ()Lnet/minecraft/world/World; +MD: aeg/a (IIIZ)V net/minecraft/entity/item/EntityMinecartEmpty/func_96095_a (IIIZ)V +MD: aeg/e (Lahd;)Z net/minecraft/entity/item/EntityMinecartEmpty/func_130002_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aeg/s ()Ladz; net/minecraft/entity/item/EntityMinecartEmpty/func_180456_s ()Lnet/minecraft/entity/item/EntityMinecart$EnumMinecartType; +MD: aeh/a (B)V net/minecraft/entity/ai/EntityMinecartMobSpawner/func_70103_a (B)V +MD: aeh/a (Lfn;)V net/minecraft/entity/ai/EntityMinecartMobSpawner/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aeh/b (Lfn;)V net/minecraft/entity/ai/EntityMinecartMobSpawner/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aeh/j ()Laqi; net/minecraft/entity/ai/EntityMinecartMobSpawner/func_98039_d ()Lnet/minecraft/tileentity/MobSpawnerBaseLogic; +MD: aeh/s ()Ladz; net/minecraft/entity/ai/EntityMinecartMobSpawner/func_180456_s ()Lnet/minecraft/entity/item/EntityMinecart$EnumMinecartType; +MD: aeh/s_ ()V net/minecraft/entity/ai/EntityMinecartMobSpawner/func_70071_h_ ()V +MD: aeh/u ()Lbec; net/minecraft/entity/ai/EntityMinecartMobSpawner/func_180457_u ()Lnet/minecraft/block/state/IBlockState; +MD: aei/a ()Laqu; net/minecraft/entity/ai/EntityMinecartMobSpawner$1/func_98271_a ()Lnet/minecraft/world/World; +MD: aei/a (I)V net/minecraft/entity/ai/EntityMinecartMobSpawner$1/func_98267_a (I)V +MD: aei/b ()Ldt; net/minecraft/entity/ai/EntityMinecartMobSpawner$1/func_177221_b ()Lnet/minecraft/util/BlockPos; +MD: aej/a (B)V net/minecraft/entity/item/EntityMinecartTNT/func_70103_a (B)V +MD: aej/a (IIIZ)V net/minecraft/entity/item/EntityMinecartTNT/func_96095_a (IIIZ)V +MD: aej/a (Laqo;Laqu;Ldt;Lbec;)F net/minecraft/entity/item/EntityMinecartTNT/func_180428_a (Lnet/minecraft/world/Explosion;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)F +MD: aej/a (Laqo;Laqu;Ldt;Lbec;F)Z net/minecraft/entity/item/EntityMinecartTNT/func_174816_a (Lnet/minecraft/world/Explosion;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;F)Z +MD: aej/a (Lfn;)V net/minecraft/entity/item/EntityMinecartTNT/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aej/a (Lwh;)V net/minecraft/entity/item/EntityMinecartTNT/func_94095_a (Lnet/minecraft/util/DamageSource;)V +MD: aej/a (Lwh;F)Z net/minecraft/entity/item/EntityMinecartTNT/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: aej/b (D)V net/minecraft/entity/item/EntityMinecartTNT/func_94103_c (D)V +MD: aej/b (Lfn;)V net/minecraft/entity/item/EntityMinecartTNT/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aej/e (FF)V net/minecraft/entity/item/EntityMinecartTNT/func_180430_e (FF)V +MD: aej/j ()V net/minecraft/entity/item/EntityMinecartTNT/func_94105_c ()V +MD: aej/l ()I net/minecraft/entity/item/EntityMinecartTNT/func_94104_d ()I +MD: aej/s ()Ladz; net/minecraft/entity/item/EntityMinecartTNT/func_180456_s ()Lnet/minecraft/entity/item/EntityMinecart$EnumMinecartType; +MD: aej/s_ ()V net/minecraft/entity/item/EntityMinecartTNT/func_70071_h_ ()V +MD: aej/u ()Lbec; net/minecraft/entity/item/EntityMinecartTNT/func_180457_u ()Lnet/minecraft/block/state/IBlockState; +MD: aej/y ()Z net/minecraft/entity/item/EntityMinecartTNT/func_96096_ay ()Z +MD: aek/a (Lfn;)V net/minecraft/entity/item/EntityTNTPrimed/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aek/aR ()F net/minecraft/entity/item/EntityTNTPrimed/func_70047_e ()F +MD: aek/ad ()Z net/minecraft/entity/item/EntityTNTPrimed/func_70067_L ()Z +MD: aek/b (Lfn;)V net/minecraft/entity/item/EntityTNTPrimed/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aek/h ()V net/minecraft/entity/item/EntityTNTPrimed/func_70088_a ()V +MD: aek/j ()Lxm; net/minecraft/entity/item/EntityTNTPrimed/func_94083_c ()Lnet/minecraft/entity/EntityLivingBase; +MD: aek/l ()V net/minecraft/entity/item/EntityTNTPrimed/func_70515_d ()V +MD: aek/r_ ()Z net/minecraft/entity/item/EntityTNTPrimed/func_70041_e_ ()Z +MD: aek/s_ ()V net/minecraft/entity/item/EntityTNTPrimed/func_70071_h_ ()V +MD: aem/A ()Lalq; net/minecraft/entity/monster/EntityBlaze/func_146068_u ()Lnet/minecraft/item/Item; +MD: aem/E ()V net/minecraft/entity/monster/EntityBlaze/func_70619_bc ()V +MD: aem/a (Z)V net/minecraft/entity/monster/EntityBlaze/func_70844_e (Z)V +MD: aem/aW ()V net/minecraft/entity/monster/EntityBlaze/func_110147_ax ()V +MD: aem/au ()Z net/minecraft/entity/monster/EntityBlaze/func_70027_ad ()Z +MD: aem/b (F)I net/minecraft/entity/monster/EntityBlaze/func_70070_b (F)I +MD: aem/b (ZI)V net/minecraft/entity/monster/EntityBlaze/func_70628_a (ZI)V +MD: aem/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntityBlaze/func_70621_aR ()Ljava/lang/String; +MD: aem/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntityBlaze/func_70673_aS ()Ljava/lang/String; +MD: aem/c (F)F net/minecraft/entity/monster/EntityBlaze/func_70013_c (F)F +MD: aem/e (FF)V net/minecraft/entity/monster/EntityBlaze/func_180430_e (FF)V +MD: aem/h ()V net/minecraft/entity/monster/EntityBlaze/func_70088_a ()V +MD: aem/m ()V net/minecraft/entity/monster/EntityBlaze/func_70636_d ()V +MD: aem/m_ ()Z net/minecraft/entity/monster/EntityBlaze/func_70814_o ()Z +MD: aem/n ()Z net/minecraft/entity/monster/EntityBlaze/func_70845_n ()Z +MD: aem/z ()Ljava/lang/String; net/minecraft/entity/monster/EntityBlaze/func_70639_aQ ()Ljava/lang/String; +MD: aen/a ()Z net/minecraft/entity/monster/EntityBlaze$AIFireballAttack/func_75250_a ()Z +MD: aen/c ()V net/minecraft/entity/monster/EntityBlaze$AIFireballAttack/func_75249_e ()V +MD: aen/d ()V net/minecraft/entity/monster/EntityBlaze$AIFireballAttack/func_75251_c ()V +MD: aen/e ()V net/minecraft/entity/monster/EntityBlaze$AIFireballAttack/func_75246_d ()V +MD: aeo/a (Lvu;Lxq;)Lxq; net/minecraft/entity/monster/EntityCaveSpider/func_180482_a (Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/entity/IEntityLivingData;)Lnet/minecraft/entity/IEntityLivingData; +MD: aeo/aR ()F net/minecraft/entity/monster/EntityCaveSpider/func_70047_e ()F +MD: aeo/aW ()V net/minecraft/entity/monster/EntityCaveSpider/func_110147_ax ()V +MD: aeo/r (Lwv;)Z net/minecraft/entity/monster/EntityCaveSpider/func_70652_k (Lnet/minecraft/entity/Entity;)Z +MD: aep/A ()Lalq; net/minecraft/entity/monster/EntityCreeper/func_146068_u ()Lnet/minecraft/item/Item; +MD: aep/a (F)F net/minecraft/entity/monster/EntityCreeper/func_70831_j (F)F +MD: aep/a (I)V net/minecraft/entity/monster/EntityCreeper/func_70829_a (I)V +MD: aep/a (Lads;)V net/minecraft/entity/monster/EntityCreeper/func_70077_a (Lnet/minecraft/entity/effect/EntityLightningBolt;)V +MD: aep/a (Lahd;)Z net/minecraft/entity/monster/EntityCreeper/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aep/a (Lfn;)V net/minecraft/entity/monster/EntityCreeper/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aep/a (Lwh;)V net/minecraft/entity/monster/EntityCreeper/func_70645_a (Lnet/minecraft/util/DamageSource;)V +MD: aep/aF ()I net/minecraft/entity/monster/EntityCreeper/func_82143_as ()I +MD: aep/aW ()V net/minecraft/entity/monster/EntityCreeper/func_110147_ax ()V +MD: aep/b (Lfn;)V net/minecraft/entity/monster/EntityCreeper/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aep/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntityCreeper/func_70621_aR ()Ljava/lang/String; +MD: aep/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntityCreeper/func_70673_aS ()Ljava/lang/String; +MD: aep/ck ()I net/minecraft/entity/monster/EntityCreeper/func_70832_p ()I +MD: aep/cl ()Z net/minecraft/entity/monster/EntityCreeper/func_146078_ca ()Z +MD: aep/cm ()V net/minecraft/entity/monster/EntityCreeper/func_146079_cb ()V +MD: aep/cn ()Z net/minecraft/entity/monster/EntityCreeper/func_70650_aV ()Z +MD: aep/co ()V net/minecraft/entity/monster/EntityCreeper/func_175493_co ()V +MD: aep/cp ()V net/minecraft/entity/monster/EntityCreeper/func_146077_cc ()V +MD: aep/e (FF)V net/minecraft/entity/monster/EntityCreeper/func_180430_e (FF)V +MD: aep/h ()V net/minecraft/entity/monster/EntityCreeper/func_70088_a ()V +MD: aep/n ()Z net/minecraft/entity/monster/EntityCreeper/func_70830_n ()Z +MD: aep/r (Lwv;)Z net/minecraft/entity/monster/EntityCreeper/func_70652_k (Lnet/minecraft/entity/Entity;)Z +MD: aep/s_ ()V net/minecraft/entity/monster/EntityCreeper/func_70071_h_ ()V +MD: aeq/a (Lwv;)Z net/minecraft/entity/monster/EntityCreeper$1/func_179958_a (Lnet/minecraft/entity/Entity;)Z +MD: aeq/apply (Ljava/lang/Object;)Z net/minecraft/entity/monster/EntityCreeper$1/apply (Ljava/lang/Object;)Z +MD: aer/A ()Lalq; net/minecraft/entity/monster/EntityEnderman/func_146068_u ()Lnet/minecraft/item/Item; +MD: aer/E ()V net/minecraft/entity/monster/EntityEnderman/func_70619_bc ()V +MD: aer/a (Laer;Lahd;)Z net/minecraft/entity/monster/EntityEnderman/access$100 (Lnet/minecraft/entity/monster/EntityEnderman;Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aer/a (Laer;Z)Z net/minecraft/entity/monster/EntityEnderman/access$202 (Lnet/minecraft/entity/monster/EntityEnderman;Z)Z +MD: aer/a (Lbec;)V net/minecraft/entity/monster/EntityEnderman/func_175490_a (Lnet/minecraft/block/state/IBlockState;)V +MD: aer/a (Lfn;)V net/minecraft/entity/monster/EntityEnderman/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aer/a (Lwh;F)Z net/minecraft/entity/monster/EntityEnderman/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: aer/a (Z)V net/minecraft/entity/monster/EntityEnderman/func_70819_e (Z)V +MD: aer/aR ()F net/minecraft/entity/monster/EntityEnderman/func_70047_e ()F +MD: aer/aW ()V net/minecraft/entity/monster/EntityEnderman/func_110147_ax ()V +MD: aer/b (Lfn;)V net/minecraft/entity/monster/EntityEnderman/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aer/b (Lwv;)Z net/minecraft/entity/monster/EntityEnderman/func_70816_c (Lnet/minecraft/entity/Entity;)Z +MD: aer/b (ZI)V net/minecraft/entity/monster/EntityEnderman/func_70628_a (ZI)V +MD: aer/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntityEnderman/func_70621_aR ()Ljava/lang/String; +MD: aer/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntityEnderman/func_70673_aS ()Ljava/lang/String; +MD: aer/c (Lahd;)Z net/minecraft/entity/monster/EntityEnderman/func_70821_d (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aer/ck ()Lbec; net/minecraft/entity/monster/EntityEnderman/func_175489_ck ()Lnet/minecraft/block/state/IBlockState; +MD: aer/cm ()Z net/minecraft/entity/monster/EntityEnderman/func_70823_r ()Z +MD: aer/cn ()Lya; net/minecraft/entity/monster/EntityEnderman/access$000 ()Lnet/minecraft/entity/ai/attributes/AttributeModifier; +MD: aer/co ()Ljava/util/Set; net/minecraft/entity/monster/EntityEnderman/access$300 ()Ljava/util/Set; +MD: aer/h ()V net/minecraft/entity/monster/EntityEnderman/func_70088_a ()V +MD: aer/k (DDD)Z net/minecraft/entity/monster/EntityEnderman/func_70825_j (DDD)Z +MD: aer/m ()V net/minecraft/entity/monster/EntityEnderman/func_70636_d ()V +MD: aer/n ()Z net/minecraft/entity/monster/EntityEnderman/func_70820_n ()Z +MD: aer/z ()Ljava/lang/String; net/minecraft/entity/monster/EntityEnderman/func_70639_aQ ()Ljava/lang/String; +MD: aes/a (Laew;)Z net/minecraft/entity/monster/EntityEnderman$1/func_179948_a (Lnet/minecraft/entity/monster/EntityEndermite;)Z +MD: aes/apply (Ljava/lang/Object;)Z net/minecraft/entity/monster/EntityEnderman$1/apply (Ljava/lang/Object;)Z +MD: aet/a ()Z net/minecraft/entity/monster/EntityEnderman$AIPlaceBlock/func_75250_a ()Z +MD: aet/a (Laqu;Ldt;Latr;Latr;Latr;)Z net/minecraft/entity/monster/EntityEnderman$AIPlaceBlock/func_179474_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)Z +MD: aet/e ()V net/minecraft/entity/monster/EntityEnderman$AIPlaceBlock/func_75246_d ()V +MD: aeu/a ()Z net/minecraft/entity/monster/EntityEnderman$AIFindPlayer/func_75250_a ()Z +MD: aeu/b ()Z net/minecraft/entity/monster/EntityEnderman$AIFindPlayer/func_75253_b ()Z +MD: aeu/c ()V net/minecraft/entity/monster/EntityEnderman$AIFindPlayer/func_75249_e ()V +MD: aeu/d ()V net/minecraft/entity/monster/EntityEnderman$AIFindPlayer/func_75251_c ()V +MD: aeu/e ()V net/minecraft/entity/monster/EntityEnderman$AIFindPlayer/func_75246_d ()V +MD: aev/a ()Z net/minecraft/entity/monster/EntityEnderman$AITakeBlock/func_75250_a ()Z +MD: aev/e ()V net/minecraft/entity/monster/EntityEnderman$AITakeBlock/func_75246_d ()V +MD: aew/A ()Lalq; net/minecraft/entity/monster/EntityEndermite/func_146068_u ()Lnet/minecraft/item/Item; +MD: aew/a (Ldt;Latr;)V net/minecraft/entity/monster/EntityEndermite/func_180429_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: aew/a (Lfn;)V net/minecraft/entity/monster/EntityEndermite/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aew/a (Z)V net/minecraft/entity/monster/EntityEndermite/func_175496_a (Z)V +MD: aew/aR ()F net/minecraft/entity/monster/EntityEndermite/func_70047_e ()F +MD: aew/aW ()V net/minecraft/entity/monster/EntityEndermite/func_110147_ax ()V +MD: aew/b (Lfn;)V net/minecraft/entity/monster/EntityEndermite/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aew/bQ ()Z net/minecraft/entity/monster/EntityEndermite/func_70601_bi ()Z +MD: aew/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntityEndermite/func_70621_aR ()Ljava/lang/String; +MD: aew/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntityEndermite/func_70673_aS ()Ljava/lang/String; +MD: aew/by ()Lxs; net/minecraft/entity/monster/EntityEndermite/func_70668_bt ()Lnet/minecraft/entity/EnumCreatureAttribute; +MD: aew/m ()V net/minecraft/entity/monster/EntityEndermite/func_70636_d ()V +MD: aew/m_ ()Z net/minecraft/entity/monster/EntityEndermite/func_70814_o ()Z +MD: aew/n ()Z net/minecraft/entity/monster/EntityEndermite/func_175495_n ()Z +MD: aew/r_ ()Z net/minecraft/entity/monster/EntityEndermite/func_70041_e_ ()Z +MD: aew/s_ ()V net/minecraft/entity/monster/EntityEndermite/func_70071_h_ ()V +MD: aew/z ()Ljava/lang/String; net/minecraft/entity/monster/EntityEndermite/func_70639_aQ ()Ljava/lang/String; +MD: aey/a (Lwv;)Z net/minecraft/entity/monster/IMob$1/func_179983_a (Lnet/minecraft/entity/Entity;)Z +MD: aey/apply (Ljava/lang/Object;)Z net/minecraft/entity/monster/IMob$1/apply (Ljava/lang/Object;)Z +MD: aez/a (Lwv;)Z net/minecraft/entity/monster/IMob$2/func_179982_a (Lnet/minecraft/entity/Entity;)Z +MD: aez/apply (Ljava/lang/Object;)Z net/minecraft/entity/monster/IMob$2/apply (Ljava/lang/Object;)Z +MD: af/a (Lae;Lag;I)V net/minecraft/command/CommandResultStats/func_179672_a (Lnet/minecraft/command/ICommandSender;Lnet/minecraft/command/CommandResultStats$Type;I)V +MD: af/a (Laf;)V net/minecraft/command/CommandResultStats/func_179671_a (Lnet/minecraft/command/CommandResultStats;)V +MD: af/a (Laf;Lag;)V net/minecraft/command/CommandResultStats/func_179669_a (Lnet/minecraft/command/CommandResultStats;Lnet/minecraft/command/CommandResultStats$Type;)V +MD: af/a (Laf;Lag;Ljava/lang/String;Ljava/lang/String;)V net/minecraft/command/CommandResultStats/func_179667_a (Lnet/minecraft/command/CommandResultStats;Lnet/minecraft/command/CommandResultStats$Type;Ljava/lang/String;Ljava/lang/String;)V +MD: af/a (Lfn;)V net/minecraft/command/CommandResultStats/func_179668_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: af/b (Lfn;)V net/minecraft/command/CommandResultStats/func_179670_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: afa/A ()Lalq; net/minecraft/entity/monster/EntityGhast/func_146068_u ()Lnet/minecraft/item/Item; +MD: afa/a (Lfn;)V net/minecraft/entity/monster/EntityGhast/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: afa/a (Lwh;F)Z net/minecraft/entity/monster/EntityGhast/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: afa/a (Z)V net/minecraft/entity/monster/EntityGhast/func_175454_a (Z)V +MD: afa/aR ()F net/minecraft/entity/monster/EntityGhast/func_70047_e ()F +MD: afa/aW ()V net/minecraft/entity/monster/EntityGhast/func_110147_ax ()V +MD: afa/b (Lfn;)V net/minecraft/entity/monster/EntityGhast/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: afa/b (ZI)V net/minecraft/entity/monster/EntityGhast/func_70628_a (ZI)V +MD: afa/bA ()F net/minecraft/entity/monster/EntityGhast/func_70599_aP ()F +MD: afa/bQ ()Z net/minecraft/entity/monster/EntityGhast/func_70601_bi ()Z +MD: afa/bU ()I net/minecraft/entity/monster/EntityGhast/func_70641_bl ()I +MD: afa/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntityGhast/func_70621_aR ()Ljava/lang/String; +MD: afa/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntityGhast/func_70673_aS ()Ljava/lang/String; +MD: afa/cd ()I net/minecraft/entity/monster/EntityGhast/func_175453_cd ()I +MD: afa/h ()V net/minecraft/entity/monster/EntityGhast/func_70088_a ()V +MD: afa/n ()Z net/minecraft/entity/monster/EntityGhast/func_110182_bF ()Z +MD: afa/s_ ()V net/minecraft/entity/monster/EntityGhast/func_70071_h_ ()V +MD: afa/z ()Ljava/lang/String; net/minecraft/entity/monster/EntityGhast/func_70639_aQ ()Ljava/lang/String; +MD: afb/a ()Z net/minecraft/entity/monster/EntityGhast$AILookAround/func_75250_a ()Z +MD: afb/e ()V net/minecraft/entity/monster/EntityGhast$AILookAround/func_75246_d ()V +MD: afc/b (DDDD)Z net/minecraft/entity/monster/EntityGhast$GhastMoveHelper/func_179926_b (DDDD)Z +MD: afc/c ()V net/minecraft/entity/monster/EntityGhast$GhastMoveHelper/func_75641_c ()V +MD: afd/a ()Z net/minecraft/entity/monster/EntityGhast$AIFireballAttack/func_75250_a ()Z +MD: afd/c ()V net/minecraft/entity/monster/EntityGhast$AIFireballAttack/func_75249_e ()V +MD: afd/d ()V net/minecraft/entity/monster/EntityGhast$AIFireballAttack/func_75251_c ()V +MD: afd/e ()V net/minecraft/entity/monster/EntityGhast$AIFireballAttack/func_75246_d ()V +MD: afe/a ()Z net/minecraft/entity/monster/EntityGhast$AIRandomFly/func_75250_a ()Z +MD: afe/b ()Z net/minecraft/entity/monster/EntityGhast$AIRandomFly/func_75253_b ()Z +MD: afe/c ()V net/minecraft/entity/monster/EntityGhast$AIRandomFly/func_75249_e ()V +MD: aff/a (Ldt;)F net/minecraft/entity/monster/EntityGiantZombie/func_180484_a (Lnet/minecraft/util/BlockPos;)F +MD: aff/aR ()F net/minecraft/entity/monster/EntityGiantZombie/func_70047_e ()F +MD: aff/aW ()V net/minecraft/entity/monster/EntityGiantZombie/func_110147_ax ()V +MD: afg/E ()V net/minecraft/entity/monster/EntityGuardian/func_70619_bc ()V +MD: afg/a (F)F net/minecraft/entity/monster/EntityGuardian/func_175471_a (F)F +MD: afg/a (I)Z net/minecraft/entity/monster/EntityGuardian/func_175468_a (I)Z +MD: afg/a (IZ)V net/minecraft/entity/monster/EntityGuardian/func_175473_a (IZ)V +MD: afg/a (Lafg;)Lzy; net/minecraft/entity/monster/EntityGuardian/access$100 (Lnet/minecraft/entity/monster/EntityGuardian;)Lnet/minecraft/entity/ai/EntityAIWander; +MD: afg/a (Lafg;I)V net/minecraft/entity/monster/EntityGuardian/access$000 (Lnet/minecraft/entity/monster/EntityGuardian;I)V +MD: afg/a (Lafg;Z)V net/minecraft/entity/monster/EntityGuardian/access$200 (Lnet/minecraft/entity/monster/EntityGuardian;Z)V +MD: afg/a (Ldt;)F net/minecraft/entity/monster/EntityGuardian/func_180484_a (Lnet/minecraft/util/BlockPos;)F +MD: afg/a (Lfn;)V net/minecraft/entity/monster/EntityGuardian/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: afg/a (Lwh;F)Z net/minecraft/entity/monster/EntityGuardian/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: afg/a (Z)V net/minecraft/entity/monster/EntityGuardian/func_175467_a (Z)V +MD: afg/aR ()F net/minecraft/entity/monster/EntityGuardian/func_70047_e ()F +MD: afg/aW ()V net/minecraft/entity/monster/EntityGuardian/func_110147_ax ()V +MD: afg/b (I)V net/minecraft/entity/monster/EntityGuardian/func_175463_b (I)V +MD: afg/b (Laqu;)Laaz; net/minecraft/entity/monster/EntityGuardian/func_175447_b (Lnet/minecraft/world/World;)Lnet/minecraft/pathfinding/PathNavigate; +MD: afg/b (Lfn;)V net/minecraft/entity/monster/EntityGuardian/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: afg/b (ZI)V net/minecraft/entity/monster/EntityGuardian/func_70628_a (ZI)V +MD: afg/bP ()I net/minecraft/entity/monster/EntityGuardian/func_70646_bf ()I +MD: afg/bQ ()Z net/minecraft/entity/monster/EntityGuardian/func_70601_bi ()Z +MD: afg/bR ()Z net/minecraft/entity/monster/EntityGuardian/func_70058_J ()Z +MD: afg/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntityGuardian/func_70621_aR ()Ljava/lang/String; +MD: afg/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntityGuardian/func_70673_aS ()Ljava/lang/String; +MD: afg/bp ()V net/minecraft/entity/monster/EntityGuardian/func_82164_bB ()V +MD: afg/ck ()I net/minecraft/entity/monster/EntityGuardian/func_175464_ck ()I +MD: afg/cl ()Z net/minecraft/entity/monster/EntityGuardian/func_175461_cl ()Z +MD: afg/cm ()V net/minecraft/entity/monster/EntityGuardian/func_175465_cm ()V +MD: afg/cn ()Z net/minecraft/entity/monster/EntityGuardian/func_175474_cn ()Z +MD: afg/co ()Lxm; net/minecraft/entity/monster/EntityGuardian/func_175466_co ()Lnet/minecraft/entity/EntityLivingBase; +MD: afg/g (FF)V net/minecraft/entity/monster/EntityGuardian/func_70612_e (FF)V +MD: afg/h ()V net/minecraft/entity/monster/EntityGuardian/func_70088_a ()V +MD: afg/i (I)V net/minecraft/entity/monster/EntityGuardian/func_145781_i (I)V +MD: afg/l (Z)V net/minecraft/entity/monster/EntityGuardian/func_175476_l (Z)V +MD: afg/m ()V net/minecraft/entity/monster/EntityGuardian/func_70636_d ()V +MD: afg/m_ ()Z net/minecraft/entity/monster/EntityGuardian/func_70814_o ()Z +MD: afg/n ()Z net/minecraft/entity/monster/EntityGuardian/func_175472_n ()Z +MD: afg/o (F)F net/minecraft/entity/monster/EntityGuardian/func_175469_o (F)F +MD: afg/p (F)F net/minecraft/entity/monster/EntityGuardian/func_175477_p (F)F +MD: afg/r_ ()Z net/minecraft/entity/monster/EntityGuardian/func_70041_e_ ()Z +MD: afg/w ()I net/minecraft/entity/monster/EntityGuardian/func_70627_aG ()I +MD: afg/z ()Ljava/lang/String; net/minecraft/entity/monster/EntityGuardian/func_70639_aQ ()Ljava/lang/String; +MD: afh/a (Lqw;)Z net/minecraft/entity/monster/EntityGuardian$1/func_179913_a (Lnet/minecraft/entity/player/EntityPlayerMP;)Z +MD: afh/apply (Ljava/lang/Object;)Z net/minecraft/entity/monster/EntityGuardian$1/apply (Ljava/lang/Object;)Z +MD: afi/a ()Z net/minecraft/entity/monster/EntityGuardian$AIGuardianAttack/func_75250_a ()Z +MD: afi/b ()Z net/minecraft/entity/monster/EntityGuardian$AIGuardianAttack/func_75253_b ()Z +MD: afi/c ()V net/minecraft/entity/monster/EntityGuardian$AIGuardianAttack/func_75249_e ()V +MD: afi/d ()V net/minecraft/entity/monster/EntityGuardian$AIGuardianAttack/func_75251_c ()V +MD: afi/e ()V net/minecraft/entity/monster/EntityGuardian$AIGuardianAttack/func_75246_d ()V +MD: afj/a (Lxm;)Z net/minecraft/entity/monster/EntityGuardian$GuardianTargetSelector/func_179915_a (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: afj/apply (Ljava/lang/Object;)Z net/minecraft/entity/monster/EntityGuardian$GuardianTargetSelector/apply (Ljava/lang/Object;)Z +MD: afk/c ()V net/minecraft/entity/monster/EntityGuardian$GuardianMoveHelper/func_75641_c ()V +MD: afl/A ()Lalq; net/minecraft/entity/monster/EntityMagmaCube/func_146068_u ()Lnet/minecraft/item/Item; +MD: afl/aW ()V net/minecraft/entity/monster/EntityMagmaCube/func_110147_ax ()V +MD: afl/au ()Z net/minecraft/entity/monster/EntityMagmaCube/func_70027_ad ()Z +MD: afl/b (F)I net/minecraft/entity/monster/EntityMagmaCube/func_70070_b (F)I +MD: afl/b (ZI)V net/minecraft/entity/monster/EntityMagmaCube/func_70628_a (ZI)V +MD: afl/bE ()V net/minecraft/entity/monster/EntityMagmaCube/func_70664_aZ ()V +MD: afl/bG ()V net/minecraft/entity/monster/EntityMagmaCube/func_180466_bG ()V +MD: afl/bQ ()Z net/minecraft/entity/monster/EntityMagmaCube/func_70601_bi ()Z +MD: afl/bR ()Z net/minecraft/entity/monster/EntityMagmaCube/func_70058_J ()Z +MD: afl/bq ()I net/minecraft/entity/monster/EntityMagmaCube/func_70658_aO ()I +MD: afl/c (F)F net/minecraft/entity/monster/EntityMagmaCube/func_70013_c (F)F +MD: afl/cd ()Lafy; net/minecraft/entity/monster/EntityMagmaCube/func_70802_j ()Lnet/minecraft/entity/monster/EntitySlime; +MD: afl/ce ()I net/minecraft/entity/monster/EntityMagmaCube/func_70806_k ()I +MD: afl/cf ()V net/minecraft/entity/monster/EntityMagmaCube/func_70808_l ()V +MD: afl/cg ()Z net/minecraft/entity/monster/EntityMagmaCube/func_70800_m ()Z +MD: afl/ch ()I net/minecraft/entity/monster/EntityMagmaCube/func_70805_n ()I +MD: afl/ci ()Ljava/lang/String; net/minecraft/entity/monster/EntityMagmaCube/func_70803_o ()Ljava/lang/String; +MD: afl/cj ()Z net/minecraft/entity/monster/EntityMagmaCube/func_70804_p ()Z +MD: afl/e (FF)V net/minecraft/entity/monster/EntityMagmaCube/func_180430_e (FF)V +MD: afl/n ()Lew; net/minecraft/entity/monster/EntityMagmaCube/func_180487_n ()Lnet/minecraft/util/EnumParticleTypes; +MD: afm/P ()Ljava/lang/String; net/minecraft/entity/monster/EntityMob/func_145776_H ()Ljava/lang/String; +MD: afm/a (Ldt;)F net/minecraft/entity/monster/EntityMob/func_180484_a (Lnet/minecraft/util/BlockPos;)F +MD: afm/a (Lwh;F)Z net/minecraft/entity/monster/EntityMob/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: afm/aW ()V net/minecraft/entity/monster/EntityMob/func_110147_ax ()V +MD: afm/aZ ()Z net/minecraft/entity/monster/EntityMob/func_146066_aG ()Z +MD: afm/aa ()Ljava/lang/String; net/minecraft/entity/monster/EntityMob/func_145777_O ()Ljava/lang/String; +MD: afm/bQ ()Z net/minecraft/entity/monster/EntityMob/func_70601_bi ()Z +MD: afm/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntityMob/func_70621_aR ()Ljava/lang/String; +MD: afm/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntityMob/func_70673_aS ()Ljava/lang/String; +MD: afm/m ()V net/minecraft/entity/monster/EntityMob/func_70636_d ()V +MD: afm/m_ ()Z net/minecraft/entity/monster/EntityMob/func_70814_o ()Z +MD: afm/n (I)Ljava/lang/String; net/minecraft/entity/monster/EntityMob/func_146067_o (I)Ljava/lang/String; +MD: afm/r (Lwv;)Z net/minecraft/entity/monster/EntityMob/func_70652_k (Lnet/minecraft/entity/Entity;)Z +MD: afm/s_ ()V net/minecraft/entity/monster/EntityMob/func_70071_h_ ()V +MD: afn/a (Lwv;)Z net/minecraft/entity/monster/EntityMob$1/func_179911_a (Lnet/minecraft/entity/Entity;)Z +MD: afn/apply (Ljava/lang/Object;)Z net/minecraft/entity/monster/EntityMob$1/apply (Ljava/lang/Object;)Z +MD: afo/E ()V net/minecraft/entity/monster/EntityPigZombie/func_70619_bc ()V +MD: afo/a (Lafo;Lwv;)V net/minecraft/entity/monster/EntityPigZombie/access$000 (Lnet/minecraft/entity/monster/EntityPigZombie;Lnet/minecraft/entity/Entity;)V +MD: afo/a (Lahd;)Z net/minecraft/entity/monster/EntityPigZombie/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: afo/a (Lfn;)V net/minecraft/entity/monster/EntityPigZombie/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: afo/a (Lvu;)V net/minecraft/entity/monster/EntityPigZombie/func_180481_a (Lnet/minecraft/world/DifficultyInstance;)V +MD: afo/a (Lvu;Lxq;)Lxq; net/minecraft/entity/monster/EntityPigZombie/func_180482_a (Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/entity/IEntityLivingData;)Lnet/minecraft/entity/IEntityLivingData; +MD: afo/a (Lwh;F)Z net/minecraft/entity/monster/EntityPigZombie/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: afo/aW ()V net/minecraft/entity/monster/EntityPigZombie/func_110147_ax ()V +MD: afo/b (Lfn;)V net/minecraft/entity/monster/EntityPigZombie/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: afo/b (Lwv;)V net/minecraft/entity/monster/EntityPigZombie/func_70835_c (Lnet/minecraft/entity/Entity;)V +MD: afo/b (Lxm;)V net/minecraft/entity/monster/EntityPigZombie/func_70604_c (Lnet/minecraft/entity/EntityLivingBase;)V +MD: afo/b (ZI)V net/minecraft/entity/monster/EntityPigZombie/func_70628_a (ZI)V +MD: afo/bQ ()Z net/minecraft/entity/monster/EntityPigZombie/func_70601_bi ()Z +MD: afo/bR ()Z net/minecraft/entity/monster/EntityPigZombie/func_70058_J ()Z +MD: afo/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntityPigZombie/func_70621_aR ()Ljava/lang/String; +MD: afo/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntityPigZombie/func_70673_aS ()Ljava/lang/String; +MD: afo/bp ()V net/minecraft/entity/monster/EntityPigZombie/func_82164_bB ()V +MD: afo/ck ()Z net/minecraft/entity/monster/EntityPigZombie/func_175457_ck ()Z +MD: afo/n ()V net/minecraft/entity/monster/EntityPigZombie/func_175456_n ()V +MD: afo/s_ ()V net/minecraft/entity/monster/EntityPigZombie/func_70071_h_ ()V +MD: afo/z ()Ljava/lang/String; net/minecraft/entity/monster/EntityPigZombie/func_70639_aQ ()Ljava/lang/String; +MD: afp/a ()Z net/minecraft/entity/monster/EntityPigZombie$AITargetAggressor/func_75250_a ()Z +MD: afq/a (Lxu;Lxm;)V net/minecraft/entity/monster/EntityPigZombie$AIHurtByAggressor/func_179446_a (Lnet/minecraft/entity/EntityCreature;Lnet/minecraft/entity/EntityLivingBase;)V +MD: afr/a (Lxm;F)V net/minecraft/entity/IRangedAttackMob/func_82196_d (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: afs/a (Lfn;)Lya; net/minecraft/entity/SharedMonsterAttributes/func_111259_a (Lnet/minecraft/nbt/NBTTagCompound;)Lnet/minecraft/entity/ai/attributes/AttributeModifier; +MD: afs/a (Lxz;)Lfn; net/minecraft/entity/SharedMonsterAttributes/func_111261_a (Lnet/minecraft/entity/ai/attributes/IAttributeInstance;)Lnet/minecraft/nbt/NBTTagCompound; +MD: afs/a (Lxz;Lfn;)V net/minecraft/entity/SharedMonsterAttributes/func_111258_a (Lnet/minecraft/entity/ai/attributes/IAttributeInstance;Lnet/minecraft/nbt/NBTTagCompound;)V +MD: afs/a (Lya;)Lfn; net/minecraft/entity/SharedMonsterAttributes/func_111262_a (Lnet/minecraft/entity/ai/attributes/AttributeModifier;)Lnet/minecraft/nbt/NBTTagCompound; +MD: afs/a (Lyc;)Lfv; net/minecraft/entity/SharedMonsterAttributes/func_111257_a (Lnet/minecraft/entity/ai/attributes/BaseAttributeMap;)Lnet/minecraft/nbt/NBTTagList; +MD: afs/a (Lyc;Lfv;)V net/minecraft/entity/SharedMonsterAttributes/func_151475_a (Lnet/minecraft/entity/ai/attributes/BaseAttributeMap;Lnet/minecraft/nbt/NBTTagList;)V +MD: aft/A ()Lalq; net/minecraft/entity/monster/EntitySilverfish/func_146068_u ()Lnet/minecraft/item/Item; +MD: aft/a (Ldt;)F net/minecraft/entity/monster/EntitySilverfish/func_180484_a (Lnet/minecraft/util/BlockPos;)F +MD: aft/a (Ldt;Latr;)V net/minecraft/entity/monster/EntitySilverfish/func_180429_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: aft/a (Lwh;F)Z net/minecraft/entity/monster/EntitySilverfish/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: aft/aR ()F net/minecraft/entity/monster/EntitySilverfish/func_70047_e ()F +MD: aft/aW ()V net/minecraft/entity/monster/EntitySilverfish/func_110147_ax ()V +MD: aft/bQ ()Z net/minecraft/entity/monster/EntitySilverfish/func_70601_bi ()Z +MD: aft/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntitySilverfish/func_70621_aR ()Ljava/lang/String; +MD: aft/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntitySilverfish/func_70673_aS ()Ljava/lang/String; +MD: aft/by ()Lxs; net/minecraft/entity/monster/EntitySilverfish/func_70668_bt ()Lnet/minecraft/entity/EnumCreatureAttribute; +MD: aft/m_ ()Z net/minecraft/entity/monster/EntitySilverfish/func_70814_o ()Z +MD: aft/r_ ()Z net/minecraft/entity/monster/EntitySilverfish/func_70041_e_ ()Z +MD: aft/s_ ()V net/minecraft/entity/monster/EntitySilverfish/func_70071_h_ ()V +MD: aft/z ()Ljava/lang/String; net/minecraft/entity/monster/EntitySilverfish/func_70639_aQ ()Ljava/lang/String; +MD: afu/a ()Z net/minecraft/entity/monster/EntitySilverfish$AIHideInStone/func_75250_a ()Z +MD: afu/b ()Z net/minecraft/entity/monster/EntitySilverfish$AIHideInStone/func_75253_b ()Z +MD: afu/c ()V net/minecraft/entity/monster/EntitySilverfish$AIHideInStone/func_75249_e ()V +MD: afv/a ()Z net/minecraft/entity/monster/EntitySilverfish$AISummonSilverfish/func_75250_a ()Z +MD: afv/e ()V net/minecraft/entity/monster/EntitySilverfish$AISummonSilverfish/func_75246_d ()V +MD: afv/f ()V net/minecraft/entity/monster/EntitySilverfish$AISummonSilverfish/func_179462_f ()V +MD: afw/A ()Lalq; net/minecraft/entity/monster/EntitySkeleton/func_146068_u ()Lnet/minecraft/item/Item; +MD: afw/a (I)V net/minecraft/entity/monster/EntitySkeleton/func_82201_a (I)V +MD: afw/a (Ldt;Latr;)V net/minecraft/entity/monster/EntitySkeleton/func_180429_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: afw/a (Lfn;)V net/minecraft/entity/monster/EntitySkeleton/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: afw/a (Lvu;)V net/minecraft/entity/monster/EntitySkeleton/func_180481_a (Lnet/minecraft/world/DifficultyInstance;)V +MD: afw/a (Lvu;Lxq;)Lxq; net/minecraft/entity/monster/EntitySkeleton/func_180482_a (Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/entity/IEntityLivingData;)Lnet/minecraft/entity/IEntityLivingData; +MD: afw/a (Lwh;)V net/minecraft/entity/monster/EntitySkeleton/func_70645_a (Lnet/minecraft/util/DamageSource;)V +MD: afw/a (Lxm;F)V net/minecraft/entity/monster/EntitySkeleton/func_82196_d (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: afw/aR ()F net/minecraft/entity/monster/EntitySkeleton/func_70047_e ()F +MD: afw/aW ()V net/minecraft/entity/monster/EntitySkeleton/func_110147_ax ()V +MD: afw/ak ()V net/minecraft/entity/monster/EntitySkeleton/func_70098_U ()V +MD: afw/am ()D net/minecraft/entity/monster/EntitySkeleton/func_70033_W ()D +MD: afw/b (Lfn;)V net/minecraft/entity/monster/EntitySkeleton/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: afw/b (ZI)V net/minecraft/entity/monster/EntitySkeleton/func_70628_a (ZI)V +MD: afw/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntitySkeleton/func_70621_aR ()Ljava/lang/String; +MD: afw/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntitySkeleton/func_70673_aS ()Ljava/lang/String; +MD: afw/bp ()V net/minecraft/entity/monster/EntitySkeleton/func_82164_bB ()V +MD: afw/by ()Lxs; net/minecraft/entity/monster/EntitySkeleton/func_70668_bt ()Lnet/minecraft/entity/EnumCreatureAttribute; +MD: afw/c (ILamj;)V net/minecraft/entity/monster/EntitySkeleton/func_70062_b (ILnet/minecraft/item/ItemStack;)V +MD: afw/ck ()I net/minecraft/entity/monster/EntitySkeleton/func_82202_m ()I +MD: afw/h ()V net/minecraft/entity/monster/EntitySkeleton/func_70088_a ()V +MD: afw/m ()V net/minecraft/entity/monster/EntitySkeleton/func_70636_d ()V +MD: afw/n ()V net/minecraft/entity/monster/EntitySkeleton/func_85036_m ()V +MD: afw/r (Lwv;)Z net/minecraft/entity/monster/EntitySkeleton/func_70652_k (Lnet/minecraft/entity/Entity;)Z +MD: afw/z ()Ljava/lang/String; net/minecraft/entity/monster/EntitySkeleton/func_70639_aQ ()Ljava/lang/String; +MD: afx/a (Lwv;)Z net/minecraft/entity/monster/EntitySkeleton$1/func_179945_a (Lnet/minecraft/entity/Entity;)Z +MD: afx/apply (Ljava/lang/Object;)Z net/minecraft/entity/monster/EntitySkeleton$1/apply (Ljava/lang/Object;)Z +MD: afy/A ()Lalq; net/minecraft/entity/monster/EntitySlime/func_146068_u ()Lnet/minecraft/item/Item; +MD: afy/J ()V net/minecraft/entity/monster/EntitySlime/func_70106_y ()V +MD: afy/a (I)V net/minecraft/entity/monster/EntitySlime/func_70799_a (I)V +MD: afy/a (Lfn;)V net/minecraft/entity/monster/EntitySlime/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: afy/a (Lvu;Lxq;)Lxq; net/minecraft/entity/monster/EntitySlime/func_180482_a (Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/entity/IEntityLivingData;)Lnet/minecraft/entity/IEntityLivingData; +MD: afy/aR ()F net/minecraft/entity/monster/EntitySlime/func_70047_e ()F +MD: afy/b (Lfn;)V net/minecraft/entity/monster/EntitySlime/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: afy/bA ()F net/minecraft/entity/monster/EntitySlime/func_70599_aP ()F +MD: afy/bE ()V net/minecraft/entity/monster/EntitySlime/func_70664_aZ ()V +MD: afy/bP ()I net/minecraft/entity/monster/EntitySlime/func_70646_bf ()I +MD: afy/bQ ()Z net/minecraft/entity/monster/EntitySlime/func_70601_bi ()Z +MD: afy/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntitySlime/func_70621_aR ()Ljava/lang/String; +MD: afy/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntitySlime/func_70673_aS ()Ljava/lang/String; +MD: afy/cd ()Lafy; net/minecraft/entity/monster/EntitySlime/func_70802_j ()Lnet/minecraft/entity/monster/EntitySlime; +MD: afy/ce ()I net/minecraft/entity/monster/EntitySlime/func_70806_k ()I +MD: afy/cf ()V net/minecraft/entity/monster/EntitySlime/func_70808_l ()V +MD: afy/cg ()Z net/minecraft/entity/monster/EntitySlime/func_70800_m ()Z +MD: afy/ch ()I net/minecraft/entity/monster/EntitySlime/func_70805_n ()I +MD: afy/ci ()Ljava/lang/String; net/minecraft/entity/monster/EntitySlime/func_70803_o ()Ljava/lang/String; +MD: afy/cj ()Z net/minecraft/entity/monster/EntitySlime/func_70804_p ()Z +MD: afy/ck ()I net/minecraft/entity/monster/EntitySlime/func_70809_q ()I +MD: afy/cl ()Z net/minecraft/entity/monster/EntitySlime/func_70807_r ()Z +MD: afy/d (Lahd;)V net/minecraft/entity/monster/EntitySlime/func_70100_b_ (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: afy/e (Lxm;)V net/minecraft/entity/monster/EntitySlime/func_175451_e (Lnet/minecraft/entity/EntityLivingBase;)V +MD: afy/h ()V net/minecraft/entity/monster/EntitySlime/func_70088_a ()V +MD: afy/i (I)V net/minecraft/entity/monster/EntitySlime/func_145781_i (I)V +MD: afy/i (Lwv;)V net/minecraft/entity/monster/EntitySlime/func_70108_f (Lnet/minecraft/entity/Entity;)V +MD: afy/n ()Lew; net/minecraft/entity/monster/EntitySlime/func_180487_n ()Lnet/minecraft/util/EnumParticleTypes; +MD: afy/s_ ()V net/minecraft/entity/monster/EntitySlime/func_70071_h_ ()V +MD: afz/a ()Z net/minecraft/entity/monster/EntitySlime$AISlimeAttack/func_75250_a ()Z +MD: afz/b ()Z net/minecraft/entity/monster/EntitySlime$AISlimeAttack/func_75253_b ()Z +MD: afz/c ()V net/minecraft/entity/monster/EntitySlime$AISlimeAttack/func_75249_e ()V +MD: afz/e ()V net/minecraft/entity/monster/EntitySlime$AISlimeAttack/func_75246_d ()V +MD: ag/a ()I net/minecraft/command/CommandResultStats$Type/func_179636_a ()I +MD: ag/a (Ljava/lang/String;)Lag; net/minecraft/command/CommandResultStats$Type/func_179635_a (Ljava/lang/String;)Lnet/minecraft/command/CommandResultStats$Type; +MD: ag/b ()Ljava/lang/String; net/minecraft/command/CommandResultStats$Type/func_179637_b ()Ljava/lang/String; +MD: ag/c ()[Ljava/lang/String; net/minecraft/command/CommandResultStats$Type/func_179634_c ()[Ljava/lang/String; +MD: ag/values ()[Lag; net/minecraft/command/CommandResultStats$Type/values ()[Lnet/minecraft/command/CommandResultStats$Type; +MD: aga/a ()Z net/minecraft/entity/monster/EntitySlime$AISlimeFloat/func_75250_a ()Z +MD: aga/e ()V net/minecraft/entity/monster/EntitySlime$AISlimeFloat/func_75246_d ()V +MD: agb/a ()Z net/minecraft/entity/monster/EntitySlime$AISlimeHop/func_75250_a ()Z +MD: agb/e ()V net/minecraft/entity/monster/EntitySlime$AISlimeHop/func_75246_d ()V +MD: agc/a (D)V net/minecraft/entity/monster/EntitySlime$SlimeMoveHelper/func_179921_a (D)V +MD: agc/a (FZ)V net/minecraft/entity/monster/EntitySlime$SlimeMoveHelper/func_179920_a (FZ)V +MD: agc/c ()V net/minecraft/entity/monster/EntitySlime$SlimeMoveHelper/func_75641_c ()V +MD: agd/a ()Z net/minecraft/entity/monster/EntitySlime$AISlimeFaceRandom/func_75250_a ()Z +MD: agd/e ()V net/minecraft/entity/monster/EntitySlime$AISlimeFaceRandom/func_75246_d ()V +MD: age/A ()Lalq; net/minecraft/entity/monster/EntitySpider/func_146068_u ()Lnet/minecraft/item/Item; +MD: age/a (Ldt;Latr;)V net/minecraft/entity/monster/EntitySpider/func_180429_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: age/a (Lvu;Lxq;)Lxq; net/minecraft/entity/monster/EntitySpider/func_180482_a (Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/entity/IEntityLivingData;)Lnet/minecraft/entity/IEntityLivingData; +MD: age/a (Z)V net/minecraft/entity/monster/EntitySpider/func_70839_e (Z)V +MD: age/aB ()V net/minecraft/entity/monster/EntitySpider/func_70110_aj ()V +MD: age/aR ()F net/minecraft/entity/monster/EntitySpider/func_70047_e ()F +MD: age/aW ()V net/minecraft/entity/monster/EntitySpider/func_110147_ax ()V +MD: age/b (Laqu;)Laaz; net/minecraft/entity/monster/EntitySpider/func_175447_b (Lnet/minecraft/world/World;)Lnet/minecraft/pathfinding/PathNavigate; +MD: age/b (ZI)V net/minecraft/entity/monster/EntitySpider/func_70628_a (ZI)V +MD: age/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntitySpider/func_70621_aR ()Ljava/lang/String; +MD: age/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntitySpider/func_70673_aS ()Ljava/lang/String; +MD: age/by ()Lxs; net/minecraft/entity/monster/EntitySpider/func_70668_bt ()Lnet/minecraft/entity/EnumCreatureAttribute; +MD: age/d (Lwq;)Z net/minecraft/entity/monster/EntitySpider/func_70687_e (Lnet/minecraft/potion/PotionEffect;)Z +MD: age/h ()V net/minecraft/entity/monster/EntitySpider/func_70088_a ()V +MD: age/j_ ()Z net/minecraft/entity/monster/EntitySpider/func_70617_f_ ()Z +MD: age/n ()Z net/minecraft/entity/monster/EntitySpider/func_70841_p ()Z +MD: age/s_ ()V net/minecraft/entity/monster/EntitySpider/func_70071_h_ ()V +MD: age/z ()Ljava/lang/String; net/minecraft/entity/monster/EntitySpider/func_70639_aQ ()Ljava/lang/String; +MD: agf/a (Lxm;)D net/minecraft/entity/monster/EntitySpider$AISpiderAttack/func_179512_a (Lnet/minecraft/entity/EntityLivingBase;)D +MD: agf/b ()Z net/minecraft/entity/monster/EntitySpider$AISpiderAttack/func_75253_b ()Z +MD: agg/a (Ljava/util/Random;)V net/minecraft/entity/monster/EntitySpider$GroupData/func_111104_a (Ljava/util/Random;)V +MD: agh/a ()Z net/minecraft/entity/monster/EntitySpider$AISpiderTarget/func_75250_a ()Z +MD: agi/a (B)V net/minecraft/entity/monster/EntityWitch/func_70103_a (B)V +MD: agi/a (Lxm;F)V net/minecraft/entity/monster/EntityWitch/func_82196_d (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: agi/a (Z)V net/minecraft/entity/monster/EntityWitch/func_82197_f (Z)V +MD: agi/aR ()F net/minecraft/entity/monster/EntityWitch/func_70047_e ()F +MD: agi/aW ()V net/minecraft/entity/monster/EntityWitch/func_110147_ax ()V +MD: agi/b (ZI)V net/minecraft/entity/monster/EntityWitch/func_70628_a (ZI)V +MD: agi/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntityWitch/func_70621_aR ()Ljava/lang/String; +MD: agi/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntityWitch/func_70673_aS ()Ljava/lang/String; +MD: agi/c (Lwh;F)F net/minecraft/entity/monster/EntityWitch/func_70672_c (Lnet/minecraft/util/DamageSource;F)F +MD: agi/h ()V net/minecraft/entity/monster/EntityWitch/func_70088_a ()V +MD: agi/m ()V net/minecraft/entity/monster/EntityWitch/func_70636_d ()V +MD: agi/n ()Z net/minecraft/entity/monster/EntityWitch/func_82198_m ()Z +MD: agi/z ()Ljava/lang/String; net/minecraft/entity/monster/EntityWitch/func_70639_aQ ()Ljava/lang/String; +MD: agj/A ()Lalq; net/minecraft/entity/monster/EntityZombie/func_146068_u ()Lnet/minecraft/item/Item; +MD: agj/C ()Z net/minecraft/entity/monster/EntityZombie/func_70692_ba ()Z +MD: agj/a (B)V net/minecraft/entity/monster/EntityZombie/func_70103_a (B)V +MD: agj/a (F)V net/minecraft/entity/monster/EntityZombie/func_146069_a (F)V +MD: agj/a (FF)V net/minecraft/entity/monster/EntityZombie/func_70105_a (FF)V +MD: agj/a (I)V net/minecraft/entity/monster/EntityZombie/func_82228_a (I)V +MD: agj/a (Lahd;)Z net/minecraft/entity/monster/EntityZombie/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: agj/a (Lamj;)Z net/minecraft/entity/monster/EntityZombie/func_175448_a (Lnet/minecraft/item/ItemStack;)Z +MD: agj/a (Ldt;Latr;)V net/minecraft/entity/monster/EntityZombie/func_180429_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: agj/a (Lfn;)V net/minecraft/entity/monster/EntityZombie/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: agj/a (Lvu;)V net/minecraft/entity/monster/EntityZombie/func_180481_a (Lnet/minecraft/world/DifficultyInstance;)V +MD: agj/a (Lvu;Lxq;)Lxq; net/minecraft/entity/monster/EntityZombie/func_180482_a (Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/entity/IEntityLivingData;)Lnet/minecraft/entity/IEntityLivingData; +MD: agj/a (Lwh;)V net/minecraft/entity/monster/EntityZombie/func_70645_a (Lnet/minecraft/util/DamageSource;)V +MD: agj/a (Lwh;F)Z net/minecraft/entity/monster/EntityZombie/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: agj/a (Lxm;)V net/minecraft/entity/monster/EntityZombie/func_70074_a (Lnet/minecraft/entity/EntityLivingBase;)V +MD: agj/a (Z)V net/minecraft/entity/monster/EntityZombie/func_146070_a (Z)V +MD: agj/aR ()F net/minecraft/entity/monster/EntityZombie/func_70047_e ()F +MD: agj/aW ()V net/minecraft/entity/monster/EntityZombie/func_110147_ax ()V +MD: agj/am ()D net/minecraft/entity/monster/EntityZombie/func_70033_W ()D +MD: agj/b (Lahd;)I net/minecraft/entity/monster/EntityZombie/func_70693_a (Lnet/minecraft/entity/player/EntityPlayer;)I +MD: agj/b (Lfn;)V net/minecraft/entity/monster/EntityZombie/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: agj/bn ()Ljava/lang/String; net/minecraft/entity/monster/EntityZombie/func_70621_aR ()Ljava/lang/String; +MD: agj/bo ()Ljava/lang/String; net/minecraft/entity/monster/EntityZombie/func_70673_aS ()Ljava/lang/String; +MD: agj/bp ()V net/minecraft/entity/monster/EntityZombie/func_82164_bB ()V +MD: agj/bq ()I net/minecraft/entity/monster/EntityZombie/func_70658_aO ()I +MD: agj/by ()Lxs; net/minecraft/entity/monster/EntityZombie/func_70668_bt ()Lnet/minecraft/entity/EnumCreatureAttribute; +MD: agj/cl ()Z net/minecraft/entity/monster/EntityZombie/func_146072_bX ()Z +MD: agj/cm ()Z net/minecraft/entity/monster/EntityZombie/func_82231_m ()Z +MD: agj/cn ()Z net/minecraft/entity/monster/EntityZombie/func_82230_o ()Z +MD: agj/co ()V net/minecraft/entity/monster/EntityZombie/func_82232_p ()V +MD: agj/cp ()I net/minecraft/entity/monster/EntityZombie/func_82233_q ()I +MD: agj/h ()V net/minecraft/entity/monster/EntityZombie/func_70088_a ()V +MD: agj/i_ ()Z net/minecraft/entity/monster/EntityZombie/func_70631_g_ ()Z +MD: agj/l (Z)V net/minecraft/entity/monster/EntityZombie/func_82227_f (Z)V +MD: agj/m ()V net/minecraft/entity/monster/EntityZombie/func_70636_d ()V +MD: agj/m (Z)V net/minecraft/entity/monster/EntityZombie/func_82229_g (Z)V +MD: agj/n ()V net/minecraft/entity/monster/EntityZombie/func_175456_n ()V +MD: agj/n (Z)V net/minecraft/entity/monster/EntityZombie/func_146071_k (Z)V +MD: agj/r (Lwv;)Z net/minecraft/entity/monster/EntityZombie/func_70652_k (Lnet/minecraft/entity/Entity;)Z +MD: agj/s_ ()V net/minecraft/entity/monster/EntityZombie/func_70071_h_ ()V +MD: agj/z ()Ljava/lang/String; net/minecraft/entity/monster/EntityZombie/func_70639_aQ ()Ljava/lang/String; +MD: agn/a (Laqc;)V net/minecraft/entity/NpcMerchant/func_70933_a (Lnet/minecraft/village/MerchantRecipe;)V +MD: agn/a (Laqd;)V net/minecraft/entity/NpcMerchant/func_70930_a (Lnet/minecraft/village/MerchantRecipeList;)V +MD: agn/a_ (Lahd;)V net/minecraft/entity/NpcMerchant/func_70932_a_ (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: agn/a_ (Lamj;)V net/minecraft/entity/NpcMerchant/func_110297_a_ (Lnet/minecraft/item/ItemStack;)V +MD: agn/b_ (Lahd;)Laqd; net/minecraft/entity/NpcMerchant/func_70934_b (Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/village/MerchantRecipeList; +MD: agn/e_ ()Lho; net/minecraft/entity/NpcMerchant/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: agn/u_ ()Lahd; net/minecraft/entity/NpcMerchant/func_70931_l_ ()Lnet/minecraft/entity/player/EntityPlayer; +MD: agp/C ()Z net/minecraft/entity/passive/EntityVillager/func_70692_ba ()Z +MD: agp/E ()V net/minecraft/entity/passive/EntityVillager/func_70619_bc ()V +MD: agp/a (B)V net/minecraft/entity/passive/EntityVillager/func_70103_a (B)V +MD: agp/a (Lads;)V net/minecraft/entity/passive/EntityVillager/func_70077_a (Lnet/minecraft/entity/effect/EntityLightningBolt;)V +MD: agp/a (Ladw;)V net/minecraft/entity/passive/EntityVillager/func_175445_a (Lnet/minecraft/entity/item/EntityItem;)V +MD: agp/a (Lahd;)Z net/minecraft/entity/passive/EntityVillager/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: agp/a (Lalq;)Z net/minecraft/entity/passive/EntityVillager/func_175558_a (Lnet/minecraft/item/Item;)Z +MD: agp/a (Laqc;)V net/minecraft/entity/passive/EntityVillager/func_70933_a (Lnet/minecraft/village/MerchantRecipe;)V +MD: agp/a (Laqd;)V net/minecraft/entity/passive/EntityVillager/func_70930_a (Lnet/minecraft/village/MerchantRecipeList;)V +MD: agp/a (Lew;)V net/minecraft/entity/passive/EntityVillager/func_180489_a (Lnet/minecraft/util/EnumParticleTypes;)V +MD: agp/a (Lfn;)V net/minecraft/entity/passive/EntityVillager/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: agp/a (Lvu;Lxq;)Lxq; net/minecraft/entity/passive/EntityVillager/func_180482_a (Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/entity/IEntityLivingData;)Lnet/minecraft/entity/IEntityLivingData; +MD: agp/a (Lwh;)V net/minecraft/entity/passive/EntityVillager/func_70645_a (Lnet/minecraft/util/DamageSource;)V +MD: agp/a (Lws;)Lws; net/minecraft/entity/passive/EntityVillager/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/EntityAgeable; +MD: agp/aR ()F net/minecraft/entity/passive/EntityVillager/func_70047_e ()F +MD: agp/aW ()V net/minecraft/entity/passive/EntityVillager/func_110147_ax ()V +MD: agp/a_ (Lahd;)V net/minecraft/entity/passive/EntityVillager/func_70932_a_ (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: agp/a_ (Lamj;)V net/minecraft/entity/passive/EntityVillager/func_110297_a_ (Lnet/minecraft/item/ItemStack;)V +MD: agp/b (Lfn;)V net/minecraft/entity/passive/EntityVillager/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: agp/b (Lws;)Lagp; net/minecraft/entity/passive/EntityVillager/func_180488_b (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/passive/EntityVillager; +MD: agp/b (Lxm;)V net/minecraft/entity/passive/EntityVillager/func_70604_c (Lnet/minecraft/entity/EntityLivingBase;)V +MD: agp/b_ (Lahd;)Laqd; net/minecraft/entity/passive/EntityVillager/func_70934_b (Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/village/MerchantRecipeList; +MD: agp/bn ()Ljava/lang/String; net/minecraft/entity/passive/EntityVillager/func_70621_aR ()Ljava/lang/String; +MD: agp/bo ()Ljava/lang/String; net/minecraft/entity/passive/EntityVillager/func_70673_aS ()Ljava/lang/String; +MD: agp/ca ()Z net/minecraft/entity/passive/EntityVillager/func_110164_bC ()Z +MD: agp/cj ()I net/minecraft/entity/passive/EntityVillager/func_70946_n ()I +MD: agp/ck ()Z net/minecraft/entity/passive/EntityVillager/func_70941_o ()Z +MD: agp/cl ()Z net/minecraft/entity/passive/EntityVillager/func_70945_p ()Z +MD: agp/cm ()Z net/minecraft/entity/passive/EntityVillager/func_70940_q ()Z +MD: agp/cn ()V net/minecraft/entity/passive/EntityVillager/func_82187_q ()V +MD: agp/co ()Lwa; net/minecraft/entity/passive/EntityVillager/func_175551_co ()Lnet/minecraft/inventory/InventoryBasic; +MD: agp/cp ()Z net/minecraft/entity/passive/EntityVillager/func_175553_cp ()Z +MD: agp/cq ()Z net/minecraft/entity/passive/EntityVillager/func_175555_cq ()Z +MD: agp/cr ()Z net/minecraft/entity/passive/EntityVillager/func_175557_cr ()Z +MD: agp/cs ()Z net/minecraft/entity/passive/EntityVillager/func_175556_cs ()Z +MD: agp/ct ()V net/minecraft/entity/passive/EntityVillager/func_175552_ct ()V +MD: agp/cu ()V net/minecraft/entity/passive/EntityVillager/func_175554_cu ()V +MD: agp/d (ILamj;)Z net/minecraft/entity/passive/EntityVillager/func_174820_d (ILnet/minecraft/item/ItemStack;)Z +MD: agp/e_ ()Lho; net/minecraft/entity/passive/EntityVillager/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: agp/h ()V net/minecraft/entity/passive/EntityVillager/func_70088_a ()V +MD: agp/l (Z)V net/minecraft/entity/passive/EntityVillager/func_70947_e (Z)V +MD: agp/m (Z)V net/minecraft/entity/passive/EntityVillager/func_70939_f (Z)V +MD: agp/n ()V net/minecraft/entity/passive/EntityVillager/func_175500_n ()V +MD: agp/n (Z)Z net/minecraft/entity/passive/EntityVillager/func_175550_n (Z)Z +MD: agp/o (Z)V net/minecraft/entity/passive/EntityVillager/func_175549_o (Z)V +MD: agp/r (I)V net/minecraft/entity/passive/EntityVillager/func_70938_b (I)V +MD: agp/s (I)Z net/minecraft/entity/passive/EntityVillager/func_175559_s (I)Z +MD: agp/u_ ()Lahd; net/minecraft/entity/passive/EntityVillager/func_70931_l_ ()Lnet/minecraft/entity/player/EntityPlayer; +MD: agp/z ()Ljava/lang/String; net/minecraft/entity/passive/EntityVillager/func_70639_aQ ()Ljava/lang/String; +MD: agq/a (Lwv;)Z net/minecraft/entity/passive/EntityVillager$1/func_179530_a (Lnet/minecraft/entity/Entity;)Z +MD: agq/apply (Ljava/lang/Object;)Z net/minecraft/entity/passive/EntityVillager$1/apply (Ljava/lang/Object;)Z +MD: agr/a (Laqd;Ljava/util/Random;)V net/minecraft/entity/passive/EntityVillager$EmeraldForItems/func_179401_a (Lnet/minecraft/village/MerchantRecipeList;Ljava/util/Random;)V +MD: ags/a (Laqd;Ljava/util/Random;)V net/minecraft/entity/passive/EntityVillager$ListEnchantedBookForEmeralds/func_179401_a (Lnet/minecraft/village/MerchantRecipeList;Ljava/util/Random;)V +MD: agt/a (Laqd;Ljava/util/Random;)V net/minecraft/entity/passive/EntityVillager$ListEnchantedItemForEmeralds/func_179401_a (Lnet/minecraft/village/MerchantRecipeList;Ljava/util/Random;)V +MD: agu/a (Laqd;Ljava/util/Random;)V net/minecraft/entity/passive/EntityVillager$ItemAndEmeraldToItem/func_179401_a (Lnet/minecraft/village/MerchantRecipeList;Ljava/util/Random;)V +MD: agv/a (Laqd;Ljava/util/Random;)V net/minecraft/entity/passive/EntityVillager$ListItemForEmeralds/func_179401_a (Lnet/minecraft/village/MerchantRecipeList;Ljava/util/Random;)V +MD: agw/a (Laqd;Ljava/util/Random;)V net/minecraft/entity/passive/EntityVillager$ITradeList/func_179401_a (Lnet/minecraft/village/MerchantRecipeList;Ljava/util/Random;)V +MD: agx/a (Ljava/util/Random;)I net/minecraft/entity/passive/EntityVillager$PriceInfo/func_179412_a (Ljava/util/Random;)I +MD: ah/a (I)I net/minecraft/command/PlayerSelector/func_179650_a (I)I +MD: ah/a (Lae;Ljava/lang/String;)Lqw; net/minecraft/command/PlayerSelector/func_82386_a (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Lnet/minecraft/entity/player/EntityPlayerMP; +MD: ah/a (Lae;Ljava/lang/String;Ljava/lang/Class;)Lwv; net/minecraft/command/PlayerSelector/func_179652_a (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;Ljava/lang/Class;)Lnet/minecraft/entity/Entity; +MD: ah/a (Lae;Ljava/util/Map;)Ljava/util/List; net/minecraft/command/PlayerSelector/func_179654_a (Lnet/minecraft/command/ICommandSender;Ljava/util/Map;)Ljava/util/List; +MD: ah/a (Ldt;III)Lbrt; net/minecraft/command/PlayerSelector/func_179661_a (Lnet/minecraft/util/BlockPos;III)Lnet/minecraft/util/AxisAlignedBB; +MD: ah/a (Ljava/lang/String;)Z net/minecraft/command/PlayerSelector/func_82377_a (Ljava/lang/String;)Z +MD: ah/a (Ljava/util/List;Ljava/util/Map;Lae;Ljava/lang/Class;Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/PlayerSelector/func_179658_a (Ljava/util/List;Ljava/util/Map;Lnet/minecraft/command/ICommandSender;Ljava/lang/Class;Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: ah/a (Ljava/util/Map;)Ljava/util/Map; net/minecraft/command/PlayerSelector/func_96560_a (Ljava/util/Map;)Ljava/util/Map; +MD: ah/a (Ljava/util/Map;Ldt;)Ljava/util/List; net/minecraft/command/PlayerSelector/func_180698_a (Ljava/util/Map;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: ah/a (Ljava/util/Map;Ljava/lang/Class;Ljava/util/List;Ljava/lang/String;Laqu;Ldt;)Ljava/util/List; net/minecraft/command/PlayerSelector/func_179660_a (Ljava/util/Map;Ljava/lang/Class;Ljava/util/List;Ljava/lang/String;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: ah/a (Ljava/util/Map;Ljava/lang/String;)Ljava/util/List; net/minecraft/command/PlayerSelector/func_179663_a (Ljava/util/Map;Ljava/lang/String;)Ljava/util/List; +MD: ah/a (Ljava/util/Map;Ljava/lang/String;I)I net/minecraft/command/PlayerSelector/func_179653_a (Ljava/util/Map;Ljava/lang/String;I)I +MD: ah/b (Lae;Ljava/lang/String;)Lho; net/minecraft/command/PlayerSelector/func_150869_b (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Lnet/minecraft/util/IChatComponent; +MD: ah/b (Lae;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List; net/minecraft/command/PlayerSelector/func_179656_b (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List; +MD: ah/b (Lae;Ljava/util/Map;)Z net/minecraft/command/PlayerSelector/func_179655_b (Lnet/minecraft/command/ICommandSender;Ljava/util/Map;)Z +MD: ah/b (Ljava/lang/String;)Z net/minecraft/command/PlayerSelector/func_82378_b (Ljava/lang/String;)Z +MD: ah/b (Ljava/util/Map;)Ljava/util/List; net/minecraft/command/PlayerSelector/func_179648_b (Ljava/util/Map;)Ljava/util/List; +MD: ah/b (Ljava/util/Map;Ldt;)Ldt; net/minecraft/command/PlayerSelector/func_179664_b (Ljava/util/Map;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: ah/b (Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String; net/minecraft/command/PlayerSelector/func_179651_b (Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String; +MD: ah/c (Ljava/lang/String;)Ljava/util/Map; net/minecraft/command/PlayerSelector/func_82381_h (Ljava/lang/String;)Ljava/util/Map; +MD: ah/c (Ljava/util/Map;)Ljava/util/List; net/minecraft/command/PlayerSelector/func_179649_c (Ljava/util/Map;)Ljava/util/List; +MD: ah/d (Ljava/util/Map;)Ljava/util/List; net/minecraft/command/PlayerSelector/func_179659_d (Ljava/util/Map;)Ljava/util/List; +MD: ah/e (Ljava/util/Map;)Ljava/util/List; net/minecraft/command/PlayerSelector/func_179657_e (Ljava/util/Map;)Ljava/util/List; +MD: ah/f (Ljava/util/Map;)Ljava/util/List; net/minecraft/command/PlayerSelector/func_179647_f (Ljava/util/Map;)Ljava/util/List; +MD: ah/g (Ljava/util/Map;)Ljava/util/List; net/minecraft/command/PlayerSelector/func_179662_g (Ljava/util/Map;)Ljava/util/List; +MD: ah/h (Ljava/util/Map;)Z net/minecraft/command/PlayerSelector/func_179665_h (Ljava/util/Map;)Z +MD: aha/a ()F net/minecraft/entity/player/PlayerCapabilities/func_75093_a ()F +MD: aha/a (F)V net/minecraft/entity/player/PlayerCapabilities/func_75092_a (F)V +MD: aha/a (Lfn;)V net/minecraft/entity/player/PlayerCapabilities/func_75091_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aha/b ()F net/minecraft/entity/player/PlayerCapabilities/func_75094_b ()F +MD: aha/b (F)V net/minecraft/entity/player/PlayerCapabilities/func_82877_b (F)V +MD: aha/b (Lfn;)V net/minecraft/entity/player/PlayerCapabilities/func_75095_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahb/a (F)V net/minecraft/entity/player/InventoryPlayer/func_70449_g (F)V +MD: ahb/a (I)Lamj; net/minecraft/entity/player/InventoryPlayer/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: ahb/a (II)Lamj; net/minecraft/entity/player/InventoryPlayer/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: ahb/a (ILamj;)V net/minecraft/entity/player/InventoryPlayer/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: ahb/a (Lahd;)Z net/minecraft/entity/player/InventoryPlayer/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: ahb/a (Lalq;)Z net/minecraft/entity/player/InventoryPlayer/func_146026_a (Lnet/minecraft/item/Item;)Z +MD: ahb/a (Lalq;I)I net/minecraft/entity/player/InventoryPlayer/func_146024_c (Lnet/minecraft/item/Item;I)I +MD: ahb/a (Lalq;IILfn;)I net/minecraft/entity/player/InventoryPlayer/func_174925_a (Lnet/minecraft/item/Item;IILnet/minecraft/nbt/NBTTagCompound;)I +MD: ahb/a (Lalq;IZZ)V net/minecraft/entity/player/InventoryPlayer/func_146030_a (Lnet/minecraft/item/Item;IZZ)V +MD: ahb/a (Lamj;)Z net/minecraft/entity/player/InventoryPlayer/func_70441_a (Lnet/minecraft/item/ItemStack;)Z +MD: ahb/a (Latr;)F net/minecraft/entity/player/InventoryPlayer/func_146023_a (Lnet/minecraft/block/Block;)F +MD: ahb/a (Lfv;)Lfv; net/minecraft/entity/player/InventoryPlayer/func_70442_a (Lnet/minecraft/nbt/NBTTagList;)Lnet/minecraft/nbt/NBTTagList; +MD: ahb/a_ (I)I net/minecraft/entity/player/InventoryPlayer/func_174887_a_ (I)I +MD: ahb/b (I)Lamj; net/minecraft/entity/player/InventoryPlayer/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: ahb/b (II)V net/minecraft/entity/player/InventoryPlayer/func_174885_b (II)V +MD: ahb/b (ILamj;)Z net/minecraft/entity/player/InventoryPlayer/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: ahb/b (Lahb;)V net/minecraft/entity/player/InventoryPlayer/func_70455_b (Lnet/minecraft/entity/player/InventoryPlayer;)V +MD: ahb/b (Lahd;)V net/minecraft/entity/player/InventoryPlayer/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: ahb/b (Lalq;)Z net/minecraft/entity/player/InventoryPlayer/func_146028_b (Lnet/minecraft/item/Item;)Z +MD: ahb/b (Lamj;)V net/minecraft/entity/player/InventoryPlayer/func_70437_b (Lnet/minecraft/item/ItemStack;)V +MD: ahb/b (Latr;)Z net/minecraft/entity/player/InventoryPlayer/func_146025_b (Lnet/minecraft/block/Block;)Z +MD: ahb/b (Lfv;)V net/minecraft/entity/player/InventoryPlayer/func_70443_b (Lnet/minecraft/nbt/NBTTagList;)V +MD: ahb/c (Lahd;)V net/minecraft/entity/player/InventoryPlayer/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: ahb/c (Lalq;)I net/minecraft/entity/player/InventoryPlayer/func_146029_c (Lnet/minecraft/item/Item;)I +MD: ahb/c (Lamj;)Z net/minecraft/entity/player/InventoryPlayer/func_70431_c (Lnet/minecraft/item/ItemStack;)Z +MD: ahb/d (I)V net/minecraft/entity/player/InventoryPlayer/func_70453_c (I)V +MD: ahb/d (Lamj;)I net/minecraft/entity/player/InventoryPlayer/func_70432_d (Lnet/minecraft/item/ItemStack;)I +MD: ahb/d_ ()Ljava/lang/String; net/minecraft/entity/player/InventoryPlayer/func_70005_c_ ()Ljava/lang/String; +MD: ahb/e (I)Lamj; net/minecraft/entity/player/InventoryPlayer/func_70440_f (I)Lnet/minecraft/item/ItemStack; +MD: ahb/e (Lamj;)I net/minecraft/entity/player/InventoryPlayer/func_70452_e (Lnet/minecraft/item/ItemStack;)I +MD: ahb/e_ ()Lho; net/minecraft/entity/player/InventoryPlayer/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: ahb/g ()I net/minecraft/entity/player/InventoryPlayer/func_174890_g ()I +MD: ahb/h ()Lamj; net/minecraft/entity/player/InventoryPlayer/func_70448_g ()Lnet/minecraft/item/ItemStack; +MD: ahb/i ()I net/minecraft/entity/player/InventoryPlayer/func_70451_h ()I +MD: ahb/j ()I net/minecraft/entity/player/InventoryPlayer/func_70447_i ()I +MD: ahb/k ()V net/minecraft/entity/player/InventoryPlayer/func_70429_k ()V +MD: ahb/k_ ()Z net/minecraft/entity/player/InventoryPlayer/func_145818_k_ ()Z +MD: ahb/l ()V net/minecraft/entity/player/InventoryPlayer/func_174888_l ()V +MD: ahb/m ()I net/minecraft/entity/player/InventoryPlayer/func_70430_l ()I +MD: ahb/n ()V net/minecraft/entity/player/InventoryPlayer/func_70436_m ()V +MD: ahb/n_ ()I net/minecraft/entity/player/InventoryPlayer/func_70302_i_ ()I +MD: ahb/o_ ()V net/minecraft/entity/player/InventoryPlayer/func_70296_d ()V +MD: ahb/p ()Lamj; net/minecraft/entity/player/InventoryPlayer/func_70445_o ()Lnet/minecraft/item/ItemStack; +MD: ahb/p_ ()I net/minecraft/entity/player/InventoryPlayer/func_70297_j_ ()I +MD: ahc/a ()Ljava/lang/String; net/minecraft/entity/player/InventoryPlayer$1/call ()Ljava/lang/String; +MD: ahc/call ()Ljava/lang/Object; net/minecraft/entity/player/InventoryPlayer$1/call ()Ljava/lang/Object; +MD: ahd/I ()V net/minecraft/entity/player/EntityPlayer/func_70065_x ()V +MD: ahd/J ()V net/minecraft/entity/player/EntityPlayer/func_70106_y ()V +MD: ahd/L ()I net/minecraft/entity/player/EntityPlayer/func_82145_z ()I +MD: ahd/P ()Ljava/lang/String; net/minecraft/entity/player/EntityPlayer/func_145776_H ()Ljava/lang/String; +MD: ahd/X ()V net/minecraft/entity/player/EntityPlayer/func_71061_d_ ()V +MD: ahd/a (B)V net/minecraft/entity/player/EntityPlayer/func_70103_a (B)V +MD: ahd/a (F)V net/minecraft/entity/player/EntityPlayer/func_71020_j (F)V +MD: ahd/a (I)V net/minecraft/entity/player/EntityPlayer/func_82242_a (I)V +MD: ahd/a (Labt;Lvq;)V net/minecraft/entity/player/EntityPlayer/func_110298_a (Lnet/minecraft/entity/passive/EntityHorse;Lnet/minecraft/inventory/IInventory;)V +MD: ahd/a (Ladw;)V net/minecraft/entity/player/EntityPlayer/func_71012_a (Lnet/minecraft/entity/item/EntityItem;)V +MD: ahd/a (Lahd;)Z net/minecraft/entity/player/EntityPlayer/func_96122_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: ahd/a (Lahd;Z)V net/minecraft/entity/player/EntityPlayer/func_71049_a (Lnet/minecraft/entity/player/EntityPlayer;Z)V +MD: ahd/a (Lahh;)Z net/minecraft/entity/player/EntityPlayer/func_175148_a (Lnet/minecraft/entity/player/EnumPlayerModelParts;)Z +MD: ahd/a (Lamj;)V net/minecraft/entity/player/EntityPlayer/func_71048_c (Lnet/minecraft/item/ItemStack;)V +MD: ahd/a (Lamj;I)V net/minecraft/entity/player/EntityPlayer/func_71008_a (Lnet/minecraft/item/ItemStack;I)V +MD: ahd/a (Lamj;Z)Ladw; net/minecraft/entity/player/EntityPlayer/func_71019_a (Lnet/minecraft/item/ItemStack;Z)Lnet/minecraft/entity/item/EntityItem; +MD: ahd/a (Lamj;ZZ)Ladw; net/minecraft/entity/player/EntityPlayer/func_146097_a (Lnet/minecraft/item/ItemStack;ZZ)Lnet/minecraft/entity/item/EntityItem; +MD: ahd/a (Laqb;)V net/minecraft/entity/player/EntityPlayer/func_180472_a (Lnet/minecraft/entity/IMerchant;)V +MD: ahd/a (Laqf;)V net/minecraft/entity/player/EntityPlayer/func_146095_a (Lnet/minecraft/command/server/CommandBlockLogic;)V +MD: ahd/a (Laqu;Ldt;Z)Ldt; net/minecraft/entity/player/EntityPlayer/func_180467_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Z)Lnet/minecraft/util/BlockPos; +MD: ahd/a (Larc;)V net/minecraft/entity/player/EntityPlayer/func_71033_a (Lnet/minecraft/world/WorldSettings$GameType;)V +MD: ahd/a (Latr;)F net/minecraft/entity/player/EntityPlayer/func_180471_a (Lnet/minecraft/block/Block;)F +MD: ahd/a (Lbdj;)V net/minecraft/entity/player/EntityPlayer/func_175141_a (Lnet/minecraft/tileentity/TileEntitySign;)V +MD: ahd/a (Lcom/mojang/authlib/GameProfile;)Ljava/util/UUID; net/minecraft/entity/player/EntityPlayer/func_146094_a (Lcom/mojang/authlib/GameProfile;)Ljava/util/UUID; +MD: ahd/a (Ldt;)Lahf; net/minecraft/entity/player/EntityPlayer/func_180469_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/entity/player/EntityPlayer$EnumStatus; +MD: ahd/a (Ldt;Lej;Lamj;)Z net/minecraft/entity/player/EntityPlayer/func_175151_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/item/ItemStack;)Z +MD: ahd/a (Ldt;Z)V net/minecraft/entity/player/EntityPlayer/func_180473_a (Lnet/minecraft/util/BlockPos;Z)V +MD: ahd/a (Lej;)V net/minecraft/entity/player/EntityPlayer/func_175139_a (Lnet/minecraft/util/EnumFacing;)V +MD: ahd/a (Lfn;)V net/minecraft/entity/player/EntityPlayer/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahd/a (Ljava/lang/String;FF)V net/minecraft/entity/player/EntityPlayer/func_85030_a (Ljava/lang/String;FF)V +MD: ahd/a (Ltq;)V net/minecraft/entity/player/EntityPlayer/func_175145_a (Lnet/minecraft/stats/StatBase;)V +MD: ahd/a (Ltq;I)V net/minecraft/entity/player/EntityPlayer/func_71064_a (Lnet/minecraft/stats/StatBase;I)V +MD: ahd/a (Lvq;)V net/minecraft/entity/player/EntityPlayer/func_71007_a (Lnet/minecraft/inventory/IInventory;)V +MD: ahd/a (Lvv;)V net/minecraft/entity/player/EntityPlayer/func_180468_a (Lnet/minecraft/world/IInteractionObject;)V +MD: ahd/a (Lvx;)Z net/minecraft/entity/player/EntityPlayer/func_175146_a (Lnet/minecraft/world/LockCode;)Z +MD: ahd/a (Lwh;)V net/minecraft/entity/player/EntityPlayer/func_70645_a (Lnet/minecraft/util/DamageSource;)V +MD: ahd/a (Lwh;F)Z net/minecraft/entity/player/EntityPlayer/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: ahd/a (Lxm;)V net/minecraft/entity/player/EntityPlayer/func_70074_a (Lnet/minecraft/entity/EntityLivingBase;)V +MD: ahd/a (Z)Ladw; net/minecraft/entity/player/EntityPlayer/func_71040_bB (Z)Lnet/minecraft/entity/item/EntityItem; +MD: ahd/a (ZZZ)V net/minecraft/entity/player/EntityPlayer/func_70999_a (ZZZ)V +MD: ahd/aB ()V net/minecraft/entity/player/EntityPlayer/func_70110_aj ()V +MD: ahd/aK ()Z net/minecraft/entity/player/EntityPlayer/func_96092_aw ()Z +MD: ahd/aN ()Z net/minecraft/entity/player/EntityPlayer/func_94059_bO ()Z +MD: ahd/aR ()F net/minecraft/entity/player/EntityPlayer/func_70047_e ()F +MD: ahd/aW ()V net/minecraft/entity/player/EntityPlayer/func_110147_ax ()V +MD: ahd/aa ()Ljava/lang/String; net/minecraft/entity/player/EntityPlayer/func_145777_O ()Ljava/lang/String; +MD: ahd/aj ()Z net/minecraft/entity/player/EntityPlayer/func_70094_T ()Z +MD: ahd/ak ()V net/minecraft/entity/player/EntityPlayer/func_70098_U ()V +MD: ahd/am ()D net/minecraft/entity/player/EntityPlayer/func_70033_W ()D +MD: ahd/ar ()I net/minecraft/entity/player/EntityPlayer/func_82147_ab ()I +MD: ahd/at ()[Lamj; net/minecraft/entity/player/EntityPlayer/func_70035_c ()[Lnet/minecraft/item/ItemStack; +MD: ahd/b (I)V net/minecraft/entity/player/EntityPlayer/func_71013_b (I)V +MD: ahd/b (Lahd;)I net/minecraft/entity/player/EntityPlayer/func_70693_a (Lnet/minecraft/entity/player/EntityPlayer;)I +MD: ahd/b (Lamj;I)V net/minecraft/entity/player/EntityPlayer/func_71010_c (Lnet/minecraft/item/ItemStack;I)V +MD: ahd/b (Latr;)Z net/minecraft/entity/player/EntityPlayer/func_146099_a (Lnet/minecraft/block/Block;)Z +MD: ahd/b (Lfn;)V net/minecraft/entity/player/EntityPlayer/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahd/b (Lho;)V net/minecraft/entity/player/EntityPlayer/func_146105_b (Lnet/minecraft/util/IChatComponent;)V +MD: ahd/b (Ljava/lang/String;)Ljava/util/UUID; net/minecraft/entity/player/EntityPlayer/func_175147_b (Ljava/lang/String;)Ljava/util/UUID; +MD: ahd/b (Ltq;)V net/minecraft/entity/player/EntityPlayer/func_71029_a (Lnet/minecraft/stats/StatBase;)V +MD: ahd/b (Lwv;)V net/minecraft/entity/player/EntityPlayer/func_71009_b (Lnet/minecraft/entity/Entity;)V +MD: ahd/b (Lwv;I)V net/minecraft/entity/player/EntityPlayer/func_70084_c (Lnet/minecraft/entity/Entity;I)V +MD: ahd/bC ()Z net/minecraft/entity/player/EntityPlayer/func_70610_aX ()Z +MD: ahd/bE ()V net/minecraft/entity/player/EntityPlayer/func_70664_aZ ()V +MD: ahd/bH ()F net/minecraft/entity/player/EntityPlayer/func_70689_ay ()F +MD: ahd/bI ()Z net/minecraft/entity/player/EntityPlayer/func_70608_bn ()Z +MD: ahd/bJ ()V net/minecraft/entity/player/EntityPlayer/func_70626_be ()V +MD: ahd/bM ()F net/minecraft/entity/player/EntityPlayer/func_110139_bj ()F +MD: ahd/bN ()Lbsf; net/minecraft/entity/player/EntityPlayer/func_96124_cp ()Lnet/minecraft/scoreboard/Team; +MD: ahd/bP ()Lamj; net/minecraft/entity/player/EntityPlayer/func_71011_bu ()Lnet/minecraft/item/ItemStack; +MD: ahd/bQ ()I net/minecraft/entity/player/EntityPlayer/func_71052_bv ()I +MD: ahd/bR ()Z net/minecraft/entity/player/EntityPlayer/func_71039_bw ()Z +MD: ahd/bS ()I net/minecraft/entity/player/EntityPlayer/func_71057_bx ()I +MD: ahd/bT ()V net/minecraft/entity/player/EntityPlayer/func_71034_by ()V +MD: ahd/bU ()V net/minecraft/entity/player/EntityPlayer/func_71041_bz ()V +MD: ahd/bV ()Z net/minecraft/entity/player/EntityPlayer/func_70632_aY ()Z +MD: ahd/bW ()I net/minecraft/entity/player/EntityPlayer/func_71037_bA ()I +MD: ahd/bX ()F net/minecraft/entity/player/EntityPlayer/func_82243_bO ()F +MD: ahd/bY ()Lamj; net/minecraft/entity/player/EntityPlayer/func_71045_bC ()Lnet/minecraft/item/ItemStack; +MD: ahd/bZ ()V net/minecraft/entity/player/EntityPlayer/func_71028_bD ()V +MD: ahd/ba ()Z net/minecraft/entity/player/EntityPlayer/func_70684_aJ ()Z +MD: ahd/bn ()Ljava/lang/String; net/minecraft/entity/player/EntityPlayer/func_70621_aR ()Ljava/lang/String; +MD: ahd/bo ()Ljava/lang/String; net/minecraft/entity/player/EntityPlayer/func_70673_aS ()Ljava/lang/String; +MD: ahd/bq ()I net/minecraft/entity/player/EntityPlayer/func_70658_aO ()I +MD: ahd/bz ()Lamj; net/minecraft/entity/player/EntityPlayer/func_70694_bm ()Lnet/minecraft/item/ItemStack; +MD: ahd/c (ILamj;)V net/minecraft/entity/player/EntityPlayer/func_70062_b (ILnet/minecraft/item/ItemStack;)V +MD: ahd/c (Lwv;)V net/minecraft/entity/player/EntityPlayer/func_71047_c (Lnet/minecraft/entity/Entity;)V +MD: ahd/ca ()V net/minecraft/entity/player/EntityPlayer/func_71004_bE ()V +MD: ahd/cb ()Z net/minecraft/entity/player/EntityPlayer/func_175144_cb ()Z +MD: ahd/cc ()Lcom/mojang/authlib/GameProfile; net/minecraft/entity/player/EntityPlayer/func_146103_bH ()Lcom/mojang/authlib/GameProfile; +MD: ahd/cd ()F net/minecraft/entity/player/EntityPlayer/func_71051_bG ()F +MD: ahd/ce ()Z net/minecraft/entity/player/EntityPlayer/func_71026_bH ()Z +MD: ahd/cf ()I net/minecraft/entity/player/EntityPlayer/func_71060_bI ()I +MD: ahd/cg ()Ldt; net/minecraft/entity/player/EntityPlayer/func_180470_cg ()Lnet/minecraft/util/BlockPos; +MD: ahd/ch ()Z net/minecraft/entity/player/EntityPlayer/func_82245_bX ()Z +MD: ahd/ci ()I net/minecraft/entity/player/EntityPlayer/func_175138_ci ()I +MD: ahd/cj ()I net/minecraft/entity/player/EntityPlayer/func_71050_bK ()I +MD: ahd/ck ()Lahz; net/minecraft/entity/player/EntityPlayer/func_71024_bL ()Lnet/minecraft/util/FoodStats; +MD: ahd/cl ()Z net/minecraft/entity/player/EntityPlayer/func_70996_bM ()Z +MD: ahd/cm ()Z net/minecraft/entity/player/EntityPlayer/func_175142_cm ()Z +MD: ahd/cn ()Lajh; net/minecraft/entity/player/EntityPlayer/func_71005_bN ()Lnet/minecraft/inventory/InventoryEnderChest; +MD: ahd/co ()Lbsd; net/minecraft/entity/player/EntityPlayer/func_96123_co ()Lnet/minecraft/scoreboard/Scoreboard; +MD: ahd/cp ()Z net/minecraft/entity/player/EntityPlayer/func_175140_cp ()Z +MD: ahd/d (ILamj;)Z net/minecraft/entity/player/EntityPlayer/func_174820_d (ILnet/minecraft/item/ItemStack;)Z +MD: ahd/d (Lwh;F)V net/minecraft/entity/player/EntityPlayer/func_70665_d (Lnet/minecraft/util/DamageSource;F)V +MD: ahd/d (Lwv;)V net/minecraft/entity/player/EntityPlayer/func_71044_o (Lnet/minecraft/entity/Entity;)V +MD: ahd/d_ ()Ljava/lang/String; net/minecraft/entity/player/EntityPlayer/func_70005_c_ ()Ljava/lang/String; +MD: ahd/e (FF)V net/minecraft/entity/player/EntityPlayer/func_180430_e (FF)V +MD: ahd/e (Lwv;)Ljava/util/Collection; net/minecraft/entity/player/EntityPlayer/func_175137_e (Lnet/minecraft/entity/Entity;)Ljava/util/Collection; +MD: ahd/e_ ()Lho; net/minecraft/entity/player/EntityPlayer/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: ahd/f (Lahd;)Z net/minecraft/entity/player/EntityPlayer/func_98034_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: ahd/f (Lwv;)V net/minecraft/entity/player/EntityPlayer/func_71059_n (Lnet/minecraft/entity/Entity;)V +MD: ahd/g (FF)V net/minecraft/entity/player/EntityPlayer/func_70612_e (FF)V +MD: ahd/h ()V net/minecraft/entity/player/EntityPlayer/func_70088_a ()V +MD: ahd/i (F)V net/minecraft/entity/player/EntityPlayer/func_70675_k (F)V +MD: ahd/j (Z)Z net/minecraft/entity/player/EntityPlayer/func_71043_e (Z)Z +MD: ahd/k (DDD)V net/minecraft/entity/player/EntityPlayer/func_71000_j (DDD)V +MD: ahd/k (Z)V net/minecraft/entity/player/EntityPlayer/func_175150_k (Z)V +MD: ahd/l (DDD)V net/minecraft/entity/player/EntityPlayer/func_71015_k (DDD)V +MD: ahd/l (F)V net/minecraft/entity/player/EntityPlayer/func_110149_m (F)V +MD: ahd/m ()V net/minecraft/entity/player/EntityPlayer/func_70636_d ()V +MD: ahd/n ()V net/minecraft/entity/player/EntityPlayer/func_71053_j ()V +MD: ahd/n (I)Ljava/lang/String; net/minecraft/entity/player/EntityPlayer/func_146067_o (I)Ljava/lang/String; +MD: ahd/p ()Z net/minecraft/entity/player/EntityPlayer/func_175143_p ()Z +MD: ahd/p (I)Lamj; net/minecraft/entity/player/EntityPlayer/func_71124_b (I)Lnet/minecraft/item/ItemStack; +MD: ahd/q (I)Lamj; net/minecraft/entity/player/EntityPlayer/func_82169_q (I)Lnet/minecraft/item/ItemStack; +MD: ahd/r (I)V net/minecraft/entity/player/EntityPlayer/func_85040_s (I)V +MD: ahd/r_ ()Z net/minecraft/entity/player/EntityPlayer/func_70041_e_ ()Z +MD: ahd/s ()V net/minecraft/entity/player/EntityPlayer/func_71036_o ()V +MD: ahd/s (I)V net/minecraft/entity/player/EntityPlayer/func_85039_t (I)V +MD: ahd/s_ ()V net/minecraft/entity/player/EntityPlayer/func_70071_h_ ()V +MD: ahd/t ()V net/minecraft/entity/player/EntityPlayer/func_71016_p ()V +MD: ahd/t_ ()Z net/minecraft/entity/player/EntityPlayer/func_174792_t_ ()Z +MD: ahd/u (I)V net/minecraft/entity/player/EntityPlayer/func_71023_q (I)V +MD: ahd/u (Lwv;)Z net/minecraft/entity/player/EntityPlayer/func_70998_m (Lnet/minecraft/entity/Entity;)Z +MD: ahd/v ()Z net/minecraft/entity/player/EntityPlayer/func_175149_v ()Z +MD: ahf/valueOf (Ljava/lang/String;)Lahf; net/minecraft/entity/player/EntityPlayer$EnumStatus/valueOf (Ljava/lang/String;)Lnet/minecraft/entity/player/EntityPlayer$EnumStatus; +MD: ahf/values ()[Lahf; net/minecraft/entity/player/EntityPlayer$EnumStatus/values ()[Lnet/minecraft/entity/player/EntityPlayer$EnumStatus; +MD: ahg/a ()I net/minecraft/entity/player/EntityPlayer$EnumChatVisibility/func_151428_a ()I +MD: ahg/a (I)Lahg; net/minecraft/entity/player/EntityPlayer$EnumChatVisibility/func_151426_a (I)Lnet/minecraft/entity/player/EntityPlayer$EnumChatVisibility; +MD: ahg/b ()Ljava/lang/String; net/minecraft/entity/player/EntityPlayer$EnumChatVisibility/func_151429_b ()Ljava/lang/String; +MD: ahg/values ()[Lahg; net/minecraft/entity/player/EntityPlayer$EnumChatVisibility/values ()[Lnet/minecraft/entity/player/EntityPlayer$EnumChatVisibility; +MD: ahh/a ()I net/minecraft/entity/player/EnumPlayerModelParts/func_179327_a ()I +MD: ahh/b ()I net/minecraft/entity/player/EnumPlayerModelParts/func_179328_b ()I +MD: ahh/c ()Ljava/lang/String; net/minecraft/entity/player/EnumPlayerModelParts/func_179329_c ()Ljava/lang/String; +MD: ahh/d ()Lho; net/minecraft/entity/player/EnumPlayerModelParts/func_179326_d ()Lnet/minecraft/util/IChatComponent; +MD: ahh/values ()[Lahh; net/minecraft/entity/player/EnumPlayerModelParts/values ()[Lnet/minecraft/entity/player/EnumPlayerModelParts; +MD: ahj/a (DDDFFIZ)V net/minecraft/entity/projectile/EntityArrow/func_180426_a (DDDFFIZ)V +MD: ahj/a (I)V net/minecraft/entity/projectile/EntityArrow/func_70240_a (I)V +MD: ahj/a (Lfn;)V net/minecraft/entity/projectile/EntityArrow/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahj/a (Z)V net/minecraft/entity/projectile/EntityArrow/func_70243_d (Z)V +MD: ahj/aE ()Z net/minecraft/entity/projectile/EntityArrow/func_70075_an ()Z +MD: ahj/b (D)V net/minecraft/entity/projectile/EntityArrow/func_70239_b (D)V +MD: ahj/b (Lfn;)V net/minecraft/entity/projectile/EntityArrow/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahj/c (DDDFF)V net/minecraft/entity/projectile/EntityArrow/func_70186_c (DDDFF)V +MD: ahj/d (Lahd;)V net/minecraft/entity/projectile/EntityArrow/func_70100_b_ (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: ahj/h ()V net/minecraft/entity/projectile/EntityArrow/func_70088_a ()V +MD: ahj/i (DDD)V net/minecraft/entity/projectile/EntityArrow/func_70016_h (DDD)V +MD: ahj/j ()D net/minecraft/entity/projectile/EntityArrow/func_70242_d ()D +MD: ahj/l ()Z net/minecraft/entity/projectile/EntityArrow/func_70241_g ()Z +MD: ahj/r_ ()Z net/minecraft/entity/projectile/EntityArrow/func_70041_e_ ()Z +MD: ahj/s_ ()V net/minecraft/entity/projectile/EntityArrow/func_70071_h_ ()V +MD: ahk/a (D)Z net/minecraft/entity/item/EntityEnderEye/func_70112_a (D)Z +MD: ahk/a (Ldt;)V net/minecraft/entity/item/EntityEnderEye/func_180465_a (Lnet/minecraft/util/BlockPos;)V +MD: ahk/a (Lfn;)V net/minecraft/entity/item/EntityEnderEye/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahk/aE ()Z net/minecraft/entity/item/EntityEnderEye/func_70075_an ()Z +MD: ahk/b (F)I net/minecraft/entity/item/EntityEnderEye/func_70070_b (F)I +MD: ahk/b (Lfn;)V net/minecraft/entity/item/EntityEnderEye/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahk/c (F)F net/minecraft/entity/item/EntityEnderEye/func_70013_c (F)F +MD: ahk/h ()V net/minecraft/entity/item/EntityEnderEye/func_70088_a ()V +MD: ahk/i (DDD)V net/minecraft/entity/item/EntityEnderEye/func_70016_h (DDD)V +MD: ahk/s_ ()V net/minecraft/entity/item/EntityEnderEye/func_70071_h_ ()V +MD: ahl/a (D)Z net/minecraft/entity/projectile/EntityFireball/func_70112_a (D)Z +MD: ahl/a (Lbru;)V net/minecraft/entity/projectile/EntityFireball/func_70227_a (Lnet/minecraft/util/MovingObjectPosition;)V +MD: ahl/a (Lfn;)V net/minecraft/entity/projectile/EntityFireball/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahl/a (Lwh;F)Z net/minecraft/entity/projectile/EntityFireball/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: ahl/ad ()Z net/minecraft/entity/projectile/EntityFireball/func_70067_L ()Z +MD: ahl/ao ()F net/minecraft/entity/projectile/EntityFireball/func_70111_Y ()F +MD: ahl/b (F)I net/minecraft/entity/projectile/EntityFireball/func_70070_b (F)I +MD: ahl/b (Lfn;)V net/minecraft/entity/projectile/EntityFireball/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahl/c (F)F net/minecraft/entity/projectile/EntityFireball/func_70013_c (F)F +MD: ahl/h ()V net/minecraft/entity/projectile/EntityFireball/func_70088_a ()V +MD: ahl/j ()F net/minecraft/entity/projectile/EntityFireball/func_82341_c ()F +MD: ahl/s_ ()V net/minecraft/entity/projectile/EntityFireball/func_70071_h_ ()V +MD: ahm/a (B)V net/minecraft/entity/item/EntityFireworkRocket/func_70103_a (B)V +MD: ahm/a (D)Z net/minecraft/entity/item/EntityFireworkRocket/func_70112_a (D)Z +MD: ahm/a (Lfn;)V net/minecraft/entity/item/EntityFireworkRocket/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahm/aE ()Z net/minecraft/entity/item/EntityFireworkRocket/func_70075_an ()Z +MD: ahm/b (F)I net/minecraft/entity/item/EntityFireworkRocket/func_70070_b (F)I +MD: ahm/b (Lfn;)V net/minecraft/entity/item/EntityFireworkRocket/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahm/c (F)F net/minecraft/entity/item/EntityFireworkRocket/func_70013_c (F)F +MD: ahm/h ()V net/minecraft/entity/item/EntityFireworkRocket/func_70088_a ()V +MD: ahm/i (DDD)V net/minecraft/entity/item/EntityFireworkRocket/func_70016_h (DDD)V +MD: ahm/s_ ()V net/minecraft/entity/item/EntityFireworkRocket/func_70071_h_ ()V +MD: ahn/a (Lbru;)V net/minecraft/entity/projectile/EntityLargeFireball/func_70227_a (Lnet/minecraft/util/MovingObjectPosition;)V +MD: ahn/a (Lfn;)V net/minecraft/entity/projectile/EntityLargeFireball/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahn/b (Lfn;)V net/minecraft/entity/projectile/EntityLargeFireball/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aho/c (DDDFF)V net/minecraft/entity/IProjectile/func_70186_c (DDDFF)V +MD: ahp/a (Lbru;)V net/minecraft/entity/projectile/EntitySmallFireball/func_70227_a (Lnet/minecraft/util/MovingObjectPosition;)V +MD: ahp/a (Lwh;F)Z net/minecraft/entity/projectile/EntitySmallFireball/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: ahp/ad ()Z net/minecraft/entity/projectile/EntitySmallFireball/func_70067_L ()Z +MD: ahq/a (Lbru;)V net/minecraft/entity/projectile/EntitySnowball/func_70184_a (Lnet/minecraft/util/MovingObjectPosition;)V +MD: ahr/a (D)Z net/minecraft/entity/projectile/EntityThrowable/func_70112_a (D)Z +MD: ahr/a (Lbru;)V net/minecraft/entity/projectile/EntityThrowable/func_70184_a (Lnet/minecraft/util/MovingObjectPosition;)V +MD: ahr/a (Lfn;)V net/minecraft/entity/projectile/EntityThrowable/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahr/b (Lfn;)V net/minecraft/entity/projectile/EntityThrowable/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahr/c (DDDFF)V net/minecraft/entity/projectile/EntityThrowable/func_70186_c (DDDFF)V +MD: ahr/h ()V net/minecraft/entity/projectile/EntityThrowable/func_70088_a ()V +MD: ahr/i (DDD)V net/minecraft/entity/projectile/EntityThrowable/func_70016_h (DDD)V +MD: ahr/j ()F net/minecraft/entity/projectile/EntityThrowable/func_70182_d ()F +MD: ahr/l ()F net/minecraft/entity/projectile/EntityThrowable/func_70183_g ()F +MD: ahr/m ()F net/minecraft/entity/projectile/EntityThrowable/func_70185_h ()F +MD: ahr/n ()Lxm; net/minecraft/entity/projectile/EntityThrowable/func_85052_h ()Lnet/minecraft/entity/EntityLivingBase; +MD: ahr/s_ ()V net/minecraft/entity/projectile/EntityThrowable/func_70071_h_ ()V +MD: ahs/a (Lbru;)V net/minecraft/entity/projectile/EntityEgg/func_70184_a (Lnet/minecraft/util/MovingObjectPosition;)V +MD: aht/a (Lbru;)V net/minecraft/entity/item/EntityEnderPearl/func_70184_a (Lnet/minecraft/util/MovingObjectPosition;)V +MD: aht/s_ ()V net/minecraft/entity/item/EntityEnderPearl/func_70071_h_ ()V +MD: ahu/a (Lbru;)V net/minecraft/entity/item/EntityExpBottle/func_70184_a (Lnet/minecraft/util/MovingObjectPosition;)V +MD: ahu/j ()F net/minecraft/entity/item/EntityExpBottle/func_70182_d ()F +MD: ahu/l ()F net/minecraft/entity/item/EntityExpBottle/func_70183_g ()F +MD: ahu/m ()F net/minecraft/entity/item/EntityExpBottle/func_70185_h ()F +MD: ahv/a (I)V net/minecraft/entity/projectile/EntityPotion/func_82340_a (I)V +MD: ahv/a (Lbru;)V net/minecraft/entity/projectile/EntityPotion/func_70184_a (Lnet/minecraft/util/MovingObjectPosition;)V +MD: ahv/a (Lfn;)V net/minecraft/entity/projectile/EntityPotion/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahv/b (Lfn;)V net/minecraft/entity/projectile/EntityPotion/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahv/j ()F net/minecraft/entity/projectile/EntityPotion/func_70182_d ()F +MD: ahv/l ()F net/minecraft/entity/projectile/EntityPotion/func_70183_g ()F +MD: ahv/m ()F net/minecraft/entity/projectile/EntityPotion/func_70185_h ()F +MD: ahv/o ()I net/minecraft/entity/projectile/EntityPotion/func_70196_i ()I +MD: ahw/a (Laqo;Laqu;Ldt;Lbec;)F net/minecraft/entity/projectile/EntityWitherSkull/func_180428_a (Lnet/minecraft/world/Explosion;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)F +MD: ahw/a (Lbru;)V net/minecraft/entity/projectile/EntityWitherSkull/func_70227_a (Lnet/minecraft/util/MovingObjectPosition;)V +MD: ahw/a (Lwh;F)Z net/minecraft/entity/projectile/EntityWitherSkull/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: ahw/a (Z)V net/minecraft/entity/projectile/EntityWitherSkull/func_82343_e (Z)V +MD: ahw/ad ()Z net/minecraft/entity/projectile/EntityWitherSkull/func_70067_L ()Z +MD: ahw/au ()Z net/minecraft/entity/projectile/EntityWitherSkull/func_70027_ad ()Z +MD: ahw/h ()V net/minecraft/entity/projectile/EntityWitherSkull/func_70088_a ()V +MD: ahw/j ()F net/minecraft/entity/projectile/EntityWitherSkull/func_82341_c ()F +MD: ahw/l ()Z net/minecraft/entity/projectile/EntityWitherSkull/func_82342_d ()Z +MD: ahz/a ()I net/minecraft/util/FoodStats/func_75116_a ()I +MD: ahz/a (F)V net/minecraft/util/FoodStats/func_75113_a (F)V +MD: ahz/a (I)V net/minecraft/util/FoodStats/func_75114_a (I)V +MD: ahz/a (IF)V net/minecraft/util/FoodStats/func_75122_a (IF)V +MD: ahz/a (Lahd;)V net/minecraft/util/FoodStats/func_75118_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: ahz/a (Lall;Lamj;)V net/minecraft/util/FoodStats/func_151686_a (Lnet/minecraft/item/ItemFood;Lnet/minecraft/item/ItemStack;)V +MD: ahz/a (Lfn;)V net/minecraft/util/FoodStats/func_75112_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahz/b ()I net/minecraft/util/FoodStats/func_75120_b ()I +MD: ahz/b (F)V net/minecraft/util/FoodStats/func_75119_b (F)V +MD: ahz/b (Lfn;)V net/minecraft/util/FoodStats/func_75117_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ahz/c ()Z net/minecraft/util/FoodStats/func_75121_c ()Z +MD: ahz/e ()F net/minecraft/util/FoodStats/func_75115_e ()F +MD: ai/a (Lwv;)Z net/minecraft/command/PlayerSelector$1/func_179613_a (Lnet/minecraft/entity/Entity;)Z +MD: ai/apply (Ljava/lang/Object;)Z net/minecraft/command/PlayerSelector$1/apply (Ljava/lang/Object;)Z +MD: aib/a ()Ljava/util/List; net/minecraft/inventory/Container/func_75138_a ()Ljava/util/List; +MD: aib/a (I)Lajk; net/minecraft/inventory/Container/func_75139_a (I)Lnet/minecraft/inventory/Slot; +MD: aib/a (IIILahd;)Lamj; net/minecraft/inventory/Container/func_75144_a (IIILnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: aib/a (IIZLahd;)V net/minecraft/inventory/Container/func_75133_b (IIZLnet/minecraft/entity/player/EntityPlayer;)V +MD: aib/a (ILahd;)Z net/minecraft/inventory/Container/func_180610_a (ILnet/minecraft/entity/player/EntityPlayer;)Z +MD: aib/a (ILamj;)V net/minecraft/inventory/Container/func_75141_a (ILnet/minecraft/item/ItemStack;)V +MD: aib/a (Lahb;)S net/minecraft/inventory/Container/func_75136_a (Lnet/minecraft/entity/player/InventoryPlayer;)S +MD: aib/a (Lahd;)Z net/minecraft/inventory/Container/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aib/a (Lahd;I)Z net/minecraft/inventory/Container/func_75140_a (Lnet/minecraft/entity/player/EntityPlayer;I)Z +MD: aib/a (Lahd;Z)V net/minecraft/inventory/Container/func_75128_a (Lnet/minecraft/entity/player/EntityPlayer;Z)V +MD: aib/a (Lail;)V net/minecraft/inventory/Container/func_75132_a (Lnet/minecraft/inventory/ICrafting;)V +MD: aib/a (Lajk;)Lajk; net/minecraft/inventory/Container/func_75146_a (Lnet/minecraft/inventory/Slot;)Lnet/minecraft/inventory/Slot; +MD: aib/a (Lajk;Lamj;Z)Z net/minecraft/inventory/Container/func_94527_a (Lnet/minecraft/inventory/Slot;Lnet/minecraft/item/ItemStack;Z)Z +MD: aib/a (Lamj;IIZ)Z net/minecraft/inventory/Container/func_75135_a (Lnet/minecraft/item/ItemStack;IIZ)Z +MD: aib/a (Lamj;Lajk;)Z net/minecraft/inventory/Container/func_94530_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/inventory/Slot;)Z +MD: aib/a (Lbcm;)I net/minecraft/inventory/Container/func_178144_a (Lnet/minecraft/tileentity/TileEntity;)I +MD: aib/a (Ljava/util/Set;ILamj;I)V net/minecraft/inventory/Container/func_94525_a (Ljava/util/Set;ILnet/minecraft/item/ItemStack;I)V +MD: aib/a (Lvq;)V net/minecraft/inventory/Container/func_75130_a (Lnet/minecraft/inventory/IInventory;)V +MD: aib/a (Lvq;I)Lajk; net/minecraft/inventory/Container/func_75147_a (Lnet/minecraft/inventory/IInventory;I)Lnet/minecraft/inventory/Slot; +MD: aib/a ([Lamj;)V net/minecraft/inventory/Container/func_75131_a ([Lnet/minecraft/item/ItemStack;)V +MD: aib/b ()V net/minecraft/inventory/Container/func_75142_b ()V +MD: aib/b (I)I net/minecraft/inventory/Container/func_94529_b (I)I +MD: aib/b (II)V net/minecraft/inventory/Container/func_75137_b (II)V +MD: aib/b (Lahd;)V net/minecraft/inventory/Container/func_75134_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aib/b (Lahd;I)Lamj; net/minecraft/inventory/Container/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: aib/b (Lail;)V net/minecraft/inventory/Container/func_82847_b (Lnet/minecraft/inventory/ICrafting;)V +MD: aib/b (Lajk;)Z net/minecraft/inventory/Container/func_94531_b (Lnet/minecraft/inventory/Slot;)Z +MD: aib/b (Lvq;)I net/minecraft/inventory/Container/func_94526_b (Lnet/minecraft/inventory/IInventory;)I +MD: aib/c (I)I net/minecraft/inventory/Container/func_94532_c (I)I +MD: aib/c (Lahd;)Z net/minecraft/inventory/Container/func_75129_b (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aib/d ()V net/minecraft/inventory/Container/func_94533_d ()V +MD: aib/d (II)I net/minecraft/inventory/Container/func_94534_d (II)I +MD: aid/a (Lahd;)Z net/minecraft/inventory/ContainerRepair/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aid/a (Laid;)Lvq; net/minecraft/inventory/ContainerRepair/access$000 (Lnet/minecraft/inventory/ContainerRepair;)Lnet/minecraft/inventory/IInventory; +MD: aid/a (Lail;)V net/minecraft/inventory/ContainerRepair/func_75132_a (Lnet/minecraft/inventory/ICrafting;)V +MD: aid/a (Ljava/lang/String;)V net/minecraft/inventory/ContainerRepair/func_82850_a (Ljava/lang/String;)V +MD: aid/a (Lvq;)V net/minecraft/inventory/ContainerRepair/func_75130_a (Lnet/minecraft/inventory/IInventory;)V +MD: aid/b (II)V net/minecraft/inventory/ContainerRepair/func_75137_b (II)V +MD: aid/b (Lahd;)V net/minecraft/inventory/ContainerRepair/func_75134_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aid/b (Lahd;I)Lamj; net/minecraft/inventory/ContainerRepair/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: aid/b (Laid;)I net/minecraft/inventory/ContainerRepair/access$100 (Lnet/minecraft/inventory/ContainerRepair;)I +MD: aid/e ()V net/minecraft/inventory/ContainerRepair/func_82848_d ()V +MD: aie/o_ ()V net/minecraft/inventory/ContainerRepair$1/func_70296_d ()V +MD: aif/a (Lahd;)Z net/minecraft/inventory/ContainerRepair$2/func_82869_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aif/a (Lahd;Lamj;)V net/minecraft/inventory/ContainerRepair$2/func_82870_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/item/ItemStack;)V +MD: aif/a (Lamj;)Z net/minecraft/inventory/ContainerRepair$2/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: aig/a (Lahd;)Z net/minecraft/inventory/ContainerBeacon/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aig/a (Lail;)V net/minecraft/inventory/ContainerBeacon/func_75132_a (Lnet/minecraft/inventory/ICrafting;)V +MD: aig/b (II)V net/minecraft/inventory/ContainerBeacon/func_75137_b (II)V +MD: aig/b (Lahd;I)Lamj; net/minecraft/inventory/ContainerBeacon/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: aig/e ()Lvq; net/minecraft/inventory/ContainerBeacon/func_180611_e ()Lnet/minecraft/inventory/IInventory; +MD: aih/a ()I net/minecraft/inventory/ContainerBeacon$BeaconSlot/func_75219_a ()I +MD: aih/a (Lamj;)Z net/minecraft/inventory/ContainerBeacon$BeaconSlot/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: aii/a (Lahd;)Z net/minecraft/inventory/ContainerBrewingStand/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aii/a (Lail;)V net/minecraft/inventory/ContainerBrewingStand/func_75132_a (Lnet/minecraft/inventory/ICrafting;)V +MD: aii/b ()V net/minecraft/inventory/ContainerBrewingStand/func_75142_b ()V +MD: aii/b (II)V net/minecraft/inventory/ContainerBrewingStand/func_75137_b (II)V +MD: aii/b (Lahd;I)Lamj; net/minecraft/inventory/ContainerBrewingStand/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: aij/a ()I net/minecraft/inventory/ContainerBrewingStand$Ingredient/func_75219_a ()I +MD: aij/a (Lamj;)Z net/minecraft/inventory/ContainerBrewingStand$Ingredient/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: aik/a ()I net/minecraft/inventory/ContainerBrewingStand$Potion/func_75219_a ()I +MD: aik/a (Lahd;Lamj;)V net/minecraft/inventory/ContainerBrewingStand$Potion/func_82870_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/item/ItemStack;)V +MD: aik/a (Lamj;)Z net/minecraft/inventory/ContainerBrewingStand$Potion/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: aik/b_ (Lamj;)Z net/minecraft/inventory/ContainerBrewingStand$Potion/func_75243_a_ (Lnet/minecraft/item/ItemStack;)Z +MD: ail/a (Laib;II)V net/minecraft/inventory/ICrafting/func_71112_a (Lnet/minecraft/inventory/Container;II)V +MD: ail/a (Laib;ILamj;)V net/minecraft/inventory/ICrafting/func_71111_a (Lnet/minecraft/inventory/Container;ILnet/minecraft/item/ItemStack;)V +MD: ail/a (Laib;Ljava/util/List;)V net/minecraft/inventory/ICrafting/func_71110_a (Lnet/minecraft/inventory/Container;Ljava/util/List;)V +MD: ail/a (Laib;Lvq;)V net/minecraft/inventory/ICrafting/func_175173_a (Lnet/minecraft/inventory/Container;Lnet/minecraft/inventory/IInventory;)V +MD: aim/a (Lahd;)Z net/minecraft/inventory/ContainerChest/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aim/b (Lahd;)V net/minecraft/inventory/ContainerChest/func_75134_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aim/b (Lahd;I)Lamj; net/minecraft/inventory/ContainerChest/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: aim/e ()Lvq; net/minecraft/inventory/ContainerChest/func_85151_d ()Lnet/minecraft/inventory/IInventory; +MD: ain/a (I)Lamj; net/minecraft/inventory/InventoryCrafting/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: ain/a (II)Lamj; net/minecraft/inventory/InventoryCrafting/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: ain/a (ILamj;)V net/minecraft/inventory/InventoryCrafting/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: ain/a (Lahd;)Z net/minecraft/inventory/InventoryCrafting/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: ain/a_ (I)I net/minecraft/inventory/InventoryCrafting/func_174887_a_ (I)I +MD: ain/b (I)Lamj; net/minecraft/inventory/InventoryCrafting/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: ain/b (II)V net/minecraft/inventory/InventoryCrafting/func_174885_b (II)V +MD: ain/b (ILamj;)Z net/minecraft/inventory/InventoryCrafting/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: ain/b (Lahd;)V net/minecraft/inventory/InventoryCrafting/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: ain/c (II)Lamj; net/minecraft/inventory/InventoryCrafting/func_70463_b (II)Lnet/minecraft/item/ItemStack; +MD: ain/c (Lahd;)V net/minecraft/inventory/InventoryCrafting/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: ain/d_ ()Ljava/lang/String; net/minecraft/inventory/InventoryCrafting/func_70005_c_ ()Ljava/lang/String; +MD: ain/e_ ()Lho; net/minecraft/inventory/InventoryCrafting/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: ain/g ()I net/minecraft/inventory/InventoryCrafting/func_174890_g ()I +MD: ain/h ()I net/minecraft/inventory/InventoryCrafting/func_174923_h ()I +MD: ain/i ()I net/minecraft/inventory/InventoryCrafting/func_174922_i ()I +MD: ain/k_ ()Z net/minecraft/inventory/InventoryCrafting/func_145818_k_ ()Z +MD: ain/l ()V net/minecraft/inventory/InventoryCrafting/func_174888_l ()V +MD: ain/n_ ()I net/minecraft/inventory/InventoryCrafting/func_70302_i_ ()I +MD: ain/o_ ()V net/minecraft/inventory/InventoryCrafting/func_70296_d ()V +MD: ain/p_ ()I net/minecraft/inventory/InventoryCrafting/func_70297_j_ ()I +MD: aio/a (Lahd;)Z net/minecraft/inventory/ContainerWorkbench/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aio/a (Lamj;Lajk;)Z net/minecraft/inventory/ContainerWorkbench/func_94530_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/inventory/Slot;)Z +MD: aio/a (Lvq;)V net/minecraft/inventory/ContainerWorkbench/func_75130_a (Lnet/minecraft/inventory/IInventory;)V +MD: aio/b (Lahd;)V net/minecraft/inventory/ContainerWorkbench/func_75134_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aio/b (Lahd;I)Lamj; net/minecraft/inventory/ContainerWorkbench/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: aip/a (Lahd;)Z net/minecraft/inventory/ContainerDispenser/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aip/b (Lahd;I)Lamj; net/minecraft/inventory/ContainerDispenser/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: aiq/a (Lahd;)Z net/minecraft/inventory/ContainerEnchantment/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aiq/a (Lahd;I)Z net/minecraft/inventory/ContainerEnchantment/func_75140_a (Lnet/minecraft/entity/player/EntityPlayer;I)Z +MD: aiq/a (Lail;)V net/minecraft/inventory/ContainerEnchantment/func_75132_a (Lnet/minecraft/inventory/ICrafting;)V +MD: aiq/a (Lamj;II)Ljava/util/List; net/minecraft/inventory/ContainerEnchantment/func_178148_a (Lnet/minecraft/item/ItemStack;II)Ljava/util/List; +MD: aiq/a (Lvq;)V net/minecraft/inventory/ContainerEnchantment/func_75130_a (Lnet/minecraft/inventory/IInventory;)V +MD: aiq/b ()V net/minecraft/inventory/ContainerEnchantment/func_75142_b ()V +MD: aiq/b (II)V net/minecraft/inventory/ContainerEnchantment/func_75137_b (II)V +MD: aiq/b (Lahd;)V net/minecraft/inventory/ContainerEnchantment/func_75134_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aiq/b (Lahd;I)Lamj; net/minecraft/inventory/ContainerEnchantment/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: aiq/e ()I net/minecraft/inventory/ContainerEnchantment/func_178147_e ()I +MD: air/o_ ()V net/minecraft/inventory/ContainerEnchantment$1/func_70296_d ()V +MD: air/p_ ()I net/minecraft/inventory/ContainerEnchantment$1/func_70297_j_ ()I +MD: ais/a ()I net/minecraft/inventory/ContainerEnchantment$2/func_75219_a ()I +MD: ais/a (Lamj;)Z net/minecraft/inventory/ContainerEnchantment$2/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: ait/a (Lamj;)Z net/minecraft/inventory/ContainerEnchantment$3/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: aiu/a (Lamj;)Z net/minecraft/inventory/SlotFurnaceFuel/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: aiu/b (Lamj;)I net/minecraft/inventory/SlotFurnaceFuel/func_178170_b (Lnet/minecraft/item/ItemStack;)I +MD: aiu/c_ (Lamj;)Z net/minecraft/inventory/SlotFurnaceFuel/func_178173_c_ (Lnet/minecraft/item/ItemStack;)Z +MD: aiv/a (Lahd;)Z net/minecraft/inventory/ContainerFurnace/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aiv/a (Lail;)V net/minecraft/inventory/ContainerFurnace/func_75132_a (Lnet/minecraft/inventory/ICrafting;)V +MD: aiv/b ()V net/minecraft/inventory/ContainerFurnace/func_75142_b ()V +MD: aiv/b (II)V net/minecraft/inventory/ContainerFurnace/func_75137_b (II)V +MD: aiv/b (Lahd;I)Lamj; net/minecraft/inventory/ContainerFurnace/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: aiw/a (I)Lamj; net/minecraft/inventory/SlotFurnaceOutput/func_75209_a (I)Lnet/minecraft/item/ItemStack; +MD: aiw/a (Lahd;Lamj;)V net/minecraft/inventory/SlotFurnaceOutput/func_82870_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/item/ItemStack;)V +MD: aiw/a (Lamj;)Z net/minecraft/inventory/SlotFurnaceOutput/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: aiw/a (Lamj;I)V net/minecraft/inventory/SlotFurnaceOutput/func_75210_a (Lnet/minecraft/item/ItemStack;I)V +MD: aiw/c (Lamj;)V net/minecraft/inventory/SlotFurnaceOutput/func_75208_c (Lnet/minecraft/item/ItemStack;)V +MD: aix/a (Lahd;)Z net/minecraft/inventory/ContainerHopper/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aix/b (Lahd;)V net/minecraft/inventory/ContainerHopper/func_75134_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aix/b (Lahd;I)Lamj; net/minecraft/inventory/ContainerHopper/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: aiy/a (Lahd;)Z net/minecraft/inventory/ContainerHorseInventory/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aiy/b (Lahd;)V net/minecraft/inventory/ContainerHorseInventory/func_75134_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aiy/b (Lahd;I)Lamj; net/minecraft/inventory/ContainerHorseInventory/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: aiz/a (Lamj;)Z net/minecraft/inventory/ContainerHorseInventory$1/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: aj/a (Lwv;)Z net/minecraft/command/PlayerSelector$10/func_179616_a (Lnet/minecraft/entity/Entity;)Z +MD: aj/apply (Ljava/lang/Object;)Z net/minecraft/command/PlayerSelector$10/apply (Ljava/lang/Object;)Z +MD: aja/a (Lamj;)Z net/minecraft/inventory/ContainerHorseInventory$2/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: aja/b ()Z net/minecraft/inventory/ContainerHorseInventory$2/func_111238_b ()Z +MD: ajb/a (Lahd;)Z net/minecraft/inventory/ContainerPlayer/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: ajb/a (Lamj;Lajk;)Z net/minecraft/inventory/ContainerPlayer/func_94530_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/inventory/Slot;)Z +MD: ajb/a (Lvq;)V net/minecraft/inventory/ContainerPlayer/func_75130_a (Lnet/minecraft/inventory/IInventory;)V +MD: ajb/b (Lahd;)V net/minecraft/inventory/ContainerPlayer/func_75134_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: ajb/b (Lahd;I)Lamj; net/minecraft/inventory/ContainerPlayer/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: ajc/a ()I net/minecraft/inventory/ContainerPlayer$1/func_75219_a ()I +MD: ajc/a (Lamj;)Z net/minecraft/inventory/ContainerPlayer$1/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: ajc/c ()Ljava/lang/String; net/minecraft/inventory/ContainerPlayer$1/func_178171_c ()Ljava/lang/String; +MD: aje/a (I)Lamj; net/minecraft/inventory/InventoryMerchant/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: aje/a (II)Lamj; net/minecraft/inventory/InventoryMerchant/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: aje/a (ILamj;)V net/minecraft/inventory/InventoryMerchant/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: aje/a (Lahd;)Z net/minecraft/inventory/InventoryMerchant/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aje/a_ (I)I net/minecraft/inventory/InventoryMerchant/func_174887_a_ (I)I +MD: aje/b (I)Lamj; net/minecraft/inventory/InventoryMerchant/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: aje/b (II)V net/minecraft/inventory/InventoryMerchant/func_174885_b (II)V +MD: aje/b (ILamj;)Z net/minecraft/inventory/InventoryMerchant/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: aje/b (Lahd;)V net/minecraft/inventory/InventoryMerchant/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aje/c (Lahd;)V net/minecraft/inventory/InventoryMerchant/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aje/d (I)V net/minecraft/inventory/InventoryMerchant/func_70471_c (I)V +MD: aje/d_ ()Ljava/lang/String; net/minecraft/inventory/InventoryMerchant/func_70005_c_ ()Ljava/lang/String; +MD: aje/e (I)Z net/minecraft/inventory/InventoryMerchant/func_70469_d (I)Z +MD: aje/e_ ()Lho; net/minecraft/inventory/InventoryMerchant/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: aje/g ()I net/minecraft/inventory/InventoryMerchant/func_174890_g ()I +MD: aje/h ()V net/minecraft/inventory/InventoryMerchant/func_70470_g ()V +MD: aje/i ()Laqc; net/minecraft/inventory/InventoryMerchant/func_70468_h ()Lnet/minecraft/village/MerchantRecipe; +MD: aje/k_ ()Z net/minecraft/inventory/InventoryMerchant/func_145818_k_ ()Z +MD: aje/l ()V net/minecraft/inventory/InventoryMerchant/func_174888_l ()V +MD: aje/n_ ()I net/minecraft/inventory/InventoryMerchant/func_70302_i_ ()I +MD: aje/o_ ()V net/minecraft/inventory/InventoryMerchant/func_70296_d ()V +MD: aje/p_ ()I net/minecraft/inventory/InventoryMerchant/func_70297_j_ ()I +MD: ajf/a (Lahd;)Z net/minecraft/inventory/ContainerMerchant/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: ajf/a (Lail;)V net/minecraft/inventory/ContainerMerchant/func_75132_a (Lnet/minecraft/inventory/ICrafting;)V +MD: ajf/a (Lvq;)V net/minecraft/inventory/ContainerMerchant/func_75130_a (Lnet/minecraft/inventory/IInventory;)V +MD: ajf/b ()V net/minecraft/inventory/ContainerMerchant/func_75142_b ()V +MD: ajf/b (II)V net/minecraft/inventory/ContainerMerchant/func_75137_b (II)V +MD: ajf/b (Lahd;)V net/minecraft/inventory/ContainerMerchant/func_75134_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: ajf/b (Lahd;I)Lamj; net/minecraft/inventory/ContainerMerchant/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: ajf/d (I)V net/minecraft/inventory/ContainerMerchant/func_75175_c (I)V +MD: ajf/e ()Laje; net/minecraft/inventory/ContainerMerchant/func_75174_d ()Lnet/minecraft/inventory/InventoryMerchant; +MD: ajg/a (I)Lamj; net/minecraft/inventory/SlotMerchantResult/func_75209_a (I)Lnet/minecraft/item/ItemStack; +MD: ajg/a (Lahd;Lamj;)V net/minecraft/inventory/SlotMerchantResult/func_82870_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/item/ItemStack;)V +MD: ajg/a (Lamj;)Z net/minecraft/inventory/SlotMerchantResult/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: ajg/a (Lamj;I)V net/minecraft/inventory/SlotMerchantResult/func_75210_a (Lnet/minecraft/item/ItemStack;I)V +MD: ajg/a (Laqc;Lamj;Lamj;)Z net/minecraft/inventory/SlotMerchantResult/func_75230_a (Lnet/minecraft/village/MerchantRecipe;Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z +MD: ajg/c (Lamj;)V net/minecraft/inventory/SlotMerchantResult/func_75208_c (Lnet/minecraft/item/ItemStack;)V +MD: ajh/a (Lahd;)Z net/minecraft/inventory/InventoryEnderChest/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: ajh/a (Lbda;)V net/minecraft/inventory/InventoryEnderChest/func_146031_a (Lnet/minecraft/tileentity/TileEntityEnderChest;)V +MD: ajh/a (Lfv;)V net/minecraft/inventory/InventoryEnderChest/func_70486_a (Lnet/minecraft/nbt/NBTTagList;)V +MD: ajh/b (Lahd;)V net/minecraft/inventory/InventoryEnderChest/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: ajh/c (Lahd;)V net/minecraft/inventory/InventoryEnderChest/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: ajh/h ()Lfv; net/minecraft/inventory/InventoryEnderChest/func_70487_g ()Lnet/minecraft/nbt/NBTTagList; +MD: aji/a (I)Lamj; net/minecraft/inventory/InventoryCraftResult/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: aji/a (II)Lamj; net/minecraft/inventory/InventoryCraftResult/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: aji/a (ILamj;)V net/minecraft/inventory/InventoryCraftResult/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: aji/a (Lahd;)Z net/minecraft/inventory/InventoryCraftResult/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aji/a_ (I)I net/minecraft/inventory/InventoryCraftResult/func_174887_a_ (I)I +MD: aji/b (I)Lamj; net/minecraft/inventory/InventoryCraftResult/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: aji/b (II)V net/minecraft/inventory/InventoryCraftResult/func_174885_b (II)V +MD: aji/b (ILamj;)Z net/minecraft/inventory/InventoryCraftResult/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: aji/b (Lahd;)V net/minecraft/inventory/InventoryCraftResult/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aji/c (Lahd;)V net/minecraft/inventory/InventoryCraftResult/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aji/d_ ()Ljava/lang/String; net/minecraft/inventory/InventoryCraftResult/func_70005_c_ ()Ljava/lang/String; +MD: aji/e_ ()Lho; net/minecraft/inventory/InventoryCraftResult/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: aji/g ()I net/minecraft/inventory/InventoryCraftResult/func_174890_g ()I +MD: aji/k_ ()Z net/minecraft/inventory/InventoryCraftResult/func_145818_k_ ()Z +MD: aji/l ()V net/minecraft/inventory/InventoryCraftResult/func_174888_l ()V +MD: aji/n_ ()I net/minecraft/inventory/InventoryCraftResult/func_70302_i_ ()I +MD: aji/o_ ()V net/minecraft/inventory/InventoryCraftResult/func_70296_d ()V +MD: aji/p_ ()I net/minecraft/inventory/InventoryCraftResult/func_70297_j_ ()I +MD: ajj/a (I)Lamj; net/minecraft/inventory/SlotCrafting/func_75209_a (I)Lnet/minecraft/item/ItemStack; +MD: ajj/a (Lahd;Lamj;)V net/minecraft/inventory/SlotCrafting/func_82870_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/item/ItemStack;)V +MD: ajj/a (Lamj;)Z net/minecraft/inventory/SlotCrafting/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: ajj/a (Lamj;I)V net/minecraft/inventory/SlotCrafting/func_75210_a (Lnet/minecraft/item/ItemStack;I)V +MD: ajj/c (Lamj;)V net/minecraft/inventory/SlotCrafting/func_75208_c (Lnet/minecraft/item/ItemStack;)V +MD: ajk/a ()I net/minecraft/inventory/Slot/func_75219_a ()I +MD: ajk/a (I)Lamj; net/minecraft/inventory/Slot/func_75209_a (I)Lnet/minecraft/item/ItemStack; +MD: ajk/a (Lahd;)Z net/minecraft/inventory/Slot/func_82869_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: ajk/a (Lahd;Lamj;)V net/minecraft/inventory/Slot/func_82870_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/item/ItemStack;)V +MD: ajk/a (Lamj;)Z net/minecraft/inventory/Slot/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: ajk/a (Lamj;I)V net/minecraft/inventory/Slot/func_75210_a (Lnet/minecraft/item/ItemStack;I)V +MD: ajk/a (Lamj;Lamj;)V net/minecraft/inventory/Slot/func_75220_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)V +MD: ajk/a (Lvq;I)Z net/minecraft/inventory/Slot/func_75217_a (Lnet/minecraft/inventory/IInventory;I)Z +MD: ajk/b ()Z net/minecraft/inventory/Slot/func_111238_b ()Z +MD: ajk/b (Lamj;)I net/minecraft/inventory/Slot/func_178170_b (Lnet/minecraft/item/ItemStack;)I +MD: ajk/c ()Ljava/lang/String; net/minecraft/inventory/Slot/func_178171_c ()Ljava/lang/String; +MD: ajk/c (Lamj;)V net/minecraft/inventory/Slot/func_75208_c (Lnet/minecraft/item/ItemStack;)V +MD: ajk/d ()Lamj; net/minecraft/inventory/Slot/func_75211_c ()Lnet/minecraft/item/ItemStack; +MD: ajk/d (Lamj;)V net/minecraft/inventory/Slot/func_75215_d (Lnet/minecraft/item/ItemStack;)V +MD: ajk/e ()Z net/minecraft/inventory/Slot/func_75216_d ()Z +MD: ajk/f ()V net/minecraft/inventory/Slot/func_75218_e ()V +MD: ajm/a (I)I net/minecraft/item/ItemAnvilBlock/func_77647_b (I)I +MD: ajn/a (Lamj;I)I net/minecraft/item/ItemArmor/func_82790_a (Lnet/minecraft/item/ItemStack;I)I +MD: ajn/a (Lamj;Lamj;)Z net/minecraft/item/ItemArmor/func_82789_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z +MD: ajn/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemArmor/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: ajn/b ()I net/minecraft/item/ItemArmor/func_77619_b ()I +MD: ajn/b (Lamj;)I net/minecraft/item/ItemArmor/func_82814_b (Lnet/minecraft/item/ItemStack;)I +MD: ajn/b (Lamj;I)V net/minecraft/item/ItemArmor/func_82813_b (Lnet/minecraft/item/ItemStack;I)V +MD: ajn/c (Lamj;)V net/minecraft/item/ItemArmor/func_82815_c (Lnet/minecraft/item/ItemStack;)V +MD: ajn/d ()[I net/minecraft/item/ItemArmor/access$000 ()[I +MD: ajn/d_ (Lamj;)Z net/minecraft/item/ItemArmor/func_82816_b_ (Lnet/minecraft/item/ItemStack;)Z +MD: ajn/w_ ()Lajp; net/minecraft/item/ItemArmor/func_82812_d ()Lnet/minecraft/item/ItemArmor$ArmorMaterial; +MD: ajo/b (Ldz;Lamj;)Lamj; net/minecraft/item/ItemArmor$1/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: ajp/a ()I net/minecraft/item/ItemArmor$ArmorMaterial/func_78045_a ()I +MD: ajp/a (I)I net/minecraft/item/ItemArmor$ArmorMaterial/func_78046_a (I)I +MD: ajp/b ()Lalq; net/minecraft/item/ItemArmor$ArmorMaterial/func_151685_b ()Lnet/minecraft/item/Item; +MD: ajp/b (I)I net/minecraft/item/ItemArmor$ArmorMaterial/func_78044_b (I)I +MD: ajp/c ()Ljava/lang/String; net/minecraft/item/ItemArmor$ArmorMaterial/func_179242_c ()Ljava/lang/String; +MD: ajp/valueOf (Ljava/lang/String;)Lajp; net/minecraft/item/ItemArmor$ArmorMaterial/valueOf (Ljava/lang/String;)Lnet/minecraft/item/ItemArmor$ArmorMaterial; +MD: ajp/values ()[Lajp; net/minecraft/item/ItemArmor$ArmorMaterial/values ()[Lnet/minecraft/item/ItemArmor$ArmorMaterial; +MD: ajq/a (Ladi;Ljava/util/Random;)V net/minecraft/item/ItemArmorStand/func_179221_a (Lnet/minecraft/entity/item/EntityArmorStand;Ljava/util/Random;)V +MD: ajq/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemArmorStand/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: ajr/a (Lamj;Latr;)F net/minecraft/item/ItemAxe/func_150893_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/block/Block;)F +MD: ajs/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/item/ItemBanner/func_150895_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: ajs/a (Lamj;)Ljava/lang/String; net/minecraft/item/ItemBanner/func_77653_i (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: ajs/a (Lamj;I)I net/minecraft/item/ItemBanner/func_82790_a (Lnet/minecraft/item/ItemStack;I)I +MD: ajs/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemBanner/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: ajs/a (Lamj;Lahd;Ljava/util/List;Z)V net/minecraft/item/ItemBanner/func_77624_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Ljava/util/List;Z)V +MD: ajs/c ()Lakf; net/minecraft/item/ItemBanner/func_77640_w ()Lnet/minecraft/creativetab/CreativeTabs; +MD: ajs/h (Lamj;)Lakv; net/minecraft/item/ItemBanner/func_179225_h (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/EnumDyeColor; +MD: ajt/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemBed/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: aju/a ()Ljava/lang/String; net/minecraft/item/ItemBlock/func_77658_a ()Ljava/lang/String; +MD: aju/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/item/ItemBlock/func_150895_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: aju/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemBlock/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: aju/a (Laqu;Ldt;Lamj;)Z net/minecraft/item/ItemBlock/func_179224_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/item/ItemStack;)Z +MD: aju/a (Laqu;Ldt;Lej;Lahd;Lamj;)Z net/minecraft/item/ItemBlock/func_179222_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/item/ItemStack;)Z +MD: aju/b (Ljava/lang/String;)Laju; net/minecraft/item/ItemBlock/func_77655_b (Ljava/lang/String;)Lnet/minecraft/item/ItemBlock; +MD: aju/c ()Lakf; net/minecraft/item/ItemBlock/func_77640_w ()Lnet/minecraft/creativetab/CreativeTabs; +MD: aju/c (Ljava/lang/String;)Lalq; net/minecraft/item/ItemBlock/func_77655_b (Ljava/lang/String;)Lnet/minecraft/item/Item; +MD: aju/d ()Latr; net/minecraft/item/ItemBlock/func_179223_d ()Lnet/minecraft/block/Block; +MD: aju/e_ (Lamj;)Ljava/lang/String; net/minecraft/item/ItemBlock/func_77667_c (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: ajv/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemReed/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: ajw/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemBoat/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: ajx/b ()I net/minecraft/item/ItemBook/func_77619_b ()I +MD: ajx/f_ (Lamj;)Z net/minecraft/item/ItemBook/func_77616_k (Lnet/minecraft/item/ItemStack;)Z +MD: ajy/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemGlassBottle/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: ajz/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemBow/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: ajz/a (Lamj;Laqu;Lahd;I)V net/minecraft/item/ItemBow/func_77615_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;I)V +MD: ajz/b ()I net/minecraft/item/ItemBow/func_77619_b ()I +MD: ajz/b (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemBow/func_77654_b (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: ajz/d (Lamj;)I net/minecraft/item/ItemBow/func_77626_a (Lnet/minecraft/item/ItemStack;)I +MD: ajz/e (Lamj;)Lano; net/minecraft/item/ItemBow/func_77661_b (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/EnumAction; +MD: ak/a (Lwv;)Z net/minecraft/command/PlayerSelector$11/func_179609_a (Lnet/minecraft/entity/Entity;)Z +MD: ak/apply (Ljava/lang/Object;)Z net/minecraft/command/PlayerSelector$11/apply (Ljava/lang/Object;)Z +MD: aka/b (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemSoup/func_77654_b (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: akb/a (Lamj;Lahd;Lalq;)Lamj; net/minecraft/item/ItemBucket/func_150910_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/item/Item;)Lnet/minecraft/item/ItemStack; +MD: akb/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemBucket/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: akb/a (Laqu;Ldt;)Z net/minecraft/item/ItemBucket/func_180616_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: akc/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemCarrotOnAStick/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: akc/e ()Z net/minecraft/item/ItemCarrotOnAStick/func_77629_n_ ()Z +MD: akc/v_ ()Z net/minecraft/item/ItemCarrotOnAStick/func_77662_d ()Z +MD: akd/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/item/ItemCoal/func_150895_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: akd/e_ (Lamj;)Ljava/lang/String; net/minecraft/item/ItemCoal/func_77667_c (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: ake/c (Lamj;Laqu;Lahd;)Lid; net/minecraft/item/ItemMapBase/func_150911_c (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/network/Packet; +MD: ake/f ()Z net/minecraft/item/ItemMapBase/func_77643_m_ ()Z +MD: akf/a ()I net/minecraft/creativetab/CreativeTabs/func_78021_a ()I +MD: akf/a (Lapg;)Z net/minecraft/creativetab/CreativeTabs/func_111226_a (Lnet/minecraft/enchantment/EnumEnchantmentType;)Z +MD: akf/a (Ljava/lang/String;)Lakf; net/minecraft/creativetab/CreativeTabs/func_78025_a (Ljava/lang/String;)Lnet/minecraft/creativetab/CreativeTabs; +MD: akf/a (Ljava/util/List;)V net/minecraft/creativetab/CreativeTabs/func_78018_a (Ljava/util/List;)V +MD: akf/a (Ljava/util/List;[Lapg;)V net/minecraft/creativetab/CreativeTabs/func_92116_a (Ljava/util/List;[Lnet/minecraft/enchantment/EnumEnchantmentType;)V +MD: akf/a ([Lapg;)Lakf; net/minecraft/creativetab/CreativeTabs/func_111229_a ([Lnet/minecraft/enchantment/EnumEnchantmentType;)Lnet/minecraft/creativetab/CreativeTabs; +MD: akf/b ()Ljava/lang/String; net/minecraft/creativetab/CreativeTabs/func_78013_b ()Ljava/lang/String; +MD: akf/c ()Ljava/lang/String; net/minecraft/creativetab/CreativeTabs/func_78024_c ()Ljava/lang/String; +MD: akf/d ()Lamj; net/minecraft/creativetab/CreativeTabs/func_151244_d ()Lnet/minecraft/item/ItemStack; +MD: akf/e ()Lalq; net/minecraft/creativetab/CreativeTabs/func_78016_d ()Lnet/minecraft/item/Item; +MD: akf/f ()I net/minecraft/creativetab/CreativeTabs/func_151243_f ()I +MD: akf/g ()Ljava/lang/String; net/minecraft/creativetab/CreativeTabs/func_78015_f ()Ljava/lang/String; +MD: akf/h ()Z net/minecraft/creativetab/CreativeTabs/func_78019_g ()Z +MD: akf/i ()Lakf; net/minecraft/creativetab/CreativeTabs/func_78014_h ()Lnet/minecraft/creativetab/CreativeTabs; +MD: akf/j ()Z net/minecraft/creativetab/CreativeTabs/func_78017_i ()Z +MD: akf/k ()Lakf; net/minecraft/creativetab/CreativeTabs/func_78022_j ()Lnet/minecraft/creativetab/CreativeTabs; +MD: akf/l ()I net/minecraft/creativetab/CreativeTabs/func_78020_k ()I +MD: akf/m ()Z net/minecraft/creativetab/CreativeTabs/func_78023_l ()Z +MD: akf/n ()[Lapg; net/minecraft/creativetab/CreativeTabs/func_111225_m ()[Lnet/minecraft/enchantment/EnumEnchantmentType; +MD: akg/e ()Lalq; net/minecraft/creativetab/CreativeTabs$1/func_78016_d ()Lnet/minecraft/item/Item; +MD: akh/e ()Lalq; net/minecraft/creativetab/CreativeTabs$10/func_78016_d ()Lnet/minecraft/item/Item; +MD: aki/e ()Lalq; net/minecraft/creativetab/CreativeTabs$11/func_78016_d ()Lnet/minecraft/item/Item; +MD: akj/e ()Lalq; net/minecraft/creativetab/CreativeTabs$12/func_78016_d ()Lnet/minecraft/item/Item; +MD: akk/e ()Lalq; net/minecraft/creativetab/CreativeTabs$2/func_78016_d ()Lnet/minecraft/item/Item; +MD: akk/f ()I net/minecraft/creativetab/CreativeTabs$2/func_151243_f ()I +MD: akl/e ()Lalq; net/minecraft/creativetab/CreativeTabs$3/func_78016_d ()Lnet/minecraft/item/Item; +MD: akm/e ()Lalq; net/minecraft/creativetab/CreativeTabs$4/func_78016_d ()Lnet/minecraft/item/Item; +MD: akn/e ()Lalq; net/minecraft/creativetab/CreativeTabs$5/func_78016_d ()Lnet/minecraft/item/Item; +MD: ako/e ()Lalq; net/minecraft/creativetab/CreativeTabs$6/func_78016_d ()Lnet/minecraft/item/Item; +MD: akp/e ()Lalq; net/minecraft/creativetab/CreativeTabs$7/func_78016_d ()Lnet/minecraft/item/Item; +MD: akq/e ()Lalq; net/minecraft/creativetab/CreativeTabs$8/func_78016_d ()Lnet/minecraft/item/Item; +MD: akr/e ()Lalq; net/minecraft/creativetab/CreativeTabs$9/func_78016_d ()Lnet/minecraft/item/Item; +MD: aks/a (Lamj;Lamj;)Z net/minecraft/item/ItemTool/func_82789_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z +MD: aks/a (Lamj;Laqu;Latr;Ldt;Lxm;)Z net/minecraft/item/ItemTool/func_179218_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: aks/a (Lamj;Latr;)F net/minecraft/item/ItemTool/func_150893_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/block/Block;)F +MD: aks/a (Lamj;Lxm;Lxm;)Z net/minecraft/item/ItemTool/func_77644_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: aks/b ()I net/minecraft/item/ItemTool/func_77619_b ()I +MD: aks/g ()Lami; net/minecraft/item/ItemTool/func_150913_i ()Lnet/minecraft/item/Item$ToolMaterial; +MD: aks/h ()Ljava/lang/String; net/minecraft/item/ItemTool/func_77861_e ()Ljava/lang/String; +MD: aks/i ()Lcom/google/common/collect/Multimap; net/minecraft/item/ItemTool/func_111205_h ()Lcom/google/common/collect/Multimap; +MD: aks/v_ ()Z net/minecraft/item/ItemTool/func_77662_d ()Z +MD: akt/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemDoor/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: akt/a (Laqu;Ldt;Lej;Latr;)V net/minecraft/item/ItemDoor/func_179235_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/block/Block;)V +MD: aku/a (Lamj;I)I net/minecraft/item/ItemDoublePlant/func_82790_a (Lnet/minecraft/item/ItemStack;I)I +MD: akv/a ()I net/minecraft/item/EnumDyeColor/func_176765_a ()I +MD: akv/a (I)Lakv; net/minecraft/item/EnumDyeColor/func_176766_a (I)Lnet/minecraft/item/EnumDyeColor; +MD: akv/b ()I net/minecraft/item/EnumDyeColor/func_176767_b ()I +MD: akv/b (I)Lakv; net/minecraft/item/EnumDyeColor/func_176764_b (I)Lnet/minecraft/item/EnumDyeColor; +MD: akv/d ()Ljava/lang/String; net/minecraft/item/EnumDyeColor/func_176762_d ()Ljava/lang/String; +MD: akv/e ()Lboh; net/minecraft/item/EnumDyeColor/func_176768_e ()Lnet/minecraft/block/material/MapColor; +MD: akv/l ()Ljava/lang/String; net/minecraft/item/EnumDyeColor/func_176610_l ()Ljava/lang/String; +MD: akv/toString ()Ljava/lang/String; net/minecraft/item/EnumDyeColor/toString ()Ljava/lang/String; +MD: akv/values ()[Lakv; net/minecraft/item/EnumDyeColor/values ()[Lnet/minecraft/item/EnumDyeColor; +MD: akw/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/item/ItemDye/func_150895_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: akw/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemDye/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: akw/a (Lamj;Lahd;Lxm;)Z net/minecraft/item/ItemDye/func_111207_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: akw/a (Lamj;Laqu;Ldt;)Z net/minecraft/item/ItemDye/func_179234_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: akw/a (Laqu;Ldt;I)V net/minecraft/item/ItemDye/func_180617_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;I)V +MD: akw/e_ (Lamj;)Ljava/lang/String; net/minecraft/item/ItemDye/func_77667_c (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: akx/a (I)I net/minecraft/item/ItemCloth/func_77647_b (I)I +MD: akx/e_ (Lamj;)Ljava/lang/String; net/minecraft/item/ItemCloth/func_77667_c (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: aky/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemEgg/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: akz/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemEmptyMap/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: al/a (Lwv;Lwv;)I net/minecraft/command/PlayerSelector$12/func_179611_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/Entity;)I +MD: al/compare (Ljava/lang/Object;Ljava/lang/Object;)I net/minecraft/command/PlayerSelector$12/compare (Ljava/lang/Object;Ljava/lang/Object;)I +MD: ala/a (Lamj;Lahd;Ljava/util/List;Z)V net/minecraft/item/ItemEnchantedBook/func_77624_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Ljava/util/List;Z)V +MD: ala/a (Lamj;Lapo;)V net/minecraft/item/ItemEnchantedBook/func_92115_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/enchantment/EnchantmentData;)V +MD: ala/a (Lapf;Ljava/util/List;)V net/minecraft/item/ItemEnchantedBook/func_92113_a (Lnet/minecraft/enchantment/Enchantment;Ljava/util/List;)V +MD: ala/a (Lapo;)Lamj; net/minecraft/item/ItemEnchantedBook/func_92111_a (Lnet/minecraft/enchantment/EnchantmentData;)Lnet/minecraft/item/ItemStack; +MD: ala/a (Ljava/util/Random;III)Lvl; net/minecraft/item/ItemEnchantedBook/func_92112_a (Ljava/util/Random;III)Lnet/minecraft/util/WeightedRandomChestContent; +MD: ala/b (Ljava/util/Random;)Lvl; net/minecraft/item/ItemEnchantedBook/func_92114_b (Ljava/util/Random;)Lnet/minecraft/util/WeightedRandomChestContent; +MD: ala/f (Lamj;)Z net/minecraft/item/ItemEnchantedBook/func_77636_d (Lnet/minecraft/item/ItemStack;)Z +MD: ala/f_ (Lamj;)Z net/minecraft/item/ItemEnchantedBook/func_77616_k (Lnet/minecraft/item/ItemStack;)Z +MD: ala/g (Lamj;)Lamx; net/minecraft/item/ItemEnchantedBook/func_77613_e (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/EnumRarity; +MD: ala/h (Lamj;)Lfv; net/minecraft/item/ItemEnchantedBook/func_92110_g (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/nbt/NBTTagList; +MD: alb/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemEnderEye/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: alb/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemEnderEye/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: alc/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemEnderPearl/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: ald/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemExpBottle/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: ald/f (Lamj;)Z net/minecraft/item/ItemExpBottle/func_77636_d (Lnet/minecraft/item/ItemStack;)Z +MD: ale/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemFireball/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: alf/a (Lamj;I)I net/minecraft/item/ItemFireworkCharge/func_82790_a (Lnet/minecraft/item/ItemStack;I)I +MD: alf/a (Lamj;Lahd;Ljava/util/List;Z)V net/minecraft/item/ItemFireworkCharge/func_77624_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Ljava/util/List;Z)V +MD: alf/a (Lamj;Ljava/lang/String;)Lgd; net/minecraft/item/ItemFireworkCharge/func_150903_a (Lnet/minecraft/item/ItemStack;Ljava/lang/String;)Lnet/minecraft/nbt/NBTBase; +MD: alf/a (Lfn;Ljava/util/List;)V net/minecraft/item/ItemFireworkCharge/func_150902_a (Lnet/minecraft/nbt/NBTTagCompound;Ljava/util/List;)V +MD: alg/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemFirework/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: alg/a (Lamj;Lahd;Ljava/util/List;Z)V net/minecraft/item/ItemFirework/func_77624_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Ljava/util/List;Z)V +MD: alh/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/item/ItemFishFood/func_150895_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: alh/c (Lamj;Laqu;Lahd;)V net/minecraft/item/ItemFishFood/func_77849_c (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: alh/e_ (Lamj;)Ljava/lang/String; net/minecraft/item/ItemFishFood/func_77667_c (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: alh/h (Lamj;)I net/minecraft/item/ItemFishFood/func_150905_g (Lnet/minecraft/item/ItemStack;)I +MD: alh/i (Lamj;)F net/minecraft/item/ItemFishFood/func_150906_h (Lnet/minecraft/item/ItemStack;)F +MD: alh/j (Lamj;)Ljava/lang/String; net/minecraft/item/ItemFishFood/func_150896_i (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: ali/a ()I net/minecraft/item/ItemFishFood$FishType/func_150976_a ()I +MD: ali/a (I)Lali; net/minecraft/item/ItemFishFood$FishType/func_150974_a (I)Lnet/minecraft/item/ItemFishFood$FishType; +MD: ali/a (Lamj;)Lali; net/minecraft/item/ItemFishFood$FishType/func_150978_a (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemFishFood$FishType; +MD: ali/b ()Ljava/lang/String; net/minecraft/item/ItemFishFood$FishType/func_150972_b ()Ljava/lang/String; +MD: ali/c ()I net/minecraft/item/ItemFishFood$FishType/func_150975_c ()I +MD: ali/d ()F net/minecraft/item/ItemFishFood$FishType/func_150967_d ()F +MD: ali/e ()I net/minecraft/item/ItemFishFood$FishType/func_150970_e ()I +MD: ali/f ()F net/minecraft/item/ItemFishFood$FishType/func_150977_f ()F +MD: ali/g ()Z net/minecraft/item/ItemFishFood$FishType/func_150973_i ()Z +MD: ali/values ()[Lali; net/minecraft/item/ItemFishFood$FishType/values ()[Lnet/minecraft/item/ItemFishFood$FishType; +MD: alj/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemFishingRod/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: alj/b ()I net/minecraft/item/ItemFishingRod/func_77619_b ()I +MD: alj/e ()Z net/minecraft/item/ItemFishingRod/func_77629_n_ ()Z +MD: alj/f_ (Lamj;)Z net/minecraft/item/ItemFishingRod/func_77616_k (Lnet/minecraft/item/ItemStack;)Z +MD: alj/v_ ()Z net/minecraft/item/ItemFishingRod/func_77662_d ()Z +MD: alk/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemFlintAndSteel/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: all/a (IIIF)Lall; net/minecraft/item/ItemFood/func_77844_a (IIIF)Lnet/minecraft/item/ItemFood; +MD: all/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemFood/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: all/b (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemFood/func_77654_b (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: all/c (Lamj;Laqu;Lahd;)V net/minecraft/item/ItemFood/func_77849_c (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: all/d (Lamj;)I net/minecraft/item/ItemFood/func_77626_a (Lnet/minecraft/item/ItemStack;)I +MD: all/e (Lamj;)Lano; net/minecraft/item/ItemFood/func_77661_b (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/EnumAction; +MD: all/g ()Z net/minecraft/item/ItemFood/func_77845_h ()Z +MD: all/h ()Lall; net/minecraft/item/ItemFood/func_77848_i ()Lnet/minecraft/item/ItemFood; +MD: all/h (Lamj;)I net/minecraft/item/ItemFood/func_150905_g (Lnet/minecraft/item/ItemStack;)I +MD: all/i (Lamj;)F net/minecraft/item/ItemFood/func_150906_h (Lnet/minecraft/item/ItemStack;)F +MD: alm/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/item/ItemAppleGold/func_150895_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: alm/c (Lamj;Laqu;Lahd;)V net/minecraft/item/ItemAppleGold/func_77849_c (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: alm/f (Lamj;)Z net/minecraft/item/ItemAppleGold/func_77636_d (Lnet/minecraft/item/ItemStack;)Z +MD: alm/g (Lamj;)Lamx; net/minecraft/item/ItemAppleGold/func_77613_e (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/EnumRarity; +MD: aln/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemHangingEntity/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: aln/a (Laqu;Ldt;Lej;)Ladj; net/minecraft/item/ItemHangingEntity/func_179233_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Lnet/minecraft/entity/EntityHanging; +MD: alo/a (Lamj;Lahd;Laqu;Ldt;Lbec;)Z net/minecraft/item/ItemHoe/func_179232_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: alo/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemHoe/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: alo/g ()Ljava/lang/String; net/minecraft/item/ItemHoe/func_77842_f ()Ljava/lang/String; +MD: alo/v_ ()Z net/minecraft/item/ItemHoe/func_77662_d ()Z +MD: alq/a ()Ljava/lang/String; net/minecraft/item/Item/func_77658_a ()Ljava/lang/String; +MD: alq/a (I)I net/minecraft/item/Item/func_77647_b (I)I +MD: alq/a (ILjava/lang/String;Lalq;)V net/minecraft/item/Item/func_179217_a (ILjava/lang/String;Lnet/minecraft/item/Item;)V +MD: alq/a (ILoa;Lalq;)V net/minecraft/item/Item/func_179219_a (ILnet/minecraft/util/ResourceLocation;Lnet/minecraft/item/Item;)V +MD: alq/a (Lakf;)Lalq; net/minecraft/item/Item/func_77637_a (Lnet/minecraft/creativetab/CreativeTabs;)Lnet/minecraft/item/Item; +MD: alq/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/item/Item/func_150895_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: alq/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item/func_77653_i (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: alq/a (Lamj;I)I net/minecraft/item/Item/func_82790_a (Lnet/minecraft/item/ItemStack;I)I +MD: alq/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/Item/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: alq/a (Lamj;Lahd;Ljava/util/List;Z)V net/minecraft/item/Item/func_77624_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Ljava/util/List;Z)V +MD: alq/a (Lamj;Lahd;Lxm;)Z net/minecraft/item/Item/func_111207_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: alq/a (Lamj;Lamj;)Z net/minecraft/item/Item/func_82789_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z +MD: alq/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/Item/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: alq/a (Lamj;Laqu;Lahd;I)V net/minecraft/item/Item/func_77615_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;I)V +MD: alq/a (Lamj;Laqu;Latr;Ldt;Lxm;)Z net/minecraft/item/Item/func_179218_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: alq/a (Lamj;Laqu;Lwv;IZ)V net/minecraft/item/Item/func_77663_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;IZ)V +MD: alq/a (Lamj;Latr;)F net/minecraft/item/Item/func_150893_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/block/Block;)F +MD: alq/a (Lamj;Lxm;Lxm;)Z net/minecraft/item/Item/func_77644_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: alq/a (Laqu;Lahd;Z)Lbru; net/minecraft/item/Item/func_77621_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;Z)Lnet/minecraft/util/MovingObjectPosition; +MD: alq/a (Latr;)Lalq; net/minecraft/item/Item/func_150898_a (Lnet/minecraft/block/Block;)Lnet/minecraft/item/Item; +MD: alq/a (Latr;Lalq;)V net/minecraft/item/Item/func_179214_a (Lnet/minecraft/block/Block;Lnet/minecraft/item/Item;)V +MD: alq/a (Lfn;)Z net/minecraft/item/Item/func_179215_a (Lnet/minecraft/nbt/NBTTagCompound;)Z +MD: alq/a (Z)Lalq; net/minecraft/item/Item/func_77627_a (Z)Lnet/minecraft/item/Item; +MD: alq/b ()I net/minecraft/item/Item/func_77619_b ()I +MD: alq/b (I)Lalq; net/minecraft/item/Item/func_150899_d (I)Lnet/minecraft/item/Item; +MD: alq/b (Lalq;)I net/minecraft/item/Item/func_150891_b (Lnet/minecraft/item/Item;)I +MD: alq/b (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/Item/func_77654_b (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: alq/b (Latr;)Z net/minecraft/item/Item/func_150897_b (Lnet/minecraft/block/Block;)Z +MD: alq/c ()Lakf; net/minecraft/item/Item/func_77640_w ()Lnet/minecraft/creativetab/CreativeTabs; +MD: alq/c (I)Lalq; net/minecraft/item/Item/func_77625_d (I)Lnet/minecraft/item/Item; +MD: alq/c (Lalq;)Lalq; net/minecraft/item/Item/func_77642_a (Lnet/minecraft/item/Item;)Lnet/minecraft/item/Item; +MD: alq/c (Latr;)V net/minecraft/item/Item/func_179216_c (Lnet/minecraft/block/Block;)V +MD: alq/c (Ljava/lang/String;)Lalq; net/minecraft/item/Item/func_77655_b (Ljava/lang/String;)Lnet/minecraft/item/Item; +MD: alq/d (I)Lalq; net/minecraft/item/Item/func_77656_e (I)Lnet/minecraft/item/Item; +MD: alq/d (Lamj;)I net/minecraft/item/Item/func_77626_a (Lnet/minecraft/item/ItemStack;)I +MD: alq/d (Lamj;Laqu;Lahd;)V net/minecraft/item/Item/func_77622_d (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: alq/d (Ljava/lang/String;)Lalq; net/minecraft/item/Item/func_111206_d (Ljava/lang/String;)Lnet/minecraft/item/Item; +MD: alq/e ()Z net/minecraft/item/Item/func_77629_n_ ()Z +MD: alq/e (Lamj;)Lano; net/minecraft/item/Item/func_77661_b (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/EnumAction; +MD: alq/e (Ljava/lang/String;)Lalq; net/minecraft/item/Item/func_77631_c (Ljava/lang/String;)Lnet/minecraft/item/Item; +MD: alq/e_ (Lamj;)Ljava/lang/String; net/minecraft/item/Item/func_77667_c (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: alq/f ()Z net/minecraft/item/Item/func_77643_m_ ()Z +MD: alq/f (Lamj;)Z net/minecraft/item/Item/func_77636_d (Lnet/minecraft/item/ItemStack;)Z +MD: alq/f_ (Lamj;)Z net/minecraft/item/Item/func_77616_k (Lnet/minecraft/item/ItemStack;)Z +MD: alq/g (Lamj;)Lamx; net/minecraft/item/Item/func_77613_e (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/EnumRarity; +MD: alq/i ()Lcom/google/common/collect/Multimap; net/minecraft/item/Item/func_111205_h ()Lcom/google/common/collect/Multimap; +MD: alq/j ()I net/minecraft/item/Item/func_77639_j ()I +MD: alq/j (Lamj;)Ljava/lang/String; net/minecraft/item/Item/func_150896_i (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: alq/k ()Z net/minecraft/item/Item/func_77614_k ()Z +MD: alq/k (Lamj;)Ljava/lang/String; net/minecraft/item/Item/func_77657_g (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: alq/l ()I net/minecraft/item/Item/func_77612_l ()I +MD: alq/l (Lamj;)Z net/minecraft/item/Item/func_150892_m (Lnet/minecraft/item/ItemStack;)Z +MD: alq/m ()Z net/minecraft/item/Item/func_77645_m ()Z +MD: alq/n ()Lalq; net/minecraft/item/Item/func_77664_n ()Lnet/minecraft/item/Item; +MD: alq/p ()Z net/minecraft/item/Item/func_77651_p ()Z +MD: alq/q ()Lalq; net/minecraft/item/Item/func_77668_q ()Lnet/minecraft/item/Item; +MD: alq/r ()Z net/minecraft/item/Item/func_77634_r ()Z +MD: alq/s ()Z net/minecraft/item/Item/func_82788_x ()Z +MD: alq/t ()V net/minecraft/item/Item/func_150900_l ()V +MD: alq/v_ ()Z net/minecraft/item/Item/func_77662_d ()Z +MD: alr/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$1/func_179589_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: alr/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$1/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: als/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$10/func_179588_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: als/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$10/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: alt/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$11/func_179587_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: alt/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$11/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: alu/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$12/func_179586_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: alu/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$12/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: alv/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$13/func_179585_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: alv/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$13/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: alw/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$14/func_179584_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: alw/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$14/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: alx/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$15/func_179583_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: alx/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$15/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: aly/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$16/func_179582_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: aly/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$16/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: alz/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$17/func_179581_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: alz/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$17/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: am/a (Lwv;)Z net/minecraft/command/PlayerSelector$2/func_179624_a (Lnet/minecraft/entity/Entity;)Z +MD: am/apply (Ljava/lang/Object;)Z net/minecraft/command/PlayerSelector$2/apply (Ljava/lang/Object;)Z +MD: ama/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$2/func_179580_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: ama/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$2/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: amb/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$3/func_179578_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: amb/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$3/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: amc/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$4/func_179579_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: amc/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$4/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: amd/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$5/func_179576_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: amd/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$5/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: ame/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$6/func_179577_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: ame/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$6/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: amf/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$7/func_179574_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: amf/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$7/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: amg/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$8/func_179575_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: amg/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$8/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: amh/a (Lamj;)Ljava/lang/String; net/minecraft/item/Item$9/func_179573_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: amh/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/Item$9/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: ami/a ()I net/minecraft/item/Item$ToolMaterial/func_77997_a ()I +MD: ami/b ()F net/minecraft/item/Item$ToolMaterial/func_77998_b ()F +MD: ami/c ()F net/minecraft/item/Item$ToolMaterial/func_78000_c ()F +MD: ami/d ()I net/minecraft/item/Item$ToolMaterial/func_77996_d ()I +MD: ami/e ()I net/minecraft/item/Item$ToolMaterial/func_77995_e ()I +MD: ami/f ()Lalq; net/minecraft/item/Item$ToolMaterial/func_150995_f ()Lnet/minecraft/item/Item; +MD: ami/valueOf (Ljava/lang/String;)Lami; net/minecraft/item/Item$ToolMaterial/valueOf (Ljava/lang/String;)Lnet/minecraft/item/Item$ToolMaterial; +MD: ami/values ()[Lami; net/minecraft/item/Item$ToolMaterial/values ()[Lnet/minecraft/item/Item$ToolMaterial; +MD: amj/A ()I net/minecraft/item/ItemStack/func_82838_A ()I +MD: amj/B ()Lcom/google/common/collect/Multimap; net/minecraft/item/ItemStack/func_111283_C ()Lcom/google/common/collect/Multimap; +MD: amj/C ()Lho; net/minecraft/item/ItemStack/func_151000_E ()Lnet/minecraft/util/IChatComponent; +MD: amj/a ()Ljava/lang/String; net/minecraft/item/ItemStack/func_77977_a ()Ljava/lang/String; +MD: amj/a (I)Lamj; net/minecraft/item/ItemStack/func_77979_a (I)Lnet/minecraft/item/ItemStack; +MD: amj/a (ILjava/util/Random;)Z net/minecraft/item/ItemStack/func_96631_a (ILjava/util/Random;)Z +MD: amj/a (ILxm;)V net/minecraft/item/ItemStack/func_77972_a (ILnet/minecraft/entity/EntityLivingBase;)V +MD: amj/a (Ladk;)V net/minecraft/item/ItemStack/func_82842_a (Lnet/minecraft/entity/item/EntityItemFrame;)V +MD: amj/a (Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemStack/func_179546_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: amj/a (Lahd;Lxm;)Z net/minecraft/item/ItemStack/func_111282_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: amj/a (Lahd;Z)Ljava/util/List; net/minecraft/item/ItemStack/func_82840_a (Lnet/minecraft/entity/player/EntityPlayer;Z)Ljava/util/List; +MD: amj/a (Lalq;)V net/minecraft/item/ItemStack/func_150996_a (Lnet/minecraft/item/Item;)V +MD: amj/a (Lamj;)Z net/minecraft/item/ItemStack/func_77969_a (Lnet/minecraft/item/ItemStack;)Z +MD: amj/a (Lamj;Lamj;)Z net/minecraft/item/ItemStack/func_77970_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z +MD: amj/a (Lapf;I)V net/minecraft/item/ItemStack/func_77966_a (Lnet/minecraft/enchantment/Enchantment;I)V +MD: amj/a (Laqu;Lahd;)Lamj; net/minecraft/item/ItemStack/func_77957_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: amj/a (Laqu;Lahd;I)V net/minecraft/item/ItemStack/func_77980_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;I)V +MD: amj/a (Laqu;Latr;Ldt;Lahd;)V net/minecraft/item/ItemStack/func_179548_a (Lnet/minecraft/world/World;Lnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: amj/a (Laqu;Lwv;IZ)V net/minecraft/item/ItemStack/func_77945_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;IZ)V +MD: amj/a (Latr;)F net/minecraft/item/ItemStack/func_150997_a (Lnet/minecraft/block/Block;)F +MD: amj/a (Lfn;)Lamj; net/minecraft/item/ItemStack/func_77949_a (Lnet/minecraft/nbt/NBTTagCompound;)Lnet/minecraft/item/ItemStack; +MD: amj/a (Ljava/lang/String;Lgd;)V net/minecraft/item/ItemStack/func_77983_a (Ljava/lang/String;Lnet/minecraft/nbt/NBTBase;)V +MD: amj/a (Ljava/lang/String;Z)Lfn; net/minecraft/item/ItemStack/func_179543_a (Ljava/lang/String;Z)Lnet/minecraft/nbt/NBTTagCompound; +MD: amj/a (Lxm;Lahd;)V net/minecraft/item/ItemStack/func_77961_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: amj/b ()Lalq; net/minecraft/item/ItemStack/func_77973_b ()Lnet/minecraft/item/Item; +MD: amj/b (I)V net/minecraft/item/ItemStack/func_77964_b (I)V +MD: amj/b (Lamj;)Lamj; net/minecraft/item/ItemStack/func_77944_b (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: amj/b (Lamj;Lamj;)Z net/minecraft/item/ItemStack/func_77989_b (Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z +MD: amj/b (Laqu;Lahd;)Lamj; net/minecraft/item/ItemStack/func_77950_b (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: amj/b (Laqu;Lahd;I)V net/minecraft/item/ItemStack/func_77974_b (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;I)V +MD: amj/b (Latr;)Z net/minecraft/item/ItemStack/func_150998_b (Lnet/minecraft/block/Block;)Z +MD: amj/b (Lfn;)Lfn; net/minecraft/item/ItemStack/func_77955_b (Lnet/minecraft/nbt/NBTTagCompound;)Lnet/minecraft/nbt/NBTTagCompound; +MD: amj/c ()I net/minecraft/item/ItemStack/func_77976_d ()I +MD: amj/c (I)V net/minecraft/item/ItemStack/func_82841_c (I)V +MD: amj/c (Lamj;)Z net/minecraft/item/ItemStack/func_179549_c (Lnet/minecraft/item/ItemStack;)Z +MD: amj/c (Lamj;Lamj;)Z net/minecraft/item/ItemStack/func_179545_c (Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z +MD: amj/c (Latr;)Z net/minecraft/item/ItemStack/func_179544_c (Lnet/minecraft/block/Block;)Z +MD: amj/c (Lfn;)V net/minecraft/item/ItemStack/func_77963_c (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: amj/c (Ljava/lang/String;)Lamj; net/minecraft/item/ItemStack/func_151001_c (Ljava/lang/String;)Lnet/minecraft/item/ItemStack; +MD: amj/d ()Z net/minecraft/item/ItemStack/func_77985_e ()Z +MD: amj/d (Lamj;)Z net/minecraft/item/ItemStack/func_77959_d (Lnet/minecraft/item/ItemStack;)Z +MD: amj/d (Latr;)Z net/minecraft/item/ItemStack/func_179547_d (Lnet/minecraft/block/Block;)Z +MD: amj/d (Lfn;)V net/minecraft/item/ItemStack/func_77982_d (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: amj/e ()Z net/minecraft/item/ItemStack/func_77984_f ()Z +MD: amj/f ()Z net/minecraft/item/ItemStack/func_77981_g ()Z +MD: amj/g ()Z net/minecraft/item/ItemStack/func_77951_h ()Z +MD: amj/h ()I net/minecraft/item/ItemStack/func_77952_i ()I +MD: amj/i ()I net/minecraft/item/ItemStack/func_77960_j ()I +MD: amj/j ()I net/minecraft/item/ItemStack/func_77958_k ()I +MD: amj/k ()Lamj; net/minecraft/item/ItemStack/func_77946_l ()Lnet/minecraft/item/ItemStack; +MD: amj/l ()I net/minecraft/item/ItemStack/func_77988_m ()I +MD: amj/m ()Lano; net/minecraft/item/ItemStack/func_77975_n ()Lnet/minecraft/item/EnumAction; +MD: amj/n ()Z net/minecraft/item/ItemStack/func_77942_o ()Z +MD: amj/o ()Lfn; net/minecraft/item/ItemStack/func_77978_p ()Lnet/minecraft/nbt/NBTTagCompound; +MD: amj/p ()Lfv; net/minecraft/item/ItemStack/func_77986_q ()Lnet/minecraft/nbt/NBTTagList; +MD: amj/q ()Ljava/lang/String; net/minecraft/item/ItemStack/func_82833_r ()Ljava/lang/String; +MD: amj/r ()V net/minecraft/item/ItemStack/func_135074_t ()V +MD: amj/s ()Z net/minecraft/item/ItemStack/func_82837_s ()Z +MD: amj/t ()Z net/minecraft/item/ItemStack/func_77962_s ()Z +MD: amj/toString ()Ljava/lang/String; net/minecraft/item/ItemStack/toString ()Ljava/lang/String; +MD: amj/u ()Lamx; net/minecraft/item/ItemStack/func_77953_t ()Lnet/minecraft/item/EnumRarity; +MD: amj/v ()Z net/minecraft/item/ItemStack/func_77956_u ()Z +MD: amj/w ()Z net/minecraft/item/ItemStack/func_77948_v ()Z +MD: amj/x ()Z net/minecraft/item/ItemStack/func_82835_x ()Z +MD: amj/y ()Z net/minecraft/item/ItemStack/func_82839_y ()Z +MD: amj/z ()Ladk; net/minecraft/item/ItemStack/func_82836_z ()Lnet/minecraft/entity/item/EntityItemFrame; +MD: amk/a (Ljava/lang/String;)Lalq; net/minecraft/init/Items/func_179554_a (Ljava/lang/String;)Lnet/minecraft/item/Item; +MD: aml/a (Lahd;Laqu;Ldt;)Z net/minecraft/item/ItemLead/func_180618_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: aml/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemLead/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: amm/a (I)I net/minecraft/item/ItemLeaves/func_77647_b (I)I +MD: amm/a (Lamj;I)I net/minecraft/item/ItemLeaves/func_82790_a (Lnet/minecraft/item/ItemStack;I)I +MD: amm/e_ (Lamj;)Ljava/lang/String; net/minecraft/item/ItemLeaves/func_77667_c (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: amn/a (ILaqu;)Lbqe; net/minecraft/item/ItemMap/func_150912_a (ILnet/minecraft/world/World;)Lnet/minecraft/world/storage/MapData; +MD: amn/a (Lamj;Lahd;Ljava/util/List;Z)V net/minecraft/item/ItemMap/func_77624_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Ljava/util/List;Z)V +MD: amn/a (Lamj;Laqu;)Lbqe; net/minecraft/item/ItemMap/func_77873_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;)Lnet/minecraft/world/storage/MapData; +MD: amn/a (Lamj;Laqu;Lwv;IZ)V net/minecraft/item/ItemMap/func_77663_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;IZ)V +MD: amn/a (Laqu;Lwv;Lbqe;)V net/minecraft/item/ItemMap/func_77872_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;Lnet/minecraft/world/storage/MapData;)V +MD: amn/c (Lamj;Laqu;Lahd;)Lid; net/minecraft/item/ItemMap/func_150911_c (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/network/Packet; +MD: amn/d (Lamj;Laqu;Lahd;)V net/minecraft/item/ItemMap/func_77622_d (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: amo/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemBucketMilk/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: amo/b (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemBucketMilk/func_77654_b (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: amo/d (Lamj;)I net/minecraft/item/ItemBucketMilk/func_77626_a (Lnet/minecraft/item/ItemStack;)I +MD: amo/e (Lamj;)Lano; net/minecraft/item/ItemBucketMilk/func_77661_b (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/EnumAction; +MD: amp/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemMinecart/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: amp/a (Lamp;)Ladz; net/minecraft/item/ItemMinecart/access$000 (Lnet/minecraft/item/ItemMinecart;)Lnet/minecraft/entity/item/EntityMinecart$EnumMinecartType; +MD: amq/a (Ldz;)V net/minecraft/item/ItemMinecart$1/func_82485_a (Lnet/minecraft/dispenser/IBlockSource;)V +MD: amq/b (Ldz;Lamj;)Lamj; net/minecraft/item/ItemMinecart$1/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: amr/a (I)I net/minecraft/item/ItemMultiTexture/func_77647_b (I)I +MD: amr/e_ (Lamj;)Ljava/lang/String; net/minecraft/item/ItemMultiTexture/func_77667_c (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: ams/a (Lamj;)Ljava/lang/String; net/minecraft/item/ItemMultiTexture$1/func_179541_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: ams/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/item/ItemMultiTexture$1/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: amt/a (Lamj;Lahd;Lxm;)Z net/minecraft/item/ItemNameTag/func_111207_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: amu/a (Lamj;Latr;)F net/minecraft/item/ItemPickaxe/func_150893_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/block/Block;)F +MD: amu/b (Latr;)Z net/minecraft/item/ItemPickaxe/func_150897_b (Lnet/minecraft/block/Block;)Z +MD: amv/a (I)I net/minecraft/item/ItemPiston/func_77647_b (I)I +MD: amw/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/item/ItemPotion/func_150895_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: amw/a (Lamj;)Ljava/lang/String; net/minecraft/item/ItemPotion/func_77653_i (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: amw/a (Lamj;I)I net/minecraft/item/ItemPotion/func_82790_a (Lnet/minecraft/item/ItemStack;I)I +MD: amw/a (Lamj;Lahd;Ljava/util/List;Z)V net/minecraft/item/ItemPotion/func_77624_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Ljava/util/List;Z)V +MD: amw/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemPotion/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: amw/b (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemPotion/func_77654_b (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: amw/d (Lamj;)I net/minecraft/item/ItemPotion/func_77626_a (Lnet/minecraft/item/ItemStack;)I +MD: amw/e (I)Ljava/util/List; net/minecraft/item/ItemPotion/func_77834_f (I)Ljava/util/List; +MD: amw/e (Lamj;)Lano; net/minecraft/item/ItemPotion/func_77661_b (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/EnumAction; +MD: amw/f (I)Z net/minecraft/item/ItemPotion/func_77831_g (I)Z +MD: amw/f (Lamj;)Z net/minecraft/item/ItemPotion/func_77636_d (Lnet/minecraft/item/ItemStack;)Z +MD: amw/g (I)I net/minecraft/item/ItemPotion/func_77620_a (I)I +MD: amw/h (I)Z net/minecraft/item/ItemPotion/func_77833_h (I)Z +MD: amw/h (Lamj;)Ljava/util/List; net/minecraft/item/ItemPotion/func_77832_l (Lnet/minecraft/item/ItemStack;)Ljava/util/List; +MD: amx/valueOf (Ljava/lang/String;)Lamx; net/minecraft/item/EnumRarity/valueOf (Ljava/lang/String;)Lnet/minecraft/item/EnumRarity; +MD: amx/values ()[Lamx; net/minecraft/item/EnumRarity/values ()[Lnet/minecraft/item/EnumRarity; +MD: amy/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemRecord/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: amy/a (Lamj;Lahd;Ljava/util/List;Z)V net/minecraft/item/ItemRecord/func_77624_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Ljava/util/List;Z)V +MD: amy/b (Ljava/lang/String;)Lamy; net/minecraft/item/ItemRecord/func_150926_b (Ljava/lang/String;)Lnet/minecraft/item/ItemRecord; +MD: amy/g ()Ljava/lang/String; net/minecraft/item/ItemRecord/func_150927_i ()Ljava/lang/String; +MD: amy/g (Lamj;)Lamx; net/minecraft/item/ItemRecord/func_77613_e (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/EnumRarity; +MD: amz/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemRedstone/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: an/a (Lwv;)Z net/minecraft/command/PlayerSelector$3/func_179625_a (Lnet/minecraft/entity/Entity;)Z +MD: an/apply (Ljava/lang/Object;)Z net/minecraft/command/PlayerSelector$3/apply (Ljava/lang/Object;)Z +MD: ana/a (Lamj;Lahd;Lxm;)Z net/minecraft/item/ItemSaddle/func_111207_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: ana/a (Lamj;Lxm;Lxm;)Z net/minecraft/item/ItemSaddle/func_77644_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: anb/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemSeedFood/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: anc/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemSeeds/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: and/a (Lamj;Laqu;Latr;Ldt;Lxm;)Z net/minecraft/item/ItemShears/func_179218_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: and/a (Lamj;Latr;)F net/minecraft/item/ItemShears/func_150893_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/block/Block;)F +MD: and/b (Latr;)Z net/minecraft/item/ItemShears/func_150897_b (Lnet/minecraft/block/Block;)Z +MD: ane/b (Latr;)Z net/minecraft/item/ItemSpade/func_150897_b (Lnet/minecraft/block/Block;)Z +MD: anf/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemSign/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: ang/f (Lamj;)Z net/minecraft/item/ItemSimpleFoiled/func_77636_d (Lnet/minecraft/item/ItemStack;)Z +MD: anh/a (I)I net/minecraft/item/ItemSkull/func_77647_b (I)I +MD: anh/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/item/ItemSkull/func_150895_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: anh/a (Lamj;)Ljava/lang/String; net/minecraft/item/ItemSkull/func_77653_i (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: anh/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemSkull/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: anh/a (Lfn;)Z net/minecraft/item/ItemSkull/func_179215_a (Lnet/minecraft/nbt/NBTTagCompound;)Z +MD: anh/e_ (Lamj;)Ljava/lang/String; net/minecraft/item/ItemSkull/func_77667_c (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: ani/a (I)I net/minecraft/item/ItemSlab/func_77647_b (I)I +MD: ani/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemSlab/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: ani/a (Lamj;Laqu;Ldt;Ljava/lang/Object;)Z net/minecraft/item/ItemSlab/func_180615_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Ljava/lang/Object;)Z +MD: ani/a (Laqu;Ldt;Lej;Lahd;Lamj;)Z net/minecraft/item/ItemSlab/func_179222_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/item/ItemStack;)Z +MD: ani/e_ (Lamj;)Ljava/lang/String; net/minecraft/item/ItemSlab/func_77667_c (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: anj/a (I)I net/minecraft/item/ItemSnow/func_77647_b (I)I +MD: anj/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemSnow/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: ank/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemSnowball/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: anl/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/item/ItemMonsterPlacer/func_150895_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: anl/a (Lamj;)Ljava/lang/String; net/minecraft/item/ItemMonsterPlacer/func_77653_i (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: anl/a (Lamj;I)I net/minecraft/item/ItemMonsterPlacer/func_82790_a (Lnet/minecraft/item/ItemStack;I)I +MD: anl/a (Lamj;Lahd;Laqu;Ldt;Lej;FFF)Z net/minecraft/item/ItemMonsterPlacer/func_180614_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: anl/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemMonsterPlacer/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: anl/a (Laqu;IDDD)Lwv; net/minecraft/item/ItemMonsterPlacer/func_77840_a (Lnet/minecraft/world/World;IDDD)Lnet/minecraft/entity/Entity; +MD: anm/a (Lamj;Lamj;)Z net/minecraft/item/ItemSword/func_82789_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z +MD: anm/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemSword/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: anm/a (Lamj;Laqu;Latr;Ldt;Lxm;)Z net/minecraft/item/ItemSword/func_179218_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: anm/a (Lamj;Latr;)F net/minecraft/item/ItemSword/func_150893_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/block/Block;)F +MD: anm/a (Lamj;Lxm;Lxm;)Z net/minecraft/item/ItemSword/func_77644_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: anm/b ()I net/minecraft/item/ItemSword/func_77619_b ()I +MD: anm/b (Latr;)Z net/minecraft/item/ItemSword/func_150897_b (Lnet/minecraft/block/Block;)Z +MD: anm/d (Lamj;)I net/minecraft/item/ItemSword/func_77626_a (Lnet/minecraft/item/ItemStack;)I +MD: anm/e (Lamj;)Lano; net/minecraft/item/ItemSword/func_77661_b (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/EnumAction; +MD: anm/g ()F net/minecraft/item/ItemSword/func_150931_i ()F +MD: anm/h ()Ljava/lang/String; net/minecraft/item/ItemSword/func_150932_j ()Ljava/lang/String; +MD: anm/i ()Lcom/google/common/collect/Multimap; net/minecraft/item/ItemSword/func_111205_h ()Lcom/google/common/collect/Multimap; +MD: anm/v_ ()Z net/minecraft/item/ItemSword/func_77662_d ()Z +MD: ann/a (I)I net/minecraft/item/ItemColored/func_77647_b (I)I +MD: ann/a (Lamj;I)I net/minecraft/item/ItemColored/func_82790_a (Lnet/minecraft/item/ItemStack;I)I +MD: ann/a ([Ljava/lang/String;)Lann; net/minecraft/item/ItemColored/func_150943_a ([Ljava/lang/String;)Lnet/minecraft/item/ItemColored; +MD: ann/e_ (Lamj;)Ljava/lang/String; net/minecraft/item/ItemColored/func_77667_c (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: ano/valueOf (Ljava/lang/String;)Lano; net/minecraft/item/EnumAction/valueOf (Ljava/lang/String;)Lnet/minecraft/item/EnumAction; +MD: ano/values ()[Lano; net/minecraft/item/EnumAction/values ()[Lnet/minecraft/item/EnumAction; +MD: anp/a (Lamj;I)I net/minecraft/item/ItemLilyPad/func_82790_a (Lnet/minecraft/item/ItemStack;I)I +MD: anp/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemLilyPad/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: anq/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemWritableBook/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: anq/b (Lfn;)Z net/minecraft/item/ItemWritableBook/func_150930_a (Lnet/minecraft/nbt/NBTTagCompound;)Z +MD: anr/a (Lamj;)Ljava/lang/String; net/minecraft/item/ItemEditableBook/func_77653_i (Lnet/minecraft/item/ItemStack;)Ljava/lang/String; +MD: anr/a (Lamj;Lahd;)V net/minecraft/item/ItemEditableBook/func_179229_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: anr/a (Lamj;Lahd;Ljava/util/List;Z)V net/minecraft/item/ItemEditableBook/func_77624_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/player/EntityPlayer;Ljava/util/List;Z)V +MD: anr/a (Lamj;Laqu;Lahd;)Lamj; net/minecraft/item/ItemEditableBook/func_77659_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: anr/b (Lfn;)Z net/minecraft/item/ItemEditableBook/func_77828_a (Lnet/minecraft/nbt/NBTTagCompound;)Z +MD: anr/f (Lamj;)Z net/minecraft/item/ItemEditableBook/func_77636_d (Lnet/minecraft/item/ItemStack;)Z +MD: anr/h (Lamj;)I net/minecraft/item/ItemEditableBook/func_179230_h (Lnet/minecraft/item/ItemStack;)I +MD: ans/a (I)I net/minecraft/potion/PotionHelper/func_77909_a (I)I +MD: ans/a (II)Z net/minecraft/potion/PotionHelper/func_77914_a (II)Z +MD: ans/a (IIIIII)I net/minecraft/potion/PotionHelper/func_77908_a (IIIIII)I +MD: ans/a (IIZZZ)I net/minecraft/potion/PotionHelper/func_77906_a (IIZZZ)I +MD: ans/a (ILjava/lang/String;)I net/minecraft/potion/PotionHelper/func_77913_a (ILjava/lang/String;)I +MD: ans/a (IZ)I net/minecraft/potion/PotionHelper/func_77915_a (IZ)I +MD: ans/a (Ljava/lang/String;III)I net/minecraft/potion/PotionHelper/func_77912_a (Ljava/lang/String;III)I +MD: ans/a (Ljava/util/Collection;)I net/minecraft/potion/PotionHelper/func_77911_a (Ljava/util/Collection;)I +MD: ans/a (ZZZIIII)I net/minecraft/potion/PotionHelper/func_77904_a (ZZZIIII)I +MD: ans/b (IZ)Ljava/util/List; net/minecraft/potion/PotionHelper/func_77917_b (IZ)Ljava/util/List; +MD: ans/b (Ljava/util/Collection;)Z net/minecraft/potion/PotionHelper/func_82817_b (Ljava/util/Collection;)Z +MD: ans/c (I)Ljava/lang/String; net/minecraft/potion/PotionHelper/func_77905_c (I)Ljava/lang/String; +MD: ans/c (II)I net/minecraft/potion/PotionHelper/func_77910_c (II)I +MD: ans/d (II)I net/minecraft/potion/PotionHelper/func_77916_d (II)I +MD: ans/h (I)I net/minecraft/potion/PotionHelper/func_77907_h (I)I +MD: ao/a (Lwv;)Z net/minecraft/command/PlayerSelector$4/func_179619_a (Lnet/minecraft/entity/Entity;)Z +MD: ao/apply (Ljava/lang/Object;)Z net/minecraft/command/PlayerSelector$4/apply (Ljava/lang/Object;)Z +MD: aoa/a ()I net/minecraft/item/crafting/RecipesArmorDyes/func_77570_a ()I +MD: aoa/a (Lain;)Lamj; net/minecraft/item/crafting/RecipesArmorDyes/func_77572_b (Lnet/minecraft/inventory/InventoryCrafting;)Lnet/minecraft/item/ItemStack; +MD: aoa/a (Lain;Laqu;)Z net/minecraft/item/crafting/RecipesArmorDyes/func_77569_a (Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/world/World;)Z +MD: aoa/b ()Lamj; net/minecraft/item/crafting/RecipesArmorDyes/func_77571_b ()Lnet/minecraft/item/ItemStack; +MD: aoa/b (Lain;)[Lamj; net/minecraft/item/crafting/RecipesArmorDyes/func_179532_b (Lnet/minecraft/inventory/InventoryCrafting;)[Lnet/minecraft/item/ItemStack; +MD: aob/a (Laop;)V net/minecraft/item/crafting/RecipesArmor/func_77609_a (Lnet/minecraft/item/crafting/CraftingManager;)V +MD: aoc/a (Laop;)V net/minecraft/item/crafting/RecipesBanners/func_179534_a (Lnet/minecraft/item/crafting/CraftingManager;)V +MD: aoe/a ()I net/minecraft/item/crafting/RecipesBanners$RecipeAddPattern/func_77570_a ()I +MD: aoe/a (Lain;)Lamj; net/minecraft/item/crafting/RecipesBanners$RecipeAddPattern/func_77572_b (Lnet/minecraft/inventory/InventoryCrafting;)Lnet/minecraft/item/ItemStack; +MD: aoe/a (Lain;Laqu;)Z net/minecraft/item/crafting/RecipesBanners$RecipeAddPattern/func_77569_a (Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/world/World;)Z +MD: aoe/b ()Lamj; net/minecraft/item/crafting/RecipesBanners$RecipeAddPattern/func_77571_b ()Lnet/minecraft/item/ItemStack; +MD: aoe/b (Lain;)[Lamj; net/minecraft/item/crafting/RecipesBanners$RecipeAddPattern/func_179532_b (Lnet/minecraft/inventory/InventoryCrafting;)[Lnet/minecraft/item/ItemStack; +MD: aoe/c (Lain;)Lbcj; net/minecraft/item/crafting/RecipesBanners$RecipeAddPattern/func_179533_c (Lnet/minecraft/inventory/InventoryCrafting;)Lnet/minecraft/tileentity/TileEntityBanner$EnumBannerPattern; +MD: aof/a ()I net/minecraft/item/crafting/RecipesBanners$RecipeDuplicatePattern/func_77570_a ()I +MD: aof/a (Lain;)Lamj; net/minecraft/item/crafting/RecipesBanners$RecipeDuplicatePattern/func_77572_b (Lnet/minecraft/inventory/InventoryCrafting;)Lnet/minecraft/item/ItemStack; +MD: aof/a (Lain;Laqu;)Z net/minecraft/item/crafting/RecipesBanners$RecipeDuplicatePattern/func_77569_a (Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/world/World;)Z +MD: aof/b ()Lamj; net/minecraft/item/crafting/RecipesBanners$RecipeDuplicatePattern/func_77571_b ()Lnet/minecraft/item/ItemStack; +MD: aof/b (Lain;)[Lamj; net/minecraft/item/crafting/RecipesBanners$RecipeDuplicatePattern/func_179532_b (Lnet/minecraft/inventory/InventoryCrafting;)[Lnet/minecraft/item/ItemStack; +MD: aog/a ()I net/minecraft/item/crafting/RecipeBookCloning/func_77570_a ()I +MD: aog/a (Lain;)Lamj; net/minecraft/item/crafting/RecipeBookCloning/func_77572_b (Lnet/minecraft/inventory/InventoryCrafting;)Lnet/minecraft/item/ItemStack; +MD: aog/a (Lain;Laqu;)Z net/minecraft/item/crafting/RecipeBookCloning/func_77569_a (Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/world/World;)Z +MD: aog/b ()Lamj; net/minecraft/item/crafting/RecipeBookCloning/func_77571_b ()Lnet/minecraft/item/ItemStack; +MD: aog/b (Lain;)[Lamj; net/minecraft/item/crafting/RecipeBookCloning/func_179532_b (Lnet/minecraft/inventory/InventoryCrafting;)[Lnet/minecraft/item/ItemStack; +MD: aoh/a (Laop;)V net/minecraft/item/crafting/RecipesDyes/func_77607_a (Lnet/minecraft/item/crafting/CraftingManager;)V +MD: aoi/a ()I net/minecraft/item/crafting/RecipeFireworks/func_77570_a ()I +MD: aoi/a (Lain;)Lamj; net/minecraft/item/crafting/RecipeFireworks/func_77572_b (Lnet/minecraft/inventory/InventoryCrafting;)Lnet/minecraft/item/ItemStack; +MD: aoi/a (Lain;Laqu;)Z net/minecraft/item/crafting/RecipeFireworks/func_77569_a (Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/world/World;)Z +MD: aoi/b ()Lamj; net/minecraft/item/crafting/RecipeFireworks/func_77571_b ()Lnet/minecraft/item/ItemStack; +MD: aoi/b (Lain;)[Lamj; net/minecraft/item/crafting/RecipeFireworks/func_179532_b (Lnet/minecraft/inventory/InventoryCrafting;)[Lnet/minecraft/item/ItemStack; +MD: aoj/a (Laop;)V net/minecraft/item/crafting/RecipesFood/func_77608_a (Lnet/minecraft/item/crafting/CraftingManager;)V +MD: aok/a ()Laok; net/minecraft/item/crafting/FurnaceRecipes/func_77602_a ()Lnet/minecraft/item/crafting/FurnaceRecipes; +MD: aok/a (Lalq;Lamj;F)V net/minecraft/item/crafting/FurnaceRecipes/func_151396_a (Lnet/minecraft/item/Item;Lnet/minecraft/item/ItemStack;F)V +MD: aok/a (Lamj;)Lamj; net/minecraft/item/crafting/FurnaceRecipes/func_151395_a (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: aok/a (Lamj;Lamj;)Z net/minecraft/item/crafting/FurnaceRecipes/func_151397_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z +MD: aok/a (Lamj;Lamj;F)V net/minecraft/item/crafting/FurnaceRecipes/func_151394_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;F)V +MD: aok/a (Latr;Lamj;F)V net/minecraft/item/crafting/FurnaceRecipes/func_151393_a (Lnet/minecraft/block/Block;Lnet/minecraft/item/ItemStack;F)V +MD: aok/b ()Ljava/util/Map; net/minecraft/item/crafting/FurnaceRecipes/func_77599_b ()Ljava/util/Map; +MD: aok/b (Lamj;)F net/minecraft/item/crafting/FurnaceRecipes/func_151398_b (Lnet/minecraft/item/ItemStack;)F +MD: aol/a ()I net/minecraft/item/crafting/RecipesMapCloning/func_77570_a ()I +MD: aol/a (Lain;)Lamj; net/minecraft/item/crafting/RecipesMapCloning/func_77572_b (Lnet/minecraft/inventory/InventoryCrafting;)Lnet/minecraft/item/ItemStack; +MD: aol/a (Lain;Laqu;)Z net/minecraft/item/crafting/RecipesMapCloning/func_77569_a (Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/world/World;)Z +MD: aol/b ()Lamj; net/minecraft/item/crafting/RecipesMapCloning/func_77571_b ()Lnet/minecraft/item/ItemStack; +MD: aol/b (Lain;)[Lamj; net/minecraft/item/crafting/RecipesMapCloning/func_179532_b (Lnet/minecraft/inventory/InventoryCrafting;)[Lnet/minecraft/item/ItemStack; +MD: aom/a (Lain;)Lamj; net/minecraft/item/crafting/RecipesMapExtending/func_77572_b (Lnet/minecraft/inventory/InventoryCrafting;)Lnet/minecraft/item/ItemStack; +MD: aom/a (Lain;Laqu;)Z net/minecraft/item/crafting/RecipesMapExtending/func_77569_a (Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/world/World;)Z +MD: aon/a (Laop;)V net/minecraft/item/crafting/RecipesIngots/func_77590_a (Lnet/minecraft/item/crafting/CraftingManager;)V +MD: aoo/a ()I net/minecraft/item/crafting/IRecipe/func_77570_a ()I +MD: aoo/a (Lain;)Lamj; net/minecraft/item/crafting/IRecipe/func_77572_b (Lnet/minecraft/inventory/InventoryCrafting;)Lnet/minecraft/item/ItemStack; +MD: aoo/a (Lain;Laqu;)Z net/minecraft/item/crafting/IRecipe/func_77569_a (Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/world/World;)Z +MD: aoo/b ()Lamj; net/minecraft/item/crafting/IRecipe/func_77571_b ()Lnet/minecraft/item/ItemStack; +MD: aoo/b (Lain;)[Lamj; net/minecraft/item/crafting/IRecipe/func_179532_b (Lnet/minecraft/inventory/InventoryCrafting;)[Lnet/minecraft/item/ItemStack; +MD: aop/a ()Laop; net/minecraft/item/crafting/CraftingManager/func_77594_a ()Lnet/minecraft/item/crafting/CraftingManager; +MD: aop/a (Lain;Laqu;)Lamj; net/minecraft/item/crafting/CraftingManager/func_82787_a (Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/world/World;)Lnet/minecraft/item/ItemStack; +MD: aop/a (Lamj;[Ljava/lang/Object;)Laos; net/minecraft/item/crafting/CraftingManager/func_92103_a (Lnet/minecraft/item/ItemStack;[Ljava/lang/Object;)Lnet/minecraft/item/crafting/ShapedRecipes; +MD: aop/a (Laoo;)V net/minecraft/item/crafting/CraftingManager/func_180302_a (Lnet/minecraft/item/crafting/IRecipe;)V +MD: aop/b ()Ljava/util/List; net/minecraft/item/crafting/CraftingManager/func_77592_b ()Ljava/util/List; +MD: aop/b (Lain;Laqu;)[Lamj; net/minecraft/item/crafting/CraftingManager/func_180303_b (Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/world/World;)[Lnet/minecraft/item/ItemStack; +MD: aop/b (Lamj;[Ljava/lang/Object;)V net/minecraft/item/crafting/CraftingManager/func_77596_b (Lnet/minecraft/item/ItemStack;[Ljava/lang/Object;)V +MD: aoq/a (Laoo;Laoo;)I net/minecraft/item/crafting/CraftingManager$1/compare (Lnet/minecraft/item/crafting/IRecipe;Lnet/minecraft/item/crafting/IRecipe;)I +MD: aoq/compare (Ljava/lang/Object;Ljava/lang/Object;)I net/minecraft/item/crafting/CraftingManager$1/compare (Ljava/lang/Object;Ljava/lang/Object;)I +MD: aor/a ()I net/minecraft/item/crafting/RecipeRepairItem/func_77570_a ()I +MD: aor/a (Lain;)Lamj; net/minecraft/item/crafting/RecipeRepairItem/func_77572_b (Lnet/minecraft/inventory/InventoryCrafting;)Lnet/minecraft/item/ItemStack; +MD: aor/a (Lain;Laqu;)Z net/minecraft/item/crafting/RecipeRepairItem/func_77569_a (Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/world/World;)Z +MD: aor/b ()Lamj; net/minecraft/item/crafting/RecipeRepairItem/func_77571_b ()Lnet/minecraft/item/ItemStack; +MD: aor/b (Lain;)[Lamj; net/minecraft/item/crafting/RecipeRepairItem/func_179532_b (Lnet/minecraft/inventory/InventoryCrafting;)[Lnet/minecraft/item/ItemStack; +MD: aos/a ()I net/minecraft/item/crafting/ShapedRecipes/func_77570_a ()I +MD: aos/a (Lain;)Lamj; net/minecraft/item/crafting/ShapedRecipes/func_77572_b (Lnet/minecraft/inventory/InventoryCrafting;)Lnet/minecraft/item/ItemStack; +MD: aos/a (Lain;IIZ)Z net/minecraft/item/crafting/ShapedRecipes/func_77573_a (Lnet/minecraft/inventory/InventoryCrafting;IIZ)Z +MD: aos/a (Lain;Laqu;)Z net/minecraft/item/crafting/ShapedRecipes/func_77569_a (Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/world/World;)Z +MD: aos/b ()Lamj; net/minecraft/item/crafting/ShapedRecipes/func_77571_b ()Lnet/minecraft/item/ItemStack; +MD: aos/b (Lain;)[Lamj; net/minecraft/item/crafting/ShapedRecipes/func_179532_b (Lnet/minecraft/inventory/InventoryCrafting;)[Lnet/minecraft/item/ItemStack; +MD: aos/c ()Laos; net/minecraft/item/crafting/ShapedRecipes/func_92100_c ()Lnet/minecraft/item/crafting/ShapedRecipes; +MD: aot/a ()I net/minecraft/item/crafting/ShapelessRecipes/func_77570_a ()I +MD: aot/a (Lain;)Lamj; net/minecraft/item/crafting/ShapelessRecipes/func_77572_b (Lnet/minecraft/inventory/InventoryCrafting;)Lnet/minecraft/item/ItemStack; +MD: aot/a (Lain;Laqu;)Z net/minecraft/item/crafting/ShapelessRecipes/func_77569_a (Lnet/minecraft/inventory/InventoryCrafting;Lnet/minecraft/world/World;)Z +MD: aot/b ()Lamj; net/minecraft/item/crafting/ShapelessRecipes/func_77571_b ()Lnet/minecraft/item/ItemStack; +MD: aot/b (Lain;)[Lamj; net/minecraft/item/crafting/ShapelessRecipes/func_179532_b (Lnet/minecraft/inventory/InventoryCrafting;)[Lnet/minecraft/item/ItemStack; +MD: aou/a (Laop;)V net/minecraft/item/crafting/RecipesCrafting/func_77589_a (Lnet/minecraft/item/crafting/CraftingManager;)V +MD: aov/a (Laop;)V net/minecraft/item/crafting/RecipesTools/func_77586_a (Lnet/minecraft/item/crafting/CraftingManager;)V +MD: aow/a (Laop;)V net/minecraft/item/crafting/RecipesWeapons/func_77583_a (Lnet/minecraft/item/crafting/CraftingManager;)V +MD: aoy/a (I)I net/minecraft/enchantment/EnchantmentArrowDamage/func_77321_a (I)I +MD: aoy/b ()I net/minecraft/enchantment/EnchantmentArrowDamage/func_77325_b ()I +MD: aoy/b (I)I net/minecraft/enchantment/EnchantmentArrowDamage/func_77317_b (I)I +MD: aoz/a (I)I net/minecraft/enchantment/EnchantmentArrowFire/func_77321_a (I)I +MD: aoz/b ()I net/minecraft/enchantment/EnchantmentArrowFire/func_77325_b ()I +MD: aoz/b (I)I net/minecraft/enchantment/EnchantmentArrowFire/func_77317_b (I)I +MD: ap/a (Lwv;)Z net/minecraft/command/PlayerSelector$5/func_179621_a (Lnet/minecraft/entity/Entity;)Z +MD: ap/apply (Ljava/lang/Object;)Z net/minecraft/command/PlayerSelector$5/apply (Ljava/lang/Object;)Z +MD: apa/a (I)I net/minecraft/enchantment/EnchantmentArrowInfinite/func_77321_a (I)I +MD: apa/b ()I net/minecraft/enchantment/EnchantmentArrowInfinite/func_77325_b ()I +MD: apa/b (I)I net/minecraft/enchantment/EnchantmentArrowInfinite/func_77317_b (I)I +MD: apb/a (I)I net/minecraft/enchantment/EnchantmentArrowKnockback/func_77321_a (I)I +MD: apb/b ()I net/minecraft/enchantment/EnchantmentArrowKnockback/func_77325_b ()I +MD: apb/b (I)I net/minecraft/enchantment/EnchantmentArrowKnockback/func_77317_b (I)I +MD: apc/a ()Ljava/lang/String; net/minecraft/enchantment/EnchantmentDamage/func_77320_a ()Ljava/lang/String; +MD: apc/a (I)I net/minecraft/enchantment/EnchantmentDamage/func_77321_a (I)I +MD: apc/a (ILxs;)F net/minecraft/enchantment/EnchantmentDamage/func_152376_a (ILnet/minecraft/entity/EnumCreatureAttribute;)F +MD: apc/a (Lamj;)Z net/minecraft/enchantment/EnchantmentDamage/func_92089_a (Lnet/minecraft/item/ItemStack;)Z +MD: apc/a (Lapf;)Z net/minecraft/enchantment/EnchantmentDamage/func_77326_a (Lnet/minecraft/enchantment/Enchantment;)Z +MD: apc/a (Lxm;Lwv;I)V net/minecraft/enchantment/EnchantmentDamage/func_151368_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/Entity;I)V +MD: apc/b ()I net/minecraft/enchantment/EnchantmentDamage/func_77325_b ()I +MD: apc/b (I)I net/minecraft/enchantment/EnchantmentDamage/func_77317_b (I)I +MD: apd/a (I)I net/minecraft/enchantment/EnchantmentDurability/func_77321_a (I)I +MD: apd/a (Lamj;)Z net/minecraft/enchantment/EnchantmentDurability/func_92089_a (Lnet/minecraft/item/ItemStack;)Z +MD: apd/a (Lamj;ILjava/util/Random;)Z net/minecraft/enchantment/EnchantmentDurability/func_92097_a (Lnet/minecraft/item/ItemStack;ILjava/util/Random;)Z +MD: apd/b ()I net/minecraft/enchantment/EnchantmentDurability/func_77325_b ()I +MD: apd/b (I)I net/minecraft/enchantment/EnchantmentDurability/func_77317_b (I)I +MD: ape/a (I)I net/minecraft/enchantment/EnchantmentDigging/func_77321_a (I)I +MD: ape/a (Lamj;)Z net/minecraft/enchantment/EnchantmentDigging/func_92089_a (Lnet/minecraft/item/ItemStack;)Z +MD: ape/b ()I net/minecraft/enchantment/EnchantmentDigging/func_77325_b ()I +MD: ape/b (I)I net/minecraft/enchantment/EnchantmentDigging/func_77317_b (I)I +MD: apf/a ()Ljava/lang/String; net/minecraft/enchantment/Enchantment/func_77320_a ()Ljava/lang/String; +MD: apf/a (I)I net/minecraft/enchantment/Enchantment/func_77321_a (I)I +MD: apf/a (ILwh;)I net/minecraft/enchantment/Enchantment/func_77318_a (ILnet/minecraft/util/DamageSource;)I +MD: apf/a (ILxs;)F net/minecraft/enchantment/Enchantment/func_152376_a (ILnet/minecraft/entity/EnumCreatureAttribute;)F +MD: apf/a (Lamj;)Z net/minecraft/enchantment/Enchantment/func_92089_a (Lnet/minecraft/item/ItemStack;)Z +MD: apf/a (Lapf;)Z net/minecraft/enchantment/Enchantment/func_77326_a (Lnet/minecraft/enchantment/Enchantment;)Z +MD: apf/a (Lxm;Lwv;I)V net/minecraft/enchantment/Enchantment/func_151368_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/Entity;I)V +MD: apf/b ()I net/minecraft/enchantment/Enchantment/func_77325_b ()I +MD: apf/b (I)I net/minecraft/enchantment/Enchantment/func_77317_b (I)I +MD: apf/b (Ljava/lang/String;)Lapf; net/minecraft/enchantment/Enchantment/func_180305_b (Ljava/lang/String;)Lnet/minecraft/enchantment/Enchantment; +MD: apf/b (Lxm;Lwv;I)V net/minecraft/enchantment/Enchantment/func_151367_b (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/Entity;I)V +MD: apf/c ()[Ljava/lang/String; net/minecraft/enchantment/Enchantment/func_180304_c ()[Ljava/lang/String; +MD: apf/c (I)Lapf; net/minecraft/enchantment/Enchantment/func_180306_c (I)Lnet/minecraft/enchantment/Enchantment; +MD: apf/c (Ljava/lang/String;)Lapf; net/minecraft/enchantment/Enchantment/func_77322_b (Ljava/lang/String;)Lnet/minecraft/enchantment/Enchantment; +MD: apf/d ()I net/minecraft/enchantment/Enchantment/func_77324_c ()I +MD: apf/d (I)Ljava/lang/String; net/minecraft/enchantment/Enchantment/func_77316_c (I)Ljava/lang/String; +MD: apf/e ()I net/minecraft/enchantment/Enchantment/func_77319_d ()I +MD: apg/a (Lalq;)Z net/minecraft/enchantment/EnumEnchantmentType/func_77557_a (Lnet/minecraft/item/Item;)Z +MD: apg/valueOf (Ljava/lang/String;)Lapg; net/minecraft/enchantment/EnumEnchantmentType/valueOf (Ljava/lang/String;)Lnet/minecraft/enchantment/EnumEnchantmentType; +MD: apg/values ()[Lapg; net/minecraft/enchantment/EnumEnchantmentType/values ()[Lnet/minecraft/enchantment/EnumEnchantmentType; +MD: aph/a (ILamj;)I net/minecraft/enchantment/EnchantmentHelper/func_77506_a (ILnet/minecraft/item/ItemStack;)I +MD: aph/a (I[Lamj;)I net/minecraft/enchantment/EnchantmentHelper/func_77511_a (I[Lnet/minecraft/item/ItemStack;)I +MD: aph/a (Lamj;)Ljava/util/Map; net/minecraft/enchantment/EnchantmentHelper/func_82781_a (Lnet/minecraft/item/ItemStack;)Ljava/util/Map; +MD: aph/a (Lamj;Lxs;)F net/minecraft/enchantment/EnchantmentHelper/func_152377_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/EnumCreatureAttribute;)F +MD: aph/a (Lapf;Lxm;)Lamj; net/minecraft/enchantment/EnchantmentHelper/func_92099_a (Lnet/minecraft/enchantment/Enchantment;Lnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/item/ItemStack; +MD: aph/a (Lapl;Lamj;)V net/minecraft/enchantment/EnchantmentHelper/func_77518_a (Lnet/minecraft/enchantment/EnchantmentHelper$IModifier;Lnet/minecraft/item/ItemStack;)V +MD: aph/a (Lapl;[Lamj;)V net/minecraft/enchantment/EnchantmentHelper/func_77516_a (Lnet/minecraft/enchantment/EnchantmentHelper$IModifier;[Lnet/minecraft/item/ItemStack;)V +MD: aph/a (Ljava/util/Map;Lamj;)V net/minecraft/enchantment/EnchantmentHelper/func_82782_a (Ljava/util/Map;Lnet/minecraft/item/ItemStack;)V +MD: aph/a (Ljava/util/Random;IILamj;)I net/minecraft/enchantment/EnchantmentHelper/func_77514_a (Ljava/util/Random;IILnet/minecraft/item/ItemStack;)I +MD: aph/a (Ljava/util/Random;Lamj;I)Lamj; net/minecraft/enchantment/EnchantmentHelper/func_77504_a (Ljava/util/Random;Lnet/minecraft/item/ItemStack;I)Lnet/minecraft/item/ItemStack; +MD: aph/a (Lwv;)I net/minecraft/enchantment/EnchantmentHelper/func_180319_a (Lnet/minecraft/entity/Entity;)I +MD: aph/a (Lxm;)I net/minecraft/enchantment/EnchantmentHelper/func_77501_a (Lnet/minecraft/entity/EntityLivingBase;)I +MD: aph/a (Lxm;Lwv;)V net/minecraft/enchantment/EnchantmentHelper/func_151384_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/Entity;)V +MD: aph/a ([Lamj;Lwh;)I net/minecraft/enchantment/EnchantmentHelper/func_77508_a ([Lnet/minecraft/item/ItemStack;Lnet/minecraft/util/DamageSource;)I +MD: aph/b (ILamj;)Ljava/util/Map; net/minecraft/enchantment/EnchantmentHelper/func_77505_b (ILnet/minecraft/item/ItemStack;)Ljava/util/Map; +MD: aph/b (Ljava/util/Random;Lamj;I)Ljava/util/List; net/minecraft/enchantment/EnchantmentHelper/func_77513_b (Ljava/util/Random;Lnet/minecraft/item/ItemStack;I)Ljava/util/List; +MD: aph/b (Lwv;)I net/minecraft/enchantment/EnchantmentHelper/func_180318_b (Lnet/minecraft/entity/Entity;)I +MD: aph/b (Lxm;)I net/minecraft/enchantment/EnchantmentHelper/func_90036_a (Lnet/minecraft/entity/EntityLivingBase;)I +MD: aph/b (Lxm;Lwv;)V net/minecraft/enchantment/EnchantmentHelper/func_151385_b (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/Entity;)V +MD: aph/c (Lxm;)I net/minecraft/enchantment/EnchantmentHelper/func_77509_b (Lnet/minecraft/entity/EntityLivingBase;)I +MD: aph/e (Lxm;)Z net/minecraft/enchantment/EnchantmentHelper/func_77502_d (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: aph/f (Lxm;)I net/minecraft/enchantment/EnchantmentHelper/func_77517_e (Lnet/minecraft/entity/EntityLivingBase;)I +MD: aph/g (Lxm;)I net/minecraft/enchantment/EnchantmentHelper/func_151386_g (Lnet/minecraft/entity/EntityLivingBase;)I +MD: aph/h (Lxm;)I net/minecraft/enchantment/EnchantmentHelper/func_151387_h (Lnet/minecraft/entity/EntityLivingBase;)I +MD: aph/i (Lxm;)I net/minecraft/enchantment/EnchantmentHelper/func_77519_f (Lnet/minecraft/entity/EntityLivingBase;)I +MD: aph/j (Lxm;)Z net/minecraft/enchantment/EnchantmentHelper/func_77510_g (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: apj/a (Lapf;I)V net/minecraft/enchantment/EnchantmentHelper$DamageIterator/func_77493_a (Lnet/minecraft/enchantment/Enchantment;I)V +MD: apk/a (Lapf;I)V net/minecraft/enchantment/EnchantmentHelper$HurtIterator/func_77493_a (Lnet/minecraft/enchantment/Enchantment;I)V +MD: apl/a (Lapf;I)V net/minecraft/enchantment/EnchantmentHelper$IModifier/func_77493_a (Lnet/minecraft/enchantment/Enchantment;I)V +MD: apm/a (Lapf;I)V net/minecraft/enchantment/EnchantmentHelper$ModifierLiving/func_77493_a (Lnet/minecraft/enchantment/Enchantment;I)V +MD: apn/a (Lapf;I)V net/minecraft/enchantment/EnchantmentHelper$ModifierDamage/func_77493_a (Lnet/minecraft/enchantment/Enchantment;I)V +MD: app/a (I)I net/minecraft/enchantment/EnchantmentFireAspect/func_77321_a (I)I +MD: app/b ()I net/minecraft/enchantment/EnchantmentFireAspect/func_77325_b ()I +MD: app/b (I)I net/minecraft/enchantment/EnchantmentFireAspect/func_77317_b (I)I +MD: apq/a (I)I net/minecraft/enchantment/EnchantmentFishingSpeed/func_77321_a (I)I +MD: apq/b ()I net/minecraft/enchantment/EnchantmentFishingSpeed/func_77325_b ()I +MD: apq/b (I)I net/minecraft/enchantment/EnchantmentFishingSpeed/func_77317_b (I)I +MD: apr/a (I)I net/minecraft/enchantment/EnchantmentKnockback/func_77321_a (I)I +MD: apr/b ()I net/minecraft/enchantment/EnchantmentKnockback/func_77325_b ()I +MD: apr/b (I)I net/minecraft/enchantment/EnchantmentKnockback/func_77317_b (I)I +MD: aps/a (I)I net/minecraft/enchantment/EnchantmentLootBonus/func_77321_a (I)I +MD: aps/a (Lapf;)Z net/minecraft/enchantment/EnchantmentLootBonus/func_77326_a (Lnet/minecraft/enchantment/Enchantment;)Z +MD: aps/b ()I net/minecraft/enchantment/EnchantmentLootBonus/func_77325_b ()I +MD: aps/b (I)I net/minecraft/enchantment/EnchantmentLootBonus/func_77317_b (I)I +MD: apt/a (I)I net/minecraft/enchantment/EnchantmentOxygen/func_77321_a (I)I +MD: apt/b ()I net/minecraft/enchantment/EnchantmentOxygen/func_77325_b ()I +MD: apt/b (I)I net/minecraft/enchantment/EnchantmentOxygen/func_77317_b (I)I +MD: apu/a ()Ljava/lang/String; net/minecraft/enchantment/EnchantmentProtection/func_77320_a ()Ljava/lang/String; +MD: apu/a (I)I net/minecraft/enchantment/EnchantmentProtection/func_77321_a (I)I +MD: apu/a (ILwh;)I net/minecraft/enchantment/EnchantmentProtection/func_77318_a (ILnet/minecraft/util/DamageSource;)I +MD: apu/a (Lapf;)Z net/minecraft/enchantment/EnchantmentProtection/func_77326_a (Lnet/minecraft/enchantment/Enchantment;)Z +MD: apu/a (Lwv;D)D net/minecraft/enchantment/EnchantmentProtection/func_92092_a (Lnet/minecraft/entity/Entity;D)D +MD: apu/a (Lwv;I)I net/minecraft/enchantment/EnchantmentProtection/func_92093_a (Lnet/minecraft/entity/Entity;I)I +MD: apu/b ()I net/minecraft/enchantment/EnchantmentProtection/func_77325_b ()I +MD: apu/b (I)I net/minecraft/enchantment/EnchantmentProtection/func_77317_b (I)I +MD: apv/a (I)I net/minecraft/enchantment/EnchantmentThorns/func_77321_a (I)I +MD: apv/a (ILjava/util/Random;)Z net/minecraft/enchantment/EnchantmentThorns/func_92094_a (ILjava/util/Random;)Z +MD: apv/a (Lamj;)Z net/minecraft/enchantment/EnchantmentThorns/func_92089_a (Lnet/minecraft/item/ItemStack;)Z +MD: apv/b ()I net/minecraft/enchantment/EnchantmentThorns/func_77325_b ()I +MD: apv/b (I)I net/minecraft/enchantment/EnchantmentThorns/func_77317_b (I)I +MD: apv/b (ILjava/util/Random;)I net/minecraft/enchantment/EnchantmentThorns/func_92095_b (ILjava/util/Random;)I +MD: apv/b (Lxm;Lwv;I)V net/minecraft/enchantment/EnchantmentThorns/func_151367_b (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/Entity;I)V +MD: apw/a (I)I net/minecraft/enchantment/EnchantmentUntouching/func_77321_a (I)I +MD: apw/a (Lamj;)Z net/minecraft/enchantment/EnchantmentUntouching/func_92089_a (Lnet/minecraft/item/ItemStack;)Z +MD: apw/a (Lapf;)Z net/minecraft/enchantment/EnchantmentUntouching/func_77326_a (Lnet/minecraft/enchantment/Enchantment;)Z +MD: apw/b ()I net/minecraft/enchantment/EnchantmentUntouching/func_77325_b ()I +MD: apw/b (I)I net/minecraft/enchantment/EnchantmentUntouching/func_77317_b (I)I +MD: apx/a (I)I net/minecraft/enchantment/EnchantmentWaterWalker/func_77321_a (I)I +MD: apx/b ()I net/minecraft/enchantment/EnchantmentWaterWalker/func_77325_b ()I +MD: apx/b (I)I net/minecraft/enchantment/EnchantmentWaterWalker/func_77317_b (I)I +MD: apy/a (I)I net/minecraft/enchantment/EnchantmentWaterWorker/func_77321_a (I)I +MD: apy/b ()I net/minecraft/enchantment/EnchantmentWaterWorker/func_77325_b ()I +MD: apy/b (I)I net/minecraft/enchantment/EnchantmentWaterWorker/func_77317_b (I)I +MD: aq/a (Lwv;)Z net/minecraft/command/PlayerSelector$6/func_179603_a (Lnet/minecraft/entity/Entity;)Z +MD: aq/apply (Ljava/lang/Object;)Z net/minecraft/command/PlayerSelector$6/apply (Ljava/lang/Object;)Z +MD: aqb/a (Laqc;)V net/minecraft/entity/IMerchant/func_70933_a (Lnet/minecraft/village/MerchantRecipe;)V +MD: aqb/a (Laqd;)V net/minecraft/entity/IMerchant/func_70930_a (Lnet/minecraft/village/MerchantRecipeList;)V +MD: aqb/a_ (Lahd;)V net/minecraft/entity/IMerchant/func_70932_a_ (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aqb/a_ (Lamj;)V net/minecraft/entity/IMerchant/func_110297_a_ (Lnet/minecraft/item/ItemStack;)V +MD: aqb/b_ (Lahd;)Laqd; net/minecraft/entity/IMerchant/func_70934_b (Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/village/MerchantRecipeList; +MD: aqb/e_ ()Lho; net/minecraft/entity/IMerchant/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: aqb/u_ ()Lahd; net/minecraft/entity/IMerchant/func_70931_l_ ()Lnet/minecraft/entity/player/EntityPlayer; +MD: aqc/a ()Lamj; net/minecraft/village/MerchantRecipe/func_77394_a ()Lnet/minecraft/item/ItemStack; +MD: aqc/a (I)V net/minecraft/village/MerchantRecipe/func_82783_a (I)V +MD: aqc/a (Lfn;)V net/minecraft/village/MerchantRecipe/func_77390_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aqc/b ()Lamj; net/minecraft/village/MerchantRecipe/func_77396_b ()Lnet/minecraft/item/ItemStack; +MD: aqc/c ()Z net/minecraft/village/MerchantRecipe/func_77398_c ()Z +MD: aqc/d ()Lamj; net/minecraft/village/MerchantRecipe/func_77397_d ()Lnet/minecraft/item/ItemStack; +MD: aqc/e ()I net/minecraft/village/MerchantRecipe/func_180321_e ()I +MD: aqc/f ()I net/minecraft/village/MerchantRecipe/func_180320_f ()I +MD: aqc/g ()V net/minecraft/village/MerchantRecipe/func_77399_f ()V +MD: aqc/h ()Z net/minecraft/village/MerchantRecipe/func_82784_g ()Z +MD: aqc/i ()V net/minecraft/village/MerchantRecipe/func_82785_h ()V +MD: aqc/j ()Z net/minecraft/village/MerchantRecipe/func_180322_j ()Z +MD: aqc/k ()Lfn; net/minecraft/village/MerchantRecipe/func_77395_g ()Lnet/minecraft/nbt/NBTTagCompound; +MD: aqd/a ()Lfn; net/minecraft/village/MerchantRecipeList/func_77202_a ()Lnet/minecraft/nbt/NBTTagCompound; +MD: aqd/a (Lamj;Lamj;I)Laqc; net/minecraft/village/MerchantRecipeList/func_77203_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;I)Lnet/minecraft/village/MerchantRecipe; +MD: aqd/a (Lfn;)V net/minecraft/village/MerchantRecipeList/func_77201_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aqd/a (Lhd;)V net/minecraft/village/MerchantRecipeList/func_151391_a (Lnet/minecraft/network/PacketBuffer;)V +MD: aqd/b (Lhd;)Laqd; net/minecraft/village/MerchantRecipeList/func_151390_b (Lnet/minecraft/network/PacketBuffer;)Lnet/minecraft/village/MerchantRecipeList; +MD: aqf/a (ILjava/lang/String;)Z net/minecraft/command/server/CommandBlockLogic/func_70003_b (ILjava/lang/String;)Z +MD: aqf/a (Lag;I)V net/minecraft/command/server/CommandBlockLogic/func_174794_a (Lnet/minecraft/command/CommandResultStats$Type;I)V +MD: aqf/a (Lahd;)Z net/minecraft/command/server/CommandBlockLogic/func_175574_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: aqf/a (Laqu;)V net/minecraft/command/server/CommandBlockLogic/func_145755_a (Lnet/minecraft/world/World;)V +MD: aqf/a (Lfn;)V net/minecraft/command/server/CommandBlockLogic/func_145758_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aqf/a (Lho;)V net/minecraft/command/server/CommandBlockLogic/func_145747_a (Lnet/minecraft/util/IChatComponent;)V +MD: aqf/a (Lio/netty/buffer/ByteBuf;)V net/minecraft/command/server/CommandBlockLogic/func_145757_a (Lio/netty/buffer/ByteBuf;)V +MD: aqf/a (Ljava/lang/String;)V net/minecraft/command/server/CommandBlockLogic/func_145752_a (Ljava/lang/String;)V +MD: aqf/a (Z)V net/minecraft/command/server/CommandBlockLogic/func_175573_a (Z)V +MD: aqf/b (Lfn;)V net/minecraft/command/server/CommandBlockLogic/func_145759_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aqf/b (Lho;)V net/minecraft/command/server/CommandBlockLogic/func_145750_b (Lnet/minecraft/util/IChatComponent;)V +MD: aqf/b (Ljava/lang/String;)V net/minecraft/command/server/CommandBlockLogic/func_145754_b (Ljava/lang/String;)V +MD: aqf/d_ ()Ljava/lang/String; net/minecraft/command/server/CommandBlockLogic/func_70005_c_ ()Ljava/lang/String; +MD: aqf/e_ ()Lho; net/minecraft/command/server/CommandBlockLogic/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: aqf/h ()V net/minecraft/command/server/CommandBlockLogic/func_145756_e ()V +MD: aqf/i ()I net/minecraft/command/server/CommandBlockLogic/func_145751_f ()I +MD: aqf/j ()I net/minecraft/command/server/CommandBlockLogic/func_145760_g ()I +MD: aqf/k ()Lho; net/minecraft/command/server/CommandBlockLogic/func_145749_h ()Lnet/minecraft/util/IChatComponent; +MD: aqf/l ()Ljava/lang/String; net/minecraft/command/server/CommandBlockLogic/func_145753_i ()Ljava/lang/String; +MD: aqf/m ()Z net/minecraft/command/server/CommandBlockLogic/func_175571_m ()Z +MD: aqf/n ()Laf; net/minecraft/command/server/CommandBlockLogic/func_175572_n ()Lnet/minecraft/command/CommandResultStats; +MD: aqf/t_ ()Z net/minecraft/command/server/CommandBlockLogic/func_174792_t_ ()Z +MD: aqg/a ()Ljava/lang/String; net/minecraft/command/server/CommandBlockLogic$1/call ()Ljava/lang/String; +MD: aqg/call ()Ljava/lang/Object; net/minecraft/command/server/CommandBlockLogic$1/call ()Ljava/lang/Object; +MD: aqh/a ()Ljava/lang/String; net/minecraft/command/server/CommandBlockLogic$2/call ()Ljava/lang/String; +MD: aqh/call ()Ljava/lang/Object; net/minecraft/command/server/CommandBlockLogic$2/call ()Ljava/lang/Object; +MD: aqi/a ()Laqu; net/minecraft/tileentity/MobSpawnerBaseLogic/func_98271_a ()Lnet/minecraft/world/World; +MD: aqi/a (I)V net/minecraft/tileentity/MobSpawnerBaseLogic/func_98267_a (I)V +MD: aqi/a (Laqj;)V net/minecraft/tileentity/MobSpawnerBaseLogic/func_98277_a (Lnet/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart;)V +MD: aqi/a (Laqu;)Lwv; net/minecraft/tileentity/MobSpawnerBaseLogic/func_180612_a (Lnet/minecraft/world/World;)Lnet/minecraft/entity/Entity; +MD: aqi/a (Lfn;)V net/minecraft/tileentity/MobSpawnerBaseLogic/func_98270_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aqi/a (Ljava/lang/String;)V net/minecraft/tileentity/MobSpawnerBaseLogic/func_98272_a (Ljava/lang/String;)V +MD: aqi/a (Lwv;Z)Lwv; net/minecraft/tileentity/MobSpawnerBaseLogic/func_180613_a (Lnet/minecraft/entity/Entity;Z)Lnet/minecraft/entity/Entity; +MD: aqi/b ()Ldt; net/minecraft/tileentity/MobSpawnerBaseLogic/func_177221_b ()Lnet/minecraft/util/BlockPos; +MD: aqi/b (I)Z net/minecraft/tileentity/MobSpawnerBaseLogic/func_98268_b (I)Z +MD: aqi/b (Lfn;)V net/minecraft/tileentity/MobSpawnerBaseLogic/func_98280_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aqi/c ()V net/minecraft/tileentity/MobSpawnerBaseLogic/func_98278_g ()V +MD: aqi/d ()D net/minecraft/tileentity/MobSpawnerBaseLogic/func_177222_d ()D +MD: aqi/e ()D net/minecraft/tileentity/MobSpawnerBaseLogic/func_177223_e ()D +MD: aqi/f ()Ljava/lang/String; net/minecraft/tileentity/MobSpawnerBaseLogic/func_98276_e ()Ljava/lang/String; +MD: aqi/g ()Z net/minecraft/tileentity/MobSpawnerBaseLogic/func_98279_f ()Z +MD: aqi/h ()V net/minecraft/tileentity/MobSpawnerBaseLogic/func_98273_j ()V +MD: aqi/i ()Laqj; net/minecraft/tileentity/MobSpawnerBaseLogic/func_98269_i ()Lnet/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart; +MD: aqj/a ()Lfn; net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart/func_98220_a ()Lnet/minecraft/nbt/NBTTagCompound; +MD: aqj/a (Laqj;)Ljava/lang/String; net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart/access$000 (Lnet/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart;)Ljava/lang/String; +MD: aqj/b (Laqj;)Lfn; net/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart/access$100 (Lnet/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart;)Lnet/minecraft/nbt/NBTTagCompound; +MD: aqk/a ()Ldt; net/minecraft/block/BlockEventData/func_180328_a ()Lnet/minecraft/util/BlockPos; +MD: aqk/b ()I net/minecraft/block/BlockEventData/func_151339_d ()I +MD: aqk/c ()I net/minecraft/block/BlockEventData/func_151338_e ()I +MD: aqk/d ()Latr; net/minecraft/block/BlockEventData/func_151337_f ()Lnet/minecraft/block/Block; +MD: aqk/equals (Ljava/lang/Object;)Z net/minecraft/block/BlockEventData/equals (Ljava/lang/Object;)Z +MD: aqk/toString ()Ljava/lang/String; net/minecraft/block/BlockEventData/toString ()Ljava/lang/String; +MD: aql/toString ()Ljava/lang/String; net/minecraft/util/EnumWorldBlockLayer/toString ()Ljava/lang/String; +MD: aql/values ()[Laql; net/minecraft/util/EnumWorldBlockLayer/values ()[Lnet/minecraft/util/EnumWorldBlockLayer; +MD: aqm/a ()I net/minecraft/world/ChunkCoordIntPair/func_77273_a ()I +MD: aqm/a (I)Ldt; net/minecraft/world/ChunkCoordIntPair/func_180619_a (I)Lnet/minecraft/util/BlockPos; +MD: aqm/a (II)J net/minecraft/world/ChunkCoordIntPair/func_77272_a (II)J +MD: aqm/a (III)Ldt; net/minecraft/world/ChunkCoordIntPair/func_180331_a (III)Lnet/minecraft/util/BlockPos; +MD: aqm/b ()I net/minecraft/world/ChunkCoordIntPair/func_77274_b ()I +MD: aqm/c ()I net/minecraft/world/ChunkCoordIntPair/func_180334_c ()I +MD: aqm/d ()I net/minecraft/world/ChunkCoordIntPair/func_180333_d ()I +MD: aqm/e ()I net/minecraft/world/ChunkCoordIntPair/func_180332_e ()I +MD: aqm/equals (Ljava/lang/Object;)Z net/minecraft/world/ChunkCoordIntPair/equals (Ljava/lang/Object;)Z +MD: aqm/f ()I net/minecraft/world/ChunkCoordIntPair/func_180330_f ()I +MD: aqm/hashCode ()I net/minecraft/world/ChunkCoordIntPair/hashCode ()I +MD: aqm/toString ()Ljava/lang/String; net/minecraft/world/ChunkCoordIntPair/toString ()Ljava/lang/String; +MD: aqo/a ()V net/minecraft/world/Explosion/func_77278_a ()V +MD: aqo/a (Z)V net/minecraft/world/Explosion/func_77279_a (Z)V +MD: aqo/b ()Ljava/util/Map; net/minecraft/world/Explosion/func_77277_b ()Ljava/util/Map; +MD: aqo/c ()Lxm; net/minecraft/world/Explosion/func_94613_c ()Lnet/minecraft/entity/EntityLivingBase; +MD: aqo/d ()V net/minecraft/world/Explosion/func_180342_d ()V +MD: aqo/e ()Ljava/util/List; net/minecraft/world/Explosion/func_180343_e ()Ljava/util/List; +MD: aqp/a ()I net/minecraft/world/ColorizerFoliage/func_77466_a ()I +MD: aqp/a (DD)I net/minecraft/world/ColorizerFoliage/func_77470_a (DD)I +MD: aqp/a ([I)V net/minecraft/world/ColorizerFoliage/func_77467_a ([I)V +MD: aqp/b ()I net/minecraft/world/ColorizerFoliage/func_77469_b ()I +MD: aqp/c ()I net/minecraft/world/ColorizerFoliage/func_77468_c ()I +MD: aqq/a ()Lfn; net/minecraft/world/GameRules/func_82770_a ()Lnet/minecraft/nbt/NBTTagCompound; +MD: aqq/a (Lfn;)V net/minecraft/world/GameRules/func_82768_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: aqq/a (Ljava/lang/String;)Ljava/lang/String; net/minecraft/world/GameRules/func_82767_a (Ljava/lang/String;)Ljava/lang/String; +MD: aqq/a (Ljava/lang/String;Laqs;)Z net/minecraft/world/GameRules/func_180264_a (Ljava/lang/String;Lnet/minecraft/world/GameRules$ValueType;)Z +MD: aqq/a (Ljava/lang/String;Ljava/lang/String;)V net/minecraft/world/GameRules/func_82764_b (Ljava/lang/String;Ljava/lang/String;)V +MD: aqq/a (Ljava/lang/String;Ljava/lang/String;Laqs;)V net/minecraft/world/GameRules/func_180262_a (Ljava/lang/String;Ljava/lang/String;Lnet/minecraft/world/GameRules$ValueType;)V +MD: aqq/b ()[Ljava/lang/String; net/minecraft/world/GameRules/func_82763_b ()[Ljava/lang/String; +MD: aqq/b (Ljava/lang/String;)Z net/minecraft/world/GameRules/func_82766_b (Ljava/lang/String;)Z +MD: aqq/c (Ljava/lang/String;)I net/minecraft/world/GameRules/func_180263_c (Ljava/lang/String;)I +MD: aqq/e (Ljava/lang/String;)Z net/minecraft/world/GameRules/func_82765_e (Ljava/lang/String;)Z +MD: aqr/a ()Ljava/lang/String; net/minecraft/world/GameRules$Value/func_82756_a ()Ljava/lang/String; +MD: aqr/a (Ljava/lang/String;)V net/minecraft/world/GameRules$Value/func_82757_a (Ljava/lang/String;)V +MD: aqr/b ()Z net/minecraft/world/GameRules$Value/func_82758_b ()Z +MD: aqr/c ()I net/minecraft/world/GameRules$Value/func_180255_c ()I +MD: aqr/e ()Laqs; net/minecraft/world/GameRules$Value/func_180254_e ()Lnet/minecraft/world/GameRules$ValueType; +MD: aqs/values ()[Laqs; net/minecraft/world/GameRules$ValueType/values ()[Lnet/minecraft/world/GameRules$ValueType; +MD: aqt/a (DD)I net/minecraft/world/ColorizerGrass/func_77480_a (DD)I +MD: aqt/a ([I)V net/minecraft/world/ColorizerGrass/func_77479_a ([I)V +MD: aqu/A ()Ljava/lang/String; net/minecraft/world/World/func_72827_u ()Ljava/lang/String; +MD: aqu/A (Ldt;)I net/minecraft/world/World/func_175687_A (Lnet/minecraft/util/BlockPos;)I +MD: aqu/B ()V net/minecraft/world/World/func_72966_v ()V +MD: aqu/B (Ldt;)V net/minecraft/world/World/func_175652_B (Lnet/minecraft/util/BlockPos;)V +MD: aqu/C ()V net/minecraft/world/World/func_72947_a ()V +MD: aqu/C (Ldt;)Z net/minecraft/world/World/func_175727_C (Lnet/minecraft/util/BlockPos;)Z +MD: aqu/D ()V net/minecraft/world/World/func_72903_x ()V +MD: aqu/D (Ldt;)Z net/minecraft/world/World/func_180502_D (Lnet/minecraft/util/BlockPos;)Z +MD: aqu/E ()Ljava/util/List; net/minecraft/world/World/func_72910_y ()Ljava/util/List; +MD: aqu/E (Ldt;)Lvu; net/minecraft/world/World/func_175649_E (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/DifficultyInstance; +MD: aqu/F (Ldt;)Z net/minecraft/world/World/func_175696_F (Lnet/minecraft/util/BlockPos;)Z +MD: aqu/G ()Lare; net/minecraft/world/World/func_175624_G ()Lnet/minecraft/world/WorldType; +MD: aqu/H ()V net/minecraft/world/World/func_72882_A ()V +MD: aqu/I ()V net/minecraft/world/World/func_72906_B ()V +MD: aqu/J ()J net/minecraft/world/World/func_72905_C ()J +MD: aqu/K ()J net/minecraft/world/World/func_82737_E ()J +MD: aqu/L ()J net/minecraft/world/World/func_72820_D ()J +MD: aqu/M ()Ldt; net/minecraft/world/World/func_175694_M ()Lnet/minecraft/util/BlockPos; +MD: aqu/N ()Lbfe; net/minecraft/world/World/func_72863_F ()Lnet/minecraft/world/chunk/IChunkProvider; +MD: aqu/O ()Lbqy; net/minecraft/world/World/func_72860_G ()Lnet/minecraft/world/storage/ISaveHandler; +MD: aqu/P ()Lbqo; net/minecraft/world/World/func_72912_H ()Lnet/minecraft/world/storage/WorldInfo; +MD: aqu/Q ()Laqq; net/minecraft/world/World/func_82736_K ()Lnet/minecraft/world/GameRules; +MD: aqu/R ()Z net/minecraft/world/World/func_72911_I ()Z +MD: aqu/S ()Z net/minecraft/world/World/func_72896_J ()Z +MD: aqu/T ()Lbrn; net/minecraft/world/World/func_175693_T ()Lnet/minecraft/world/storage/MapStorage; +MD: aqu/U ()I net/minecraft/world/World/func_72800_K ()I +MD: aqu/V ()I net/minecraft/world/World/func_72940_L ()I +MD: aqu/W ()Z net/minecraft/world/World/func_72806_N ()Z +MD: aqu/X ()D net/minecraft/world/World/func_72919_O ()D +MD: aqu/Y ()Ljava/util/Calendar; net/minecraft/world/World/func_83015_S ()Ljava/util/Calendar; +MD: aqu/Z ()Lbsd; net/minecraft/world/World/func_96441_U ()Lnet/minecraft/scoreboard/Scoreboard; +MD: aqu/a (DDDD)Lahd; net/minecraft/world/World/func_72977_a (DDDD)Lnet/minecraft/entity/player/EntityPlayer; +MD: aqu/a (DDDDDDLfn;)V net/minecraft/world/World/func_92088_a (DDDDDDLnet/minecraft/nbt/NBTTagCompound;)V +MD: aqu/a (DDDLjava/lang/String;FF)V net/minecraft/world/World/func_72908_a (DDDLjava/lang/String;FF)V +MD: aqu/a (DDDLjava/lang/String;FFZ)V net/minecraft/world/World/func_72980_b (DDDLjava/lang/String;FFZ)V +MD: aqu/a (F)I net/minecraft/world/World/func_72967_a (F)I +MD: aqu/a (I)Lwv; net/minecraft/world/World/func_73045_a (I)Lnet/minecraft/entity/Entity; +MD: aqu/a (II)Lbfh; net/minecraft/world/World/func_72964_e (II)Lnet/minecraft/world/chunk/Chunk; +MD: aqu/a (III)Ljava/util/Random; net/minecraft/world/World/func_72843_D (III)Ljava/util/Random; +MD: aqu/a (IIII)V net/minecraft/world/World/func_72975_g (IIII)V +MD: aqu/a (IIIIIIZ)Z net/minecraft/world/World/func_175663_a (IIIIIIZ)Z +MD: aqu/a (IILbfh;)V net/minecraft/world/World/func_147467_a (IILnet/minecraft/world/chunk/Chunk;)V +MD: aqu/a (IIZ)Z net/minecraft/world/World/func_175680_a (IIZ)Z +MD: aqu/a (ILdt;I)V net/minecraft/world/World/func_175669_a (ILnet/minecraft/util/BlockPos;I)V +MD: aqu/a (IZDDDDDD[I)V net/minecraft/world/World/func_175720_a (IZDDDDDD[I)V +MD: aqu/a (J)V net/minecraft/world/World/func_82738_a (J)V +MD: aqu/a (Lahd;ILdt;I)V net/minecraft/world/World/func_180498_a (Lnet/minecraft/entity/player/EntityPlayer;ILnet/minecraft/util/BlockPos;I)V +MD: aqu/a (Lahd;Ldt;)Z net/minecraft/world/World/func_175660_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;)Z +MD: aqu/a (Lahd;Ldt;Lej;)Z net/minecraft/world/World/func_175719_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: aqu/a (Lahd;Ljava/lang/String;FF)V net/minecraft/world/World/func_85173_a (Lnet/minecraft/entity/player/EntityPlayer;Ljava/lang/String;FF)V +MD: aqu/a (Lara;)V net/minecraft/world/World/func_72954_a (Lnet/minecraft/world/IWorldAccess;)V +MD: aqu/a (Larb;)V net/minecraft/world/World/func_72963_a (Lnet/minecraft/world/WorldSettings;)V +MD: aqu/a (Lard;Ldt;)Z net/minecraft/world/World/func_175683_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: aqu/a (Larf;Ldt;)I net/minecraft/world/World/func_175705_a (Lnet/minecraft/world/EnumSkyBlock;Lnet/minecraft/util/BlockPos;)I +MD: aqu/a (Larf;Ldt;I)V net/minecraft/world/World/func_175653_a (Lnet/minecraft/world/EnumSkyBlock;Lnet/minecraft/util/BlockPos;I)V +MD: aqu/a (Latr;Ldt;Ljava/util/Random;)V net/minecraft/world/World/func_175637_a (Lnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;Ljava/util/Random;)V +MD: aqu/a (Latr;Ldt;ZLej;Lwv;Lamj;)Z net/minecraft/world/World/func_175716_a (Lnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;ZLnet/minecraft/util/EnumFacing;Lnet/minecraft/entity/Entity;Lnet/minecraft/item/ItemStack;)Z +MD: aqu/a (Lb;)Lj; net/minecraft/world/World/func_72914_a (Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReportCategory; +MD: aqu/a (Lbcm;)Z net/minecraft/world/World/func_175700_a (Lnet/minecraft/tileentity/TileEntity;)Z +MD: aqu/a (Lbfb;Lwv;)Z net/minecraft/world/World/func_175673_a (Lnet/minecraft/world/border/WorldBorder;Lnet/minecraft/entity/Entity;)Z +MD: aqu/a (Lbfh;Z)Ljava/util/List; net/minecraft/world/World/func_72920_a (Lnet/minecraft/world/chunk/Chunk;Z)Ljava/util/List; +MD: aqu/a (Lbjb;)Z net/minecraft/world/World/func_175711_a (Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: aqu/a (Lbjb;Z)Ljava/util/List; net/minecraft/world/World/func_175712_a (Lnet/minecraft/world/gen/structure/StructureBoundingBox;Z)Ljava/util/List; +MD: aqu/a (Lbrt;)Ljava/util/List; net/minecraft/world/World/func_147461_a (Lnet/minecraft/util/AxisAlignedBB;)Ljava/util/List; +MD: aqu/a (Lbrt;Lbof;)Z net/minecraft/world/World/func_72875_a (Lnet/minecraft/util/AxisAlignedBB;Lnet/minecraft/block/material/Material;)Z +MD: aqu/a (Lbrt;Lbof;Lwv;)Z net/minecraft/world/World/func_72918_a (Lnet/minecraft/util/AxisAlignedBB;Lnet/minecraft/block/material/Material;Lnet/minecraft/entity/Entity;)Z +MD: aqu/a (Lbrt;Lwv;)Z net/minecraft/world/World/func_72917_a (Lnet/minecraft/util/AxisAlignedBB;Lnet/minecraft/entity/Entity;)Z +MD: aqu/a (Lbrw;Lbrt;)F net/minecraft/world/World/func_72842_a (Lnet/minecraft/util/Vec3;Lnet/minecraft/util/AxisAlignedBB;)F +MD: aqu/a (Lbrw;Lbrw;)Lbru; net/minecraft/world/World/func_72933_a (Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/MovingObjectPosition; +MD: aqu/a (Lbrw;Lbrw;Z)Lbru; net/minecraft/world/World/func_72901_a (Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;Z)Lnet/minecraft/util/MovingObjectPosition; +MD: aqu/a (Lbrw;Lbrw;ZZZ)Lbru; net/minecraft/world/World/func_147447_a (Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;ZZZ)Lnet/minecraft/util/MovingObjectPosition; +MD: aqu/a (Ldt;)Z net/minecraft/world/World/func_175701_a (Lnet/minecraft/util/BlockPos;)Z +MD: aqu/a (Ldt;I)Z net/minecraft/world/World/func_175697_a (Lnet/minecraft/util/BlockPos;I)Z +MD: aqu/a (Ldt;IZ)Z net/minecraft/world/World/func_175648_a (Lnet/minecraft/util/BlockPos;IZ)Z +MD: aqu/a (Ldt;Larf;)I net/minecraft/world/World/func_175638_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/world/EnumSkyBlock;)I +MD: aqu/a (Ldt;Latr;)Z net/minecraft/world/World/func_175691_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)Z +MD: aqu/a (Ldt;Latr;I)V net/minecraft/world/World/func_175684_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;I)V +MD: aqu/a (Ldt;Latr;II)V net/minecraft/world/World/func_175654_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;II)V +MD: aqu/a (Ldt;Latr;Lej;)V net/minecraft/world/World/func_175695_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;Lnet/minecraft/util/EnumFacing;)V +MD: aqu/a (Ldt;Lbcm;)V net/minecraft/world/World/func_175690_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/tileentity/TileEntity;)V +MD: aqu/a (Ldt;Lbec;)Z net/minecraft/world/World/func_175656_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: aqu/a (Ldt;Lbec;I)Z net/minecraft/world/World/func_180501_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;I)Z +MD: aqu/a (Ldt;Ldt;)Z net/minecraft/world/World/func_175707_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;)Z +MD: aqu/a (Ldt;Ldt;Z)Z net/minecraft/world/World/func_175706_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;Z)Z +MD: aqu/a (Ldt;Lej;)I net/minecraft/world/World/func_175627_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)I +MD: aqu/a (Ldt;Ljava/lang/String;)V net/minecraft/world/World/func_175717_a (Lnet/minecraft/util/BlockPos;Ljava/lang/String;)V +MD: aqu/a (Ldt;Z)Z net/minecraft/world/World/func_175668_a (Lnet/minecraft/util/BlockPos;Z)Z +MD: aqu/a (Lew;DDDDDD[I)V net/minecraft/world/World/func_175688_a (Lnet/minecraft/util/EnumParticleTypes;DDDDDD[I)V +MD: aqu/a (Lew;ZDDDDDD[I)V net/minecraft/world/World/func_175682_a (Lnet/minecraft/util/EnumParticleTypes;ZDDDDDD[I)V +MD: aqu/a (Ljava/lang/Class;)I net/minecraft/world/World/func_72907_a (Ljava/lang/Class;)I +MD: aqu/a (Ljava/lang/Class;Lbrt;)Ljava/util/List; net/minecraft/world/World/func_72872_a (Ljava/lang/Class;Lnet/minecraft/util/AxisAlignedBB;)Ljava/util/List; +MD: aqu/a (Ljava/lang/Class;Lbrt;Lcom/google/common/base/Predicate;)Ljava/util/List; net/minecraft/world/World/func_175647_a (Ljava/lang/Class;Lnet/minecraft/util/AxisAlignedBB;Lcom/google/common/base/Predicate;)Ljava/util/List; +MD: aqu/a (Ljava/lang/Class;Lbrt;Lwv;)Lwv; net/minecraft/world/World/func_72857_a (Ljava/lang/Class;Lnet/minecraft/util/AxisAlignedBB;Lnet/minecraft/entity/Entity;)Lnet/minecraft/entity/Entity; +MD: aqu/a (Ljava/lang/Class;Lcom/google/common/base/Predicate;)Ljava/util/List; net/minecraft/world/World/func_175644_a (Ljava/lang/Class;Lcom/google/common/base/Predicate;)Ljava/util/List; +MD: aqu/a (Ljava/lang/Class;Ljava/lang/String;)Lbqc; net/minecraft/world/World/func_72943_a (Ljava/lang/Class;Ljava/lang/String;)Lnet/minecraft/world/WorldSavedData; +MD: aqu/a (Ljava/lang/String;)Lahd; net/minecraft/world/World/func_72924_a (Ljava/lang/String;)Lnet/minecraft/entity/player/EntityPlayer; +MD: aqu/a (Ljava/lang/String;Lbqc;)V net/minecraft/world/World/func_72823_a (Ljava/lang/String;Lnet/minecraft/world/WorldSavedData;)V +MD: aqu/a (Ljava/lang/String;Ldt;)Ldt; net/minecraft/world/World/func_180499_a (Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: aqu/a (Ljava/util/Collection;)V net/minecraft/world/World/func_147448_a (Ljava/util/Collection;)V +MD: aqu/a (Lwv;)V net/minecraft/world/World/func_72923_a (Lnet/minecraft/entity/Entity;)V +MD: aqu/a (Lwv;B)V net/minecraft/world/World/func_72960_a (Lnet/minecraft/entity/Entity;B)V +MD: aqu/a (Lwv;D)Lahd; net/minecraft/world/World/func_72890_a (Lnet/minecraft/entity/Entity;D)Lnet/minecraft/entity/player/EntityPlayer; +MD: aqu/a (Lwv;DDDFZ)Laqo; net/minecraft/world/World/func_72876_a (Lnet/minecraft/entity/Entity;DDDFZ)Lnet/minecraft/world/Explosion; +MD: aqu/a (Lwv;DDDFZZ)Laqo; net/minecraft/world/World/func_72885_a (Lnet/minecraft/entity/Entity;DDDFZZ)Lnet/minecraft/world/Explosion; +MD: aqu/a (Lwv;F)Lbrw; net/minecraft/world/World/func_72833_a (Lnet/minecraft/entity/Entity;F)Lnet/minecraft/util/Vec3; +MD: aqu/a (Lwv;Lbrt;)Ljava/util/List; net/minecraft/world/World/func_72945_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/util/AxisAlignedBB;)Ljava/util/List; +MD: aqu/a (Lwv;Lbrt;Lcom/google/common/base/Predicate;)Ljava/util/List; net/minecraft/world/World/func_175674_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/util/AxisAlignedBB;Lcom/google/common/base/Predicate;)Ljava/util/List; +MD: aqu/a (Lwv;Ljava/lang/String;FF)V net/minecraft/world/World/func_72956_a (Lnet/minecraft/entity/Entity;Ljava/lang/String;FF)V +MD: aqu/a (Lwv;Z)V net/minecraft/world/World/func_72866_a (Lnet/minecraft/entity/Entity;Z)V +MD: aqu/a (Z)Z net/minecraft/world/World/func_72955_a (Z)Z +MD: aqu/a (ZZ)V net/minecraft/world/World/func_72891_a (ZZ)V +MD: aqu/aa ()Lvt; net/minecraft/world/World/func_175659_aa ()Lnet/minecraft/world/EnumDifficulty; +MD: aqu/ab ()I net/minecraft/world/World/func_175657_ab ()I +MD: aqu/ac ()I net/minecraft/world/World/func_175658_ac ()I +MD: aqu/ad ()Z net/minecraft/world/World/func_175686_ad ()Z +MD: aqu/ae ()Labl; net/minecraft/world/World/func_175714_ae ()Lnet/minecraft/village/VillageCollection; +MD: aqu/af ()Lbfb; net/minecraft/world/World/func_175723_af ()Lnet/minecraft/world/border/WorldBorder; +MD: aqu/b ()Laqu; net/minecraft/world/World/func_175643_b ()Lnet/minecraft/world/World; +MD: aqu/b (DDDD)Z net/minecraft/world/World/func_175636_b (DDDD)Z +MD: aqu/b (F)F net/minecraft/world/World/func_72971_b (F)F +MD: aqu/b (I)V net/minecraft/world/World/func_175692_b (I)V +MD: aqu/b (II)I net/minecraft/world/World/func_82734_g (II)I +MD: aqu/b (IIIIII)V net/minecraft/world/World/func_147458_c (IIIIII)V +MD: aqu/b (ILdt;I)V net/minecraft/world/World/func_175718_b (ILnet/minecraft/util/BlockPos;I)V +MD: aqu/b (J)V net/minecraft/world/World/func_72877_b (J)V +MD: aqu/b (Lara;)V net/minecraft/world/World/func_72848_b (Lnet/minecraft/world/IWorldAccess;)V +MD: aqu/b (Larf;Ldt;)I net/minecraft/world/World/func_175642_b (Lnet/minecraft/world/EnumSkyBlock;Lnet/minecraft/util/BlockPos;)I +MD: aqu/b (Lbcm;)V net/minecraft/world/World/func_147457_a (Lnet/minecraft/tileentity/TileEntity;)V +MD: aqu/b (Lbjb;Z)Z net/minecraft/world/World/func_175639_b (Lnet/minecraft/world/gen/structure/StructureBoundingBox;Z)Z +MD: aqu/b (Lbrt;)Z net/minecraft/world/World/func_72855_b (Lnet/minecraft/util/AxisAlignedBB;)Z +MD: aqu/b (Lbrt;Lbof;)Z net/minecraft/world/World/func_72830_b (Lnet/minecraft/util/AxisAlignedBB;Lnet/minecraft/block/material/Material;)Z +MD: aqu/b (Ldt;)Larm; net/minecraft/world/World/func_180494_b (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/biome/BiomeGenBase; +MD: aqu/b (Ldt;I)I net/minecraft/world/World/func_175626_b (Lnet/minecraft/util/BlockPos;I)I +MD: aqu/b (Ldt;Latr;)V net/minecraft/world/World/func_175722_b (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: aqu/b (Ldt;Latr;II)V net/minecraft/world/World/func_180497_b (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;II)V +MD: aqu/b (Ldt;Lbcm;)V net/minecraft/world/World/func_175646_b (Lnet/minecraft/util/BlockPos;Lnet/minecraft/tileentity/TileEntity;)V +MD: aqu/b (Ldt;Ldt;)V net/minecraft/world/World/func_175704_b (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;)V +MD: aqu/b (Ldt;Lej;)Z net/minecraft/world/World/func_175709_b (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: aqu/b (Ldt;Z)Z net/minecraft/world/World/func_175655_b (Lnet/minecraft/util/BlockPos;Z)Z +MD: aqu/b (Ljava/lang/Class;Lcom/google/common/base/Predicate;)Ljava/util/List; net/minecraft/world/World/func_175661_b (Ljava/lang/Class;Lcom/google/common/base/Predicate;)Ljava/util/List; +MD: aqu/b (Ljava/lang/String;)I net/minecraft/world/World/func_72841_b (Ljava/lang/String;)I +MD: aqu/b (Ljava/util/Collection;)V net/minecraft/world/World/func_175650_b (Ljava/util/Collection;)V +MD: aqu/b (Ljava/util/UUID;)Lahd; net/minecraft/world/World/func_152378_a (Ljava/util/UUID;)Lnet/minecraft/entity/player/EntityPlayer; +MD: aqu/b (Lwv;)V net/minecraft/world/World/func_72847_b (Lnet/minecraft/entity/Entity;)V +MD: aqu/b (Lwv;Lbrt;)Ljava/util/List; net/minecraft/world/World/func_72839_b (Lnet/minecraft/entity/Entity;Lnet/minecraft/util/AxisAlignedBB;)Ljava/util/List; +MD: aqu/c ()V net/minecraft/world/World/func_72835_b ()V +MD: aqu/c (F)F net/minecraft/world/World/func_72826_c (F)F +MD: aqu/c (I)V net/minecraft/world/World/func_175702_c (I)V +MD: aqu/c (II)Z net/minecraft/world/World/func_72916_c (II)Z +MD: aqu/c (ILdt;I)V net/minecraft/world/World/func_175715_c (ILnet/minecraft/util/BlockPos;I)V +MD: aqu/c (Larf;Ldt;)Z net/minecraft/world/World/func_180500_c (Lnet/minecraft/world/EnumSkyBlock;Lnet/minecraft/util/BlockPos;)Z +MD: aqu/c (Lbrt;)Z net/minecraft/world/World/func_72829_c (Lnet/minecraft/util/AxisAlignedBB;)Z +MD: aqu/c (Ldt;)Latr; net/minecraft/world/World/func_175703_c (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/Block; +MD: aqu/c (Ldt;Latr;)V net/minecraft/world/World/func_175685_c (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: aqu/c (Ldt;Latr;II)V net/minecraft/world/World/func_175641_c (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;II)V +MD: aqu/c (Ldt;Lej;)I net/minecraft/world/World/func_175651_c (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)I +MD: aqu/c (Ldt;Z)I net/minecraft/world/World/func_175721_c (Lnet/minecraft/util/BlockPos;Z)I +MD: aqu/c (Ljava/util/Collection;)V net/minecraft/world/World/func_175681_c (Ljava/util/Collection;)V +MD: aqu/c (Lwv;)Z net/minecraft/world/World/func_72942_c (Lnet/minecraft/entity/Entity;)Z +MD: aqu/d ()V net/minecraft/world/World/func_72854_c ()V +MD: aqu/d (F)F net/minecraft/world/World/func_72929_e (F)F +MD: aqu/d (Lbrt;)Z net/minecraft/world/World/func_72953_d (Lnet/minecraft/util/AxisAlignedBB;)Z +MD: aqu/d (Ldt;)Z net/minecraft/world/World/func_175623_d (Lnet/minecraft/util/BlockPos;)Z +MD: aqu/d (Ldt;Latr;)V net/minecraft/world/World/func_180496_d (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: aqu/d (Ldt;Z)Z net/minecraft/world/World/func_175677_d (Lnet/minecraft/util/BlockPos;Z)Z +MD: aqu/d (Lwv;)Z net/minecraft/world/World/func_72838_d (Lnet/minecraft/entity/Entity;)Z +MD: aqu/e (F)Lbrw; net/minecraft/world/World/func_72824_f (F)Lnet/minecraft/util/Vec3; +MD: aqu/e (Lbrt;)Z net/minecraft/world/World/func_147470_e (Lnet/minecraft/util/AxisAlignedBB;)Z +MD: aqu/e (Ldt;)Z net/minecraft/world/World/func_175667_e (Lnet/minecraft/util/BlockPos;)Z +MD: aqu/e (Ldt;Latr;)V net/minecraft/world/World/func_175666_e (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: aqu/e (Ldt;Z)Z net/minecraft/world/World/func_175670_e (Lnet/minecraft/util/BlockPos;Z)Z +MD: aqu/e (Lwv;)V net/minecraft/world/World/func_72900_e (Lnet/minecraft/entity/Entity;)V +MD: aqu/f (F)Lbrw; net/minecraft/world/World/func_72948_g (F)Lnet/minecraft/util/Vec3; +MD: aqu/f (Ldt;)Lbfh; net/minecraft/world/World/func_175726_f (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/chunk/Chunk; +MD: aqu/f (Ldt;Z)Z net/minecraft/world/World/func_175708_f (Lnet/minecraft/util/BlockPos;Z)Z +MD: aqu/f (Lwv;)V net/minecraft/world/World/func_72973_f (Lnet/minecraft/entity/Entity;)V +MD: aqu/g ()V net/minecraft/world/World/func_72974_f ()V +MD: aqu/g (F)F net/minecraft/world/World/func_72880_h (F)F +MD: aqu/g (Ldt;)Z net/minecraft/world/World/func_175698_g (Lnet/minecraft/util/BlockPos;)Z +MD: aqu/g (Lwv;)V net/minecraft/world/World/func_72870_g (Lnet/minecraft/entity/Entity;)V +MD: aqu/h ()V net/minecraft/world/World/func_147456_g ()V +MD: aqu/h (F)F net/minecraft/world/World/func_72819_i (F)F +MD: aqu/h (Ldt;)V net/minecraft/world/World/func_175689_h (Lnet/minecraft/util/BlockPos;)V +MD: aqu/h (Lwv;)V net/minecraft/world/World/func_72897_h (Lnet/minecraft/entity/Entity;)V +MD: aqu/i ()V net/minecraft/world/World/func_72939_s ()V +MD: aqu/i (F)V net/minecraft/world/World/func_147442_i (F)V +MD: aqu/i (Ldt;)Z net/minecraft/world/World/func_175678_i (Lnet/minecraft/util/BlockPos;)Z +MD: aqu/j (F)F net/minecraft/world/World/func_72867_j (F)F +MD: aqu/j (Ldt;)Z net/minecraft/world/World/func_175710_j (Lnet/minecraft/util/BlockPos;)Z +MD: aqu/k ()Lbfe; net/minecraft/world/World/func_72970_h ()Lnet/minecraft/world/chunk/IChunkProvider; +MD: aqu/k (F)V net/minecraft/world/World/func_72894_k (F)V +MD: aqu/k (Ldt;)I net/minecraft/world/World/func_175699_k (Lnet/minecraft/util/BlockPos;)I +MD: aqu/l (Ldt;)I net/minecraft/world/World/func_175671_l (Lnet/minecraft/util/BlockPos;)I +MD: aqu/m (Ldt;)Ldt; net/minecraft/world/World/func_175645_m (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: aqu/n (Ldt;)V net/minecraft/world/World/func_175679_n (Lnet/minecraft/util/BlockPos;)V +MD: aqu/o (Ldt;)F net/minecraft/world/World/func_175724_o (Lnet/minecraft/util/BlockPos;)F +MD: aqu/p ()V net/minecraft/world/World/func_72979_l ()V +MD: aqu/p (Ldt;)Lbec; net/minecraft/world/World/func_180495_p (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: aqu/q ()I net/minecraft/world/World/func_152379_p ()I +MD: aqu/q (Ldt;)Ldt; net/minecraft/world/World/func_175725_q (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: aqu/r (Ldt;)Ldt; net/minecraft/world/World/func_175672_r (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: aqu/s (Ldt;)Lbcm; net/minecraft/world/World/func_175625_s (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/tileentity/TileEntity; +MD: aqu/t (Ldt;)V net/minecraft/world/World/func_175713_t (Lnet/minecraft/util/BlockPos;)V +MD: aqu/u (Ldt;)Z net/minecraft/world/World/func_175665_u (Lnet/minecraft/util/BlockPos;)Z +MD: aqu/v ()Larz; net/minecraft/world/World/func_72959_q ()Lnet/minecraft/world/biome/WorldChunkManager; +MD: aqu/v (Ldt;)Z net/minecraft/world/World/func_175675_v (Lnet/minecraft/util/BlockPos;)Z +MD: aqu/w ()Z net/minecraft/world/World/func_72935_r ()Z +MD: aqu/w (Ldt;)Z net/minecraft/world/World/func_175662_w (Lnet/minecraft/util/BlockPos;)Z +MD: aqu/x ()I net/minecraft/world/World/func_72853_d ()I +MD: aqu/x (Ldt;)Z net/minecraft/world/World/func_175664_x (Lnet/minecraft/util/BlockPos;)Z +MD: aqu/y ()F net/minecraft/world/World/func_130001_d ()F +MD: aqu/y (Ldt;)I net/minecraft/world/World/func_175676_y (Lnet/minecraft/util/BlockPos;)I +MD: aqu/z ()Ljava/lang/String; net/minecraft/world/World/func_72981_t ()Ljava/lang/String; +MD: aqu/z (Ldt;)Z net/minecraft/world/World/func_175640_z (Lnet/minecraft/util/BlockPos;)Z +MD: aqv/a ()Ljava/lang/String; net/minecraft/world/World$1/call ()Ljava/lang/String; +MD: aqv/call ()Ljava/lang/Object; net/minecraft/world/World$1/call ()Ljava/lang/Object; +MD: aqw/a ()Ljava/lang/String; net/minecraft/world/World$2/call ()Ljava/lang/String; +MD: aqw/call ()Ljava/lang/Object; net/minecraft/world/World$2/call ()Ljava/lang/Object; +MD: aqx/a ()Ljava/lang/String; net/minecraft/world/World$3/call ()Ljava/lang/String; +MD: aqx/call ()Ljava/lang/Object; net/minecraft/world/World$3/call ()Ljava/lang/Object; +MD: aqy/a ()Ljava/lang/String; net/minecraft/world/World$4/call ()Ljava/lang/String; +MD: aqy/call ()Ljava/lang/Object; net/minecraft/world/World$4/call ()Ljava/lang/Object; +MD: ar/a (Lwv;)Z net/minecraft/command/PlayerSelector$7/func_179600_a (Lnet/minecraft/entity/Entity;)Z +MD: ar/apply (Ljava/lang/Object;)Z net/minecraft/command/PlayerSelector$7/apply (Ljava/lang/Object;)Z +MD: ara/a (IIIIII)V net/minecraft/world/IWorldAccess/func_147585_a (IIIIII)V +MD: ara/a (ILdt;I)V net/minecraft/world/IWorldAccess/func_180440_a (ILnet/minecraft/util/BlockPos;I)V +MD: ara/a (IZDDDDDD[I)V net/minecraft/world/IWorldAccess/func_180442_a (IZDDDDDD[I)V +MD: ara/a (Lahd;ILdt;I)V net/minecraft/world/IWorldAccess/func_180439_a (Lnet/minecraft/entity/player/EntityPlayer;ILnet/minecraft/util/BlockPos;I)V +MD: ara/a (Lahd;Ljava/lang/String;DDDFF)V net/minecraft/world/IWorldAccess/func_85102_a (Lnet/minecraft/entity/player/EntityPlayer;Ljava/lang/String;DDDFF)V +MD: ara/a (Ldt;)V net/minecraft/world/IWorldAccess/func_174960_a (Lnet/minecraft/util/BlockPos;)V +MD: ara/a (Ljava/lang/String;DDDFF)V net/minecraft/world/IWorldAccess/func_72704_a (Ljava/lang/String;DDDFF)V +MD: ara/a (Ljava/lang/String;Ldt;)V net/minecraft/world/IWorldAccess/func_174961_a (Ljava/lang/String;Lnet/minecraft/util/BlockPos;)V +MD: ara/a (Lwv;)V net/minecraft/world/IWorldAccess/func_72703_a (Lnet/minecraft/entity/Entity;)V +MD: ara/b (ILdt;I)V net/minecraft/world/IWorldAccess/func_180441_b (ILnet/minecraft/util/BlockPos;I)V +MD: ara/b (Ldt;)V net/minecraft/world/IWorldAccess/func_174959_b (Lnet/minecraft/util/BlockPos;)V +MD: ara/b (Lwv;)V net/minecraft/world/IWorldAccess/func_72709_b (Lnet/minecraft/entity/Entity;)V +MD: arb/a ()Larb; net/minecraft/world/WorldSettings/func_77159_a ()Lnet/minecraft/world/WorldSettings; +MD: arb/a (I)Larc; net/minecraft/world/WorldSettings/func_77161_a (I)Lnet/minecraft/world/WorldSettings$GameType; +MD: arb/a (Ljava/lang/String;)Larb; net/minecraft/world/WorldSettings/func_82750_a (Ljava/lang/String;)Lnet/minecraft/world/WorldSettings; +MD: arb/b ()Larb; net/minecraft/world/WorldSettings/func_77166_b ()Lnet/minecraft/world/WorldSettings; +MD: arb/c ()Z net/minecraft/world/WorldSettings/func_77167_c ()Z +MD: arb/d ()J net/minecraft/world/WorldSettings/func_77160_d ()J +MD: arb/e ()Larc; net/minecraft/world/WorldSettings/func_77162_e ()Lnet/minecraft/world/WorldSettings$GameType; +MD: arb/f ()Z net/minecraft/world/WorldSettings/func_77158_f ()Z +MD: arb/g ()Z net/minecraft/world/WorldSettings/func_77164_g ()Z +MD: arb/h ()Lare; net/minecraft/world/WorldSettings/func_77165_h ()Lnet/minecraft/world/WorldType; +MD: arb/i ()Z net/minecraft/world/WorldSettings/func_77163_i ()Z +MD: arb/j ()Ljava/lang/String; net/minecraft/world/WorldSettings/func_82749_j ()Ljava/lang/String; +MD: arc/a ()I net/minecraft/world/WorldSettings$GameType/func_77148_a ()I +MD: arc/a (I)Larc; net/minecraft/world/WorldSettings$GameType/func_77146_a (I)Lnet/minecraft/world/WorldSettings$GameType; +MD: arc/a (Laha;)V net/minecraft/world/WorldSettings$GameType/func_77147_a (Lnet/minecraft/entity/player/PlayerCapabilities;)V +MD: arc/a (Ljava/lang/String;)Larc; net/minecraft/world/WorldSettings$GameType/func_77142_a (Ljava/lang/String;)Lnet/minecraft/world/WorldSettings$GameType; +MD: arc/b ()Ljava/lang/String; net/minecraft/world/WorldSettings$GameType/func_77149_b ()Ljava/lang/String; +MD: arc/c ()Z net/minecraft/world/WorldSettings$GameType/func_82752_c ()Z +MD: arc/d ()Z net/minecraft/world/WorldSettings$GameType/func_77145_d ()Z +MD: arc/e ()Z net/minecraft/world/WorldSettings$GameType/func_77144_e ()Z +MD: arc/values ()[Larc; net/minecraft/world/WorldSettings$GameType/values ()[Lnet/minecraft/world/WorldSettings$GameType; +MD: ard/G ()Lare; net/minecraft/world/IBlockAccess/func_175624_G ()Lnet/minecraft/world/WorldType; +MD: ard/W ()Z net/minecraft/world/IBlockAccess/func_72806_N ()Z +MD: ard/a (Ldt;Lej;)I net/minecraft/world/IBlockAccess/func_175627_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)I +MD: ard/b (Ldt;)Larm; net/minecraft/world/IBlockAccess/func_180494_b (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/biome/BiomeGenBase; +MD: ard/b (Ldt;I)I net/minecraft/world/IBlockAccess/func_175626_b (Lnet/minecraft/util/BlockPos;I)I +MD: ard/d (Ldt;)Z net/minecraft/world/IBlockAccess/func_175623_d (Lnet/minecraft/util/BlockPos;)Z +MD: ard/p (Ldt;)Lbec; net/minecraft/world/IBlockAccess/func_180495_p (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: ard/s (Ldt;)Lbcm; net/minecraft/world/IBlockAccess/func_175625_s (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/tileentity/TileEntity; +MD: are/a ()Ljava/lang/String; net/minecraft/world/WorldType/func_77127_a ()Ljava/lang/String; +MD: are/a (I)Lare; net/minecraft/world/WorldType/func_77132_a (I)Lnet/minecraft/world/WorldType; +MD: are/a (Ljava/lang/String;)Lare; net/minecraft/world/WorldType/func_77130_a (Ljava/lang/String;)Lnet/minecraft/world/WorldType; +MD: are/a (Z)Lare; net/minecraft/world/WorldType/func_77124_a (Z)Lnet/minecraft/world/WorldType; +MD: are/b ()Ljava/lang/String; net/minecraft/world/WorldType/func_77128_b ()Ljava/lang/String; +MD: are/c ()Ljava/lang/String; net/minecraft/world/WorldType/func_151359_c ()Ljava/lang/String; +MD: are/d ()I net/minecraft/world/WorldType/func_77131_c ()I +MD: are/e ()Z net/minecraft/world/WorldType/func_77126_d ()Z +MD: are/f ()Z net/minecraft/world/WorldType/func_77125_e ()Z +MD: are/g ()I net/minecraft/world/WorldType/func_82747_f ()I +MD: are/h ()Z net/minecraft/world/WorldType/func_151357_h ()Z +MD: are/i ()Lare; net/minecraft/world/WorldType/func_77129_f ()Lnet/minecraft/world/WorldType; +MD: are/j ()Lare; net/minecraft/world/WorldType/func_151358_j ()Lnet/minecraft/world/WorldType; +MD: arf/valueOf (Ljava/lang/String;)Larf; net/minecraft/world/EnumSkyBlock/valueOf (Ljava/lang/String;)Lnet/minecraft/world/EnumSkyBlock; +MD: arf/values ()[Larf; net/minecraft/world/EnumSkyBlock/values ()[Lnet/minecraft/world/EnumSkyBlock; +MD: arg/a (Laqu;II)Ldt; net/minecraft/world/SpawnerAnimals/func_180621_a (Lnet/minecraft/world/World;II)Lnet/minecraft/util/BlockPos; +MD: arg/a (Laqu;Larm;IIIILjava/util/Random;)V net/minecraft/world/SpawnerAnimals/func_77191_a (Lnet/minecraft/world/World;Lnet/minecraft/world/biome/BiomeGenBase;IIIILjava/util/Random;)V +MD: arg/a (Lqt;ZZZ)I net/minecraft/world/SpawnerAnimals/func_77192_a (Lnet/minecraft/world/WorldServer;ZZZ)I +MD: arg/a (Lxo;Laqu;Ldt;)Z net/minecraft/world/SpawnerAnimals/func_180267_a (Lnet/minecraft/entity/EntityLiving$SpawnPlacementType;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: arh/a (J)V net/minecraft/world/Teleporter/func_85189_a (J)V +MD: arh/a (Ldt;)Z net/minecraft/world/Teleporter/func_180265_a (Lnet/minecraft/util/BlockPos;)Z +MD: arh/a (Lwv;)Z net/minecraft/world/Teleporter/func_85188_a (Lnet/minecraft/entity/Entity;)Z +MD: arh/a (Lwv;F)V net/minecraft/world/Teleporter/func_180266_a (Lnet/minecraft/entity/Entity;F)V +MD: arh/b (Lwv;F)Z net/minecraft/world/Teleporter/func_180620_b (Lnet/minecraft/entity/Entity;F)Z +MD: arj/G ()Lare; net/minecraft/world/ChunkCache/func_175624_G ()Lnet/minecraft/world/WorldType; +MD: arj/W ()Z net/minecraft/world/ChunkCache/func_72806_N ()Z +MD: arj/a (Larf;Ldt;)I net/minecraft/world/ChunkCache/func_175629_a (Lnet/minecraft/world/EnumSkyBlock;Lnet/minecraft/util/BlockPos;)I +MD: arj/a (Ldt;Lej;)I net/minecraft/world/ChunkCache/func_175627_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)I +MD: arj/b (Larf;Ldt;)I net/minecraft/world/ChunkCache/func_175628_b (Lnet/minecraft/world/EnumSkyBlock;Lnet/minecraft/util/BlockPos;)I +MD: arj/b (Ldt;)Larm; net/minecraft/world/ChunkCache/func_180494_b (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arj/b (Ldt;I)I net/minecraft/world/ChunkCache/func_175626_b (Lnet/minecraft/util/BlockPos;I)I +MD: arj/d (Ldt;)Z net/minecraft/world/ChunkCache/func_175623_d (Lnet/minecraft/util/BlockPos;)Z +MD: arj/p (Ldt;)Lbec; net/minecraft/world/ChunkCache/func_180495_p (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: arj/s (Ldt;)Lbcm; net/minecraft/world/ChunkCache/func_175625_s (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/tileentity/TileEntity; +MD: ark/a ()Latr; net/minecraft/world/NextTickListEntry/func_151351_a ()Lnet/minecraft/block/Block; +MD: ark/a (I)V net/minecraft/world/NextTickListEntry/func_82753_a (I)V +MD: ark/a (J)Lark; net/minecraft/world/NextTickListEntry/func_77176_a (J)Lnet/minecraft/world/NextTickListEntry; +MD: ark/a (Lark;)I net/minecraft/world/NextTickListEntry/compareTo (Lnet/minecraft/world/NextTickListEntry;)I +MD: ark/compareTo (Ljava/lang/Object;)I net/minecraft/world/NextTickListEntry/compareTo (Ljava/lang/Object;)I +MD: ark/equals (Ljava/lang/Object;)Z net/minecraft/world/NextTickListEntry/equals (Ljava/lang/Object;)Z +MD: ark/hashCode ()I net/minecraft/world/NextTickListEntry/hashCode ()I +MD: ark/toString ()Ljava/lang/String; net/minecraft/world/NextTickListEntry/toString ()Ljava/lang/String; +MD: arm/a ()Lary; net/minecraft/world/biome/BiomeGenBase/func_76729_a ()Lnet/minecraft/world/biome/BiomeDecorator; +MD: arm/a (F)I net/minecraft/world/biome/BiomeGenBase/func_76731_a (F)I +MD: arm/a (FF)Larm; net/minecraft/world/biome/BiomeGenBase/func_76732_a (FF)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arm/a (I)Larm; net/minecraft/world/biome/BiomeGenBase/func_76733_a (I)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arm/a (ILarm;)Larm; net/minecraft/world/biome/BiomeGenBase/func_180276_a (ILnet/minecraft/world/biome/BiomeGenBase;)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arm/a (IZ)Larm; net/minecraft/world/biome/BiomeGenBase/func_150557_a (IZ)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arm/a (Laqu;Ljava/util/Random;Lbgk;IID)V net/minecraft/world/biome/BiomeGenBase/func_180622_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/chunk/ChunkPrimer;IID)V +MD: arm/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/biome/BiomeGenBase/func_180624_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: arm/a (Larm;)Z net/minecraft/world/biome/BiomeGenBase/func_150569_a (Lnet/minecraft/world/biome/BiomeGenBase;)Z +MD: arm/a (Laro;)Larm; net/minecraft/world/biome/BiomeGenBase/func_150570_a (Lnet/minecraft/world/biome/BiomeGenBase$Height;)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arm/a (Ldt;)F net/minecraft/world/biome/BiomeGenBase/func_180626_a (Lnet/minecraft/util/BlockPos;)F +MD: arm/a (Ljava/lang/String;)Larm; net/minecraft/world/biome/BiomeGenBase/func_76735_a (Ljava/lang/String;)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arm/a (Ljava/util/Random;)Lbhc; net/minecraft/world/biome/BiomeGenBase/func_150567_a (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenAbstractTree; +MD: arm/a (Ljava/util/Random;Ldt;)Lawa; net/minecraft/world/biome/BiomeGenBase/func_180623_a (Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/BlockFlower$EnumFlowerType; +MD: arm/a (Lxp;)Ljava/util/List; net/minecraft/world/biome/BiomeGenBase/func_76747_a (Lnet/minecraft/entity/EnumCreatureType;)Ljava/util/List; +MD: arm/b ()Larm; net/minecraft/world/biome/BiomeGenBase/func_76745_m ()Lnet/minecraft/world/biome/BiomeGenBase; +MD: arm/b (I)Larm; net/minecraft/world/biome/BiomeGenBase/func_76739_b (I)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arm/b (Laqu;Ljava/util/Random;Lbgk;IID)V net/minecraft/world/biome/BiomeGenBase/func_180628_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/chunk/ChunkPrimer;IID)V +MD: arm/b (Ldt;)I net/minecraft/world/biome/BiomeGenBase/func_180627_b (Lnet/minecraft/util/BlockPos;)I +MD: arm/b (Ljava/util/Random;)Lbhp; net/minecraft/world/biome/BiomeGenBase/func_76730_b (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenerator; +MD: arm/c ()Larm; net/minecraft/world/biome/BiomeGenBase/func_76742_b ()Lnet/minecraft/world/biome/BiomeGenBase; +MD: arm/c (I)Larm; net/minecraft/world/biome/BiomeGenBase/func_150563_c (I)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arm/c (Ldt;)I net/minecraft/world/biome/BiomeGenBase/func_180625_c (Lnet/minecraft/util/BlockPos;)I +MD: arm/d ()Z net/minecraft/world/biome/BiomeGenBase/func_76746_c ()Z +MD: arm/d (I)Larm; net/minecraft/world/biome/BiomeGenBase/func_180277_d (I)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arm/e ()Z net/minecraft/world/biome/BiomeGenBase/func_76738_d ()Z +MD: arm/e (I)Larm; net/minecraft/world/biome/BiomeGenBase/func_150568_d (I)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arm/f ()Z net/minecraft/world/biome/BiomeGenBase/func_76736_e ()Z +MD: arm/g ()F net/minecraft/world/biome/BiomeGenBase/func_76741_f ()F +MD: arm/h ()I net/minecraft/world/biome/BiomeGenBase/func_76744_g ()I +MD: arm/i ()F net/minecraft/world/biome/BiomeGenBase/func_76727_i ()F +MD: arm/j ()Z net/minecraft/world/biome/BiomeGenBase/func_150559_j ()Z +MD: arm/k ()Larm; net/minecraft/world/biome/BiomeGenBase/func_150566_k ()Lnet/minecraft/world/biome/BiomeGenBase; +MD: arm/l ()Ljava/lang/Class; net/minecraft/world/biome/BiomeGenBase/func_150562_l ()Ljava/lang/Class; +MD: arm/m ()Larp; net/minecraft/world/biome/BiomeGenBase/func_150561_m ()Lnet/minecraft/world/biome/BiomeGenBase$TempCategory; +MD: arm/n ()[Larm; net/minecraft/world/biome/BiomeGenBase/func_150565_n ()[Lnet/minecraft/world/biome/BiomeGenBase; +MD: aro/a ()Laro; net/minecraft/world/biome/BiomeGenBase$Height/func_150775_a ()Lnet/minecraft/world/biome/BiomeGenBase$Height; +MD: arp/values ()[Larp; net/minecraft/world/biome/BiomeGenBase$TempCategory/values ()[Lnet/minecraft/world/biome/BiomeGenBase$TempCategory; +MD: arq/toString ()Ljava/lang/String; net/minecraft/world/biome/BiomeGenBase$SpawnListEntry/toString ()Ljava/lang/String; +MD: arr/a ()V net/minecraft/world/biome/BiomeCache/func_76838_a ()V +MD: arr/a (II)Lars; net/minecraft/world/biome/BiomeCache/func_76840_a (II)Lnet/minecraft/world/biome/BiomeCache$Block; +MD: arr/a (IILarm;)Larm; net/minecraft/world/biome/BiomeCache/func_180284_a (IILnet/minecraft/world/biome/BiomeGenBase;)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arr/a (Larr;)Larz; net/minecraft/world/biome/BiomeCache/access$000 (Lnet/minecraft/world/biome/BiomeCache;)Lnet/minecraft/world/biome/WorldChunkManager; +MD: arr/c (II)[Larm; net/minecraft/world/biome/BiomeCache/func_76839_e (II)[Lnet/minecraft/world/biome/BiomeGenBase; +MD: ars/a (II)Larm; net/minecraft/world/biome/BiomeCache$Block/func_76885_a (II)Lnet/minecraft/world/biome/BiomeGenBase; +MD: art/a (Lard;Ldt;)I net/minecraft/world/biome/BiomeColorHelper/func_180286_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)I +MD: art/a (Lard;Ldt;Larx;)I net/minecraft/world/biome/BiomeColorHelper/func_180285_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/world/biome/BiomeColorHelper$ColorResolver;)I +MD: art/b (Lard;Ldt;)I net/minecraft/world/biome/BiomeColorHelper/func_180287_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)I +MD: art/c (Lard;Ldt;)I net/minecraft/world/biome/BiomeColorHelper/func_180288_c (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)I +MD: aru/a (Larm;Ldt;)I net/minecraft/world/biome/BiomeColorHelper$1/func_180283_a (Lnet/minecraft/world/biome/BiomeGenBase;Lnet/minecraft/util/BlockPos;)I +MD: arv/a (Larm;Ldt;)I net/minecraft/world/biome/BiomeColorHelper$2/func_180283_a (Lnet/minecraft/world/biome/BiomeGenBase;Lnet/minecraft/util/BlockPos;)I +MD: arw/a (Larm;Ldt;)I net/minecraft/world/biome/BiomeColorHelper$3/func_180283_a (Lnet/minecraft/world/biome/BiomeGenBase;Lnet/minecraft/util/BlockPos;)I +MD: arx/a (Larm;Ldt;)I net/minecraft/world/biome/BiomeColorHelper$ColorResolver/func_180283_a (Lnet/minecraft/world/biome/BiomeGenBase;Lnet/minecraft/util/BlockPos;)I +MD: ary/a ()V net/minecraft/world/biome/BiomeDecorator/func_76797_b ()V +MD: ary/a (ILbhp;II)V net/minecraft/world/biome/BiomeDecorator/func_76795_a (ILnet/minecraft/world/gen/feature/WorldGenerator;II)V +MD: ary/a (Laqu;Ljava/util/Random;Larm;Ldt;)V net/minecraft/world/biome/BiomeDecorator/func_180292_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/biome/BiomeGenBase;Lnet/minecraft/util/BlockPos;)V +MD: ary/a (Larm;)V net/minecraft/world/biome/BiomeDecorator/func_150513_a (Lnet/minecraft/world/biome/BiomeGenBase;)V +MD: ary/b (ILbhp;II)V net/minecraft/world/biome/BiomeDecorator/func_76793_b (ILnet/minecraft/world/gen/feature/WorldGenerator;II)V +MD: arz/a ()Ljava/util/List; net/minecraft/world/biome/WorldChunkManager/func_76932_a ()Ljava/util/List; +MD: arz/a (FI)F net/minecraft/world/biome/WorldChunkManager/func_76939_a (FI)F +MD: arz/a (IIILjava/util/List;)Z net/minecraft/world/biome/WorldChunkManager/func_76940_a (IIILjava/util/List;)Z +MD: arz/a (IIILjava/util/List;Ljava/util/Random;)Ldt; net/minecraft/world/biome/WorldChunkManager/func_180630_a (IIILjava/util/List;Ljava/util/Random;)Lnet/minecraft/util/BlockPos; +MD: arz/a (Ldt;)Larm; net/minecraft/world/biome/WorldChunkManager/func_180631_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arz/a (Ldt;Larm;)Larm; net/minecraft/world/biome/WorldChunkManager/func_180300_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/world/biome/BiomeGenBase;)Lnet/minecraft/world/biome/BiomeGenBase; +MD: arz/a ([FIIII)[F net/minecraft/world/biome/WorldChunkManager/func_76936_a ([FIIII)[F +MD: arz/a ([Larm;IIII)[Larm; net/minecraft/world/biome/WorldChunkManager/func_76937_a ([Lnet/minecraft/world/biome/BiomeGenBase;IIII)[Lnet/minecraft/world/biome/BiomeGenBase; +MD: arz/a ([Larm;IIIIZ)[Larm; net/minecraft/world/biome/WorldChunkManager/func_76931_a ([Lnet/minecraft/world/biome/BiomeGenBase;IIIIZ)[Lnet/minecraft/world/biome/BiomeGenBase; +MD: arz/b ()V net/minecraft/world/biome/WorldChunkManager/func_76938_b ()V +MD: arz/b ([Larm;IIII)[Larm; net/minecraft/world/biome/WorldChunkManager/func_76933_b ([Lnet/minecraft/world/biome/BiomeGenBase;IIII)[Lnet/minecraft/world/biome/BiomeGenBase; +MD: as/a (Lwv;)Z net/minecraft/command/PlayerSelector$8/func_179594_a (Lnet/minecraft/entity/Entity;)Z +MD: as/apply (Ljava/lang/Object;)Z net/minecraft/command/PlayerSelector$8/apply (Ljava/lang/Object;)Z +MD: asa/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/biome/BiomeGenDesert/func_180624_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: asb/a (Laqu;Ljava/util/Random;Lbgk;IID)V net/minecraft/world/biome/BiomeGenHills/func_180622_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/chunk/ChunkPrimer;IID)V +MD: asb/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/biome/BiomeGenHills/func_180624_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: asb/a (Ljava/util/Random;)Lbhc; net/minecraft/world/biome/BiomeGenHills/func_150567_a (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenAbstractTree; +MD: asb/b (Larm;)Lasb; net/minecraft/world/biome/BiomeGenHills/func_150633_b (Lnet/minecraft/world/biome/BiomeGenBase;)Lnet/minecraft/world/biome/BiomeGenHills; +MD: asb/d (I)Larm; net/minecraft/world/biome/BiomeGenHills/func_180277_d (I)Lnet/minecraft/world/biome/BiomeGenBase; +MD: asc/a (IIILjava/util/List;)Z net/minecraft/world/biome/WorldChunkManagerHell/func_76940_a (IIILjava/util/List;)Z +MD: asc/a (IIILjava/util/List;Ljava/util/Random;)Ldt; net/minecraft/world/biome/WorldChunkManagerHell/func_180630_a (IIILjava/util/List;Ljava/util/Random;)Lnet/minecraft/util/BlockPos; +MD: asc/a (Ldt;)Larm; net/minecraft/world/biome/WorldChunkManagerHell/func_180631_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/biome/BiomeGenBase; +MD: asc/a ([FIIII)[F net/minecraft/world/biome/WorldChunkManagerHell/func_76936_a ([FIIII)[F +MD: asc/a ([Larm;IIII)[Larm; net/minecraft/world/biome/WorldChunkManagerHell/func_76937_a ([Lnet/minecraft/world/biome/BiomeGenBase;IIII)[Lnet/minecraft/world/biome/BiomeGenBase; +MD: asc/a ([Larm;IIIIZ)[Larm; net/minecraft/world/biome/WorldChunkManagerHell/func_76931_a ([Lnet/minecraft/world/biome/BiomeGenBase;IIIIZ)[Lnet/minecraft/world/biome/BiomeGenBase; +MD: asc/b ([Larm;IIII)[Larm; net/minecraft/world/biome/WorldChunkManagerHell/func_76933_b ([Lnet/minecraft/world/biome/BiomeGenBase;IIII)[Lnet/minecraft/world/biome/BiomeGenBase; +MD: asd/a (IZ)Larm; net/minecraft/world/biome/BiomeGenForest/func_150557_a (IZ)Lnet/minecraft/world/biome/BiomeGenBase; +MD: asd/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/biome/BiomeGenForest/func_180624_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: asd/a (Ljava/util/Random;)Lbhc; net/minecraft/world/biome/BiomeGenForest/func_150567_a (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenAbstractTree; +MD: asd/a (Ljava/util/Random;Ldt;)Lawa; net/minecraft/world/biome/BiomeGenForest/func_180623_a (Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/BlockFlower$EnumFlowerType; +MD: asd/b (Ldt;)I net/minecraft/world/biome/BiomeGenForest/func_180627_b (Lnet/minecraft/util/BlockPos;)I +MD: asd/d (I)Larm; net/minecraft/world/biome/BiomeGenForest/func_180277_d (I)Lnet/minecraft/world/biome/BiomeGenBase; +MD: ase/a (Ljava/util/Random;)Lbhc; net/minecraft/world/biome/BiomeGenForest$2/func_150567_a (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenAbstractTree; +MD: asf/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/biome/BiomeGenForest$1/func_180624_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: ash/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/biome/BiomeGenSnow/func_180624_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: ash/a (Ljava/util/Random;)Lbhc; net/minecraft/world/biome/BiomeGenSnow/func_150567_a (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenAbstractTree; +MD: ash/d (I)Larm; net/minecraft/world/biome/BiomeGenSnow/func_180277_d (I)Lnet/minecraft/world/biome/BiomeGenBase; +MD: asi/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/biome/BiomeGenJungle/func_180624_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: asi/a (Ljava/util/Random;)Lbhc; net/minecraft/world/biome/BiomeGenJungle/func_150567_a (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenAbstractTree; +MD: asi/b (Ljava/util/Random;)Lbhp; net/minecraft/world/biome/BiomeGenJungle/func_76730_b (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenerator; +MD: asj/a (III)Lbec; net/minecraft/world/biome/BiomeGenMesa/func_180629_a (III)Lnet/minecraft/block/state/IBlockState; +MD: asj/a (J)V net/minecraft/world/biome/BiomeGenMesa/func_150619_a (J)V +MD: asj/a (Laqu;Ljava/util/Random;Lbgk;IID)V net/minecraft/world/biome/BiomeGenMesa/func_180622_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/chunk/ChunkPrimer;IID)V +MD: asj/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/biome/BiomeGenMesa/func_180624_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: asj/a (Ljava/util/Random;)Lbhc; net/minecraft/world/biome/BiomeGenMesa/func_150567_a (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenAbstractTree; +MD: asj/b (Ldt;)I net/minecraft/world/biome/BiomeGenMesa/func_180627_b (Lnet/minecraft/util/BlockPos;)I +MD: asj/c (Ldt;)I net/minecraft/world/biome/BiomeGenMesa/func_180625_c (Lnet/minecraft/util/BlockPos;)I +MD: asj/d (I)Larm; net/minecraft/world/biome/BiomeGenMesa/func_180277_d (I)Lnet/minecraft/world/biome/BiomeGenBase; +MD: asl/a (Laqu;Ljava/util/Random;Lbgk;IID)V net/minecraft/world/biome/BiomeGenMutated/func_180622_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/chunk/ChunkPrimer;IID)V +MD: asl/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/biome/BiomeGenMutated/func_180624_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: asl/a (Larm;)Z net/minecraft/world/biome/BiomeGenMutated/func_150569_a (Lnet/minecraft/world/biome/BiomeGenBase;)Z +MD: asl/a (Ljava/util/Random;)Lbhc; net/minecraft/world/biome/BiomeGenMutated/func_150567_a (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenAbstractTree; +MD: asl/b (Ldt;)I net/minecraft/world/biome/BiomeGenMutated/func_180627_b (Lnet/minecraft/util/BlockPos;)I +MD: asl/c (Ldt;)I net/minecraft/world/biome/BiomeGenMutated/func_180625_c (Lnet/minecraft/util/BlockPos;)I +MD: asl/g ()F net/minecraft/world/biome/BiomeGenMutated/func_76741_f ()F +MD: asl/l ()Ljava/lang/Class; net/minecraft/world/biome/BiomeGenMutated/func_150562_l ()Ljava/lang/Class; +MD: asl/m ()Larp; net/minecraft/world/biome/BiomeGenMutated/func_150561_m ()Lnet/minecraft/world/biome/BiomeGenBase$TempCategory; +MD: asm/a (Laqu;Ljava/util/Random;Lbgk;IID)V net/minecraft/world/biome/BiomeGenOcean/func_180622_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/chunk/ChunkPrimer;IID)V +MD: asm/m ()Larp; net/minecraft/world/biome/BiomeGenOcean/func_150561_m ()Lnet/minecraft/world/biome/BiomeGenBase$TempCategory; +MD: asn/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/biome/BiomeGenPlains/func_180624_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: asn/a (Ljava/util/Random;Ldt;)Lawa; net/minecraft/world/biome/BiomeGenPlains/func_180623_a (Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/BlockFlower$EnumFlowerType; +MD: asn/d (I)Larm; net/minecraft/world/biome/BiomeGenPlains/func_180277_d (I)Lnet/minecraft/world/biome/BiomeGenBase; +MD: asq/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/biome/BiomeGenSavanna/func_180624_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: asq/a (Ljava/util/Random;)Lbhc; net/minecraft/world/biome/BiomeGenSavanna/func_150567_a (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenAbstractTree; +MD: asq/d (I)Larm; net/minecraft/world/biome/BiomeGenSavanna/func_180277_d (I)Lnet/minecraft/world/biome/BiomeGenBase; +MD: asr/a (Laqu;Ljava/util/Random;Lbgk;IID)V net/minecraft/world/biome/BiomeGenSavanna$Mutated/func_180622_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/chunk/ChunkPrimer;IID)V +MD: asr/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/biome/BiomeGenSavanna$Mutated/func_180624_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: ast/a (Laqu;Ljava/util/Random;Lbgk;IID)V net/minecraft/world/biome/BiomeGenSwamp/func_180622_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/chunk/ChunkPrimer;IID)V +MD: ast/a (Ljava/util/Random;)Lbhc; net/minecraft/world/biome/BiomeGenSwamp/func_150567_a (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenAbstractTree; +MD: ast/a (Ljava/util/Random;Ldt;)Lawa; net/minecraft/world/biome/BiomeGenSwamp/func_180623_a (Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/BlockFlower$EnumFlowerType; +MD: ast/b (Ldt;)I net/minecraft/world/biome/BiomeGenSwamp/func_180627_b (Lnet/minecraft/util/BlockPos;)I +MD: ast/c (Ldt;)I net/minecraft/world/biome/BiomeGenSwamp/func_180625_c (Lnet/minecraft/util/BlockPos;)I +MD: asu/a (Laqu;Ljava/util/Random;Lbgk;IID)V net/minecraft/world/biome/BiomeGenTaiga/func_180622_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/chunk/ChunkPrimer;IID)V +MD: asu/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/biome/BiomeGenTaiga/func_180624_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: asu/a (Ljava/util/Random;)Lbhc; net/minecraft/world/biome/BiomeGenTaiga/func_150567_a (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenAbstractTree; +MD: asu/b (Ljava/util/Random;)Lbhp; net/minecraft/world/biome/BiomeGenTaiga/func_76730_b (Ljava/util/Random;)Lnet/minecraft/world/gen/feature/WorldGenerator; +MD: asu/d (I)Larm; net/minecraft/world/biome/BiomeGenTaiga/func_180277_d (I)Lnet/minecraft/world/biome/BiomeGenBase; +MD: asv/a (F)I net/minecraft/world/biome/BiomeGenEnd/func_76731_a (F)I +MD: asw/a (Larm;)V net/minecraft/world/biome/BiomeEndDecorator/func_150513_a (Lnet/minecraft/world/biome/BiomeGenBase;)V +MD: asy/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockAir/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: asy/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockAir/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: asy/a (Lbec;Z)Z net/minecraft/block/BlockAir/func_176209_a (Lnet/minecraft/block/state/IBlockState;Z)Z +MD: asy/b ()I net/minecraft/block/BlockAir/func_149645_b ()I +MD: asy/c ()Z net/minecraft/block/BlockAir/func_149662_c ()Z +MD: asz/a (I)Lbec; net/minecraft/block/BlockAnvil/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: asz/a (Ladv;)V net/minecraft/block/BlockAnvil/func_149829_a (Lnet/minecraft/entity/item/EntityFallingBlock;)V +MD: asz/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockAnvil/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: asz/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockAnvil/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: asz/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockAnvil/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: asz/a (Lard;Ldt;)V net/minecraft/block/BlockAnvil/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: asz/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockAnvil/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: asz/a (Lbec;)I net/minecraft/block/BlockAnvil/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: asz/a_ (Laqu;Ldt;)V net/minecraft/block/BlockAnvil/func_176502_a_ (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: asz/b (Lbec;)Lbec; net/minecraft/block/BlockAnvil/func_176217_b (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: asz/c ()Z net/minecraft/block/BlockAnvil/func_149662_c ()Z +MD: asz/c (Lbec;)I net/minecraft/block/BlockAnvil/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: asz/d ()Z net/minecraft/block/BlockAnvil/func_149686_d ()Z +MD: asz/e ()Lbed; net/minecraft/block/BlockAnvil/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: at/a (Lwv;)Z net/minecraft/command/PlayerSelector$9/func_179591_a (Lnet/minecraft/entity/Entity;)Z +MD: at/apply (Ljava/lang/Object;)Z net/minecraft/command/PlayerSelector$9/apply (Ljava/lang/Object;)Z +MD: ata/a (Lahb;Lahd;)Laib; net/minecraft/block/BlockAnvil$Anvil/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: ata/d_ ()Ljava/lang/String; net/minecraft/block/BlockAnvil$Anvil/func_70005_c_ ()Ljava/lang/String; +MD: ata/e_ ()Lho; net/minecraft/block/BlockAnvil$Anvil/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: ata/k ()Ljava/lang/String; net/minecraft/block/BlockAnvil$Anvil/func_174875_k ()Ljava/lang/String; +MD: ata/k_ ()Z net/minecraft/block/BlockAnvil$Anvil/func_145818_k_ ()Z +MD: atb/a (Laqu;I)Lbcm; net/minecraft/block/BlockBanner/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: atb/a (Laqu;Lahd;Ldt;Lbec;Lbcm;)V net/minecraft/block/BlockBanner/func_180657_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/tileentity/TileEntity;)V +MD: atb/a (Laqu;Ldt;)Lbrt; net/minecraft/block/BlockBanner/func_180646_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/AxisAlignedBB; +MD: atb/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockBanner/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: atb/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockBanner/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: atb/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockBanner/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: atb/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockBanner/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: atb/b (Lard;Ldt;)Z net/minecraft/block/BlockBanner/func_176205_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: atb/c ()Z net/minecraft/block/BlockBanner/func_149662_c ()Z +MD: atb/d ()Z net/minecraft/block/BlockBanner/func_149686_d ()Z +MD: atd/a (I)Lbec; net/minecraft/block/BlockBanner$BlockBannerStanding/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: atd/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockBanner$BlockBannerStanding/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: atd/c (Lbec;)I net/minecraft/block/BlockBanner$BlockBannerStanding/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: atd/e ()Lbed; net/minecraft/block/BlockBanner$BlockBannerStanding/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: ate/a (I)Lbec; net/minecraft/block/BlockBanner$BlockBannerHanging/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: ate/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockBanner$BlockBannerHanging/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: ate/a (Lard;Ldt;)V net/minecraft/block/BlockBanner$BlockBannerHanging/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: ate/c (Lbec;)I net/minecraft/block/BlockBanner$BlockBannerHanging/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: ate/e ()Lbed; net/minecraft/block/BlockBanner$BlockBannerHanging/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: atf/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockBarrier/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: atf/b ()I net/minecraft/block/BlockBarrier/func_149645_b ()I +MD: atf/c ()Z net/minecraft/block/BlockBarrier/func_149662_c ()Z +MD: atf/f ()F net/minecraft/block/BlockBarrier/func_149685_I ()F +MD: atg/a (Laqu;Ldt;Lbec;II)Z net/minecraft/block/BlockContainer/func_180648_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;II)Z +MD: atg/b ()I net/minecraft/block/BlockContainer/func_149645_b ()I +MD: atg/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockContainer/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: ath/a (Laqu;)I net/minecraft/block/BlockBasePressurePlate/func_149738_a (Lnet/minecraft/world/World;)I +MD: ath/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockBasePressurePlate/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: ath/a (Laqu;Ldt;Lbec;I)V net/minecraft/block/BlockBasePressurePlate/func_180666_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;I)V +MD: ath/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockBasePressurePlate/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: ath/a (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockBasePressurePlate/func_180645_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: ath/a (Laqu;Ldt;Lbec;Lwv;)V net/minecraft/block/BlockBasePressurePlate/func_180634_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/Entity;)V +MD: ath/a (Lard;Ldt;)V net/minecraft/block/BlockBasePressurePlate/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: ath/a (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockBasePressurePlate/func_180656_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: ath/a (Lbec;I)Lbec; net/minecraft/block/BlockBasePressurePlate/func_176575_a (Lnet/minecraft/block/state/IBlockState;I)Lnet/minecraft/block/state/IBlockState; +MD: ath/a (Ldt;)Lbrt; net/minecraft/block/BlockBasePressurePlate/func_180667_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/AxisAlignedBB; +MD: ath/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockBasePressurePlate/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: ath/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockBasePressurePlate/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: ath/b (Lard;Ldt;)Z net/minecraft/block/BlockBasePressurePlate/func_176205_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: ath/b (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockBasePressurePlate/func_176211_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: ath/c ()Z net/minecraft/block/BlockBasePressurePlate/func_149662_c ()Z +MD: ath/c (Laqu;Ldt;)Z net/minecraft/block/BlockBasePressurePlate/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: ath/d ()Z net/minecraft/block/BlockBasePressurePlate/func_149686_d ()Z +MD: ath/d (Laqu;Ldt;)V net/minecraft/block/BlockBasePressurePlate/func_176578_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: ath/d (Lbec;)V net/minecraft/block/BlockBasePressurePlate/func_180668_d (Lnet/minecraft/block/state/IBlockState;)V +MD: ath/e (Laqu;Ldt;)I net/minecraft/block/BlockBasePressurePlate/func_180669_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: ath/e (Lbec;)I net/minecraft/block/BlockBasePressurePlate/func_176576_e (Lnet/minecraft/block/state/IBlockState;)I +MD: ath/g ()Z net/minecraft/block/BlockBasePressurePlate/func_149744_f ()Z +MD: ath/h ()V net/minecraft/block/BlockBasePressurePlate/func_149683_g ()V +MD: ath/i ()I net/minecraft/block/BlockBasePressurePlate/func_149656_h ()I +MD: ath/m (Laqu;Ldt;)Z net/minecraft/block/BlockBasePressurePlate/func_176577_m (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: ati/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockRailBase/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: ati/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockRailBase/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: ati/a (Laqu;Ldt;Lbec;Z)Lbec; net/minecraft/block/BlockRailBase/func_176564_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Z)Lnet/minecraft/block/state/IBlockState; +MD: ati/a (Laqu;Ldt;Lbrw;Lbrw;)Lbru; net/minecraft/block/BlockRailBase/func_180636_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/MovingObjectPosition; +MD: ati/a (Lard;Ldt;)V net/minecraft/block/BlockRailBase/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: ati/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRailBase/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: ati/b (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockRailBase/func_176561_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: ati/c ()Z net/minecraft/block/BlockRailBase/func_149662_c ()Z +MD: ati/c (Laqu;Ldt;)Z net/minecraft/block/BlockRailBase/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: ati/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRailBase/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: ati/d ()Z net/minecraft/block/BlockRailBase/func_149686_d ()Z +MD: ati/d (Laqu;Ldt;)Z net/minecraft/block/BlockRailBase/func_176562_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: ati/d (Lbec;)Z net/minecraft/block/BlockRailBase/func_176563_d (Lnet/minecraft/block/state/IBlockState;)Z +MD: ati/i ()I net/minecraft/block/BlockRailBase/func_149656_h ()I +MD: ati/k ()Laql; net/minecraft/block/BlockRailBase/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: ati/l ()Lbex; net/minecraft/block/BlockRailBase/func_176560_l ()Lnet/minecraft/block/properties/IProperty; +MD: atk/a ()I net/minecraft/block/BlockRailBase$Rail/func_150650_a ()I +MD: atk/a (Latk;)Z net/minecraft/block/BlockRailBase$Rail/func_150653_a (Lnet/minecraft/block/BlockRailBase$Rail;)Z +MD: atk/a (Latl;)V net/minecraft/block/BlockRailBase$Rail/func_180360_a (Lnet/minecraft/block/BlockRailBase$EnumRailDirection;)V +MD: atk/a (Ldt;)Z net/minecraft/block/BlockRailBase$Rail/func_180359_a (Lnet/minecraft/util/BlockPos;)Z +MD: atk/a (ZZ)Latk; net/minecraft/block/BlockRailBase$Rail/func_180364_a (ZZ)Lnet/minecraft/block/BlockRailBase$Rail; +MD: atk/b ()Lbec; net/minecraft/block/BlockRailBase$Rail/func_180362_b ()Lnet/minecraft/block/state/IBlockState; +MD: atk/b (Latk;)Z net/minecraft/block/BlockRailBase$Rail/func_150649_b (Lnet/minecraft/block/BlockRailBase$Rail;)Z +MD: atk/b (Ldt;)Latk; net/minecraft/block/BlockRailBase$Rail/func_180697_b (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/BlockRailBase$Rail; +MD: atk/c ()V net/minecraft/block/BlockRailBase$Rail/func_150651_b ()V +MD: atk/c (Latk;)V net/minecraft/block/BlockRailBase$Rail/func_150645_c (Lnet/minecraft/block/BlockRailBase$Rail;)V +MD: atk/c (Ldt;)Z net/minecraft/block/BlockRailBase$Rail/func_180363_c (Lnet/minecraft/util/BlockPos;)Z +MD: atk/d (Ldt;)Z net/minecraft/block/BlockRailBase$Rail/func_180361_d (Lnet/minecraft/util/BlockPos;)Z +MD: atl/a ()I net/minecraft/block/BlockRailBase$EnumRailDirection/func_177015_a ()I +MD: atl/a (I)Latl; net/minecraft/block/BlockRailBase$EnumRailDirection/func_177016_a (I)Lnet/minecraft/block/BlockRailBase$EnumRailDirection; +MD: atl/c ()Z net/minecraft/block/BlockRailBase$EnumRailDirection/func_177018_c ()Z +MD: atl/l ()Ljava/lang/String; net/minecraft/block/BlockRailBase$EnumRailDirection/func_176610_l ()Ljava/lang/String; +MD: atl/toString ()Ljava/lang/String; net/minecraft/block/BlockRailBase$EnumRailDirection/toString ()Ljava/lang/String; +MD: atl/values ()[Latl; net/minecraft/block/BlockRailBase$EnumRailDirection/values ()[Lnet/minecraft/block/BlockRailBase$EnumRailDirection; +MD: atm/a (Laqu;I)Lbcm; net/minecraft/block/BlockBeacon/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: atm/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockBeacon/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: atm/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockBeacon/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: atm/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockBeacon/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: atm/b ()I net/minecraft/block/BlockBeacon/func_149645_b ()I +MD: atm/c ()Z net/minecraft/block/BlockBeacon/func_149662_c ()Z +MD: atm/d ()Z net/minecraft/block/BlockBeacon/func_149686_d ()Z +MD: atm/d (Laqu;Ldt;)V net/minecraft/block/BlockBeacon/func_176450_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: atm/k ()Laql; net/minecraft/block/BlockBeacon/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: atn/run ()V net/minecraft/block/BlockBeacon$1/run ()V +MD: ato/run ()V net/minecraft/block/BlockBeacon$1$1/run ()V +MD: atp/a (I)Lbec; net/minecraft/block/BlockBed/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: atp/a (Laqu;Ldt;I)Ldt; net/minecraft/block/BlockBed/func_176468_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;I)Lnet/minecraft/util/BlockPos; +MD: atp/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockBed/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: atp/a (Laqu;Ldt;Lbec;Lahd;)V net/minecraft/block/BlockBed/func_176208_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: atp/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockBed/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: atp/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockBed/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: atp/a (Lard;Ldt;)V net/minecraft/block/BlockBed/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: atp/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockBed/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: atp/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockBed/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: atp/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockBed/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: atp/c ()Z net/minecraft/block/BlockBed/func_149662_c ()Z +MD: atp/c (Lbec;)I net/minecraft/block/BlockBed/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: atp/d ()Z net/minecraft/block/BlockBed/func_149686_d ()Z +MD: atp/d (Laqu;Ldt;)Z net/minecraft/block/BlockBed/func_176469_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: atp/e ()Lbed; net/minecraft/block/BlockBed/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: atp/e (Laqu;Ldt;)Lahd; net/minecraft/block/BlockBed/func_176470_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/entity/player/EntityPlayer; +MD: atp/i ()I net/minecraft/block/BlockBed/func_149656_h ()I +MD: atp/j ()V net/minecraft/block/BlockBed/func_149978_e ()V +MD: atp/k ()Laql; net/minecraft/block/BlockBed/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: atq/l ()Ljava/lang/String; net/minecraft/block/BlockBed$EnumPartType/func_176610_l ()Ljava/lang/String; +MD: atq/toString ()Ljava/lang/String; net/minecraft/block/BlockBed$EnumPartType/toString ()Ljava/lang/String; +MD: atq/values ()[Latq; net/minecraft/block/BlockBed$EnumPartType/values ()[Lnet/minecraft/block/BlockBed$EnumPartType; +MD: atr/A ()D net/minecraft/block/Block/func_149753_y ()D +MD: atr/B ()D net/minecraft/block/Block/func_149665_z ()D +MD: atr/C ()D net/minecraft/block/Block/func_149669_A ()D +MD: atr/D ()D net/minecraft/block/Block/func_149706_B ()D +MD: atr/E ()D net/minecraft/block/Block/func_149693_C ()D +MD: atr/F ()I net/minecraft/block/Block/func_149635_D ()I +MD: atr/G ()Z net/minecraft/block/Block/func_149700_E ()Z +MD: atr/H ()Ljava/lang/String; net/minecraft/block/Block/func_149732_F ()Ljava/lang/String; +MD: atr/I ()Z net/minecraft/block/Block/func_149652_G ()Z +MD: atr/J ()Latr; net/minecraft/block/Block/func_149649_H ()Lnet/minecraft/block/Block; +MD: atr/K ()Lakf; net/minecraft/block/Block/func_149708_J ()Lnet/minecraft/creativetab/CreativeTabs; +MD: atr/L ()Z net/minecraft/block/Block/func_149648_K ()Z +MD: atr/M ()Z net/minecraft/block/Block/func_149698_L ()Z +MD: atr/N ()Z net/minecraft/block/Block/func_149740_M ()Z +MD: atr/O ()Lbed; net/minecraft/block/Block/func_176194_O ()Lnet/minecraft/block/state/BlockState; +MD: atr/P ()Lbec; net/minecraft/block/Block/func_176223_P ()Lnet/minecraft/block/state/IBlockState; +MD: atr/Q ()Latw; net/minecraft/block/Block/func_176218_Q ()Lnet/minecraft/block/Block$EnumOffsetType; +MD: atr/R ()V net/minecraft/block/Block/func_149671_p ()V +MD: atr/a ()Ljava/lang/String; net/minecraft/block/Block/func_149739_a ()Ljava/lang/String; +MD: atr/a (F)Latr; net/minecraft/block/Block/func_149715_a (F)Lnet/minecraft/block/Block; +MD: atr/a (FFFFFF)V net/minecraft/block/Block/func_149676_a (FFFFFF)V +MD: atr/a (I)Lbec; net/minecraft/block/Block/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: atr/a (ILjava/lang/String;Latr;)V net/minecraft/block/Block/func_176219_a (ILjava/lang/String;Lnet/minecraft/block/Block;)V +MD: atr/a (ILjava/util/Random;)I net/minecraft/block/Block/func_149679_a (ILjava/util/Random;)I +MD: atr/a (ILoa;Latr;)V net/minecraft/block/Block/func_176215_a (ILnet/minecraft/util/ResourceLocation;Lnet/minecraft/block/Block;)V +MD: atr/a (Lahd;Laqu;Ldt;)F net/minecraft/block/Block/func_180647_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)F +MD: atr/a (Lakf;)Latr; net/minecraft/block/Block/func_149647_a (Lnet/minecraft/creativetab/CreativeTabs;)Lnet/minecraft/block/Block; +MD: atr/a (Lalq;)Latr; net/minecraft/block/Block/func_149634_a (Lnet/minecraft/item/Item;)Lnet/minecraft/block/Block; +MD: atr/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/Block/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: atr/a (Laqo;)Z net/minecraft/block/Block/func_149659_a (Lnet/minecraft/world/Explosion;)Z +MD: atr/a (Laqu;)I net/minecraft/block/Block/func_149738_a (Lnet/minecraft/world/World;)I +MD: atr/a (Laqu;Lahd;Ldt;Lbec;Lbcm;)V net/minecraft/block/Block/func_180657_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/tileentity/TileEntity;)V +MD: atr/a (Laqu;Ldt;)Lbrt; net/minecraft/block/Block/func_180646_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/AxisAlignedBB; +MD: atr/a (Laqu;Ldt;Lahd;)V net/minecraft/block/Block/func_180649_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: atr/a (Laqu;Ldt;Lamj;)V net/minecraft/block/Block/func_180635_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/item/ItemStack;)V +MD: atr/a (Laqu;Ldt;Laqo;)V net/minecraft/block/Block/func_180652_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/world/Explosion;)V +MD: atr/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/Block/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: atr/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/Block/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: atr/a (Laqu;Ldt;Lbec;II)Z net/minecraft/block/Block/func_180648_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;II)Z +MD: atr/a (Laqu;Ldt;Lbec;Lahd;)V net/minecraft/block/Block/func_176208_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: atr/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/Block/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: atr/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/Block/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: atr/a (Laqu;Ldt;Lbec;Lbrt;Ljava/util/List;Lwv;)V net/minecraft/block/Block/func_180638_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;)V +MD: atr/a (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/Block/func_180645_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: atr/a (Laqu;Ldt;Lbec;Lwv;)V net/minecraft/block/Block/func_180634_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/Entity;)V +MD: atr/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/Block/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: atr/a (Laqu;Ldt;Lbrw;Lbrw;)Lbru; net/minecraft/block/Block/func_180636_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/MovingObjectPosition; +MD: atr/a (Laqu;Ldt;Lej;)Z net/minecraft/block/Block/func_176198_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: atr/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/Block/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: atr/a (Laqu;Ldt;Lej;Lamj;)Z net/minecraft/block/Block/func_176193_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/item/ItemStack;)Z +MD: atr/a (Laqu;Ldt;Lwv;)V net/minecraft/block/Block/func_176199_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/Entity;)V +MD: atr/a (Laqu;Ldt;Lwv;F)V net/minecraft/block/Block/func_180658_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/Entity;F)V +MD: atr/a (Laqu;Ldt;Lwv;Lbrw;)Lbrw; net/minecraft/block/Block/func_176197_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/Entity;Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/Vec3; +MD: atr/a (Laqu;Lwv;)V net/minecraft/block/Block/func_176216_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;)V +MD: atr/a (Lard;Ldt;)V net/minecraft/block/Block/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: atr/a (Lard;Ldt;I)I net/minecraft/block/Block/func_180662_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;I)I +MD: atr/a (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/Block/func_180656_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: atr/a (Lard;Ldt;Lej;)Z net/minecraft/block/Block/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: atr/a (Latr;)I net/minecraft/block/Block/func_149682_b (Lnet/minecraft/block/Block;)I +MD: atr/a (Latr;Latr;)Z net/minecraft/block/Block/func_149680_a (Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)Z +MD: atr/a (Latx;)Latr; net/minecraft/block/Block/func_149672_a (Lnet/minecraft/block/Block$SoundType;)Lnet/minecraft/block/Block; +MD: atr/a (Lbec;)I net/minecraft/block/Block/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: atr/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/Block/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: atr/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/Block/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: atr/a (Lbec;Z)Z net/minecraft/block/Block/func_176209_a (Lnet/minecraft/block/state/IBlockState;Z)Z +MD: atr/a (Lbrw;)Z net/minecraft/block/Block/func_149654_a (Lnet/minecraft/util/Vec3;)Z +MD: atr/a (Ljava/util/Random;)I net/minecraft/block/Block/func_149745_a (Ljava/util/Random;)I +MD: atr/a (Lwv;)F net/minecraft/block/Block/func_149638_a (Lnet/minecraft/entity/Entity;)F +MD: atr/a (Z)Latr; net/minecraft/block/Block/func_149675_a (Z)Lnet/minecraft/block/Block; +MD: atr/b ()I net/minecraft/block/Block/func_149645_b ()I +MD: atr/b (F)Latr; net/minecraft/block/Block/func_149752_b (F)Lnet/minecraft/block/Block; +MD: atr/b (Laqu;Ldt;)Lalq; net/minecraft/block/Block/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: atr/b (Laqu;Ldt;I)V net/minecraft/block/Block/func_180637_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;I)V +MD: atr/b (Laqu;Ldt;Lbec;)V net/minecraft/block/Block/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: atr/b (Laqu;Ldt;Lbec;I)V net/minecraft/block/Block/func_176226_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;I)V +MD: atr/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/Block/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: atr/b (Lard;Ldt;)Z net/minecraft/block/Block/func_176205_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: atr/b (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/Block/func_176211_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: atr/b (Lard;Ldt;Lej;)Z net/minecraft/block/Block/func_176212_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: atr/b (Latr;)Z net/minecraft/block/Block/func_149667_c (Lnet/minecraft/block/Block;)Z +MD: atr/b (Lbec;)Lbec; net/minecraft/block/Block/func_176217_b (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: atr/b (Lbrw;)Z net/minecraft/block/Block/func_149687_b (Lnet/minecraft/util/Vec3;)Z +MD: atr/b (Ljava/lang/String;)Latr; net/minecraft/block/Block/func_149684_b (Ljava/lang/String;)Lnet/minecraft/block/Block; +MD: atr/c ()Z net/minecraft/block/Block/func_149662_c ()Z +MD: atr/c (F)Latr; net/minecraft/block/Block/func_149711_c (F)Lnet/minecraft/block/Block; +MD: atr/c (I)Latr; net/minecraft/block/Block/func_149729_e (I)Lnet/minecraft/block/Block; +MD: atr/c (Laqu;Ldt;)Z net/minecraft/block/Block/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: atr/c (Laqu;Ldt;Lbec;)V net/minecraft/block/Block/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: atr/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/Block/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: atr/c (Lard;Ldt;)I net/minecraft/block/Block/func_176207_c (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)I +MD: atr/c (Lbec;)I net/minecraft/block/Block/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: atr/c (Lbrw;)Z net/minecraft/block/Block/func_149661_c (Lnet/minecraft/util/Vec3;)Z +MD: atr/c (Ljava/lang/String;)Latr; net/minecraft/block/Block/func_149663_c (Ljava/lang/String;)Lnet/minecraft/block/Block; +MD: atr/d ()Z net/minecraft/block/Block/func_149686_d ()Z +MD: atr/d (I)Lbec; net/minecraft/block/Block/func_176220_d (I)Lnet/minecraft/block/state/IBlockState; +MD: atr/d (Laqu;Ldt;Lbec;)V net/minecraft/block/Block/func_176206_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: atr/d (Lard;Ldt;)I net/minecraft/block/Block/func_176202_d (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)I +MD: atr/e ()Lbed; net/minecraft/block/Block/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: atr/e (I)Latr; net/minecraft/block/Block/func_149713_g (I)Lnet/minecraft/block/Block; +MD: atr/f ()F net/minecraft/block/Block/func_149685_I ()F +MD: atr/f (Laqu;Ldt;)Z net/minecraft/block/Block/func_176200_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: atr/f (Lbec;)I net/minecraft/block/Block/func_176210_f (Lnet/minecraft/block/state/IBlockState;)I +MD: atr/g ()Z net/minecraft/block/Block/func_149744_f ()Z +MD: atr/g (Laqu;Ldt;)F net/minecraft/block/Block/func_176195_g (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)F +MD: atr/g (Lbec;)Lboh; net/minecraft/block/Block/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: atr/h ()V net/minecraft/block/Block/func_149683_g ()V +MD: atr/h (Lbec;)I net/minecraft/block/Block/func_180644_h (Lnet/minecraft/block/state/IBlockState;)I +MD: atr/i ()I net/minecraft/block/Block/func_149656_h ()I +MD: atr/i (Lbec;)Lamj; net/minecraft/block/Block/func_180643_i (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/item/ItemStack; +MD: atr/j (Laqu;Ldt;)I net/minecraft/block/Block/func_176222_j (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: atr/j (Lbec;)V net/minecraft/block/Block/func_180632_j (Lnet/minecraft/block/state/IBlockState;)V +MD: atr/k ()Laql; net/minecraft/block/Block/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: atr/k (Laqu;Ldt;)V net/minecraft/block/Block/func_176224_k (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: atr/l (Laqu;Ldt;)I net/minecraft/block/Block/func_180641_l (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: atr/m ()Z net/minecraft/block/Block/func_149730_j ()Z +MD: atr/n ()I net/minecraft/block/Block/func_149717_k ()I +MD: atr/o ()Z net/minecraft/block/Block/func_149751_l ()Z +MD: atr/p ()I net/minecraft/block/Block/func_149750_m ()I +MD: atr/q ()Z net/minecraft/block/Block/func_149710_n ()Z +MD: atr/r ()Lbof; net/minecraft/block/Block/func_149688_o ()Lnet/minecraft/block/material/Material; +MD: atr/s ()Z net/minecraft/block/Block/func_149637_q ()Z +MD: atr/t ()Z net/minecraft/block/Block/func_149721_r ()Z +MD: atr/u ()Z net/minecraft/block/Block/func_176214_u ()Z +MD: atr/v ()Latr; net/minecraft/block/Block/func_149722_s ()Lnet/minecraft/block/Block; +MD: atr/w ()Z net/minecraft/block/Block/func_149653_t ()Z +MD: atr/x ()Z net/minecraft/block/Block/func_149716_u ()Z +MD: atr/y ()Z net/minecraft/block/Block/func_149703_v ()Z +MD: atr/z ()D net/minecraft/block/Block/func_149704_x ()D +MD: ats/a ()Ljava/lang/String; net/minecraft/block/Block$1/func_150495_a ()Ljava/lang/String; +MD: ats/b ()Ljava/lang/String; net/minecraft/block/Block$1/func_150496_b ()Ljava/lang/String; +MD: att/a ()Ljava/lang/String; net/minecraft/block/Block$2/func_150495_a ()Ljava/lang/String; +MD: atu/a ()Ljava/lang/String; net/minecraft/block/Block$3/func_150495_a ()Ljava/lang/String; +MD: atu/b ()Ljava/lang/String; net/minecraft/block/Block$3/func_150496_b ()Ljava/lang/String; +MD: atv/a ()Ljava/lang/String; net/minecraft/block/Block$4/func_150495_a ()Ljava/lang/String; +MD: atv/b ()Ljava/lang/String; net/minecraft/block/Block$4/func_150496_b ()Ljava/lang/String; +MD: atv/c ()Ljava/lang/String; net/minecraft/block/Block$4/func_150498_e ()Ljava/lang/String; +MD: atw/values ()[Latw; net/minecraft/block/Block$EnumOffsetType/values ()[Lnet/minecraft/block/Block$EnumOffsetType; +MD: atx/a ()Ljava/lang/String; net/minecraft/block/Block$SoundType/func_150495_a ()Ljava/lang/String; +MD: atx/b ()Ljava/lang/String; net/minecraft/block/Block$SoundType/func_150496_b ()Ljava/lang/String; +MD: atx/c ()Ljava/lang/String; net/minecraft/block/Block$SoundType/func_150498_e ()Ljava/lang/String; +MD: atx/d ()F net/minecraft/block/Block$SoundType/func_150497_c ()F +MD: atx/e ()F net/minecraft/block/Block$SoundType/func_150494_d ()F +MD: aty/a (Ljava/lang/String;)Latr; net/minecraft/init/Blocks/func_180383_a (Ljava/lang/String;)Lnet/minecraft/block/Block; +MD: atz/a (Laqu;Ldt;Lbec;Z)Z net/minecraft/block/IGrowable/func_176473_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Z)Z +MD: atz/a (Laqu;Ljava/util/Random;Ldt;Lbec;)Z net/minecraft/block/IGrowable/func_180670_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: atz/b (Laqu;Ljava/util/Random;Ldt;Lbec;)V net/minecraft/block/IGrowable/func_176474_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: au/a ()I net/minecraft/command/server/CommandAchievement/func_82362_a ()I +MD: au/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandAchievement/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: au/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandAchievement/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: au/b ([Ljava/lang/String;I)Z net/minecraft/command/server/CommandAchievement/func_82358_a ([Ljava/lang/String;I)Z +MD: au/c ()Ljava/lang/String; net/minecraft/command/server/CommandAchievement/func_71517_b ()Ljava/lang/String; +MD: au/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandAchievement/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: aua/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockBookshelf/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: aua/a (Ljava/util/Random;)I net/minecraft/block/BlockBookshelf/func_149745_a (Ljava/util/Random;)I +MD: aub/N ()Z net/minecraft/block/BlockBrewingStand/func_149740_M ()Z +MD: aub/a (I)Lbec; net/minecraft/block/BlockBrewingStand/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: aub/a (Laqu;I)Lbcm; net/minecraft/block/BlockBrewingStand/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: aub/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockBrewingStand/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: aub/a (Laqu;Ldt;Lbec;Lbrt;Ljava/util/List;Lwv;)V net/minecraft/block/BlockBrewingStand/func_180638_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;)V +MD: aub/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockBrewingStand/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: aub/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockBrewingStand/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: aub/b ()I net/minecraft/block/BlockBrewingStand/func_149645_b ()I +MD: aub/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockBrewingStand/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: aub/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockBrewingStand/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: aub/c ()Z net/minecraft/block/BlockBrewingStand/func_149662_c ()Z +MD: aub/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockBrewingStand/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: aub/c (Lbec;)I net/minecraft/block/BlockBrewingStand/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: aub/d ()Z net/minecraft/block/BlockBrewingStand/func_149686_d ()Z +MD: aub/e ()Lbed; net/minecraft/block/BlockBrewingStand/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: aub/h ()V net/minecraft/block/BlockBrewingStand/func_149683_g ()V +MD: aub/k ()Laql; net/minecraft/block/BlockBrewingStand/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: aub/l (Laqu;Ldt;)I net/minecraft/block/BlockBrewingStand/func_180641_l (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: auc/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockBush/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: auc/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockBush/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: auc/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockBush/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: auc/c ()Z net/minecraft/block/BlockBush/func_149662_c ()Z +MD: auc/c (Laqu;Ldt;)Z net/minecraft/block/BlockBush/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: auc/c (Latr;)Z net/minecraft/block/BlockBush/func_149854_a (Lnet/minecraft/block/Block;)Z +MD: auc/d ()Z net/minecraft/block/BlockBush/func_149686_d ()Z +MD: auc/e (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockBush/func_176475_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: auc/f (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockBush/func_180671_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: auc/k ()Laql; net/minecraft/block/BlockBush/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: aud/a (I)Lbec; net/minecraft/block/BlockButton/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: aud/a (Laqu;)I net/minecraft/block/BlockButton/func_149738_a (Lnet/minecraft/world/World;)I +MD: aud/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockButton/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: aud/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockButton/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: aud/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockButton/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: aud/a (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockButton/func_180645_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: aud/a (Laqu;Ldt;Lbec;Lwv;)V net/minecraft/block/BlockButton/func_180634_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/Entity;)V +MD: aud/a (Laqu;Ldt;Lej;)Z net/minecraft/block/BlockButton/func_176198_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: aud/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockButton/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: aud/a (Lard;Ldt;)V net/minecraft/block/BlockButton/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: aud/a (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockButton/func_180656_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: aud/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockButton/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: aud/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockButton/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: aud/b (Laqu;Ldt;Lej;)V net/minecraft/block/BlockButton/func_176582_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)V +MD: aud/b (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockButton/func_176211_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: aud/c ()Z net/minecraft/block/BlockButton/func_149662_c ()Z +MD: aud/c (Laqu;Ldt;)Z net/minecraft/block/BlockButton/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: aud/c (Lbec;)I net/minecraft/block/BlockButton/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: aud/d ()Z net/minecraft/block/BlockButton/func_149686_d ()Z +MD: aud/d (Lbec;)V net/minecraft/block/BlockButton/func_180681_d (Lnet/minecraft/block/state/IBlockState;)V +MD: aud/e ()Lbed; net/minecraft/block/BlockButton/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: aud/e (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockButton/func_176583_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: aud/f (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockButton/func_180680_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: aud/g ()Z net/minecraft/block/BlockButton/func_149744_f ()Z +MD: aud/h ()V net/minecraft/block/BlockButton/func_149683_g ()V +MD: auf/a (I)Lbec; net/minecraft/block/BlockCactus/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: auf/a (Laqu;Ldt;)Lbrt; net/minecraft/block/BlockCactus/func_180646_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/AxisAlignedBB; +MD: auf/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockCactus/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: auf/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockCactus/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: auf/a (Laqu;Ldt;Lbec;Lwv;)V net/minecraft/block/BlockCactus/func_180634_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/Entity;)V +MD: auf/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockCactus/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: auf/c ()Z net/minecraft/block/BlockCactus/func_149662_c ()Z +MD: auf/c (Laqu;Ldt;)Z net/minecraft/block/BlockCactus/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: auf/c (Lbec;)I net/minecraft/block/BlockCactus/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: auf/d ()Z net/minecraft/block/BlockCactus/func_149686_d ()Z +MD: auf/d (Laqu;Ldt;)Z net/minecraft/block/BlockCactus/func_176586_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: auf/e ()Lbed; net/minecraft/block/BlockCactus/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: auf/k ()Laql; net/minecraft/block/BlockCactus/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: aug/N ()Z net/minecraft/block/BlockCake/func_149740_M ()Z +MD: aug/a (I)Lbec; net/minecraft/block/BlockCake/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: aug/a (Laqu;Ldt;)Lbrt; net/minecraft/block/BlockCake/func_180646_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/AxisAlignedBB; +MD: aug/a (Laqu;Ldt;Lahd;)V net/minecraft/block/BlockCake/func_180649_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aug/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockCake/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: aug/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockCake/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: aug/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockCake/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: aug/a (Lard;Ldt;)V net/minecraft/block/BlockCake/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: aug/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockCake/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: aug/a (Ljava/util/Random;)I net/minecraft/block/BlockCake/func_149745_a (Ljava/util/Random;)I +MD: aug/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockCake/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: aug/b (Laqu;Ldt;Lbec;Lahd;)V net/minecraft/block/BlockCake/func_180682_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: aug/c ()Z net/minecraft/block/BlockCake/func_149662_c ()Z +MD: aug/c (Laqu;Ldt;)Z net/minecraft/block/BlockCake/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: aug/c (Lbec;)I net/minecraft/block/BlockCake/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: aug/d ()Z net/minecraft/block/BlockCake/func_149686_d ()Z +MD: aug/d (Laqu;Ldt;)Z net/minecraft/block/BlockCake/func_176588_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: aug/e ()Lbed; net/minecraft/block/BlockCake/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: aug/h ()V net/minecraft/block/BlockCake/func_149683_g ()V +MD: aug/k ()Laql; net/minecraft/block/BlockCake/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: aug/l (Laqu;Ldt;)I net/minecraft/block/BlockCake/func_180641_l (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: auh/j ()Lalq; net/minecraft/block/BlockCarrot/func_149866_i ()Lnet/minecraft/item/Item; +MD: auh/l ()Lalq; net/minecraft/block/BlockCarrot/func_149865_P ()Lnet/minecraft/item/Item; +MD: aui/N ()Z net/minecraft/block/BlockCauldron/func_149740_M ()Z +MD: aui/a (I)Lbec; net/minecraft/block/BlockCauldron/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: aui/a (Laqu;Ldt;Lbec;I)V net/minecraft/block/BlockCauldron/func_176590_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;I)V +MD: aui/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockCauldron/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: aui/a (Laqu;Ldt;Lbec;Lbrt;Ljava/util/List;Lwv;)V net/minecraft/block/BlockCauldron/func_180638_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;)V +MD: aui/a (Laqu;Ldt;Lbec;Lwv;)V net/minecraft/block/BlockCauldron/func_180634_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/Entity;)V +MD: aui/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockCauldron/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: aui/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockCauldron/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: aui/c ()Z net/minecraft/block/BlockCauldron/func_149662_c ()Z +MD: aui/c (Lbec;)I net/minecraft/block/BlockCauldron/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: aui/d ()Z net/minecraft/block/BlockCauldron/func_149686_d ()Z +MD: aui/e ()Lbed; net/minecraft/block/BlockCauldron/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: aui/h ()V net/minecraft/block/BlockCauldron/func_149683_g ()V +MD: aui/k (Laqu;Ldt;)V net/minecraft/block/BlockCauldron/func_176224_k (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: aui/l (Laqu;Ldt;)I net/minecraft/block/BlockCauldron/func_180641_l (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: auj/N ()Z net/minecraft/block/BlockChest/func_149740_M ()Z +MD: auj/a (I)Lbec; net/minecraft/block/BlockChest/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: auj/a (Laqu;I)Lbcm; net/minecraft/block/BlockChest/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: auj/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockChest/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: auj/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockChest/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: auj/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockChest/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: auj/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockChest/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: auj/a (Lard;Ldt;)V net/minecraft/block/BlockChest/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: auj/a (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockChest/func_180656_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: auj/b ()I net/minecraft/block/BlockChest/func_149645_b ()I +MD: auj/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockChest/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: auj/b (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockChest/func_176211_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: auj/c ()Z net/minecraft/block/BlockChest/func_149662_c ()Z +MD: auj/c (Laqu;Ldt;)Z net/minecraft/block/BlockChest/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: auj/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockChest/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: auj/c (Lbec;)I net/minecraft/block/BlockChest/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: auj/d ()Z net/minecraft/block/BlockChest/func_149686_d ()Z +MD: auj/d (Laqu;Ldt;)Lvy; net/minecraft/block/BlockChest/func_180676_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/ILockableContainer; +MD: auj/e ()Lbed; net/minecraft/block/BlockChest/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: auj/e (Laqu;Ldt;)Z net/minecraft/block/BlockChest/func_176454_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: auj/e (Laqu;Ldt;Lbec;)Lbec; net/minecraft/block/BlockChest/func_176455_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: auj/f (Laqu;Ldt;Lbec;)Lbec; net/minecraft/block/BlockChest/func_176458_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: auj/g ()Z net/minecraft/block/BlockChest/func_149744_f ()Z +MD: auj/l (Laqu;Ldt;)I net/minecraft/block/BlockChest/func_180641_l (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: auj/m (Laqu;Ldt;)Z net/minecraft/block/BlockChest/func_176457_m (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: auj/n (Laqu;Ldt;)Z net/minecraft/block/BlockChest/func_176456_n (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: auj/o (Laqu;Ldt;)Z net/minecraft/block/BlockChest/func_176453_o (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: auk/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockClay/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: auk/a (Ljava/util/Random;)I net/minecraft/block/BlockClay/func_149745_a (Ljava/util/Random;)I +MD: aul/a (I)Lbec; net/minecraft/block/BlockCocoa/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: aul/a (Laqu;Ldt;)Lbrt; net/minecraft/block/BlockCocoa/func_180646_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/AxisAlignedBB; +MD: aul/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockCocoa/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: aul/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockCocoa/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: aul/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockCocoa/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: aul/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockCocoa/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: aul/a (Laqu;Ldt;Lbec;Z)Z net/minecraft/block/BlockCocoa/func_176473_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Z)Z +MD: aul/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockCocoa/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: aul/a (Laqu;Ljava/util/Random;Ldt;Lbec;)Z net/minecraft/block/BlockCocoa/func_180670_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: aul/a (Lard;Ldt;)V net/minecraft/block/BlockCocoa/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: aul/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockCocoa/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: aul/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockCocoa/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: aul/b (Laqu;Ljava/util/Random;Ldt;Lbec;)V net/minecraft/block/BlockCocoa/func_176474_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: aul/c ()Z net/minecraft/block/BlockCocoa/func_149662_c ()Z +MD: aul/c (Lbec;)I net/minecraft/block/BlockCocoa/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: aul/d ()Z net/minecraft/block/BlockCocoa/func_149686_d ()Z +MD: aul/e ()Lbed; net/minecraft/block/BlockCocoa/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: aul/e (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockCocoa/func_176499_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: aul/f (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockCocoa/func_176500_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: aul/j (Laqu;Ldt;)I net/minecraft/block/BlockCocoa/func_176222_j (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: aul/k ()Laql; net/minecraft/block/BlockCocoa/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: aun/a (I)Lbec; net/minecraft/block/BlockColored/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: aun/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockColored/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: aun/a (Lbec;)I net/minecraft/block/BlockColored/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: aun/c (Lbec;)I net/minecraft/block/BlockColored/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: aun/e ()Lbed; net/minecraft/block/BlockColored/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: aun/g (Lbec;)Lboh; net/minecraft/block/BlockColored/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: auo/N ()Z net/minecraft/block/BlockCommandBlock/func_149740_M ()Z +MD: auo/a (I)Lbec; net/minecraft/block/BlockCommandBlock/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: auo/a (Laqu;)I net/minecraft/block/BlockCommandBlock/func_149738_a (Lnet/minecraft/world/World;)I +MD: auo/a (Laqu;I)Lbcm; net/minecraft/block/BlockCommandBlock/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: auo/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockCommandBlock/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: auo/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockCommandBlock/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: auo/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockCommandBlock/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: auo/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockCommandBlock/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: auo/a (Ljava/util/Random;)I net/minecraft/block/BlockCommandBlock/func_149745_a (Ljava/util/Random;)I +MD: auo/b ()I net/minecraft/block/BlockCommandBlock/func_149645_b ()I +MD: auo/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockCommandBlock/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: auo/c (Lbec;)I net/minecraft/block/BlockCommandBlock/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: auo/e ()Lbed; net/minecraft/block/BlockCommandBlock/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: auo/l (Laqu;Ldt;)I net/minecraft/block/BlockCommandBlock/func_180641_l (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: aup/a (I)Lbec; net/minecraft/block/BlockRedstoneComparator/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: aup/a (Laqu;I)Lbcm; net/minecraft/block/BlockRedstoneComparator/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: aup/a (Laqu;Ldt;Lbec;II)Z net/minecraft/block/BlockRedstoneComparator/func_180648_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;II)Z +MD: aup/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockRedstoneComparator/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: aup/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockRedstoneComparator/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: aup/a (Laqu;Lej;Ldt;)Ladk; net/minecraft/block/BlockRedstoneComparator/func_176461_a (Lnet/minecraft/world/World;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/entity/item/EntityItemFrame; +MD: aup/a (Lard;Ldt;Lbec;)I net/minecraft/block/BlockRedstoneComparator/func_176408_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)I +MD: aup/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockRedstoneComparator/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: aup/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockRedstoneComparator/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: aup/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneComparator/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: aup/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockRedstoneComparator/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: aup/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneComparator/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: aup/c (Lbec;)I net/minecraft/block/BlockRedstoneComparator/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: aup/d (Lbec;)I net/minecraft/block/BlockRedstoneComparator/func_176403_d (Lnet/minecraft/block/state/IBlockState;)I +MD: aup/e ()Lbed; net/minecraft/block/BlockRedstoneComparator/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: aup/e (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockRedstoneComparator/func_176404_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: aup/e (Lbec;)Lbec; net/minecraft/block/BlockRedstoneComparator/func_180674_e (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: aup/f (Laqu;Ldt;Lbec;)I net/minecraft/block/BlockRedstoneComparator/func_176397_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)I +MD: aup/g (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneComparator/func_176398_g (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: aup/j (Laqu;Ldt;Lbec;)I net/minecraft/block/BlockRedstoneComparator/func_176460_j (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)I +MD: aup/k (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneComparator/func_176462_k (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: aup/k (Lbec;)Lbec; net/minecraft/block/BlockRedstoneComparator/func_180675_k (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: aup/l (Lbec;)Z net/minecraft/block/BlockRedstoneComparator/func_176406_l (Lnet/minecraft/block/state/IBlockState;)Z +MD: auq/a (Lwv;)Z net/minecraft/block/BlockRedstoneComparator$1/func_180416_a (Lnet/minecraft/entity/Entity;)Z +MD: auq/apply (Ljava/lang/Object;)Z net/minecraft/block/BlockRedstoneComparator$1/apply (Ljava/lang/Object;)Z +MD: aur/l ()Ljava/lang/String; net/minecraft/block/BlockRedstoneComparator$Mode/func_176610_l ()Ljava/lang/String; +MD: aur/toString ()Ljava/lang/String; net/minecraft/block/BlockRedstoneComparator$Mode/toString ()Ljava/lang/String; +MD: aur/values ()[Laur; net/minecraft/block/BlockRedstoneComparator$Mode/values ()[Lnet/minecraft/block/BlockRedstoneComparator$Mode; +MD: aus/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockWorkbench/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: aut/a (Lahb;Lahd;)Laib; net/minecraft/block/BlockWorkbench$InterfaceCraftingTable/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: aut/d_ ()Ljava/lang/String; net/minecraft/block/BlockWorkbench$InterfaceCraftingTable/func_70005_c_ ()Ljava/lang/String; +MD: aut/e_ ()Lho; net/minecraft/block/BlockWorkbench$InterfaceCraftingTable/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: aut/k ()Ljava/lang/String; net/minecraft/block/BlockWorkbench$InterfaceCraftingTable/func_174875_k ()Ljava/lang/String; +MD: aut/k_ ()Z net/minecraft/block/BlockWorkbench$InterfaceCraftingTable/func_145818_k_ ()Z +MD: auu/a (I)Lbec; net/minecraft/block/BlockCrops/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: auu/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockCrops/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: auu/a (Laqu;Ldt;Lbec;Z)Z net/minecraft/block/BlockCrops/func_176473_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Z)Z +MD: auu/a (Laqu;Ljava/util/Random;Ldt;Lbec;)Z net/minecraft/block/BlockCrops/func_180670_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: auu/a (Latr;Laqu;Ldt;)F net/minecraft/block/BlockCrops/func_180672_a (Lnet/minecraft/block/Block;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)F +MD: auu/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockCrops/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: auu/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockCrops/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: auu/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockCrops/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: auu/b (Laqu;Ljava/util/Random;Ldt;Lbec;)V net/minecraft/block/BlockCrops/func_176474_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: auu/c (Latr;)Z net/minecraft/block/BlockCrops/func_149854_a (Lnet/minecraft/block/Block;)Z +MD: auu/c (Lbec;)I net/minecraft/block/BlockCrops/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: auu/e ()Lbed; net/minecraft/block/BlockCrops/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: auu/f (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockCrops/func_180671_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: auu/g (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockCrops/func_176487_g (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: auu/j ()Lalq; net/minecraft/block/BlockCrops/func_149866_i ()Lnet/minecraft/item/Item; +MD: auu/l ()Lalq; net/minecraft/block/BlockCrops/func_149865_P ()Lnet/minecraft/item/Item; +MD: auv/a (I)Lbec; net/minecraft/block/BlockDaylightDetector/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: auv/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockDaylightDetector/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: auv/a (Laqu;I)Lbcm; net/minecraft/block/BlockDaylightDetector/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: auv/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockDaylightDetector/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: auv/a (Lard;Ldt;)V net/minecraft/block/BlockDaylightDetector/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: auv/a (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockDaylightDetector/func_180656_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: auv/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockDaylightDetector/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: auv/b ()I net/minecraft/block/BlockDaylightDetector/func_149645_b ()I +MD: auv/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockDaylightDetector/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: auv/c ()Z net/minecraft/block/BlockDaylightDetector/func_149662_c ()Z +MD: auv/c (Lbec;)I net/minecraft/block/BlockDaylightDetector/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: auv/d ()Z net/minecraft/block/BlockDaylightDetector/func_149686_d ()Z +MD: auv/d (Laqu;Ldt;)V net/minecraft/block/BlockDaylightDetector/func_180677_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: auv/e ()Lbed; net/minecraft/block/BlockDaylightDetector/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: auv/g ()Z net/minecraft/block/BlockDaylightDetector/func_149744_f ()Z +MD: auw/a (Laqu;Lahd;Ldt;Lbec;Lbcm;)V net/minecraft/block/BlockDeadBush/func_180657_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/tileentity/TileEntity;)V +MD: auw/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockDeadBush/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: auw/c (Latr;)Z net/minecraft/block/BlockDeadBush/func_149854_a (Lnet/minecraft/block/Block;)Z +MD: auw/f (Laqu;Ldt;)Z net/minecraft/block/BlockDeadBush/func_176200_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: auy/N ()Z net/minecraft/block/BlockRailDetector/func_149740_M ()Z +MD: auy/a (I)Lbec; net/minecraft/block/BlockRailDetector/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: auy/a (Laqu;)I net/minecraft/block/BlockRailDetector/func_149738_a (Lnet/minecraft/world/World;)I +MD: auy/a (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockRailDetector/func_180645_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: auy/a (Laqu;Ldt;Lbec;Lwv;)V net/minecraft/block/BlockRailDetector/func_180634_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/Entity;)V +MD: auy/a (Laqu;Ldt;Ljava/lang/Class;[Lcom/google/common/base/Predicate;)Ljava/util/List; net/minecraft/block/BlockRailDetector/func_176571_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Ljava/lang/Class;[Lcom/google/common/base/Predicate;)Ljava/util/List; +MD: auy/a (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockRailDetector/func_180656_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: auy/a (Ldt;)Lbrt; net/minecraft/block/BlockRailDetector/func_176572_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/AxisAlignedBB; +MD: auy/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockRailDetector/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: auy/b (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockRailDetector/func_176211_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: auy/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRailDetector/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: auy/c (Lbec;)I net/minecraft/block/BlockRailDetector/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: auy/e ()Lbed; net/minecraft/block/BlockRailDetector/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: auy/e (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRailDetector/func_176570_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: auy/g ()Z net/minecraft/block/BlockRailDetector/func_149744_f ()Z +MD: auy/l ()Lbex; net/minecraft/block/BlockRailDetector/func_176560_l ()Lnet/minecraft/block/properties/IProperty; +MD: auy/l (Laqu;Ldt;)I net/minecraft/block/BlockRailDetector/func_180641_l (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: auz/a (Latl;)Z net/minecraft/block/BlockRailDetector$1/func_180344_a (Lnet/minecraft/block/BlockRailBase$EnumRailDirection;)Z +MD: auz/apply (Ljava/lang/Object;)Z net/minecraft/block/BlockRailDetector$1/apply (Ljava/lang/Object;)Z +MD: av/a (Ltk;)Z net/minecraft/command/server/CommandAchievement$1/func_179605_a (Lnet/minecraft/stats/Achievement;)Z +MD: av/apply (Ljava/lang/Object;)Z net/minecraft/command/server/CommandAchievement$1/apply (Ljava/lang/Object;)Z +MD: ava/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockRedstoneDiode/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: ava/a (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockRedstoneDiode/func_180645_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: ava/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockRedstoneDiode/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: ava/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockRedstoneDiode/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: ava/a (Lard;Ldt;Lbec;)I net/minecraft/block/BlockRedstoneDiode/func_176408_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)I +MD: ava/a (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockRedstoneDiode/func_180656_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: ava/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockRedstoneDiode/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: ava/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockRedstoneDiode/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: ava/b (Lard;Ldt;Lbec;)Z net/minecraft/block/BlockRedstoneDiode/func_176405_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: ava/b (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockRedstoneDiode/func_176211_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: ava/b (Latr;)Z net/minecraft/block/BlockRedstoneDiode/func_149667_c (Lnet/minecraft/block/Block;)Z +MD: ava/c ()Z net/minecraft/block/BlockRedstoneDiode/func_149662_c ()Z +MD: ava/c (Laqu;Ldt;)Z net/minecraft/block/BlockRedstoneDiode/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: ava/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneDiode/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: ava/c (Lard;Ldt;Lbec;)I net/minecraft/block/BlockRedstoneDiode/func_176407_c (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)I +MD: ava/c (Lard;Ldt;Lej;)I net/minecraft/block/BlockRedstoneDiode/func_176401_c (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)I +MD: ava/c (Latr;)Z net/minecraft/block/BlockRedstoneDiode/func_149908_a (Lnet/minecraft/block/Block;)Z +MD: ava/d ()Z net/minecraft/block/BlockRedstoneDiode/func_149686_d ()Z +MD: ava/d (Laqu;Ldt;)Z net/minecraft/block/BlockRedstoneDiode/func_176409_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: ava/d (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneDiode/func_176206_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: ava/d (Latr;)Z net/minecraft/block/BlockRedstoneDiode/func_149909_d (Lnet/minecraft/block/Block;)Z +MD: ava/d (Lbec;)I net/minecraft/block/BlockRedstoneDiode/func_176403_d (Lnet/minecraft/block/state/IBlockState;)I +MD: ava/e (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockRedstoneDiode/func_176404_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: ava/e (Latr;)Z net/minecraft/block/BlockRedstoneDiode/func_149907_e (Lnet/minecraft/block/Block;)Z +MD: ava/e (Lbec;)Lbec; net/minecraft/block/BlockRedstoneDiode/func_180674_e (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: ava/f (Laqu;Ldt;Lbec;)I net/minecraft/block/BlockRedstoneDiode/func_176397_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)I +MD: ava/g ()Z net/minecraft/block/BlockRedstoneDiode/func_149744_f ()Z +MD: ava/g (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneDiode/func_176398_g (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: ava/h (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneDiode/func_176400_h (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: ava/i (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockRedstoneDiode/func_176402_i (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: ava/k ()Laql; net/minecraft/block/BlockRedstoneDiode/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: ava/k (Lbec;)Lbec; net/minecraft/block/BlockRedstoneDiode/func_180675_k (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: ava/l (Lbec;)Z net/minecraft/block/BlockRedstoneDiode/func_176406_l (Lnet/minecraft/block/state/IBlockState;)Z +MD: ava/m (Lbec;)I net/minecraft/block/BlockRedstoneDiode/func_176399_m (Lnet/minecraft/block/state/IBlockState;)I +MD: avc/a (I)Lbec; net/minecraft/block/BlockDirt/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: avc/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockDirt/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: avc/a (Lbec;)I net/minecraft/block/BlockDirt/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: avc/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockDirt/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: avc/c (Lbec;)I net/minecraft/block/BlockDirt/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: avc/e ()Lbed; net/minecraft/block/BlockDirt/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: avc/j (Laqu;Ldt;)I net/minecraft/block/BlockDirt/func_176222_j (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: avd/a ()I net/minecraft/block/BlockDirt$DirtType/func_176925_a ()I +MD: avd/a (I)Lavd; net/minecraft/block/BlockDirt$DirtType/func_176924_a (I)Lnet/minecraft/block/BlockDirt$DirtType; +MD: avd/c ()Ljava/lang/String; net/minecraft/block/BlockDirt$DirtType/func_176927_c ()Ljava/lang/String; +MD: avd/l ()Ljava/lang/String; net/minecraft/block/BlockDirt$DirtType/func_176610_l ()Ljava/lang/String; +MD: avd/toString ()Ljava/lang/String; net/minecraft/block/BlockDirt$DirtType/toString ()Ljava/lang/String; +MD: avd/values ()[Lavd; net/minecraft/block/BlockDirt$DirtType/values ()[Lnet/minecraft/block/BlockDirt$DirtType; +MD: ave/N ()Z net/minecraft/block/BlockDispenser/func_149740_M ()Z +MD: ave/a (I)Lbec; net/minecraft/block/BlockDispenser/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: ave/a (Lamj;)Leo; net/minecraft/block/BlockDispenser/func_149940_a (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/dispenser/IBehaviorDispenseItem; +MD: ave/a (Laqu;)I net/minecraft/block/BlockDispenser/func_149738_a (Lnet/minecraft/world/World;)I +MD: ave/a (Laqu;I)Lbcm; net/minecraft/block/BlockDispenser/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: ave/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockDispenser/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: ave/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockDispenser/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: ave/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockDispenser/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: ave/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockDispenser/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: ave/a (Ldz;)Lex; net/minecraft/block/BlockDispenser/func_149939_a (Lnet/minecraft/dispenser/IBlockSource;)Lnet/minecraft/dispenser/IPosition; +MD: ave/b ()I net/minecraft/block/BlockDispenser/func_149645_b ()I +MD: ave/b (I)Lej; net/minecraft/block/BlockDispenser/func_149937_b (I)Lnet/minecraft/util/EnumFacing; +MD: ave/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockDispenser/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: ave/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockDispenser/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: ave/b (Lbec;)Lbec; net/minecraft/block/BlockDispenser/func_176217_b (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: ave/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockDispenser/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: ave/c (Lbec;)I net/minecraft/block/BlockDispenser/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: ave/d (Laqu;Ldt;)V net/minecraft/block/BlockDispenser/func_176439_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: ave/e ()Lbed; net/minecraft/block/BlockDispenser/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: ave/e (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockDispenser/func_176438_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: ave/l (Laqu;Ldt;)I net/minecraft/block/BlockDispenser/func_180641_l (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: avf/a (I)Lbec; net/minecraft/block/BlockDoor/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: avf/a (Laqu;Ldt;)Lbrt; net/minecraft/block/BlockDoor/func_180646_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/AxisAlignedBB; +MD: avf/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockDoor/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: avf/a (Laqu;Ldt;Lbec;Lahd;)V net/minecraft/block/BlockDoor/func_176208_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: avf/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockDoor/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: avf/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockDoor/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: avf/a (Laqu;Ldt;Lbrw;Lbrw;)Lbru; net/minecraft/block/BlockDoor/func_180636_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/MovingObjectPosition; +MD: avf/a (Laqu;Ldt;Z)V net/minecraft/block/BlockDoor/func_176512_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Z)V +MD: avf/a (Lard;Ldt;)V net/minecraft/block/BlockDoor/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: avf/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockDoor/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: avf/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockDoor/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: avf/b (I)I net/minecraft/block/BlockDoor/func_176510_b (I)I +MD: avf/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockDoor/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: avf/b (Lard;Ldt;)Z net/minecraft/block/BlockDoor/func_176205_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: avf/c ()Z net/minecraft/block/BlockDoor/func_149662_c ()Z +MD: avf/c (Laqu;Ldt;)Z net/minecraft/block/BlockDoor/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: avf/c (Lbec;)I net/minecraft/block/BlockDoor/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: avf/d ()Z net/minecraft/block/BlockDoor/func_149686_d ()Z +MD: avf/e ()Lbed; net/minecraft/block/BlockDoor/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: avf/e (Lard;Ldt;)I net/minecraft/block/BlockDoor/func_176515_e (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)I +MD: avf/f (I)Lej; net/minecraft/block/BlockDoor/func_176511_f (I)Lnet/minecraft/util/EnumFacing; +MD: avf/f (Lard;Ldt;)Z net/minecraft/block/BlockDoor/func_176514_f (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: avf/g (I)Z net/minecraft/block/BlockDoor/func_176516_g (I)Z +MD: avf/h (Lard;Ldt;)Lej; net/minecraft/block/BlockDoor/func_176517_h (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/EnumFacing; +MD: avf/i ()I net/minecraft/block/BlockDoor/func_149656_h ()I +MD: avf/i (I)Z net/minecraft/block/BlockDoor/func_176518_i (I)Z +MD: avf/j ()Lalq; net/minecraft/block/BlockDoor/func_176509_j ()Lnet/minecraft/item/Item; +MD: avf/j (I)Z net/minecraft/block/BlockDoor/func_176513_j (I)Z +MD: avf/k ()Laql; net/minecraft/block/BlockDoor/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: avf/k (I)V net/minecraft/block/BlockDoor/func_150011_b (I)V +MD: avg/l ()Ljava/lang/String; net/minecraft/block/BlockDoor$EnumDoorHalf/func_176610_l ()Ljava/lang/String; +MD: avg/toString ()Ljava/lang/String; net/minecraft/block/BlockDoor$EnumDoorHalf/toString ()Ljava/lang/String; +MD: avg/values ()[Lavg; net/minecraft/block/BlockDoor$EnumDoorHalf/values ()[Lnet/minecraft/block/BlockDoor$EnumDoorHalf; +MD: avh/l ()Ljava/lang/String; net/minecraft/block/BlockDoor$EnumHingePosition/func_176610_l ()Ljava/lang/String; +MD: avh/toString ()Ljava/lang/String; net/minecraft/block/BlockDoor$EnumHingePosition/toString ()Ljava/lang/String; +MD: avh/values ()[Lavh; net/minecraft/block/BlockDoor$EnumHingePosition/values ()[Lnet/minecraft/block/BlockDoor$EnumHingePosition; +MD: avi/Q ()Latw; net/minecraft/block/BlockDoublePlant/func_176218_Q ()Lnet/minecraft/block/Block$EnumOffsetType; +MD: avi/a (I)Lbec; net/minecraft/block/BlockDoublePlant/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: avi/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockDoublePlant/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: avi/a (Laqu;Lahd;Ldt;Lbec;Lbcm;)V net/minecraft/block/BlockDoublePlant/func_180657_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/tileentity/TileEntity;)V +MD: avi/a (Laqu;Ldt;Lavk;I)V net/minecraft/block/BlockDoublePlant/func_176491_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/BlockDoublePlant$EnumPlantType;I)V +MD: avi/a (Laqu;Ldt;Lbec;Lahd;)V net/minecraft/block/BlockDoublePlant/func_176208_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: avi/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockDoublePlant/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: avi/a (Laqu;Ldt;Lbec;Z)Z net/minecraft/block/BlockDoublePlant/func_176473_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Z)Z +MD: avi/a (Laqu;Ljava/util/Random;Ldt;Lbec;)Z net/minecraft/block/BlockDoublePlant/func_180670_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: avi/a (Lard;Ldt;)V net/minecraft/block/BlockDoublePlant/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: avi/a (Lard;Ldt;I)I net/minecraft/block/BlockDoublePlant/func_180662_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;I)I +MD: avi/a (Lbec;)I net/minecraft/block/BlockDoublePlant/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: avi/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockDoublePlant/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: avi/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockDoublePlant/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: avi/b (Laqu;Ldt;Lbec;Lahd;)Z net/minecraft/block/BlockDoublePlant/func_176489_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: avi/b (Laqu;Ljava/util/Random;Ldt;Lbec;)V net/minecraft/block/BlockDoublePlant/func_176474_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: avi/c (Laqu;Ldt;)Z net/minecraft/block/BlockDoublePlant/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: avi/c (Lbec;)I net/minecraft/block/BlockDoublePlant/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: avi/e ()Lbed; net/minecraft/block/BlockDoublePlant/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: avi/e (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockDoublePlant/func_176475_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: avi/e (Lard;Ldt;)Lavk; net/minecraft/block/BlockDoublePlant/func_176490_e (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/BlockDoublePlant$EnumPlantType; +MD: avi/f (Laqu;Ldt;)Z net/minecraft/block/BlockDoublePlant/func_176200_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: avi/f (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockDoublePlant/func_180671_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: avi/j (Laqu;Ldt;)I net/minecraft/block/BlockDoublePlant/func_176222_j (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: avj/l ()Ljava/lang/String; net/minecraft/block/BlockDoublePlant$EnumBlockHalf/func_176610_l ()Ljava/lang/String; +MD: avj/toString ()Ljava/lang/String; net/minecraft/block/BlockDoublePlant$EnumBlockHalf/toString ()Ljava/lang/String; +MD: avj/values ()[Lavj; net/minecraft/block/BlockDoublePlant$EnumBlockHalf/values ()[Lnet/minecraft/block/BlockDoublePlant$EnumBlockHalf; +MD: avk/a ()I net/minecraft/block/BlockDoublePlant$EnumPlantType/func_176936_a ()I +MD: avk/a (I)Lavk; net/minecraft/block/BlockDoublePlant$EnumPlantType/func_176938_a (I)Lnet/minecraft/block/BlockDoublePlant$EnumPlantType; +MD: avk/c ()Ljava/lang/String; net/minecraft/block/BlockDoublePlant$EnumPlantType/func_176939_c ()Ljava/lang/String; +MD: avk/l ()Ljava/lang/String; net/minecraft/block/BlockDoublePlant$EnumPlantType/func_176610_l ()Ljava/lang/String; +MD: avk/toString ()Ljava/lang/String; net/minecraft/block/BlockDoublePlant$EnumPlantType/toString ()Ljava/lang/String; +MD: avk/values ()[Lavk; net/minecraft/block/BlockDoublePlant$EnumPlantType/values ()[Lnet/minecraft/block/BlockDoublePlant$EnumPlantType; +MD: avl/a (Laqu;)I net/minecraft/block/BlockDragonEgg/func_149738_a (Lnet/minecraft/world/World;)I +MD: avl/a (Laqu;Ldt;Lahd;)V net/minecraft/block/BlockDragonEgg/func_180649_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: avl/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockDragonEgg/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: avl/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockDragonEgg/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: avl/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockDragonEgg/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: avl/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockDragonEgg/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: avl/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockDragonEgg/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: avl/c ()Z net/minecraft/block/BlockDragonEgg/func_149662_c ()Z +MD: avl/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockDragonEgg/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: avl/d ()Z net/minecraft/block/BlockDragonEgg/func_149686_d ()Z +MD: avl/d (Laqu;Ldt;)V net/minecraft/block/BlockDragonEgg/func_180683_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: avl/e (Laqu;Ldt;)V net/minecraft/block/BlockDragonEgg/func_180684_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: avm/a (Lamj;)Leo; net/minecraft/block/BlockDropper/func_149940_a (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/dispenser/IBehaviorDispenseItem; +MD: avm/a (Laqu;I)Lbcm; net/minecraft/block/BlockDropper/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: avm/d (Laqu;Ldt;)V net/minecraft/block/BlockDropper/func_176439_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: avn/a (Laqu;Ldt;I)I net/minecraft/block/BlockDynamicLiquid/func_176371_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;I)I +MD: avn/a (Laqu;Ldt;ILej;)I net/minecraft/block/BlockDynamicLiquid/func_176374_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;ILnet/minecraft/util/EnumFacing;)I +MD: avn/a (Laqu;Ldt;Lbec;I)V net/minecraft/block/BlockDynamicLiquid/func_176375_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;I)V +MD: avn/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockDynamicLiquid/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: avn/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockDynamicLiquid/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: avn/e (Laqu;Ldt;)Ljava/util/Set; net/minecraft/block/BlockDynamicLiquid/func_176376_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Ljava/util/Set; +MD: avn/f (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockDynamicLiquid/func_180690_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: avn/g (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockDynamicLiquid/func_176372_g (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: avn/h (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockDynamicLiquid/func_176373_h (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: avo/a (Laqu;I)Lbcm; net/minecraft/block/BlockEnchantmentTable/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: avo/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockEnchantmentTable/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: avo/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockEnchantmentTable/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: avo/b ()I net/minecraft/block/BlockEnchantmentTable/func_149645_b ()I +MD: avo/c ()Z net/minecraft/block/BlockEnchantmentTable/func_149662_c ()Z +MD: avo/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockEnchantmentTable/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: avo/d ()Z net/minecraft/block/BlockEnchantmentTable/func_149686_d ()Z +MD: avp/a (Laqu;I)Lbcm; net/minecraft/block/BlockEndPortal/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: avp/a (Laqu;Ldt;Lbec;Lbrt;Ljava/util/List;Lwv;)V net/minecraft/block/BlockEndPortal/func_180638_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;)V +MD: avp/a (Laqu;Ldt;Lbec;Lwv;)V net/minecraft/block/BlockEndPortal/func_180634_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/Entity;)V +MD: avp/a (Lard;Ldt;)V net/minecraft/block/BlockEndPortal/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: avp/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockEndPortal/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: avp/a (Ljava/util/Random;)I net/minecraft/block/BlockEndPortal/func_149745_a (Ljava/util/Random;)I +MD: avp/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockEndPortal/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: avp/c ()Z net/minecraft/block/BlockEndPortal/func_149662_c ()Z +MD: avp/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockEndPortal/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: avp/d ()Z net/minecraft/block/BlockEndPortal/func_149686_d ()Z +MD: avp/g (Lbec;)Lboh; net/minecraft/block/BlockEndPortal/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: avq/N ()Z net/minecraft/block/BlockEndPortalFrame/func_149740_M ()Z +MD: avq/a (I)Lbec; net/minecraft/block/BlockEndPortalFrame/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: avq/a (Laqu;Ldt;Lbec;Lbrt;Ljava/util/List;Lwv;)V net/minecraft/block/BlockEndPortalFrame/func_180638_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;)V +MD: avq/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockEndPortalFrame/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: avq/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockEndPortalFrame/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: avq/c ()Z net/minecraft/block/BlockEndPortalFrame/func_149662_c ()Z +MD: avq/c (Lbec;)I net/minecraft/block/BlockEndPortalFrame/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: avq/e ()Lbed; net/minecraft/block/BlockEndPortalFrame/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: avq/h ()V net/minecraft/block/BlockEndPortalFrame/func_149683_g ()V +MD: avq/l (Laqu;Ldt;)I net/minecraft/block/BlockEndPortalFrame/func_180641_l (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: avr/G ()Z net/minecraft/block/BlockEnderChest/func_149700_E ()Z +MD: avr/a (I)Lbec; net/minecraft/block/BlockEnderChest/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: avr/a (Laqu;I)Lbcm; net/minecraft/block/BlockEnderChest/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: avr/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockEnderChest/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: avr/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockEnderChest/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: avr/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockEnderChest/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: avr/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockEnderChest/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: avr/a (Ljava/util/Random;)I net/minecraft/block/BlockEnderChest/func_149745_a (Ljava/util/Random;)I +MD: avr/b ()I net/minecraft/block/BlockEnderChest/func_149645_b ()I +MD: avr/c ()Z net/minecraft/block/BlockEnderChest/func_149662_c ()Z +MD: avr/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockEnderChest/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: avr/c (Lbec;)I net/minecraft/block/BlockEnderChest/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: avr/d ()Z net/minecraft/block/BlockEnderChest/func_149686_d ()Z +MD: avr/e ()Lbed; net/minecraft/block/BlockEnderChest/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: avs/a (Laqu;I)Lbcm; net/minecraft/block/ITileEntityProvider/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: avt/a (Ladv;)V net/minecraft/block/BlockFalling/func_149829_a (Lnet/minecraft/entity/item/EntityFallingBlock;)V +MD: avt/a (Laqu;)I net/minecraft/block/BlockFalling/func_149738_a (Lnet/minecraft/world/World;)I +MD: avt/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockFalling/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: avt/a_ (Laqu;Ldt;)V net/minecraft/block/BlockFalling/func_176502_a_ (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: avt/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockFalling/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: avt/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockFalling/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: avt/d (Laqu;Ldt;)Z net/minecraft/block/BlockFalling/func_180685_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: avt/e (Laqu;Ldt;)V net/minecraft/block/BlockFalling/func_176503_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: avu/a (I)Lbec; net/minecraft/block/BlockFarmland/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: avu/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockFarmland/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: avu/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockFarmland/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: avu/a (Laqu;Ldt;Lwv;F)V net/minecraft/block/BlockFarmland/func_180658_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/Entity;F)V +MD: avu/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockFarmland/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: avu/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockFarmland/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: avu/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockFarmland/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: avu/c ()Z net/minecraft/block/BlockFarmland/func_149662_c ()Z +MD: avu/c (Lbec;)I net/minecraft/block/BlockFarmland/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: avu/d ()Z net/minecraft/block/BlockFarmland/func_149686_d ()Z +MD: avu/d (Laqu;Ldt;)Z net/minecraft/block/BlockFarmland/func_176529_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: avu/e ()Lbed; net/minecraft/block/BlockFarmland/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: avu/e (Laqu;Ldt;)Z net/minecraft/block/BlockFarmland/func_176530_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: avv/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockFence/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: avv/a (Laqu;Ldt;Lbec;Lbrt;Ljava/util/List;Lwv;)V net/minecraft/block/BlockFence/func_180638_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;)V +MD: avv/a (Lard;Ldt;)V net/minecraft/block/BlockFence/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: avv/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockFence/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: avv/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockFence/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: avv/b (Lard;Ldt;)Z net/minecraft/block/BlockFence/func_176205_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: avv/c ()Z net/minecraft/block/BlockFence/func_149662_c ()Z +MD: avv/c (Lbec;)I net/minecraft/block/BlockFence/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: avv/d ()Z net/minecraft/block/BlockFence/func_149686_d ()Z +MD: avv/e ()Lbed; net/minecraft/block/BlockFence/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: avv/e (Lard;Ldt;)Z net/minecraft/block/BlockFence/func_176524_e (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: avw/a (I)Lbec; net/minecraft/block/BlockFenceGate/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: avw/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockFenceGate/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: avw/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockFenceGate/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: avw/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockFenceGate/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: avw/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockFenceGate/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: avw/a (Lard;Ldt;)V net/minecraft/block/BlockFenceGate/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: avw/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockFenceGate/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: avw/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockFenceGate/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: avw/b (Lard;Ldt;)Z net/minecraft/block/BlockFenceGate/func_176205_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: avw/c ()Z net/minecraft/block/BlockFenceGate/func_149662_c ()Z +MD: avw/c (Laqu;Ldt;)Z net/minecraft/block/BlockFenceGate/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: avw/c (Lbec;)I net/minecraft/block/BlockFenceGate/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: avw/d ()Z net/minecraft/block/BlockFenceGate/func_149686_d ()Z +MD: avw/e ()Lbed; net/minecraft/block/BlockFenceGate/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: avx/M ()Z net/minecraft/block/BlockFire/func_149698_L ()Z +MD: avx/a (I)Lbec; net/minecraft/block/BlockFire/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: avx/a (Laqu;)I net/minecraft/block/BlockFire/func_149738_a (Lnet/minecraft/world/World;)I +MD: avx/a (Laqu;Ldt;ILjava/util/Random;I)V net/minecraft/block/BlockFire/func_176536_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;ILjava/util/Random;I)V +MD: avx/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockFire/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: avx/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockFire/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: avx/a (Latr;II)V net/minecraft/block/BlockFire/func_180686_a (Lnet/minecraft/block/Block;II)V +MD: avx/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockFire/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: avx/a (Ljava/util/Random;)I net/minecraft/block/BlockFire/func_149745_a (Ljava/util/Random;)I +MD: avx/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockFire/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: avx/c ()Z net/minecraft/block/BlockFire/func_149662_c ()Z +MD: avx/c (Laqu;Ldt;)Z net/minecraft/block/BlockFire/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: avx/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockFire/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: avx/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockFire/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: avx/c (Latr;)I net/minecraft/block/BlockFire/func_176532_c (Lnet/minecraft/block/Block;)I +MD: avx/c (Lbec;)I net/minecraft/block/BlockFire/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: avx/d ()Z net/minecraft/block/BlockFire/func_149686_d ()Z +MD: avx/d (Laqu;Ldt;)Z net/minecraft/block/BlockFire/func_176537_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: avx/d (Latr;)I net/minecraft/block/BlockFire/func_176534_d (Lnet/minecraft/block/Block;)I +MD: avx/e ()Lbed; net/minecraft/block/BlockFire/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: avx/e (Laqu;Ldt;)Z net/minecraft/block/BlockFire/func_176533_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: avx/e (Lard;Ldt;)Z net/minecraft/block/BlockFire/func_176535_e (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: avx/g (Lbec;)Lboh; net/minecraft/block/BlockFire/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: avx/j ()V net/minecraft/block/BlockFire/func_149843_e ()V +MD: avx/k ()Laql; net/minecraft/block/BlockFire/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: avx/m (Laqu;Ldt;)I net/minecraft/block/BlockFire/func_176538_m (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: avx/y ()Z net/minecraft/block/BlockFire/func_149703_v ()Z +MD: avy/Q ()Latw; net/minecraft/block/BlockFlower/func_176218_Q ()Lnet/minecraft/block/Block$EnumOffsetType; +MD: avy/a (I)Lbec; net/minecraft/block/BlockFlower/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: avy/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockFlower/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: avy/a (Lbec;)I net/minecraft/block/BlockFlower/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: avy/c (Lbec;)I net/minecraft/block/BlockFlower/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: avy/e ()Lbed; net/minecraft/block/BlockFlower/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: avy/j ()Lawc; net/minecraft/block/BlockFlower/func_176495_j ()Lnet/minecraft/block/BlockFlower$EnumFlowerColor; +MD: avy/l ()Lbex; net/minecraft/block/BlockFlower/func_176494_l ()Lnet/minecraft/block/properties/IProperty; +MD: avz/a (Lawa;)Z net/minecraft/block/BlockFlower$1/func_180354_a (Lnet/minecraft/block/BlockFlower$EnumFlowerType;)Z +MD: avz/apply (Ljava/lang/Object;)Z net/minecraft/block/BlockFlower$1/apply (Ljava/lang/Object;)Z +MD: aw/a ()I net/minecraft/command/server/CommandBanIp/func_82362_a ()I +MD: aw/a (Lae;)Z net/minecraft/command/server/CommandBanIp/func_71519_b (Lnet/minecraft/command/ICommandSender;)Z +MD: aw/a (Lae;Ljava/lang/String;Ljava/lang/String;)V net/minecraft/command/server/CommandBanIp/func_147210_a (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;Ljava/lang/String;)V +MD: aw/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandBanIp/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: aw/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandBanIp/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: aw/c ()Ljava/lang/String; net/minecraft/command/server/CommandBanIp/func_71517_b ()Ljava/lang/String; +MD: aw/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandBanIp/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: awa/a ()Lawc; net/minecraft/block/BlockFlower$EnumFlowerType/func_176964_a ()Lnet/minecraft/block/BlockFlower$EnumFlowerColor; +MD: awa/a (Lawc;)[Lawa; net/minecraft/block/BlockFlower$EnumFlowerType/func_176966_a (Lnet/minecraft/block/BlockFlower$EnumFlowerColor;)[Lnet/minecraft/block/BlockFlower$EnumFlowerType; +MD: awa/a (Lawc;I)Lawa; net/minecraft/block/BlockFlower$EnumFlowerType/func_176967_a (Lnet/minecraft/block/BlockFlower$EnumFlowerColor;I)Lnet/minecraft/block/BlockFlower$EnumFlowerType; +MD: awa/b ()I net/minecraft/block/BlockFlower$EnumFlowerType/func_176968_b ()I +MD: awa/d ()Ljava/lang/String; net/minecraft/block/BlockFlower$EnumFlowerType/func_176963_d ()Ljava/lang/String; +MD: awa/l ()Ljava/lang/String; net/minecraft/block/BlockFlower$EnumFlowerType/func_176610_l ()Ljava/lang/String; +MD: awa/toString ()Ljava/lang/String; net/minecraft/block/BlockFlower$EnumFlowerType/toString ()Ljava/lang/String; +MD: awa/values ()[Lawa; net/minecraft/block/BlockFlower$EnumFlowerType/values ()[Lnet/minecraft/block/BlockFlower$EnumFlowerType; +MD: awb/a (Lawa;)Z net/minecraft/block/BlockFlower$EnumFlowerType$1/func_180350_a (Lnet/minecraft/block/BlockFlower$EnumFlowerType;)Z +MD: awb/apply (Ljava/lang/Object;)Z net/minecraft/block/BlockFlower$EnumFlowerType$1/apply (Ljava/lang/Object;)Z +MD: awc/a ()Lavy; net/minecraft/block/BlockFlower$EnumFlowerColor/func_180346_a ()Lnet/minecraft/block/BlockFlower; +MD: awc/values ()[Lawc; net/minecraft/block/BlockFlower$EnumFlowerColor/values ()[Lnet/minecraft/block/BlockFlower$EnumFlowerColor; +MD: awd/L ()Z net/minecraft/block/BlockFlowerPot/func_149648_K ()Z +MD: awd/a (Laqu;I)Lbcm; net/minecraft/block/BlockFlowerPot/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: awd/a (Laqu;Ldt;Lbec;Lahd;)V net/minecraft/block/BlockFlowerPot/func_176208_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: awd/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockFlowerPot/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: awd/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockFlowerPot/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: awd/a (Lard;Ldt;I)I net/minecraft/block/BlockFlowerPot/func_180662_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;I)I +MD: awd/a (Latr;I)Z net/minecraft/block/BlockFlowerPot/func_149928_a (Lnet/minecraft/block/Block;I)Z +MD: awd/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockFlowerPot/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: awd/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockFlowerPot/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: awd/b ()I net/minecraft/block/BlockFlowerPot/func_149645_b ()I +MD: awd/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockFlowerPot/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: awd/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockFlowerPot/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: awd/c ()Z net/minecraft/block/BlockFlowerPot/func_149662_c ()Z +MD: awd/c (Laqu;Ldt;)Z net/minecraft/block/BlockFlowerPot/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: awd/c (Lbec;)I net/minecraft/block/BlockFlowerPot/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: awd/d ()Z net/minecraft/block/BlockFlowerPot/func_149686_d ()Z +MD: awd/d (Laqu;Ldt;)Lbdb; net/minecraft/block/BlockFlowerPot/func_176442_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/tileentity/TileEntityFlowerPot; +MD: awd/e ()Lbed; net/minecraft/block/BlockFlowerPot/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: awd/h ()V net/minecraft/block/BlockFlowerPot/func_149683_g ()V +MD: awd/j (Laqu;Ldt;)I net/minecraft/block/BlockFlowerPot/func_176222_j (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: awd/k ()Laql; net/minecraft/block/BlockFlowerPot/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: awf/l ()Ljava/lang/String; net/minecraft/block/BlockFlowerPot$EnumFlowerType/func_176610_l ()Ljava/lang/String; +MD: awf/toString ()Ljava/lang/String; net/minecraft/block/BlockFlowerPot$EnumFlowerType/toString ()Ljava/lang/String; +MD: awf/values ()[Lawf; net/minecraft/block/BlockFlowerPot$EnumFlowerType/values ()[Lnet/minecraft/block/BlockFlowerPot$EnumFlowerType; +MD: awg/j ()Z net/minecraft/block/BlockDoubleStoneSlabNew/func_176552_j ()Z +MD: awh/j ()Z net/minecraft/block/BlockDoubleStoneSlab/func_176552_j ()Z +MD: awi/j ()Z net/minecraft/block/BlockDoubleWoodSlab/func_176552_j ()Z +MD: awj/N ()Z net/minecraft/block/BlockFurnace/func_149740_M ()Z +MD: awj/a (I)Lbec; net/minecraft/block/BlockFurnace/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: awj/a (Laqu;I)Lbcm; net/minecraft/block/BlockFurnace/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: awj/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockFurnace/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: awj/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockFurnace/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: awj/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockFurnace/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: awj/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockFurnace/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: awj/a (ZLaqu;Ldt;)V net/minecraft/block/BlockFurnace/func_176446_a (ZLnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: awj/b ()I net/minecraft/block/BlockFurnace/func_149645_b ()I +MD: awj/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockFurnace/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: awj/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockFurnace/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: awj/b (Lbec;)Lbec; net/minecraft/block/BlockFurnace/func_176217_b (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: awj/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockFurnace/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: awj/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockFurnace/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: awj/c (Lbec;)I net/minecraft/block/BlockFurnace/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: awj/e ()Lbed; net/minecraft/block/BlockFurnace/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: awj/e (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockFurnace/func_176445_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: awj/l (Laqu;Ldt;)I net/minecraft/block/BlockFurnace/func_180641_l (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: awl/G ()Z net/minecraft/block/BlockGlass/func_149700_E ()Z +MD: awl/a (Ljava/util/Random;)I net/minecraft/block/BlockGlass/func_149745_a (Ljava/util/Random;)I +MD: awl/d ()Z net/minecraft/block/BlockGlass/func_149686_d ()Z +MD: awl/k ()Laql; net/minecraft/block/BlockGlass/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: awm/a (ILjava/util/Random;)I net/minecraft/block/BlockGlowstone/func_149679_a (ILjava/util/Random;)I +MD: awm/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockGlowstone/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: awm/a (Ljava/util/Random;)I net/minecraft/block/BlockGlowstone/func_149745_a (Ljava/util/Random;)I +MD: awm/g (Lbec;)Lboh; net/minecraft/block/BlockGlowstone/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: awn/F ()I net/minecraft/block/BlockGrass/func_149635_D ()I +MD: awn/a (Laqu;Ldt;Lbec;Z)Z net/minecraft/block/BlockGrass/func_176473_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Z)Z +MD: awn/a (Laqu;Ljava/util/Random;Ldt;Lbec;)Z net/minecraft/block/BlockGrass/func_180670_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: awn/a (Lard;Ldt;I)I net/minecraft/block/BlockGrass/func_180662_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;I)I +MD: awn/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockGrass/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: awn/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockGrass/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: awn/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockGrass/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: awn/b (Laqu;Ljava/util/Random;Ldt;Lbec;)V net/minecraft/block/BlockGrass/func_176474_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: awn/c (Lbec;)I net/minecraft/block/BlockGrass/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: awn/e ()Lbed; net/minecraft/block/BlockGrass/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: awn/h (Lbec;)I net/minecraft/block/BlockGrass/func_180644_h (Lnet/minecraft/block/state/IBlockState;)I +MD: awn/k ()Laql; net/minecraft/block/BlockGrass/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: awo/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockGravel/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: awp/j ()Z net/minecraft/block/BlockHalfStoneSlabNew/func_176552_j ()Z +MD: awq/G ()Z net/minecraft/block/BlockSlab/func_149700_E ()Z +MD: awq/a (Lamj;)Ljava/lang/Object; net/minecraft/block/BlockSlab/func_176553_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/Object; +MD: awq/a (Laqu;Ldt;Lbec;Lbrt;Ljava/util/List;Lwv;)V net/minecraft/block/BlockSlab/func_180638_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;)V +MD: awq/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockSlab/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: awq/a (Lard;Ldt;)V net/minecraft/block/BlockSlab/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: awq/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockSlab/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: awq/a (Ljava/util/Random;)I net/minecraft/block/BlockSlab/func_149745_a (Ljava/util/Random;)I +MD: awq/b (I)Ljava/lang/String; net/minecraft/block/BlockSlab/func_150002_b (I)Ljava/lang/String; +MD: awq/c ()Z net/minecraft/block/BlockSlab/func_149662_c ()Z +MD: awq/c (Latr;)Z net/minecraft/block/BlockSlab/func_150003_a (Lnet/minecraft/block/Block;)Z +MD: awq/d ()Z net/minecraft/block/BlockSlab/func_149686_d ()Z +MD: awq/h ()V net/minecraft/block/BlockSlab/func_149683_g ()V +MD: awq/j ()Z net/minecraft/block/BlockSlab/func_176552_j ()Z +MD: awq/j (Laqu;Ldt;)I net/minecraft/block/BlockSlab/func_176222_j (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: awq/l ()Lbex; net/minecraft/block/BlockSlab/func_176551_l ()Lnet/minecraft/block/properties/IProperty; +MD: awr/l ()Ljava/lang/String; net/minecraft/block/BlockSlab$EnumBlockHalf/func_176610_l ()Ljava/lang/String; +MD: awr/toString ()Ljava/lang/String; net/minecraft/block/BlockSlab$EnumBlockHalf/toString ()Ljava/lang/String; +MD: awr/values ()[Lawr; net/minecraft/block/BlockSlab$EnumBlockHalf/values ()[Lnet/minecraft/block/BlockSlab$EnumBlockHalf; +MD: aws/j ()Z net/minecraft/block/BlockHalfStoneSlab/func_176552_j ()Z +MD: awt/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockBreakable/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: awt/c ()Z net/minecraft/block/BlockBreakable/func_149662_c ()Z +MD: awu/j ()Z net/minecraft/block/BlockHalfWoodSlab/func_176552_j ()Z +MD: awv/g (Lbec;)Lboh; net/minecraft/block/BlockHardenedClay/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: aww/a (I)Lbec; net/minecraft/block/BlockHay/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: aww/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockHay/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: aww/c (Lbec;)I net/minecraft/block/BlockHay/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: aww/e ()Lbed; net/minecraft/block/BlockHay/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: aww/i (Lbec;)Lamj; net/minecraft/block/BlockHay/func_180643_i (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/item/ItemStack; +MD: awx/N ()Z net/minecraft/block/BlockHopper/func_149740_M ()Z +MD: awx/a (I)Lbec; net/minecraft/block/BlockHopper/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: awx/a (Laqu;I)Lbcm; net/minecraft/block/BlockHopper/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: awx/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockHopper/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: awx/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockHopper/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: awx/a (Laqu;Ldt;Lbec;Lbrt;Ljava/util/List;Lwv;)V net/minecraft/block/BlockHopper/func_180638_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;)V +MD: awx/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockHopper/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: awx/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockHopper/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: awx/a (Lard;Ldt;)V net/minecraft/block/BlockHopper/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: awx/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockHopper/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: awx/b ()I net/minecraft/block/BlockHopper/func_149645_b ()I +MD: awx/b (I)Lej; net/minecraft/block/BlockHopper/func_176428_b (I)Lnet/minecraft/util/EnumFacing; +MD: awx/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockHopper/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: awx/c ()Z net/minecraft/block/BlockHopper/func_149662_c ()Z +MD: awx/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockHopper/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: awx/c (Lbec;)I net/minecraft/block/BlockHopper/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: awx/d ()Z net/minecraft/block/BlockHopper/func_149686_d ()Z +MD: awx/e ()Lbed; net/minecraft/block/BlockHopper/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: awx/e (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockHopper/func_176427_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: awx/f (I)Z net/minecraft/block/BlockHopper/func_149917_c (I)Z +MD: awx/k ()Laql; net/minecraft/block/BlockHopper/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: awx/l (Laqu;Ldt;)I net/minecraft/block/BlockHopper/func_180641_l (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: awy/a (Lej;)Z net/minecraft/block/BlockHopper$1/func_180180_a (Lnet/minecraft/util/EnumFacing;)Z +MD: awy/apply (Ljava/lang/Object;)Z net/minecraft/block/BlockHopper$1/apply (Ljava/lang/Object;)Z +MD: awz/a (I)Lbec; net/minecraft/block/BlockHugeMushroom/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: awz/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockHugeMushroom/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: awz/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockHugeMushroom/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: awz/a (Ljava/util/Random;)I net/minecraft/block/BlockHugeMushroom/func_149745_a (Ljava/util/Random;)I +MD: awz/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockHugeMushroom/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: awz/c (Lbec;)I net/minecraft/block/BlockHugeMushroom/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: awz/e ()Lbed; net/minecraft/block/BlockHugeMushroom/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: ax/a ()I net/minecraft/command/server/CommandBanPlayer/func_82362_a ()I +MD: ax/a (Lae;)Z net/minecraft/command/server/CommandBanPlayer/func_71519_b (Lnet/minecraft/command/ICommandSender;)Z +MD: ax/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandBanPlayer/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: ax/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandBanPlayer/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: ax/c ()Ljava/lang/String; net/minecraft/command/server/CommandBanPlayer/func_71517_b ()Ljava/lang/String; +MD: ax/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandBanPlayer/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: axa/a ()I net/minecraft/block/BlockHugeMushroom$EnumType/func_176896_a ()I +MD: axa/a (I)Laxa; net/minecraft/block/BlockHugeMushroom$EnumType/func_176895_a (I)Lnet/minecraft/block/BlockHugeMushroom$EnumType; +MD: axa/l ()Ljava/lang/String; net/minecraft/block/BlockHugeMushroom$EnumType/func_176610_l ()Ljava/lang/String; +MD: axa/toString ()Ljava/lang/String; net/minecraft/block/BlockHugeMushroom$EnumType/toString ()Ljava/lang/String; +MD: axa/values ()[Laxa; net/minecraft/block/BlockHugeMushroom$EnumType/values ()[Lnet/minecraft/block/BlockHugeMushroom$EnumType; +MD: axb/a (Laqu;Lahd;Ldt;Lbec;Lbcm;)V net/minecraft/block/BlockIce/func_180657_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/tileentity/TileEntity;)V +MD: axb/a (Ljava/util/Random;)I net/minecraft/block/BlockIce/func_149745_a (Ljava/util/Random;)I +MD: axb/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockIce/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: axb/i ()I net/minecraft/block/BlockIce/func_149656_h ()I +MD: axb/k ()Laql; net/minecraft/block/BlockIce/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: axc/N ()Z net/minecraft/block/BlockJukebox/func_149740_M ()Z +MD: axc/a (I)Lbec; net/minecraft/block/BlockJukebox/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: axc/a (Laqu;I)Lbcm; net/minecraft/block/BlockJukebox/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: axc/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockJukebox/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: axc/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockJukebox/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: axc/a (Laqu;Ldt;Lbec;Lamj;)V net/minecraft/block/BlockJukebox/func_176431_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/item/ItemStack;)V +MD: axc/b ()I net/minecraft/block/BlockJukebox/func_149645_b ()I +MD: axc/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockJukebox/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: axc/c (Lbec;)I net/minecraft/block/BlockJukebox/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: axc/e ()Lbed; net/minecraft/block/BlockJukebox/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: axc/e (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockJukebox/func_180678_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: axc/l (Laqu;Ldt;)I net/minecraft/block/BlockJukebox/func_180641_l (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: axd/a ()Lamj; net/minecraft/block/BlockJukebox$TileEntityJukebox/func_145856_a ()Lnet/minecraft/item/ItemStack; +MD: axd/a (Lamj;)V net/minecraft/block/BlockJukebox$TileEntityJukebox/func_145857_a (Lnet/minecraft/item/ItemStack;)V +MD: axd/a (Lfn;)V net/minecraft/block/BlockJukebox$TileEntityJukebox/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: axd/b (Lfn;)V net/minecraft/block/BlockJukebox$TileEntityJukebox/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: axe/a (I)Lbec; net/minecraft/block/BlockLadder/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: axe/a (Laqu;Ldt;)Lbrt; net/minecraft/block/BlockLadder/func_180646_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/AxisAlignedBB; +MD: axe/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockLadder/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: axe/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockLadder/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: axe/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockLadder/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: axe/a (Lard;Ldt;)V net/minecraft/block/BlockLadder/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: axe/b (Laqu;Ldt;Lej;)Z net/minecraft/block/BlockLadder/func_176381_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: axe/c ()Z net/minecraft/block/BlockLadder/func_149662_c ()Z +MD: axe/c (Laqu;Ldt;)Z net/minecraft/block/BlockLadder/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: axe/c (Lbec;)I net/minecraft/block/BlockLadder/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: axe/d ()Z net/minecraft/block/BlockLadder/func_149686_d ()Z +MD: axe/e ()Lbed; net/minecraft/block/BlockLadder/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: axe/k ()Laql; net/minecraft/block/BlockLadder/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: axg/F ()I net/minecraft/block/BlockLeaves/func_149635_D ()I +MD: axg/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockLeaves/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: axg/a (Laqu;Ldt;Lbec;I)V net/minecraft/block/BlockLeaves/func_176234_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;I)V +MD: axg/a (Lard;Ldt;I)I net/minecraft/block/BlockLeaves/func_180662_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;I)I +MD: axg/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockLeaves/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: axg/a (Ljava/util/Random;)I net/minecraft/block/BlockLeaves/func_149745_a (Ljava/util/Random;)I +MD: axg/b (I)Layx; net/minecraft/block/BlockLeaves/func_176233_b (I)Lnet/minecraft/block/BlockPlanks$EnumType; +MD: axg/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockLeaves/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: axg/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockLeaves/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: axg/b (Z)V net/minecraft/block/BlockLeaves/func_150122_b (Z)V +MD: axg/c ()Z net/minecraft/block/BlockLeaves/func_149662_c ()Z +MD: axg/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockLeaves/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: axg/d (Laqu;Ldt;)V net/minecraft/block/BlockLeaves/func_176235_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: axg/d (Lbec;)I net/minecraft/block/BlockLeaves/func_176232_d (Lnet/minecraft/block/state/IBlockState;)I +MD: axg/h (Lbec;)I net/minecraft/block/BlockLeaves/func_180644_h (Lnet/minecraft/block/state/IBlockState;)I +MD: axg/k ()Laql; net/minecraft/block/BlockLeaves/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: axg/u ()Z net/minecraft/block/BlockLeaves/func_176214_u ()Z +MD: axi/a (I)Lbec; net/minecraft/block/BlockLever/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: axi/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockLever/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: axi/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockLever/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: axi/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockLever/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: axi/a (Laqu;Ldt;Lej;)Z net/minecraft/block/BlockLever/func_176198_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: axi/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockLever/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: axi/a (Lard;Ldt;)V net/minecraft/block/BlockLever/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: axi/a (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockLever/func_180656_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: axi/a (Lej;)I net/minecraft/block/BlockLever/func_176357_a (Lnet/minecraft/util/EnumFacing;)I +MD: axi/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockLever/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: axi/b (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockLever/func_176211_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: axi/c ()Z net/minecraft/block/BlockLever/func_149662_c ()Z +MD: axi/c (Laqu;Ldt;)Z net/minecraft/block/BlockLever/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: axi/c (Lbec;)I net/minecraft/block/BlockLever/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: axi/d ()Z net/minecraft/block/BlockLever/func_149686_d ()Z +MD: axi/d (Laqu;Ldt;)Z net/minecraft/block/BlockLever/func_176358_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: axi/e ()Lbed; net/minecraft/block/BlockLever/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: axi/e (Laqu;Ldt;)Z net/minecraft/block/BlockLever/func_176356_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: axi/g ()Z net/minecraft/block/BlockLever/func_149744_f ()Z +MD: axk/a ()I net/minecraft/block/BlockLever$EnumOrientation/func_176855_a ()I +MD: axk/a (I)Laxk; net/minecraft/block/BlockLever$EnumOrientation/func_176853_a (I)Lnet/minecraft/block/BlockLever$EnumOrientation; +MD: axk/a (Lej;Lej;)Laxk; net/minecraft/block/BlockLever$EnumOrientation/func_176856_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/EnumFacing;)Lnet/minecraft/block/BlockLever$EnumOrientation; +MD: axk/c ()Lej; net/minecraft/block/BlockLever$EnumOrientation/func_176852_c ()Lnet/minecraft/util/EnumFacing; +MD: axk/l ()Ljava/lang/String; net/minecraft/block/BlockLever$EnumOrientation/func_176610_l ()Ljava/lang/String; +MD: axk/toString ()Ljava/lang/String; net/minecraft/block/BlockLever$EnumOrientation/toString ()Ljava/lang/String; +MD: axk/values ()[Laxk; net/minecraft/block/BlockLever$EnumOrientation/values ()[Lnet/minecraft/block/BlockLever$EnumOrientation; +MD: axl/a (I)Lbec; net/minecraft/block/BlockLiquid/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: axl/a (Laqu;)I net/minecraft/block/BlockLiquid/func_149738_a (Lnet/minecraft/world/World;)I +MD: axl/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockLiquid/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: axl/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockLiquid/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: axl/a (Laqu;Ldt;Lwv;Lbrw;)Lbrw; net/minecraft/block/BlockLiquid/func_176197_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/Entity;Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/Vec3; +MD: axl/a (Lard;Ldt;I)I net/minecraft/block/BlockLiquid/func_180662_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;I)I +MD: axl/a (Lard;Ldt;Lbof;)D net/minecraft/block/BlockLiquid/func_180689_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/material/Material;)D +MD: axl/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockLiquid/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: axl/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockLiquid/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: axl/a (Lbec;Z)Z net/minecraft/block/BlockLiquid/func_176209_a (Lnet/minecraft/block/state/IBlockState;Z)Z +MD: axl/a (Lbof;)Lavn; net/minecraft/block/BlockLiquid/func_176361_a (Lnet/minecraft/block/material/Material;)Lnet/minecraft/block/BlockDynamicLiquid; +MD: axl/a (Ljava/util/Random;)I net/minecraft/block/BlockLiquid/func_149745_a (Ljava/util/Random;)I +MD: axl/b ()I net/minecraft/block/BlockLiquid/func_149645_b ()I +MD: axl/b (I)F net/minecraft/block/BlockLiquid/func_149801_b (I)F +MD: axl/b (Lard;Ldt;)Z net/minecraft/block/BlockLiquid/func_176205_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: axl/b (Lard;Ldt;Lej;)Z net/minecraft/block/BlockLiquid/func_176212_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: axl/b (Lbof;)Lbax; net/minecraft/block/BlockLiquid/func_176363_b (Lnet/minecraft/block/material/Material;)Lnet/minecraft/block/BlockStaticLiquid; +MD: axl/c ()Z net/minecraft/block/BlockLiquid/func_149662_c ()Z +MD: axl/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockLiquid/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: axl/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockLiquid/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: axl/c (Lard;Ldt;)I net/minecraft/block/BlockLiquid/func_176207_c (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)I +MD: axl/c (Lbec;)I net/minecraft/block/BlockLiquid/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: axl/d ()Z net/minecraft/block/BlockLiquid/func_149686_d ()Z +MD: axl/d (Laqu;Ldt;)V net/minecraft/block/BlockLiquid/func_180688_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: axl/e ()Lbed; net/minecraft/block/BlockLiquid/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: axl/e (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockLiquid/func_176365_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: axl/e (Lard;Ldt;)I net/minecraft/block/BlockLiquid/func_176362_e (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)I +MD: axl/f (Lard;Ldt;)I net/minecraft/block/BlockLiquid/func_176366_f (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)I +MD: axl/g (Lard;Ldt;)Z net/minecraft/block/BlockLiquid/func_176364_g (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: axl/h (Lard;Ldt;)Lbrw; net/minecraft/block/BlockLiquid/func_180687_h (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/Vec3; +MD: axl/k ()Laql; net/minecraft/block/BlockLiquid/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: axm/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockLog/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: axm/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockLog/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: axo/a (Lel;)Laxo; net/minecraft/block/BlockLog$EnumAxis/func_176870_a (Lnet/minecraft/util/EnumFacing$Axis;)Lnet/minecraft/block/BlockLog$EnumAxis; +MD: axo/l ()Ljava/lang/String; net/minecraft/block/BlockLog$EnumAxis/func_176610_l ()Ljava/lang/String; +MD: axo/toString ()Ljava/lang/String; net/minecraft/block/BlockLog$EnumAxis/toString ()Ljava/lang/String; +MD: axo/values ()[Laxo; net/minecraft/block/BlockLog$EnumAxis/values ()[Lnet/minecraft/block/BlockLog$EnumAxis; +MD: axp/a (ILjava/util/Random;)I net/minecraft/block/BlockMelon/func_149679_a (ILjava/util/Random;)I +MD: axp/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockMelon/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: axp/a (Ljava/util/Random;)I net/minecraft/block/BlockMelon/func_149745_a (Ljava/util/Random;)I +MD: axq/g (Lbec;)Lboh; net/minecraft/block/BlockCompressed/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: axr/a (Laqu;I)Lbcm; net/minecraft/block/BlockMobSpawner/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: axr/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockMobSpawner/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: axr/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockMobSpawner/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: axr/a (Ljava/util/Random;)I net/minecraft/block/BlockMobSpawner/func_149745_a (Ljava/util/Random;)I +MD: axr/b ()I net/minecraft/block/BlockMobSpawner/func_149645_b ()I +MD: axr/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockMobSpawner/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: axr/c ()Z net/minecraft/block/BlockMobSpawner/func_149662_c ()Z +MD: axr/k ()Laql; net/minecraft/block/BlockMobSpawner/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: axs/a (I)Lbec; net/minecraft/block/BlockSilverfish/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: axs/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockSilverfish/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: axs/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockSilverfish/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: axs/a (Ljava/util/Random;)I net/minecraft/block/BlockSilverfish/func_149745_a (Ljava/util/Random;)I +MD: axs/c (Lbec;)I net/minecraft/block/BlockSilverfish/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: axs/d (Lbec;)Z net/minecraft/block/BlockSilverfish/func_176377_d (Lnet/minecraft/block/state/IBlockState;)Z +MD: axs/e ()Lbed; net/minecraft/block/BlockSilverfish/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: axs/i (Lbec;)Lamj; net/minecraft/block/BlockSilverfish/func_180643_i (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/item/ItemStack; +MD: axs/j (Laqu;Ldt;)I net/minecraft/block/BlockSilverfish/func_176222_j (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: axu/a ()I net/minecraft/block/BlockSilverfish$EnumType/func_176881_a ()I +MD: axu/a (I)Laxu; net/minecraft/block/BlockSilverfish$EnumType/func_176879_a (I)Lnet/minecraft/block/BlockSilverfish$EnumType; +MD: axu/a (Lbec;)Laxu; net/minecraft/block/BlockSilverfish$EnumType/func_176878_a (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/BlockSilverfish$EnumType; +MD: axu/c ()Ljava/lang/String; net/minecraft/block/BlockSilverfish$EnumType/func_176882_c ()Ljava/lang/String; +MD: axu/d ()Lbec; net/minecraft/block/BlockSilverfish$EnumType/func_176883_d ()Lnet/minecraft/block/state/IBlockState; +MD: axu/l ()Ljava/lang/String; net/minecraft/block/BlockSilverfish$EnumType/func_176610_l ()Ljava/lang/String; +MD: axu/toString ()Ljava/lang/String; net/minecraft/block/BlockSilverfish$EnumType/toString ()Ljava/lang/String; +MD: axu/values ()[Laxu; net/minecraft/block/BlockSilverfish$EnumType/values ()[Lnet/minecraft/block/BlockSilverfish$EnumType; +MD: axv/d ()Lbec; net/minecraft/block/BlockSilverfish$EnumType$1/func_176883_d ()Lnet/minecraft/block/state/IBlockState; +MD: axw/d ()Lbec; net/minecraft/block/BlockSilverfish$EnumType$2/func_176883_d ()Lnet/minecraft/block/state/IBlockState; +MD: axx/d ()Lbec; net/minecraft/block/BlockSilverfish$EnumType$3/func_176883_d ()Lnet/minecraft/block/state/IBlockState; +MD: axy/d ()Lbec; net/minecraft/block/BlockSilverfish$EnumType$4/func_176883_d ()Lnet/minecraft/block/state/IBlockState; +MD: axz/d ()Lbec; net/minecraft/block/BlockSilverfish$EnumType$5/func_176883_d ()Lnet/minecraft/block/state/IBlockState; +MD: ay/a ()I net/minecraft/command/CommandBlockData/func_82362_a ()I +MD: ay/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandBlockData/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: ay/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandBlockData/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: ay/c ()Ljava/lang/String; net/minecraft/command/CommandBlockData/func_71517_b ()Ljava/lang/String; +MD: ay/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandBlockData/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: aya/d ()Lbec; net/minecraft/block/BlockSilverfish$EnumType$6/func_176883_d ()Lnet/minecraft/block/state/IBlockState; +MD: ayb/a (Laqu;Ldt;Lbec;Z)Z net/minecraft/block/BlockMushroom/func_176473_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Z)Z +MD: ayb/a (Laqu;Ljava/util/Random;Ldt;Lbec;)Z net/minecraft/block/BlockMushroom/func_180670_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: ayb/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockMushroom/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: ayb/b (Laqu;Ljava/util/Random;Ldt;Lbec;)V net/minecraft/block/BlockMushroom/func_176474_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: ayb/c (Laqu;Ldt;)Z net/minecraft/block/BlockMushroom/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: ayb/c (Latr;)Z net/minecraft/block/BlockMushroom/func_149854_a (Lnet/minecraft/block/Block;)Z +MD: ayb/d (Laqu;Ldt;Lbec;Ljava/util/Random;)Z net/minecraft/block/BlockMushroom/func_176485_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)Z +MD: ayb/f (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockMushroom/func_180671_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: ayc/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockMycelium/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: ayc/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockMycelium/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: ayc/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockMycelium/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: ayc/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockMycelium/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: ayc/c (Lbec;)I net/minecraft/block/BlockMycelium/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: ayc/e ()Lbed; net/minecraft/block/BlockMycelium/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: ayd/g (Lbec;)Lboh; net/minecraft/block/BlockNetherBrick/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: aye/a (I)Lbec; net/minecraft/block/BlockNetherWart/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: aye/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockNetherWart/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: aye/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockNetherWart/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: aye/a (Ljava/util/Random;)I net/minecraft/block/BlockNetherWart/func_149745_a (Ljava/util/Random;)I +MD: aye/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockNetherWart/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: aye/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockNetherWart/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: aye/c (Latr;)Z net/minecraft/block/BlockNetherWart/func_149854_a (Lnet/minecraft/block/Block;)Z +MD: aye/c (Lbec;)I net/minecraft/block/BlockNetherWart/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: aye/e ()Lbed; net/minecraft/block/BlockNetherWart/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: aye/f (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockNetherWart/func_180671_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: ayf/g (Lbec;)Lboh; net/minecraft/block/BlockNetherrack/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: ayg/a (I)Lbec; net/minecraft/block/BlockNewLeaf/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: ayg/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockNewLeaf/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: ayg/a (Laqu;Lahd;Ldt;Lbec;Lbcm;)V net/minecraft/block/BlockNewLeaf/func_180657_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/tileentity/TileEntity;)V +MD: ayg/a (Laqu;Ldt;Lbec;I)V net/minecraft/block/BlockNewLeaf/func_176234_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;I)V +MD: ayg/a (Lbec;)I net/minecraft/block/BlockNewLeaf/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: ayg/b (I)Layx; net/minecraft/block/BlockNewLeaf/func_176233_b (I)Lnet/minecraft/block/BlockPlanks$EnumType; +MD: ayg/c (Lbec;)I net/minecraft/block/BlockNewLeaf/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: ayg/e ()Lbed; net/minecraft/block/BlockNewLeaf/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: ayg/i (Lbec;)Lamj; net/minecraft/block/BlockNewLeaf/func_180643_i (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/item/ItemStack; +MD: ayg/j (Laqu;Ldt;)I net/minecraft/block/BlockNewLeaf/func_176222_j (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: ayh/a (Layx;)Z net/minecraft/block/BlockNewLeaf$1/func_180195_a (Lnet/minecraft/block/BlockPlanks$EnumType;)Z +MD: ayh/apply (Ljava/lang/Object;)Z net/minecraft/block/BlockNewLeaf$1/apply (Ljava/lang/Object;)Z +MD: ayi/a (I)Lbec; net/minecraft/block/BlockNewLog/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: ayi/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockNewLog/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: ayi/a (Lbec;)I net/minecraft/block/BlockNewLog/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: ayi/c (Lbec;)I net/minecraft/block/BlockNewLog/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: ayi/e ()Lbed; net/minecraft/block/BlockNewLog/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: ayi/i (Lbec;)Lamj; net/minecraft/block/BlockNewLog/func_180643_i (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/item/ItemStack; +MD: ayj/a (Layx;)Z net/minecraft/block/BlockNewLog$1/func_180194_a (Lnet/minecraft/block/BlockPlanks$EnumType;)Z +MD: ayj/apply (Ljava/lang/Object;)Z net/minecraft/block/BlockNewLog$1/apply (Ljava/lang/Object;)Z +MD: ayl/a (I)Lbec; net/minecraft/block/BlockStoneSlabNew/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: ayl/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockStoneSlabNew/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: ayl/a (Lamj;)Ljava/lang/Object; net/minecraft/block/BlockStoneSlabNew/func_176553_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/Object; +MD: ayl/a (Lbec;)I net/minecraft/block/BlockStoneSlabNew/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: ayl/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockStoneSlabNew/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: ayl/b (I)Ljava/lang/String; net/minecraft/block/BlockStoneSlabNew/func_150002_b (I)Ljava/lang/String; +MD: ayl/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockStoneSlabNew/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: ayl/c (Lbec;)I net/minecraft/block/BlockStoneSlabNew/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: ayl/e ()Lbed; net/minecraft/block/BlockStoneSlabNew/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: ayl/l ()Lbex; net/minecraft/block/BlockStoneSlabNew/func_176551_l ()Lnet/minecraft/block/properties/IProperty; +MD: aym/a ()I net/minecraft/block/BlockStoneSlabNew$EnumType/func_176915_a ()I +MD: aym/a (I)Laym; net/minecraft/block/BlockStoneSlabNew$EnumType/func_176916_a (I)Lnet/minecraft/block/BlockStoneSlabNew$EnumType; +MD: aym/c ()Ljava/lang/String; net/minecraft/block/BlockStoneSlabNew$EnumType/func_176918_c ()Ljava/lang/String; +MD: aym/l ()Ljava/lang/String; net/minecraft/block/BlockStoneSlabNew$EnumType/func_176610_l ()Ljava/lang/String; +MD: aym/toString ()Ljava/lang/String; net/minecraft/block/BlockStoneSlabNew$EnumType/toString ()Ljava/lang/String; +MD: aym/values ()[Laym; net/minecraft/block/BlockStoneSlabNew$EnumType/values ()[Lnet/minecraft/block/BlockStoneSlabNew$EnumType; +MD: ayn/a (Laqu;I)Lbcm; net/minecraft/block/BlockNote/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: ayn/a (Laqu;Ldt;Lahd;)V net/minecraft/block/BlockNote/func_180649_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: ayn/a (Laqu;Ldt;Lbec;II)Z net/minecraft/block/BlockNote/func_180648_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;II)Z +MD: ayn/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockNote/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: ayn/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockNote/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: ayn/b ()I net/minecraft/block/BlockNote/func_149645_b ()I +MD: ayn/b (I)Ljava/lang/String; net/minecraft/block/BlockNote/func_176433_b (I)Ljava/lang/String; +MD: ayo/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockObsidian/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: ayo/g (Lbec;)Lboh; net/minecraft/block/BlockObsidian/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: ayp/a (I)Lbec; net/minecraft/block/BlockOldLeaf/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: ayp/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockOldLeaf/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: ayp/a (Laqu;Lahd;Ldt;Lbec;Lbcm;)V net/minecraft/block/BlockOldLeaf/func_180657_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/tileentity/TileEntity;)V +MD: ayp/a (Laqu;Ldt;Lbec;I)V net/minecraft/block/BlockOldLeaf/func_176234_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;I)V +MD: ayp/a (Lard;Ldt;I)I net/minecraft/block/BlockOldLeaf/func_180662_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;I)I +MD: ayp/a (Lbec;)I net/minecraft/block/BlockOldLeaf/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: ayp/b (I)Layx; net/minecraft/block/BlockOldLeaf/func_176233_b (I)Lnet/minecraft/block/BlockPlanks$EnumType; +MD: ayp/c (Lbec;)I net/minecraft/block/BlockOldLeaf/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: ayp/d (Lbec;)I net/minecraft/block/BlockOldLeaf/func_176232_d (Lnet/minecraft/block/state/IBlockState;)I +MD: ayp/e ()Lbed; net/minecraft/block/BlockOldLeaf/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: ayp/h (Lbec;)I net/minecraft/block/BlockOldLeaf/func_180644_h (Lnet/minecraft/block/state/IBlockState;)I +MD: ayp/i (Lbec;)Lamj; net/minecraft/block/BlockOldLeaf/func_180643_i (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/item/ItemStack; +MD: ayq/a (Layx;)Z net/minecraft/block/BlockOldLeaf$1/func_180202_a (Lnet/minecraft/block/BlockPlanks$EnumType;)Z +MD: ayq/apply (Ljava/lang/Object;)Z net/minecraft/block/BlockOldLeaf$1/apply (Ljava/lang/Object;)Z +MD: ayr/a (I)Lbec; net/minecraft/block/BlockOldLog/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: ayr/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockOldLog/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: ayr/a (Lbec;)I net/minecraft/block/BlockOldLog/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: ayr/c (Lbec;)I net/minecraft/block/BlockOldLog/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: ayr/e ()Lbed; net/minecraft/block/BlockOldLog/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: ayr/i (Lbec;)Lamj; net/minecraft/block/BlockOldLog/func_180643_i (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/item/ItemStack; +MD: ays/a (Layx;)Z net/minecraft/block/BlockOldLog$1/func_180200_a (Lnet/minecraft/block/BlockPlanks$EnumType;)Z +MD: ays/apply (Ljava/lang/Object;)Z net/minecraft/block/BlockOldLog$1/apply (Ljava/lang/Object;)Z +MD: ayu/a (ILjava/util/Random;)I net/minecraft/block/BlockOre/func_149679_a (ILjava/util/Random;)I +MD: ayu/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockOre/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: ayu/a (Lbec;)I net/minecraft/block/BlockOre/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: ayu/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockOre/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: ayu/a (Ljava/util/Random;)I net/minecraft/block/BlockOre/func_149745_a (Ljava/util/Random;)I +MD: ayu/j (Laqu;Ldt;)I net/minecraft/block/BlockOre/func_176222_j (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: ayv/a (Ljava/util/Random;)I net/minecraft/block/BlockPackedIce/func_149745_a (Ljava/util/Random;)I +MD: ayw/a (I)Lbec; net/minecraft/block/BlockPlanks/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: ayw/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockPlanks/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: ayw/a (Lbec;)I net/minecraft/block/BlockPlanks/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: ayw/c (Lbec;)I net/minecraft/block/BlockPlanks/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: ayw/e ()Lbed; net/minecraft/block/BlockPlanks/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: ayx/a ()I net/minecraft/block/BlockPlanks$EnumType/func_176839_a ()I +MD: ayx/a (I)Layx; net/minecraft/block/BlockPlanks$EnumType/func_176837_a (I)Lnet/minecraft/block/BlockPlanks$EnumType; +MD: ayx/c ()Ljava/lang/String; net/minecraft/block/BlockPlanks$EnumType/func_176840_c ()Ljava/lang/String; +MD: ayx/l ()Ljava/lang/String; net/minecraft/block/BlockPlanks$EnumType/func_176610_l ()Ljava/lang/String; +MD: ayx/toString ()Ljava/lang/String; net/minecraft/block/BlockPlanks$EnumType/toString ()Ljava/lang/String; +MD: ayx/values ()[Layx; net/minecraft/block/BlockPlanks$EnumType/values ()[Lnet/minecraft/block/BlockPlanks$EnumType; +MD: ayy/a (I)Lbec; net/minecraft/block/BlockPortal/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: ayy/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockPortal/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: ayy/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockPortal/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: ayy/a (Laqu;Ldt;Lbec;Lwv;)V net/minecraft/block/BlockPortal/func_180634_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/Entity;)V +MD: ayy/a (Lard;Ldt;)V net/minecraft/block/BlockPortal/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: ayy/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockPortal/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: ayy/a (Lel;)I net/minecraft/block/BlockPortal/func_176549_a (Lnet/minecraft/util/EnumFacing$Axis;)I +MD: ayy/a (Ljava/util/Random;)I net/minecraft/block/BlockPortal/func_149745_a (Ljava/util/Random;)I +MD: ayy/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockPortal/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: ayy/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockPortal/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: ayy/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockPortal/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: ayy/c (Lbec;)I net/minecraft/block/BlockPortal/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: ayy/d ()Z net/minecraft/block/BlockPortal/func_149686_d ()Z +MD: ayy/d (Laqu;Ldt;)Z net/minecraft/block/BlockPortal/func_176548_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: ayy/e ()Lbed; net/minecraft/block/BlockPortal/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: ayy/k ()Laql; net/minecraft/block/BlockPortal/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: ayz/a ()I net/minecraft/block/BlockPortal$Size/func_150858_a ()I +MD: ayz/a (Latr;)Z net/minecraft/block/BlockPortal$Size/func_150857_a (Lnet/minecraft/block/Block;)Z +MD: ayz/a (Layz;)I net/minecraft/block/BlockPortal$Size/access$000 (Lnet/minecraft/block/BlockPortal$Size;)I +MD: ayz/a (Ldt;Lej;)I net/minecraft/block/BlockPortal$Size/func_180120_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)I +MD: ayz/b ()Z net/minecraft/block/BlockPortal$Size/func_150860_b ()Z +MD: ayz/b (Layz;)I net/minecraft/block/BlockPortal$Size/access$100 (Lnet/minecraft/block/BlockPortal$Size;)I +MD: ayz/c ()V net/minecraft/block/BlockPortal$Size/func_150859_c ()V +MD: ayz/c (Layz;)I net/minecraft/block/BlockPortal$Size/access$200 (Lnet/minecraft/block/BlockPortal$Size;)I +MD: az/a ()I net/minecraft/command/CommandClearInventory/func_82362_a ()I +MD: az/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandClearInventory/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: az/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandClearInventory/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: az/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandClearInventory/func_82358_a ([Ljava/lang/String;I)Z +MD: az/c ()Ljava/lang/String; net/minecraft/command/CommandClearInventory/func_71517_b ()Ljava/lang/String; +MD: az/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandClearInventory/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: az/d ()[Ljava/lang/String; net/minecraft/command/CommandClearInventory/func_147209_d ()[Ljava/lang/String; +MD: aza/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockPotato/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: aza/j ()Lalq; net/minecraft/block/BlockPotato/func_149866_i ()Lnet/minecraft/item/Item; +MD: aza/l ()Lalq; net/minecraft/block/BlockPotato/func_149865_P ()Lnet/minecraft/item/Item; +MD: azb/a (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockCompressedPowered/func_180656_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: azb/g ()Z net/minecraft/block/BlockCompressedPowered/func_149744_f ()Z +MD: azc/a (I)Lbec; net/minecraft/block/BlockRailPowered/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: azc/a (Laqu;Ldt;Lbec;ZI)Z net/minecraft/block/BlockRailPowered/func_176566_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;ZI)Z +MD: azc/a (Laqu;Ldt;ZILatl;)Z net/minecraft/block/BlockRailPowered/func_176567_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;ZILnet/minecraft/block/BlockRailBase$EnumRailDirection;)Z +MD: azc/b (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockRailPowered/func_176561_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: azc/c (Lbec;)I net/minecraft/block/BlockRailPowered/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: azc/e ()Lbed; net/minecraft/block/BlockRailPowered/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: azc/l ()Lbex; net/minecraft/block/BlockRailPowered/func_176560_l ()Lnet/minecraft/block/properties/IProperty; +MD: azd/a (Latl;)Z net/minecraft/block/BlockRailPowered$1/func_180133_a (Lnet/minecraft/block/BlockRailBase$EnumRailDirection;)Z +MD: azd/apply (Ljava/lang/Object;)Z net/minecraft/block/BlockRailPowered$1/apply (Ljava/lang/Object;)Z +MD: azf/a (I)Lbec; net/minecraft/block/BlockPressurePlate/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: azf/a (Lbec;I)Lbec; net/minecraft/block/BlockPressurePlate/func_176575_a (Lnet/minecraft/block/state/IBlockState;I)Lnet/minecraft/block/state/IBlockState; +MD: azf/c (Lbec;)I net/minecraft/block/BlockPressurePlate/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: azf/e ()Lbed; net/minecraft/block/BlockPressurePlate/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: azf/e (Laqu;Ldt;)I net/minecraft/block/BlockPressurePlate/func_180669_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: azf/e (Lbec;)I net/minecraft/block/BlockPressurePlate/func_176576_e (Lnet/minecraft/block/state/IBlockState;)I +MD: azh/values ()[Lazh; net/minecraft/block/BlockPressurePlate$Sensitivity/values ()[Lnet/minecraft/block/BlockPressurePlate$Sensitivity; +MD: azi/a (I)Lbec; net/minecraft/block/BlockPrismarine/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: azi/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockPrismarine/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: azi/a (Lbec;)I net/minecraft/block/BlockPrismarine/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: azi/c (Lbec;)I net/minecraft/block/BlockPrismarine/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: azi/e ()Lbed; net/minecraft/block/BlockPrismarine/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: azj/a ()I net/minecraft/block/BlockPrismarine$EnumType/func_176807_a ()I +MD: azj/a (I)Lazj; net/minecraft/block/BlockPrismarine$EnumType/func_176810_a (I)Lnet/minecraft/block/BlockPrismarine$EnumType; +MD: azj/c ()Ljava/lang/String; net/minecraft/block/BlockPrismarine$EnumType/func_176809_c ()Ljava/lang/String; +MD: azj/l ()Ljava/lang/String; net/minecraft/block/BlockPrismarine$EnumType/func_176610_l ()Ljava/lang/String; +MD: azj/toString ()Ljava/lang/String; net/minecraft/block/BlockPrismarine$EnumType/toString ()Ljava/lang/String; +MD: azj/values ()[Lazj; net/minecraft/block/BlockPrismarine$EnumType/values ()[Lnet/minecraft/block/BlockPrismarine$EnumType; +MD: azk/S ()Lbek; net/minecraft/block/BlockPumpkin/func_176389_S ()Lnet/minecraft/block/state/pattern/BlockPattern; +MD: azk/T ()Lbek; net/minecraft/block/BlockPumpkin/func_176388_T ()Lnet/minecraft/block/state/pattern/BlockPattern; +MD: azk/a (I)Lbec; net/minecraft/block/BlockPumpkin/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: azk/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockPumpkin/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: azk/c (Laqu;Ldt;)Z net/minecraft/block/BlockPumpkin/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: azk/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockPumpkin/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: azk/c (Lbec;)I net/minecraft/block/BlockPumpkin/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: azk/d (Laqu;Ldt;)Z net/minecraft/block/BlockPumpkin/func_176390_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: azk/e ()Lbed; net/minecraft/block/BlockPumpkin/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: azk/e (Laqu;Ldt;)V net/minecraft/block/BlockPumpkin/func_180673_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: azk/j ()Lbek; net/minecraft/block/BlockPumpkin/func_176392_j ()Lnet/minecraft/block/state/pattern/BlockPattern; +MD: azk/l ()Lbek; net/minecraft/block/BlockPumpkin/func_176391_l ()Lnet/minecraft/block/state/pattern/BlockPattern; +MD: azl/a (I)Lbec; net/minecraft/block/BlockQuartz/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: azl/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockQuartz/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: azl/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockQuartz/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: azl/a (Lbec;)I net/minecraft/block/BlockQuartz/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: azl/c (Lbec;)I net/minecraft/block/BlockQuartz/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: azl/e ()Lbed; net/minecraft/block/BlockQuartz/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: azl/g (Lbec;)Lboh; net/minecraft/block/BlockQuartz/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: azl/i (Lbec;)Lamj; net/minecraft/block/BlockQuartz/func_180643_i (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/item/ItemStack; +MD: azn/a ()I net/minecraft/block/BlockQuartz$EnumType/func_176796_a ()I +MD: azn/a (I)Lazn; net/minecraft/block/BlockQuartz$EnumType/func_176794_a (I)Lnet/minecraft/block/BlockQuartz$EnumType; +MD: azn/l ()Ljava/lang/String; net/minecraft/block/BlockQuartz$EnumType/func_176610_l ()Ljava/lang/String; +MD: azn/toString ()Ljava/lang/String; net/minecraft/block/BlockQuartz$EnumType/toString ()Ljava/lang/String; +MD: azn/values ()[Lazn; net/minecraft/block/BlockQuartz$EnumType/values ()[Lnet/minecraft/block/BlockQuartz$EnumType; +MD: azo/a (I)Lbec; net/minecraft/block/BlockRail/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: azo/b (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockRail/func_176561_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: azo/c (Lbec;)I net/minecraft/block/BlockRail/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: azo/e ()Lbed; net/minecraft/block/BlockRail/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: azo/l ()Lbex; net/minecraft/block/BlockRail/func_176560_l ()Lnet/minecraft/block/properties/IProperty; +MD: azp/j ()Lawc; net/minecraft/block/BlockRedFlower/func_176495_j ()Lnet/minecraft/block/BlockFlower$EnumFlowerColor; +MD: azq/a (I)Lbec; net/minecraft/block/BlockRedSandstone/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: azq/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockRedSandstone/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: azq/a (Lbec;)I net/minecraft/block/BlockRedSandstone/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: azq/c (Lbec;)I net/minecraft/block/BlockRedSandstone/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: azq/e ()Lbed; net/minecraft/block/BlockRedSandstone/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: azr/a ()I net/minecraft/block/BlockRedSandstone$EnumType/func_176827_a ()I +MD: azr/a (I)Lazr; net/minecraft/block/BlockRedSandstone$EnumType/func_176825_a (I)Lnet/minecraft/block/BlockRedSandstone$EnumType; +MD: azr/c ()Ljava/lang/String; net/minecraft/block/BlockRedSandstone$EnumType/func_176828_c ()Ljava/lang/String; +MD: azr/l ()Ljava/lang/String; net/minecraft/block/BlockRedSandstone$EnumType/func_176610_l ()Ljava/lang/String; +MD: azr/toString ()Ljava/lang/String; net/minecraft/block/BlockRedSandstone$EnumType/toString ()Ljava/lang/String; +MD: azr/values ()[Lazr; net/minecraft/block/BlockRedSandstone$EnumType/values ()[Lnet/minecraft/block/BlockRedSandstone$EnumType; +MD: azs/a (ILjava/util/Random;)I net/minecraft/block/BlockRedstoneOre/func_149679_a (ILjava/util/Random;)I +MD: azs/a (Laqu;)I net/minecraft/block/BlockRedstoneOre/func_149738_a (Lnet/minecraft/world/World;)I +MD: azs/a (Laqu;Ldt;Lahd;)V net/minecraft/block/BlockRedstoneOre/func_180649_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: azs/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockRedstoneOre/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: azs/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockRedstoneOre/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: azs/a (Laqu;Ldt;Lwv;)V net/minecraft/block/BlockRedstoneOre/func_176199_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/Entity;)V +MD: azs/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockRedstoneOre/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: azs/a (Ljava/util/Random;)I net/minecraft/block/BlockRedstoneOre/func_149745_a (Ljava/util/Random;)I +MD: azs/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockRedstoneOre/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: azs/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockRedstoneOre/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: azs/d (Laqu;Ldt;)V net/minecraft/block/BlockRedstoneOre/func_176352_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: azs/e (Laqu;Ldt;)V net/minecraft/block/BlockRedstoneOre/func_180691_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: azs/i (Lbec;)Lamj; net/minecraft/block/BlockRedstoneOre/func_180643_i (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/item/ItemStack; +MD: azt/a (I)Lbec; net/minecraft/block/BlockRedstoneWire/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: azt/a (Laqu;Ldt;I)I net/minecraft/block/BlockRedstoneWire/func_176342_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;I)I +MD: azt/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockRedstoneWire/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: azt/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockRedstoneWire/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: azt/a (Laqu;Ldt;Ldt;Lbec;)Lbec; net/minecraft/block/BlockRedstoneWire/func_176345_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: azt/a (Lard;Ldt;I)I net/minecraft/block/BlockRedstoneWire/func_180662_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;I)I +MD: azt/a (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockRedstoneWire/func_180656_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: azt/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockRedstoneWire/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: azt/a (Lbec;Lej;)Z net/minecraft/block/BlockRedstoneWire/func_176343_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)Z +MD: azt/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockRedstoneWire/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: azt/b (I)I net/minecraft/block/BlockRedstoneWire/func_176337_b (I)I +MD: azt/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockRedstoneWire/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: azt/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneWire/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: azt/b (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockRedstoneWire/func_176211_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: azt/c ()Z net/minecraft/block/BlockRedstoneWire/func_149662_c ()Z +MD: azt/c (Laqu;Ldt;)Z net/minecraft/block/BlockRedstoneWire/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: azt/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneWire/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: azt/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockRedstoneWire/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: azt/c (Lard;Ldt;Lej;)Lazu; net/minecraft/block/BlockRedstoneWire/func_176341_c (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Lnet/minecraft/block/BlockRedstoneWire$EnumAttachPosition; +MD: azt/c (Lbec;)I net/minecraft/block/BlockRedstoneWire/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: azt/d ()Z net/minecraft/block/BlockRedstoneWire/func_149686_d ()Z +MD: azt/d (Laqu;Ldt;)V net/minecraft/block/BlockRedstoneWire/func_176344_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: azt/d (Lard;Ldt;Lej;)Z net/minecraft/block/BlockRedstoneWire/func_176339_d (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: azt/d (Lbec;)Z net/minecraft/block/BlockRedstoneWire/func_176346_d (Lnet/minecraft/block/state/IBlockState;)Z +MD: azt/e ()Lbed; net/minecraft/block/BlockRedstoneWire/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: azt/e (Laqu;Ldt;Lbec;)Lbec; net/minecraft/block/BlockRedstoneWire/func_176338_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: azt/e (Lard;Ldt;)Z net/minecraft/block/BlockRedstoneWire/func_176340_e (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: azt/g ()Z net/minecraft/block/BlockRedstoneWire/func_149744_f ()Z +MD: azt/k ()Laql; net/minecraft/block/BlockRedstoneWire/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: azu/l ()Ljava/lang/String; net/minecraft/block/BlockRedstoneWire$EnumAttachPosition/func_176610_l ()Ljava/lang/String; +MD: azu/toString ()Ljava/lang/String; net/minecraft/block/BlockRedstoneWire$EnumAttachPosition/toString ()Ljava/lang/String; +MD: azu/values ()[Lazu; net/minecraft/block/BlockRedstoneWire$EnumAttachPosition/values ()[Lnet/minecraft/block/BlockRedstoneWire$EnumAttachPosition; +MD: azv/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockRedstoneLight/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: azv/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockRedstoneLight/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: azv/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockRedstoneLight/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: azv/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockRedstoneLight/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: azv/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneLight/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: azv/i (Lbec;)Lamj; net/minecraft/block/BlockRedstoneLight/func_180643_i (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/item/ItemStack; +MD: azw/a (Laqu;)I net/minecraft/block/BlockRedstoneTorch/func_149738_a (Lnet/minecraft/world/World;)I +MD: azw/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockRedstoneTorch/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: azw/a (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockRedstoneTorch/func_180645_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: azw/a (Laqu;Ldt;Z)Z net/minecraft/block/BlockRedstoneTorch/func_176598_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Z)Z +MD: azw/a (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockRedstoneTorch/func_180656_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: azw/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockRedstoneTorch/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: azw/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockRedstoneTorch/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: azw/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneTorch/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: azw/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockRedstoneTorch/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: azw/b (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockRedstoneTorch/func_176211_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: azw/b (Latr;)Z net/minecraft/block/BlockRedstoneTorch/func_149667_c (Lnet/minecraft/block/Block;)Z +MD: azw/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneTorch/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: azw/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockRedstoneTorch/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: azw/g ()Z net/minecraft/block/BlockRedstoneTorch/func_149744_f ()Z +MD: azw/g (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockRedstoneTorch/func_176597_g (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: azy/a (I)Lbec; net/minecraft/block/BlockReed/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: azy/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockReed/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: azy/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockReed/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: azy/a (Lard;Ldt;I)I net/minecraft/block/BlockReed/func_180662_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;I)I +MD: azy/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockReed/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: azy/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockReed/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: azy/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockReed/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: azy/c ()Z net/minecraft/block/BlockReed/func_149662_c ()Z +MD: azy/c (Laqu;Ldt;)Z net/minecraft/block/BlockReed/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: azy/c (Lbec;)I net/minecraft/block/BlockReed/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: azy/d ()Z net/minecraft/block/BlockReed/func_149686_d ()Z +MD: azy/d (Laqu;Ldt;)Z net/minecraft/block/BlockReed/func_176354_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: azy/e ()Lbed; net/minecraft/block/BlockReed/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: azy/e (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockReed/func_176353_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: azy/k ()Laql; net/minecraft/block/BlockReed/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: azz/a (I)Lbec; net/minecraft/block/BlockRedstoneRepeater/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: azz/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockRedstoneRepeater/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: azz/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockRedstoneRepeater/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: azz/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockRedstoneRepeater/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: azz/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockRedstoneRepeater/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: azz/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockRedstoneRepeater/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: azz/b (Lard;Ldt;Lbec;)Z net/minecraft/block/BlockRedstoneRepeater/func_176405_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: azz/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockRedstoneRepeater/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: azz/c (Latr;)Z net/minecraft/block/BlockRedstoneRepeater/func_149908_a (Lnet/minecraft/block/Block;)Z +MD: azz/c (Lbec;)I net/minecraft/block/BlockRedstoneRepeater/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: azz/d (Lbec;)I net/minecraft/block/BlockRedstoneRepeater/func_176403_d (Lnet/minecraft/block/state/IBlockState;)I +MD: azz/e ()Lbed; net/minecraft/block/BlockRedstoneRepeater/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: azz/e (Lbec;)Lbec; net/minecraft/block/BlockRedstoneRepeater/func_180674_e (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: azz/k (Lbec;)Lbec; net/minecraft/block/BlockRedstoneRepeater/func_180675_k (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: b/a ()Ljava/lang/String; net/minecraft/crash/CrashReport/func_71501_a ()Ljava/lang/String; +MD: b/a (Ljava/io/File;)Z net/minecraft/crash/CrashReport/func_147149_a (Ljava/io/File;)Z +MD: b/a (Ljava/lang/String;)Lj; net/minecraft/crash/CrashReport/func_85058_a (Ljava/lang/String;)Lnet/minecraft/crash/CrashReportCategory; +MD: b/a (Ljava/lang/String;I)Lj; net/minecraft/crash/CrashReport/func_85057_a (Ljava/lang/String;I)Lnet/minecraft/crash/CrashReportCategory; +MD: b/a (Ljava/lang/StringBuilder;)V net/minecraft/crash/CrashReport/func_71506_a (Ljava/lang/StringBuilder;)V +MD: b/a (Ljava/lang/Throwable;Ljava/lang/String;)Lb; net/minecraft/crash/CrashReport/func_85055_a (Ljava/lang/Throwable;Ljava/lang/String;)Lnet/minecraft/crash/CrashReport; +MD: b/b ()Ljava/lang/Throwable; net/minecraft/crash/CrashReport/func_71505_b ()Ljava/lang/Throwable; +MD: b/d ()Ljava/lang/String; net/minecraft/crash/CrashReport/func_71498_d ()Ljava/lang/String; +MD: b/e ()Ljava/lang/String; net/minecraft/crash/CrashReport/func_71502_e ()Ljava/lang/String; +MD: b/f ()Ljava/io/File; net/minecraft/crash/CrashReport/func_71497_f ()Ljava/io/File; +MD: b/g ()Lj; net/minecraft/crash/CrashReport/func_85056_g ()Lnet/minecraft/crash/CrashReportCategory; +MD: b/h ()V net/minecraft/crash/CrashReport/func_71504_g ()V +MD: b/i ()Ljava/lang/String; net/minecraft/crash/CrashReport/func_71503_h ()Ljava/lang/String; +MD: ba/a ()I net/minecraft/command/CommandClone/func_82362_a ()I +MD: ba/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandClone/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: ba/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandClone/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: ba/c ()Ljava/lang/String; net/minecraft/command/CommandClone/func_71517_b ()Ljava/lang/String; +MD: ba/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandClone/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bab/a (I)Lbec; net/minecraft/block/BlockSand/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bab/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockSand/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: bab/a (Lbec;)I net/minecraft/block/BlockSand/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: bab/c (Lbec;)I net/minecraft/block/BlockSand/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bab/e ()Lbed; net/minecraft/block/BlockSand/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bab/g (Lbec;)Lboh; net/minecraft/block/BlockSand/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: bac/a ()I net/minecraft/block/BlockSand$EnumType/func_176688_a ()I +MD: bac/a (I)Lbac; net/minecraft/block/BlockSand$EnumType/func_176686_a (I)Lnet/minecraft/block/BlockSand$EnumType; +MD: bac/c ()Lboh; net/minecraft/block/BlockSand$EnumType/func_176687_c ()Lnet/minecraft/block/material/MapColor; +MD: bac/d ()Ljava/lang/String; net/minecraft/block/BlockSand$EnumType/func_176685_d ()Ljava/lang/String; +MD: bac/l ()Ljava/lang/String; net/minecraft/block/BlockSand$EnumType/func_176610_l ()Ljava/lang/String; +MD: bac/toString ()Ljava/lang/String; net/minecraft/block/BlockSand$EnumType/toString ()Ljava/lang/String; +MD: bac/values ()[Lbac; net/minecraft/block/BlockSand$EnumType/values ()[Lnet/minecraft/block/BlockSand$EnumType; +MD: bad/a (I)Lbec; net/minecraft/block/BlockSandStone/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bad/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockSandStone/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: bad/a (Lbec;)I net/minecraft/block/BlockSandStone/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: bad/c (Lbec;)I net/minecraft/block/BlockSandStone/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bad/e ()Lbed; net/minecraft/block/BlockSandStone/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bae/a ()I net/minecraft/block/BlockSandStone$EnumType/func_176675_a ()I +MD: bae/a (I)Lbae; net/minecraft/block/BlockSandStone$EnumType/func_176673_a (I)Lnet/minecraft/block/BlockSandStone$EnumType; +MD: bae/c ()Ljava/lang/String; net/minecraft/block/BlockSandStone$EnumType/func_176676_c ()Ljava/lang/String; +MD: bae/l ()Ljava/lang/String; net/minecraft/block/BlockSandStone$EnumType/func_176610_l ()Ljava/lang/String; +MD: bae/toString ()Ljava/lang/String; net/minecraft/block/BlockSandStone$EnumType/toString ()Ljava/lang/String; +MD: bae/values ()[Lbae; net/minecraft/block/BlockSandStone$EnumType/values ()[Lnet/minecraft/block/BlockSandStone$EnumType; +MD: baf/a (I)Lbec; net/minecraft/block/BlockSapling/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: baf/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockSapling/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: baf/a (Laqu;Ldt;Layx;)Z net/minecraft/block/BlockSapling/func_176477_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/BlockPlanks$EnumType;)Z +MD: baf/a (Laqu;Ldt;Lbec;Z)Z net/minecraft/block/BlockSapling/func_176473_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Z)Z +MD: baf/a (Laqu;Ljava/util/Random;Ldt;Lbec;)Z net/minecraft/block/BlockSapling/func_180670_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: baf/a (Lbec;)I net/minecraft/block/BlockSapling/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: baf/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockSapling/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: baf/b (Laqu;Ljava/util/Random;Ldt;Lbec;)V net/minecraft/block/BlockSapling/func_176474_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: baf/c (Lbec;)I net/minecraft/block/BlockSapling/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: baf/d (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockSapling/func_176478_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: baf/e ()Lbed; net/minecraft/block/BlockSapling/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: baf/e (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockSapling/func_176476_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: bah/G ()Z net/minecraft/block/BlockSeaLantern/func_149700_E ()Z +MD: bah/a (ILjava/util/Random;)I net/minecraft/block/BlockSeaLantern/func_149679_a (ILjava/util/Random;)I +MD: bah/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockSeaLantern/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: bah/a (Ljava/util/Random;)I net/minecraft/block/BlockSeaLantern/func_149745_a (Ljava/util/Random;)I +MD: bah/g (Lbec;)Lboh; net/minecraft/block/BlockSeaLantern/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: bai/a (Laqu;I)Lbcm; net/minecraft/block/BlockSign/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: bai/a (Laqu;Ldt;)Lbrt; net/minecraft/block/BlockSign/func_180646_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/AxisAlignedBB; +MD: bai/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockSign/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: bai/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockSign/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: bai/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockSign/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: bai/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockSign/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: bai/b (Lard;Ldt;)Z net/minecraft/block/BlockSign/func_176205_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: bai/c ()Z net/minecraft/block/BlockSign/func_149662_c ()Z +MD: bai/d ()Z net/minecraft/block/BlockSign/func_149686_d ()Z +MD: baj/a (I)Lbec; net/minecraft/block/BlockSkull/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: baj/a (Laqu;I)Lbcm; net/minecraft/block/BlockSkull/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: baj/a (Laqu;Ldt;Lbdm;)V net/minecraft/block/BlockSkull/func_180679_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/tileentity/TileEntitySkull;)V +MD: baj/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockSkull/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: baj/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockSkull/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: baj/a (Laqu;Ldt;Lbec;Lahd;)V net/minecraft/block/BlockSkull/func_176208_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: baj/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockSkull/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: baj/a (Lard;Ldt;)V net/minecraft/block/BlockSkull/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: baj/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockSkull/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: baj/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockSkull/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: baj/b (Laqu;Ldt;Lamj;)Z net/minecraft/block/BlockSkull/func_176415_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/item/ItemStack;)Z +MD: baj/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockSkull/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: baj/c ()Z net/minecraft/block/BlockSkull/func_149662_c ()Z +MD: baj/c (Lbec;)I net/minecraft/block/BlockSkull/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: baj/d ()Z net/minecraft/block/BlockSkull/func_149686_d ()Z +MD: baj/e ()Lbed; net/minecraft/block/BlockSkull/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: baj/j ()Lbek; net/minecraft/block/BlockSkull/func_176414_j ()Lnet/minecraft/block/state/pattern/BlockPattern; +MD: baj/j (Laqu;Ldt;)I net/minecraft/block/BlockSkull/func_176222_j (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: baj/l ()Lbek; net/minecraft/block/BlockSkull/func_176416_l ()Lnet/minecraft/block/state/pattern/BlockPattern; +MD: bak/a (Lbei;)Z net/minecraft/block/BlockSkull$1/func_177062_a (Lnet/minecraft/block/state/BlockWorldState;)Z +MD: bak/apply (Ljava/lang/Object;)Z net/minecraft/block/BlockSkull$1/apply (Ljava/lang/Object;)Z +MD: bam/a (Laqu;Ldt;Lwv;)V net/minecraft/block/BlockSlime/func_176199_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/Entity;)V +MD: bam/a (Laqu;Ldt;Lwv;F)V net/minecraft/block/BlockSlime/func_180658_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/Entity;F)V +MD: bam/a (Laqu;Lwv;)V net/minecraft/block/BlockSlime/func_176216_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;)V +MD: bam/k ()Laql; net/minecraft/block/BlockSlime/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: ban/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockSnowBlock/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: ban/a (Ljava/util/Random;)I net/minecraft/block/BlockSnowBlock/func_149745_a (Ljava/util/Random;)I +MD: ban/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockSnowBlock/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: bao/a (I)Lbec; net/minecraft/block/BlockSnow/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bao/a (Laqu;Lahd;Ldt;Lbec;Lbcm;)V net/minecraft/block/BlockSnow/func_180657_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/tileentity/TileEntity;)V +MD: bao/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockSnow/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: bao/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockSnow/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: bao/a (Lard;Ldt;)V net/minecraft/block/BlockSnow/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bao/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockSnow/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: bao/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockSnow/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: bao/a (Ljava/util/Random;)I net/minecraft/block/BlockSnow/func_149745_a (Ljava/util/Random;)I +MD: bao/b (I)V net/minecraft/block/BlockSnow/func_150154_b (I)V +MD: bao/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockSnow/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: bao/b (Lard;Ldt;)Z net/minecraft/block/BlockSnow/func_176205_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: bao/c ()Z net/minecraft/block/BlockSnow/func_149662_c ()Z +MD: bao/c (Laqu;Ldt;)Z net/minecraft/block/BlockSnow/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bao/c (Lbec;)I net/minecraft/block/BlockSnow/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bao/d ()Z net/minecraft/block/BlockSnow/func_149686_d ()Z +MD: bao/e ()Lbed; net/minecraft/block/BlockSnow/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bao/e (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockSnow/func_176314_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: bao/f (Laqu;Ldt;)Z net/minecraft/block/BlockSnow/func_176200_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bao/h ()V net/minecraft/block/BlockSnow/func_149683_g ()V +MD: bap/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockSoulSand/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: bap/a (Laqu;Ldt;Lbec;Lwv;)V net/minecraft/block/BlockSoulSand/func_180634_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/Entity;)V +MD: baq/a (I)Lbec; net/minecraft/block/BlockSponge/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: baq/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockSponge/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: baq/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockSponge/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: baq/a (Lbec;)I net/minecraft/block/BlockSponge/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: baq/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockSponge/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: baq/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockSponge/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: baq/c (Lbec;)I net/minecraft/block/BlockSponge/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: baq/d (Laqu;Ldt;)Z net/minecraft/block/BlockSponge/func_176312_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: baq/e ()Lbed; net/minecraft/block/BlockSponge/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: baq/e (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockSponge/func_176311_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bar/G ()Z net/minecraft/block/BlockStainedGlass/func_149700_E ()Z +MD: bar/a (I)Lbec; net/minecraft/block/BlockStainedGlass/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bar/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockStainedGlass/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: bar/a (Lbec;)I net/minecraft/block/BlockStainedGlass/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: bar/a (Ljava/util/Random;)I net/minecraft/block/BlockStainedGlass/func_149745_a (Ljava/util/Random;)I +MD: bar/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockStainedGlass/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bar/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockStainedGlass/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bar/c (Lbec;)I net/minecraft/block/BlockStainedGlass/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bar/d ()Z net/minecraft/block/BlockStainedGlass/func_149686_d ()Z +MD: bar/e ()Lbed; net/minecraft/block/BlockStainedGlass/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bar/g (Lbec;)Lboh; net/minecraft/block/BlockStainedGlass/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: bar/k ()Laql; net/minecraft/block/BlockStainedGlass/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: bas/a (I)Lbec; net/minecraft/block/BlockStainedGlassPane/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bas/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockStainedGlassPane/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: bas/a (Lbec;)I net/minecraft/block/BlockStainedGlassPane/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: bas/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockStainedGlassPane/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bas/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockStainedGlassPane/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bas/c (Lbec;)I net/minecraft/block/BlockStainedGlassPane/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bas/e ()Lbed; net/minecraft/block/BlockStainedGlassPane/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bas/k ()Laql; net/minecraft/block/BlockStainedGlassPane/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: bat/a (I)Lbec; net/minecraft/block/BlockStairs/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bat/a (Laqu;)I net/minecraft/block/BlockStairs/func_149738_a (Lnet/minecraft/world/World;)I +MD: bat/a (Laqu;Ldt;)Lbrt; net/minecraft/block/BlockStairs/func_180646_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/AxisAlignedBB; +MD: bat/a (Laqu;Ldt;Lahd;)V net/minecraft/block/BlockStairs/func_180649_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bat/a (Laqu;Ldt;Laqo;)V net/minecraft/block/BlockStairs/func_180652_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/world/Explosion;)V +MD: bat/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockStairs/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: bat/a (Laqu;Ldt;Lbec;Lbrt;Ljava/util/List;Lwv;)V net/minecraft/block/BlockStairs/func_180638_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;)V +MD: bat/a (Laqu;Ldt;Lbrw;Lbrw;)Lbru; net/minecraft/block/BlockStairs/func_180636_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/MovingObjectPosition; +MD: bat/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockStairs/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: bat/a (Laqu;Ldt;Lwv;)V net/minecraft/block/BlockStairs/func_176199_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/Entity;)V +MD: bat/a (Laqu;Ldt;Lwv;Lbrw;)Lbrw; net/minecraft/block/BlockStairs/func_176197_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/Entity;Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/Vec3; +MD: bat/a (Lard;Ldt;)V net/minecraft/block/BlockStairs/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bat/a (Lard;Ldt;Lbec;)Z net/minecraft/block/BlockStairs/func_176302_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: bat/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockStairs/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: bat/a (Lbec;Z)Z net/minecraft/block/BlockStairs/func_176209_a (Lnet/minecraft/block/state/IBlockState;Z)Z +MD: bat/a (Lwv;)F net/minecraft/block/BlockStairs/func_149638_a (Lnet/minecraft/entity/Entity;)F +MD: bat/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockStairs/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bat/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockStairs/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: bat/c ()Z net/minecraft/block/BlockStairs/func_149662_c ()Z +MD: bat/c (Laqu;Ldt;)Z net/minecraft/block/BlockStairs/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bat/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockStairs/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bat/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockStairs/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: bat/c (Lard;Ldt;)I net/minecraft/block/BlockStairs/func_176207_c (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)I +MD: bat/c (Latr;)Z net/minecraft/block/BlockStairs/func_150148_a (Lnet/minecraft/block/Block;)Z +MD: bat/c (Lbec;)I net/minecraft/block/BlockStairs/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bat/d ()Z net/minecraft/block/BlockStairs/func_149686_d ()Z +MD: bat/d (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockStairs/func_176206_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bat/e ()Lbed; net/minecraft/block/BlockStairs/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bat/e (Lard;Ldt;)V net/minecraft/block/BlockStairs/func_176303_e (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bat/f (Lard;Ldt;)I net/minecraft/block/BlockStairs/func_176307_f (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)I +MD: bat/g (Lard;Ldt;)I net/minecraft/block/BlockStairs/func_176305_g (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)I +MD: bat/g (Lbec;)Lboh; net/minecraft/block/BlockStairs/func_180659_g (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/material/MapColor; +MD: bat/h (Lard;Ldt;)Z net/minecraft/block/BlockStairs/func_176306_h (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: bat/i (Lard;Ldt;)Z net/minecraft/block/BlockStairs/func_176304_i (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: bat/k ()Laql; net/minecraft/block/BlockStairs/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: bat/y ()Z net/minecraft/block/BlockStairs/func_149703_v ()Z +MD: bau/l ()Ljava/lang/String; net/minecraft/block/BlockStairs$EnumHalf/func_176610_l ()Ljava/lang/String; +MD: bau/toString ()Ljava/lang/String; net/minecraft/block/BlockStairs$EnumHalf/toString ()Ljava/lang/String; +MD: bau/values ()[Lbau; net/minecraft/block/BlockStairs$EnumHalf/values ()[Lnet/minecraft/block/BlockStairs$EnumHalf; +MD: bav/l ()Ljava/lang/String; net/minecraft/block/BlockStairs$EnumShape/func_176610_l ()Ljava/lang/String; +MD: bav/toString ()Ljava/lang/String; net/minecraft/block/BlockStairs$EnumShape/toString ()Ljava/lang/String; +MD: bav/values ()[Lbav; net/minecraft/block/BlockStairs$EnumShape/values ()[Lnet/minecraft/block/BlockStairs$EnumShape; +MD: baw/a (I)Lbec; net/minecraft/block/BlockStandingSign/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: baw/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockStandingSign/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: baw/c (Lbec;)I net/minecraft/block/BlockStandingSign/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: baw/e ()Lbed; net/minecraft/block/BlockStandingSign/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bax/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockStaticLiquid/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: bax/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockStaticLiquid/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: bax/e (Laqu;Ldt;)Z net/minecraft/block/BlockStaticLiquid/func_176369_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bax/f (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockStaticLiquid/func_176370_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bax/m (Laqu;Ldt;)Z net/minecraft/block/BlockStaticLiquid/func_176368_m (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bay/a (I)Lbec; net/minecraft/block/BlockStem/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bay/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockStem/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: bay/a (Laqu;Ldt;Lbec;Z)Z net/minecraft/block/BlockStem/func_176473_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Z)Z +MD: bay/a (Laqu;Ljava/util/Random;Ldt;Lbec;)Z net/minecraft/block/BlockStem/func_180670_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: bay/a (Lard;Ldt;)V net/minecraft/block/BlockStem/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bay/a (Lard;Ldt;I)I net/minecraft/block/BlockStem/func_180662_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;I)I +MD: bay/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockStem/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: bay/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockStem/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: bay/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockStem/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: bay/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockStem/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: bay/b (Laqu;Ljava/util/Random;Ldt;Lbec;)V net/minecraft/block/BlockStem/func_176474_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bay/c (Latr;)Z net/minecraft/block/BlockStem/func_149854_a (Lnet/minecraft/block/Block;)Z +MD: bay/c (Lbec;)I net/minecraft/block/BlockStem/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bay/e ()Lbed; net/minecraft/block/BlockStem/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bay/g (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockStem/func_176482_g (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bay/h ()V net/minecraft/block/BlockStem/func_149683_g ()V +MD: bay/h (Lbec;)I net/minecraft/block/BlockStem/func_180644_h (Lnet/minecraft/block/state/IBlockState;)I +MD: bay/j ()Lalq; net/minecraft/block/BlockStem/func_176481_j ()Lnet/minecraft/item/Item; +MD: baz/a (Lej;)Z net/minecraft/block/BlockStem$1/func_177218_a (Lnet/minecraft/util/EnumFacing;)Z +MD: baz/apply (Ljava/lang/Object;)Z net/minecraft/block/BlockStem$1/apply (Ljava/lang/Object;)Z +MD: bba/a (I)Lbec; net/minecraft/block/BlockStone/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bba/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockStone/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: bba/a (Lbec;)I net/minecraft/block/BlockStone/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: bba/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockStone/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: bba/c (Lbec;)I net/minecraft/block/BlockStone/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bba/e ()Lbed; net/minecraft/block/BlockStone/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bbb/a ()I net/minecraft/block/BlockStone$EnumType/func_176642_a ()I +MD: bbb/a (I)Lbbb; net/minecraft/block/BlockStone$EnumType/func_176643_a (I)Lnet/minecraft/block/BlockStone$EnumType; +MD: bbb/c ()Ljava/lang/String; net/minecraft/block/BlockStone$EnumType/func_176644_c ()Ljava/lang/String; +MD: bbb/l ()Ljava/lang/String; net/minecraft/block/BlockStone$EnumType/func_176610_l ()Ljava/lang/String; +MD: bbb/toString ()Ljava/lang/String; net/minecraft/block/BlockStone$EnumType/toString ()Ljava/lang/String; +MD: bbb/values ()[Lbbb; net/minecraft/block/BlockStone$EnumType/values ()[Lnet/minecraft/block/BlockStone$EnumType; +MD: bbc/a (I)Lbec; net/minecraft/block/BlockStoneBrick/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bbc/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockStoneBrick/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: bbc/a (Lbec;)I net/minecraft/block/BlockStoneBrick/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: bbc/c (Lbec;)I net/minecraft/block/BlockStoneBrick/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bbc/e ()Lbed; net/minecraft/block/BlockStoneBrick/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bbd/a ()I net/minecraft/block/BlockStoneBrick$EnumType/func_176612_a ()I +MD: bbd/a (I)Lbbd; net/minecraft/block/BlockStoneBrick$EnumType/func_176613_a (I)Lnet/minecraft/block/BlockStoneBrick$EnumType; +MD: bbd/c ()Ljava/lang/String; net/minecraft/block/BlockStoneBrick$EnumType/func_176614_c ()Ljava/lang/String; +MD: bbd/l ()Ljava/lang/String; net/minecraft/block/BlockStoneBrick$EnumType/func_176610_l ()Ljava/lang/String; +MD: bbd/toString ()Ljava/lang/String; net/minecraft/block/BlockStoneBrick$EnumType/toString ()Ljava/lang/String; +MD: bbd/values ()[Lbbd; net/minecraft/block/BlockStoneBrick$EnumType/values ()[Lnet/minecraft/block/BlockStoneBrick$EnumType; +MD: bbf/a (I)Lbec; net/minecraft/block/BlockStoneSlab/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bbf/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockStoneSlab/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: bbf/a (Lamj;)Ljava/lang/Object; net/minecraft/block/BlockStoneSlab/func_176553_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/Object; +MD: bbf/a (Lbec;)I net/minecraft/block/BlockStoneSlab/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: bbf/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockStoneSlab/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: bbf/b (I)Ljava/lang/String; net/minecraft/block/BlockStoneSlab/func_150002_b (I)Ljava/lang/String; +MD: bbf/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockStoneSlab/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: bbf/c (Lbec;)I net/minecraft/block/BlockStoneSlab/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bbf/e ()Lbed; net/minecraft/block/BlockStoneSlab/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bbf/l ()Lbex; net/minecraft/block/BlockStoneSlab/func_176551_l ()Lnet/minecraft/block/properties/IProperty; +MD: bbg/a ()I net/minecraft/block/BlockStoneSlab$EnumType/func_176624_a ()I +MD: bbg/a (I)Lbbg; net/minecraft/block/BlockStoneSlab$EnumType/func_176625_a (I)Lnet/minecraft/block/BlockStoneSlab$EnumType; +MD: bbg/c ()Ljava/lang/String; net/minecraft/block/BlockStoneSlab$EnumType/func_176627_c ()Ljava/lang/String; +MD: bbg/l ()Ljava/lang/String; net/minecraft/block/BlockStoneSlab$EnumType/func_176610_l ()Ljava/lang/String; +MD: bbg/toString ()Ljava/lang/String; net/minecraft/block/BlockStoneSlab$EnumType/toString ()Ljava/lang/String; +MD: bbg/values ()[Lbbg; net/minecraft/block/BlockStoneSlab$EnumType/values ()[Lnet/minecraft/block/BlockStoneSlab$EnumType; +MD: bbh/F ()I net/minecraft/block/BlockTallGrass/func_149635_D ()I +MD: bbh/Q ()Latw; net/minecraft/block/BlockTallGrass/func_176218_Q ()Lnet/minecraft/block/Block$EnumOffsetType; +MD: bbh/a (I)Lbec; net/minecraft/block/BlockTallGrass/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bbh/a (ILjava/util/Random;)I net/minecraft/block/BlockTallGrass/func_149679_a (ILjava/util/Random;)I +MD: bbh/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockTallGrass/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: bbh/a (Laqu;Lahd;Ldt;Lbec;Lbcm;)V net/minecraft/block/BlockTallGrass/func_180657_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/tileentity/TileEntity;)V +MD: bbh/a (Laqu;Ldt;Lbec;Z)Z net/minecraft/block/BlockTallGrass/func_176473_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Z)Z +MD: bbh/a (Laqu;Ljava/util/Random;Ldt;Lbec;)Z net/minecraft/block/BlockTallGrass/func_180670_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: bbh/a (Lard;Ldt;I)I net/minecraft/block/BlockTallGrass/func_180662_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;I)I +MD: bbh/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockTallGrass/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: bbh/b (Laqu;Ljava/util/Random;Ldt;Lbec;)V net/minecraft/block/BlockTallGrass/func_176474_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bbh/c (Lbec;)I net/minecraft/block/BlockTallGrass/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bbh/e ()Lbed; net/minecraft/block/BlockTallGrass/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bbh/f (Laqu;Ldt;)Z net/minecraft/block/BlockTallGrass/func_176200_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bbh/f (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockTallGrass/func_180671_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: bbh/h (Lbec;)I net/minecraft/block/BlockTallGrass/func_180644_h (Lnet/minecraft/block/state/IBlockState;)I +MD: bbh/j (Laqu;Ldt;)I net/minecraft/block/BlockTallGrass/func_176222_j (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: bbi/a ()I net/minecraft/block/BlockTallGrass$EnumType/func_177044_a ()I +MD: bbi/a (I)Lbbi; net/minecraft/block/BlockTallGrass$EnumType/func_177045_a (I)Lnet/minecraft/block/BlockTallGrass$EnumType; +MD: bbi/l ()Ljava/lang/String; net/minecraft/block/BlockTallGrass$EnumType/func_176610_l ()Ljava/lang/String; +MD: bbi/toString ()Ljava/lang/String; net/minecraft/block/BlockTallGrass$EnumType/toString ()Ljava/lang/String; +MD: bbi/values ()[Lbbi; net/minecraft/block/BlockTallGrass$EnumType/values ()[Lnet/minecraft/block/BlockTallGrass$EnumType; +MD: bbj/G ()Z net/minecraft/block/BlockPane/func_149700_E ()Z +MD: bbj/a (Laqu;Ldt;Lbec;Lbrt;Ljava/util/List;Lwv;)V net/minecraft/block/BlockPane/func_180638_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;)V +MD: bbj/a (Lard;Ldt;)V net/minecraft/block/BlockPane/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bbj/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockPane/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: bbj/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockPane/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: bbj/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockPane/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: bbj/c ()Z net/minecraft/block/BlockPane/func_149662_c ()Z +MD: bbj/c (Latr;)Z net/minecraft/block/BlockPane/func_150098_a (Lnet/minecraft/block/Block;)Z +MD: bbj/c (Lbec;)I net/minecraft/block/BlockPane/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bbj/d ()Z net/minecraft/block/BlockPane/func_149686_d ()Z +MD: bbj/e ()Lbed; net/minecraft/block/BlockPane/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bbj/h ()V net/minecraft/block/BlockPane/func_149683_g ()V +MD: bbj/k ()Laql; net/minecraft/block/BlockPane/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: bbk/a (I)Lbec; net/minecraft/block/BlockTNT/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bbk/a (Laqo;)Z net/minecraft/block/BlockTNT/func_149659_a (Lnet/minecraft/world/Explosion;)Z +MD: bbk/a (Laqu;Ldt;Laqo;)V net/minecraft/block/BlockTNT/func_180652_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/world/Explosion;)V +MD: bbk/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockTNT/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: bbk/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockTNT/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: bbk/a (Laqu;Ldt;Lbec;Lwv;)V net/minecraft/block/BlockTNT/func_180634_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/Entity;)V +MD: bbk/a (Laqu;Ldt;Lbec;Lxm;)V net/minecraft/block/BlockTNT/func_180692_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;)V +MD: bbk/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockTNT/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bbk/c (Lbec;)I net/minecraft/block/BlockTNT/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bbk/d (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockTNT/func_176206_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bbk/e ()Lbed; net/minecraft/block/BlockTNT/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bbl/a (I)Lbec; net/minecraft/block/BlockTorch/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bbl/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockTorch/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: bbl/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockTorch/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: bbl/a (Laqu;Ldt;Lbrw;Lbrw;)Lbru; net/minecraft/block/BlockTorch/func_180636_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/MovingObjectPosition; +MD: bbl/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockTorch/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: bbl/b (Laqu;Ldt;Lej;)Z net/minecraft/block/BlockTorch/func_176595_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: bbl/c ()Z net/minecraft/block/BlockTorch/func_149662_c ()Z +MD: bbl/c (Laqu;Ldt;)Z net/minecraft/block/BlockTorch/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bbl/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockTorch/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bbl/c (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockTorch/func_180655_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: bbl/c (Lbec;)I net/minecraft/block/BlockTorch/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bbl/d ()Z net/minecraft/block/BlockTorch/func_149686_d ()Z +MD: bbl/d (Laqu;Ldt;)Z net/minecraft/block/BlockTorch/func_176594_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bbl/e ()Lbed; net/minecraft/block/BlockTorch/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bbl/e (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockTorch/func_176592_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: bbl/f (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockTorch/func_176593_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: bbl/k ()Laql; net/minecraft/block/BlockTorch/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: bbm/a (Lej;)Z net/minecraft/block/BlockTorch$1/func_176601_a (Lnet/minecraft/util/EnumFacing;)Z +MD: bbm/apply (Ljava/lang/Object;)Z net/minecraft/block/BlockTorch$1/apply (Ljava/lang/Object;)Z +MD: bbo/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockLeavesBase/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: bbo/c ()Z net/minecraft/block/BlockLeavesBase/func_149662_c ()Z +MD: bbp/a (I)Lbec; net/minecraft/block/BlockTrapDoor/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bbp/a (Laqu;Ldt;)Lbrt; net/minecraft/block/BlockTrapDoor/func_180646_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/AxisAlignedBB; +MD: bbp/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockTrapDoor/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: bbp/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockTrapDoor/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: bbp/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockTrapDoor/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: bbp/a (Laqu;Ldt;Lbrw;Lbrw;)Lbru; net/minecraft/block/BlockTrapDoor/func_180636_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/MovingObjectPosition; +MD: bbp/a (Laqu;Ldt;Lej;)Z net/minecraft/block/BlockTrapDoor/func_176198_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: bbp/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockTrapDoor/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: bbp/a (Lard;Ldt;)V net/minecraft/block/BlockTrapDoor/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bbp/a (Lej;)I net/minecraft/block/BlockTrapDoor/func_176282_a (Lnet/minecraft/util/EnumFacing;)I +MD: bbp/b (I)Lej; net/minecraft/block/BlockTrapDoor/func_176281_b (I)Lnet/minecraft/util/EnumFacing; +MD: bbp/b (Lard;Ldt;)Z net/minecraft/block/BlockTrapDoor/func_176205_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: bbp/c ()Z net/minecraft/block/BlockTrapDoor/func_149662_c ()Z +MD: bbp/c (Latr;)Z net/minecraft/block/BlockTrapDoor/func_150119_a (Lnet/minecraft/block/Block;)Z +MD: bbp/c (Lbec;)I net/minecraft/block/BlockTrapDoor/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bbp/d ()Z net/minecraft/block/BlockTrapDoor/func_149686_d ()Z +MD: bbp/d (Lbec;)V net/minecraft/block/BlockTrapDoor/func_180693_d (Lnet/minecraft/block/state/IBlockState;)V +MD: bbp/e ()Lbed; net/minecraft/block/BlockTrapDoor/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bbp/h ()V net/minecraft/block/BlockTrapDoor/func_149683_g ()V +MD: bbp/k ()Laql; net/minecraft/block/BlockTrapDoor/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: bbr/l ()Ljava/lang/String; net/minecraft/block/BlockTrapDoor$DoorHalf/func_176610_l ()Ljava/lang/String; +MD: bbr/toString ()Ljava/lang/String; net/minecraft/block/BlockTrapDoor$DoorHalf/toString ()Ljava/lang/String; +MD: bbr/values ()[Lbbr; net/minecraft/block/BlockTrapDoor$DoorHalf/values ()[Lnet/minecraft/block/BlockTrapDoor$DoorHalf; +MD: bbs/a (I)Lbec; net/minecraft/block/BlockTripWire/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bbs/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockTripWire/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: bbs/a (Laqu;Ldt;Lbec;Lahd;)V net/minecraft/block/BlockTripWire/func_176208_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bbs/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockTripWire/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: bbs/a (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockTripWire/func_180645_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: bbs/a (Laqu;Ldt;Lbec;Lwv;)V net/minecraft/block/BlockTripWire/func_180634_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/Entity;)V +MD: bbs/a (Lard;Ldt;)V net/minecraft/block/BlockTripWire/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bbs/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockTripWire/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: bbs/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockTripWire/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: bbs/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockTripWire/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: bbs/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockTripWire/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bbs/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockTripWire/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: bbs/c ()Z net/minecraft/block/BlockTripWire/func_149662_c ()Z +MD: bbs/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockTripWire/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bbs/c (Lard;Ldt;Lbec;Lej;)Z net/minecraft/block/BlockTripWire/func_176287_c (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)Z +MD: bbs/c (Lbec;)I net/minecraft/block/BlockTripWire/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bbs/d ()Z net/minecraft/block/BlockTripWire/func_149686_d ()Z +MD: bbs/d (Laqu;Ldt;)V net/minecraft/block/BlockTripWire/func_176288_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: bbs/e ()Lbed; net/minecraft/block/BlockTripWire/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bbs/e (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockTripWire/func_176286_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bbs/k ()Laql; net/minecraft/block/BlockTripWire/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: bbt/a (I)Lbec; net/minecraft/block/BlockTripWireHook/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bbt/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockTripWireHook/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: bbt/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockTripWireHook/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: bbt/a (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockTripWireHook/func_180645_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: bbt/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockTripWireHook/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: bbt/a (Laqu;Ldt;Lbec;ZZILbec;)V net/minecraft/block/BlockTripWireHook/func_176260_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;ZZILnet/minecraft/block/state/IBlockState;)V +MD: bbt/a (Laqu;Ldt;Lej;)Z net/minecraft/block/BlockTripWireHook/func_176198_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: bbt/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockTripWireHook/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: bbt/a (Laqu;Ldt;ZZZZ)V net/minecraft/block/BlockTripWireHook/func_180694_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;ZZZZ)V +MD: bbt/a (Lard;Ldt;)V net/minecraft/block/BlockTripWireHook/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bbt/a (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockTripWireHook/func_180656_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: bbt/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockTripWireHook/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: bbt/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockTripWireHook/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bbt/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockTripWireHook/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: bbt/b (Laqu;Ldt;Lej;)V net/minecraft/block/BlockTripWireHook/func_176262_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)V +MD: bbt/b (Lard;Ldt;Lbec;Lej;)I net/minecraft/block/BlockTripWireHook/func_176211_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;)I +MD: bbt/c ()Z net/minecraft/block/BlockTripWireHook/func_149662_c ()Z +MD: bbt/c (Laqu;Ldt;)Z net/minecraft/block/BlockTripWireHook/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bbt/c (Lbec;)I net/minecraft/block/BlockTripWireHook/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bbt/d ()Z net/minecraft/block/BlockTripWireHook/func_149686_d ()Z +MD: bbt/e ()Lbed; net/minecraft/block/BlockTripWireHook/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bbt/e (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockTripWireHook/func_176261_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: bbt/g ()Z net/minecraft/block/BlockTripWireHook/func_149744_f ()Z +MD: bbt/k ()Laql; net/minecraft/block/BlockTripWireHook/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: bbv/F ()I net/minecraft/block/BlockVine/func_149635_D ()I +MD: bbv/a (I)Lbec; net/minecraft/block/BlockVine/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bbv/a (Laqu;Lahd;Ldt;Lbec;Lbcm;)V net/minecraft/block/BlockVine/func_180657_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/tileentity/TileEntity;)V +MD: bbv/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockVine/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: bbv/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockVine/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: bbv/a (Laqu;Ldt;Lej;)Z net/minecraft/block/BlockVine/func_176198_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: bbv/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockVine/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: bbv/a (Lard;Ldt;)V net/minecraft/block/BlockVine/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bbv/a (Lard;Ldt;I)I net/minecraft/block/BlockVine/func_180662_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;I)I +MD: bbv/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockVine/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: bbv/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockVine/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: bbv/a (Lej;)Lbet; net/minecraft/block/BlockVine/func_176267_a (Lnet/minecraft/util/EnumFacing;)Lnet/minecraft/block/properties/PropertyBool; +MD: bbv/a (Ljava/util/Random;)I net/minecraft/block/BlockVine/func_149745_a (Ljava/util/Random;)I +MD: bbv/b (Laqu;Ldt;Lbec;Ljava/util/Random;)V net/minecraft/block/BlockVine/func_180650_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V +MD: bbv/b (Lej;)I net/minecraft/block/BlockVine/func_176270_b (Lnet/minecraft/util/EnumFacing;)I +MD: bbv/c ()Z net/minecraft/block/BlockVine/func_149662_c ()Z +MD: bbv/c (Latr;)Z net/minecraft/block/BlockVine/func_150093_a (Lnet/minecraft/block/Block;)Z +MD: bbv/c (Lbec;)I net/minecraft/block/BlockVine/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bbv/d ()Z net/minecraft/block/BlockVine/func_149686_d ()Z +MD: bbv/d (Lbec;)I net/minecraft/block/BlockVine/func_176268_d (Lnet/minecraft/block/state/IBlockState;)I +MD: bbv/e ()Lbed; net/minecraft/block/BlockVine/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bbv/e (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockVine/func_176269_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: bbv/f (Laqu;Ldt;)Z net/minecraft/block/BlockVine/func_176200_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bbv/h ()V net/minecraft/block/BlockVine/func_149683_g ()V +MD: bbv/h (Lbec;)I net/minecraft/block/BlockVine/func_180644_h (Lnet/minecraft/block/state/IBlockState;)I +MD: bbv/k ()Laql; net/minecraft/block/BlockVine/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: bbx/a (I)Lbec; net/minecraft/block/BlockWall/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bbx/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockWall/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: bbx/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockWall/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: bbx/a (Lard;Ldt;)V net/minecraft/block/BlockWall/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bbx/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockWall/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: bbx/a (Lbec;)I net/minecraft/block/BlockWall/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: bbx/a (Lbec;Lard;Ldt;)Lbec; net/minecraft/block/BlockWall/func_176221_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: bbx/b (Lard;Ldt;)Z net/minecraft/block/BlockWall/func_176205_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: bbx/c ()Z net/minecraft/block/BlockWall/func_149662_c ()Z +MD: bbx/c (Lbec;)I net/minecraft/block/BlockWall/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bbx/d ()Z net/minecraft/block/BlockWall/func_149686_d ()Z +MD: bbx/e ()Lbed; net/minecraft/block/BlockWall/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bbx/e (Lard;Ldt;)Z net/minecraft/block/BlockWall/func_176253_e (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Z +MD: bby/a ()I net/minecraft/block/BlockWall$EnumType/func_176657_a ()I +MD: bby/a (I)Lbby; net/minecraft/block/BlockWall$EnumType/func_176660_a (I)Lnet/minecraft/block/BlockWall$EnumType; +MD: bby/c ()Ljava/lang/String; net/minecraft/block/BlockWall$EnumType/func_176659_c ()Ljava/lang/String; +MD: bby/l ()Ljava/lang/String; net/minecraft/block/BlockWall$EnumType/func_176610_l ()Ljava/lang/String; +MD: bby/toString ()Ljava/lang/String; net/minecraft/block/BlockWall$EnumType/toString ()Ljava/lang/String; +MD: bby/values ()[Lbby; net/minecraft/block/BlockWall$EnumType/values ()[Lnet/minecraft/block/BlockWall$EnumType; +MD: bbz/a (I)Lbec; net/minecraft/block/BlockWallSign/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bbz/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockWallSign/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: bbz/a (Lard;Ldt;)V net/minecraft/block/BlockWallSign/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bbz/c (Lbec;)I net/minecraft/block/BlockWallSign/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bbz/e ()Lbed; net/minecraft/block/BlockWallSign/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bc/a ()I net/minecraft/command/CommandCompare/func_82362_a ()I +MD: bc/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandCompare/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bc/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandCompare/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bc/c ()Ljava/lang/String; net/minecraft/command/CommandCompare/func_71517_b ()Ljava/lang/String; +MD: bc/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandCompare/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bcb/F ()I net/minecraft/block/BlockLilyPad/func_149635_D ()I +MD: bcb/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockLilyPad/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: bcb/a (Laqu;Ldt;Lbec;Lbrt;Ljava/util/List;Lwv;)V net/minecraft/block/BlockLilyPad/func_180638_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;)V +MD: bcb/a (Lard;Ldt;I)I net/minecraft/block/BlockLilyPad/func_180662_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;I)I +MD: bcb/c (Latr;)Z net/minecraft/block/BlockLilyPad/func_149854_a (Lnet/minecraft/block/Block;)Z +MD: bcb/c (Lbec;)I net/minecraft/block/BlockLilyPad/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bcb/f (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockLilyPad/func_180671_f (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: bcb/h (Lbec;)I net/minecraft/block/BlockLilyPad/func_180644_h (Lnet/minecraft/block/state/IBlockState;)I +MD: bcc/G ()Z net/minecraft/block/BlockWeb/func_149700_E ()Z +MD: bcc/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockWeb/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: bcc/a (Laqu;Ldt;Lbec;Lwv;)V net/minecraft/block/BlockWeb/func_180634_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/Entity;)V +MD: bcc/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockWeb/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: bcc/c ()Z net/minecraft/block/BlockWeb/func_149662_c ()Z +MD: bcc/d ()Z net/minecraft/block/BlockWeb/func_149686_d ()Z +MD: bcc/k ()Laql; net/minecraft/block/BlockWeb/func_180664_k ()Lnet/minecraft/util/EnumWorldBlockLayer; +MD: bcd/a (I)Lbec; net/minecraft/block/BlockPressurePlateWeighted/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bcd/a (Laqu;)I net/minecraft/block/BlockPressurePlateWeighted/func_149738_a (Lnet/minecraft/world/World;)I +MD: bcd/a (Lbec;I)Lbec; net/minecraft/block/BlockPressurePlateWeighted/func_176575_a (Lnet/minecraft/block/state/IBlockState;I)Lnet/minecraft/block/state/IBlockState; +MD: bcd/c (Lbec;)I net/minecraft/block/BlockPressurePlateWeighted/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bcd/e ()Lbed; net/minecraft/block/BlockPressurePlateWeighted/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bcd/e (Laqu;Ldt;)I net/minecraft/block/BlockPressurePlateWeighted/func_180669_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)I +MD: bcd/e (Lbec;)I net/minecraft/block/BlockPressurePlateWeighted/func_176576_e (Lnet/minecraft/block/state/IBlockState;)I +MD: bcf/a (I)Lbec; net/minecraft/block/BlockWoodSlab/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bcf/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockWoodSlab/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: bcf/a (Lamj;)Ljava/lang/Object; net/minecraft/block/BlockWoodSlab/func_176553_a (Lnet/minecraft/item/ItemStack;)Ljava/lang/Object; +MD: bcf/a (Lbec;)I net/minecraft/block/BlockWoodSlab/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: bcf/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockWoodSlab/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: bcf/b (I)Ljava/lang/String; net/minecraft/block/BlockWoodSlab/func_150002_b (I)Ljava/lang/String; +MD: bcf/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockWoodSlab/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: bcf/c (Lbec;)I net/minecraft/block/BlockWoodSlab/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bcf/e ()Lbed; net/minecraft/block/BlockWoodSlab/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bcf/l ()Lbex; net/minecraft/block/BlockWoodSlab/func_176551_l ()Lnet/minecraft/block/properties/IProperty; +MD: bcg/a (I)Lbec; net/minecraft/block/BlockCarpet/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bcg/a (Lalq;Lakf;Ljava/util/List;)V net/minecraft/block/BlockCarpet/func_149666_a (Lnet/minecraft/item/Item;Lnet/minecraft/creativetab/CreativeTabs;Ljava/util/List;)V +MD: bcg/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockCarpet/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: bcg/a (Lard;Ldt;)V net/minecraft/block/BlockCarpet/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bcg/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockCarpet/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: bcg/a (Lbec;)I net/minecraft/block/BlockCarpet/func_180651_a (Lnet/minecraft/block/state/IBlockState;)I +MD: bcg/b (I)V net/minecraft/block/BlockCarpet/func_150089_b (I)V +MD: bcg/c ()Z net/minecraft/block/BlockCarpet/func_149662_c ()Z +MD: bcg/c (Laqu;Ldt;)Z net/minecraft/block/BlockCarpet/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bcg/c (Lbec;)I net/minecraft/block/BlockCarpet/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bcg/d ()Z net/minecraft/block/BlockCarpet/func_149686_d ()Z +MD: bcg/d (Laqu;Ldt;)Z net/minecraft/block/BlockCarpet/func_176329_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bcg/e ()Lbed; net/minecraft/block/BlockCarpet/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bcg/e (Laqu;Ldt;Lbec;)Z net/minecraft/block/BlockCarpet/func_176328_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: bcg/h ()V net/minecraft/block/BlockCarpet/func_149683_g ()V +MD: bch/j ()Lawc; net/minecraft/block/BlockYellowFlower/func_176495_j ()Lnet/minecraft/block/BlockFlower$EnumFlowerColor; +MD: bci/a (Lamj;)V net/minecraft/tileentity/TileEntityBanner/func_175112_a (Lnet/minecraft/item/ItemStack;)V +MD: bci/a (Lfn;)V net/minecraft/tileentity/TileEntityBanner/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bci/b ()I net/minecraft/tileentity/TileEntityBanner/func_175115_b ()I +MD: bci/b (Lamj;)I net/minecraft/tileentity/TileEntityBanner/func_175111_b (Lnet/minecraft/item/ItemStack;)I +MD: bci/b (Lfn;)V net/minecraft/tileentity/TileEntityBanner/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bci/c ()Ljava/util/List; net/minecraft/tileentity/TileEntityBanner/func_175114_c ()Ljava/util/List; +MD: bci/c (Lamj;)I net/minecraft/tileentity/TileEntityBanner/func_175113_c (Lnet/minecraft/item/ItemStack;)I +MD: bci/d ()Ljava/util/List; net/minecraft/tileentity/TileEntityBanner/func_175110_d ()Ljava/util/List; +MD: bci/e ()Ljava/lang/String; net/minecraft/tileentity/TileEntityBanner/func_175116_e ()Ljava/lang/String; +MD: bci/e (Lamj;)V net/minecraft/tileentity/TileEntityBanner/func_175117_e (Lnet/minecraft/item/ItemStack;)V +MD: bci/g ()V net/minecraft/tileentity/TileEntityBanner/func_175109_g ()V +MD: bci/x_ ()Lid; net/minecraft/tileentity/TileEntityBanner/func_145844_m ()Lnet/minecraft/network/Packet; +MD: bcj/a ()Ljava/lang/String; net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/func_177271_a ()Ljava/lang/String; +MD: bcj/a (Ljava/lang/String;)Lbcj; net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/func_177268_a (Ljava/lang/String;)Lnet/minecraft/tileentity/TileEntityBanner$EnumBannerPattern; +MD: bcj/b ()Ljava/lang/String; net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/func_177273_b ()Ljava/lang/String; +MD: bcj/c ()[Ljava/lang/String; net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/func_177267_c ()[Ljava/lang/String; +MD: bcj/d ()Z net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/func_177270_d ()Z +MD: bcj/e ()Z net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/func_177269_e ()Z +MD: bcj/f ()Lamj; net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/func_177272_f ()Lnet/minecraft/item/ItemStack; +MD: bcj/values ()[Lbcj; net/minecraft/tileentity/TileEntityBanner$EnumBannerPattern/values ()[Lnet/minecraft/tileentity/TileEntityBanner$EnumBannerPattern; +MD: bck/A ()V net/minecraft/tileentity/TileEntityBeacon/func_146000_x ()V +MD: bck/B ()V net/minecraft/tileentity/TileEntityBeacon/func_146003_y ()V +MD: bck/a (I)Lamj; net/minecraft/tileentity/TileEntityBeacon/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: bck/a (II)Lamj; net/minecraft/tileentity/TileEntityBeacon/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: bck/a (ILamj;)V net/minecraft/tileentity/TileEntityBeacon/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: bck/a (Lahb;Lahd;)Laib; net/minecraft/tileentity/TileEntityBeacon/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: bck/a (Lahd;)Z net/minecraft/tileentity/TileEntityBeacon/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: bck/a (Lfn;)V net/minecraft/tileentity/TileEntityBeacon/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bck/a (Ljava/lang/String;)V net/minecraft/tileentity/TileEntityBeacon/func_145999_a (Ljava/lang/String;)V +MD: bck/a_ (I)I net/minecraft/tileentity/TileEntityBeacon/func_174887_a_ (I)I +MD: bck/b (I)Lamj; net/minecraft/tileentity/TileEntityBeacon/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: bck/b (II)V net/minecraft/tileentity/TileEntityBeacon/func_174885_b (II)V +MD: bck/b (ILamj;)Z net/minecraft/tileentity/TileEntityBeacon/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: bck/b (Lahd;)V net/minecraft/tileentity/TileEntityBeacon/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bck/b (Lfn;)V net/minecraft/tileentity/TileEntityBeacon/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bck/c ()V net/minecraft/tileentity/TileEntityBeacon/func_73660_a ()V +MD: bck/c (II)Z net/minecraft/tileentity/TileEntityBeacon/func_145842_c (II)Z +MD: bck/c (Lahd;)V net/minecraft/tileentity/TileEntityBeacon/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bck/d_ ()Ljava/lang/String; net/minecraft/tileentity/TileEntityBeacon/func_70005_c_ ()Ljava/lang/String; +MD: bck/g ()I net/minecraft/tileentity/TileEntityBeacon/func_174890_g ()I +MD: bck/k ()Ljava/lang/String; net/minecraft/tileentity/TileEntityBeacon/func_174875_k ()Ljava/lang/String; +MD: bck/k_ ()Z net/minecraft/tileentity/TileEntityBeacon/func_145818_k_ ()Z +MD: bck/l ()V net/minecraft/tileentity/TileEntityBeacon/func_174888_l ()V +MD: bck/m ()V net/minecraft/tileentity/TileEntityBeacon/func_174908_m ()V +MD: bck/n ()Ljava/util/List; net/minecraft/tileentity/TileEntityBeacon/func_174907_n ()Ljava/util/List; +MD: bck/n_ ()I net/minecraft/tileentity/TileEntityBeacon/func_70302_i_ ()I +MD: bck/o ()F net/minecraft/tileentity/TileEntityBeacon/func_146002_i ()F +MD: bck/p_ ()I net/minecraft/tileentity/TileEntityBeacon/func_70297_j_ ()I +MD: bck/s ()D net/minecraft/tileentity/TileEntityBeacon/func_145833_n ()D +MD: bck/x_ ()Lid; net/minecraft/tileentity/TileEntityBeacon/func_145844_m ()Lnet/minecraft/network/Packet; +MD: bcl/a ()V net/minecraft/tileentity/TileEntityBeacon$BeamSegment/func_177262_a ()V +MD: bcl/b ()[F net/minecraft/tileentity/TileEntityBeacon$BeamSegment/func_177263_b ()[F +MD: bcl/c ()I net/minecraft/tileentity/TileEntityBeacon$BeamSegment/func_177264_c ()I +MD: bcm/D ()V net/minecraft/tileentity/TileEntity/func_145829_t ()V +MD: bcm/E ()V net/minecraft/tileentity/TileEntity/func_145836_u ()V +MD: bcm/F ()Ljava/util/Map; net/minecraft/tileentity/TileEntity/access$000 ()Ljava/util/Map; +MD: bcm/a (DDD)D net/minecraft/tileentity/TileEntity/func_145835_a (DDD)D +MD: bcm/a (Laqu;)V net/minecraft/tileentity/TileEntity/func_145834_a (Lnet/minecraft/world/World;)V +MD: bcm/a (Ldt;)V net/minecraft/tileentity/TileEntity/func_174878_a (Lnet/minecraft/util/BlockPos;)V +MD: bcm/a (Lfn;)V net/minecraft/tileentity/TileEntity/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bcm/a (Lj;)V net/minecraft/tileentity/TileEntity/func_145828_a (Lnet/minecraft/crash/CrashReportCategory;)V +MD: bcm/a (Ljava/lang/Class;Ljava/lang/String;)V net/minecraft/tileentity/TileEntity/func_145826_a (Ljava/lang/Class;Ljava/lang/String;)V +MD: bcm/b (Lfn;)V net/minecraft/tileentity/TileEntity/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bcm/c (II)Z net/minecraft/tileentity/TileEntity/func_145842_c (II)Z +MD: bcm/c (Lfn;)Lbcm; net/minecraft/tileentity/TileEntity/func_145827_c (Lnet/minecraft/nbt/NBTTagCompound;)Lnet/minecraft/tileentity/TileEntity; +MD: bcm/o_ ()V net/minecraft/tileentity/TileEntity/func_70296_d ()V +MD: bcm/s ()D net/minecraft/tileentity/TileEntity/func_145833_n ()D +MD: bcm/t ()Z net/minecraft/tileentity/TileEntity/func_145830_o ()Z +MD: bcm/u ()I net/minecraft/tileentity/TileEntity/func_145832_p ()I +MD: bcm/v ()Ldt; net/minecraft/tileentity/TileEntity/func_174877_v ()Lnet/minecraft/util/BlockPos; +MD: bcm/w ()Latr; net/minecraft/tileentity/TileEntity/func_145838_q ()Lnet/minecraft/block/Block; +MD: bcm/x ()Z net/minecraft/tileentity/TileEntity/func_145837_r ()Z +MD: bcm/x_ ()Lid; net/minecraft/tileentity/TileEntity/func_145844_m ()Lnet/minecraft/network/Packet; +MD: bcm/y ()V net/minecraft/tileentity/TileEntity/func_145843_s ()V +MD: bcm/z ()Laqu; net/minecraft/tileentity/TileEntity/func_145831_w ()Lnet/minecraft/world/World; +MD: bcn/a ()Ljava/lang/String; net/minecraft/tileentity/TileEntity$1/call ()Ljava/lang/String; +MD: bcn/call ()Ljava/lang/Object; net/minecraft/tileentity/TileEntity$1/call ()Ljava/lang/Object; +MD: bco/a ()Ljava/lang/String; net/minecraft/tileentity/TileEntity$2/call ()Ljava/lang/String; +MD: bco/call ()Ljava/lang/Object; net/minecraft/tileentity/TileEntity$2/call ()Ljava/lang/Object; +MD: bcp/a ()Ljava/lang/String; net/minecraft/tileentity/TileEntity$3/call ()Ljava/lang/String; +MD: bcp/call ()Ljava/lang/Object; net/minecraft/tileentity/TileEntity$3/call ()Ljava/lang/Object; +MD: bcq/a (I)Lamj; net/minecraft/tileentity/TileEntityBrewingStand/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: bcq/a (II)Lamj; net/minecraft/tileentity/TileEntityBrewingStand/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: bcq/a (ILamj;)V net/minecraft/tileentity/TileEntityBrewingStand/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: bcq/a (ILamj;Lej;)Z net/minecraft/tileentity/TileEntityBrewingStand/func_180462_a (ILnet/minecraft/item/ItemStack;Lnet/minecraft/util/EnumFacing;)Z +MD: bcq/a (Lahb;Lahd;)Laib; net/minecraft/tileentity/TileEntityBrewingStand/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: bcq/a (Lahd;)Z net/minecraft/tileentity/TileEntityBrewingStand/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: bcq/a (Lej;)[I net/minecraft/tileentity/TileEntityBrewingStand/func_180463_a (Lnet/minecraft/util/EnumFacing;)[I +MD: bcq/a (Lfn;)V net/minecraft/tileentity/TileEntityBrewingStand/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bcq/a (Ljava/lang/String;)V net/minecraft/tileentity/TileEntityBrewingStand/func_145937_a (Ljava/lang/String;)V +MD: bcq/a_ (I)I net/minecraft/tileentity/TileEntityBrewingStand/func_174887_a_ (I)I +MD: bcq/b (I)Lamj; net/minecraft/tileentity/TileEntityBrewingStand/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: bcq/b (II)V net/minecraft/tileentity/TileEntityBrewingStand/func_174885_b (II)V +MD: bcq/b (ILamj;)Z net/minecraft/tileentity/TileEntityBrewingStand/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: bcq/b (ILamj;Lej;)Z net/minecraft/tileentity/TileEntityBrewingStand/func_180461_b (ILnet/minecraft/item/ItemStack;Lnet/minecraft/util/EnumFacing;)Z +MD: bcq/b (Lahd;)V net/minecraft/tileentity/TileEntityBrewingStand/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bcq/b (Lfn;)V net/minecraft/tileentity/TileEntityBrewingStand/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bcq/c ()V net/minecraft/tileentity/TileEntityBrewingStand/func_73660_a ()V +MD: bcq/c (ILamj;)I net/minecraft/tileentity/TileEntityBrewingStand/func_145936_c (ILnet/minecraft/item/ItemStack;)I +MD: bcq/c (Lahd;)V net/minecraft/tileentity/TileEntityBrewingStand/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bcq/d_ ()Ljava/lang/String; net/minecraft/tileentity/TileEntityBrewingStand/func_70005_c_ ()Ljava/lang/String; +MD: bcq/g ()I net/minecraft/tileentity/TileEntityBrewingStand/func_174890_g ()I +MD: bcq/k ()Ljava/lang/String; net/minecraft/tileentity/TileEntityBrewingStand/func_174875_k ()Ljava/lang/String; +MD: bcq/k_ ()Z net/minecraft/tileentity/TileEntityBrewingStand/func_145818_k_ ()Z +MD: bcq/l ()V net/minecraft/tileentity/TileEntityBrewingStand/func_174888_l ()V +MD: bcq/m ()[Z net/minecraft/tileentity/TileEntityBrewingStand/func_174902_m ()[Z +MD: bcq/n ()Z net/minecraft/tileentity/TileEntityBrewingStand/func_145934_k ()Z +MD: bcq/n_ ()I net/minecraft/tileentity/TileEntityBrewingStand/func_70302_i_ ()I +MD: bcq/o ()V net/minecraft/tileentity/TileEntityBrewingStand/func_145940_l ()V +MD: bcq/p_ ()I net/minecraft/tileentity/TileEntityBrewingStand/func_70297_j_ ()I +MD: bcr/E ()V net/minecraft/tileentity/TileEntityChest/func_145836_u ()V +MD: bcr/a (I)Lamj; net/minecraft/tileentity/TileEntityChest/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: bcr/a (II)Lamj; net/minecraft/tileentity/TileEntityChest/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: bcr/a (ILamj;)V net/minecraft/tileentity/TileEntityChest/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: bcr/a (Lahb;Lahd;)Laib; net/minecraft/tileentity/TileEntityChest/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: bcr/a (Lahd;)Z net/minecraft/tileentity/TileEntityChest/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: bcr/a (Lbcr;Lej;)V net/minecraft/tileentity/TileEntityChest/func_174910_a (Lnet/minecraft/tileentity/TileEntityChest;Lnet/minecraft/util/EnumFacing;)V +MD: bcr/a (Lej;)Lbcr; net/minecraft/tileentity/TileEntityChest/func_174911_a (Lnet/minecraft/util/EnumFacing;)Lnet/minecraft/tileentity/TileEntityChest; +MD: bcr/a (Lfn;)V net/minecraft/tileentity/TileEntityChest/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bcr/a (Ljava/lang/String;)V net/minecraft/tileentity/TileEntityChest/func_145976_a (Ljava/lang/String;)V +MD: bcr/a_ (I)I net/minecraft/tileentity/TileEntityChest/func_174887_a_ (I)I +MD: bcr/b (I)Lamj; net/minecraft/tileentity/TileEntityChest/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: bcr/b (II)V net/minecraft/tileentity/TileEntityChest/func_174885_b (II)V +MD: bcr/b (ILamj;)Z net/minecraft/tileentity/TileEntityChest/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: bcr/b (Lahd;)V net/minecraft/tileentity/TileEntityChest/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bcr/b (Ldt;)Z net/minecraft/tileentity/TileEntityChest/func_174912_b (Lnet/minecraft/util/BlockPos;)Z +MD: bcr/b (Lfn;)V net/minecraft/tileentity/TileEntityChest/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bcr/c ()V net/minecraft/tileentity/TileEntityChest/func_73660_a ()V +MD: bcr/c (II)Z net/minecraft/tileentity/TileEntityChest/func_145842_c (II)Z +MD: bcr/c (Lahd;)V net/minecraft/tileentity/TileEntityChest/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bcr/d_ ()Ljava/lang/String; net/minecraft/tileentity/TileEntityChest/func_70005_c_ ()Ljava/lang/String; +MD: bcr/g ()I net/minecraft/tileentity/TileEntityChest/func_174890_g ()I +MD: bcr/k ()Ljava/lang/String; net/minecraft/tileentity/TileEntityChest/func_174875_k ()Ljava/lang/String; +MD: bcr/k_ ()Z net/minecraft/tileentity/TileEntityChest/func_145818_k_ ()Z +MD: bcr/l ()V net/minecraft/tileentity/TileEntityChest/func_174888_l ()V +MD: bcr/m ()V net/minecraft/tileentity/TileEntityChest/func_145979_i ()V +MD: bcr/n ()I net/minecraft/tileentity/TileEntityChest/func_145980_j ()I +MD: bcr/n_ ()I net/minecraft/tileentity/TileEntityChest/func_70302_i_ ()I +MD: bcr/p_ ()I net/minecraft/tileentity/TileEntityChest/func_70297_j_ ()I +MD: bcr/y ()V net/minecraft/tileentity/TileEntityChest/func_145843_s ()V +MD: bct/a (Lfn;)V net/minecraft/tileentity/TileEntityCommandBlock/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bct/b ()Laqf; net/minecraft/tileentity/TileEntityCommandBlock/func_145993_a ()Lnet/minecraft/command/server/CommandBlockLogic; +MD: bct/b (Lfn;)V net/minecraft/tileentity/TileEntityCommandBlock/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bct/c ()Laf; net/minecraft/tileentity/TileEntityCommandBlock/func_175124_c ()Lnet/minecraft/command/CommandResultStats; +MD: bct/x_ ()Lid; net/minecraft/tileentity/TileEntityCommandBlock/func_145844_m ()Lnet/minecraft/network/Packet; +MD: bcu/a (Lio/netty/buffer/ByteBuf;)V net/minecraft/tileentity/TileEntityCommandBlock$1/func_145757_a (Lio/netty/buffer/ByteBuf;)V +MD: bcu/a (Ljava/lang/String;)V net/minecraft/tileentity/TileEntityCommandBlock$1/func_145752_a (Ljava/lang/String;)V +MD: bcu/c ()Ldt; net/minecraft/tileentity/TileEntityCommandBlock$1/func_180425_c ()Lnet/minecraft/util/BlockPos; +MD: bcu/d ()Lbrw; net/minecraft/tileentity/TileEntityCommandBlock$1/func_174791_d ()Lnet/minecraft/util/Vec3; +MD: bcu/e ()Laqu; net/minecraft/tileentity/TileEntityCommandBlock$1/func_130014_f_ ()Lnet/minecraft/world/World; +MD: bcu/f ()Lwv; net/minecraft/tileentity/TileEntityCommandBlock$1/func_174793_f ()Lnet/minecraft/entity/Entity; +MD: bcu/h ()V net/minecraft/tileentity/TileEntityCommandBlock$1/func_145756_e ()V +MD: bcu/i ()I net/minecraft/tileentity/TileEntityCommandBlock$1/func_145751_f ()I +MD: bcv/a (I)V net/minecraft/tileentity/TileEntityComparator/func_145995_a (I)V +MD: bcv/a (Lfn;)V net/minecraft/tileentity/TileEntityComparator/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bcv/b ()I net/minecraft/tileentity/TileEntityComparator/func_145996_a ()I +MD: bcv/b (Lfn;)V net/minecraft/tileentity/TileEntityComparator/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bcw/c ()V net/minecraft/tileentity/TileEntityDaylightDetector/func_73660_a ()V +MD: bcx/a (I)Lamj; net/minecraft/tileentity/TileEntityDispenser/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: bcx/a (II)Lamj; net/minecraft/tileentity/TileEntityDispenser/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: bcx/a (ILamj;)V net/minecraft/tileentity/TileEntityDispenser/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: bcx/a (Lahb;Lahd;)Laib; net/minecraft/tileentity/TileEntityDispenser/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: bcx/a (Lahd;)Z net/minecraft/tileentity/TileEntityDispenser/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: bcx/a (Lamj;)I net/minecraft/tileentity/TileEntityDispenser/func_146019_a (Lnet/minecraft/item/ItemStack;)I +MD: bcx/a (Lfn;)V net/minecraft/tileentity/TileEntityDispenser/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bcx/a (Ljava/lang/String;)V net/minecraft/tileentity/TileEntityDispenser/func_146018_a (Ljava/lang/String;)V +MD: bcx/a_ (I)I net/minecraft/tileentity/TileEntityDispenser/func_174887_a_ (I)I +MD: bcx/b (I)Lamj; net/minecraft/tileentity/TileEntityDispenser/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: bcx/b (II)V net/minecraft/tileentity/TileEntityDispenser/func_174885_b (II)V +MD: bcx/b (ILamj;)Z net/minecraft/tileentity/TileEntityDispenser/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: bcx/b (Lahd;)V net/minecraft/tileentity/TileEntityDispenser/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bcx/b (Lfn;)V net/minecraft/tileentity/TileEntityDispenser/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bcx/c (Lahd;)V net/minecraft/tileentity/TileEntityDispenser/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bcx/d_ ()Ljava/lang/String; net/minecraft/tileentity/TileEntityDispenser/func_70005_c_ ()Ljava/lang/String; +MD: bcx/g ()I net/minecraft/tileentity/TileEntityDispenser/func_174890_g ()I +MD: bcx/k ()Ljava/lang/String; net/minecraft/tileentity/TileEntityDispenser/func_174875_k ()Ljava/lang/String; +MD: bcx/k_ ()Z net/minecraft/tileentity/TileEntityDispenser/func_145818_k_ ()Z +MD: bcx/l ()V net/minecraft/tileentity/TileEntityDispenser/func_174888_l ()V +MD: bcx/m ()I net/minecraft/tileentity/TileEntityDispenser/func_146017_i ()I +MD: bcx/n_ ()I net/minecraft/tileentity/TileEntityDispenser/func_70302_i_ ()I +MD: bcx/p_ ()I net/minecraft/tileentity/TileEntityDispenser/func_70297_j_ ()I +MD: bcy/d_ ()Ljava/lang/String; net/minecraft/tileentity/TileEntityDropper/func_70005_c_ ()Ljava/lang/String; +MD: bcy/k ()Ljava/lang/String; net/minecraft/tileentity/TileEntityDropper/func_174875_k ()Ljava/lang/String; +MD: bcz/a (Lahb;Lahd;)Laib; net/minecraft/tileentity/TileEntityEnchantmentTable/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: bcz/a (Lfn;)V net/minecraft/tileentity/TileEntityEnchantmentTable/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bcz/a (Ljava/lang/String;)V net/minecraft/tileentity/TileEntityEnchantmentTable/func_145920_a (Ljava/lang/String;)V +MD: bcz/b (Lfn;)V net/minecraft/tileentity/TileEntityEnchantmentTable/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bcz/c ()V net/minecraft/tileentity/TileEntityEnchantmentTable/func_73660_a ()V +MD: bcz/d_ ()Ljava/lang/String; net/minecraft/tileentity/TileEntityEnchantmentTable/func_70005_c_ ()Ljava/lang/String; +MD: bcz/e_ ()Lho; net/minecraft/tileentity/TileEntityEnchantmentTable/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: bcz/k ()Ljava/lang/String; net/minecraft/tileentity/TileEntityEnchantmentTable/func_174875_k ()Ljava/lang/String; +MD: bcz/k_ ()Z net/minecraft/tileentity/TileEntityEnchantmentTable/func_145818_k_ ()Z +MD: bd/a ()I net/minecraft/command/server/CommandDeOp/func_82362_a ()I +MD: bd/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandDeOp/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bd/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandDeOp/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bd/c ()Ljava/lang/String; net/minecraft/command/server/CommandDeOp/func_71517_b ()Ljava/lang/String; +MD: bd/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandDeOp/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bda/a (Lahd;)Z net/minecraft/tileentity/TileEntityEnderChest/func_145971_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: bda/b ()V net/minecraft/tileentity/TileEntityEnderChest/func_145969_a ()V +MD: bda/c ()V net/minecraft/tileentity/TileEntityEnderChest/func_73660_a ()V +MD: bda/c (II)Z net/minecraft/tileentity/TileEntityEnderChest/func_145842_c (II)Z +MD: bda/d ()V net/minecraft/tileentity/TileEntityEnderChest/func_145970_b ()V +MD: bda/y ()V net/minecraft/tileentity/TileEntityEnderChest/func_145843_s ()V +MD: bdb/a (Lalq;I)V net/minecraft/tileentity/TileEntityFlowerPot/func_145964_a (Lnet/minecraft/item/Item;I)V +MD: bdb/a (Lfn;)V net/minecraft/tileentity/TileEntityFlowerPot/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdb/b ()Lalq; net/minecraft/tileentity/TileEntityFlowerPot/func_145965_a ()Lnet/minecraft/item/Item; +MD: bdb/b (Lfn;)V net/minecraft/tileentity/TileEntityFlowerPot/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdb/c ()I net/minecraft/tileentity/TileEntityFlowerPot/func_145966_b ()I +MD: bdb/x_ ()Lid; net/minecraft/tileentity/TileEntityFlowerPot/func_145844_m ()Lnet/minecraft/network/Packet; +MD: bdc/a (I)Lamj; net/minecraft/tileentity/TileEntityFurnace/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: bdc/a (II)Lamj; net/minecraft/tileentity/TileEntityFurnace/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: bdc/a (ILamj;)V net/minecraft/tileentity/TileEntityFurnace/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: bdc/a (ILamj;Lej;)Z net/minecraft/tileentity/TileEntityFurnace/func_180462_a (ILnet/minecraft/item/ItemStack;Lnet/minecraft/util/EnumFacing;)Z +MD: bdc/a (Lahb;Lahd;)Laib; net/minecraft/tileentity/TileEntityFurnace/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: bdc/a (Lahd;)Z net/minecraft/tileentity/TileEntityFurnace/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: bdc/a (Lamj;)I net/minecraft/tileentity/TileEntityFurnace/func_174904_a (Lnet/minecraft/item/ItemStack;)I +MD: bdc/a (Lej;)[I net/minecraft/tileentity/TileEntityFurnace/func_180463_a (Lnet/minecraft/util/EnumFacing;)[I +MD: bdc/a (Lfn;)V net/minecraft/tileentity/TileEntityFurnace/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdc/a (Ljava/lang/String;)V net/minecraft/tileentity/TileEntityFurnace/func_145951_a (Ljava/lang/String;)V +MD: bdc/a (Lvq;)Z net/minecraft/tileentity/TileEntityFurnace/func_174903_a (Lnet/minecraft/inventory/IInventory;)Z +MD: bdc/a_ (I)I net/minecraft/tileentity/TileEntityFurnace/func_174887_a_ (I)I +MD: bdc/b (I)Lamj; net/minecraft/tileentity/TileEntityFurnace/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: bdc/b (II)V net/minecraft/tileentity/TileEntityFurnace/func_174885_b (II)V +MD: bdc/b (ILamj;)Z net/minecraft/tileentity/TileEntityFurnace/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: bdc/b (ILamj;Lej;)Z net/minecraft/tileentity/TileEntityFurnace/func_180461_b (ILnet/minecraft/item/ItemStack;Lnet/minecraft/util/EnumFacing;)Z +MD: bdc/b (Lahd;)V net/minecraft/tileentity/TileEntityFurnace/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bdc/b (Lamj;)I net/minecraft/tileentity/TileEntityFurnace/func_145952_a (Lnet/minecraft/item/ItemStack;)I +MD: bdc/b (Lfn;)V net/minecraft/tileentity/TileEntityFurnace/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdc/c ()V net/minecraft/tileentity/TileEntityFurnace/func_73660_a ()V +MD: bdc/c (Lahd;)V net/minecraft/tileentity/TileEntityFurnace/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bdc/c (Lamj;)Z net/minecraft/tileentity/TileEntityFurnace/func_145954_b (Lnet/minecraft/item/ItemStack;)Z +MD: bdc/d_ ()Ljava/lang/String; net/minecraft/tileentity/TileEntityFurnace/func_70005_c_ ()Ljava/lang/String; +MD: bdc/g ()I net/minecraft/tileentity/TileEntityFurnace/func_174890_g ()I +MD: bdc/k ()Ljava/lang/String; net/minecraft/tileentity/TileEntityFurnace/func_174875_k ()Ljava/lang/String; +MD: bdc/k_ ()Z net/minecraft/tileentity/TileEntityFurnace/func_145818_k_ ()Z +MD: bdc/l ()V net/minecraft/tileentity/TileEntityFurnace/func_174888_l ()V +MD: bdc/m ()Z net/minecraft/tileentity/TileEntityFurnace/func_145950_i ()Z +MD: bdc/n ()V net/minecraft/tileentity/TileEntityFurnace/func_145949_j ()V +MD: bdc/n_ ()I net/minecraft/tileentity/TileEntityFurnace/func_70302_i_ ()I +MD: bdc/o ()Z net/minecraft/tileentity/TileEntityFurnace/func_145948_k ()Z +MD: bdc/p_ ()I net/minecraft/tileentity/TileEntityFurnace/func_70297_j_ ()I +MD: bdd/A ()D net/minecraft/tileentity/IHopper/func_96107_aA ()D +MD: bdd/B ()D net/minecraft/tileentity/IHopper/func_96109_aB ()D +MD: bdd/C ()D net/minecraft/tileentity/IHopper/func_96108_aC ()D +MD: bdd/z ()Laqu; net/minecraft/tileentity/IHopper/func_145831_w ()Lnet/minecraft/world/World; +MD: bde/A ()D net/minecraft/tileentity/TileEntityHopper/func_96107_aA ()D +MD: bde/B ()D net/minecraft/tileentity/TileEntityHopper/func_96109_aB ()D +MD: bde/C ()D net/minecraft/tileentity/TileEntityHopper/func_96108_aC ()D +MD: bde/G ()Lvq; net/minecraft/tileentity/TileEntityHopper/func_145895_l ()Lnet/minecraft/inventory/IInventory; +MD: bde/a (I)Lamj; net/minecraft/tileentity/TileEntityHopper/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: bde/a (II)Lamj; net/minecraft/tileentity/TileEntityHopper/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: bde/a (ILamj;)V net/minecraft/tileentity/TileEntityHopper/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: bde/a (Lahb;Lahd;)Laib; net/minecraft/tileentity/TileEntityHopper/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: bde/a (Lahd;)Z net/minecraft/tileentity/TileEntityHopper/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: bde/a (Lamj;Lamj;)Z net/minecraft/tileentity/TileEntityHopper/func_145894_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z +MD: bde/a (Laqu;DDD)Ladw; net/minecraft/tileentity/TileEntityHopper/func_145897_a (Lnet/minecraft/world/World;DDD)Lnet/minecraft/entity/item/EntityItem; +MD: bde/a (Lbdd;)Z net/minecraft/tileentity/TileEntityHopper/func_145891_a (Lnet/minecraft/tileentity/IHopper;)Z +MD: bde/a (Lbdd;Lvq;ILej;)Z net/minecraft/tileentity/TileEntityHopper/func_174915_a (Lnet/minecraft/tileentity/IHopper;Lnet/minecraft/inventory/IInventory;ILnet/minecraft/util/EnumFacing;)Z +MD: bde/a (Lfn;)V net/minecraft/tileentity/TileEntityHopper/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bde/a (Ljava/lang/String;)V net/minecraft/tileentity/TileEntityHopper/func_145886_a (Ljava/lang/String;)V +MD: bde/a (Lvq;Ladw;)Z net/minecraft/tileentity/TileEntityHopper/func_145898_a (Lnet/minecraft/inventory/IInventory;Lnet/minecraft/entity/item/EntityItem;)Z +MD: bde/a (Lvq;Lamj;ILej;)Z net/minecraft/tileentity/TileEntityHopper/func_174920_a (Lnet/minecraft/inventory/IInventory;Lnet/minecraft/item/ItemStack;ILnet/minecraft/util/EnumFacing;)Z +MD: bde/a (Lvq;Lamj;Lej;)Lamj; net/minecraft/tileentity/TileEntityHopper/func_174918_a (Lnet/minecraft/inventory/IInventory;Lnet/minecraft/item/ItemStack;Lnet/minecraft/util/EnumFacing;)Lnet/minecraft/item/ItemStack; +MD: bde/a (Lvq;Lej;)Z net/minecraft/tileentity/TileEntityHopper/func_174919_a (Lnet/minecraft/inventory/IInventory;Lnet/minecraft/util/EnumFacing;)Z +MD: bde/a_ (I)I net/minecraft/tileentity/TileEntityHopper/func_174887_a_ (I)I +MD: bde/b (I)Lamj; net/minecraft/tileentity/TileEntityHopper/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: bde/b (II)V net/minecraft/tileentity/TileEntityHopper/func_174885_b (II)V +MD: bde/b (ILamj;)Z net/minecraft/tileentity/TileEntityHopper/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: bde/b (Lahd;)V net/minecraft/tileentity/TileEntityHopper/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bde/b (Laqu;DDD)Lvq; net/minecraft/tileentity/TileEntityHopper/func_145893_b (Lnet/minecraft/world/World;DDD)Lnet/minecraft/inventory/IInventory; +MD: bde/b (Lbdd;)Lvq; net/minecraft/tileentity/TileEntityHopper/func_145884_b (Lnet/minecraft/tileentity/IHopper;)Lnet/minecraft/inventory/IInventory; +MD: bde/b (Lfn;)V net/minecraft/tileentity/TileEntityHopper/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bde/b (Lvq;Lamj;ILej;)Z net/minecraft/tileentity/TileEntityHopper/func_174921_b (Lnet/minecraft/inventory/IInventory;Lnet/minecraft/item/ItemStack;ILnet/minecraft/util/EnumFacing;)Z +MD: bde/b (Lvq;Lej;)Z net/minecraft/tileentity/TileEntityHopper/func_174917_b (Lnet/minecraft/inventory/IInventory;Lnet/minecraft/util/EnumFacing;)Z +MD: bde/c ()V net/minecraft/tileentity/TileEntityHopper/func_73660_a ()V +MD: bde/c (Lahd;)V net/minecraft/tileentity/TileEntityHopper/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bde/c (Lvq;Lamj;ILej;)Lamj; net/minecraft/tileentity/TileEntityHopper/func_174916_c (Lnet/minecraft/inventory/IInventory;Lnet/minecraft/item/ItemStack;ILnet/minecraft/util/EnumFacing;)Lnet/minecraft/item/ItemStack; +MD: bde/d (I)V net/minecraft/tileentity/TileEntityHopper/func_145896_c (I)V +MD: bde/d_ ()Ljava/lang/String; net/minecraft/tileentity/TileEntityHopper/func_70005_c_ ()Ljava/lang/String; +MD: bde/g ()I net/minecraft/tileentity/TileEntityHopper/func_174890_g ()I +MD: bde/k ()Ljava/lang/String; net/minecraft/tileentity/TileEntityHopper/func_174875_k ()Ljava/lang/String; +MD: bde/k_ ()Z net/minecraft/tileentity/TileEntityHopper/func_145818_k_ ()Z +MD: bde/l ()V net/minecraft/tileentity/TileEntityHopper/func_174888_l ()V +MD: bde/m ()Z net/minecraft/tileentity/TileEntityHopper/func_145887_i ()Z +MD: bde/n ()Z net/minecraft/tileentity/TileEntityHopper/func_145888_j ()Z +MD: bde/n_ ()I net/minecraft/tileentity/TileEntityHopper/func_70302_i_ ()I +MD: bde/o ()Z net/minecraft/tileentity/TileEntityHopper/func_174914_o ()Z +MD: bde/o_ ()V net/minecraft/tileentity/TileEntityHopper/func_70296_d ()V +MD: bde/p ()Z net/minecraft/tileentity/TileEntityHopper/func_152104_k ()Z +MD: bde/p_ ()I net/minecraft/tileentity/TileEntityHopper/func_70297_j_ ()I +MD: bde/q ()Z net/minecraft/tileentity/TileEntityHopper/func_152105_l ()Z +MD: bde/r ()Z net/minecraft/tileentity/TileEntityHopper/func_145883_k ()Z +MD: bdf/a (Lfn;)V net/minecraft/tileentity/TileEntityLockable/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdf/a (Lvx;)V net/minecraft/tileentity/TileEntityLockable/func_174892_a (Lnet/minecraft/world/LockCode;)V +MD: bdf/b (Lfn;)V net/minecraft/tileentity/TileEntityLockable/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdf/e_ ()Lho; net/minecraft/tileentity/TileEntityLockable/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: bdf/i ()Lvx; net/minecraft/tileentity/TileEntityLockable/func_174891_i ()Lnet/minecraft/world/LockCode; +MD: bdf/q_ ()Z net/minecraft/tileentity/TileEntityLockable/func_174893_q_ ()Z +MD: bdg/a (Lfn;)V net/minecraft/tileentity/TileEntityMobSpawner/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdg/b ()Laqi; net/minecraft/tileentity/TileEntityMobSpawner/func_145881_a ()Lnet/minecraft/tileentity/MobSpawnerBaseLogic; +MD: bdg/b (Lfn;)V net/minecraft/tileentity/TileEntityMobSpawner/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdg/c ()V net/minecraft/tileentity/TileEntityMobSpawner/func_73660_a ()V +MD: bdg/c (II)Z net/minecraft/tileentity/TileEntityMobSpawner/func_145842_c (II)Z +MD: bdg/x_ ()Lid; net/minecraft/tileentity/TileEntityMobSpawner/func_145844_m ()Lnet/minecraft/network/Packet; +MD: bdh/a ()Laqu; net/minecraft/tileentity/TileEntityMobSpawner$1/func_98271_a ()Lnet/minecraft/world/World; +MD: bdh/a (I)V net/minecraft/tileentity/TileEntityMobSpawner$1/func_98267_a (I)V +MD: bdh/a (Laqj;)V net/minecraft/tileentity/TileEntityMobSpawner$1/func_98277_a (Lnet/minecraft/tileentity/MobSpawnerBaseLogic$WeightedRandomMinecart;)V +MD: bdh/b ()Ldt; net/minecraft/tileentity/TileEntityMobSpawner$1/func_177221_b ()Lnet/minecraft/util/BlockPos; +MD: bdi/a (Laqu;Ldt;)V net/minecraft/tileentity/TileEntityNote/func_175108_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: bdi/a (Lfn;)V net/minecraft/tileentity/TileEntityNote/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdi/b ()V net/minecraft/tileentity/TileEntityNote/func_145877_a ()V +MD: bdi/b (Lfn;)V net/minecraft/tileentity/TileEntityNote/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdj/a (Lahd;)V net/minecraft/tileentity/TileEntitySign/func_145912_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bdj/a (Lbdj;)Laf; net/minecraft/tileentity/TileEntitySign/access$000 (Lnet/minecraft/tileentity/TileEntitySign;)Lnet/minecraft/command/CommandResultStats; +MD: bdj/a (Lfn;)V net/minecraft/tileentity/TileEntitySign/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdj/a (Z)V net/minecraft/tileentity/TileEntitySign/func_145913_a (Z)V +MD: bdj/b ()Z net/minecraft/tileentity/TileEntitySign/func_145914_a ()Z +MD: bdj/b (Lahd;)Z net/minecraft/tileentity/TileEntitySign/func_174882_b (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: bdj/b (Lfn;)V net/minecraft/tileentity/TileEntitySign/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdj/c ()Lahd; net/minecraft/tileentity/TileEntitySign/func_145911_b ()Lnet/minecraft/entity/player/EntityPlayer; +MD: bdj/d ()Laf; net/minecraft/tileentity/TileEntitySign/func_174880_d ()Lnet/minecraft/command/CommandResultStats; +MD: bdj/x_ ()Lid; net/minecraft/tileentity/TileEntitySign/func_145844_m ()Lnet/minecraft/network/Packet; +MD: bdk/a (ILjava/lang/String;)Z net/minecraft/tileentity/TileEntitySign$1/func_70003_b (ILjava/lang/String;)Z +MD: bdk/a (Lag;I)V net/minecraft/tileentity/TileEntitySign$1/func_174794_a (Lnet/minecraft/command/CommandResultStats$Type;I)V +MD: bdk/a (Lho;)V net/minecraft/tileentity/TileEntitySign$1/func_145747_a (Lnet/minecraft/util/IChatComponent;)V +MD: bdk/c ()Ldt; net/minecraft/tileentity/TileEntitySign$1/func_180425_c ()Lnet/minecraft/util/BlockPos; +MD: bdk/d ()Lbrw; net/minecraft/tileentity/TileEntitySign$1/func_174791_d ()Lnet/minecraft/util/Vec3; +MD: bdk/d_ ()Ljava/lang/String; net/minecraft/tileentity/TileEntitySign$1/func_70005_c_ ()Ljava/lang/String; +MD: bdk/e ()Laqu; net/minecraft/tileentity/TileEntitySign$1/func_130014_f_ ()Lnet/minecraft/world/World; +MD: bdk/e_ ()Lho; net/minecraft/tileentity/TileEntitySign$1/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: bdk/f ()Lwv; net/minecraft/tileentity/TileEntitySign$1/func_174793_f ()Lnet/minecraft/entity/Entity; +MD: bdk/t_ ()Z net/minecraft/tileentity/TileEntitySign$1/func_174792_t_ ()Z +MD: bdl/a (ILjava/lang/String;)Z net/minecraft/tileentity/TileEntitySign$2/func_70003_b (ILjava/lang/String;)Z +MD: bdl/a (Lag;I)V net/minecraft/tileentity/TileEntitySign$2/func_174794_a (Lnet/minecraft/command/CommandResultStats$Type;I)V +MD: bdl/a (Lho;)V net/minecraft/tileentity/TileEntitySign$2/func_145747_a (Lnet/minecraft/util/IChatComponent;)V +MD: bdl/c ()Ldt; net/minecraft/tileentity/TileEntitySign$2/func_180425_c ()Lnet/minecraft/util/BlockPos; +MD: bdl/d ()Lbrw; net/minecraft/tileentity/TileEntitySign$2/func_174791_d ()Lnet/minecraft/util/Vec3; +MD: bdl/d_ ()Ljava/lang/String; net/minecraft/tileentity/TileEntitySign$2/func_70005_c_ ()Ljava/lang/String; +MD: bdl/e ()Laqu; net/minecraft/tileentity/TileEntitySign$2/func_130014_f_ ()Lnet/minecraft/world/World; +MD: bdl/e_ ()Lho; net/minecraft/tileentity/TileEntitySign$2/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: bdl/f ()Lwv; net/minecraft/tileentity/TileEntitySign$2/func_174793_f ()Lnet/minecraft/entity/Entity; +MD: bdl/t_ ()Z net/minecraft/tileentity/TileEntitySign$2/func_174792_t_ ()Z +MD: bdm/a (I)V net/minecraft/tileentity/TileEntitySkull/func_152107_a (I)V +MD: bdm/a (Lcom/mojang/authlib/GameProfile;)V net/minecraft/tileentity/TileEntitySkull/func_152106_a (Lcom/mojang/authlib/GameProfile;)V +MD: bdm/a (Lfn;)V net/minecraft/tileentity/TileEntitySkull/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdm/b ()Lcom/mojang/authlib/GameProfile; net/minecraft/tileentity/TileEntitySkull/func_152108_a ()Lcom/mojang/authlib/GameProfile; +MD: bdm/b (I)V net/minecraft/tileentity/TileEntitySkull/func_145903_a (I)V +MD: bdm/b (Lcom/mojang/authlib/GameProfile;)Lcom/mojang/authlib/GameProfile; net/minecraft/tileentity/TileEntitySkull/func_174884_b (Lcom/mojang/authlib/GameProfile;)Lcom/mojang/authlib/GameProfile; +MD: bdm/b (Lfn;)V net/minecraft/tileentity/TileEntitySkull/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdm/c ()I net/minecraft/tileentity/TileEntitySkull/func_145904_a ()I +MD: bdm/d ()I net/minecraft/tileentity/TileEntitySkull/func_145906_b ()I +MD: bdm/e ()V net/minecraft/tileentity/TileEntitySkull/func_152109_d ()V +MD: bdm/x_ ()Lid; net/minecraft/tileentity/TileEntitySkull/func_145844_m ()Lnet/minecraft/network/Packet; +MD: bdq/a (I)Lbec; net/minecraft/block/BlockPistonBase/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bdq/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockPistonBase/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: bdq/a (Laqu;Ldt;Lbec;II)Z net/minecraft/block/BlockPistonBase/func_180648_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;II)Z +MD: bdq/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockPistonBase/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: bdq/a (Laqu;Ldt;Lbec;Lbrt;Ljava/util/List;Lwv;)V net/minecraft/block/BlockPistonBase/func_180638_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;)V +MD: bdq/a (Laqu;Ldt;Lbec;Lxm;Lamj;)V net/minecraft/block/BlockPistonBase/func_180633_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;)V +MD: bdq/a (Laqu;Ldt;Lej;FFFILxm;)Lbec; net/minecraft/block/BlockPistonBase/func_180642_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFFILnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/block/state/IBlockState; +MD: bdq/a (Laqu;Ldt;Lej;Z)Z net/minecraft/block/BlockPistonBase/func_176319_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;Z)Z +MD: bdq/a (Laqu;Ldt;Lxm;)Lej; net/minecraft/block/BlockPistonBase/func_180695_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/util/EnumFacing; +MD: bdq/a (Lard;Ldt;)V net/minecraft/block/BlockPistonBase/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bdq/a (Latr;Laqu;Ldt;Lej;Z)Z net/minecraft/block/BlockPistonBase/func_180696_a (Lnet/minecraft/block/Block;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;Z)Z +MD: bdq/b (I)Lej; net/minecraft/block/BlockPistonBase/func_176317_b (I)Lnet/minecraft/util/EnumFacing; +MD: bdq/b (Laqu;Ldt;Lej;)Z net/minecraft/block/BlockPistonBase/func_176318_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: bdq/b (Lbec;)Lbec; net/minecraft/block/BlockPistonBase/func_176217_b (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: bdq/c ()Z net/minecraft/block/BlockPistonBase/func_149662_c ()Z +MD: bdq/c (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockPistonBase/func_176213_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bdq/c (Lbec;)I net/minecraft/block/BlockPistonBase/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bdq/d ()Z net/minecraft/block/BlockPistonBase/func_149686_d ()Z +MD: bdq/e ()Lbed; net/minecraft/block/BlockPistonBase/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bdq/e (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockPistonBase/func_176316_e (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bdq/h ()V net/minecraft/block/BlockPistonBase/func_149683_g ()V +MD: bds/a (I)Lbec; net/minecraft/block/BlockPistonExtension/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bds/a (Laqu;Ldt;Lbec;Lahd;)V net/minecraft/block/BlockPistonExtension/func_176208_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bds/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockPistonExtension/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: bds/a (Laqu;Ldt;Lbec;Lbrt;Ljava/util/List;Lwv;)V net/minecraft/block/BlockPistonExtension/func_180638_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;)V +MD: bds/a (Laqu;Ldt;Lej;)Z net/minecraft/block/BlockPistonExtension/func_176198_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: bds/a (Lard;Ldt;)V net/minecraft/block/BlockPistonExtension/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bds/a (Lard;Ldt;Lej;)Z net/minecraft/block/BlockPistonExtension/func_176225_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: bds/a (Ljava/util/Random;)I net/minecraft/block/BlockPistonExtension/func_149745_a (Ljava/util/Random;)I +MD: bds/b (I)Lej; net/minecraft/block/BlockPistonExtension/func_176322_b (I)Lnet/minecraft/util/EnumFacing; +MD: bds/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockPistonExtension/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: bds/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockPistonExtension/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bds/c ()Z net/minecraft/block/BlockPistonExtension/func_149662_c ()Z +MD: bds/c (Laqu;Ldt;)Z net/minecraft/block/BlockPistonExtension/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bds/c (Lbec;)I net/minecraft/block/BlockPistonExtension/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bds/d ()Z net/minecraft/block/BlockPistonExtension/func_149686_d ()Z +MD: bds/d (Lbec;)V net/minecraft/block/BlockPistonExtension/func_176324_d (Lnet/minecraft/block/state/IBlockState;)V +MD: bds/e ()Lbed; net/minecraft/block/BlockPistonExtension/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bds/e (Lbec;)V net/minecraft/block/BlockPistonExtension/func_176323_e (Lnet/minecraft/block/state/IBlockState;)V +MD: bdu/l ()Ljava/lang/String; net/minecraft/block/BlockPistonExtension$EnumPistonType/func_176610_l ()Ljava/lang/String; +MD: bdu/toString ()Ljava/lang/String; net/minecraft/block/BlockPistonExtension$EnumPistonType/toString ()Ljava/lang/String; +MD: bdu/values ()[Lbdu; net/minecraft/block/BlockPistonExtension$EnumPistonType/values ()[Lnet/minecraft/block/BlockPistonExtension$EnumPistonType; +MD: bdv/a (F)F net/minecraft/tileentity/TileEntityPiston/func_145860_a (F)F +MD: bdv/a (FF)V net/minecraft/tileentity/TileEntityPiston/func_145863_a (FF)V +MD: bdv/a (Lfn;)V net/minecraft/tileentity/TileEntityPiston/func_145839_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdv/b ()Lbec; net/minecraft/tileentity/TileEntityPiston/func_174927_b ()Lnet/minecraft/block/state/IBlockState; +MD: bdv/b (F)F net/minecraft/tileentity/TileEntityPiston/func_174929_b (F)F +MD: bdv/b (Lfn;)V net/minecraft/tileentity/TileEntityPiston/func_145841_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bdv/c ()V net/minecraft/tileentity/TileEntityPiston/func_73660_a ()V +MD: bdv/c (F)F net/minecraft/tileentity/TileEntityPiston/func_174928_c (F)F +MD: bdv/d ()Z net/minecraft/tileentity/TileEntityPiston/func_145868_b ()Z +MD: bdv/d (F)F net/minecraft/tileentity/TileEntityPiston/func_174926_d (F)F +MD: bdv/e ()Lej; net/minecraft/tileentity/TileEntityPiston/func_174930_e ()Lnet/minecraft/util/EnumFacing; +MD: bdv/g ()Z net/minecraft/tileentity/TileEntityPiston/func_145867_d ()Z +MD: bdv/h ()V net/minecraft/tileentity/TileEntityPiston/func_145866_f ()V +MD: bdv/u ()I net/minecraft/tileentity/TileEntityPiston/func_145832_p ()I +MD: bdx/a (I)Lbec; net/minecraft/block/BlockPistonMoving/func_176203_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bdx/a (Laqu;I)Lbcm; net/minecraft/block/BlockPistonMoving/func_149915_a (Lnet/minecraft/world/World;I)Lnet/minecraft/tileentity/TileEntity; +MD: bdx/a (Laqu;Ldt;Lbec;)Lbrt; net/minecraft/block/BlockPistonMoving/func_180640_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/util/AxisAlignedBB; +MD: bdx/a (Laqu;Ldt;Lbec;FI)V net/minecraft/block/BlockPistonMoving/func_180653_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FI)V +MD: bdx/a (Laqu;Ldt;Lbec;FLej;)Lbrt; net/minecraft/block/BlockPistonMoving/func_176424_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;FLnet/minecraft/util/EnumFacing;)Lnet/minecraft/util/AxisAlignedBB; +MD: bdx/a (Laqu;Ldt;Lbec;Lahd;Lej;FFF)Z net/minecraft/block/BlockPistonMoving/func_180639_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: bdx/a (Laqu;Ldt;Lbec;Latr;)V net/minecraft/block/BlockPistonMoving/func_176204_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/Block;)V +MD: bdx/a (Laqu;Ldt;Lbrw;Lbrw;)Lbru; net/minecraft/block/BlockPistonMoving/func_180636_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/MovingObjectPosition; +MD: bdx/a (Laqu;Ldt;Lej;)Z net/minecraft/block/BlockPistonMoving/func_176198_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: bdx/a (Lard;Ldt;)V net/minecraft/block/BlockPistonMoving/func_180654_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)V +MD: bdx/a (Lbec;Lej;ZZ)Lbcm; net/minecraft/block/BlockPistonMoving/func_176423_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/EnumFacing;ZZ)Lnet/minecraft/tileentity/TileEntity; +MD: bdx/a (Lbec;Ljava/util/Random;I)Lalq; net/minecraft/block/BlockPistonMoving/func_180660_a (Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;I)Lnet/minecraft/item/Item; +MD: bdx/b (Laqu;Ldt;)Lalq; net/minecraft/block/BlockPistonMoving/func_180665_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/item/Item; +MD: bdx/b (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockPistonMoving/func_180663_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bdx/c ()Z net/minecraft/block/BlockPistonMoving/func_149662_c ()Z +MD: bdx/c (Laqu;Ldt;)Z net/minecraft/block/BlockPistonMoving/func_176196_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bdx/c (Lbec;)I net/minecraft/block/BlockPistonMoving/func_176201_c (Lnet/minecraft/block/state/IBlockState;)I +MD: bdx/d ()Z net/minecraft/block/BlockPistonMoving/func_149686_d ()Z +MD: bdx/d (Laqu;Ldt;Lbec;)V net/minecraft/block/BlockPistonMoving/func_176206_d (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bdx/e ()Lbed; net/minecraft/block/BlockPistonMoving/func_180661_e ()Lnet/minecraft/block/state/BlockState; +MD: bdx/e (Lard;Ldt;)Lbdv; net/minecraft/block/BlockPistonMoving/func_176422_e (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/tileentity/TileEntityPiston; +MD: bdy/a ()Z net/minecraft/block/state/BlockPistonStructureHelper/func_177253_a ()Z +MD: bdy/a (II)V net/minecraft/block/state/BlockPistonStructureHelper/func_177255_a (II)V +MD: bdy/a (Ldt;)Z net/minecraft/block/state/BlockPistonStructureHelper/func_177251_a (Lnet/minecraft/util/BlockPos;)Z +MD: bdy/b (Ldt;)Z net/minecraft/block/state/BlockPistonStructureHelper/func_177250_b (Lnet/minecraft/util/BlockPos;)Z +MD: bdy/c ()Ljava/util/List; net/minecraft/block/state/BlockPistonStructureHelper/func_177254_c ()Ljava/util/List; +MD: bdy/d ()Ljava/util/List; net/minecraft/block/state/BlockPistonStructureHelper/func_177252_d ()Ljava/util/List; +MD: be/a ()I net/minecraft/command/CommandDebug/func_82362_a ()I +MD: be/a (ILjava/lang/String;Ljava/lang/StringBuilder;)V net/minecraft/command/CommandDebug/func_147202_a (ILjava/lang/String;Ljava/lang/StringBuilder;)V +MD: be/a (JI)V net/minecraft/command/CommandDebug/func_147205_a (JI)V +MD: be/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandDebug/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: be/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandDebug/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: be/b (JI)Ljava/lang/String; net/minecraft/command/CommandDebug/func_147204_b (JI)Ljava/lang/String; +MD: be/c ()Ljava/lang/String; net/minecraft/command/CommandDebug/func_71517_b ()Ljava/lang/String; +MD: be/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandDebug/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: be/d ()Ljava/lang/String; net/minecraft/command/CommandDebug/func_147203_d ()Ljava/lang/String; +MD: bea/a (Lbex;)Lbec; net/minecraft/block/state/BlockStateBase/func_177231_a (Lnet/minecraft/block/properties/IProperty;)Lnet/minecraft/block/state/IBlockState; +MD: bea/a (Ljava/util/Collection;Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/block/state/BlockStateBase/func_177232_a (Ljava/util/Collection;Ljava/lang/Object;)Ljava/lang/Object; +MD: bea/toString ()Ljava/lang/String; net/minecraft/block/state/BlockStateBase/toString ()Ljava/lang/String; +MD: beb/a (Ljava/util/Map$Entry;)Ljava/lang/String; net/minecraft/block/state/BlockStateBase$1/func_177225_a (Ljava/util/Map$Entry;)Ljava/lang/String; +MD: beb/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/block/state/BlockStateBase$1/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: bec/a ()Ljava/util/Collection; net/minecraft/block/state/IBlockState/func_177227_a ()Ljava/util/Collection; +MD: bec/a (Lbex;)Lbec; net/minecraft/block/state/IBlockState/func_177231_a (Lnet/minecraft/block/properties/IProperty;)Lnet/minecraft/block/state/IBlockState; +MD: bec/a (Lbex;Ljava/lang/Comparable;)Lbec; net/minecraft/block/state/IBlockState/func_177226_a (Lnet/minecraft/block/properties/IProperty;Ljava/lang/Comparable;)Lnet/minecraft/block/state/IBlockState; +MD: bec/b ()Lcom/google/common/collect/ImmutableMap; net/minecraft/block/state/IBlockState/func_177228_b ()Lcom/google/common/collect/ImmutableMap; +MD: bec/b (Lbex;)Ljava/lang/Comparable; net/minecraft/block/state/IBlockState/func_177229_b (Lnet/minecraft/block/properties/IProperty;)Ljava/lang/Comparable; +MD: bec/c ()Latr; net/minecraft/block/state/IBlockState/func_177230_c ()Lnet/minecraft/block/Block; +MD: bed/a ()Lcom/google/common/collect/ImmutableList; net/minecraft/block/state/BlockState/func_177619_a ()Lcom/google/common/collect/ImmutableList; +MD: bed/b ()Lbec; net/minecraft/block/state/BlockState/func_177621_b ()Lnet/minecraft/block/state/IBlockState; +MD: bed/c ()Latr; net/minecraft/block/state/BlockState/func_177622_c ()Lnet/minecraft/block/Block; +MD: bed/d ()Ljava/util/Collection; net/minecraft/block/state/BlockState/func_177623_d ()Ljava/util/Collection; +MD: bed/e ()Ljava/util/List; net/minecraft/block/state/BlockState/func_177620_e ()Ljava/util/List; +MD: bed/toString ()Ljava/lang/String; net/minecraft/block/state/BlockState/toString ()Ljava/lang/String; +MD: bee/a (Lbex;)Ljava/lang/String; net/minecraft/block/state/BlockState$1/func_177568_a (Lnet/minecraft/block/properties/IProperty;)Ljava/lang/String; +MD: bee/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/block/state/BlockState$1/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: bef/a (Lbex;Lbex;)I net/minecraft/block/state/BlockState$2/func_177548_a (Lnet/minecraft/block/properties/IProperty;Lnet/minecraft/block/properties/IProperty;)I +MD: bef/compare (Ljava/lang/Object;Ljava/lang/Object;)I net/minecraft/block/state/BlockState$2/compare (Ljava/lang/Object;Ljava/lang/Object;)I +MD: beg/a ()Ljava/util/Collection; net/minecraft/block/state/BlockState$StateImplementation/func_177227_a ()Ljava/util/Collection; +MD: beg/a (Lbex;Ljava/lang/Comparable;)Lbec; net/minecraft/block/state/BlockState$StateImplementation/func_177226_a (Lnet/minecraft/block/properties/IProperty;Ljava/lang/Comparable;)Lnet/minecraft/block/state/IBlockState; +MD: beg/a (Ljava/util/Map;)V net/minecraft/block/state/BlockState$StateImplementation/func_177235_a (Ljava/util/Map;)V +MD: beg/b ()Lcom/google/common/collect/ImmutableMap; net/minecraft/block/state/BlockState$StateImplementation/func_177228_b ()Lcom/google/common/collect/ImmutableMap; +MD: beg/b (Lbex;)Ljava/lang/Comparable; net/minecraft/block/state/BlockState$StateImplementation/func_177229_b (Lnet/minecraft/block/properties/IProperty;)Ljava/lang/Comparable; +MD: beg/b (Lbex;Ljava/lang/Comparable;)Ljava/util/Map; net/minecraft/block/state/BlockState$StateImplementation/func_177236_b (Lnet/minecraft/block/properties/IProperty;Ljava/lang/Comparable;)Ljava/util/Map; +MD: beg/c ()Latr; net/minecraft/block/state/BlockState$StateImplementation/func_177230_c ()Lnet/minecraft/block/Block; +MD: beg/equals (Ljava/lang/Object;)Z net/minecraft/block/state/BlockState$StateImplementation/equals (Ljava/lang/Object;)Z +MD: beg/hashCode ()I net/minecraft/block/state/BlockState$StateImplementation/hashCode ()I +MD: bei/a ()Lbec; net/minecraft/block/state/BlockWorldState/func_177509_a ()Lnet/minecraft/block/state/IBlockState; +MD: bei/a (Lcom/google/common/base/Predicate;)Lcom/google/common/base/Predicate; net/minecraft/block/state/BlockWorldState/func_177510_a (Lcom/google/common/base/Predicate;)Lcom/google/common/base/Predicate; +MD: bei/b ()Lbcm; net/minecraft/block/state/BlockWorldState/func_177507_b ()Lnet/minecraft/tileentity/TileEntity; +MD: bei/d ()Ldt; net/minecraft/block/state/BlockWorldState/func_177508_d ()Lnet/minecraft/util/BlockPos; +MD: bej/a (Lbei;)Z net/minecraft/block/state/BlockWorldState$1/func_177503_a (Lnet/minecraft/block/state/BlockWorldState;)Z +MD: bej/apply (Ljava/lang/Object;)Z net/minecraft/block/state/BlockWorldState$1/apply (Ljava/lang/Object;)Z +MD: bek/a (Laqu;Ldt;)Lbem; net/minecraft/block/state/pattern/BlockPattern/func_177681_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/pattern/BlockPattern$PatternHelper; +MD: bek/a (Ldt;Lej;Lej;III)Ldt; net/minecraft/block/state/pattern/BlockPattern/func_177683_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/EnumFacing;III)Lnet/minecraft/util/BlockPos; +MD: bek/a (Ldt;Lej;Lej;Lcom/google/common/cache/LoadingCache;)Lbem; net/minecraft/block/state/pattern/BlockPattern/func_177682_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/EnumFacing;Lcom/google/common/cache/LoadingCache;)Lnet/minecraft/block/state/pattern/BlockPattern$PatternHelper; +MD: bek/b ()I net/minecraft/block/state/pattern/BlockPattern/func_177685_b ()I +MD: bek/c ()I net/minecraft/block/state/pattern/BlockPattern/func_177684_c ()I +MD: bel/a (Ldt;)Lbei; net/minecraft/block/state/pattern/BlockPattern$CacheLoader/func_177679_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/BlockWorldState; +MD: bel/load (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/block/state/pattern/BlockPattern$CacheLoader/load (Ljava/lang/Object;)Ljava/lang/Object; +MD: bem/a (III)Lbei; net/minecraft/block/state/pattern/BlockPattern$PatternHelper/func_177670_a (III)Lnet/minecraft/block/state/BlockWorldState; +MD: bem/b ()Lej; net/minecraft/block/state/pattern/BlockPattern$PatternHelper/func_177669_b ()Lnet/minecraft/util/EnumFacing; +MD: bem/c ()Lej; net/minecraft/block/state/pattern/BlockPattern$PatternHelper/func_177668_c ()Lnet/minecraft/util/EnumFacing; +MD: ben/a ()Lben; net/minecraft/block/state/pattern/FactoryBlockPattern/func_177660_a ()Lnet/minecraft/block/state/pattern/FactoryBlockPattern; +MD: ben/a (CLcom/google/common/base/Predicate;)Lben; net/minecraft/block/state/pattern/FactoryBlockPattern/func_177662_a (CLcom/google/common/base/Predicate;)Lnet/minecraft/block/state/pattern/FactoryBlockPattern; +MD: ben/a ([Ljava/lang/String;)Lben; net/minecraft/block/state/pattern/FactoryBlockPattern/func_177659_a ([Ljava/lang/String;)Lnet/minecraft/block/state/pattern/FactoryBlockPattern; +MD: ben/b ()Lbek; net/minecraft/block/state/pattern/FactoryBlockPattern/func_177661_b ()Lnet/minecraft/block/state/pattern/BlockPattern; +MD: ben/c ()[[[Lcom/google/common/base/Predicate; net/minecraft/block/state/pattern/FactoryBlockPattern/func_177658_c ()[[[Lcom/google/common/base/Predicate; +MD: ben/d ()V net/minecraft/block/state/pattern/FactoryBlockPattern/func_177657_d ()V +MD: bep/a (Latr;)Lbep; net/minecraft/block/state/pattern/BlockHelper/func_177642_a (Lnet/minecraft/block/Block;)Lnet/minecraft/block/state/pattern/BlockHelper; +MD: bep/a (Lbec;)Z net/minecraft/block/state/pattern/BlockHelper/func_177643_a (Lnet/minecraft/block/state/IBlockState;)Z +MD: bep/apply (Ljava/lang/Object;)Z net/minecraft/block/state/pattern/BlockHelper/apply (Ljava/lang/Object;)Z +MD: beq/a (Latr;)Lbeq; net/minecraft/block/state/pattern/BlockStateHelper/func_177638_a (Lnet/minecraft/block/Block;)Lnet/minecraft/block/state/pattern/BlockStateHelper; +MD: beq/a (Lbec;)Z net/minecraft/block/state/pattern/BlockStateHelper/func_177639_a (Lnet/minecraft/block/state/IBlockState;)Z +MD: beq/a (Lbex;Lcom/google/common/base/Predicate;)Lbeq; net/minecraft/block/state/pattern/BlockStateHelper/func_177637_a (Lnet/minecraft/block/properties/IProperty;Lcom/google/common/base/Predicate;)Lnet/minecraft/block/state/pattern/BlockStateHelper; +MD: beq/apply (Ljava/lang/Object;)Z net/minecraft/block/state/pattern/BlockStateHelper/apply (Ljava/lang/Object;)Z +MD: bes/a ()Ljava/lang/String; net/minecraft/block/properties/PropertyHelper/func_177701_a ()Ljava/lang/String; +MD: bes/b ()Ljava/lang/Class; net/minecraft/block/properties/PropertyHelper/func_177699_b ()Ljava/lang/Class; +MD: bes/equals (Ljava/lang/Object;)Z net/minecraft/block/properties/PropertyHelper/equals (Ljava/lang/Object;)Z +MD: bes/hashCode ()I net/minecraft/block/properties/PropertyHelper/hashCode ()I +MD: bes/toString ()Ljava/lang/String; net/minecraft/block/properties/PropertyHelper/toString ()Ljava/lang/String; +MD: bet/a (Ljava/lang/Boolean;)Ljava/lang/String; net/minecraft/block/properties/PropertyBool/func_177715_a (Ljava/lang/Boolean;)Ljava/lang/String; +MD: bet/a (Ljava/lang/Comparable;)Ljava/lang/String; net/minecraft/block/properties/PropertyBool/func_177702_a (Ljava/lang/Comparable;)Ljava/lang/String; +MD: bet/a (Ljava/lang/String;)Lbet; net/minecraft/block/properties/PropertyBool/func_177716_a (Ljava/lang/String;)Lnet/minecraft/block/properties/PropertyBool; +MD: bet/c ()Ljava/util/Collection; net/minecraft/block/properties/PropertyBool/func_177700_c ()Ljava/util/Collection; +MD: beu/a (Ljava/lang/String;)Lbeu; net/minecraft/block/properties/PropertyDirection/func_177714_a (Ljava/lang/String;)Lnet/minecraft/block/properties/PropertyDirection; +MD: beu/a (Ljava/lang/String;Lcom/google/common/base/Predicate;)Lbeu; net/minecraft/block/properties/PropertyDirection/func_177712_a (Ljava/lang/String;Lcom/google/common/base/Predicate;)Lnet/minecraft/block/properties/PropertyDirection; +MD: beu/a (Ljava/lang/String;Ljava/util/Collection;)Lbeu; net/minecraft/block/properties/PropertyDirection/func_177713_a (Ljava/lang/String;Ljava/util/Collection;)Lnet/minecraft/block/properties/PropertyDirection; +MD: bev/a (Ljava/lang/Comparable;)Ljava/lang/String; net/minecraft/block/properties/PropertyEnum/func_177702_a (Ljava/lang/Comparable;)Ljava/lang/String; +MD: bev/a (Ljava/lang/Enum;)Ljava/lang/String; net/minecraft/block/properties/PropertyEnum/func_177705_a (Ljava/lang/Enum;)Ljava/lang/String; +MD: bev/a (Ljava/lang/String;Ljava/lang/Class;)Lbev; net/minecraft/block/properties/PropertyEnum/func_177709_a (Ljava/lang/String;Ljava/lang/Class;)Lnet/minecraft/block/properties/PropertyEnum; +MD: bev/a (Ljava/lang/String;Ljava/lang/Class;Lcom/google/common/base/Predicate;)Lbev; net/minecraft/block/properties/PropertyEnum/func_177708_a (Ljava/lang/String;Ljava/lang/Class;Lcom/google/common/base/Predicate;)Lnet/minecraft/block/properties/PropertyEnum; +MD: bev/a (Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)Lbev; net/minecraft/block/properties/PropertyEnum/func_177707_a (Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)Lnet/minecraft/block/properties/PropertyEnum; +MD: bev/a (Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Enum;)Lbev; net/minecraft/block/properties/PropertyEnum/func_177706_a (Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Enum;)Lnet/minecraft/block/properties/PropertyEnum; +MD: bev/c ()Ljava/util/Collection; net/minecraft/block/properties/PropertyEnum/func_177700_c ()Ljava/util/Collection; +MD: bew/a (Ljava/lang/Comparable;)Ljava/lang/String; net/minecraft/block/properties/PropertyInteger/func_177702_a (Ljava/lang/Comparable;)Ljava/lang/String; +MD: bew/a (Ljava/lang/Integer;)Ljava/lang/String; net/minecraft/block/properties/PropertyInteger/func_177718_a (Ljava/lang/Integer;)Ljava/lang/String; +MD: bew/a (Ljava/lang/String;II)Lbew; net/minecraft/block/properties/PropertyInteger/func_177719_a (Ljava/lang/String;II)Lnet/minecraft/block/properties/PropertyInteger; +MD: bew/c ()Ljava/util/Collection; net/minecraft/block/properties/PropertyInteger/func_177700_c ()Ljava/util/Collection; +MD: bew/equals (Ljava/lang/Object;)Z net/minecraft/block/properties/PropertyInteger/equals (Ljava/lang/Object;)Z +MD: bew/hashCode ()I net/minecraft/block/properties/PropertyInteger/hashCode ()I +MD: bex/a ()Ljava/lang/String; net/minecraft/block/properties/IProperty/func_177701_a ()Ljava/lang/String; +MD: bex/a (Ljava/lang/Comparable;)Ljava/lang/String; net/minecraft/block/properties/IProperty/func_177702_a (Ljava/lang/Comparable;)Ljava/lang/String; +MD: bex/b ()Ljava/lang/Class; net/minecraft/block/properties/IProperty/func_177699_b ()Ljava/lang/Class; +MD: bex/c ()Ljava/util/Collection; net/minecraft/block/properties/IProperty/func_177700_c ()Ljava/util/Collection; +MD: bez/a (Lbfb;D)V net/minecraft/world/border/IBorderListener/func_177694_a (Lnet/minecraft/world/border/WorldBorder;D)V +MD: bez/a (Lbfb;DD)V net/minecraft/world/border/IBorderListener/func_177693_a (Lnet/minecraft/world/border/WorldBorder;DD)V +MD: bez/a (Lbfb;DDJ)V net/minecraft/world/border/IBorderListener/func_177692_a (Lnet/minecraft/world/border/WorldBorder;DDJ)V +MD: bez/a (Lbfb;I)V net/minecraft/world/border/IBorderListener/func_177691_a (Lnet/minecraft/world/border/WorldBorder;I)V +MD: bez/b (Lbfb;D)V net/minecraft/world/border/IBorderListener/func_177696_b (Lnet/minecraft/world/border/WorldBorder;D)V +MD: bez/b (Lbfb;I)V net/minecraft/world/border/IBorderListener/func_177690_b (Lnet/minecraft/world/border/WorldBorder;I)V +MD: bez/c (Lbfb;D)V net/minecraft/world/border/IBorderListener/func_177695_c (Lnet/minecraft/world/border/WorldBorder;D)V +MD: bf/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandDefaultGameMode/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bf/a (Larc;)V net/minecraft/command/CommandDefaultGameMode/func_71541_a (Lnet/minecraft/world/WorldSettings$GameType;)V +MD: bf/c ()Ljava/lang/String; net/minecraft/command/CommandDefaultGameMode/func_71517_b ()Ljava/lang/String; +MD: bf/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandDefaultGameMode/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bfa/a ()I net/minecraft/world/border/EnumBorderStatus/func_177766_a ()I +MD: bfa/values ()[Lbfa; net/minecraft/world/border/EnumBorderStatus/values ()[Lnet/minecraft/world/border/EnumBorderStatus; +MD: bfb/a ()Lbfa; net/minecraft/world/border/WorldBorder/func_177734_a ()Lnet/minecraft/world/border/EnumBorderStatus; +MD: bfb/a (D)V net/minecraft/world/border/WorldBorder/func_177750_a (D)V +MD: bfb/a (DDJ)V net/minecraft/world/border/WorldBorder/func_177738_a (DDJ)V +MD: bfb/a (I)V net/minecraft/world/border/WorldBorder/func_177725_a (I)V +MD: bfb/a (Laqm;)Z net/minecraft/world/border/WorldBorder/func_177730_a (Lnet/minecraft/world/ChunkCoordIntPair;)Z +MD: bfb/a (Lbez;)V net/minecraft/world/border/WorldBorder/func_177737_a (Lnet/minecraft/world/border/IBorderListener;)V +MD: bfb/a (Lbrt;)Z net/minecraft/world/border/WorldBorder/func_177743_a (Lnet/minecraft/util/AxisAlignedBB;)Z +MD: bfb/a (Ldt;)Z net/minecraft/world/border/WorldBorder/func_177746_a (Lnet/minecraft/util/BlockPos;)Z +MD: bfb/a (Lwv;)D net/minecraft/world/border/WorldBorder/func_177745_a (Lnet/minecraft/entity/Entity;)D +MD: bfb/b ()D net/minecraft/world/border/WorldBorder/func_177726_b ()D +MD: bfb/b (D)V net/minecraft/world/border/WorldBorder/func_177724_b (D)V +MD: bfb/b (DD)D net/minecraft/world/border/WorldBorder/func_177729_b (DD)D +MD: bfb/b (I)V net/minecraft/world/border/WorldBorder/func_177723_b (I)V +MD: bfb/c ()D net/minecraft/world/border/WorldBorder/func_177736_c ()D +MD: bfb/c (D)V net/minecraft/world/border/WorldBorder/func_177744_c (D)V +MD: bfb/c (DD)V net/minecraft/world/border/WorldBorder/func_177739_c (DD)V +MD: bfb/c (I)V net/minecraft/world/border/WorldBorder/func_177747_c (I)V +MD: bfb/d ()D net/minecraft/world/border/WorldBorder/func_177728_d ()D +MD: bfb/e ()D net/minecraft/world/border/WorldBorder/func_177733_e ()D +MD: bfb/f ()D net/minecraft/world/border/WorldBorder/func_177731_f ()D +MD: bfb/g ()D net/minecraft/world/border/WorldBorder/func_177721_g ()D +MD: bfb/h ()D net/minecraft/world/border/WorldBorder/func_177741_h ()D +MD: bfb/i ()J net/minecraft/world/border/WorldBorder/func_177732_i ()J +MD: bfb/j ()D net/minecraft/world/border/WorldBorder/func_177751_j ()D +MD: bfb/k ()Ljava/util/List; net/minecraft/world/border/WorldBorder/func_177735_k ()Ljava/util/List; +MD: bfb/l ()I net/minecraft/world/border/WorldBorder/func_177722_l ()I +MD: bfb/m ()D net/minecraft/world/border/WorldBorder/func_177742_m ()D +MD: bfb/n ()D net/minecraft/world/border/WorldBorder/func_177727_n ()D +MD: bfb/o ()D net/minecraft/world/border/WorldBorder/func_177749_o ()D +MD: bfb/p ()I net/minecraft/world/border/WorldBorder/func_177740_p ()I +MD: bfb/q ()I net/minecraft/world/border/WorldBorder/func_177748_q ()I +MD: bfe/a (II)Z net/minecraft/world/chunk/IChunkProvider/func_73149_a (II)Z +MD: bfe/a (Laqu;Ljava/lang/String;Ldt;)Ldt; net/minecraft/world/chunk/IChunkProvider/func_180513_a (Lnet/minecraft/world/World;Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: bfe/a (Lbfe;II)V net/minecraft/world/chunk/IChunkProvider/func_73153_a (Lnet/minecraft/world/chunk/IChunkProvider;II)V +MD: bfe/a (Lbfe;Lbfh;II)Z net/minecraft/world/chunk/IChunkProvider/func_177460_a (Lnet/minecraft/world/chunk/IChunkProvider;Lnet/minecraft/world/chunk/Chunk;II)Z +MD: bfe/a (Lbfh;II)V net/minecraft/world/chunk/IChunkProvider/func_180514_a (Lnet/minecraft/world/chunk/Chunk;II)V +MD: bfe/a (Ldt;)Lbfh; net/minecraft/world/chunk/IChunkProvider/func_177459_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/chunk/Chunk; +MD: bfe/a (Lxp;Ldt;)Ljava/util/List; net/minecraft/world/chunk/IChunkProvider/func_177458_a (Lnet/minecraft/entity/EnumCreatureType;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bfe/a (ZLuy;)Z net/minecraft/world/chunk/IChunkProvider/func_73151_a (ZLnet/minecraft/util/IProgressUpdate;)Z +MD: bfe/c ()V net/minecraft/world/chunk/IChunkProvider/func_104112_b ()V +MD: bfe/d ()Z net/minecraft/world/chunk/IChunkProvider/func_73156_b ()Z +MD: bfe/d (II)Lbfh; net/minecraft/world/chunk/IChunkProvider/func_73154_d (II)Lnet/minecraft/world/chunk/Chunk; +MD: bfe/e ()Z net/minecraft/world/chunk/IChunkProvider/func_73157_c ()Z +MD: bfe/f ()Ljava/lang/String; net/minecraft/world/chunk/IChunkProvider/func_73148_d ()Ljava/lang/String; +MD: bfe/g ()I net/minecraft/world/chunk/IChunkProvider/func_73152_e ()I +MD: bff/a ()[B net/minecraft/world/chunk/NibbleArray/func_177481_a ()[B +MD: bff/a (I)I net/minecraft/world/chunk/NibbleArray/func_177480_a (I)I +MD: bff/a (II)V net/minecraft/world/chunk/NibbleArray/func_177482_a (II)V +MD: bff/a (III)I net/minecraft/world/chunk/NibbleArray/func_76582_a (III)I +MD: bff/a (IIII)V net/minecraft/world/chunk/NibbleArray/func_76581_a (IIII)V +MD: bff/b (I)Z net/minecraft/world/chunk/NibbleArray/func_177479_b (I)Z +MD: bff/b (III)I net/minecraft/world/chunk/NibbleArray/func_177483_b (III)I +MD: bff/c (I)I net/minecraft/world/chunk/NibbleArray/func_177478_c (I)I +MD: bfg/a ()V net/minecraft/world/chunk/EmptyChunk/func_76590_a ()V +MD: bfg/a (II)Z net/minecraft/world/chunk/EmptyChunk/func_76600_a (II)Z +MD: bfg/a (J)Ljava/util/Random; net/minecraft/world/chunk/EmptyChunk/func_76617_a (J)Ljava/util/Random; +MD: bfg/a (Larf;Ldt;)I net/minecraft/world/chunk/EmptyChunk/func_177413_a (Lnet/minecraft/world/EnumSkyBlock;Lnet/minecraft/util/BlockPos;)I +MD: bfg/a (Larf;Ldt;I)V net/minecraft/world/chunk/EmptyChunk/func_177431_a (Lnet/minecraft/world/EnumSkyBlock;Lnet/minecraft/util/BlockPos;I)V +MD: bfg/a (Lbcm;)V net/minecraft/world/chunk/EmptyChunk/func_150813_a (Lnet/minecraft/tileentity/TileEntity;)V +MD: bfg/a (Ldt;)Latr; net/minecraft/world/chunk/EmptyChunk/func_177428_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/Block; +MD: bfg/a (Ldt;I)I net/minecraft/world/chunk/EmptyChunk/func_177443_a (Lnet/minecraft/util/BlockPos;I)I +MD: bfg/a (Ldt;Lbcm;)V net/minecraft/world/chunk/EmptyChunk/func_177426_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/tileentity/TileEntity;)V +MD: bfg/a (Ldt;Lbfl;)Lbcm; net/minecraft/world/chunk/EmptyChunk/func_177424_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/world/chunk/Chunk$EnumCreateEntityType;)Lnet/minecraft/tileentity/TileEntity; +MD: bfg/a (Ljava/lang/Class;Lbrt;Ljava/util/List;Lcom/google/common/base/Predicate;)V net/minecraft/world/chunk/EmptyChunk/func_177430_a (Ljava/lang/Class;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lcom/google/common/base/Predicate;)V +MD: bfg/a (Lwv;)V net/minecraft/world/chunk/EmptyChunk/func_76612_a (Lnet/minecraft/entity/Entity;)V +MD: bfg/a (Lwv;I)V net/minecraft/world/chunk/EmptyChunk/func_76608_a (Lnet/minecraft/entity/Entity;I)V +MD: bfg/a (Lwv;Lbrt;Ljava/util/List;Lcom/google/common/base/Predicate;)V net/minecraft/world/chunk/EmptyChunk/func_177414_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lcom/google/common/base/Predicate;)V +MD: bfg/a (Z)Z net/minecraft/world/chunk/EmptyChunk/func_76601_a (Z)Z +MD: bfg/b ()V net/minecraft/world/chunk/EmptyChunk/func_76603_b ()V +MD: bfg/b (II)I net/minecraft/world/chunk/EmptyChunk/func_76611_b (II)I +MD: bfg/b (Ldt;)I net/minecraft/world/chunk/EmptyChunk/func_177437_b (Lnet/minecraft/util/BlockPos;)I +MD: bfg/b (Lwv;)V net/minecraft/world/chunk/EmptyChunk/func_76622_b (Lnet/minecraft/entity/Entity;)V +MD: bfg/c ()V net/minecraft/world/chunk/EmptyChunk/func_76631_c ()V +MD: bfg/c (II)Z net/minecraft/world/chunk/EmptyChunk/func_76606_c (II)Z +MD: bfg/c (Ldt;)I net/minecraft/world/chunk/EmptyChunk/func_177418_c (Lnet/minecraft/util/BlockPos;)I +MD: bfg/d ()V net/minecraft/world/chunk/EmptyChunk/func_76623_d ()V +MD: bfg/d (Ldt;)Z net/minecraft/world/chunk/EmptyChunk/func_177444_d (Lnet/minecraft/util/BlockPos;)Z +MD: bfg/e ()V net/minecraft/world/chunk/EmptyChunk/func_76630_e ()V +MD: bfg/e (Ldt;)V net/minecraft/world/chunk/EmptyChunk/func_177425_e (Lnet/minecraft/util/BlockPos;)V +MD: bfg/f ()Z net/minecraft/world/chunk/EmptyChunk/func_76621_g ()Z +MD: bfh/a ()V net/minecraft/world/chunk/Chunk/func_76590_a ()V +MD: bfh/a (II)Z net/minecraft/world/chunk/Chunk/func_76600_a (II)Z +MD: bfh/a (III)Latr; net/minecraft/world/chunk/Chunk/func_177438_a (III)Lnet/minecraft/block/Block; +MD: bfh/a (IIII)V net/minecraft/world/chunk/Chunk/func_76609_d (IIII)V +MD: bfh/a (J)Ljava/util/Random; net/minecraft/world/chunk/Chunk/func_76617_a (J)Ljava/util/Random; +MD: bfh/a (Larf;Ldt;)I net/minecraft/world/chunk/Chunk/func_177413_a (Lnet/minecraft/world/EnumSkyBlock;Lnet/minecraft/util/BlockPos;)I +MD: bfh/a (Larf;Ldt;I)V net/minecraft/world/chunk/Chunk/func_177431_a (Lnet/minecraft/world/EnumSkyBlock;Lnet/minecraft/util/BlockPos;I)V +MD: bfh/a (Lbcm;)V net/minecraft/world/chunk/Chunk/func_150813_a (Lnet/minecraft/tileentity/TileEntity;)V +MD: bfh/a (Lbfe;Lbfe;II)V net/minecraft/world/chunk/Chunk/func_76624_a (Lnet/minecraft/world/chunk/IChunkProvider;Lnet/minecraft/world/chunk/IChunkProvider;II)V +MD: bfh/a (Ldt;)Latr; net/minecraft/world/chunk/Chunk/func_177428_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/Block; +MD: bfh/a (Ldt;I)I net/minecraft/world/chunk/Chunk/func_177443_a (Lnet/minecraft/util/BlockPos;I)I +MD: bfh/a (Ldt;Larz;)Larm; net/minecraft/world/chunk/Chunk/func_177411_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/world/biome/WorldChunkManager;)Lnet/minecraft/world/biome/BiomeGenBase; +MD: bfh/a (Ldt;Lbcm;)V net/minecraft/world/chunk/Chunk/func_177426_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/tileentity/TileEntity;)V +MD: bfh/a (Ldt;Lbec;)Lbec; net/minecraft/world/chunk/Chunk/func_177436_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: bfh/a (Ldt;Lbfl;)Lbcm; net/minecraft/world/chunk/Chunk/func_177424_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/world/chunk/Chunk$EnumCreateEntityType;)Lnet/minecraft/tileentity/TileEntity; +MD: bfh/a (Lej;)V net/minecraft/world/chunk/Chunk/func_180700_a (Lnet/minecraft/util/EnumFacing;)V +MD: bfh/a (Ljava/lang/Class;Lbrt;Ljava/util/List;Lcom/google/common/base/Predicate;)V net/minecraft/world/chunk/Chunk/func_177430_a (Ljava/lang/Class;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lcom/google/common/base/Predicate;)V +MD: bfh/a (Lwv;)V net/minecraft/world/chunk/Chunk/func_76612_a (Lnet/minecraft/entity/Entity;)V +MD: bfh/a (Lwv;I)V net/minecraft/world/chunk/Chunk/func_76608_a (Lnet/minecraft/entity/Entity;I)V +MD: bfh/a (Lwv;Lbrt;Ljava/util/List;Lcom/google/common/base/Predicate;)V net/minecraft/world/chunk/Chunk/func_177414_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/util/AxisAlignedBB;Ljava/util/List;Lcom/google/common/base/Predicate;)V +MD: bfh/a (Z)Z net/minecraft/world/chunk/Chunk/func_76601_a (Z)Z +MD: bfh/a ([B)V net/minecraft/world/chunk/Chunk/func_76616_a ([B)V +MD: bfh/a ([BIZ)V net/minecraft/world/chunk/Chunk/func_177439_a ([BIZ)V +MD: bfh/a ([I)V net/minecraft/world/chunk/Chunk/func_177420_a ([I)V +MD: bfh/a ([Lbfm;)V net/minecraft/world/chunk/Chunk/func_76602_a ([Lnet/minecraft/world/chunk/storage/ExtendedBlockStorage;)V +MD: bfh/b ()V net/minecraft/world/chunk/Chunk/func_76603_b ()V +MD: bfh/b (II)I net/minecraft/world/chunk/Chunk/func_76611_b (II)I +MD: bfh/b (J)V net/minecraft/world/chunk/Chunk/func_177432_b (J)V +MD: bfh/b (Ldt;)I net/minecraft/world/chunk/Chunk/func_177437_b (Lnet/minecraft/util/BlockPos;)I +MD: bfh/b (Lwv;)V net/minecraft/world/chunk/Chunk/func_76622_b (Lnet/minecraft/entity/Entity;)V +MD: bfh/b (Z)V net/minecraft/world/chunk/Chunk/func_150804_b (Z)V +MD: bfh/c ()V net/minecraft/world/chunk/Chunk/func_76631_c ()V +MD: bfh/c (II)Z net/minecraft/world/chunk/Chunk/func_76606_c (II)Z +MD: bfh/c (III)V net/minecraft/world/chunk/Chunk/func_76599_g (III)V +MD: bfh/c (J)V net/minecraft/world/chunk/Chunk/func_177415_c (J)V +MD: bfh/c (Ldt;)I net/minecraft/world/chunk/Chunk/func_177418_c (Lnet/minecraft/util/BlockPos;)I +MD: bfh/c (Z)V net/minecraft/world/chunk/Chunk/func_177417_c (Z)V +MD: bfh/d ()V net/minecraft/world/chunk/Chunk/func_76623_d ()V +MD: bfh/d (II)V net/minecraft/world/chunk/Chunk/func_76595_e (II)V +MD: bfh/d (III)V net/minecraft/world/chunk/Chunk/func_76615_h (III)V +MD: bfh/d (Ldt;)Z net/minecraft/world/chunk/Chunk/func_177444_d (Lnet/minecraft/util/BlockPos;)Z +MD: bfh/d (Z)V net/minecraft/world/chunk/Chunk/func_177446_d (Z)V +MD: bfh/e ()V net/minecraft/world/chunk/Chunk/func_76630_e ()V +MD: bfh/e (II)Z net/minecraft/world/chunk/Chunk/func_150811_f (II)Z +MD: bfh/e (III)I net/minecraft/world/chunk/Chunk/func_150808_b (III)I +MD: bfh/e (Ldt;)V net/minecraft/world/chunk/Chunk/func_177425_e (Lnet/minecraft/util/BlockPos;)V +MD: bfh/e (Z)V net/minecraft/world/chunk/Chunk/func_177421_e (Z)V +MD: bfh/f ()Z net/minecraft/world/chunk/Chunk/func_76621_g ()Z +MD: bfh/f (III)Latr; net/minecraft/world/chunk/Chunk/func_150810_a (III)Lnet/minecraft/block/Block; +MD: bfh/f (Ldt;)I net/minecraft/world/chunk/Chunk/func_177433_f (Lnet/minecraft/util/BlockPos;)I +MD: bfh/f (Z)V net/minecraft/world/chunk/Chunk/func_177427_f (Z)V +MD: bfh/g ()I net/minecraft/world/chunk/Chunk/func_76625_h ()I +MD: bfh/g (III)I net/minecraft/world/chunk/Chunk/func_76628_c (III)I +MD: bfh/g (Ldt;)Lbec; net/minecraft/world/chunk/Chunk/func_177435_g (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: bfh/g (Z)V net/minecraft/world/chunk/Chunk/func_177409_g (Z)V +MD: bfh/h ()[Lbfm; net/minecraft/world/chunk/Chunk/func_76587_i ()[Lnet/minecraft/world/chunk/storage/ExtendedBlockStorage; +MD: bfh/h (Ldt;)Ldt; net/minecraft/world/chunk/Chunk/func_177440_h (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: bfh/h (Z)V net/minecraft/world/chunk/Chunk/func_150803_c (Z)V +MD: bfh/i ()Z net/minecraft/world/chunk/Chunk/func_150802_k ()Z +MD: bfh/i (Ldt;)Lbcm; net/minecraft/world/chunk/Chunk/func_177422_i (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/tileentity/TileEntity; +MD: bfh/j ()Laqm; net/minecraft/world/chunk/Chunk/func_76632_l ()Lnet/minecraft/world/ChunkCoordIntPair; +MD: bfh/k ()[B net/minecraft/world/chunk/Chunk/func_76605_m ()[B +MD: bfh/l ()V net/minecraft/world/chunk/Chunk/func_76613_n ()V +MD: bfh/m ()V net/minecraft/world/chunk/Chunk/func_76594_o ()V +MD: bfh/n ()V net/minecraft/world/chunk/Chunk/func_150809_p ()V +MD: bfh/o ()Z net/minecraft/world/chunk/Chunk/func_177410_o ()Z +MD: bfh/p ()Laqu; net/minecraft/world/chunk/Chunk/func_177412_p ()Lnet/minecraft/world/World; +MD: bfh/q ()[I net/minecraft/world/chunk/Chunk/func_177445_q ()[I +MD: bfh/r ()Ljava/util/Map; net/minecraft/world/chunk/Chunk/func_177434_r ()Ljava/util/Map; +MD: bfh/s ()[Luc; net/minecraft/world/chunk/Chunk/func_177429_s ()[Lnet/minecraft/util/ClassInheritanceMultiMap; +MD: bfh/t ()Z net/minecraft/world/chunk/Chunk/func_177419_t ()Z +MD: bfh/u ()Z net/minecraft/world/chunk/Chunk/func_177423_u ()Z +MD: bfh/v ()I net/minecraft/world/chunk/Chunk/func_177442_v ()I +MD: bfh/w ()J net/minecraft/world/chunk/Chunk/func_177416_w ()J +MD: bfh/y ()V net/minecraft/world/chunk/Chunk/func_177441_y ()V +MD: bfi/a ()Ljava/lang/String; net/minecraft/world/chunk/Chunk$1/call ()Ljava/lang/String; +MD: bfi/call ()Ljava/lang/Object; net/minecraft/world/chunk/Chunk$1/call ()Ljava/lang/Object; +MD: bfj/a ()Ljava/lang/String; net/minecraft/world/chunk/Chunk$2/call ()Ljava/lang/String; +MD: bfj/call ()Ljava/lang/Object; net/minecraft/world/chunk/Chunk$2/call ()Ljava/lang/Object; +MD: bfk/a ()Ljava/lang/String; net/minecraft/world/chunk/Chunk$3/call ()Ljava/lang/String; +MD: bfk/call ()Ljava/lang/Object; net/minecraft/world/chunk/Chunk$3/call ()Ljava/lang/Object; +MD: bfl/values ()[Lbfl; net/minecraft/world/chunk/Chunk$EnumCreateEntityType/values ()[Lnet/minecraft/world/chunk/Chunk$EnumCreateEntityType; +MD: bfm/a ()Z net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_76663_a ()Z +MD: bfm/a (III)Lbec; net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_177485_a (III)Lnet/minecraft/block/state/IBlockState; +MD: bfm/a (IIII)V net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_76657_c (IIII)V +MD: bfm/a (IIILbec;)V net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_177484_a (IIILnet/minecraft/block/state/IBlockState;)V +MD: bfm/a (Lbff;)V net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_76659_c (Lnet/minecraft/world/chunk/NibbleArray;)V +MD: bfm/a ([C)V net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_177486_a ([C)V +MD: bfm/b ()Z net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_76675_b ()Z +MD: bfm/b (III)Latr; net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_150819_a (III)Lnet/minecraft/block/Block; +MD: bfm/b (IIII)V net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_76677_d (IIII)V +MD: bfm/b (Lbff;)V net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_76666_d (Lnet/minecraft/world/chunk/NibbleArray;)V +MD: bfm/c (III)I net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_76665_b (III)I +MD: bfm/d ()I net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_76662_d ()I +MD: bfm/d (III)I net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_76670_c (III)I +MD: bfm/e ()V net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_76672_e ()V +MD: bfm/e (III)I net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_76674_d (III)I +MD: bfm/g ()[C net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_177487_g ()[C +MD: bfm/h ()Lbff; net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_76661_k ()Lnet/minecraft/world/chunk/NibbleArray; +MD: bfm/i ()Lbff; net/minecraft/world/chunk/storage/ExtendedBlockStorage/func_76671_l ()Lnet/minecraft/world/chunk/NibbleArray; +MD: bfn/a (III)I net/minecraft/world/chunk/storage/NibbleArrayReader/func_76686_a (III)I +MD: bfq/a ()V net/minecraft/world/chunk/storage/IChunkLoader/func_75817_a ()V +MD: bfq/a (Laqu;II)Lbfh; net/minecraft/world/chunk/storage/IChunkLoader/func_75815_a (Lnet/minecraft/world/World;II)Lnet/minecraft/world/chunk/Chunk; +MD: bfq/a (Laqu;Lbfh;)V net/minecraft/world/chunk/storage/IChunkLoader/func_75816_a (Lnet/minecraft/world/World;Lnet/minecraft/world/chunk/Chunk;)V +MD: bfq/b ()V net/minecraft/world/chunk/storage/IChunkLoader/func_75818_b ()V +MD: bfq/b (Laqu;Lbfh;)V net/minecraft/world/chunk/storage/IChunkLoader/func_75819_b (Lnet/minecraft/world/World;Lnet/minecraft/world/chunk/Chunk;)V +MD: bft/a (Lbfu;Lfn;Larz;)V net/minecraft/world/chunk/storage/ChunkLoader/func_76690_a (Lnet/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData;Lnet/minecraft/nbt/NBTTagCompound;Lnet/minecraft/world/biome/WorldChunkManager;)V +MD: bft/a (Lfn;)Lbfu; net/minecraft/world/chunk/storage/ChunkLoader/func_76691_a (Lnet/minecraft/nbt/NBTTagCompound;)Lnet/minecraft/world/chunk/storage/ChunkLoader$AnvilConverterData; +MD: bfv/a (II)Ljava/io/DataInputStream; net/minecraft/world/chunk/storage/RegionFile/func_76704_a (II)Ljava/io/DataInputStream; +MD: bfv/a (III)V net/minecraft/world/chunk/storage/RegionFile/func_76711_a (III)V +MD: bfv/a (II[BI)V net/minecraft/world/chunk/storage/RegionFile/func_76706_a (II[BI)V +MD: bfv/a (I[BI)V net/minecraft/world/chunk/storage/RegionFile/func_76712_a (I[BI)V +MD: bfv/b (II)Ljava/io/DataOutputStream; net/minecraft/world/chunk/storage/RegionFile/func_76710_b (II)Ljava/io/DataOutputStream; +MD: bfv/b (III)V net/minecraft/world/chunk/storage/RegionFile/func_76713_b (III)V +MD: bfv/c ()V net/minecraft/world/chunk/storage/RegionFile/func_76708_c ()V +MD: bfv/c (II)Z net/minecraft/world/chunk/storage/RegionFile/func_76709_c (II)Z +MD: bfv/d (II)Z net/minecraft/world/chunk/storage/RegionFile/func_76705_d (II)Z +MD: bfv/e (II)I net/minecraft/world/chunk/storage/RegionFile/func_76707_e (II)I +MD: bfw/close ()V net/minecraft/world/chunk/storage/RegionFile$ChunkBuffer/close ()V +MD: bfx/a ()V net/minecraft/world/chunk/storage/RegionFileCache/func_76551_a ()V +MD: bfx/a (Ljava/io/File;II)Lbfv; net/minecraft/world/chunk/storage/RegionFileCache/func_76550_a (Ljava/io/File;II)Lnet/minecraft/world/chunk/storage/RegionFile; +MD: bfx/c (Ljava/io/File;II)Ljava/io/DataInputStream; net/minecraft/world/chunk/storage/RegionFileCache/func_76549_c (Ljava/io/File;II)Ljava/io/DataInputStream; +MD: bfx/d (Ljava/io/File;II)Ljava/io/DataOutputStream; net/minecraft/world/chunk/storage/RegionFileCache/func_76552_d (Ljava/io/File;II)Ljava/io/DataOutputStream; +MD: bfy/a ()V net/minecraft/world/chunk/storage/AnvilChunkLoader/func_75817_a ()V +MD: bfy/a (Laqm;Lfn;)V net/minecraft/world/chunk/storage/AnvilChunkLoader/func_75824_a (Lnet/minecraft/world/ChunkCoordIntPair;Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bfy/a (Laqu;II)Lbfh; net/minecraft/world/chunk/storage/AnvilChunkLoader/func_75815_a (Lnet/minecraft/world/World;II)Lnet/minecraft/world/chunk/Chunk; +MD: bfy/a (Laqu;IILfn;)Lbfh; net/minecraft/world/chunk/storage/AnvilChunkLoader/func_75822_a (Lnet/minecraft/world/World;IILnet/minecraft/nbt/NBTTagCompound;)Lnet/minecraft/world/chunk/Chunk; +MD: bfy/a (Laqu;Lbfh;)V net/minecraft/world/chunk/storage/AnvilChunkLoader/func_75816_a (Lnet/minecraft/world/World;Lnet/minecraft/world/chunk/Chunk;)V +MD: bfy/a (Laqu;Lfn;)Lbfh; net/minecraft/world/chunk/storage/AnvilChunkLoader/func_75823_a (Lnet/minecraft/world/World;Lnet/minecraft/nbt/NBTTagCompound;)Lnet/minecraft/world/chunk/Chunk; +MD: bfy/a (Lbfh;Laqu;Lfn;)V net/minecraft/world/chunk/storage/AnvilChunkLoader/func_75820_a (Lnet/minecraft/world/chunk/Chunk;Lnet/minecraft/world/World;Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bfy/a (Lbfz;)V net/minecraft/world/chunk/storage/AnvilChunkLoader/func_75821_a (Lnet/minecraft/world/chunk/storage/AnvilChunkLoader$PendingChunk;)V +MD: bfy/b ()V net/minecraft/world/chunk/storage/AnvilChunkLoader/func_75818_b ()V +MD: bfy/b (Laqu;Lbfh;)V net/minecraft/world/chunk/storage/AnvilChunkLoader/func_75819_b (Lnet/minecraft/world/World;Lnet/minecraft/world/chunk/Chunk;)V +MD: bfy/c ()Z net/minecraft/world/chunk/storage/AnvilChunkLoader/func_75814_c ()Z +MD: bg/a ()I net/minecraft/command/CommandEffect/func_82362_a ()I +MD: bg/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandEffect/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bg/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandEffect/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bg/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandEffect/func_82358_a ([Ljava/lang/String;I)Z +MD: bg/c ()Ljava/lang/String; net/minecraft/command/CommandEffect/func_71517_b ()Ljava/lang/String; +MD: bg/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandEffect/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bg/d ()[Ljava/lang/String; net/minecraft/command/CommandEffect/func_98152_d ()[Ljava/lang/String; +MD: bgd/a ()V net/minecraft/world/WorldProvider/func_76556_a ()V +MD: bgd/a (FF)[F net/minecraft/world/WorldProvider/func_76560_a (FF)[F +MD: bgd/a (I)Lbgd; net/minecraft/world/WorldProvider/func_76570_a (I)Lnet/minecraft/world/WorldProvider; +MD: bgd/a (II)Z net/minecraft/world/WorldProvider/func_76566_a (II)Z +MD: bgd/a (J)I net/minecraft/world/WorldProvider/func_76559_b (J)I +MD: bgd/a (JF)F net/minecraft/world/WorldProvider/func_76563_a (JF)F +MD: bgd/a (Laqu;)V net/minecraft/world/WorldProvider/func_76558_a (Lnet/minecraft/world/World;)V +MD: bgd/b ()V net/minecraft/world/WorldProvider/func_76572_b ()V +MD: bgd/b (FF)Lbrw; net/minecraft/world/WorldProvider/func_76562_b (FF)Lnet/minecraft/util/Vec3; +MD: bgd/b (II)Z net/minecraft/world/WorldProvider/func_76568_b (II)Z +MD: bgd/c ()Lbfe; net/minecraft/world/WorldProvider/func_76555_c ()Lnet/minecraft/world/chunk/IChunkProvider; +MD: bgd/d ()Z net/minecraft/world/WorldProvider/func_76569_d ()Z +MD: bgd/e ()Z net/minecraft/world/WorldProvider/func_76567_e ()Z +MD: bgd/f ()F net/minecraft/world/WorldProvider/func_76571_f ()F +MD: bgd/g ()Z net/minecraft/world/WorldProvider/func_76561_g ()Z +MD: bgd/h ()Ldt; net/minecraft/world/WorldProvider/func_177496_h ()Lnet/minecraft/util/BlockPos; +MD: bgd/i ()I net/minecraft/world/WorldProvider/func_76557_i ()I +MD: bgd/j ()D net/minecraft/world/WorldProvider/func_76565_k ()D +MD: bgd/k ()Ljava/lang/String; net/minecraft/world/WorldProvider/func_80007_l ()Ljava/lang/String; +MD: bgd/l ()Ljava/lang/String; net/minecraft/world/WorldProvider/func_177498_l ()Ljava/lang/String; +MD: bgd/m ()Larz; net/minecraft/world/WorldProvider/func_177499_m ()Lnet/minecraft/world/biome/WorldChunkManager; +MD: bgd/n ()Z net/minecraft/world/WorldProvider/func_177500_n ()Z +MD: bgd/o ()Z net/minecraft/world/WorldProvider/func_177495_o ()Z +MD: bgd/p ()[F net/minecraft/world/WorldProvider/func_177497_p ()[F +MD: bgd/q ()I net/minecraft/world/WorldProvider/func_177502_q ()I +MD: bgd/r ()Lbfb; net/minecraft/world/WorldProvider/func_177501_r ()Lnet/minecraft/world/border/WorldBorder; +MD: bge/a ()V net/minecraft/world/WorldProviderHell/func_76556_a ()V +MD: bge/a (II)Z net/minecraft/world/WorldProviderHell/func_76566_a (II)Z +MD: bge/a (JF)F net/minecraft/world/WorldProviderHell/func_76563_a (JF)F +MD: bge/b ()V net/minecraft/world/WorldProviderHell/func_76572_b ()V +MD: bge/b (FF)Lbrw; net/minecraft/world/WorldProviderHell/func_76562_b (FF)Lnet/minecraft/util/Vec3; +MD: bge/b (II)Z net/minecraft/world/WorldProviderHell/func_76568_b (II)Z +MD: bge/c ()Lbfe; net/minecraft/world/WorldProviderHell/func_76555_c ()Lnet/minecraft/world/chunk/IChunkProvider; +MD: bge/d ()Z net/minecraft/world/WorldProviderHell/func_76569_d ()Z +MD: bge/e ()Z net/minecraft/world/WorldProviderHell/func_76567_e ()Z +MD: bge/k ()Ljava/lang/String; net/minecraft/world/WorldProviderHell/func_80007_l ()Ljava/lang/String; +MD: bge/l ()Ljava/lang/String; net/minecraft/world/WorldProviderHell/func_177498_l ()Ljava/lang/String; +MD: bge/r ()Lbfb; net/minecraft/world/WorldProviderHell/func_177501_r ()Lnet/minecraft/world/border/WorldBorder; +MD: bgf/f ()D net/minecraft/world/WorldProviderHell$1/func_177731_f ()D +MD: bgf/g ()D net/minecraft/world/WorldProviderHell$1/func_177721_g ()D +MD: bgg/k ()Ljava/lang/String; net/minecraft/world/WorldProviderSurface/func_80007_l ()Ljava/lang/String; +MD: bgg/l ()Ljava/lang/String; net/minecraft/world/WorldProviderSurface/func_177498_l ()Ljava/lang/String; +MD: bgh/a (FF)[F net/minecraft/world/WorldProviderEnd/func_76560_a (FF)[F +MD: bgh/a (II)Z net/minecraft/world/WorldProviderEnd/func_76566_a (II)Z +MD: bgh/a (JF)F net/minecraft/world/WorldProviderEnd/func_76563_a (JF)F +MD: bgh/b ()V net/minecraft/world/WorldProviderEnd/func_76572_b ()V +MD: bgh/b (FF)Lbrw; net/minecraft/world/WorldProviderEnd/func_76562_b (FF)Lnet/minecraft/util/Vec3; +MD: bgh/b (II)Z net/minecraft/world/WorldProviderEnd/func_76568_b (II)Z +MD: bgh/c ()Lbfe; net/minecraft/world/WorldProviderEnd/func_76555_c ()Lnet/minecraft/world/chunk/IChunkProvider; +MD: bgh/d ()Z net/minecraft/world/WorldProviderEnd/func_76569_d ()Z +MD: bgh/e ()Z net/minecraft/world/WorldProviderEnd/func_76567_e ()Z +MD: bgh/f ()F net/minecraft/world/WorldProviderEnd/func_76571_f ()F +MD: bgh/g ()Z net/minecraft/world/WorldProviderEnd/func_76561_g ()Z +MD: bgh/h ()Ldt; net/minecraft/world/WorldProviderEnd/func_177496_h ()Lnet/minecraft/util/BlockPos; +MD: bgh/i ()I net/minecraft/world/WorldProviderEnd/func_76557_i ()I +MD: bgh/k ()Ljava/lang/String; net/minecraft/world/WorldProviderEnd/func_80007_l ()Ljava/lang/String; +MD: bgh/l ()Ljava/lang/String; net/minecraft/world/WorldProviderEnd/func_177498_l ()Ljava/lang/String; +MD: bgj/a (JIILbgk;DDDFFFIID)V net/minecraft/world/gen/MapGenRavine/func_180707_a (JIILnet/minecraft/world/chunk/ChunkPrimer;DDDFFFIID)V +MD: bgj/a (Laqu;IIIILbgk;)V net/minecraft/world/gen/MapGenRavine/func_180701_a (Lnet/minecraft/world/World;IIIILnet/minecraft/world/chunk/ChunkPrimer;)V +MD: bgk/a (I)Lbec; net/minecraft/world/chunk/ChunkPrimer/func_177858_a (I)Lnet/minecraft/block/state/IBlockState; +MD: bgk/a (III)Lbec; net/minecraft/world/chunk/ChunkPrimer/func_177856_a (III)Lnet/minecraft/block/state/IBlockState; +MD: bgk/a (IIILbec;)V net/minecraft/world/chunk/ChunkPrimer/func_177855_a (IIILnet/minecraft/block/state/IBlockState;)V +MD: bgk/a (ILbec;)V net/minecraft/world/chunk/ChunkPrimer/func_177857_a (ILnet/minecraft/block/state/IBlockState;)V +MD: bgn/a ()V net/minecraft/world/gen/ChunkProviderSettings$Factory/func_177863_a ()V +MD: bgn/a (Ljava/lang/String;)Lbgn; net/minecraft/world/gen/ChunkProviderSettings$Factory/func_177865_a (Ljava/lang/String;)Lnet/minecraft/world/gen/ChunkProviderSettings$Factory; +MD: bgn/b ()Lbgl; net/minecraft/world/gen/ChunkProviderSettings$Factory/func_177864_b ()Lnet/minecraft/world/gen/ChunkProviderSettings; +MD: bgn/equals (Ljava/lang/Object;)Z net/minecraft/world/gen/ChunkProviderSettings$Factory/equals (Ljava/lang/Object;)Z +MD: bgn/hashCode ()I net/minecraft/world/gen/ChunkProviderSettings$Factory/hashCode ()I +MD: bgn/toString ()Ljava/lang/String; net/minecraft/world/gen/ChunkProviderSettings$Factory/toString ()Ljava/lang/String; +MD: bgo/a (Lbgn;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/world/gen/ChunkProviderSettings$Serializer/func_177862_a (Lnet/minecraft/world/gen/ChunkProviderSettings$Factory;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: bgo/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lbgn; net/minecraft/world/gen/ChunkProviderSettings$Serializer/func_177861_a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/world/gen/ChunkProviderSettings$Factory; +MD: bgo/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/world/gen/ChunkProviderSettings$Serializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: bgo/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/world/gen/ChunkProviderSettings$Serializer/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: bgp/a (II)Z net/minecraft/world/gen/ChunkProviderDebug/func_73149_a (II)Z +MD: bgp/a (Laqu;Ljava/lang/String;Ldt;)Ldt; net/minecraft/world/gen/ChunkProviderDebug/func_180513_a (Lnet/minecraft/world/World;Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: bgp/a (Lbfe;II)V net/minecraft/world/gen/ChunkProviderDebug/func_73153_a (Lnet/minecraft/world/chunk/IChunkProvider;II)V +MD: bgp/a (Lbfe;Lbfh;II)Z net/minecraft/world/gen/ChunkProviderDebug/func_177460_a (Lnet/minecraft/world/chunk/IChunkProvider;Lnet/minecraft/world/chunk/Chunk;II)Z +MD: bgp/a (Lbfh;II)V net/minecraft/world/gen/ChunkProviderDebug/func_180514_a (Lnet/minecraft/world/chunk/Chunk;II)V +MD: bgp/a (Ldt;)Lbfh; net/minecraft/world/gen/ChunkProviderDebug/func_177459_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/chunk/Chunk; +MD: bgp/a (Lxp;Ldt;)Ljava/util/List; net/minecraft/world/gen/ChunkProviderDebug/func_177458_a (Lnet/minecraft/entity/EnumCreatureType;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bgp/a (ZLuy;)Z net/minecraft/world/gen/ChunkProviderDebug/func_73151_a (ZLnet/minecraft/util/IProgressUpdate;)Z +MD: bgp/b (II)Lbec; net/minecraft/world/gen/ChunkProviderDebug/func_177461_b (II)Lnet/minecraft/block/state/IBlockState; +MD: bgp/c ()V net/minecraft/world/gen/ChunkProviderDebug/func_104112_b ()V +MD: bgp/d ()Z net/minecraft/world/gen/ChunkProviderDebug/func_73156_b ()Z +MD: bgp/d (II)Lbfh; net/minecraft/world/gen/ChunkProviderDebug/func_73154_d (II)Lnet/minecraft/world/chunk/Chunk; +MD: bgp/e ()Z net/minecraft/world/gen/ChunkProviderDebug/func_73157_c ()Z +MD: bgp/f ()Ljava/lang/String; net/minecraft/world/gen/ChunkProviderDebug/func_73148_d ()Ljava/lang/String; +MD: bgp/g ()I net/minecraft/world/gen/ChunkProviderDebug/func_73152_e ()I +MD: bgq/a (II)Z net/minecraft/world/gen/ChunkProviderFlat/func_73149_a (II)Z +MD: bgq/a (Laqu;Ljava/lang/String;Ldt;)Ldt; net/minecraft/world/gen/ChunkProviderFlat/func_180513_a (Lnet/minecraft/world/World;Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: bgq/a (Lbfe;II)V net/minecraft/world/gen/ChunkProviderFlat/func_73153_a (Lnet/minecraft/world/chunk/IChunkProvider;II)V +MD: bgq/a (Lbfe;Lbfh;II)Z net/minecraft/world/gen/ChunkProviderFlat/func_177460_a (Lnet/minecraft/world/chunk/IChunkProvider;Lnet/minecraft/world/chunk/Chunk;II)Z +MD: bgq/a (Lbfh;II)V net/minecraft/world/gen/ChunkProviderFlat/func_180514_a (Lnet/minecraft/world/chunk/Chunk;II)V +MD: bgq/a (Ldt;)Lbfh; net/minecraft/world/gen/ChunkProviderFlat/func_177459_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/chunk/Chunk; +MD: bgq/a (Lxp;Ldt;)Ljava/util/List; net/minecraft/world/gen/ChunkProviderFlat/func_177458_a (Lnet/minecraft/entity/EnumCreatureType;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bgq/a (ZLuy;)Z net/minecraft/world/gen/ChunkProviderFlat/func_73151_a (ZLnet/minecraft/util/IProgressUpdate;)Z +MD: bgq/c ()V net/minecraft/world/gen/ChunkProviderFlat/func_104112_b ()V +MD: bgq/d ()Z net/minecraft/world/gen/ChunkProviderFlat/func_73156_b ()Z +MD: bgq/d (II)Lbfh; net/minecraft/world/gen/ChunkProviderFlat/func_73154_d (II)Lnet/minecraft/world/chunk/Chunk; +MD: bgq/e ()Z net/minecraft/world/gen/ChunkProviderFlat/func_73157_c ()Z +MD: bgq/f ()Ljava/lang/String; net/minecraft/world/gen/ChunkProviderFlat/func_73148_d ()Ljava/lang/String; +MD: bgq/g ()I net/minecraft/world/gen/ChunkProviderFlat/func_73152_e ()I +MD: bgr/a (II)Z net/minecraft/world/gen/ChunkProviderHell/func_73149_a (II)Z +MD: bgr/a (IILbgk;)V net/minecraft/world/gen/ChunkProviderHell/func_180515_a (IILnet/minecraft/world/chunk/ChunkPrimer;)V +MD: bgr/a (Laqu;Ljava/lang/String;Ldt;)Ldt; net/minecraft/world/gen/ChunkProviderHell/func_180513_a (Lnet/minecraft/world/World;Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: bgr/a (Lbfe;II)V net/minecraft/world/gen/ChunkProviderHell/func_73153_a (Lnet/minecraft/world/chunk/IChunkProvider;II)V +MD: bgr/a (Lbfe;Lbfh;II)Z net/minecraft/world/gen/ChunkProviderHell/func_177460_a (Lnet/minecraft/world/chunk/IChunkProvider;Lnet/minecraft/world/chunk/Chunk;II)Z +MD: bgr/a (Lbfh;II)V net/minecraft/world/gen/ChunkProviderHell/func_180514_a (Lnet/minecraft/world/chunk/Chunk;II)V +MD: bgr/a (Ldt;)Lbfh; net/minecraft/world/gen/ChunkProviderHell/func_177459_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/chunk/Chunk; +MD: bgr/a (Lxp;Ldt;)Ljava/util/List; net/minecraft/world/gen/ChunkProviderHell/func_177458_a (Lnet/minecraft/entity/EnumCreatureType;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bgr/a (ZLuy;)Z net/minecraft/world/gen/ChunkProviderHell/func_73151_a (ZLnet/minecraft/util/IProgressUpdate;)Z +MD: bgr/a ([DIIIIII)[D net/minecraft/world/gen/ChunkProviderHell/func_73164_a ([DIIIIII)[D +MD: bgr/b (IILbgk;)V net/minecraft/world/gen/ChunkProviderHell/func_180516_b (IILnet/minecraft/world/chunk/ChunkPrimer;)V +MD: bgr/c ()V net/minecraft/world/gen/ChunkProviderHell/func_104112_b ()V +MD: bgr/d ()Z net/minecraft/world/gen/ChunkProviderHell/func_73156_b ()Z +MD: bgr/d (II)Lbfh; net/minecraft/world/gen/ChunkProviderHell/func_73154_d (II)Lnet/minecraft/world/chunk/Chunk; +MD: bgr/e ()Z net/minecraft/world/gen/ChunkProviderHell/func_73157_c ()Z +MD: bgr/f ()Ljava/lang/String; net/minecraft/world/gen/ChunkProviderHell/func_73148_d ()Ljava/lang/String; +MD: bgr/g ()I net/minecraft/world/gen/ChunkProviderHell/func_73152_e ()I +MD: bgs/a (JIILbgk;DDD)V net/minecraft/world/gen/MapGenCaves/func_180703_a (JIILnet/minecraft/world/chunk/ChunkPrimer;DDD)V +MD: bgs/a (JIILbgk;DDDFFFIID)V net/minecraft/world/gen/MapGenCaves/func_180702_a (JIILnet/minecraft/world/chunk/ChunkPrimer;DDDFFFIID)V +MD: bgs/a (Laqu;IIIILbgk;)V net/minecraft/world/gen/MapGenCaves/func_180701_a (Lnet/minecraft/world/World;IIIILnet/minecraft/world/chunk/ChunkPrimer;)V +MD: bgs/a (Lbec;Lbec;)Z net/minecraft/world/gen/MapGenCaves/func_175793_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/state/IBlockState;)Z +MD: bgt/a (Laqu;IIIILbgk;)V net/minecraft/world/gen/MapGenBase/func_180701_a (Lnet/minecraft/world/World;IIIILnet/minecraft/world/chunk/ChunkPrimer;)V +MD: bgt/a (Lbfe;Laqu;IILbgk;)V net/minecraft/world/gen/MapGenBase/func_175792_a (Lnet/minecraft/world/chunk/IChunkProvider;Lnet/minecraft/world/World;IILnet/minecraft/world/chunk/ChunkPrimer;)V +MD: bgu/a (JIILbgk;DDD)V net/minecraft/world/gen/MapGenCavesHell/func_180705_a (JIILnet/minecraft/world/chunk/ChunkPrimer;DDD)V +MD: bgu/a (JIILbgk;DDDFFFIID)V net/minecraft/world/gen/MapGenCavesHell/func_180704_a (JIILnet/minecraft/world/chunk/ChunkPrimer;DDDFFFIID)V +MD: bgu/a (Laqu;IIIILbgk;)V net/minecraft/world/gen/MapGenCavesHell/func_180701_a (Lnet/minecraft/world/World;IIIILnet/minecraft/world/chunk/ChunkPrimer;)V +MD: bgv/a (II)Z net/minecraft/world/gen/ChunkProviderGenerate/func_73149_a (II)Z +MD: bgv/a (III)V net/minecraft/world/gen/ChunkProviderGenerate/func_147423_a (III)V +MD: bgv/a (IILbgk;)V net/minecraft/world/gen/ChunkProviderGenerate/func_180518_a (IILnet/minecraft/world/chunk/ChunkPrimer;)V +MD: bgv/a (IILbgk;[Larm;)V net/minecraft/world/gen/ChunkProviderGenerate/func_180517_a (IILnet/minecraft/world/chunk/ChunkPrimer;[Lnet/minecraft/world/biome/BiomeGenBase;)V +MD: bgv/a (Laqu;Ljava/lang/String;Ldt;)Ldt; net/minecraft/world/gen/ChunkProviderGenerate/func_180513_a (Lnet/minecraft/world/World;Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: bgv/a (Lbfe;II)V net/minecraft/world/gen/ChunkProviderGenerate/func_73153_a (Lnet/minecraft/world/chunk/IChunkProvider;II)V +MD: bgv/a (Lbfe;Lbfh;II)Z net/minecraft/world/gen/ChunkProviderGenerate/func_177460_a (Lnet/minecraft/world/chunk/IChunkProvider;Lnet/minecraft/world/chunk/Chunk;II)Z +MD: bgv/a (Lbfh;II)V net/minecraft/world/gen/ChunkProviderGenerate/func_180514_a (Lnet/minecraft/world/chunk/Chunk;II)V +MD: bgv/a (Ldt;)Lbfh; net/minecraft/world/gen/ChunkProviderGenerate/func_177459_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/chunk/Chunk; +MD: bgv/a (Lxp;Ldt;)Ljava/util/List; net/minecraft/world/gen/ChunkProviderGenerate/func_177458_a (Lnet/minecraft/entity/EnumCreatureType;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bgv/a (ZLuy;)Z net/minecraft/world/gen/ChunkProviderGenerate/func_73151_a (ZLnet/minecraft/util/IProgressUpdate;)Z +MD: bgv/c ()V net/minecraft/world/gen/ChunkProviderGenerate/func_104112_b ()V +MD: bgv/d ()Z net/minecraft/world/gen/ChunkProviderGenerate/func_73156_b ()Z +MD: bgv/d (II)Lbfh; net/minecraft/world/gen/ChunkProviderGenerate/func_73154_d (II)Lnet/minecraft/world/chunk/Chunk; +MD: bgv/e ()Z net/minecraft/world/gen/ChunkProviderGenerate/func_73157_c ()Z +MD: bgv/f ()Ljava/lang/String; net/minecraft/world/gen/ChunkProviderGenerate/func_73148_d ()Ljava/lang/String; +MD: bgv/g ()I net/minecraft/world/gen/ChunkProviderGenerate/func_73152_e ()I +MD: bgw/a (II)Z net/minecraft/world/gen/ChunkProviderEnd/func_73149_a (II)Z +MD: bgw/a (IILbgk;)V net/minecraft/world/gen/ChunkProviderEnd/func_180520_a (IILnet/minecraft/world/chunk/ChunkPrimer;)V +MD: bgw/a (Laqu;Ljava/lang/String;Ldt;)Ldt; net/minecraft/world/gen/ChunkProviderEnd/func_180513_a (Lnet/minecraft/world/World;Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: bgw/a (Lbfe;II)V net/minecraft/world/gen/ChunkProviderEnd/func_73153_a (Lnet/minecraft/world/chunk/IChunkProvider;II)V +MD: bgw/a (Lbfe;Lbfh;II)Z net/minecraft/world/gen/ChunkProviderEnd/func_177460_a (Lnet/minecraft/world/chunk/IChunkProvider;Lnet/minecraft/world/chunk/Chunk;II)Z +MD: bgw/a (Lbfh;II)V net/minecraft/world/gen/ChunkProviderEnd/func_180514_a (Lnet/minecraft/world/chunk/Chunk;II)V +MD: bgw/a (Lbgk;)V net/minecraft/world/gen/ChunkProviderEnd/func_180519_a (Lnet/minecraft/world/chunk/ChunkPrimer;)V +MD: bgw/a (Ldt;)Lbfh; net/minecraft/world/gen/ChunkProviderEnd/func_177459_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/chunk/Chunk; +MD: bgw/a (Lxp;Ldt;)Ljava/util/List; net/minecraft/world/gen/ChunkProviderEnd/func_177458_a (Lnet/minecraft/entity/EnumCreatureType;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bgw/a (ZLuy;)Z net/minecraft/world/gen/ChunkProviderEnd/func_73151_a (ZLnet/minecraft/util/IProgressUpdate;)Z +MD: bgw/a ([DIIIIII)[D net/minecraft/world/gen/ChunkProviderEnd/func_73187_a ([DIIIIII)[D +MD: bgw/c ()V net/minecraft/world/gen/ChunkProviderEnd/func_104112_b ()V +MD: bgw/d ()Z net/minecraft/world/gen/ChunkProviderEnd/func_73156_b ()Z +MD: bgw/d (II)Lbfh; net/minecraft/world/gen/ChunkProviderEnd/func_73154_d (II)Lnet/minecraft/world/chunk/Chunk; +MD: bgw/e ()Z net/minecraft/world/gen/ChunkProviderEnd/func_73157_c ()Z +MD: bgw/f ()Ljava/lang/String; net/minecraft/world/gen/ChunkProviderEnd/func_73148_d ()Ljava/lang/String; +MD: bgw/g ()I net/minecraft/world/gen/ChunkProviderEnd/func_73152_e ()I +MD: bh/a ()I net/minecraft/command/server/CommandEmote/func_82362_a ()I +MD: bh/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandEmote/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bh/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandEmote/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bh/c ()Ljava/lang/String; net/minecraft/command/server/CommandEmote/func_71517_b ()Ljava/lang/String; +MD: bh/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandEmote/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bhc/a (Laqu;Ldt;)V net/minecraft/world/gen/feature/WorldGenAbstractTree/func_175921_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: bhc/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/gen/feature/WorldGenAbstractTree/func_180711_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: bhc/a (Latr;)Z net/minecraft/world/gen/feature/WorldGenAbstractTree/func_150523_a (Lnet/minecraft/block/Block;)Z +MD: bhd/a ()V net/minecraft/world/gen/feature/WorldGenBigTree/func_76489_a ()V +MD: bhd/a (I)F net/minecraft/world/gen/feature/WorldGenBigTree/func_76490_a (I)F +MD: bhd/a (Ldt;)V net/minecraft/world/gen/feature/WorldGenBigTree/func_175940_a (Lnet/minecraft/util/BlockPos;)V +MD: bhd/a (Ldt;FLatr;)V net/minecraft/world/gen/feature/WorldGenBigTree/func_180712_a (Lnet/minecraft/util/BlockPos;FLnet/minecraft/block/Block;)V +MD: bhd/a (Ldt;Ldt;)I net/minecraft/world/gen/feature/WorldGenBigTree/func_175936_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;)I +MD: bhd/a (Ldt;Ldt;Latr;)V net/minecraft/world/gen/feature/WorldGenBigTree/func_175937_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: bhd/b ()V net/minecraft/world/gen/feature/WorldGenBigTree/func_175941_b ()V +MD: bhd/b (I)F net/minecraft/world/gen/feature/WorldGenBigTree/func_76495_b (I)F +MD: bhd/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenBigTree/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhd/b (Ldt;)I net/minecraft/world/gen/feature/WorldGenBigTree/func_175935_b (Lnet/minecraft/util/BlockPos;)I +MD: bhd/b (Ldt;Ldt;)Laxo; net/minecraft/world/gen/feature/WorldGenBigTree/func_175938_b (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/BlockLog$EnumAxis; +MD: bhd/c ()V net/minecraft/world/gen/feature/WorldGenBigTree/func_175942_c ()V +MD: bhd/c (I)Z net/minecraft/world/gen/feature/WorldGenBigTree/func_76493_c (I)Z +MD: bhd/d ()V net/minecraft/world/gen/feature/WorldGenBigTree/func_175939_d ()V +MD: bhd/e ()V net/minecraft/world/gen/feature/WorldGenBigTree/func_175904_e ()V +MD: bhd/f ()Z net/minecraft/world/gen/feature/WorldGenBigTree/func_76497_e ()Z +MD: bhe/q ()I net/minecraft/world/gen/feature/WorldGenBigTree$FoliageCoordinates/func_177999_q ()I +MD: bhf/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenForest/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhg/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenBlockBlob/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhh/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGeneratorBonusChest/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhi/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/GeneratorBushFeature/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhj/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenCactus/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhl/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenClay/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhm/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenDeadBush/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhn/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenDesertWells/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bho/a (Lavk;)V net/minecraft/world/gen/feature/WorldGenDoublePlant/func_180710_a (Lnet/minecraft/block/BlockDoublePlant$EnumPlantType;)V +MD: bho/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenDoublePlant/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhp/a (Laqu;Ldt;Latr;)V net/minecraft/world/gen/feature/WorldGenerator/func_175906_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: bhp/a (Laqu;Ldt;Latr;I)V net/minecraft/world/gen/feature/WorldGenerator/func_175905_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;I)V +MD: bhp/a (Laqu;Ldt;Lbec;)V net/minecraft/world/gen/feature/WorldGenerator/func_175903_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: bhp/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenerator/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhp/e ()V net/minecraft/world/gen/feature/WorldGenerator/func_175904_e ()V +MD: bhq/a (Lavy;Lawa;)V net/minecraft/world/gen/feature/WorldGenFlowers/func_175914_a (Lnet/minecraft/block/BlockFlower;Lnet/minecraft/block/BlockFlower$EnumFlowerType;)V +MD: bhq/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenFlowers/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhr/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenShrub/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhs/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenFire/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bht/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenGlowStone2/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhu/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenHellLava/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhv/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenBigMushroom/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhw/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenIcePath/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhx/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenIceSpike/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhy/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenLakes/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bhz/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenGlowStone1/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bi/a ()I net/minecraft/command/CommandEnchant/func_82362_a ()I +MD: bi/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandEnchant/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bi/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandEnchant/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bi/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandEnchant/func_82358_a ([Ljava/lang/String;I)Z +MD: bi/c ()Ljava/lang/String; net/minecraft/command/CommandEnchant/func_71517_b ()Ljava/lang/String; +MD: bi/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandEnchant/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bi/d ()[Ljava/lang/String; net/minecraft/command/CommandEnchant/func_90022_d ()[Ljava/lang/String; +MD: bia/a (Lbof;)Z net/minecraft/world/gen/feature/WorldGenMegaJungle/func_175931_a (Lnet/minecraft/block/material/Material;)Z +MD: bia/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenMegaJungle/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bia/b (Laqu;Ljava/util/Random;Ldt;I)V net/minecraft/world/gen/feature/WorldGenMegaJungle/func_175932_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;I)V +MD: bia/c (Laqu;Ldt;I)V net/minecraft/world/gen/feature/WorldGenMegaJungle/func_175930_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;I)V +MD: bib/a (Laqu;IIIILjava/util/Random;)V net/minecraft/world/gen/feature/WorldGenMegaPineTree/func_150541_c (Lnet/minecraft/world/World;IIIILjava/util/Random;)V +MD: bib/a (Laqu;Ljava/util/Random;Ldt;)V net/minecraft/world/gen/feature/WorldGenMegaPineTree/func_180711_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)V +MD: bib/b (Laqu;Ldt;)V net/minecraft/world/gen/feature/WorldGenMegaPineTree/func_175933_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: bib/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenMegaPineTree/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bib/c (Laqu;Ldt;)V net/minecraft/world/gen/feature/WorldGenMegaPineTree/func_175934_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: bic/a (Laqu;Ldt;I)V net/minecraft/world/gen/feature/WorldGenHugeTrees/func_175925_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;I)V +MD: bic/a (Laqu;Ljava/util/Random;Ldt;I)Z net/minecraft/world/gen/feature/WorldGenHugeTrees/func_175929_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;I)Z +MD: bic/a (Ldt;Laqu;)Z net/minecraft/world/gen/feature/WorldGenHugeTrees/func_175927_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/world/World;)Z +MD: bic/a (Ljava/util/Random;)I net/minecraft/world/gen/feature/WorldGenHugeTrees/func_150533_a (Ljava/util/Random;)I +MD: bic/b (Laqu;Ldt;I)V net/minecraft/world/gen/feature/WorldGenHugeTrees/func_175928_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;I)V +MD: bic/c (Laqu;Ldt;I)Z net/minecraft/world/gen/feature/WorldGenHugeTrees/func_175926_c (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;I)Z +MD: bid/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenMelon/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bie/a (Ljava/util/Random;)Ljava/lang/String; net/minecraft/world/gen/feature/WorldGenDungeons/func_76543_b (Ljava/util/Random;)Ljava/lang/String; +MD: bie/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenDungeons/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bif/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenMinable/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: big/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenTaiga1/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bih/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenPumpkin/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bii/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenReed/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bij/a (Laqu;III)V net/minecraft/world/gen/feature/WorldGenCanopyTree/func_150526_a (Lnet/minecraft/world/World;III)V +MD: bij/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenCanopyTree/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bik/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenSand/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bil/b (Laqu;Ldt;)V net/minecraft/world/gen/feature/WorldGenSavannaTree/func_175924_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)V +MD: bil/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenSavannaTree/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bim/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenSpikes/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bin/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenLiquids/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bio/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenTaiga2/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bip/a (Laqu;Ldt;I)V net/minecraft/world/gen/feature/WorldGenSwamp/func_175922_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;I)V +MD: bip/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenSwamp/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: biq/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenTallGrass/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bir/a (Laqu;Ldt;I)V net/minecraft/world/gen/feature/WorldGenTrees/func_175923_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;I)V +MD: bir/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenTrees/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bis/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenVines/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: bit/b (Laqu;Ljava/util/Random;Ldt;)Z net/minecraft/world/gen/feature/WorldGenWaterlily/func_180709_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/util/BlockPos;)Z +MD: biv/a ()I net/minecraft/world/gen/FlatGeneratorInfo/func_82648_a ()I +MD: biv/a (I)V net/minecraft/world/gen/FlatGeneratorInfo/func_82647_a (I)V +MD: biv/a (ILjava/lang/String;)Ljava/util/List; net/minecraft/world/gen/FlatGeneratorInfo/func_180716_a (ILjava/lang/String;)Ljava/util/List; +MD: biv/a (ILjava/lang/String;I)Lbiw; net/minecraft/world/gen/FlatGeneratorInfo/func_180715_a (ILjava/lang/String;I)Lnet/minecraft/world/gen/FlatLayerInfo; +MD: biv/a (Ljava/lang/String;)Lbiv; net/minecraft/world/gen/FlatGeneratorInfo/func_82651_a (Ljava/lang/String;)Lnet/minecraft/world/gen/FlatGeneratorInfo; +MD: biv/b ()Ljava/util/Map; net/minecraft/world/gen/FlatGeneratorInfo/func_82644_b ()Ljava/util/Map; +MD: biv/c ()Ljava/util/List; net/minecraft/world/gen/FlatGeneratorInfo/func_82650_c ()Ljava/util/List; +MD: biv/d ()V net/minecraft/world/gen/FlatGeneratorInfo/func_82645_d ()V +MD: biv/e ()Lbiv; net/minecraft/world/gen/FlatGeneratorInfo/func_82649_e ()Lnet/minecraft/world/gen/FlatGeneratorInfo; +MD: biv/toString ()Ljava/lang/String; net/minecraft/world/gen/FlatGeneratorInfo/toString ()Ljava/lang/String; +MD: biw/b ()I net/minecraft/world/gen/FlatLayerInfo/func_82657_a ()I +MD: biw/b (I)V net/minecraft/world/gen/FlatLayerInfo/func_82660_d (I)V +MD: biw/c ()Lbec; net/minecraft/world/gen/FlatLayerInfo/func_175900_c ()Lnet/minecraft/block/state/IBlockState; +MD: biw/d ()I net/minecraft/world/gen/FlatLayerInfo/func_82656_d ()I +MD: biw/e ()Latr; net/minecraft/world/gen/FlatLayerInfo/func_151536_b ()Lnet/minecraft/block/Block; +MD: biw/f ()I net/minecraft/world/gen/FlatLayerInfo/func_82658_c ()I +MD: biw/toString ()Ljava/lang/String; net/minecraft/world/gen/FlatLayerInfo/toString ()Ljava/lang/String; +MD: bj/a ()I net/minecraft/command/CommandEntityData/func_82362_a ()I +MD: bj/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandEntityData/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bj/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandEntityData/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bj/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandEntityData/func_82358_a ([Ljava/lang/String;I)Z +MD: bj/c ()Ljava/lang/String; net/minecraft/command/CommandEntityData/func_71517_b ()Ljava/lang/String; +MD: bj/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandEntityData/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bjb/a ()Lbjb; net/minecraft/world/gen/structure/StructureBoundingBox/func_78887_a ()Lnet/minecraft/world/gen/structure/StructureBoundingBox; +MD: bjb/a (III)V net/minecraft/world/gen/structure/StructureBoundingBox/func_78886_a (III)V +MD: bjb/a (IIII)Z net/minecraft/world/gen/structure/StructureBoundingBox/func_78885_a (IIII)Z +MD: bjb/a (IIIIII)Lbjb; net/minecraft/world/gen/structure/StructureBoundingBox/func_175899_a (IIIIII)Lnet/minecraft/world/gen/structure/StructureBoundingBox; +MD: bjb/a (IIIIIIIIILej;)Lbjb; net/minecraft/world/gen/structure/StructureBoundingBox/func_175897_a (IIIIIIIIILnet/minecraft/util/EnumFacing;)Lnet/minecraft/world/gen/structure/StructureBoundingBox; +MD: bjb/a (Lbjb;)Z net/minecraft/world/gen/structure/StructureBoundingBox/func_78884_a (Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjb/b ()Lfd; net/minecraft/world/gen/structure/StructureBoundingBox/func_175896_b ()Lnet/minecraft/util/Vec3i; +MD: bjb/b (Lbjb;)V net/minecraft/world/gen/structure/StructureBoundingBox/func_78888_b (Lnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bjb/b (Lfd;)Z net/minecraft/world/gen/structure/StructureBoundingBox/func_175898_b (Lnet/minecraft/util/Vec3i;)Z +MD: bjb/c ()I net/minecraft/world/gen/structure/StructureBoundingBox/func_78883_b ()I +MD: bjb/d ()I net/minecraft/world/gen/structure/StructureBoundingBox/func_78882_c ()I +MD: bjb/e ()I net/minecraft/world/gen/structure/StructureBoundingBox/func_78880_d ()I +MD: bjb/f ()Lfd; net/minecraft/world/gen/structure/StructureBoundingBox/func_180717_f ()Lnet/minecraft/util/Vec3i; +MD: bjb/g ()Lft; net/minecraft/world/gen/structure/StructureBoundingBox/func_151535_h ()Lnet/minecraft/nbt/NBTTagIntArray; +MD: bjb/toString ()Ljava/lang/String; net/minecraft/world/gen/structure/StructureBoundingBox/toString ()Ljava/lang/String; +MD: bjd/a ()Ljava/lang/String; net/minecraft/world/gen/structure/MapGenMineshaft/func_143025_a ()Ljava/lang/String; +MD: bjd/a (II)Z net/minecraft/world/gen/structure/MapGenMineshaft/func_75047_a (II)Z +MD: bjd/b (II)Lbmv; net/minecraft/world/gen/structure/MapGenMineshaft/func_75049_b (II)Lnet/minecraft/world/gen/structure/StructureStart; +MD: bje/a ()V net/minecraft/world/gen/structure/StructureMineshaftPieces/func_143048_a ()V +MD: bje/a (Lbms;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbms; net/minecraft/world/gen/structure/StructureMineshaftPieces/access$000 (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bje/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbms; net/minecraft/world/gen/structure/StructureMineshaftPieces/func_175892_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bje/b ()Ljava/util/List; net/minecraft/world/gen/structure/StructureMineshaftPieces/access$100 ()Ljava/util/List; +MD: bje/b (Lbms;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbms; net/minecraft/world/gen/structure/StructureMineshaftPieces/func_175890_b (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bjg/a (Laqu;Lbjb;Ljava/util/Random;IIILjava/util/List;I)Z net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor/func_180778_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Ljava/util/Random;IIILjava/util/List;I)Z +MD: bjg/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjg/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bjg/a (Lfn;)V net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bjg/a (Ljava/util/List;Ljava/util/Random;IIILej;)Lbjb; net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor/func_175814_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;)Lnet/minecraft/world/gen/structure/StructureBoundingBox; +MD: bjg/b (Lfn;)V net/minecraft/world/gen/structure/StructureMineshaftPieces$Corridor/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bjh/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureMineshaftPieces$Cross/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjh/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureMineshaftPieces$Cross/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bjh/a (Lfn;)V net/minecraft/world/gen/structure/StructureMineshaftPieces$Cross/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bjh/a (Ljava/util/List;Ljava/util/Random;IIILej;)Lbjb; net/minecraft/world/gen/structure/StructureMineshaftPieces$Cross/func_175813_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;)Lnet/minecraft/world/gen/structure/StructureBoundingBox; +MD: bjh/b (Lfn;)V net/minecraft/world/gen/structure/StructureMineshaftPieces$Cross/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bji/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureMineshaftPieces$Room/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bji/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureMineshaftPieces$Room/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bji/a (Lfn;)V net/minecraft/world/gen/structure/StructureMineshaftPieces$Room/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bji/b (Lfn;)V net/minecraft/world/gen/structure/StructureMineshaftPieces$Room/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bjj/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureMineshaftPieces$Stairs/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjj/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureMineshaftPieces$Stairs/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bjj/a (Lfn;)V net/minecraft/world/gen/structure/StructureMineshaftPieces$Stairs/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bjj/a (Ljava/util/List;Ljava/util/Random;IIILej;)Lbjb; net/minecraft/world/gen/structure/StructureMineshaftPieces$Stairs/func_175812_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;)Lnet/minecraft/world/gen/structure/StructureBoundingBox; +MD: bjj/b (Lfn;)V net/minecraft/world/gen/structure/StructureMineshaftPieces$Stairs/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bjl/a ()Ljava/lang/String; net/minecraft/world/gen/structure/MapGenNetherBridge/func_143025_a ()Ljava/lang/String; +MD: bjl/a (II)Z net/minecraft/world/gen/structure/MapGenNetherBridge/func_75047_a (II)Z +MD: bjl/b ()Ljava/util/List; net/minecraft/world/gen/structure/MapGenNetherBridge/func_75059_a ()Ljava/util/List; +MD: bjl/b (II)Lbmv; net/minecraft/world/gen/structure/MapGenNetherBridge/func_75049_b (II)Lnet/minecraft/world/gen/structure/StructureStart; +MD: bjn/a ()V net/minecraft/world/gen/structure/StructureNetherBridgePieces/func_143049_a ()V +MD: bjn/a (Lbkc;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbkb; net/minecraft/world/gen/structure/StructureNetherBridgePieces/access$000 (Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece; +MD: bjn/b ()[Lbkc; net/minecraft/world/gen/structure/StructureNetherBridgePieces/access$100 ()[Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight; +MD: bjn/b (Lbkc;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbkb; net/minecraft/world/gen/structure/StructureNetherBridgePieces/func_175887_b (Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece; +MD: bjn/c ()[Lbkc; net/minecraft/world/gen/structure/StructureNetherBridgePieces/access$200 ()[Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight; +MD: bjp/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing3/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjp/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing3/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bjp/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbjp; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing3/func_175885_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing3; +MD: bjq/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$End/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjq/a (Lfn;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$End/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bjq/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbjq; net/minecraft/world/gen/structure/StructureNetherBridgePieces$End/func_175884_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$End; +MD: bjq/b (Lfn;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$End/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bjr/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$Straight/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjr/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Straight/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bjr/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbjr; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Straight/func_175882_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Straight; +MD: bjs/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor3/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjs/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor3/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bjs/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbjs; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor3/func_175883_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor3; +MD: bjt/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor4/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjt/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor4/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bjt/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbjt; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor4/func_175880_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor4; +MD: bju/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$Entrance/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bju/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Entrance/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bju/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbju; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Entrance/func_175881_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Entrance; +MD: bjv/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing2/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjv/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing2/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bjv/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbjv; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing2/func_175878_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing2; +MD: bjw/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjw/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bjw/a (Lfn;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bjw/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbjw; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor/func_175879_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor; +MD: bjw/b (Lfn;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bjx/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor5/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjx/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor5/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bjx/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbjx; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor5/func_175877_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor5; +MD: bjy/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor2/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjy/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor2/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bjy/a (Lfn;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor2/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bjy/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbjy; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor2/func_175876_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor2; +MD: bjy/b (Lfn;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Corridor2/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bjz/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$NetherStalkRoom/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bjz/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$NetherStalkRoom/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bjz/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbjz; net/minecraft/world/gen/structure/StructureNetherBridgePieces$NetherStalkRoom/func_175875_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$NetherStalkRoom; +MD: bk/a ()I net/minecraft/command/CommandExecuteAt/func_82362_a ()I +MD: bk/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandExecuteAt/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bk/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandExecuteAt/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bk/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandExecuteAt/func_82358_a ([Ljava/lang/String;I)Z +MD: bk/c ()Ljava/lang/String; net/minecraft/command/CommandExecuteAt/func_71517_b ()Ljava/lang/String; +MD: bk/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandExecuteAt/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bka/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$Throne/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bka/a (Lfn;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Throne/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bka/a (Ljava/util/List;Ljava/util/Random;IIIILej;)Lbka; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Throne/func_175874_a (Ljava/util/List;Ljava/util/Random;IIIILnet/minecraft/util/EnumFacing;)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Throne; +MD: bka/b (Lfn;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Throne/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bkb/a (Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece/func_74964_a (Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bkb/a (Lbkf;Ljava/util/List;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbkb; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece/func_175871_a (Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Start;Ljava/util/List;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece; +MD: bkb/a (Lbkf;Ljava/util/List;Ljava/util/Random;IIILej;IZ)Lbms; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece/func_175870_a (Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;IZ)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bkb/a (Lbkf;Ljava/util/List;Ljava/util/Random;IIZ)Lbms; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece/func_74963_a (Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Start;Ljava/util/List;Ljava/util/Random;IIZ)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bkb/a (Lfn;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bkb/a (Ljava/util/List;)I net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece/func_74960_a (Ljava/util/List;)I +MD: bkb/b (Lbkf;Ljava/util/List;Ljava/util/Random;IIZ)Lbms; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece/func_74961_b (Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Start;Ljava/util/List;Ljava/util/Random;IIZ)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bkb/b (Lfn;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bkb/c (Lbkf;Ljava/util/List;Ljava/util/Random;IIZ)Lbms; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Piece/func_74965_c (Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Start;Ljava/util/List;Ljava/util/Random;IIZ)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bkc/a ()Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight/func_78823_a ()Z +MD: bkc/a (I)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$PieceWeight/func_78822_a (I)Z +MD: bkd/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bkd/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bkd/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbkd; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing/func_175873_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Crossing; +MD: bke/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureNetherBridgePieces$Stairs/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bke/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Stairs/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bke/a (Ljava/util/List;Ljava/util/Random;IIIILej;)Lbke; net/minecraft/world/gen/structure/StructureNetherBridgePieces$Stairs/func_175872_a (Ljava/util/List;Ljava/util/Random;IIIILnet/minecraft/util/EnumFacing;)Lnet/minecraft/world/gen/structure/StructureNetherBridgePieces$Stairs; +MD: bkf/a (Lfn;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Start/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bkf/b (Lfn;)V net/minecraft/world/gen/structure/StructureNetherBridgePieces$Start/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bkg/a ()Ljava/lang/String; net/minecraft/world/gen/structure/StructureOceanMonument/func_143025_a ()Ljava/lang/String; +MD: bkg/a (II)Z net/minecraft/world/gen/structure/StructureOceanMonument/func_75047_a (II)Z +MD: bkg/b ()Ljava/util/List; net/minecraft/world/gen/structure/StructureOceanMonument/func_175799_b ()Ljava/util/List; +MD: bkg/b (II)Lbmv; net/minecraft/world/gen/structure/StructureOceanMonument/func_75049_b (II)Lnet/minecraft/world/gen/structure/StructureStart; +MD: bkh/a (Laqm;)Z net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument/func_175788_a (Lnet/minecraft/world/ChunkCoordIntPair;)Z +MD: bkh/a (Laqu;Ljava/util/Random;Lbjb;)V net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument/func_75068_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bkh/a (Lfn;)V net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument/func_143022_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bkh/b (Laqm;)V net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument/func_175787_b (Lnet/minecraft/world/ChunkCoordIntPair;)V +MD: bkh/b (Laqu;Ljava/util/Random;II)V net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument/func_175789_b (Lnet/minecraft/world/World;Ljava/util/Random;II)V +MD: bkh/b (Lfn;)V net/minecraft/world/gen/structure/StructureOceanMonument$StartMonument/func_143017_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bki/a ()V net/minecraft/world/gen/structure/StructureOceanMonumentPieces/func_175970_a ()V +MD: bkk/a (Lblf;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XDoubleRoomFitHelper/func_175969_a (Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;)Z +MD: bkk/a (Lej;Lblf;Ljava/util/Random;)Lblb; net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XDoubleRoomFitHelper/func_175968_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece; +MD: bkl/a (Lblf;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XYDoubleRoomFitHelper/func_175969_a (Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;)Z +MD: bkl/a (Lej;Lblf;Ljava/util/Random;)Lblb; net/minecraft/world/gen/structure/StructureOceanMonumentPieces$XYDoubleRoomFitHelper/func_175968_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece; +MD: bkm/a (Lblf;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YDoubleRoomFitHelper/func_175969_a (Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;)Z +MD: bkm/a (Lej;Lblf;Ljava/util/Random;)Lblb; net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YDoubleRoomFitHelper/func_175968_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece; +MD: bkn/a (Lblf;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YZDoubleRoomFitHelper/func_175969_a (Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;)Z +MD: bkn/a (Lej;Lblf;Ljava/util/Random;)Lblb; net/minecraft/world/gen/structure/StructureOceanMonumentPieces$YZDoubleRoomFitHelper/func_175968_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece; +MD: bko/a (Lblf;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$ZDoubleRoomFitHelper/func_175969_a (Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;)Z +MD: bko/a (Lej;Lblf;Ljava/util/Random;)Lblb; net/minecraft/world/gen/structure/StructureOceanMonumentPieces$ZDoubleRoomFitHelper/func_175968_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece; +MD: bkp/a (Lblf;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomHelper/func_175969_a (Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;)Z +MD: bkp/a (Lej;Lblf;Ljava/util/Random;)Lblb; net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomHelper/func_175968_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece; +MD: bkq/a (Lblf;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomTopHelper/func_175969_a (Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;)Z +MD: bkq/a (Lej;Lblf;Ljava/util/Random;)Lblb; net/minecraft/world/gen/structure/StructureOceanMonumentPieces$FitSimpleRoomTopHelper/func_175968_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece; +MD: bkr/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bkr/a (Ljava/util/Random;)Ljava/util/List; net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding/func_175836_a (Ljava/util/Random;)Ljava/util/List; +MD: bkr/a (ZILaqu;Ljava/util/Random;Lbjb;)V net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding/func_175840_a (ZILnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bkr/b (Laqu;Ljava/util/Random;Lbjb;)V net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding/func_175839_b (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bkr/c (Laqu;Ljava/util/Random;Lbjb;)V net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding/func_175837_c (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bkr/d (Laqu;Ljava/util/Random;Lbjb;)V net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding/func_175841_d (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bkr/e (Laqu;Ljava/util/Random;Lbjb;)V net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding/func_175835_e (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bkr/f (Laqu;Ljava/util/Random;Lbjb;)V net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding/func_175842_f (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bkr/g (Laqu;Ljava/util/Random;Lbjb;)V net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentBuilding/func_175838_g (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bks/a (Lblf;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentRoomFitHelper/func_175969_a (Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;)Z +MD: bks/a (Lej;Lblf;Ljava/util/Random;)Lblb; net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentRoomFitHelper/func_175968_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;Ljava/util/Random;)Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece; +MD: bkt/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$MonumentCoreRoom/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bku/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXRoom/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bkv/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleXYRoom/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bkw/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYRoom/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bkx/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleYZRoom/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bky/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$DoubleZRoom/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bkz/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$EntryRoom/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bl/a (ILjava/lang/String;)Z net/minecraft/command/CommandExecuteAt$1/func_70003_b (ILjava/lang/String;)Z +MD: bl/a (Lag;I)V net/minecraft/command/CommandExecuteAt$1/func_174794_a (Lnet/minecraft/command/CommandResultStats$Type;I)V +MD: bl/a (Lho;)V net/minecraft/command/CommandExecuteAt$1/func_145747_a (Lnet/minecraft/util/IChatComponent;)V +MD: bl/c ()Ldt; net/minecraft/command/CommandExecuteAt$1/func_180425_c ()Lnet/minecraft/util/BlockPos; +MD: bl/d ()Lbrw; net/minecraft/command/CommandExecuteAt$1/func_174791_d ()Lnet/minecraft/util/Vec3; +MD: bl/d_ ()Ljava/lang/String; net/minecraft/command/CommandExecuteAt$1/func_70005_c_ ()Ljava/lang/String; +MD: bl/e ()Laqu; net/minecraft/command/CommandExecuteAt$1/func_130014_f_ ()Lnet/minecraft/world/World; +MD: bl/e_ ()Lho; net/minecraft/command/CommandExecuteAt$1/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: bl/f ()Lwv; net/minecraft/command/CommandExecuteAt$1/func_174793_f ()Lnet/minecraft/entity/Entity; +MD: bl/t_ ()Z net/minecraft/command/CommandExecuteAt$1/func_174792_t_ ()Z +MD: bla/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Penthouse/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: blb/a (III)I net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/func_175820_a (III)I +MD: blb/a (Laqu;Lbjb;III)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/func_175817_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;III)Z +MD: blb/a (Laqu;Lbjb;IIIIIILbec;)V net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/func_175819_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;IIIIIILnet/minecraft/block/state/IBlockState;)V +MD: blb/a (Laqu;Lbjb;IIZ)V net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/func_175821_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;IIZ)V +MD: blb/a (Lbjb;IIII)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/func_175818_a (Lnet/minecraft/world/gen/structure/StructureBoundingBox;IIII)Z +MD: blb/a (Lfn;)V net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: blb/b (Lfn;)V net/minecraft/world/gen/structure/StructureOceanMonumentPieces$Piece/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: blc/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleRoom/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bld/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$SimpleTopRoom/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: ble/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$WingRoom/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: blf/a ()V net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition/func_175958_a ()V +MD: blf/a (I)Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition/func_175959_a (I)Z +MD: blf/a (Lej;Lblf;)V net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition/func_175957_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition;)V +MD: blf/b ()Z net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition/func_175961_b ()Z +MD: blf/c ()I net/minecraft/world/gen/structure/StructureOceanMonumentPieces$RoomDefinition/func_175960_c ()I +MD: blg/a ()Ljava/lang/String; net/minecraft/world/gen/structure/MapGenScatteredFeature/func_143025_a ()Ljava/lang/String; +MD: blg/a (II)Z net/minecraft/world/gen/structure/MapGenScatteredFeature/func_75047_a (II)Z +MD: blg/a (Ldt;)Z net/minecraft/world/gen/structure/MapGenScatteredFeature/func_175798_a (Lnet/minecraft/util/BlockPos;)Z +MD: blg/b ()Ljava/util/List; net/minecraft/world/gen/structure/MapGenScatteredFeature/func_82667_a ()Ljava/util/List; +MD: blg/b (II)Lbmv; net/minecraft/world/gen/structure/MapGenScatteredFeature/func_75049_b (II)Lnet/minecraft/world/gen/structure/StructureStart; +MD: bli/a ()V net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces/func_143045_a ()V +MD: blk/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$DesertPyramid/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: blk/a (Lfn;)V net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$DesertPyramid/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: blk/b (Lfn;)V net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$DesertPyramid/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bll/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bll/a (Lfn;)V net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bll/b (Lfn;)V net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: blm/a (Ljava/util/Random;IIIZ)V net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$JunglePyramid$Stones/func_75062_a (Ljava/util/Random;IIIZ)V +MD: bln/a (Laqu;Lbjb;I)Z net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$Feature/func_74935_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;I)Z +MD: bln/a (Lfn;)V net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$Feature/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bln/b (Lfn;)V net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$Feature/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: blo/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwampHut/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: blo/a (Lfn;)V net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwampHut/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: blo/b (Lfn;)V net/minecraft/world/gen/structure/ComponentScatteredFeaturePieces$SwampHut/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: blp/a ()Ljava/lang/String; net/minecraft/world/gen/structure/MapGenStronghold/func_143025_a ()Ljava/lang/String; +MD: blp/a (II)Z net/minecraft/world/gen/structure/MapGenStronghold/func_75047_a (II)Z +MD: blp/b (II)Lbmv; net/minecraft/world/gen/structure/MapGenStronghold/func_75049_b (II)Lnet/minecraft/world/gen/structure/StructureStart; +MD: blp/y_ ()Ljava/util/List; net/minecraft/world/gen/structure/MapGenStronghold/func_75052_o_ ()Ljava/util/List; +MD: blr/a ()V net/minecraft/world/gen/structure/StructureStrongholdPieces/func_143046_a ()V +MD: blr/a (Lbmh;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbms; net/minecraft/world/gen/structure/StructureStrongholdPieces/access$000 (Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: blr/a (Ljava/lang/Class;)Ljava/lang/Class; net/minecraft/world/gen/structure/StructureStrongholdPieces/access$102 (Ljava/lang/Class;)Ljava/lang/Class; +MD: blr/a (Ljava/lang/Class;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbmk; net/minecraft/world/gen/structure/StructureStrongholdPieces/func_175954_a (Ljava/lang/Class;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold; +MD: blr/b ()V net/minecraft/world/gen/structure/StructureStrongholdPieces/func_75198_a ()V +MD: blr/b (Lbmh;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbmk; net/minecraft/world/gen/structure/StructureStrongholdPieces/func_175955_b (Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold; +MD: blr/c ()Lbmf; net/minecraft/world/gen/structure/StructureStrongholdPieces/access$200 ()Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stones; +MD: blr/c (Lbmh;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbms; net/minecraft/world/gen/structure/StructureStrongholdPieces/func_175953_c (Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: blr/d ()Z net/minecraft/world/gen/structure/StructureStrongholdPieces/func_75202_c ()Z +MD: bls/a (I)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$1/func_75189_a (I)Z +MD: blt/a (I)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$2/func_75189_a (I)Z +MD: blv/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: blv/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: blv/a (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: blv/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lblv; net/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor/func_175868_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor; +MD: blv/b (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$ChestCorridor/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: blw/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$Corridor/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: blw/a (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Corridor/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: blw/a (Ljava/util/List;Ljava/util/Random;IIILej;)Lbjb; net/minecraft/world/gen/structure/StructureStrongholdPieces$Corridor/func_175869_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;)Lnet/minecraft/world/gen/structure/StructureBoundingBox; +MD: blw/b (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Corridor/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: blx/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: blx/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: blx/a (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: blx/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lblx; net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing/func_175866_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing; +MD: blx/b (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Crossing/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bly/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$LeftTurn/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bly/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$LeftTurn/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bly/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbly; net/minecraft/world/gen/structure/StructureStrongholdPieces$LeftTurn/func_175867_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$LeftTurn; +MD: blz/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$Library/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: blz/a (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Library/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: blz/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lblz; net/minecraft/world/gen/structure/StructureStrongholdPieces$Library/func_175864_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Library; +MD: blz/b (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Library/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bm/a ()I net/minecraft/command/CommandXP/func_82362_a ()I +MD: bm/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandXP/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bm/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandXP/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bm/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandXP/func_82358_a ([Ljava/lang/String;I)Z +MD: bm/c ()Ljava/lang/String; net/minecraft/command/CommandXP/func_71517_b ()Ljava/lang/String; +MD: bm/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandXP/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bm/d ()[Ljava/lang/String; net/minecraft/command/CommandXP/func_71542_c ()[Ljava/lang/String; +MD: bma/a ()Z net/minecraft/world/gen/structure/StructureStrongholdPieces$PieceWeight/func_75190_a ()Z +MD: bma/a (I)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$PieceWeight/func_75189_a (I)Z +MD: bmb/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$PortalRoom/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bmb/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$PortalRoom/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bmb/a (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$PortalRoom/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmb/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbmb; net/minecraft/world/gen/structure/StructureStrongholdPieces$PortalRoom/func_175865_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$PortalRoom; +MD: bmb/b (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$PortalRoom/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmc/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$Prison/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bmc/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Prison/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bmc/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbmc; net/minecraft/world/gen/structure/StructureStrongholdPieces$Prison/func_175860_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Prison; +MD: bmd/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$RightTurn/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bmd/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$RightTurn/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bme/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bme/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bme/a (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bme/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbme; net/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing/func_175859_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing; +MD: bme/b (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$RoomCrossing/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmf/a (Ljava/util/Random;IIIZ)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Stones/func_75062_a (Ljava/util/Random;IIIZ)V +MD: bmg/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bmg/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bmg/a (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmg/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbmg; net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs/func_175863_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs; +MD: bmg/b (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmh/a ()Ldt; net/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2/func_180776_a ()Lnet/minecraft/util/BlockPos; +MD: bmi/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$Straight/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bmi/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Straight/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bmi/a (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Straight/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmi/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbmi; net/minecraft/world/gen/structure/StructureStrongholdPieces$Straight/func_175862_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Straight; +MD: bmi/b (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Straight/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmj/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$StairsStraight/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bmj/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$StairsStraight/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bmj/a (Ljava/util/List;Ljava/util/Random;IIILej;I)Lbmj; net/minecraft/world/gen/structure/StructureStrongholdPieces$StairsStraight/func_175861_a (Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$StairsStraight; +MD: bmk/a (Laqu;Ljava/util/Random;Lbjb;Lbml;III)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold/func_74990_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door;III)V +MD: bmk/a (Lbjb;)Z net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold/func_74991_a (Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bmk/a (Lbmh;Ljava/util/List;Ljava/util/Random;II)Lbms; net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold/func_74986_a (Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2;Ljava/util/List;Ljava/util/Random;II)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bmk/a (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmk/a (Ljava/util/Random;)Lbml; net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold/func_74988_a (Ljava/util/Random;)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door; +MD: bmk/b (Lbmh;Ljava/util/List;Ljava/util/Random;II)Lbms; net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold/func_74989_b (Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2;Ljava/util/List;Ljava/util/Random;II)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bmk/b (Lfn;)V net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmk/c (Lbmh;Ljava/util/List;Ljava/util/Random;II)Lbms; net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold/func_74987_c (Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stairs2;Ljava/util/List;Ljava/util/Random;II)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bml/valueOf (Ljava/lang/String;)Lbml; net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door/valueOf (Ljava/lang/String;)Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door; +MD: bml/values ()[Lbml; net/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door/values ()[Lnet/minecraft/world/gen/structure/StructureStrongholdPieces$Stronghold$Door; +MD: bmm/a ()Ljava/lang/String; net/minecraft/world/gen/structure/MapGenStructure/func_143025_a ()Ljava/lang/String; +MD: bmm/a (II)Z net/minecraft/world/gen/structure/MapGenStructure/func_75047_a (II)Z +MD: bmm/a (IILbmv;)V net/minecraft/world/gen/structure/MapGenStructure/func_143026_a (IILnet/minecraft/world/gen/structure/StructureStart;)V +MD: bmm/a (Laqu;)V net/minecraft/world/gen/structure/MapGenStructure/func_143027_a (Lnet/minecraft/world/World;)V +MD: bmm/a (Laqu;IIIILbgk;)V net/minecraft/world/gen/structure/MapGenStructure/func_180701_a (Lnet/minecraft/world/World;IIIILnet/minecraft/world/chunk/ChunkPrimer;)V +MD: bmm/a (Laqu;Ldt;)Z net/minecraft/world/gen/structure/MapGenStructure/func_175796_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: bmm/a (Laqu;Ljava/util/Random;Laqm;)Z net/minecraft/world/gen/structure/MapGenStructure/func_175794_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/ChunkCoordIntPair;)Z +MD: bmm/b (II)Lbmv; net/minecraft/world/gen/structure/MapGenStructure/func_75049_b (II)Lnet/minecraft/world/gen/structure/StructureStart; +MD: bmm/b (Laqu;Ldt;)Ldt; net/minecraft/world/gen/structure/MapGenStructure/func_180706_b (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: bmm/b (Ldt;)Z net/minecraft/world/gen/structure/MapGenStructure/func_175795_b (Lnet/minecraft/util/BlockPos;)Z +MD: bmm/c (Ldt;)Lbmv; net/minecraft/world/gen/structure/MapGenStructure/func_175797_c (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/gen/structure/StructureStart; +MD: bmm/y_ ()Ljava/util/List; net/minecraft/world/gen/structure/MapGenStructure/func_75052_o_ ()Ljava/util/List; +MD: bmn/a ()Ljava/lang/String; net/minecraft/world/gen/structure/MapGenStructure$1/call ()Ljava/lang/String; +MD: bmn/call ()Ljava/lang/Object; net/minecraft/world/gen/structure/MapGenStructure$1/call ()Ljava/lang/Object; +MD: bmo/a ()Ljava/lang/String; net/minecraft/world/gen/structure/MapGenStructure$2/call ()Ljava/lang/String; +MD: bmo/call ()Ljava/lang/Object; net/minecraft/world/gen/structure/MapGenStructure$2/call ()Ljava/lang/Object; +MD: bmp/a ()Ljava/lang/String; net/minecraft/world/gen/structure/MapGenStructure$3/call ()Ljava/lang/String; +MD: bmp/call ()Ljava/lang/Object; net/minecraft/world/gen/structure/MapGenStructure$3/call ()Ljava/lang/Object; +MD: bmq/a (Lbms;)Ljava/lang/String; net/minecraft/world/gen/structure/MapGenStructureIO/func_143036_a (Lnet/minecraft/world/gen/structure/StructureComponent;)Ljava/lang/String; +MD: bmq/a (Lbmv;)Ljava/lang/String; net/minecraft/world/gen/structure/MapGenStructureIO/func_143033_a (Lnet/minecraft/world/gen/structure/StructureStart;)Ljava/lang/String; +MD: bmq/a (Lfn;Laqu;)Lbmv; net/minecraft/world/gen/structure/MapGenStructureIO/func_143035_a (Lnet/minecraft/nbt/NBTTagCompound;Lnet/minecraft/world/World;)Lnet/minecraft/world/gen/structure/StructureStart; +MD: bmq/a (Ljava/lang/Class;Ljava/lang/String;)V net/minecraft/world/gen/structure/MapGenStructureIO/func_143031_a (Ljava/lang/Class;Ljava/lang/String;)V +MD: bmq/b (Lfn;Laqu;)Lbms; net/minecraft/world/gen/structure/MapGenStructureIO/func_143032_b (Lnet/minecraft/nbt/NBTTagCompound;Lnet/minecraft/world/World;)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bmq/b (Ljava/lang/Class;Ljava/lang/String;)V net/minecraft/world/gen/structure/MapGenStructureIO/func_143034_b (Ljava/lang/Class;Ljava/lang/String;)V +MD: bmr/a ()Lfn; net/minecraft/world/gen/structure/MapGenStructureData/func_143041_a ()Lnet/minecraft/nbt/NBTTagCompound; +MD: bmr/a (Lfn;)V net/minecraft/world/gen/structure/MapGenStructureData/func_76184_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmr/a (Lfn;II)V net/minecraft/world/gen/structure/MapGenStructureData/func_143043_a (Lnet/minecraft/nbt/NBTTagCompound;II)V +MD: bmr/b (II)Ljava/lang/String; net/minecraft/world/gen/structure/MapGenStructureData/func_143042_b (II)Ljava/lang/String; +MD: bmr/b (Lfn;)V net/minecraft/world/gen/structure/MapGenStructureData/func_76187_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bms/a ()Ldt; net/minecraft/world/gen/structure/StructureComponent/func_180776_a ()Lnet/minecraft/util/BlockPos; +MD: bms/a (II)I net/minecraft/world/gen/structure/StructureComponent/func_74865_a (II)I +MD: bms/a (Laqu;IIILbjb;)Lbec; net/minecraft/world/gen/structure/StructureComponent/func_175807_a (Lnet/minecraft/world/World;IIILnet/minecraft/world/gen/structure/StructureBoundingBox;)Lnet/minecraft/block/state/IBlockState; +MD: bms/a (Laqu;Lbec;IIILbjb;)V net/minecraft/world/gen/structure/StructureComponent/func_175811_a (Lnet/minecraft/world/World;Lnet/minecraft/block/state/IBlockState;IIILnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bms/a (Laqu;Lbjb;)Z net/minecraft/world/gen/structure/StructureComponent/func_74860_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bms/a (Laqu;Lbjb;IIIIII)V net/minecraft/world/gen/structure/StructureComponent/func_74878_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;IIIIII)V +MD: bms/a (Laqu;Lbjb;IIIIIILbec;Lbec;Z)V net/minecraft/world/gen/structure/StructureComponent/func_175804_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;IIIIIILnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/state/IBlockState;Z)V +MD: bms/a (Laqu;Lbjb;IIIIIILbec;Z)V net/minecraft/world/gen/structure/StructureComponent/func_180777_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;IIIIIILnet/minecraft/block/state/IBlockState;Z)V +MD: bms/a (Laqu;Lbjb;IIIIIIZLjava/util/Random;Lbmu;)V net/minecraft/world/gen/structure/StructureComponent/func_74882_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;IIIIIIZLjava/util/Random;Lnet/minecraft/world/gen/structure/StructureComponent$BlockSelector;)V +MD: bms/a (Laqu;Lbjb;Ljava/util/Random;FIIIIIILbec;Lbec;Z)V net/minecraft/world/gen/structure/StructureComponent/func_175805_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Ljava/util/Random;FIIIIIILnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/state/IBlockState;Z)V +MD: bms/a (Laqu;Lbjb;Ljava/util/Random;FIIILbec;)V net/minecraft/world/gen/structure/StructureComponent/func_175809_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Ljava/util/Random;FIIILnet/minecraft/block/state/IBlockState;)V +MD: bms/a (Laqu;Lbjb;Ljava/util/Random;IIIILjava/util/List;I)Z net/minecraft/world/gen/structure/StructureComponent/func_175806_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Ljava/util/Random;IIIILjava/util/List;I)Z +MD: bms/a (Laqu;Lbjb;Ljava/util/Random;IIILej;)V net/minecraft/world/gen/structure/StructureComponent/func_175810_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;)V +MD: bms/a (Laqu;Lbjb;Ljava/util/Random;IIILjava/util/List;I)Z net/minecraft/world/gen/structure/StructureComponent/func_180778_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;Ljava/util/Random;IIILjava/util/List;I)Z +MD: bms/a (Laqu;Lfn;)V net/minecraft/world/gen/structure/StructureComponent/func_143009_a (Lnet/minecraft/world/World;Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bms/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureComponent/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bms/a (Latr;I)I net/minecraft/world/gen/structure/StructureComponent/func_151555_a (Lnet/minecraft/block/Block;I)I +MD: bms/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureComponent/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bms/a (Lfn;)V net/minecraft/world/gen/structure/StructureComponent/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bms/a (Ljava/util/List;Lbjb;)Lbms; net/minecraft/world/gen/structure/StructureComponent/func_74883_a (Ljava/util/List;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bms/b ()Lfn; net/minecraft/world/gen/structure/StructureComponent/func_143010_b ()Lnet/minecraft/nbt/NBTTagCompound; +MD: bms/b (II)I net/minecraft/world/gen/structure/StructureComponent/func_74873_b (II)I +MD: bms/b (Laqu;IIILbjb;)V net/minecraft/world/gen/structure/StructureComponent/func_74871_b (Lnet/minecraft/world/World;IIILnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bms/b (Laqu;Lbec;IIILbjb;)V net/minecraft/world/gen/structure/StructureComponent/func_175808_b (Lnet/minecraft/world/World;Lnet/minecraft/block/state/IBlockState;IIILnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bms/b (Lfn;)V net/minecraft/world/gen/structure/StructureComponent/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bms/c ()Lbjb; net/minecraft/world/gen/structure/StructureComponent/func_74874_b ()Lnet/minecraft/world/gen/structure/StructureBoundingBox; +MD: bms/d ()I net/minecraft/world/gen/structure/StructureComponent/func_74877_c ()I +MD: bms/d (I)I net/minecraft/world/gen/structure/StructureComponent/func_74862_a (I)I +MD: bmu/a ()Lbec; net/minecraft/world/gen/structure/StructureComponent$BlockSelector/func_180780_a ()Lnet/minecraft/block/state/IBlockState; +MD: bmu/a (Ljava/util/Random;IIIZ)V net/minecraft/world/gen/structure/StructureComponent$BlockSelector/func_75062_a (Ljava/util/Random;IIIZ)V +MD: bmv/a ()Lbjb; net/minecraft/world/gen/structure/StructureStart/func_75071_a ()Lnet/minecraft/world/gen/structure/StructureBoundingBox; +MD: bmv/a (II)Lfn; net/minecraft/world/gen/structure/StructureStart/func_143021_a (II)Lnet/minecraft/nbt/NBTTagCompound; +MD: bmv/a (Laqm;)Z net/minecraft/world/gen/structure/StructureStart/func_175788_a (Lnet/minecraft/world/ChunkCoordIntPair;)Z +MD: bmv/a (Laqu;Lfn;)V net/minecraft/world/gen/structure/StructureStart/func_143020_a (Lnet/minecraft/world/World;Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmv/a (Laqu;Ljava/util/Random;I)V net/minecraft/world/gen/structure/StructureStart/func_75067_a (Lnet/minecraft/world/World;Ljava/util/Random;I)V +MD: bmv/a (Laqu;Ljava/util/Random;II)V net/minecraft/world/gen/structure/StructureStart/func_75070_a (Lnet/minecraft/world/World;Ljava/util/Random;II)V +MD: bmv/a (Laqu;Ljava/util/Random;Lbjb;)V net/minecraft/world/gen/structure/StructureStart/func_75068_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bmv/a (Lfn;)V net/minecraft/world/gen/structure/StructureStart/func_143022_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmv/b ()Ljava/util/LinkedList; net/minecraft/world/gen/structure/StructureStart/func_75073_b ()Ljava/util/LinkedList; +MD: bmv/b (Laqm;)V net/minecraft/world/gen/structure/StructureStart/func_175787_b (Lnet/minecraft/world/ChunkCoordIntPair;)V +MD: bmv/b (Lfn;)V net/minecraft/world/gen/structure/StructureStart/func_143017_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmv/c ()V net/minecraft/world/gen/structure/StructureStart/func_75072_c ()V +MD: bmv/d ()Z net/minecraft/world/gen/structure/StructureStart/func_75069_d ()Z +MD: bmv/e ()I net/minecraft/world/gen/structure/StructureStart/func_143019_e ()I +MD: bmv/f ()I net/minecraft/world/gen/structure/StructureStart/func_143018_f ()I +MD: bmw/a ()Ljava/lang/String; net/minecraft/world/gen/structure/MapGenVillage/func_143025_a ()Ljava/lang/String; +MD: bmw/a (II)Z net/minecraft/world/gen/structure/MapGenVillage/func_75047_a (II)Z +MD: bmw/b (II)Lbmv; net/minecraft/world/gen/structure/MapGenVillage/func_75049_b (II)Lnet/minecraft/world/gen/structure/StructureStart; +MD: bmx/a (Lfn;)V net/minecraft/world/gen/structure/MapGenVillage$Start/func_143022_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmx/b (Lfn;)V net/minecraft/world/gen/structure/MapGenVillage$Start/func_143017_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bmx/d ()Z net/minecraft/world/gen/structure/MapGenVillage$Start/func_75069_d ()Z +MD: bmy/a ()V net/minecraft/world/gen/structure/StructureVillagePieces/func_143016_a ()V +MD: bmy/a (Lbnk;Lbne;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbnn; net/minecraft/world/gen/structure/StructureVillagePieces/func_176065_a (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Lnet/minecraft/world/gen/structure/StructureVillagePieces$PieceWeight;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureVillagePieces$Village; +MD: bmy/a (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbms; net/minecraft/world/gen/structure/StructureVillagePieces/access$000 (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bmy/a (Ljava/util/List;)I net/minecraft/world/gen/structure/StructureVillagePieces/func_75079_a (Ljava/util/List;)I +MD: bmy/a (Ljava/util/Random;I)Ljava/util/List; net/minecraft/world/gen/structure/StructureVillagePieces/func_75084_a (Ljava/util/Random;I)Ljava/util/List; +MD: bmy/b (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbms; net/minecraft/world/gen/structure/StructureVillagePieces/access$100 (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bmy/c (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbnn; net/minecraft/world/gen/structure/StructureVillagePieces/func_176067_c (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureVillagePieces$Village; +MD: bmy/d (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbms; net/minecraft/world/gen/structure/StructureVillagePieces/func_176066_d (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bmy/e (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbms; net/minecraft/world/gen/structure/StructureVillagePieces/func_176069_e (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bn/a ()I net/minecraft/command/CommandFill/func_82362_a ()I +MD: bn/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandFill/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bn/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandFill/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bn/c ()Ljava/lang/String; net/minecraft/command/CommandFill/func_71517_b ()Ljava/lang/String; +MD: bn/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandFill/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bna/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureVillagePieces$House1/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bna/a (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbna; net/minecraft/world/gen/structure/StructureVillagePieces$House1/func_175850_a (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureVillagePieces$House1; +MD: bna/c (II)I net/minecraft/world/gen/structure/StructureVillagePieces$House1/func_180779_c (II)I +MD: bnb/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureVillagePieces$Field1/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bnb/a (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbnb; net/minecraft/world/gen/structure/StructureVillagePieces$Field1/func_175851_a (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureVillagePieces$Field1; +MD: bnb/a (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$Field1/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bnb/a (Ljava/util/Random;)Latr; net/minecraft/world/gen/structure/StructureVillagePieces$Field1/func_151559_a (Ljava/util/Random;)Lnet/minecraft/block/Block; +MD: bnb/b (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$Field1/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bnc/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureVillagePieces$Field2/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bnc/a (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbnc; net/minecraft/world/gen/structure/StructureVillagePieces$Field2/func_175852_a (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureVillagePieces$Field2; +MD: bnc/a (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$Field2/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bnc/a (Ljava/util/Random;)Latr; net/minecraft/world/gen/structure/StructureVillagePieces$Field2/func_151560_a (Ljava/util/Random;)Lnet/minecraft/block/Block; +MD: bnc/b (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$Field2/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bnd/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureVillagePieces$Torch/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bnd/a (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;)Lbjb; net/minecraft/world/gen/structure/StructureVillagePieces$Torch/func_175856_a (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;)Lnet/minecraft/world/gen/structure/StructureBoundingBox; +MD: bne/a ()Z net/minecraft/world/gen/structure/StructureVillagePieces$PieceWeight/func_75086_a ()Z +MD: bne/a (I)Z net/minecraft/world/gen/structure/StructureVillagePieces$PieceWeight/func_75085_a (I)Z +MD: bnf/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureVillagePieces$Hall/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bnf/a (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbnf; net/minecraft/world/gen/structure/StructureVillagePieces$Hall/func_175857_a (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureVillagePieces$Hall; +MD: bnf/c (II)I net/minecraft/world/gen/structure/StructureVillagePieces$Hall/func_180779_c (II)I +MD: bng/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureVillagePieces$House4Garden/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bng/a (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbng; net/minecraft/world/gen/structure/StructureVillagePieces$House4Garden/func_175858_a (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureVillagePieces$House4Garden; +MD: bng/a (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$House4Garden/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bng/b (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$House4Garden/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bnh/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureVillagePieces$WoodHut/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bnh/a (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbnh; net/minecraft/world/gen/structure/StructureVillagePieces$WoodHut/func_175853_a (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureVillagePieces$WoodHut; +MD: bnh/a (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$WoodHut/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bnh/b (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$WoodHut/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bni/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureVillagePieces$Church/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bni/a (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbni; net/minecraft/world/gen/structure/StructureVillagePieces$Church/func_175854_a (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureVillagePieces$Church; +MD: bni/c (II)I net/minecraft/world/gen/structure/StructureVillagePieces$Church/func_180779_c (II)I +MD: bnj/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureVillagePieces$House2/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bnj/a (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbnj; net/minecraft/world/gen/structure/StructureVillagePieces$House2/func_175855_a (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureVillagePieces$House2; +MD: bnj/a (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$House2/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bnj/b (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$House2/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bnj/c (II)I net/minecraft/world/gen/structure/StructureVillagePieces$House2/func_180779_c (II)I +MD: bnk/e ()Larz; net/minecraft/world/gen/structure/StructureVillagePieces$Start/func_74925_d ()Lnet/minecraft/world/biome/WorldChunkManager; +MD: bnl/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureVillagePieces$Path/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bnl/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureVillagePieces$Path/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bnl/a (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;)Lbjb; net/minecraft/world/gen/structure/StructureVillagePieces$Path/func_175848_a (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;)Lnet/minecraft/world/gen/structure/StructureBoundingBox; +MD: bnl/a (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$Path/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bnl/b (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$Path/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bnm/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureVillagePieces$House3/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bnm/a (Lbnk;Ljava/util/List;Ljava/util/Random;IIILej;I)Lbnm; net/minecraft/world/gen/structure/StructureVillagePieces$House3/func_175849_a (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;IIILnet/minecraft/util/EnumFacing;I)Lnet/minecraft/world/gen/structure/StructureVillagePieces$House3; +MD: bnn/a (Laqu;Lbec;IIILbjb;)V net/minecraft/world/gen/structure/StructureVillagePieces$Village/func_175811_a (Lnet/minecraft/world/World;Lnet/minecraft/block/state/IBlockState;IIILnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bnn/a (Laqu;Lbjb;IIII)V net/minecraft/world/gen/structure/StructureVillagePieces$Village/func_74893_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;IIII)V +MD: bnn/a (Laqu;Lbjb;IIIIIILbec;Lbec;Z)V net/minecraft/world/gen/structure/StructureVillagePieces$Village/func_175804_a (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;IIIIIILnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/state/IBlockState;Z)V +MD: bnn/a (Lbec;)Lbec; net/minecraft/world/gen/structure/StructureVillagePieces$Village/func_175847_a (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/block/state/IBlockState; +MD: bnn/a (Lbjb;)Z net/minecraft/world/gen/structure/StructureVillagePieces$Village/func_74895_a (Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bnn/a (Lbnk;Ljava/util/List;Ljava/util/Random;II)Lbms; net/minecraft/world/gen/structure/StructureVillagePieces$Village/func_74891_a (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;II)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bnn/a (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$Village/func_143012_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bnn/a (Z)V net/minecraft/world/gen/structure/StructureVillagePieces$Village/func_175846_a (Z)V +MD: bnn/b (Laqu;Lbec;IIILbjb;)V net/minecraft/world/gen/structure/StructureVillagePieces$Village/func_175808_b (Lnet/minecraft/world/World;Lnet/minecraft/block/state/IBlockState;IIILnet/minecraft/world/gen/structure/StructureBoundingBox;)V +MD: bnn/b (Laqu;Lbjb;)I net/minecraft/world/gen/structure/StructureVillagePieces$Village/func_74889_b (Lnet/minecraft/world/World;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)I +MD: bnn/b (Lbnk;Ljava/util/List;Ljava/util/Random;II)Lbms; net/minecraft/world/gen/structure/StructureVillagePieces$Village/func_74894_b (Lnet/minecraft/world/gen/structure/StructureVillagePieces$Start;Ljava/util/List;Ljava/util/Random;II)Lnet/minecraft/world/gen/structure/StructureComponent; +MD: bnn/b (Lfn;)V net/minecraft/world/gen/structure/StructureVillagePieces$Village/func_143011_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bnn/c (II)I net/minecraft/world/gen/structure/StructureVillagePieces$Village/func_180779_c (II)I +MD: bnp/a (Laqu;Ljava/util/Random;Lbjb;)Z net/minecraft/world/gen/structure/StructureVillagePieces$Well/func_74875_a (Lnet/minecraft/world/World;Ljava/util/Random;Lnet/minecraft/world/gen/structure/StructureBoundingBox;)Z +MD: bnp/a (Lbms;Ljava/util/List;Ljava/util/Random;)V net/minecraft/world/gen/structure/StructureVillagePieces$Well/func_74861_a (Lnet/minecraft/world/gen/structure/StructureComponent;Ljava/util/List;Ljava/util/Random;)V +MD: bnu/a (IDD)D net/minecraft/world/gen/NoiseGeneratorImproved/func_76309_a (IDD)D +MD: bnu/a (IDDD)D net/minecraft/world/gen/NoiseGeneratorImproved/func_76310_a (IDDD)D +MD: bnu/a ([DDDDIIIDDDD)V net/minecraft/world/gen/NoiseGeneratorImproved/func_76308_a ([DDDDIIIDDDD)V +MD: bnu/b (DDD)D net/minecraft/world/gen/NoiseGeneratorImproved/func_76311_b (DDD)D +MD: bnv/a ([DIIIIDDD)[D net/minecraft/world/gen/NoiseGeneratorOctaves/func_76305_a ([DIIIIDDD)[D +MD: bnv/a ([DIIIIIIDDD)[D net/minecraft/world/gen/NoiseGeneratorOctaves/func_76304_a ([DIIIIIIDDD)[D +MD: bnw/a (DD)D net/minecraft/world/gen/NoiseGeneratorPerlin/func_151601_a (DD)D +MD: bnw/a ([DDDIIDDD)[D net/minecraft/world/gen/NoiseGeneratorPerlin/func_151599_a ([DDDIIDDD)[D +MD: bnw/a ([DDDIIDDDD)[D net/minecraft/world/gen/NoiseGeneratorPerlin/func_151600_a ([DDDIIDDDD)[D +MD: bnz/a (D)I net/minecraft/world/gen/NoiseGeneratorSimplex/func_151607_a (D)I +MD: bnz/a (DD)D net/minecraft/world/gen/NoiseGeneratorSimplex/func_151605_a (DD)D +MD: bnz/a ([DDDIIDDD)V net/minecraft/world/gen/NoiseGeneratorSimplex/func_151606_a ([DDDIIDDD)V +MD: bnz/a ([IDD)D net/minecraft/world/gen/NoiseGeneratorSimplex/func_151604_a ([IDD)D +MD: bo/a ()I net/minecraft/command/CommandDifficulty/func_82362_a ()I +MD: bo/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandDifficulty/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bo/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandDifficulty/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bo/c ()Ljava/lang/String; net/minecraft/command/CommandDifficulty/func_71517_b ()Ljava/lang/String; +MD: bo/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandDifficulty/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bo/e (Ljava/lang/String;)Lvt; net/minecraft/command/CommandDifficulty/func_180531_e (Ljava/lang/String;)Lnet/minecraft/world/EnumDifficulty; +MD: boc/a ()Z net/minecraft/block/material/MaterialLogic/func_76220_a ()Z +MD: boc/b ()Z net/minecraft/block/material/MaterialLogic/func_76228_b ()Z +MD: boc/c ()Z net/minecraft/block/material/MaterialLogic/func_76230_c ()Z +MD: bod/a ()Z net/minecraft/block/material/MaterialTransparent/func_76220_a ()Z +MD: bod/b ()Z net/minecraft/block/material/MaterialTransparent/func_76228_b ()Z +MD: bod/c ()Z net/minecraft/block/material/MaterialTransparent/func_76230_c ()Z +MD: boe/a ()Z net/minecraft/block/material/MaterialLiquid/func_76220_a ()Z +MD: boe/c ()Z net/minecraft/block/material/MaterialLiquid/func_76230_c ()Z +MD: boe/d ()Z net/minecraft/block/material/MaterialLiquid/func_76224_d ()Z +MD: bof/a ()Z net/minecraft/block/material/Material/func_76220_a ()Z +MD: bof/b ()Z net/minecraft/block/material/Material/func_76228_b ()Z +MD: bof/c ()Z net/minecraft/block/material/Material/func_76230_c ()Z +MD: bof/d ()Z net/minecraft/block/material/Material/func_76224_d ()Z +MD: bof/f ()Lbof; net/minecraft/block/material/Material/func_76221_f ()Lnet/minecraft/block/material/Material; +MD: bof/g ()Lbof; net/minecraft/block/material/Material/func_76226_g ()Lnet/minecraft/block/material/Material; +MD: bof/h ()Z net/minecraft/block/material/Material/func_76217_h ()Z +MD: bof/i ()Lbof; net/minecraft/block/material/Material/func_76231_i ()Lnet/minecraft/block/material/Material; +MD: bof/j ()Z net/minecraft/block/material/Material/func_76222_j ()Z +MD: bof/k ()Z net/minecraft/block/material/Material/func_76218_k ()Z +MD: bof/l ()Z net/minecraft/block/material/Material/func_76229_l ()Z +MD: bof/m ()I net/minecraft/block/material/Material/func_76227_m ()I +MD: bof/n ()Lbof; net/minecraft/block/material/Material/func_76219_n ()Lnet/minecraft/block/material/Material; +MD: bof/o ()Lbof; net/minecraft/block/material/Material/func_76225_o ()Lnet/minecraft/block/material/Material; +MD: bof/p ()Lbof; net/minecraft/block/material/Material/func_85158_p ()Lnet/minecraft/block/material/Material; +MD: bof/r ()Lboh; net/minecraft/block/material/Material/func_151565_r ()Lnet/minecraft/block/material/MapColor; +MD: bof/s ()Lbof; net/minecraft/block/material/Material/func_76223_p ()Lnet/minecraft/block/material/Material; +MD: bog/c ()Z net/minecraft/block/material/Material$1/func_76230_c ()Z +MD: boh/a (I)I net/minecraft/block/material/MapColor/func_151643_b (I)I +MD: boi/a ()Z net/minecraft/block/material/MaterialPortal/func_76220_a ()Z +MD: boi/b ()Z net/minecraft/block/material/MaterialPortal/func_76228_b ()Z +MD: boi/c ()Z net/minecraft/block/material/MaterialPortal/func_76230_c ()Z +MD: bok/a (IIII)[I net/minecraft/world/gen/layer/GenLayerDeepOcean/func_75904_a (IIII)[I +MD: bol/a (IIII)[I net/minecraft/world/gen/layer/GenLayerEdge/func_75904_a (IIII)[I +MD: bol/c (IIII)[I net/minecraft/world/gen/layer/GenLayerEdge/func_151626_c (IIII)[I +MD: bol/d (IIII)[I net/minecraft/world/gen/layer/GenLayerEdge/func_151624_d (IIII)[I +MD: bol/e (IIII)[I net/minecraft/world/gen/layer/GenLayerEdge/func_151625_e (IIII)[I +MD: bon/values ()[Lbon; net/minecraft/world/gen/layer/GenLayerEdge$Mode/values ()[Lnet/minecraft/world/gen/layer/GenLayerEdge$Mode; +MD: boo/a (IIII)[I net/minecraft/world/gen/layer/GenLayerAddIsland/func_75904_a (IIII)[I +MD: bop/a (IIII)[I net/minecraft/world/gen/layer/GenLayerAddMushroomIsland/func_75904_a (IIII)[I +MD: boq/a (IIII)[I net/minecraft/world/gen/layer/GenLayerAddSnow/func_75904_a (IIII)[I +MD: bor/a (IIII)[I net/minecraft/world/gen/layer/GenLayerBiomeEdge/func_75904_a (IIII)[I +MD: bor/a ([I[IIIIIII)Z net/minecraft/world/gen/layer/GenLayerBiomeEdge/func_151636_a ([I[IIIIIII)Z +MD: bor/b (II)Z net/minecraft/world/gen/layer/GenLayerBiomeEdge/func_151634_b (II)Z +MD: bor/b ([I[IIIIIII)Z net/minecraft/world/gen/layer/GenLayerBiomeEdge/func_151635_b ([I[IIIIIII)Z +MD: bos/a (IIII)[I net/minecraft/world/gen/layer/GenLayerBiome/func_75904_a (IIII)[I +MD: bow/b (IIII)I net/minecraft/world/gen/layer/GenLayerFuzzyZoom/func_151617_b (IIII)I +MD: boy/a ()V net/minecraft/world/gen/layer/IntCache/func_76446_a ()V +MD: boy/a (I)[I net/minecraft/world/gen/layer/IntCache/func_76445_a (I)[I +MD: boy/b ()Ljava/lang/String; net/minecraft/world/gen/layer/IntCache/func_85144_b ()Ljava/lang/String; +MD: boz/a (IIII)[I net/minecraft/world/gen/layer/GenLayerIsland/func_75904_a (IIII)[I +MD: bp/a ()I net/minecraft/command/CommandGameMode/func_82362_a ()I +MD: bp/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandGameMode/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bp/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandGameMode/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bp/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandGameMode/func_82358_a ([Ljava/lang/String;I)Z +MD: bp/c ()Ljava/lang/String; net/minecraft/command/CommandGameMode/func_71517_b ()Ljava/lang/String; +MD: bp/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandGameMode/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bp/d ()[Ljava/lang/String; net/minecraft/command/CommandGameMode/func_71538_c ()[Ljava/lang/String; +MD: bp/h (Lae;Ljava/lang/String;)Larc; net/minecraft/command/CommandGameMode/func_71539_b (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Lnet/minecraft/world/WorldSettings$GameType; +MD: bpa/a (I)I net/minecraft/world/gen/layer/GenLayer/func_75902_a (I)I +MD: bpa/a (II)Z net/minecraft/world/gen/layer/GenLayer/func_151616_a (II)Z +MD: bpa/a (IIII)[I net/minecraft/world/gen/layer/GenLayer/func_75904_a (IIII)[I +MD: bpa/a (J)V net/minecraft/world/gen/layer/GenLayer/func_75905_a (J)V +MD: bpa/a (JJ)V net/minecraft/world/gen/layer/GenLayer/func_75903_a (JJ)V +MD: bpa/a (JLare;Ljava/lang/String;)[Lbpa; net/minecraft/world/gen/layer/GenLayer/func_180781_a (JLnet/minecraft/world/WorldType;Ljava/lang/String;)[Lnet/minecraft/world/gen/layer/GenLayer; +MD: bpa/a ([I)I net/minecraft/world/gen/layer/GenLayer/func_151619_a ([I)I +MD: bpa/b (I)Z net/minecraft/world/gen/layer/GenLayer/func_151618_b (I)Z +MD: bpa/b (IIII)I net/minecraft/world/gen/layer/GenLayer/func_151617_b (IIII)I +MD: bpb/a ()Ljava/lang/String; net/minecraft/world/gen/layer/GenLayer$1/call ()Ljava/lang/String; +MD: bpb/call ()Ljava/lang/Object; net/minecraft/world/gen/layer/GenLayer$1/call ()Ljava/lang/Object; +MD: bpc/a ()Ljava/lang/String; net/minecraft/world/gen/layer/GenLayer$2/call ()Ljava/lang/String; +MD: bpc/call ()Ljava/lang/Object; net/minecraft/world/gen/layer/GenLayer$2/call ()Ljava/lang/Object; +MD: bpd/a (IIII)[I net/minecraft/world/gen/layer/GenLayerRareBiome/func_75904_a (IIII)[I +MD: bpe/a (IIII)[I net/minecraft/world/gen/layer/GenLayerHills/func_75904_a (IIII)[I +MD: bpf/a (IIII)[I net/minecraft/world/gen/layer/GenLayerRemoveTooMuchOcean/func_75904_a (IIII)[I +MD: bpg/a (IIII)[I net/minecraft/world/gen/layer/GenLayerRiverInit/func_75904_a (IIII)[I +MD: bph/a (IIII)[I net/minecraft/world/gen/layer/GenLayerRiver/func_75904_a (IIII)[I +MD: bph/c (I)I net/minecraft/world/gen/layer/GenLayerRiver/func_151630_c (I)I +MD: bpi/a (IIII)[I net/minecraft/world/gen/layer/GenLayerRiverMix/func_75904_a (IIII)[I +MD: bpi/a (J)V net/minecraft/world/gen/layer/GenLayerRiverMix/func_75905_a (J)V +MD: bpj/a (IIII)[I net/minecraft/world/gen/layer/GenLayerShore/func_75904_a (IIII)[I +MD: bpj/a ([I[IIIIII)V net/minecraft/world/gen/layer/GenLayerShore/func_151632_a ([I[IIIIII)V +MD: bpj/c (I)Z net/minecraft/world/gen/layer/GenLayerShore/func_151631_c (I)Z +MD: bpj/d (I)Z net/minecraft/world/gen/layer/GenLayerShore/func_151633_d (I)Z +MD: bpk/a (IIII)[I net/minecraft/world/gen/layer/GenLayerSmooth/func_75904_a (IIII)[I +MD: bpo/a (IIII)[I net/minecraft/world/gen/layer/GenLayerVoronoiZoom/func_75904_a (IIII)[I +MD: bpp/a (IIII)[I net/minecraft/world/gen/layer/GenLayerZoom/func_75904_a (IIII)[I +MD: bpp/b (JLbpa;I)Lbpa; net/minecraft/world/gen/layer/GenLayerZoom/func_75915_a (JLnet/minecraft/world/gen/layer/GenLayer;I)Lnet/minecraft/world/gen/layer/GenLayer; +MD: bps/a ()V net/minecraft/pathfinding/Path/func_75848_a ()V +MD: bps/a (I)V net/minecraft/pathfinding/Path/func_75847_a (I)V +MD: bps/a (Lbpt;)Lbpt; net/minecraft/pathfinding/Path/func_75849_a (Lnet/minecraft/pathfinding/PathPoint;)Lnet/minecraft/pathfinding/PathPoint; +MD: bps/a (Lbpt;F)V net/minecraft/pathfinding/Path/func_75850_a (Lnet/minecraft/pathfinding/PathPoint;F)V +MD: bps/b (I)V net/minecraft/pathfinding/Path/func_75846_b (I)V +MD: bps/c ()Lbpt; net/minecraft/pathfinding/Path/func_75844_c ()Lnet/minecraft/pathfinding/PathPoint; +MD: bps/e ()Z net/minecraft/pathfinding/Path/func_75845_e ()Z +MD: bpt/a ()Z net/minecraft/pathfinding/PathPoint/func_75831_a ()Z +MD: bpt/a (III)I net/minecraft/pathfinding/PathPoint/func_75830_a (III)I +MD: bpt/a (Lbpt;)F net/minecraft/pathfinding/PathPoint/func_75829_a (Lnet/minecraft/pathfinding/PathPoint;)F +MD: bpt/b (Lbpt;)F net/minecraft/pathfinding/PathPoint/func_75832_b (Lnet/minecraft/pathfinding/PathPoint;)F +MD: bpt/equals (Ljava/lang/Object;)Z net/minecraft/pathfinding/PathPoint/equals (Ljava/lang/Object;)Z +MD: bpt/hashCode ()I net/minecraft/pathfinding/PathPoint/hashCode ()I +MD: bpt/toString ()Ljava/lang/String; net/minecraft/pathfinding/PathPoint/toString ()Ljava/lang/String; +MD: bpu/a ()V net/minecraft/world/pathfinder/NodeProcessor/func_176163_a ()V +MD: bpu/a (III)Lbpt; net/minecraft/world/pathfinder/NodeProcessor/func_176159_a (III)Lnet/minecraft/pathfinding/PathPoint; +MD: bpu/a (Lard;Lwv;)V net/minecraft/world/pathfinder/NodeProcessor/func_176162_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/entity/Entity;)V +MD: bpu/a (Lwv;)Lbpt; net/minecraft/world/pathfinder/NodeProcessor/func_176161_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/pathfinding/PathPoint; +MD: bpu/a (Lwv;DDD)Lbpt; net/minecraft/world/pathfinder/NodeProcessor/func_176160_a (Lnet/minecraft/entity/Entity;DDD)Lnet/minecraft/pathfinding/PathPoint; +MD: bpu/a ([Lbpt;Lwv;Lbpt;Lbpt;F)I net/minecraft/world/pathfinder/NodeProcessor/func_176164_a ([Lnet/minecraft/pathfinding/PathPoint;Lnet/minecraft/entity/Entity;Lnet/minecraft/pathfinding/PathPoint;Lnet/minecraft/pathfinding/PathPoint;F)I +MD: bpv/a ()V net/minecraft/pathfinding/PathEntity/func_75875_a ()V +MD: bpv/a (I)Lbpt; net/minecraft/pathfinding/PathEntity/func_75877_a (I)Lnet/minecraft/pathfinding/PathPoint; +MD: bpv/a (Lbpv;)Z net/minecraft/pathfinding/PathEntity/func_75876_a (Lnet/minecraft/pathfinding/PathEntity;)Z +MD: bpv/a (Lwv;)Lbrw; net/minecraft/pathfinding/PathEntity/func_75878_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/Vec3; +MD: bpv/a (Lwv;I)Lbrw; net/minecraft/pathfinding/PathEntity/func_75881_a (Lnet/minecraft/entity/Entity;I)Lnet/minecraft/util/Vec3; +MD: bpv/b ()Z net/minecraft/pathfinding/PathEntity/func_75879_b ()Z +MD: bpv/b (I)V net/minecraft/pathfinding/PathEntity/func_75871_b (I)V +MD: bpv/b (Lbrw;)Z net/minecraft/pathfinding/PathEntity/func_75880_b (Lnet/minecraft/util/Vec3;)Z +MD: bpv/c ()Lbpt; net/minecraft/pathfinding/PathEntity/func_75870_c ()Lnet/minecraft/pathfinding/PathPoint; +MD: bpv/c (I)V net/minecraft/pathfinding/PathEntity/func_75872_c (I)V +MD: bpv/d ()I net/minecraft/pathfinding/PathEntity/func_75874_d ()I +MD: bpv/e ()I net/minecraft/pathfinding/PathEntity/func_75873_e ()I +MD: bpw/a (Lard;Lwv;DDDF)Lbpv; net/minecraft/pathfinding/PathFinder/func_176189_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/entity/Entity;DDDF)Lnet/minecraft/pathfinding/PathEntity; +MD: bpw/a (Lard;Lwv;Ldt;F)Lbpv; net/minecraft/pathfinding/PathFinder/func_180782_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/entity/Entity;Lnet/minecraft/util/BlockPos;F)Lnet/minecraft/pathfinding/PathEntity; +MD: bpw/a (Lard;Lwv;Lwv;F)Lbpv; net/minecraft/pathfinding/PathFinder/func_176188_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/Entity;F)Lnet/minecraft/pathfinding/PathEntity; +MD: bpw/a (Lbpt;Lbpt;)Lbpv; net/minecraft/pathfinding/PathFinder/func_75853_a (Lnet/minecraft/pathfinding/PathPoint;Lnet/minecraft/pathfinding/PathPoint;)Lnet/minecraft/pathfinding/PathEntity; +MD: bpw/a (Lwv;Lbpt;Lbpt;F)Lbpv; net/minecraft/pathfinding/PathFinder/func_176187_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/pathfinding/PathPoint;Lnet/minecraft/pathfinding/PathPoint;F)Lnet/minecraft/pathfinding/PathEntity; +MD: bpx/a ()V net/minecraft/world/pathfinder/SwimNodeProcessor/func_176163_a ()V +MD: bpx/a (Lard;Lwv;)V net/minecraft/world/pathfinder/SwimNodeProcessor/func_176162_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/entity/Entity;)V +MD: bpx/a (Lwv;)Lbpt; net/minecraft/world/pathfinder/SwimNodeProcessor/func_176161_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/pathfinding/PathPoint; +MD: bpx/a (Lwv;DDD)Lbpt; net/minecraft/world/pathfinder/SwimNodeProcessor/func_176160_a (Lnet/minecraft/entity/Entity;DDD)Lnet/minecraft/pathfinding/PathPoint; +MD: bpx/a (Lwv;III)Lbpt; net/minecraft/world/pathfinder/SwimNodeProcessor/func_176185_a (Lnet/minecraft/entity/Entity;III)Lnet/minecraft/pathfinding/PathPoint; +MD: bpx/a ([Lbpt;Lwv;Lbpt;Lbpt;F)I net/minecraft/world/pathfinder/SwimNodeProcessor/func_176164_a ([Lnet/minecraft/pathfinding/PathPoint;Lnet/minecraft/entity/Entity;Lnet/minecraft/pathfinding/PathPoint;Lnet/minecraft/pathfinding/PathPoint;F)I +MD: bpx/b (Lwv;III)I net/minecraft/world/pathfinder/SwimNodeProcessor/func_176186_b (Lnet/minecraft/entity/Entity;III)I +MD: bpy/a ()V net/minecraft/world/pathfinder/WalkNodeProcessor/func_176163_a ()V +MD: bpy/a (Lard;Lwv;)V net/minecraft/world/pathfinder/WalkNodeProcessor/func_176162_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/entity/Entity;)V +MD: bpy/a (Lard;Lwv;IIIIIIZZZ)I net/minecraft/world/pathfinder/WalkNodeProcessor/func_176170_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/entity/Entity;IIIIIIZZZ)I +MD: bpy/a (Lwv;)Lbpt; net/minecraft/world/pathfinder/WalkNodeProcessor/func_176161_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/pathfinding/PathPoint; +MD: bpy/a (Lwv;DDD)Lbpt; net/minecraft/world/pathfinder/WalkNodeProcessor/func_176160_a (Lnet/minecraft/entity/Entity;DDD)Lnet/minecraft/pathfinding/PathPoint; +MD: bpy/a (Lwv;III)I net/minecraft/world/pathfinder/WalkNodeProcessor/func_176177_a (Lnet/minecraft/entity/Entity;III)I +MD: bpy/a (Lwv;IIII)Lbpt; net/minecraft/world/pathfinder/WalkNodeProcessor/func_176171_a (Lnet/minecraft/entity/Entity;IIII)Lnet/minecraft/pathfinding/PathPoint; +MD: bpy/a (Z)V net/minecraft/world/pathfinder/WalkNodeProcessor/func_176175_a (Z)V +MD: bpy/a ([Lbpt;Lwv;Lbpt;Lbpt;F)I net/minecraft/world/pathfinder/WalkNodeProcessor/func_176164_a ([Lnet/minecraft/pathfinding/PathPoint;Lnet/minecraft/entity/Entity;Lnet/minecraft/pathfinding/PathPoint;Lnet/minecraft/pathfinding/PathPoint;F)I +MD: bpy/b ()Z net/minecraft/world/pathfinder/WalkNodeProcessor/func_176179_b ()Z +MD: bpy/b (Z)V net/minecraft/world/pathfinder/WalkNodeProcessor/func_176172_b (Z)V +MD: bpy/c (Z)V net/minecraft/world/pathfinder/WalkNodeProcessor/func_176176_c (Z)V +MD: bpy/d ()Z net/minecraft/world/pathfinder/WalkNodeProcessor/func_176174_d ()Z +MD: bpy/d (Z)V net/minecraft/world/pathfinder/WalkNodeProcessor/func_176178_d (Z)V +MD: bpy/e ()Z net/minecraft/world/pathfinder/WalkNodeProcessor/func_176173_e ()Z +MD: bq/a ()I net/minecraft/command/CommandGameRule/func_82362_a ()I +MD: bq/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandGameRule/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bq/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandGameRule/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bq/a (Laqq;Ljava/lang/String;)V net/minecraft/command/CommandGameRule/func_175773_a (Lnet/minecraft/world/GameRules;Ljava/lang/String;)V +MD: bq/c ()Ljava/lang/String; net/minecraft/command/CommandGameRule/func_71517_b ()Ljava/lang/String; +MD: bq/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandGameRule/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bq/d ()Laqq; net/minecraft/command/CommandGameRule/func_82366_d ()Lnet/minecraft/world/GameRules; +MD: bqc/a (Lfn;)V net/minecraft/world/WorldSavedData/func_76184_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bqc/a (Z)V net/minecraft/world/WorldSavedData/func_76186_a (Z)V +MD: bqc/b (Lfn;)V net/minecraft/world/WorldSavedData/func_76187_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bqc/c ()V net/minecraft/world/WorldSavedData/func_76185_a ()V +MD: bqc/d ()Z net/minecraft/world/WorldSavedData/func_76188_b ()Z +MD: bqd/a ()B net/minecraft/util/Vec4b/func_176110_a ()B +MD: bqd/b ()B net/minecraft/util/Vec4b/func_176112_b ()B +MD: bqd/c ()B net/minecraft/util/Vec4b/func_176113_c ()B +MD: bqd/d ()B net/minecraft/util/Vec4b/func_176111_d ()B +MD: bqd/equals (Ljava/lang/Object;)Z net/minecraft/util/Vec4b/equals (Ljava/lang/Object;)Z +MD: bqd/hashCode ()I net/minecraft/util/Vec4b/hashCode ()I +MD: bqe/a (DDI)V net/minecraft/world/storage/MapData/func_176054_a (DDI)V +MD: bqe/a (II)V net/minecraft/world/storage/MapData/func_176053_a (II)V +MD: bqe/a (ILaqu;Ljava/lang/String;DDD)V net/minecraft/world/storage/MapData/func_82567_a (ILnet/minecraft/world/World;Ljava/lang/String;DDD)V +MD: bqe/a (Lahd;)Lbqf; net/minecraft/world/storage/MapData/func_82568_a (Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/world/storage/MapData$MapInfo; +MD: bqe/a (Lahd;Lamj;)V net/minecraft/world/storage/MapData/func_76191_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/item/ItemStack;)V +MD: bqe/a (Lamj;Laqu;Lahd;)Lid; net/minecraft/world/storage/MapData/func_176052_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/network/Packet; +MD: bqe/a (Lfn;)V net/minecraft/world/storage/MapData/func_76184_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bqe/b (Lfn;)V net/minecraft/world/storage/MapData/func_76187_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bqf/a (II)V net/minecraft/world/storage/MapData$MapInfo/func_176102_a (II)V +MD: bqf/a (Lamj;)Lid; net/minecraft/world/storage/MapData$MapInfo/func_176101_a (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/network/Packet; +MD: bqi/a ()V net/minecraft/world/chunk/storage/AnvilSaveHandler/func_75759_a ()V +MD: bqi/a (Lbgd;)Lbfq; net/minecraft/world/chunk/storage/AnvilSaveHandler/func_75763_a (Lnet/minecraft/world/WorldProvider;)Lnet/minecraft/world/chunk/storage/IChunkLoader; +MD: bqi/a (Lbqo;Lfn;)V net/minecraft/world/chunk/storage/AnvilSaveHandler/func_75755_a (Lnet/minecraft/world/storage/WorldInfo;Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bqj/a ()Ljava/lang/String; net/minecraft/world/chunk/storage/AnvilSaveConverter/func_154333_a ()Ljava/lang/String; +MD: bqj/a (Ljava/io/File;Ljava/io/File;Larz;IILuy;)V net/minecraft/world/chunk/storage/AnvilSaveConverter/func_75811_a (Ljava/io/File;Ljava/io/File;Lnet/minecraft/world/biome/WorldChunkManager;IILnet/minecraft/util/IProgressUpdate;)V +MD: bqj/a (Ljava/io/File;Ljava/lang/Iterable;Larz;IILuy;)V net/minecraft/world/chunk/storage/AnvilSaveConverter/func_75813_a (Ljava/io/File;Ljava/lang/Iterable;Lnet/minecraft/world/biome/WorldChunkManager;IILnet/minecraft/util/IProgressUpdate;)V +MD: bqj/a (Ljava/io/File;Ljava/util/Collection;)V net/minecraft/world/chunk/storage/AnvilSaveConverter/func_75810_a (Ljava/io/File;Ljava/util/Collection;)V +MD: bqj/a (Ljava/lang/String;)Z net/minecraft/world/chunk/storage/AnvilSaveConverter/func_154334_a (Ljava/lang/String;)Z +MD: bqj/a (Ljava/lang/String;Luy;)Z net/minecraft/world/chunk/storage/AnvilSaveConverter/func_75805_a (Ljava/lang/String;Lnet/minecraft/util/IProgressUpdate;)Z +MD: bqj/a (Ljava/lang/String;Z)Lbqy; net/minecraft/world/chunk/storage/AnvilSaveConverter/func_75804_a (Ljava/lang/String;Z)Lnet/minecraft/world/storage/ISaveHandler; +MD: bqj/b ()Ljava/util/List; net/minecraft/world/chunk/storage/AnvilSaveConverter/func_75799_b ()Ljava/util/List; +MD: bqj/b (Ljava/lang/String;)Z net/minecraft/world/chunk/storage/AnvilSaveConverter/func_75801_b (Ljava/lang/String;)Z +MD: bqj/c ()I net/minecraft/world/chunk/storage/AnvilSaveConverter/func_75812_c ()I +MD: bqj/d ()V net/minecraft/world/chunk/storage/AnvilSaveConverter/func_75800_d ()V +MD: bqj/g (Ljava/lang/String;)V net/minecraft/world/chunk/storage/AnvilSaveConverter/func_75809_f (Ljava/lang/String;)V +MD: bqk/accept (Ljava/io/File;Ljava/lang/String;)Z net/minecraft/world/chunk/storage/AnvilSaveConverter$1/accept (Ljava/io/File;Ljava/lang/String;)Z +MD: bql/a ()Lfn; net/minecraft/world/storage/DerivedWorldInfo/func_76066_a ()Lnet/minecraft/nbt/NBTTagCompound; +MD: bql/a (I)V net/minecraft/world/storage/DerivedWorldInfo/func_76058_a (I)V +MD: bql/a (Lare;)V net/minecraft/world/storage/DerivedWorldInfo/func_76085_a (Lnet/minecraft/world/WorldType;)V +MD: bql/a (Ldt;)V net/minecraft/world/storage/DerivedWorldInfo/func_176143_a (Lnet/minecraft/util/BlockPos;)V +MD: bql/a (Lfn;)Lfn; net/minecraft/world/storage/DerivedWorldInfo/func_76082_a (Lnet/minecraft/nbt/NBTTagCompound;)Lnet/minecraft/nbt/NBTTagCompound; +MD: bql/a (Ljava/lang/String;)V net/minecraft/world/storage/DerivedWorldInfo/func_76062_a (Ljava/lang/String;)V +MD: bql/a (Lvt;)V net/minecraft/world/storage/DerivedWorldInfo/func_176144_a (Lnet/minecraft/world/EnumDifficulty;)V +MD: bql/a (Z)V net/minecraft/world/storage/DerivedWorldInfo/func_76069_a (Z)V +MD: bql/b ()J net/minecraft/world/storage/DerivedWorldInfo/func_76063_b ()J +MD: bql/b (I)V net/minecraft/world/storage/DerivedWorldInfo/func_76056_b (I)V +MD: bql/b (J)V net/minecraft/world/storage/DerivedWorldInfo/func_82572_b (J)V +MD: bql/b (Z)V net/minecraft/world/storage/DerivedWorldInfo/func_76084_b (Z)V +MD: bql/c ()I net/minecraft/world/storage/DerivedWorldInfo/func_76079_c ()I +MD: bql/c (I)V net/minecraft/world/storage/DerivedWorldInfo/func_76087_c (I)V +MD: bql/c (J)V net/minecraft/world/storage/DerivedWorldInfo/func_76068_b (J)V +MD: bql/c (Z)V net/minecraft/world/storage/DerivedWorldInfo/func_176121_c (Z)V +MD: bql/d ()I net/minecraft/world/storage/DerivedWorldInfo/func_76075_d ()I +MD: bql/d (Z)V net/minecraft/world/storage/DerivedWorldInfo/func_76091_d (Z)V +MD: bql/e ()I net/minecraft/world/storage/DerivedWorldInfo/func_76074_e ()I +MD: bql/e (I)V net/minecraft/world/storage/DerivedWorldInfo/func_76078_e (I)V +MD: bql/e (Z)V net/minecraft/world/storage/DerivedWorldInfo/func_180783_e (Z)V +MD: bql/f ()J net/minecraft/world/storage/DerivedWorldInfo/func_82573_f ()J +MD: bql/f (I)V net/minecraft/world/storage/DerivedWorldInfo/func_76090_f (I)V +MD: bql/g ()J net/minecraft/world/storage/DerivedWorldInfo/func_76073_f ()J +MD: bql/g (I)V net/minecraft/world/storage/DerivedWorldInfo/func_76080_g (I)V +MD: bql/h ()J net/minecraft/world/storage/DerivedWorldInfo/func_76092_g ()J +MD: bql/i ()Lfn; net/minecraft/world/storage/DerivedWorldInfo/func_76072_h ()Lnet/minecraft/nbt/NBTTagCompound; +MD: bql/k ()Ljava/lang/String; net/minecraft/world/storage/DerivedWorldInfo/func_76065_j ()Ljava/lang/String; +MD: bql/l ()I net/minecraft/world/storage/DerivedWorldInfo/func_76088_k ()I +MD: bql/m ()J net/minecraft/world/storage/DerivedWorldInfo/func_76057_l ()J +MD: bql/n ()Z net/minecraft/world/storage/DerivedWorldInfo/func_76061_m ()Z +MD: bql/o ()I net/minecraft/world/storage/DerivedWorldInfo/func_76071_n ()I +MD: bql/p ()Z net/minecraft/world/storage/DerivedWorldInfo/func_76059_o ()Z +MD: bql/q ()I net/minecraft/world/storage/DerivedWorldInfo/func_76083_p ()I +MD: bql/r ()Larc; net/minecraft/world/storage/DerivedWorldInfo/func_76077_q ()Lnet/minecraft/world/WorldSettings$GameType; +MD: bql/s ()Z net/minecraft/world/storage/DerivedWorldInfo/func_76089_r ()Z +MD: bql/t ()Z net/minecraft/world/storage/DerivedWorldInfo/func_76093_s ()Z +MD: bql/u ()Lare; net/minecraft/world/storage/DerivedWorldInfo/func_76067_t ()Lnet/minecraft/world/WorldType; +MD: bql/v ()Z net/minecraft/world/storage/DerivedWorldInfo/func_76086_u ()Z +MD: bql/w ()Z net/minecraft/world/storage/DerivedWorldInfo/func_76070_v ()Z +MD: bql/x ()Laqq; net/minecraft/world/storage/DerivedWorldInfo/func_82574_x ()Lnet/minecraft/world/GameRules; +MD: bql/y ()Lvt; net/minecraft/world/storage/DerivedWorldInfo/func_176130_y ()Lnet/minecraft/world/EnumDifficulty; +MD: bql/z ()Z net/minecraft/world/storage/DerivedWorldInfo/func_176123_z ()Z +MD: bqm/a ()V net/minecraft/world/storage/SaveHandler/func_75759_a ()V +MD: bqm/a (Lahd;)V net/minecraft/world/storage/SaveHandler/func_75753_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: bqm/a (Lbgd;)Lbfq; net/minecraft/world/storage/SaveHandler/func_75763_a (Lnet/minecraft/world/WorldProvider;)Lnet/minecraft/world/chunk/storage/IChunkLoader; +MD: bqm/a (Lbqo;)V net/minecraft/world/storage/SaveHandler/func_75761_a (Lnet/minecraft/world/storage/WorldInfo;)V +MD: bqm/a (Lbqo;Lfn;)V net/minecraft/world/storage/SaveHandler/func_75755_a (Lnet/minecraft/world/storage/WorldInfo;Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bqm/a (Ljava/lang/String;)Ljava/io/File; net/minecraft/world/storage/SaveHandler/func_75758_b (Ljava/lang/String;)Ljava/io/File; +MD: bqm/b ()Ljava/io/File; net/minecraft/world/storage/SaveHandler/func_75765_b ()Ljava/io/File; +MD: bqm/b (Lahd;)Lfn; net/minecraft/world/storage/SaveHandler/func_75752_b (Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/nbt/NBTTagCompound; +MD: bqm/c ()V net/minecraft/world/storage/SaveHandler/func_75762_c ()V +MD: bqm/d ()Lbqo; net/minecraft/world/storage/SaveHandler/func_75757_d ()Lnet/minecraft/world/storage/WorldInfo; +MD: bqm/e ()Lbrl; net/minecraft/world/storage/SaveHandler/func_75756_e ()Lnet/minecraft/world/storage/IPlayerFileData; +MD: bqm/f ()[Ljava/lang/String; net/minecraft/world/storage/SaveHandler/func_75754_f ()[Ljava/lang/String; +MD: bqm/g ()Ljava/lang/String; net/minecraft/world/storage/SaveHandler/func_75760_g ()Ljava/lang/String; +MD: bqm/h ()V net/minecraft/world/storage/SaveHandler/func_75766_h ()V +MD: bqn/a ()Ljava/lang/String; net/minecraft/world/storage/SaveFormatOld/func_154333_a ()Ljava/lang/String; +MD: bqn/a (Ljava/lang/String;)Z net/minecraft/world/storage/SaveFormatOld/func_154334_a (Ljava/lang/String;)Z +MD: bqn/a (Ljava/lang/String;Ljava/lang/String;)V net/minecraft/world/storage/SaveFormatOld/func_75806_a (Ljava/lang/String;Ljava/lang/String;)V +MD: bqn/a (Ljava/lang/String;Luy;)Z net/minecraft/world/storage/SaveFormatOld/func_75805_a (Ljava/lang/String;Lnet/minecraft/util/IProgressUpdate;)Z +MD: bqn/a (Ljava/lang/String;Z)Lbqy; net/minecraft/world/storage/SaveFormatOld/func_75804_a (Ljava/lang/String;Z)Lnet/minecraft/world/storage/ISaveHandler; +MD: bqn/a ([Ljava/io/File;)Z net/minecraft/world/storage/SaveFormatOld/func_75807_a ([Ljava/io/File;)Z +MD: bqn/b ()Ljava/util/List; net/minecraft/world/storage/SaveFormatOld/func_75799_b ()Ljava/util/List; +MD: bqn/b (Ljava/lang/String;)Z net/minecraft/world/storage/SaveFormatOld/func_75801_b (Ljava/lang/String;)Z +MD: bqn/c (Ljava/lang/String;)Lbqo; net/minecraft/world/storage/SaveFormatOld/func_75803_c (Ljava/lang/String;)Lnet/minecraft/world/storage/WorldInfo; +MD: bqn/d ()V net/minecraft/world/storage/SaveFormatOld/func_75800_d ()V +MD: bqn/d (Ljava/lang/String;)Z net/minecraft/world/storage/SaveFormatOld/func_154335_d (Ljava/lang/String;)Z +MD: bqn/e (Ljava/lang/String;)Z net/minecraft/world/storage/SaveFormatOld/func_75802_e (Ljava/lang/String;)Z +MD: bqn/f (Ljava/lang/String;)Z net/minecraft/world/storage/SaveFormatOld/func_90033_f (Ljava/lang/String;)Z +MD: bqo/A ()I net/minecraft/world/storage/WorldInfo/func_176133_A ()I +MD: bqo/B ()Ljava/lang/String; net/minecraft/world/storage/WorldInfo/func_82571_y ()Ljava/lang/String; +MD: bqo/C ()D net/minecraft/world/storage/WorldInfo/func_176120_C ()D +MD: bqo/D ()D net/minecraft/world/storage/WorldInfo/func_176126_D ()D +MD: bqo/E ()D net/minecraft/world/storage/WorldInfo/func_176137_E ()D +MD: bqo/F ()J net/minecraft/world/storage/WorldInfo/func_176134_F ()J +MD: bqo/G ()D net/minecraft/world/storage/WorldInfo/func_176132_G ()D +MD: bqo/H ()D net/minecraft/world/storage/WorldInfo/func_176138_H ()D +MD: bqo/I ()D net/minecraft/world/storage/WorldInfo/func_176140_I ()D +MD: bqo/J ()I net/minecraft/world/storage/WorldInfo/func_176131_J ()I +MD: bqo/K ()I net/minecraft/world/storage/WorldInfo/func_176139_K ()I +MD: bqo/a ()Lfn; net/minecraft/world/storage/WorldInfo/func_76066_a ()Lnet/minecraft/nbt/NBTTagCompound; +MD: bqo/a (D)V net/minecraft/world/storage/WorldInfo/func_176145_a (D)V +MD: bqo/a (I)V net/minecraft/world/storage/WorldInfo/func_76058_a (I)V +MD: bqo/a (Larb;)V net/minecraft/world/storage/WorldInfo/func_176127_a (Lnet/minecraft/world/WorldSettings;)V +MD: bqo/a (Larc;)V net/minecraft/world/storage/WorldInfo/func_76060_a (Lnet/minecraft/world/WorldSettings$GameType;)V +MD: bqo/a (Lare;)V net/minecraft/world/storage/WorldInfo/func_76085_a (Lnet/minecraft/world/WorldType;)V +MD: bqo/a (Lbqo;)Lare; net/minecraft/world/storage/WorldInfo/access$000 (Lnet/minecraft/world/storage/WorldInfo;)Lnet/minecraft/world/WorldType; +MD: bqo/a (Ldt;)V net/minecraft/world/storage/WorldInfo/func_176143_a (Lnet/minecraft/util/BlockPos;)V +MD: bqo/a (Lfn;)Lfn; net/minecraft/world/storage/WorldInfo/func_76082_a (Lnet/minecraft/nbt/NBTTagCompound;)Lnet/minecraft/nbt/NBTTagCompound; +MD: bqo/a (Lfn;Lfn;)V net/minecraft/world/storage/WorldInfo/func_76064_a (Lnet/minecraft/nbt/NBTTagCompound;Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bqo/a (Lj;)V net/minecraft/world/storage/WorldInfo/func_85118_a (Lnet/minecraft/crash/CrashReportCategory;)V +MD: bqo/a (Ljava/lang/String;)V net/minecraft/world/storage/WorldInfo/func_76062_a (Ljava/lang/String;)V +MD: bqo/a (Lvt;)V net/minecraft/world/storage/WorldInfo/func_176144_a (Lnet/minecraft/world/EnumDifficulty;)V +MD: bqo/a (Z)V net/minecraft/world/storage/WorldInfo/func_76069_a (Z)V +MD: bqo/b ()J net/minecraft/world/storage/WorldInfo/func_76063_b ()J +MD: bqo/b (D)V net/minecraft/world/storage/WorldInfo/func_176118_b (D)V +MD: bqo/b (I)V net/minecraft/world/storage/WorldInfo/func_76056_b (I)V +MD: bqo/b (J)V net/minecraft/world/storage/WorldInfo/func_82572_b (J)V +MD: bqo/b (Lbqo;)Z net/minecraft/world/storage/WorldInfo/access$100 (Lnet/minecraft/world/storage/WorldInfo;)Z +MD: bqo/b (Z)V net/minecraft/world/storage/WorldInfo/func_76084_b (Z)V +MD: bqo/c ()I net/minecraft/world/storage/WorldInfo/func_76079_c ()I +MD: bqo/c (D)V net/minecraft/world/storage/WorldInfo/func_176141_c (D)V +MD: bqo/c (I)V net/minecraft/world/storage/WorldInfo/func_76087_c (I)V +MD: bqo/c (J)V net/minecraft/world/storage/WorldInfo/func_76068_b (J)V +MD: bqo/c (Lbqo;)Ljava/lang/String; net/minecraft/world/storage/WorldInfo/access$200 (Lnet/minecraft/world/storage/WorldInfo;)Ljava/lang/String; +MD: bqo/c (Z)V net/minecraft/world/storage/WorldInfo/func_176121_c (Z)V +MD: bqo/d ()I net/minecraft/world/storage/WorldInfo/func_76075_d ()I +MD: bqo/d (D)V net/minecraft/world/storage/WorldInfo/func_176124_d (D)V +MD: bqo/d (Lbqo;)I net/minecraft/world/storage/WorldInfo/access$300 (Lnet/minecraft/world/storage/WorldInfo;)I +MD: bqo/d (Z)V net/minecraft/world/storage/WorldInfo/func_76091_d (Z)V +MD: bqo/e ()I net/minecraft/world/storage/WorldInfo/func_76074_e ()I +MD: bqo/e (D)V net/minecraft/world/storage/WorldInfo/func_176129_e (D)V +MD: bqo/e (I)V net/minecraft/world/storage/WorldInfo/func_76078_e (I)V +MD: bqo/e (J)V net/minecraft/world/storage/WorldInfo/func_176135_e (J)V +MD: bqo/e (Lbqo;)I net/minecraft/world/storage/WorldInfo/access$400 (Lnet/minecraft/world/storage/WorldInfo;)I +MD: bqo/e (Z)V net/minecraft/world/storage/WorldInfo/func_180783_e (Z)V +MD: bqo/f ()J net/minecraft/world/storage/WorldInfo/func_82573_f ()J +MD: bqo/f (D)V net/minecraft/world/storage/WorldInfo/func_176125_f (D)V +MD: bqo/f (I)V net/minecraft/world/storage/WorldInfo/func_76090_f (I)V +MD: bqo/f (Lbqo;)I net/minecraft/world/storage/WorldInfo/access$500 (Lnet/minecraft/world/storage/WorldInfo;)I +MD: bqo/f (Z)V net/minecraft/world/storage/WorldInfo/func_176128_f (Z)V +MD: bqo/g ()J net/minecraft/world/storage/WorldInfo/func_76073_f ()J +MD: bqo/g (I)V net/minecraft/world/storage/WorldInfo/func_76080_g (I)V +MD: bqo/g (Lbqo;)J net/minecraft/world/storage/WorldInfo/access$600 (Lnet/minecraft/world/storage/WorldInfo;)J +MD: bqo/g (Z)V net/minecraft/world/storage/WorldInfo/func_176119_g (Z)V +MD: bqo/h ()J net/minecraft/world/storage/WorldInfo/func_76092_g ()J +MD: bqo/h (Lbqo;)J net/minecraft/world/storage/WorldInfo/access$700 (Lnet/minecraft/world/storage/WorldInfo;)J +MD: bqo/i ()Lfn; net/minecraft/world/storage/WorldInfo/func_76072_h ()Lnet/minecraft/nbt/NBTTagCompound; +MD: bqo/i (I)V net/minecraft/world/storage/WorldInfo/func_176142_i (I)V +MD: bqo/i (Lbqo;)I net/minecraft/world/storage/WorldInfo/access$800 (Lnet/minecraft/world/storage/WorldInfo;)I +MD: bqo/j (I)V net/minecraft/world/storage/WorldInfo/func_176122_j (I)V +MD: bqo/j (Lbqo;)I net/minecraft/world/storage/WorldInfo/access$900 (Lnet/minecraft/world/storage/WorldInfo;)I +MD: bqo/k ()Ljava/lang/String; net/minecraft/world/storage/WorldInfo/func_76065_j ()Ljava/lang/String; +MD: bqo/k (I)V net/minecraft/world/storage/WorldInfo/func_176136_k (I)V +MD: bqo/k (Lbqo;)I net/minecraft/world/storage/WorldInfo/access$1000 (Lnet/minecraft/world/storage/WorldInfo;)I +MD: bqo/l ()I net/minecraft/world/storage/WorldInfo/func_76088_k ()I +MD: bqo/l (Lbqo;)Z net/minecraft/world/storage/WorldInfo/access$1100 (Lnet/minecraft/world/storage/WorldInfo;)Z +MD: bqo/m ()J net/minecraft/world/storage/WorldInfo/func_76057_l ()J +MD: bqo/m (Lbqo;)I net/minecraft/world/storage/WorldInfo/access$1200 (Lnet/minecraft/world/storage/WorldInfo;)I +MD: bqo/n ()Z net/minecraft/world/storage/WorldInfo/func_76061_m ()Z +MD: bqo/n (Lbqo;)Z net/minecraft/world/storage/WorldInfo/access$1300 (Lnet/minecraft/world/storage/WorldInfo;)Z +MD: bqo/o ()I net/minecraft/world/storage/WorldInfo/func_76071_n ()I +MD: bqo/o (Lbqo;)Larc; net/minecraft/world/storage/WorldInfo/access$1400 (Lnet/minecraft/world/storage/WorldInfo;)Lnet/minecraft/world/WorldSettings$GameType; +MD: bqo/p ()Z net/minecraft/world/storage/WorldInfo/func_76059_o ()Z +MD: bqo/p (Lbqo;)Z net/minecraft/world/storage/WorldInfo/access$1500 (Lnet/minecraft/world/storage/WorldInfo;)Z +MD: bqo/q ()I net/minecraft/world/storage/WorldInfo/func_76083_p ()I +MD: bqo/q (Lbqo;)Z net/minecraft/world/storage/WorldInfo/access$1600 (Lnet/minecraft/world/storage/WorldInfo;)Z +MD: bqo/r ()Larc; net/minecraft/world/storage/WorldInfo/func_76077_q ()Lnet/minecraft/world/WorldSettings$GameType; +MD: bqo/s ()Z net/minecraft/world/storage/WorldInfo/func_76089_r ()Z +MD: bqo/t ()Z net/minecraft/world/storage/WorldInfo/func_76093_s ()Z +MD: bqo/u ()Lare; net/minecraft/world/storage/WorldInfo/func_76067_t ()Lnet/minecraft/world/WorldType; +MD: bqo/v ()Z net/minecraft/world/storage/WorldInfo/func_76086_u ()Z +MD: bqo/w ()Z net/minecraft/world/storage/WorldInfo/func_76070_v ()Z +MD: bqo/x ()Laqq; net/minecraft/world/storage/WorldInfo/func_82574_x ()Lnet/minecraft/world/GameRules; +MD: bqo/y ()Lvt; net/minecraft/world/storage/WorldInfo/func_176130_y ()Lnet/minecraft/world/EnumDifficulty; +MD: bqo/z ()Z net/minecraft/world/storage/WorldInfo/func_176123_z ()Z +MD: bqp/a ()Ljava/lang/String; net/minecraft/world/storage/WorldInfo$1/call ()Ljava/lang/String; +MD: bqp/call ()Ljava/lang/Object; net/minecraft/world/storage/WorldInfo$1/call ()Ljava/lang/Object; +MD: bqq/a ()Ljava/lang/String; net/minecraft/world/storage/WorldInfo$2/call ()Ljava/lang/String; +MD: bqq/call ()Ljava/lang/Object; net/minecraft/world/storage/WorldInfo$2/call ()Ljava/lang/Object; +MD: bqr/a ()Ljava/lang/String; net/minecraft/world/storage/WorldInfo$3/call ()Ljava/lang/String; +MD: bqr/call ()Ljava/lang/Object; net/minecraft/world/storage/WorldInfo$3/call ()Ljava/lang/Object; +MD: bqs/a ()Ljava/lang/String; net/minecraft/world/storage/WorldInfo$4/call ()Ljava/lang/String; +MD: bqs/call ()Ljava/lang/Object; net/minecraft/world/storage/WorldInfo$4/call ()Ljava/lang/Object; +MD: bqt/a ()Ljava/lang/String; net/minecraft/world/storage/WorldInfo$5/call ()Ljava/lang/String; +MD: bqt/call ()Ljava/lang/Object; net/minecraft/world/storage/WorldInfo$5/call ()Ljava/lang/Object; +MD: bqu/a ()Ljava/lang/String; net/minecraft/world/storage/WorldInfo$6/call ()Ljava/lang/String; +MD: bqu/call ()Ljava/lang/Object; net/minecraft/world/storage/WorldInfo$6/call ()Ljava/lang/Object; +MD: bqv/a ()Ljava/lang/String; net/minecraft/world/storage/WorldInfo$7/call ()Ljava/lang/String; +MD: bqv/call ()Ljava/lang/Object; net/minecraft/world/storage/WorldInfo$7/call ()Ljava/lang/Object; +MD: bqw/a ()Ljava/lang/String; net/minecraft/world/storage/WorldInfo$8/call ()Ljava/lang/String; +MD: bqw/call ()Ljava/lang/Object; net/minecraft/world/storage/WorldInfo$8/call ()Ljava/lang/Object; +MD: bqx/a ()Ljava/lang/String; net/minecraft/world/storage/WorldInfo$9/call ()Ljava/lang/String; +MD: bqx/call ()Ljava/lang/Object; net/minecraft/world/storage/WorldInfo$9/call ()Ljava/lang/Object; +MD: bqy/a ()V net/minecraft/world/storage/ISaveHandler/func_75759_a ()V +MD: bqy/a (Lbgd;)Lbfq; net/minecraft/world/storage/ISaveHandler/func_75763_a (Lnet/minecraft/world/WorldProvider;)Lnet/minecraft/world/chunk/storage/IChunkLoader; +MD: bqy/a (Lbqo;)V net/minecraft/world/storage/ISaveHandler/func_75761_a (Lnet/minecraft/world/storage/WorldInfo;)V +MD: bqy/a (Lbqo;Lfn;)V net/minecraft/world/storage/ISaveHandler/func_75755_a (Lnet/minecraft/world/storage/WorldInfo;Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bqy/a (Ljava/lang/String;)Ljava/io/File; net/minecraft/world/storage/ISaveHandler/func_75758_b (Ljava/lang/String;)Ljava/io/File; +MD: bqy/b ()Ljava/io/File; net/minecraft/world/storage/ISaveHandler/func_75765_b ()Ljava/io/File; +MD: bqy/c ()V net/minecraft/world/storage/ISaveHandler/func_75762_c ()V +MD: bqy/d ()Lbqo; net/minecraft/world/storage/ISaveHandler/func_75757_d ()Lnet/minecraft/world/storage/WorldInfo; +MD: bqy/e ()Lbrl; net/minecraft/world/storage/ISaveHandler/func_75756_e ()Lnet/minecraft/world/storage/IPlayerFileData; +MD: bqy/g ()Ljava/lang/String; net/minecraft/world/storage/ISaveHandler/func_75760_g ()Ljava/lang/String; +MD: br/a ()I net/minecraft/command/CommandGive/func_82362_a ()I +MD: br/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandGive/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: br/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandGive/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: br/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandGive/func_82358_a ([Ljava/lang/String;I)Z +MD: br/c ()Ljava/lang/String; net/minecraft/command/CommandGive/func_71517_b ()Ljava/lang/String; +MD: br/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandGive/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: br/d ()[Ljava/lang/String; net/minecraft/command/CommandGive/func_71536_c ()[Ljava/lang/String; +MD: bra/a ()Ljava/lang/String; net/minecraft/world/storage/ISaveFormat/func_154333_a ()Ljava/lang/String; +MD: bra/a (Ljava/lang/String;)Z net/minecraft/world/storage/ISaveFormat/func_154334_a (Ljava/lang/String;)Z +MD: bra/a (Ljava/lang/String;Ljava/lang/String;)V net/minecraft/world/storage/ISaveFormat/func_75806_a (Ljava/lang/String;Ljava/lang/String;)V +MD: bra/a (Ljava/lang/String;Luy;)Z net/minecraft/world/storage/ISaveFormat/func_75805_a (Ljava/lang/String;Lnet/minecraft/util/IProgressUpdate;)Z +MD: bra/a (Ljava/lang/String;Z)Lbqy; net/minecraft/world/storage/ISaveFormat/func_75804_a (Ljava/lang/String;Z)Lnet/minecraft/world/storage/ISaveHandler; +MD: bra/b ()Ljava/util/List; net/minecraft/world/storage/ISaveFormat/func_75799_b ()Ljava/util/List; +MD: bra/b (Ljava/lang/String;)Z net/minecraft/world/storage/ISaveFormat/func_75801_b (Ljava/lang/String;)Z +MD: bra/c (Ljava/lang/String;)Lbqo; net/minecraft/world/storage/ISaveFormat/func_75803_c (Ljava/lang/String;)Lnet/minecraft/world/storage/WorldInfo; +MD: bra/d ()V net/minecraft/world/storage/ISaveFormat/func_75800_d ()V +MD: bra/d (Ljava/lang/String;)Z net/minecraft/world/storage/ISaveFormat/func_154335_d (Ljava/lang/String;)Z +MD: bra/e (Ljava/lang/String;)Z net/minecraft/world/storage/ISaveFormat/func_75802_e (Ljava/lang/String;)Z +MD: bra/f (Ljava/lang/String;)Z net/minecraft/world/storage/ISaveFormat/func_90033_f (Ljava/lang/String;)Z +MD: brb/a ()Ljava/lang/String; net/minecraft/world/storage/SaveFormatComparator/func_75786_a ()Ljava/lang/String; +MD: brb/a (Lbrb;)I net/minecraft/world/storage/SaveFormatComparator/compareTo (Lnet/minecraft/world/storage/SaveFormatComparator;)I +MD: brb/b ()Ljava/lang/String; net/minecraft/world/storage/SaveFormatComparator/func_75788_b ()Ljava/lang/String; +MD: brb/c ()J net/minecraft/world/storage/SaveFormatComparator/func_154336_c ()J +MD: brb/compareTo (Ljava/lang/Object;)I net/minecraft/world/storage/SaveFormatComparator/compareTo (Ljava/lang/Object;)I +MD: brb/d ()Z net/minecraft/world/storage/SaveFormatComparator/func_75785_d ()Z +MD: brb/e ()J net/minecraft/world/storage/SaveFormatComparator/func_75784_e ()J +MD: brb/f ()Larc; net/minecraft/world/storage/SaveFormatComparator/func_75790_f ()Lnet/minecraft/world/WorldSettings$GameType; +MD: brb/g ()Z net/minecraft/world/storage/SaveFormatComparator/func_75789_g ()Z +MD: brb/h ()Z net/minecraft/world/storage/SaveFormatComparator/func_75783_h ()Z +MD: brk/a ()V net/minecraft/world/storage/SaveHandlerMP/func_75759_a ()V +MD: brk/a (Lbgd;)Lbfq; net/minecraft/world/storage/SaveHandlerMP/func_75763_a (Lnet/minecraft/world/WorldProvider;)Lnet/minecraft/world/chunk/storage/IChunkLoader; +MD: brk/a (Lbqo;)V net/minecraft/world/storage/SaveHandlerMP/func_75761_a (Lnet/minecraft/world/storage/WorldInfo;)V +MD: brk/a (Lbqo;Lfn;)V net/minecraft/world/storage/SaveHandlerMP/func_75755_a (Lnet/minecraft/world/storage/WorldInfo;Lnet/minecraft/nbt/NBTTagCompound;)V +MD: brk/a (Ljava/lang/String;)Ljava/io/File; net/minecraft/world/storage/SaveHandlerMP/func_75758_b (Ljava/lang/String;)Ljava/io/File; +MD: brk/b ()Ljava/io/File; net/minecraft/world/storage/SaveHandlerMP/func_75765_b ()Ljava/io/File; +MD: brk/c ()V net/minecraft/world/storage/SaveHandlerMP/func_75762_c ()V +MD: brk/d ()Lbqo; net/minecraft/world/storage/SaveHandlerMP/func_75757_d ()Lnet/minecraft/world/storage/WorldInfo; +MD: brk/e ()Lbrl; net/minecraft/world/storage/SaveHandlerMP/func_75756_e ()Lnet/minecraft/world/storage/IPlayerFileData; +MD: brk/g ()Ljava/lang/String; net/minecraft/world/storage/SaveHandlerMP/func_75760_g ()Ljava/lang/String; +MD: brl/a (Lahd;)V net/minecraft/world/storage/IPlayerFileData/func_75753_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: brl/b (Lahd;)Lfn; net/minecraft/world/storage/IPlayerFileData/func_75752_b (Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/nbt/NBTTagCompound; +MD: brl/f ()[Ljava/lang/String; net/minecraft/world/storage/IPlayerFileData/func_75754_f ()[Ljava/lang/String; +MD: brm/a ()V net/minecraft/world/storage/SaveDataMemoryStorage/func_75744_a ()V +MD: brm/a (Ljava/lang/Class;Ljava/lang/String;)Lbqc; net/minecraft/world/storage/SaveDataMemoryStorage/func_75742_a (Ljava/lang/Class;Ljava/lang/String;)Lnet/minecraft/world/WorldSavedData; +MD: brm/a (Ljava/lang/String;)I net/minecraft/world/storage/SaveDataMemoryStorage/func_75743_a (Ljava/lang/String;)I +MD: brm/a (Ljava/lang/String;Lbqc;)V net/minecraft/world/storage/SaveDataMemoryStorage/func_75745_a (Ljava/lang/String;Lnet/minecraft/world/WorldSavedData;)V +MD: brn/a ()V net/minecraft/world/storage/MapStorage/func_75744_a ()V +MD: brn/a (Lbqc;)V net/minecraft/world/storage/MapStorage/func_75747_a (Lnet/minecraft/world/WorldSavedData;)V +MD: brn/a (Ljava/lang/Class;Ljava/lang/String;)Lbqc; net/minecraft/world/storage/MapStorage/func_75742_a (Ljava/lang/Class;Ljava/lang/String;)Lnet/minecraft/world/WorldSavedData; +MD: brn/a (Ljava/lang/String;)I net/minecraft/world/storage/MapStorage/func_75743_a (Ljava/lang/String;)I +MD: brn/a (Ljava/lang/String;Lbqc;)V net/minecraft/world/storage/MapStorage/func_75745_a (Ljava/lang/String;Lnet/minecraft/world/WorldSavedData;)V +MD: brn/b ()V net/minecraft/world/storage/MapStorage/func_75746_b ()V +MD: brp/a ()Lbrp; net/minecraft/world/storage/ThreadedFileIOBase/func_178779_a ()Lnet/minecraft/world/storage/ThreadedFileIOBase; +MD: brp/a (Lbrq;)V net/minecraft/world/storage/ThreadedFileIOBase/func_75735_a (Lnet/minecraft/world/storage/IThreadedFileIO;)V +MD: brp/b ()V net/minecraft/world/storage/ThreadedFileIOBase/func_75734_a ()V +MD: brp/c ()V net/minecraft/world/storage/ThreadedFileIOBase/func_75736_b ()V +MD: brp/run ()V net/minecraft/world/storage/ThreadedFileIOBase/run ()V +MD: brq/c ()Z net/minecraft/world/storage/IThreadedFileIO/func_75814_c ()Z +MD: brt/a ()D net/minecraft/util/AxisAlignedBB/func_72320_b ()D +MD: brt/a (DDD)Lbrt; net/minecraft/util/AxisAlignedBB/func_72321_a (DDD)Lnet/minecraft/util/AxisAlignedBB; +MD: brt/a (DDDDDD)Lbrt; net/minecraft/util/AxisAlignedBB/func_178781_a (DDDDDD)Lnet/minecraft/util/AxisAlignedBB; +MD: brt/a (Lbrt;)Lbrt; net/minecraft/util/AxisAlignedBB/func_111270_a (Lnet/minecraft/util/AxisAlignedBB;)Lnet/minecraft/util/AxisAlignedBB; +MD: brt/a (Lbrt;D)D net/minecraft/util/AxisAlignedBB/func_72316_a (Lnet/minecraft/util/AxisAlignedBB;D)D +MD: brt/a (Lbrw;)Z net/minecraft/util/AxisAlignedBB/func_72318_a (Lnet/minecraft/util/Vec3;)Z +MD: brt/a (Lbrw;Lbrw;)Lbru; net/minecraft/util/AxisAlignedBB/func_72327_a (Lnet/minecraft/util/Vec3;Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/MovingObjectPosition; +MD: brt/b (DDD)Lbrt; net/minecraft/util/AxisAlignedBB/func_72314_b (DDD)Lnet/minecraft/util/AxisAlignedBB; +MD: brt/b (Lbrt;)Z net/minecraft/util/AxisAlignedBB/func_72326_a (Lnet/minecraft/util/AxisAlignedBB;)Z +MD: brt/b (Lbrt;D)D net/minecraft/util/AxisAlignedBB/func_72323_b (Lnet/minecraft/util/AxisAlignedBB;D)D +MD: brt/b (Lbrw;)Z net/minecraft/util/AxisAlignedBB/func_72333_b (Lnet/minecraft/util/Vec3;)Z +MD: brt/c (DDD)Lbrt; net/minecraft/util/AxisAlignedBB/func_72317_d (DDD)Lnet/minecraft/util/AxisAlignedBB; +MD: brt/c (Lbrt;D)D net/minecraft/util/AxisAlignedBB/func_72322_c (Lnet/minecraft/util/AxisAlignedBB;D)D +MD: brt/c (Lbrw;)Z net/minecraft/util/AxisAlignedBB/func_72315_c (Lnet/minecraft/util/Vec3;)Z +MD: brt/d (DDD)Lbrt; net/minecraft/util/AxisAlignedBB/func_72331_e (DDD)Lnet/minecraft/util/AxisAlignedBB; +MD: brt/d (Lbrw;)Z net/minecraft/util/AxisAlignedBB/func_72319_d (Lnet/minecraft/util/Vec3;)Z +MD: brt/toString ()Ljava/lang/String; net/minecraft/util/AxisAlignedBB/toString ()Ljava/lang/String; +MD: bru/a ()Ldt; net/minecraft/util/MovingObjectPosition/func_178782_a ()Lnet/minecraft/util/BlockPos; +MD: bru/toString ()Ljava/lang/String; net/minecraft/util/MovingObjectPosition/toString ()Ljava/lang/String; +MD: brv/valueOf (Ljava/lang/String;)Lbrv; net/minecraft/util/MovingObjectPosition$MovingObjectType/valueOf (Ljava/lang/String;)Lnet/minecraft/util/MovingObjectPosition$MovingObjectType; +MD: brv/values ()[Lbrv; net/minecraft/util/MovingObjectPosition$MovingObjectType/values ()[Lnet/minecraft/util/MovingObjectPosition$MovingObjectType; +MD: brw/a ()Lbrw; net/minecraft/util/Vec3/func_72432_b ()Lnet/minecraft/util/Vec3; +MD: brw/a (DDD)Lbrw; net/minecraft/util/Vec3/func_178786_a (DDD)Lnet/minecraft/util/Vec3; +MD: brw/a (F)Lbrw; net/minecraft/util/Vec3/func_178789_a (F)Lnet/minecraft/util/Vec3; +MD: brw/a (Lbrw;)Lbrw; net/minecraft/util/Vec3/func_72444_a (Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/Vec3; +MD: brw/a (Lbrw;D)Lbrw; net/minecraft/util/Vec3/func_72429_b (Lnet/minecraft/util/Vec3;D)Lnet/minecraft/util/Vec3; +MD: brw/b ()D net/minecraft/util/Vec3/func_72433_c ()D +MD: brw/b (DDD)Lbrw; net/minecraft/util/Vec3/func_72441_c (DDD)Lnet/minecraft/util/Vec3; +MD: brw/b (F)Lbrw; net/minecraft/util/Vec3/func_178785_b (F)Lnet/minecraft/util/Vec3; +MD: brw/b (Lbrw;)D net/minecraft/util/Vec3/func_72430_b (Lnet/minecraft/util/Vec3;)D +MD: brw/b (Lbrw;D)Lbrw; net/minecraft/util/Vec3/func_72435_c (Lnet/minecraft/util/Vec3;D)Lnet/minecraft/util/Vec3; +MD: brw/c (Lbrw;)Lbrw; net/minecraft/util/Vec3/func_72431_c (Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/Vec3; +MD: brw/c (Lbrw;D)Lbrw; net/minecraft/util/Vec3/func_72434_d (Lnet/minecraft/util/Vec3;D)Lnet/minecraft/util/Vec3; +MD: brw/d (Lbrw;)Lbrw; net/minecraft/util/Vec3/func_178788_d (Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/Vec3; +MD: brw/e (Lbrw;)Lbrw; net/minecraft/util/Vec3/func_178787_e (Lnet/minecraft/util/Vec3;)Lnet/minecraft/util/Vec3; +MD: brw/f (Lbrw;)D net/minecraft/util/Vec3/func_72438_d (Lnet/minecraft/util/Vec3;)D +MD: brw/g (Lbrw;)D net/minecraft/util/Vec3/func_72436_e (Lnet/minecraft/util/Vec3;)D +MD: brw/toString ()Ljava/lang/String; net/minecraft/util/Vec3/toString ()Ljava/lang/String; +MD: bry/a ()Lbsd; net/minecraft/scoreboard/ScoreObjective/func_96682_a ()Lnet/minecraft/scoreboard/Scoreboard; +MD: bry/a (Lbsl;)V net/minecraft/scoreboard/ScoreObjective/func_178767_a (Lnet/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType;)V +MD: bry/a (Ljava/lang/String;)V net/minecraft/scoreboard/ScoreObjective/func_96681_a (Ljava/lang/String;)V +MD: bry/b ()Ljava/lang/String; net/minecraft/scoreboard/ScoreObjective/func_96679_b ()Ljava/lang/String; +MD: bry/c ()Lbsk; net/minecraft/scoreboard/ScoreObjective/func_96680_c ()Lnet/minecraft/scoreboard/IScoreObjectiveCriteria; +MD: bry/d ()Ljava/lang/String; net/minecraft/scoreboard/ScoreObjective/func_96678_d ()Ljava/lang/String; +MD: bry/e ()Lbsl; net/minecraft/scoreboard/ScoreObjective/func_178766_e ()Lnet/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType; +MD: brz/a (I)V net/minecraft/scoreboard/ScorePlayerTeam/func_98298_a (I)V +MD: brz/a (La;)V net/minecraft/scoreboard/ScorePlayerTeam/func_178774_a (Lnet/minecraft/util/EnumChatFormatting;)V +MD: brz/a (Lbsf;Ljava/lang/String;)Ljava/lang/String; net/minecraft/scoreboard/ScorePlayerTeam/func_96667_a (Lnet/minecraft/scoreboard/Team;Ljava/lang/String;)Ljava/lang/String; +MD: brz/a (Lbsg;)V net/minecraft/scoreboard/ScorePlayerTeam/func_178772_a (Lnet/minecraft/scoreboard/Team$EnumVisible;)V +MD: brz/a (Ljava/lang/String;)V net/minecraft/scoreboard/ScorePlayerTeam/func_96664_a (Ljava/lang/String;)V +MD: brz/a (Z)V net/minecraft/scoreboard/ScorePlayerTeam/func_96660_a (Z)V +MD: brz/b ()Ljava/lang/String; net/minecraft/scoreboard/ScorePlayerTeam/func_96661_b ()Ljava/lang/String; +MD: brz/b (Lbsg;)V net/minecraft/scoreboard/ScorePlayerTeam/func_178773_b (Lnet/minecraft/scoreboard/Team$EnumVisible;)V +MD: brz/b (Ljava/lang/String;)V net/minecraft/scoreboard/ScorePlayerTeam/func_96666_b (Ljava/lang/String;)V +MD: brz/b (Z)V net/minecraft/scoreboard/ScorePlayerTeam/func_98300_b (Z)V +MD: brz/c ()Ljava/lang/String; net/minecraft/scoreboard/ScorePlayerTeam/func_96669_c ()Ljava/lang/String; +MD: brz/c (Ljava/lang/String;)V net/minecraft/scoreboard/ScorePlayerTeam/func_96662_c (Ljava/lang/String;)V +MD: brz/d ()Ljava/util/Collection; net/minecraft/scoreboard/ScorePlayerTeam/func_96670_d ()Ljava/util/Collection; +MD: brz/d (Ljava/lang/String;)Ljava/lang/String; net/minecraft/scoreboard/ScorePlayerTeam/func_142053_d (Ljava/lang/String;)Ljava/lang/String; +MD: brz/e ()Ljava/lang/String; net/minecraft/scoreboard/ScorePlayerTeam/func_96668_e ()Ljava/lang/String; +MD: brz/f ()Ljava/lang/String; net/minecraft/scoreboard/ScorePlayerTeam/func_96663_f ()Ljava/lang/String; +MD: brz/g ()Z net/minecraft/scoreboard/ScorePlayerTeam/func_96665_g ()Z +MD: brz/h ()Z net/minecraft/scoreboard/ScorePlayerTeam/func_98297_h ()Z +MD: brz/i ()Lbsg; net/minecraft/scoreboard/ScorePlayerTeam/func_178770_i ()Lnet/minecraft/scoreboard/Team$EnumVisible; +MD: brz/j ()Lbsg; net/minecraft/scoreboard/ScorePlayerTeam/func_178771_j ()Lnet/minecraft/scoreboard/Team$EnumVisible; +MD: brz/k ()I net/minecraft/scoreboard/ScorePlayerTeam/func_98299_i ()I +MD: brz/l ()La; net/minecraft/scoreboard/ScorePlayerTeam/func_178775_l ()Lnet/minecraft/util/EnumChatFormatting; +MD: bs/a ()I net/minecraft/command/CommandHelp/func_82362_a ()I +MD: bs/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandHelp/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bs/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandHelp/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bs/b ()Ljava/util/List; net/minecraft/command/CommandHelp/func_71514_a ()Ljava/util/List; +MD: bs/c ()Ljava/lang/String; net/minecraft/command/CommandHelp/func_71517_b ()Ljava/lang/String; +MD: bs/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandHelp/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bs/d ()Ljava/util/Map; net/minecraft/command/CommandHelp/func_71535_c ()Ljava/util/Map; +MD: bs/d (Lae;)Ljava/util/List; net/minecraft/command/CommandHelp/func_71534_d (Lnet/minecraft/command/ICommandSender;)Ljava/util/List; +MD: bsa/a ()V net/minecraft/scoreboard/Score/func_96648_a ()V +MD: bsa/a (I)V net/minecraft/scoreboard/Score/func_96649_a (I)V +MD: bsa/a (Ljava/util/List;)V net/minecraft/scoreboard/Score/func_96651_a (Ljava/util/List;)V +MD: bsa/a (Z)V net/minecraft/scoreboard/Score/func_178815_a (Z)V +MD: bsa/b (I)V net/minecraft/scoreboard/Score/func_96646_b (I)V +MD: bsa/c ()I net/minecraft/scoreboard/Score/func_96652_c ()I +MD: bsa/c (I)V net/minecraft/scoreboard/Score/func_96647_c (I)V +MD: bsa/d ()Lbry; net/minecraft/scoreboard/Score/func_96645_d ()Lnet/minecraft/scoreboard/ScoreObjective; +MD: bsa/e ()Ljava/lang/String; net/minecraft/scoreboard/Score/func_96653_e ()Ljava/lang/String; +MD: bsa/f ()Lbsd; net/minecraft/scoreboard/Score/func_96650_f ()Lnet/minecraft/scoreboard/Scoreboard; +MD: bsa/g ()Z net/minecraft/scoreboard/Score/func_178816_g ()Z +MD: bsb/a (Lbsa;Lbsa;)I net/minecraft/scoreboard/Score$1/compare (Lnet/minecraft/scoreboard/Score;Lnet/minecraft/scoreboard/Score;)I +MD: bsb/compare (Ljava/lang/Object;Ljava/lang/Object;)I net/minecraft/scoreboard/Score$1/compare (Ljava/lang/Object;Ljava/lang/Object;)I +MD: bsd/a (I)Lbry; net/minecraft/scoreboard/Scoreboard/func_96539_a (I)Lnet/minecraft/scoreboard/ScoreObjective; +MD: bsd/a (ILbry;)V net/minecraft/scoreboard/Scoreboard/func_96530_a (ILnet/minecraft/scoreboard/ScoreObjective;)V +MD: bsd/a (Lbry;)V net/minecraft/scoreboard/Scoreboard/func_96522_a (Lnet/minecraft/scoreboard/ScoreObjective;)V +MD: bsd/a (Lbrz;)V net/minecraft/scoreboard/Scoreboard/func_96523_a (Lnet/minecraft/scoreboard/ScorePlayerTeam;)V +MD: bsd/a (Lbsa;)V net/minecraft/scoreboard/Scoreboard/func_96536_a (Lnet/minecraft/scoreboard/Score;)V +MD: bsd/a (Lbsk;)Ljava/util/Collection; net/minecraft/scoreboard/Scoreboard/func_96520_a (Lnet/minecraft/scoreboard/IScoreObjectiveCriteria;)Ljava/util/Collection; +MD: bsd/a (Ljava/lang/String;)V net/minecraft/scoreboard/Scoreboard/func_96516_a (Ljava/lang/String;)V +MD: bsd/a (Ljava/lang/String;Lbry;)V net/minecraft/scoreboard/Scoreboard/func_178820_a (Ljava/lang/String;Lnet/minecraft/scoreboard/ScoreObjective;)V +MD: bsd/a (Ljava/lang/String;Lbrz;)V net/minecraft/scoreboard/Scoreboard/func_96512_b (Ljava/lang/String;Lnet/minecraft/scoreboard/ScorePlayerTeam;)V +MD: bsd/a (Ljava/lang/String;Lbsk;)Lbry; net/minecraft/scoreboard/Scoreboard/func_96535_a (Ljava/lang/String;Lnet/minecraft/scoreboard/IScoreObjectiveCriteria;)Lnet/minecraft/scoreboard/ScoreObjective; +MD: bsd/a (Ljava/lang/String;Ljava/lang/String;)Z net/minecraft/scoreboard/Scoreboard/func_151392_a (Ljava/lang/String;Ljava/lang/String;)Z +MD: bsd/b (I)Ljava/lang/String; net/minecraft/scoreboard/Scoreboard/func_96517_b (I)Ljava/lang/String; +MD: bsd/b (Lbry;)V net/minecraft/scoreboard/Scoreboard/func_96532_b (Lnet/minecraft/scoreboard/ScoreObjective;)V +MD: bsd/b (Lbrz;)V net/minecraft/scoreboard/Scoreboard/func_96538_b (Lnet/minecraft/scoreboard/ScorePlayerTeam;)V +MD: bsd/b (Ljava/lang/String;)Lbry; net/minecraft/scoreboard/Scoreboard/func_96518_b (Ljava/lang/String;)Lnet/minecraft/scoreboard/ScoreObjective; +MD: bsd/b (Ljava/lang/String;Lbry;)Z net/minecraft/scoreboard/Scoreboard/func_178819_b (Ljava/lang/String;Lnet/minecraft/scoreboard/ScoreObjective;)Z +MD: bsd/c ()Ljava/util/Collection; net/minecraft/scoreboard/Scoreboard/func_96514_c ()Ljava/util/Collection; +MD: bsd/c (Lbry;)V net/minecraft/scoreboard/Scoreboard/func_96533_c (Lnet/minecraft/scoreboard/ScoreObjective;)V +MD: bsd/c (Lbrz;)V net/minecraft/scoreboard/Scoreboard/func_96513_c (Lnet/minecraft/scoreboard/ScorePlayerTeam;)V +MD: bsd/c (Ljava/lang/String;)Ljava/util/Map; net/minecraft/scoreboard/Scoreboard/func_96510_d (Ljava/lang/String;)Ljava/util/Map; +MD: bsd/c (Ljava/lang/String;Lbry;)Lbsa; net/minecraft/scoreboard/Scoreboard/func_96529_a (Ljava/lang/String;Lnet/minecraft/scoreboard/ScoreObjective;)Lnet/minecraft/scoreboard/Score; +MD: bsd/d ()Ljava/util/Collection; net/minecraft/scoreboard/Scoreboard/func_96526_d ()Ljava/util/Collection; +MD: bsd/d (Lbrz;)V net/minecraft/scoreboard/Scoreboard/func_96511_d (Lnet/minecraft/scoreboard/ScorePlayerTeam;)V +MD: bsd/d (Ljava/lang/String;)Lbrz; net/minecraft/scoreboard/Scoreboard/func_96508_e (Ljava/lang/String;)Lnet/minecraft/scoreboard/ScorePlayerTeam; +MD: bsd/d (Ljava/lang/String;Lbry;)V net/minecraft/scoreboard/Scoreboard/func_178822_d (Ljava/lang/String;Lnet/minecraft/scoreboard/ScoreObjective;)V +MD: bsd/e ()Ljava/util/Collection; net/minecraft/scoreboard/Scoreboard/func_96528_e ()Ljava/util/Collection; +MD: bsd/e (Ljava/lang/String;)Lbrz; net/minecraft/scoreboard/Scoreboard/func_96527_f (Ljava/lang/String;)Lnet/minecraft/scoreboard/ScorePlayerTeam; +MD: bsd/f ()Ljava/util/Collection; net/minecraft/scoreboard/Scoreboard/func_96531_f ()Ljava/util/Collection; +MD: bsd/f (Ljava/lang/String;)Z net/minecraft/scoreboard/Scoreboard/func_96524_g (Ljava/lang/String;)Z +MD: bsd/g ()Ljava/util/Collection; net/minecraft/scoreboard/Scoreboard/func_96525_g ()Ljava/util/Collection; +MD: bsd/h ()[Ljava/lang/String; net/minecraft/scoreboard/Scoreboard/func_178821_h ()[Ljava/lang/String; +MD: bsd/h (Ljava/lang/String;)Lbrz; net/minecraft/scoreboard/Scoreboard/func_96509_i (Ljava/lang/String;)Lnet/minecraft/scoreboard/ScorePlayerTeam; +MD: bsd/i (Lbry;)Ljava/util/Collection; net/minecraft/scoreboard/Scoreboard/func_96534_i (Lnet/minecraft/scoreboard/ScoreObjective;)Ljava/util/Collection; +MD: bsd/i (Ljava/lang/String;)I net/minecraft/scoreboard/Scoreboard/func_96537_j (Ljava/lang/String;)I +MD: bsd/k (Lbry;)V net/minecraft/scoreboard/Scoreboard/func_96519_k (Lnet/minecraft/scoreboard/ScoreObjective;)V +MD: bse/a ()Lfv; net/minecraft/scoreboard/ScoreboardSaveData/func_96496_a ()Lnet/minecraft/nbt/NBTTagList; +MD: bse/a (Lbrz;Lfv;)V net/minecraft/scoreboard/ScoreboardSaveData/func_96502_a (Lnet/minecraft/scoreboard/ScorePlayerTeam;Lnet/minecraft/nbt/NBTTagList;)V +MD: bse/a (Lbsd;)V net/minecraft/scoreboard/ScoreboardSaveData/func_96499_a (Lnet/minecraft/scoreboard/Scoreboard;)V +MD: bse/a (Lfn;)V net/minecraft/scoreboard/ScoreboardSaveData/func_76184_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bse/a (Lfv;)V net/minecraft/scoreboard/ScoreboardSaveData/func_96498_a (Lnet/minecraft/nbt/NBTTagList;)V +MD: bse/b ()Lfv; net/minecraft/scoreboard/ScoreboardSaveData/func_96505_b ()Lnet/minecraft/nbt/NBTTagList; +MD: bse/b (Lfn;)V net/minecraft/scoreboard/ScoreboardSaveData/func_76187_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bse/b (Lfv;)V net/minecraft/scoreboard/ScoreboardSaveData/func_96501_b (Lnet/minecraft/nbt/NBTTagList;)V +MD: bse/c (Lfn;)V net/minecraft/scoreboard/ScoreboardSaveData/func_96504_c (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bse/c (Lfv;)V net/minecraft/scoreboard/ScoreboardSaveData/func_96500_c (Lnet/minecraft/nbt/NBTTagList;)V +MD: bse/d (Lfn;)V net/minecraft/scoreboard/ScoreboardSaveData/func_96497_d (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: bse/e ()Lfv; net/minecraft/scoreboard/ScoreboardSaveData/func_96503_e ()Lnet/minecraft/nbt/NBTTagList; +MD: bsf/a (Lbsf;)Z net/minecraft/scoreboard/Team/func_142054_a (Lnet/minecraft/scoreboard/Team;)Z +MD: bsf/b ()Ljava/lang/String; net/minecraft/scoreboard/Team/func_96661_b ()Ljava/lang/String; +MD: bsf/d ()Ljava/util/Collection; net/minecraft/scoreboard/Team/func_96670_d ()Ljava/util/Collection; +MD: bsf/d (Ljava/lang/String;)Ljava/lang/String; net/minecraft/scoreboard/Team/func_142053_d (Ljava/lang/String;)Ljava/lang/String; +MD: bsf/g ()Z net/minecraft/scoreboard/Team/func_96665_g ()Z +MD: bsf/h ()Z net/minecraft/scoreboard/Team/func_98297_h ()Z +MD: bsf/i ()Lbsg; net/minecraft/scoreboard/Team/func_178770_i ()Lnet/minecraft/scoreboard/Team$EnumVisible; +MD: bsf/j ()Lbsg; net/minecraft/scoreboard/Team/func_178771_j ()Lnet/minecraft/scoreboard/Team$EnumVisible; +MD: bsg/a ()[Ljava/lang/String; net/minecraft/scoreboard/Team$EnumVisible/func_178825_a ()[Ljava/lang/String; +MD: bsg/a (Ljava/lang/String;)Lbsg; net/minecraft/scoreboard/Team$EnumVisible/func_178824_a (Ljava/lang/String;)Lnet/minecraft/scoreboard/Team$EnumVisible; +MD: bsg/values ()[Lbsg; net/minecraft/scoreboard/Team$EnumVisible/values ()[Lnet/minecraft/scoreboard/Team$EnumVisible; +MD: bsh/a ()Ljava/lang/String; net/minecraft/scoreboard/GoalColor/func_96636_a ()Ljava/lang/String; +MD: bsh/a (Ljava/util/List;)I net/minecraft/scoreboard/GoalColor/func_96635_a (Ljava/util/List;)I +MD: bsh/b ()Z net/minecraft/scoreboard/GoalColor/func_96637_b ()Z +MD: bsh/c ()Lbsl; net/minecraft/scoreboard/GoalColor/func_178790_c ()Lnet/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType; +MD: bsi/a ()Ljava/lang/String; net/minecraft/scoreboard/ScoreDummyCriteria/func_96636_a ()Ljava/lang/String; +MD: bsi/a (Ljava/util/List;)I net/minecraft/scoreboard/ScoreDummyCriteria/func_96635_a (Ljava/util/List;)I +MD: bsi/b ()Z net/minecraft/scoreboard/ScoreDummyCriteria/func_96637_b ()Z +MD: bsi/c ()Lbsl; net/minecraft/scoreboard/ScoreDummyCriteria/func_178790_c ()Lnet/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType; +MD: bsj/a (Ljava/util/List;)I net/minecraft/scoreboard/ScoreHealthCriteria/func_96635_a (Ljava/util/List;)I +MD: bsj/b ()Z net/minecraft/scoreboard/ScoreHealthCriteria/func_96637_b ()Z +MD: bsj/c ()Lbsl; net/minecraft/scoreboard/ScoreHealthCriteria/func_178790_c ()Lnet/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType; +MD: bsk/a ()Ljava/lang/String; net/minecraft/scoreboard/IScoreObjectiveCriteria/func_96636_a ()Ljava/lang/String; +MD: bsk/a (Ljava/util/List;)I net/minecraft/scoreboard/IScoreObjectiveCriteria/func_96635_a (Ljava/util/List;)I +MD: bsk/b ()Z net/minecraft/scoreboard/IScoreObjectiveCriteria/func_96637_b ()Z +MD: bsk/c ()Lbsl; net/minecraft/scoreboard/IScoreObjectiveCriteria/func_178790_c ()Lnet/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType; +MD: bsl/a ()Ljava/lang/String; net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType/func_178796_a ()Ljava/lang/String; +MD: bsl/a (Ljava/lang/String;)Lbsl; net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType/func_178795_a (Ljava/lang/String;)Lnet/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType; +MD: bsl/values ()[Lbsl; net/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType/values ()[Lnet/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType; +MD: bsp/a ()Lbrw; net/minecraft/client/renderer/ActiveRenderInfo/func_178804_a ()Lnet/minecraft/util/Vec3; +MD: bsp/a (Lahd;Z)V net/minecraft/client/renderer/ActiveRenderInfo/func_74583_a (Lnet/minecraft/entity/player/EntityPlayer;Z)V +MD: bsp/a (Laqu;Lwv;F)Latr; net/minecraft/client/renderer/ActiveRenderInfo/func_180786_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;F)Lnet/minecraft/block/Block; +MD: bsp/a (Lwv;D)Lbrw; net/minecraft/client/renderer/ActiveRenderInfo/func_178806_a (Lnet/minecraft/entity/Entity;D)Lnet/minecraft/util/Vec3; +MD: bsp/b ()F net/minecraft/client/renderer/ActiveRenderInfo/func_178808_b ()F +MD: bsp/c ()F net/minecraft/client/renderer/ActiveRenderInfo/func_178809_c ()F +MD: bsp/d ()F net/minecraft/client/renderer/ActiveRenderInfo/func_178803_d ()F +MD: bsp/e ()F net/minecraft/client/renderer/ActiveRenderInfo/func_178805_e ()F +MD: bsp/f ()F net/minecraft/client/renderer/ActiveRenderInfo/func_178807_f ()F +MD: bsq/a ()Lho; net/minecraft/client/gui/ChatLine/func_151461_a ()Lnet/minecraft/util/IChatComponent; +MD: bsq/b ()I net/minecraft/client/gui/ChatLine/func_74540_b ()I +MD: bsq/c ()I net/minecraft/client/gui/ChatLine/func_74539_c ()I +MD: bsr/a ()V net/minecraft/client/settings/KeyBinding/func_74506_a ()V +MD: bsr/a (I)V net/minecraft/client/settings/KeyBinding/func_74507_a (I)V +MD: bsr/a (IZ)V net/minecraft/client/settings/KeyBinding/func_74510_a (IZ)V +MD: bsr/a (Lbsr;)I net/minecraft/client/settings/KeyBinding/compareTo (Lnet/minecraft/client/settings/KeyBinding;)I +MD: bsr/b ()V net/minecraft/client/settings/KeyBinding/func_74508_b ()V +MD: bsr/b (I)V net/minecraft/client/settings/KeyBinding/func_151462_b (I)V +MD: bsr/c ()Ljava/util/Set; net/minecraft/client/settings/KeyBinding/func_151467_c ()Ljava/util/Set; +MD: bsr/compareTo (Ljava/lang/Object;)I net/minecraft/client/settings/KeyBinding/compareTo (Ljava/lang/Object;)I +MD: bsr/d ()Z net/minecraft/client/settings/KeyBinding/func_151470_d ()Z +MD: bsr/e ()Ljava/lang/String; net/minecraft/client/settings/KeyBinding/func_151466_e ()Ljava/lang/String; +MD: bsr/f ()Z net/minecraft/client/settings/KeyBinding/func_151468_f ()Z +MD: bsr/g ()Ljava/lang/String; net/minecraft/client/settings/KeyBinding/func_151464_g ()Ljava/lang/String; +MD: bsr/h ()I net/minecraft/client/settings/KeyBinding/func_151469_h ()I +MD: bsr/i ()I net/minecraft/client/settings/KeyBinding/func_151463_i ()I +MD: bsr/j ()V net/minecraft/client/settings/KeyBinding/func_74505_d ()V +MD: bss/a ()V net/minecraft/client/renderer/RenderHelper/func_74518_a ()V +MD: bss/a (DDDD)Ljava/nio/FloatBuffer; net/minecraft/client/renderer/RenderHelper/func_74517_a (DDDD)Ljava/nio/FloatBuffer; +MD: bss/a (FFFF)Ljava/nio/FloatBuffer; net/minecraft/client/renderer/RenderHelper/func_74521_a (FFFF)Ljava/nio/FloatBuffer; +MD: bss/b ()V net/minecraft/client/renderer/RenderHelper/func_74519_b ()V +MD: bss/c ()V net/minecraft/client/renderer/RenderHelper/func_74520_c ()V +MD: bst/a (I)I net/minecraft/client/renderer/GLAllocation/func_74526_a (I)I +MD: bst/a (II)V net/minecraft/client/renderer/GLAllocation/func_178874_a (II)V +MD: bst/b (I)V net/minecraft/client/renderer/GLAllocation/func_74523_b (I)V +MD: bst/c (I)Ljava/nio/ByteBuffer; net/minecraft/client/renderer/GLAllocation/func_74524_c (I)Ljava/nio/ByteBuffer; +MD: bst/f (I)Ljava/nio/IntBuffer; net/minecraft/client/renderer/GLAllocation/func_74527_f (I)Ljava/nio/IntBuffer; +MD: bst/h (I)Ljava/nio/FloatBuffer; net/minecraft/client/renderer/GLAllocation/func_74529_h (I)Ljava/nio/FloatBuffer; +MD: bsu/A ()Lcom/google/common/util/concurrent/ListenableFuture; net/minecraft/client/Minecraft/func_175603_A ()Lcom/google/common/util/concurrent/ListenableFuture; +MD: bsu/B ()I net/minecraft/client/Minecraft/func_71369_N ()I +MD: bsu/C ()Lcew; net/minecraft/client/Minecraft/func_147104_D ()Lnet/minecraft/client/multiplayer/ServerData; +MD: bsu/D ()Z net/minecraft/client/Minecraft/func_71387_A ()Z +MD: bsu/E ()Z net/minecraft/client/Minecraft/func_71356_B ()Z +MD: bsu/F ()Lcyk; net/minecraft/client/Minecraft/func_71401_C ()Lnet/minecraft/server/integrated/IntegratedServer; +MD: bsu/G ()V net/minecraft/client/Minecraft/func_71363_D ()V +MD: bsu/H ()Lwb; net/minecraft/client/Minecraft/func_71378_E ()Lnet/minecraft/profiler/PlayerUsageSnooper; +MD: bsu/I ()J net/minecraft/client/Minecraft/func_71386_F ()J +MD: bsu/J ()Z net/minecraft/client/Minecraft/func_71372_G ()Z +MD: bsu/K ()Lbtw; net/minecraft/client/Minecraft/func_110432_I ()Lnet/minecraft/util/Session; +MD: bsu/L ()Lcom/mojang/authlib/properties/PropertyMap; net/minecraft/client/Minecraft/func_180509_L ()Lcom/mojang/authlib/properties/PropertyMap; +MD: bsu/M ()Ljava/net/Proxy; net/minecraft/client/Minecraft/func_110437_J ()Ljava/net/Proxy; +MD: bsu/N ()Lcug; net/minecraft/client/Minecraft/func_110434_K ()Lnet/minecraft/client/renderer/texture/TextureManager; +MD: bsu/O ()Lcvk; net/minecraft/client/Minecraft/func_110442_L ()Lnet/minecraft/client/resources/IResourceManager; +MD: bsu/P ()Lcvo; net/minecraft/client/Minecraft/func_110438_M ()Lnet/minecraft/client/resources/ResourcePackRepository; +MD: bsu/Q ()Lcwe; net/minecraft/client/Minecraft/func_135016_M ()Lnet/minecraft/client/resources/LanguageManager; +MD: bsu/R ()Lcua; net/minecraft/client/Minecraft/func_147117_R ()Lnet/minecraft/client/renderer/texture/TextureMap; +MD: bsu/S ()Z net/minecraft/client/Minecraft/func_147111_S ()Z +MD: bsu/T ()Z net/minecraft/client/Minecraft/func_147113_T ()Z +MD: bsu/U ()Lczh; net/minecraft/client/Minecraft/func_147118_V ()Lnet/minecraft/client/audio/SoundHandler; +MD: bsu/V ()Lcyy; net/minecraft/client/Minecraft/func_147109_W ()Lnet/minecraft/client/audio/MusicTicker$MusicType; +MD: bsu/W ()Ldao; net/minecraft/client/Minecraft/func_152346_Z ()Lnet/minecraft/client/stream/IStream; +MD: bsu/X ()V net/minecraft/client/Minecraft/func_152348_aa ()V +MD: bsu/Y ()Lcom/mojang/authlib/minecraft/MinecraftSessionService; net/minecraft/client/Minecraft/func_152347_ac ()Lcom/mojang/authlib/minecraft/MinecraftSessionService; +MD: bsu/Z ()Lcvw; net/minecraft/client/Minecraft/func_152342_ad ()Lnet/minecraft/client/resources/SkinManager; +MD: bsu/a ()V net/minecraft/client/Minecraft/func_99999_d ()V +MD: bsu/a (I)V net/minecraft/client/Minecraft/func_71354_a (I)V +MD: bsu/a (II)V net/minecraft/client/Minecraft/func_71370_a (II)V +MD: bsu/a (IIIIII)V net/minecraft/client/Minecraft/func_71392_a (IIIIII)V +MD: bsu/a (J)V net/minecraft/client/Minecraft/func_71366_a (J)V +MD: bsu/a (Lb;)V net/minecraft/client/Minecraft/func_71404_a (Lnet/minecraft/crash/CrashReport;)V +MD: bsu/a (Lbsu;)Ljava/lang/String; net/minecraft/client/Minecraft/access$000 (Lnet/minecraft/client/Minecraft;)Ljava/lang/String; +MD: bsu/a (Lbxf;)V net/minecraft/client/Minecraft/func_147108_a (Lnet/minecraft/client/gui/GuiScreen;)V +MD: bsu/a (Lcen;)V net/minecraft/client/Minecraft/func_71403_a (Lnet/minecraft/client/multiplayer/WorldClient;)V +MD: bsu/a (Lcen;Ljava/lang/String;)V net/minecraft/client/Minecraft/func_71353_a (Lnet/minecraft/client/multiplayer/WorldClient;Ljava/lang/String;)V +MD: bsu/a (Lcew;)V net/minecraft/client/Minecraft/func_71351_a (Lnet/minecraft/client/multiplayer/ServerData;)V +MD: bsu/a (Lcug;)V net/minecraft/client/Minecraft/func_180510_a (Lnet/minecraft/client/renderer/texture/TextureManager;)V +MD: bsu/a (Ljava/io/InputStream;)Ljava/nio/ByteBuffer; net/minecraft/client/Minecraft/func_152340_a (Ljava/io/InputStream;)Ljava/nio/ByteBuffer; +MD: bsu/a (Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/ListenableFuture; net/minecraft/client/Minecraft/func_152344_a (Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/ListenableFuture; +MD: bsu/a (Ljava/lang/String;Ljava/lang/String;Larb;)V net/minecraft/client/Minecraft/func_71371_a (Ljava/lang/String;Ljava/lang/String;Lnet/minecraft/world/WorldSettings;)V +MD: bsu/a (Ljava/util/concurrent/Callable;)Lcom/google/common/util/concurrent/ListenableFuture; net/minecraft/client/Minecraft/func_152343_a (Ljava/util/concurrent/Callable;)Lcom/google/common/util/concurrent/ListenableFuture; +MD: bsu/a (Lwb;)V net/minecraft/client/Minecraft/func_70000_a (Lnet/minecraft/profiler/PlayerUsageSnooper;)V +MD: bsu/a (Lwv;)V net/minecraft/client/Minecraft/func_175607_a (Lnet/minecraft/entity/Entity;)V +MD: bsu/a (Z)V net/minecraft/client/Minecraft/func_147115_a (Z)V +MD: bsu/aH ()Z net/minecraft/client/Minecraft/func_152345_ab ()Z +MD: bsu/aa ()Lwv; net/minecraft/client/Minecraft/func_175606_aa ()Lnet/minecraft/entity/Entity; +MD: bsu/ab ()Lcll; net/minecraft/client/Minecraft/func_175602_ab ()Lnet/minecraft/client/renderer/BlockRendererDispatcher; +MD: bsu/ac ()Z net/minecraft/client/Minecraft/func_70002_Q ()Z +MD: bsu/ae ()Lcpt; net/minecraft/client/Minecraft/func_175598_ae ()Lnet/minecraft/client/renderer/entity/RenderManager; +MD: bsu/af ()Lcqh; net/minecraft/client/Minecraft/func_175599_af ()Lnet/minecraft/client/renderer/entity/RenderItem; +MD: bsu/ag ()Lcki; net/minecraft/client/Minecraft/func_175597_ag ()Lnet/minecraft/client/renderer/ItemRenderer; +MD: bsu/ah ()I net/minecraft/client/Minecraft/func_175610_ah ()I +MD: bsu/ai ()Ljava/util/Map; net/minecraft/client/Minecraft/func_175596_ai ()Ljava/util/Map; +MD: bsu/aj ()V net/minecraft/client/Minecraft/func_71384_a ()V +MD: bsu/ak ()V net/minecraft/client/Minecraft/func_175608_ak ()V +MD: bsu/al ()V net/minecraft/client/Minecraft/func_175595_al ()V +MD: bsu/am ()V net/minecraft/client/Minecraft/func_175609_am ()V +MD: bsu/an ()V net/minecraft/client/Minecraft/func_175605_an ()V +MD: bsu/ao ()V net/minecraft/client/Minecraft/func_175594_ao ()V +MD: bsu/ap ()Z net/minecraft/client/Minecraft/func_147122_X ()Z +MD: bsu/aq ()V net/minecraft/client/Minecraft/func_71389_H ()V +MD: bsu/ar ()V net/minecraft/client/Minecraft/func_110441_Q ()V +MD: bsu/as ()V net/minecraft/client/Minecraft/func_71411_J ()V +MD: bsu/at ()V net/minecraft/client/Minecraft/func_147116_af ()V +MD: bsu/au ()V net/minecraft/client/Minecraft/func_147121_ag ()V +MD: bsu/av ()V net/minecraft/client/Minecraft/func_147119_ah ()V +MD: bsu/aw ()V net/minecraft/client/Minecraft/func_147112_ai ()V +MD: bsu/b ()Lckw; net/minecraft/client/Minecraft/func_147110_a ()Lnet/minecraft/client/shader/Framebuffer; +MD: bsu/b (I)V net/minecraft/client/Minecraft/func_71383_b (I)V +MD: bsu/b (Lb;)Lb; net/minecraft/client/Minecraft/func_71396_d (Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport; +MD: bsu/b (Lbsu;)Lcwe; net/minecraft/client/Minecraft/access$100 (Lnet/minecraft/client/Minecraft;)Lnet/minecraft/client/resources/LanguageManager; +MD: bsu/b (Ljava/lang/String;)V net/minecraft/client/Minecraft/func_71361_d (Ljava/lang/String;)V +MD: bsu/b (Lwb;)V net/minecraft/client/Minecraft/func_70001_b (Lnet/minecraft/profiler/PlayerUsageSnooper;)V +MD: bsu/c ()Ljava/lang/String; net/minecraft/client/Minecraft/func_175600_c ()Ljava/lang/String; +MD: bsu/c (Lb;)V net/minecraft/client/Minecraft/func_71377_b (Lnet/minecraft/crash/CrashReport;)V +MD: bsu/d ()Z net/minecraft/client/Minecraft/func_152349_b ()Z +MD: bsu/e ()V net/minecraft/client/Minecraft/func_110436_a ()V +MD: bsu/f ()Lbra; net/minecraft/client/Minecraft/func_71359_d ()Lnet/minecraft/world/storage/ISaveFormat; +MD: bsu/g ()V net/minecraft/client/Minecraft/func_71405_e ()V +MD: bsu/h ()V net/minecraft/client/Minecraft/func_175601_h ()V +MD: bsu/i ()V net/minecraft/client/Minecraft/func_175604_i ()V +MD: bsu/j ()I net/minecraft/client/Minecraft/func_90020_K ()I +MD: bsu/k ()Z net/minecraft/client/Minecraft/func_147107_h ()Z +MD: bsu/l ()V net/minecraft/client/Minecraft/func_71398_f ()V +MD: bsu/m ()V net/minecraft/client/Minecraft/func_71400_g ()V +MD: bsu/n ()V net/minecraft/client/Minecraft/func_71381_h ()V +MD: bsu/o ()V net/minecraft/client/Minecraft/func_71364_i ()V +MD: bsu/p ()V net/minecraft/client/Minecraft/func_71385_j ()V +MD: bsu/q ()V net/minecraft/client/Minecraft/func_71352_k ()V +MD: bsu/r ()V net/minecraft/client/Minecraft/func_71407_l ()V +MD: bsu/s ()Z net/minecraft/client/Minecraft/func_71355_q ()Z +MD: bsu/t ()Lcee; net/minecraft/client/Minecraft/func_147114_u ()Lnet/minecraft/client/network/NetHandlerPlayClient; +MD: bsu/u ()Z net/minecraft/client/Minecraft/func_71382_s ()Z +MD: bsu/v ()Z net/minecraft/client/Minecraft/func_71375_t ()Z +MD: bsu/w ()Z net/minecraft/client/Minecraft/func_71379_u ()Z +MD: bsu/z ()Lbsu; net/minecraft/client/Minecraft/func_71410_x ()Lnet/minecraft/client/Minecraft; +MD: bsv/a (Ljava/lang/String;)Ljava/lang/String; net/minecraft/client/Minecraft$1/func_74535_a (Ljava/lang/String;)Ljava/lang/String; +MD: bsw/a ()Ljava/lang/String; net/minecraft/client/Minecraft$10/call ()Ljava/lang/String; +MD: bsw/call ()Ljava/lang/Object; net/minecraft/client/Minecraft$10/call ()Ljava/lang/Object; +MD: bsx/a ()Ljava/lang/String; net/minecraft/client/Minecraft$11/call ()Ljava/lang/String; +MD: bsx/call ()Ljava/lang/Object; net/minecraft/client/Minecraft$11/call ()Ljava/lang/Object; +MD: bsy/a ()Ljava/lang/String; net/minecraft/client/Minecraft$12/call ()Ljava/lang/String; +MD: bsy/call ()Ljava/lang/Object; net/minecraft/client/Minecraft$12/call ()Ljava/lang/Object; +MD: bsz/a ()Ljava/lang/String; net/minecraft/client/Minecraft$13/call ()Ljava/lang/String; +MD: bsz/call ()Ljava/lang/Object; net/minecraft/client/Minecraft$13/call ()Ljava/lang/Object; +MD: bt/a ()I net/minecraft/command/CommandServerKick/func_82362_a ()I +MD: bt/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandServerKick/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bt/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandServerKick/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bt/c ()Ljava/lang/String; net/minecraft/command/CommandServerKick/func_71517_b ()Ljava/lang/String; +MD: bt/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandServerKick/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bta/a ()Ljava/lang/String; net/minecraft/client/Minecraft$14/call ()Ljava/lang/String; +MD: bta/call ()Ljava/lang/Object; net/minecraft/client/Minecraft$14/call ()Ljava/lang/Object; +MD: btb/run ()V net/minecraft/client/Minecraft$15/run ()V +MD: btc/a (ZI)V net/minecraft/client/Minecraft$16/func_73878_a (ZI)V +MD: bte/run ()V net/minecraft/client/Minecraft$2/run ()V +MD: btf/a ()Ljava/lang/String; net/minecraft/client/Minecraft$3/call ()Ljava/lang/String; +MD: btf/call ()Ljava/lang/Object; net/minecraft/client/Minecraft$3/call ()Ljava/lang/Object; +MD: btg/a ()Ljava/lang/String; net/minecraft/client/Minecraft$4/call ()Ljava/lang/String; +MD: btg/call ()Ljava/lang/Object; net/minecraft/client/Minecraft$4/call ()Ljava/lang/Object; +MD: bth/a ()Ljava/lang/String; net/minecraft/client/Minecraft$5/call ()Ljava/lang/String; +MD: bth/call ()Ljava/lang/Object; net/minecraft/client/Minecraft$5/call ()Ljava/lang/Object; +MD: bti/a ()Ljava/lang/String; net/minecraft/client/Minecraft$6/call ()Ljava/lang/String; +MD: bti/call ()Ljava/lang/Object; net/minecraft/client/Minecraft$6/call ()Ljava/lang/Object; +MD: btj/a ()Ljava/lang/String; net/minecraft/client/Minecraft$7/call ()Ljava/lang/String; +MD: btj/call ()Ljava/lang/Object; net/minecraft/client/Minecraft$7/call ()Ljava/lang/Object; +MD: btk/a ()Ljava/lang/String; net/minecraft/client/Minecraft$8/call ()Ljava/lang/String; +MD: btk/call ()Ljava/lang/Object; net/minecraft/client/Minecraft$8/call ()Ljava/lang/Object; +MD: btl/a ()Ljava/lang/String; net/minecraft/client/Minecraft$9/call ()Ljava/lang/String; +MD: btl/call ()Ljava/lang/Object; net/minecraft/client/Minecraft$9/call ()Ljava/lang/Object; +MD: btm/a ()V net/minecraft/util/MouseHelper/func_74372_a ()V +MD: btm/b ()V net/minecraft/util/MouseHelper/func_74373_b ()V +MD: btm/c ()V net/minecraft/util/MouseHelper/func_74374_c ()V +MD: bto/a ()V net/minecraft/client/settings/GameSettings/func_74300_a ()V +MD: bto/a (Lahh;)V net/minecraft/client/settings/GameSettings/func_178877_a (Lnet/minecraft/entity/player/EnumPlayerModelParts;)V +MD: bto/a (Lahh;Z)V net/minecraft/client/settings/GameSettings/func_178878_a (Lnet/minecraft/entity/player/EnumPlayerModelParts;Z)V +MD: bto/a (Lbsr;)Z net/minecraft/client/settings/GameSettings/func_100015_a (Lnet/minecraft/client/settings/KeyBinding;)Z +MD: bto/a (Lbsr;I)V net/minecraft/client/settings/GameSettings/func_151440_a (Lnet/minecraft/client/settings/KeyBinding;I)V +MD: bto/a (Lbtr;)F net/minecraft/client/settings/GameSettings/func_74296_a (Lnet/minecraft/client/settings/GameSettings$Options;)F +MD: bto/a (Lbtr;F)V net/minecraft/client/settings/GameSettings/func_74304_a (Lnet/minecraft/client/settings/GameSettings$Options;F)V +MD: bto/a (Lbtr;I)V net/minecraft/client/settings/GameSettings/func_74306_a (Lnet/minecraft/client/settings/GameSettings$Options;I)V +MD: bto/a (Lcxz;)F net/minecraft/client/settings/GameSettings/func_151438_a (Lnet/minecraft/client/audio/SoundCategory;)F +MD: bto/a (Lcxz;F)V net/minecraft/client/settings/GameSettings/func_151439_a (Lnet/minecraft/client/audio/SoundCategory;F)V +MD: bto/a (Ljava/lang/String;)F net/minecraft/client/settings/GameSettings/func_74305_a (Ljava/lang/String;)F +MD: bto/a ([Ljava/lang/String;I)Ljava/lang/String; net/minecraft/client/settings/GameSettings/func_74299_a ([Ljava/lang/String;I)Ljava/lang/String; +MD: bto/b ()V net/minecraft/client/settings/GameSettings/func_74303_b ()V +MD: bto/b (Lbtr;)Z net/minecraft/client/settings/GameSettings/func_74308_b (Lnet/minecraft/client/settings/GameSettings$Options;)Z +MD: bto/c ()V net/minecraft/client/settings/GameSettings/func_82879_c ()V +MD: bto/c (I)Ljava/lang/String; net/minecraft/client/settings/GameSettings/func_74298_c (I)Ljava/lang/String; +MD: bto/c (Lbtr;)Ljava/lang/String; net/minecraft/client/settings/GameSettings/func_74297_c (Lnet/minecraft/client/settings/GameSettings$Options;)Ljava/lang/String; +MD: bto/d ()Ljava/util/Set; net/minecraft/client/settings/GameSettings/func_178876_d ()Ljava/util/Set; +MD: bto/e ()Z net/minecraft/client/settings/GameSettings/func_74309_c ()Z +MD: btp/getActualTypeArguments ()[Ljava/lang/reflect/Type; net/minecraft/client/settings/GameSettings$1/getActualTypeArguments ()[Ljava/lang/reflect/Type; +MD: btp/getOwnerType ()Ljava/lang/reflect/Type; net/minecraft/client/settings/GameSettings$1/getOwnerType ()Ljava/lang/reflect/Type; +MD: btp/getRawType ()Ljava/lang/reflect/Type; net/minecraft/client/settings/GameSettings$1/getRawType ()Ljava/lang/reflect/Type; +MD: btr/a ()Z net/minecraft/client/settings/GameSettings$Options/func_74380_a ()Z +MD: btr/a (F)V net/minecraft/client/settings/GameSettings$Options/func_148263_a (F)V +MD: btr/a (I)Lbtr; net/minecraft/client/settings/GameSettings$Options/func_74379_a (I)Lnet/minecraft/client/settings/GameSettings$Options; +MD: btr/a (Lbtr;)F net/minecraft/client/settings/GameSettings$Options/access$000 (Lnet/minecraft/client/settings/GameSettings$Options;)F +MD: btr/b ()Z net/minecraft/client/settings/GameSettings$Options/func_74382_b ()Z +MD: btr/b (Lbtr;)F net/minecraft/client/settings/GameSettings$Options/access$100 (Lnet/minecraft/client/settings/GameSettings$Options;)F +MD: btr/c ()I net/minecraft/client/settings/GameSettings$Options/func_74381_c ()I +MD: btr/c (F)F net/minecraft/client/settings/GameSettings$Options/func_148266_c (F)F +MD: btr/d ()Ljava/lang/String; net/minecraft/client/settings/GameSettings$Options/func_74378_d ()Ljava/lang/String; +MD: btr/d (F)F net/minecraft/client/settings/GameSettings$Options/func_148262_d (F)F +MD: btr/e (F)F net/minecraft/client/settings/GameSettings$Options/func_148268_e (F)F +MD: btr/f ()F net/minecraft/client/settings/GameSettings$Options/func_148267_f ()F +MD: btr/f (F)F net/minecraft/client/settings/GameSettings$Options/func_148264_f (F)F +MD: btr/valueOf (Ljava/lang/String;)Lbtr; net/minecraft/client/settings/GameSettings$Options/valueOf (Ljava/lang/String;)Lnet/minecraft/client/settings/GameSettings$Options; +MD: btr/values ()[Lbtr; net/minecraft/client/settings/GameSettings$Options/values ()[Lnet/minecraft/client/settings/GameSettings$Options; +MD: bts/a ()V net/minecraft/client/LoadingScreenRenderer/func_146586_a ()V +MD: bts/a (I)V net/minecraft/client/LoadingScreenRenderer/func_73718_a (I)V +MD: bts/a (Ljava/lang/String;)V net/minecraft/client/LoadingScreenRenderer/func_73720_a (Ljava/lang/String;)V +MD: bts/b (Ljava/lang/String;)V net/minecraft/client/LoadingScreenRenderer/func_73721_b (Ljava/lang/String;)V +MD: bts/c (Ljava/lang/String;)V net/minecraft/client/LoadingScreenRenderer/func_73719_c (Ljava/lang/String;)V +MD: bts/d (Ljava/lang/String;)V net/minecraft/client/LoadingScreenRenderer/func_73722_d (Ljava/lang/String;)V +MD: btt/a (Ljava/io/File;)Ljava/io/File; net/minecraft/util/ScreenShotHelper/func_74290_a (Ljava/io/File;)Ljava/io/File; +MD: btt/a (Ljava/io/File;IILckw;)Lho; net/minecraft/util/ScreenShotHelper/func_148260_a (Ljava/io/File;IILnet/minecraft/client/shader/Framebuffer;)Lnet/minecraft/util/IChatComponent; +MD: btt/a (Ljava/io/File;Ljava/lang/String;IILckw;)Lho; net/minecraft/util/ScreenShotHelper/func_148259_a (Ljava/io/File;Ljava/lang/String;IILnet/minecraft/client/shader/Framebuffer;)Lnet/minecraft/util/IChatComponent; +MD: btv/a ()V net/minecraft/util/Timer/func_74275_a ()V +MD: btw/a ()Ljava/lang/String; net/minecraft/util/Session/func_111286_b ()Ljava/lang/String; +MD: btw/b ()Ljava/lang/String; net/minecraft/util/Session/func_148255_b ()Ljava/lang/String; +MD: btw/c ()Ljava/lang/String; net/minecraft/util/Session/func_111285_a ()Ljava/lang/String; +MD: btw/d ()Ljava/lang/String; net/minecraft/util/Session/func_148254_d ()Ljava/lang/String; +MD: btw/e ()Lcom/mojang/authlib/GameProfile; net/minecraft/util/Session/func_148256_e ()Lcom/mojang/authlib/GameProfile; +MD: btw/f ()Lbtx; net/minecraft/util/Session/func_152428_f ()Lnet/minecraft/util/Session$Type; +MD: btx/a (Ljava/lang/String;)Lbtx; net/minecraft/util/Session$Type/func_152421_a (Ljava/lang/String;)Lnet/minecraft/util/Session$Type; +MD: btx/values ()[Lbtx; net/minecraft/util/Session$Type/values ()[Lnet/minecraft/util/Session$Type; +MD: bty/a ()Z net/minecraft/client/gui/FontRenderer/func_82883_a ()Z +MD: bty/a (C)I net/minecraft/client/gui/FontRenderer/func_78263_a (C)I +MD: bty/a (CZ)F net/minecraft/client/gui/FontRenderer/func_78277_a (CZ)F +MD: bty/a (I)Loa; net/minecraft/client/gui/FontRenderer/func_111271_a (I)Lnet/minecraft/util/ResourceLocation; +MD: bty/a (ICZ)F net/minecraft/client/gui/FontRenderer/func_78278_a (ICZ)F +MD: bty/a (IZ)F net/minecraft/client/gui/FontRenderer/func_78266_a (IZ)F +MD: bty/a (Lcvk;)V net/minecraft/client/gui/FontRenderer/func_110549_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: bty/a (Ljava/lang/String;)I net/minecraft/client/gui/FontRenderer/func_78256_a (Ljava/lang/String;)I +MD: bty/a (Ljava/lang/String;FFI)I net/minecraft/client/gui/FontRenderer/func_175063_a (Ljava/lang/String;FFI)I +MD: bty/a (Ljava/lang/String;FFIZ)I net/minecraft/client/gui/FontRenderer/func_175065_a (Ljava/lang/String;FFIZ)I +MD: bty/a (Ljava/lang/String;I)Ljava/lang/String; net/minecraft/client/gui/FontRenderer/func_78269_a (Ljava/lang/String;I)Ljava/lang/String; +MD: bty/a (Ljava/lang/String;III)I net/minecraft/client/gui/FontRenderer/func_78276_b (Ljava/lang/String;III)I +MD: bty/a (Ljava/lang/String;IIII)V net/minecraft/client/gui/FontRenderer/func_78279_b (Ljava/lang/String;IIII)V +MD: bty/a (Ljava/lang/String;IIIIZ)I net/minecraft/client/gui/FontRenderer/func_78274_b (Ljava/lang/String;IIIIZ)I +MD: bty/a (Ljava/lang/String;IIIZ)V net/minecraft/client/gui/FontRenderer/func_78268_b (Ljava/lang/String;IIIZ)V +MD: bty/a (Ljava/lang/String;IZ)Ljava/lang/String; net/minecraft/client/gui/FontRenderer/func_78262_a (Ljava/lang/String;IZ)Ljava/lang/String; +MD: bty/a (Ljava/lang/String;Z)V net/minecraft/client/gui/FontRenderer/func_78255_a (Ljava/lang/String;Z)V +MD: bty/a (Z)V net/minecraft/client/gui/FontRenderer/func_78264_a (Z)V +MD: bty/b ()Z net/minecraft/client/gui/FontRenderer/func_78260_a ()Z +MD: bty/b (C)I net/minecraft/client/gui/FontRenderer/func_175064_b (C)I +MD: bty/b (I)V net/minecraft/client/gui/FontRenderer/func_78257_a (I)V +MD: bty/b (Ljava/lang/String;)Ljava/lang/String; net/minecraft/client/gui/FontRenderer/func_78282_e (Ljava/lang/String;)Ljava/lang/String; +MD: bty/b (Ljava/lang/String;FFIZ)I net/minecraft/client/gui/FontRenderer/func_180455_b (Ljava/lang/String;FFIZ)I +MD: bty/b (Ljava/lang/String;I)I net/minecraft/client/gui/FontRenderer/func_78267_b (Ljava/lang/String;I)I +MD: bty/b (Z)V net/minecraft/client/gui/FontRenderer/func_78275_b (Z)V +MD: bty/c ()V net/minecraft/client/gui/FontRenderer/func_111272_d ()V +MD: bty/c (C)Z net/minecraft/client/gui/FontRenderer/func_78272_b (C)Z +MD: bty/c (Ljava/lang/String;)Ljava/lang/String; net/minecraft/client/gui/FontRenderer/func_147647_b (Ljava/lang/String;)Ljava/lang/String; +MD: bty/c (Ljava/lang/String;I)Ljava/util/List; net/minecraft/client/gui/FontRenderer/func_78271_c (Ljava/lang/String;I)Ljava/util/List; +MD: bty/d ()V net/minecraft/client/gui/FontRenderer/func_98306_d ()V +MD: bty/d (C)Z net/minecraft/client/gui/FontRenderer/func_78270_c (C)Z +MD: bty/d (Ljava/lang/String;)Ljava/lang/String; net/minecraft/client/gui/FontRenderer/func_78273_d (Ljava/lang/String;)Ljava/lang/String; +MD: bty/d (Ljava/lang/String;I)Ljava/lang/String; net/minecraft/client/gui/FontRenderer/func_78280_d (Ljava/lang/String;I)Ljava/lang/String; +MD: bty/e ()V net/minecraft/client/gui/FontRenderer/func_78265_b ()V +MD: bty/e (Ljava/lang/String;I)I net/minecraft/client/gui/FontRenderer/func_78259_e (Ljava/lang/String;I)I +MD: btz/a ()V net/minecraft/client/gui/GuiIngame/func_175177_a ()V +MD: btz/a (F)V net/minecraft/client/gui/GuiIngame/func_175180_a (F)V +MD: btz/a (FLbuf;)V net/minecraft/client/gui/GuiIngame/func_180480_a (FLnet/minecraft/client/gui/ScaledResolution;)V +MD: btz/a (IIIFLahd;)V net/minecraft/client/gui/GuiIngame/func_175184_a (IIIFLnet/minecraft/entity/player/EntityPlayer;)V +MD: btz/a (Lbry;Lbuf;)V net/minecraft/client/gui/GuiIngame/func_180475_a (Lnet/minecraft/scoreboard/ScoreObjective;Lnet/minecraft/client/gui/ScaledResolution;)V +MD: btz/a (Lbuf;)V net/minecraft/client/gui/GuiIngame/func_175182_a (Lnet/minecraft/client/gui/ScaledResolution;)V +MD: btz/a (Lbuf;F)V net/minecraft/client/gui/GuiIngame/func_180479_a (Lnet/minecraft/client/gui/ScaledResolution;F)V +MD: btz/a (Lbuf;I)V net/minecraft/client/gui/GuiIngame/func_175186_a (Lnet/minecraft/client/gui/ScaledResolution;I)V +MD: btz/a (Lho;Z)V net/minecraft/client/gui/GuiIngame/func_175188_a (Lnet/minecraft/util/IChatComponent;Z)V +MD: btz/a (Ljava/lang/String;)V net/minecraft/client/gui/GuiIngame/func_73833_a (Ljava/lang/String;)V +MD: btz/a (Ljava/lang/String;Ljava/lang/String;III)V net/minecraft/client/gui/GuiIngame/func_175178_a (Ljava/lang/String;Ljava/lang/String;III)V +MD: btz/a (Ljava/lang/String;Z)V net/minecraft/client/gui/GuiIngame/func_110326_a (Ljava/lang/String;Z)V +MD: btz/b ()Z net/minecraft/client/gui/GuiIngame/func_175183_b ()Z +MD: btz/b (FLbuf;)V net/minecraft/client/gui/GuiIngame/func_180474_b (FLnet/minecraft/client/gui/ScaledResolution;)V +MD: btz/b (Lbuf;)V net/minecraft/client/gui/GuiIngame/func_175185_b (Lnet/minecraft/client/gui/ScaledResolution;)V +MD: btz/b (Lbuf;I)V net/minecraft/client/gui/GuiIngame/func_175176_b (Lnet/minecraft/client/gui/ScaledResolution;I)V +MD: btz/c ()V net/minecraft/client/gui/GuiIngame/func_73831_a ()V +MD: btz/c (Lbuf;)V net/minecraft/client/gui/GuiIngame/func_180478_c (Lnet/minecraft/client/gui/ScaledResolution;)V +MD: btz/d ()Lbuh; net/minecraft/client/gui/GuiIngame/func_146158_b ()Lnet/minecraft/client/gui/GuiNewChat; +MD: btz/d (Lbuf;)V net/minecraft/client/gui/GuiIngame/func_180477_d (Lnet/minecraft/client/gui/ScaledResolution;)V +MD: btz/e ()I net/minecraft/client/gui/GuiIngame/func_73834_c ()I +MD: btz/e (Lbuf;)V net/minecraft/client/gui/GuiIngame/func_180476_e (Lnet/minecraft/client/gui/ScaledResolution;)V +MD: btz/f ()Lbty; net/minecraft/client/gui/GuiIngame/func_175179_f ()Lnet/minecraft/client/gui/FontRenderer; +MD: btz/g ()Lbvo; net/minecraft/client/gui/GuiIngame/func_175187_g ()Lnet/minecraft/client/gui/GuiSpectator; +MD: btz/h ()Lbvh; net/minecraft/client/gui/GuiIngame/func_175181_h ()Lnet/minecraft/client/gui/GuiPlayerTabOverlay; +MD: btz/i ()V net/minecraft/client/gui/GuiIngame/func_73828_d ()V +MD: bu/a ()I net/minecraft/command/CommandKill/func_82362_a ()I +MD: bu/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandKill/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bu/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandKill/func_82358_a ([Ljava/lang/String;I)Z +MD: bu/c ()Ljava/lang/String; net/minecraft/command/CommandKill/func_71517_b ()Ljava/lang/String; +MD: bu/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandKill/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bua/a (Lbsa;)Z net/minecraft/client/gui/GuiIngame$1/func_178903_a (Lnet/minecraft/scoreboard/Score;)Z +MD: bua/apply (Ljava/lang/Object;)Z net/minecraft/client/gui/GuiIngame$1/apply (Ljava/lang/Object;)Z +MD: bub/a (FFIIII)V net/minecraft/client/gui/Gui/func_175174_a (FFIIII)V +MD: bub/a (IIFFIIFF)V net/minecraft/client/gui/Gui/func_146110_a (IIFFIIFF)V +MD: bub/a (IIFFIIIIFF)V net/minecraft/client/gui/Gui/func_152125_a (IIFFIIIIFF)V +MD: bub/a (IIII)V net/minecraft/client/gui/Gui/func_73730_a (IIII)V +MD: bub/a (IIIII)V net/minecraft/client/gui/Gui/func_73734_a (IIIII)V +MD: bub/a (IIIIII)V net/minecraft/client/gui/Gui/func_73733_a (IIIIII)V +MD: bub/a (IILcue;II)V net/minecraft/client/gui/Gui/func_175175_a (IILnet/minecraft/client/renderer/texture/TextureAtlasSprite;II)V +MD: bub/a (Lbty;Ljava/lang/String;III)V net/minecraft/client/gui/Gui/func_73732_a (Lnet/minecraft/client/gui/FontRenderer;Ljava/lang/String;III)V +MD: bub/b (IIII)V net/minecraft/client/gui/Gui/func_73728_b (IIII)V +MD: bub/b (IIIIII)V net/minecraft/client/gui/Gui/func_73729_b (IIIIII)V +MD: bub/c (Lbty;Ljava/lang/String;III)V net/minecraft/client/gui/Gui/func_73731_b (Lnet/minecraft/client/gui/FontRenderer;Ljava/lang/String;III)V +MD: buc/a ()V net/minecraft/client/gui/MapItemRenderer/func_148249_a ()V +MD: buc/a (Lbqe;)V net/minecraft/client/gui/MapItemRenderer/func_148246_a (Lnet/minecraft/world/storage/MapData;)V +MD: buc/a (Lbqe;Z)V net/minecraft/client/gui/MapItemRenderer/func_148250_a (Lnet/minecraft/world/storage/MapData;Z)V +MD: buc/a (Lbuc;)Lcug; net/minecraft/client/gui/MapItemRenderer/access$400 (Lnet/minecraft/client/gui/MapItemRenderer;)Lnet/minecraft/client/renderer/texture/TextureManager; +MD: buc/b ()Loa; net/minecraft/client/gui/MapItemRenderer/access$500 ()Lnet/minecraft/util/ResourceLocation; +MD: buc/b (Lbqe;)Lbue; net/minecraft/client/gui/MapItemRenderer/func_148248_b (Lnet/minecraft/world/storage/MapData;)Lnet/minecraft/client/gui/MapItemRenderer$Instance; +MD: bue/a ()V net/minecraft/client/gui/MapItemRenderer$Instance/func_148236_a ()V +MD: bue/a (Lbue;)V net/minecraft/client/gui/MapItemRenderer$Instance/access$000 (Lnet/minecraft/client/gui/MapItemRenderer$Instance;)V +MD: bue/a (Lbue;Z)V net/minecraft/client/gui/MapItemRenderer$Instance/access$100 (Lnet/minecraft/client/gui/MapItemRenderer$Instance;Z)V +MD: bue/a (Z)V net/minecraft/client/gui/MapItemRenderer$Instance/func_148237_a (Z)V +MD: bue/b (Lbue;)Loa; net/minecraft/client/gui/MapItemRenderer$Instance/access$300 (Lnet/minecraft/client/gui/MapItemRenderer$Instance;)Lnet/minecraft/util/ResourceLocation; +MD: buf/a ()I net/minecraft/client/gui/ScaledResolution/func_78326_a ()I +MD: buf/b ()I net/minecraft/client/gui/ScaledResolution/func_78328_b ()I +MD: buf/c ()D net/minecraft/client/gui/ScaledResolution/func_78327_c ()D +MD: buf/d ()D net/minecraft/client/gui/ScaledResolution/func_78324_d ()D +MD: buf/e ()I net/minecraft/client/gui/ScaledResolution/func_78325_e ()I +MD: bug/a ()Z net/minecraft/client/gui/GuiButton/func_146115_a ()Z +MD: bug/a (I)V net/minecraft/client/gui/GuiButton/func_175211_a (I)V +MD: bug/a (II)V net/minecraft/client/gui/GuiButton/func_146118_a (II)V +MD: bug/a (Lbsu;II)V net/minecraft/client/gui/GuiButton/func_146112_a (Lnet/minecraft/client/Minecraft;II)V +MD: bug/a (Lczh;)V net/minecraft/client/gui/GuiButton/func_146113_a (Lnet/minecraft/client/audio/SoundHandler;)V +MD: bug/a (Z)I net/minecraft/client/gui/GuiButton/func_146114_a (Z)I +MD: bug/b ()I net/minecraft/client/gui/GuiButton/func_146117_b ()I +MD: bug/b (II)V net/minecraft/client/gui/GuiButton/func_146111_b (II)V +MD: bug/b (Lbsu;II)V net/minecraft/client/gui/GuiButton/func_146119_b (Lnet/minecraft/client/Minecraft;II)V +MD: bug/c (Lbsu;II)Z net/minecraft/client/gui/GuiButton/func_146116_c (Lnet/minecraft/client/Minecraft;II)Z +MD: buh/a ()V net/minecraft/client/gui/GuiNewChat/func_146231_a ()V +MD: buh/a (F)I net/minecraft/client/gui/GuiNewChat/func_146233_a (F)I +MD: buh/a (I)V net/minecraft/client/gui/GuiNewChat/func_146230_a (I)V +MD: buh/a (II)Lho; net/minecraft/client/gui/GuiNewChat/func_146236_a (II)Lnet/minecraft/util/IChatComponent; +MD: buh/a (Lho;)V net/minecraft/client/gui/GuiNewChat/func_146227_a (Lnet/minecraft/util/IChatComponent;)V +MD: buh/a (Lho;I)V net/minecraft/client/gui/GuiNewChat/func_146234_a (Lnet/minecraft/util/IChatComponent;I)V +MD: buh/a (Lho;IIZ)V net/minecraft/client/gui/GuiNewChat/func_146237_a (Lnet/minecraft/util/IChatComponent;IIZ)V +MD: buh/a (Ljava/lang/String;)V net/minecraft/client/gui/GuiNewChat/func_146239_a (Ljava/lang/String;)V +MD: buh/b ()V net/minecraft/client/gui/GuiNewChat/func_146245_b ()V +MD: buh/b (F)I net/minecraft/client/gui/GuiNewChat/func_146243_b (F)I +MD: buh/b (I)V net/minecraft/client/gui/GuiNewChat/func_146229_b (I)V +MD: buh/c ()Ljava/util/List; net/minecraft/client/gui/GuiNewChat/func_146238_c ()Ljava/util/List; +MD: buh/c (I)V net/minecraft/client/gui/GuiNewChat/func_146242_c (I)V +MD: buh/d ()V net/minecraft/client/gui/GuiNewChat/func_146240_d ()V +MD: buh/e ()Z net/minecraft/client/gui/GuiNewChat/func_146241_e ()Z +MD: buh/f ()I net/minecraft/client/gui/GuiNewChat/func_146228_f ()I +MD: buh/g ()I net/minecraft/client/gui/GuiNewChat/func_146246_g ()I +MD: buh/h ()F net/minecraft/client/gui/GuiNewChat/func_146244_h ()F +MD: buh/i ()I net/minecraft/client/gui/GuiNewChat/func_146232_i ()I +MD: bui/a (Lho;ILbty;ZZ)Ljava/util/List; net/minecraft/client/gui/GuiUtilRenderComponents/func_178908_a (Lnet/minecraft/util/IChatComponent;ILnet/minecraft/client/gui/FontRenderer;ZZ)Ljava/util/List; +MD: bui/a (Ljava/lang/String;Z)Ljava/lang/String; net/minecraft/client/gui/GuiUtilRenderComponents/func_178909_a (Ljava/lang/String;Z)Ljava/lang/String; +MD: buj/a ()V net/minecraft/client/gui/GuiOverlayDebug/func_180798_a ()V +MD: buj/a (J)J net/minecraft/client/gui/GuiOverlayDebug/func_175240_a (J)J +MD: buj/a (Lbuf;)V net/minecraft/client/gui/GuiOverlayDebug/func_175237_a (Lnet/minecraft/client/gui/ScaledResolution;)V +MD: buj/b ()Ljava/util/List; net/minecraft/client/gui/GuiOverlayDebug/call ()Ljava/util/List; +MD: buj/b (Lbuf;)V net/minecraft/client/gui/GuiOverlayDebug/func_175239_b (Lnet/minecraft/client/gui/ScaledResolution;)V +MD: buj/c ()Ljava/util/List; net/minecraft/client/gui/GuiOverlayDebug/func_175238_c ()Ljava/util/List; +MD: buj/d ()Z net/minecraft/client/gui/GuiOverlayDebug/func_175236_d ()Z +MD: bul/a ()V net/minecraft/client/gui/GuiTextField/func_146178_a ()V +MD: bul/a (CI)Z net/minecraft/client/gui/GuiTextField/func_146201_a (CI)Z +MD: bul/a (I)V net/minecraft/client/gui/GuiTextField/func_146177_a (I)V +MD: bul/a (II)I net/minecraft/client/gui/GuiTextField/func_146183_a (II)I +MD: bul/a (III)V net/minecraft/client/gui/GuiTextField/func_146192_a (III)V +MD: bul/a (IIZ)I net/minecraft/client/gui/GuiTextField/func_146197_a (IIZ)I +MD: bul/a (Lbvb;)V net/minecraft/client/gui/GuiTextField/func_175207_a (Lnet/minecraft/client/gui/GuiPageButtonList$GuiResponder;)V +MD: bul/a (Lcom/google/common/base/Predicate;)V net/minecraft/client/gui/GuiTextField/func_175205_a (Lcom/google/common/base/Predicate;)V +MD: bul/a (Ljava/lang/String;)V net/minecraft/client/gui/GuiTextField/func_146180_a (Ljava/lang/String;)V +MD: bul/a (Z)V net/minecraft/client/gui/GuiTextField/func_146185_a (Z)V +MD: bul/b ()Ljava/lang/String; net/minecraft/client/gui/GuiTextField/func_146179_b ()Ljava/lang/String; +MD: bul/b (I)V net/minecraft/client/gui/GuiTextField/func_146175_b (I)V +MD: bul/b (Ljava/lang/String;)V net/minecraft/client/gui/GuiTextField/func_146191_b (Ljava/lang/String;)V +MD: bul/b (Z)V net/minecraft/client/gui/GuiTextField/func_146195_b (Z)V +MD: bul/c ()Ljava/lang/String; net/minecraft/client/gui/GuiTextField/func_146207_c ()Ljava/lang/String; +MD: bul/c (I)I net/minecraft/client/gui/GuiTextField/func_146187_c (I)I +MD: bul/c (IIII)V net/minecraft/client/gui/GuiTextField/func_146188_c (IIII)V +MD: bul/c (Z)V net/minecraft/client/gui/GuiTextField/func_146184_c (Z)V +MD: bul/d ()I net/minecraft/client/gui/GuiTextField/func_175206_d ()I +MD: bul/d (I)V net/minecraft/client/gui/GuiTextField/func_146182_d (I)V +MD: bul/d (Z)V net/minecraft/client/gui/GuiTextField/func_146205_d (Z)V +MD: bul/e ()V net/minecraft/client/gui/GuiTextField/func_146196_d ()V +MD: bul/e (I)V net/minecraft/client/gui/GuiTextField/func_146190_e (I)V +MD: bul/e (Z)V net/minecraft/client/gui/GuiTextField/func_146189_e (Z)V +MD: bul/f ()V net/minecraft/client/gui/GuiTextField/func_146202_e ()V +MD: bul/f (I)V net/minecraft/client/gui/GuiTextField/func_146203_f (I)V +MD: bul/g ()V net/minecraft/client/gui/GuiTextField/func_146194_f ()V +MD: bul/g (I)V net/minecraft/client/gui/GuiTextField/func_146193_g (I)V +MD: bul/h ()I net/minecraft/client/gui/GuiTextField/func_146208_g ()I +MD: bul/h (I)V net/minecraft/client/gui/GuiTextField/func_146204_h (I)V +MD: bul/i ()I net/minecraft/client/gui/GuiTextField/func_146198_h ()I +MD: bul/i (I)V net/minecraft/client/gui/GuiTextField/func_146199_i (I)V +MD: bul/j ()Z net/minecraft/client/gui/GuiTextField/func_146181_i ()Z +MD: bul/m ()Z net/minecraft/client/gui/GuiTextField/func_146206_l ()Z +MD: bul/o ()I net/minecraft/client/gui/GuiTextField/func_146186_n ()I +MD: bul/p ()I net/minecraft/client/gui/GuiTextField/func_146200_o ()I +MD: bul/r ()Z net/minecraft/client/gui/GuiTextField/func_146176_q ()Z +MD: bum/a (F)V net/minecraft/client/gui/GuiSlider/func_175219_a (F)V +MD: bum/a (FZ)V net/minecraft/client/gui/GuiSlider/func_175218_a (FZ)V +MD: bum/a (II)V net/minecraft/client/gui/GuiSlider/func_146118_a (II)V +MD: bum/a (Z)I net/minecraft/client/gui/GuiSlider/func_146114_a (Z)I +MD: bum/b (Lbsu;II)V net/minecraft/client/gui/GuiSlider/func_146119_b (Lnet/minecraft/client/Minecraft;II)V +MD: bum/c ()F net/minecraft/client/gui/GuiSlider/func_175220_c ()F +MD: bum/c (Lbsu;II)Z net/minecraft/client/gui/GuiSlider/func_146116_c (Lnet/minecraft/client/Minecraft;II)Z +MD: bum/d ()F net/minecraft/client/gui/GuiSlider/func_175217_d ()F +MD: bum/e ()Ljava/lang/String; net/minecraft/client/gui/GuiSlider/func_175221_e ()Ljava/lang/String; +MD: bun/a (ILjava/lang/String;F)Ljava/lang/String; net/minecraft/client/gui/GuiSlider$FormatHelper/func_175318_a (ILjava/lang/String;F)Ljava/lang/String; +MD: buo/a ()Lbuo; net/minecraft/client/gui/GuiLabel/func_175203_a ()Lnet/minecraft/client/gui/GuiLabel; +MD: buo/a (Lbsu;II)V net/minecraft/client/gui/GuiLabel/func_146159_a (Lnet/minecraft/client/Minecraft;II)V +MD: buo/a (Ljava/lang/String;)V net/minecraft/client/gui/GuiLabel/func_175202_a (Ljava/lang/String;)V +MD: buo/b (Lbsu;II)V net/minecraft/client/gui/GuiLabel/func_146160_b (Lnet/minecraft/client/Minecraft;II)V +MD: bup/a (Lbsu;II)V net/minecraft/client/gui/GuiButtonLanguage/func_146112_a (Lnet/minecraft/client/Minecraft;II)V +MD: bur/b (Z)V net/minecraft/client/gui/GuiListButton/func_175212_b (Z)V +MD: bur/c ()Ljava/lang/String; net/minecraft/client/gui/GuiListButton/func_175213_c ()Ljava/lang/String; +MD: bur/c (Lbsu;II)Z net/minecraft/client/gui/GuiListButton/func_146116_c (Lnet/minecraft/client/Minecraft;II)Z +MD: bus/a (Lbsu;II)V net/minecraft/client/gui/GuiLockIconButton/func_146112_a (Lnet/minecraft/client/Minecraft;II)V +MD: bus/b (Z)V net/minecraft/client/gui/GuiLockIconButton/func_175229_b (Z)V +MD: bus/c ()Z net/minecraft/client/gui/GuiLockIconButton/func_175230_c ()Z +MD: but/a ()I net/minecraft/client/gui/GuiLockIconButton$Icon/func_178910_a ()I +MD: but/b ()I net/minecraft/client/gui/GuiLockIconButton$Icon/func_178912_b ()I +MD: but/values ()[Lbut; net/minecraft/client/gui/GuiLockIconButton$Icon/values ()[Lnet/minecraft/client/gui/GuiLockIconButton$Icon; +MD: buu/a ()V net/minecraft/client/gui/GuiListExtended/func_148123_a ()V +MD: buu/a (I)Z net/minecraft/client/gui/GuiListExtended/func_148131_a (I)Z +MD: buu/a (III)V net/minecraft/client/gui/GuiListExtended/func_178040_a (III)V +MD: buu/a (IIIIII)V net/minecraft/client/gui/GuiListExtended/func_180791_a (IIIIII)V +MD: buu/a (IZII)V net/minecraft/client/gui/GuiListExtended/func_148144_a (IZII)V +MD: buu/b (I)Lbuv; net/minecraft/client/gui/GuiListExtended/func_148180_b (I)Lnet/minecraft/client/gui/GuiListExtended$IGuiListEntry; +MD: buu/b (III)Z net/minecraft/client/gui/GuiListExtended/func_148179_a (III)Z +MD: buu/c (III)Z net/minecraft/client/gui/GuiListExtended/func_148181_b (III)Z +MD: buv/a (III)V net/minecraft/client/gui/GuiListExtended$IGuiListEntry/func_178011_a (III)V +MD: buv/a (IIIIII)Z net/minecraft/client/gui/GuiListExtended$IGuiListEntry/func_148278_a (IIIIII)Z +MD: buv/a (IIIIIIIZ)V net/minecraft/client/gui/GuiListExtended$IGuiListEntry/func_180790_a (IIIIIIIZ)V +MD: buv/b (IIIIII)V net/minecraft/client/gui/GuiListExtended$IGuiListEntry/func_148277_b (IIIIII)V +MD: buw/c ()Lbtr; net/minecraft/client/gui/GuiOptionButton/func_146136_c ()Lnet/minecraft/client/settings/GameSettings$Options; +MD: bux/a (Lbsu;IILbtr;)Lbug; net/minecraft/client/gui/GuiOptionsRowList/func_148182_a (Lnet/minecraft/client/Minecraft;IILnet/minecraft/client/settings/GameSettings$Options;)Lnet/minecraft/client/gui/GuiButton; +MD: bux/b ()I net/minecraft/client/gui/GuiOptionsRowList/func_148127_b ()I +MD: bux/b (I)Lbuv; net/minecraft/client/gui/GuiOptionsRowList/func_148180_b (I)Lnet/minecraft/client/gui/GuiListExtended$IGuiListEntry; +MD: bux/c ()I net/minecraft/client/gui/GuiOptionsRowList/func_148139_c ()I +MD: bux/c (I)Lbuy; net/minecraft/client/gui/GuiOptionsRowList/func_180792_c (I)Lnet/minecraft/client/gui/GuiOptionsRowList$Row; +MD: bux/d ()I net/minecraft/client/gui/GuiOptionsRowList/func_148137_d ()I +MD: buy/a (III)V net/minecraft/client/gui/GuiOptionsRowList$Row/func_178011_a (III)V +MD: buy/a (IIIIII)Z net/minecraft/client/gui/GuiOptionsRowList$Row/func_148278_a (IIIIII)Z +MD: buy/a (IIIIIIIZ)V net/minecraft/client/gui/GuiOptionsRowList$Row/func_180790_a (IIIIIIIZ)V +MD: buy/b (IIIIII)V net/minecraft/client/gui/GuiOptionsRowList$Row/func_148277_b (IIIIII)V +MD: buz/a (CI)V net/minecraft/client/gui/GuiPageButtonList/func_178062_a (CI)V +MD: buz/a (IILbva;)Lbur; net/minecraft/client/gui/GuiPageButtonList/func_178065_a (IILnet/minecraft/client/gui/GuiPageButtonList$GuiButtonEntry;)Lnet/minecraft/client/gui/GuiListButton; +MD: buz/a (IILbvc;)Lbul; net/minecraft/client/gui/GuiPageButtonList/func_178068_a (IILnet/minecraft/client/gui/GuiPageButtonList$EditBoxEntry;)Lnet/minecraft/client/gui/GuiTextField; +MD: buz/a (IILbve;Z)Lbuo; net/minecraft/client/gui/GuiPageButtonList/func_178063_a (IILnet/minecraft/client/gui/GuiPageButtonList$GuiLabelEntry;Z)Lnet/minecraft/client/gui/GuiLabel; +MD: buz/a (IILbvg;)Lbum; net/minecraft/client/gui/GuiPageButtonList/func_178067_a (IILnet/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry;)Lnet/minecraft/client/gui/GuiSlider; +MD: buz/a (Lbub;Z)V net/minecraft/client/gui/GuiPageButtonList/func_178066_a (Lnet/minecraft/client/gui/Gui;Z)V +MD: buz/a (Lbvf;IZ)Lbub; net/minecraft/client/gui/GuiPageButtonList/func_178058_a (Lnet/minecraft/client/gui/GuiPageButtonList$GuiListEntry;IZ)Lnet/minecraft/client/gui/Gui; +MD: buz/b ()I net/minecraft/client/gui/GuiPageButtonList/func_148127_b ()I +MD: buz/b (I)Lbuv; net/minecraft/client/gui/GuiPageButtonList/func_148180_b (I)Lnet/minecraft/client/gui/GuiListExtended$IGuiListEntry; +MD: buz/b (III)Z net/minecraft/client/gui/GuiPageButtonList/func_148179_a (III)Z +MD: buz/c ()I net/minecraft/client/gui/GuiPageButtonList/func_148139_c ()I +MD: buz/c (I)Lbub; net/minecraft/client/gui/GuiPageButtonList/func_178061_c (I)Lnet/minecraft/client/gui/Gui; +MD: buz/d ()I net/minecraft/client/gui/GuiPageButtonList/func_148137_d ()I +MD: buz/d (I)Lbvd; net/minecraft/client/gui/GuiPageButtonList/func_178070_d (I)Lnet/minecraft/client/gui/GuiPageButtonList$GuiEntry; +MD: buz/e ()I net/minecraft/client/gui/GuiPageButtonList/func_178059_e ()I +MD: buz/e (II)V net/minecraft/client/gui/GuiPageButtonList/func_178060_e (II)V +MD: buz/f ()I net/minecraft/client/gui/GuiPageButtonList/func_178057_f ()I +MD: buz/g ()Lbub; net/minecraft/client/gui/GuiPageButtonList/func_178056_g ()Lnet/minecraft/client/gui/Gui; +MD: buz/h ()V net/minecraft/client/gui/GuiPageButtonList/func_178071_h ()V +MD: buz/i ()V net/minecraft/client/gui/GuiPageButtonList/func_178064_i ()V +MD: buz/s ()V net/minecraft/client/gui/GuiPageButtonList/func_178069_s ()V +MD: buz/t ()V net/minecraft/client/gui/GuiPageButtonList/func_178055_t ()V +MD: bv/a ()I net/minecraft/command/server/CommandListBans/func_82362_a ()I +MD: bv/a (Lae;)Z net/minecraft/command/server/CommandListBans/func_71519_b (Lnet/minecraft/command/ICommandSender;)Z +MD: bv/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandListBans/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bv/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandListBans/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bv/c ()Ljava/lang/String; net/minecraft/command/server/CommandListBans/func_71517_b ()Ljava/lang/String; +MD: bv/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandListBans/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bva/a ()Z net/minecraft/client/gui/GuiPageButtonList$GuiButtonEntry/func_178940_a ()Z +MD: bvb/a (IF)V net/minecraft/client/gui/GuiPageButtonList$GuiResponder/func_175320_a (IF)V +MD: bvb/a (ILjava/lang/String;)V net/minecraft/client/gui/GuiPageButtonList$GuiResponder/func_175319_a (ILjava/lang/String;)V +MD: bvb/a (IZ)V net/minecraft/client/gui/GuiPageButtonList$GuiResponder/func_175321_a (IZ)V +MD: bvc/a ()Lcom/google/common/base/Predicate; net/minecraft/client/gui/GuiPageButtonList$EditBoxEntry/func_178950_a ()Lcom/google/common/base/Predicate; +MD: bvd/a ()Lbub; net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_178022_a ()Lnet/minecraft/client/gui/Gui; +MD: bvd/a (III)V net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_178011_a (III)V +MD: bvd/a (IIIIII)Z net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_148278_a (IIIIII)Z +MD: bvd/a (IIIIIIIZ)V net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_180790_a (IIIIIIIZ)V +MD: bvd/a (Lbub;III)Z net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_178026_a (Lnet/minecraft/client/gui/Gui;III)Z +MD: bvd/a (Lbub;IIIZ)V net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_178017_a (Lnet/minecraft/client/gui/Gui;IIIZ)V +MD: bvd/a (Lbug;III)Z net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_178023_a (Lnet/minecraft/client/gui/GuiButton;III)Z +MD: bvd/a (Lbug;IIIZ)V net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_178024_a (Lnet/minecraft/client/gui/GuiButton;IIIZ)V +MD: bvd/a (Lbul;III)V net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_178018_a (Lnet/minecraft/client/gui/GuiTextField;III)V +MD: bvd/a (Lbul;IZ)V net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_178027_a (Lnet/minecraft/client/gui/GuiTextField;IZ)V +MD: bvd/a (Lbuo;IIIZ)V net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_178025_a (Lnet/minecraft/client/gui/GuiLabel;IIIZ)V +MD: bvd/a (Lbvd;)Lbub; net/minecraft/client/gui/GuiPageButtonList$GuiEntry/access$000 (Lnet/minecraft/client/gui/GuiPageButtonList$GuiEntry;)Lnet/minecraft/client/gui/Gui; +MD: bvd/b ()Lbub; net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_178021_b ()Lnet/minecraft/client/gui/Gui; +MD: bvd/b (IIIIII)V net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_148277_b (IIIIII)V +MD: bvd/b (Lbub;III)V net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_178016_b (Lnet/minecraft/client/gui/Gui;III)V +MD: bvd/b (Lbug;III)V net/minecraft/client/gui/GuiPageButtonList$GuiEntry/func_178019_b (Lnet/minecraft/client/gui/GuiButton;III)V +MD: bvf/b ()I net/minecraft/client/gui/GuiPageButtonList$GuiListEntry/func_178935_b ()I +MD: bvf/c ()Ljava/lang/String; net/minecraft/client/gui/GuiPageButtonList$GuiListEntry/func_178936_c ()Ljava/lang/String; +MD: bvf/d ()Z net/minecraft/client/gui/GuiPageButtonList$GuiListEntry/func_178934_d ()Z +MD: bvg/a ()Lbun; net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry/func_178945_a ()Lnet/minecraft/client/gui/GuiSlider$FormatHelper; +MD: bvg/e ()F net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry/func_178943_e ()F +MD: bvg/f ()F net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry/func_178944_f ()F +MD: bvg/g ()F net/minecraft/client/gui/GuiPageButtonList$GuiSlideEntry/func_178942_g ()F +MD: bvh/a (IIILces;)V net/minecraft/client/gui/GuiPlayerTabOverlay/func_175245_a (IIILnet/minecraft/client/network/NetworkPlayerInfo;)V +MD: bvh/a (ILbsd;Lbry;)V net/minecraft/client/gui/GuiPlayerTabOverlay/func_175249_a (ILnet/minecraft/scoreboard/Scoreboard;Lnet/minecraft/scoreboard/ScoreObjective;)V +MD: bvh/a (Lbry;ILjava/lang/String;IILces;)V net/minecraft/client/gui/GuiPlayerTabOverlay/func_175247_a (Lnet/minecraft/scoreboard/ScoreObjective;ILjava/lang/String;IILnet/minecraft/client/network/NetworkPlayerInfo;)V +MD: bvh/a (Lces;)Ljava/lang/String; net/minecraft/client/gui/GuiPlayerTabOverlay/func_175243_a (Lnet/minecraft/client/network/NetworkPlayerInfo;)Ljava/lang/String; +MD: bvh/a (Lho;)V net/minecraft/client/gui/GuiPlayerTabOverlay/func_175248_a (Lnet/minecraft/util/IChatComponent;)V +MD: bvh/a (Z)V net/minecraft/client/gui/GuiPlayerTabOverlay/func_175246_a (Z)V +MD: bvh/b (Lho;)V net/minecraft/client/gui/GuiPlayerTabOverlay/func_175244_b (Lnet/minecraft/util/IChatComponent;)V +MD: bvj/a (Lces;Lces;)I net/minecraft/client/gui/GuiPlayerTabOverlay$PlayerComparator/func_178952_a (Lnet/minecraft/client/network/NetworkPlayerInfo;Lnet/minecraft/client/network/NetworkPlayerInfo;)I +MD: bvj/compare (Ljava/lang/Object;Ljava/lang/Object;)I net/minecraft/client/gui/GuiPlayerTabOverlay$PlayerComparator/compare (Ljava/lang/Object;Ljava/lang/Object;)I +MD: bvk/a ()V net/minecraft/client/gui/GuiSlot/func_148123_a ()V +MD: bvk/a (I)Z net/minecraft/client/gui/GuiSlot/func_148131_a (I)Z +MD: bvk/a (II)V net/minecraft/client/gui/GuiSlot/func_148132_a (II)V +MD: bvk/a (IIF)V net/minecraft/client/gui/GuiSlot/func_148128_a (IIF)V +MD: bvk/a (III)V net/minecraft/client/gui/GuiSlot/func_178040_a (III)V +MD: bvk/a (IIII)V net/minecraft/client/gui/GuiSlot/func_148122_a (IIII)V +MD: bvk/a (IIIIII)V net/minecraft/client/gui/GuiSlot/func_180791_a (IIIIII)V +MD: bvk/a (IILckx;)V net/minecraft/client/gui/GuiSlot/func_148129_a (IILnet/minecraft/client/renderer/Tessellator;)V +MD: bvk/a (IZII)V net/minecraft/client/gui/GuiSlot/func_148144_a (IZII)V +MD: bvk/a (Lbug;)V net/minecraft/client/gui/GuiSlot/func_148147_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bvk/a (Z)V net/minecraft/client/gui/GuiSlot/func_148130_a (Z)V +MD: bvk/a (ZI)V net/minecraft/client/gui/GuiSlot/func_148133_a (ZI)V +MD: bvk/b ()I net/minecraft/client/gui/GuiSlot/func_148127_b ()I +MD: bvk/b (II)V net/minecraft/client/gui/GuiSlot/func_148142_b (II)V +MD: bvk/b (IIII)V net/minecraft/client/gui/GuiSlot/func_148120_b (IIII)V +MD: bvk/c ()I net/minecraft/client/gui/GuiSlot/func_148139_c ()I +MD: bvk/c (II)I net/minecraft/client/gui/GuiSlot/func_148124_c (II)I +MD: bvk/c (IIII)V net/minecraft/client/gui/GuiSlot/func_148136_c (IIII)V +MD: bvk/c (Z)V net/minecraft/client/gui/GuiSlot/func_148143_b (Z)V +MD: bvk/d ()I net/minecraft/client/gui/GuiSlot/func_148137_d ()I +MD: bvk/d (II)V net/minecraft/client/gui/GuiSlot/func_148134_d (II)V +MD: bvk/f (I)Z net/minecraft/client/gui/GuiSlot/func_148141_e (I)Z +MD: bvk/g (I)V net/minecraft/client/gui/GuiSlot/func_148145_f (I)V +MD: bvk/h (I)V net/minecraft/client/gui/GuiSlot/func_148140_g (I)V +MD: bvk/k ()I net/minecraft/client/gui/GuiSlot/func_148138_e ()I +MD: bvk/l ()V net/minecraft/client/gui/GuiSlot/func_148121_k ()V +MD: bvk/m ()I net/minecraft/client/gui/GuiSlot/func_148135_f ()I +MD: bvk/n ()I net/minecraft/client/gui/GuiSlot/func_148148_g ()I +MD: bvk/p ()V net/minecraft/client/gui/GuiSlot/func_178039_p ()V +MD: bvk/q ()Z net/minecraft/client/gui/GuiSlot/func_148125_i ()Z +MD: bvk/r ()I net/minecraft/client/gui/GuiSlot/func_148146_j ()I +MD: bvl/a (II)V net/minecraft/client/gui/GuiOptionSlider/func_146118_a (II)V +MD: bvl/a (Z)I net/minecraft/client/gui/GuiOptionSlider/func_146114_a (Z)I +MD: bvl/b (Lbsu;II)V net/minecraft/client/gui/GuiOptionSlider/func_146119_b (Lnet/minecraft/client/Minecraft;II)V +MD: bvl/c (Lbsu;II)Z net/minecraft/client/gui/GuiOptionSlider/func_146116_c (Lnet/minecraft/client/Minecraft;II)Z +MD: bvm/a ()V net/minecraft/client/gui/GuiStreamIndicator/func_152439_a ()V +MD: bvm/a (II)V net/minecraft/client/gui/GuiStreamIndicator/func_152437_a (II)V +MD: bvm/a (IIII)V net/minecraft/client/gui/GuiStreamIndicator/func_152436_a (IIII)V +MD: bvm/b ()I net/minecraft/client/gui/GuiStreamIndicator/func_152440_b ()I +MD: bvm/c ()I net/minecraft/client/gui/GuiStreamIndicator/func_152438_c ()I +MD: bvo/a ()Z net/minecraft/client/gui/GuiSpectator/func_175262_a ()Z +MD: bvo/a (I)V net/minecraft/client/gui/GuiSpectator/func_175260_a (I)V +MD: bvo/a (IIFFLcaw;)V net/minecraft/client/gui/GuiSpectator/func_175266_a (IIFFLnet/minecraft/client/gui/spectator/ISpectatorMenuObject;)V +MD: bvo/a (Lbuf;)V net/minecraft/client/gui/GuiSpectator/func_175263_a (Lnet/minecraft/client/gui/ScaledResolution;)V +MD: bvo/a (Lbuf;F)V net/minecraft/client/gui/GuiSpectator/func_175264_a (Lnet/minecraft/client/gui/ScaledResolution;F)V +MD: bvo/a (Lbuf;FIFLcay;)V net/minecraft/client/gui/GuiSpectator/func_175258_a (Lnet/minecraft/client/gui/ScaledResolution;FIFLnet/minecraft/client/gui/spectator/categories/SpectatorDetails;)V +MD: bvo/a (Lcar;)V net/minecraft/client/gui/GuiSpectator/func_175257_a (Lnet/minecraft/client/gui/spectator/SpectatorMenu;)V +MD: bvo/b ()V net/minecraft/client/gui/GuiSpectator/func_175261_b ()V +MD: bvo/b (I)V net/minecraft/client/gui/GuiSpectator/func_175259_b (I)V +MD: bvo/c ()F net/minecraft/client/gui/GuiSpectator/func_175265_c ()F +MD: bvr/a (II)V net/minecraft/client/gui/GuiButtonRealmsProxy/func_146118_a (II)V +MD: bvr/a (Ljava/lang/String;)V net/minecraft/client/gui/GuiButtonRealmsProxy/func_154311_a (Ljava/lang/String;)V +MD: bvr/a (Z)I net/minecraft/client/gui/GuiButtonRealmsProxy/func_146114_a (Z)I +MD: bvr/b ()I net/minecraft/client/gui/GuiButtonRealmsProxy/func_146117_b ()I +MD: bvr/b (Lbsu;II)V net/minecraft/client/gui/GuiButtonRealmsProxy/func_146119_b (Lnet/minecraft/client/Minecraft;II)V +MD: bvr/b (Z)V net/minecraft/client/gui/GuiButtonRealmsProxy/func_154313_b (Z)V +MD: bvr/c ()I net/minecraft/client/gui/GuiButtonRealmsProxy/func_154314_d ()I +MD: bvr/c (Lbsu;II)Z net/minecraft/client/gui/GuiButtonRealmsProxy/func_146116_c (Lnet/minecraft/client/Minecraft;II)Z +MD: bvr/c (Z)I net/minecraft/client/gui/GuiButtonRealmsProxy/func_154312_c (Z)I +MD: bvr/d ()Z net/minecraft/client/gui/GuiButtonRealmsProxy/func_154315_e ()Z +MD: bvr/e ()I net/minecraft/client/gui/GuiButtonRealmsProxy/func_154316_f ()I +MD: bvr/f ()Lnet/minecraft/realms/RealmsButton; net/minecraft/client/gui/GuiButtonRealmsProxy/func_154317_g ()Lnet/minecraft/realms/RealmsButton; +MD: bvr/g ()I net/minecraft/client/gui/GuiButtonRealmsProxy/func_175232_g ()I +MD: bvs/a ()V net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/func_148123_a ()V +MD: bvs/a (I)Z net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/func_148131_a (I)Z +MD: bvs/a (IIIIII)V net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/func_180791_a (IIIIII)V +MD: bvs/a (IIILnet/minecraft/realms/Tezzelator;)V net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/func_178043_a (IIILnet/minecraft/realms/Tezzelator;)V +MD: bvs/a (IZII)V net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/func_148144_a (IZII)V +MD: bvs/b ()I net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/func_148127_b ()I +MD: bvs/b (IIII)V net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/func_148120_b (IIII)V +MD: bvs/d ()I net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/func_148137_d ()I +MD: bvs/e ()I net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/func_178044_e ()I +MD: bvs/f ()I net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/func_178042_f ()I +MD: bvs/g ()I net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/func_178045_g ()I +MD: bvs/k ()I net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/func_148138_e ()I +MD: bvs/p ()V net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy/func_178039_p ()V +MD: bvt/a ()Lnet/minecraft/realms/RealmsScreen; net/minecraft/client/gui/GuiScreenRealmsProxy/func_154321_a ()Lnet/minecraft/realms/RealmsScreen; +MD: bvt/a (CI)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_73869_a (CI)V +MD: bvt/a (IIF)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_73863_a (IIF)V +MD: bvt/a (III)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_73864_a (III)V +MD: bvt/a (IIIIII)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_73733_a (IIIIII)V +MD: bvt/a (IIIJ)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_146273_a (IIIJ)V +MD: bvt/a (Lamj;II)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_146285_a (Lnet/minecraft/item/ItemStack;II)V +MD: bvt/a (Lbug;)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bvt/a (Ljava/lang/String;I)Ljava/util/List; net/minecraft/client/gui/GuiScreenRealmsProxy/func_154323_a (Ljava/lang/String;I)Ljava/util/List; +MD: bvt/a (Ljava/lang/String;II)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_146279_a (Ljava/lang/String;II)V +MD: bvt/a (Ljava/lang/String;III)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_154325_a (Ljava/lang/String;III)V +MD: bvt/a (Ljava/util/List;II)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_146283_a (Ljava/util/List;II)V +MD: bvt/a (Lnet/minecraft/realms/RealmsButton;)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_154327_a (Lnet/minecraft/realms/RealmsButton;)V +MD: bvt/a (ZI)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_73878_a (ZI)V +MD: bvt/b ()V net/minecraft/client/gui/GuiScreenRealmsProxy/func_73866_w_ ()V +MD: bvt/b (III)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_146286_b (III)V +MD: bvt/b (IIIIII)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_73729_b (IIIIII)V +MD: bvt/b (Ljava/lang/String;III)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_154322_b (Ljava/lang/String;III)V +MD: bvt/b (Lnet/minecraft/realms/RealmsButton;)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_154328_b (Lnet/minecraft/realms/RealmsButton;)V +MD: bvt/b_ (I)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_146270_b (I)V +MD: bvt/c ()V net/minecraft/client/gui/GuiScreenRealmsProxy/func_146276_q_ ()V +MD: bvt/c (Ljava/lang/String;)I net/minecraft/client/gui/GuiScreenRealmsProxy/func_154326_c (Ljava/lang/String;)I +MD: bvt/c (Ljava/lang/String;III)V net/minecraft/client/gui/GuiScreenRealmsProxy/func_154319_c (Ljava/lang/String;III)V +MD: bvt/d ()Z net/minecraft/client/gui/GuiScreenRealmsProxy/func_73868_f ()Z +MD: bvt/e ()V net/minecraft/client/gui/GuiScreenRealmsProxy/func_73876_c ()V +MD: bvt/h ()I net/minecraft/client/gui/GuiScreenRealmsProxy/func_154329_h ()I +MD: bvt/i ()V net/minecraft/client/gui/GuiScreenRealmsProxy/func_154324_i ()V +MD: bvt/j ()Ljava/util/List; net/minecraft/client/gui/GuiScreenRealmsProxy/func_154320_j ()Ljava/util/List; +MD: bvt/k ()V net/minecraft/client/gui/GuiScreenRealmsProxy/func_146274_d ()V +MD: bvt/l ()V net/minecraft/client/gui/GuiScreenRealmsProxy/func_146282_l ()V +MD: bvt/m ()V net/minecraft/client/gui/GuiScreenRealmsProxy/func_146281_b ()V +MD: bvu/a ()V net/minecraft/client/gui/GuiSlotRealmsProxy/func_148123_a ()V +MD: bvu/a (I)Z net/minecraft/client/gui/GuiSlotRealmsProxy/func_148131_a (I)Z +MD: bvu/a (IIIIII)V net/minecraft/client/gui/GuiSlotRealmsProxy/func_180791_a (IIIIII)V +MD: bvu/a (IZII)V net/minecraft/client/gui/GuiSlotRealmsProxy/func_148144_a (IZII)V +MD: bvu/b ()I net/minecraft/client/gui/GuiSlotRealmsProxy/func_148127_b ()I +MD: bvu/d ()I net/minecraft/client/gui/GuiSlotRealmsProxy/func_148137_d ()I +MD: bvu/e ()I net/minecraft/client/gui/GuiSlotRealmsProxy/func_154338_k ()I +MD: bvu/f ()I net/minecraft/client/gui/GuiSlotRealmsProxy/func_154339_l ()I +MD: bvu/g ()I net/minecraft/client/gui/GuiSlotRealmsProxy/func_154337_m ()I +MD: bvu/k ()I net/minecraft/client/gui/GuiSlotRealmsProxy/func_148138_e ()I +MD: bvu/p ()V net/minecraft/client/gui/GuiSlotRealmsProxy/func_178039_p ()V +MD: bvv/a ()V net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy/func_148123_a ()V +MD: bvv/a (I)Z net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy/func_148131_a (I)Z +MD: bvv/a (IIF)V net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy/func_148128_a (IIF)V +MD: bvv/a (IIIIII)V net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy/func_180791_a (IIIIII)V +MD: bvv/a (IZII)V net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy/func_148144_a (IZII)V +MD: bvv/b ()I net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy/func_148127_b ()I +MD: bvv/d ()I net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy/func_148137_d ()I +MD: bvv/e ()I net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy/func_178048_e ()I +MD: bvv/f ()I net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy/func_178047_f ()I +MD: bvv/g ()I net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy/func_178049_g ()I +MD: bvv/k ()I net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy/func_148138_e ()I +MD: bvv/p ()V net/minecraft/client/gui/GuiSimpleScrolledSelectionListProxy/func_178039_p ()V +MD: bvw/a (IIF)V net/minecraft/client/gui/ScreenChatOptions/func_73863_a (IIF)V +MD: bvw/a (Lbug;)V net/minecraft/client/gui/ScreenChatOptions/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bvw/b ()V net/minecraft/client/gui/ScreenChatOptions/func_73866_w_ ()V +MD: bvx/a ()V net/minecraft/client/gui/GuiChat/func_146404_p_ ()V +MD: bvx/a (CI)V net/minecraft/client/gui/GuiChat/func_73869_a (CI)V +MD: bvx/a (IIF)V net/minecraft/client/gui/GuiChat/func_73863_a (IIF)V +MD: bvx/a (III)V net/minecraft/client/gui/GuiChat/func_73864_a (III)V +MD: bvx/a (Ljava/lang/String;Ljava/lang/String;)V net/minecraft/client/gui/GuiChat/func_146405_a (Ljava/lang/String;Ljava/lang/String;)V +MD: bvx/a (Ljava/lang/String;Z)V net/minecraft/client/gui/GuiChat/func_175274_a (Ljava/lang/String;Z)V +MD: bvx/a ([Ljava/lang/String;)V net/minecraft/client/gui/GuiChat/func_146406_a ([Ljava/lang/String;)V +MD: bvx/b ()V net/minecraft/client/gui/GuiChat/func_73866_w_ ()V +MD: bvx/b (I)V net/minecraft/client/gui/GuiChat/func_146402_a (I)V +MD: bvx/d ()Z net/minecraft/client/gui/GuiChat/func_73868_f ()Z +MD: bvx/e ()V net/minecraft/client/gui/GuiChat/func_73876_c ()V +MD: bvx/k ()V net/minecraft/client/gui/GuiChat/func_146274_d ()V +MD: bvx/m ()V net/minecraft/client/gui/GuiChat/func_146281_b ()V +MD: bvy/a ()V net/minecraft/client/gui/GuiConfirmOpenLink/func_146359_e ()V +MD: bvy/a (IIF)V net/minecraft/client/gui/GuiConfirmOpenLink/func_73863_a (IIF)V +MD: bvy/a (Lbug;)V net/minecraft/client/gui/GuiConfirmOpenLink/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bvy/b ()V net/minecraft/client/gui/GuiConfirmOpenLink/func_73866_w_ ()V +MD: bvy/f ()V net/minecraft/client/gui/GuiConfirmOpenLink/func_146358_g ()V +MD: bvz/a (ZI)V net/minecraft/client/gui/GuiYesNoCallback/func_73878_a (ZI)V +MD: bw/a ()I net/minecraft/command/server/CommandListPlayers/func_82362_a ()I +MD: bw/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandListPlayers/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bw/c ()Ljava/lang/String; net/minecraft/command/server/CommandListPlayers/func_71517_b ()Ljava/lang/String; +MD: bw/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandListPlayers/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bwa/a (IIF)V net/minecraft/client/gui/GuiYesNo/func_73863_a (IIF)V +MD: bwa/a (Lbug;)V net/minecraft/client/gui/GuiYesNo/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwa/b ()V net/minecraft/client/gui/GuiYesNo/func_73866_w_ ()V +MD: bwa/b (I)V net/minecraft/client/gui/GuiYesNo/func_146350_a (I)V +MD: bwa/e ()V net/minecraft/client/gui/GuiYesNo/func_73876_c ()V +MD: bwb/a ()Lorg/apache/logging/log4j/Logger; net/minecraft/client/multiplayer/GuiConnecting/access$300 ()Lorg/apache/logging/log4j/Logger; +MD: bwb/a (CI)V net/minecraft/client/multiplayer/GuiConnecting/func_73869_a (CI)V +MD: bwb/a (IIF)V net/minecraft/client/multiplayer/GuiConnecting/func_73863_a (IIF)V +MD: bwb/a (Lbug;)V net/minecraft/client/multiplayer/GuiConnecting/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwb/a (Lbwb;)Z net/minecraft/client/multiplayer/GuiConnecting/access$000 (Lnet/minecraft/client/multiplayer/GuiConnecting;)Z +MD: bwb/a (Lbwb;Lgr;)Lgr; net/minecraft/client/multiplayer/GuiConnecting/access$102 (Lnet/minecraft/client/multiplayer/GuiConnecting;Lnet/minecraft/network/NetworkManager;)Lnet/minecraft/network/NetworkManager; +MD: bwb/a (Ljava/lang/String;I)V net/minecraft/client/multiplayer/GuiConnecting/func_146367_a (Ljava/lang/String;I)V +MD: bwb/b ()V net/minecraft/client/multiplayer/GuiConnecting/func_73866_w_ ()V +MD: bwb/b (Lbwb;)Lgr; net/minecraft/client/multiplayer/GuiConnecting/access$100 (Lnet/minecraft/client/multiplayer/GuiConnecting;)Lnet/minecraft/network/NetworkManager; +MD: bwb/c (Lbwb;)Lbxf; net/minecraft/client/multiplayer/GuiConnecting/access$200 (Lnet/minecraft/client/multiplayer/GuiConnecting;)Lnet/minecraft/client/gui/GuiScreen; +MD: bwb/e ()V net/minecraft/client/multiplayer/GuiConnecting/func_73876_c ()V +MD: bwc/run ()V net/minecraft/client/multiplayer/GuiConnecting$1/run ()V +MD: bwd/a ()Ljava/lang/String; net/minecraft/client/gui/GuiCreateFlatWorld/func_146384_e ()Ljava/lang/String; +MD: bwd/a (IIF)V net/minecraft/client/gui/GuiCreateFlatWorld/func_73863_a (IIF)V +MD: bwd/a (Lbug;)V net/minecraft/client/gui/GuiCreateFlatWorld/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwd/a (Lbwd;)F net/minecraft/client/gui/GuiCreateFlatWorld/access$000 (Lnet/minecraft/client/gui/GuiCreateFlatWorld;)F +MD: bwd/a (Ljava/lang/String;)V net/minecraft/client/gui/GuiCreateFlatWorld/func_146383_a (Ljava/lang/String;)V +MD: bwd/b ()V net/minecraft/client/gui/GuiCreateFlatWorld/func_73866_w_ ()V +MD: bwd/b (Lbwd;)F net/minecraft/client/gui/GuiCreateFlatWorld/access$100 (Lnet/minecraft/client/gui/GuiCreateFlatWorld;)F +MD: bwd/c (Lbwd;)F net/minecraft/client/gui/GuiCreateFlatWorld/access$200 (Lnet/minecraft/client/gui/GuiCreateFlatWorld;)F +MD: bwd/d (Lbwd;)F net/minecraft/client/gui/GuiCreateFlatWorld/access$300 (Lnet/minecraft/client/gui/GuiCreateFlatWorld;)F +MD: bwd/e (Lbwd;)Lbiv; net/minecraft/client/gui/GuiCreateFlatWorld/access$400 (Lnet/minecraft/client/gui/GuiCreateFlatWorld;)Lnet/minecraft/world/gen/FlatGeneratorInfo; +MD: bwd/f ()V net/minecraft/client/gui/GuiCreateFlatWorld/func_146375_g ()V +MD: bwd/g ()Z net/minecraft/client/gui/GuiCreateFlatWorld/func_146382_i ()Z +MD: bwd/k ()V net/minecraft/client/gui/GuiCreateFlatWorld/func_146274_d ()V +MD: bwe/a ()V net/minecraft/client/gui/GuiCreateFlatWorld$Details/func_148123_a ()V +MD: bwe/a (I)Z net/minecraft/client/gui/GuiCreateFlatWorld$Details/func_148131_a (I)Z +MD: bwe/a (IIIIII)V net/minecraft/client/gui/GuiCreateFlatWorld$Details/func_180791_a (IIIIII)V +MD: bwe/a (IILamj;)V net/minecraft/client/gui/GuiCreateFlatWorld$Details/func_148225_a (IILnet/minecraft/item/ItemStack;)V +MD: bwe/a (IZII)V net/minecraft/client/gui/GuiCreateFlatWorld$Details/func_148144_a (IZII)V +MD: bwe/b ()I net/minecraft/client/gui/GuiCreateFlatWorld$Details/func_148127_b ()I +MD: bwe/d ()I net/minecraft/client/gui/GuiCreateFlatWorld$Details/func_148137_d ()I +MD: bwe/d (IIII)V net/minecraft/client/gui/GuiCreateFlatWorld$Details/func_148224_c (IIII)V +MD: bwe/e (II)V net/minecraft/client/gui/GuiCreateFlatWorld$Details/func_148226_e (II)V +MD: bwf/a ()V net/minecraft/client/gui/GuiCreateWorld/func_146314_g ()V +MD: bwf/a (CI)V net/minecraft/client/gui/GuiCreateWorld/func_73869_a (CI)V +MD: bwf/a (IIF)V net/minecraft/client/gui/GuiCreateWorld/func_73863_a (IIF)V +MD: bwf/a (III)V net/minecraft/client/gui/GuiCreateWorld/func_73864_a (III)V +MD: bwf/a (Lbqo;)V net/minecraft/client/gui/GuiCreateWorld/func_146318_a (Lnet/minecraft/world/storage/WorldInfo;)V +MD: bwf/a (Lbra;Ljava/lang/String;)Ljava/lang/String; net/minecraft/client/gui/GuiCreateWorld/func_146317_a (Lnet/minecraft/world/storage/ISaveFormat;Ljava/lang/String;)Ljava/lang/String; +MD: bwf/a (Lbug;)V net/minecraft/client/gui/GuiCreateWorld/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwf/a (Z)V net/minecraft/client/gui/GuiCreateWorld/func_146316_a (Z)V +MD: bwf/b ()V net/minecraft/client/gui/GuiCreateWorld/func_73866_w_ ()V +MD: bwf/e ()V net/minecraft/client/gui/GuiCreateWorld/func_73876_c ()V +MD: bwf/f ()V net/minecraft/client/gui/GuiCreateWorld/func_146319_h ()V +MD: bwf/g ()Z net/minecraft/client/gui/GuiCreateWorld/func_175299_g ()Z +MD: bwf/h ()V net/minecraft/client/gui/GuiCreateWorld/func_146315_i ()V +MD: bwf/m ()V net/minecraft/client/gui/GuiCreateWorld/func_146281_b ()V +MD: bwg/a ()V net/minecraft/client/gui/GuiScreenCustomizePresets/func_175304_a ()V +MD: bwg/a (CI)V net/minecraft/client/gui/GuiScreenCustomizePresets/func_73869_a (CI)V +MD: bwg/a (IIF)V net/minecraft/client/gui/GuiScreenCustomizePresets/func_73863_a (IIF)V +MD: bwg/a (III)V net/minecraft/client/gui/GuiScreenCustomizePresets/func_73864_a (III)V +MD: bwg/a (Lbug;)V net/minecraft/client/gui/GuiScreenCustomizePresets/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwg/a (Lbwg;)Lbwi; net/minecraft/client/gui/GuiScreenCustomizePresets/access$100 (Lnet/minecraft/client/gui/GuiScreenCustomizePresets;)Lnet/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset; +MD: bwg/a (Lbwg;IIII)V net/minecraft/client/gui/GuiScreenCustomizePresets/access$300 (Lnet/minecraft/client/gui/GuiScreenCustomizePresets;IIII)V +MD: bwg/b ()V net/minecraft/client/gui/GuiScreenCustomizePresets/func_73866_w_ ()V +MD: bwg/b (Lbwg;)Lbul; net/minecraft/client/gui/GuiScreenCustomizePresets/access$200 (Lnet/minecraft/client/gui/GuiScreenCustomizePresets;)Lnet/minecraft/client/gui/GuiTextField; +MD: bwg/b (Lbwg;IIII)V net/minecraft/client/gui/GuiScreenCustomizePresets/access$400 (Lnet/minecraft/client/gui/GuiScreenCustomizePresets;IIII)V +MD: bwg/c (Lbwg;IIII)V net/minecraft/client/gui/GuiScreenCustomizePresets/access$500 (Lnet/minecraft/client/gui/GuiScreenCustomizePresets;IIII)V +MD: bwg/d (Lbwg;IIII)V net/minecraft/client/gui/GuiScreenCustomizePresets/access$600 (Lnet/minecraft/client/gui/GuiScreenCustomizePresets;IIII)V +MD: bwg/e ()V net/minecraft/client/gui/GuiScreenCustomizePresets/func_73876_c ()V +MD: bwg/f ()Ljava/util/List; net/minecraft/client/gui/GuiScreenCustomizePresets/access$000 ()Ljava/util/List; +MD: bwg/g ()Z net/minecraft/client/gui/GuiScreenCustomizePresets/func_175305_g ()Z +MD: bwg/k ()V net/minecraft/client/gui/GuiScreenCustomizePresets/func_146274_d ()V +MD: bwg/m ()V net/minecraft/client/gui/GuiScreenCustomizePresets/func_146281_b ()V +MD: bwi/a ()V net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset/func_148123_a ()V +MD: bwi/a (I)Z net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset/func_148131_a (I)Z +MD: bwi/a (IIIIII)V net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset/func_180791_a (IIIIII)V +MD: bwi/a (IILoa;)V net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset/func_178051_a (IILnet/minecraft/util/ResourceLocation;)V +MD: bwi/a (IZII)V net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset/func_148144_a (IZII)V +MD: bwi/b ()I net/minecraft/client/gui/GuiScreenCustomizePresets$ListPreset/func_148127_b ()I +MD: bwj/a ()Ljava/lang/String; net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175323_a ()Ljava/lang/String; +MD: bwj/a (CI)V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_73869_a (CI)V +MD: bwj/a (F)V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175327_a (F)V +MD: bwj/a (IF)V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175320_a (IF)V +MD: bwj/a (IIF)V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_73863_a (IIF)V +MD: bwj/a (III)V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_73864_a (III)V +MD: bwj/a (ILjava/lang/String;)V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175319_a (ILjava/lang/String;)V +MD: bwj/a (ILjava/lang/String;F)Ljava/lang/String; net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175318_a (ILjava/lang/String;F)Ljava/lang/String; +MD: bwj/a (IZ)V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175321_a (IZ)V +MD: bwj/a (Lbug;)V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwj/a (Ljava/lang/String;)V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175324_a (Ljava/lang/String;)V +MD: bwj/a (Z)V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175329_a (Z)V +MD: bwj/b ()V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_73866_w_ ()V +MD: bwj/b (I)V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175322_b (I)V +MD: bwj/b (IF)Ljava/lang/String; net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175330_b (IF)Ljava/lang/String; +MD: bwj/b (III)V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_146286_b (III)V +MD: bwj/f ()V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175325_f ()V +MD: bwj/g ()V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175326_g ()V +MD: bwj/h ()V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175331_h ()V +MD: bwj/i ()V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_175328_i ()V +MD: bwj/k ()V net/minecraft/client/gui/GuiCustomizeWorldScreen/func_146274_d ()V +MD: bwk/a (Ljava/lang/String;)Z net/minecraft/client/gui/GuiCustomizeWorldScreen$1/func_178956_a (Ljava/lang/String;)Z +MD: bwk/apply (Ljava/lang/Object;)Z net/minecraft/client/gui/GuiCustomizeWorldScreen$1/apply (Ljava/lang/Object;)Z +MD: bwl/a (CI)V net/minecraft/client/gui/GuiGameOver/func_73869_a (CI)V +MD: bwl/a (IIF)V net/minecraft/client/gui/GuiGameOver/func_73863_a (IIF)V +MD: bwl/a (Lbug;)V net/minecraft/client/gui/GuiGameOver/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwl/a (ZI)V net/minecraft/client/gui/GuiGameOver/func_73878_a (ZI)V +MD: bwl/b ()V net/minecraft/client/gui/GuiGameOver/func_73866_w_ ()V +MD: bwl/d ()Z net/minecraft/client/gui/GuiGameOver/func_73868_f ()Z +MD: bwl/e ()V net/minecraft/client/gui/GuiGameOver/func_73876_c ()V +MD: bwm/a (IIF)V net/minecraft/client/gui/GuiScreenDemo/func_73863_a (IIF)V +MD: bwm/a (Lbug;)V net/minecraft/client/gui/GuiScreenDemo/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwm/b ()V net/minecraft/client/gui/GuiScreenDemo/func_73866_w_ ()V +MD: bwm/c ()V net/minecraft/client/gui/GuiScreenDemo/func_146276_q_ ()V +MD: bwm/e ()V net/minecraft/client/gui/GuiScreenDemo/func_73876_c ()V +MD: bwn/a (CI)V net/minecraft/client/gui/GuiScreenServerList/func_73869_a (CI)V +MD: bwn/a (IIF)V net/minecraft/client/gui/GuiScreenServerList/func_73863_a (IIF)V +MD: bwn/a (III)V net/minecraft/client/gui/GuiScreenServerList/func_73864_a (III)V +MD: bwn/a (Lbug;)V net/minecraft/client/gui/GuiScreenServerList/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwn/b ()V net/minecraft/client/gui/GuiScreenServerList/func_73866_w_ ()V +MD: bwn/e ()V net/minecraft/client/gui/GuiScreenServerList/func_73876_c ()V +MD: bwn/m ()V net/minecraft/client/gui/GuiScreenServerList/func_146281_b ()V +MD: bwo/a (CI)V net/minecraft/client/gui/GuiDisconnected/func_73869_a (CI)V +MD: bwo/a (IIF)V net/minecraft/client/gui/GuiDisconnected/func_73863_a (IIF)V +MD: bwo/a (Lbug;)V net/minecraft/client/gui/GuiDisconnected/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwo/b ()V net/minecraft/client/gui/GuiDisconnected/func_73866_w_ ()V +MD: bwp/a (CI)V net/minecraft/client/gui/GuiScreenAddServer/func_73869_a (CI)V +MD: bwp/a (IIF)V net/minecraft/client/gui/GuiScreenAddServer/func_73863_a (IIF)V +MD: bwp/a (III)V net/minecraft/client/gui/GuiScreenAddServer/func_73864_a (III)V +MD: bwp/a (Lbug;)V net/minecraft/client/gui/GuiScreenAddServer/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwp/b ()V net/minecraft/client/gui/GuiScreenAddServer/func_73866_w_ ()V +MD: bwp/e ()V net/minecraft/client/gui/GuiScreenAddServer/func_73876_c ()V +MD: bwp/m ()V net/minecraft/client/gui/GuiScreenAddServer/func_146281_b ()V +MD: bwq/a (CI)V net/minecraft/client/gui/GuiErrorScreen/func_73869_a (CI)V +MD: bwq/a (IIF)V net/minecraft/client/gui/GuiErrorScreen/func_73863_a (IIF)V +MD: bwq/a (Lbug;)V net/minecraft/client/gui/GuiErrorScreen/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwq/b ()V net/minecraft/client/gui/GuiErrorScreen/func_73866_w_ ()V +MD: bwr/a (CI)V net/minecraft/client/gui/GuiSleepMP/func_73869_a (CI)V +MD: bwr/a (Lbug;)V net/minecraft/client/gui/GuiSleepMP/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwr/b ()V net/minecraft/client/gui/GuiSleepMP/func_73866_w_ ()V +MD: bwr/f ()V net/minecraft/client/gui/GuiSleepMP/func_146418_g ()V +MD: bws/a (IIF)V net/minecraft/client/gui/GuiLanguage/func_73863_a (IIF)V +MD: bws/a (Lbug;)V net/minecraft/client/gui/GuiLanguage/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bws/a (Lbws;)Lcwe; net/minecraft/client/gui/GuiLanguage/access$000 (Lnet/minecraft/client/gui/GuiLanguage;)Lnet/minecraft/client/resources/LanguageManager; +MD: bws/b ()V net/minecraft/client/gui/GuiLanguage/func_73866_w_ ()V +MD: bws/b (Lbws;)Lbto; net/minecraft/client/gui/GuiLanguage/access$100 (Lnet/minecraft/client/gui/GuiLanguage;)Lnet/minecraft/client/settings/GameSettings; +MD: bws/c (Lbws;)Lbuw; net/minecraft/client/gui/GuiLanguage/access$200 (Lnet/minecraft/client/gui/GuiLanguage;)Lnet/minecraft/client/gui/GuiOptionButton; +MD: bws/d (Lbws;)Lbuw; net/minecraft/client/gui/GuiLanguage/access$300 (Lnet/minecraft/client/gui/GuiLanguage;)Lnet/minecraft/client/gui/GuiOptionButton; +MD: bws/k ()V net/minecraft/client/gui/GuiLanguage/func_146274_d ()V +MD: bwt/a ()V net/minecraft/client/gui/GuiLanguage$List/func_148123_a ()V +MD: bwt/a (I)Z net/minecraft/client/gui/GuiLanguage$List/func_148131_a (I)Z +MD: bwt/a (IIIIII)V net/minecraft/client/gui/GuiLanguage$List/func_180791_a (IIIIII)V +MD: bwt/a (IZII)V net/minecraft/client/gui/GuiLanguage$List/func_148144_a (IZII)V +MD: bwt/b ()I net/minecraft/client/gui/GuiLanguage$List/func_148127_b ()I +MD: bwt/k ()I net/minecraft/client/gui/GuiLanguage$List/func_148138_e ()I +MD: bwv/a (IIF)V net/minecraft/client/gui/GuiOptions/func_73863_a (IIF)V +MD: bwv/a (Lbug;)V net/minecraft/client/gui/GuiOptions/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwv/a (Lvt;)Ljava/lang/String; net/minecraft/client/gui/GuiOptions/func_175355_a (Lnet/minecraft/world/EnumDifficulty;)Ljava/lang/String; +MD: bwv/a (ZI)V net/minecraft/client/gui/GuiOptions/func_73878_a (ZI)V +MD: bwv/b ()V net/minecraft/client/gui/GuiOptions/func_73866_w_ ()V +MD: bww/a (Lczh;)V net/minecraft/client/gui/GuiOptions$1/func_146113_a (Lnet/minecraft/client/audio/SoundHandler;)V +MD: bwx/a (CI)V net/minecraft/client/gui/GuiMemoryErrorScreen/func_73869_a (CI)V +MD: bwx/a (IIF)V net/minecraft/client/gui/GuiMemoryErrorScreen/func_73863_a (IIF)V +MD: bwx/a (Lbug;)V net/minecraft/client/gui/GuiMemoryErrorScreen/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwx/b ()V net/minecraft/client/gui/GuiMemoryErrorScreen/func_73866_w_ ()V +MD: bwy/a (IIF)V net/minecraft/client/gui/GuiIngameMenu/func_73863_a (IIF)V +MD: bwy/a (Lbug;)V net/minecraft/client/gui/GuiIngameMenu/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwy/b ()V net/minecraft/client/gui/GuiIngameMenu/func_73866_w_ ()V +MD: bwy/e ()V net/minecraft/client/gui/GuiIngameMenu/func_73876_c ()V +MD: bwz/a ()V net/minecraft/client/gui/GuiFlatPresets/func_146426_g ()V +MD: bwz/a (CI)V net/minecraft/client/gui/GuiFlatPresets/func_73869_a (CI)V +MD: bwz/a (IIF)V net/minecraft/client/gui/GuiFlatPresets/func_73863_a (IIF)V +MD: bwz/a (III)V net/minecraft/client/gui/GuiFlatPresets/func_73864_a (III)V +MD: bwz/a (Lbug;)V net/minecraft/client/gui/GuiFlatPresets/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bwz/a (Lbwz;)F net/minecraft/client/gui/GuiFlatPresets/access$000 (Lnet/minecraft/client/gui/GuiFlatPresets;)F +MD: bwz/a (Ljava/lang/String;Lalq;ILarm;Ljava/util/List;[Lbiw;)V net/minecraft/client/gui/GuiFlatPresets/func_175354_a (Ljava/lang/String;Lnet/minecraft/item/Item;ILnet/minecraft/world/biome/BiomeGenBase;Ljava/util/List;[Lnet/minecraft/world/gen/FlatLayerInfo;)V +MD: bwz/a (Ljava/lang/String;Lalq;Larm;Ljava/util/List;[Lbiw;)V net/minecraft/client/gui/GuiFlatPresets/func_146421_a (Ljava/lang/String;Lnet/minecraft/item/Item;Lnet/minecraft/world/biome/BiomeGenBase;Ljava/util/List;[Lnet/minecraft/world/gen/FlatLayerInfo;)V +MD: bwz/a (Ljava/lang/String;Lalq;Larm;[Lbiw;)V net/minecraft/client/gui/GuiFlatPresets/func_146425_a (Ljava/lang/String;Lnet/minecraft/item/Item;Lnet/minecraft/world/biome/BiomeGenBase;[Lnet/minecraft/world/gen/FlatLayerInfo;)V +MD: bwz/b ()V net/minecraft/client/gui/GuiFlatPresets/func_73866_w_ ()V +MD: bwz/b (Lbwz;)F net/minecraft/client/gui/GuiFlatPresets/access$100 (Lnet/minecraft/client/gui/GuiFlatPresets;)F +MD: bwz/c (Lbwz;)F net/minecraft/client/gui/GuiFlatPresets/access$200 (Lnet/minecraft/client/gui/GuiFlatPresets;)F +MD: bwz/d (Lbwz;)F net/minecraft/client/gui/GuiFlatPresets/access$300 (Lnet/minecraft/client/gui/GuiFlatPresets;)F +MD: bwz/e ()V net/minecraft/client/gui/GuiFlatPresets/func_73876_c ()V +MD: bwz/e (Lbwz;)Lbxb; net/minecraft/client/gui/GuiFlatPresets/access$500 (Lnet/minecraft/client/gui/GuiFlatPresets;)Lnet/minecraft/client/gui/GuiFlatPresets$ListSlot; +MD: bwz/f ()Ljava/util/List; net/minecraft/client/gui/GuiFlatPresets/access$400 ()Ljava/util/List; +MD: bwz/f (Lbwz;)Lbul; net/minecraft/client/gui/GuiFlatPresets/access$600 (Lnet/minecraft/client/gui/GuiFlatPresets;)Lnet/minecraft/client/gui/GuiTextField; +MD: bwz/g ()Z net/minecraft/client/gui/GuiFlatPresets/func_146430_p ()Z +MD: bwz/k ()V net/minecraft/client/gui/GuiFlatPresets/func_146274_d ()V +MD: bwz/m ()V net/minecraft/client/gui/GuiFlatPresets/func_146281_b ()V +MD: bx/a ()I net/minecraft/command/server/CommandMessage/func_82362_a ()I +MD: bx/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandMessage/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bx/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandMessage/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bx/b ()Ljava/util/List; net/minecraft/command/server/CommandMessage/func_71514_a ()Ljava/util/List; +MD: bx/b ([Ljava/lang/String;I)Z net/minecraft/command/server/CommandMessage/func_82358_a ([Ljava/lang/String;I)Z +MD: bx/c ()Ljava/lang/String; net/minecraft/command/server/CommandMessage/func_71517_b ()Ljava/lang/String; +MD: bx/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandMessage/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bxb/a ()V net/minecraft/client/gui/GuiFlatPresets$ListSlot/func_148123_a ()V +MD: bxb/a (I)Z net/minecraft/client/gui/GuiFlatPresets$ListSlot/func_148131_a (I)Z +MD: bxb/a (IIIIII)V net/minecraft/client/gui/GuiFlatPresets$ListSlot/func_180791_a (IIIIII)V +MD: bxb/a (IILalq;I)V net/minecraft/client/gui/GuiFlatPresets$ListSlot/func_178054_a (IILnet/minecraft/item/Item;I)V +MD: bxb/a (IZII)V net/minecraft/client/gui/GuiFlatPresets$ListSlot/func_148144_a (IZII)V +MD: bxb/b ()I net/minecraft/client/gui/GuiFlatPresets$ListSlot/func_148127_b ()I +MD: bxb/d (IIII)V net/minecraft/client/gui/GuiFlatPresets$ListSlot/func_148171_c (IIII)V +MD: bxb/e (II)V net/minecraft/client/gui/GuiFlatPresets$ListSlot/func_148173_e (II)V +MD: bxc/a ()V net/minecraft/client/gui/GuiScreenWorking/func_146586_a ()V +MD: bxc/a (I)V net/minecraft/client/gui/GuiScreenWorking/func_73718_a (I)V +MD: bxc/a (IIF)V net/minecraft/client/gui/GuiScreenWorking/func_73863_a (IIF)V +MD: bxc/a (Ljava/lang/String;)V net/minecraft/client/gui/GuiScreenWorking/func_73720_a (Ljava/lang/String;)V +MD: bxc/b (Ljava/lang/String;)V net/minecraft/client/gui/GuiScreenWorking/func_73721_b (Ljava/lang/String;)V +MD: bxc/c (Ljava/lang/String;)V net/minecraft/client/gui/GuiScreenWorking/func_73719_c (Ljava/lang/String;)V +MD: bxd/a (CI)V net/minecraft/client/gui/GuiDownloadTerrain/func_73869_a (CI)V +MD: bxd/a (IIF)V net/minecraft/client/gui/GuiDownloadTerrain/func_73863_a (IIF)V +MD: bxd/b ()V net/minecraft/client/gui/GuiDownloadTerrain/func_73866_w_ ()V +MD: bxd/d ()Z net/minecraft/client/gui/GuiDownloadTerrain/func_73868_f ()Z +MD: bxd/e ()V net/minecraft/client/gui/GuiDownloadTerrain/func_73876_c ()V +MD: bxe/a (CI)V net/minecraft/client/gui/GuiRenameWorld/func_73869_a (CI)V +MD: bxe/a (IIF)V net/minecraft/client/gui/GuiRenameWorld/func_73863_a (IIF)V +MD: bxe/a (III)V net/minecraft/client/gui/GuiRenameWorld/func_73864_a (III)V +MD: bxe/a (Lbug;)V net/minecraft/client/gui/GuiRenameWorld/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bxe/b ()V net/minecraft/client/gui/GuiRenameWorld/func_73866_w_ ()V +MD: bxe/e ()V net/minecraft/client/gui/GuiRenameWorld/func_73876_c ()V +MD: bxe/m ()V net/minecraft/client/gui/GuiRenameWorld/func_146281_b ()V +MD: bxf/a (CI)V net/minecraft/client/gui/GuiScreen/func_73869_a (CI)V +MD: bxf/a (IIF)V net/minecraft/client/gui/GuiScreen/func_73863_a (IIF)V +MD: bxf/a (III)V net/minecraft/client/gui/GuiScreen/func_73864_a (III)V +MD: bxf/a (IIIJ)V net/minecraft/client/gui/GuiScreen/func_146273_a (IIIJ)V +MD: bxf/a (Lamj;II)V net/minecraft/client/gui/GuiScreen/func_146285_a (Lnet/minecraft/item/ItemStack;II)V +MD: bxf/a (Lbsu;II)V net/minecraft/client/gui/GuiScreen/func_146280_a (Lnet/minecraft/client/Minecraft;II)V +MD: bxf/a (Lbug;)V net/minecraft/client/gui/GuiScreen/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bxf/a (Lho;)Z net/minecraft/client/gui/GuiScreen/func_175276_a (Lnet/minecraft/util/IChatComponent;)Z +MD: bxf/a (Lho;II)V net/minecraft/client/gui/GuiScreen/func_175272_a (Lnet/minecraft/util/IChatComponent;II)V +MD: bxf/a (Ljava/lang/String;II)V net/minecraft/client/gui/GuiScreen/func_146279_a (Ljava/lang/String;II)V +MD: bxf/a (Ljava/lang/String;Z)V net/minecraft/client/gui/GuiScreen/func_175274_a (Ljava/lang/String;Z)V +MD: bxf/a (Ljava/net/URI;)V net/minecraft/client/gui/GuiScreen/func_175282_a (Ljava/net/URI;)V +MD: bxf/a (Ljava/util/List;II)V net/minecraft/client/gui/GuiScreen/func_146283_a (Ljava/util/List;II)V +MD: bxf/a (ZI)V net/minecraft/client/gui/GuiScreen/func_73878_a (ZI)V +MD: bxf/b ()V net/minecraft/client/gui/GuiScreen/func_73866_w_ ()V +MD: bxf/b (III)V net/minecraft/client/gui/GuiScreen/func_146286_b (III)V +MD: bxf/b (Lbsu;II)V net/minecraft/client/gui/GuiScreen/func_175273_b (Lnet/minecraft/client/Minecraft;II)V +MD: bxf/b (Ljava/lang/String;Z)V net/minecraft/client/gui/GuiScreen/func_175281_b (Ljava/lang/String;Z)V +MD: bxf/b_ (I)V net/minecraft/client/gui/GuiScreen/func_146270_b (I)V +MD: bxf/c ()V net/minecraft/client/gui/GuiScreen/func_146276_q_ ()V +MD: bxf/c (I)V net/minecraft/client/gui/GuiScreen/func_146278_c (I)V +MD: bxf/d ()Z net/minecraft/client/gui/GuiScreen/func_73868_f ()Z +MD: bxf/d (I)Z net/minecraft/client/gui/GuiScreen/func_175277_d (I)Z +MD: bxf/e ()V net/minecraft/client/gui/GuiScreen/func_73876_c ()V +MD: bxf/e (I)Z net/minecraft/client/gui/GuiScreen/func_175279_e (I)Z +MD: bxf/e (Ljava/lang/String;)V net/minecraft/client/gui/GuiScreen/func_146275_d (Ljava/lang/String;)V +MD: bxf/f (I)Z net/minecraft/client/gui/GuiScreen/func_175280_f (I)Z +MD: bxf/f (Ljava/lang/String;)V net/minecraft/client/gui/GuiScreen/func_175275_f (Ljava/lang/String;)V +MD: bxf/g (I)Z net/minecraft/client/gui/GuiScreen/func_175278_g (I)Z +MD: bxf/k ()V net/minecraft/client/gui/GuiScreen/func_146274_d ()V +MD: bxf/l ()V net/minecraft/client/gui/GuiScreen/func_146282_l ()V +MD: bxf/m ()V net/minecraft/client/gui/GuiScreen/func_146281_b ()V +MD: bxf/o ()Ljava/lang/String; net/minecraft/client/gui/GuiScreen/func_146277_j ()Ljava/lang/String; +MD: bxf/p ()V net/minecraft/client/gui/GuiScreen/func_146269_k ()V +MD: bxf/q ()Z net/minecraft/client/gui/GuiScreen/func_146271_m ()Z +MD: bxf/r ()Z net/minecraft/client/gui/GuiScreen/func_146272_n ()Z +MD: bxf/s ()Z net/minecraft/client/gui/GuiScreen/func_175283_s ()Z +MD: bxg/a ()V net/minecraft/client/gui/GuiSelectWorld/func_146618_g ()V +MD: bxg/a (IIF)V net/minecraft/client/gui/GuiSelectWorld/func_73863_a (IIF)V +MD: bxg/a (Lbug;)V net/minecraft/client/gui/GuiSelectWorld/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bxg/a (Lbvz;Ljava/lang/String;I)Lbwa; net/minecraft/client/gui/GuiSelectWorld/func_152129_a (Lnet/minecraft/client/gui/GuiYesNoCallback;Ljava/lang/String;I)Lnet/minecraft/client/gui/GuiYesNo; +MD: bxg/a (Lbxg;)Ljava/util/List; net/minecraft/client/gui/GuiSelectWorld/access$000 (Lnet/minecraft/client/gui/GuiSelectWorld;)Ljava/util/List; +MD: bxg/a (Lbxg;I)I net/minecraft/client/gui/GuiSelectWorld/access$102 (Lnet/minecraft/client/gui/GuiSelectWorld;I)I +MD: bxg/a (ZI)V net/minecraft/client/gui/GuiSelectWorld/func_73878_a (ZI)V +MD: bxg/b ()V net/minecraft/client/gui/GuiSelectWorld/func_73866_w_ ()V +MD: bxg/b (I)Ljava/lang/String; net/minecraft/client/gui/GuiSelectWorld/func_146621_a (I)Ljava/lang/String; +MD: bxg/b (Lbxg;)I net/minecraft/client/gui/GuiSelectWorld/access$100 (Lnet/minecraft/client/gui/GuiSelectWorld;)I +MD: bxg/c (Lbxg;)Lbug; net/minecraft/client/gui/GuiSelectWorld/access$200 (Lnet/minecraft/client/gui/GuiSelectWorld;)Lnet/minecraft/client/gui/GuiButton; +MD: bxg/d (Lbxg;)Lbug; net/minecraft/client/gui/GuiSelectWorld/access$300 (Lnet/minecraft/client/gui/GuiSelectWorld;)Lnet/minecraft/client/gui/GuiButton; +MD: bxg/e (Lbxg;)Lbug; net/minecraft/client/gui/GuiSelectWorld/access$400 (Lnet/minecraft/client/gui/GuiSelectWorld;)Lnet/minecraft/client/gui/GuiButton; +MD: bxg/f ()V net/minecraft/client/gui/GuiSelectWorld/func_146627_h ()V +MD: bxg/f (Lbxg;)Lbug; net/minecraft/client/gui/GuiSelectWorld/access$500 (Lnet/minecraft/client/gui/GuiSelectWorld;)Lnet/minecraft/client/gui/GuiButton; +MD: bxg/g (Lbxg;)Ljava/lang/String; net/minecraft/client/gui/GuiSelectWorld/access$600 (Lnet/minecraft/client/gui/GuiSelectWorld;)Ljava/lang/String; +MD: bxg/h (I)Ljava/lang/String; net/minecraft/client/gui/GuiSelectWorld/func_146614_d (I)Ljava/lang/String; +MD: bxg/h (Lbxg;)Ljava/text/DateFormat; net/minecraft/client/gui/GuiSelectWorld/access$700 (Lnet/minecraft/client/gui/GuiSelectWorld;)Ljava/text/DateFormat; +MD: bxg/i (I)V net/minecraft/client/gui/GuiSelectWorld/func_146615_e (I)V +MD: bxg/i (Lbxg;)Ljava/lang/String; net/minecraft/client/gui/GuiSelectWorld/access$800 (Lnet/minecraft/client/gui/GuiSelectWorld;)Ljava/lang/String; +MD: bxg/j (Lbxg;)[Ljava/lang/String; net/minecraft/client/gui/GuiSelectWorld/access$900 (Lnet/minecraft/client/gui/GuiSelectWorld;)[Ljava/lang/String; +MD: bxg/k ()V net/minecraft/client/gui/GuiSelectWorld/func_146274_d ()V +MD: bxh/a ()V net/minecraft/client/gui/GuiSelectWorld$List/func_148123_a ()V +MD: bxh/a (I)Z net/minecraft/client/gui/GuiSelectWorld$List/func_148131_a (I)Z +MD: bxh/a (IIIIII)V net/minecraft/client/gui/GuiSelectWorld$List/func_180791_a (IIIIII)V +MD: bxh/a (IZII)V net/minecraft/client/gui/GuiSelectWorld$List/func_148144_a (IZII)V +MD: bxh/b ()I net/minecraft/client/gui/GuiSelectWorld$List/func_148127_b ()I +MD: bxh/k ()I net/minecraft/client/gui/GuiSelectWorld$List/func_148138_e ()I +MD: bxi/a ()V net/minecraft/client/gui/GuiShareToLan/func_146595_g ()V +MD: bxi/a (IIF)V net/minecraft/client/gui/GuiShareToLan/func_73863_a (IIF)V +MD: bxi/a (Lbug;)V net/minecraft/client/gui/GuiShareToLan/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bxi/b ()V net/minecraft/client/gui/GuiShareToLan/func_73866_w_ ()V +MD: bxj/a (IIF)V net/minecraft/client/gui/GuiCustomizeSkin/func_73863_a (IIF)V +MD: bxj/a (Lahh;)Ljava/lang/String; net/minecraft/client/gui/GuiCustomizeSkin/func_175358_a (Lnet/minecraft/entity/player/EnumPlayerModelParts;)Ljava/lang/String; +MD: bxj/a (Lbug;)V net/minecraft/client/gui/GuiCustomizeSkin/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bxj/a (Lbxj;Lahh;)Ljava/lang/String; net/minecraft/client/gui/GuiCustomizeSkin/access$200 (Lnet/minecraft/client/gui/GuiCustomizeSkin;Lnet/minecraft/entity/player/EnumPlayerModelParts;)Ljava/lang/String; +MD: bxj/b ()V net/minecraft/client/gui/GuiCustomizeSkin/func_73866_w_ ()V +MD: bxl/a (Lbxl;)Lahh; net/minecraft/client/gui/GuiCustomizeSkin$ButtonPart/access$100 (Lnet/minecraft/client/gui/GuiCustomizeSkin$ButtonPart;)Lnet/minecraft/entity/player/EnumPlayerModelParts; +MD: bxm/a (IIF)V net/minecraft/client/gui/GuiSnooper/func_73863_a (IIF)V +MD: bxm/a (Lbug;)V net/minecraft/client/gui/GuiSnooper/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bxm/a (Lbxm;)Ljava/util/List; net/minecraft/client/gui/GuiSnooper/access$000 (Lnet/minecraft/client/gui/GuiSnooper;)Ljava/util/List; +MD: bxm/b ()V net/minecraft/client/gui/GuiSnooper/func_73866_w_ ()V +MD: bxm/b (Lbxm;)Ljava/util/List; net/minecraft/client/gui/GuiSnooper/access$100 (Lnet/minecraft/client/gui/GuiSnooper;)Ljava/util/List; +MD: bxm/k ()V net/minecraft/client/gui/GuiSnooper/func_146274_d ()V +MD: bxn/a ()V net/minecraft/client/gui/GuiSnooper$List/func_148123_a ()V +MD: bxn/a (I)Z net/minecraft/client/gui/GuiSnooper$List/func_148131_a (I)Z +MD: bxn/a (IIIIII)V net/minecraft/client/gui/GuiSnooper$List/func_180791_a (IIIIII)V +MD: bxn/a (IZII)V net/minecraft/client/gui/GuiSnooper$List/func_148144_a (IZII)V +MD: bxn/b ()I net/minecraft/client/gui/GuiSnooper$List/func_148127_b ()I +MD: bxn/d ()I net/minecraft/client/gui/GuiSnooper$List/func_148137_d ()I +MD: bxo/a (IIF)V net/minecraft/client/gui/GuiScreenOptionsSounds/func_73863_a (IIF)V +MD: bxo/a (Lbug;)V net/minecraft/client/gui/GuiScreenOptionsSounds/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bxo/a (Lbxo;)Lbto; net/minecraft/client/gui/GuiScreenOptionsSounds/access$000 (Lnet/minecraft/client/gui/GuiScreenOptionsSounds;)Lnet/minecraft/client/settings/GameSettings; +MD: bxo/a (Lcxz;)Ljava/lang/String; net/minecraft/client/gui/GuiScreenOptionsSounds/func_146504_a (Lnet/minecraft/client/audio/SoundCategory;)Ljava/lang/String; +MD: bxo/b ()V net/minecraft/client/gui/GuiScreenOptionsSounds/func_73866_w_ ()V +MD: bxp/a (II)V net/minecraft/client/gui/GuiScreenOptionsSounds$Button/func_146118_a (II)V +MD: bxp/a (Lczh;)V net/minecraft/client/gui/GuiScreenOptionsSounds$Button/func_146113_a (Lnet/minecraft/client/audio/SoundHandler;)V +MD: bxp/a (Z)I net/minecraft/client/gui/GuiScreenOptionsSounds$Button/func_146114_a (Z)I +MD: bxp/b (Lbsu;II)V net/minecraft/client/gui/GuiScreenOptionsSounds$Button/func_146119_b (Lnet/minecraft/client/Minecraft;II)V +MD: bxp/c (Lbsu;II)Z net/minecraft/client/gui/GuiScreenOptionsSounds$Button/func_146116_c (Lnet/minecraft/client/Minecraft;II)Z +MD: bxq/a ()V net/minecraft/client/gui/GuiMainMenu/func_140005_i ()V +MD: bxq/a (CI)V net/minecraft/client/gui/GuiMainMenu/func_73869_a (CI)V +MD: bxq/a (F)V net/minecraft/client/gui/GuiMainMenu/func_73968_a (F)V +MD: bxq/a (IIF)V net/minecraft/client/gui/GuiMainMenu/func_73863_a (IIF)V +MD: bxq/a (III)V net/minecraft/client/gui/GuiMainMenu/func_73864_a (III)V +MD: bxq/a (Lbug;)V net/minecraft/client/gui/GuiMainMenu/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bxq/a (ZI)V net/minecraft/client/gui/GuiMainMenu/func_73878_a (ZI)V +MD: bxq/b ()V net/minecraft/client/gui/GuiMainMenu/func_73866_w_ ()V +MD: bxq/b (II)V net/minecraft/client/gui/GuiMainMenu/func_73969_a (II)V +MD: bxq/b (IIF)V net/minecraft/client/gui/GuiMainMenu/func_73970_b (IIF)V +MD: bxq/c (II)V net/minecraft/client/gui/GuiMainMenu/func_73972_b (II)V +MD: bxq/c (IIF)V net/minecraft/client/gui/GuiMainMenu/func_73971_c (IIF)V +MD: bxq/d ()Z net/minecraft/client/gui/GuiMainMenu/func_73868_f ()Z +MD: bxq/e ()V net/minecraft/client/gui/GuiMainMenu/func_73876_c ()V +MD: bxr/a (IIF)V net/minecraft/client/gui/GuiVideoSettings/func_73863_a (IIF)V +MD: bxr/a (III)V net/minecraft/client/gui/GuiVideoSettings/func_73864_a (III)V +MD: bxr/a (Lbug;)V net/minecraft/client/gui/GuiVideoSettings/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bxr/b ()V net/minecraft/client/gui/GuiVideoSettings/func_73866_w_ ()V +MD: bxr/b (III)V net/minecraft/client/gui/GuiVideoSettings/func_146286_b (III)V +MD: bxr/k ()V net/minecraft/client/gui/GuiVideoSettings/func_146274_d ()V +MD: bxs/a ()V net/minecraft/client/gui/GuiWinGame/func_146574_g ()V +MD: bxs/a (CI)V net/minecraft/client/gui/GuiWinGame/func_73869_a (CI)V +MD: bxs/a (IIF)V net/minecraft/client/gui/GuiWinGame/func_73863_a (IIF)V +MD: bxs/b ()V net/minecraft/client/gui/GuiWinGame/func_73866_w_ ()V +MD: bxs/b (IIF)V net/minecraft/client/gui/GuiWinGame/func_146575_b (IIF)V +MD: bxs/d ()Z net/minecraft/client/gui/GuiWinGame/func_73868_f ()Z +MD: bxs/e ()V net/minecraft/client/gui/GuiWinGame/func_73876_c ()V +MD: bxt/a ()V net/minecraft/client/gui/achievement/GuiAchievement/func_146254_a ()V +MD: bxt/a (Ltk;)V net/minecraft/client/gui/achievement/GuiAchievement/func_146256_a (Lnet/minecraft/stats/Achievement;)V +MD: bxt/b ()V net/minecraft/client/gui/achievement/GuiAchievement/func_146257_b ()V +MD: bxt/b (Ltk;)V net/minecraft/client/gui/achievement/GuiAchievement/func_146255_b (Lnet/minecraft/stats/Achievement;)V +MD: bxt/c ()V net/minecraft/client/gui/achievement/GuiAchievement/func_146258_c ()V +MD: bxu/a ()V net/minecraft/client/gui/achievement/GuiAchievements/func_146509_g ()V +MD: bxu/a (CI)V net/minecraft/client/gui/achievement/GuiAchievements/func_73869_a (CI)V +MD: bxu/a (IIF)V net/minecraft/client/gui/achievement/GuiAchievements/func_73863_a (IIF)V +MD: bxu/a (Latr;)Lcue; net/minecraft/client/gui/achievement/GuiAchievements/func_175371_a (Lnet/minecraft/block/Block;)Lnet/minecraft/client/renderer/texture/TextureAtlasSprite; +MD: bxu/a (Lbug;)V net/minecraft/client/gui/achievement/GuiAchievements/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bxu/b ()V net/minecraft/client/gui/achievement/GuiAchievements/func_73866_w_ ()V +MD: bxu/b (IIF)V net/minecraft/client/gui/achievement/GuiAchievements/func_146552_b (IIF)V +MD: bxu/d ()Z net/minecraft/client/gui/achievement/GuiAchievements/func_73868_f ()Z +MD: bxu/e ()V net/minecraft/client/gui/achievement/GuiAchievements/func_73876_c ()V +MD: bxu/f ()V net/minecraft/client/gui/achievement/GuiAchievements/func_146553_h ()V +MD: bxv/a ()V net/minecraft/client/gui/achievement/GuiStats/func_146509_g ()V +MD: bxv/a (IIF)V net/minecraft/client/gui/achievement/GuiStats/func_73863_a (IIF)V +MD: bxv/a (IILalq;)V net/minecraft/client/gui/achievement/GuiStats/func_146521_a (IILnet/minecraft/item/Item;)V +MD: bxv/a (Lbug;)V net/minecraft/client/gui/achievement/GuiStats/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bxv/a (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$000 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/a (Lbxv;IIII)V net/minecraft/client/gui/achievement/GuiStats/access$400 (Lnet/minecraft/client/gui/achievement/GuiStats;IIII)V +MD: bxv/a (Lbxv;IIIIII)V net/minecraft/client/gui/achievement/GuiStats/access$1000 (Lnet/minecraft/client/gui/achievement/GuiStats;IIIIII)V +MD: bxv/a (Lbxv;IILalq;)V net/minecraft/client/gui/achievement/GuiStats/access$1500 (Lnet/minecraft/client/gui/achievement/GuiStats;IILnet/minecraft/item/Item;)V +MD: bxv/b ()V net/minecraft/client/gui/achievement/GuiStats/func_73866_w_ ()V +MD: bxv/b (II)V net/minecraft/client/gui/achievement/GuiStats/func_146531_b (II)V +MD: bxv/b (Lbxv;)Ltz; net/minecraft/client/gui/achievement/GuiStats/access$100 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/stats/StatFileWriter; +MD: bxv/b (Lbxv;IIIIII)V net/minecraft/client/gui/achievement/GuiStats/access$1300 (Lnet/minecraft/client/gui/achievement/GuiStats;IIIIII)V +MD: bxv/c (IIII)V net/minecraft/client/gui/achievement/GuiStats/func_146527_c (IIII)V +MD: bxv/c (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$200 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/d ()Z net/minecraft/client/gui/achievement/GuiStats/func_73868_f ()Z +MD: bxv/d (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$300 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/e (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$500 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/f ()V net/minecraft/client/gui/achievement/GuiStats/func_175366_f ()V +MD: bxv/f (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$600 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/g ()V net/minecraft/client/gui/achievement/GuiStats/func_146541_h ()V +MD: bxv/g (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$700 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/h (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$800 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/i (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$900 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/j (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$1100 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/k ()V net/minecraft/client/gui/achievement/GuiStats/func_146274_d ()V +MD: bxv/k (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$1200 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/l (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$1400 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/m (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$1600 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/n (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$1700 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/o (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$1800 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/p (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$1900 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/q (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$2000 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/r (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$2100 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxv/s (Lbxv;)Lbty; net/minecraft/client/gui/achievement/GuiStats/access$2200 (Lnet/minecraft/client/gui/achievement/GuiStats;)Lnet/minecraft/client/gui/FontRenderer; +MD: bxw/a (IIIIII)V net/minecraft/client/gui/achievement/GuiStats$StatsBlock/func_180791_a (IIIIII)V +MD: bxw/a (IILckx;)V net/minecraft/client/gui/achievement/GuiStats$StatsBlock/func_148129_a (IILnet/minecraft/client/renderer/Tessellator;)V +MD: bxw/b (I)Ljava/lang/String; net/minecraft/client/gui/achievement/GuiStats$StatsBlock/func_148210_b (I)Ljava/lang/String; +MD: bxx/a (Lto;Lto;)I net/minecraft/client/gui/achievement/GuiStats$StatsBlock$1/compare (Lnet/minecraft/stats/StatCrafting;Lnet/minecraft/stats/StatCrafting;)I +MD: bxx/compare (Ljava/lang/Object;Ljava/lang/Object;)I net/minecraft/client/gui/achievement/GuiStats$StatsBlock$1/compare (Ljava/lang/Object;Ljava/lang/Object;)I +MD: bxy/a ()V net/minecraft/client/gui/achievement/GuiStats$StatsGeneral/func_148123_a ()V +MD: bxy/a (I)Z net/minecraft/client/gui/achievement/GuiStats$StatsGeneral/func_148131_a (I)Z +MD: bxy/a (IIIIII)V net/minecraft/client/gui/achievement/GuiStats$StatsGeneral/func_180791_a (IIIIII)V +MD: bxy/a (IZII)V net/minecraft/client/gui/achievement/GuiStats$StatsGeneral/func_148144_a (IZII)V +MD: bxy/b ()I net/minecraft/client/gui/achievement/GuiStats$StatsGeneral/func_148127_b ()I +MD: bxy/k ()I net/minecraft/client/gui/achievement/GuiStats$StatsGeneral/func_148138_e ()I +MD: bxz/a (IIIIII)V net/minecraft/client/gui/achievement/GuiStats$StatsItem/func_180791_a (IIIIII)V +MD: bxz/a (IILckx;)V net/minecraft/client/gui/achievement/GuiStats$StatsItem/func_148129_a (IILnet/minecraft/client/renderer/Tessellator;)V +MD: bxz/b (I)Ljava/lang/String; net/minecraft/client/gui/achievement/GuiStats$StatsItem/func_148210_b (I)Ljava/lang/String; +MD: by/a ()I net/minecraft/command/server/CommandMessageRaw/func_82362_a ()I +MD: by/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandMessageRaw/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: by/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandMessageRaw/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: by/b ([Ljava/lang/String;I)Z net/minecraft/command/server/CommandMessageRaw/func_82358_a ([Ljava/lang/String;I)Z +MD: by/c ()Ljava/lang/String; net/minecraft/command/server/CommandMessageRaw/func_71517_b ()Ljava/lang/String; +MD: by/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandMessageRaw/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bya/a (Lto;Lto;)I net/minecraft/client/gui/achievement/GuiStats$StatsItem$1/compare (Lnet/minecraft/stats/StatCrafting;Lnet/minecraft/stats/StatCrafting;)I +MD: bya/compare (Ljava/lang/Object;Ljava/lang/Object;)I net/minecraft/client/gui/achievement/GuiStats$StatsItem$1/compare (Ljava/lang/Object;Ljava/lang/Object;)I +MD: byb/a ()V net/minecraft/client/gui/achievement/GuiStats$StatsMobsList/func_148123_a ()V +MD: byb/a (I)Z net/minecraft/client/gui/achievement/GuiStats$StatsMobsList/func_148131_a (I)Z +MD: byb/a (IIIIII)V net/minecraft/client/gui/achievement/GuiStats$StatsMobsList/func_180791_a (IIIIII)V +MD: byb/a (IZII)V net/minecraft/client/gui/achievement/GuiStats$StatsMobsList/func_148144_a (IZII)V +MD: byb/b ()I net/minecraft/client/gui/achievement/GuiStats$StatsMobsList/func_148127_b ()I +MD: byb/k ()I net/minecraft/client/gui/achievement/GuiStats$StatsMobsList/func_148138_e ()I +MD: byc/a ()V net/minecraft/client/gui/achievement/GuiStats$Stats/func_148123_a ()V +MD: byc/a (I)Z net/minecraft/client/gui/achievement/GuiStats$Stats/func_148131_a (I)Z +MD: byc/a (II)V net/minecraft/client/gui/achievement/GuiStats$Stats/func_148132_a (II)V +MD: byc/a (IILckx;)V net/minecraft/client/gui/achievement/GuiStats$Stats/func_148129_a (IILnet/minecraft/client/renderer/Tessellator;)V +MD: byc/a (IZII)V net/minecraft/client/gui/achievement/GuiStats$Stats/func_148144_a (IZII)V +MD: byc/a (Lto;II)V net/minecraft/client/gui/achievement/GuiStats$Stats/func_148213_a (Lnet/minecraft/stats/StatCrafting;II)V +MD: byc/a (Ltq;IIZ)V net/minecraft/client/gui/achievement/GuiStats$Stats/func_148209_a (Lnet/minecraft/stats/StatBase;IIZ)V +MD: byc/b ()I net/minecraft/client/gui/achievement/GuiStats$Stats/func_148127_b ()I +MD: byc/b (I)Ljava/lang/String; net/minecraft/client/gui/achievement/GuiStats$Stats/func_148210_b (I)Ljava/lang/String; +MD: byc/b (II)V net/minecraft/client/gui/achievement/GuiStats$Stats/func_148142_b (II)V +MD: byc/c (I)Lto; net/minecraft/client/gui/achievement/GuiStats$Stats/func_148211_c (I)Lnet/minecraft/stats/StatCrafting; +MD: byc/d (I)V net/minecraft/client/gui/achievement/GuiStats$Stats/func_148212_h (I)V +MD: byd/a ()V net/minecraft/client/gui/IProgressMeter/func_146509_g ()V +MD: byf/a (Lbyf;)Lbsu; net/minecraft/client/gui/GuiKeyBindingList/access$100 (Lnet/minecraft/client/gui/GuiKeyBindingList;)Lnet/minecraft/client/Minecraft; +MD: byf/b ()I net/minecraft/client/gui/GuiKeyBindingList/func_148127_b ()I +MD: byf/b (I)Lbuv; net/minecraft/client/gui/GuiKeyBindingList/func_148180_b (I)Lnet/minecraft/client/gui/GuiListExtended$IGuiListEntry; +MD: byf/b (Lbyf;)Lbyj; net/minecraft/client/gui/GuiKeyBindingList/access$200 (Lnet/minecraft/client/gui/GuiKeyBindingList;)Lnet/minecraft/client/gui/GuiControls; +MD: byf/c ()I net/minecraft/client/gui/GuiKeyBindingList/func_148139_c ()I +MD: byf/c (Lbyf;)I net/minecraft/client/gui/GuiKeyBindingList/access$300 (Lnet/minecraft/client/gui/GuiKeyBindingList;)I +MD: byf/d ()I net/minecraft/client/gui/GuiKeyBindingList/func_148137_d ()I +MD: byh/a (III)V net/minecraft/client/gui/GuiKeyBindingList$CategoryEntry/func_178011_a (III)V +MD: byh/a (IIIIII)Z net/minecraft/client/gui/GuiKeyBindingList$CategoryEntry/func_148278_a (IIIIII)Z +MD: byh/a (IIIIIIIZ)V net/minecraft/client/gui/GuiKeyBindingList$CategoryEntry/func_180790_a (IIIIIIIZ)V +MD: byh/b (IIIIII)V net/minecraft/client/gui/GuiKeyBindingList$CategoryEntry/func_148277_b (IIIIII)V +MD: byi/a (III)V net/minecraft/client/gui/GuiKeyBindingList$KeyEntry/func_178011_a (III)V +MD: byi/a (IIIIII)Z net/minecraft/client/gui/GuiKeyBindingList$KeyEntry/func_148278_a (IIIIII)Z +MD: byi/a (IIIIIIIZ)V net/minecraft/client/gui/GuiKeyBindingList$KeyEntry/func_180790_a (IIIIIIIZ)V +MD: byi/b (IIIIII)V net/minecraft/client/gui/GuiKeyBindingList$KeyEntry/func_148277_b (IIIIII)V +MD: byj/a (CI)V net/minecraft/client/gui/GuiControls/func_73869_a (CI)V +MD: byj/a (IIF)V net/minecraft/client/gui/GuiControls/func_73863_a (IIF)V +MD: byj/a (III)V net/minecraft/client/gui/GuiControls/func_73864_a (III)V +MD: byj/a (Lbug;)V net/minecraft/client/gui/GuiControls/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: byj/b ()V net/minecraft/client/gui/GuiControls/func_73866_w_ ()V +MD: byj/b (III)V net/minecraft/client/gui/GuiControls/func_146286_b (III)V +MD: byj/k ()V net/minecraft/client/gui/GuiControls/func_146274_d ()V +MD: byl/a ()V net/minecraft/client/gui/inventory/GuiContainer/func_146980_g ()V +MD: byl/a (CI)V net/minecraft/client/gui/inventory/GuiContainer/func_73869_a (CI)V +MD: byl/a (FII)V net/minecraft/client/gui/inventory/GuiContainer/func_146976_a (FII)V +MD: byl/a (IIF)V net/minecraft/client/gui/inventory/GuiContainer/func_73863_a (IIF)V +MD: byl/a (III)V net/minecraft/client/gui/inventory/GuiContainer/func_73864_a (III)V +MD: byl/a (IIIJ)V net/minecraft/client/gui/inventory/GuiContainer/func_146273_a (IIIJ)V +MD: byl/a (Lajk;)V net/minecraft/client/gui/inventory/GuiContainer/func_146977_a (Lnet/minecraft/inventory/Slot;)V +MD: byl/a (Lajk;II)Z net/minecraft/client/gui/inventory/GuiContainer/func_146981_a (Lnet/minecraft/inventory/Slot;II)Z +MD: byl/a (Lajk;III)V net/minecraft/client/gui/inventory/GuiContainer/func_146984_a (Lnet/minecraft/inventory/Slot;III)V +MD: byl/a (Lamj;IILjava/lang/String;)V net/minecraft/client/gui/inventory/GuiContainer/func_146982_a (Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V +MD: byl/b ()V net/minecraft/client/gui/inventory/GuiContainer/func_73866_w_ ()V +MD: byl/b (I)Z net/minecraft/client/gui/inventory/GuiContainer/func_146983_a (I)Z +MD: byl/b (II)V net/minecraft/client/gui/inventory/GuiContainer/func_146979_b (II)V +MD: byl/b (III)V net/minecraft/client/gui/inventory/GuiContainer/func_146286_b (III)V +MD: byl/c (II)Lajk; net/minecraft/client/gui/inventory/GuiContainer/func_146975_c (II)Lnet/minecraft/inventory/Slot; +MD: byl/c (IIIIII)Z net/minecraft/client/gui/inventory/GuiContainer/func_146978_c (IIIIII)Z +MD: byl/d ()Z net/minecraft/client/gui/inventory/GuiContainer/func_73868_f ()Z +MD: byl/e ()V net/minecraft/client/gui/inventory/GuiContainer/func_73876_c ()V +MD: byl/m ()V net/minecraft/client/gui/inventory/GuiContainer/func_146281_b ()V +MD: bym/a ()V net/minecraft/client/gui/GuiRepair/func_147090_g ()V +MD: bym/a (CI)V net/minecraft/client/gui/GuiRepair/func_73869_a (CI)V +MD: bym/a (FII)V net/minecraft/client/gui/GuiRepair/func_146976_a (FII)V +MD: bym/a (IIF)V net/minecraft/client/gui/GuiRepair/func_73863_a (IIF)V +MD: bym/a (III)V net/minecraft/client/gui/GuiRepair/func_73864_a (III)V +MD: bym/a (Laib;II)V net/minecraft/client/gui/GuiRepair/func_71112_a (Lnet/minecraft/inventory/Container;II)V +MD: bym/a (Laib;ILamj;)V net/minecraft/client/gui/GuiRepair/func_71111_a (Lnet/minecraft/inventory/Container;ILnet/minecraft/item/ItemStack;)V +MD: bym/a (Laib;Ljava/util/List;)V net/minecraft/client/gui/GuiRepair/func_71110_a (Lnet/minecraft/inventory/Container;Ljava/util/List;)V +MD: bym/a (Laib;Lvq;)V net/minecraft/client/gui/GuiRepair/func_175173_a (Lnet/minecraft/inventory/Container;Lnet/minecraft/inventory/IInventory;)V +MD: bym/b ()V net/minecraft/client/gui/GuiRepair/func_73866_w_ ()V +MD: bym/b (II)V net/minecraft/client/gui/GuiRepair/func_146979_b (II)V +MD: bym/m ()V net/minecraft/client/gui/GuiRepair/func_146281_b ()V +MD: byn/a ()Loa; net/minecraft/client/gui/inventory/GuiBeacon/access$000 ()Lnet/minecraft/util/ResourceLocation; +MD: byn/a (FII)V net/minecraft/client/gui/inventory/GuiBeacon/func_146976_a (FII)V +MD: byn/a (Lbug;)V net/minecraft/client/gui/inventory/GuiBeacon/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: byn/a (Lbyn;Ljava/lang/String;II)V net/minecraft/client/gui/inventory/GuiBeacon/access$100 (Lnet/minecraft/client/gui/inventory/GuiBeacon;Ljava/lang/String;II)V +MD: byn/b ()V net/minecraft/client/gui/inventory/GuiBeacon/func_73866_w_ ()V +MD: byn/b (II)V net/minecraft/client/gui/inventory/GuiBeacon/func_146979_b (II)V +MD: byn/b (Lbyn;Ljava/lang/String;II)V net/minecraft/client/gui/inventory/GuiBeacon/access$200 (Lnet/minecraft/client/gui/inventory/GuiBeacon;Ljava/lang/String;II)V +MD: byn/c (Lbyn;Ljava/lang/String;II)V net/minecraft/client/gui/inventory/GuiBeacon/access$300 (Lnet/minecraft/client/gui/inventory/GuiBeacon;Ljava/lang/String;II)V +MD: byn/e ()V net/minecraft/client/gui/inventory/GuiBeacon/func_73876_c ()V +MD: byo/b (II)V net/minecraft/client/gui/inventory/GuiBeacon$CancelButton/func_146111_b (II)V +MD: byp/b (II)V net/minecraft/client/gui/inventory/GuiBeacon$ConfirmButton/func_146111_b (II)V +MD: byq/b (II)V net/minecraft/client/gui/inventory/GuiBeacon$PowerButton/func_146111_b (II)V +MD: byr/a (Lbsu;II)V net/minecraft/client/gui/inventory/GuiBeacon$Button/func_146112_a (Lnet/minecraft/client/Minecraft;II)V +MD: byr/b (Z)V net/minecraft/client/gui/inventory/GuiBeacon$Button/func_146140_b (Z)V +MD: byr/c ()Z net/minecraft/client/gui/inventory/GuiBeacon$Button/func_146141_c ()Z +MD: bys/a ()Loa; net/minecraft/client/gui/GuiScreenBook/access$000 ()Lnet/minecraft/util/ResourceLocation; +MD: bys/a (CI)V net/minecraft/client/gui/GuiScreenBook/func_73869_a (CI)V +MD: bys/a (IIF)V net/minecraft/client/gui/GuiScreenBook/func_73863_a (IIF)V +MD: bys/a (III)V net/minecraft/client/gui/GuiScreenBook/func_73864_a (III)V +MD: bys/a (Lbug;)V net/minecraft/client/gui/GuiScreenBook/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bys/a (Lho;)Z net/minecraft/client/gui/GuiScreenBook/func_175276_a (Lnet/minecraft/util/IChatComponent;)Z +MD: bys/a (Ljava/lang/String;)V net/minecraft/client/gui/GuiScreenBook/func_146457_a (Ljava/lang/String;)V +MD: bys/a (Z)V net/minecraft/client/gui/GuiScreenBook/func_146462_a (Z)V +MD: bys/b ()V net/minecraft/client/gui/GuiScreenBook/func_73866_w_ ()V +MD: bys/b (CI)V net/minecraft/client/gui/GuiScreenBook/func_146463_b (CI)V +MD: bys/b (II)Lho; net/minecraft/client/gui/GuiScreenBook/func_175385_b (II)Lnet/minecraft/util/IChatComponent; +MD: bys/b (Ljava/lang/String;)V net/minecraft/client/gui/GuiScreenBook/func_146459_b (Ljava/lang/String;)V +MD: bys/c (CI)V net/minecraft/client/gui/GuiScreenBook/func_146460_c (CI)V +MD: bys/e ()V net/minecraft/client/gui/GuiScreenBook/func_73876_c ()V +MD: bys/f ()V net/minecraft/client/gui/GuiScreenBook/func_146464_h ()V +MD: bys/g ()V net/minecraft/client/gui/GuiScreenBook/func_146461_i ()V +MD: bys/h ()Ljava/lang/String; net/minecraft/client/gui/GuiScreenBook/func_146456_p ()Ljava/lang/String; +MD: bys/m ()V net/minecraft/client/gui/GuiScreenBook/func_146281_b ()V +MD: byt/a (Lbsu;II)V net/minecraft/client/gui/GuiScreenBook$NextPageButton/func_146112_a (Lnet/minecraft/client/Minecraft;II)V +MD: byu/a (FII)V net/minecraft/client/gui/inventory/GuiBrewingStand/func_146976_a (FII)V +MD: byu/b (II)V net/minecraft/client/gui/inventory/GuiBrewingStand/func_146979_b (II)V +MD: byv/a ()V net/minecraft/client/gui/GuiCommandBlock/func_175388_a ()V +MD: byv/a (CI)V net/minecraft/client/gui/GuiCommandBlock/func_73869_a (CI)V +MD: byv/a (IIF)V net/minecraft/client/gui/GuiCommandBlock/func_73863_a (IIF)V +MD: byv/a (III)V net/minecraft/client/gui/GuiCommandBlock/func_73864_a (III)V +MD: byv/a (Lbug;)V net/minecraft/client/gui/GuiCommandBlock/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: byv/b ()V net/minecraft/client/gui/GuiCommandBlock/func_73866_w_ ()V +MD: byv/e ()V net/minecraft/client/gui/GuiCommandBlock/func_73876_c ()V +MD: byv/m ()V net/minecraft/client/gui/GuiCommandBlock/func_146281_b ()V +MD: byw/a (FII)V net/minecraft/client/gui/inventory/GuiChest/func_146976_a (FII)V +MD: byw/b (II)V net/minecraft/client/gui/inventory/GuiChest/func_146979_b (II)V +MD: byx/a (FII)V net/minecraft/client/gui/inventory/GuiCrafting/func_146976_a (FII)V +MD: byx/b (II)V net/minecraft/client/gui/inventory/GuiCrafting/func_146979_b (II)V +MD: byy/a (Laib;II)V net/minecraft/client/gui/inventory/CreativeCrafting/func_71112_a (Lnet/minecraft/inventory/Container;II)V +MD: byy/a (Laib;ILamj;)V net/minecraft/client/gui/inventory/CreativeCrafting/func_71111_a (Lnet/minecraft/inventory/Container;ILnet/minecraft/item/ItemStack;)V +MD: byy/a (Laib;Ljava/util/List;)V net/minecraft/client/gui/inventory/CreativeCrafting/func_71110_a (Lnet/minecraft/inventory/Container;Ljava/util/List;)V +MD: byy/a (Laib;Lvq;)V net/minecraft/client/gui/inventory/CreativeCrafting/func_175173_a (Lnet/minecraft/inventory/Container;Lnet/minecraft/inventory/IInventory;)V +MD: byz/a ()I net/minecraft/client/gui/inventory/GuiContainerCreative/func_147056_g ()I +MD: byz/a (CI)V net/minecraft/client/gui/inventory/GuiContainerCreative/func_73869_a (CI)V +MD: byz/a (FII)V net/minecraft/client/gui/inventory/GuiContainerCreative/func_146976_a (FII)V +MD: byz/a (IIF)V net/minecraft/client/gui/inventory/GuiContainerCreative/func_73863_a (IIF)V +MD: byz/a (III)V net/minecraft/client/gui/inventory/GuiContainerCreative/func_73864_a (III)V +MD: byz/a (Lajk;III)V net/minecraft/client/gui/inventory/GuiContainerCreative/func_146984_a (Lnet/minecraft/inventory/Slot;III)V +MD: byz/a (Lakf;)V net/minecraft/client/gui/inventory/GuiContainerCreative/func_147051_a (Lnet/minecraft/creativetab/CreativeTabs;)V +MD: byz/a (Lakf;II)Z net/minecraft/client/gui/inventory/GuiContainerCreative/func_147049_a (Lnet/minecraft/creativetab/CreativeTabs;II)Z +MD: byz/a (Lamj;II)V net/minecraft/client/gui/inventory/GuiContainerCreative/func_146285_a (Lnet/minecraft/item/ItemStack;II)V +MD: byz/a (Lbug;)V net/minecraft/client/gui/inventory/GuiContainerCreative/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: byz/b ()V net/minecraft/client/gui/inventory/GuiContainerCreative/func_73866_w_ ()V +MD: byz/b (II)V net/minecraft/client/gui/inventory/GuiContainerCreative/func_146979_b (II)V +MD: byz/b (III)V net/minecraft/client/gui/inventory/GuiContainerCreative/func_146286_b (III)V +MD: byz/b (Lakf;)V net/minecraft/client/gui/inventory/GuiContainerCreative/func_147050_b (Lnet/minecraft/creativetab/CreativeTabs;)V +MD: byz/b (Lakf;II)Z net/minecraft/client/gui/inventory/GuiContainerCreative/func_147052_b (Lnet/minecraft/creativetab/CreativeTabs;II)Z +MD: byz/e ()V net/minecraft/client/gui/inventory/GuiContainerCreative/func_73876_c ()V +MD: byz/f ()Lwa; net/minecraft/client/gui/inventory/GuiContainerCreative/access$000 ()Lnet/minecraft/inventory/InventoryBasic; +MD: byz/h ()V net/minecraft/client/gui/inventory/GuiContainerCreative/func_147053_i ()V +MD: byz/i ()Z net/minecraft/client/gui/inventory/GuiContainerCreative/func_147055_p ()Z +MD: byz/k ()V net/minecraft/client/gui/inventory/GuiContainerCreative/func_146274_d ()V +MD: byz/m ()V net/minecraft/client/gui/inventory/GuiContainerCreative/func_146281_b ()V +MD: bz/a ()I net/minecraft/command/server/CommandOp/func_82362_a ()I +MD: bz/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandOp/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: bz/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandOp/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: bz/c ()Ljava/lang/String; net/minecraft/command/server/CommandOp/func_71517_b ()Ljava/lang/String; +MD: bz/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandOp/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: bza/a (F)V net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative/func_148329_a (F)V +MD: bza/a (IIZLahd;)V net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative/func_75133_b (IIZLnet/minecraft/entity/player/EntityPlayer;)V +MD: bza/a (Lahd;)Z net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative/func_75145_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: bza/a (Lamj;Lajk;)Z net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative/func_94530_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/inventory/Slot;)Z +MD: bza/b (Lahd;I)Lamj; net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative/func_82846_b (Lnet/minecraft/entity/player/EntityPlayer;I)Lnet/minecraft/item/ItemStack; +MD: bza/b (Lajk;)Z net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative/func_94531_b (Lnet/minecraft/inventory/Slot;)Z +MD: bza/e ()Z net/minecraft/client/gui/inventory/GuiContainerCreative$ContainerCreative/func_148328_e ()Z +MD: bzb/a ()I net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/func_75219_a ()I +MD: bzb/a (I)Lamj; net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/func_75209_a (I)Lnet/minecraft/item/ItemStack; +MD: bzb/a (Lahd;Lamj;)V net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/func_82870_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/item/ItemStack;)V +MD: bzb/a (Lamj;)Z net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/func_75214_a (Lnet/minecraft/item/ItemStack;)Z +MD: bzb/a (Lbzb;)Lajk; net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/access$100 (Lnet/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot;)Lnet/minecraft/inventory/Slot; +MD: bzb/a (Lvq;I)Z net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/func_75217_a (Lnet/minecraft/inventory/IInventory;I)Z +MD: bzb/b (Lamj;)I net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/func_178170_b (Lnet/minecraft/item/ItemStack;)I +MD: bzb/c ()Ljava/lang/String; net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/func_178171_c ()Ljava/lang/String; +MD: bzb/d ()Lamj; net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/func_75211_c ()Lnet/minecraft/item/ItemStack; +MD: bzb/d (Lamj;)V net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/func_75215_d (Lnet/minecraft/item/ItemStack;)V +MD: bzb/e ()Z net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/func_75216_d ()Z +MD: bzb/f ()V net/minecraft/client/gui/inventory/GuiContainerCreative$CreativeSlot/func_75218_e ()V +MD: bzc/a (FII)V net/minecraft/client/gui/inventory/GuiDispenser/func_146976_a (FII)V +MD: bzc/b (II)V net/minecraft/client/gui/inventory/GuiDispenser/func_146979_b (II)V +MD: bzd/a ()V net/minecraft/client/renderer/InventoryEffectRenderer/func_147044_g ()V +MD: bzd/a (IIF)V net/minecraft/client/renderer/InventoryEffectRenderer/func_73863_a (IIF)V +MD: bzd/b ()V net/minecraft/client/renderer/InventoryEffectRenderer/func_73866_w_ ()V +MD: bzd/g ()V net/minecraft/client/renderer/InventoryEffectRenderer/func_175378_g ()V +MD: bze/a ()Lbze; net/minecraft/util/EnchantmentNameParts/func_178176_a ()Lnet/minecraft/util/EnchantmentNameParts; +MD: bze/a (J)V net/minecraft/util/EnchantmentNameParts/func_148335_a (J)V +MD: bze/b ()Ljava/lang/String; net/minecraft/util/EnchantmentNameParts/func_148334_a ()Ljava/lang/String; +MD: bzf/a ()V net/minecraft/client/gui/GuiEnchantment/func_147068_g ()V +MD: bzf/a (FII)V net/minecraft/client/gui/GuiEnchantment/func_146976_a (FII)V +MD: bzf/a (IIF)V net/minecraft/client/gui/GuiEnchantment/func_73863_a (IIF)V +MD: bzf/a (III)V net/minecraft/client/gui/GuiEnchantment/func_73864_a (III)V +MD: bzf/b (II)V net/minecraft/client/gui/GuiEnchantment/func_146979_b (II)V +MD: bzf/e ()V net/minecraft/client/gui/GuiEnchantment/func_73876_c ()V +MD: bzg/a (FII)V net/minecraft/client/gui/inventory/GuiFurnace/func_146976_a (FII)V +MD: bzg/b (II)V net/minecraft/client/gui/inventory/GuiFurnace/func_146979_b (II)V +MD: bzg/h (I)I net/minecraft/client/gui/inventory/GuiFurnace/func_175381_h (I)I +MD: bzg/i (I)I net/minecraft/client/gui/inventory/GuiFurnace/func_175382_i (I)I +MD: bzh/a (FII)V net/minecraft/client/gui/GuiHopper/func_146976_a (FII)V +MD: bzh/b (II)V net/minecraft/client/gui/GuiHopper/func_146979_b (II)V +MD: bzi/a (FII)V net/minecraft/client/gui/inventory/GuiScreenHorseInventory/func_146976_a (FII)V +MD: bzi/a (IIF)V net/minecraft/client/gui/inventory/GuiScreenHorseInventory/func_73863_a (IIF)V +MD: bzi/b (II)V net/minecraft/client/gui/inventory/GuiScreenHorseInventory/func_146979_b (II)V +MD: bzj/a (FII)V net/minecraft/client/gui/inventory/GuiInventory/func_146976_a (FII)V +MD: bzj/a (IIF)V net/minecraft/client/gui/inventory/GuiInventory/func_73863_a (IIF)V +MD: bzj/a (IIIFFLxm;)V net/minecraft/client/gui/inventory/GuiInventory/func_147046_a (IIIFFLnet/minecraft/entity/EntityLivingBase;)V +MD: bzj/a (Lbug;)V net/minecraft/client/gui/inventory/GuiInventory/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bzj/b ()V net/minecraft/client/gui/inventory/GuiInventory/func_73866_w_ ()V +MD: bzj/b (II)V net/minecraft/client/gui/inventory/GuiInventory/func_146979_b (II)V +MD: bzj/e ()V net/minecraft/client/gui/inventory/GuiInventory/func_73876_c ()V +MD: bzk/a ()Laqb; net/minecraft/client/gui/GuiMerchant/func_147035_g ()Lnet/minecraft/entity/IMerchant; +MD: bzk/a (FII)V net/minecraft/client/gui/GuiMerchant/func_146976_a (FII)V +MD: bzk/a (IIF)V net/minecraft/client/gui/GuiMerchant/func_73863_a (IIF)V +MD: bzk/a (Lbug;)V net/minecraft/client/gui/GuiMerchant/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bzk/b ()V net/minecraft/client/gui/GuiMerchant/func_73866_w_ ()V +MD: bzk/b (II)V net/minecraft/client/gui/GuiMerchant/func_146979_b (II)V +MD: bzk/e ()V net/minecraft/client/gui/GuiMerchant/func_73876_c ()V +MD: bzk/f ()Loa; net/minecraft/client/gui/GuiMerchant/access$000 ()Lnet/minecraft/util/ResourceLocation; +MD: bzl/a (Lbsu;II)V net/minecraft/client/gui/GuiMerchant$MerchantButton/func_146112_a (Lnet/minecraft/client/Minecraft;II)V +MD: bzm/a (CI)V net/minecraft/client/gui/inventory/GuiEditSign/func_73869_a (CI)V +MD: bzm/a (IIF)V net/minecraft/client/gui/inventory/GuiEditSign/func_73863_a (IIF)V +MD: bzm/a (Lbug;)V net/minecraft/client/gui/inventory/GuiEditSign/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bzm/b ()V net/minecraft/client/gui/inventory/GuiEditSign/func_73866_w_ ()V +MD: bzm/e ()V net/minecraft/client/gui/inventory/GuiEditSign/func_73876_c ()V +MD: bzm/m ()V net/minecraft/client/gui/inventory/GuiEditSign/func_146281_b ()V +MD: bzp/a ()V net/minecraft/client/gui/GuiMultiplayer/func_146794_g ()V +MD: bzp/a (CI)V net/minecraft/client/gui/GuiMultiplayer/func_73869_a (CI)V +MD: bzp/a (IIF)V net/minecraft/client/gui/GuiMultiplayer/func_73863_a (IIF)V +MD: bzp/a (III)V net/minecraft/client/gui/GuiMultiplayer/func_73864_a (III)V +MD: bzp/a (Lbug;)V net/minecraft/client/gui/GuiMultiplayer/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bzp/a (Lbzs;I)Z net/minecraft/client/gui/GuiMultiplayer/func_175392_a (Lnet/minecraft/client/gui/ServerListEntryNormal;I)Z +MD: bzp/a (Lbzs;IZ)V net/minecraft/client/gui/GuiMultiplayer/func_175391_a (Lnet/minecraft/client/gui/ServerListEntryNormal;IZ)V +MD: bzp/a (Lcew;)V net/minecraft/client/gui/GuiMultiplayer/func_146791_a (Lnet/minecraft/client/multiplayer/ServerData;)V +MD: bzp/a (Ljava/lang/String;)V net/minecraft/client/gui/GuiMultiplayer/func_146793_a (Ljava/lang/String;)V +MD: bzp/a (ZI)V net/minecraft/client/gui/GuiMultiplayer/func_73878_a (ZI)V +MD: bzp/b ()V net/minecraft/client/gui/GuiMultiplayer/func_73866_w_ ()V +MD: bzp/b (I)V net/minecraft/client/gui/GuiMultiplayer/func_146790_a (I)V +MD: bzp/b (III)V net/minecraft/client/gui/GuiMultiplayer/func_146286_b (III)V +MD: bzp/b (Lbzs;I)Z net/minecraft/client/gui/GuiMultiplayer/func_175394_b (Lnet/minecraft/client/gui/ServerListEntryNormal;I)Z +MD: bzp/b (Lbzs;IZ)V net/minecraft/client/gui/GuiMultiplayer/func_175393_b (Lnet/minecraft/client/gui/ServerListEntryNormal;IZ)V +MD: bzp/e ()V net/minecraft/client/gui/GuiMultiplayer/func_73876_c ()V +MD: bzp/f ()V net/minecraft/client/gui/GuiMultiplayer/func_146796_h ()V +MD: bzp/g ()Lcez; net/minecraft/client/gui/GuiMultiplayer/func_146789_i ()Lnet/minecraft/client/network/OldServerPinger; +MD: bzp/h ()Lcey; net/minecraft/client/gui/GuiMultiplayer/func_146795_p ()Lnet/minecraft/client/multiplayer/ServerList; +MD: bzp/i ()V net/minecraft/client/gui/GuiMultiplayer/func_146792_q ()V +MD: bzp/k ()V net/minecraft/client/gui/GuiMultiplayer/func_146274_d ()V +MD: bzp/m ()V net/minecraft/client/gui/GuiMultiplayer/func_146281_b ()V +MD: bzq/a (III)V net/minecraft/client/gui/ServerListEntryLanScan/func_178011_a (III)V +MD: bzq/a (IIIIII)Z net/minecraft/client/gui/ServerListEntryLanScan/func_148278_a (IIIIII)Z +MD: bzq/a (IIIIIIIZ)V net/minecraft/client/gui/ServerListEntryLanScan/func_180790_a (IIIIIIIZ)V +MD: bzq/b (IIIIII)V net/minecraft/client/gui/ServerListEntryLanScan/func_148277_b (IIIIII)V +MD: bzr/a ()Lcyq; net/minecraft/client/gui/ServerListEntryLanDetected/func_148289_a ()Lnet/minecraft/client/network/LanServerDetector$LanServer; +MD: bzr/a (III)V net/minecraft/client/gui/ServerListEntryLanDetected/func_178011_a (III)V +MD: bzr/a (IIIIII)Z net/minecraft/client/gui/ServerListEntryLanDetected/func_148278_a (IIIIII)Z +MD: bzr/a (IIIIIIIZ)V net/minecraft/client/gui/ServerListEntryLanDetected/func_180790_a (IIIIIIIZ)V +MD: bzr/b (IIIIII)V net/minecraft/client/gui/ServerListEntryLanDetected/func_148277_b (IIIIII)V +MD: bzs/a ()Lcew; net/minecraft/client/gui/ServerListEntryNormal/func_148296_a ()Lnet/minecraft/client/multiplayer/ServerData; +MD: bzs/a (III)V net/minecraft/client/gui/ServerListEntryNormal/func_178011_a (III)V +MD: bzs/a (IIIIII)Z net/minecraft/client/gui/ServerListEntryNormal/func_148278_a (IIIIII)Z +MD: bzs/a (IIIIIIIZ)V net/minecraft/client/gui/ServerListEntryNormal/func_180790_a (IIIIIIIZ)V +MD: bzs/a (IILoa;)V net/minecraft/client/gui/ServerListEntryNormal/func_178012_a (IILnet/minecraft/util/ResourceLocation;)V +MD: bzs/a (Lbzs;)Lcew; net/minecraft/client/gui/ServerListEntryNormal/access$000 (Lnet/minecraft/client/gui/ServerListEntryNormal;)Lnet/minecraft/client/multiplayer/ServerData; +MD: bzs/b ()Z net/minecraft/client/gui/ServerListEntryNormal/func_178013_b ()Z +MD: bzs/b (IIIIII)V net/minecraft/client/gui/ServerListEntryNormal/func_148277_b (IIIIII)V +MD: bzs/b (Lbzs;)Lbzp; net/minecraft/client/gui/ServerListEntryNormal/access$100 (Lnet/minecraft/client/gui/ServerListEntryNormal;)Lnet/minecraft/client/gui/GuiMultiplayer; +MD: bzs/c ()V net/minecraft/client/gui/ServerListEntryNormal/func_148297_b ()V +MD: bzt/run ()V net/minecraft/client/gui/ServerListEntryNormal$1/run ()V +MD: bzu/a (I)Z net/minecraft/client/gui/ServerSelectionList/func_148131_a (I)Z +MD: bzu/a (Lcey;)V net/minecraft/client/gui/ServerSelectionList/func_148195_a (Lnet/minecraft/client/multiplayer/ServerList;)V +MD: bzu/a (Ljava/util/List;)V net/minecraft/client/gui/ServerSelectionList/func_148194_a (Ljava/util/List;)V +MD: bzu/b ()I net/minecraft/client/gui/ServerSelectionList/func_148127_b ()I +MD: bzu/b (I)Lbuv; net/minecraft/client/gui/ServerSelectionList/func_148180_b (I)Lnet/minecraft/client/gui/GuiListExtended$IGuiListEntry; +MD: bzu/c ()I net/minecraft/client/gui/ServerSelectionList/func_148139_c ()I +MD: bzu/c (I)V net/minecraft/client/gui/ServerSelectionList/func_148192_c (I)V +MD: bzu/d ()I net/minecraft/client/gui/ServerSelectionList/func_148137_d ()I +MD: bzu/e ()I net/minecraft/client/gui/ServerSelectionList/func_148193_k ()I +MD: bzx/a ()Ljava/util/List; net/minecraft/client/gui/GuiScreenResourcePacks/func_146964_g ()Ljava/util/List; +MD: bzx/a (IIF)V net/minecraft/client/gui/GuiScreenResourcePacks/func_73863_a (IIF)V +MD: bzx/a (III)V net/minecraft/client/gui/GuiScreenResourcePacks/func_73864_a (III)V +MD: bzx/a (Lbug;)V net/minecraft/client/gui/GuiScreenResourcePacks/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: bzx/a (Lbzy;)Z net/minecraft/client/gui/GuiScreenResourcePacks/func_146961_a (Lnet/minecraft/client/resources/ResourcePackListEntry;)Z +MD: bzx/b ()V net/minecraft/client/gui/GuiScreenResourcePacks/func_73866_w_ ()V +MD: bzx/b (III)V net/minecraft/client/gui/GuiScreenResourcePacks/func_146286_b (III)V +MD: bzx/b (Lbzy;)Ljava/util/List; net/minecraft/client/gui/GuiScreenResourcePacks/func_146962_b (Lnet/minecraft/client/resources/ResourcePackListEntry;)Ljava/util/List; +MD: bzx/f ()Ljava/util/List; net/minecraft/client/gui/GuiScreenResourcePacks/func_146963_h ()Ljava/util/List; +MD: bzx/g ()V net/minecraft/client/gui/GuiScreenResourcePacks/func_175288_g ()V +MD: bzx/k ()V net/minecraft/client/gui/GuiScreenResourcePacks/func_146274_d ()V +MD: bzy/a ()Ljava/lang/String; net/minecraft/client/resources/ResourcePackListEntry/func_148311_a ()Ljava/lang/String; +MD: bzy/a (III)V net/minecraft/client/resources/ResourcePackListEntry/func_178011_a (III)V +MD: bzy/a (IIIIII)Z net/minecraft/client/resources/ResourcePackListEntry/func_148278_a (IIIIII)Z +MD: bzy/a (IIIIIIIZ)V net/minecraft/client/resources/ResourcePackListEntry/func_180790_a (IIIIIIIZ)V +MD: bzy/b ()Ljava/lang/String; net/minecraft/client/resources/ResourcePackListEntry/func_148312_b ()Ljava/lang/String; +MD: bzy/b (IIIIII)V net/minecraft/client/resources/ResourcePackListEntry/func_148277_b (IIIIII)V +MD: bzy/c ()V net/minecraft/client/resources/ResourcePackListEntry/func_148313_c ()V +MD: bzy/d ()Z net/minecraft/client/resources/ResourcePackListEntry/func_148310_d ()Z +MD: bzy/e ()Z net/minecraft/client/resources/ResourcePackListEntry/func_148309_e ()Z +MD: bzy/f ()Z net/minecraft/client/resources/ResourcePackListEntry/func_148308_f ()Z +MD: bzy/g ()Z net/minecraft/client/resources/ResourcePackListEntry/func_148314_g ()Z +MD: bzy/h ()Z net/minecraft/client/resources/ResourcePackListEntry/func_148307_h ()Z +MD: bzz/a ()Ljava/lang/String; net/minecraft/client/resources/ResourcePackListEntryDefault/func_148311_a ()Ljava/lang/String; +MD: bzz/b ()Ljava/lang/String; net/minecraft/client/resources/ResourcePackListEntryDefault/func_148312_b ()Ljava/lang/String; +MD: bzz/c ()V net/minecraft/client/resources/ResourcePackListEntryDefault/func_148313_c ()V +MD: bzz/d ()Z net/minecraft/client/resources/ResourcePackListEntryDefault/func_148310_d ()Z +MD: bzz/e ()Z net/minecraft/client/resources/ResourcePackListEntryDefault/func_148309_e ()Z +MD: bzz/f ()Z net/minecraft/client/resources/ResourcePackListEntryDefault/func_148308_f ()Z +MD: bzz/g ()Z net/minecraft/client/resources/ResourcePackListEntryDefault/func_148314_g ()Z +MD: bzz/h ()Z net/minecraft/client/resources/ResourcePackListEntryDefault/func_148307_h ()Z +MD: c/a ()Ljava/lang/String; net/minecraft/crash/CrashReport$1/call ()Ljava/lang/String; +MD: c/call ()Ljava/lang/Object; net/minecraft/crash/CrashReport$1/call ()Ljava/lang/Object; +MD: ca/a ()I net/minecraft/command/server/CommandPardonIp/func_82362_a ()I +MD: ca/a (Lae;)Z net/minecraft/command/server/CommandPardonIp/func_71519_b (Lnet/minecraft/command/ICommandSender;)Z +MD: ca/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandPardonIp/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: ca/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandPardonIp/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: ca/c ()Ljava/lang/String; net/minecraft/command/server/CommandPardonIp/func_71517_b ()Ljava/lang/String; +MD: ca/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandPardonIp/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: caa/a ()Ljava/lang/String; net/minecraft/client/resources/ResourcePackListEntryFound/func_148311_a ()Ljava/lang/String; +MD: caa/b ()Ljava/lang/String; net/minecraft/client/resources/ResourcePackListEntryFound/func_148312_b ()Ljava/lang/String; +MD: caa/c ()V net/minecraft/client/resources/ResourcePackListEntryFound/func_148313_c ()V +MD: caa/i ()Lcvs; net/minecraft/client/resources/ResourcePackListEntryFound/func_148318_i ()Lnet/minecraft/client/resources/ResourcePackRepository$Entry; +MD: cac/e ()Ljava/lang/String; net/minecraft/client/gui/GuiResourcePackAvailable/func_148202_k ()Ljava/lang/String; +MD: cad/a (IILckx;)V net/minecraft/client/gui/GuiResourcePackList/func_148129_a (IILnet/minecraft/client/renderer/Tessellator;)V +MD: cad/b ()I net/minecraft/client/gui/GuiResourcePackList/func_148127_b ()I +MD: cad/b (I)Lbuv; net/minecraft/client/gui/GuiResourcePackList/func_148180_b (I)Lnet/minecraft/client/gui/GuiListExtended$IGuiListEntry; +MD: cad/c ()I net/minecraft/client/gui/GuiResourcePackList/func_148139_c ()I +MD: cad/c (I)Lbzy; net/minecraft/client/gui/GuiResourcePackList/func_148180_b (I)Lnet/minecraft/client/resources/ResourcePackListEntry; +MD: cad/d ()I net/minecraft/client/gui/GuiResourcePackList/func_148137_d ()I +MD: cad/e ()Ljava/lang/String; net/minecraft/client/gui/GuiResourcePackList/func_148202_k ()Ljava/lang/String; +MD: cad/f ()Ljava/util/List; net/minecraft/client/gui/GuiResourcePackList/func_148201_l ()Ljava/util/List; +MD: cae/e ()Ljava/lang/String; net/minecraft/client/gui/GuiResourcePackSelected/func_148202_k ()Ljava/lang/String; +MD: cah/a (IIF)V net/minecraft/client/gui/stream/GuiIngestServers/func_73863_a (IIF)V +MD: cah/a (Lbug;)V net/minecraft/client/gui/stream/GuiIngestServers/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: cah/a (Lcah;)Lbty; net/minecraft/client/gui/stream/GuiIngestServers/access$000 (Lnet/minecraft/client/gui/stream/GuiIngestServers;)Lnet/minecraft/client/gui/FontRenderer; +MD: cah/b ()V net/minecraft/client/gui/stream/GuiIngestServers/func_73866_w_ ()V +MD: cah/b (Lcah;)Lbty; net/minecraft/client/gui/stream/GuiIngestServers/access$100 (Lnet/minecraft/client/gui/stream/GuiIngestServers;)Lnet/minecraft/client/gui/FontRenderer; +MD: cah/c (Lcah;)Lbty; net/minecraft/client/gui/stream/GuiIngestServers/access$200 (Lnet/minecraft/client/gui/stream/GuiIngestServers;)Lnet/minecraft/client/gui/FontRenderer; +MD: cah/d (Lcah;)Lbty; net/minecraft/client/gui/stream/GuiIngestServers/access$300 (Lnet/minecraft/client/gui/stream/GuiIngestServers;)Lnet/minecraft/client/gui/FontRenderer; +MD: cah/e (Lcah;)Lbty; net/minecraft/client/gui/stream/GuiIngestServers/access$400 (Lnet/minecraft/client/gui/stream/GuiIngestServers;)Lnet/minecraft/client/gui/FontRenderer; +MD: cah/f (Lcah;)Lbty; net/minecraft/client/gui/stream/GuiIngestServers/access$500 (Lnet/minecraft/client/gui/stream/GuiIngestServers;)Lnet/minecraft/client/gui/FontRenderer; +MD: cah/g (Lcah;)Lbty; net/minecraft/client/gui/stream/GuiIngestServers/access$600 (Lnet/minecraft/client/gui/stream/GuiIngestServers;)Lnet/minecraft/client/gui/FontRenderer; +MD: cah/h (Lcah;)Lbty; net/minecraft/client/gui/stream/GuiIngestServers/access$700 (Lnet/minecraft/client/gui/stream/GuiIngestServers;)Lnet/minecraft/client/gui/FontRenderer; +MD: cah/k ()V net/minecraft/client/gui/stream/GuiIngestServers/func_146274_d ()V +MD: cah/m ()V net/minecraft/client/gui/stream/GuiIngestServers/func_146281_b ()V +MD: cai/a ()V net/minecraft/client/gui/stream/GuiIngestServers$ServerList/func_148123_a ()V +MD: cai/a (I)Z net/minecraft/client/gui/stream/GuiIngestServers$ServerList/func_148131_a (I)Z +MD: cai/a (IIIIII)V net/minecraft/client/gui/stream/GuiIngestServers$ServerList/func_180791_a (IIIIII)V +MD: cai/a (IZII)V net/minecraft/client/gui/stream/GuiIngestServers$ServerList/func_148144_a (IZII)V +MD: cai/b ()I net/minecraft/client/gui/stream/GuiIngestServers$ServerList/func_148127_b ()I +MD: cai/d ()I net/minecraft/client/gui/stream/GuiIngestServers$ServerList/func_148137_d ()I +MD: caj/a (IIF)V net/minecraft/client/gui/stream/GuiStreamOptions/func_73863_a (IIF)V +MD: caj/a (Lbug;)V net/minecraft/client/gui/stream/GuiStreamOptions/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: caj/b ()V net/minecraft/client/gui/stream/GuiStreamOptions/func_73866_w_ ()V +MD: cak/a (IIF)V net/minecraft/client/gui/stream/GuiStreamUnavailable/func_73863_a (IIF)V +MD: cak/a (Lbug;)V net/minecraft/client/gui/stream/GuiStreamUnavailable/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: cak/a (Lbxf;)V net/minecraft/client/gui/stream/GuiStreamUnavailable/func_152321_a (Lnet/minecraft/client/gui/GuiScreen;)V +MD: cak/a (Ljava/lang/String;)V net/minecraft/client/gui/stream/GuiStreamUnavailable/func_152320_a (Ljava/lang/String;)V +MD: cak/b ()V net/minecraft/client/gui/stream/GuiStreamUnavailable/func_73866_w_ ()V +MD: cak/m ()V net/minecraft/client/gui/stream/GuiStreamUnavailable/func_146281_b ()V +MD: cam/a ()Lho; net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/func_152561_a ()Lnet/minecraft/util/IChatComponent; +MD: cam/b ()Lho; net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/func_152559_b ()Lnet/minecraft/util/IChatComponent; +MD: cam/values ()[Lcam; net/minecraft/client/gui/stream/GuiStreamUnavailable$Reason/values ()[Lnet/minecraft/client/gui/stream/GuiStreamUnavailable$Reason; +MD: can/a (IIF)V net/minecraft/client/gui/stream/GuiTwitchUserMode/func_73863_a (IIF)V +MD: can/a (Lbug;)V net/minecraft/client/gui/stream/GuiTwitchUserMode/func_146284_a (Lnet/minecraft/client/gui/GuiButton;)V +MD: can/a (Ljava/util/Set;Ljava/util/Set;Ldao;)Ljava/util/List; net/minecraft/client/gui/stream/GuiTwitchUserMode/func_152328_a (Ljava/util/Set;Ljava/util/Set;Lnet/minecraft/client/stream/IStream;)Ljava/util/List; +MD: can/a (Ltv/twitch/chat/ChatUserMode;Ljava/lang/String;Z)Lho; net/minecraft/client/gui/stream/GuiTwitchUserMode/func_152329_a (Ltv/twitch/chat/ChatUserMode;Ljava/lang/String;Z)Lnet/minecraft/util/IChatComponent; +MD: can/a (Ltv/twitch/chat/ChatUserSubscription;Ljava/lang/String;Z)Lho; net/minecraft/client/gui/stream/GuiTwitchUserMode/func_152330_a (Ltv/twitch/chat/ChatUserSubscription;Ljava/lang/String;Z)Lnet/minecraft/util/IChatComponent; +MD: can/b ()V net/minecraft/client/gui/stream/GuiTwitchUserMode/func_73866_w_ ()V +MD: cap/A_ ()Z net/minecraft/client/gui/spectator/PlayerMenuObject/func_178662_A_ ()Z +MD: cap/a (FI)V net/minecraft/client/gui/spectator/PlayerMenuObject/func_178663_a (FI)V +MD: cap/a (Lcar;)V net/minecraft/client/gui/spectator/PlayerMenuObject/func_178661_a (Lnet/minecraft/client/gui/spectator/SpectatorMenu;)V +MD: cap/z_ ()Lho; net/minecraft/client/gui/spectator/PlayerMenuObject/func_178664_z_ ()Lnet/minecraft/util/IChatComponent; +MD: caq/a ()Ljava/util/List; net/minecraft/client/gui/spectator/BaseSpectatorGroup/func_178669_a ()Ljava/util/List; +MD: caq/b ()Lho; net/minecraft/client/gui/spectator/BaseSpectatorGroup/func_178670_b ()Lnet/minecraft/util/IChatComponent; +MD: car/a ()Ljava/util/List; net/minecraft/client/gui/spectator/SpectatorMenu/func_178642_a ()Ljava/util/List; +MD: car/a (I)Lcaw; net/minecraft/client/gui/spectator/SpectatorMenu/func_178643_a (I)Lnet/minecraft/client/gui/spectator/ISpectatorMenuObject; +MD: car/a (Lcar;I)I net/minecraft/client/gui/spectator/SpectatorMenu/access$112 (Lnet/minecraft/client/gui/spectator/SpectatorMenu;I)I +MD: car/a (Lcav;)V net/minecraft/client/gui/spectator/SpectatorMenu/func_178647_a (Lnet/minecraft/client/gui/spectator/ISpectatorMenuView;)V +MD: car/b ()Lcaw; net/minecraft/client/gui/spectator/SpectatorMenu/func_178645_b ()Lnet/minecraft/client/gui/spectator/ISpectatorMenuObject; +MD: car/b (I)V net/minecraft/client/gui/spectator/SpectatorMenu/func_178644_b (I)V +MD: car/c ()Lcav; net/minecraft/client/gui/spectator/SpectatorMenu/func_178650_c ()Lnet/minecraft/client/gui/spectator/ISpectatorMenuView; +MD: car/d ()V net/minecraft/client/gui/spectator/SpectatorMenu/func_178641_d ()V +MD: car/e ()I net/minecraft/client/gui/spectator/SpectatorMenu/func_178648_e ()I +MD: car/f ()Lcay; net/minecraft/client/gui/spectator/SpectatorMenu/func_178646_f ()Lnet/minecraft/client/gui/spectator/categories/SpectatorDetails; +MD: cas/A_ ()Z net/minecraft/client/gui/spectator/SpectatorMenu$1/func_178662_A_ ()Z +MD: cas/a (FI)V net/minecraft/client/gui/spectator/SpectatorMenu$1/func_178663_a (FI)V +MD: cas/a (Lcar;)V net/minecraft/client/gui/spectator/SpectatorMenu$1/func_178661_a (Lnet/minecraft/client/gui/spectator/SpectatorMenu;)V +MD: cas/z_ ()Lho; net/minecraft/client/gui/spectator/SpectatorMenu$1/func_178664_z_ ()Lnet/minecraft/util/IChatComponent; +MD: cat/A_ ()Z net/minecraft/client/gui/spectator/SpectatorMenu$EndSpectatorObject/func_178662_A_ ()Z +MD: cat/a (FI)V net/minecraft/client/gui/spectator/SpectatorMenu$EndSpectatorObject/func_178663_a (FI)V +MD: cat/a (Lcar;)V net/minecraft/client/gui/spectator/SpectatorMenu$EndSpectatorObject/func_178661_a (Lnet/minecraft/client/gui/spectator/SpectatorMenu;)V +MD: cat/z_ ()Lho; net/minecraft/client/gui/spectator/SpectatorMenu$EndSpectatorObject/func_178664_z_ ()Lnet/minecraft/util/IChatComponent; +MD: cau/A_ ()Z net/minecraft/client/gui/spectator/SpectatorMenu$MoveMenuObject/func_178662_A_ ()Z +MD: cau/a (FI)V net/minecraft/client/gui/spectator/SpectatorMenu$MoveMenuObject/func_178663_a (FI)V +MD: cau/a (Lcar;)V net/minecraft/client/gui/spectator/SpectatorMenu$MoveMenuObject/func_178661_a (Lnet/minecraft/client/gui/spectator/SpectatorMenu;)V +MD: cau/z_ ()Lho; net/minecraft/client/gui/spectator/SpectatorMenu$MoveMenuObject/func_178664_z_ ()Lnet/minecraft/util/IChatComponent; +MD: cav/a ()Ljava/util/List; net/minecraft/client/gui/spectator/ISpectatorMenuView/func_178669_a ()Ljava/util/List; +MD: cav/b ()Lho; net/minecraft/client/gui/spectator/ISpectatorMenuView/func_178670_b ()Lnet/minecraft/util/IChatComponent; +MD: caw/A_ ()Z net/minecraft/client/gui/spectator/ISpectatorMenuObject/func_178662_A_ ()Z +MD: caw/a (FI)V net/minecraft/client/gui/spectator/ISpectatorMenuObject/func_178663_a (FI)V +MD: caw/a (Lcar;)V net/minecraft/client/gui/spectator/ISpectatorMenuObject/func_178661_a (Lnet/minecraft/client/gui/spectator/SpectatorMenu;)V +MD: caw/z_ ()Lho; net/minecraft/client/gui/spectator/ISpectatorMenuObject/func_178664_z_ ()Lnet/minecraft/util/IChatComponent; +MD: cax/a (Lcar;)V net/minecraft/client/gui/spectator/ISpectatorMenuRecipient/func_175257_a (Lnet/minecraft/client/gui/spectator/SpectatorMenu;)V +MD: cay/a (I)Lcaw; net/minecraft/client/gui/spectator/categories/SpectatorDetails/func_178680_a (I)Lnet/minecraft/client/gui/spectator/ISpectatorMenuObject; +MD: cay/b ()I net/minecraft/client/gui/spectator/categories/SpectatorDetails/func_178681_b ()I +MD: caz/A_ ()Z net/minecraft/client/gui/spectator/categories/TeleportToPlayer/func_178662_A_ ()Z +MD: caz/a ()Ljava/util/List; net/minecraft/client/gui/spectator/categories/TeleportToPlayer/func_178669_a ()Ljava/util/List; +MD: caz/a (FI)V net/minecraft/client/gui/spectator/categories/TeleportToPlayer/func_178663_a (FI)V +MD: caz/a (Lcar;)V net/minecraft/client/gui/spectator/categories/TeleportToPlayer/func_178661_a (Lnet/minecraft/client/gui/spectator/SpectatorMenu;)V +MD: caz/b ()Lho; net/minecraft/client/gui/spectator/categories/TeleportToPlayer/func_178670_b ()Lnet/minecraft/util/IChatComponent; +MD: caz/z_ ()Lho; net/minecraft/client/gui/spectator/categories/TeleportToPlayer/func_178664_z_ ()Lnet/minecraft/util/IChatComponent; +MD: cb/a ()I net/minecraft/command/server/CommandPardonPlayer/func_82362_a ()I +MD: cb/a (Lae;)Z net/minecraft/command/server/CommandPardonPlayer/func_71519_b (Lnet/minecraft/command/ICommandSender;)Z +MD: cb/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandPardonPlayer/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cb/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandPardonPlayer/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: cb/c ()Ljava/lang/String; net/minecraft/command/server/CommandPardonPlayer/func_71517_b ()Ljava/lang/String; +MD: cb/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandPardonPlayer/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cba/a (Lces;Lces;)I net/minecraft/client/gui/spectator/categories/TeleportToPlayer$1/func_178746_a (Lnet/minecraft/client/network/NetworkPlayerInfo;Lnet/minecraft/client/network/NetworkPlayerInfo;)I +MD: cba/compare (Ljava/lang/Object;Ljava/lang/Object;)I net/minecraft/client/gui/spectator/categories/TeleportToPlayer$1/compare (Ljava/lang/Object;Ljava/lang/Object;)I +MD: cbb/A_ ()Z net/minecraft/client/gui/spectator/categories/TeleportToTeam/func_178662_A_ ()Z +MD: cbb/a ()Ljava/util/List; net/minecraft/client/gui/spectator/categories/TeleportToTeam/func_178669_a ()Ljava/util/List; +MD: cbb/a (FI)V net/minecraft/client/gui/spectator/categories/TeleportToTeam/func_178663_a (FI)V +MD: cbb/a (Lcar;)V net/minecraft/client/gui/spectator/categories/TeleportToTeam/func_178661_a (Lnet/minecraft/client/gui/spectator/SpectatorMenu;)V +MD: cbb/b ()Lho; net/minecraft/client/gui/spectator/categories/TeleportToTeam/func_178670_b ()Lnet/minecraft/util/IChatComponent; +MD: cbb/z_ ()Lho; net/minecraft/client/gui/spectator/categories/TeleportToTeam/func_178664_z_ ()Lnet/minecraft/util/IChatComponent; +MD: cbc/A_ ()Z net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject/func_178662_A_ ()Z +MD: cbc/a (FI)V net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject/func_178663_a (FI)V +MD: cbc/a (Lcar;)V net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject/func_178661_a (Lnet/minecraft/client/gui/spectator/SpectatorMenu;)V +MD: cbc/z_ ()Lho; net/minecraft/client/gui/spectator/categories/TeleportToTeam$TeamSelectionObject/func_178664_z_ ()Lnet/minecraft/util/IChatComponent; +MD: cbl/getPasswordAuthentication ()Ljava/net/PasswordAuthentication; net/minecraft/client/main/Main$1/getPasswordAuthentication ()Ljava/net/PasswordAuthentication; +MD: cbm/run ()V net/minecraft/client/main/Main$2/run ()V +MD: cbu/a (FFFFFFLwv;)V net/minecraft/client/model/ModelArmorStandArmor/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cbv/a (F)V net/minecraft/client/model/ModelArmorStand/func_178718_a (F)V +MD: cbv/a (FFFFFFLwv;)V net/minecraft/client/model/ModelArmorStand/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cbv/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelArmorStand/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cbw/a ()V net/minecraft/client/model/ModelBanner/func_178687_a ()V +MD: cbx/a (FFFFFFLwv;)V net/minecraft/client/model/ModelBat/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cbx/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelBat/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cby/a (FFFFFFLwv;)V net/minecraft/client/model/ModelBlaze/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cby/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelBlaze/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cbz/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelBoat/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cc/a ()I net/minecraft/command/CommandParticle/func_82362_a ()I +MD: cc/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandParticle/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cc/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandParticle/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: cc/c ()Ljava/lang/String; net/minecraft/command/CommandParticle/func_71517_b ()Ljava/lang/String; +MD: cc/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandParticle/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cca/a (FFFFFFLwv;)V net/minecraft/client/model/ModelBook/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cca/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelBook/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: ccb/a ()V net/minecraft/client/model/ModelChest/func_78231_a ()V +MD: ccc/a (FFFFFFLwv;)V net/minecraft/client/model/ModelChicken/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: ccc/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelChicken/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cce/a (FFFFFFLwv;)V net/minecraft/client/model/ModelCreeper/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cce/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelCreeper/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: ccf/a (FFFFFFLwv;)V net/minecraft/client/model/ModelEnderman/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: ccg/a (FFFFFFLwv;)V net/minecraft/client/model/ModelEnderMite/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: ccg/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelEnderMite/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cch/a (FFFFFFLwv;)V net/minecraft/client/model/ModelGhast/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cch/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelGhast/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cci/a ()I net/minecraft/client/model/ModelGuardian/func_178706_a ()I +MD: cci/a (FFFFFFLwv;)V net/minecraft/client/model/ModelGuardian/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cci/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelGuardian/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: ccj/a (FFF)F net/minecraft/client/model/ModelHorse/func_110683_a (FFF)F +MD: ccj/a (Lcdy;FFF)V net/minecraft/client/model/ModelHorse/func_110682_a (Lnet/minecraft/client/model/ModelRenderer;FFF)V +MD: ccj/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelHorse/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: ccj/a (Lxm;FFF)V net/minecraft/client/model/ModelHorse/func_78086_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cck/a (FFFFFFLwv;)V net/minecraft/client/model/ModelHumanoidHead/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cck/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelHumanoidHead/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: ccl/a (F)V net/minecraft/client/model/ModelBiped/func_178718_a (F)V +MD: ccl/a (FFFFFFLwv;)V net/minecraft/client/model/ModelBiped/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: ccl/a (Lccq;)V net/minecraft/client/model/ModelBiped/func_178686_a (Lnet/minecraft/client/model/ModelBase;)V +MD: ccl/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelBiped/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: ccl/a (Z)V net/minecraft/client/model/ModelBiped/func_178719_a (Z)V +MD: ccn/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelMagmaCube/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: ccn/a (Lxm;FFF)V net/minecraft/client/model/ModelMagmaCube/func_78086_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cco/a (FFFFFFLwv;)V net/minecraft/client/model/ModelLeashKnot/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cco/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelLeashKnot/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: ccp/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelMinecart/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: ccq/a (FFFFFFLwv;)V net/minecraft/client/model/ModelBase/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: ccq/a (Lccq;)V net/minecraft/client/model/ModelBase/func_178686_a (Lnet/minecraft/client/model/ModelBase;)V +MD: ccq/a (Lcdy;Lcdy;)V net/minecraft/client/model/ModelBase/func_178685_a (Lnet/minecraft/client/model/ModelRenderer;Lnet/minecraft/client/model/ModelRenderer;)V +MD: ccq/a (Ljava/lang/String;)Lcdz; net/minecraft/client/model/ModelBase/func_78084_a (Ljava/lang/String;)Lnet/minecraft/client/model/TextureOffset; +MD: ccq/a (Ljava/lang/String;II)V net/minecraft/client/model/ModelBase/func_78085_a (Ljava/lang/String;II)V +MD: ccq/a (Ljava/util/Random;)Lcdy; net/minecraft/client/model/ModelBase/func_85181_a (Ljava/util/Random;)Lnet/minecraft/client/model/ModelRenderer; +MD: ccq/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelBase/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: ccq/a (Lxm;FFF)V net/minecraft/client/model/ModelBase/func_78086_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: ccr/a (FFFFFFLwv;)V net/minecraft/client/model/ModelOcelot/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: ccr/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelOcelot/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: ccr/a (Lxm;FFF)V net/minecraft/client/model/ModelOcelot/func_78086_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cct/a ()V net/minecraft/client/model/ModelPlayer/func_178725_a ()V +MD: cct/a (F)V net/minecraft/client/model/ModelPlayer/func_178718_a (F)V +MD: cct/a (FFFFFFLwv;)V net/minecraft/client/model/ModelPlayer/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cct/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelPlayer/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cct/a (Z)V net/minecraft/client/model/ModelPlayer/func_178719_a (Z)V +MD: cct/b ()V net/minecraft/client/model/ModelPlayer/func_178726_b ()V +MD: cct/b (F)V net/minecraft/client/model/ModelPlayer/func_178727_b (F)V +MD: cct/c (F)V net/minecraft/client/model/ModelPlayer/func_178728_c (F)V +MD: ccu/a ()V net/minecraft/client/model/TexturedQuad/func_78235_a ()V +MD: ccu/a (Lciv;F)V net/minecraft/client/model/TexturedQuad/func_178765_a (Lnet/minecraft/client/renderer/WorldRenderer;F)V +MD: ccv/a (FFFFFFLwv;)V net/minecraft/client/model/ModelQuadruped/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: ccv/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelQuadruped/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: ccw/a (FFFFFFLwv;)V net/minecraft/client/model/ModelRabbit/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: ccw/a (Lcdy;FFF)V net/minecraft/client/model/ModelRabbit/func_178691_a (Lnet/minecraft/client/model/ModelRenderer;FFF)V +MD: ccw/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelRabbit/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: ccw/a (Lxm;FFF)V net/minecraft/client/model/ModelRabbit/func_78086_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: ccx/a (FFFFFFLwv;)V net/minecraft/client/model/ModelSheep1/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: ccx/a (Lxm;FFF)V net/minecraft/client/model/ModelSheep1/func_78086_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: ccy/a (FFFFFFLwv;)V net/minecraft/client/model/ModelSheep2/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: ccy/a (Lxm;FFF)V net/minecraft/client/model/ModelSheep2/func_78086_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: ccz/a ()V net/minecraft/client/model/ModelSign/func_78164_a ()V +MD: cd/a ()I net/minecraft/command/CommandPlaySound/func_82362_a ()I +MD: cd/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandPlaySound/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cd/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandPlaySound/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: cd/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandPlaySound/func_82358_a ([Ljava/lang/String;I)Z +MD: cd/c ()Ljava/lang/String; net/minecraft/command/CommandPlaySound/func_71517_b ()Ljava/lang/String; +MD: cd/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandPlaySound/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cda/a (FFFFFFLwv;)V net/minecraft/client/model/ModelSilverfish/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cda/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelSilverfish/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cdb/a (FFFFFFLwv;)V net/minecraft/client/model/ModelSkeletonHead/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cdb/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelSkeletonHead/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cdc/a (FFFFFFLwv;)V net/minecraft/client/model/ModelSkeleton/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cdc/a (Lxm;FFF)V net/minecraft/client/model/ModelSkeleton/func_78086_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cde/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelSlime/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cdf/a (FFFFFFLwv;)V net/minecraft/client/model/ModelSnowMan/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cdf/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelSnowMan/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cdg/a (FFFFFFLwv;)V net/minecraft/client/model/ModelSpider/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cdg/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelSpider/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cdh/a (FFFFFFLwv;)V net/minecraft/client/model/ModelSquid/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cdh/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelSquid/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cdi/a (FF)Lcdi; net/minecraft/client/model/PositionTextureVertex/func_78240_a (FF)Lnet/minecraft/client/model/PositionTextureVertex; +MD: cdj/a (FF)F net/minecraft/client/model/ModelIronGolem/func_78172_a (FF)F +MD: cdj/a (FFFFFFLwv;)V net/minecraft/client/model/ModelIronGolem/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cdj/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelIronGolem/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cdj/a (Lxm;FFF)V net/minecraft/client/model/ModelIronGolem/func_78086_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cdk/a (FFFFFFLwv;)V net/minecraft/client/model/ModelVillager/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cdk/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelVillager/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cdl/a (FFFFFFLwv;)V net/minecraft/client/model/ModelZombieVillager/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cdm/a (FFFFFFLwv;)V net/minecraft/client/model/ModelWitch/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cdn/a (FFFFFFLwv;)V net/minecraft/client/model/ModelWither/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cdn/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelWither/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cdn/a (Lxm;FFF)V net/minecraft/client/model/ModelWither/func_78086_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cdo/a (FFFFFFLwv;)V net/minecraft/client/model/ModelWolf/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cdo/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelWolf/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cdo/a (Lxm;FFF)V net/minecraft/client/model/ModelWolf/func_78086_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cdp/a (FFFFFFLwv;)V net/minecraft/client/model/ModelZombie/func_78087_a (FFFFFFLnet/minecraft/entity/Entity;)V +MD: cdq/a (D)F net/minecraft/client/model/ModelDragon/func_78214_a (D)F +MD: cdq/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelDragon/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cdq/a (Lxm;FFF)V net/minecraft/client/model/ModelDragon/func_78086_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cdr/a (Lwv;FFFFFF)V net/minecraft/client/model/ModelEnderCrystal/func_78088_a (Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cdt/a (Lciv;F)V net/minecraft/client/model/ModelBox/func_178780_a (Lnet/minecraft/client/renderer/WorldRenderer;F)V +MD: cdt/a (Ljava/lang/String;)Lcdt; net/minecraft/client/model/ModelBox/func_78244_a (Ljava/lang/String;)Lnet/minecraft/client/model/ModelBox; +MD: cdy/a (F)V net/minecraft/client/model/ModelRenderer/func_78785_a (F)V +MD: cdy/a (FFF)V net/minecraft/client/model/ModelRenderer/func_78793_a (FFF)V +MD: cdy/a (FFFIII)Lcdy; net/minecraft/client/model/ModelRenderer/func_78789_a (FFFIII)Lnet/minecraft/client/model/ModelRenderer; +MD: cdy/a (FFFIIIF)V net/minecraft/client/model/ModelRenderer/func_78790_a (FFFIIIF)V +MD: cdy/a (FFFIIIZ)Lcdy; net/minecraft/client/model/ModelRenderer/func_178769_a (FFFIIIZ)Lnet/minecraft/client/model/ModelRenderer; +MD: cdy/a (II)Lcdy; net/minecraft/client/model/ModelRenderer/func_78784_a (II)Lnet/minecraft/client/model/ModelRenderer; +MD: cdy/a (Lcdy;)V net/minecraft/client/model/ModelRenderer/func_78792_a (Lnet/minecraft/client/model/ModelRenderer;)V +MD: cdy/a (Ljava/lang/String;FFFIII)Lcdy; net/minecraft/client/model/ModelRenderer/func_78786_a (Ljava/lang/String;FFFIII)Lnet/minecraft/client/model/ModelRenderer; +MD: cdy/b (F)V net/minecraft/client/model/ModelRenderer/func_78791_b (F)V +MD: cdy/b (II)Lcdy; net/minecraft/client/model/ModelRenderer/func_78787_b (II)Lnet/minecraft/client/model/ModelRenderer; +MD: cdy/c (F)V net/minecraft/client/model/ModelRenderer/func_78794_c (F)V +MD: cdy/d (F)V net/minecraft/client/model/ModelRenderer/func_78788_d (F)V +MD: ce/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandPublishLocalServer/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: ce/c ()Ljava/lang/String; net/minecraft/command/server/CommandPublishLocalServer/func_71517_b ()Ljava/lang/String; +MD: ce/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandPublishLocalServer/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cec/a (Lcec;)Lgr; net/minecraft/client/network/NetHandlerLoginClient/access$000 (Lnet/minecraft/client/network/NetHandlerLoginClient;)Lnet/minecraft/network/NetworkManager; +MD: cec/a (Lho;)V net/minecraft/client/network/NetHandlerLoginClient/func_147231_a (Lnet/minecraft/util/IChatComponent;)V +MD: cec/a (Lnd;)V net/minecraft/client/network/NetHandlerLoginClient/func_147390_a (Lnet/minecraft/network/login/server/S02PacketLoginSuccess;)V +MD: cec/a (Lne;)V net/minecraft/client/network/NetHandlerLoginClient/func_147389_a (Lnet/minecraft/network/login/server/S01PacketEncryptionRequest;)V +MD: cec/a (Lnf;)V net/minecraft/client/network/NetHandlerLoginClient/func_180464_a (Lnet/minecraft/network/login/server/S03PacketEnableCompression;)V +MD: cec/a (Lng;)V net/minecraft/client/network/NetHandlerLoginClient/func_147388_a (Lnet/minecraft/network/login/server/S00PacketDisconnect;)V +MD: cec/b ()Lcom/mojang/authlib/minecraft/MinecraftSessionService; net/minecraft/client/network/NetHandlerLoginClient/func_147391_c ()Lcom/mojang/authlib/minecraft/MinecraftSessionService; +MD: ced/operationComplete (Lio/netty/util/concurrent/Future;)V net/minecraft/client/network/NetHandlerLoginClient$1/operationComplete (Lio/netty/util/concurrent/Future;)V +MD: cee/a ()Lgr; net/minecraft/client/network/NetHandlerPlayClient/func_147298_b ()Lnet/minecraft/network/NetworkManager; +MD: cee/a (Lcee;)Lgr; net/minecraft/client/network/NetHandlerPlayClient/access$000 (Lnet/minecraft/client/network/NetHandlerPlayClient;)Lnet/minecraft/network/NetworkManager; +MD: cee/a (Lcee;Lbsu;)Lbsu; net/minecraft/client/network/NetHandlerPlayClient/access$102 (Lnet/minecraft/client/network/NetHandlerPlayClient;Lnet/minecraft/client/Minecraft;)Lnet/minecraft/client/Minecraft; +MD: cee/a (Lho;)V net/minecraft/client/network/NetHandlerPlayClient/func_147231_a (Lnet/minecraft/util/IChatComponent;)V +MD: cee/a (Lid;)V net/minecraft/client/network/NetHandlerPlayClient/func_147297_a (Lnet/minecraft/network/Packet;)V +MD: cee/a (Lii;)V net/minecraft/client/network/NetHandlerPlayClient/func_147258_a (Lnet/minecraft/network/play/server/S08PacketPlayerPosLook;)V +MD: cee/a (Lil;)V net/minecraft/client/network/NetHandlerPlayClient/func_147235_a (Lnet/minecraft/network/play/server/S0EPacketSpawnObject;)V +MD: cee/a (Lim;)V net/minecraft/client/network/NetHandlerPlayClient/func_147286_a (Lnet/minecraft/network/play/server/S11PacketSpawnExperienceOrb;)V +MD: cee/a (Lin;)V net/minecraft/client/network/NetHandlerPlayClient/func_147292_a (Lnet/minecraft/network/play/server/S2CPacketSpawnGlobalEntity;)V +MD: cee/a (Lio;)V net/minecraft/client/network/NetHandlerPlayClient/func_147281_a (Lnet/minecraft/network/play/server/S0FPacketSpawnMob;)V +MD: cee/a (Lip;)V net/minecraft/client/network/NetHandlerPlayClient/func_147288_a (Lnet/minecraft/network/play/server/S10PacketSpawnPainting;)V +MD: cee/a (Liq;)V net/minecraft/client/network/NetHandlerPlayClient/func_147237_a (Lnet/minecraft/network/play/server/S0CPacketSpawnPlayer;)V +MD: cee/a (Lir;)V net/minecraft/client/network/NetHandlerPlayClient/func_147279_a (Lnet/minecraft/network/play/server/S0BPacketAnimation;)V +MD: cee/a (Lis;)V net/minecraft/client/network/NetHandlerPlayClient/func_147293_a (Lnet/minecraft/network/play/server/S37PacketStatistics;)V +MD: cee/a (Lit;)V net/minecraft/client/network/NetHandlerPlayClient/func_147294_a (Lnet/minecraft/network/play/server/S25PacketBlockBreakAnim;)V +MD: cee/a (Liu;)V net/minecraft/client/network/NetHandlerPlayClient/func_147273_a (Lnet/minecraft/network/play/server/S35PacketUpdateTileEntity;)V +MD: cee/a (Liv;)V net/minecraft/client/network/NetHandlerPlayClient/func_147261_a (Lnet/minecraft/network/play/server/S24PacketBlockAction;)V +MD: cee/a (Liw;)V net/minecraft/client/network/NetHandlerPlayClient/func_147234_a (Lnet/minecraft/network/play/server/S23PacketBlockChange;)V +MD: cee/a (Lix;)V net/minecraft/client/network/NetHandlerPlayClient/func_175101_a (Lnet/minecraft/network/play/server/S41PacketServerDifficulty;)V +MD: cee/a (Liy;)V net/minecraft/client/network/NetHandlerPlayClient/func_147274_a (Lnet/minecraft/network/play/server/S3APacketTabComplete;)V +MD: cee/a (Liz;)V net/minecraft/client/network/NetHandlerPlayClient/func_147251_a (Lnet/minecraft/network/play/server/S02PacketChat;)V +MD: cee/a (Lja;)V net/minecraft/client/network/NetHandlerPlayClient/func_147287_a (Lnet/minecraft/network/play/server/S22PacketMultiBlockChange;)V +MD: cee/a (Ljava/lang/String;)Lces; net/minecraft/client/network/NetHandlerPlayClient/func_175104_a (Ljava/lang/String;)Lnet/minecraft/client/network/NetworkPlayerInfo; +MD: cee/a (Ljava/util/UUID;)Lces; net/minecraft/client/network/NetHandlerPlayClient/func_175102_a (Ljava/util/UUID;)Lnet/minecraft/client/network/NetworkPlayerInfo; +MD: cee/a (Ljc;)V net/minecraft/client/network/NetHandlerPlayClient/func_147239_a (Lnet/minecraft/network/play/server/S32PacketConfirmTransaction;)V +MD: cee/a (Ljd;)V net/minecraft/client/network/NetHandlerPlayClient/func_147276_a (Lnet/minecraft/network/play/server/S2EPacketCloseWindow;)V +MD: cee/a (Lje;)V net/minecraft/client/network/NetHandlerPlayClient/func_147265_a (Lnet/minecraft/network/play/server/S2DPacketOpenWindow;)V +MD: cee/a (Ljf;)V net/minecraft/client/network/NetHandlerPlayClient/func_147241_a (Lnet/minecraft/network/play/server/S30PacketWindowItems;)V +MD: cee/a (Ljg;)V net/minecraft/client/network/NetHandlerPlayClient/func_147245_a (Lnet/minecraft/network/play/server/S31PacketWindowProperty;)V +MD: cee/a (Ljh;)V net/minecraft/client/network/NetHandlerPlayClient/func_147266_a (Lnet/minecraft/network/play/server/S2FPacketSetSlot;)V +MD: cee/a (Lji;)V net/minecraft/client/network/NetHandlerPlayClient/func_147240_a (Lnet/minecraft/network/play/server/S3FPacketCustomPayload;)V +MD: cee/a (Ljj;)V net/minecraft/client/network/NetHandlerPlayClient/func_147253_a (Lnet/minecraft/network/play/server/S40PacketDisconnect;)V +MD: cee/a (Ljk;)V net/minecraft/client/network/NetHandlerPlayClient/func_147236_a (Lnet/minecraft/network/play/server/S19PacketEntityStatus;)V +MD: cee/a (Ljl;)V net/minecraft/client/network/NetHandlerPlayClient/func_175097_a (Lnet/minecraft/network/play/server/S49PacketUpdateEntityNBT;)V +MD: cee/a (Ljm;)V net/minecraft/client/network/NetHandlerPlayClient/func_147283_a (Lnet/minecraft/network/play/server/S27PacketExplosion;)V +MD: cee/a (Ljn;)V net/minecraft/client/network/NetHandlerPlayClient/func_175100_a (Lnet/minecraft/network/play/server/S46PacketSetCompressionLevel;)V +MD: cee/a (Ljo;)V net/minecraft/client/network/NetHandlerPlayClient/func_147252_a (Lnet/minecraft/network/play/server/S2BPacketChangeGameState;)V +MD: cee/a (Ljp;)V net/minecraft/client/network/NetHandlerPlayClient/func_147272_a (Lnet/minecraft/network/play/server/S00PacketKeepAlive;)V +MD: cee/a (Ljq;)V net/minecraft/client/network/NetHandlerPlayClient/func_147263_a (Lnet/minecraft/network/play/server/S21PacketChunkData;)V +MD: cee/a (Ljs;)V net/minecraft/client/network/NetHandlerPlayClient/func_147269_a (Lnet/minecraft/network/play/server/S26PacketMapChunkBulk;)V +MD: cee/a (Ljt;)V net/minecraft/client/network/NetHandlerPlayClient/func_147277_a (Lnet/minecraft/network/play/server/S28PacketEffect;)V +MD: cee/a (Lju;)V net/minecraft/client/network/NetHandlerPlayClient/func_147289_a (Lnet/minecraft/network/play/server/S2APacketParticles;)V +MD: cee/a (Ljv;)V net/minecraft/client/network/NetHandlerPlayClient/func_147255_a (Lnet/minecraft/network/play/server/S29PacketSoundEffect;)V +MD: cee/a (Ljw;)V net/minecraft/client/network/NetHandlerPlayClient/func_147282_a (Lnet/minecraft/network/play/server/S01PacketJoinGame;)V +MD: cee/a (Ljx;)V net/minecraft/client/network/NetHandlerPlayClient/func_147264_a (Lnet/minecraft/network/play/server/S34PacketMaps;)V +MD: cee/a (Ljy;)V net/minecraft/client/network/NetHandlerPlayClient/func_147259_a (Lnet/minecraft/network/play/server/S14PacketEntity;)V +MD: cee/a (Lkc;)V net/minecraft/client/network/NetHandlerPlayClient/func_147268_a (Lnet/minecraft/network/play/server/S36PacketSignEditorOpen;)V +MD: cee/a (Lkd;)V net/minecraft/client/network/NetHandlerPlayClient/func_147270_a (Lnet/minecraft/network/play/server/S39PacketPlayerAbilities;)V +MD: cee/a (Lke;)V net/minecraft/client/network/NetHandlerPlayClient/func_175098_a (Lnet/minecraft/network/play/server/S42PacketCombatEvent;)V +MD: cee/a (Lkh;)V net/minecraft/client/network/NetHandlerPlayClient/func_147256_a (Lnet/minecraft/network/play/server/S38PacketPlayerListItem;)V +MD: cee/a (Lkl;)V net/minecraft/client/network/NetHandlerPlayClient/func_147278_a (Lnet/minecraft/network/play/server/S0APacketUseBed;)V +MD: cee/a (Lkm;)V net/minecraft/client/network/NetHandlerPlayClient/func_147238_a (Lnet/minecraft/network/play/server/S13PacketDestroyEntities;)V +MD: cee/a (Lkn;)V net/minecraft/client/network/NetHandlerPlayClient/func_147262_a (Lnet/minecraft/network/play/server/S1EPacketRemoveEntityEffect;)V +MD: cee/a (Lko;)V net/minecraft/client/network/NetHandlerPlayClient/func_175095_a (Lnet/minecraft/network/play/server/S48PacketResourcePackSend;)V +MD: cee/a (Lkp;)V net/minecraft/client/network/NetHandlerPlayClient/func_147280_a (Lnet/minecraft/network/play/server/S07PacketRespawn;)V +MD: cee/a (Lkq;)V net/minecraft/client/network/NetHandlerPlayClient/func_147267_a (Lnet/minecraft/network/play/server/S19PacketEntityHeadLook;)V +MD: cee/a (Lkr;)V net/minecraft/client/network/NetHandlerPlayClient/func_175093_a (Lnet/minecraft/network/play/server/S44PacketWorldBorder;)V +MD: cee/a (Lku;)V net/minecraft/client/network/NetHandlerPlayClient/func_175094_a (Lnet/minecraft/network/play/server/S43PacketCamera;)V +MD: cee/a (Lkv;)V net/minecraft/client/network/NetHandlerPlayClient/func_147257_a (Lnet/minecraft/network/play/server/S09PacketHeldItemChange;)V +MD: cee/a (Lkw;)V net/minecraft/client/network/NetHandlerPlayClient/func_147254_a (Lnet/minecraft/network/play/server/S3DPacketDisplayScoreboard;)V +MD: cee/a (Lkx;)V net/minecraft/client/network/NetHandlerPlayClient/func_147284_a (Lnet/minecraft/network/play/server/S1CPacketEntityMetadata;)V +MD: cee/a (Lky;)V net/minecraft/client/network/NetHandlerPlayClient/func_147243_a (Lnet/minecraft/network/play/server/S1BPacketEntityAttach;)V +MD: cee/a (Lkz;)V net/minecraft/client/network/NetHandlerPlayClient/func_147244_a (Lnet/minecraft/network/play/server/S12PacketEntityVelocity;)V +MD: cee/a (Lla;)V net/minecraft/client/network/NetHandlerPlayClient/func_147242_a (Lnet/minecraft/network/play/server/S04PacketEntityEquipment;)V +MD: cee/a (Llb;)V net/minecraft/client/network/NetHandlerPlayClient/func_147295_a (Lnet/minecraft/network/play/server/S1FPacketSetExperience;)V +MD: cee/a (Llc;)V net/minecraft/client/network/NetHandlerPlayClient/func_147249_a (Lnet/minecraft/network/play/server/S06PacketUpdateHealth;)V +MD: cee/a (Lld;)V net/minecraft/client/network/NetHandlerPlayClient/func_147291_a (Lnet/minecraft/network/play/server/S3BPacketScoreboardObjective;)V +MD: cee/a (Lle;)V net/minecraft/client/network/NetHandlerPlayClient/func_147247_a (Lnet/minecraft/network/play/server/S3EPacketTeams;)V +MD: cee/a (Llf;)V net/minecraft/client/network/NetHandlerPlayClient/func_147250_a (Lnet/minecraft/network/play/server/S3CPacketUpdateScore;)V +MD: cee/a (Llh;)V net/minecraft/client/network/NetHandlerPlayClient/func_147271_a (Lnet/minecraft/network/play/server/S05PacketSpawnPosition;)V +MD: cee/a (Lli;)V net/minecraft/client/network/NetHandlerPlayClient/func_147285_a (Lnet/minecraft/network/play/server/S03PacketTimeUpdate;)V +MD: cee/a (Llj;)V net/minecraft/client/network/NetHandlerPlayClient/func_175099_a (Lnet/minecraft/network/play/server/S45PacketTitle;)V +MD: cee/a (Lll;)V net/minecraft/client/network/NetHandlerPlayClient/func_147248_a (Lnet/minecraft/network/play/server/S33PacketUpdateSign;)V +MD: cee/a (Llm;)V net/minecraft/client/network/NetHandlerPlayClient/func_175096_a (Lnet/minecraft/network/play/server/S47PacketPlayerListHeaderFooter;)V +MD: cee/a (Lln;)V net/minecraft/client/network/NetHandlerPlayClient/func_147246_a (Lnet/minecraft/network/play/server/S0DPacketCollectItem;)V +MD: cee/a (Llo;)V net/minecraft/client/network/NetHandlerPlayClient/func_147275_a (Lnet/minecraft/network/play/server/S18PacketEntityTeleport;)V +MD: cee/a (Llp;)V net/minecraft/client/network/NetHandlerPlayClient/func_147290_a (Lnet/minecraft/network/play/server/S20PacketEntityProperties;)V +MD: cee/a (Llr;)V net/minecraft/client/network/NetHandlerPlayClient/func_147260_a (Lnet/minecraft/network/play/server/S1DPacketEntityEffect;)V +MD: cee/b ()V net/minecraft/client/network/NetHandlerPlayClient/func_147296_c ()V +MD: cee/b (Lcee;)Lbsu; net/minecraft/client/network/NetHandlerPlayClient/access$100 (Lnet/minecraft/client/network/NetHandlerPlayClient;)Lnet/minecraft/client/Minecraft; +MD: cee/d ()Ljava/util/Collection; net/minecraft/client/network/NetHandlerPlayClient/func_175106_d ()Ljava/util/Collection; +MD: cee/e ()Lcom/mojang/authlib/GameProfile; net/minecraft/client/network/NetHandlerPlayClient/func_175105_e ()Lcom/mojang/authlib/GameProfile; +MD: cef/onFailure (Ljava/lang/Throwable;)V net/minecraft/client/network/NetHandlerPlayClient$1/onFailure (Ljava/lang/Throwable;)V +MD: cef/onSuccess (Ljava/lang/Object;)V net/minecraft/client/network/NetHandlerPlayClient$1/onSuccess (Ljava/lang/Object;)V +MD: ceg/onFailure (Ljava/lang/Throwable;)V net/minecraft/client/network/NetHandlerPlayClient$2/onFailure (Ljava/lang/Throwable;)V +MD: ceg/onSuccess (Ljava/lang/Object;)V net/minecraft/client/network/NetHandlerPlayClient$2/onSuccess (Ljava/lang/Object;)V +MD: ceh/run ()V net/minecraft/client/network/NetHandlerPlayClient$3/run ()V +MD: cei/a (ZI)V net/minecraft/client/network/NetHandlerPlayClient$3$1/func_73878_a (ZI)V +MD: cej/onFailure (Ljava/lang/Throwable;)V net/minecraft/client/network/NetHandlerPlayClient$3$1$1/onFailure (Ljava/lang/Throwable;)V +MD: cej/onSuccess (Ljava/lang/Object;)V net/minecraft/client/network/NetHandlerPlayClient$3$1$1/onSuccess (Ljava/lang/Object;)V +MD: cel/a (II)Z net/minecraft/client/multiplayer/ChunkProviderClient/func_73149_a (II)Z +MD: cel/a (Laqu;Ljava/lang/String;Ldt;)Ldt; net/minecraft/client/multiplayer/ChunkProviderClient/func_180513_a (Lnet/minecraft/world/World;Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: cel/a (Lbfe;II)V net/minecraft/client/multiplayer/ChunkProviderClient/func_73153_a (Lnet/minecraft/world/chunk/IChunkProvider;II)V +MD: cel/a (Lbfe;Lbfh;II)Z net/minecraft/client/multiplayer/ChunkProviderClient/func_177460_a (Lnet/minecraft/world/chunk/IChunkProvider;Lnet/minecraft/world/chunk/Chunk;II)Z +MD: cel/a (Lbfh;II)V net/minecraft/client/multiplayer/ChunkProviderClient/func_180514_a (Lnet/minecraft/world/chunk/Chunk;II)V +MD: cel/a (Ldt;)Lbfh; net/minecraft/client/multiplayer/ChunkProviderClient/func_177459_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/chunk/Chunk; +MD: cel/a (Lxp;Ldt;)Ljava/util/List; net/minecraft/client/multiplayer/ChunkProviderClient/func_177458_a (Lnet/minecraft/entity/EnumCreatureType;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: cel/a (ZLuy;)Z net/minecraft/client/multiplayer/ChunkProviderClient/func_73151_a (ZLnet/minecraft/util/IProgressUpdate;)Z +MD: cel/b (II)V net/minecraft/client/multiplayer/ChunkProviderClient/func_73234_b (II)V +MD: cel/c ()V net/minecraft/client/multiplayer/ChunkProviderClient/func_104112_b ()V +MD: cel/c (II)Lbfh; net/minecraft/client/multiplayer/ChunkProviderClient/func_73158_c (II)Lnet/minecraft/world/chunk/Chunk; +MD: cel/d ()Z net/minecraft/client/multiplayer/ChunkProviderClient/func_73156_b ()Z +MD: cel/d (II)Lbfh; net/minecraft/client/multiplayer/ChunkProviderClient/func_73154_d (II)Lnet/minecraft/world/chunk/Chunk; +MD: cel/e ()Z net/minecraft/client/multiplayer/ChunkProviderClient/func_73157_c ()Z +MD: cel/f ()Ljava/lang/String; net/minecraft/client/multiplayer/ChunkProviderClient/func_73148_d ()Ljava/lang/String; +MD: cel/g ()I net/minecraft/client/multiplayer/ChunkProviderClient/func_73152_e ()I +MD: cem/a ()Z net/minecraft/client/multiplayer/PlayerControllerMP/func_78747_a ()Z +MD: cem/a (II)V net/minecraft/client/multiplayer/PlayerControllerMP/func_78756_a (II)V +MD: cem/a (IIIILahd;)Lamj; net/minecraft/client/multiplayer/PlayerControllerMP/func_78753_a (IIIILnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/item/ItemStack; +MD: cem/a (Lahd;)V net/minecraft/client/multiplayer/PlayerControllerMP/func_78748_a (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: cem/a (Lahd;Laqu;Lamj;)Z net/minecraft/client/multiplayer/PlayerControllerMP/func_78769_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/item/ItemStack;)Z +MD: cem/a (Lahd;Lwv;)V net/minecraft/client/multiplayer/PlayerControllerMP/func_78764_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/entity/Entity;)V +MD: cem/a (Lahd;Lwv;Lbru;)Z net/minecraft/client/multiplayer/PlayerControllerMP/func_178894_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/entity/Entity;Lnet/minecraft/util/MovingObjectPosition;)Z +MD: cem/a (Lamj;)V net/minecraft/client/multiplayer/PlayerControllerMP/func_78752_a (Lnet/minecraft/item/ItemStack;)V +MD: cem/a (Lamj;I)V net/minecraft/client/multiplayer/PlayerControllerMP/func_78761_a (Lnet/minecraft/item/ItemStack;I)V +MD: cem/a (Laqu;Ltz;)Lcio; net/minecraft/client/multiplayer/PlayerControllerMP/func_178892_a (Lnet/minecraft/world/World;Lnet/minecraft/stats/StatFileWriter;)Lnet/minecraft/client/entity/EntityPlayerSP; +MD: cem/a (Larc;)V net/minecraft/client/multiplayer/PlayerControllerMP/func_78746_a (Lnet/minecraft/world/WorldSettings$GameType;)V +MD: cem/a (Lbsu;Lcem;Ldt;Lej;)V net/minecraft/client/multiplayer/PlayerControllerMP/func_178891_a (Lnet/minecraft/client/Minecraft;Lnet/minecraft/client/multiplayer/PlayerControllerMP;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)V +MD: cem/a (Lcio;Lcen;Lamj;Ldt;Lej;Lbrw;)Z net/minecraft/client/multiplayer/PlayerControllerMP/func_178890_a (Lnet/minecraft/client/entity/EntityPlayerSP;Lnet/minecraft/client/multiplayer/WorldClient;Lnet/minecraft/item/ItemStack;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/Vec3;)Z +MD: cem/a (Ldt;)Z net/minecraft/client/multiplayer/PlayerControllerMP/func_178893_a (Lnet/minecraft/util/BlockPos;)Z +MD: cem/a (Ldt;Lej;)Z net/minecraft/client/multiplayer/PlayerControllerMP/func_178888_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: cem/b ()Z net/minecraft/client/multiplayer/PlayerControllerMP/func_78755_b ()Z +MD: cem/b (Lahd;)V net/minecraft/client/multiplayer/PlayerControllerMP/func_78745_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: cem/b (Lahd;Lwv;)Z net/minecraft/client/multiplayer/PlayerControllerMP/func_78768_b (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/entity/Entity;)Z +MD: cem/b (Ldt;Lej;)Z net/minecraft/client/multiplayer/PlayerControllerMP/func_180511_b (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: cem/c ()V net/minecraft/client/multiplayer/PlayerControllerMP/func_78767_c ()V +MD: cem/c (Lahd;)V net/minecraft/client/multiplayer/PlayerControllerMP/func_78766_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: cem/c (Ldt;Lej;)Z net/minecraft/client/multiplayer/PlayerControllerMP/func_180512_c (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Z +MD: cem/d ()F net/minecraft/client/multiplayer/PlayerControllerMP/func_78757_d ()F +MD: cem/e ()V net/minecraft/client/multiplayer/PlayerControllerMP/func_78765_e ()V +MD: cem/f ()Z net/minecraft/client/multiplayer/PlayerControllerMP/func_78763_f ()Z +MD: cem/g ()Z net/minecraft/client/multiplayer/PlayerControllerMP/func_78762_g ()Z +MD: cem/h ()Z net/minecraft/client/multiplayer/PlayerControllerMP/func_78758_h ()Z +MD: cem/i ()Z net/minecraft/client/multiplayer/PlayerControllerMP/func_78749_i ()Z +MD: cem/j ()Z net/minecraft/client/multiplayer/PlayerControllerMP/func_110738_j ()Z +MD: cem/k ()Z net/minecraft/client/multiplayer/PlayerControllerMP/func_178887_k ()Z +MD: cem/l ()Larc; net/minecraft/client/multiplayer/PlayerControllerMP/func_178889_l ()Lnet/minecraft/world/WorldSettings$GameType; +MD: cem/m ()V net/minecraft/client/multiplayer/PlayerControllerMP/func_78750_j ()V +MD: cen/H ()V net/minecraft/client/multiplayer/WorldClient/func_72882_A ()V +MD: cen/a ()V net/minecraft/client/multiplayer/WorldClient/func_73022_a ()V +MD: cen/a (DDDDDDLfn;)V net/minecraft/client/multiplayer/WorldClient/func_92088_a (DDDDDDLnet/minecraft/nbt/NBTTagCompound;)V +MD: cen/a (DDDLjava/lang/String;FFZ)V net/minecraft/client/multiplayer/WorldClient/func_72980_b (DDDLjava/lang/String;FFZ)V +MD: cen/a (I)Lwv; net/minecraft/client/multiplayer/WorldClient/func_73045_a (I)Lnet/minecraft/entity/Entity; +MD: cen/a (IIIIII)V net/minecraft/client/multiplayer/WorldClient/func_73031_a (IIIIII)V +MD: cen/a (ILwv;)V net/minecraft/client/multiplayer/WorldClient/func_73027_a (ILnet/minecraft/entity/Entity;)V +MD: cen/a (Lb;)Lj; net/minecraft/client/multiplayer/WorldClient/func_72914_a (Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReportCategory; +MD: cen/a (Lbsd;)V net/minecraft/client/multiplayer/WorldClient/func_96443_a (Lnet/minecraft/scoreboard/Scoreboard;)V +MD: cen/a (Lcen;)Ljava/util/Set; net/minecraft/client/multiplayer/WorldClient/access$000 (Lnet/minecraft/client/multiplayer/WorldClient;)Ljava/util/Set; +MD: cen/a (Ldt;Ljava/lang/String;FFZ)V net/minecraft/client/multiplayer/WorldClient/func_175731_a (Lnet/minecraft/util/BlockPos;Ljava/lang/String;FFZ)V +MD: cen/a (Lwv;)V net/minecraft/client/multiplayer/WorldClient/func_72923_a (Lnet/minecraft/entity/Entity;)V +MD: cen/b (III)V net/minecraft/client/multiplayer/WorldClient/func_73029_E (III)V +MD: cen/b (IIZ)V net/minecraft/client/multiplayer/WorldClient/func_73025_a (IIZ)V +MD: cen/b (J)V net/minecraft/client/multiplayer/WorldClient/func_72877_b (J)V +MD: cen/b (Lcen;)Ljava/util/Set; net/minecraft/client/multiplayer/WorldClient/access$100 (Lnet/minecraft/client/multiplayer/WorldClient;)Ljava/util/Set; +MD: cen/b (Ldt;Lbec;)Z net/minecraft/client/multiplayer/WorldClient/func_180503_b (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)Z +MD: cen/b (Lwv;)V net/minecraft/client/multiplayer/WorldClient/func_72847_b (Lnet/minecraft/entity/Entity;)V +MD: cen/c ()V net/minecraft/client/multiplayer/WorldClient/func_72835_b ()V +MD: cen/c (Lcen;)Lbsu; net/minecraft/client/multiplayer/WorldClient/access$200 (Lnet/minecraft/client/multiplayer/WorldClient;)Lnet/minecraft/client/Minecraft; +MD: cen/d (I)Lwv; net/minecraft/client/multiplayer/WorldClient/func_73028_b (I)Lnet/minecraft/entity/Entity; +MD: cen/d (Lwv;)Z net/minecraft/client/multiplayer/WorldClient/func_72838_d (Lnet/minecraft/entity/Entity;)Z +MD: cen/e (Lwv;)V net/minecraft/client/multiplayer/WorldClient/func_72900_e (Lnet/minecraft/entity/Entity;)V +MD: cen/h ()V net/minecraft/client/multiplayer/WorldClient/func_147456_g ()V +MD: cen/k ()Lbfe; net/minecraft/client/multiplayer/WorldClient/func_72970_h ()Lnet/minecraft/world/chunk/IChunkProvider; +MD: cen/p ()V net/minecraft/client/multiplayer/WorldClient/func_72979_l ()V +MD: cen/q ()I net/minecraft/client/multiplayer/WorldClient/func_152379_p ()I +MD: ceo/a ()Ljava/lang/String; net/minecraft/client/multiplayer/WorldClient$1/call ()Ljava/lang/String; +MD: ceo/call ()Ljava/lang/Object; net/minecraft/client/multiplayer/WorldClient$1/call ()Ljava/lang/Object; +MD: cep/a ()Ljava/lang/String; net/minecraft/client/multiplayer/WorldClient$2/call ()Ljava/lang/String; +MD: cep/call ()Ljava/lang/Object; net/minecraft/client/multiplayer/WorldClient$2/call ()Ljava/lang/Object; +MD: ceq/a ()Ljava/lang/String; net/minecraft/client/multiplayer/WorldClient$3/call ()Ljava/lang/String; +MD: ceq/call ()Ljava/lang/Object; net/minecraft/client/multiplayer/WorldClient$3/call ()Ljava/lang/Object; +MD: cer/a ()Ljava/lang/String; net/minecraft/client/multiplayer/WorldClient$4/call ()Ljava/lang/String; +MD: cer/call ()Ljava/lang/Object; net/minecraft/client/multiplayer/WorldClient$4/call ()Ljava/lang/Object; +MD: ces/a ()Lcom/mojang/authlib/GameProfile; net/minecraft/client/network/NetworkPlayerInfo/func_178845_a ()Lcom/mojang/authlib/GameProfile; +MD: ces/a (I)V net/minecraft/client/network/NetworkPlayerInfo/func_178838_a (I)V +MD: ces/a (J)V net/minecraft/client/network/NetworkPlayerInfo/func_178846_a (J)V +MD: ces/a (Larc;)V net/minecraft/client/network/NetworkPlayerInfo/func_178839_a (Lnet/minecraft/world/WorldSettings$GameType;)V +MD: ces/a (Lces;)Ljava/lang/String; net/minecraft/client/network/NetworkPlayerInfo/access$100 (Lnet/minecraft/client/network/NetworkPlayerInfo;)Ljava/lang/String; +MD: ces/a (Lces;Ljava/lang/String;)Ljava/lang/String; net/minecraft/client/network/NetworkPlayerInfo/access$102 (Lnet/minecraft/client/network/NetworkPlayerInfo;Ljava/lang/String;)Ljava/lang/String; +MD: ces/a (Lces;Loa;)Loa; net/minecraft/client/network/NetworkPlayerInfo/access$002 (Lnet/minecraft/client/network/NetworkPlayerInfo;Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/util/ResourceLocation; +MD: ces/a (Lho;)V net/minecraft/client/network/NetworkPlayerInfo/func_178859_a (Lnet/minecraft/util/IChatComponent;)V +MD: ces/b ()Larc; net/minecraft/client/network/NetworkPlayerInfo/func_178848_b ()Lnet/minecraft/world/WorldSettings$GameType; +MD: ces/b (I)V net/minecraft/client/network/NetworkPlayerInfo/func_178836_b (I)V +MD: ces/b (J)V net/minecraft/client/network/NetworkPlayerInfo/func_178844_b (J)V +MD: ces/b (Lces;Loa;)Loa; net/minecraft/client/network/NetworkPlayerInfo/access$202 (Lnet/minecraft/client/network/NetworkPlayerInfo;Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/util/ResourceLocation; +MD: ces/c ()I net/minecraft/client/network/NetworkPlayerInfo/func_178853_c ()I +MD: ces/c (I)V net/minecraft/client/network/NetworkPlayerInfo/func_178857_c (I)V +MD: ces/c (J)V net/minecraft/client/network/NetworkPlayerInfo/func_178843_c (J)V +MD: ces/e ()Z net/minecraft/client/network/NetworkPlayerInfo/func_178856_e ()Z +MD: ces/f ()Ljava/lang/String; net/minecraft/client/network/NetworkPlayerInfo/func_178851_f ()Ljava/lang/String; +MD: ces/g ()Loa; net/minecraft/client/network/NetworkPlayerInfo/func_178837_g ()Lnet/minecraft/util/ResourceLocation; +MD: ces/h ()Loa; net/minecraft/client/network/NetworkPlayerInfo/func_178861_h ()Lnet/minecraft/util/ResourceLocation; +MD: ces/i ()Lbrz; net/minecraft/client/network/NetworkPlayerInfo/func_178850_i ()Lnet/minecraft/scoreboard/ScorePlayerTeam; +MD: ces/j ()V net/minecraft/client/network/NetworkPlayerInfo/func_178841_j ()V +MD: ces/k ()Lho; net/minecraft/client/network/NetworkPlayerInfo/func_178854_k ()Lnet/minecraft/util/IChatComponent; +MD: ces/l ()I net/minecraft/client/network/NetworkPlayerInfo/func_178835_l ()I +MD: ces/m ()I net/minecraft/client/network/NetworkPlayerInfo/func_178860_m ()I +MD: ces/n ()J net/minecraft/client/network/NetworkPlayerInfo/func_178847_n ()J +MD: ces/o ()J net/minecraft/client/network/NetworkPlayerInfo/func_178858_o ()J +MD: ces/p ()J net/minecraft/client/network/NetworkPlayerInfo/func_178855_p ()J +MD: cet/a (Lcom/mojang/authlib/minecraft/MinecraftProfileTexture$Type;Loa;Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;)V net/minecraft/client/network/NetworkPlayerInfo$1/func_180521_a (Lcom/mojang/authlib/minecraft/MinecraftProfileTexture$Type;Lnet/minecraft/util/ResourceLocation;Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;)V +MD: cev/a ()Ljava/lang/String; net/minecraft/client/multiplayer/ServerAddress/func_78861_a ()Ljava/lang/String; +MD: cev/a (Ljava/lang/String;)Lcev; net/minecraft/client/multiplayer/ServerAddress/func_78860_a (Ljava/lang/String;)Lnet/minecraft/client/multiplayer/ServerAddress; +MD: cev/a (Ljava/lang/String;I)I net/minecraft/client/multiplayer/ServerAddress/func_78862_a (Ljava/lang/String;I)I +MD: cev/b ()I net/minecraft/client/multiplayer/ServerAddress/func_78864_b ()I +MD: cev/b (Ljava/lang/String;)[Ljava/lang/String; net/minecraft/client/multiplayer/ServerAddress/func_78863_b (Ljava/lang/String;)[Ljava/lang/String; +MD: cew/a ()Lfn; net/minecraft/client/multiplayer/ServerData/func_78836_a ()Lnet/minecraft/nbt/NBTTagCompound; +MD: cew/a (Lcew;)V net/minecraft/client/multiplayer/ServerData/func_152583_a (Lnet/minecraft/client/multiplayer/ServerData;)V +MD: cew/a (Lcex;)V net/minecraft/client/multiplayer/ServerData/func_152584_a (Lnet/minecraft/client/multiplayer/ServerData$ServerResourceMode;)V +MD: cew/a (Lfn;)Lcew; net/minecraft/client/multiplayer/ServerData/func_78837_a (Lnet/minecraft/nbt/NBTTagCompound;)Lnet/minecraft/client/multiplayer/ServerData; +MD: cew/a (Ljava/lang/String;)V net/minecraft/client/multiplayer/ServerData/func_147407_a (Ljava/lang/String;)V +MD: cew/b ()Lcex; net/minecraft/client/multiplayer/ServerData/func_152586_b ()Lnet/minecraft/client/multiplayer/ServerData$ServerResourceMode; +MD: cew/c ()Ljava/lang/String; net/minecraft/client/multiplayer/ServerData/func_147409_e ()Ljava/lang/String; +MD: cex/a ()Lho; net/minecraft/client/multiplayer/ServerData$ServerResourceMode/func_152589_a ()Lnet/minecraft/util/IChatComponent; +MD: cex/values ()[Lcex; net/minecraft/client/multiplayer/ServerData$ServerResourceMode/values ()[Lnet/minecraft/client/multiplayer/ServerData$ServerResourceMode; +MD: cey/a ()V net/minecraft/client/multiplayer/ServerList/func_78853_a ()V +MD: cey/a (I)Lcew; net/minecraft/client/multiplayer/ServerList/func_78850_a (I)Lnet/minecraft/client/multiplayer/ServerData; +MD: cey/a (II)V net/minecraft/client/multiplayer/ServerList/func_78857_a (II)V +MD: cey/a (ILcew;)V net/minecraft/client/multiplayer/ServerList/func_147413_a (ILnet/minecraft/client/multiplayer/ServerData;)V +MD: cey/a (Lcew;)V net/minecraft/client/multiplayer/ServerList/func_78849_a (Lnet/minecraft/client/multiplayer/ServerData;)V +MD: cey/b ()V net/minecraft/client/multiplayer/ServerList/func_78855_b ()V +MD: cey/b (I)V net/minecraft/client/multiplayer/ServerList/func_78851_b (I)V +MD: cey/b (Lcew;)V net/minecraft/client/multiplayer/ServerList/func_147414_b (Lnet/minecraft/client/multiplayer/ServerData;)V +MD: cey/c ()I net/minecraft/client/multiplayer/ServerList/func_78856_c ()I +MD: cez/a ()V net/minecraft/client/network/OldServerPinger/func_147223_a ()V +MD: cez/a (Lcew;)V net/minecraft/client/network/OldServerPinger/func_147224_a (Lnet/minecraft/client/multiplayer/ServerData;)V +MD: cez/a (Lcez;Lcew;)V net/minecraft/client/network/OldServerPinger/access$100 (Lnet/minecraft/client/network/OldServerPinger;Lnet/minecraft/client/multiplayer/ServerData;)V +MD: cez/b ()V net/minecraft/client/network/OldServerPinger/func_147226_b ()V +MD: cez/b (Lcew;)V net/minecraft/client/network/OldServerPinger/func_147225_b (Lnet/minecraft/client/multiplayer/ServerData;)V +MD: cez/c ()Lorg/apache/logging/log4j/Logger; net/minecraft/client/network/OldServerPinger/access$000 ()Lorg/apache/logging/log4j/Logger; +MD: cez/d ()Lcom/google/common/base/Splitter; net/minecraft/client/network/OldServerPinger/access$200 ()Lcom/google/common/base/Splitter; +MD: cf/a ()I net/minecraft/command/common/CommandReplaceItem/func_82362_a ()I +MD: cf/a (Lae;[Ljava/lang/String;)V net/minecraft/command/common/CommandReplaceItem/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cf/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/common/CommandReplaceItem/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: cf/b ([Ljava/lang/String;I)Z net/minecraft/command/common/CommandReplaceItem/func_82358_a ([Ljava/lang/String;I)Z +MD: cf/c ()Ljava/lang/String; net/minecraft/command/common/CommandReplaceItem/func_71517_b ()Ljava/lang/String; +MD: cf/c (Lae;)Ljava/lang/String; net/minecraft/command/common/CommandReplaceItem/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cf/d ()[Ljava/lang/String; net/minecraft/command/common/CommandReplaceItem/func_175784_d ()[Ljava/lang/String; +MD: cf/e (Ljava/lang/String;)I net/minecraft/command/common/CommandReplaceItem/func_175783_e (Ljava/lang/String;)I +MD: cfa/a (Lho;)V net/minecraft/client/network/OldServerPinger$1/func_147231_a (Lnet/minecraft/util/IChatComponent;)V +MD: cfa/a (Lnn;)V net/minecraft/client/network/OldServerPinger$1/func_147398_a (Lnet/minecraft/network/status/server/S01PacketPong;)V +MD: cfa/a (Lno;)V net/minecraft/client/network/OldServerPinger$1/func_147397_a (Lnet/minecraft/network/status/server/S00PacketServerInfo;)V +MD: cfb/initChannel (Lio/netty/channel/Channel;)V net/minecraft/client/network/OldServerPinger$2/initChannel (Lio/netty/channel/Channel;)V +MD: cfc/a (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V net/minecraft/client/network/OldServerPinger$2$1/channelRead0 (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V +MD: cfc/channelActive (Lio/netty/channel/ChannelHandlerContext;)V net/minecraft/client/network/OldServerPinger$2$1/channelActive (Lio/netty/channel/ChannelHandlerContext;)V +MD: cfc/channelRead0 (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V net/minecraft/client/network/OldServerPinger$2$1/channelRead0 (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V +MD: cfc/exceptionCaught (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V net/minecraft/client/network/OldServerPinger$2$1/exceptionCaught (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V +MD: cff/a ()I net/minecraft/client/particle/Barrier/func_70537_b ()I +MD: cff/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/Barrier/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cfg/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/Barrier$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cfh/a ()I net/minecraft/client/particle/EntityBreakingFX/func_70537_b ()I +MD: cfh/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityBreakingFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cfi/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityBreakingFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cfj/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityBreakingFX$SlimeFactory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cfk/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityBreakingFX$SnowballFactory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cfl/s_ ()V net/minecraft/client/particle/EntityBubbleFX/func_70071_h_ ()V +MD: cfm/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityBubbleFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cfn/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityCrit2FX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cfn/s_ ()V net/minecraft/client/particle/EntityCrit2FX/func_70071_h_ ()V +MD: cfo/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityCrit2FX$MagicFactory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cfp/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityCrit2FX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cfq/b (F)I net/minecraft/client/particle/EntityDropParticleFX/func_70070_b (F)I +MD: cfq/c (F)F net/minecraft/client/particle/EntityDropParticleFX/func_70013_c (F)F +MD: cfq/s_ ()V net/minecraft/client/particle/EntityDropParticleFX/func_70071_h_ ()V +MD: cfr/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityDropParticleFX$LavaFactory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cfs/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityDropParticleFX$WaterFactory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cft/b (F)I net/minecraft/client/particle/EntityEnchantmentTableParticleFX/func_70070_b (F)I +MD: cft/c (F)F net/minecraft/client/particle/EntityEnchantmentTableParticleFX/func_70013_c (F)F +MD: cft/s_ ()V net/minecraft/client/particle/EntityEnchantmentTableParticleFX/func_70071_h_ ()V +MD: cfu/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityEnchantmentTableParticleFX$EnchantmentTable/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cfv/s_ ()V net/minecraft/client/particle/EntityExplodeFX/func_70071_h_ ()V +MD: cfw/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityExplodeFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cfy/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityFireworkOverlayFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cfz/S ()Lbrt; net/minecraft/client/particle/EntityFireworkSparkFX/func_70046_E ()Lnet/minecraft/util/AxisAlignedBB; +MD: cfz/a (I)V net/minecraft/client/particle/EntityFireworkSparkFX/func_92044_a (I)V +MD: cfz/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityFireworkSparkFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cfz/a (Z)V net/minecraft/client/particle/EntityFireworkSparkFX/func_92045_e (Z)V +MD: cfz/ae ()Z net/minecraft/client/particle/EntityFireworkSparkFX/func_70104_M ()Z +MD: cfz/b (F)I net/minecraft/client/particle/EntityFireworkSparkFX/func_70070_b (F)I +MD: cfz/b (I)V net/minecraft/client/particle/EntityFireworkSparkFX/func_92046_g (I)V +MD: cfz/c (F)F net/minecraft/client/particle/EntityFireworkSparkFX/func_70013_c (F)F +MD: cfz/i (Z)V net/minecraft/client/particle/EntityFireworkSparkFX/func_92043_f (Z)V +MD: cfz/s_ ()V net/minecraft/client/particle/EntityFireworkSparkFX/func_70071_h_ ()V +MD: cg/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandSaveAll/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cg/c ()Ljava/lang/String; net/minecraft/command/server/CommandSaveAll/func_71517_b ()Ljava/lang/String; +MD: cg/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandSaveAll/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cga/a ()I net/minecraft/client/particle/EntityFireworkStarterFX/func_70537_b ()I +MD: cga/a (DDDDDD[I[IZZ)V net/minecraft/client/particle/EntityFireworkStarterFX/func_92034_a (DDDDDD[I[IZZ)V +MD: cga/a (DI[I[IZZ)V net/minecraft/client/particle/EntityFireworkStarterFX/func_92035_a (DI[I[IZZ)V +MD: cga/a (D[[D[I[IZZZ)V net/minecraft/client/particle/EntityFireworkStarterFX/func_92038_a (D[[D[I[IZZZ)V +MD: cga/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityFireworkStarterFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cga/a ([I[IZZ)V net/minecraft/client/particle/EntityFireworkStarterFX/func_92036_a ([I[IZZ)V +MD: cga/l ()Z net/minecraft/client/particle/EntityFireworkStarterFX/func_92037_i ()Z +MD: cga/s_ ()V net/minecraft/client/particle/EntityFireworkStarterFX/func_70071_h_ ()V +MD: cgb/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityFireworkStarterFX_Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cgc/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityFlameFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cgc/b (F)I net/minecraft/client/particle/EntityFlameFX/func_70070_b (F)I +MD: cgc/c (F)F net/minecraft/client/particle/EntityFlameFX/func_70013_c (F)F +MD: cgc/s_ ()V net/minecraft/client/particle/EntityFlameFX/func_70071_h_ ()V +MD: cgd/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityFlameFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cge/a ()I net/minecraft/client/particle/EntityFootStepFX/func_70537_b ()I +MD: cge/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityFootStepFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cge/s_ ()V net/minecraft/client/particle/EntityFootStepFX/func_70071_h_ ()V +MD: cgf/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityFootStepFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cgg/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityHeartFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cgg/s_ ()V net/minecraft/client/particle/EntityHeartFX/func_70071_h_ ()V +MD: cgh/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityHeartFX$AngryVillagerFactory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cgi/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityHeartFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cgj/a ()I net/minecraft/client/particle/EntityLargeExplodeFX/func_70537_b ()I +MD: cgj/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityLargeExplodeFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cgj/b (F)I net/minecraft/client/particle/EntityLargeExplodeFX/func_70070_b (F)I +MD: cgj/s_ ()V net/minecraft/client/particle/EntityLargeExplodeFX/func_70071_h_ ()V +MD: cgk/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityLargeExplodeFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cgl/a ()I net/minecraft/client/particle/EntityHugeExplodeFX/func_70537_b ()I +MD: cgl/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityHugeExplodeFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cgl/s_ ()V net/minecraft/client/particle/EntityHugeExplodeFX/func_70071_h_ ()V +MD: cgm/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityHugeExplodeFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cgn/a ()I net/minecraft/client/particle/EntityPickupFX/func_70537_b ()I +MD: cgn/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityPickupFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cgn/s_ ()V net/minecraft/client/particle/EntityPickupFX/func_70071_h_ ()V +MD: cgp/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityCritFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cgq/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityLavaFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cgq/b (F)I net/minecraft/client/particle/EntityLavaFX/func_70070_b (F)I +MD: cgq/c (F)F net/minecraft/client/particle/EntityLavaFX/func_70013_c (F)F +MD: cgq/s_ ()V net/minecraft/client/particle/EntityLavaFX/func_70071_h_ ()V +MD: cgr/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityLavaFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cgs/a ()I net/minecraft/client/particle/MobAppearance/func_70537_b ()I +MD: cgs/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/MobAppearance/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cgs/s_ ()V net/minecraft/client/particle/MobAppearance/func_70071_h_ ()V +MD: cgt/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/MobAppearance$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cgu/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityNoteFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cgu/s_ ()V net/minecraft/client/particle/EntityNoteFX/func_70071_h_ ()V +MD: cgv/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityNoteFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cgw/a ()I net/minecraft/client/particle/EntityFX/func_70537_b ()I +MD: cgw/a (F)Lcgw; net/minecraft/client/particle/EntityFX/func_70543_e (F)Lnet/minecraft/client/particle/EntityFX; +MD: cgw/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cgw/a (Lcue;)V net/minecraft/client/particle/EntityFX/func_180435_a (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)V +MD: cgw/a (Lfn;)V net/minecraft/client/particle/EntityFX/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: cgw/aE ()Z net/minecraft/client/particle/EntityFX/func_70075_an ()Z +MD: cgw/b ()F net/minecraft/client/particle/EntityFX/func_70534_d ()F +MD: cgw/b (FFF)V net/minecraft/client/particle/EntityFX/func_70538_b (FFF)V +MD: cgw/b (Lfn;)V net/minecraft/client/particle/EntityFX/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: cgw/g ()F net/minecraft/client/particle/EntityFX/func_70542_f ()F +MD: cgw/g (F)Lcgw; net/minecraft/client/particle/EntityFX/func_70541_f (F)Lnet/minecraft/client/particle/EntityFX; +MD: cgw/h ()V net/minecraft/client/particle/EntityFX/func_70088_a ()V +MD: cgw/h (F)V net/minecraft/client/particle/EntityFX/func_82338_g (F)V +MD: cgw/i ()F net/minecraft/client/particle/EntityFX/func_70535_g ()F +MD: cgw/j ()F net/minecraft/client/particle/EntityFX/func_174838_j ()F +MD: cgw/k ()V net/minecraft/client/particle/EntityFX/func_94053_h ()V +MD: cgw/k (I)V net/minecraft/client/particle/EntityFX/func_70536_a (I)V +MD: cgw/r_ ()Z net/minecraft/client/particle/EntityFX/func_70041_e_ ()Z +MD: cgw/s_ ()V net/minecraft/client/particle/EntityFX/func_70071_h_ ()V +MD: cgw/toString ()Ljava/lang/String; net/minecraft/client/particle/EntityFX/toString ()Ljava/lang/String; +MD: cgx/a ()V net/minecraft/client/particle/EffectRenderer/func_78868_a ()V +MD: cgx/a (I)V net/minecraft/client/particle/EffectRenderer/func_178922_a (I)V +MD: cgx/a (IDDDDDD[I)Lcgw; net/minecraft/client/particle/EffectRenderer/func_178927_a (IDDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cgx/a (ILchc;)V net/minecraft/client/particle/EffectRenderer/func_178929_a (ILnet/minecraft/client/particle/IParticleFactory;)V +MD: cgx/a (Laqu;)V net/minecraft/client/particle/EffectRenderer/func_78870_a (Lnet/minecraft/world/World;)V +MD: cgx/a (Lcgw;)V net/minecraft/client/particle/EffectRenderer/func_78873_a (Lnet/minecraft/client/particle/EntityFX;)V +MD: cgx/a (Lcgw;II)V net/minecraft/client/particle/EffectRenderer/func_178924_a (Lnet/minecraft/client/particle/EntityFX;II)V +MD: cgx/a (Ldt;Lbec;)V net/minecraft/client/particle/EffectRenderer/func_180533_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: cgx/a (Ldt;Lej;)V net/minecraft/client/particle/EffectRenderer/func_180532_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)V +MD: cgx/a (Ljava/util/List;)V net/minecraft/client/particle/EffectRenderer/func_178925_a (Ljava/util/List;)V +MD: cgx/a (Lwv;F)V net/minecraft/client/particle/EffectRenderer/func_78874_a (Lnet/minecraft/entity/Entity;F)V +MD: cgx/a (Lwv;Lew;)V net/minecraft/client/particle/EffectRenderer/func_178926_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/util/EnumParticleTypes;)V +MD: cgx/b ()Ljava/lang/String; net/minecraft/client/particle/EffectRenderer/func_78869_b ()Ljava/lang/String; +MD: cgx/b (Lcgw;)V net/minecraft/client/particle/EffectRenderer/func_178928_b (Lnet/minecraft/client/particle/EntityFX;)V +MD: cgx/b (Lwv;F)V net/minecraft/client/particle/EffectRenderer/func_78872_b (Lnet/minecraft/entity/Entity;F)V +MD: cgx/c ()V net/minecraft/client/particle/EffectRenderer/func_178930_c ()V +MD: cgx/c (Lcgw;)V net/minecraft/client/particle/EffectRenderer/func_178931_c (Lnet/minecraft/client/particle/EntityFX;)V +MD: cgx/d (Lcgw;)V net/minecraft/client/particle/EffectRenderer/func_178923_d (Lnet/minecraft/client/particle/EntityFX;)V +MD: cgy/a ()Ljava/lang/String; net/minecraft/client/particle/EffectRenderer$1/call ()Ljava/lang/String; +MD: cgy/call ()Ljava/lang/Object; net/minecraft/client/particle/EffectRenderer$1/call ()Ljava/lang/Object; +MD: cgz/a ()Ljava/lang/String; net/minecraft/client/particle/EffectRenderer$2/call ()Ljava/lang/String; +MD: cgz/call ()Ljava/lang/Object; net/minecraft/client/particle/EffectRenderer$2/call ()Ljava/lang/Object; +MD: ch/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandSaveOff/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: ch/c ()Ljava/lang/String; net/minecraft/command/server/CommandSaveOff/func_71517_b ()Ljava/lang/String; +MD: ch/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandSaveOff/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cha/a ()Ljava/lang/String; net/minecraft/client/particle/EffectRenderer$3/call ()Ljava/lang/String; +MD: cha/call ()Ljava/lang/Object; net/minecraft/client/particle/EffectRenderer$3/call ()Ljava/lang/Object; +MD: chb/a ()Ljava/lang/String; net/minecraft/client/particle/EffectRenderer$4/call ()Ljava/lang/String; +MD: chb/call ()Ljava/lang/Object; net/minecraft/client/particle/EffectRenderer$4/call ()Ljava/lang/Object; +MD: chc/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/IParticleFactory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: chd/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityCloudFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: chd/s_ ()V net/minecraft/client/particle/EntityCloudFX/func_70071_h_ ()V +MD: che/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityCloudFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: chf/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityPortalFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: chf/b (F)I net/minecraft/client/particle/EntityPortalFX/func_70070_b (F)I +MD: chf/c (F)F net/minecraft/client/particle/EntityPortalFX/func_70013_c (F)F +MD: chf/s_ ()V net/minecraft/client/particle/EntityPortalFX/func_70071_h_ ()V +MD: chg/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityPortalFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: chh/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityReddustFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: chh/s_ ()V net/minecraft/client/particle/EntityReddustFX/func_70071_h_ ()V +MD: chi/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityReddustFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: chj/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntitySmokeFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: chj/s_ ()V net/minecraft/client/particle/EntitySmokeFX/func_70071_h_ ()V +MD: chl/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntitySmokeFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: chm/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntitySnowShovelFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: chm/s_ ()V net/minecraft/client/particle/EntitySnowShovelFX/func_70071_h_ ()V +MD: chn/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntitySnowShovelFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cho/a (I)V net/minecraft/client/particle/EntitySpellParticleFX/func_70589_b (I)V +MD: cho/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntitySpellParticleFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cho/s_ ()V net/minecraft/client/particle/EntitySpellParticleFX/func_70071_h_ ()V +MD: chp/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntitySpellParticleFX$AmbientMobFactory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: chq/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntitySpellParticleFX$InstantFactory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: chr/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntitySpellParticleFX$MobFactory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: chs/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntitySpellParticleFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cht/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntitySpellParticleFX$WitchFactory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: chv/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntitySplashFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: chw/s_ ()V net/minecraft/client/particle/EntitySuspendFX/func_70071_h_ ()V +MD: chx/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntitySuspendFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: chy/s_ ()V net/minecraft/client/particle/EntityAuraFX/func_70071_h_ ()V +MD: chz/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityAuraFX$HappyVillagerFactory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: ci/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandSaveOn/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: ci/c ()Ljava/lang/String; net/minecraft/command/server/CommandSaveOn/func_71517_b ()Ljava/lang/String; +MD: ci/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandSaveOn/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cia/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityAuraFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cic/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityBlockDustFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cid/a ()I net/minecraft/client/particle/EntityDiggingFX/func_70537_b ()I +MD: cid/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityDiggingFX/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cid/a (Ldt;)Lcid; net/minecraft/client/particle/EntityDiggingFX/func_174846_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/client/particle/EntityDiggingFX; +MD: cid/l ()Lcid; net/minecraft/client/particle/EntityDiggingFX/func_174845_l ()Lnet/minecraft/client/particle/EntityDiggingFX; +MD: cie/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityDiggingFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cif/a ()I net/minecraft/client/particle/EntityParticleEmitter/func_70537_b ()I +MD: cif/a (Lciv;Lwv;FFFFFF)V net/minecraft/client/particle/EntityParticleEmitter/func_180434_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;FFFFFF)V +MD: cif/s_ ()V net/minecraft/client/particle/EntityParticleEmitter/func_70071_h_ ()V +MD: cig/s_ ()V net/minecraft/client/particle/EntityFishWakeFX/func_70071_h_ ()V +MD: cih/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityFishWakeFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cii/s_ ()V net/minecraft/client/particle/EntityRainFX/func_70071_h_ ()V +MD: cij/a (ILaqu;DDDDDD[I)Lcgw; net/minecraft/client/particle/EntityRainFX$Factory/func_178902_a (ILnet/minecraft/world/World;DDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: cil/a ()Z net/minecraft/client/entity/AbstractClientPlayer/func_152122_n ()Z +MD: cil/a (Loa;Ljava/lang/String;)Lctq; net/minecraft/client/entity/AbstractClientPlayer/func_110304_a (Lnet/minecraft/util/ResourceLocation;Ljava/lang/String;)Lnet/minecraft/client/renderer/ThreadDownloadImageData; +MD: cil/b ()Lces; net/minecraft/client/entity/AbstractClientPlayer/func_175155_b ()Lnet/minecraft/client/network/NetworkPlayerInfo; +MD: cil/c (Ljava/lang/String;)Loa; net/minecraft/client/entity/AbstractClientPlayer/func_110311_f (Ljava/lang/String;)Lnet/minecraft/util/ResourceLocation; +MD: cil/g ()Z net/minecraft/client/entity/AbstractClientPlayer/func_152123_o ()Z +MD: cil/i ()Loa; net/minecraft/client/entity/AbstractClientPlayer/func_110306_p ()Lnet/minecraft/util/ResourceLocation; +MD: cil/k ()Loa; net/minecraft/client/entity/AbstractClientPlayer/func_110303_q ()Lnet/minecraft/util/ResourceLocation; +MD: cil/l ()Ljava/lang/String; net/minecraft/client/entity/AbstractClientPlayer/func_175154_l ()Ljava/lang/String; +MD: cil/o ()F net/minecraft/client/entity/AbstractClientPlayer/func_175156_o ()F +MD: cil/v ()Z net/minecraft/client/entity/AbstractClientPlayer/func_175149_v ()Z +MD: cim/a ()V net/minecraft/util/MovementInput/func_78898_a ()V +MD: cin/a ()V net/minecraft/util/MovementInputFromOptions/func_78898_a ()V +MD: cio/A ()Z net/minecraft/client/entity/EntityPlayerSP/func_175160_A ()Z +MD: cio/a (FII)V net/minecraft/client/entity/EntityPlayerSP/func_71152_a (FII)V +MD: cio/a (ILjava/lang/String;)Z net/minecraft/client/entity/EntityPlayerSP/func_70003_b (ILjava/lang/String;)Z +MD: cio/a (Labt;Lvq;)V net/minecraft/client/entity/EntityPlayerSP/func_110298_a (Lnet/minecraft/entity/passive/EntityHorse;Lnet/minecraft/inventory/IInventory;)V +MD: cio/a (Ladw;)V net/minecraft/client/entity/EntityPlayerSP/func_71012_a (Lnet/minecraft/entity/item/EntityItem;)V +MD: cio/a (Lamj;)V net/minecraft/client/entity/EntityPlayerSP/func_71048_c (Lnet/minecraft/item/ItemStack;)V +MD: cio/a (Laqb;)V net/minecraft/client/entity/EntityPlayerSP/func_180472_a (Lnet/minecraft/entity/IMerchant;)V +MD: cio/a (Laqf;)V net/minecraft/client/entity/EntityPlayerSP/func_146095_a (Lnet/minecraft/command/server/CommandBlockLogic;)V +MD: cio/a (Lbdj;)V net/minecraft/client/entity/EntityPlayerSP/func_175141_a (Lnet/minecraft/tileentity/TileEntitySign;)V +MD: cio/a (Lho;)V net/minecraft/client/entity/EntityPlayerSP/func_145747_a (Lnet/minecraft/util/IChatComponent;)V +MD: cio/a (Ljava/lang/String;FF)V net/minecraft/client/entity/EntityPlayerSP/func_85030_a (Ljava/lang/String;FF)V +MD: cio/a (Ltq;I)V net/minecraft/client/entity/EntityPlayerSP/func_71064_a (Lnet/minecraft/stats/StatBase;I)V +MD: cio/a (Lvq;)V net/minecraft/client/entity/EntityPlayerSP/func_71007_a (Lnet/minecraft/inventory/IInventory;)V +MD: cio/a (Lvv;)V net/minecraft/client/entity/EntityPlayerSP/func_180468_a (Lnet/minecraft/world/IInteractionObject;)V +MD: cio/a (Lwh;F)Z net/minecraft/client/entity/EntityPlayerSP/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: cio/a (Lwv;)V net/minecraft/client/entity/EntityPlayerSP/func_70078_a (Lnet/minecraft/entity/Entity;)V +MD: cio/a (Z)Ladw; net/minecraft/client/entity/EntityPlayerSP/func_71040_bB (Z)Lnet/minecraft/entity/item/EntityItem; +MD: cio/aw ()Z net/minecraft/client/entity/EntityPlayerSP/func_70093_af ()Z +MD: cio/b (Lho;)V net/minecraft/client/entity/EntityPlayerSP/func_146105_b (Lnet/minecraft/util/IChatComponent;)V +MD: cio/b (Lwv;)V net/minecraft/client/entity/EntityPlayerSP/func_71009_b (Lnet/minecraft/entity/Entity;)V +MD: cio/bJ ()V net/minecraft/client/entity/EntityPlayerSP/func_70626_be ()V +MD: cio/bL ()Z net/minecraft/client/entity/EntityPlayerSP/func_70613_aW ()Z +MD: cio/bv ()V net/minecraft/client/entity/EntityPlayerSP/func_71038_i ()V +MD: cio/c ()Ldt; net/minecraft/client/entity/EntityPlayerSP/func_180425_c ()Lnet/minecraft/util/BlockPos; +MD: cio/c (Lwv;)V net/minecraft/client/entity/EntityPlayerSP/func_71047_c (Lnet/minecraft/entity/Entity;)V +MD: cio/ca ()V net/minecraft/client/entity/EntityPlayerSP/func_71004_bE ()V +MD: cio/cb ()Z net/minecraft/client/entity/EntityPlayerSP/func_175144_cb ()Z +MD: cio/d (Ldt;)Z net/minecraft/client/entity/EntityPlayerSP/func_175162_d (Lnet/minecraft/util/BlockPos;)Z +MD: cio/d (Lwh;F)V net/minecraft/client/entity/EntityPlayerSP/func_70665_d (Lnet/minecraft/util/DamageSource;F)V +MD: cio/d (Z)V net/minecraft/client/entity/EntityPlayerSP/func_70031_b (Z)V +MD: cio/e (Ljava/lang/String;)V net/minecraft/client/entity/EntityPlayerSP/func_71165_d (Ljava/lang/String;)V +MD: cio/f (Ljava/lang/String;)V net/minecraft/client/entity/EntityPlayerSP/func_175158_f (Ljava/lang/String;)V +MD: cio/g (F)V net/minecraft/client/entity/EntityPlayerSP/func_70691_i (F)V +MD: cio/j (DDD)Z net/minecraft/client/entity/EntityPlayerSP/func_145771_j (DDD)Z +MD: cio/m ()V net/minecraft/client/entity/EntityPlayerSP/func_70636_d ()V +MD: cio/m (F)V net/minecraft/client/entity/EntityPlayerSP/func_71150_b (F)V +MD: cio/n ()V net/minecraft/client/entity/EntityPlayerSP/func_71053_j ()V +MD: cio/p ()V net/minecraft/client/entity/EntityPlayerSP/func_175161_p ()V +MD: cio/q ()V net/minecraft/client/entity/EntityPlayerSP/func_175159_q ()V +MD: cio/r ()V net/minecraft/client/entity/EntityPlayerSP/func_110318_g ()V +MD: cio/s_ ()V net/minecraft/client/entity/EntityPlayerSP/func_70071_h_ ()V +MD: cio/t ()V net/minecraft/client/entity/EntityPlayerSP/func_71016_p ()V +MD: cio/u ()V net/minecraft/client/entity/EntityPlayerSP/func_175163_u ()V +MD: cio/w ()Ljava/lang/String; net/minecraft/client/entity/EntityPlayerSP/func_142021_k ()Ljava/lang/String; +MD: cio/x ()Ltz; net/minecraft/client/entity/EntityPlayerSP/func_146107_m ()Lnet/minecraft/stats/StatFileWriter; +MD: cio/y ()Z net/minecraft/client/entity/EntityPlayerSP/func_110317_t ()Z +MD: cio/z ()F net/minecraft/client/entity/EntityPlayerSP/func_110319_bJ ()F +MD: cip/a (DDDFFIZ)V net/minecraft/client/entity/EntityOtherPlayerMP/func_180426_a (DDDFFIZ)V +MD: cip/a (ILjava/lang/String;)Z net/minecraft/client/entity/EntityOtherPlayerMP/func_70003_b (ILjava/lang/String;)Z +MD: cip/a (Lho;)V net/minecraft/client/entity/EntityOtherPlayerMP/func_145747_a (Lnet/minecraft/util/IChatComponent;)V +MD: cip/a (Lwh;F)Z net/minecraft/client/entity/EntityOtherPlayerMP/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: cip/c ()Ldt; net/minecraft/client/entity/EntityOtherPlayerMP/func_180425_c ()Lnet/minecraft/util/BlockPos; +MD: cip/c (ILamj;)V net/minecraft/client/entity/EntityOtherPlayerMP/func_70062_b (ILnet/minecraft/item/ItemStack;)V +MD: cip/m ()V net/minecraft/client/entity/EntityOtherPlayerMP/func_70636_d ()V +MD: cip/s_ ()V net/minecraft/client/entity/EntityOtherPlayerMP/func_70071_h_ ()V +MD: ciq/a (Lahb;Lahd;)Laib; net/minecraft/client/player/inventory/LocalBlockIntercommunication/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: ciq/d_ ()Ljava/lang/String; net/minecraft/client/player/inventory/LocalBlockIntercommunication/func_70005_c_ ()Ljava/lang/String; +MD: ciq/e_ ()Lho; net/minecraft/client/player/inventory/LocalBlockIntercommunication/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: ciq/k ()Ljava/lang/String; net/minecraft/client/player/inventory/LocalBlockIntercommunication/func_174875_k ()Ljava/lang/String; +MD: ciq/k_ ()Z net/minecraft/client/player/inventory/LocalBlockIntercommunication/func_145818_k_ ()Z +MD: cir/a (Lahb;Lahd;)Laib; net/minecraft/client/player/inventory/ContainerLocalMenu/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: cir/a (Lvx;)V net/minecraft/client/player/inventory/ContainerLocalMenu/func_174892_a (Lnet/minecraft/world/LockCode;)V +MD: cir/a_ (I)I net/minecraft/client/player/inventory/ContainerLocalMenu/func_174887_a_ (I)I +MD: cir/b (II)V net/minecraft/client/player/inventory/ContainerLocalMenu/func_174885_b (II)V +MD: cir/g ()I net/minecraft/client/player/inventory/ContainerLocalMenu/func_174890_g ()I +MD: cir/i ()Lvx; net/minecraft/client/player/inventory/ContainerLocalMenu/func_174891_i ()Lnet/minecraft/world/LockCode; +MD: cir/k ()Ljava/lang/String; net/minecraft/client/player/inventory/ContainerLocalMenu/func_174875_k ()Ljava/lang/String; +MD: cir/q_ ()Z net/minecraft/client/player/inventory/ContainerLocalMenu/func_174893_q_ ()Z +MD: ciu/a (Lacx;Z)V net/minecraft/entity/boss/BossStatus/func_82824_a (Lnet/minecraft/entity/boss/IBossDisplayData;Z)V +MD: civ/a ()V net/minecraft/client/renderer/WorldRenderer/func_178965_a ()V +MD: civ/a (BBB)V net/minecraft/client/renderer/WorldRenderer/func_178982_a (BBB)V +MD: civ/a (DD)V net/minecraft/client/renderer/WorldRenderer/func_178992_a (DD)V +MD: civ/a (DDD)V net/minecraft/client/renderer/WorldRenderer/func_178987_a (DDD)V +MD: civ/a (DDDDD)V net/minecraft/client/renderer/WorldRenderer/func_178985_a (DDDDD)V +MD: civ/a (FFF)Lcix; net/minecraft/client/renderer/WorldRenderer/func_178971_a (FFF)Lnet/minecraft/client/renderer/WorldRenderer$State; +MD: civ/a (FFFF)V net/minecraft/client/renderer/WorldRenderer/func_178960_a (FFFF)V +MD: civ/a (FFFI)V net/minecraft/client/renderer/WorldRenderer/func_178978_a (FFFI)V +MD: civ/a (I)V net/minecraft/client/renderer/WorldRenderer/func_178964_a (I)V +MD: civ/a (II)V net/minecraft/client/renderer/WorldRenderer/func_178974_a (II)V +MD: civ/a (III)V net/minecraft/client/renderer/WorldRenderer/func_78913_a (III)V +MD: civ/a (IIII)V net/minecraft/client/renderer/WorldRenderer/func_178962_a (IIII)V +MD: civ/a (IIIII)V net/minecraft/client/renderer/WorldRenderer/func_178972_a (IIIII)V +MD: civ/a (Lcix;)V net/minecraft/client/renderer/WorldRenderer/func_178993_a (Lnet/minecraft/client/renderer/WorldRenderer$State;)V +MD: civ/a (Lcus;)V net/minecraft/client/renderer/WorldRenderer/func_178967_a (Lnet/minecraft/client/renderer/vertex/VertexFormat;)V +MD: civ/a ([I)V net/minecraft/client/renderer/WorldRenderer/func_178981_a ([I)V +MD: civ/b ()V net/minecraft/client/renderer/WorldRenderer/func_178970_b ()V +MD: civ/b (DDD)V net/minecraft/client/renderer/WorldRenderer/func_178984_b (DDD)V +MD: civ/b (FFF)V net/minecraft/client/renderer/WorldRenderer/func_178986_b (FFF)V +MD: civ/b (FFFI)V net/minecraft/client/renderer/WorldRenderer/func_178994_b (FFFI)V +MD: civ/b (I)V net/minecraft/client/renderer/WorldRenderer/func_178963_b (I)V +MD: civ/b (II)V net/minecraft/client/renderer/WorldRenderer/func_178988_b (II)V +MD: civ/b (IIII)V net/minecraft/client/renderer/WorldRenderer/func_178961_b (IIII)V +MD: civ/c ()V net/minecraft/client/renderer/WorldRenderer/func_78914_f ()V +MD: civ/c (DDD)V net/minecraft/client/renderer/WorldRenderer/func_178969_c (DDD)V +MD: civ/c (I)V net/minecraft/client/renderer/WorldRenderer/func_178991_c (I)V +MD: civ/d ()I net/minecraft/client/renderer/WorldRenderer/func_178977_d ()I +MD: civ/d (FFF)V net/minecraft/client/renderer/WorldRenderer/func_178980_d (FFF)V +MD: civ/d (I)V net/minecraft/client/renderer/WorldRenderer/func_178968_d (I)V +MD: civ/e ()I net/minecraft/client/renderer/WorldRenderer/func_178976_e ()I +MD: civ/e (FFF)V net/minecraft/client/renderer/WorldRenderer/func_178975_e (FFF)V +MD: civ/e (I)V net/minecraft/client/renderer/WorldRenderer/func_178983_e (I)V +MD: civ/f ()Ljava/nio/ByteBuffer; net/minecraft/client/renderer/WorldRenderer/func_178966_f ()Ljava/nio/ByteBuffer; +MD: civ/f (FFF)V net/minecraft/client/renderer/WorldRenderer/func_178990_f (FFF)V +MD: civ/f (I)I net/minecraft/client/renderer/WorldRenderer/func_78909_a (I)I +MD: civ/g ()Lcus; net/minecraft/client/renderer/WorldRenderer/func_178973_g ()Lnet/minecraft/client/renderer/vertex/VertexFormat; +MD: civ/h ()I net/minecraft/client/renderer/WorldRenderer/func_178989_h ()I +MD: civ/i ()I net/minecraft/client/renderer/WorldRenderer/func_178979_i ()I +MD: cix/a ()[I net/minecraft/client/renderer/WorldRenderer$State/func_179013_a ()[I +MD: cix/b ()I net/minecraft/client/renderer/WorldRenderer$State/func_179015_b ()I +MD: cix/c ()I net/minecraft/client/renderer/WorldRenderer$State/func_179014_c ()I +MD: cix/d ()Lcus; net/minecraft/client/renderer/WorldRenderer$State/func_179016_d ()Lnet/minecraft/client/renderer/vertex/VertexFormat; +MD: ciy/a (Lciv;I)I net/minecraft/client/renderer/WorldVertexBufferUploader/func_178177_a (Lnet/minecraft/client/renderer/WorldRenderer;I)I +MD: cj/a ()I net/minecraft/command/server/CommandBroadcast/func_82362_a ()I +MD: cj/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandBroadcast/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cj/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandBroadcast/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: cj/c ()Ljava/lang/String; net/minecraft/command/server/CommandBroadcast/func_71517_b ()Ljava/lang/String; +MD: cj/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandBroadcast/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cja/b (Ldt;I)I net/minecraft/client/renderer/RegionRenderCache/func_175626_b (Lnet/minecraft/util/BlockPos;I)I +MD: cja/c (Ldt;)Lbec; net/minecraft/client/renderer/RegionRenderCache/func_175631_c (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: cja/e (Ldt;)I net/minecraft/client/renderer/RegionRenderCache/func_175630_e (Lnet/minecraft/util/BlockPos;)I +MD: cja/p (Ldt;)Lbec; net/minecraft/client/renderer/RegionRenderCache/func_180495_p (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/state/IBlockState; +MD: cja/s (Ldt;)Lbcm; net/minecraft/client/renderer/RegionRenderCache/func_175625_s (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/tileentity/TileEntity; +MD: cjb/a (I)Lciv; net/minecraft/client/renderer/RegionRenderCacheBuilder/func_179039_a (I)Lnet/minecraft/client/renderer/WorldRenderer; +MD: cjb/a (Laql;)Lciv; net/minecraft/client/renderer/RegionRenderCacheBuilder/func_179038_a (Lnet/minecraft/util/EnumWorldBlockLayer;)Lnet/minecraft/client/renderer/WorldRenderer; +MD: cjc/a (DDD)V net/minecraft/client/renderer/ChunkRenderContainer/func_178004_a (DDD)V +MD: cjc/a (Laql;)V net/minecraft/client/renderer/ChunkRenderContainer/func_178001_a (Lnet/minecraft/util/EnumWorldBlockLayer;)V +MD: cjc/a (Lcop;)V net/minecraft/client/renderer/ChunkRenderContainer/func_178003_a (Lnet/minecraft/client/renderer/chunk/RenderChunk;)V +MD: cjc/a (Lcop;Laql;)V net/minecraft/client/renderer/ChunkRenderContainer/func_178002_a (Lnet/minecraft/client/renderer/chunk/RenderChunk;Lnet/minecraft/util/EnumWorldBlockLayer;)V +MD: cjd/a (Lamj;)V net/minecraft/client/renderer/tileentity/TileEntityItemStackRenderer/func_179022_a (Lnet/minecraft/item/ItemStack;)V +MD: cje/a (I)Lcjh; net/minecraft/client/renderer/EnumFaceDirection/func_179025_a (I)Lnet/minecraft/client/renderer/EnumFaceDirection$VertexInformation; +MD: cje/a (Lej;)Lcje; net/minecraft/client/renderer/EnumFaceDirection/func_179027_a (Lnet/minecraft/util/EnumFacing;)Lnet/minecraft/client/renderer/EnumFaceDirection; +MD: cje/values ()[Lcje; net/minecraft/client/renderer/EnumFaceDirection/values ()[Lnet/minecraft/client/renderer/EnumFaceDirection; +MD: cji/a ()Z net/minecraft/client/renderer/EntityRenderer/func_147702_a ()Z +MD: cji/a (F)V net/minecraft/client/renderer/EntityRenderer/func_78473_a (F)V +MD: cji/a (FFFF)Ljava/nio/FloatBuffer; net/minecraft/client/renderer/EntityRenderer/func_78469_a (FFFF)Ljava/nio/FloatBuffer; +MD: cji/a (FI)V net/minecraft/client/renderer/EntityRenderer/func_78479_a (FI)V +MD: cji/a (FJ)V net/minecraft/client/renderer/EntityRenderer/func_78471_a (FJ)V +MD: cji/a (FZ)F net/minecraft/client/renderer/EntityRenderer/func_78481_a (FZ)F +MD: cji/a (IF)V net/minecraft/client/renderer/EntityRenderer/func_78468_a (IF)V +MD: cji/a (IFJ)V net/minecraft/client/renderer/EntityRenderer/func_175068_a (IFJ)V +MD: cji/a (II)V net/minecraft/client/renderer/EntityRenderer/func_147704_a (II)V +MD: cji/a (Lcji;)Lbsu; net/minecraft/client/renderer/EntityRenderer/access$000 (Lnet/minecraft/client/renderer/EntityRenderer;)Lnet/minecraft/client/Minecraft; +MD: cji/a (Lckn;FI)V net/minecraft/client/renderer/EntityRenderer/func_180437_a (Lnet/minecraft/client/renderer/RenderGlobal;FI)V +MD: cji/a (Lcvk;)V net/minecraft/client/renderer/EntityRenderer/func_110549_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: cji/a (Loa;)V net/minecraft/client/renderer/EntityRenderer/func_175069_a (Lnet/minecraft/util/ResourceLocation;)V +MD: cji/a (Lwv;)V net/minecraft/client/renderer/EntityRenderer/func_175066_a (Lnet/minecraft/entity/Entity;)V +MD: cji/a (Lxm;F)F net/minecraft/client/renderer/EntityRenderer/func_180438_a (Lnet/minecraft/entity/EntityLivingBase;F)F +MD: cji/b (F)V net/minecraft/client/renderer/EntityRenderer/func_78480_b (F)V +MD: cji/b (FI)V net/minecraft/client/renderer/EntityRenderer/func_78476_b (FI)V +MD: cji/c ()V net/minecraft/client/renderer/EntityRenderer/func_175071_c ()V +MD: cji/c (F)V net/minecraft/client/renderer/EntityRenderer/func_152430_c (F)V +MD: cji/d ()V net/minecraft/client/renderer/EntityRenderer/func_147705_c ()V +MD: cji/d (F)V net/minecraft/client/renderer/EntityRenderer/func_78474_d (F)V +MD: cji/e ()V net/minecraft/client/renderer/EntityRenderer/func_78464_a ()V +MD: cji/e (F)V net/minecraft/client/renderer/EntityRenderer/func_78482_e (F)V +MD: cji/f ()Lctg; net/minecraft/client/renderer/EntityRenderer/func_147706_e ()Lnet/minecraft/client/shader/ShaderGroup; +MD: cji/f (F)V net/minecraft/client/renderer/EntityRenderer/func_78475_f (F)V +MD: cji/g (F)V net/minecraft/client/renderer/EntityRenderer/func_78467_g (F)V +MD: cji/h ()V net/minecraft/client/renderer/EntityRenderer/func_175072_h ()V +MD: cji/h (F)V net/minecraft/client/renderer/EntityRenderer/func_78472_g (F)V +MD: cji/i ()V net/minecraft/client/renderer/EntityRenderer/func_180436_i ()V +MD: cji/i (F)V net/minecraft/client/renderer/EntityRenderer/func_175067_i (F)V +MD: cji/j ()V net/minecraft/client/renderer/EntityRenderer/func_78478_c ()V +MD: cji/j (F)V net/minecraft/client/renderer/EntityRenderer/func_78466_h (F)V +MD: cji/k ()Lbuc; net/minecraft/client/renderer/EntityRenderer/func_147701_i ()Lnet/minecraft/client/gui/MapItemRenderer; +MD: cji/l ()V net/minecraft/client/renderer/EntityRenderer/func_78477_e ()V +MD: cji/m ()V net/minecraft/client/renderer/EntityRenderer/func_78470_f ()V +MD: cji/n ()Z net/minecraft/client/renderer/EntityRenderer/func_175070_n ()Z +MD: cji/o ()V net/minecraft/client/renderer/EntityRenderer/func_78484_h ()V +MD: cjj/a ()Ljava/lang/String; net/minecraft/client/renderer/EntityRenderer$1/call ()Ljava/lang/String; +MD: cjj/call ()Ljava/lang/Object; net/minecraft/client/renderer/EntityRenderer$1/call ()Ljava/lang/Object; +MD: cjk/a ()Ljava/lang/String; net/minecraft/client/renderer/EntityRenderer$2/call ()Ljava/lang/String; +MD: cjk/call ()Ljava/lang/Object; net/minecraft/client/renderer/EntityRenderer$2/call ()Ljava/lang/Object; +MD: cjl/a ()Ljava/lang/String; net/minecraft/client/renderer/EntityRenderer$3/call ()Ljava/lang/String; +MD: cjl/call ()Ljava/lang/Object; net/minecraft/client/renderer/EntityRenderer$3/call ()Ljava/lang/Object; +MD: cjm/A ()V net/minecraft/client/renderer/GlStateManager/func_179133_A ()V +MD: cjm/B ()V net/minecraft/client/renderer/GlStateManager/func_179091_B ()V +MD: cjm/C ()V net/minecraft/client/renderer/GlStateManager/func_179101_C ()V +MD: cjm/D ()V net/minecraft/client/renderer/GlStateManager/func_179096_D ()V +MD: cjm/E ()V net/minecraft/client/renderer/GlStateManager/func_179094_E ()V +MD: cjm/F ()V net/minecraft/client/renderer/GlStateManager/func_179121_F ()V +MD: cjm/G ()V net/minecraft/client/renderer/GlStateManager/func_179117_G ()V +MD: cjm/a ()V net/minecraft/client/renderer/GlStateManager/func_179123_a ()V +MD: cjm/a (D)V net/minecraft/client/renderer/GlStateManager/func_179151_a (D)V +MD: cjm/a (DDD)V net/minecraft/client/renderer/GlStateManager/func_179139_a (DDD)V +MD: cjm/a (DDDDDD)V net/minecraft/client/renderer/GlStateManager/func_179130_a (DDDDDD)V +MD: cjm/a (F)V net/minecraft/client/renderer/GlStateManager/func_179095_a (F)V +MD: cjm/a (FF)V net/minecraft/client/renderer/GlStateManager/func_179136_a (FF)V +MD: cjm/a (FFF)V net/minecraft/client/renderer/GlStateManager/func_179152_a (FFF)V +MD: cjm/a (FFFF)V net/minecraft/client/renderer/GlStateManager/func_179082_a (FFFF)V +MD: cjm/a (I)V net/minecraft/client/renderer/GlStateManager/func_179085_a (I)V +MD: cjm/a (IF)V net/minecraft/client/renderer/GlStateManager/func_179092_a (IF)V +MD: cjm/a (II)V net/minecraft/client/renderer/GlStateManager/func_179104_a (II)V +MD: cjm/a (IIII)V net/minecraft/client/renderer/GlStateManager/func_179120_a (IIII)V +MD: cjm/a (ILjava/nio/FloatBuffer;)V net/minecraft/client/renderer/GlStateManager/func_179111_a (ILjava/nio/FloatBuffer;)V +MD: cjm/a (Lckc;)V net/minecraft/client/renderer/GlStateManager/func_179087_a (Lnet/minecraft/client/renderer/GlStateManager$TexGen;)V +MD: cjm/a (Lckc;I)V net/minecraft/client/renderer/GlStateManager/func_179149_a (Lnet/minecraft/client/renderer/GlStateManager$TexGen;I)V +MD: cjm/a (Lckc;ILjava/nio/FloatBuffer;)V net/minecraft/client/renderer/GlStateManager/func_179105_a (Lnet/minecraft/client/renderer/GlStateManager$TexGen;ILjava/nio/FloatBuffer;)V +MD: cjm/a (Ljava/nio/FloatBuffer;)V net/minecraft/client/renderer/GlStateManager/func_179110_a (Ljava/nio/FloatBuffer;)V +MD: cjm/a (Z)V net/minecraft/client/renderer/GlStateManager/func_179132_a (Z)V +MD: cjm/a (ZZZZ)V net/minecraft/client/renderer/GlStateManager/func_179135_a (ZZZZ)V +MD: cjm/b ()V net/minecraft/client/renderer/GlStateManager/func_179099_b ()V +MD: cjm/b (DDD)V net/minecraft/client/renderer/GlStateManager/func_179137_b (DDD)V +MD: cjm/b (F)V net/minecraft/client/renderer/GlStateManager/func_179102_b (F)V +MD: cjm/b (FFF)V net/minecraft/client/renderer/GlStateManager/func_179109_b (FFF)V +MD: cjm/b (FFFF)V net/minecraft/client/renderer/GlStateManager/func_179114_b (FFFF)V +MD: cjm/b (I)V net/minecraft/client/renderer/GlStateManager/func_179122_b (I)V +MD: cjm/b (II)V net/minecraft/client/renderer/GlStateManager/func_179112_b (II)V +MD: cjm/b (IIII)V net/minecraft/client/renderer/GlStateManager/func_179083_b (IIII)V +MD: cjm/b (Lckc;)V net/minecraft/client/renderer/GlStateManager/func_179100_b (Lnet/minecraft/client/renderer/GlStateManager$TexGen;)V +MD: cjm/c ()V net/minecraft/client/renderer/GlStateManager/func_179118_c ()V +MD: cjm/c (F)V net/minecraft/client/renderer/GlStateManager/func_179153_c (F)V +MD: cjm/c (FFF)V net/minecraft/client/renderer/GlStateManager/func_179124_c (FFF)V +MD: cjm/c (FFFF)V net/minecraft/client/renderer/GlStateManager/func_179131_c (FFFF)V +MD: cjm/c (I)V net/minecraft/client/renderer/GlStateManager/func_179143_c (I)V +MD: cjm/c (Lckc;)Lckd; net/minecraft/client/renderer/GlStateManager/func_179125_c (Lnet/minecraft/client/renderer/GlStateManager$TexGen;)Lnet/minecraft/client/renderer/GlStateManager$TexGenCoord; +MD: cjm/d ()V net/minecraft/client/renderer/GlStateManager/func_179141_d ()V +MD: cjm/d (I)V net/minecraft/client/renderer/GlStateManager/func_179093_d (I)V +MD: cjm/e ()V net/minecraft/client/renderer/GlStateManager/func_179145_e ()V +MD: cjm/e (I)V net/minecraft/client/renderer/GlStateManager/func_179107_e (I)V +MD: cjm/f ()V net/minecraft/client/renderer/GlStateManager/func_179140_f ()V +MD: cjm/f (I)V net/minecraft/client/renderer/GlStateManager/func_179116_f (I)V +MD: cjm/g ()V net/minecraft/client/renderer/GlStateManager/func_179142_g ()V +MD: cjm/g (I)V net/minecraft/client/renderer/GlStateManager/func_179138_g (I)V +MD: cjm/h ()V net/minecraft/client/renderer/GlStateManager/func_179119_h ()V +MD: cjm/h (I)V net/minecraft/client/renderer/GlStateManager/func_179150_h (I)V +MD: cjm/i ()V net/minecraft/client/renderer/GlStateManager/func_179097_i ()V +MD: cjm/i (I)V net/minecraft/client/renderer/GlStateManager/func_179144_i (I)V +MD: cjm/j ()V net/minecraft/client/renderer/GlStateManager/func_179126_j ()V +MD: cjm/j (I)V net/minecraft/client/renderer/GlStateManager/func_179103_j (I)V +MD: cjm/k ()V net/minecraft/client/renderer/GlStateManager/func_179084_k ()V +MD: cjm/l ()V net/minecraft/client/renderer/GlStateManager/func_179147_l ()V +MD: cjm/m ()V net/minecraft/client/renderer/GlStateManager/func_179127_m ()V +MD: cjm/m (I)V net/minecraft/client/renderer/GlStateManager/func_179086_m (I)V +MD: cjm/n ()V net/minecraft/client/renderer/GlStateManager/func_179106_n ()V +MD: cjm/n (I)V net/minecraft/client/renderer/GlStateManager/func_179128_n (I)V +MD: cjm/o ()V net/minecraft/client/renderer/GlStateManager/func_179089_o ()V +MD: cjm/o (I)V net/minecraft/client/renderer/GlStateManager/func_179148_o (I)V +MD: cjm/p ()V net/minecraft/client/renderer/GlStateManager/func_179129_p ()V +MD: cjm/q ()V net/minecraft/client/renderer/GlStateManager/func_179088_q ()V +MD: cjm/r ()V net/minecraft/client/renderer/GlStateManager/func_179113_r ()V +MD: cjm/u ()V net/minecraft/client/renderer/GlStateManager/func_179115_u ()V +MD: cjm/v ()V net/minecraft/client/renderer/GlStateManager/func_179134_v ()V +MD: cjm/w ()V net/minecraft/client/renderer/GlStateManager/func_179098_w ()V +MD: cjm/x ()V net/minecraft/client/renderer/GlStateManager/func_179090_x ()V +MD: cjm/y ()I net/minecraft/client/renderer/GlStateManager/func_179146_y ()I +MD: cjm/z ()V net/minecraft/client/renderer/GlStateManager/func_179108_z ()V +MD: cjq/a ()V net/minecraft/client/renderer/GlStateManager$BooleanState/func_179198_a ()V +MD: cjq/a (Z)V net/minecraft/client/renderer/GlStateManager$BooleanState/func_179199_a (Z)V +MD: cjq/b ()V net/minecraft/client/renderer/GlStateManager$BooleanState/func_179200_b ()V +MD: ck/a ()I net/minecraft/command/server/CommandScoreboard/func_82362_a ()I +MD: ck/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandScoreboard/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: ck/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandScoreboard/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: ck/a (Ljava/lang/String;Z)Lbry; net/minecraft/command/server/CommandScoreboard/func_147189_a (Ljava/lang/String;Z)Lnet/minecraft/scoreboard/ScoreObjective; +MD: ck/a (Z)Ljava/util/List; net/minecraft/command/server/CommandScoreboard/func_147184_a (Z)Ljava/util/List; +MD: ck/b (Lae;[Ljava/lang/String;)Z net/minecraft/command/server/CommandScoreboard/func_175780_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)Z +MD: ck/b (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_147193_c (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/b ([Ljava/lang/String;I)Z net/minecraft/command/server/CommandScoreboard/func_82358_a ([Ljava/lang/String;I)Z +MD: ck/c ()Ljava/lang/String; net/minecraft/command/server/CommandScoreboard/func_71517_b ()Ljava/lang/String; +MD: ck/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandScoreboard/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: ck/c (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_147185_d (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/d ()Lbsd; net/minecraft/command/server/CommandScoreboard/func_147192_d ()Lnet/minecraft/scoreboard/Scoreboard; +MD: ck/d (Lae;)V net/minecraft/command/server/CommandScoreboard/func_147196_d (Lnet/minecraft/command/ICommandSender;)V +MD: ck/d (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_147200_e (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/e ()Ljava/util/List; net/minecraft/command/server/CommandScoreboard/func_175782_e ()Ljava/util/List; +MD: ck/e (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_147194_f (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/e (Ljava/lang/String;)Lbrz; net/minecraft/command/server/CommandScoreboard/func_147183_a (Ljava/lang/String;)Lnet/minecraft/scoreboard/ScorePlayerTeam; +MD: ck/f (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_147186_g (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/g (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_147190_h (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/h (Lae;Ljava/lang/String;)V net/minecraft/command/server/CommandScoreboard/func_147191_h (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)V +MD: ck/h (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_147199_i (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/i (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_147188_j (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/j (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_147198_k (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/k (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_147195_l (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/l (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_147197_m (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/m (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_147187_n (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/n (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_175779_n (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/o (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_175781_o (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ck/p (Lae;[Ljava/lang/String;I)V net/minecraft/command/server/CommandScoreboard/func_175778_p (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)V +MD: ckc/values ()[Lckc; net/minecraft/client/renderer/GlStateManager$TexGen/values ()[Lnet/minecraft/client/renderer/GlStateManager$TexGen; +MD: ckh/a ()V net/minecraft/client/renderer/IImageBuffer/func_152634_a ()V +MD: ckh/a (Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage; net/minecraft/client/renderer/IImageBuffer/func_78432_a (Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage; +MD: cki/a ()V net/minecraft/client/renderer/ItemRenderer/func_78441_a ()V +MD: cki/a (F)V net/minecraft/client/renderer/ItemRenderer/func_78440_a (F)V +MD: cki/a (FF)V net/minecraft/client/renderer/ItemRenderer/func_178101_a (FF)V +MD: cki/a (FLcil;)V net/minecraft/client/renderer/ItemRenderer/func_178098_a (FLnet/minecraft/client/entity/AbstractClientPlayer;)V +MD: cki/a (FLcue;)V net/minecraft/client/renderer/ItemRenderer/func_178108_a (FLnet/minecraft/client/renderer/texture/TextureAtlasSprite;)V +MD: cki/a (Latr;)Z net/minecraft/client/renderer/ItemRenderer/func_178107_a (Lnet/minecraft/block/Block;)Z +MD: cki/a (Lcil;)V net/minecraft/client/renderer/ItemRenderer/func_178109_a (Lnet/minecraft/client/entity/AbstractClientPlayer;)V +MD: cki/a (Lcil;F)V net/minecraft/client/renderer/ItemRenderer/func_178104_a (Lnet/minecraft/client/entity/AbstractClientPlayer;F)V +MD: cki/a (Lcil;FF)V net/minecraft/client/renderer/ItemRenderer/func_178095_a (Lnet/minecraft/client/entity/AbstractClientPlayer;FF)V +MD: cki/a (Lcil;FFF)V net/minecraft/client/renderer/ItemRenderer/func_178097_a (Lnet/minecraft/client/entity/AbstractClientPlayer;FFF)V +MD: cki/a (Lcio;F)V net/minecraft/client/renderer/ItemRenderer/func_178110_a (Lnet/minecraft/client/entity/EntityPlayerSP;F)V +MD: cki/a (Lctc;)V net/minecraft/client/renderer/ItemRenderer/func_180534_a (Lnet/minecraft/client/renderer/entity/RenderPlayer;)V +MD: cki/a (Lxm;Lamj;Lcmz;)V net/minecraft/client/renderer/ItemRenderer/func_178099_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType;)V +MD: cki/b ()V net/minecraft/client/renderer/ItemRenderer/func_78444_b ()V +MD: cki/b (F)V net/minecraft/client/renderer/ItemRenderer/func_78447_b (F)V +MD: cki/b (FF)V net/minecraft/client/renderer/ItemRenderer/func_178096_b (FF)V +MD: cki/b (Lcil;)V net/minecraft/client/renderer/ItemRenderer/func_178102_b (Lnet/minecraft/client/entity/AbstractClientPlayer;)V +MD: cki/b (Lctc;)V net/minecraft/client/renderer/ItemRenderer/func_178106_b (Lnet/minecraft/client/renderer/entity/RenderPlayer;)V +MD: cki/c ()V net/minecraft/client/renderer/ItemRenderer/func_78445_c ()V +MD: cki/c (F)F net/minecraft/client/renderer/ItemRenderer/func_178100_c (F)F +MD: cki/d ()V net/minecraft/client/renderer/ItemRenderer/func_178103_d ()V +MD: cki/d (F)V net/minecraft/client/renderer/ItemRenderer/func_178105_d (F)V +MD: cki/e (F)V net/minecraft/client/renderer/ItemRenderer/func_78448_c (F)V +MD: cki/f (F)V net/minecraft/client/renderer/ItemRenderer/func_78442_d (F)V +MD: ckk/a ()Lcxk; net/minecraft/client/renderer/ItemModelMesher/func_178083_a ()Lnet/minecraft/client/resources/model/ModelManager; +MD: ckk/a (Lalq;)Lcue; net/minecraft/client/renderer/ItemModelMesher/func_178082_a (Lnet/minecraft/item/Item;)Lnet/minecraft/client/renderer/texture/TextureAtlasSprite; +MD: ckk/a (Lalq;I)Lcue; net/minecraft/client/renderer/ItemModelMesher/func_178087_a (Lnet/minecraft/item/Item;I)Lnet/minecraft/client/renderer/texture/TextureAtlasSprite; +MD: ckk/a (Lalq;ILcxl;)V net/minecraft/client/renderer/ItemModelMesher/func_178086_a (Lnet/minecraft/item/Item;ILnet/minecraft/client/resources/model/ModelResourceLocation;)V +MD: ckk/a (Lalq;Lckl;)V net/minecraft/client/renderer/ItemModelMesher/func_178080_a (Lnet/minecraft/item/Item;Lnet/minecraft/client/renderer/ItemMeshDefinition;)V +MD: ckk/a (Lamj;)Lcxe; net/minecraft/client/renderer/ItemModelMesher/func_178089_a (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/client/resources/model/IBakedModel; +MD: ckk/b ()V net/minecraft/client/renderer/ItemModelMesher/func_178085_b ()V +MD: ckk/b (Lalq;I)Lcxe; net/minecraft/client/renderer/ItemModelMesher/func_178088_b (Lnet/minecraft/item/Item;I)Lnet/minecraft/client/resources/model/IBakedModel; +MD: ckk/b (Lamj;)I net/minecraft/client/renderer/ItemModelMesher/func_178084_b (Lnet/minecraft/item/ItemStack;)I +MD: ckk/c (Lalq;I)I net/minecraft/client/renderer/ItemModelMesher/func_178081_c (Lnet/minecraft/item/Item;I)I +MD: ckl/a (Lamj;)Lcxl; net/minecraft/client/renderer/ItemMeshDefinition/func_178113_a (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: ckn/a ()V net/minecraft/client/renderer/RenderGlobal/func_72712_a ()V +MD: ckn/a (DDD)V net/minecraft/client/renderer/RenderGlobal/func_174984_a (DDD)V +MD: ckn/a (DDDF)Z net/minecraft/client/renderer/RenderGlobal/func_72721_a (DDDF)Z +MD: ckn/a (FI)V net/minecraft/client/renderer/RenderGlobal/func_174976_a (FI)V +MD: ckn/a (II)V net/minecraft/client/renderer/RenderGlobal/func_72720_a (II)V +MD: ckn/a (IIIIII)V net/minecraft/client/renderer/RenderGlobal/func_147585_a (IIIIII)V +MD: ckn/a (ILdt;I)V net/minecraft/client/renderer/RenderGlobal/func_180440_a (ILnet/minecraft/util/BlockPos;I)V +MD: ckn/a (IZDDDDDD[I)V net/minecraft/client/renderer/RenderGlobal/func_180442_a (IZDDDDDD[I)V +MD: ckn/a (J)V net/minecraft/client/renderer/RenderGlobal/func_174967_a (J)V +MD: ckn/a (Lahd;ILdt;I)V net/minecraft/client/renderer/RenderGlobal/func_180439_a (Lnet/minecraft/entity/player/EntityPlayer;ILnet/minecraft/util/BlockPos;I)V +MD: ckn/a (Lahd;Lbru;IF)V net/minecraft/client/renderer/RenderGlobal/func_72731_b (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/MovingObjectPosition;IF)V +MD: ckn/a (Lahd;Ljava/lang/String;DDDFF)V net/minecraft/client/renderer/RenderGlobal/func_85102_a (Lnet/minecraft/entity/player/EntityPlayer;Ljava/lang/String;DDDFF)V +MD: ckn/a (Laql;)V net/minecraft/client/renderer/RenderGlobal/func_174982_a (Lnet/minecraft/util/EnumWorldBlockLayer;)V +MD: ckn/a (Laql;DILwv;)I net/minecraft/client/renderer/RenderGlobal/func_174977_a (Lnet/minecraft/util/EnumWorldBlockLayer;DILnet/minecraft/entity/Entity;)I +MD: ckn/a (Lbrt;I)V net/minecraft/client/renderer/RenderGlobal/func_147590_a (Lnet/minecraft/util/AxisAlignedBB;I)V +MD: ckn/a (Lcen;)V net/minecraft/client/renderer/RenderGlobal/func_72732_a (Lnet/minecraft/client/multiplayer/WorldClient;)V +MD: ckn/a (Lciv;)V net/minecraft/client/renderer/RenderGlobal/func_180444_a (Lnet/minecraft/client/renderer/WorldRenderer;)V +MD: ckn/a (Lciv;FZ)V net/minecraft/client/renderer/RenderGlobal/func_174968_a (Lnet/minecraft/client/renderer/WorldRenderer;FZ)V +MD: ckn/a (Lckx;Lciv;Lwv;F)V net/minecraft/client/renderer/RenderGlobal/func_174981_a (Lnet/minecraft/client/renderer/Tessellator;Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/entity/Entity;F)V +MD: ckn/a (Lcvk;)V net/minecraft/client/renderer/RenderGlobal/func_110549_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: ckn/a (Ldt;)V net/minecraft/client/renderer/RenderGlobal/func_174960_a (Lnet/minecraft/util/BlockPos;)V +MD: ckn/a (Ldt;Lcop;)Z net/minecraft/client/renderer/RenderGlobal/func_174983_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/client/renderer/chunk/RenderChunk;)Z +MD: ckn/a (Ldt;Ldt;Lej;)Lcop; net/minecraft/client/renderer/RenderGlobal/func_174973_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)Lnet/minecraft/client/renderer/chunk/RenderChunk; +MD: ckn/a (Lew;DDDDDD[I)V net/minecraft/client/renderer/RenderGlobal/func_174972_a (Lnet/minecraft/util/EnumParticleTypes;DDDDDD[I)V +MD: ckn/a (Ljava/lang/String;DDDFF)V net/minecraft/client/renderer/RenderGlobal/func_72704_a (Ljava/lang/String;DDDFF)V +MD: ckn/a (Ljava/lang/String;Ldt;)V net/minecraft/client/renderer/RenderGlobal/func_174961_a (Ljava/lang/String;Lnet/minecraft/util/BlockPos;)V +MD: ckn/a (Ljava/util/Iterator;)V net/minecraft/client/renderer/RenderGlobal/func_174965_a (Ljava/util/Iterator;)V +MD: ckn/a (Lwv;)V net/minecraft/client/renderer/RenderGlobal/func_72703_a (Lnet/minecraft/entity/Entity;)V +MD: ckn/a (Lwv;D)Ljavax/vecmath/Vector3f; net/minecraft/client/renderer/RenderGlobal/func_174962_a (Lnet/minecraft/entity/Entity;D)Ljavax/vecmath/Vector3f; +MD: ckn/a (Lwv;DLcox;IZ)V net/minecraft/client/renderer/RenderGlobal/func_174970_a (Lnet/minecraft/entity/Entity;DLnet/minecraft/client/renderer/culling/ICamera;IZ)V +MD: ckn/a (Lwv;F)V net/minecraft/client/renderer/RenderGlobal/func_180449_a (Lnet/minecraft/entity/Entity;F)V +MD: ckn/a (Lwv;Lcox;F)V net/minecraft/client/renderer/RenderGlobal/func_180446_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/client/renderer/culling/ICamera;F)V +MD: ckn/b ()V net/minecraft/client/renderer/RenderGlobal/func_174966_b ()V +MD: ckn/b (FI)V net/minecraft/client/renderer/RenderGlobal/func_180447_b (FI)V +MD: ckn/b (IIIIII)V net/minecraft/client/renderer/RenderGlobal/func_72725_b (IIIIII)V +MD: ckn/b (ILdt;I)V net/minecraft/client/renderer/RenderGlobal/func_180441_b (ILnet/minecraft/util/BlockPos;I)V +MD: ckn/b (IZDDDDDD[I)Lcgw; net/minecraft/client/renderer/RenderGlobal/func_174974_b (IZDDDDDD[I)Lnet/minecraft/client/particle/EntityFX; +MD: ckn/b (Ldt;)V net/minecraft/client/renderer/RenderGlobal/func_174959_b (Lnet/minecraft/util/BlockPos;)V +MD: ckn/b (Lwv;)V net/minecraft/client/renderer/RenderGlobal/func_72709_b (Lnet/minecraft/entity/Entity;)V +MD: ckn/c ()V net/minecraft/client/renderer/RenderGlobal/func_174975_c ()V +MD: ckn/c (FI)V net/minecraft/client/renderer/RenderGlobal/func_180445_c (FI)V +MD: ckn/c (Ldt;)Ljava/util/Set; net/minecraft/client/renderer/RenderGlobal/func_174978_c (Lnet/minecraft/util/BlockPos;)Ljava/util/Set; +MD: ckn/d ()Z net/minecraft/client/renderer/RenderGlobal/func_174985_d ()Z +MD: ckn/e ()V net/minecraft/client/renderer/RenderGlobal/func_174986_e ()V +MD: ckn/f ()Ljava/lang/String; net/minecraft/client/renderer/RenderGlobal/func_72735_c ()Ljava/lang/String; +MD: ckn/g ()Ljava/lang/String; net/minecraft/client/renderer/RenderGlobal/func_72723_d ()Ljava/lang/String; +MD: ckn/j ()V net/minecraft/client/renderer/RenderGlobal/func_72734_e ()V +MD: ckn/k ()V net/minecraft/client/renderer/RenderGlobal/func_72728_f ()V +MD: ckn/m ()V net/minecraft/client/renderer/RenderGlobal/func_174979_m ()V +MD: ckn/n ()V net/minecraft/client/renderer/RenderGlobal/func_174971_n ()V +MD: ckn/o ()V net/minecraft/client/renderer/RenderGlobal/func_174964_o ()V +MD: ckn/p ()V net/minecraft/client/renderer/RenderGlobal/func_174980_p ()V +MD: ckn/q ()V net/minecraft/client/renderer/RenderGlobal/func_174963_q ()V +MD: ckn/r ()V net/minecraft/client/renderer/RenderGlobal/func_180448_r ()V +MD: ckn/s ()V net/minecraft/client/renderer/RenderGlobal/func_180443_s ()V +MD: ckn/t ()V net/minecraft/client/renderer/RenderGlobal/func_174969_t ()V +MD: cko/a ()Ljava/lang/String; net/minecraft/client/renderer/RenderGlobal$1/call ()Ljava/lang/String; +MD: cko/call ()Ljava/lang/Object; net/minecraft/client/renderer/RenderGlobal$1/call ()Ljava/lang/Object; +MD: ckr/a ()V net/minecraft/client/renderer/ImageBufferDownload/func_152634_a ()V +MD: ckr/a (IIII)V net/minecraft/client/renderer/ImageBufferDownload/func_78434_a (IIII)V +MD: ckr/a (Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage; net/minecraft/client/renderer/ImageBufferDownload/func_78432_a (Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage; +MD: ckr/b (IIII)V net/minecraft/client/renderer/ImageBufferDownload/func_78433_b (IIII)V +MD: ckr/c (IIII)Z net/minecraft/client/renderer/ImageBufferDownload/func_78435_c (IIII)Z +MD: cks/a (Laql;)V net/minecraft/client/renderer/RenderList/func_178001_a (Lnet/minecraft/util/EnumWorldBlockLayer;)V +MD: ckt/a (Ljava/lang/Integer;Ljava/lang/Integer;)I net/minecraft/client/util/QuadComparator/compare (Ljava/lang/Integer;Ljava/lang/Integer;)I +MD: ckt/compare (Ljava/lang/Object;Ljava/lang/Object;)I net/minecraft/client/util/QuadComparator/compare (Ljava/lang/Object;Ljava/lang/Object;)I +MD: ckw/a ()V net/minecraft/client/shader/Framebuffer/func_147608_a ()V +MD: ckw/a (FFFF)V net/minecraft/client/shader/Framebuffer/func_147604_a (FFFF)V +MD: ckw/a (I)V net/minecraft/client/shader/Framebuffer/func_147607_a (I)V +MD: ckw/a (II)V net/minecraft/client/shader/Framebuffer/func_147613_a (II)V +MD: ckw/a (IIZ)V net/minecraft/client/shader/Framebuffer/func_178038_a (IIZ)V +MD: ckw/a (Z)V net/minecraft/client/shader/Framebuffer/func_147610_a (Z)V +MD: ckw/b ()V net/minecraft/client/shader/Framebuffer/func_147611_b ()V +MD: ckw/b (II)V net/minecraft/client/shader/Framebuffer/func_147605_b (II)V +MD: ckw/c ()V net/minecraft/client/shader/Framebuffer/func_147612_c ()V +MD: ckw/c (II)V net/minecraft/client/shader/Framebuffer/func_147615_c (II)V +MD: ckw/d ()V net/minecraft/client/shader/Framebuffer/func_147606_d ()V +MD: ckw/e ()V net/minecraft/client/shader/Framebuffer/func_147609_e ()V +MD: ckw/f ()V net/minecraft/client/shader/Framebuffer/func_147614_f ()V +MD: ckx/a ()Lckx; net/minecraft/client/renderer/Tessellator/func_178181_a ()Lnet/minecraft/client/renderer/Tessellator; +MD: ckx/b ()I net/minecraft/client/renderer/Tessellator/func_78381_a ()I +MD: ckx/c ()Lciv; net/minecraft/client/renderer/Tessellator/func_178180_c ()Lnet/minecraft/client/renderer/WorldRenderer; +MD: cky/a ()V net/minecraft/client/renderer/VboRenderList/func_178010_a ()V +MD: cky/a (Laql;)V net/minecraft/client/renderer/VboRenderList/func_178001_a (Lnet/minecraft/util/EnumWorldBlockLayer;)V +MD: ckz/a (Lciv;I)I net/minecraft/client/renderer/VertexBufferUploader/func_178177_a (Lnet/minecraft/client/renderer/WorldRenderer;I)I +MD: ckz/a (Lcur;)V net/minecraft/client/renderer/VertexBufferUploader/func_178178_a (Lnet/minecraft/client/renderer/vertex/VertexBuffer;)V +MD: cl/a (Lae;Lac;ILjava/lang/String;[Ljava/lang/Object;)V net/minecraft/command/ServerCommandManager/func_152372_a (Lnet/minecraft/command/ICommandSender;Lnet/minecraft/command/ICommand;ILjava/lang/String;[Ljava/lang/Object;)V +MD: cla/a ()V net/minecraft/client/renderer/ViewFrustum/func_178160_a ()V +MD: cla/a (DD)V net/minecraft/client/renderer/ViewFrustum/func_178163_a (DD)V +MD: cla/a (I)V net/minecraft/client/renderer/ViewFrustum/func_178159_a (I)V +MD: cla/a (III)I net/minecraft/client/renderer/ViewFrustum/func_178157_a (III)I +MD: cla/a (IIIIII)V net/minecraft/client/renderer/ViewFrustum/func_178162_a (IIIIII)V +MD: cla/a (Lcoq;)V net/minecraft/client/renderer/ViewFrustum/func_178158_a (Lnet/minecraft/client/renderer/chunk/IRenderChunkFactory;)V +MD: cla/a (Ldt;)Lcop; net/minecraft/client/renderer/ViewFrustum/func_178161_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/client/renderer/chunk/RenderChunk; +MD: clb/a (Latr;F)V net/minecraft/client/renderer/ChestRenderer/func_178175_a (Lnet/minecraft/block/Block;F)V +MD: clc/a ()Lcnd; net/minecraft/client/renderer/BlockModelShapes/func_178120_a ()Lnet/minecraft/client/renderer/block/statemap/BlockStateMapper; +MD: clc/a (Latr;Lcni;)V net/minecraft/client/renderer/BlockModelShapes/func_178121_a (Lnet/minecraft/block/Block;Lnet/minecraft/client/renderer/block/statemap/IStateMapper;)V +MD: clc/a (Lbec;)Lcue; net/minecraft/client/renderer/BlockModelShapes/func_178122_a (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/client/renderer/texture/TextureAtlasSprite; +MD: clc/a ([Latr;)V net/minecraft/client/renderer/BlockModelShapes/func_178123_a ([Lnet/minecraft/block/Block;)V +MD: clc/b ()Lcxk; net/minecraft/client/renderer/BlockModelShapes/func_178126_b ()Lnet/minecraft/client/resources/model/ModelManager; +MD: clc/b (Lbec;)Lcxe; net/minecraft/client/renderer/BlockModelShapes/func_178125_b (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/client/resources/model/IBakedModel; +MD: clc/c ()V net/minecraft/client/renderer/BlockModelShapes/func_178124_c ()V +MD: clc/d ()V net/minecraft/client/renderer/BlockModelShapes/func_178119_d ()V +MD: cld/a (Lbec;)Lcxl; net/minecraft/client/renderer/BlockModelShapes$1/func_178132_a (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: cle/a (Lbec;)Lcxl; net/minecraft/client/renderer/BlockModelShapes$2/func_178132_a (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: clf/a (Lbec;)Lcxl; net/minecraft/client/renderer/BlockModelShapes$3/func_178132_a (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: clg/a (Lbec;)Lcxl; net/minecraft/client/renderer/BlockModelShapes$4/func_178132_a (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: clh/a (Lbec;)Lcxl; net/minecraft/client/renderer/BlockModelShapes$5/func_178132_a (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: cli/a (Lbec;)Lcxl; net/minecraft/client/renderer/BlockModelShapes$6/func_178132_a (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: clj/a (Lbec;)Lcxl; net/minecraft/client/renderer/BlockModelShapes$7/func_178132_a (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: cll/a ()Lclc; net/minecraft/client/renderer/BlockRendererDispatcher/func_175023_a ()Lnet/minecraft/client/renderer/BlockModelShapes; +MD: cll/a (Latr;I)Z net/minecraft/client/renderer/BlockRendererDispatcher/func_175021_a (Lnet/minecraft/block/Block;I)Z +MD: cll/a (Lbec;F)V net/minecraft/client/renderer/BlockRendererDispatcher/func_175016_a (Lnet/minecraft/block/state/IBlockState;F)V +MD: cll/a (Lbec;Lard;Ldt;)Lcxe; net/minecraft/client/renderer/BlockRendererDispatcher/func_175022_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/client/resources/model/IBakedModel; +MD: cll/a (Lbec;Ldt;)Lcxe; net/minecraft/client/renderer/BlockRendererDispatcher/func_175017_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/client/resources/model/IBakedModel; +MD: cll/a (Lbec;Ldt;Lard;Lciv;)Z net/minecraft/client/renderer/BlockRendererDispatcher/func_175018_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/BlockPos;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/client/renderer/WorldRenderer;)Z +MD: cll/a (Lbec;Ldt;Lcue;Lard;)V net/minecraft/client/renderer/BlockRendererDispatcher/func_175020_a (Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/BlockPos;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;Lnet/minecraft/world/IBlockAccess;)V +MD: cll/a (Lcvk;)V net/minecraft/client/renderer/BlockRendererDispatcher/func_110549_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: cll/b ()Lcln; net/minecraft/client/renderer/BlockRendererDispatcher/func_175019_b ()Lnet/minecraft/client/renderer/BlockModelRenderer; +MD: clm/a ()V net/minecraft/client/renderer/BlockFluidRenderer/func_178268_a ()V +MD: clm/a (Lard;Lbec;Ldt;Lciv;)Z net/minecraft/client/renderer/BlockFluidRenderer/func_178270_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/BlockPos;Lnet/minecraft/client/renderer/WorldRenderer;)Z +MD: clm/a (Lard;Ldt;Lbof;)F net/minecraft/client/renderer/BlockFluidRenderer/func_178269_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/material/Material;)F +MD: cln/a (FFFFLjava/util/List;)V net/minecraft/client/renderer/BlockModelRenderer/func_178264_a (FFFFLjava/util/List;)V +MD: cln/a (Lard;Latr;Ldt;Lciv;Ljava/util/List;[FLjava/util/BitSet;Lclq;)V net/minecraft/client/renderer/BlockModelRenderer/func_178263_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;Lnet/minecraft/client/renderer/WorldRenderer;Ljava/util/List;[FLjava/util/BitSet;Lnet/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace;)V +MD: cln/a (Lard;Latr;Ldt;Lej;IZLciv;Ljava/util/List;Ljava/util/BitSet;)V net/minecraft/client/renderer/BlockModelRenderer/func_178260_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;IZLnet/minecraft/client/renderer/WorldRenderer;Ljava/util/List;Ljava/util/BitSet;)V +MD: cln/a (Lard;Lcxe;Latr;Ldt;Lciv;Z)Z net/minecraft/client/renderer/BlockModelRenderer/func_178265_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/client/resources/model/IBakedModel;Lnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;Lnet/minecraft/client/renderer/WorldRenderer;Z)Z +MD: cln/a (Lard;Lcxe;Lbec;Ldt;Lciv;)Z net/minecraft/client/renderer/BlockModelRenderer/func_178259_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/client/resources/model/IBakedModel;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/BlockPos;Lnet/minecraft/client/renderer/WorldRenderer;)Z +MD: cln/a (Lard;Lcxe;Lbec;Ldt;Lciv;Z)Z net/minecraft/client/renderer/BlockModelRenderer/func_178267_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/client/resources/model/IBakedModel;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/util/BlockPos;Lnet/minecraft/client/renderer/WorldRenderer;Z)Z +MD: cln/a (Latr;[ILej;[FLjava/util/BitSet;)V net/minecraft/client/renderer/BlockModelRenderer/func_178261_a (Lnet/minecraft/block/Block;[ILnet/minecraft/util/EnumFacing;[FLjava/util/BitSet;)V +MD: cln/a (Lcxe;FFFF)V net/minecraft/client/renderer/BlockModelRenderer/func_178262_a (Lnet/minecraft/client/resources/model/IBakedModel;FFFF)V +MD: cln/a (Lcxe;Lbec;FZ)V net/minecraft/client/renderer/BlockModelRenderer/func_178266_a (Lnet/minecraft/client/resources/model/IBakedModel;Lnet/minecraft/block/state/IBlockState;FZ)V +MD: cln/b (Lard;Lcxe;Latr;Ldt;Lciv;Z)Z net/minecraft/client/renderer/BlockModelRenderer/func_178258_b (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/client/resources/model/IBakedModel;Lnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;Lnet/minecraft/client/renderer/WorldRenderer;Z)Z +MD: clp/a (Lej;)Lclp; net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/func_178273_a (Lnet/minecraft/util/EnumFacing;)Lnet/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo; +MD: clp/values ()[Lclp; net/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo/values ()[Lnet/minecraft/client/renderer/BlockModelRenderer$EnumNeighborInfo; +MD: clq/a (IIII)I net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace/func_147778_a (IIII)I +MD: clq/a (IIIIFFFF)I net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace/func_178203_a (IIIIFFFF)I +MD: clq/a (Lard;Latr;Ldt;Lej;[FLjava/util/BitSet;)V net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace/func_178204_a (Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;[FLjava/util/BitSet;)V +MD: clq/a (Lclq;)[I net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace/access$000 (Lnet/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace;)[I +MD: clq/b (Lclq;)[F net/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace/access$100 (Lnet/minecraft/client/renderer/BlockModelRenderer$AmbientOcclusionFace;)[F +MD: clr/a (Lclr;)I net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/access$200 (Lnet/minecraft/client/renderer/BlockModelRenderer$VertexTranslations;)I +MD: clr/a (Lej;)Lclr; net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/func_178184_a (Lnet/minecraft/util/EnumFacing;)Lnet/minecraft/client/renderer/BlockModelRenderer$VertexTranslations; +MD: clr/b (Lclr;)I net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/access$300 (Lnet/minecraft/client/renderer/BlockModelRenderer$VertexTranslations;)I +MD: clr/c (Lclr;)I net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/access$400 (Lnet/minecraft/client/renderer/BlockModelRenderer$VertexTranslations;)I +MD: clr/d (Lclr;)I net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/access$500 (Lnet/minecraft/client/renderer/BlockModelRenderer$VertexTranslations;)I +MD: clr/values ()[Lclr; net/minecraft/client/renderer/BlockModelRenderer$VertexTranslations/values ()[Lnet/minecraft/client/renderer/BlockModelRenderer$VertexTranslations; +MD: cls/values ()[Lcls; net/minecraft/client/renderer/BlockModelRenderer$Orientation/values ()[Lnet/minecraft/client/renderer/BlockModelRenderer$Orientation; +MD: clt/a ()[I net/minecraft/client/renderer/block/model/BakedQuad/func_178209_a ()[I +MD: clt/b ()Z net/minecraft/client/renderer/block/model/BakedQuad/func_178212_b ()Z +MD: clt/c ()I net/minecraft/client/renderer/block/model/BakedQuad/func_178211_c ()I +MD: clt/d ()Lej; net/minecraft/client/renderer/block/model/BakedQuad/func_178210_d ()Lnet/minecraft/util/EnumFacing; +MD: clu/a ()V net/minecraft/client/renderer/block/model/BlockPart/func_178235_a ()V +MD: clu/a (Lej;)[F net/minecraft/client/renderer/block/model/BlockPart/func_178236_a (Lnet/minecraft/util/EnumFacing;)[F +MD: clw/a (Lcom/google/gson/JsonDeserializationContext;Lcom/google/gson/JsonObject;)Ljava/util/Map; net/minecraft/client/renderer/block/model/BlockPart$Deserializer/func_178250_a (Lcom/google/gson/JsonDeserializationContext;Lcom/google/gson/JsonObject;)Ljava/util/Map; +MD: clw/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lclu; net/minecraft/client/renderer/block/model/BlockPart$Deserializer/func_178254_a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/renderer/block/model/BlockPart; +MD: clw/a (Lcom/google/gson/JsonObject;)Lclz; net/minecraft/client/renderer/block/model/BlockPart$Deserializer/func_178256_a (Lcom/google/gson/JsonObject;)Lnet/minecraft/client/renderer/block/model/BlockPartRotation; +MD: clw/a (Lcom/google/gson/JsonObject;Ljava/lang/String;)Ljavax/vecmath/Vector3f; net/minecraft/client/renderer/block/model/BlockPart$Deserializer/func_178251_a (Lcom/google/gson/JsonObject;Ljava/lang/String;)Ljavax/vecmath/Vector3f; +MD: clw/a (Ljava/lang/String;)Lej; net/minecraft/client/renderer/block/model/BlockPart$Deserializer/func_178248_a (Ljava/lang/String;)Lnet/minecraft/util/EnumFacing; +MD: clw/b (Lcom/google/gson/JsonDeserializationContext;Lcom/google/gson/JsonObject;)Ljava/util/Map; net/minecraft/client/renderer/block/model/BlockPart$Deserializer/func_178253_b (Lcom/google/gson/JsonDeserializationContext;Lcom/google/gson/JsonObject;)Ljava/util/Map; +MD: clw/b (Lcom/google/gson/JsonObject;)F net/minecraft/client/renderer/block/model/BlockPart$Deserializer/func_178255_b (Lcom/google/gson/JsonObject;)F +MD: clw/c (Lcom/google/gson/JsonObject;)Lel; net/minecraft/client/renderer/block/model/BlockPart$Deserializer/func_178252_c (Lcom/google/gson/JsonObject;)Lnet/minecraft/util/EnumFacing$Axis; +MD: clw/d (Lcom/google/gson/JsonObject;)Ljavax/vecmath/Vector3f; net/minecraft/client/renderer/block/model/BlockPart$Deserializer/func_178247_d (Lcom/google/gson/JsonObject;)Ljavax/vecmath/Vector3f; +MD: clw/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/renderer/block/model/BlockPart$Deserializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: clw/e (Lcom/google/gson/JsonObject;)Ljavax/vecmath/Vector3f; net/minecraft/client/renderer/block/model/BlockPart$Deserializer/func_178249_e (Lcom/google/gson/JsonObject;)Ljavax/vecmath/Vector3f; +MD: cly/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lclx; net/minecraft/client/renderer/block/model/BlockPartFace$Deserializer/func_178338_a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/renderer/block/model/BlockPartFace; +MD: cly/a (Lcom/google/gson/JsonObject;)I net/minecraft/client/renderer/block/model/BlockPartFace$Deserializer/func_178337_a (Lcom/google/gson/JsonObject;)I +MD: cly/b (Lcom/google/gson/JsonObject;)Ljava/lang/String; net/minecraft/client/renderer/block/model/BlockPartFace$Deserializer/func_178340_b (Lcom/google/gson/JsonObject;)Ljava/lang/String; +MD: cly/c (Lcom/google/gson/JsonObject;)Lej; net/minecraft/client/renderer/block/model/BlockPartFace$Deserializer/func_178339_c (Lcom/google/gson/JsonObject;)Lnet/minecraft/util/EnumFacing; +MD: cly/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/renderer/block/model/BlockPartFace$Deserializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: cm/a ()I net/minecraft/command/server/CommandSetBlock/func_82362_a ()I +MD: cm/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandSetBlock/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cm/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandSetBlock/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: cm/c ()Ljava/lang/String; net/minecraft/command/server/CommandSetBlock/func_71517_b ()Ljava/lang/String; +MD: cm/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandSetBlock/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cma/a (I)F net/minecraft/client/renderer/block/model/BlockFaceUV/func_178348_a (I)F +MD: cma/a ([F)V net/minecraft/client/renderer/block/model/BlockFaceUV/func_178349_a ([F)V +MD: cma/b (I)F net/minecraft/client/renderer/block/model/BlockFaceUV/func_178346_b (I)F +MD: cma/c (I)I net/minecraft/client/renderer/block/model/BlockFaceUV/func_178345_c (I)I +MD: cma/d (I)I net/minecraft/client/renderer/block/model/BlockFaceUV/func_178347_d (I)I +MD: cmb/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lcma; net/minecraft/client/renderer/block/model/BlockFaceUV$Deserializer/func_178293_a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/renderer/block/model/BlockFaceUV; +MD: cmb/a (Lcom/google/gson/JsonObject;)I net/minecraft/client/renderer/block/model/BlockFaceUV$Deserializer/func_178291_a (Lcom/google/gson/JsonObject;)I +MD: cmb/b (Lcom/google/gson/JsonObject;)[F net/minecraft/client/renderer/block/model/BlockFaceUV$Deserializer/func_178292_b (Lcom/google/gson/JsonObject;)[F +MD: cmb/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/renderer/block/model/BlockFaceUV$Deserializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: cmc/a ()Ljava/util/List; net/minecraft/client/renderer/block/model/ModelBlock/func_178298_a ()Ljava/util/List; +MD: cmc/a (Ljava/io/Reader;)Lcmc; net/minecraft/client/renderer/block/model/ModelBlock/func_178307_a (Ljava/io/Reader;)Lnet/minecraft/client/renderer/block/model/ModelBlock; +MD: cmc/a (Ljava/lang/String;)Lcmc; net/minecraft/client/renderer/block/model/ModelBlock/func_178294_a (Ljava/lang/String;)Lnet/minecraft/client/renderer/block/model/ModelBlock; +MD: cmc/a (Ljava/lang/String;Lcme;)Ljava/lang/String; net/minecraft/client/renderer/block/model/ModelBlock/func_178302_a (Ljava/lang/String;Lnet/minecraft/client/renderer/block/model/ModelBlock$Bookkeep;)Ljava/lang/String; +MD: cmc/a (Ljava/util/Map;)V net/minecraft/client/renderer/block/model/ModelBlock/func_178299_a (Ljava/util/Map;)V +MD: cmc/b ()Z net/minecraft/client/renderer/block/model/ModelBlock/func_178309_b ()Z +MD: cmc/b (Ljava/lang/String;)Z net/minecraft/client/renderer/block/model/ModelBlock/func_178300_b (Ljava/lang/String;)Z +MD: cmc/b (Ljava/util/Map;)V net/minecraft/client/renderer/block/model/ModelBlock/func_178312_b (Ljava/util/Map;)V +MD: cmc/c ()Z net/minecraft/client/renderer/block/model/ModelBlock/func_178311_c ()Z +MD: cmc/c (Ljava/lang/String;)Ljava/lang/String; net/minecraft/client/renderer/block/model/ModelBlock/func_178308_c (Ljava/lang/String;)Ljava/lang/String; +MD: cmc/d ()Z net/minecraft/client/renderer/block/model/ModelBlock/func_178303_d ()Z +MD: cmc/d (Ljava/lang/String;)Z net/minecraft/client/renderer/block/model/ModelBlock/func_178304_d (Ljava/lang/String;)Z +MD: cmc/e ()Loa; net/minecraft/client/renderer/block/model/ModelBlock/func_178305_e ()Lnet/minecraft/util/ResourceLocation; +MD: cmc/f ()Lcmc; net/minecraft/client/renderer/block/model/ModelBlock/func_178310_f ()Lnet/minecraft/client/renderer/block/model/ModelBlock; +MD: cmc/g ()Lcmv; net/minecraft/client/renderer/block/model/ModelBlock/func_178296_g ()Lnet/minecraft/client/renderer/block/model/ItemTransformVec3f; +MD: cmc/h ()Lcmv; net/minecraft/client/renderer/block/model/ModelBlock/func_178306_h ()Lnet/minecraft/client/renderer/block/model/ItemTransformVec3f; +MD: cmc/i ()Lcmv; net/minecraft/client/renderer/block/model/ModelBlock/func_178301_i ()Lnet/minecraft/client/renderer/block/model/ItemTransformVec3f; +MD: cmc/j ()Lcmv; net/minecraft/client/renderer/block/model/ModelBlock/func_178297_j ()Lnet/minecraft/client/renderer/block/model/ItemTransformVec3f; +MD: cmc/k ()Z net/minecraft/client/renderer/block/model/ModelBlock/func_178295_k ()Z +MD: cmf/a (Lcom/google/gson/JsonDeserializationContext;Lcom/google/gson/JsonObject;)Ljava/util/List; net/minecraft/client/renderer/block/model/ModelBlock$Deserializer/func_178325_a (Lcom/google/gson/JsonDeserializationContext;Lcom/google/gson/JsonObject;)Ljava/util/List; +MD: cmf/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lcmc; net/minecraft/client/renderer/block/model/ModelBlock$Deserializer/func_178327_a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/renderer/block/model/ModelBlock; +MD: cmf/a (Lcom/google/gson/JsonObject;)Z net/minecraft/client/renderer/block/model/ModelBlock$Deserializer/func_178328_a (Lcom/google/gson/JsonObject;)Z +MD: cmf/b (Lcom/google/gson/JsonObject;)Ljava/util/Map; net/minecraft/client/renderer/block/model/ModelBlock$Deserializer/func_178329_b (Lcom/google/gson/JsonObject;)Ljava/util/Map; +MD: cmf/c (Lcom/google/gson/JsonObject;)Ljava/lang/String; net/minecraft/client/renderer/block/model/ModelBlock$Deserializer/func_178326_c (Lcom/google/gson/JsonObject;)Ljava/lang/String; +MD: cmf/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/renderer/block/model/ModelBlock$Deserializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: cmh/a (Ljava/io/Reader;)Lcmh; net/minecraft/client/renderer/block/model/ModelBlockDefinition/func_178331_a (Ljava/io/Reader;)Lnet/minecraft/client/renderer/block/model/ModelBlockDefinition; +MD: cmh/b (Ljava/lang/String;)Lcmm; net/minecraft/client/renderer/block/model/ModelBlockDefinition/func_178330_b (Ljava/lang/String;)Lnet/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants; +MD: cmh/equals (Ljava/lang/Object;)Z net/minecraft/client/renderer/block/model/ModelBlockDefinition/equals (Ljava/lang/Object;)Z +MD: cmh/hashCode ()I net/minecraft/client/renderer/block/model/ModelBlockDefinition/hashCode ()I +MD: cmi/a (Lcom/google/gson/JsonDeserializationContext;Lcom/google/gson/JsonObject;)Ljava/util/List; net/minecraft/client/renderer/block/model/ModelBlockDefinition$Deserializer/func_178334_a (Lcom/google/gson/JsonDeserializationContext;Lcom/google/gson/JsonObject;)Ljava/util/List; +MD: cmi/a (Lcom/google/gson/JsonDeserializationContext;Ljava/util/Map$Entry;)Lcmm; net/minecraft/client/renderer/block/model/ModelBlockDefinition$Deserializer/func_178335_a (Lcom/google/gson/JsonDeserializationContext;Ljava/util/Map$Entry;)Lnet/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants; +MD: cmi/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lcmh; net/minecraft/client/renderer/block/model/ModelBlockDefinition$Deserializer/func_178336_a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/renderer/block/model/ModelBlockDefinition; +MD: cmi/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/renderer/block/model/ModelBlockDefinition$Deserializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: cmk/a ()Loa; net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant/func_178431_a ()Lnet/minecraft/util/ResourceLocation; +MD: cmk/b ()Lcxf; net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant/func_178432_b ()Lnet/minecraft/client/resources/model/ModelRotation; +MD: cmk/c ()Z net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant/func_178433_c ()Z +MD: cmk/d ()I net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant/func_178430_d ()I +MD: cmk/equals (Ljava/lang/Object;)Z net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant/equals (Ljava/lang/Object;)Z +MD: cmk/hashCode ()I net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant/hashCode ()I +MD: cml/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lcmk; net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant$Deserializer/func_178425_a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant; +MD: cml/a (Lcom/google/gson/JsonObject;)Lcxf; net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant$Deserializer/func_178428_a (Lcom/google/gson/JsonObject;)Lnet/minecraft/client/resources/model/ModelRotation; +MD: cml/a (Ljava/lang/String;)Loa; net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant$Deserializer/func_178426_a (Ljava/lang/String;)Lnet/minecraft/util/ResourceLocation; +MD: cml/b (Lcom/google/gson/JsonObject;)Ljava/lang/String; net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant$Deserializer/func_178424_b (Lcom/google/gson/JsonObject;)Ljava/lang/String; +MD: cml/c (Lcom/google/gson/JsonObject;)I net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant$Deserializer/func_178427_c (Lcom/google/gson/JsonObject;)I +MD: cml/d (Lcom/google/gson/JsonObject;)Z net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant$Deserializer/func_178429_d (Lcom/google/gson/JsonObject;)Z +MD: cml/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variant$Deserializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: cmm/a (Lcmm;)Ljava/lang/String; net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants/access$000 (Lnet/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants;)Ljava/lang/String; +MD: cmm/b ()Ljava/util/List; net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants/func_178420_b ()Ljava/util/List; +MD: cmm/equals (Ljava/lang/Object;)Z net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants/equals (Ljava/lang/Object;)Z +MD: cmm/hashCode ()I net/minecraft/client/renderer/block/model/ModelBlockDefinition$Variants/hashCode ()I +MD: cmn/a (I)V net/minecraft/client/renderer/block/model/BreakingFour/func_178216_a (I)V +MD: cmn/e ()V net/minecraft/client/renderer/block/model/BreakingFour/func_178217_e ()V +MD: cmp/a ()Ljavax/vecmath/Matrix4d; net/minecraft/client/renderer/block/model/FaceBakery/func_178411_a ()Ljavax/vecmath/Matrix4d; +MD: cmp/a (I[ILej;Lcma;Lcue;)V net/minecraft/client/renderer/block/model/FaceBakery/func_178401_a (I[ILnet/minecraft/util/EnumFacing;Lnet/minecraft/client/renderer/block/model/BlockFaceUV;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)V +MD: cmp/a (Lclx;Lcue;Lej;[FLcxf;Lclz;ZZ)[I net/minecraft/client/renderer/block/model/FaceBakery/func_178405_a (Lnet/minecraft/client/renderer/block/model/BlockPartFace;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;Lnet/minecraft/util/EnumFacing;[FLnet/minecraft/client/resources/model/ModelRotation;Lnet/minecraft/client/renderer/block/model/BlockPartRotation;ZZ)[I +MD: cmp/a (Lej;)I net/minecraft/client/renderer/block/model/FaceBakery/func_178413_a (Lnet/minecraft/util/EnumFacing;)I +MD: cmp/a (Ljavax/vecmath/AxisAngle4d;)Ljavax/vecmath/Matrix4d; net/minecraft/client/renderer/block/model/FaceBakery/func_178416_a (Ljavax/vecmath/AxisAngle4d;)Ljavax/vecmath/Matrix4d; +MD: cmp/a (Ljavax/vecmath/Vector3d;Lclz;)V net/minecraft/client/renderer/block/model/FaceBakery/func_178407_a (Ljavax/vecmath/Vector3d;Lnet/minecraft/client/renderer/block/model/BlockPartRotation;)V +MD: cmp/a (Ljavax/vecmath/Vector3d;Lej;ILcxf;Z)I net/minecraft/client/renderer/block/model/FaceBakery/func_178415_a (Ljavax/vecmath/Vector3d;Lnet/minecraft/util/EnumFacing;ILnet/minecraft/client/resources/model/ModelRotation;Z)I +MD: cmp/a (Ljavax/vecmath/Vector3d;Ljavax/vecmath/Vector3d;Ljavax/vecmath/Matrix4d;Ljavax/vecmath/Vector3d;)V net/minecraft/client/renderer/block/model/FaceBakery/func_178406_a (Ljavax/vecmath/Vector3d;Ljavax/vecmath/Vector3d;Ljavax/vecmath/Matrix4d;Ljavax/vecmath/Vector3d;)V +MD: cmp/a (Ljavax/vecmath/Vector3f;Ljavax/vecmath/Vector3f;)[F net/minecraft/client/renderer/block/model/FaceBakery/func_178403_a (Ljavax/vecmath/Vector3f;Ljavax/vecmath/Vector3f;)[F +MD: cmp/a (Ljavax/vecmath/Vector3f;Ljavax/vecmath/Vector3f;Lclx;Lcue;Lej;Lcxf;Lclz;ZZ)Lclt; net/minecraft/client/renderer/block/model/FaceBakery/func_178414_a (Ljavax/vecmath/Vector3f;Ljavax/vecmath/Vector3f;Lnet/minecraft/client/renderer/block/model/BlockPartFace;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/client/resources/model/ModelRotation;Lnet/minecraft/client/renderer/block/model/BlockPartRotation;ZZ)Lnet/minecraft/client/renderer/block/model/BakedQuad; +MD: cmp/a ([I)Lej; net/minecraft/client/renderer/block/model/FaceBakery/func_178410_a ([I)Lnet/minecraft/util/EnumFacing; +MD: cmp/a ([IIILjavax/vecmath/Vector3d;ILcue;Lcma;)V net/minecraft/client/renderer/block/model/FaceBakery/func_178404_a ([IIILjavax/vecmath/Vector3d;ILnet/minecraft/client/renderer/texture/TextureAtlasSprite;Lnet/minecraft/client/renderer/block/model/BlockFaceUV;)V +MD: cmp/a ([IILej;Lclx;[FLcue;Lcxf;Lclz;ZZ)V net/minecraft/client/renderer/block/model/FaceBakery/func_178402_a ([IILnet/minecraft/util/EnumFacing;Lnet/minecraft/client/renderer/block/model/BlockPartFace;[FLnet/minecraft/client/renderer/texture/TextureAtlasSprite;Lnet/minecraft/client/resources/model/ModelRotation;Lnet/minecraft/client/renderer/block/model/BlockPartRotation;ZZ)V +MD: cmp/a ([ILej;)V net/minecraft/client/renderer/block/model/FaceBakery/func_178408_a ([ILnet/minecraft/util/EnumFacing;)V +MD: cmp/a ([ILej;Lcma;Lcue;)V net/minecraft/client/renderer/block/model/FaceBakery/func_178409_a ([ILnet/minecraft/util/EnumFacing;Lnet/minecraft/client/renderer/block/model/BlockFaceUV;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)V +MD: cmp/b (Lej;)F net/minecraft/client/renderer/block/model/FaceBakery/func_178412_b (Lnet/minecraft/util/EnumFacing;)F +MD: cmr/a (ILjava/lang/String;Lcue;)Ljava/util/List; net/minecraft/client/renderer/block/model/ItemModelGenerator/func_178394_a (ILjava/lang/String;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)Ljava/util/List; +MD: cmr/a (Lcmu;Ljava/util/List;[IIIIIZ)V net/minecraft/client/renderer/block/model/ItemModelGenerator/func_178396_a (Lnet/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing;Ljava/util/List;[IIIIIZ)V +MD: cmr/a (Lcua;Lcmc;)Lcmc; net/minecraft/client/renderer/block/model/ItemModelGenerator/func_178392_a (Lnet/minecraft/client/renderer/texture/TextureMap;Lnet/minecraft/client/renderer/block/model/ModelBlock;)Lnet/minecraft/client/renderer/block/model/ModelBlock; +MD: cmr/a (Lcue;)Ljava/util/List; net/minecraft/client/renderer/block/model/ItemModelGenerator/func_178393_a (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)Ljava/util/List; +MD: cmr/a (Lcue;Ljava/lang/String;I)Ljava/util/List; net/minecraft/client/renderer/block/model/ItemModelGenerator/func_178397_a (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;Ljava/lang/String;I)Ljava/util/List; +MD: cmr/a (Ljava/util/List;Lcmu;II)V net/minecraft/client/renderer/block/model/ItemModelGenerator/func_178395_a (Ljava/util/List;Lnet/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing;II)V +MD: cmr/a ([IIIII)Z net/minecraft/client/renderer/block/model/ItemModelGenerator/func_178391_a ([IIIII)Z +MD: cmt/a ()Lcmu; net/minecraft/client/renderer/block/model/ItemModelGenerator$Span/func_178383_a ()Lnet/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing; +MD: cmt/a (I)V net/minecraft/client/renderer/block/model/ItemModelGenerator$Span/func_178382_a (I)V +MD: cmt/b ()I net/minecraft/client/renderer/block/model/ItemModelGenerator$Span/func_178385_b ()I +MD: cmt/c ()I net/minecraft/client/renderer/block/model/ItemModelGenerator$Span/func_178384_c ()I +MD: cmt/d ()I net/minecraft/client/renderer/block/model/ItemModelGenerator$Span/func_178381_d ()I +MD: cmu/a ()Lej; net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/func_178367_a ()Lnet/minecraft/util/EnumFacing; +MD: cmu/a (Lcmu;)Z net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/access$000 (Lnet/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing;)Z +MD: cmu/b ()I net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/func_178372_b ()I +MD: cmu/c ()I net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/func_178371_c ()I +MD: cmu/d ()Z net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/func_178369_d ()Z +MD: cmu/values ()[Lcmu; net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing/values ()[Lnet/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing; +MD: cmw/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lcmv; net/minecraft/client/renderer/block/model/ItemTransformVec3f$Deserializer/func_178359_a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/renderer/block/model/ItemTransformVec3f; +MD: cmw/a (Lcom/google/gson/JsonObject;Ljava/lang/String;Ljavax/vecmath/Vector3f;)Ljavax/vecmath/Vector3f; net/minecraft/client/renderer/block/model/ItemTransformVec3f$Deserializer/func_178358_a (Lcom/google/gson/JsonObject;Ljava/lang/String;Ljavax/vecmath/Vector3f;)Ljavax/vecmath/Vector3f; +MD: cmw/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/renderer/block/model/ItemTransformVec3f$Deserializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: cmy/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lcmx; net/minecraft/client/renderer/block/model/ItemCameraTransforms$Deserializer/func_178352_a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/renderer/block/model/ItemCameraTransforms; +MD: cmy/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/renderer/block/model/ItemCameraTransforms$Deserializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: cmz/values ()[Lcmz; net/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType/values ()[Lnet/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType; +MD: cn/a ()I net/minecraft/command/server/CommandSetDefaultSpawnpoint/func_82362_a ()I +MD: cn/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandSetDefaultSpawnpoint/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cn/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandSetDefaultSpawnpoint/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: cn/c ()Ljava/lang/String; net/minecraft/command/server/CommandSetDefaultSpawnpoint/func_71517_b ()Ljava/lang/String; +MD: cn/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandSetDefaultSpawnpoint/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cnc/a (Latr;)Ljava/util/Map; net/minecraft/client/renderer/block/statemap/StateMapperBase/func_178130_a (Lnet/minecraft/block/Block;)Ljava/util/Map; +MD: cnc/a (Lbec;)Lcxl; net/minecraft/client/renderer/block/statemap/StateMapperBase/func_178132_a (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: cnc/a (Ljava/util/Map;)Ljava/lang/String; net/minecraft/client/renderer/block/statemap/StateMapperBase/func_178131_a (Ljava/util/Map;)Ljava/lang/String; +MD: cnd/a ()Ljava/util/Map; net/minecraft/client/renderer/block/statemap/BlockStateMapper/func_178446_a ()Ljava/util/Map; +MD: cnd/a (Latr;Lcni;)V net/minecraft/client/renderer/block/statemap/BlockStateMapper/func_178447_a (Lnet/minecraft/block/Block;Lnet/minecraft/client/renderer/block/statemap/IStateMapper;)V +MD: cnd/a ([Latr;)V net/minecraft/client/renderer/block/statemap/BlockStateMapper/func_178448_a ([Lnet/minecraft/block/Block;)V +MD: cne/a (Lbec;)Lcxl; net/minecraft/client/renderer/block/statemap/DefaultStateMapper/func_178132_a (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: cnf/a (Lbec;)Lcxl; net/minecraft/client/renderer/block/statemap/StateMap/func_178132_a (Lnet/minecraft/block/state/IBlockState;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: cnh/a ()Lcnf; net/minecraft/client/renderer/block/statemap/StateMap$Builder/func_178441_a ()Lnet/minecraft/client/renderer/block/statemap/StateMap; +MD: cnh/a (Lbex;)Lcnh; net/minecraft/client/renderer/block/statemap/StateMap$Builder/func_178440_a (Lnet/minecraft/block/properties/IProperty;)Lnet/minecraft/client/renderer/block/statemap/StateMap$Builder; +MD: cnh/a (Ljava/lang/String;)Lcnh; net/minecraft/client/renderer/block/statemap/StateMap$Builder/func_178439_a (Ljava/lang/String;)Lnet/minecraft/client/renderer/block/statemap/StateMap$Builder; +MD: cnh/a ([Lbex;)Lcnh; net/minecraft/client/renderer/block/statemap/StateMap$Builder/func_178442_a ([Lnet/minecraft/block/properties/IProperty;)Lnet/minecraft/client/renderer/block/statemap/StateMap$Builder; +MD: cni/a (Latr;)Ljava/util/Map; net/minecraft/client/renderer/block/statemap/IStateMapper/func_178130_a (Lnet/minecraft/block/Block;)Ljava/util/Map; +MD: cnk/a (Lbci;)Loa; net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer/func_178463_a (Lnet/minecraft/tileentity/TileEntityBanner;)Lnet/minecraft/util/ResourceLocation; +MD: cnk/a (Lbci;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer/func_180545_a (Lnet/minecraft/tileentity/TileEntityBanner;DDDFI)V +MD: cnk/a (Lbcm;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityBannerRenderer/func_180535_a (Lnet/minecraft/tileentity/TileEntity;DDDFI)V +MD: cnn/a (Lbck;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityBeaconRenderer/func_180536_a (Lnet/minecraft/tileentity/TileEntityBeacon;DDDFI)V +MD: cnn/a (Lbcm;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityBeaconRenderer/func_180535_a (Lnet/minecraft/tileentity/TileEntity;DDDFI)V +MD: cno/a ()Lbty; net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/func_147548_a ()Lnet/minecraft/client/gui/FontRenderer; +MD: cno/a (Laqu;)V net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/func_147543_a (Lnet/minecraft/world/World;)V +MD: cno/a (Laqu;Lcug;Lbty;Lwv;F)V net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/func_178470_a (Lnet/minecraft/world/World;Lnet/minecraft/client/renderer/texture/TextureManager;Lnet/minecraft/client/gui/FontRenderer;Lnet/minecraft/entity/Entity;F)V +MD: cno/a (Lbcm;)Z net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/func_147545_a (Lnet/minecraft/tileentity/TileEntity;)Z +MD: cno/a (Lbcm;DDDF)V net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/func_147549_a (Lnet/minecraft/tileentity/TileEntity;DDDF)V +MD: cno/a (Lbcm;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/func_178469_a (Lnet/minecraft/tileentity/TileEntity;DDDFI)V +MD: cno/a (Lbcm;FI)V net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/func_180546_a (Lnet/minecraft/tileentity/TileEntity;FI)V +MD: cno/a (Ljava/lang/Class;)Lcnp; net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/func_147546_a (Ljava/lang/Class;)Lnet/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer; +MD: cno/b (Lbcm;)Lcnp; net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher/func_147547_b (Lnet/minecraft/tileentity/TileEntity;)Lnet/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer; +MD: cnp/a ()Laqu; net/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer/func_178459_a ()Lnet/minecraft/world/World; +MD: cnp/a (Lbcm;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer/func_180535_a (Lnet/minecraft/tileentity/TileEntity;DDDFI)V +MD: cnp/a (Lcno;)V net/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer/func_147497_a (Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;)V +MD: cnp/a (Loa;)V net/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer/func_147499_a (Lnet/minecraft/util/ResourceLocation;)V +MD: cnp/b ()Lbty; net/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer/func_147498_b ()Lnet/minecraft/client/gui/FontRenderer; +MD: cnq/a (Lbcm;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityChestRenderer/func_180535_a (Lnet/minecraft/tileentity/TileEntity;DDDFI)V +MD: cnq/a (Lbcr;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityChestRenderer/func_180538_a (Lnet/minecraft/tileentity/TileEntityChest;DDDFI)V +MD: cnr/a (Lbcm;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityEnchantmentTableRenderer/func_180535_a (Lnet/minecraft/tileentity/TileEntity;DDDFI)V +MD: cnr/a (Lbcz;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityEnchantmentTableRenderer/func_180537_a (Lnet/minecraft/tileentity/TileEntityEnchantmentTable;DDDFI)V +MD: cns/a (Lbcm;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityEnderChestRenderer/func_180535_a (Lnet/minecraft/tileentity/TileEntity;DDDFI)V +MD: cns/a (Lbda;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityEnderChestRenderer/func_180540_a (Lnet/minecraft/tileentity/TileEntityEnderChest;DDDFI)V +MD: cnt/a (Laqi;DDDF)V net/minecraft/client/renderer/tileentity/TileEntityMobSpawnerRenderer/func_147517_a (Lnet/minecraft/tileentity/MobSpawnerBaseLogic;DDDF)V +MD: cnt/a (Lbcm;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityMobSpawnerRenderer/func_180535_a (Lnet/minecraft/tileentity/TileEntity;DDDFI)V +MD: cnt/a (Lbdg;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityMobSpawnerRenderer/func_180539_a (Lnet/minecraft/tileentity/TileEntityMobSpawner;DDDFI)V +MD: cnu/a (Lbcm;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityPistonRenderer/func_180535_a (Lnet/minecraft/tileentity/TileEntity;DDDFI)V +MD: cnu/a (Lbdv;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityPistonRenderer/func_178461_a (Lnet/minecraft/tileentity/TileEntityPiston;DDDFI)V +MD: cnv/a (Lbcm;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntitySignRenderer/func_180535_a (Lnet/minecraft/tileentity/TileEntity;DDDFI)V +MD: cnv/a (Lbdj;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntitySignRenderer/func_180541_a (Lnet/minecraft/tileentity/TileEntitySign;DDDFI)V +MD: cnw/a (FFFLej;FILcom/mojang/authlib/GameProfile;I)V net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer/func_180543_a (FFFLnet/minecraft/util/EnumFacing;FILcom/mojang/authlib/GameProfile;I)V +MD: cnw/a (Lbcm;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer/func_180535_a (Lnet/minecraft/tileentity/TileEntity;DDDFI)V +MD: cnw/a (Lbdm;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer/func_180542_a (Lnet/minecraft/tileentity/TileEntitySkull;DDDFI)V +MD: cnw/a (Lcno;)V net/minecraft/client/renderer/tileentity/TileEntitySkullRenderer/func_147497_a (Lnet/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher;)V +MD: cny/a (FFFF)Ljava/nio/FloatBuffer; net/minecraft/client/renderer/tileentity/TileEntityEndPortalRenderer/func_147525_a (FFFF)Ljava/nio/FloatBuffer; +MD: cny/a (Lbcm;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityEndPortalRenderer/func_180535_a (Lnet/minecraft/tileentity/TileEntity;DDDFI)V +MD: cny/a (Lbdn;DDDFI)V net/minecraft/client/renderer/tileentity/TileEntityEndPortalRenderer/func_180544_a (Lnet/minecraft/tileentity/TileEntityEndPortal;DDDFI)V +MD: co/a ()I net/minecraft/command/CommandSetPlayerTimeout/func_82362_a ()I +MD: co/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandSetPlayerTimeout/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: co/c ()Ljava/lang/String; net/minecraft/command/CommandSetPlayerTimeout/func_71517_b ()Ljava/lang/String; +MD: co/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandSetPlayerTimeout/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: coa/a ()Lcob; net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/func_178546_a ()Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status; +MD: coa/a (Lcjb;)V net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/func_178541_a (Lnet/minecraft/client/renderer/RegionRenderCacheBuilder;)V +MD: coa/a (Lcob;)V net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/func_178535_a (Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status;)V +MD: coa/a (Lcok;)V net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/func_178543_a (Lnet/minecraft/client/renderer/chunk/CompiledChunk;)V +MD: coa/a (Ljava/lang/Runnable;)V net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/func_178539_a (Ljava/lang/Runnable;)V +MD: coa/b ()Lcop; net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/func_178536_b ()Lnet/minecraft/client/renderer/chunk/RenderChunk; +MD: coa/c ()Lcok; net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/func_178544_c ()Lnet/minecraft/client/renderer/chunk/CompiledChunk; +MD: coa/d ()Lcjb; net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/func_178545_d ()Lnet/minecraft/client/renderer/RegionRenderCacheBuilder; +MD: coa/e ()V net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/func_178542_e ()V +MD: coa/f ()Ljava/util/concurrent/locks/ReentrantLock; net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/func_178540_f ()Ljava/util/concurrent/locks/ReentrantLock; +MD: coa/g ()Lcoc; net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/func_178538_g ()Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Type; +MD: coa/h ()Z net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator/func_178537_h ()Z +MD: cob/values ()[Lcob; net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status/values ()[Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Status; +MD: coc/values ()[Lcoc; net/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Type/values ()[Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator$Type; +MD: cod/a ()Ljava/lang/String; net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/func_178504_a ()Ljava/lang/String; +MD: cod/a (J)Z net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/func_178516_a (J)Z +MD: cod/a (Laql;Lciv;Lcop;Lcok;)Lcom/google/common/util/concurrent/ListenableFuture; net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/func_178503_a (Lnet/minecraft/util/EnumWorldBlockLayer;Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/client/renderer/chunk/RenderChunk;Lnet/minecraft/client/renderer/chunk/CompiledChunk;)Lcom/google/common/util/concurrent/ListenableFuture; +MD: cod/a (Lciv;ILcop;)V net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/func_178510_a (Lnet/minecraft/client/renderer/WorldRenderer;ILnet/minecraft/client/renderer/chunk/RenderChunk;)V +MD: cod/a (Lciv;Lcur;)V net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/func_178506_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/client/renderer/vertex/VertexBuffer;)V +MD: cod/a (Lcjb;)V net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/func_178512_a (Lnet/minecraft/client/renderer/RegionRenderCacheBuilder;)V +MD: cod/a (Lcod;)Ljava/util/concurrent/BlockingQueue; net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/access$000 (Lnet/minecraft/client/renderer/chunk/ChunkRenderDispatcher;)Ljava/util/concurrent/BlockingQueue; +MD: cod/a (Lcop;)Z net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/func_178507_a (Lnet/minecraft/client/renderer/chunk/RenderChunk;)Z +MD: cod/b ()V net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/func_178514_b ()V +MD: cod/b (Lcop;)Z net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/func_178505_b (Lnet/minecraft/client/renderer/chunk/RenderChunk;)Z +MD: cod/c ()Lcjb; net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/func_178515_c ()Lnet/minecraft/client/renderer/RegionRenderCacheBuilder; +MD: cod/c (Lcop;)Z net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/func_178509_c (Lnet/minecraft/client/renderer/chunk/RenderChunk;)Z +MD: cod/d ()Lcoa; net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/func_178511_d ()Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator; +MD: cod/e ()V net/minecraft/client/renderer/chunk/ChunkRenderDispatcher/func_178513_e ()V +MD: coe/run ()V net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$1/run ()V +MD: cof/run ()V net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$2/run ()V +MD: cog/run ()V net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$3/run ()V +MD: coh/a ()Lorg/apache/logging/log4j/Logger; net/minecraft/client/renderer/chunk/ChunkRenderWorker/access$100 ()Lorg/apache/logging/log4j/Logger; +MD: coh/a (Lcoa;)V net/minecraft/client/renderer/chunk/ChunkRenderWorker/func_178474_a (Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator;)V +MD: coh/a (Lcoh;Lcoa;)V net/minecraft/client/renderer/chunk/ChunkRenderWorker/access$000 (Lnet/minecraft/client/renderer/chunk/ChunkRenderWorker;Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator;)V +MD: coh/b ()Lcjb; net/minecraft/client/renderer/chunk/ChunkRenderWorker/func_178475_b ()Lnet/minecraft/client/renderer/RegionRenderCacheBuilder; +MD: coh/b (Lcoa;)V net/minecraft/client/renderer/chunk/ChunkRenderWorker/func_178473_b (Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator;)V +MD: coh/run ()V net/minecraft/client/renderer/chunk/ChunkRenderWorker/run ()V +MD: coi/run ()V net/minecraft/client/renderer/chunk/ChunkRenderWorker$1/run ()V +MD: coj/a (Ljava/util/List;)V net/minecraft/client/renderer/chunk/ChunkRenderWorker$2/func_178481_a (Ljava/util/List;)V +MD: coj/onFailure (Ljava/lang/Throwable;)V net/minecraft/client/renderer/chunk/ChunkRenderWorker$2/onFailure (Ljava/lang/Throwable;)V +MD: coj/onSuccess (Ljava/lang/Object;)V net/minecraft/client/renderer/chunk/ChunkRenderWorker$2/onSuccess (Ljava/lang/Object;)V +MD: cok/a ()Z net/minecraft/client/renderer/chunk/CompiledChunk/func_178489_a ()Z +MD: cok/a (Laql;)V net/minecraft/client/renderer/chunk/CompiledChunk/func_178486_a (Lnet/minecraft/util/EnumWorldBlockLayer;)V +MD: cok/a (Lbcm;)V net/minecraft/client/renderer/chunk/CompiledChunk/func_178490_a (Lnet/minecraft/tileentity/TileEntity;)V +MD: cok/a (Lcix;)V net/minecraft/client/renderer/chunk/CompiledChunk/func_178494_a (Lnet/minecraft/client/renderer/WorldRenderer$State;)V +MD: cok/a (Lcou;)V net/minecraft/client/renderer/chunk/CompiledChunk/func_178488_a (Lnet/minecraft/client/renderer/chunk/SetVisibility;)V +MD: cok/a (Lej;Lej;)Z net/minecraft/client/renderer/chunk/CompiledChunk/func_178495_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/EnumFacing;)Z +MD: cok/b ()Ljava/util/List; net/minecraft/client/renderer/chunk/CompiledChunk/func_178485_b ()Ljava/util/List; +MD: cok/b (Laql;)Z net/minecraft/client/renderer/chunk/CompiledChunk/func_178491_b (Lnet/minecraft/util/EnumWorldBlockLayer;)Z +MD: cok/c ()Lcix; net/minecraft/client/renderer/chunk/CompiledChunk/func_178487_c ()Lnet/minecraft/client/renderer/WorldRenderer$State; +MD: cok/c (Laql;)V net/minecraft/client/renderer/chunk/CompiledChunk/func_178493_c (Lnet/minecraft/util/EnumWorldBlockLayer;)V +MD: cok/d (Laql;)Z net/minecraft/client/renderer/chunk/CompiledChunk/func_178492_d (Lnet/minecraft/util/EnumWorldBlockLayer;)Z +MD: col/a (Laql;)V net/minecraft/client/renderer/chunk/CompiledChunk$1/func_178486_a (Lnet/minecraft/util/EnumWorldBlockLayer;)V +MD: col/a (Lej;Lej;)Z net/minecraft/client/renderer/chunk/CompiledChunk$1/func_178495_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/EnumFacing;)Z +MD: col/c (Laql;)V net/minecraft/client/renderer/chunk/CompiledChunk$1/func_178493_c (Lnet/minecraft/util/EnumWorldBlockLayer;)V +MD: com/a (Laqu;Lckn;Ldt;I)Lcop; net/minecraft/client/renderer/chunk/ListChunkFactory/func_178602_a (Lnet/minecraft/world/World;Lnet/minecraft/client/renderer/RenderGlobal;Lnet/minecraft/util/BlockPos;I)Lnet/minecraft/client/renderer/chunk/RenderChunk; +MD: coo/a ()V net/minecraft/client/renderer/chunk/ListedRenderChunk/func_178566_a ()V +MD: coo/a (Laql;Lcok;)I net/minecraft/client/renderer/chunk/ListedRenderChunk/func_178600_a (Lnet/minecraft/util/EnumWorldBlockLayer;Lnet/minecraft/client/renderer/chunk/CompiledChunk;)I +MD: cop/a ()V net/minecraft/client/renderer/chunk/RenderChunk/func_178566_a ()V +MD: cop/a (FFFLcoa;)V net/minecraft/client/renderer/chunk/RenderChunk/func_178570_a (FFFLnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator;)V +MD: cop/a (I)Z net/minecraft/client/renderer/chunk/RenderChunk/func_178577_a (I)Z +MD: cop/a (Laql;FFFLciv;Lcok;)V net/minecraft/client/renderer/chunk/RenderChunk/func_178584_a (Lnet/minecraft/util/EnumWorldBlockLayer;FFFLnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/client/renderer/chunk/CompiledChunk;)V +MD: cop/a (Lciv;Ldt;)V net/minecraft/client/renderer/chunk/RenderChunk/func_178573_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/util/BlockPos;)V +MD: cop/a (Lcok;)V net/minecraft/client/renderer/chunk/RenderChunk/func_178580_a (Lnet/minecraft/client/renderer/chunk/CompiledChunk;)V +MD: cop/a (Ldt;)V net/minecraft/client/renderer/chunk/RenderChunk/func_178576_a (Lnet/minecraft/util/BlockPos;)V +MD: cop/a (Z)V net/minecraft/client/renderer/chunk/RenderChunk/func_178575_a (Z)V +MD: cop/b ()V net/minecraft/client/renderer/chunk/RenderChunk/func_178578_b ()V +MD: cop/b (FFFLcoa;)V net/minecraft/client/renderer/chunk/RenderChunk/func_178581_b (FFFLnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator;)V +MD: cop/b (I)Lcur; net/minecraft/client/renderer/chunk/RenderChunk/func_178565_b (I)Lnet/minecraft/client/renderer/vertex/VertexBuffer; +MD: cop/c ()Ljava/util/concurrent/locks/ReentrantLock; net/minecraft/client/renderer/chunk/RenderChunk/func_178579_c ()Ljava/util/concurrent/locks/ReentrantLock; +MD: cop/d ()Lcoa; net/minecraft/client/renderer/chunk/RenderChunk/func_178574_d ()Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator; +MD: cop/e ()Lcoa; net/minecraft/client/renderer/chunk/RenderChunk/func_178582_e ()Lnet/minecraft/client/renderer/chunk/ChunkCompileTaskGenerator; +MD: cop/f ()V net/minecraft/client/renderer/chunk/RenderChunk/func_178572_f ()V +MD: cop/g ()Lcok; net/minecraft/client/renderer/chunk/RenderChunk/func_178571_g ()Lnet/minecraft/client/renderer/chunk/CompiledChunk; +MD: cop/h ()V net/minecraft/client/renderer/chunk/RenderChunk/func_178585_h ()V +MD: cop/j ()Ldt; net/minecraft/client/renderer/chunk/RenderChunk/func_178568_j ()Lnet/minecraft/util/BlockPos; +MD: cop/l ()Z net/minecraft/client/renderer/chunk/RenderChunk/func_178583_l ()Z +MD: cop/m ()Z net/minecraft/client/renderer/chunk/RenderChunk/func_178569_m ()Z +MD: cop/n ()V net/minecraft/client/renderer/chunk/RenderChunk/func_178567_n ()V +MD: coq/a (Laqu;Lckn;Ldt;I)Lcop; net/minecraft/client/renderer/chunk/IRenderChunkFactory/func_178602_a (Lnet/minecraft/world/World;Lnet/minecraft/client/renderer/RenderGlobal;Lnet/minecraft/util/BlockPos;I)Lnet/minecraft/client/renderer/chunk/RenderChunk; +MD: cor/a (Laqu;Lckn;Ldt;I)Lcop; net/minecraft/client/renderer/chunk/VboChunkFactory/func_178602_a (Lnet/minecraft/world/World;Lnet/minecraft/client/renderer/RenderGlobal;Lnet/minecraft/util/BlockPos;I)Lnet/minecraft/client/renderer/chunk/RenderChunk; +MD: cos/a ()Lcou; net/minecraft/client/renderer/chunk/VisGraph/func_178607_a ()Lnet/minecraft/client/renderer/chunk/SetVisibility; +MD: cos/a (I)Ljava/util/Set; net/minecraft/client/renderer/chunk/VisGraph/func_178604_a (I)Ljava/util/Set; +MD: cos/a (III)I net/minecraft/client/renderer/chunk/VisGraph/func_178605_a (III)I +MD: cos/a (ILej;)I net/minecraft/client/renderer/chunk/VisGraph/func_178603_a (ILnet/minecraft/util/EnumFacing;)I +MD: cos/a (ILjava/util/Set;)V net/minecraft/client/renderer/chunk/VisGraph/func_178610_a (ILjava/util/Set;)V +MD: cos/a (Ldt;)V net/minecraft/client/renderer/chunk/VisGraph/func_178606_a (Lnet/minecraft/util/BlockPos;)V +MD: cos/b (Ldt;)Ljava/util/Set; net/minecraft/client/renderer/chunk/VisGraph/func_178609_b (Lnet/minecraft/util/BlockPos;)Ljava/util/Set; +MD: cos/c (Ldt;)I net/minecraft/client/renderer/chunk/VisGraph/func_178608_c (Lnet/minecraft/util/BlockPos;)I +MD: cou/a (Lej;Lej;)Z net/minecraft/client/renderer/chunk/SetVisibility/func_178621_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/EnumFacing;)Z +MD: cou/a (Lej;Lej;Z)V net/minecraft/client/renderer/chunk/SetVisibility/func_178619_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/EnumFacing;Z)V +MD: cou/a (Ljava/util/Set;)V net/minecraft/client/renderer/chunk/SetVisibility/func_178620_a (Ljava/util/Set;)V +MD: cou/a (Z)V net/minecraft/client/renderer/chunk/SetVisibility/func_178618_a (Z)V +MD: cou/toString ()Ljava/lang/String; net/minecraft/client/renderer/chunk/SetVisibility/toString ()Ljava/lang/String; +MD: cox/a (DDD)V net/minecraft/client/renderer/culling/ICamera/func_78547_a (DDD)V +MD: cox/a (Lbrt;)Z net/minecraft/client/renderer/culling/ICamera/func_78546_a (Lnet/minecraft/util/AxisAlignedBB;)Z +MD: coy/a ()Lcpa; net/minecraft/client/renderer/culling/ClippingHelperImpl/func_78558_a ()Lnet/minecraft/client/renderer/culling/ClippingHelper; +MD: coy/a ([F)V net/minecraft/client/renderer/culling/ClippingHelperImpl/func_180547_a ([F)V +MD: coy/b ()V net/minecraft/client/renderer/culling/ClippingHelperImpl/func_78560_b ()V +MD: coz/a (DDD)V net/minecraft/client/renderer/culling/Frustum/func_78547_a (DDD)V +MD: coz/a (Lbrt;)Z net/minecraft/client/renderer/culling/Frustum/func_78546_a (Lnet/minecraft/util/AxisAlignedBB;)Z +MD: coz/b (DDDDDD)Z net/minecraft/client/renderer/culling/Frustum/func_78548_b (DDDDDD)Z +MD: cp/a ()I net/minecraft/command/CommandSetSpawnpoint/func_82362_a ()I +MD: cp/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandSetSpawnpoint/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cp/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandSetSpawnpoint/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: cp/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandSetSpawnpoint/func_82358_a ([Ljava/lang/String;I)Z +MD: cp/c ()Ljava/lang/String; net/minecraft/command/CommandSetSpawnpoint/func_71517_b ()Ljava/lang/String; +MD: cp/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandSetSpawnpoint/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cpa/a ([FDDD)D net/minecraft/client/renderer/culling/ClippingHelper/func_178624_a ([FDDD)D +MD: cpa/b (DDDDDD)Z net/minecraft/client/renderer/culling/ClippingHelper/func_78553_b (DDDDDD)Z +MD: cpe/a ()Lcbv; net/minecraft/client/renderer/entity/ArmorStandRenderer/func_177100_a ()Lnet/minecraft/client/model/ModelArmorStand; +MD: cpe/a (Ladi;)Loa; net/minecraft/client/renderer/entity/ArmorStandRenderer/func_177102_a (Lnet/minecraft/entity/item/EntityArmorStand;)Lnet/minecraft/util/ResourceLocation; +MD: cpe/a (Ladi;FFF)V net/minecraft/client/renderer/entity/ArmorStandRenderer/func_177101_a (Lnet/minecraft/entity/item/EntityArmorStand;FFF)V +MD: cpe/a (Lwv;)Loa; net/minecraft/client/renderer/entity/ArmorStandRenderer/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpe/a (Lxm;)Z net/minecraft/client/renderer/entity/ArmorStandRenderer/func_110813_b (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: cpe/a (Lxm;FFF)V net/minecraft/client/renderer/entity/ArmorStandRenderer/func_77043_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cpe/b ()Lccq; net/minecraft/client/renderer/entity/ArmorStandRenderer/func_177087_b ()Lnet/minecraft/client/model/ModelBase; +MD: cpe/b (Ladi;)Z net/minecraft/client/renderer/entity/ArmorStandRenderer/func_177099_b (Lnet/minecraft/entity/item/EntityArmorStand;)Z +MD: cpe/b (Lwv;)Z net/minecraft/client/renderer/entity/ArmorStandRenderer/func_177070_b (Lnet/minecraft/entity/Entity;)Z +MD: cpf/a ()V net/minecraft/client/renderer/entity/ArmorStandRenderer$1/func_177177_a ()V +MD: cpg/a (Lahj;)Loa; net/minecraft/client/renderer/entity/RenderArrow/func_180550_a (Lnet/minecraft/entity/projectile/EntityArrow;)Lnet/minecraft/util/ResourceLocation; +MD: cpg/a (Lahj;DDDFF)V net/minecraft/client/renderer/entity/RenderArrow/func_180551_a (Lnet/minecraft/entity/projectile/EntityArrow;DDDFF)V +MD: cpg/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderArrow/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpg/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderArrow/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cph/a (Labo;)Loa; net/minecraft/client/renderer/entity/RenderBat/func_180566_a (Lnet/minecraft/entity/passive/EntityBat;)Lnet/minecraft/util/ResourceLocation; +MD: cph/a (Labo;F)V net/minecraft/client/renderer/entity/RenderBat/func_180567_a (Lnet/minecraft/entity/passive/EntityBat;F)V +MD: cph/a (Labo;FFF)V net/minecraft/client/renderer/entity/RenderBat/func_77043_a (Lnet/minecraft/entity/passive/EntityBat;FFF)V +MD: cph/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderBat/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cph/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderBat/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: cph/a (Lxm;FFF)V net/minecraft/client/renderer/entity/RenderBat/func_77043_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cpi/a (Laem;)Loa; net/minecraft/client/renderer/entity/RenderBlaze/func_110775_a (Lnet/minecraft/entity/monster/EntityBlaze;)Lnet/minecraft/util/ResourceLocation; +MD: cpi/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderBlaze/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpj/a (Ladu;)Loa; net/minecraft/client/renderer/entity/RenderBoat/func_180553_a (Lnet/minecraft/entity/item/EntityBoat;)Lnet/minecraft/util/ResourceLocation; +MD: cpj/a (Ladu;DDDFF)V net/minecraft/client/renderer/entity/RenderBoat/func_180552_a (Lnet/minecraft/entity/item/EntityBoat;DDDFF)V +MD: cpj/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderBoat/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpj/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderBoat/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cpk/a (Laeo;)Loa; net/minecraft/client/renderer/entity/RenderCaveSpider/func_180586_a (Lnet/minecraft/entity/monster/EntityCaveSpider;)Lnet/minecraft/util/ResourceLocation; +MD: cpk/a (Laeo;F)V net/minecraft/client/renderer/entity/RenderCaveSpider/func_180585_a (Lnet/minecraft/entity/monster/EntityCaveSpider;F)V +MD: cpk/a (Lage;)Loa; net/minecraft/client/renderer/entity/RenderCaveSpider/func_110775_a (Lnet/minecraft/entity/monster/EntitySpider;)Lnet/minecraft/util/ResourceLocation; +MD: cpk/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderCaveSpider/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpk/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderCaveSpider/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: cpl/a (Labr;)Loa; net/minecraft/client/renderer/entity/RenderChicken/func_180568_a (Lnet/minecraft/entity/passive/EntityChicken;)Lnet/minecraft/util/ResourceLocation; +MD: cpl/a (Labr;F)F net/minecraft/client/renderer/entity/RenderChicken/func_180569_a (Lnet/minecraft/entity/passive/EntityChicken;F)F +MD: cpl/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderChicken/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpl/b (Lxm;F)F net/minecraft/client/renderer/entity/RenderChicken/func_77044_a (Lnet/minecraft/entity/EntityLivingBase;F)F +MD: cpm/a (Labs;)Loa; net/minecraft/client/renderer/entity/RenderCow/func_180572_a (Lnet/minecraft/entity/passive/EntityCow;)Lnet/minecraft/util/ResourceLocation; +MD: cpm/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderCow/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpn/a (Laep;)Loa; net/minecraft/client/renderer/entity/RenderCreeper/func_110775_a (Lnet/minecraft/entity/monster/EntityCreeper;)Lnet/minecraft/util/ResourceLocation; +MD: cpn/a (Laep;F)V net/minecraft/client/renderer/entity/RenderCreeper/func_180570_a (Lnet/minecraft/entity/monster/EntityCreeper;F)V +MD: cpn/a (Laep;FF)I net/minecraft/client/renderer/entity/RenderCreeper/func_180571_a (Lnet/minecraft/entity/monster/EntityCreeper;FF)I +MD: cpn/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderCreeper/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpn/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderCreeper/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: cpn/a (Lxm;FF)I net/minecraft/client/renderer/entity/RenderCreeper/func_77030_a (Lnet/minecraft/entity/EntityLivingBase;FF)I +MD: cpo/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderEntity/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpo/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderEntity/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cpp/a (Lada;)Loa; net/minecraft/client/renderer/tileentity/RenderEnderCrystal/func_180554_a (Lnet/minecraft/entity/item/EntityEnderCrystal;)Lnet/minecraft/util/ResourceLocation; +MD: cpp/a (Lada;DDDFF)V net/minecraft/client/renderer/tileentity/RenderEnderCrystal/func_76986_a (Lnet/minecraft/entity/item/EntityEnderCrystal;DDDFF)V +MD: cpp/a (Lwv;)Loa; net/minecraft/client/renderer/tileentity/RenderEnderCrystal/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpp/a (Lwv;DDDFF)V net/minecraft/client/renderer/tileentity/RenderEnderCrystal/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cpq/a (Ladb;)Loa; net/minecraft/client/renderer/entity/RenderDragon/func_110775_a (Lnet/minecraft/entity/boss/EntityDragon;)Lnet/minecraft/util/ResourceLocation; +MD: cpq/a (Ladb;DDDF)V net/minecraft/client/renderer/entity/RenderDragon/func_180574_a (Lnet/minecraft/entity/boss/EntityDragon;DDDF)V +MD: cpq/a (Ladb;DDDFF)V net/minecraft/client/renderer/entity/RenderDragon/func_76986_a (Lnet/minecraft/entity/boss/EntityDragon;DDDFF)V +MD: cpq/a (Ladb;FFF)V net/minecraft/client/renderer/entity/RenderDragon/func_180575_a (Lnet/minecraft/entity/boss/EntityDragon;FFF)V +MD: cpq/a (Ladb;FFFFFF)V net/minecraft/client/renderer/entity/RenderDragon/func_77036_a (Lnet/minecraft/entity/boss/EntityDragon;FFFFFF)V +MD: cpq/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderDragon/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpq/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderDragon/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cpq/a (Lxm;DDDFF)V net/minecraft/client/renderer/entity/RenderDragon/func_76986_a (Lnet/minecraft/entity/EntityLivingBase;DDDFF)V +MD: cpq/a (Lxm;FFF)V net/minecraft/client/renderer/entity/RenderDragon/func_77043_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cpq/a (Lxm;FFFFFF)V net/minecraft/client/renderer/entity/RenderDragon/func_77036_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFF)V +MD: cpq/a (Lxn;DDDFF)V net/minecraft/client/renderer/entity/RenderDragon/func_76986_a (Lnet/minecraft/entity/EntityLiving;DDDFF)V +MD: cpr/a (Laer;)Loa; net/minecraft/client/renderer/entity/RenderEnderman/func_180573_a (Lnet/minecraft/entity/monster/EntityEnderman;)Lnet/minecraft/util/ResourceLocation; +MD: cpr/a (Laer;DDDFF)V net/minecraft/client/renderer/entity/RenderEnderman/func_76986_a (Lnet/minecraft/entity/monster/EntityEnderman;DDDFF)V +MD: cpr/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderEnderman/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpr/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderEnderman/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cpr/a (Lxm;DDDFF)V net/minecraft/client/renderer/entity/RenderEnderman/func_76986_a (Lnet/minecraft/entity/EntityLivingBase;DDDFF)V +MD: cpr/a (Lxn;DDDFF)V net/minecraft/client/renderer/entity/RenderEnderman/func_76986_a (Lnet/minecraft/entity/EntityLiving;DDDFF)V +MD: cps/a (Laew;)F net/minecraft/client/renderer/entity/RenderEndermite/func_177107_a (Lnet/minecraft/entity/monster/EntityEndermite;)F +MD: cps/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderEndermite/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cps/b (Laew;)Loa; net/minecraft/client/renderer/entity/RenderEndermite/func_177106_b (Lnet/minecraft/entity/monster/EntityEndermite;)Lnet/minecraft/util/ResourceLocation; +MD: cps/b (Lxm;)F net/minecraft/client/renderer/entity/RenderEndermite/func_77037_a (Lnet/minecraft/entity/EntityLivingBase;)F +MD: cpt/a ()Z net/minecraft/client/renderer/entity/RenderManager/func_178627_a ()Z +MD: cpt/a (DDD)V net/minecraft/client/renderer/entity/RenderManager/func_178628_a (DDD)V +MD: cpt/a (F)V net/minecraft/client/renderer/entity/RenderManager/func_178631_a (F)V +MD: cpt/a (Laqu;)V net/minecraft/client/renderer/entity/RenderManager/func_78717_a (Lnet/minecraft/world/World;)V +MD: cpt/a (Laqu;Lbty;Lwv;Lwv;Lbto;F)V net/minecraft/client/renderer/entity/RenderManager/func_180597_a (Lnet/minecraft/world/World;Lnet/minecraft/client/gui/FontRenderer;Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/Entity;Lnet/minecraft/client/settings/GameSettings;F)V +MD: cpt/a (Ljava/lang/Class;)Lcpu; net/minecraft/client/renderer/entity/RenderManager/func_78715_a (Ljava/lang/Class;)Lnet/minecraft/client/renderer/entity/Render; +MD: cpt/a (Lwv;)Lcpu; net/minecraft/client/renderer/entity/RenderManager/func_78713_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/client/renderer/entity/Render; +MD: cpt/a (Lwv;DDDFF)Z net/minecraft/client/renderer/entity/RenderManager/func_147940_a (Lnet/minecraft/entity/Entity;DDDFF)Z +MD: cpt/a (Lwv;DDDFFZ)Z net/minecraft/client/renderer/entity/RenderManager/func_147939_a (Lnet/minecraft/entity/Entity;DDDFFZ)Z +MD: cpt/a (Lwv;F)Z net/minecraft/client/renderer/entity/RenderManager/func_147937_a (Lnet/minecraft/entity/Entity;F)Z +MD: cpt/a (Lwv;FZ)Z net/minecraft/client/renderer/entity/RenderManager/func_147936_a (Lnet/minecraft/entity/Entity;FZ)Z +MD: cpt/a (Lwv;Lcox;DDD)Z net/minecraft/client/renderer/entity/RenderManager/func_178635_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/client/renderer/culling/ICamera;DDD)Z +MD: cpt/a (Z)V net/minecraft/client/renderer/entity/RenderManager/func_178633_a (Z)V +MD: cpt/b ()Z net/minecraft/client/renderer/entity/RenderManager/func_178634_b ()Z +MD: cpt/b (DDD)D net/minecraft/client/renderer/entity/RenderManager/func_78714_a (DDD)D +MD: cpt/b (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderManager/func_85094_b (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cpt/b (Lwv;F)V net/minecraft/client/renderer/entity/RenderManager/func_178630_b (Lnet/minecraft/entity/Entity;F)V +MD: cpt/b (Z)V net/minecraft/client/renderer/entity/RenderManager/func_178629_b (Z)V +MD: cpt/c ()Lbty; net/minecraft/client/renderer/entity/RenderManager/func_78716_a ()Lnet/minecraft/client/gui/FontRenderer; +MD: cpt/c (Z)V net/minecraft/client/renderer/entity/RenderManager/func_178632_c (Z)V +MD: cpu/a ()Laqu; net/minecraft/client/renderer/entity/Render/func_76982_b ()Lnet/minecraft/world/World; +MD: cpu/a (Latr;DDDLdt;FFDDD)V net/minecraft/client/renderer/entity/Render/func_180549_a (Lnet/minecraft/block/Block;DDDLnet/minecraft/util/BlockPos;FFDDD)V +MD: cpu/a (Lbrt;DDD)V net/minecraft/client/renderer/entity/Render/func_76978_a (Lnet/minecraft/util/AxisAlignedBB;DDD)V +MD: cpu/a (Loa;)V net/minecraft/client/renderer/entity/Render/func_110776_a (Lnet/minecraft/util/ResourceLocation;)V +MD: cpu/a (Lwv;)Loa; net/minecraft/client/renderer/entity/Render/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpu/a (Lwv;DDD)V net/minecraft/client/renderer/entity/Render/func_177067_a (Lnet/minecraft/entity/Entity;DDD)V +MD: cpu/a (Lwv;DDDF)V net/minecraft/client/renderer/entity/Render/func_76977_a (Lnet/minecraft/entity/Entity;DDDF)V +MD: cpu/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/Render/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cpu/a (Lwv;DDDLjava/lang/String;FD)V net/minecraft/client/renderer/entity/Render/func_177069_a (Lnet/minecraft/entity/Entity;DDDLjava/lang/String;FD)V +MD: cpu/a (Lwv;Lcox;DDD)Z net/minecraft/client/renderer/entity/Render/func_177071_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/client/renderer/culling/ICamera;DDD)Z +MD: cpu/a (Lwv;Ljava/lang/String;DDDI)V net/minecraft/client/renderer/entity/Render/func_147906_a (Lnet/minecraft/entity/Entity;Ljava/lang/String;DDDI)V +MD: cpu/b (Lwv;)Z net/minecraft/client/renderer/entity/Render/func_177070_b (Lnet/minecraft/entity/Entity;)Z +MD: cpu/b (Lwv;DDDFF)V net/minecraft/client/renderer/entity/Render/func_76979_b (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cpu/c ()Lbty; net/minecraft/client/renderer/entity/Render/func_76983_a ()Lnet/minecraft/client/gui/FontRenderer; +MD: cpu/c (Lwv;)Z net/minecraft/client/renderer/entity/Render/func_180548_c (Lnet/minecraft/entity/Entity;)Z +MD: cpu/c (Lwv;DDDFF)V net/minecraft/client/renderer/entity/Render/func_76975_c (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cpu/d ()Lcpt; net/minecraft/client/renderer/entity/Render/func_177068_d ()Lnet/minecraft/client/renderer/entity/RenderManager; +MD: cpv/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderXPOrb/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpv/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderXPOrb/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cpv/a (Lxk;)Loa; net/minecraft/client/renderer/entity/RenderXPOrb/func_180555_a (Lnet/minecraft/entity/item/EntityXPOrb;)Lnet/minecraft/util/ResourceLocation; +MD: cpv/a (Lxk;DDDFF)V net/minecraft/client/renderer/entity/RenderXPOrb/func_76986_a (Lnet/minecraft/entity/item/EntityXPOrb;DDDFF)V +MD: cpw/a (Ladv;)Loa; net/minecraft/client/renderer/entity/RenderFallingBlock/func_110775_a (Lnet/minecraft/entity/item/EntityFallingBlock;)Lnet/minecraft/util/ResourceLocation; +MD: cpw/a (Ladv;DDDFF)V net/minecraft/client/renderer/entity/RenderFallingBlock/func_180557_a (Lnet/minecraft/entity/item/EntityFallingBlock;DDDFF)V +MD: cpw/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderFallingBlock/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpw/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderFallingBlock/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cpx/a (Lahl;)Loa; net/minecraft/client/renderer/entity/RenderFireball/func_180556_a (Lnet/minecraft/entity/projectile/EntityFireball;)Lnet/minecraft/util/ResourceLocation; +MD: cpx/a (Lahl;DDDFF)V net/minecraft/client/renderer/entity/RenderFireball/func_76986_a (Lnet/minecraft/entity/projectile/EntityFireball;DDDFF)V +MD: cpx/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderFireball/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpx/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderFireball/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cpy/a (Lado;)Loa; net/minecraft/client/renderer/entity/RenderFish/func_110775_a (Lnet/minecraft/entity/projectile/EntityFishHook;)Lnet/minecraft/util/ResourceLocation; +MD: cpy/a (Lado;DDDFF)V net/minecraft/client/renderer/entity/RenderFish/func_180558_a (Lnet/minecraft/entity/projectile/EntityFishHook;DDDFF)V +MD: cpy/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderFish/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpy/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderFish/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cpz/a (Lafa;)Loa; net/minecraft/client/renderer/entity/RenderGhast/func_180576_a (Lnet/minecraft/entity/monster/EntityGhast;)Lnet/minecraft/util/ResourceLocation; +MD: cpz/a (Lafa;F)V net/minecraft/client/renderer/entity/RenderGhast/func_77041_b (Lnet/minecraft/entity/monster/EntityGhast;F)V +MD: cpz/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderGhast/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cpz/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderGhast/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: cq/a ()I net/minecraft/command/CommandShowSeed/func_82362_a ()I +MD: cq/a (Lae;)Z net/minecraft/command/CommandShowSeed/func_71519_b (Lnet/minecraft/command/ICommandSender;)Z +MD: cq/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandShowSeed/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cq/c ()Ljava/lang/String; net/minecraft/command/CommandShowSeed/func_71517_b ()Ljava/lang/String; +MD: cq/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandShowSeed/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cqa/B_ ()V net/minecraft/client/renderer/entity/RenderGiantZombie/func_82422_c ()V +MD: cqa/a (Laff;)Loa; net/minecraft/client/renderer/entity/RenderGiantZombie/func_110775_a (Lnet/minecraft/entity/monster/EntityGiantZombie;)Lnet/minecraft/util/ResourceLocation; +MD: cqa/a (Laff;F)V net/minecraft/client/renderer/entity/RenderGiantZombie/func_77041_b (Lnet/minecraft/entity/monster/EntityGiantZombie;F)V +MD: cqa/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderGiantZombie/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cqa/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderGiantZombie/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: cqb/a ()V net/minecraft/client/renderer/entity/RenderGiantZombie$1/func_177177_a ()V +MD: cqc/a (Lafg;)Loa; net/minecraft/client/renderer/entity/RenderGuardian/func_177111_a (Lnet/minecraft/entity/monster/EntityGuardian;)Lnet/minecraft/util/ResourceLocation; +MD: cqc/a (Lafg;DDDFF)V net/minecraft/client/renderer/entity/RenderGuardian/func_177109_a (Lnet/minecraft/entity/monster/EntityGuardian;DDDFF)V +MD: cqc/a (Lafg;F)V net/minecraft/client/renderer/entity/RenderGuardian/func_177112_a (Lnet/minecraft/entity/monster/EntityGuardian;F)V +MD: cqc/a (Lafg;Lcox;DDD)Z net/minecraft/client/renderer/entity/RenderGuardian/func_177113_a (Lnet/minecraft/entity/monster/EntityGuardian;Lnet/minecraft/client/renderer/culling/ICamera;DDD)Z +MD: cqc/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderGuardian/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cqc/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderGuardian/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cqc/a (Lwv;Lcox;DDD)Z net/minecraft/client/renderer/entity/RenderGuardian/func_177071_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/client/renderer/culling/ICamera;DDD)Z +MD: cqc/a (Lxm;DDDFF)V net/minecraft/client/renderer/entity/RenderGuardian/func_76986_a (Lnet/minecraft/entity/EntityLivingBase;DDDFF)V +MD: cqc/a (Lxm;DF)Lbrw; net/minecraft/client/renderer/entity/RenderGuardian/func_177110_a (Lnet/minecraft/entity/EntityLivingBase;DF)Lnet/minecraft/util/Vec3; +MD: cqc/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderGuardian/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: cqc/a (Lxn;DDDFF)V net/minecraft/client/renderer/entity/RenderGuardian/func_76986_a (Lnet/minecraft/entity/EntityLiving;DDDFF)V +MD: cqc/a (Lxn;Lcox;DDD)Z net/minecraft/client/renderer/entity/RenderGuardian/func_177104_a (Lnet/minecraft/entity/EntityLiving;Lnet/minecraft/client/renderer/culling/ICamera;DDD)Z +MD: cqd/a (Labt;)Loa; net/minecraft/client/renderer/entity/RenderHorse/func_180581_a (Lnet/minecraft/entity/passive/EntityHorse;)Lnet/minecraft/util/ResourceLocation; +MD: cqd/a (Labt;F)V net/minecraft/client/renderer/entity/RenderHorse/func_180580_a (Lnet/minecraft/entity/passive/EntityHorse;F)V +MD: cqd/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderHorse/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cqd/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderHorse/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: cqd/b (Labt;)Loa; net/minecraft/client/renderer/entity/RenderHorse/func_110848_b (Lnet/minecraft/entity/passive/EntityHorse;)Lnet/minecraft/util/ResourceLocation; +MD: cqe/B_ ()V net/minecraft/client/renderer/entity/RenderBiped/func_82422_c ()V +MD: cqe/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderBiped/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cqe/a (Lxn;)Loa; net/minecraft/client/renderer/entity/RenderBiped/func_110775_a (Lnet/minecraft/entity/EntityLiving;)Lnet/minecraft/util/ResourceLocation; +MD: cqf/a (Ladw;)Loa; net/minecraft/client/renderer/entity/RenderEntityItem/func_177076_a (Lnet/minecraft/entity/item/EntityItem;)Lnet/minecraft/util/ResourceLocation; +MD: cqf/a (Ladw;DDDFF)V net/minecraft/client/renderer/entity/RenderEntityItem/func_177075_a (Lnet/minecraft/entity/item/EntityItem;DDDFF)V +MD: cqf/a (Ladw;DDDFLcxe;)I net/minecraft/client/renderer/entity/RenderEntityItem/func_177077_a (Lnet/minecraft/entity/item/EntityItem;DDDFLnet/minecraft/client/resources/model/IBakedModel;)I +MD: cqf/a (Lamj;)I net/minecraft/client/renderer/entity/RenderEntityItem/func_177078_a (Lnet/minecraft/item/ItemStack;)I +MD: cqf/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderEntityItem/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cqf/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderEntityItem/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cqg/a (Ladk;)Loa; net/minecraft/client/renderer/tileentity/RenderItemFrame/func_110775_a (Lnet/minecraft/entity/item/EntityItemFrame;)Lnet/minecraft/util/ResourceLocation; +MD: cqg/a (Ladk;DDD)V net/minecraft/client/renderer/tileentity/RenderItemFrame/func_147914_a (Lnet/minecraft/entity/item/EntityItemFrame;DDD)V +MD: cqg/a (Ladk;DDDFF)V net/minecraft/client/renderer/tileentity/RenderItemFrame/func_76986_a (Lnet/minecraft/entity/item/EntityItemFrame;DDDFF)V +MD: cqg/a (Lwv;)Loa; net/minecraft/client/renderer/tileentity/RenderItemFrame/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cqg/a (Lwv;DDD)V net/minecraft/client/renderer/tileentity/RenderItemFrame/func_177067_a (Lnet/minecraft/entity/Entity;DDD)V +MD: cqg/a (Lwv;DDDFF)V net/minecraft/client/renderer/tileentity/RenderItemFrame/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cqg/b (Ladk;)V net/minecraft/client/renderer/tileentity/RenderItemFrame/func_82402_b (Lnet/minecraft/entity/item/EntityItemFrame;)V +MD: cqh/a ()Lckk; net/minecraft/client/renderer/entity/RenderItem/func_175037_a ()Lnet/minecraft/client/renderer/ItemModelMesher; +MD: cqh/a (IIZ)V net/minecraft/client/renderer/entity/RenderItem/func_180452_a (IIZ)V +MD: cqh/a (Lalq;ILjava/lang/String;)V net/minecraft/client/renderer/entity/RenderItem/func_175048_a (Lnet/minecraft/item/Item;ILjava/lang/String;)V +MD: cqh/a (Lalq;Ljava/lang/String;)V net/minecraft/client/renderer/entity/RenderItem/func_175047_a (Lnet/minecraft/item/Item;Ljava/lang/String;)V +MD: cqh/a (Lamj;)Z net/minecraft/client/renderer/entity/RenderItem/func_175050_a (Lnet/minecraft/item/ItemStack;)Z +MD: cqh/a (Lamj;II)V net/minecraft/client/renderer/entity/RenderItem/func_175042_a (Lnet/minecraft/item/ItemStack;II)V +MD: cqh/a (Lamj;Lcxe;)V net/minecraft/client/renderer/entity/RenderItem/func_180454_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/resources/model/IBakedModel;)V +MD: cqh/a (Lamj;Lcxe;Lcmz;)V net/minecraft/client/renderer/entity/RenderItem/func_175040_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/resources/model/IBakedModel;Lnet/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType;)V +MD: cqh/a (Lamj;Lxm;Lcmz;)V net/minecraft/client/renderer/entity/RenderItem/func_175049_a (Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/client/renderer/block/model/ItemCameraTransforms$TransformType;)V +MD: cqh/a (Latr;ILjava/lang/String;)V net/minecraft/client/renderer/entity/RenderItem/func_175029_a (Lnet/minecraft/block/Block;ILjava/lang/String;)V +MD: cqh/a (Latr;Ljava/lang/String;)V net/minecraft/client/renderer/entity/RenderItem/func_175031_a (Lnet/minecraft/block/Block;Ljava/lang/String;)V +MD: cqh/a (Lbty;Lamj;II)V net/minecraft/client/renderer/entity/RenderItem/func_175030_a (Lnet/minecraft/client/gui/FontRenderer;Lnet/minecraft/item/ItemStack;II)V +MD: cqh/a (Lbty;Lamj;IILjava/lang/String;)V net/minecraft/client/renderer/entity/RenderItem/func_180453_a (Lnet/minecraft/client/gui/FontRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V +MD: cqh/a (Lciv;IIIII)V net/minecraft/client/renderer/entity/RenderItem/func_175044_a (Lnet/minecraft/client/renderer/WorldRenderer;IIIII)V +MD: cqh/a (Lciv;Lclt;)V net/minecraft/client/renderer/entity/RenderItem/func_175038_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/client/renderer/block/model/BakedQuad;)V +MD: cqh/a (Lciv;Lclt;I)V net/minecraft/client/renderer/entity/RenderItem/func_175033_a (Lnet/minecraft/client/renderer/WorldRenderer;Lnet/minecraft/client/renderer/block/model/BakedQuad;I)V +MD: cqh/a (Lciv;Ljava/util/List;ILamj;)V net/minecraft/client/renderer/entity/RenderItem/func_175032_a (Lnet/minecraft/client/renderer/WorldRenderer;Ljava/util/List;ILnet/minecraft/item/ItemStack;)V +MD: cqh/a (Lcmv;)V net/minecraft/client/renderer/entity/RenderItem/func_175034_a (Lnet/minecraft/client/renderer/block/model/ItemTransformVec3f;)V +MD: cqh/a (Lcvk;)V net/minecraft/client/renderer/entity/RenderItem/func_110549_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: cqh/a (Lcxe;)V net/minecraft/client/renderer/entity/RenderItem/func_180451_a (Lnet/minecraft/client/resources/model/IBakedModel;)V +MD: cqh/a (Lcxe;I)V net/minecraft/client/renderer/entity/RenderItem/func_175035_a (Lnet/minecraft/client/resources/model/IBakedModel;I)V +MD: cqh/a (Lcxe;ILamj;)V net/minecraft/client/renderer/entity/RenderItem/func_175045_a (Lnet/minecraft/client/resources/model/IBakedModel;ILnet/minecraft/item/ItemStack;)V +MD: cqh/a (Lcxe;Lamj;)V net/minecraft/client/renderer/entity/RenderItem/func_175036_a (Lnet/minecraft/client/resources/model/IBakedModel;Lnet/minecraft/item/ItemStack;)V +MD: cqh/a (Z)V net/minecraft/client/renderer/entity/RenderItem/func_175039_a (Z)V +MD: cqh/b ()V net/minecraft/client/renderer/entity/RenderItem/func_175041_b ()V +MD: cqh/b (Lamj;)V net/minecraft/client/renderer/entity/RenderItem/func_175043_b (Lnet/minecraft/item/ItemStack;)V +MD: cqh/b (Lamj;II)V net/minecraft/client/renderer/entity/RenderItem/func_180450_b (Lnet/minecraft/item/ItemStack;II)V +MD: cqh/c (Lamj;)V net/minecraft/client/renderer/entity/RenderItem/func_175046_c (Lnet/minecraft/item/ItemStack;)V +MD: cqi/a ()Ljava/lang/String; net/minecraft/client/renderer/entity/RenderItem$1/call ()Ljava/lang/String; +MD: cqi/call ()Ljava/lang/Object; net/minecraft/client/renderer/entity/RenderItem$1/call ()Ljava/lang/Object; +MD: cqk/a ()Ljava/lang/String; net/minecraft/client/renderer/entity/RenderItem$2/call ()Ljava/lang/String; +MD: cqk/call ()Ljava/lang/Object; net/minecraft/client/renderer/entity/RenderItem$2/call ()Ljava/lang/Object; +MD: cql/a ()Ljava/lang/String; net/minecraft/client/renderer/entity/RenderItem$3/call ()Ljava/lang/String; +MD: cql/call ()Ljava/lang/Object; net/minecraft/client/renderer/entity/RenderItem$3/call ()Ljava/lang/Object; +MD: cqm/a ()Ljava/lang/String; net/minecraft/client/renderer/entity/RenderItem$4/call ()Ljava/lang/String; +MD: cqm/call ()Ljava/lang/Object; net/minecraft/client/renderer/entity/RenderItem$4/call ()Ljava/lang/Object; +MD: cqn/a (Lamj;)Lcxl; net/minecraft/client/renderer/entity/RenderItem$5/func_178113_a (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: cqo/a (Lamj;)Lcxl; net/minecraft/client/renderer/entity/RenderItem$6/func_178113_a (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: cqp/a (Lamj;)Lcxl; net/minecraft/client/renderer/entity/RenderItem$7/func_178113_a (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: cqq/a (Lamj;)Lcxl; net/minecraft/client/renderer/entity/RenderItem$8/func_178113_a (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: cqr/a (Lamj;)Lcxl; net/minecraft/client/renderer/entity/RenderItem$9/func_178113_a (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/client/resources/model/ModelResourceLocation; +MD: cqs/a (Lafl;)Loa; net/minecraft/client/renderer/entity/RenderMagmaCube/func_110775_a (Lnet/minecraft/entity/monster/EntityMagmaCube;)Lnet/minecraft/util/ResourceLocation; +MD: cqs/a (Lafl;F)V net/minecraft/client/renderer/entity/RenderMagmaCube/func_77041_b (Lnet/minecraft/entity/monster/EntityMagmaCube;F)V +MD: cqs/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderMagmaCube/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cqs/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderMagmaCube/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: cqt/a (Ladl;)Loa; net/minecraft/client/renderer/entity/RenderLeashKnot/func_110775_a (Lnet/minecraft/entity/EntityLeashKnot;)Lnet/minecraft/util/ResourceLocation; +MD: cqt/a (Ladl;DDDFF)V net/minecraft/client/renderer/entity/RenderLeashKnot/func_180559_a (Lnet/minecraft/entity/EntityLeashKnot;DDDFF)V +MD: cqt/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderLeashKnot/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cqt/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderLeashKnot/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cqu/a (Lads;)Loa; net/minecraft/client/renderer/entity/RenderLightningBolt/func_110775_a (Lnet/minecraft/entity/effect/EntityLightningBolt;)Lnet/minecraft/util/ResourceLocation; +MD: cqu/a (Lads;DDDFF)V net/minecraft/client/renderer/entity/RenderLightningBolt/func_76986_a (Lnet/minecraft/entity/effect/EntityLightningBolt;DDDFF)V +MD: cqu/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderLightningBolt/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cqu/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderLightningBolt/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cqv/B_ ()V net/minecraft/client/renderer/entity/RendererLivingEntity/func_82422_c ()V +MD: cqv/a (FFF)F net/minecraft/client/renderer/entity/RendererLivingEntity/func_77034_a (FFF)F +MD: cqv/a (Lcsq;)Z net/minecraft/client/renderer/entity/RendererLivingEntity/func_177094_a (Lnet/minecraft/client/renderer/entity/layers/LayerRenderer;)Z +MD: cqv/a (Lwv;DDD)V net/minecraft/client/renderer/entity/RendererLivingEntity/func_177067_a (Lnet/minecraft/entity/Entity;DDD)V +MD: cqv/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RendererLivingEntity/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cqv/a (Lxm;)Z net/minecraft/client/renderer/entity/RendererLivingEntity/func_110813_b (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: cqv/a (Lxm;DDD)V net/minecraft/client/renderer/entity/RendererLivingEntity/func_77039_a (Lnet/minecraft/entity/EntityLivingBase;DDD)V +MD: cqv/a (Lxm;DDDFF)V net/minecraft/client/renderer/entity/RendererLivingEntity/func_76986_a (Lnet/minecraft/entity/EntityLivingBase;DDDFF)V +MD: cqv/a (Lxm;F)V net/minecraft/client/renderer/entity/RendererLivingEntity/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: cqv/a (Lxm;FF)I net/minecraft/client/renderer/entity/RendererLivingEntity/func_77030_a (Lnet/minecraft/entity/EntityLivingBase;FF)I +MD: cqv/a (Lxm;FFF)V net/minecraft/client/renderer/entity/RendererLivingEntity/func_77043_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cqv/a (Lxm;FFFFFF)V net/minecraft/client/renderer/entity/RendererLivingEntity/func_77036_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFF)V +MD: cqv/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/RendererLivingEntity/func_177093_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: cqv/a (Lxm;FZ)Z net/minecraft/client/renderer/entity/RendererLivingEntity/func_177092_a (Lnet/minecraft/entity/EntityLivingBase;FZ)Z +MD: cqv/a (Z)V net/minecraft/client/renderer/entity/RendererLivingEntity/func_177086_a (Z)V +MD: cqv/b ()Lccq; net/minecraft/client/renderer/entity/RendererLivingEntity/func_177087_b ()Lnet/minecraft/client/model/ModelBase; +MD: cqv/b (Lcsq;)Z net/minecraft/client/renderer/entity/RendererLivingEntity/func_177089_b (Lnet/minecraft/client/renderer/entity/layers/LayerRenderer;)Z +MD: cqv/b (Lwv;)Z net/minecraft/client/renderer/entity/RendererLivingEntity/func_177070_b (Lnet/minecraft/entity/Entity;)Z +MD: cqv/b (Lxm;)F net/minecraft/client/renderer/entity/RendererLivingEntity/func_77037_a (Lnet/minecraft/entity/EntityLivingBase;)F +MD: cqv/b (Lxm;DDD)V net/minecraft/client/renderer/entity/RendererLivingEntity/func_77033_b (Lnet/minecraft/entity/EntityLivingBase;DDD)V +MD: cqv/b (Lxm;F)F net/minecraft/client/renderer/entity/RendererLivingEntity/func_77044_a (Lnet/minecraft/entity/EntityLivingBase;F)F +MD: cqv/c (Lxm;)Z net/minecraft/client/renderer/entity/RendererLivingEntity/func_177088_c (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: cqv/c (Lxm;F)Z net/minecraft/client/renderer/entity/RendererLivingEntity/func_177090_c (Lnet/minecraft/entity/EntityLivingBase;F)Z +MD: cqv/d (Lxm;F)F net/minecraft/client/renderer/entity/RendererLivingEntity/func_77040_d (Lnet/minecraft/entity/EntityLivingBase;F)F +MD: cqv/e ()V net/minecraft/client/renderer/entity/RendererLivingEntity/func_180565_e ()V +MD: cqv/f ()V net/minecraft/client/renderer/entity/RendererLivingEntity/func_177091_f ()V +MD: cqx/a (Ladx;)Loa; net/minecraft/client/renderer/entity/RenderMinecart/func_110775_a (Lnet/minecraft/entity/item/EntityMinecart;)Lnet/minecraft/util/ResourceLocation; +MD: cqx/a (Ladx;DDDFF)V net/minecraft/client/renderer/entity/RenderMinecart/func_76986_a (Lnet/minecraft/entity/item/EntityMinecart;DDDFF)V +MD: cqx/a (Ladx;FLbec;)V net/minecraft/client/renderer/entity/RenderMinecart/func_180560_a (Lnet/minecraft/entity/item/EntityMinecart;FLnet/minecraft/block/state/IBlockState;)V +MD: cqx/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderMinecart/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cqx/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderMinecart/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cqy/a (Ladx;FLbec;)V net/minecraft/client/renderer/entity/RenderMinecartMobSpawner/func_180560_a (Lnet/minecraft/entity/item/EntityMinecart;FLnet/minecraft/block/state/IBlockState;)V +MD: cqy/a (Laeh;FLbec;)V net/minecraft/client/renderer/entity/RenderMinecartMobSpawner/func_177081_a (Lnet/minecraft/entity/ai/EntityMinecartMobSpawner;FLnet/minecraft/block/state/IBlockState;)V +MD: cqz/a (DDD)D net/minecraft/client/renderer/entity/RenderLiving/func_110828_a (DDD)D +MD: cqz/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderLiving/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cqz/a (Lwv;Lcox;DDD)Z net/minecraft/client/renderer/entity/RenderLiving/func_177071_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/client/renderer/culling/ICamera;DDD)Z +MD: cqz/a (Lxm;)Z net/minecraft/client/renderer/entity/RenderLiving/func_110813_b (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: cqz/a (Lxm;DDDFF)V net/minecraft/client/renderer/entity/RenderLiving/func_76986_a (Lnet/minecraft/entity/EntityLivingBase;DDDFF)V +MD: cqz/a (Lxn;DDDFF)V net/minecraft/client/renderer/entity/RenderLiving/func_76986_a (Lnet/minecraft/entity/EntityLiving;DDDFF)V +MD: cqz/a (Lxn;F)V net/minecraft/client/renderer/entity/RenderLiving/func_177105_a (Lnet/minecraft/entity/EntityLiving;F)V +MD: cqz/a (Lxn;Lcox;DDD)Z net/minecraft/client/renderer/entity/RenderLiving/func_177104_a (Lnet/minecraft/entity/EntityLiving;Lnet/minecraft/client/renderer/culling/ICamera;DDD)Z +MD: cqz/b (Lwv;)Z net/minecraft/client/renderer/entity/RenderLiving/func_177070_b (Lnet/minecraft/entity/Entity;)Z +MD: cqz/b (Lxn;)Z net/minecraft/client/renderer/entity/RenderLiving/func_110813_b (Lnet/minecraft/entity/EntityLiving;)Z +MD: cqz/b (Lxn;DDDFF)V net/minecraft/client/renderer/entity/RenderLiving/func_110827_b (Lnet/minecraft/entity/EntityLiving;DDDFF)V +MD: cr/a ()I net/minecraft/command/CommandSpreadPlayers/func_82362_a ()I +MD: cr/a (Lae;Ljava/util/List;Lcs;DDLaqu;Z)V net/minecraft/command/CommandSpreadPlayers/func_110669_a (Lnet/minecraft/command/ICommandSender;Ljava/util/List;Lnet/minecraft/command/CommandSpreadPlayers$Position;DDLnet/minecraft/world/World;Z)V +MD: cr/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandSpreadPlayers/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cr/a (Lcs;DLaqu;Ljava/util/Random;DDDD[Lcs;Z)I net/minecraft/command/CommandSpreadPlayers/func_110668_a (Lnet/minecraft/command/CommandSpreadPlayers$Position;DLnet/minecraft/world/World;Ljava/util/Random;DDDD[Lnet/minecraft/command/CommandSpreadPlayers$Position;Z)I +MD: cr/a (Ljava/util/List;Laqu;[Lcs;Z)D net/minecraft/command/CommandSpreadPlayers/func_110671_a (Ljava/util/List;Lnet/minecraft/world/World;[Lnet/minecraft/command/CommandSpreadPlayers$Position;Z)D +MD: cr/a (Ljava/util/Random;IDDDD)[Lcs; net/minecraft/command/CommandSpreadPlayers/func_110670_a (Ljava/util/Random;IDDDD)[Lnet/minecraft/command/CommandSpreadPlayers$Position; +MD: cr/b (Ljava/util/List;)I net/minecraft/command/CommandSpreadPlayers/func_110667_a (Ljava/util/List;)I +MD: cr/c ()Ljava/lang/String; net/minecraft/command/CommandSpreadPlayers/func_71517_b ()Ljava/lang/String; +MD: cr/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandSpreadPlayers/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cra/a (Labx;)Loa; net/minecraft/client/renderer/entity/RenderMooshroom/func_180582_a (Lnet/minecraft/entity/passive/EntityMooshroom;)Lnet/minecraft/util/ResourceLocation; +MD: cra/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderMooshroom/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crb/a (Laby;)Loa; net/minecraft/client/renderer/entity/RenderOcelot/func_110775_a (Lnet/minecraft/entity/passive/EntityOcelot;)Lnet/minecraft/util/ResourceLocation; +MD: crb/a (Laby;F)V net/minecraft/client/renderer/entity/RenderOcelot/func_77041_b (Lnet/minecraft/entity/passive/EntityOcelot;F)V +MD: crb/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderOcelot/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crb/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderOcelot/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: crc/a (Ladm;)Loa; net/minecraft/client/renderer/entity/RenderPainting/func_180562_a (Lnet/minecraft/entity/item/EntityPainting;)Lnet/minecraft/util/ResourceLocation; +MD: crc/a (Ladm;DDDFF)V net/minecraft/client/renderer/entity/RenderPainting/func_76986_a (Lnet/minecraft/entity/item/EntityPainting;DDDFF)V +MD: crc/a (Ladm;FF)V net/minecraft/client/renderer/entity/RenderPainting/func_77008_a (Lnet/minecraft/entity/item/EntityPainting;FF)V +MD: crc/a (Ladm;IIII)V net/minecraft/client/renderer/entity/RenderPainting/func_77010_a (Lnet/minecraft/entity/item/EntityPainting;IIII)V +MD: crc/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderPainting/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crc/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderPainting/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: crd/a (Laca;)Loa; net/minecraft/client/renderer/entity/RenderPig/func_180583_a (Lnet/minecraft/entity/passive/EntityPig;)Lnet/minecraft/util/ResourceLocation; +MD: crd/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderPig/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cre/a (Lafo;)Loa; net/minecraft/client/renderer/entity/RenderPigZombie/func_177119_a (Lnet/minecraft/entity/monster/EntityPigZombie;)Lnet/minecraft/util/ResourceLocation; +MD: cre/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderPigZombie/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cre/a (Lxn;)Loa; net/minecraft/client/renderer/entity/RenderPigZombie/func_110775_a (Lnet/minecraft/entity/EntityLiving;)Lnet/minecraft/util/ResourceLocation; +MD: crf/a ()V net/minecraft/client/renderer/entity/RenderPigZombie$1/func_177177_a ()V +MD: crg/a (Lacb;)Loa; net/minecraft/client/renderer/entity/RenderRabbit/func_177125_a (Lnet/minecraft/entity/passive/EntityRabbit;)Lnet/minecraft/util/ResourceLocation; +MD: crg/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderRabbit/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crh/a (Lacl;)Loa; net/minecraft/client/renderer/entity/RenderSheep/func_110775_a (Lnet/minecraft/entity/passive/EntitySheep;)Lnet/minecraft/util/ResourceLocation; +MD: crh/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderSheep/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cri/a (Laft;)F net/minecraft/client/renderer/entity/RenderSilverfish/func_180584_a (Lnet/minecraft/entity/monster/EntitySilverfish;)F +MD: cri/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderSilverfish/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cri/b (Laft;)Loa; net/minecraft/client/renderer/entity/RenderSilverfish/func_110775_a (Lnet/minecraft/entity/monster/EntitySilverfish;)Lnet/minecraft/util/ResourceLocation; +MD: cri/b (Lxm;)F net/minecraft/client/renderer/entity/RenderSilverfish/func_77037_a (Lnet/minecraft/entity/EntityLivingBase;)F +MD: crj/B_ ()V net/minecraft/client/renderer/entity/RenderSkeleton/func_82422_c ()V +MD: crj/a (Lafw;)Loa; net/minecraft/client/renderer/entity/RenderSkeleton/func_180577_a (Lnet/minecraft/entity/monster/EntitySkeleton;)Lnet/minecraft/util/ResourceLocation; +MD: crj/a (Lafw;F)V net/minecraft/client/renderer/entity/RenderSkeleton/func_77041_b (Lnet/minecraft/entity/monster/EntitySkeleton;F)V +MD: crj/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderSkeleton/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crj/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderSkeleton/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: crj/a (Lxn;)Loa; net/minecraft/client/renderer/entity/RenderSkeleton/func_110775_a (Lnet/minecraft/entity/EntityLiving;)Lnet/minecraft/util/ResourceLocation; +MD: crk/a ()V net/minecraft/client/renderer/entity/RenderSkeleton$1/func_177177_a ()V +MD: crl/a (Lafy;)Loa; net/minecraft/client/renderer/entity/RenderSlime/func_110775_a (Lnet/minecraft/entity/monster/EntitySlime;)Lnet/minecraft/util/ResourceLocation; +MD: crl/a (Lafy;DDDFF)V net/minecraft/client/renderer/entity/RenderSlime/func_177124_a (Lnet/minecraft/entity/monster/EntitySlime;DDDFF)V +MD: crl/a (Lafy;F)V net/minecraft/client/renderer/entity/RenderSlime/func_77041_b (Lnet/minecraft/entity/monster/EntitySlime;F)V +MD: crl/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderSlime/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crl/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderSlime/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: crl/a (Lxm;DDDFF)V net/minecraft/client/renderer/entity/RenderSlime/func_76986_a (Lnet/minecraft/entity/EntityLivingBase;DDDFF)V +MD: crl/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderSlime/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: crl/a (Lxn;DDDFF)V net/minecraft/client/renderer/entity/RenderSlime/func_76986_a (Lnet/minecraft/entity/EntityLiving;DDDFF)V +MD: crm/a (Lacn;)Loa; net/minecraft/client/renderer/entity/RenderSnowMan/func_180587_a (Lnet/minecraft/entity/monster/EntitySnowman;)Lnet/minecraft/util/ResourceLocation; +MD: crm/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderSnowMan/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crm/b ()Lccq; net/minecraft/client/renderer/entity/RenderSnowMan/func_177087_b ()Lnet/minecraft/client/model/ModelBase; +MD: crm/g ()Lcdf; net/minecraft/client/renderer/entity/RenderSnowMan/func_177123_g ()Lnet/minecraft/client/model/ModelSnowMan; +MD: crn/a (Lage;)Loa; net/minecraft/client/renderer/entity/RenderSpider/func_110775_a (Lnet/minecraft/entity/monster/EntitySpider;)Lnet/minecraft/util/ResourceLocation; +MD: crn/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderSpider/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crn/b (Lage;)F net/minecraft/client/renderer/entity/RenderSpider/func_77037_a (Lnet/minecraft/entity/monster/EntitySpider;)F +MD: crn/b (Lxm;)F net/minecraft/client/renderer/entity/RenderSpider/func_77037_a (Lnet/minecraft/entity/EntityLivingBase;)F +MD: cro/a (Laco;)Loa; net/minecraft/client/renderer/entity/RenderSquid/func_110775_a (Lnet/minecraft/entity/passive/EntitySquid;)Lnet/minecraft/util/ResourceLocation; +MD: cro/a (Laco;F)F net/minecraft/client/renderer/entity/RenderSquid/func_77044_a (Lnet/minecraft/entity/passive/EntitySquid;F)F +MD: cro/a (Laco;FFF)V net/minecraft/client/renderer/entity/RenderSquid/func_77043_a (Lnet/minecraft/entity/passive/EntitySquid;FFF)V +MD: cro/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderSquid/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cro/a (Lxm;FFF)V net/minecraft/client/renderer/entity/RenderSquid/func_77043_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cro/b (Lxm;F)F net/minecraft/client/renderer/entity/RenderSquid/func_77044_a (Lnet/minecraft/entity/EntityLivingBase;F)F +MD: crp/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderSnowball/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crp/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderSnowball/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: crp/d (Lwv;)Lamj; net/minecraft/client/renderer/entity/RenderSnowball/func_177082_d (Lnet/minecraft/entity/Entity;)Lnet/minecraft/item/ItemStack; +MD: crq/a (Lahv;)Lamj; net/minecraft/client/renderer/entity/RenderPotion/func_177085_a (Lnet/minecraft/entity/projectile/EntityPotion;)Lnet/minecraft/item/ItemStack; +MD: crq/d (Lwv;)Lamj; net/minecraft/client/renderer/entity/RenderPotion/func_177082_d (Lnet/minecraft/entity/Entity;)Lnet/minecraft/item/ItemStack; +MD: crr/a (Ladx;FLbec;)V net/minecraft/client/renderer/entity/RenderTntMinecart/func_180560_a (Lnet/minecraft/entity/item/EntityMinecart;FLnet/minecraft/block/state/IBlockState;)V +MD: crr/a (Laej;FLbec;)V net/minecraft/client/renderer/entity/RenderTntMinecart/func_180561_a (Lnet/minecraft/entity/item/EntityMinecartTNT;FLnet/minecraft/block/state/IBlockState;)V +MD: crs/a (Laek;)Loa; net/minecraft/client/renderer/entity/RenderTNTPrimed/func_180563_a (Lnet/minecraft/entity/item/EntityTNTPrimed;)Lnet/minecraft/util/ResourceLocation; +MD: crs/a (Laek;DDDFF)V net/minecraft/client/renderer/entity/RenderTNTPrimed/func_76986_a (Lnet/minecraft/entity/item/EntityTNTPrimed;DDDFF)V +MD: crs/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderTNTPrimed/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crs/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderTNTPrimed/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: crt/a (Lacq;)Loa; net/minecraft/client/renderer/entity/RenderIronGolem/func_110775_a (Lnet/minecraft/entity/monster/EntityIronGolem;)Lnet/minecraft/util/ResourceLocation; +MD: crt/a (Lacq;FFF)V net/minecraft/client/renderer/entity/RenderIronGolem/func_180588_a (Lnet/minecraft/entity/monster/EntityIronGolem;FFF)V +MD: crt/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderIronGolem/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crt/a (Lxm;FFF)V net/minecraft/client/renderer/entity/RenderIronGolem/func_77043_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: cru/a (Lagp;)Loa; net/minecraft/client/renderer/entity/RenderVillager/func_110775_a (Lnet/minecraft/entity/passive/EntityVillager;)Lnet/minecraft/util/ResourceLocation; +MD: cru/a (Lagp;F)V net/minecraft/client/renderer/entity/RenderVillager/func_77041_b (Lnet/minecraft/entity/passive/EntityVillager;F)V +MD: cru/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderVillager/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cru/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderVillager/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: cru/b ()Lccq; net/minecraft/client/renderer/entity/RenderVillager/func_177087_b ()Lnet/minecraft/client/model/ModelBase; +MD: cru/g ()Lcdk; net/minecraft/client/renderer/entity/RenderVillager/func_177134_g ()Lnet/minecraft/client/model/ModelVillager; +MD: crv/B_ ()V net/minecraft/client/renderer/entity/RenderWitch/func_82422_c ()V +MD: crv/a (Lagi;)Loa; net/minecraft/client/renderer/entity/RenderWitch/func_180589_a (Lnet/minecraft/entity/monster/EntityWitch;)Lnet/minecraft/util/ResourceLocation; +MD: crv/a (Lagi;DDDFF)V net/minecraft/client/renderer/entity/RenderWitch/func_180590_a (Lnet/minecraft/entity/monster/EntityWitch;DDDFF)V +MD: crv/a (Lagi;F)V net/minecraft/client/renderer/entity/RenderWitch/func_77041_b (Lnet/minecraft/entity/monster/EntityWitch;F)V +MD: crv/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderWitch/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crv/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderWitch/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: crv/a (Lxm;DDDFF)V net/minecraft/client/renderer/entity/RenderWitch/func_76986_a (Lnet/minecraft/entity/EntityLivingBase;DDDFF)V +MD: crv/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderWitch/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: crv/a (Lxn;DDDFF)V net/minecraft/client/renderer/entity/RenderWitch/func_76986_a (Lnet/minecraft/entity/EntityLiving;DDDFF)V +MD: crw/a (Ladf;)Loa; net/minecraft/client/renderer/entity/RenderWither/func_110775_a (Lnet/minecraft/entity/boss/EntityWither;)Lnet/minecraft/util/ResourceLocation; +MD: crw/a (Ladf;DDDFF)V net/minecraft/client/renderer/entity/RenderWither/func_180591_a (Lnet/minecraft/entity/boss/EntityWither;DDDFF)V +MD: crw/a (Ladf;F)V net/minecraft/client/renderer/entity/RenderWither/func_180592_a (Lnet/minecraft/entity/boss/EntityWither;F)V +MD: crw/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderWither/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crw/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderWither/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: crw/a (Lxm;DDDFF)V net/minecraft/client/renderer/entity/RenderWither/func_76986_a (Lnet/minecraft/entity/EntityLivingBase;DDDFF)V +MD: crw/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderWither/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: crw/a (Lxn;DDDFF)V net/minecraft/client/renderer/entity/RenderWither/func_76986_a (Lnet/minecraft/entity/EntityLiving;DDDFF)V +MD: crx/a (FFF)F net/minecraft/client/renderer/tileentity/RenderWitherSkull/func_82400_a (FFF)F +MD: crx/a (Lahw;)Loa; net/minecraft/client/renderer/tileentity/RenderWitherSkull/func_180564_a (Lnet/minecraft/entity/projectile/EntityWitherSkull;)Lnet/minecraft/util/ResourceLocation; +MD: crx/a (Lahw;DDDFF)V net/minecraft/client/renderer/tileentity/RenderWitherSkull/func_76986_a (Lnet/minecraft/entity/projectile/EntityWitherSkull;DDDFF)V +MD: crx/a (Lwv;)Loa; net/minecraft/client/renderer/tileentity/RenderWitherSkull/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crx/a (Lwv;DDDFF)V net/minecraft/client/renderer/tileentity/RenderWitherSkull/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cry/a (Lacu;)Loa; net/minecraft/client/renderer/entity/RenderWolf/func_110775_a (Lnet/minecraft/entity/passive/EntityWolf;)Lnet/minecraft/util/ResourceLocation; +MD: cry/a (Lacu;DDDFF)V net/minecraft/client/renderer/entity/RenderWolf/func_177135_a (Lnet/minecraft/entity/passive/EntityWolf;DDDFF)V +MD: cry/a (Lacu;F)F net/minecraft/client/renderer/entity/RenderWolf/func_180593_a (Lnet/minecraft/entity/passive/EntityWolf;F)F +MD: cry/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderWolf/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: cry/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderWolf/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: cry/a (Lxm;DDDFF)V net/minecraft/client/renderer/entity/RenderWolf/func_76986_a (Lnet/minecraft/entity/EntityLivingBase;DDDFF)V +MD: cry/a (Lxn;DDDFF)V net/minecraft/client/renderer/entity/RenderWolf/func_76986_a (Lnet/minecraft/entity/EntityLiving;DDDFF)V +MD: cry/b (Lxm;F)F net/minecraft/client/renderer/entity/RenderWolf/func_77044_a (Lnet/minecraft/entity/EntityLivingBase;F)F +MD: crz/a (Lagj;)Loa; net/minecraft/client/renderer/entity/RenderZombie/func_180578_a (Lnet/minecraft/entity/monster/EntityZombie;)Lnet/minecraft/util/ResourceLocation; +MD: crz/a (Lagj;DDDFF)V net/minecraft/client/renderer/entity/RenderZombie/func_180579_a (Lnet/minecraft/entity/monster/EntityZombie;DDDFF)V +MD: crz/a (Lagj;FFF)V net/minecraft/client/renderer/entity/RenderZombie/func_77043_a (Lnet/minecraft/entity/monster/EntityZombie;FFF)V +MD: crz/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderZombie/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: crz/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderZombie/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: crz/a (Lxm;DDDFF)V net/minecraft/client/renderer/entity/RenderZombie/func_76986_a (Lnet/minecraft/entity/EntityLivingBase;DDDFF)V +MD: crz/a (Lxm;FFF)V net/minecraft/client/renderer/entity/RenderZombie/func_77043_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: crz/a (Lxn;)Loa; net/minecraft/client/renderer/entity/RenderZombie/func_110775_a (Lnet/minecraft/entity/EntityLiving;)Lnet/minecraft/util/ResourceLocation; +MD: crz/a (Lxn;DDDFF)V net/minecraft/client/renderer/entity/RenderZombie/func_76986_a (Lnet/minecraft/entity/EntityLiving;DDDFF)V +MD: crz/b (Lagj;)V net/minecraft/client/renderer/entity/RenderZombie/func_82427_a (Lnet/minecraft/entity/monster/EntityZombie;)V +MD: cs/a ()V net/minecraft/command/CommandSpreadPlayers$Position/func_111095_a ()V +MD: cs/a (DDDD)Z net/minecraft/command/CommandSpreadPlayers$Position/func_111093_a (DDDD)Z +MD: cs/a (Laqu;)I net/minecraft/command/CommandSpreadPlayers$Position/func_111092_a (Lnet/minecraft/world/World;)I +MD: cs/a (Lcs;)D net/minecraft/command/CommandSpreadPlayers$Position/func_111099_a (Lnet/minecraft/command/CommandSpreadPlayers$Position;)D +MD: cs/a (Ljava/util/Random;DDDD)V net/minecraft/command/CommandSpreadPlayers$Position/func_111097_a (Ljava/util/Random;DDDD)V +MD: cs/b ()F net/minecraft/command/CommandSpreadPlayers$Position/func_111096_b ()F +MD: cs/b (Laqu;)Z net/minecraft/command/CommandSpreadPlayers$Position/func_111098_b (Lnet/minecraft/world/World;)Z +MD: cs/b (Lcs;)V net/minecraft/command/CommandSpreadPlayers$Position/func_111094_b (Lnet/minecraft/command/CommandSpreadPlayers$Position;)V +MD: csa/a ()V net/minecraft/client/renderer/entity/RenderZombie$1/func_177177_a ()V +MD: csb/a ()V net/minecraft/client/renderer/entity/layers/LayerArmorBase/func_177177_a ()V +MD: csb/a (I)Lccq; net/minecraft/client/renderer/entity/layers/LayerArmorBase/func_177175_a (I)Lnet/minecraft/client/model/ModelBase; +MD: csb/a (Lajn;Z)Loa; net/minecraft/client/renderer/entity/layers/LayerArmorBase/func_177181_a (Lnet/minecraft/item/ItemArmor;Z)Lnet/minecraft/util/ResourceLocation; +MD: csb/a (Lajn;ZLjava/lang/String;)Loa; net/minecraft/client/renderer/entity/layers/LayerArmorBase/func_177178_a (Lnet/minecraft/item/ItemArmor;ZLjava/lang/String;)Lnet/minecraft/util/ResourceLocation; +MD: csb/a (Lccq;I)V net/minecraft/client/renderer/entity/layers/LayerArmorBase/func_177179_a (Lnet/minecraft/client/model/ModelBase;I)V +MD: csb/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerArmorBase/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csb/a (Lxm;FFFFFFFI)V net/minecraft/client/renderer/entity/layers/LayerArmorBase/func_177182_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFFI)V +MD: csb/a (Lxm;I)Lamj; net/minecraft/client/renderer/entity/layers/LayerArmorBase/func_177176_a (Lnet/minecraft/entity/EntityLivingBase;I)Lnet/minecraft/item/ItemStack; +MD: csb/a (Lxm;Lccq;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerArmorBase/func_177183_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/client/model/ModelBase;FFFFFFF)V +MD: csb/b ()Z net/minecraft/client/renderer/entity/layers/LayerArmorBase/func_177142_b ()Z +MD: csb/b (I)Z net/minecraft/client/renderer/entity/layers/LayerArmorBase/func_177180_b (I)Z +MD: csd/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerArrow/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csd/b ()Z net/minecraft/client/renderer/entity/layers/LayerArrow/func_177142_b ()Z +MD: cse/a (Lcil;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerCape/func_177166_a (Lnet/minecraft/client/entity/AbstractClientPlayer;FFFFFFF)V +MD: cse/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerCape/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: cse/b ()Z net/minecraft/client/renderer/entity/layers/LayerCape/func_177142_b ()Z +MD: csf/a (Laer;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerHeldBlock/func_177173_a (Lnet/minecraft/entity/monster/EntityEnderman;FFFFFFF)V +MD: csf/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerHeldBlock/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csf/b ()Z net/minecraft/client/renderer/entity/layers/LayerHeldBlock/func_177142_b ()Z +MD: csg/a (Laep;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerCreeperCharge/func_177169_a (Lnet/minecraft/entity/monster/EntityCreeper;FFFFFFF)V +MD: csg/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerCreeperCharge/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csg/b ()Z net/minecraft/client/renderer/entity/layers/LayerCreeperCharge/func_177142_b ()Z +MD: csh/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerCustomHead/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csh/b ()Z net/minecraft/client/renderer/entity/layers/LayerCustomHead/func_177142_b ()Z +MD: csi/a (Lcil;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerDeadmau5Head/func_177207_a (Lnet/minecraft/client/entity/AbstractClientPlayer;FFFFFFF)V +MD: csi/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerDeadmau5Head/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csi/b ()Z net/minecraft/client/renderer/entity/layers/LayerDeadmau5Head/func_177142_b ()Z +MD: csj/a (Ladb;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerEnderDragonDeath/func_177213_a (Lnet/minecraft/entity/boss/EntityDragon;FFFFFFF)V +MD: csj/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerEnderDragonDeath/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csj/b ()Z net/minecraft/client/renderer/entity/layers/LayerEnderDragonDeath/func_177142_b ()Z +MD: csk/a (Ladb;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerEnderDragonEyes/func_177210_a (Lnet/minecraft/entity/boss/EntityDragon;FFFFFFF)V +MD: csk/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerEnderDragonEyes/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csk/b ()Z net/minecraft/client/renderer/entity/layers/LayerEnderDragonEyes/func_177142_b ()Z +MD: csl/a (Laer;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerEndermanEyes/func_177201_a (Lnet/minecraft/entity/monster/EntityEnderman;FFFFFFF)V +MD: csl/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerEndermanEyes/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csl/b ()Z net/minecraft/client/renderer/entity/layers/LayerEndermanEyes/func_177142_b ()Z +MD: csm/a ()V net/minecraft/client/renderer/entity/layers/LayerBipedArmor/func_177177_a ()V +MD: csm/a (Lccl;)V net/minecraft/client/renderer/entity/layers/LayerBipedArmor/func_177194_a (Lnet/minecraft/client/model/ModelBiped;)V +MD: csm/a (Lccl;I)V net/minecraft/client/renderer/entity/layers/LayerBipedArmor/func_177195_a (Lnet/minecraft/client/model/ModelBiped;I)V +MD: csm/a (Lccq;I)V net/minecraft/client/renderer/entity/layers/LayerBipedArmor/func_177179_a (Lnet/minecraft/client/model/ModelBase;I)V +MD: csn/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerHeldItem/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csn/b ()Z net/minecraft/client/renderer/entity/layers/LayerHeldItem/func_177142_b ()Z +MD: cso/a (Labx;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerMooshroomMushroom/func_177204_a (Lnet/minecraft/entity/passive/EntityMooshroom;FFFFFFF)V +MD: cso/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerMooshroomMushroom/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: cso/b ()Z net/minecraft/client/renderer/entity/layers/LayerMooshroomMushroom/func_177142_b ()Z +MD: csp/a (Laca;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerSaddle/func_177155_a (Lnet/minecraft/entity/passive/EntityPig;FFFFFFF)V +MD: csp/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerSaddle/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csp/b ()Z net/minecraft/client/renderer/entity/layers/LayerSaddle/func_177142_b ()Z +MD: csq/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerRenderer/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csq/b ()Z net/minecraft/client/renderer/entity/layers/LayerRenderer/func_177142_b ()Z +MD: csr/a (Lacl;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerSheepWool/func_177162_a (Lnet/minecraft/entity/passive/EntitySheep;FFFFFFF)V +MD: csr/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerSheepWool/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csr/b ()Z net/minecraft/client/renderer/entity/layers/LayerSheepWool/func_177142_b ()Z +MD: css/a (Lafy;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerSlimeGel/func_177159_a (Lnet/minecraft/entity/monster/EntitySlime;FFFFFFF)V +MD: css/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerSlimeGel/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: css/b ()Z net/minecraft/client/renderer/entity/layers/LayerSlimeGel/func_177142_b ()Z +MD: cst/a (Lacn;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerSnowmanHead/func_177151_a (Lnet/minecraft/entity/monster/EntitySnowman;FFFFFFF)V +MD: cst/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerSnowmanHead/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: cst/b ()Z net/minecraft/client/renderer/entity/layers/LayerSnowmanHead/func_177142_b ()Z +MD: csu/a (Lage;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerSpiderEyes/func_177148_a (Lnet/minecraft/entity/monster/EntitySpider;FFFFFFF)V +MD: csu/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerSpiderEyes/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csu/b ()Z net/minecraft/client/renderer/entity/layers/LayerSpiderEyes/func_177142_b ()Z +MD: csv/a ()V net/minecraft/client/renderer/entity/layers/LayerVillagerArmor/func_177177_a ()V +MD: csw/a (Lacq;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerIronGolemFlower/func_177153_a (Lnet/minecraft/entity/monster/EntityIronGolem;FFFFFFF)V +MD: csw/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerIronGolemFlower/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csw/b ()Z net/minecraft/client/renderer/entity/layers/LayerIronGolemFlower/func_177142_b ()Z +MD: csx/a (Lagi;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerHeldItemWitch/func_177143_a (Lnet/minecraft/entity/monster/EntityWitch;FFFFFFF)V +MD: csx/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerHeldItemWitch/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csx/b ()Z net/minecraft/client/renderer/entity/layers/LayerHeldItemWitch/func_177142_b ()Z +MD: csy/a (Ladf;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerWitherAura/func_177214_a (Lnet/minecraft/entity/boss/EntityWither;FFFFFFF)V +MD: csy/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerWitherAura/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csy/b ()Z net/minecraft/client/renderer/entity/layers/LayerWitherAura/func_177142_b ()Z +MD: csz/a (Lacu;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerWolfCollar/func_177145_a (Lnet/minecraft/entity/passive/EntityWolf;FFFFFFF)V +MD: csz/a (Lxm;FFFFFFF)V net/minecraft/client/renderer/entity/layers/LayerWolfCollar/func_177141_a (Lnet/minecraft/entity/EntityLivingBase;FFFFFFF)V +MD: csz/b ()Z net/minecraft/client/renderer/entity/layers/LayerWolfCollar/func_177142_b ()Z +MD: ct/a ()I net/minecraft/command/CommandStats/func_82362_a ()I +MD: ct/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandStats/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: ct/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandStats/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: ct/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandStats/func_82358_a ([Ljava/lang/String;I)Z +MD: ct/c ()Ljava/lang/String; net/minecraft/command/CommandStats/func_71517_b ()Ljava/lang/String; +MD: ct/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandStats/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: ct/d ()[Ljava/lang/String; net/minecraft/command/CommandStats/func_175776_d ()[Ljava/lang/String; +MD: ct/e ()Ljava/util/List; net/minecraft/command/CommandStats/func_175777_e ()Ljava/util/List; +MD: ctc/B_ ()V net/minecraft/client/renderer/entity/RenderPlayer/func_82422_c ()V +MD: ctc/a (Lcil;)Loa; net/minecraft/client/renderer/entity/RenderPlayer/func_180594_a (Lnet/minecraft/client/entity/AbstractClientPlayer;)Lnet/minecraft/util/ResourceLocation; +MD: ctc/a (Lcil;DDD)V net/minecraft/client/renderer/entity/RenderPlayer/func_77039_a (Lnet/minecraft/client/entity/AbstractClientPlayer;DDD)V +MD: ctc/a (Lcil;DDDFF)V net/minecraft/client/renderer/entity/RenderPlayer/func_180596_a (Lnet/minecraft/client/entity/AbstractClientPlayer;DDDFF)V +MD: ctc/a (Lcil;DDDLjava/lang/String;FD)V net/minecraft/client/renderer/entity/RenderPlayer/func_96449_a (Lnet/minecraft/client/entity/AbstractClientPlayer;DDDLjava/lang/String;FD)V +MD: ctc/a (Lcil;F)V net/minecraft/client/renderer/entity/RenderPlayer/func_77041_b (Lnet/minecraft/client/entity/AbstractClientPlayer;F)V +MD: ctc/a (Lcil;FFF)V net/minecraft/client/renderer/entity/RenderPlayer/func_180595_a (Lnet/minecraft/client/entity/AbstractClientPlayer;FFF)V +MD: ctc/a (Lwv;)Loa; net/minecraft/client/renderer/entity/RenderPlayer/func_110775_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/ResourceLocation; +MD: ctc/a (Lwv;DDDFF)V net/minecraft/client/renderer/entity/RenderPlayer/func_76986_a (Lnet/minecraft/entity/Entity;DDDFF)V +MD: ctc/a (Lwv;DDDLjava/lang/String;FD)V net/minecraft/client/renderer/entity/RenderPlayer/func_177069_a (Lnet/minecraft/entity/Entity;DDDLjava/lang/String;FD)V +MD: ctc/a (Lxm;DDD)V net/minecraft/client/renderer/entity/RenderPlayer/func_77039_a (Lnet/minecraft/entity/EntityLivingBase;DDD)V +MD: ctc/a (Lxm;DDDFF)V net/minecraft/client/renderer/entity/RenderPlayer/func_76986_a (Lnet/minecraft/entity/EntityLivingBase;DDDFF)V +MD: ctc/a (Lxm;F)V net/minecraft/client/renderer/entity/RenderPlayer/func_77041_b (Lnet/minecraft/entity/EntityLivingBase;F)V +MD: ctc/a (Lxm;FFF)V net/minecraft/client/renderer/entity/RenderPlayer/func_77043_a (Lnet/minecraft/entity/EntityLivingBase;FFF)V +MD: ctc/b ()Lccq; net/minecraft/client/renderer/entity/RenderPlayer/func_177087_b ()Lnet/minecraft/client/model/ModelBase; +MD: ctc/b (Lcil;)V net/minecraft/client/renderer/entity/RenderPlayer/func_177138_b (Lnet/minecraft/client/entity/AbstractClientPlayer;)V +MD: ctc/c (Lcil;)V net/minecraft/client/renderer/entity/RenderPlayer/func_177139_c (Lnet/minecraft/client/entity/AbstractClientPlayer;)V +MD: ctc/d (Lcil;)V net/minecraft/client/renderer/entity/RenderPlayer/func_177137_d (Lnet/minecraft/client/entity/AbstractClientPlayer;)V +MD: ctc/g ()Lcct; net/minecraft/client/renderer/entity/RenderPlayer/func_177136_g ()Lnet/minecraft/client/model/ModelPlayer; +MD: ctd/a ()V net/minecraft/client/util/JsonBlendingMode/func_148109_a ()V +MD: ctd/a (Lcom/google/gson/JsonObject;)Lctd; net/minecraft/client/util/JsonBlendingMode/func_148110_a (Lcom/google/gson/JsonObject;)Lnet/minecraft/client/util/JsonBlendingMode; +MD: ctd/a (Ljava/lang/String;)I net/minecraft/client/util/JsonBlendingMode/func_148108_a (Ljava/lang/String;)I +MD: ctd/b ()Z net/minecraft/client/util/JsonBlendingMode/func_148111_b ()Z +MD: ctd/b (Ljava/lang/String;)I net/minecraft/client/util/JsonBlendingMode/func_148107_b (Ljava/lang/String;)I +MD: ctd/equals (Ljava/lang/Object;)Z net/minecraft/client/util/JsonBlendingMode/equals (Ljava/lang/Object;)Z +MD: ctd/hashCode ()I net/minecraft/client/util/JsonBlendingMode/hashCode ()I +MD: cte/a (F)V net/minecraft/client/shader/ShaderDefault/func_148090_a (F)V +MD: cte/a (FF)V net/minecraft/client/shader/ShaderDefault/func_148087_a (FF)V +MD: cte/a (FFF)V net/minecraft/client/shader/ShaderDefault/func_148095_a (FFF)V +MD: cte/a (FFFF)V net/minecraft/client/shader/ShaderDefault/func_148081_a (FFFF)V +MD: cte/a (FFFFFFFFFFFFFFFF)V net/minecraft/client/shader/ShaderDefault/func_148094_a (FFFFFFFFFFFFFFFF)V +MD: cte/a (IIII)V net/minecraft/client/shader/ShaderDefault/func_148083_a (IIII)V +MD: cte/a (Ljavax/vecmath/Matrix4f;)V net/minecraft/client/shader/ShaderDefault/func_148088_a (Ljavax/vecmath/Matrix4f;)V +MD: cte/a ([F)V net/minecraft/client/shader/ShaderDefault/func_148097_a ([F)V +MD: cte/b (FFFF)V net/minecraft/client/shader/ShaderDefault/func_148092_b (FFFF)V +MD: ctf/a ()V net/minecraft/client/shader/ShaderManager/func_147988_a ()V +MD: ctf/a (Lcom/google/gson/JsonElement;)V net/minecraft/client/shader/ShaderManager/func_147996_a (Lcom/google/gson/JsonElement;)V +MD: ctf/a (Ljava/lang/String;)Lctl; net/minecraft/client/shader/ShaderManager/func_147991_a (Ljava/lang/String;)Lnet/minecraft/client/shader/ShaderUniform; +MD: ctf/a (Ljava/lang/String;Ljava/lang/Object;)V net/minecraft/client/shader/ShaderManager/func_147992_a (Ljava/lang/String;Ljava/lang/Object;)V +MD: ctf/b ()V net/minecraft/client/shader/ShaderManager/func_147993_b ()V +MD: ctf/b (Lcom/google/gson/JsonElement;)V net/minecraft/client/shader/ShaderManager/func_147987_b (Lcom/google/gson/JsonElement;)V +MD: ctf/b (Ljava/lang/String;)Lctl; net/minecraft/client/shader/ShaderManager/func_147984_b (Ljava/lang/String;)Lnet/minecraft/client/shader/ShaderUniform; +MD: ctf/c ()V net/minecraft/client/shader/ShaderManager/func_147995_c ()V +MD: ctf/d ()V net/minecraft/client/shader/ShaderManager/func_147985_d ()V +MD: ctf/e ()Lcti; net/minecraft/client/shader/ShaderManager/func_147989_e ()Lnet/minecraft/client/shader/ShaderLoader; +MD: ctf/f ()Lcti; net/minecraft/client/shader/ShaderManager/func_147994_f ()Lnet/minecraft/client/shader/ShaderLoader; +MD: ctf/h ()I net/minecraft/client/shader/ShaderManager/func_147986_h ()I +MD: ctf/i ()V net/minecraft/client/shader/ShaderManager/func_147990_i ()V +MD: ctg/a ()V net/minecraft/client/shader/ShaderGroup/func_148021_a ()V +MD: ctg/a (F)V net/minecraft/client/shader/ShaderGroup/func_148018_a (F)V +MD: ctg/a (II)V net/minecraft/client/shader/ShaderGroup/func_148026_a (II)V +MD: ctg/a (Lcom/google/gson/JsonElement;)V net/minecraft/client/shader/ShaderGroup/func_148027_a (Lcom/google/gson/JsonElement;)V +MD: ctg/a (Lcug;Lcom/google/gson/JsonElement;)V net/minecraft/client/shader/ShaderGroup/func_152764_a (Lnet/minecraft/client/renderer/texture/TextureManager;Lcom/google/gson/JsonElement;)V +MD: ctg/a (Lcug;Loa;)V net/minecraft/client/shader/ShaderGroup/func_152765_a (Lnet/minecraft/client/renderer/texture/TextureManager;Lnet/minecraft/util/ResourceLocation;)V +MD: ctg/a (Ljava/lang/String;)Lckw; net/minecraft/client/shader/ShaderGroup/func_177066_a (Ljava/lang/String;)Lnet/minecraft/client/shader/Framebuffer; +MD: ctg/a (Ljava/lang/String;II)V net/minecraft/client/shader/ShaderGroup/func_148020_a (Ljava/lang/String;II)V +MD: ctg/a (Ljava/lang/String;Lckw;Lckw;)Lcth; net/minecraft/client/shader/ShaderGroup/func_148023_a (Ljava/lang/String;Lnet/minecraft/client/shader/Framebuffer;Lnet/minecraft/client/shader/Framebuffer;)Lnet/minecraft/client/shader/Shader; +MD: ctg/b ()Ljava/lang/String; net/minecraft/client/shader/ShaderGroup/func_148022_b ()Ljava/lang/String; +MD: ctg/b (Lcom/google/gson/JsonElement;)V net/minecraft/client/shader/ShaderGroup/func_148028_c (Lcom/google/gson/JsonElement;)V +MD: ctg/b (Ljava/lang/String;)Lckw; net/minecraft/client/shader/ShaderGroup/func_148017_a (Ljava/lang/String;)Lnet/minecraft/client/shader/Framebuffer; +MD: ctg/c ()V net/minecraft/client/shader/ShaderGroup/func_148024_c ()V +MD: cth/a (F)V net/minecraft/client/shader/Shader/func_148042_a (F)V +MD: cth/a (Ljava/lang/String;Ljava/lang/Object;II)V net/minecraft/client/shader/Shader/func_148041_a (Ljava/lang/String;Ljava/lang/Object;II)V +MD: cth/a (Ljavax/vecmath/Matrix4f;)V net/minecraft/client/shader/Shader/func_148045_a (Ljavax/vecmath/Matrix4f;)V +MD: cth/b ()V net/minecraft/client/shader/Shader/func_148044_b ()V +MD: cth/c ()Lctf; net/minecraft/client/shader/Shader/func_148043_c ()Lnet/minecraft/client/shader/ShaderManager; +MD: cth/d ()V net/minecraft/client/shader/Shader/func_148040_d ()V +MD: cti/a ()Ljava/lang/String; net/minecraft/client/shader/ShaderLoader/func_148055_a ()Ljava/lang/String; +MD: cti/a (Lctf;)V net/minecraft/client/shader/ShaderLoader/func_148056_a (Lnet/minecraft/client/shader/ShaderManager;)V +MD: cti/a (Lcvk;Lctj;Ljava/lang/String;)Lcti; net/minecraft/client/shader/ShaderLoader/func_148057_a (Lnet/minecraft/client/resources/IResourceManager;Lnet/minecraft/client/shader/ShaderLoader$ShaderType;Ljava/lang/String;)Lnet/minecraft/client/shader/ShaderLoader; +MD: cti/a (Ljava/io/BufferedInputStream;)[B net/minecraft/client/shader/ShaderLoader/func_177064_a (Ljava/io/BufferedInputStream;)[B +MD: cti/b (Lctf;)V net/minecraft/client/shader/ShaderLoader/func_148054_b (Lnet/minecraft/client/shader/ShaderManager;)V +MD: ctj/a ()Ljava/lang/String; net/minecraft/client/shader/ShaderLoader$ShaderType/func_148062_a ()Ljava/lang/String; +MD: ctj/b ()Ljava/lang/String; net/minecraft/client/shader/ShaderLoader$ShaderType/func_148063_b ()Ljava/lang/String; +MD: ctj/c ()I net/minecraft/client/shader/ShaderLoader$ShaderType/func_148065_c ()I +MD: ctj/d ()Ljava/util/Map; net/minecraft/client/shader/ShaderLoader$ShaderType/func_148064_d ()Ljava/util/Map; +MD: ctj/values ()[Lctj; net/minecraft/client/shader/ShaderLoader$ShaderType/values ()[Lnet/minecraft/client/shader/ShaderLoader$ShaderType; +MD: ctk/a ()V net/minecraft/client/shader/ShaderLinkHelper/func_148076_a ()V +MD: ctk/a (Lctf;)V net/minecraft/client/shader/ShaderLinkHelper/func_148077_a (Lnet/minecraft/client/shader/ShaderManager;)V +MD: ctk/b ()Lctk; net/minecraft/client/shader/ShaderLinkHelper/func_148074_b ()Lnet/minecraft/client/shader/ShaderLinkHelper; +MD: ctk/b (Lctf;)V net/minecraft/client/shader/ShaderLinkHelper/func_148075_b (Lnet/minecraft/client/shader/ShaderManager;)V +MD: ctk/c ()I net/minecraft/client/shader/ShaderLinkHelper/func_148078_c ()I +MD: ctl/a ()Ljava/lang/String; net/minecraft/client/shader/ShaderUniform/func_148086_a ()Ljava/lang/String; +MD: ctl/a (F)V net/minecraft/client/shader/ShaderUniform/func_148090_a (F)V +MD: ctl/a (FF)V net/minecraft/client/shader/ShaderUniform/func_148087_a (FF)V +MD: ctl/a (FFF)V net/minecraft/client/shader/ShaderUniform/func_148095_a (FFF)V +MD: ctl/a (FFFF)V net/minecraft/client/shader/ShaderUniform/func_148081_a (FFFF)V +MD: ctl/a (FFFFFFFFFFFFFFFF)V net/minecraft/client/shader/ShaderUniform/func_148094_a (FFFFFFFFFFFFFFFF)V +MD: ctl/a (IIII)V net/minecraft/client/shader/ShaderUniform/func_148083_a (IIII)V +MD: ctl/a (Ljava/lang/String;)I net/minecraft/client/shader/ShaderUniform/func_148085_a (Ljava/lang/String;)I +MD: ctl/a (Ljavax/vecmath/Matrix4f;)V net/minecraft/client/shader/ShaderUniform/func_148088_a (Ljavax/vecmath/Matrix4f;)V +MD: ctl/a ([F)V net/minecraft/client/shader/ShaderUniform/func_148097_a ([F)V +MD: ctl/b ()V net/minecraft/client/shader/ShaderUniform/func_148093_b ()V +MD: ctl/b (FFFF)V net/minecraft/client/shader/ShaderUniform/func_148092_b (FFFF)V +MD: ctl/b (I)V net/minecraft/client/shader/ShaderUniform/func_148084_b (I)V +MD: ctl/h ()V net/minecraft/client/shader/ShaderUniform/func_148096_h ()V +MD: ctl/i ()V net/minecraft/client/shader/ShaderUniform/func_148091_i ()V +MD: ctl/j ()V net/minecraft/client/shader/ShaderUniform/func_148089_j ()V +MD: ctl/k ()V net/minecraft/client/shader/ShaderUniform/func_148082_k ()V +MD: cto/a ()V net/minecraft/client/renderer/texture/AbstractTexture/func_174935_a ()V +MD: cto/a (ZZ)V net/minecraft/client/renderer/texture/AbstractTexture/func_174937_a (ZZ)V +MD: cto/b ()I net/minecraft/client/renderer/texture/AbstractTexture/func_110552_b ()I +MD: cto/b (ZZ)V net/minecraft/client/renderer/texture/AbstractTexture/func_174936_b (ZZ)V +MD: cto/c ()V net/minecraft/client/renderer/texture/AbstractTexture/func_147631_c ()V +MD: ctp/a (Lcvk;)V net/minecraft/client/renderer/texture/DynamicTexture/func_110551_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: ctp/d ()V net/minecraft/client/renderer/texture/DynamicTexture/func_110564_a ()V +MD: ctp/e ()[I net/minecraft/client/renderer/texture/DynamicTexture/func_110565_c ()[I +MD: ctq/a (Lctq;)Ljava/lang/String; net/minecraft/client/renderer/ThreadDownloadImageData/access$000 (Lnet/minecraft/client/renderer/ThreadDownloadImageData;)Ljava/lang/String; +MD: ctq/a (Lcvk;)V net/minecraft/client/renderer/ThreadDownloadImageData/func_110551_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: ctq/a (Ljava/awt/image/BufferedImage;)V net/minecraft/client/renderer/ThreadDownloadImageData/func_147641_a (Ljava/awt/image/BufferedImage;)V +MD: ctq/b ()I net/minecraft/client/renderer/ThreadDownloadImageData/func_110552_b ()I +MD: ctq/b (Lctq;)Ljava/io/File; net/minecraft/client/renderer/ThreadDownloadImageData/access$100 (Lnet/minecraft/client/renderer/ThreadDownloadImageData;)Ljava/io/File; +MD: ctq/c (Lctq;)Lckh; net/minecraft/client/renderer/ThreadDownloadImageData/access$300 (Lnet/minecraft/client/renderer/ThreadDownloadImageData;)Lnet/minecraft/client/renderer/IImageBuffer; +MD: ctq/d ()V net/minecraft/client/renderer/ThreadDownloadImageData/func_152433_a ()V +MD: ctq/f ()Lorg/apache/logging/log4j/Logger; net/minecraft/client/renderer/ThreadDownloadImageData/access$200 ()Lorg/apache/logging/log4j/Logger; +MD: ctq/g ()V net/minecraft/client/renderer/ThreadDownloadImageData/func_147640_e ()V +MD: ctr/run ()V net/minecraft/client/renderer/ThreadDownloadImageData$1/run ()V +MD: cts/a (Lcua;)V net/minecraft/client/renderer/texture/IIconCreator/func_177059_a (Lnet/minecraft/client/renderer/texture/TextureMap;)V +MD: ctt/a (Lcvk;)V net/minecraft/client/renderer/texture/LayeredColorMaskTexture/func_110551_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: ctu/a (Lcvk;)V net/minecraft/client/renderer/texture/LayeredTexture/func_110551_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: ctv/a (Lcvk;)V net/minecraft/client/renderer/texture/SimpleTexture/func_110551_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: ctw/a ()I net/minecraft/client/renderer/texture/Stitcher/func_110935_a ()I +MD: ctw/a (II)I net/minecraft/client/renderer/texture/Stitcher/access$000 (II)I +MD: ctw/a (Lctx;)Z net/minecraft/client/renderer/texture/Stitcher/func_94310_b (Lnet/minecraft/client/renderer/texture/Stitcher$Holder;)Z +MD: ctw/a (Lcue;)V net/minecraft/client/renderer/texture/Stitcher/func_110934_a (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)V +MD: ctw/b ()I net/minecraft/client/renderer/texture/Stitcher/func_110936_b ()I +MD: ctw/b (II)I net/minecraft/client/renderer/texture/Stitcher/func_147969_b (II)I +MD: ctw/b (Lctx;)Z net/minecraft/client/renderer/texture/Stitcher/func_94311_c (Lnet/minecraft/client/renderer/texture/Stitcher$Holder;)Z +MD: ctw/c ()V net/minecraft/client/renderer/texture/Stitcher/func_94305_f ()V +MD: ctw/d ()Ljava/util/List; net/minecraft/client/renderer/texture/Stitcher/func_94309_g ()Ljava/util/List; +MD: ctx/a ()Lcue; net/minecraft/client/renderer/texture/Stitcher$Holder/func_98150_a ()Lnet/minecraft/client/renderer/texture/TextureAtlasSprite; +MD: ctx/a (I)V net/minecraft/client/renderer/texture/Stitcher$Holder/func_94196_a (I)V +MD: ctx/a (Lctx;)I net/minecraft/client/renderer/texture/Stitcher$Holder/compareTo (Lnet/minecraft/client/renderer/texture/Stitcher$Holder;)I +MD: ctx/b ()I net/minecraft/client/renderer/texture/Stitcher$Holder/func_94197_a ()I +MD: ctx/c ()I net/minecraft/client/renderer/texture/Stitcher$Holder/func_94199_b ()I +MD: ctx/compareTo (Ljava/lang/Object;)I net/minecraft/client/renderer/texture/Stitcher$Holder/compareTo (Ljava/lang/Object;)I +MD: ctx/d ()V net/minecraft/client/renderer/texture/Stitcher$Holder/func_94194_d ()V +MD: ctx/e ()Z net/minecraft/client/renderer/texture/Stitcher$Holder/func_94195_e ()Z +MD: ctx/toString ()Ljava/lang/String; net/minecraft/client/renderer/texture/Stitcher$Holder/toString ()Ljava/lang/String; +MD: cty/a ()Lctx; net/minecraft/client/renderer/texture/Stitcher$Slot/func_94183_a ()Lnet/minecraft/client/renderer/texture/Stitcher$Holder; +MD: cty/a (Lctx;)Z net/minecraft/client/renderer/texture/Stitcher$Slot/func_94182_a (Lnet/minecraft/client/renderer/texture/Stitcher$Holder;)Z +MD: cty/a (Ljava/util/List;)V net/minecraft/client/renderer/texture/Stitcher$Slot/func_94184_a (Ljava/util/List;)V +MD: cty/b ()I net/minecraft/client/renderer/texture/Stitcher$Slot/func_94186_b ()I +MD: cty/c ()I net/minecraft/client/renderer/texture/Stitcher$Slot/func_94185_c ()I +MD: cty/toString ()Ljava/lang/String; net/minecraft/client/renderer/texture/Stitcher$Slot/toString ()Ljava/lang/String; +MD: cu/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandStop/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cu/c ()Ljava/lang/String; net/minecraft/command/server/CommandStop/func_71517_b ()Ljava/lang/String; +MD: cu/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandStop/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cua/a (I)V net/minecraft/client/renderer/texture/TextureMap/func_147633_a (I)V +MD: cua/a (Lcvk;)V net/minecraft/client/renderer/texture/TextureMap/func_110551_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: cua/a (Lcvk;Lcts;)V net/minecraft/client/renderer/texture/TextureMap/func_174943_a (Lnet/minecraft/client/resources/IResourceManager;Lnet/minecraft/client/renderer/texture/IIconCreator;)V +MD: cua/a (Ljava/lang/String;)Lcue; net/minecraft/client/renderer/texture/TextureMap/func_110572_b (Ljava/lang/String;)Lnet/minecraft/client/renderer/texture/TextureAtlasSprite; +MD: cua/a (Loa;)Lcue; net/minecraft/client/renderer/texture/TextureMap/func_174942_a (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/renderer/texture/TextureAtlasSprite; +MD: cua/a (Loa;I)Loa; net/minecraft/client/renderer/texture/TextureMap/func_147634_a (Lnet/minecraft/util/ResourceLocation;I)Lnet/minecraft/util/ResourceLocation; +MD: cua/b (Lcvk;)V net/minecraft/client/renderer/texture/TextureMap/func_110571_b (Lnet/minecraft/client/resources/IResourceManager;)V +MD: cua/d ()V net/minecraft/client/renderer/texture/TextureMap/func_94248_c ()V +MD: cua/e ()V net/minecraft/client/renderer/texture/TextureMap/func_110550_d ()V +MD: cua/f ()Lcue; net/minecraft/client/renderer/texture/TextureMap/func_174944_f ()Lnet/minecraft/client/renderer/texture/TextureAtlasSprite; +MD: cua/g ()V net/minecraft/client/renderer/texture/TextureMap/func_110569_e ()V +MD: cub/a ()Ljava/lang/String; net/minecraft/client/renderer/texture/TextureMap$1/call ()Ljava/lang/String; +MD: cub/call ()Ljava/lang/Object; net/minecraft/client/renderer/texture/TextureMap$1/call ()Ljava/lang/Object; +MD: cuc/a ()Ljava/lang/String; net/minecraft/client/renderer/texture/TextureMap$2/call ()Ljava/lang/String; +MD: cuc/call ()Ljava/lang/Object; net/minecraft/client/renderer/texture/TextureMap$2/call ()Ljava/lang/Object; +MD: cud/a ()Ljava/lang/String; net/minecraft/client/renderer/texture/TextureMap$3/call ()Ljava/lang/String; +MD: cud/call ()Ljava/lang/Object; net/minecraft/client/renderer/texture/TextureMap$3/call ()Ljava/lang/Object; +MD: cue/a ()I net/minecraft/client/renderer/texture/TextureAtlasSprite/func_130010_a ()I +MD: cue/a (D)F net/minecraft/client/renderer/texture/TextureAtlasSprite/func_94214_a (D)F +MD: cue/a (I)[[I net/minecraft/client/renderer/texture/TextureAtlasSprite/func_147965_a (I)[[I +MD: cue/a (IIIIZ)V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_110971_a (IIIIZ)V +MD: cue/a (Lcue;)V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_94217_a (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)V +MD: cue/a (Ljava/lang/String;)V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_176602_a (Ljava/lang/String;)V +MD: cue/a (Ljava/util/List;)V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_110968_a (Ljava/util/List;)V +MD: cue/a (Loa;)Lcue; net/minecraft/client/renderer/texture/TextureAtlasSprite/func_176604_a (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/renderer/texture/TextureAtlasSprite; +MD: cue/a ([Ljava/awt/image/BufferedImage;Lcwo;)V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_180598_a ([Ljava/awt/image/BufferedImage;Lnet/minecraft/client/resources/data/AnimationMetadataSection;)V +MD: cue/a ([[IIII)[[I net/minecraft/client/renderer/texture/TextureAtlasSprite/func_147962_a ([[IIII)[[I +MD: cue/b ()I net/minecraft/client/renderer/texture/TextureAtlasSprite/func_110967_i ()I +MD: cue/b (D)F net/minecraft/client/renderer/texture/TextureAtlasSprite/func_94207_b (D)F +MD: cue/b (I)V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_110966_b (I)V +MD: cue/b (Ljava/lang/String;)V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_176603_b (Ljava/lang/String;)V +MD: cue/c ()I net/minecraft/client/renderer/texture/TextureAtlasSprite/func_94211_a ()I +MD: cue/c (I)V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_110969_c (I)V +MD: cue/d ()I net/minecraft/client/renderer/texture/TextureAtlasSprite/func_94216_b ()I +MD: cue/d (I)V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_147963_d (I)V +MD: cue/e ()F net/minecraft/client/renderer/texture/TextureAtlasSprite/func_94209_e ()F +MD: cue/e (I)V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_130099_d (I)V +MD: cue/f ()F net/minecraft/client/renderer/texture/TextureAtlasSprite/func_94212_f ()F +MD: cue/g ()F net/minecraft/client/renderer/texture/TextureAtlasSprite/func_94206_g ()F +MD: cue/h ()F net/minecraft/client/renderer/texture/TextureAtlasSprite/func_94210_h ()F +MD: cue/i ()Ljava/lang/String; net/minecraft/client/renderer/texture/TextureAtlasSprite/func_94215_i ()Ljava/lang/String; +MD: cue/j ()V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_94219_l ()V +MD: cue/k ()I net/minecraft/client/renderer/texture/TextureAtlasSprite/func_110970_k ()I +MD: cue/l ()V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_130103_l ()V +MD: cue/m ()Z net/minecraft/client/renderer/texture/TextureAtlasSprite/func_130098_m ()Z +MD: cue/n ()V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_180599_n ()V +MD: cue/o ()V net/minecraft/client/renderer/texture/TextureAtlasSprite/func_130102_n ()V +MD: cue/toString ()Ljava/lang/String; net/minecraft/client/renderer/texture/TextureAtlasSprite/toString ()Ljava/lang/String; +MD: cuf/a ()Ljava/lang/String; net/minecraft/client/renderer/texture/TextureAtlasSprite$1/call ()Ljava/lang/String; +MD: cuf/call ()Ljava/lang/Object; net/minecraft/client/renderer/texture/TextureAtlasSprite$1/call ()Ljava/lang/Object; +MD: cug/a (Lcvk;)V net/minecraft/client/renderer/texture/TextureManager/func_110549_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: cug/a (Ljava/lang/String;Lctp;)Loa; net/minecraft/client/renderer/texture/TextureManager/func_110578_a (Ljava/lang/String;Lnet/minecraft/client/renderer/texture/DynamicTexture;)Lnet/minecraft/util/ResourceLocation; +MD: cug/a (Loa;)V net/minecraft/client/renderer/texture/TextureManager/func_110577_a (Lnet/minecraft/util/ResourceLocation;)V +MD: cug/a (Loa;Lcui;)Z net/minecraft/client/renderer/texture/TextureManager/func_110579_a (Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/client/renderer/texture/ITextureObject;)Z +MD: cug/a (Loa;Lcul;)Z net/minecraft/client/renderer/texture/TextureManager/func_110580_a (Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/client/renderer/texture/ITickableTextureObject;)Z +MD: cug/b (Loa;)Lcui; net/minecraft/client/renderer/texture/TextureManager/func_110581_b (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/renderer/texture/ITextureObject; +MD: cug/c (Loa;)V net/minecraft/client/renderer/texture/TextureManager/func_147645_c (Lnet/minecraft/util/ResourceLocation;)V +MD: cug/e ()V net/minecraft/client/renderer/texture/TextureManager/func_110550_d ()V +MD: cuh/a ()Ljava/lang/String; net/minecraft/client/renderer/texture/TextureManager$1/call ()Ljava/lang/String; +MD: cuh/call ()Ljava/lang/Object; net/minecraft/client/renderer/texture/TextureManager$1/call ()Ljava/lang/Object; +MD: cui/a ()V net/minecraft/client/renderer/texture/ITextureObject/func_174935_a ()V +MD: cui/a (Lcvk;)V net/minecraft/client/renderer/texture/ITextureObject/func_110551_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: cui/b ()I net/minecraft/client/renderer/texture/ITextureObject/func_110552_b ()I +MD: cui/b (ZZ)V net/minecraft/client/renderer/texture/ITextureObject/func_174936_b (ZZ)V +MD: cuj/a ()I net/minecraft/client/renderer/texture/TextureUtil/func_110996_a ()I +MD: cuj/a (I)V net/minecraft/client/renderer/texture/TextureUtil/func_147942_a (I)V +MD: cuj/a (III)V net/minecraft/client/renderer/texture/TextureUtil/func_110991_a (III)V +MD: cuj/a (IIII)V net/minecraft/client/renderer/texture/TextureUtil/func_180600_a (IIII)V +MD: cuj/a (IIIII)I net/minecraft/client/renderer/texture/TextureUtil/func_147944_a (IIIII)I +MD: cuj/a (IIIIZ)I net/minecraft/client/renderer/texture/TextureUtil/func_147943_a (IIIIZ)I +MD: cuj/a (II[[I)[[I net/minecraft/client/renderer/texture/TextureUtil/func_147949_a (II[[I)[[I +MD: cuj/a (ILjava/awt/image/BufferedImage;)I net/minecraft/client/renderer/texture/TextureUtil/func_110987_a (ILjava/awt/image/BufferedImage;)I +MD: cuj/a (ILjava/awt/image/BufferedImage;IIZZ)I net/minecraft/client/renderer/texture/TextureUtil/func_110995_a (ILjava/awt/image/BufferedImage;IIZZ)I +MD: cuj/a (ILjava/awt/image/BufferedImage;ZZ)I net/minecraft/client/renderer/texture/TextureUtil/func_110989_a (ILjava/awt/image/BufferedImage;ZZ)I +MD: cuj/a (I[III)V net/minecraft/client/renderer/texture/TextureUtil/func_110988_a (I[III)V +MD: cuj/a (I[IIIIIZZZ)V net/minecraft/client/renderer/texture/TextureUtil/func_147947_a (I[IIIIIZZZ)V +MD: cuj/a (Lcvk;Loa;)[I net/minecraft/client/renderer/texture/TextureUtil/func_110986_a (Lnet/minecraft/client/resources/IResourceManager;Lnet/minecraft/util/ResourceLocation;)[I +MD: cuj/a (Ljava/awt/image/BufferedImage;IIZZ)V net/minecraft/client/renderer/texture/TextureUtil/func_110993_a (Ljava/awt/image/BufferedImage;IIZZ)V +MD: cuj/a (Ljava/io/InputStream;)Ljava/awt/image/BufferedImage; net/minecraft/client/renderer/texture/TextureUtil/func_177053_a (Ljava/io/InputStream;)Ljava/awt/image/BufferedImage; +MD: cuj/a (Ljava/lang/String;IIII)V net/minecraft/client/renderer/texture/TextureUtil/func_177055_a (Ljava/lang/String;IIII)V +MD: cuj/a (Z)V net/minecraft/client/renderer/texture/TextureUtil/func_110997_a (Z)V +MD: cuj/a (ZZ)V net/minecraft/client/renderer/texture/TextureUtil/func_147954_b (ZZ)V +MD: cuj/a ([I)[I net/minecraft/client/renderer/texture/TextureUtil/func_110985_a ([I)[I +MD: cuj/a ([II)V net/minecraft/client/renderer/texture/TextureUtil/func_110990_a ([II)V +MD: cuj/a ([III)V net/minecraft/client/renderer/texture/TextureUtil/func_147953_a ([III)V +MD: cuj/a ([[IIIIIZZ)V net/minecraft/client/renderer/texture/TextureUtil/func_147955_a ([[IIIIIZZ)V +MD: cuj/b (I)V net/minecraft/client/renderer/texture/TextureUtil/func_94277_a (I)V +MD: cuj/b (Z)V net/minecraft/client/renderer/texture/TextureUtil/func_147951_b (Z)V +MD: cuj/b ([III)V net/minecraft/client/renderer/texture/TextureUtil/func_110994_a ([III)V +MD: cuj/c (I)I net/minecraft/client/renderer/texture/TextureUtil/func_177054_c (I)I +MD: cuk/e ()V net/minecraft/client/renderer/texture/ITickable/func_110550_d ()V +MD: cum/j ()V net/minecraft/client/renderer/texture/TextureClock/func_94219_l ()V +MD: cun/a (Laqu;DDDZZ)V net/minecraft/client/renderer/texture/TextureCompass/func_94241_a (Lnet/minecraft/world/World;DDDZZ)V +MD: cun/j ()V net/minecraft/client/renderer/texture/TextureCompass/func_94219_l ()V +MD: cur/a ()V net/minecraft/client/renderer/vertex/VertexBuffer/func_177359_a ()V +MD: cur/a (I)V net/minecraft/client/renderer/vertex/VertexBuffer/func_177358_a (I)V +MD: cur/a (Ljava/nio/ByteBuffer;I)V net/minecraft/client/renderer/vertex/VertexBuffer/func_177360_a (Ljava/nio/ByteBuffer;I)V +MD: cur/b ()V net/minecraft/client/renderer/vertex/VertexBuffer/func_177361_b ()V +MD: cur/c ()V net/minecraft/client/renderer/vertex/VertexBuffer/func_177362_c ()V +MD: cus/a ()V net/minecraft/client/renderer/vertex/VertexFormat/func_177339_a ()V +MD: cus/a (I)Z net/minecraft/client/renderer/vertex/VertexFormat/func_177347_a (I)Z +MD: cus/a (Lcuu;)V net/minecraft/client/renderer/vertex/VertexFormat/func_177349_a (Lnet/minecraft/client/renderer/vertex/VertexFormatElement;)V +MD: cus/b ()Z net/minecraft/client/renderer/vertex/VertexFormat/func_177350_b ()Z +MD: cus/b (I)I net/minecraft/client/renderer/vertex/VertexFormat/func_177344_b (I)I +MD: cus/c ()I net/minecraft/client/renderer/vertex/VertexFormat/func_177342_c ()I +MD: cus/c (I)Lcuu; net/minecraft/client/renderer/vertex/VertexFormat/func_177348_c (I)Lnet/minecraft/client/renderer/vertex/VertexFormatElement; +MD: cus/d ()Z net/minecraft/client/renderer/vertex/VertexFormat/func_177346_d ()Z +MD: cus/e ()I net/minecraft/client/renderer/vertex/VertexFormat/func_177340_e ()I +MD: cus/equals (Ljava/lang/Object;)Z net/minecraft/client/renderer/vertex/VertexFormat/equals (Ljava/lang/Object;)Z +MD: cus/f ()I net/minecraft/client/renderer/vertex/VertexFormat/func_177338_f ()I +MD: cus/g ()Ljava/util/List; net/minecraft/client/renderer/vertex/VertexFormat/func_177343_g ()Ljava/util/List; +MD: cus/h ()I net/minecraft/client/renderer/vertex/VertexFormat/func_177345_h ()I +MD: cus/hashCode ()I net/minecraft/client/renderer/vertex/VertexFormat/hashCode ()I +MD: cus/i ()Z net/minecraft/client/renderer/vertex/VertexFormat/func_177341_i ()Z +MD: cus/toString ()Ljava/lang/String; net/minecraft/client/renderer/vertex/VertexFormat/toString ()Ljava/lang/String; +MD: cuu/a ()I net/minecraft/client/renderer/vertex/VertexFormatElement/func_177373_a ()I +MD: cuu/a (I)V net/minecraft/client/renderer/vertex/VertexFormatElement/func_177371_a (I)V +MD: cuu/a (ILcuw;)Z net/minecraft/client/renderer/vertex/VertexFormatElement/func_177372_a (ILnet/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage;)Z +MD: cuu/b ()Lcuv; net/minecraft/client/renderer/vertex/VertexFormatElement/func_177367_b ()Lnet/minecraft/client/renderer/vertex/VertexFormatElement$EnumType; +MD: cuu/c ()Lcuw; net/minecraft/client/renderer/vertex/VertexFormatElement/func_177375_c ()Lnet/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage; +MD: cuu/d ()I net/minecraft/client/renderer/vertex/VertexFormatElement/func_177370_d ()I +MD: cuu/e ()I net/minecraft/client/renderer/vertex/VertexFormatElement/func_177369_e ()I +MD: cuu/equals (Ljava/lang/Object;)Z net/minecraft/client/renderer/vertex/VertexFormatElement/equals (Ljava/lang/Object;)Z +MD: cuu/f ()I net/minecraft/client/renderer/vertex/VertexFormatElement/func_177368_f ()I +MD: cuu/g ()Z net/minecraft/client/renderer/vertex/VertexFormatElement/func_177374_g ()Z +MD: cuu/hashCode ()I net/minecraft/client/renderer/vertex/VertexFormatElement/hashCode ()I +MD: cuu/toString ()Ljava/lang/String; net/minecraft/client/renderer/vertex/VertexFormatElement/toString ()Ljava/lang/String; +MD: cuv/a ()I net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/func_177395_a ()I +MD: cuv/b ()Ljava/lang/String; net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/func_177396_b ()Ljava/lang/String; +MD: cuv/c ()I net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/func_177397_c ()I +MD: cuv/values ()[Lcuv; net/minecraft/client/renderer/vertex/VertexFormatElement$EnumType/values ()[Lnet/minecraft/client/renderer/vertex/VertexFormatElement$EnumType; +MD: cuw/a ()Ljava/lang/String; net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage/func_177384_a ()Ljava/lang/String; +MD: cuw/values ()[Lcuw; net/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage/values ()[Lnet/minecraft/client/renderer/vertex/VertexFormatElement$EnumUsage; +MD: cuy/a ()Ljava/awt/image/BufferedImage; net/minecraft/client/resources/AbstractResourcePack/func_110586_a ()Ljava/awt/image/BufferedImage; +MD: cuy/a (Lcwk;Ljava/io/InputStream;Ljava/lang/String;)Lcwi; net/minecraft/client/resources/AbstractResourcePack/func_110596_a (Lnet/minecraft/client/resources/data/IMetadataSerializer;Ljava/io/InputStream;Ljava/lang/String;)Lnet/minecraft/client/resources/data/IMetadataSection; +MD: cuy/a (Lcwk;Ljava/lang/String;)Lcwi; net/minecraft/client/resources/AbstractResourcePack/func_135058_a (Lnet/minecraft/client/resources/data/IMetadataSerializer;Ljava/lang/String;)Lnet/minecraft/client/resources/data/IMetadataSection; +MD: cuy/a (Ljava/io/File;Ljava/io/File;)Ljava/lang/String; net/minecraft/client/resources/AbstractResourcePack/func_110595_a (Ljava/io/File;Ljava/io/File;)Ljava/lang/String; +MD: cuy/a (Ljava/lang/String;)Ljava/io/InputStream; net/minecraft/client/resources/AbstractResourcePack/func_110591_a (Ljava/lang/String;)Ljava/io/InputStream; +MD: cuy/a (Loa;)Ljava/io/InputStream; net/minecraft/client/resources/AbstractResourcePack/func_110590_a (Lnet/minecraft/util/ResourceLocation;)Ljava/io/InputStream; +MD: cuy/b ()Ljava/lang/String; net/minecraft/client/resources/AbstractResourcePack/func_130077_b ()Ljava/lang/String; +MD: cuy/b (Ljava/lang/String;)Z net/minecraft/client/resources/AbstractResourcePack/func_110593_b (Ljava/lang/String;)Z +MD: cuy/b (Loa;)Z net/minecraft/client/resources/AbstractResourcePack/func_110589_b (Lnet/minecraft/util/ResourceLocation;)Z +MD: cuy/c (Ljava/lang/String;)V net/minecraft/client/resources/AbstractResourcePack/func_110594_c (Ljava/lang/String;)V +MD: cuy/c (Loa;)Ljava/lang/String; net/minecraft/client/resources/AbstractResourcePack/func_110592_c (Lnet/minecraft/util/ResourceLocation;)Ljava/lang/String; +MD: cuz/a ()Ljava/util/Map; net/minecraft/client/resources/ResourceIndex/func_152782_a ()Ljava/util/Map; +MD: cv/a ()I net/minecraft/command/server/CommandSummon/func_82362_a ()I +MD: cv/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandSummon/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cv/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandSummon/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: cv/c ()Ljava/lang/String; net/minecraft/command/server/CommandSummon/func_71517_b ()Ljava/lang/String; +MD: cv/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandSummon/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cva/a ()Loa; net/minecraft/client/resources/DefaultPlayerSkin/func_177335_a ()Lnet/minecraft/util/ResourceLocation; +MD: cva/a (Ljava/util/UUID;)Loa; net/minecraft/client/resources/DefaultPlayerSkin/func_177334_a (Ljava/util/UUID;)Lnet/minecraft/util/ResourceLocation; +MD: cva/b (Ljava/util/UUID;)Ljava/lang/String; net/minecraft/client/resources/DefaultPlayerSkin/func_177332_b (Ljava/util/UUID;)Ljava/lang/String; +MD: cva/c (Ljava/util/UUID;)Z net/minecraft/client/resources/DefaultPlayerSkin/func_177333_c (Ljava/util/UUID;)Z +MD: cvb/a ()Ljava/awt/image/BufferedImage; net/minecraft/client/resources/DefaultResourcePack/func_110586_a ()Ljava/awt/image/BufferedImage; +MD: cvb/a (Lcwk;Ljava/lang/String;)Lcwi; net/minecraft/client/resources/DefaultResourcePack/func_135058_a (Lnet/minecraft/client/resources/data/IMetadataSerializer;Ljava/lang/String;)Lnet/minecraft/client/resources/data/IMetadataSection; +MD: cvb/a (Loa;)Ljava/io/InputStream; net/minecraft/client/resources/DefaultResourcePack/func_110590_a (Lnet/minecraft/util/ResourceLocation;)Ljava/io/InputStream; +MD: cvb/b ()Ljava/lang/String; net/minecraft/client/resources/DefaultResourcePack/func_130077_b ()Ljava/lang/String; +MD: cvb/b (Loa;)Z net/minecraft/client/resources/DefaultResourcePack/func_110589_b (Lnet/minecraft/util/ResourceLocation;)Z +MD: cvb/c ()Ljava/util/Set; net/minecraft/client/resources/DefaultResourcePack/func_110587_b ()Ljava/util/Set; +MD: cvb/c (Loa;)Ljava/io/InputStream; net/minecraft/client/resources/DefaultResourcePack/func_152780_c (Lnet/minecraft/util/ResourceLocation;)Ljava/io/InputStream; +MD: cvb/d (Loa;)Ljava/io/InputStream; net/minecraft/client/resources/DefaultResourcePack/func_110605_c (Lnet/minecraft/util/ResourceLocation;)Ljava/io/InputStream; +MD: cvc/a ()Ljava/util/Set; net/minecraft/client/resources/FallbackResourceManager/func_135055_a ()Ljava/util/Set; +MD: cvc/a (Lcvm;)V net/minecraft/client/resources/FallbackResourceManager/func_110538_a (Lnet/minecraft/client/resources/IResourcePack;)V +MD: cvc/a (Loa;)Lcvj; net/minecraft/client/resources/FallbackResourceManager/func_110536_a (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/resources/IResource; +MD: cvc/a (Loa;Lcvm;)Ljava/io/InputStream; net/minecraft/client/resources/FallbackResourceManager/func_177245_a (Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/client/resources/IResourcePack;)Ljava/io/InputStream; +MD: cvc/b ()Lorg/apache/logging/log4j/Logger; net/minecraft/client/resources/FallbackResourceManager/access$000 ()Lorg/apache/logging/log4j/Logger; +MD: cvc/b (Loa;)Ljava/util/List; net/minecraft/client/resources/FallbackResourceManager/func_135056_b (Lnet/minecraft/util/ResourceLocation;)Ljava/util/List; +MD: cvc/c (Loa;)Loa; net/minecraft/client/resources/FallbackResourceManager/func_110537_b (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/util/ResourceLocation; +MD: cvd/close ()V net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger/close ()V +MD: cvd/finalize ()V net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger/finalize ()V +MD: cvd/read ()I net/minecraft/client/resources/FallbackResourceManager$InputStreamLeakedResourceLogger/read ()I +MD: cve/a (Ljava/lang/String;)Ljava/io/InputStream; net/minecraft/client/resources/FileResourcePack/func_110591_a (Ljava/lang/String;)Ljava/io/InputStream; +MD: cve/b (Ljava/lang/String;)Z net/minecraft/client/resources/FileResourcePack/func_110593_b (Ljava/lang/String;)Z +MD: cve/c ()Ljava/util/Set; net/minecraft/client/resources/FileResourcePack/func_110587_b ()Ljava/util/Set; +MD: cve/close ()V net/minecraft/client/resources/FileResourcePack/close ()V +MD: cve/d ()Ljava/util/zip/ZipFile; net/minecraft/client/resources/FileResourcePack/func_110599_c ()Ljava/util/zip/ZipFile; +MD: cve/finalize ()V net/minecraft/client/resources/FileResourcePack/finalize ()V +MD: cvf/a (Ljava/lang/String;)Ljava/io/InputStream; net/minecraft/client/resources/FolderResourcePack/func_110591_a (Ljava/lang/String;)Ljava/io/InputStream; +MD: cvf/b (Ljava/lang/String;)Z net/minecraft/client/resources/FolderResourcePack/func_110593_b (Ljava/lang/String;)Z +MD: cvf/c ()Ljava/util/Set; net/minecraft/client/resources/FolderResourcePack/func_110587_b ()Ljava/util/Set; +MD: cvg/a (Lcvk;)V net/minecraft/client/resources/FoliageColorReloadListener/func_110549_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: cvh/a (Lcvk;)V net/minecraft/client/resources/GrassColorReloadListener/func_110549_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: cvi/a (Lcvl;)V net/minecraft/client/resources/IReloadableResourceManager/func_110542_a (Lnet/minecraft/client/resources/IResourceManagerReloadListener;)V +MD: cvi/a (Ljava/util/List;)V net/minecraft/client/resources/IReloadableResourceManager/func_110541_a (Ljava/util/List;)V +MD: cvj/a ()Loa; net/minecraft/client/resources/IResource/func_177241_a ()Lnet/minecraft/util/ResourceLocation; +MD: cvj/a (Ljava/lang/String;)Lcwi; net/minecraft/client/resources/IResource/func_110526_a (Ljava/lang/String;)Lnet/minecraft/client/resources/data/IMetadataSection; +MD: cvj/b ()Ljava/io/InputStream; net/minecraft/client/resources/IResource/func_110527_b ()Ljava/io/InputStream; +MD: cvj/c ()Z net/minecraft/client/resources/IResource/func_110528_c ()Z +MD: cvj/d ()Ljava/lang/String; net/minecraft/client/resources/IResource/func_177240_d ()Ljava/lang/String; +MD: cvk/a ()Ljava/util/Set; net/minecraft/client/resources/IResourceManager/func_135055_a ()Ljava/util/Set; +MD: cvk/a (Loa;)Lcvj; net/minecraft/client/resources/IResourceManager/func_110536_a (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/resources/IResource; +MD: cvk/b (Loa;)Ljava/util/List; net/minecraft/client/resources/IResourceManager/func_135056_b (Lnet/minecraft/util/ResourceLocation;)Ljava/util/List; +MD: cvl/a (Lcvk;)V net/minecraft/client/resources/IResourceManagerReloadListener/func_110549_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: cvm/a ()Ljava/awt/image/BufferedImage; net/minecraft/client/resources/IResourcePack/func_110586_a ()Ljava/awt/image/BufferedImage; +MD: cvm/a (Lcwk;Ljava/lang/String;)Lcwi; net/minecraft/client/resources/IResourcePack/func_135058_a (Lnet/minecraft/client/resources/data/IMetadataSerializer;Ljava/lang/String;)Lnet/minecraft/client/resources/data/IMetadataSection; +MD: cvm/a (Loa;)Ljava/io/InputStream; net/minecraft/client/resources/IResourcePack/func_110590_a (Lnet/minecraft/util/ResourceLocation;)Ljava/io/InputStream; +MD: cvm/b ()Ljava/lang/String; net/minecraft/client/resources/IResourcePack/func_130077_b ()Ljava/lang/String; +MD: cvm/b (Loa;)Z net/minecraft/client/resources/IResourcePack/func_110589_b (Lnet/minecraft/util/ResourceLocation;)Z +MD: cvm/c ()Ljava/util/Set; net/minecraft/client/resources/IResourcePack/func_110587_b ()Ljava/util/Set; +MD: cvo/a ()V net/minecraft/client/resources/ResourcePackRepository/func_110611_a ()V +MD: cvo/a (Ljava/io/File;)Lcom/google/common/util/concurrent/ListenableFuture; net/minecraft/client/resources/ResourcePackRepository/func_177319_a (Ljava/io/File;)Lcom/google/common/util/concurrent/ListenableFuture; +MD: cvo/a (Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/util/concurrent/ListenableFuture; net/minecraft/client/resources/ResourcePackRepository/func_180601_a (Ljava/lang/String;Ljava/lang/String;)Lcom/google/common/util/concurrent/ListenableFuture; +MD: cvo/a (Ljava/util/List;)V net/minecraft/client/resources/ResourcePackRepository/func_148527_a (Ljava/util/List;)V +MD: cvo/b ()Ljava/util/List; net/minecraft/client/resources/ResourcePackRepository/func_110609_b ()Ljava/util/List; +MD: cvo/c ()Ljava/util/List; net/minecraft/client/resources/ResourcePackRepository/func_110613_c ()Ljava/util/List; +MD: cvo/d ()Ljava/io/File; net/minecraft/client/resources/ResourcePackRepository/func_110612_e ()Ljava/io/File; +MD: cvo/e ()Lcvm; net/minecraft/client/resources/ResourcePackRepository/func_148530_e ()Lnet/minecraft/client/resources/IResourcePack; +MD: cvo/f ()V net/minecraft/client/resources/ResourcePackRepository/func_148529_f ()V +MD: cvo/g ()V net/minecraft/client/resources/ResourcePackRepository/func_110616_f ()V +MD: cvo/h ()Ljava/util/List; net/minecraft/client/resources/ResourcePackRepository/func_110614_g ()Ljava/util/List; +MD: cvp/accept (Ljava/io/File;)Z net/minecraft/client/resources/ResourcePackRepository$1/accept (Ljava/io/File;)Z +MD: cvq/run ()V net/minecraft/client/resources/ResourcePackRepository$2/run ()V +MD: cvr/onFailure (Ljava/lang/Throwable;)V net/minecraft/client/resources/ResourcePackRepository$3/onFailure (Ljava/lang/Throwable;)V +MD: cvr/onSuccess (Ljava/lang/Object;)V net/minecraft/client/resources/ResourcePackRepository$3/onSuccess (Ljava/lang/Object;)V +MD: cvs/a ()V net/minecraft/client/resources/ResourcePackRepository$Entry/func_110516_a ()V +MD: cvs/a (Lcug;)V net/minecraft/client/resources/ResourcePackRepository$Entry/func_110518_a (Lnet/minecraft/client/renderer/texture/TextureManager;)V +MD: cvs/b ()V net/minecraft/client/resources/ResourcePackRepository$Entry/func_110517_b ()V +MD: cvs/c ()Lcvm; net/minecraft/client/resources/ResourcePackRepository$Entry/func_110514_c ()Lnet/minecraft/client/resources/IResourcePack; +MD: cvs/d ()Ljava/lang/String; net/minecraft/client/resources/ResourcePackRepository$Entry/func_110515_d ()Ljava/lang/String; +MD: cvs/e ()Ljava/lang/String; net/minecraft/client/resources/ResourcePackRepository$Entry/func_110519_e ()Ljava/lang/String; +MD: cvs/equals (Ljava/lang/Object;)Z net/minecraft/client/resources/ResourcePackRepository$Entry/equals (Ljava/lang/Object;)Z +MD: cvs/hashCode ()I net/minecraft/client/resources/ResourcePackRepository$Entry/hashCode ()I +MD: cvs/toString ()Ljava/lang/String; net/minecraft/client/resources/ResourcePackRepository$Entry/toString ()Ljava/lang/String; +MD: cvt/a ()Ljava/util/Set; net/minecraft/client/resources/SimpleReloadableResourceManager/func_135055_a ()Ljava/util/Set; +MD: cvt/a (Lcvl;)V net/minecraft/client/resources/SimpleReloadableResourceManager/func_110542_a (Lnet/minecraft/client/resources/IResourceManagerReloadListener;)V +MD: cvt/a (Lcvm;)V net/minecraft/client/resources/SimpleReloadableResourceManager/func_110545_a (Lnet/minecraft/client/resources/IResourcePack;)V +MD: cvt/a (Ljava/util/List;)V net/minecraft/client/resources/SimpleReloadableResourceManager/func_110541_a (Ljava/util/List;)V +MD: cvt/a (Loa;)Lcvj; net/minecraft/client/resources/SimpleReloadableResourceManager/func_110536_a (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/resources/IResource; +MD: cvt/b ()V net/minecraft/client/resources/SimpleReloadableResourceManager/func_110543_a ()V +MD: cvt/b (Loa;)Ljava/util/List; net/minecraft/client/resources/SimpleReloadableResourceManager/func_135056_b (Lnet/minecraft/util/ResourceLocation;)Ljava/util/List; +MD: cvt/c ()V net/minecraft/client/resources/SimpleReloadableResourceManager/func_110544_b ()V +MD: cvu/a (Lcvm;)Ljava/lang/String; net/minecraft/client/resources/SimpleReloadableResourceManager$1/apply (Lnet/minecraft/client/resources/IResourcePack;)Ljava/lang/String; +MD: cvu/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/client/resources/SimpleReloadableResourceManager$1/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: cvv/a ()Loa; net/minecraft/client/resources/SimpleResource/func_177241_a ()Lnet/minecraft/util/ResourceLocation; +MD: cvv/a (Ljava/lang/String;)Lcwi; net/minecraft/client/resources/SimpleResource/func_110526_a (Ljava/lang/String;)Lnet/minecraft/client/resources/data/IMetadataSection; +MD: cvv/b ()Ljava/io/InputStream; net/minecraft/client/resources/SimpleResource/func_110527_b ()Ljava/io/InputStream; +MD: cvv/c ()Z net/minecraft/client/resources/SimpleResource/func_110528_c ()Z +MD: cvv/d ()Ljava/lang/String; net/minecraft/client/resources/SimpleResource/func_177240_d ()Ljava/lang/String; +MD: cvv/equals (Ljava/lang/Object;)Z net/minecraft/client/resources/SimpleResource/equals (Ljava/lang/Object;)Z +MD: cvv/hashCode ()I net/minecraft/client/resources/SimpleResource/hashCode ()I +MD: cvw/a (Lcom/mojang/authlib/GameProfile;)Ljava/util/Map; net/minecraft/client/resources/SkinManager/func_152788_a (Lcom/mojang/authlib/GameProfile;)Ljava/util/Map; +MD: cvw/a (Lcom/mojang/authlib/GameProfile;Lcwb;Z)V net/minecraft/client/resources/SkinManager/func_152790_a (Lcom/mojang/authlib/GameProfile;Lnet/minecraft/client/resources/SkinManager$SkinAvailableCallback;Z)V +MD: cvw/a (Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;Lcom/mojang/authlib/minecraft/MinecraftProfileTexture$Type;)Loa; net/minecraft/client/resources/SkinManager/func_152792_a (Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;Lcom/mojang/authlib/minecraft/MinecraftProfileTexture$Type;)Lnet/minecraft/util/ResourceLocation; +MD: cvw/a (Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;Lcom/mojang/authlib/minecraft/MinecraftProfileTexture$Type;Lcwb;)Loa; net/minecraft/client/resources/SkinManager/func_152789_a (Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;Lcom/mojang/authlib/minecraft/MinecraftProfileTexture$Type;Lnet/minecraft/client/resources/SkinManager$SkinAvailableCallback;)Lnet/minecraft/util/ResourceLocation; +MD: cvw/a (Lcvw;)Lcom/mojang/authlib/minecraft/MinecraftSessionService; net/minecraft/client/resources/SkinManager/access$000 (Lnet/minecraft/client/resources/SkinManager;)Lcom/mojang/authlib/minecraft/MinecraftSessionService; +MD: cvx/a (Lcom/mojang/authlib/GameProfile;)Ljava/util/Map; net/minecraft/client/resources/SkinManager$1/func_152786_a (Lcom/mojang/authlib/GameProfile;)Ljava/util/Map; +MD: cvx/load (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/client/resources/SkinManager$1/load (Ljava/lang/Object;)Ljava/lang/Object; +MD: cvy/a ()V net/minecraft/client/resources/SkinManager$2/func_152634_a ()V +MD: cvy/a (Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage; net/minecraft/client/resources/SkinManager$2/func_78432_a (Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage; +MD: cvz/run ()V net/minecraft/client/resources/SkinManager$3/run ()V +MD: cw/a ()I net/minecraft/command/server/CommandTeleport/func_82362_a ()I +MD: cw/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandTeleport/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cw/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandTeleport/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: cw/b ([Ljava/lang/String;I)Z net/minecraft/command/server/CommandTeleport/func_82358_a ([Ljava/lang/String;I)Z +MD: cw/c ()Ljava/lang/String; net/minecraft/command/server/CommandTeleport/func_71517_b ()Ljava/lang/String; +MD: cw/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandTeleport/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cwa/run ()V net/minecraft/client/resources/SkinManager$3$1/run ()V +MD: cwb/a (Lcom/mojang/authlib/minecraft/MinecraftProfileTexture$Type;Loa;Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;)V net/minecraft/client/resources/SkinManager$SkinAvailableCallback/func_180521_a (Lcom/mojang/authlib/minecraft/MinecraftProfileTexture$Type;Lnet/minecraft/util/ResourceLocation;Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;)V +MD: cwc/a (Lcwf;)V net/minecraft/client/resources/I18n/func_135051_a (Lnet/minecraft/client/resources/Locale;)V +MD: cwc/a (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; net/minecraft/client/resources/I18n/func_135052_a (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; +MD: cwd/a ()Ljava/lang/String; net/minecraft/client/resources/Language/func_135034_a ()Ljava/lang/String; +MD: cwd/a (Lcwd;)I net/minecraft/client/resources/Language/compareTo (Lnet/minecraft/client/resources/Language;)I +MD: cwd/b ()Z net/minecraft/client/resources/Language/func_135035_b ()Z +MD: cwd/compareTo (Ljava/lang/Object;)I net/minecraft/client/resources/Language/compareTo (Ljava/lang/Object;)I +MD: cwd/equals (Ljava/lang/Object;)Z net/minecraft/client/resources/Language/equals (Ljava/lang/Object;)Z +MD: cwd/hashCode ()I net/minecraft/client/resources/Language/hashCode ()I +MD: cwd/toString ()Ljava/lang/String; net/minecraft/client/resources/Language/toString ()Ljava/lang/String; +MD: cwe/a ()Z net/minecraft/client/resources/LanguageManager/func_135042_a ()Z +MD: cwe/a (Lcvk;)V net/minecraft/client/resources/LanguageManager/func_110549_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: cwe/a (Lcwd;)V net/minecraft/client/resources/LanguageManager/func_135045_a (Lnet/minecraft/client/resources/Language;)V +MD: cwe/a (Ljava/util/List;)V net/minecraft/client/resources/LanguageManager/func_135043_a (Ljava/util/List;)V +MD: cwe/b ()Z net/minecraft/client/resources/LanguageManager/func_135044_b ()Z +MD: cwe/c ()Lcwd; net/minecraft/client/resources/LanguageManager/func_135041_c ()Lnet/minecraft/client/resources/Language; +MD: cwe/d ()Ljava/util/SortedSet; net/minecraft/client/resources/LanguageManager/func_135040_d ()Ljava/util/SortedSet; +MD: cwf/a ()Z net/minecraft/client/resources/Locale/func_135025_a ()Z +MD: cwf/a (Lcvk;Ljava/util/List;)V net/minecraft/client/resources/Locale/func_135022_a (Lnet/minecraft/client/resources/IResourceManager;Ljava/util/List;)V +MD: cwf/a (Ljava/io/InputStream;)V net/minecraft/client/resources/Locale/func_135021_a (Ljava/io/InputStream;)V +MD: cwf/a (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; net/minecraft/client/resources/Locale/func_135023_a (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; +MD: cwf/a (Ljava/util/List;)V net/minecraft/client/resources/Locale/func_135028_a (Ljava/util/List;)V +MD: cwf/b ()V net/minecraft/client/resources/Locale/func_135024_b ()V +MD: cwf/b (Ljava/lang/String;)Ljava/lang/String; net/minecraft/client/resources/Locale/func_135026_c (Ljava/lang/String;)Ljava/lang/String; +MD: cwj/a ()Ljava/lang/String; net/minecraft/client/resources/data/IMetadataSectionSerializer/func_110483_a ()Ljava/lang/String; +MD: cwk/a ()Lcom/google/gson/Gson; net/minecraft/client/resources/data/IMetadataSerializer/func_110505_a ()Lcom/google/gson/Gson; +MD: cwk/a (Lcwj;Ljava/lang/Class;)V net/minecraft/client/resources/data/IMetadataSerializer/func_110504_a (Lnet/minecraft/client/resources/data/IMetadataSectionSerializer;Ljava/lang/Class;)V +MD: cwk/a (Ljava/lang/String;Lcom/google/gson/JsonObject;)Lcwi; net/minecraft/client/resources/data/IMetadataSerializer/func_110503_a (Ljava/lang/String;Lcom/google/gson/JsonObject;)Lnet/minecraft/client/resources/data/IMetadataSection; +MD: cwn/a ()Z net/minecraft/client/resources/data/AnimationFrame/func_110495_a ()Z +MD: cwn/b ()I net/minecraft/client/resources/data/AnimationFrame/func_110497_b ()I +MD: cwn/c ()I net/minecraft/client/resources/data/AnimationFrame/func_110496_c ()I +MD: cwo/a ()I net/minecraft/client/resources/data/AnimationMetadataSection/func_110471_a ()I +MD: cwo/a (I)I net/minecraft/client/resources/data/AnimationMetadataSection/func_110472_a (I)I +MD: cwo/b ()I net/minecraft/client/resources/data/AnimationMetadataSection/func_110474_b ()I +MD: cwo/b (I)Z net/minecraft/client/resources/data/AnimationMetadataSection/func_110470_b (I)Z +MD: cwo/c ()I net/minecraft/client/resources/data/AnimationMetadataSection/func_110473_c ()I +MD: cwo/c (I)I net/minecraft/client/resources/data/AnimationMetadataSection/func_110468_c (I)I +MD: cwo/d ()I net/minecraft/client/resources/data/AnimationMetadataSection/func_110469_d ()I +MD: cwo/d (I)Lcwn; net/minecraft/client/resources/data/AnimationMetadataSection/func_130072_d (I)Lnet/minecraft/client/resources/data/AnimationFrame; +MD: cwo/e ()Z net/minecraft/client/resources/data/AnimationMetadataSection/func_177219_e ()Z +MD: cwo/f ()Ljava/util/Set; net/minecraft/client/resources/data/AnimationMetadataSection/func_130073_e ()Ljava/util/Set; +MD: cwp/a ()Ljava/lang/String; net/minecraft/client/resources/data/AnimationMetadataSectionSerializer/func_110483_a ()Ljava/lang/String; +MD: cwp/a (ILcom/google/gson/JsonElement;)Lcwn; net/minecraft/client/resources/data/AnimationMetadataSectionSerializer/func_110492_a (ILcom/google/gson/JsonElement;)Lnet/minecraft/client/resources/data/AnimationFrame; +MD: cwp/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lcwo; net/minecraft/client/resources/data/AnimationMetadataSectionSerializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/resources/data/AnimationMetadataSection; +MD: cwp/a (Lcwo;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/client/resources/data/AnimationMetadataSectionSerializer/serialize (Lnet/minecraft/client/resources/data/AnimationMetadataSection;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: cwp/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/resources/data/AnimationMetadataSectionSerializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: cwp/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/client/resources/data/AnimationMetadataSectionSerializer/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: cws/a ()Ljava/lang/String; net/minecraft/client/resources/data/FontMetadataSectionSerializer/func_110483_a ()Ljava/lang/String; +MD: cws/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lcwr; net/minecraft/client/resources/data/FontMetadataSectionSerializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/resources/data/FontMetadataSection; +MD: cws/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/resources/data/FontMetadataSectionSerializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: cwu/a ()Ljava/util/Collection; net/minecraft/client/resources/data/LanguageMetadataSection/func_135018_a ()Ljava/util/Collection; +MD: cwv/a ()Ljava/lang/String; net/minecraft/client/resources/data/LanguageMetadataSectionSerializer/func_110483_a ()Ljava/lang/String; +MD: cwv/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lcwu; net/minecraft/client/resources/data/LanguageMetadataSectionSerializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/resources/data/LanguageMetadataSection; +MD: cwv/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/resources/data/LanguageMetadataSectionSerializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: cwx/a ()Lho; net/minecraft/client/resources/data/PackMetadataSection/func_152805_a ()Lnet/minecraft/util/IChatComponent; +MD: cwx/b ()I net/minecraft/client/resources/data/PackMetadataSection/func_110462_b ()I +MD: cwy/a ()Ljava/lang/String; net/minecraft/client/resources/data/PackMetadataSectionSerializer/func_110483_a ()Ljava/lang/String; +MD: cwy/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lcwx; net/minecraft/client/resources/data/PackMetadataSectionSerializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/resources/data/PackMetadataSection; +MD: cwy/a (Lcwx;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/client/resources/data/PackMetadataSectionSerializer/serialize (Lnet/minecraft/client/resources/data/PackMetadataSection;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: cwy/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/resources/data/PackMetadataSectionSerializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: cwy/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/client/resources/data/PackMetadataSectionSerializer/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: cxb/a ()Z net/minecraft/client/resources/data/TextureMetadataSection/func_110479_a ()Z +MD: cxb/b ()Z net/minecraft/client/resources/data/TextureMetadataSection/func_110480_b ()Z +MD: cxb/c ()Ljava/util/List; net/minecraft/client/resources/data/TextureMetadataSection/func_148535_c ()Ljava/util/List; +MD: cxc/a ()Ljava/lang/String; net/minecraft/client/resources/data/TextureMetadataSectionSerializer/func_110483_a ()Ljava/lang/String; +MD: cxc/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lcxb; net/minecraft/client/resources/data/TextureMetadataSectionSerializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/resources/data/TextureMetadataSection; +MD: cxc/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/resources/data/TextureMetadataSectionSerializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: cxe/a ()Ljava/util/List; net/minecraft/client/resources/model/IBakedModel/func_177550_a ()Ljava/util/List; +MD: cxe/a (Lej;)Ljava/util/List; net/minecraft/client/resources/model/IBakedModel/func_177551_a (Lnet/minecraft/util/EnumFacing;)Ljava/util/List; +MD: cxe/b ()Z net/minecraft/client/resources/model/IBakedModel/func_177555_b ()Z +MD: cxe/c ()Z net/minecraft/client/resources/model/IBakedModel/func_177556_c ()Z +MD: cxe/d ()Z net/minecraft/client/resources/model/IBakedModel/func_177553_d ()Z +MD: cxe/e ()Lcue; net/minecraft/client/resources/model/IBakedModel/func_177554_e ()Lnet/minecraft/client/renderer/texture/TextureAtlasSprite; +MD: cxe/f ()Lcmx; net/minecraft/client/resources/model/IBakedModel/func_177552_f ()Lnet/minecraft/client/renderer/block/model/ItemCameraTransforms; +MD: cxf/a ()Ljavax/vecmath/Matrix4d; net/minecraft/client/resources/model/ModelRotation/func_177525_a ()Ljavax/vecmath/Matrix4d; +MD: cxf/a (II)Lcxf; net/minecraft/client/resources/model/ModelRotation/func_177524_a (II)Lnet/minecraft/client/resources/model/ModelRotation; +MD: cxf/a (Lej;)Lej; net/minecraft/client/resources/model/ModelRotation/func_177523_a (Lnet/minecraft/util/EnumFacing;)Lnet/minecraft/util/EnumFacing; +MD: cxf/a (Lej;I)I net/minecraft/client/resources/model/ModelRotation/func_177520_a (Lnet/minecraft/util/EnumFacing;I)I +MD: cxf/b (II)I net/minecraft/client/resources/model/ModelRotation/func_177521_b (II)I +MD: cxf/values ()[Lcxf; net/minecraft/client/resources/model/ModelRotation/values ()[Lnet/minecraft/client/resources/model/ModelRotation; +MD: cxg/a ()Ljava/util/List; net/minecraft/client/resources/model/BuiltInModel/func_177550_a ()Ljava/util/List; +MD: cxg/a (Lej;)Ljava/util/List; net/minecraft/client/resources/model/BuiltInModel/func_177551_a (Lnet/minecraft/util/EnumFacing;)Ljava/util/List; +MD: cxg/b ()Z net/minecraft/client/resources/model/BuiltInModel/func_177555_b ()Z +MD: cxg/c ()Z net/minecraft/client/resources/model/BuiltInModel/func_177556_c ()Z +MD: cxg/d ()Z net/minecraft/client/resources/model/BuiltInModel/func_177553_d ()Z +MD: cxg/e ()Lcue; net/minecraft/client/resources/model/BuiltInModel/func_177554_e ()Lnet/minecraft/client/renderer/texture/TextureAtlasSprite; +MD: cxg/f ()Lcmx; net/minecraft/client/resources/model/BuiltInModel/func_177552_f ()Lnet/minecraft/client/renderer/block/model/ItemCameraTransforms; +MD: cxh/a ()Lez; net/minecraft/client/resources/model/ModelBakery/func_177570_a ()Lnet/minecraft/util/IRegistry; +MD: cxh/a (Lalq;)Ljava/util/List; net/minecraft/client/resources/model/ModelBakery/func_177596_a (Lnet/minecraft/item/Item;)Ljava/util/List; +MD: cxh/a (Lclu;Lclx;Lcue;Lej;Lcxf;Z)Lclt; net/minecraft/client/resources/model/ModelBakery/func_177589_a (Lnet/minecraft/client/renderer/block/model/BlockPart;Lnet/minecraft/client/renderer/block/model/BlockPartFace;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/client/resources/model/ModelRotation;Z)Lnet/minecraft/client/renderer/block/model/BakedQuad; +MD: cxh/a (Lcmc;)Ljava/util/Set; net/minecraft/client/resources/model/ModelBakery/func_177585_a (Lnet/minecraft/client/renderer/block/model/ModelBlock;)Ljava/util/Set; +MD: cxh/a (Lcmc;Lcxf;Z)Lcxe; net/minecraft/client/resources/model/ModelBakery/func_177578_a (Lnet/minecraft/client/renderer/block/model/ModelBlock;Lnet/minecraft/client/resources/model/ModelRotation;Z)Lnet/minecraft/client/resources/model/IBakedModel; +MD: cxh/a (Lcmh;Lcxl;)V net/minecraft/client/resources/model/ModelBakery/func_177569_a (Lnet/minecraft/client/renderer/block/model/ModelBlockDefinition;Lnet/minecraft/client/resources/model/ModelResourceLocation;)V +MD: cxh/a (Lcxh;)Ljava/util/Map; net/minecraft/client/resources/model/ModelBakery/access$000 (Lnet/minecraft/client/resources/model/ModelBakery;)Ljava/util/Map; +MD: cxh/a (Ljava/lang/String;)Loa; net/minecraft/client/resources/model/ModelBakery/func_177583_a (Ljava/lang/String;)Lnet/minecraft/util/ResourceLocation; +MD: cxh/a (Ljava/util/Collection;)V net/minecraft/client/resources/model/ModelBakery/func_177591_a (Ljava/util/Collection;)V +MD: cxh/a (Loa;)Lcmh; net/minecraft/client/resources/model/ModelBakery/func_177586_a (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/renderer/block/model/ModelBlockDefinition; +MD: cxh/b ()V net/minecraft/client/resources/model/ModelBakery/func_177577_b ()V +MD: cxh/b (Lcmc;)Z net/minecraft/client/resources/model/ModelBakery/func_177581_b (Lnet/minecraft/client/renderer/block/model/ModelBlock;)Z +MD: cxh/b (Loa;)Loa; net/minecraft/client/resources/model/ModelBakery/func_177584_b (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/util/ResourceLocation; +MD: cxh/c ()V net/minecraft/client/resources/model/ModelBakery/func_177595_c ()V +MD: cxh/c (Lcmc;)Z net/minecraft/client/resources/model/ModelBakery/func_177587_c (Lnet/minecraft/client/renderer/block/model/ModelBlock;)Z +MD: cxh/c (Loa;)Lcmc; net/minecraft/client/resources/model/ModelBakery/func_177594_c (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/renderer/block/model/ModelBlock; +MD: cxh/d ()V net/minecraft/client/resources/model/ModelBakery/func_177590_d ()V +MD: cxh/d (Lcmc;)Lcmc; net/minecraft/client/resources/model/ModelBakery/func_177582_d (Lnet/minecraft/client/renderer/block/model/ModelBlock;)Lnet/minecraft/client/renderer/block/model/ModelBlock; +MD: cxh/d (Loa;)Loa; net/minecraft/client/resources/model/ModelBakery/func_177580_d (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/util/ResourceLocation; +MD: cxh/e ()V net/minecraft/client/resources/model/ModelBakery/func_177592_e ()V +MD: cxh/e (Loa;)Ljava/util/List; net/minecraft/client/resources/model/ModelBakery/func_177573_e (Lnet/minecraft/util/ResourceLocation;)Ljava/util/List; +MD: cxh/f ()V net/minecraft/client/resources/model/ModelBakery/func_177588_f ()V +MD: cxh/f (Loa;)Loa; net/minecraft/client/resources/model/ModelBakery/func_177576_f (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/util/ResourceLocation; +MD: cxh/g ()Ljava/util/Set; net/minecraft/client/resources/model/ModelBakery/func_177575_g ()Ljava/util/Set; +MD: cxh/h ()V net/minecraft/client/resources/model/ModelBakery/func_177597_h ()V +MD: cxh/i ()V net/minecraft/client/resources/model/ModelBakery/func_177574_i ()V +MD: cxh/j ()V net/minecraft/client/resources/model/ModelBakery/func_177572_j ()V +MD: cxh/k ()Ljava/util/Set; net/minecraft/client/resources/model/ModelBakery/func_177571_k ()Ljava/util/Set; +MD: cxh/l ()V net/minecraft/client/resources/model/ModelBakery/func_177593_l ()V +MD: cxi/a (Lcxl;Lcxl;)I net/minecraft/client/resources/model/ModelBakery$1/func_177505_a (Lnet/minecraft/client/resources/model/ModelResourceLocation;Lnet/minecraft/client/resources/model/ModelResourceLocation;)I +MD: cxi/compare (Ljava/lang/Object;Ljava/lang/Object;)I net/minecraft/client/resources/model/ModelBakery$1/compare (Ljava/lang/Object;Ljava/lang/Object;)I +MD: cxj/a (Lcua;)V net/minecraft/client/resources/model/ModelBakery$2/func_177059_a (Lnet/minecraft/client/renderer/texture/TextureMap;)V +MD: cxk/a ()Lcxe; net/minecraft/client/resources/model/ModelManager/func_174951_a ()Lnet/minecraft/client/resources/model/IBakedModel; +MD: cxk/a (Lcvk;)V net/minecraft/client/resources/model/ModelManager/func_110549_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: cxk/a (Lcxl;)Lcxe; net/minecraft/client/resources/model/ModelManager/func_174953_a (Lnet/minecraft/client/resources/model/ModelResourceLocation;)Lnet/minecraft/client/resources/model/IBakedModel; +MD: cxk/b ()Lcua; net/minecraft/client/resources/model/ModelManager/func_174952_b ()Lnet/minecraft/client/renderer/texture/TextureMap; +MD: cxk/c ()Lclc; net/minecraft/client/resources/model/ModelManager/func_174954_c ()Lnet/minecraft/client/renderer/BlockModelShapes; +MD: cxl/b (Ljava/lang/String;)[Ljava/lang/String; net/minecraft/client/resources/model/ModelResourceLocation/func_177517_b (Ljava/lang/String;)[Ljava/lang/String; +MD: cxl/c ()Ljava/lang/String; net/minecraft/client/resources/model/ModelResourceLocation/func_177518_c ()Ljava/lang/String; +MD: cxl/equals (Ljava/lang/Object;)Z net/minecraft/client/resources/model/ModelResourceLocation/equals (Ljava/lang/Object;)Z +MD: cxl/hashCode ()I net/minecraft/client/resources/model/ModelResourceLocation/hashCode ()I +MD: cxl/toString ()Ljava/lang/String; net/minecraft/client/resources/model/ModelResourceLocation/toString ()Ljava/lang/String; +MD: cxm/a ()Ljava/util/List; net/minecraft/client/resources/model/SimpleBakedModel/func_177550_a ()Ljava/util/List; +MD: cxm/a (Lej;)Ljava/util/List; net/minecraft/client/resources/model/SimpleBakedModel/func_177551_a (Lnet/minecraft/util/EnumFacing;)Ljava/util/List; +MD: cxm/b ()Z net/minecraft/client/resources/model/SimpleBakedModel/func_177555_b ()Z +MD: cxm/c ()Z net/minecraft/client/resources/model/SimpleBakedModel/func_177556_c ()Z +MD: cxm/d ()Z net/minecraft/client/resources/model/SimpleBakedModel/func_177553_d ()Z +MD: cxm/e ()Lcue; net/minecraft/client/resources/model/SimpleBakedModel/func_177554_e ()Lnet/minecraft/client/renderer/texture/TextureAtlasSprite; +MD: cxm/f ()Lcmx; net/minecraft/client/resources/model/SimpleBakedModel/func_177552_f ()Lnet/minecraft/client/renderer/block/model/ItemCameraTransforms; +MD: cxn/a (Lclt;)Lcxn; net/minecraft/client/resources/model/SimpleBakedModel$Builder/func_177648_a (Lnet/minecraft/client/renderer/block/model/BakedQuad;)Lnet/minecraft/client/resources/model/SimpleBakedModel$Builder; +MD: cxn/a (Lcue;)Lcxn; net/minecraft/client/resources/model/SimpleBakedModel$Builder/func_177646_a (Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)Lnet/minecraft/client/resources/model/SimpleBakedModel$Builder; +MD: cxn/a (Lcxe;Lcue;)V net/minecraft/client/resources/model/SimpleBakedModel$Builder/func_177647_a (Lnet/minecraft/client/resources/model/IBakedModel;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;)V +MD: cxn/a (Lcxe;Lcue;Lej;)V net/minecraft/client/resources/model/SimpleBakedModel$Builder/func_177649_a (Lnet/minecraft/client/resources/model/IBakedModel;Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;Lnet/minecraft/util/EnumFacing;)V +MD: cxn/a (Lej;Lclt;)Lcxn; net/minecraft/client/resources/model/SimpleBakedModel$Builder/func_177650_a (Lnet/minecraft/util/EnumFacing;Lnet/minecraft/client/renderer/block/model/BakedQuad;)Lnet/minecraft/client/resources/model/SimpleBakedModel$Builder; +MD: cxn/b ()Lcxe; net/minecraft/client/resources/model/SimpleBakedModel$Builder/func_177645_b ()Lnet/minecraft/client/resources/model/IBakedModel; +MD: cxo/a ()Ljava/util/List; net/minecraft/client/resources/model/WeightedBakedModel/func_177550_a ()Ljava/util/List; +MD: cxo/a (J)Lcxe; net/minecraft/client/resources/model/WeightedBakedModel/func_177564_a (J)Lnet/minecraft/client/resources/model/IBakedModel; +MD: cxo/a (Lej;)Ljava/util/List; net/minecraft/client/resources/model/WeightedBakedModel/func_177551_a (Lnet/minecraft/util/EnumFacing;)Ljava/util/List; +MD: cxo/b ()Z net/minecraft/client/resources/model/WeightedBakedModel/func_177555_b ()Z +MD: cxo/c ()Z net/minecraft/client/resources/model/WeightedBakedModel/func_177556_c ()Z +MD: cxo/d ()Z net/minecraft/client/resources/model/WeightedBakedModel/func_177553_d ()Z +MD: cxo/e ()Lcue; net/minecraft/client/resources/model/WeightedBakedModel/func_177554_e ()Lnet/minecraft/client/renderer/texture/TextureAtlasSprite; +MD: cxo/f ()Lcmx; net/minecraft/client/resources/model/WeightedBakedModel/func_177552_f ()Lnet/minecraft/client/renderer/block/model/ItemCameraTransforms; +MD: cxp/a ()Lcxo; net/minecraft/client/resources/model/WeightedBakedModel$Builder/func_177676_a ()Lnet/minecraft/client/resources/model/WeightedBakedModel; +MD: cxp/a (Lcxe;I)Lcxp; net/minecraft/client/resources/model/WeightedBakedModel$Builder/func_177677_a (Lnet/minecraft/client/resources/model/IBakedModel;I)Lnet/minecraft/client/resources/model/WeightedBakedModel$Builder; +MD: cxp/b ()Lcxe; net/minecraft/client/resources/model/WeightedBakedModel$Builder/func_177675_b ()Lnet/minecraft/client/resources/model/IBakedModel; +MD: cxq/a ()I net/minecraft/client/resources/model/WeightedBakedModel$MyWeighedRandomItem/func_177635_a ()I +MD: cxq/a (Lcxq;)I net/minecraft/client/resources/model/WeightedBakedModel$MyWeighedRandomItem/func_177634_a (Lnet/minecraft/client/resources/model/WeightedBakedModel$MyWeighedRandomItem;)I +MD: cxq/compareTo (Ljava/lang/Object;)I net/minecraft/client/resources/model/WeightedBakedModel$MyWeighedRandomItem/compareTo (Ljava/lang/Object;)I +MD: cxq/toString ()Ljava/lang/String; net/minecraft/client/resources/model/WeightedBakedModel$MyWeighedRandomItem/toString ()Ljava/lang/String; +MD: cxt/a ()Loa; net/minecraft/client/audio/PositionedSound/func_147650_b ()Lnet/minecraft/util/ResourceLocation; +MD: cxt/b ()Z net/minecraft/client/audio/PositionedSound/func_147657_c ()Z +MD: cxt/d ()I net/minecraft/client/audio/PositionedSound/func_147652_d ()I +MD: cxt/e ()F net/minecraft/client/audio/PositionedSound/func_147653_e ()F +MD: cxt/f ()F net/minecraft/client/audio/PositionedSound/func_147655_f ()F +MD: cxt/g ()F net/minecraft/client/audio/PositionedSound/func_147649_g ()F +MD: cxt/h ()F net/minecraft/client/audio/PositionedSound/func_147654_h ()F +MD: cxt/i ()F net/minecraft/client/audio/PositionedSound/func_147651_i ()F +MD: cxt/j ()Lcyf; net/minecraft/client/audio/PositionedSound/func_147656_j ()Lnet/minecraft/client/audio/ISound$AttenuationType; +MD: cxu/k ()Z net/minecraft/client/audio/MovingSound/func_147667_k ()Z +MD: cxv/c ()V net/minecraft/client/audio/GuardianSound/func_73660_a ()V +MD: cxw/c ()V net/minecraft/client/audio/MovingSoundMinecart/func_73660_a ()V +MD: cxx/c ()V net/minecraft/client/audio/MovingSoundMinecartRiding/func_73660_a ()V +MD: cxy/a (Loa;)Lcxy; net/minecraft/client/audio/PositionedSoundRecord/func_147673_a (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/audio/PositionedSoundRecord; +MD: cxy/a (Loa;F)Lcxy; net/minecraft/client/audio/PositionedSoundRecord/func_147674_a (Lnet/minecraft/util/ResourceLocation;F)Lnet/minecraft/client/audio/PositionedSoundRecord; +MD: cxy/a (Loa;FFF)Lcxy; net/minecraft/client/audio/PositionedSoundRecord/func_147675_a (Lnet/minecraft/util/ResourceLocation;FFF)Lnet/minecraft/client/audio/PositionedSoundRecord; +MD: cxz/a ()Ljava/lang/String; net/minecraft/client/audio/SoundCategory/func_147155_a ()Ljava/lang/String; +MD: cxz/a (Ljava/lang/String;)Lcxz; net/minecraft/client/audio/SoundCategory/func_147154_a (Ljava/lang/String;)Lnet/minecraft/client/audio/SoundCategory; +MD: cxz/b ()I net/minecraft/client/audio/SoundCategory/func_147156_b ()I +MD: cxz/values ()[Lcxz; net/minecraft/client/audio/SoundCategory/values ()[Lnet/minecraft/client/audio/SoundCategory; +MD: cy/a ()I net/minecraft/command/server/CommandTestForBlock/func_82362_a ()I +MD: cy/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandTestForBlock/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cy/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandTestForBlock/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: cy/a (Lgd;Lgd;Z)Z net/minecraft/command/server/CommandTestForBlock/func_175775_a (Lnet/minecraft/nbt/NBTBase;Lnet/minecraft/nbt/NBTBase;Z)Z +MD: cy/c ()Ljava/lang/String; net/minecraft/command/server/CommandTestForBlock/func_71517_b ()Ljava/lang/String; +MD: cy/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandTestForBlock/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cya/a ()Ljava/util/List; net/minecraft/client/audio/SoundList/func_148570_a ()Ljava/util/List; +MD: cya/a (Lcxz;)V net/minecraft/client/audio/SoundList/func_148571_a (Lnet/minecraft/client/audio/SoundCategory;)V +MD: cya/a (Z)V net/minecraft/client/audio/SoundList/func_148572_a (Z)V +MD: cya/b ()Z net/minecraft/client/audio/SoundList/func_148574_b ()Z +MD: cya/c ()Lcxz; net/minecraft/client/audio/SoundList/func_148573_c ()Lnet/minecraft/client/audio/SoundCategory; +MD: cyb/a ()Ljava/lang/String; net/minecraft/client/audio/SoundList$SoundEntry/func_148556_a ()Ljava/lang/String; +MD: cyb/a (F)V net/minecraft/client/audio/SoundList$SoundEntry/func_148553_a (F)V +MD: cyb/a (I)V net/minecraft/client/audio/SoundList$SoundEntry/func_148554_a (I)V +MD: cyb/a (Lcyc;)V net/minecraft/client/audio/SoundList$SoundEntry/func_148562_a (Lnet/minecraft/client/audio/SoundList$SoundEntry$Type;)V +MD: cyb/a (Ljava/lang/String;)V net/minecraft/client/audio/SoundList$SoundEntry/func_148561_a (Ljava/lang/String;)V +MD: cyb/a (Z)V net/minecraft/client/audio/SoundList$SoundEntry/func_148557_a (Z)V +MD: cyb/b ()F net/minecraft/client/audio/SoundList$SoundEntry/func_148558_b ()F +MD: cyb/b (F)V net/minecraft/client/audio/SoundList$SoundEntry/func_148559_b (F)V +MD: cyb/c ()F net/minecraft/client/audio/SoundList$SoundEntry/func_148560_c ()F +MD: cyb/d ()I net/minecraft/client/audio/SoundList$SoundEntry/func_148555_d ()I +MD: cyb/e ()Lcyc; net/minecraft/client/audio/SoundList$SoundEntry/func_148563_e ()Lnet/minecraft/client/audio/SoundList$SoundEntry$Type; +MD: cyb/f ()Z net/minecraft/client/audio/SoundList$SoundEntry/func_148552_f ()Z +MD: cyc/a (Ljava/lang/String;)Lcyc; net/minecraft/client/audio/SoundList$SoundEntry$Type/func_148580_a (Ljava/lang/String;)Lnet/minecraft/client/audio/SoundList$SoundEntry$Type; +MD: cyc/values ()[Lcyc; net/minecraft/client/audio/SoundList$SoundEntry$Type/values ()[Lnet/minecraft/client/audio/SoundList$SoundEntry$Type; +MD: cyd/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lcya; net/minecraft/client/audio/SoundListSerializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/client/audio/SoundList; +MD: cyd/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/client/audio/SoundListSerializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: cye/a ()Loa; net/minecraft/client/audio/ISound/func_147650_b ()Lnet/minecraft/util/ResourceLocation; +MD: cye/b ()Z net/minecraft/client/audio/ISound/func_147657_c ()Z +MD: cye/d ()I net/minecraft/client/audio/ISound/func_147652_d ()I +MD: cye/e ()F net/minecraft/client/audio/ISound/func_147653_e ()F +MD: cye/f ()F net/minecraft/client/audio/ISound/func_147655_f ()F +MD: cye/g ()F net/minecraft/client/audio/ISound/func_147649_g ()F +MD: cye/h ()F net/minecraft/client/audio/ISound/func_147654_h ()F +MD: cye/i ()F net/minecraft/client/audio/ISound/func_147651_i ()F +MD: cye/j ()Lcyf; net/minecraft/client/audio/ISound/func_147656_j ()Lnet/minecraft/client/audio/ISound$AttenuationType; +MD: cyf/a ()I net/minecraft/client/audio/ISound$AttenuationType/func_148586_a ()I +MD: cyf/values ()[Lcyf; net/minecraft/client/audio/ISound$AttenuationType/values ()[Lnet/minecraft/client/audio/ISound$AttenuationType; +MD: cyg/k ()Z net/minecraft/client/audio/ITickableSound/func_147667_k ()Z +MD: cyj/a (Ljava/net/SocketAddress;Lcom/mojang/authlib/GameProfile;)Ljava/lang/String; net/minecraft/server/integrated/IntegratedPlayerList/func_148542_a (Ljava/net/SocketAddress;Lcom/mojang/authlib/GameProfile;)Ljava/lang/String; +MD: cyj/b ()Lcyk; net/minecraft/server/integrated/IntegratedPlayerList/func_180603_b ()Lnet/minecraft/server/integrated/IntegratedServer; +MD: cyj/b (Lqw;)V net/minecraft/server/integrated/IntegratedPlayerList/func_72391_b (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: cyj/c ()Lnet/minecraft/server/MinecraftServer; net/minecraft/server/integrated/IntegratedPlayerList/func_72365_p ()Lnet/minecraft/server/MinecraftServer; +MD: cyj/u ()Lfn; net/minecraft/server/integrated/IntegratedPlayerList/func_72378_q ()Lnet/minecraft/nbt/NBTTagCompound; +MD: cyk/a ()V net/minecraft/server/integrated/IntegratedServer/func_175592_a ()V +MD: cyk/a (Larc;)V net/minecraft/server/integrated/IntegratedServer/func_71235_a (Lnet/minecraft/world/WorldSettings$GameType;)V +MD: cyk/a (Larc;Z)Ljava/lang/String; net/minecraft/server/integrated/IntegratedServer/func_71206_a (Lnet/minecraft/world/WorldSettings$GameType;Z)Ljava/lang/String; +MD: cyk/a (Lb;)V net/minecraft/server/integrated/IntegratedServer/func_71228_a (Lnet/minecraft/crash/CrashReport;)V +MD: cyk/a (Ljava/lang/String;Ljava/lang/String;JLare;Ljava/lang/String;)V net/minecraft/server/integrated/IntegratedServer/func_71247_a (Ljava/lang/String;Ljava/lang/String;JLnet/minecraft/world/WorldType;Ljava/lang/String;)V +MD: cyk/a (Lvt;)V net/minecraft/server/integrated/IntegratedServer/func_147139_a (Lnet/minecraft/world/EnumDifficulty;)V +MD: cyk/a (Lwb;)V net/minecraft/server/integrated/IntegratedServer/func_70000_a (Lnet/minecraft/profiler/PlayerUsageSnooper;)V +MD: cyk/ac ()Z net/minecraft/server/integrated/IntegratedServer/func_70002_Q ()Z +MD: cyk/ad ()Z net/minecraft/server/integrated/IntegratedServer/func_71262_S ()Z +MD: cyk/aj ()Z net/minecraft/server/integrated/IntegratedServer/func_82356_Z ()Z +MD: cyk/b ()Z net/minecraft/server/integrated/IntegratedServer/func_71344_c ()Z +MD: cyk/b (Lb;)Lb; net/minecraft/server/integrated/IntegratedServer/func_71230_b (Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport; +MD: cyk/h ()Lcl; net/minecraft/server/integrated/IntegratedServer/func_175582_h ()Lnet/minecraft/command/ServerCommandManager; +MD: cyk/i ()Z net/minecraft/server/integrated/IntegratedServer/func_71197_b ()Z +MD: cyk/l ()Z net/minecraft/server/integrated/IntegratedServer/func_71225_e ()Z +MD: cyk/m ()Larc; net/minecraft/server/integrated/IntegratedServer/func_71265_f ()Lnet/minecraft/world/WorldSettings$GameType; +MD: cyk/n ()Lvt; net/minecraft/server/integrated/IntegratedServer/func_147135_j ()Lnet/minecraft/world/EnumDifficulty; +MD: cyk/o ()Z net/minecraft/server/integrated/IntegratedServer/func_71199_h ()Z +MD: cyk/p ()I net/minecraft/server/integrated/IntegratedServer/func_110455_j ()I +MD: cyk/r ()V net/minecraft/server/integrated/IntegratedServer/func_71260_j ()V +MD: cyk/u ()V net/minecraft/server/integrated/IntegratedServer/func_71263_m ()V +MD: cyk/w ()Ljava/io/File; net/minecraft/server/integrated/IntegratedServer/func_71238_n ()Ljava/io/File; +MD: cyk/y ()V net/minecraft/server/integrated/IntegratedServer/func_71217_p ()V +MD: cyl/a ()Ljava/lang/String; net/minecraft/server/integrated/IntegratedServer$1/call ()Ljava/lang/String; +MD: cyl/call ()Ljava/lang/Object; net/minecraft/server/integrated/IntegratedServer$1/call ()Ljava/lang/Object; +MD: cym/a ()Ljava/lang/String; net/minecraft/server/integrated/IntegratedServer$2/call ()Ljava/lang/String; +MD: cym/call ()Ljava/lang/Object; net/minecraft/server/integrated/IntegratedServer$2/call ()Ljava/lang/Object; +MD: cyn/run ()V net/minecraft/server/integrated/IntegratedServer$3/run ()V +MD: cyp/a ()Ljava/util/concurrent/atomic/AtomicInteger; net/minecraft/client/network/LanServerDetector/access$000 ()Ljava/util/concurrent/atomic/AtomicInteger; +MD: cyp/b ()Lorg/apache/logging/log4j/Logger; net/minecraft/client/network/LanServerDetector/access$100 ()Lorg/apache/logging/log4j/Logger; +MD: cyq/a ()Ljava/lang/String; net/minecraft/client/network/LanServerDetector$LanServer/func_77487_a ()Ljava/lang/String; +MD: cyq/b ()Ljava/lang/String; net/minecraft/client/network/LanServerDetector$LanServer/func_77488_b ()Ljava/lang/String; +MD: cyq/c ()V net/minecraft/client/network/LanServerDetector$LanServer/func_77489_c ()V +MD: cyr/run ()V net/minecraft/client/network/LanServerDetector$ThreadLanServerFind/run ()V +MD: cys/a ()Z net/minecraft/client/network/LanServerDetector$LanServerList/func_77553_a ()Z +MD: cys/a (Ljava/lang/String;Ljava/net/InetAddress;)V net/minecraft/client/network/LanServerDetector$LanServerList/func_77551_a (Ljava/lang/String;Ljava/net/InetAddress;)V +MD: cys/b ()V net/minecraft/client/network/LanServerDetector$LanServerList/func_77552_b ()V +MD: cys/c ()Ljava/util/List; net/minecraft/client/network/LanServerDetector$LanServerList/func_77554_c ()Ljava/util/List; +MD: cyt/a (Ljava/lang/String;)Ljava/lang/String; net/minecraft/client/multiplayer/ThreadLanServerPing/func_77524_a (Ljava/lang/String;)Ljava/lang/String; +MD: cyt/a (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; net/minecraft/client/multiplayer/ThreadLanServerPing/func_77525_a (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +MD: cyt/b (Ljava/lang/String;)Ljava/lang/String; net/minecraft/client/multiplayer/ThreadLanServerPing/func_77523_b (Ljava/lang/String;)Ljava/lang/String; +MD: cyt/interrupt ()V net/minecraft/client/multiplayer/ThreadLanServerPing/interrupt ()V +MD: cyt/run ()V net/minecraft/client/multiplayer/ThreadLanServerPing/run ()V +MD: cyx/c ()V net/minecraft/client/audio/MusicTicker/func_73660_a ()V +MD: cyy/a ()Loa; net/minecraft/client/audio/MusicTicker$MusicType/func_148635_a ()Lnet/minecraft/util/ResourceLocation; +MD: cyy/b ()I net/minecraft/client/audio/MusicTicker$MusicType/func_148634_b ()I +MD: cyy/c ()I net/minecraft/client/audio/MusicTicker$MusicType/func_148633_c ()I +MD: cyy/values ()[Lcyy; net/minecraft/client/audio/MusicTicker$MusicType/values ()[Lnet/minecraft/client/audio/MusicTicker$MusicType; +MD: cyz/a ()Loa; net/minecraft/client/audio/SoundPoolEntry/func_148652_a ()Lnet/minecraft/util/ResourceLocation; +MD: cyz/a (D)V net/minecraft/client/audio/SoundPoolEntry/func_148651_a (D)V +MD: cyz/b ()D net/minecraft/client/audio/SoundPoolEntry/func_148650_b ()D +MD: cyz/b (D)V net/minecraft/client/audio/SoundPoolEntry/func_148647_b (D)V +MD: cyz/c ()D net/minecraft/client/audio/SoundPoolEntry/func_148649_c ()D +MD: cyz/d ()Z net/minecraft/client/audio/SoundPoolEntry/func_148648_d ()Z +MD: cz/a ()I net/minecraft/command/server/CommandTestFor/func_82362_a ()I +MD: cz/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandTestFor/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: cz/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandTestFor/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: cz/b ([Ljava/lang/String;I)Z net/minecraft/command/server/CommandTestFor/func_82358_a ([Ljava/lang/String;I)Z +MD: cz/c ()Ljava/lang/String; net/minecraft/command/server/CommandTestFor/func_71517_b ()Ljava/lang/String; +MD: cz/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandTestFor/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: cza/a ()V net/minecraft/client/audio/SoundManager/func_148596_a ()V +MD: cza/a (Lahd;F)V net/minecraft/client/audio/SoundManager/func_148615_a (Lnet/minecraft/entity/player/EntityPlayer;F)V +MD: cza/a (Lcxz;)F net/minecraft/client/audio/SoundManager/func_148595_a (Lnet/minecraft/client/audio/SoundCategory;)F +MD: cza/a (Lcxz;F)V net/minecraft/client/audio/SoundManager/func_148601_a (Lnet/minecraft/client/audio/SoundCategory;F)V +MD: cza/a (Lcye;)Z net/minecraft/client/audio/SoundManager/func_148597_a (Lnet/minecraft/client/audio/ISound;)Z +MD: cza/a (Lcye;I)V net/minecraft/client/audio/SoundManager/func_148599_a (Lnet/minecraft/client/audio/ISound;I)V +MD: cza/a (Lcye;Lcyz;)F net/minecraft/client/audio/SoundManager/func_148606_a (Lnet/minecraft/client/audio/ISound;Lnet/minecraft/client/audio/SoundPoolEntry;)F +MD: cza/a (Lcye;Lcyz;Lcxz;)F net/minecraft/client/audio/SoundManager/func_148594_a (Lnet/minecraft/client/audio/ISound;Lnet/minecraft/client/audio/SoundPoolEntry;Lnet/minecraft/client/audio/SoundCategory;)F +MD: cza/a (Lcza;)Lbto; net/minecraft/client/audio/SoundManager/access$400 (Lnet/minecraft/client/audio/SoundManager;)Lnet/minecraft/client/settings/GameSettings; +MD: cza/a (Lcza;Lczf;)Lczf; net/minecraft/client/audio/SoundManager/access$102 (Lnet/minecraft/client/audio/SoundManager;Lnet/minecraft/client/audio/SoundManager$SoundSystemStarterThread;)Lnet/minecraft/client/audio/SoundManager$SoundSystemStarterThread; +MD: cza/a (Lcza;Z)Z net/minecraft/client/audio/SoundManager/access$302 (Lnet/minecraft/client/audio/SoundManager;Z)Z +MD: cza/a (Loa;)Ljava/net/URL; net/minecraft/client/audio/SoundManager/func_148612_a (Lnet/minecraft/util/ResourceLocation;)Ljava/net/URL; +MD: cza/b ()V net/minecraft/client/audio/SoundManager/func_148613_b ()V +MD: cza/b (Lcye;)V net/minecraft/client/audio/SoundManager/func_148602_b (Lnet/minecraft/client/audio/ISound;)V +MD: cza/b (Lcza;)Lczf; net/minecraft/client/audio/SoundManager/access$100 (Lnet/minecraft/client/audio/SoundManager;)Lnet/minecraft/client/audio/SoundManager$SoundSystemStarterThread; +MD: cza/c ()V net/minecraft/client/audio/SoundManager/func_148614_c ()V +MD: cza/c (Lcye;)V net/minecraft/client/audio/SoundManager/func_148611_c (Lnet/minecraft/client/audio/ISound;)V +MD: cza/d ()V net/minecraft/client/audio/SoundManager/func_148605_d ()V +MD: cza/e ()V net/minecraft/client/audio/SoundManager/func_148610_e ()V +MD: cza/f ()V net/minecraft/client/audio/SoundManager/func_148604_f ()V +MD: cza/g ()Lorg/apache/logging/log4j/Logger; net/minecraft/client/audio/SoundManager/access$000 ()Lorg/apache/logging/log4j/Logger; +MD: cza/h ()Lorg/apache/logging/log4j/Marker; net/minecraft/client/audio/SoundManager/access$500 ()Lorg/apache/logging/log4j/Marker; +MD: cza/i ()V net/minecraft/client/audio/SoundManager/func_148608_i ()V +MD: czb/run ()V net/minecraft/client/audio/SoundManager$1/run ()V +MD: czc/errorMessage (Ljava/lang/String;Ljava/lang/String;I)V net/minecraft/client/audio/SoundManager$1$1/errorMessage (Ljava/lang/String;Ljava/lang/String;I)V +MD: czc/importantMessage (Ljava/lang/String;I)V net/minecraft/client/audio/SoundManager$1$1/importantMessage (Ljava/lang/String;I)V +MD: czc/message (Ljava/lang/String;I)V net/minecraft/client/audio/SoundManager$1$1/message (Ljava/lang/String;I)V +MD: czd/openConnection (Ljava/net/URL;)Ljava/net/URLConnection; net/minecraft/client/audio/SoundManager$2/openConnection (Ljava/net/URL;)Ljava/net/URLConnection; +MD: cze/connect ()V net/minecraft/client/audio/SoundManager$2$1/connect ()V +MD: cze/getInputStream ()Ljava/io/InputStream; net/minecraft/client/audio/SoundManager$2$1/getInputStream ()Ljava/io/InputStream; +MD: czf/playing (Ljava/lang/String;)Z net/minecraft/client/audio/SoundManager$SoundSystemStarterThread/playing (Ljava/lang/String;)Z +MD: czg/a ()I net/minecraft/client/audio/SoundEventAccessorComposite/func_148721_a ()I +MD: czg/a (Lczm;)V net/minecraft/client/audio/SoundEventAccessorComposite/func_148727_a (Lnet/minecraft/client/audio/ISoundEventAccessor;)V +MD: czg/b ()Lcyz; net/minecraft/client/audio/SoundEventAccessorComposite/func_148720_g ()Lnet/minecraft/client/audio/SoundPoolEntry; +MD: czg/c ()Loa; net/minecraft/client/audio/SoundEventAccessorComposite/func_148729_c ()Lnet/minecraft/util/ResourceLocation; +MD: czg/d ()Lcxz; net/minecraft/client/audio/SoundEventAccessorComposite/func_148728_d ()Lnet/minecraft/client/audio/SoundCategory; +MD: czg/g ()Ljava/lang/Object; net/minecraft/client/audio/SoundEventAccessorComposite/func_148720_g ()Ljava/lang/Object; +MD: czh/a ()V net/minecraft/client/audio/SoundHandler/func_147689_b ()V +MD: czh/a (Lahd;F)V net/minecraft/client/audio/SoundHandler/func_147691_a (Lnet/minecraft/entity/player/EntityPlayer;F)V +MD: czh/a (Lcvk;)V net/minecraft/client/audio/SoundHandler/func_110549_a (Lnet/minecraft/client/resources/IResourceManager;)V +MD: czh/a (Lcxz;F)V net/minecraft/client/audio/SoundHandler/func_147684_a (Lnet/minecraft/client/audio/SoundCategory;F)V +MD: czh/a (Lcye;)V net/minecraft/client/audio/SoundHandler/func_147682_a (Lnet/minecraft/client/audio/ISound;)V +MD: czh/a (Lcye;I)V net/minecraft/client/audio/SoundHandler/func_147681_a (Lnet/minecraft/client/audio/ISound;I)V +MD: czh/a (Lczh;)Lczl; net/minecraft/client/audio/SoundHandler/access$000 (Lnet/minecraft/client/audio/SoundHandler;)Lnet/minecraft/client/audio/SoundRegistry; +MD: czh/a (Ljava/io/InputStream;)Ljava/util/Map; net/minecraft/client/audio/SoundHandler/func_175085_a (Ljava/io/InputStream;)Ljava/util/Map; +MD: czh/a (Loa;)Lczg; net/minecraft/client/audio/SoundHandler/func_147680_a (Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/audio/SoundEventAccessorComposite; +MD: czh/a (Loa;Lcya;)V net/minecraft/client/audio/SoundHandler/func_147693_a (Lnet/minecraft/util/ResourceLocation;Lnet/minecraft/client/audio/SoundList;)V +MD: czh/a ([Lcxz;)Lczg; net/minecraft/client/audio/SoundHandler/func_147686_a ([Lnet/minecraft/client/audio/SoundCategory;)Lnet/minecraft/client/audio/SoundEventAccessorComposite; +MD: czh/b ()V net/minecraft/client/audio/SoundHandler/func_147690_c ()V +MD: czh/b (Lcye;)V net/minecraft/client/audio/SoundHandler/func_147683_b (Lnet/minecraft/client/audio/ISound;)V +MD: czh/c ()V net/minecraft/client/audio/SoundHandler/func_73660_a ()V +MD: czh/c (Lcye;)Z net/minecraft/client/audio/SoundHandler/func_147692_c (Lnet/minecraft/client/audio/ISound;)Z +MD: czh/d ()V net/minecraft/client/audio/SoundHandler/func_147685_d ()V +MD: czh/e ()V net/minecraft/client/audio/SoundHandler/func_147687_e ()V +MD: czi/getActualTypeArguments ()[Ljava/lang/reflect/Type; net/minecraft/client/audio/SoundHandler$1/getActualTypeArguments ()[Ljava/lang/reflect/Type; +MD: czi/getOwnerType ()Ljava/lang/reflect/Type; net/minecraft/client/audio/SoundHandler$1/getOwnerType ()Ljava/lang/reflect/Type; +MD: czi/getRawType ()Ljava/lang/reflect/Type; net/minecraft/client/audio/SoundHandler$1/getRawType ()Ljava/lang/reflect/Type; +MD: czj/a ()I net/minecraft/client/audio/SoundHandler$2/func_148721_a ()I +MD: czj/b ()Lcyz; net/minecraft/client/audio/SoundHandler$2/func_180604_b ()Lnet/minecraft/client/audio/SoundPoolEntry; +MD: czj/g ()Ljava/lang/Object; net/minecraft/client/audio/SoundHandler$2/func_148720_g ()Ljava/lang/Object; +MD: czl/a ()V net/minecraft/client/audio/SoundRegistry/func_148763_c ()V +MD: czl/a (Lczg;)V net/minecraft/client/audio/SoundRegistry/func_148762_a (Lnet/minecraft/client/audio/SoundEventAccessorComposite;)V +MD: czl/b ()Ljava/util/Map; net/minecraft/client/audio/SoundRegistry/func_148740_a ()Ljava/util/Map; +MD: czm/a ()I net/minecraft/client/audio/ISoundEventAccessor/func_148721_a ()I +MD: czm/g ()Ljava/lang/Object; net/minecraft/client/audio/ISoundEventAccessor/func_148720_g ()Ljava/lang/Object; +MD: czn/a ()I net/minecraft/client/audio/SoundEventAccessor/func_148721_a ()I +MD: czn/b ()Lcyz; net/minecraft/client/audio/SoundEventAccessor/func_148720_g ()Lnet/minecraft/client/audio/SoundPoolEntry; +MD: czn/g ()Ljava/lang/Object; net/minecraft/client/audio/SoundEventAccessor/func_148720_g ()Ljava/lang/Object; +MD: czs/a ()Ljava/lang/String; net/minecraft/client/stream/Metadata/func_152809_a ()Ljava/lang/String; +MD: czs/a (Ljava/lang/String;)V net/minecraft/client/stream/Metadata/func_152807_a (Ljava/lang/String;)V +MD: czs/a (Ljava/lang/String;Ljava/lang/String;)V net/minecraft/client/stream/Metadata/func_152808_a (Ljava/lang/String;Ljava/lang/String;)V +MD: czs/b ()Ljava/lang/String; net/minecraft/client/stream/Metadata/func_152806_b ()Ljava/lang/String; +MD: czs/c ()Ljava/lang/String; net/minecraft/client/stream/Metadata/func_152810_c ()Ljava/lang/String; +MD: czs/toString ()Ljava/lang/String; net/minecraft/client/stream/Metadata/toString ()Ljava/lang/String; +MD: czu/A ()Ltv/twitch/ErrorCode; net/minecraft/client/stream/BroadcastController/func_152852_P ()Ltv/twitch/ErrorCode; +MD: czu/B ()Ltv/twitch/broadcast/PixelFormat; net/minecraft/client/stream/BroadcastController/func_152826_z ()Ltv/twitch/broadcast/PixelFormat; +MD: czu/C ()Z net/minecraft/client/stream/BroadcastController/func_152817_A ()Z +MD: czu/D ()Z net/minecraft/client/stream/BroadcastController/func_152851_B ()Z +MD: czu/E ()V net/minecraft/client/stream/BroadcastController/statCallback ()V +MD: czu/F ()Z net/minecraft/client/stream/BroadcastController/func_152845_C ()Z +MD: czu/G ()Z net/minecraft/client/stream/BroadcastController/func_152830_D ()Z +MD: czu/H ()Z net/minecraft/client/stream/BroadcastController/func_152819_E ()Z +MD: czu/I ()Z net/minecraft/client/stream/BroadcastController/func_152847_F ()Z +MD: czu/J ()Z net/minecraft/client/stream/BroadcastController/func_152854_G ()Z +MD: czu/K ()V net/minecraft/client/stream/BroadcastController/func_152821_H ()V +MD: czu/L ()V net/minecraft/client/stream/BroadcastController/func_152835_I ()V +MD: czu/M ()Ldai; net/minecraft/client/stream/BroadcastController/func_152838_J ()Lnet/minecraft/client/stream/IngestServerTester; +MD: czu/O ()Z net/minecraft/client/stream/BroadcastController/func_152823_L ()Z +MD: czu/P ()V net/minecraft/client/stream/BroadcastController/func_152831_M ()V +MD: czu/Q ()Ltv/twitch/broadcast/FrameBuffer; net/minecraft/client/stream/BroadcastController/func_152822_N ()Ltv/twitch/broadcast/FrameBuffer; +MD: czu/a (F)V net/minecraft/client/stream/BroadcastController/func_152829_a (F)V +MD: czu/a (IIFF)Ltv/twitch/broadcast/VideoParams; net/minecraft/client/stream/BroadcastController/func_152834_a (IIFF)Ltv/twitch/broadcast/VideoParams; +MD: czu/a (Lczy;)V net/minecraft/client/stream/BroadcastController/func_152827_a (Lnet/minecraft/client/stream/BroadcastController$BroadcastState;)V +MD: czu/a (Lczz;)V net/minecraft/client/stream/BroadcastController/func_152841_a (Lnet/minecraft/client/stream/BroadcastController$BroadcastListener;)V +MD: czu/a (Ljava/lang/String;)V net/minecraft/client/stream/BroadcastController/func_152842_a (Ljava/lang/String;)V +MD: czu/a (Ljava/lang/String;JJLjava/lang/String;Ljava/lang/String;)Z net/minecraft/client/stream/BroadcastController/func_177947_a (Ljava/lang/String;JJLjava/lang/String;Ljava/lang/String;)Z +MD: czu/a (Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)Z net/minecraft/client/stream/BroadcastController/func_152840_a (Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)Z +MD: czu/a (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z net/minecraft/client/stream/BroadcastController/func_152828_a (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z +MD: czu/a (Ljava/lang/String;Ltv/twitch/AuthToken;)Z net/minecraft/client/stream/BroadcastController/func_152818_a (Ljava/lang/String;Ltv/twitch/AuthToken;)Z +MD: czu/a (Ltv/twitch/ErrorCode;)Z net/minecraft/client/stream/BroadcastController/func_152853_a (Ltv/twitch/ErrorCode;)Z +MD: czu/a (Ltv/twitch/broadcast/FrameBuffer;)V net/minecraft/client/stream/BroadcastController/func_152846_a (Ltv/twitch/broadcast/FrameBuffer;)V +MD: czu/a (Ltv/twitch/broadcast/IngestServer;)V net/minecraft/client/stream/BroadcastController/func_152824_a (Ltv/twitch/broadcast/IngestServer;)V +MD: czu/a (Ltv/twitch/broadcast/VideoParams;)Z net/minecraft/client/stream/BroadcastController/func_152836_a (Ltv/twitch/broadcast/VideoParams;)Z +MD: czu/b ()Z net/minecraft/client/stream/BroadcastController/func_152858_b ()Z +MD: czu/b (F)V net/minecraft/client/stream/BroadcastController/func_152837_b (F)V +MD: czu/b (Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)J net/minecraft/client/stream/BroadcastController/func_177946_b (Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)J +MD: czu/b (Ltv/twitch/broadcast/FrameBuffer;)Ltv/twitch/ErrorCode; net/minecraft/client/stream/BroadcastController/func_152859_b (Ltv/twitch/broadcast/FrameBuffer;)Ltv/twitch/ErrorCode; +MD: czu/d (Ljava/lang/String;)V net/minecraft/client/stream/BroadcastController/func_152820_d (Ljava/lang/String;)V +MD: czu/e (Ljava/lang/String;)V net/minecraft/client/stream/BroadcastController/func_152832_e (Ljava/lang/String;)V +MD: czu/j ()Ltv/twitch/broadcast/StreamInfo; net/minecraft/client/stream/BroadcastController/func_152816_j ()Ltv/twitch/broadcast/StreamInfo; +MD: czu/l ()Ltv/twitch/broadcast/ChannelInfo; net/minecraft/client/stream/BroadcastController/func_152843_l ()Ltv/twitch/broadcast/ChannelInfo; +MD: czu/m ()Z net/minecraft/client/stream/BroadcastController/func_152850_m ()Z +MD: czu/n ()Z net/minecraft/client/stream/BroadcastController/func_152857_n ()Z +MD: czu/o ()Z net/minecraft/client/stream/BroadcastController/func_152825_o ()Z +MD: czu/p ()Z net/minecraft/client/stream/BroadcastController/func_152839_p ()Z +MD: czu/q ()Z net/minecraft/client/stream/BroadcastController/func_152849_q ()Z +MD: czu/s ()Ltv/twitch/broadcast/IngestServer; net/minecraft/client/stream/BroadcastController/func_152833_s ()Ltv/twitch/broadcast/IngestServer; +MD: czu/t ()Ltv/twitch/broadcast/IngestList; net/minecraft/client/stream/BroadcastController/func_152855_t ()Ltv/twitch/broadcast/IngestList; +MD: czu/w ()Ldai; net/minecraft/client/stream/BroadcastController/func_152856_w ()Lnet/minecraft/client/stream/IngestServerTester; +MD: czu/x ()J net/minecraft/client/stream/BroadcastController/func_152844_x ()J +MD: czu/y ()Z net/minecraft/client/stream/BroadcastController/func_152848_y ()Z +MD: czv/bufferUnlockCallback (J)V net/minecraft/client/stream/BroadcastController$1/bufferUnlockCallback (J)V +MD: czv/getArchivingStateCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/ArchivingState;)V net/minecraft/client/stream/BroadcastController$1/getArchivingStateCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/ArchivingState;)V +MD: czv/getGameNameListCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/GameInfoList;)V net/minecraft/client/stream/BroadcastController$1/getGameNameListCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/GameInfoList;)V +MD: czv/getIngestServersCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/IngestList;)V net/minecraft/client/stream/BroadcastController$1/getIngestServersCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/IngestList;)V +MD: czv/getStreamInfoCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/StreamInfo;)V net/minecraft/client/stream/BroadcastController$1/getStreamInfoCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/StreamInfo;)V +MD: czv/getUserInfoCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/UserInfo;)V net/minecraft/client/stream/BroadcastController$1/getUserInfoCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/UserInfo;)V +MD: czv/loginCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/ChannelInfo;)V net/minecraft/client/stream/BroadcastController$1/loginCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/ChannelInfo;)V +MD: czv/requestAuthTokenCallback (Ltv/twitch/ErrorCode;Ltv/twitch/AuthToken;)V net/minecraft/client/stream/BroadcastController$1/requestAuthTokenCallback (Ltv/twitch/ErrorCode;Ltv/twitch/AuthToken;)V +MD: czv/runCommercialCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/BroadcastController$1/runCommercialCallback (Ltv/twitch/ErrorCode;)V +MD: czv/sendActionMetaDataCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/BroadcastController$1/sendActionMetaDataCallback (Ltv/twitch/ErrorCode;)V +MD: czv/sendEndSpanMetaDataCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/BroadcastController$1/sendEndSpanMetaDataCallback (Ltv/twitch/ErrorCode;)V +MD: czv/sendStartSpanMetaDataCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/BroadcastController$1/sendStartSpanMetaDataCallback (Ltv/twitch/ErrorCode;)V +MD: czv/setStreamInfoCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/BroadcastController$1/setStreamInfoCallback (Ltv/twitch/ErrorCode;)V +MD: czv/startCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/BroadcastController$1/startCallback (Ltv/twitch/ErrorCode;)V +MD: czv/stopCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/BroadcastController$1/stopCallback (Ltv/twitch/ErrorCode;)V +MD: czw/statCallback (Ltv/twitch/broadcast/StatType;J)V net/minecraft/client/stream/BroadcastController$2/statCallback (Ltv/twitch/broadcast/StatType;J)V +MD: czy/values ()[Lczy; net/minecraft/client/stream/BroadcastController$BroadcastState/values ()[Lnet/minecraft/client/stream/BroadcastController$BroadcastState; +MD: czz/a ()V net/minecraft/client/stream/BroadcastController$BroadcastListener/func_152895_a ()V +MD: czz/a (Lczy;)V net/minecraft/client/stream/BroadcastController$BroadcastListener/func_152891_a (Lnet/minecraft/client/stream/BroadcastController$BroadcastState;)V +MD: czz/a (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/BroadcastController$BroadcastListener/func_152897_a (Ltv/twitch/ErrorCode;)V +MD: czz/a (Ltv/twitch/ErrorCode;Ltv/twitch/AuthToken;)V net/minecraft/client/stream/BroadcastController$BroadcastListener/func_152900_a (Ltv/twitch/ErrorCode;Ltv/twitch/AuthToken;)V +MD: czz/a (Ltv/twitch/ErrorCode;[Ltv/twitch/broadcast/GameInfo;)V net/minecraft/client/stream/BroadcastController$BroadcastListener/func_152898_a (Ltv/twitch/ErrorCode;[Ltv/twitch/broadcast/GameInfo;)V +MD: czz/a (Ltv/twitch/broadcast/IngestList;)V net/minecraft/client/stream/BroadcastController$BroadcastListener/func_152896_a (Ltv/twitch/broadcast/IngestList;)V +MD: czz/a (Ltv/twitch/broadcast/StreamInfo;)V net/minecraft/client/stream/BroadcastController$BroadcastListener/func_152894_a (Ltv/twitch/broadcast/StreamInfo;)V +MD: czz/b ()V net/minecraft/client/stream/BroadcastController$BroadcastListener/func_152899_b ()V +MD: czz/b (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/BroadcastController$BroadcastListener/func_152893_b (Ltv/twitch/ErrorCode;)V +MD: czz/c ()V net/minecraft/client/stream/BroadcastController$BroadcastListener/func_152901_c ()V +MD: czz/c (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/BroadcastController$BroadcastListener/func_152892_c (Ltv/twitch/ErrorCode;)V +MD: d/a ()Ljava/lang/String; net/minecraft/crash/CrashReport$2/call ()Ljava/lang/String; +MD: d/call ()Ljava/lang/Object; net/minecraft/crash/CrashReport$2/call ()Ljava/lang/Object; +MD: da/a ()I net/minecraft/command/CommandTime/func_82362_a ()I +MD: da/a (Lae;I)V net/minecraft/command/CommandTime/func_71552_a (Lnet/minecraft/command/ICommandSender;I)V +MD: da/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandTime/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: da/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandTime/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: da/b (Lae;I)V net/minecraft/command/CommandTime/func_71553_b (Lnet/minecraft/command/ICommandSender;I)V +MD: da/c ()Ljava/lang/String; net/minecraft/command/CommandTime/func_71517_b ()Ljava/lang/String; +MD: da/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandTime/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: daa/a (Ldaf;)V net/minecraft/client/stream/ChatController/func_175985_a (Lnet/minecraft/client/stream/ChatController$ChatState;)V +MD: daa/a (Ldah;)V net/minecraft/client/stream/ChatController/func_152990_a (Lnet/minecraft/client/stream/ChatController$ChatListener;)V +MD: daa/a (Ljava/lang/String;)V net/minecraft/client/stream/ChatController/func_152984_a (Ljava/lang/String;)V +MD: daa/a (Ljava/lang/String;Ljava/lang/String;)Z net/minecraft/client/stream/ChatController/func_175986_a (Ljava/lang/String;Ljava/lang/String;)Z +MD: daa/a (Ljava/lang/String;Z)Z net/minecraft/client/stream/ChatController/func_175987_a (Ljava/lang/String;Z)Z +MD: daa/a (Ltv/twitch/AuthToken;)V net/minecraft/client/stream/ChatController/func_152994_a (Ltv/twitch/AuthToken;)V +MD: daa/c (Ljava/lang/String;)V net/minecraft/client/stream/ChatController/func_152998_c (Ljava/lang/String;)V +MD: daa/d (Ljava/lang/String;)Z net/minecraft/client/stream/ChatController/func_175990_d (Ljava/lang/String;)Z +MD: daa/e (Ljava/lang/String;)Ldad; net/minecraft/client/stream/ChatController/func_175989_e (Ljava/lang/String;)Lnet/minecraft/client/stream/ChatController$EnumChannelState; +MD: daa/h ()Ldaf; net/minecraft/client/stream/ChatController/func_153000_j ()Lnet/minecraft/client/stream/ChatController$ChatState; +MD: daa/j (Ljava/lang/String;)Z net/minecraft/client/stream/ChatController/func_152986_d (Ljava/lang/String;)Z +MD: daa/l (Ljava/lang/String;)Z net/minecraft/client/stream/ChatController/func_175991_l (Ljava/lang/String;)Z +MD: daa/n ()Z net/minecraft/client/stream/ChatController/func_175984_n ()Z +MD: daa/n (Ljava/lang/String;)V net/minecraft/client/stream/ChatController/func_152995_h (Ljava/lang/String;)V +MD: daa/o ()Z net/minecraft/client/stream/ChatController/func_152993_m ()Z +MD: daa/p ()V net/minecraft/client/stream/ChatController/func_175988_p ()V +MD: daa/q ()V net/minecraft/client/stream/ChatController/func_152997_n ()V +MD: daa/r ()V net/minecraft/client/stream/ChatController/func_153001_r ()V +MD: daa/s ()V net/minecraft/client/stream/ChatController/func_152988_s ()V +MD: daa/t ()V net/minecraft/client/stream/ChatController/func_152996_t ()V +MD: dab/chatEmoticonDataDownloadCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/ChatController$1/chatEmoticonDataDownloadCallback (Ltv/twitch/ErrorCode;)V +MD: dab/chatInitializationCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/ChatController$1/chatInitializationCallback (Ltv/twitch/ErrorCode;)V +MD: dab/chatShutdownCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/ChatController$1/chatShutdownCallback (Ltv/twitch/ErrorCode;)V +MD: dad/values ()[Ldad; net/minecraft/client/stream/ChatController$EnumChannelState/values ()[Lnet/minecraft/client/stream/ChatController$EnumChannelState; +MD: dae/a ()Ldad; net/minecraft/client/stream/ChatController$ChatChannelListener/func_176040_a ()Lnet/minecraft/client/stream/ChatController$EnumChannelState; +MD: dae/a (Ldad;)V net/minecraft/client/stream/ChatController$ChatChannelListener/func_176035_a (Lnet/minecraft/client/stream/ChatController$EnumChannelState;)V +MD: dae/a (Ljava/lang/String;)V net/minecraft/client/stream/ChatController$ChatChannelListener/func_176032_a (Ljava/lang/String;)V +MD: dae/a (Z)Z net/minecraft/client/stream/ChatController$ChatChannelListener/func_176038_a (Z)Z +MD: dae/b (Ljava/lang/String;)Z net/minecraft/client/stream/ChatController$ChatChannelListener/func_176037_b (Ljava/lang/String;)Z +MD: dae/c (Ljava/lang/String;)V net/minecraft/client/stream/ChatController$ChatChannelListener/func_176031_c (Ljava/lang/String;)V +MD: dae/chatBadgeDataDownloadCallback (Ljava/lang/String;Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/ChatController$ChatChannelListener/chatBadgeDataDownloadCallback (Ljava/lang/String;Ltv/twitch/ErrorCode;)V +MD: dae/chatChannelMembershipCallback (Ljava/lang/String;Ltv/twitch/chat/ChatEvent;Ltv/twitch/chat/ChatChannelInfo;)V net/minecraft/client/stream/ChatController$ChatChannelListener/chatChannelMembershipCallback (Ljava/lang/String;Ltv/twitch/chat/ChatEvent;Ltv/twitch/chat/ChatChannelInfo;)V +MD: dae/chatChannelRawMessageCallback (Ljava/lang/String;[Ltv/twitch/chat/ChatRawMessage;)V net/minecraft/client/stream/ChatController$ChatChannelListener/chatChannelRawMessageCallback (Ljava/lang/String;[Ltv/twitch/chat/ChatRawMessage;)V +MD: dae/chatChannelTokenizedMessageCallback (Ljava/lang/String;[Ltv/twitch/chat/ChatTokenizedMessage;)V net/minecraft/client/stream/ChatController$ChatChannelListener/chatChannelTokenizedMessageCallback (Ljava/lang/String;[Ltv/twitch/chat/ChatTokenizedMessage;)V +MD: dae/chatChannelUserChangeCallback (Ljava/lang/String;[Ltv/twitch/chat/ChatUserInfo;[Ltv/twitch/chat/ChatUserInfo;[Ltv/twitch/chat/ChatUserInfo;)V net/minecraft/client/stream/ChatController$ChatChannelListener/chatChannelUserChangeCallback (Ljava/lang/String;[Ltv/twitch/chat/ChatUserInfo;[Ltv/twitch/chat/ChatUserInfo;[Ltv/twitch/chat/ChatUserInfo;)V +MD: dae/chatClearCallback (Ljava/lang/String;Ljava/lang/String;)V net/minecraft/client/stream/ChatController$ChatChannelListener/chatClearCallback (Ljava/lang/String;Ljava/lang/String;)V +MD: dae/chatStatusCallback (Ljava/lang/String;Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/ChatController$ChatChannelListener/chatStatusCallback (Ljava/lang/String;Ltv/twitch/ErrorCode;)V +MD: dae/d (Ljava/lang/String;)V net/minecraft/client/stream/ChatController$ChatChannelListener/func_176036_d (Ljava/lang/String;)V +MD: dae/g ()Z net/minecraft/client/stream/ChatController$ChatChannelListener/func_176034_g ()Z +MD: dae/h ()V net/minecraft/client/stream/ChatController$ChatChannelListener/func_176041_h ()V +MD: dae/i ()V net/minecraft/client/stream/ChatController$ChatChannelListener/func_176039_i ()V +MD: dae/j ()V net/minecraft/client/stream/ChatController$ChatChannelListener/func_176033_j ()V +MD: dae/k ()V net/minecraft/client/stream/ChatController$ChatChannelListener/func_176030_k ()V +MD: daf/values ()[Ldaf; net/minecraft/client/stream/ChatController$ChatState/values ()[Lnet/minecraft/client/stream/ChatController$ChatState; +MD: dag/values ()[Ldag; net/minecraft/client/stream/ChatController$EnumEmoticonMode/values ()[Lnet/minecraft/client/stream/ChatController$EnumEmoticonMode; +MD: dah/a (Ldaf;)V net/minecraft/client/stream/ChatController$ChatListener/func_176017_a (Lnet/minecraft/client/stream/ChatController$ChatState;)V +MD: dah/a (Ljava/lang/String;)V net/minecraft/client/stream/ChatController$ChatListener/func_180606_a (Ljava/lang/String;)V +MD: dah/a (Ljava/lang/String;Ljava/lang/String;)V net/minecraft/client/stream/ChatController$ChatListener/func_176019_a (Ljava/lang/String;Ljava/lang/String;)V +MD: dah/a (Ljava/lang/String;[Ltv/twitch/chat/ChatRawMessage;)V net/minecraft/client/stream/ChatController$ChatListener/func_180605_a (Ljava/lang/String;[Ltv/twitch/chat/ChatRawMessage;)V +MD: dah/a (Ljava/lang/String;[Ltv/twitch/chat/ChatTokenizedMessage;)V net/minecraft/client/stream/ChatController$ChatListener/func_176025_a (Ljava/lang/String;[Ltv/twitch/chat/ChatTokenizedMessage;)V +MD: dah/a (Ljava/lang/String;[Ltv/twitch/chat/ChatUserInfo;[Ltv/twitch/chat/ChatUserInfo;[Ltv/twitch/chat/ChatUserInfo;)V net/minecraft/client/stream/ChatController$ChatListener/func_176018_a (Ljava/lang/String;[Ltv/twitch/chat/ChatUserInfo;[Ltv/twitch/chat/ChatUserInfo;[Ltv/twitch/chat/ChatUserInfo;)V +MD: dah/b (Ljava/lang/String;)V net/minecraft/client/stream/ChatController$ChatListener/func_180607_b (Ljava/lang/String;)V +MD: dah/c (Ljava/lang/String;)V net/minecraft/client/stream/ChatController$ChatListener/func_176016_c (Ljava/lang/String;)V +MD: dah/d ()V net/minecraft/client/stream/ChatController$ChatListener/func_176021_d ()V +MD: dah/d (Ljava/lang/String;)V net/minecraft/client/stream/ChatController$ChatListener/func_176020_d (Ljava/lang/String;)V +MD: dah/d (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/ChatController$ChatListener/func_176023_d (Ltv/twitch/ErrorCode;)V +MD: dah/e ()V net/minecraft/client/stream/ChatController$ChatListener/func_176024_e ()V +MD: dah/e (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/ChatController$ChatListener/func_176022_e (Ltv/twitch/ErrorCode;)V +MD: dai/a (Ldam;)V net/minecraft/client/stream/IngestServerTester/func_153042_a (Lnet/minecraft/client/stream/IngestServerTester$IngestTestListener;)V +MD: dai/a (Ldan;)V net/minecraft/client/stream/IngestServerTester/func_153034_a (Lnet/minecraft/client/stream/IngestServerTester$IngestTestState;)V +MD: dai/a (Ltv/twitch/broadcast/IngestServer;)Z net/minecraft/client/stream/IngestServerTester/func_153036_a (Ltv/twitch/broadcast/IngestServer;)Z +MD: dai/b (Ltv/twitch/broadcast/IngestServer;)V net/minecraft/client/stream/IngestServerTester/func_153035_b (Ltv/twitch/broadcast/IngestServer;)V +MD: dai/c ()Ltv/twitch/broadcast/IngestServer; net/minecraft/client/stream/IngestServerTester/func_153040_c ()Ltv/twitch/broadcast/IngestServer; +MD: dai/c (Ltv/twitch/broadcast/IngestServer;)Z net/minecraft/client/stream/IngestServerTester/func_153029_c (Ltv/twitch/broadcast/IngestServer;)Z +MD: dai/d ()I net/minecraft/client/stream/IngestServerTester/func_153028_p ()I +MD: dai/f ()Z net/minecraft/client/stream/IngestServerTester/func_153032_e ()Z +MD: dai/i ()F net/minecraft/client/stream/IngestServerTester/func_153030_h ()F +MD: dai/j ()V net/minecraft/client/stream/IngestServerTester/func_176004_j ()V +MD: dai/k ()V net/minecraft/client/stream/IngestServerTester/func_153041_j ()V +MD: dai/m ()V net/minecraft/client/stream/IngestServerTester/func_153039_l ()V +MD: dai/n ()J net/minecraft/client/stream/IngestServerTester/func_153037_m ()J +MD: dai/o ()V net/minecraft/client/stream/IngestServerTester/func_153038_n ()V +MD: dai/p ()V net/minecraft/client/stream/IngestServerTester/func_153031_o ()V +MD: daj/bufferUnlockCallback (J)V net/minecraft/client/stream/IngestServerTester$1/bufferUnlockCallback (J)V +MD: daj/getArchivingStateCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/ArchivingState;)V net/minecraft/client/stream/IngestServerTester$1/getArchivingStateCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/ArchivingState;)V +MD: daj/getGameNameListCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/GameInfoList;)V net/minecraft/client/stream/IngestServerTester$1/getGameNameListCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/GameInfoList;)V +MD: daj/getIngestServersCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/IngestList;)V net/minecraft/client/stream/IngestServerTester$1/getIngestServersCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/IngestList;)V +MD: daj/getStreamInfoCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/StreamInfo;)V net/minecraft/client/stream/IngestServerTester$1/getStreamInfoCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/StreamInfo;)V +MD: daj/getUserInfoCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/UserInfo;)V net/minecraft/client/stream/IngestServerTester$1/getUserInfoCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/UserInfo;)V +MD: daj/loginCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/ChannelInfo;)V net/minecraft/client/stream/IngestServerTester$1/loginCallback (Ltv/twitch/ErrorCode;Ltv/twitch/broadcast/ChannelInfo;)V +MD: daj/requestAuthTokenCallback (Ltv/twitch/ErrorCode;Ltv/twitch/AuthToken;)V net/minecraft/client/stream/IngestServerTester$1/requestAuthTokenCallback (Ltv/twitch/ErrorCode;Ltv/twitch/AuthToken;)V +MD: daj/runCommercialCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/IngestServerTester$1/runCommercialCallback (Ltv/twitch/ErrorCode;)V +MD: daj/sendActionMetaDataCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/IngestServerTester$1/sendActionMetaDataCallback (Ltv/twitch/ErrorCode;)V +MD: daj/sendEndSpanMetaDataCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/IngestServerTester$1/sendEndSpanMetaDataCallback (Ltv/twitch/ErrorCode;)V +MD: daj/sendStartSpanMetaDataCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/IngestServerTester$1/sendStartSpanMetaDataCallback (Ltv/twitch/ErrorCode;)V +MD: daj/setStreamInfoCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/IngestServerTester$1/setStreamInfoCallback (Ltv/twitch/ErrorCode;)V +MD: daj/startCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/IngestServerTester$1/startCallback (Ltv/twitch/ErrorCode;)V +MD: daj/stopCallback (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/IngestServerTester$1/stopCallback (Ltv/twitch/ErrorCode;)V +MD: dak/statCallback (Ltv/twitch/broadcast/StatType;J)V net/minecraft/client/stream/IngestServerTester$2/statCallback (Ltv/twitch/broadcast/StatType;J)V +MD: dam/a (Ldai;Ldan;)V net/minecraft/client/stream/IngestServerTester$IngestTestListener/func_152907_a (Lnet/minecraft/client/stream/IngestServerTester;Lnet/minecraft/client/stream/IngestServerTester$IngestTestState;)V +MD: dan/values ()[Ldan; net/minecraft/client/stream/IngestServerTester$IngestTestState/values ()[Lnet/minecraft/client/stream/IngestServerTester$IngestTestState; +MD: dao/A ()Z net/minecraft/client/stream/IStream/func_152928_D ()Z +MD: dao/B ()Ltv/twitch/ErrorCode; net/minecraft/client/stream/IStream/func_152912_E ()Ltv/twitch/ErrorCode; +MD: dao/C ()Z net/minecraft/client/stream/IStream/func_152913_F ()Z +MD: dao/D ()Z net/minecraft/client/stream/IStream/func_152929_G ()Z +MD: dao/E ()Ldap; net/minecraft/client/stream/IStream/func_152918_H ()Lnet/minecraft/client/stream/IStream$AuthFailureReason; +MD: dao/a (Lczs;J)V net/minecraft/client/stream/IStream/func_152911_a (Lnet/minecraft/client/stream/Metadata;J)V +MD: dao/a (Lczs;JJ)V net/minecraft/client/stream/IStream/func_176026_a (Lnet/minecraft/client/stream/Metadata;JJ)V +MD: dao/a (Z)V net/minecraft/client/stream/IStream/func_152910_a (Z)V +MD: dao/e (Ljava/lang/String;)Ltv/twitch/chat/ChatUserInfo; net/minecraft/client/stream/IStream/func_152926_a (Ljava/lang/String;)Ltv/twitch/chat/ChatUserInfo; +MD: dao/f ()V net/minecraft/client/stream/IStream/func_152923_i ()V +MD: dao/f (Ljava/lang/String;)V net/minecraft/client/stream/IStream/func_152917_b (Ljava/lang/String;)V +MD: dao/g ()V net/minecraft/client/stream/IStream/func_152935_j ()V +MD: dao/h ()V net/minecraft/client/stream/IStream/func_152922_k ()V +MD: dao/i ()Z net/minecraft/client/stream/IStream/func_152936_l ()Z +MD: dao/j ()Z net/minecraft/client/stream/IStream/func_152924_m ()Z +MD: dao/k ()Z net/minecraft/client/stream/IStream/func_152934_n ()Z +MD: dao/l ()Z net/minecraft/client/stream/IStream/func_152919_o ()Z +MD: dao/m ()V net/minecraft/client/stream/IStream/func_152931_p ()V +MD: dao/n ()V net/minecraft/client/stream/IStream/func_152916_q ()V +MD: dao/o ()V net/minecraft/client/stream/IStream/func_152933_r ()V +MD: dao/p ()V net/minecraft/client/stream/IStream/func_152915_s ()V +MD: dao/q ()V net/minecraft/client/stream/IStream/func_152930_t ()V +MD: dao/r ()V net/minecraft/client/stream/IStream/func_152914_u ()V +MD: dao/s ()[Ltv/twitch/broadcast/IngestServer; net/minecraft/client/stream/IStream/func_152925_v ()[Ltv/twitch/broadcast/IngestServer; +MD: dao/u ()V net/minecraft/client/stream/IStream/func_152909_x ()V +MD: dao/v ()Ldai; net/minecraft/client/stream/IStream/func_152932_y ()Lnet/minecraft/client/stream/IngestServerTester; +MD: dao/w ()Z net/minecraft/client/stream/IStream/func_152908_z ()Z +MD: dao/x ()I net/minecraft/client/stream/IStream/func_152920_A ()I +MD: dao/y ()Z net/minecraft/client/stream/IStream/func_152927_B ()Z +MD: dao/z ()Ljava/lang/String; net/minecraft/client/stream/IStream/func_152921_C ()Ljava/lang/String; +MD: dap/values ()[Ldap; net/minecraft/client/stream/IStream$AuthFailureReason/values ()[Lnet/minecraft/client/stream/IStream$AuthFailureReason; +MD: daq/A ()Z net/minecraft/client/stream/TwitchStream/func_152928_D ()Z +MD: daq/B ()Ltv/twitch/ErrorCode; net/minecraft/client/stream/TwitchStream/func_152912_E ()Ltv/twitch/ErrorCode; +MD: daq/C ()Z net/minecraft/client/stream/TwitchStream/func_152913_F ()Z +MD: daq/D ()Z net/minecraft/client/stream/TwitchStream/func_152929_G ()Z +MD: daq/E ()Ldap; net/minecraft/client/stream/TwitchStream/func_152918_H ()Lnet/minecraft/client/stream/IStream$AuthFailureReason; +MD: daq/F ()V net/minecraft/client/stream/TwitchStream/func_152942_I ()V +MD: daq/G ()Lorg/apache/logging/log4j/Logger; net/minecraft/client/stream/TwitchStream/access$000 ()Lorg/apache/logging/log4j/Logger; +MD: daq/a ()V net/minecraft/client/stream/TwitchStream/func_152895_a ()V +MD: daq/a (F)I net/minecraft/client/stream/TwitchStream/func_152948_a (F)I +MD: daq/a (Lczs;J)V net/minecraft/client/stream/TwitchStream/func_152911_a (Lnet/minecraft/client/stream/Metadata;J)V +MD: daq/a (Lczs;JJ)V net/minecraft/client/stream/TwitchStream/func_176026_a (Lnet/minecraft/client/stream/Metadata;JJ)V +MD: daq/a (Lczy;)V net/minecraft/client/stream/TwitchStream/func_152891_a (Lnet/minecraft/client/stream/BroadcastController$BroadcastState;)V +MD: daq/a (Ldaf;)V net/minecraft/client/stream/TwitchStream/func_176017_a (Lnet/minecraft/client/stream/ChatController$ChatState;)V +MD: daq/a (Ldai;Ldan;)V net/minecraft/client/stream/TwitchStream/func_152907_a (Lnet/minecraft/client/stream/IngestServerTester;Lnet/minecraft/client/stream/IngestServerTester$IngestTestState;)V +MD: daq/a (Ldaq;)Lczu; net/minecraft/client/stream/TwitchStream/access$100 (Lnet/minecraft/client/stream/TwitchStream;)Lnet/minecraft/client/stream/BroadcastController; +MD: daq/a (Ldaq;Ldap;)Ldap; net/minecraft/client/stream/TwitchStream/access$302 (Lnet/minecraft/client/stream/TwitchStream;Lnet/minecraft/client/stream/IStream$AuthFailureReason;)Lnet/minecraft/client/stream/IStream$AuthFailureReason; +MD: daq/a (Ljava/lang/String;)V net/minecraft/client/stream/TwitchStream/func_180606_a (Ljava/lang/String;)V +MD: daq/a (Ljava/lang/String;Ljava/lang/String;)V net/minecraft/client/stream/TwitchStream/func_176019_a (Ljava/lang/String;Ljava/lang/String;)V +MD: daq/a (Ljava/lang/String;Ltv/twitch/chat/ChatRawMessage;)V net/minecraft/client/stream/TwitchStream/func_176027_a (Ljava/lang/String;Ltv/twitch/chat/ChatRawMessage;)V +MD: daq/a (Ljava/lang/String;[Ltv/twitch/chat/ChatRawMessage;)V net/minecraft/client/stream/TwitchStream/func_180605_a (Ljava/lang/String;[Ltv/twitch/chat/ChatRawMessage;)V +MD: daq/a (Ljava/lang/String;[Ltv/twitch/chat/ChatTokenizedMessage;)V net/minecraft/client/stream/TwitchStream/func_176025_a (Ljava/lang/String;[Ltv/twitch/chat/ChatTokenizedMessage;)V +MD: daq/a (Ljava/lang/String;[Ltv/twitch/chat/ChatUserInfo;[Ltv/twitch/chat/ChatUserInfo;[Ltv/twitch/chat/ChatUserInfo;)V net/minecraft/client/stream/TwitchStream/func_176018_a (Ljava/lang/String;[Ltv/twitch/chat/ChatUserInfo;[Ltv/twitch/chat/ChatUserInfo;[Ltv/twitch/chat/ChatUserInfo;)V +MD: daq/a (Ljava/util/Set;Ljava/util/Set;I)Z net/minecraft/client/stream/TwitchStream/func_176028_a (Ljava/util/Set;Ljava/util/Set;I)Z +MD: daq/a (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/TwitchStream/func_152897_a (Ltv/twitch/ErrorCode;)V +MD: daq/a (Ltv/twitch/ErrorCode;Ltv/twitch/AuthToken;)V net/minecraft/client/stream/TwitchStream/func_152900_a (Ltv/twitch/ErrorCode;Ltv/twitch/AuthToken;)V +MD: daq/a (Ltv/twitch/ErrorCode;[Ltv/twitch/broadcast/GameInfo;)V net/minecraft/client/stream/TwitchStream/func_152898_a (Ltv/twitch/ErrorCode;[Ltv/twitch/broadcast/GameInfo;)V +MD: daq/a (Ltv/twitch/broadcast/IngestList;)V net/minecraft/client/stream/TwitchStream/func_152896_a (Ltv/twitch/broadcast/IngestList;)V +MD: daq/a (Ltv/twitch/broadcast/StreamInfo;)V net/minecraft/client/stream/TwitchStream/func_152894_a (Ltv/twitch/broadcast/StreamInfo;)V +MD: daq/a (Z)V net/minecraft/client/stream/TwitchStream/func_152910_a (Z)V +MD: daq/b ()V net/minecraft/client/stream/TwitchStream/func_152899_b ()V +MD: daq/b (F)I net/minecraft/client/stream/TwitchStream/func_152946_b (F)I +MD: daq/b (Ldaq;)Ldaa; net/minecraft/client/stream/TwitchStream/access$200 (Lnet/minecraft/client/stream/TwitchStream;)Lnet/minecraft/client/stream/ChatController; +MD: daq/b (Ljava/lang/String;)V net/minecraft/client/stream/TwitchStream/func_180607_b (Ljava/lang/String;)V +MD: daq/b (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/TwitchStream/func_152893_b (Ltv/twitch/ErrorCode;)V +MD: daq/c ()V net/minecraft/client/stream/TwitchStream/func_152901_c ()V +MD: daq/c (F)F net/minecraft/client/stream/TwitchStream/func_152947_c (F)F +MD: daq/c (Ljava/lang/String;)V net/minecraft/client/stream/TwitchStream/func_176016_c (Ljava/lang/String;)V +MD: daq/c (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/TwitchStream/func_152892_c (Ltv/twitch/ErrorCode;)V +MD: daq/d ()V net/minecraft/client/stream/TwitchStream/func_176021_d ()V +MD: daq/d (Ljava/lang/String;)V net/minecraft/client/stream/TwitchStream/func_176020_d (Ljava/lang/String;)V +MD: daq/d (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/TwitchStream/func_176023_d (Ltv/twitch/ErrorCode;)V +MD: daq/e ()V net/minecraft/client/stream/TwitchStream/func_176024_e ()V +MD: daq/e (Ljava/lang/String;)Ltv/twitch/chat/ChatUserInfo; net/minecraft/client/stream/TwitchStream/func_152926_a (Ljava/lang/String;)Ltv/twitch/chat/ChatUserInfo; +MD: daq/e (Ltv/twitch/ErrorCode;)V net/minecraft/client/stream/TwitchStream/func_176022_e (Ltv/twitch/ErrorCode;)V +MD: daq/f ()V net/minecraft/client/stream/TwitchStream/func_152923_i ()V +MD: daq/f (Ljava/lang/String;)V net/minecraft/client/stream/TwitchStream/func_152917_b (Ljava/lang/String;)V +MD: daq/g ()V net/minecraft/client/stream/TwitchStream/func_152935_j ()V +MD: daq/h ()V net/minecraft/client/stream/TwitchStream/func_152922_k ()V +MD: daq/i ()Z net/minecraft/client/stream/TwitchStream/func_152936_l ()Z +MD: daq/j ()Z net/minecraft/client/stream/TwitchStream/func_152924_m ()Z +MD: daq/k ()Z net/minecraft/client/stream/TwitchStream/func_152934_n ()Z +MD: daq/l ()Z net/minecraft/client/stream/TwitchStream/func_152919_o ()Z +MD: daq/m ()V net/minecraft/client/stream/TwitchStream/func_152931_p ()V +MD: daq/n ()V net/minecraft/client/stream/TwitchStream/func_152916_q ()V +MD: daq/o ()V net/minecraft/client/stream/TwitchStream/func_152933_r ()V +MD: daq/p ()V net/minecraft/client/stream/TwitchStream/func_152915_s ()V +MD: daq/q ()V net/minecraft/client/stream/TwitchStream/func_152930_t ()V +MD: daq/r ()V net/minecraft/client/stream/TwitchStream/func_152914_u ()V +MD: daq/s ()[Ltv/twitch/broadcast/IngestServer; net/minecraft/client/stream/TwitchStream/func_152925_v ()[Ltv/twitch/broadcast/IngestServer; +MD: daq/u ()V net/minecraft/client/stream/TwitchStream/func_152909_x ()V +MD: daq/v ()Ldai; net/minecraft/client/stream/TwitchStream/func_152932_y ()Lnet/minecraft/client/stream/IngestServerTester; +MD: daq/w ()Z net/minecraft/client/stream/TwitchStream/func_152908_z ()Z +MD: daq/x ()I net/minecraft/client/stream/TwitchStream/func_152920_A ()I +MD: daq/y ()Z net/minecraft/client/stream/TwitchStream/func_152927_B ()Z +MD: daq/z ()Ljava/lang/String; net/minecraft/client/stream/TwitchStream/func_152921_C ()Ljava/lang/String; +MD: dar/run ()V net/minecraft/client/stream/TwitchStream$1/run ()V +MD: das/run ()V net/minecraft/client/stream/TwitchStream$1$1/run ()V +MD: dat/A ()Z net/minecraft/client/stream/NullStream/func_152928_D ()Z +MD: dat/B ()Ltv/twitch/ErrorCode; net/minecraft/client/stream/NullStream/func_152912_E ()Ltv/twitch/ErrorCode; +MD: dat/C ()Z net/minecraft/client/stream/NullStream/func_152913_F ()Z +MD: dat/D ()Z net/minecraft/client/stream/NullStream/func_152929_G ()Z +MD: dat/E ()Ldap; net/minecraft/client/stream/NullStream/func_152918_H ()Lnet/minecraft/client/stream/IStream$AuthFailureReason; +MD: dat/a ()Ljava/lang/Throwable; net/minecraft/client/stream/NullStream/func_152937_a ()Ljava/lang/Throwable; +MD: dat/a (Lczs;J)V net/minecraft/client/stream/NullStream/func_152911_a (Lnet/minecraft/client/stream/Metadata;J)V +MD: dat/a (Lczs;JJ)V net/minecraft/client/stream/NullStream/func_176026_a (Lnet/minecraft/client/stream/Metadata;JJ)V +MD: dat/a (Z)V net/minecraft/client/stream/NullStream/func_152910_a (Z)V +MD: dat/e (Ljava/lang/String;)Ltv/twitch/chat/ChatUserInfo; net/minecraft/client/stream/NullStream/func_152926_a (Ljava/lang/String;)Ltv/twitch/chat/ChatUserInfo; +MD: dat/f ()V net/minecraft/client/stream/NullStream/func_152923_i ()V +MD: dat/f (Ljava/lang/String;)V net/minecraft/client/stream/NullStream/func_152917_b (Ljava/lang/String;)V +MD: dat/g ()V net/minecraft/client/stream/NullStream/func_152935_j ()V +MD: dat/h ()V net/minecraft/client/stream/NullStream/func_152922_k ()V +MD: dat/i ()Z net/minecraft/client/stream/NullStream/func_152936_l ()Z +MD: dat/j ()Z net/minecraft/client/stream/NullStream/func_152924_m ()Z +MD: dat/k ()Z net/minecraft/client/stream/NullStream/func_152934_n ()Z +MD: dat/l ()Z net/minecraft/client/stream/NullStream/func_152919_o ()Z +MD: dat/m ()V net/minecraft/client/stream/NullStream/func_152931_p ()V +MD: dat/n ()V net/minecraft/client/stream/NullStream/func_152916_q ()V +MD: dat/o ()V net/minecraft/client/stream/NullStream/func_152933_r ()V +MD: dat/p ()V net/minecraft/client/stream/NullStream/func_152915_s ()V +MD: dat/q ()V net/minecraft/client/stream/NullStream/func_152930_t ()V +MD: dat/r ()V net/minecraft/client/stream/NullStream/func_152914_u ()V +MD: dat/s ()[Ltv/twitch/broadcast/IngestServer; net/minecraft/client/stream/NullStream/func_152925_v ()[Ltv/twitch/broadcast/IngestServer; +MD: dat/u ()V net/minecraft/client/stream/NullStream/func_152909_x ()V +MD: dat/v ()Ldai; net/minecraft/client/stream/NullStream/func_152932_y ()Lnet/minecraft/client/stream/IngestServerTester; +MD: dat/w ()Z net/minecraft/client/stream/NullStream/func_152908_z ()Z +MD: dat/x ()I net/minecraft/client/stream/NullStream/func_152920_A ()I +MD: dat/y ()Z net/minecraft/client/stream/NullStream/func_152927_B ()Z +MD: dat/z ()Ljava/lang/String; net/minecraft/client/stream/NullStream/func_152921_C ()Ljava/lang/String; +MD: dav/run ()V net/minecraft/realms/RealmsConnect$1/run ()V +MD: daw/a (Lho;)V net/minecraft/realms/RealmsServerStatusPinger$1/func_147231_a (Lnet/minecraft/util/IChatComponent;)V +MD: daw/a (Lnn;)V net/minecraft/realms/RealmsServerStatusPinger$1/func_147398_a (Lnet/minecraft/network/status/server/S01PacketPong;)V +MD: daw/a (Lno;)V net/minecraft/realms/RealmsServerStatusPinger$1/func_147397_a (Lnet/minecraft/network/status/server/S00PacketServerInfo;)V +MD: dax/a ()V net/minecraft/client/renderer/OpenGlHelper/func_77474_a ()V +MD: dax/a (I)V net/minecraft/client/renderer/OpenGlHelper/func_153180_a (I)V +MD: dax/a (IFF)V net/minecraft/client/renderer/OpenGlHelper/func_77475_a (IFF)V +MD: dax/a (II)I net/minecraft/client/renderer/OpenGlHelper/func_153175_a (II)I +MD: dax/a (IIII)V net/minecraft/client/renderer/OpenGlHelper/func_153186_a (IIII)V +MD: dax/a (IIIII)V net/minecraft/client/renderer/OpenGlHelper/func_153188_a (IIIII)V +MD: dax/a (ILjava/lang/CharSequence;)I net/minecraft/client/renderer/OpenGlHelper/func_153194_a (ILjava/lang/CharSequence;)I +MD: dax/a (ILjava/nio/ByteBuffer;)V net/minecraft/client/renderer/OpenGlHelper/func_153169_a (ILjava/nio/ByteBuffer;)V +MD: dax/a (ILjava/nio/ByteBuffer;I)V net/minecraft/client/renderer/OpenGlHelper/func_176071_a (ILjava/nio/ByteBuffer;I)V +MD: dax/a (ILjava/nio/FloatBuffer;)V net/minecraft/client/renderer/OpenGlHelper/func_153168_a (ILjava/nio/FloatBuffer;)V +MD: dax/a (ILjava/nio/IntBuffer;)V net/minecraft/client/renderer/OpenGlHelper/func_153181_a (ILjava/nio/IntBuffer;)V +MD: dax/a (IZLjava/nio/FloatBuffer;)V net/minecraft/client/renderer/OpenGlHelper/func_153173_a (IZLjava/nio/FloatBuffer;)V +MD: dax/b ()Z net/minecraft/client/renderer/OpenGlHelper/func_153193_b ()Z +MD: dax/b (I)I net/minecraft/client/renderer/OpenGlHelper/func_153195_b (I)I +MD: dax/b (II)V net/minecraft/client/renderer/OpenGlHelper/func_153178_b (II)V +MD: dax/b (IIII)V net/minecraft/client/renderer/OpenGlHelper/func_153190_b (IIII)V +MD: dax/b (ILjava/lang/CharSequence;)I net/minecraft/client/renderer/OpenGlHelper/func_153164_b (ILjava/lang/CharSequence;)I +MD: dax/b (ILjava/nio/FloatBuffer;)V net/minecraft/client/renderer/OpenGlHelper/func_153177_b (ILjava/nio/FloatBuffer;)V +MD: dax/b (ILjava/nio/IntBuffer;)V net/minecraft/client/renderer/OpenGlHelper/func_153182_b (ILjava/nio/IntBuffer;)V +MD: dax/b (IZLjava/nio/FloatBuffer;)V net/minecraft/client/renderer/OpenGlHelper/func_153189_b (IZLjava/nio/FloatBuffer;)V +MD: dax/c ()Ljava/lang/String; net/minecraft/client/renderer/OpenGlHelper/func_153172_c ()Ljava/lang/String; +MD: dax/c (I)V net/minecraft/client/renderer/OpenGlHelper/func_153170_c (I)V +MD: dax/c (II)I net/minecraft/client/renderer/OpenGlHelper/func_153157_c (II)I +MD: dax/c (IIII)V net/minecraft/client/renderer/OpenGlHelper/func_148821_a (IIII)V +MD: dax/c (ILjava/nio/FloatBuffer;)V net/minecraft/client/renderer/OpenGlHelper/func_153191_c (ILjava/nio/FloatBuffer;)V +MD: dax/c (ILjava/nio/IntBuffer;)V net/minecraft/client/renderer/OpenGlHelper/func_153192_c (ILjava/nio/IntBuffer;)V +MD: dax/c (IZLjava/nio/FloatBuffer;)V net/minecraft/client/renderer/OpenGlHelper/func_153160_c (IZLjava/nio/FloatBuffer;)V +MD: dax/d ()I net/minecraft/client/renderer/OpenGlHelper/func_153183_d ()I +MD: dax/d (I)V net/minecraft/client/renderer/OpenGlHelper/func_153161_d (I)V +MD: dax/d (II)Ljava/lang/String; net/minecraft/client/renderer/OpenGlHelper/func_153158_d (II)Ljava/lang/String; +MD: dax/d (ILjava/nio/FloatBuffer;)V net/minecraft/client/renderer/OpenGlHelper/func_153159_d (ILjava/nio/FloatBuffer;)V +MD: dax/d (ILjava/nio/IntBuffer;)V net/minecraft/client/renderer/OpenGlHelper/func_153162_d (ILjava/nio/IntBuffer;)V +MD: dax/e ()I net/minecraft/client/renderer/OpenGlHelper/func_176073_e ()I +MD: dax/e (I)V net/minecraft/client/renderer/OpenGlHelper/func_153187_e (I)V +MD: dax/e (II)Ljava/lang/String; net/minecraft/client/renderer/OpenGlHelper/func_153166_e (II)Ljava/lang/String; +MD: dax/f ()Z net/minecraft/client/renderer/OpenGlHelper/func_176075_f ()Z +MD: dax/f (I)V net/minecraft/client/renderer/OpenGlHelper/func_153179_f (I)V +MD: dax/f (II)V net/minecraft/client/renderer/OpenGlHelper/func_153163_f (II)V +MD: dax/g ()I net/minecraft/client/renderer/OpenGlHelper/func_153165_e ()I +MD: dax/g (I)V net/minecraft/client/renderer/OpenGlHelper/func_176074_g (I)V +MD: dax/g (II)V net/minecraft/client/renderer/OpenGlHelper/func_176072_g (II)V +MD: dax/h ()I net/minecraft/client/renderer/OpenGlHelper/func_153185_f ()I +MD: dax/h (I)V net/minecraft/client/renderer/OpenGlHelper/func_153184_g (I)V +MD: dax/h (II)V net/minecraft/client/renderer/OpenGlHelper/func_153171_g (II)V +MD: dax/i ()Z net/minecraft/client/renderer/OpenGlHelper/func_148822_b ()Z +MD: dax/i (I)V net/minecraft/client/renderer/OpenGlHelper/func_153174_h (I)V +MD: dax/i (II)V net/minecraft/client/renderer/OpenGlHelper/func_153176_h (II)V +MD: dax/j (I)I net/minecraft/client/renderer/OpenGlHelper/func_153167_i (I)I +MD: dax/k (I)V net/minecraft/client/renderer/OpenGlHelper/func_77473_a (I)V +MD: dax/l (I)V net/minecraft/client/renderer/OpenGlHelper/func_77472_b (I)V +MD: db/a ()I net/minecraft/command/CommandTitle/func_82362_a ()I +MD: db/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandTitle/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: db/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandTitle/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: db/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandTitle/func_82358_a ([Ljava/lang/String;I)Z +MD: db/c ()Ljava/lang/String; net/minecraft/command/CommandTitle/func_71517_b ()Ljava/lang/String; +MD: db/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandTitle/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: dc/a ()I net/minecraft/command/CommandToggleDownfall/func_82362_a ()I +MD: dc/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandToggleDownfall/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: dc/c ()Ljava/lang/String; net/minecraft/command/CommandToggleDownfall/func_71517_b ()Ljava/lang/String; +MD: dc/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandToggleDownfall/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: dc/d ()V net/minecraft/command/CommandToggleDownfall/func_71554_c ()V +MD: dd/a ()I net/minecraft/command/CommandTrigger/func_82362_a ()I +MD: dd/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandTrigger/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: dd/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandTrigger/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: dd/c ()Ljava/lang/String; net/minecraft/command/CommandTrigger/func_71517_b ()Ljava/lang/String; +MD: dd/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandTrigger/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: de/a ()I net/minecraft/command/CommandWeather/func_82362_a ()I +MD: de/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandWeather/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: de/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandWeather/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: de/c ()Ljava/lang/String; net/minecraft/command/CommandWeather/func_71517_b ()Ljava/lang/String; +MD: de/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandWeather/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: df/a ()I net/minecraft/command/server/CommandWhitelist/func_82362_a ()I +MD: df/a (Lae;[Ljava/lang/String;)V net/minecraft/command/server/CommandWhitelist/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: df/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/server/CommandWhitelist/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: df/c ()Ljava/lang/String; net/minecraft/command/server/CommandWhitelist/func_71517_b ()Ljava/lang/String; +MD: df/c (Lae;)Ljava/lang/String; net/minecraft/command/server/CommandWhitelist/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: dg/a ()I net/minecraft/command/CommandWorldBorder/func_82362_a ()I +MD: dg/a (Lae;[Ljava/lang/String;)V net/minecraft/command/CommandWorldBorder/func_71515_b (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;)V +MD: dg/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandWorldBorder/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: dg/c ()Ljava/lang/String; net/minecraft/command/CommandWorldBorder/func_71517_b ()Ljava/lang/String; +MD: dg/c (Lae;)Ljava/lang/String; net/minecraft/command/CommandWorldBorder/func_71518_a (Lnet/minecraft/command/ICommandSender;)Ljava/lang/String; +MD: dg/d ()Lbfb; net/minecraft/command/CommandWorldBorder/func_175772_d ()Lnet/minecraft/world/border/WorldBorder; +MD: di/a ()[Ljava/lang/Object; net/minecraft/command/CommandException/func_74844_a ()[Ljava/lang/Object; +MD: dt/a ()Ldt; net/minecraft/util/BlockPos/func_177984_a ()Lnet/minecraft/util/BlockPos; +MD: dt/a (DDD)Ldt; net/minecraft/util/BlockPos/func_177963_a (DDD)Lnet/minecraft/util/BlockPos; +MD: dt/a (I)Ldt; net/minecraft/util/BlockPos/func_177966_a (I)Lnet/minecraft/util/BlockPos; +MD: dt/a (III)Ldt; net/minecraft/util/BlockPos/func_177982_a (III)Lnet/minecraft/util/BlockPos; +MD: dt/a (J)Ldt; net/minecraft/util/BlockPos/func_177969_a (J)Lnet/minecraft/util/BlockPos; +MD: dt/a (Ldt;Ldt;)Ljava/lang/Iterable; net/minecraft/util/BlockPos/func_177980_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;)Ljava/lang/Iterable; +MD: dt/a (Lej;)Ldt; net/minecraft/util/BlockPos/func_177972_a (Lnet/minecraft/util/EnumFacing;)Lnet/minecraft/util/BlockPos; +MD: dt/a (Lej;I)Ldt; net/minecraft/util/BlockPos/func_177967_a (Lnet/minecraft/util/EnumFacing;I)Lnet/minecraft/util/BlockPos; +MD: dt/a (Lfd;)Ldt; net/minecraft/util/BlockPos/func_177971_a (Lnet/minecraft/util/Vec3i;)Lnet/minecraft/util/BlockPos; +MD: dt/b ()Ldt; net/minecraft/util/BlockPos/func_177977_b ()Lnet/minecraft/util/BlockPos; +MD: dt/b (I)Ldt; net/minecraft/util/BlockPos/func_177981_b (I)Lnet/minecraft/util/BlockPos; +MD: dt/b (Ldt;Ldt;)Ljava/lang/Iterable; net/minecraft/util/BlockPos/func_177975_b (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/BlockPos;)Ljava/lang/Iterable; +MD: dt/b (Lfd;)Ldt; net/minecraft/util/BlockPos/func_177973_b (Lnet/minecraft/util/Vec3i;)Lnet/minecraft/util/BlockPos; +MD: dt/c ()Ldt; net/minecraft/util/BlockPos/func_177978_c ()Lnet/minecraft/util/BlockPos; +MD: dt/c (I)Ldt; net/minecraft/util/BlockPos/func_177979_c (I)Lnet/minecraft/util/BlockPos; +MD: dt/c (Lfd;)Ldt; net/minecraft/util/BlockPos/func_177983_c (Lnet/minecraft/util/Vec3i;)Lnet/minecraft/util/BlockPos; +MD: dt/d ()Ldt; net/minecraft/util/BlockPos/func_177968_d ()Lnet/minecraft/util/BlockPos; +MD: dt/d (I)Ldt; net/minecraft/util/BlockPos/func_177964_d (I)Lnet/minecraft/util/BlockPos; +MD: dt/d (Lfd;)Lfd; net/minecraft/util/BlockPos/func_177955_d (Lnet/minecraft/util/Vec3i;)Lnet/minecraft/util/Vec3i; +MD: dt/e ()Ldt; net/minecraft/util/BlockPos/func_177976_e ()Lnet/minecraft/util/BlockPos; +MD: dt/e (I)Ldt; net/minecraft/util/BlockPos/func_177970_e (I)Lnet/minecraft/util/BlockPos; +MD: dt/f ()Ldt; net/minecraft/util/BlockPos/func_177974_f ()Lnet/minecraft/util/BlockPos; +MD: dt/f (I)Ldt; net/minecraft/util/BlockPos/func_177985_f (I)Lnet/minecraft/util/BlockPos; +MD: dt/g ()J net/minecraft/util/BlockPos/func_177986_g ()J +MD: dt/g (I)Ldt; net/minecraft/util/BlockPos/func_177965_g (I)Lnet/minecraft/util/BlockPos; +MD: du/iterator ()Ljava/util/Iterator; net/minecraft/util/BlockPos$1/iterator ()Ljava/util/Iterator; +MD: dv/a ()Ldt; net/minecraft/util/BlockPos$1$1/func_179308_a ()Lnet/minecraft/util/BlockPos; +MD: dv/computeNext ()Ljava/lang/Object; net/minecraft/util/BlockPos$1$1/computeNext ()Ljava/lang/Object; +MD: dw/iterator ()Ljava/util/Iterator; net/minecraft/util/BlockPos$2/iterator ()Ljava/util/Iterator; +MD: dx/a ()Ldy; net/minecraft/util/BlockPos$2$1/func_179313_a ()Lnet/minecraft/util/BlockPos$MutableBlockPos; +MD: dx/computeNext ()Ljava/lang/Object; net/minecraft/util/BlockPos$2$1/computeNext ()Ljava/lang/Object; +MD: dy/d (Lfd;)Lfd; net/minecraft/util/BlockPos$MutableBlockPos/func_177955_d (Lnet/minecraft/util/Vec3i;)Lnet/minecraft/util/Vec3i; +MD: dy/n ()I net/minecraft/util/BlockPos$MutableBlockPos/func_177958_n ()I +MD: dy/o ()I net/minecraft/util/BlockPos$MutableBlockPos/func_177956_o ()I +MD: dy/p ()I net/minecraft/util/BlockPos$MutableBlockPos/func_177952_p ()I +MD: dz/a ()D net/minecraft/dispenser/IBlockSource/func_82615_a ()D +MD: dz/b ()D net/minecraft/dispenser/IBlockSource/func_82617_b ()D +MD: dz/c ()D net/minecraft/dispenser/IBlockSource/func_82616_c ()D +MD: dz/d ()Ldt; net/minecraft/dispenser/IBlockSource/func_180699_d ()Lnet/minecraft/util/BlockPos; +MD: dz/e ()Latr; net/minecraft/dispenser/IBlockSource/func_179316_e ()Lnet/minecraft/block/Block; +MD: dz/f ()I net/minecraft/dispenser/IBlockSource/func_82620_h ()I +MD: dz/h ()Lbcm; net/minecraft/dispenser/IBlockSource/func_150835_j ()Lnet/minecraft/tileentity/TileEntity; +MD: e/a ()Ljava/lang/String; net/minecraft/crash/CrashReport$3/call ()Ljava/lang/String; +MD: e/call ()Ljava/lang/Object; net/minecraft/crash/CrashReport$3/call ()Ljava/lang/Object; +MD: ea/a ()D net/minecraft/block/BlockSourceImpl/func_82615_a ()D +MD: ea/b ()D net/minecraft/block/BlockSourceImpl/func_82617_b ()D +MD: ea/c ()D net/minecraft/block/BlockSourceImpl/func_82616_c ()D +MD: ea/d ()Ldt; net/minecraft/block/BlockSourceImpl/func_180699_d ()Lnet/minecraft/util/BlockPos; +MD: ea/e ()Latr; net/minecraft/block/BlockSourceImpl/func_179316_e ()Lnet/minecraft/block/Block; +MD: ea/f ()I net/minecraft/block/BlockSourceImpl/func_82620_h ()I +MD: ea/h ()Lbcm; net/minecraft/block/BlockSourceImpl/func_150835_j ()Lnet/minecraft/tileentity/TileEntity; +MD: ea/i ()Laqu; net/minecraft/block/BlockSourceImpl/func_82618_k ()Lnet/minecraft/world/World; +MD: eb/a (Ljava/lang/Class;I)[Ljava/lang/Object; net/minecraft/util/Cartesian/access$200 (Ljava/lang/Class;I)[Ljava/lang/Object; +MD: eb/a (Ljava/lang/Class;Ljava/lang/Iterable;)Ljava/lang/Iterable; net/minecraft/util/Cartesian/func_179318_a (Ljava/lang/Class;Ljava/lang/Iterable;)Ljava/lang/Iterable; +MD: eb/a (Ljava/lang/Iterable;)Ljava/lang/Iterable; net/minecraft/util/Cartesian/func_179321_a (Ljava/lang/Iterable;)Ljava/lang/Iterable; +MD: eb/b (Ljava/lang/Class;I)[Ljava/lang/Object; net/minecraft/util/Cartesian/func_179319_b (Ljava/lang/Class;I)[Ljava/lang/Object; +MD: eb/b (Ljava/lang/Class;Ljava/lang/Iterable;)[Ljava/lang/Object; net/minecraft/util/Cartesian/func_179322_b (Ljava/lang/Class;Ljava/lang/Iterable;)[Ljava/lang/Object; +MD: eb/b (Ljava/lang/Iterable;)Ljava/lang/Iterable; net/minecraft/util/Cartesian/func_179323_b (Ljava/lang/Iterable;)Ljava/lang/Iterable; +MD: ed/a ([Ljava/lang/Object;)Ljava/util/List; net/minecraft/util/Cartesian$GetList/func_179324_a ([Ljava/lang/Object;)Ljava/util/List; +MD: ed/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/util/Cartesian$GetList/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: ee/iterator ()Ljava/util/Iterator; net/minecraft/util/Cartesian$Product/iterator ()Ljava/util/Iterator; +MD: ef/a ()[Ljava/lang/Object; net/minecraft/util/Cartesian$Product$ProductIterator/func_179421_a ()[Ljava/lang/Object; +MD: ef/b ()V net/minecraft/util/Cartesian$Product$ProductIterator/func_179422_b ()V +MD: ef/hasNext ()Z net/minecraft/util/Cartesian$Product$ProductIterator/hasNext ()Z +MD: ef/next ()Ljava/lang/Object; net/minecraft/util/Cartesian$Product$ProductIterator/next ()Ljava/lang/Object; +MD: eg/a (Laqu;Lamj;ILej;Lex;)V net/minecraft/dispenser/BehaviorDefaultDispenseItem/func_82486_a (Lnet/minecraft/world/World;Lnet/minecraft/item/ItemStack;ILnet/minecraft/util/EnumFacing;Lnet/minecraft/dispenser/IPosition;)V +MD: eg/a (Ldz;)V net/minecraft/dispenser/BehaviorDefaultDispenseItem/func_82485_a (Lnet/minecraft/dispenser/IBlockSource;)V +MD: eg/a (Ldz;Lamj;)Lamj; net/minecraft/dispenser/BehaviorDefaultDispenseItem/func_82482_a (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: eg/a (Ldz;Lej;)V net/minecraft/dispenser/BehaviorDefaultDispenseItem/func_82489_a (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/util/EnumFacing;)V +MD: eg/a (Lej;)I net/minecraft/dispenser/BehaviorDefaultDispenseItem/func_82488_a (Lnet/minecraft/util/EnumFacing;)I +MD: eg/b (Ldz;Lamj;)Lamj; net/minecraft/dispenser/BehaviorDefaultDispenseItem/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: eh/a ()V net/minecraft/util/RegistryNamespacedDefaultedByKey/func_177776_a ()V +MD: eh/a (I)Ljava/lang/Object; net/minecraft/util/RegistryNamespacedDefaultedByKey/func_148754_a (I)Ljava/lang/Object; +MD: eh/a (ILjava/lang/Object;Ljava/lang/Object;)V net/minecraft/util/RegistryNamespacedDefaultedByKey/func_177775_a (ILjava/lang/Object;Ljava/lang/Object;)V +MD: eh/a (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/util/RegistryNamespacedDefaultedByKey/func_82594_a (Ljava/lang/Object;)Ljava/lang/Object; +MD: ei/a (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/util/RegistryDefaulted/func_82594_a (Ljava/lang/Object;)Ljava/lang/Object; +MD: ej/a ()I net/minecraft/util/EnumFacing/func_176745_a ()I +MD: ej/a (D)Lej; net/minecraft/util/EnumFacing/func_176733_a (D)Lnet/minecraft/util/EnumFacing; +MD: ej/a (FFF)Lej; net/minecraft/util/EnumFacing/func_176737_a (FFF)Lnet/minecraft/util/EnumFacing; +MD: ej/a (I)Lej; net/minecraft/util/EnumFacing/func_82600_a (I)Lnet/minecraft/util/EnumFacing; +MD: ej/a (Lel;)Lej; net/minecraft/util/EnumFacing/func_176732_a (Lnet/minecraft/util/EnumFacing$Axis;)Lnet/minecraft/util/EnumFacing; +MD: ej/a (Ljava/lang/String;)Lej; net/minecraft/util/EnumFacing/func_176739_a (Ljava/lang/String;)Lnet/minecraft/util/EnumFacing; +MD: ej/a (Ljava/util/Random;)Lej; net/minecraft/util/EnumFacing/func_176741_a (Ljava/util/Random;)Lnet/minecraft/util/EnumFacing; +MD: ej/b ()I net/minecraft/util/EnumFacing/func_176736_b ()I +MD: ej/b (I)Lej; net/minecraft/util/EnumFacing/func_176731_b (I)Lnet/minecraft/util/EnumFacing; +MD: ej/c ()Lem; net/minecraft/util/EnumFacing/func_176743_c ()Lnet/minecraft/util/EnumFacing$AxisDirection; +MD: ej/d ()Lej; net/minecraft/util/EnumFacing/func_176734_d ()Lnet/minecraft/util/EnumFacing; +MD: ej/e ()Lej; net/minecraft/util/EnumFacing/func_176746_e ()Lnet/minecraft/util/EnumFacing; +MD: ej/f ()Lej; net/minecraft/util/EnumFacing/func_176735_f ()Lnet/minecraft/util/EnumFacing; +MD: ej/g ()I net/minecraft/util/EnumFacing/func_82601_c ()I +MD: ej/h ()I net/minecraft/util/EnumFacing/func_96559_d ()I +MD: ej/i ()I net/minecraft/util/EnumFacing/func_82599_e ()I +MD: ej/j ()Ljava/lang/String; net/minecraft/util/EnumFacing/func_176742_j ()Ljava/lang/String; +MD: ej/k ()Lel; net/minecraft/util/EnumFacing/func_176740_k ()Lnet/minecraft/util/EnumFacing$Axis; +MD: ej/l ()Ljava/lang/String; net/minecraft/util/EnumFacing/func_176610_l ()Ljava/lang/String; +MD: ej/m ()Lfd; net/minecraft/util/EnumFacing/func_176730_m ()Lnet/minecraft/util/Vec3i; +MD: ej/n ()Lej; net/minecraft/util/EnumFacing/func_176744_n ()Lnet/minecraft/util/EnumFacing; +MD: ej/p ()Lej; net/minecraft/util/EnumFacing/func_176738_p ()Lnet/minecraft/util/EnumFacing; +MD: ej/toString ()Ljava/lang/String; net/minecraft/util/EnumFacing/toString ()Ljava/lang/String; +MD: ej/values ()[Lej; net/minecraft/util/EnumFacing/values ()[Lnet/minecraft/util/EnumFacing; +MD: el/a ()Ljava/lang/String; net/minecraft/util/EnumFacing$Axis/func_176719_a ()Ljava/lang/String; +MD: el/a (Lej;)Z net/minecraft/util/EnumFacing$Axis/func_176718_a (Lnet/minecraft/util/EnumFacing;)Z +MD: el/a (Ljava/lang/String;)Lel; net/minecraft/util/EnumFacing$Axis/func_176717_a (Ljava/lang/String;)Lnet/minecraft/util/EnumFacing$Axis; +MD: el/apply (Ljava/lang/Object;)Z net/minecraft/util/EnumFacing$Axis/apply (Ljava/lang/Object;)Z +MD: el/b ()Z net/minecraft/util/EnumFacing$Axis/func_176720_b ()Z +MD: el/c ()Z net/minecraft/util/EnumFacing$Axis/func_176722_c ()Z +MD: el/d ()Len; net/minecraft/util/EnumFacing$Axis/func_176716_d ()Lnet/minecraft/util/EnumFacing$Plane; +MD: el/l ()Ljava/lang/String; net/minecraft/util/EnumFacing$Axis/func_176610_l ()Ljava/lang/String; +MD: el/toString ()Ljava/lang/String; net/minecraft/util/EnumFacing$Axis/toString ()Ljava/lang/String; +MD: el/values ()[Lel; net/minecraft/util/EnumFacing$Axis/values ()[Lnet/minecraft/util/EnumFacing$Axis; +MD: em/a ()I net/minecraft/util/EnumFacing$AxisDirection/func_179524_a ()I +MD: em/toString ()Ljava/lang/String; net/minecraft/util/EnumFacing$AxisDirection/toString ()Ljava/lang/String; +MD: em/values ()[Lem; net/minecraft/util/EnumFacing$AxisDirection/values ()[Lnet/minecraft/util/EnumFacing$AxisDirection; +MD: en/a ()[Lej; net/minecraft/util/EnumFacing$Plane/func_179516_a ()[Lnet/minecraft/util/EnumFacing; +MD: en/a (Lej;)Z net/minecraft/util/EnumFacing$Plane/func_179519_a (Lnet/minecraft/util/EnumFacing;)Z +MD: en/a (Ljava/util/Random;)Lej; net/minecraft/util/EnumFacing$Plane/func_179518_a (Ljava/util/Random;)Lnet/minecraft/util/EnumFacing; +MD: en/apply (Ljava/lang/Object;)Z net/minecraft/util/EnumFacing$Plane/apply (Ljava/lang/Object;)Z +MD: en/iterator ()Ljava/util/Iterator; net/minecraft/util/EnumFacing$Plane/iterator ()Ljava/util/Iterator; +MD: en/values ()[Len; net/minecraft/util/EnumFacing$Plane/values ()[Lnet/minecraft/util/EnumFacing$Plane; +MD: eo/a (Ldz;Lamj;)Lamj; net/minecraft/dispenser/IBehaviorDispenseItem/func_82482_a (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: ep/a (Ldz;Lamj;)Lamj; net/minecraft/dispenser/IBehaviorDispenseItem$1/func_82482_a (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: er/a (I)Ljava/lang/Object; net/minecraft/util/ObjectIntIdentityMap/func_148745_a (I)Ljava/lang/Object; +MD: er/a (Ljava/lang/Object;I)V net/minecraft/util/ObjectIntIdentityMap/func_148746_a (Ljava/lang/Object;I)V +MD: er/b (Ljava/lang/Object;)I net/minecraft/util/ObjectIntIdentityMap/func_148747_b (Ljava/lang/Object;)I +MD: er/iterator ()Ljava/util/Iterator; net/minecraft/util/ObjectIntIdentityMap/iterator ()Ljava/util/Iterator; +MD: et/i ()Laqu; net/minecraft/dispenser/ILocation/func_82618_k ()Lnet/minecraft/world/World; +MD: eu/a (Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/util/Map;)Ljava/util/Map; net/minecraft/util/MapPopulator/func_179399_a (Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/util/Map;)Ljava/util/Map; +MD: eu/b (Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/util/Map; net/minecraft/util/MapPopulator/func_179400_b (Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/util/Map; +MD: ev/a (I)Ljava/lang/Object; net/minecraft/util/RegistryNamespaced/func_148754_a (I)Ljava/lang/Object; +MD: ev/a (ILjava/lang/Object;Ljava/lang/Object;)V net/minecraft/util/RegistryNamespaced/func_177775_a (ILjava/lang/Object;Ljava/lang/Object;)V +MD: ev/a (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/util/RegistryNamespaced/func_82594_a (Ljava/lang/Object;)Ljava/lang/Object; +MD: ev/b ()Ljava/util/Map; net/minecraft/util/RegistryNamespaced/func_148740_a ()Ljava/util/Map; +MD: ev/b (Ljava/lang/Object;)I net/minecraft/util/RegistryNamespaced/func_148757_b (Ljava/lang/Object;)I +MD: ev/c (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/util/RegistryNamespaced/func_177774_c (Ljava/lang/Object;)Ljava/lang/Object; +MD: ev/d (Ljava/lang/Object;)Z net/minecraft/util/RegistryNamespaced/func_148741_d (Ljava/lang/Object;)Z +MD: ev/iterator ()Ljava/util/Iterator; net/minecraft/util/RegistryNamespaced/iterator ()Ljava/util/Iterator; +MD: ew/a ()[Ljava/lang/String; net/minecraft/util/EnumParticleTypes/func_179349_a ()[Ljava/lang/String; +MD: ew/a (I)Lew; net/minecraft/util/EnumParticleTypes/func_179342_a (I)Lnet/minecraft/util/EnumParticleTypes; +MD: ew/b ()Ljava/lang/String; net/minecraft/util/EnumParticleTypes/func_179346_b ()Ljava/lang/String; +MD: ew/c ()I net/minecraft/util/EnumParticleTypes/func_179348_c ()I +MD: ew/d ()I net/minecraft/util/EnumParticleTypes/func_179345_d ()I +MD: ew/e ()Z net/minecraft/util/EnumParticleTypes/func_179344_e ()Z +MD: ew/f ()Z net/minecraft/util/EnumParticleTypes/func_179343_f ()Z +MD: ew/values ()[Lew; net/minecraft/util/EnumParticleTypes/values ()[Lnet/minecraft/util/EnumParticleTypes; +MD: ex/a ()D net/minecraft/dispenser/IPosition/func_82615_a ()D +MD: ex/b ()D net/minecraft/dispenser/IPosition/func_82617_b ()D +MD: ex/c ()D net/minecraft/dispenser/IPosition/func_82616_c ()D +MD: ey/a ()D net/minecraft/dispenser/PositionImpl/func_82615_a ()D +MD: ey/b ()D net/minecraft/dispenser/PositionImpl/func_82617_b ()D +MD: ey/c ()D net/minecraft/dispenser/PositionImpl/func_82616_c ()D +MD: ez/a (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/util/IRegistry/func_82594_a (Ljava/lang/Object;)Ljava/lang/Object; +MD: ez/a (Ljava/lang/Object;Ljava/lang/Object;)V net/minecraft/util/IRegistry/func_82595_a (Ljava/lang/Object;Ljava/lang/Object;)V +MD: f/a ()Ljava/lang/String; net/minecraft/crash/CrashReport$4/call ()Ljava/lang/String; +MD: f/call ()Ljava/lang/Object; net/minecraft/crash/CrashReport$4/call ()Ljava/lang/Object; +MD: fa/a ()Lfv; net/minecraft/util/Rotations/func_179414_a ()Lnet/minecraft/nbt/NBTTagList; +MD: fa/b ()F net/minecraft/util/Rotations/func_179415_b ()F +MD: fa/c ()F net/minecraft/util/Rotations/func_179416_c ()F +MD: fa/d ()F net/minecraft/util/Rotations/func_179413_d ()F +MD: fa/equals (Ljava/lang/Object;)Z net/minecraft/util/Rotations/equals (Ljava/lang/Object;)Z +MD: fb/a (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/util/RegistrySimple/func_82594_a (Ljava/lang/Object;)Ljava/lang/Object; +MD: fb/a (Ljava/lang/Object;Ljava/lang/Object;)V net/minecraft/util/RegistrySimple/func_82595_a (Ljava/lang/Object;Ljava/lang/Object;)V +MD: fb/b ()Ljava/util/Map; net/minecraft/util/RegistrySimple/func_148740_a ()Ljava/util/Map; +MD: fb/c ()Ljava/util/Set; net/minecraft/util/RegistrySimple/func_148742_b ()Ljava/util/Set; +MD: fb/d (Ljava/lang/Object;)Z net/minecraft/util/RegistrySimple/func_148741_d (Ljava/lang/Object;)Z +MD: fb/iterator ()Ljava/util/Iterator; net/minecraft/util/RegistrySimple/iterator ()Ljava/util/Iterator; +MD: fd/c (DDD)D net/minecraft/util/Vec3i/func_177954_c (DDD)D +MD: fd/compareTo (Ljava/lang/Object;)I net/minecraft/util/Vec3i/compareTo (Ljava/lang/Object;)I +MD: fd/d (DDD)D net/minecraft/util/Vec3i/func_177957_d (DDD)D +MD: fd/d (Lfd;)Lfd; net/minecraft/util/Vec3i/func_177955_d (Lnet/minecraft/util/Vec3i;)Lnet/minecraft/util/Vec3i; +MD: fd/equals (Ljava/lang/Object;)Z net/minecraft/util/Vec3i/equals (Ljava/lang/Object;)Z +MD: fd/g (Lfd;)I net/minecraft/util/Vec3i/func_177953_g (Lnet/minecraft/util/Vec3i;)I +MD: fd/hashCode ()I net/minecraft/util/Vec3i/hashCode ()I +MD: fd/i (Lfd;)D net/minecraft/util/Vec3i/func_177951_i (Lnet/minecraft/util/Vec3i;)D +MD: fd/n ()I net/minecraft/util/Vec3i/func_177958_n ()I +MD: fd/o ()I net/minecraft/util/Vec3i/func_177956_o ()I +MD: fd/p ()I net/minecraft/util/Vec3i/func_177952_p ()I +MD: fd/toString ()Ljava/lang/String; net/minecraft/util/Vec3i/toString ()Ljava/lang/String; +MD: fi/a ()J net/minecraft/util/StatCollector/func_150827_a ()J +MD: fi/a (Ljava/lang/String;)Ljava/lang/String; net/minecraft/util/StatCollector/func_74838_a (Ljava/lang/String;)Ljava/lang/String; +MD: fi/a (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; net/minecraft/util/StatCollector/func_74837_a (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; +MD: fi/b (Ljava/lang/String;)Ljava/lang/String; net/minecraft/util/StatCollector/func_150826_b (Ljava/lang/String;)Ljava/lang/String; +MD: fi/c (Ljava/lang/String;)Z net/minecraft/util/StatCollector/func_94522_b (Ljava/lang/String;)Z +MD: fj/a ()Lfj; net/minecraft/util/StringTranslate/func_74808_a ()Lnet/minecraft/util/StringTranslate; +MD: fj/a (Ljava/lang/String;)Ljava/lang/String; net/minecraft/util/StringTranslate/func_74805_b (Ljava/lang/String;)Ljava/lang/String; +MD: fj/a (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; net/minecraft/util/StringTranslate/func_74803_a (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; +MD: fj/a (Ljava/util/Map;)V net/minecraft/util/StringTranslate/func_135063_a (Ljava/util/Map;)V +MD: fj/b (Ljava/lang/String;)Z net/minecraft/util/StringTranslate/func_94520_b (Ljava/lang/String;)Z +MD: fj/c ()J net/minecraft/util/StringTranslate/func_150510_c ()J +MD: fj/c (Ljava/lang/String;)Ljava/lang/String; net/minecraft/util/StringTranslate/func_135064_c (Ljava/lang/String;)Ljava/lang/String; +MD: fl/a ()B net/minecraft/nbt/NBTTagByteArray/func_74732_a ()B +MD: fl/a (Ljava/io/DataInput;ILfx;)V net/minecraft/nbt/NBTTagByteArray/func_152446_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V +MD: fl/a (Ljava/io/DataOutput;)V net/minecraft/nbt/NBTTagByteArray/func_74734_a (Ljava/io/DataOutput;)V +MD: fl/b ()Lgd; net/minecraft/nbt/NBTTagByteArray/func_74737_b ()Lnet/minecraft/nbt/NBTBase; +MD: fl/c ()[B net/minecraft/nbt/NBTTagByteArray/func_150292_c ()[B +MD: fl/equals (Ljava/lang/Object;)Z net/minecraft/nbt/NBTTagByteArray/equals (Ljava/lang/Object;)Z +MD: fl/hashCode ()I net/minecraft/nbt/NBTTagByteArray/hashCode ()I +MD: fl/toString ()Ljava/lang/String; net/minecraft/nbt/NBTTagByteArray/toString ()Ljava/lang/String; +MD: fm/a ()B net/minecraft/nbt/NBTTagByte/func_74732_a ()B +MD: fm/a (Ljava/io/DataInput;ILfx;)V net/minecraft/nbt/NBTTagByte/func_152446_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V +MD: fm/a (Ljava/io/DataOutput;)V net/minecraft/nbt/NBTTagByte/func_74734_a (Ljava/io/DataOutput;)V +MD: fm/b ()Lgd; net/minecraft/nbt/NBTTagByte/func_74737_b ()Lnet/minecraft/nbt/NBTBase; +MD: fm/c ()J net/minecraft/nbt/NBTTagByte/func_150291_c ()J +MD: fm/d ()I net/minecraft/nbt/NBTTagByte/func_150287_d ()I +MD: fm/e ()S net/minecraft/nbt/NBTTagByte/func_150289_e ()S +MD: fm/equals (Ljava/lang/Object;)Z net/minecraft/nbt/NBTTagByte/equals (Ljava/lang/Object;)Z +MD: fm/f ()B net/minecraft/nbt/NBTTagByte/func_150290_f ()B +MD: fm/g ()D net/minecraft/nbt/NBTTagByte/func_150286_g ()D +MD: fm/h ()F net/minecraft/nbt/NBTTagByte/func_150288_h ()F +MD: fm/hashCode ()I net/minecraft/nbt/NBTTagByte/hashCode ()I +MD: fm/toString ()Ljava/lang/String; net/minecraft/nbt/NBTTagByte/toString ()Ljava/lang/String; +MD: fn/a ()B net/minecraft/nbt/NBTTagCompound/func_74732_a ()B +MD: fn/a (BLjava/lang/String;Ljava/io/DataInput;ILfx;)Lgd; net/minecraft/nbt/NBTTagCompound/func_152449_a (BLjava/lang/String;Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)Lnet/minecraft/nbt/NBTBase; +MD: fn/a (Lfn;)V net/minecraft/nbt/NBTTagCompound/func_179237_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: fn/a (Ljava/io/DataInput;ILfx;)V net/minecraft/nbt/NBTTagCompound/func_152446_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V +MD: fn/a (Ljava/io/DataInput;Lfx;)B net/minecraft/nbt/NBTTagCompound/func_152447_a (Ljava/io/DataInput;Lnet/minecraft/nbt/NBTSizeTracker;)B +MD: fn/a (Ljava/io/DataOutput;)V net/minecraft/nbt/NBTTagCompound/func_74734_a (Ljava/io/DataOutput;)V +MD: fn/a (Ljava/lang/String;)Lgd; net/minecraft/nbt/NBTTagCompound/func_74781_a (Ljava/lang/String;)Lnet/minecraft/nbt/NBTBase; +MD: fn/a (Ljava/lang/String;B)V net/minecraft/nbt/NBTTagCompound/func_74774_a (Ljava/lang/String;B)V +MD: fn/a (Ljava/lang/String;D)V net/minecraft/nbt/NBTTagCompound/func_74780_a (Ljava/lang/String;D)V +MD: fn/a (Ljava/lang/String;F)V net/minecraft/nbt/NBTTagCompound/func_74776_a (Ljava/lang/String;F)V +MD: fn/a (Ljava/lang/String;I)V net/minecraft/nbt/NBTTagCompound/func_74768_a (Ljava/lang/String;I)V +MD: fn/a (Ljava/lang/String;ILjava/lang/ClassCastException;)Lb; net/minecraft/nbt/NBTTagCompound/func_82581_a (Ljava/lang/String;ILjava/lang/ClassCastException;)Lnet/minecraft/crash/CrashReport; +MD: fn/a (Ljava/lang/String;J)V net/minecraft/nbt/NBTTagCompound/func_74772_a (Ljava/lang/String;J)V +MD: fn/a (Ljava/lang/String;Lgd;)V net/minecraft/nbt/NBTTagCompound/func_74782_a (Ljava/lang/String;Lnet/minecraft/nbt/NBTBase;)V +MD: fn/a (Ljava/lang/String;Lgd;Ljava/io/DataOutput;)V net/minecraft/nbt/NBTTagCompound/func_150298_a (Ljava/lang/String;Lnet/minecraft/nbt/NBTBase;Ljava/io/DataOutput;)V +MD: fn/a (Ljava/lang/String;Ljava/lang/String;)V net/minecraft/nbt/NBTTagCompound/func_74778_a (Ljava/lang/String;Ljava/lang/String;)V +MD: fn/a (Ljava/lang/String;S)V net/minecraft/nbt/NBTTagCompound/func_74777_a (Ljava/lang/String;S)V +MD: fn/a (Ljava/lang/String;Z)V net/minecraft/nbt/NBTTagCompound/func_74757_a (Ljava/lang/String;Z)V +MD: fn/a (Ljava/lang/String;[B)V net/minecraft/nbt/NBTTagCompound/func_74773_a (Ljava/lang/String;[B)V +MD: fn/a (Ljava/lang/String;[I)V net/minecraft/nbt/NBTTagCompound/func_74783_a (Ljava/lang/String;[I)V +MD: fn/b ()Lgd; net/minecraft/nbt/NBTTagCompound/func_74737_b ()Lnet/minecraft/nbt/NBTBase; +MD: fn/b (Lfn;)Ljava/util/Map; net/minecraft/nbt/NBTTagCompound/access$000 (Lnet/minecraft/nbt/NBTTagCompound;)Ljava/util/Map; +MD: fn/b (Ljava/io/DataInput;Lfx;)Ljava/lang/String; net/minecraft/nbt/NBTTagCompound/func_152448_b (Ljava/io/DataInput;Lnet/minecraft/nbt/NBTSizeTracker;)Ljava/lang/String; +MD: fn/b (Ljava/lang/String;)B net/minecraft/nbt/NBTTagCompound/func_150299_b (Ljava/lang/String;)B +MD: fn/b (Ljava/lang/String;I)Z net/minecraft/nbt/NBTTagCompound/func_150297_b (Ljava/lang/String;I)Z +MD: fn/c ()Ljava/util/Set; net/minecraft/nbt/NBTTagCompound/func_150296_c ()Ljava/util/Set; +MD: fn/c (Ljava/lang/String;)Z net/minecraft/nbt/NBTTagCompound/func_74764_b (Ljava/lang/String;)Z +MD: fn/c (Ljava/lang/String;I)Lfv; net/minecraft/nbt/NBTTagCompound/func_150295_c (Ljava/lang/String;I)Lnet/minecraft/nbt/NBTTagList; +MD: fn/c_ ()Z net/minecraft/nbt/NBTTagCompound/func_82582_d ()Z +MD: fn/d (Ljava/lang/String;)B net/minecraft/nbt/NBTTagCompound/func_74771_c (Ljava/lang/String;)B +MD: fn/e (Ljava/lang/String;)S net/minecraft/nbt/NBTTagCompound/func_74765_d (Ljava/lang/String;)S +MD: fn/equals (Ljava/lang/Object;)Z net/minecraft/nbt/NBTTagCompound/equals (Ljava/lang/Object;)Z +MD: fn/f (Ljava/lang/String;)I net/minecraft/nbt/NBTTagCompound/func_74762_e (Ljava/lang/String;)I +MD: fn/g (Ljava/lang/String;)J net/minecraft/nbt/NBTTagCompound/func_74763_f (Ljava/lang/String;)J +MD: fn/h (Ljava/lang/String;)F net/minecraft/nbt/NBTTagCompound/func_74760_g (Ljava/lang/String;)F +MD: fn/hashCode ()I net/minecraft/nbt/NBTTagCompound/hashCode ()I +MD: fn/i (Ljava/lang/String;)D net/minecraft/nbt/NBTTagCompound/func_74769_h (Ljava/lang/String;)D +MD: fn/j (Ljava/lang/String;)Ljava/lang/String; net/minecraft/nbt/NBTTagCompound/func_74779_i (Ljava/lang/String;)Ljava/lang/String; +MD: fn/k (Ljava/lang/String;)[B net/minecraft/nbt/NBTTagCompound/func_74770_j (Ljava/lang/String;)[B +MD: fn/l (Ljava/lang/String;)[I net/minecraft/nbt/NBTTagCompound/func_74759_k (Ljava/lang/String;)[I +MD: fn/m (Ljava/lang/String;)Lfn; net/minecraft/nbt/NBTTagCompound/func_74775_l (Ljava/lang/String;)Lnet/minecraft/nbt/NBTTagCompound; +MD: fn/n (Ljava/lang/String;)Z net/minecraft/nbt/NBTTagCompound/func_74767_n (Ljava/lang/String;)Z +MD: fn/o (Ljava/lang/String;)V net/minecraft/nbt/NBTTagCompound/func_82580_o (Ljava/lang/String;)V +MD: fn/toString ()Ljava/lang/String; net/minecraft/nbt/NBTTagCompound/toString ()Ljava/lang/String; +MD: fo/a ()Ljava/lang/String; net/minecraft/nbt/NBTTagCompound$1/call ()Ljava/lang/String; +MD: fo/call ()Ljava/lang/Object; net/minecraft/nbt/NBTTagCompound$1/call ()Ljava/lang/Object; +MD: fp/a ()Ljava/lang/String; net/minecraft/nbt/NBTTagCompound$2/call ()Ljava/lang/String; +MD: fp/call ()Ljava/lang/Object; net/minecraft/nbt/NBTTagCompound$2/call ()Ljava/lang/Object; +MD: fq/a ()B net/minecraft/nbt/NBTTagDouble/func_74732_a ()B +MD: fq/a (Ljava/io/DataInput;ILfx;)V net/minecraft/nbt/NBTTagDouble/func_152446_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V +MD: fq/a (Ljava/io/DataOutput;)V net/minecraft/nbt/NBTTagDouble/func_74734_a (Ljava/io/DataOutput;)V +MD: fq/b ()Lgd; net/minecraft/nbt/NBTTagDouble/func_74737_b ()Lnet/minecraft/nbt/NBTBase; +MD: fq/c ()J net/minecraft/nbt/NBTTagDouble/func_150291_c ()J +MD: fq/d ()I net/minecraft/nbt/NBTTagDouble/func_150287_d ()I +MD: fq/e ()S net/minecraft/nbt/NBTTagDouble/func_150289_e ()S +MD: fq/equals (Ljava/lang/Object;)Z net/minecraft/nbt/NBTTagDouble/equals (Ljava/lang/Object;)Z +MD: fq/f ()B net/minecraft/nbt/NBTTagDouble/func_150290_f ()B +MD: fq/g ()D net/minecraft/nbt/NBTTagDouble/func_150286_g ()D +MD: fq/h ()F net/minecraft/nbt/NBTTagDouble/func_150288_h ()F +MD: fq/hashCode ()I net/minecraft/nbt/NBTTagDouble/hashCode ()I +MD: fq/toString ()Ljava/lang/String; net/minecraft/nbt/NBTTagDouble/toString ()Ljava/lang/String; +MD: fr/a ()B net/minecraft/nbt/NBTTagEnd/func_74732_a ()B +MD: fr/a (Ljava/io/DataInput;ILfx;)V net/minecraft/nbt/NBTTagEnd/func_152446_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V +MD: fr/a (Ljava/io/DataOutput;)V net/minecraft/nbt/NBTTagEnd/func_74734_a (Ljava/io/DataOutput;)V +MD: fr/b ()Lgd; net/minecraft/nbt/NBTTagEnd/func_74737_b ()Lnet/minecraft/nbt/NBTBase; +MD: fr/toString ()Ljava/lang/String; net/minecraft/nbt/NBTTagEnd/toString ()Ljava/lang/String; +MD: fs/a ()B net/minecraft/nbt/NBTTagFloat/func_74732_a ()B +MD: fs/a (Ljava/io/DataInput;ILfx;)V net/minecraft/nbt/NBTTagFloat/func_152446_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V +MD: fs/a (Ljava/io/DataOutput;)V net/minecraft/nbt/NBTTagFloat/func_74734_a (Ljava/io/DataOutput;)V +MD: fs/b ()Lgd; net/minecraft/nbt/NBTTagFloat/func_74737_b ()Lnet/minecraft/nbt/NBTBase; +MD: fs/c ()J net/minecraft/nbt/NBTTagFloat/func_150291_c ()J +MD: fs/d ()I net/minecraft/nbt/NBTTagFloat/func_150287_d ()I +MD: fs/e ()S net/minecraft/nbt/NBTTagFloat/func_150289_e ()S +MD: fs/equals (Ljava/lang/Object;)Z net/minecraft/nbt/NBTTagFloat/equals (Ljava/lang/Object;)Z +MD: fs/f ()B net/minecraft/nbt/NBTTagFloat/func_150290_f ()B +MD: fs/g ()D net/minecraft/nbt/NBTTagFloat/func_150286_g ()D +MD: fs/h ()F net/minecraft/nbt/NBTTagFloat/func_150288_h ()F +MD: fs/hashCode ()I net/minecraft/nbt/NBTTagFloat/hashCode ()I +MD: fs/toString ()Ljava/lang/String; net/minecraft/nbt/NBTTagFloat/toString ()Ljava/lang/String; +MD: ft/a ()B net/minecraft/nbt/NBTTagIntArray/func_74732_a ()B +MD: ft/a (Ljava/io/DataInput;ILfx;)V net/minecraft/nbt/NBTTagIntArray/func_152446_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V +MD: ft/a (Ljava/io/DataOutput;)V net/minecraft/nbt/NBTTagIntArray/func_74734_a (Ljava/io/DataOutput;)V +MD: ft/b ()Lgd; net/minecraft/nbt/NBTTagIntArray/func_74737_b ()Lnet/minecraft/nbt/NBTBase; +MD: ft/c ()[I net/minecraft/nbt/NBTTagIntArray/func_150302_c ()[I +MD: ft/equals (Ljava/lang/Object;)Z net/minecraft/nbt/NBTTagIntArray/equals (Ljava/lang/Object;)Z +MD: ft/hashCode ()I net/minecraft/nbt/NBTTagIntArray/hashCode ()I +MD: ft/toString ()Ljava/lang/String; net/minecraft/nbt/NBTTagIntArray/toString ()Ljava/lang/String; +MD: fu/a ()B net/minecraft/nbt/NBTTagInt/func_74732_a ()B +MD: fu/a (Ljava/io/DataInput;ILfx;)V net/minecraft/nbt/NBTTagInt/func_152446_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V +MD: fu/a (Ljava/io/DataOutput;)V net/minecraft/nbt/NBTTagInt/func_74734_a (Ljava/io/DataOutput;)V +MD: fu/b ()Lgd; net/minecraft/nbt/NBTTagInt/func_74737_b ()Lnet/minecraft/nbt/NBTBase; +MD: fu/c ()J net/minecraft/nbt/NBTTagInt/func_150291_c ()J +MD: fu/d ()I net/minecraft/nbt/NBTTagInt/func_150287_d ()I +MD: fu/e ()S net/minecraft/nbt/NBTTagInt/func_150289_e ()S +MD: fu/equals (Ljava/lang/Object;)Z net/minecraft/nbt/NBTTagInt/equals (Ljava/lang/Object;)Z +MD: fu/f ()B net/minecraft/nbt/NBTTagInt/func_150290_f ()B +MD: fu/g ()D net/minecraft/nbt/NBTTagInt/func_150286_g ()D +MD: fu/h ()F net/minecraft/nbt/NBTTagInt/func_150288_h ()F +MD: fu/hashCode ()I net/minecraft/nbt/NBTTagInt/hashCode ()I +MD: fu/toString ()Ljava/lang/String; net/minecraft/nbt/NBTTagInt/toString ()Ljava/lang/String; +MD: fv/a ()B net/minecraft/nbt/NBTTagList/func_74732_a ()B +MD: fv/a (I)Lgd; net/minecraft/nbt/NBTTagList/func_74744_a (I)Lnet/minecraft/nbt/NBTBase; +MD: fv/a (ILgd;)V net/minecraft/nbt/NBTTagList/func_150304_a (ILnet/minecraft/nbt/NBTBase;)V +MD: fv/a (Lgd;)V net/minecraft/nbt/NBTTagList/func_74742_a (Lnet/minecraft/nbt/NBTBase;)V +MD: fv/a (Ljava/io/DataInput;ILfx;)V net/minecraft/nbt/NBTTagList/func_152446_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V +MD: fv/a (Ljava/io/DataOutput;)V net/minecraft/nbt/NBTTagList/func_74734_a (Ljava/io/DataOutput;)V +MD: fv/b ()Lgd; net/minecraft/nbt/NBTTagList/func_74737_b ()Lnet/minecraft/nbt/NBTBase; +MD: fv/b (I)Lfn; net/minecraft/nbt/NBTTagList/func_150305_b (I)Lnet/minecraft/nbt/NBTTagCompound; +MD: fv/c ()I net/minecraft/nbt/NBTTagList/func_74745_c ()I +MD: fv/c (I)[I net/minecraft/nbt/NBTTagList/func_150306_c (I)[I +MD: fv/c_ ()Z net/minecraft/nbt/NBTTagList/func_82582_d ()Z +MD: fv/d (I)D net/minecraft/nbt/NBTTagList/func_150309_d (I)D +MD: fv/e (I)F net/minecraft/nbt/NBTTagList/func_150308_e (I)F +MD: fv/equals (Ljava/lang/Object;)Z net/minecraft/nbt/NBTTagList/equals (Ljava/lang/Object;)Z +MD: fv/f ()I net/minecraft/nbt/NBTTagList/func_150303_d ()I +MD: fv/f (I)Ljava/lang/String; net/minecraft/nbt/NBTTagList/func_150307_f (I)Ljava/lang/String; +MD: fv/g (I)Lgd; net/minecraft/nbt/NBTTagList/func_179238_g (I)Lnet/minecraft/nbt/NBTBase; +MD: fv/hashCode ()I net/minecraft/nbt/NBTTagList/hashCode ()I +MD: fv/toString ()Ljava/lang/String; net/minecraft/nbt/NBTTagList/toString ()Ljava/lang/String; +MD: fw/a ()B net/minecraft/nbt/NBTTagLong/func_74732_a ()B +MD: fw/a (Ljava/io/DataInput;ILfx;)V net/minecraft/nbt/NBTTagLong/func_152446_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V +MD: fw/a (Ljava/io/DataOutput;)V net/minecraft/nbt/NBTTagLong/func_74734_a (Ljava/io/DataOutput;)V +MD: fw/b ()Lgd; net/minecraft/nbt/NBTTagLong/func_74737_b ()Lnet/minecraft/nbt/NBTBase; +MD: fw/c ()J net/minecraft/nbt/NBTTagLong/func_150291_c ()J +MD: fw/d ()I net/minecraft/nbt/NBTTagLong/func_150287_d ()I +MD: fw/e ()S net/minecraft/nbt/NBTTagLong/func_150289_e ()S +MD: fw/equals (Ljava/lang/Object;)Z net/minecraft/nbt/NBTTagLong/equals (Ljava/lang/Object;)Z +MD: fw/f ()B net/minecraft/nbt/NBTTagLong/func_150290_f ()B +MD: fw/g ()D net/minecraft/nbt/NBTTagLong/func_150286_g ()D +MD: fw/h ()F net/minecraft/nbt/NBTTagLong/func_150288_h ()F +MD: fw/hashCode ()I net/minecraft/nbt/NBTTagLong/hashCode ()I +MD: fw/toString ()Ljava/lang/String; net/minecraft/nbt/NBTTagLong/toString ()Ljava/lang/String; +MD: fx/a (J)V net/minecraft/nbt/NBTSizeTracker/func_152450_a (J)V +MD: fy/a (J)V net/minecraft/nbt/NBTSizeTracker$1/func_152450_a (J)V +MD: fz/a (Lfn;Ljava/io/DataOutput;)V net/minecraft/nbt/CompressedStreamTools/func_74800_a (Lnet/minecraft/nbt/NBTTagCompound;Ljava/io/DataOutput;)V +MD: fz/a (Lfn;Ljava/io/File;)V net/minecraft/nbt/CompressedStreamTools/func_74793_a (Lnet/minecraft/nbt/NBTTagCompound;Ljava/io/File;)V +MD: fz/a (Lfn;Ljava/io/OutputStream;)V net/minecraft/nbt/CompressedStreamTools/func_74799_a (Lnet/minecraft/nbt/NBTTagCompound;Ljava/io/OutputStream;)V +MD: fz/a (Lgd;Ljava/io/DataOutput;)V net/minecraft/nbt/CompressedStreamTools/func_150663_a (Lnet/minecraft/nbt/NBTBase;Ljava/io/DataOutput;)V +MD: fz/a (Ljava/io/DataInput;ILfx;)Lgd; net/minecraft/nbt/CompressedStreamTools/func_152455_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)Lnet/minecraft/nbt/NBTBase; +MD: fz/a (Ljava/io/DataInput;Lfx;)Lfn; net/minecraft/nbt/CompressedStreamTools/func_152456_a (Ljava/io/DataInput;Lnet/minecraft/nbt/NBTSizeTracker;)Lnet/minecraft/nbt/NBTTagCompound; +MD: fz/a (Ljava/io/DataInputStream;)Lfn; net/minecraft/nbt/CompressedStreamTools/func_74794_a (Ljava/io/DataInputStream;)Lnet/minecraft/nbt/NBTTagCompound; +MD: fz/a (Ljava/io/File;)Lfn; net/minecraft/nbt/CompressedStreamTools/func_74797_a (Ljava/io/File;)Lnet/minecraft/nbt/NBTTagCompound; +MD: fz/a (Ljava/io/InputStream;)Lfn; net/minecraft/nbt/CompressedStreamTools/func_74796_a (Ljava/io/InputStream;)Lnet/minecraft/nbt/NBTTagCompound; +MD: fz/b (Lfn;Ljava/io/File;)V net/minecraft/nbt/CompressedStreamTools/func_74795_b (Lnet/minecraft/nbt/NBTTagCompound;Ljava/io/File;)V +MD: g/a ()Ljava/lang/String; net/minecraft/crash/CrashReport$5/call ()Ljava/lang/String; +MD: g/call ()Ljava/lang/Object; net/minecraft/crash/CrashReport$5/call ()Ljava/lang/Object; +MD: ga/a (Lfn;)Lcom/mojang/authlib/GameProfile; net/minecraft/nbt/NBTUtil/func_152459_a (Lnet/minecraft/nbt/NBTTagCompound;)Lcom/mojang/authlib/GameProfile; +MD: ga/a (Lfn;Lcom/mojang/authlib/GameProfile;)Lfn; net/minecraft/nbt/NBTUtil/func_180708_a (Lnet/minecraft/nbt/NBTTagCompound;Lcom/mojang/authlib/GameProfile;)Lnet/minecraft/nbt/NBTTagCompound; +MD: gb/a ()B net/minecraft/nbt/NBTTagShort/func_74732_a ()B +MD: gb/a (Ljava/io/DataInput;ILfx;)V net/minecraft/nbt/NBTTagShort/func_152446_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V +MD: gb/a (Ljava/io/DataOutput;)V net/minecraft/nbt/NBTTagShort/func_74734_a (Ljava/io/DataOutput;)V +MD: gb/b ()Lgd; net/minecraft/nbt/NBTTagShort/func_74737_b ()Lnet/minecraft/nbt/NBTBase; +MD: gb/c ()J net/minecraft/nbt/NBTTagShort/func_150291_c ()J +MD: gb/d ()I net/minecraft/nbt/NBTTagShort/func_150287_d ()I +MD: gb/e ()S net/minecraft/nbt/NBTTagShort/func_150289_e ()S +MD: gb/equals (Ljava/lang/Object;)Z net/minecraft/nbt/NBTTagShort/equals (Ljava/lang/Object;)Z +MD: gb/f ()B net/minecraft/nbt/NBTTagShort/func_150290_f ()B +MD: gb/g ()D net/minecraft/nbt/NBTTagShort/func_150286_g ()D +MD: gb/h ()F net/minecraft/nbt/NBTTagShort/func_150288_h ()F +MD: gb/hashCode ()I net/minecraft/nbt/NBTTagShort/hashCode ()I +MD: gb/toString ()Ljava/lang/String; net/minecraft/nbt/NBTTagShort/toString ()Ljava/lang/String; +MD: gc/a ()B net/minecraft/nbt/NBTTagString/func_74732_a ()B +MD: gc/a (Ljava/io/DataInput;ILfx;)V net/minecraft/nbt/NBTTagString/func_152446_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V +MD: gc/a (Ljava/io/DataOutput;)V net/minecraft/nbt/NBTTagString/func_74734_a (Ljava/io/DataOutput;)V +MD: gc/a_ ()Ljava/lang/String; net/minecraft/nbt/NBTTagString/func_150285_a_ ()Ljava/lang/String; +MD: gc/b ()Lgd; net/minecraft/nbt/NBTTagString/func_74737_b ()Lnet/minecraft/nbt/NBTBase; +MD: gc/c_ ()Z net/minecraft/nbt/NBTTagString/func_82582_d ()Z +MD: gc/equals (Ljava/lang/Object;)Z net/minecraft/nbt/NBTTagString/equals (Ljava/lang/Object;)Z +MD: gc/hashCode ()I net/minecraft/nbt/NBTTagString/hashCode ()I +MD: gc/toString ()Ljava/lang/String; net/minecraft/nbt/NBTTagString/toString ()Ljava/lang/String; +MD: gd/a ()B net/minecraft/nbt/NBTBase/func_74732_a ()B +MD: gd/a (B)Lgd; net/minecraft/nbt/NBTBase/func_150284_a (B)Lnet/minecraft/nbt/NBTBase; +MD: gd/a (Ljava/io/DataInput;ILfx;)V net/minecraft/nbt/NBTBase/func_152446_a (Ljava/io/DataInput;ILnet/minecraft/nbt/NBTSizeTracker;)V +MD: gd/a (Ljava/io/DataOutput;)V net/minecraft/nbt/NBTBase/func_74734_a (Ljava/io/DataOutput;)V +MD: gd/a_ ()Ljava/lang/String; net/minecraft/nbt/NBTBase/func_150285_a_ ()Ljava/lang/String; +MD: gd/b ()Lgd; net/minecraft/nbt/NBTBase/func_74737_b ()Lnet/minecraft/nbt/NBTBase; +MD: gd/c_ ()Z net/minecraft/nbt/NBTBase/func_82582_d ()Z +MD: gd/equals (Ljava/lang/Object;)Z net/minecraft/nbt/NBTBase/equals (Ljava/lang/Object;)Z +MD: gd/hashCode ()I net/minecraft/nbt/NBTBase/hashCode ()I +MD: gd/toString ()Ljava/lang/String; net/minecraft/nbt/NBTBase/toString ()Ljava/lang/String; +MD: ge/c ()J net/minecraft/nbt/NBTBase$NBTPrimitive/func_150291_c ()J +MD: ge/d ()I net/minecraft/nbt/NBTBase$NBTPrimitive/func_150287_d ()I +MD: ge/e ()S net/minecraft/nbt/NBTBase$NBTPrimitive/func_150289_e ()S +MD: ge/f ()B net/minecraft/nbt/NBTBase$NBTPrimitive/func_150290_f ()B +MD: ge/g ()D net/minecraft/nbt/NBTBase$NBTPrimitive/func_150286_g ()D +MD: ge/h ()F net/minecraft/nbt/NBTBase$NBTPrimitive/func_150288_h ()F +MD: gg/a (Ljava/lang/String;)Lfn; net/minecraft/nbt/JsonToNBT/func_180713_a (Ljava/lang/String;)Lnet/minecraft/nbt/NBTTagCompound; +MD: gg/a (Ljava/lang/String;C)I net/minecraft/nbt/JsonToNBT/func_150312_a (Ljava/lang/String;C)I +MD: gg/a (Ljava/lang/String;I)Ljava/lang/String; net/minecraft/nbt/JsonToNBT/func_179269_a (Ljava/lang/String;I)Ljava/lang/String; +MD: gg/a (Ljava/lang/String;Ljava/lang/String;)Lgh; net/minecraft/nbt/JsonToNBT/func_150316_a (Ljava/lang/String;Ljava/lang/String;)Lnet/minecraft/nbt/JsonToNBT$Any; +MD: gg/a (Ljava/lang/String;Z)Lgh; net/minecraft/nbt/JsonToNBT/func_179270_a (Ljava/lang/String;Z)Lnet/minecraft/nbt/JsonToNBT$Any; +MD: gg/a ([Ljava/lang/String;)Lgh; net/minecraft/nbt/JsonToNBT/func_179272_a ([Ljava/lang/String;)Lnet/minecraft/nbt/JsonToNBT$Any; +MD: gg/b (Ljava/lang/String;)I net/minecraft/nbt/JsonToNBT/func_150310_b (Ljava/lang/String;)I +MD: gg/b (Ljava/lang/String;I)Z net/minecraft/nbt/JsonToNBT/func_179271_b (Ljava/lang/String;I)Z +MD: gg/b (Ljava/lang/String;Z)Ljava/lang/String; net/minecraft/nbt/JsonToNBT/func_150314_a (Ljava/lang/String;Z)Ljava/lang/String; +MD: gg/c (Ljava/lang/String;Z)Ljava/lang/String; net/minecraft/nbt/JsonToNBT/func_150313_b (Ljava/lang/String;Z)Ljava/lang/String; +MD: gg/d (Ljava/lang/String;Z)Ljava/lang/String; net/minecraft/nbt/JsonToNBT/func_150311_c (Ljava/lang/String;Z)Ljava/lang/String; +MD: gh/a ()Lgd; net/minecraft/nbt/JsonToNBT$Any/func_150489_a ()Lnet/minecraft/nbt/NBTBase; +MD: gi/a ()Lgd; net/minecraft/nbt/JsonToNBT$Compound/func_150489_a ()Lnet/minecraft/nbt/NBTBase; +MD: gj/a ()Lgd; net/minecraft/nbt/JsonToNBT$List/func_150489_a ()Lnet/minecraft/nbt/NBTBase; +MD: gk/a ()Lgd; net/minecraft/nbt/JsonToNBT$Primitive/func_150489_a ()Lnet/minecraft/nbt/NBTBase; +MD: gm/a (Lio/netty/buffer/ByteBuf;)[B net/minecraft/network/NettyEncryptionTranslator/func_150502_a (Lio/netty/buffer/ByteBuf;)[B +MD: gm/a (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)V net/minecraft/network/NettyEncryptionTranslator/func_150504_a (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)V +MD: gm/a (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf; net/minecraft/network/NettyEncryptionTranslator/func_150503_a (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf; +MD: gn/a (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V net/minecraft/network/NettyEncryptingDecoder/decode (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V +MD: gn/decode (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V net/minecraft/network/NettyEncryptingDecoder/decode (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V +MD: go/a (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)V net/minecraft/network/NettyEncryptingEncoder/encode (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)V +MD: go/encode (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)V net/minecraft/network/NettyEncryptingEncoder/encode (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)V +MD: gp/a (I)V net/minecraft/network/NettyCompressionDecoder/func_179303_a (I)V +MD: gp/decode (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V net/minecraft/network/NettyCompressionDecoder/decode (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V +MD: gq/a (I)V net/minecraft/network/NettyCompressionEncoder/func_179299_a (I)V +MD: gq/a (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)V net/minecraft/network/NettyCompressionEncoder/func_179298_a (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)V +MD: gq/encode (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)V net/minecraft/network/NettyCompressionEncoder/encode (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)V +MD: gr/a ()V net/minecraft/network/NetworkManager/func_74428_b ()V +MD: gr/a (I)V net/minecraft/network/NetworkManager/func_179289_a (I)V +MD: gr/a (Lgr;)Lio/netty/channel/Channel; net/minecraft/network/NetworkManager/access$000 (Lnet/minecraft/network/NetworkManager;)Lio/netty/channel/Channel; +MD: gr/a (Lgy;)V net/minecraft/network/NetworkManager/func_150723_a (Lnet/minecraft/network/EnumConnectionState;)V +MD: gr/a (Lhg;)V net/minecraft/network/NetworkManager/func_150719_a (Lnet/minecraft/network/INetHandler;)V +MD: gr/a (Lho;)V net/minecraft/network/NetworkManager/func_150718_a (Lnet/minecraft/util/IChatComponent;)V +MD: gr/a (Lid;)V net/minecraft/network/NetworkManager/func_179290_a (Lnet/minecraft/network/Packet;)V +MD: gr/a (Lid;Lio/netty/util/concurrent/GenericFutureListener;[Lio/netty/util/concurrent/GenericFutureListener;)V net/minecraft/network/NetworkManager/func_179288_a (Lnet/minecraft/network/Packet;Lio/netty/util/concurrent/GenericFutureListener;[Lio/netty/util/concurrent/GenericFutureListener;)V +MD: gr/a (Lid;[Lio/netty/util/concurrent/GenericFutureListener;)V net/minecraft/network/NetworkManager/func_150732_b (Lnet/minecraft/network/Packet;[Lio/netty/util/concurrent/GenericFutureListener;)V +MD: gr/a (Lio/netty/channel/ChannelHandlerContext;Lid;)V net/minecraft/network/NetworkManager/channelRead0 (Lio/netty/channel/ChannelHandlerContext;Lnet/minecraft/network/Packet;)V +MD: gr/a (Ljava/net/InetAddress;I)Lgr; net/minecraft/network/NetworkManager/func_150726_a (Ljava/net/InetAddress;I)Lnet/minecraft/network/NetworkManager; +MD: gr/a (Ljava/net/SocketAddress;)Lgr; net/minecraft/network/NetworkManager/func_150722_a (Ljava/net/SocketAddress;)Lnet/minecraft/network/NetworkManager; +MD: gr/a (Ljavax/crypto/SecretKey;)V net/minecraft/network/NetworkManager/func_150727_a (Ljavax/crypto/SecretKey;)V +MD: gr/b ()Ljava/net/SocketAddress; net/minecraft/network/NetworkManager/func_74430_c ()Ljava/net/SocketAddress; +MD: gr/c ()Z net/minecraft/network/NetworkManager/func_150731_c ()Z +MD: gr/channelActive (Lio/netty/channel/ChannelHandlerContext;)V net/minecraft/network/NetworkManager/channelActive (Lio/netty/channel/ChannelHandlerContext;)V +MD: gr/channelInactive (Lio/netty/channel/ChannelHandlerContext;)V net/minecraft/network/NetworkManager/channelInactive (Lio/netty/channel/ChannelHandlerContext;)V +MD: gr/channelRead0 (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V net/minecraft/network/NetworkManager/channelRead0 (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V +MD: gr/exceptionCaught (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V net/minecraft/network/NetworkManager/exceptionCaught (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V +MD: gr/f ()Z net/minecraft/network/NetworkManager/func_179292_f ()Z +MD: gr/g ()Z net/minecraft/network/NetworkManager/func_150724_d ()Z +MD: gr/h ()Z net/minecraft/network/NetworkManager/func_179291_h ()Z +MD: gr/i ()Lhg; net/minecraft/network/NetworkManager/func_150729_e ()Lnet/minecraft/network/INetHandler; +MD: gr/j ()Lho; net/minecraft/network/NetworkManager/func_150730_f ()Lnet/minecraft/util/IChatComponent; +MD: gr/k ()V net/minecraft/network/NetworkManager/func_150721_g ()V +MD: gr/l ()V net/minecraft/network/NetworkManager/func_179293_l ()V +MD: gr/m ()V net/minecraft/network/NetworkManager/func_150733_h ()V +MD: gs/a ()Lio/netty/channel/nio/NioEventLoopGroup; net/minecraft/network/NetworkManager$1/func_179284_a ()Lio/netty/channel/nio/NioEventLoopGroup; +MD: gs/b ()Ljava/lang/Object; net/minecraft/network/NetworkManager$1/func_179280_b ()Ljava/lang/Object; +MD: gt/a ()Lio/netty/channel/local/LocalEventLoopGroup; net/minecraft/network/NetworkManager$2/func_179287_a ()Lio/netty/channel/local/LocalEventLoopGroup; +MD: gt/b ()Ljava/lang/Object; net/minecraft/network/NetworkManager$2/func_179280_b ()Ljava/lang/Object; +MD: gu/run ()V net/minecraft/network/NetworkManager$3/run ()V +MD: gv/initChannel (Lio/netty/channel/Channel;)V net/minecraft/network/NetworkManager$4/initChannel (Lio/netty/channel/Channel;)V +MD: gw/initChannel (Lio/netty/channel/Channel;)V net/minecraft/network/NetworkManager$5/initChannel (Lio/netty/channel/Channel;)V +MD: gx/a (Lgx;)Lid; net/minecraft/network/NetworkManager$InboundHandlerTuplePacketListener/access$100 (Lnet/minecraft/network/NetworkManager$InboundHandlerTuplePacketListener;)Lnet/minecraft/network/Packet; +MD: gx/b (Lgx;)[Lio/netty/util/concurrent/GenericFutureListener; net/minecraft/network/NetworkManager$InboundHandlerTuplePacketListener/access$200 (Lnet/minecraft/network/NetworkManager$InboundHandlerTuplePacketListener;)[Lio/netty/util/concurrent/GenericFutureListener; +MD: gy/a ()I net/minecraft/network/EnumConnectionState/func_150759_c ()I +MD: gy/a (I)Lgy; net/minecraft/network/EnumConnectionState/func_150760_a (I)Lnet/minecraft/network/EnumConnectionState; +MD: gy/a (Lid;)Lgy; net/minecraft/network/EnumConnectionState/func_150752_a (Lnet/minecraft/network/Packet;)Lnet/minecraft/network/EnumConnectionState; +MD: gy/a (Lie;I)Lid; net/minecraft/network/EnumConnectionState/func_179244_a (Lnet/minecraft/network/EnumPacketDirection;I)Lnet/minecraft/network/Packet; +MD: gy/a (Lie;Lid;)Ljava/lang/Integer; net/minecraft/network/EnumConnectionState/func_179246_a (Lnet/minecraft/network/EnumPacketDirection;Lnet/minecraft/network/Packet;)Ljava/lang/Integer; +MD: gy/a (Lie;Ljava/lang/Class;)Lgy; net/minecraft/network/EnumConnectionState/func_179245_a (Lnet/minecraft/network/EnumPacketDirection;Ljava/lang/Class;)Lnet/minecraft/network/EnumConnectionState; +MD: gy/values ()[Lgy; net/minecraft/network/EnumConnectionState/values ()[Lnet/minecraft/network/EnumConnectionState; +MD: h/a ()Ljava/lang/String; net/minecraft/crash/CrashReport$6/call ()Ljava/lang/String; +MD: h/call ()Ljava/lang/Object; net/minecraft/crash/CrashReport$6/call ()Ljava/lang/Object; +MD: hd/a ()[B net/minecraft/network/PacketBuffer/func_179251_a ()[B +MD: hd/a (I)I net/minecraft/network/PacketBuffer/func_150790_a (I)I +MD: hd/a (Lamj;)V net/minecraft/network/PacketBuffer/func_150788_a (Lnet/minecraft/item/ItemStack;)V +MD: hd/a (Ldt;)V net/minecraft/network/PacketBuffer/func_179255_a (Lnet/minecraft/util/BlockPos;)V +MD: hd/a (Lfn;)V net/minecraft/network/PacketBuffer/func_150786_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: hd/a (Lho;)V net/minecraft/network/PacketBuffer/func_179256_a (Lnet/minecraft/util/IChatComponent;)V +MD: hd/a (Ljava/lang/Class;)Ljava/lang/Enum; net/minecraft/network/PacketBuffer/func_179257_a (Ljava/lang/Class;)Ljava/lang/Enum; +MD: hd/a (Ljava/lang/Enum;)V net/minecraft/network/PacketBuffer/func_179249_a (Ljava/lang/Enum;)V +MD: hd/a (Ljava/lang/String;)Lhd; net/minecraft/network/PacketBuffer/func_180714_a (Ljava/lang/String;)Lnet/minecraft/network/PacketBuffer; +MD: hd/a (Ljava/util/UUID;)V net/minecraft/network/PacketBuffer/func_179252_a (Ljava/util/UUID;)V +MD: hd/a ([B)V net/minecraft/network/PacketBuffer/func_179250_a ([B)V +MD: hd/alloc ()Lio/netty/buffer/ByteBufAllocator; net/minecraft/network/PacketBuffer/alloc ()Lio/netty/buffer/ByteBufAllocator; +MD: hd/array ()[B net/minecraft/network/PacketBuffer/array ()[B +MD: hd/arrayOffset ()I net/minecraft/network/PacketBuffer/arrayOffset ()I +MD: hd/b (I)V net/minecraft/network/PacketBuffer/func_150787_b (I)V +MD: hd/b (J)V net/minecraft/network/PacketBuffer/func_179254_b (J)V +MD: hd/bytesBefore (B)I net/minecraft/network/PacketBuffer/bytesBefore (B)I +MD: hd/bytesBefore (IB)I net/minecraft/network/PacketBuffer/bytesBefore (IB)I +MD: hd/bytesBefore (IIB)I net/minecraft/network/PacketBuffer/bytesBefore (IIB)I +MD: hd/c ()Ldt; net/minecraft/network/PacketBuffer/func_179259_c ()Lnet/minecraft/util/BlockPos; +MD: hd/c (I)Ljava/lang/String; net/minecraft/network/PacketBuffer/func_150789_c (I)Ljava/lang/String; +MD: hd/capacity ()I net/minecraft/network/PacketBuffer/capacity ()I +MD: hd/capacity (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/capacity (I)Lio/netty/buffer/ByteBuf; +MD: hd/clear ()Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/clear ()Lio/netty/buffer/ByteBuf; +MD: hd/compareTo (Lio/netty/buffer/ByteBuf;)I net/minecraft/network/PacketBuffer/compareTo (Lio/netty/buffer/ByteBuf;)I +MD: hd/compareTo (Ljava/lang/Object;)I net/minecraft/network/PacketBuffer/compareTo (Ljava/lang/Object;)I +MD: hd/copy ()Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/copy ()Lio/netty/buffer/ByteBuf; +MD: hd/copy (II)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/copy (II)Lio/netty/buffer/ByteBuf; +MD: hd/d ()Lho; net/minecraft/network/PacketBuffer/func_179258_d ()Lnet/minecraft/util/IChatComponent; +MD: hd/discardReadBytes ()Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/discardReadBytes ()Lio/netty/buffer/ByteBuf; +MD: hd/discardSomeReadBytes ()Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/discardSomeReadBytes ()Lio/netty/buffer/ByteBuf; +MD: hd/duplicate ()Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/duplicate ()Lio/netty/buffer/ByteBuf; +MD: hd/e ()I net/minecraft/network/PacketBuffer/func_150792_a ()I +MD: hd/ensureWritable (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/ensureWritable (I)Lio/netty/buffer/ByteBuf; +MD: hd/ensureWritable (IZ)I net/minecraft/network/PacketBuffer/ensureWritable (IZ)I +MD: hd/equals (Ljava/lang/Object;)Z net/minecraft/network/PacketBuffer/equals (Ljava/lang/Object;)Z +MD: hd/f ()J net/minecraft/network/PacketBuffer/func_179260_f ()J +MD: hd/forEachByte (IILio/netty/buffer/ByteBufProcessor;)I net/minecraft/network/PacketBuffer/forEachByte (IILio/netty/buffer/ByteBufProcessor;)I +MD: hd/forEachByte (Lio/netty/buffer/ByteBufProcessor;)I net/minecraft/network/PacketBuffer/forEachByte (Lio/netty/buffer/ByteBufProcessor;)I +MD: hd/forEachByteDesc (IILio/netty/buffer/ByteBufProcessor;)I net/minecraft/network/PacketBuffer/forEachByteDesc (IILio/netty/buffer/ByteBufProcessor;)I +MD: hd/forEachByteDesc (Lio/netty/buffer/ByteBufProcessor;)I net/minecraft/network/PacketBuffer/forEachByteDesc (Lio/netty/buffer/ByteBufProcessor;)I +MD: hd/g ()Ljava/util/UUID; net/minecraft/network/PacketBuffer/func_179253_g ()Ljava/util/UUID; +MD: hd/getBoolean (I)Z net/minecraft/network/PacketBuffer/getBoolean (I)Z +MD: hd/getByte (I)B net/minecraft/network/PacketBuffer/getByte (I)B +MD: hd/getBytes (ILio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/getBytes (ILio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf; +MD: hd/getBytes (ILio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/getBytes (ILio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf; +MD: hd/getBytes (ILio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/getBytes (ILio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf; +MD: hd/getBytes (ILjava/io/OutputStream;I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/getBytes (ILjava/io/OutputStream;I)Lio/netty/buffer/ByteBuf; +MD: hd/getBytes (ILjava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/getBytes (ILjava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf; +MD: hd/getBytes (ILjava/nio/channels/GatheringByteChannel;I)I net/minecraft/network/PacketBuffer/getBytes (ILjava/nio/channels/GatheringByteChannel;I)I +MD: hd/getBytes (I[B)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/getBytes (I[B)Lio/netty/buffer/ByteBuf; +MD: hd/getBytes (I[BII)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/getBytes (I[BII)Lio/netty/buffer/ByteBuf; +MD: hd/getChar (I)C net/minecraft/network/PacketBuffer/getChar (I)C +MD: hd/getDouble (I)D net/minecraft/network/PacketBuffer/getDouble (I)D +MD: hd/getFloat (I)F net/minecraft/network/PacketBuffer/getFloat (I)F +MD: hd/getInt (I)I net/minecraft/network/PacketBuffer/getInt (I)I +MD: hd/getLong (I)J net/minecraft/network/PacketBuffer/getLong (I)J +MD: hd/getMedium (I)I net/minecraft/network/PacketBuffer/getMedium (I)I +MD: hd/getShort (I)S net/minecraft/network/PacketBuffer/getShort (I)S +MD: hd/getUnsignedByte (I)S net/minecraft/network/PacketBuffer/getUnsignedByte (I)S +MD: hd/getUnsignedInt (I)J net/minecraft/network/PacketBuffer/getUnsignedInt (I)J +MD: hd/getUnsignedMedium (I)I net/minecraft/network/PacketBuffer/getUnsignedMedium (I)I +MD: hd/getUnsignedShort (I)I net/minecraft/network/PacketBuffer/getUnsignedShort (I)I +MD: hd/h ()Lfn; net/minecraft/network/PacketBuffer/func_150793_b ()Lnet/minecraft/nbt/NBTTagCompound; +MD: hd/hasArray ()Z net/minecraft/network/PacketBuffer/hasArray ()Z +MD: hd/hasMemoryAddress ()Z net/minecraft/network/PacketBuffer/hasMemoryAddress ()Z +MD: hd/hashCode ()I net/minecraft/network/PacketBuffer/hashCode ()I +MD: hd/i ()Lamj; net/minecraft/network/PacketBuffer/func_150791_c ()Lnet/minecraft/item/ItemStack; +MD: hd/indexOf (IIB)I net/minecraft/network/PacketBuffer/indexOf (IIB)I +MD: hd/internalNioBuffer (II)Ljava/nio/ByteBuffer; net/minecraft/network/PacketBuffer/internalNioBuffer (II)Ljava/nio/ByteBuffer; +MD: hd/isDirect ()Z net/minecraft/network/PacketBuffer/isDirect ()Z +MD: hd/isReadable ()Z net/minecraft/network/PacketBuffer/isReadable ()Z +MD: hd/isReadable (I)Z net/minecraft/network/PacketBuffer/isReadable (I)Z +MD: hd/isWritable ()Z net/minecraft/network/PacketBuffer/isWritable ()Z +MD: hd/isWritable (I)Z net/minecraft/network/PacketBuffer/isWritable (I)Z +MD: hd/markReaderIndex ()Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/markReaderIndex ()Lio/netty/buffer/ByteBuf; +MD: hd/markWriterIndex ()Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/markWriterIndex ()Lio/netty/buffer/ByteBuf; +MD: hd/maxCapacity ()I net/minecraft/network/PacketBuffer/maxCapacity ()I +MD: hd/maxWritableBytes ()I net/minecraft/network/PacketBuffer/maxWritableBytes ()I +MD: hd/memoryAddress ()J net/minecraft/network/PacketBuffer/memoryAddress ()J +MD: hd/nioBuffer ()Ljava/nio/ByteBuffer; net/minecraft/network/PacketBuffer/nioBuffer ()Ljava/nio/ByteBuffer; +MD: hd/nioBuffer (II)Ljava/nio/ByteBuffer; net/minecraft/network/PacketBuffer/nioBuffer (II)Ljava/nio/ByteBuffer; +MD: hd/nioBufferCount ()I net/minecraft/network/PacketBuffer/nioBufferCount ()I +MD: hd/nioBuffers ()[Ljava/nio/ByteBuffer; net/minecraft/network/PacketBuffer/nioBuffers ()[Ljava/nio/ByteBuffer; +MD: hd/nioBuffers (II)[Ljava/nio/ByteBuffer; net/minecraft/network/PacketBuffer/nioBuffers (II)[Ljava/nio/ByteBuffer; +MD: hd/order ()Ljava/nio/ByteOrder; net/minecraft/network/PacketBuffer/order ()Ljava/nio/ByteOrder; +MD: hd/order (Ljava/nio/ByteOrder;)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/order (Ljava/nio/ByteOrder;)Lio/netty/buffer/ByteBuf; +MD: hd/readBoolean ()Z net/minecraft/network/PacketBuffer/readBoolean ()Z +MD: hd/readByte ()B net/minecraft/network/PacketBuffer/readByte ()B +MD: hd/readBytes (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/readBytes (I)Lio/netty/buffer/ByteBuf; +MD: hd/readBytes (Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/readBytes (Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf; +MD: hd/readBytes (Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/readBytes (Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf; +MD: hd/readBytes (Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/readBytes (Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf; +MD: hd/readBytes (Ljava/io/OutputStream;I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/readBytes (Ljava/io/OutputStream;I)Lio/netty/buffer/ByteBuf; +MD: hd/readBytes (Ljava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/readBytes (Ljava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf; +MD: hd/readBytes (Ljava/nio/channels/GatheringByteChannel;I)I net/minecraft/network/PacketBuffer/readBytes (Ljava/nio/channels/GatheringByteChannel;I)I +MD: hd/readBytes ([B)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/readBytes ([B)Lio/netty/buffer/ByteBuf; +MD: hd/readBytes ([BII)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/readBytes ([BII)Lio/netty/buffer/ByteBuf; +MD: hd/readChar ()C net/minecraft/network/PacketBuffer/readChar ()C +MD: hd/readDouble ()D net/minecraft/network/PacketBuffer/readDouble ()D +MD: hd/readFloat ()F net/minecraft/network/PacketBuffer/readFloat ()F +MD: hd/readInt ()I net/minecraft/network/PacketBuffer/readInt ()I +MD: hd/readLong ()J net/minecraft/network/PacketBuffer/readLong ()J +MD: hd/readMedium ()I net/minecraft/network/PacketBuffer/readMedium ()I +MD: hd/readShort ()S net/minecraft/network/PacketBuffer/readShort ()S +MD: hd/readSlice (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/readSlice (I)Lio/netty/buffer/ByteBuf; +MD: hd/readUnsignedByte ()S net/minecraft/network/PacketBuffer/readUnsignedByte ()S +MD: hd/readUnsignedInt ()J net/minecraft/network/PacketBuffer/readUnsignedInt ()J +MD: hd/readUnsignedMedium ()I net/minecraft/network/PacketBuffer/readUnsignedMedium ()I +MD: hd/readUnsignedShort ()I net/minecraft/network/PacketBuffer/readUnsignedShort ()I +MD: hd/readableBytes ()I net/minecraft/network/PacketBuffer/readableBytes ()I +MD: hd/readerIndex ()I net/minecraft/network/PacketBuffer/readerIndex ()I +MD: hd/readerIndex (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/readerIndex (I)Lio/netty/buffer/ByteBuf; +MD: hd/refCnt ()I net/minecraft/network/PacketBuffer/refCnt ()I +MD: hd/release ()Z net/minecraft/network/PacketBuffer/release ()Z +MD: hd/release (I)Z net/minecraft/network/PacketBuffer/release (I)Z +MD: hd/resetReaderIndex ()Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/resetReaderIndex ()Lio/netty/buffer/ByteBuf; +MD: hd/resetWriterIndex ()Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/resetWriterIndex ()Lio/netty/buffer/ByteBuf; +MD: hd/retain ()Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/retain ()Lio/netty/buffer/ByteBuf; +MD: hd/retain ()Lio/netty/util/ReferenceCounted; net/minecraft/network/PacketBuffer/retain ()Lio/netty/util/ReferenceCounted; +MD: hd/retain (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/retain (I)Lio/netty/buffer/ByteBuf; +MD: hd/retain (I)Lio/netty/util/ReferenceCounted; net/minecraft/network/PacketBuffer/retain (I)Lio/netty/util/ReferenceCounted; +MD: hd/setBoolean (IZ)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setBoolean (IZ)Lio/netty/buffer/ByteBuf; +MD: hd/setByte (II)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setByte (II)Lio/netty/buffer/ByteBuf; +MD: hd/setBytes (ILio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setBytes (ILio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf; +MD: hd/setBytes (ILio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setBytes (ILio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf; +MD: hd/setBytes (ILio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setBytes (ILio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf; +MD: hd/setBytes (ILjava/io/InputStream;I)I net/minecraft/network/PacketBuffer/setBytes (ILjava/io/InputStream;I)I +MD: hd/setBytes (ILjava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setBytes (ILjava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf; +MD: hd/setBytes (ILjava/nio/channels/ScatteringByteChannel;I)I net/minecraft/network/PacketBuffer/setBytes (ILjava/nio/channels/ScatteringByteChannel;I)I +MD: hd/setBytes (I[B)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setBytes (I[B)Lio/netty/buffer/ByteBuf; +MD: hd/setBytes (I[BII)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setBytes (I[BII)Lio/netty/buffer/ByteBuf; +MD: hd/setChar (II)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setChar (II)Lio/netty/buffer/ByteBuf; +MD: hd/setDouble (ID)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setDouble (ID)Lio/netty/buffer/ByteBuf; +MD: hd/setFloat (IF)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setFloat (IF)Lio/netty/buffer/ByteBuf; +MD: hd/setIndex (II)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setIndex (II)Lio/netty/buffer/ByteBuf; +MD: hd/setInt (II)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setInt (II)Lio/netty/buffer/ByteBuf; +MD: hd/setLong (IJ)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setLong (IJ)Lio/netty/buffer/ByteBuf; +MD: hd/setMedium (II)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setMedium (II)Lio/netty/buffer/ByteBuf; +MD: hd/setShort (II)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setShort (II)Lio/netty/buffer/ByteBuf; +MD: hd/setZero (II)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/setZero (II)Lio/netty/buffer/ByteBuf; +MD: hd/skipBytes (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/skipBytes (I)Lio/netty/buffer/ByteBuf; +MD: hd/slice ()Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/slice ()Lio/netty/buffer/ByteBuf; +MD: hd/slice (II)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/slice (II)Lio/netty/buffer/ByteBuf; +MD: hd/toString ()Ljava/lang/String; net/minecraft/network/PacketBuffer/toString ()Ljava/lang/String; +MD: hd/toString (IILjava/nio/charset/Charset;)Ljava/lang/String; net/minecraft/network/PacketBuffer/toString (IILjava/nio/charset/Charset;)Ljava/lang/String; +MD: hd/toString (Ljava/nio/charset/Charset;)Ljava/lang/String; net/minecraft/network/PacketBuffer/toString (Ljava/nio/charset/Charset;)Ljava/lang/String; +MD: hd/unwrap ()Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/unwrap ()Lio/netty/buffer/ByteBuf; +MD: hd/writableBytes ()I net/minecraft/network/PacketBuffer/writableBytes ()I +MD: hd/writeBoolean (Z)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeBoolean (Z)Lio/netty/buffer/ByteBuf; +MD: hd/writeByte (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeByte (I)Lio/netty/buffer/ByteBuf; +MD: hd/writeBytes (Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeBytes (Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf; +MD: hd/writeBytes (Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeBytes (Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf; +MD: hd/writeBytes (Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeBytes (Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf; +MD: hd/writeBytes (Ljava/io/InputStream;I)I net/minecraft/network/PacketBuffer/writeBytes (Ljava/io/InputStream;I)I +MD: hd/writeBytes (Ljava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeBytes (Ljava/nio/ByteBuffer;)Lio/netty/buffer/ByteBuf; +MD: hd/writeBytes (Ljava/nio/channels/ScatteringByteChannel;I)I net/minecraft/network/PacketBuffer/writeBytes (Ljava/nio/channels/ScatteringByteChannel;I)I +MD: hd/writeBytes ([B)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeBytes ([B)Lio/netty/buffer/ByteBuf; +MD: hd/writeBytes ([BII)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeBytes ([BII)Lio/netty/buffer/ByteBuf; +MD: hd/writeChar (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeChar (I)Lio/netty/buffer/ByteBuf; +MD: hd/writeDouble (D)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeDouble (D)Lio/netty/buffer/ByteBuf; +MD: hd/writeFloat (F)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeFloat (F)Lio/netty/buffer/ByteBuf; +MD: hd/writeInt (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeInt (I)Lio/netty/buffer/ByteBuf; +MD: hd/writeLong (J)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeLong (J)Lio/netty/buffer/ByteBuf; +MD: hd/writeMedium (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeMedium (I)Lio/netty/buffer/ByteBuf; +MD: hd/writeShort (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeShort (I)Lio/netty/buffer/ByteBuf; +MD: hd/writeZero (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writeZero (I)Lio/netty/buffer/ByteBuf; +MD: hd/writerIndex ()I net/minecraft/network/PacketBuffer/writerIndex ()I +MD: hd/writerIndex (I)Lio/netty/buffer/ByteBuf; net/minecraft/network/PacketBuffer/writerIndex (I)Lio/netty/buffer/ByteBuf; +MD: he/decode (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V net/minecraft/util/MessageDeserializer/decode (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V +MD: hf/a (Lio/netty/channel/ChannelHandlerContext;Lid;Lio/netty/buffer/ByteBuf;)V net/minecraft/util/MessageSerializer/encode (Lio/netty/channel/ChannelHandlerContext;Lnet/minecraft/network/Packet;Lio/netty/buffer/ByteBuf;)V +MD: hf/encode (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)V net/minecraft/util/MessageSerializer/encode (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)V +MD: hg/a (Lho;)V net/minecraft/network/INetHandler/func_147231_a (Lnet/minecraft/util/IChatComponent;)V +MD: hh/decode (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V net/minecraft/util/MessageDeserializer2/decode (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V +MD: hi/a (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)V net/minecraft/util/MessageSerializer2/encode (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)V +MD: hi/encode (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)V net/minecraft/util/MessageSerializer2/encode (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/buffer/ByteBuf;)V +MD: hj/a ()Ljava/util/List; net/minecraft/util/ChatComponentStyle/func_150253_a ()Ljava/util/List; +MD: hj/a (Lho;)Lho; net/minecraft/util/ChatComponentStyle/func_150257_a (Lnet/minecraft/util/IChatComponent;)Lnet/minecraft/util/IChatComponent; +MD: hj/a (Lhv;)Lho; net/minecraft/util/ChatComponentStyle/func_150255_a (Lnet/minecraft/util/ChatStyle;)Lnet/minecraft/util/IChatComponent; +MD: hj/a (Ljava/lang/Iterable;)Ljava/util/Iterator; net/minecraft/util/ChatComponentStyle/func_150262_a (Ljava/lang/Iterable;)Ljava/util/Iterator; +MD: hj/a (Ljava/lang/String;)Lho; net/minecraft/util/ChatComponentStyle/func_150258_a (Ljava/lang/String;)Lnet/minecraft/util/IChatComponent; +MD: hj/b ()Lhv; net/minecraft/util/ChatComponentStyle/func_150256_b ()Lnet/minecraft/util/ChatStyle; +MD: hj/c ()Ljava/lang/String; net/minecraft/util/ChatComponentStyle/func_150260_c ()Ljava/lang/String; +MD: hj/d ()Ljava/lang/String; net/minecraft/util/ChatComponentStyle/func_150254_d ()Ljava/lang/String; +MD: hj/equals (Ljava/lang/Object;)Z net/minecraft/util/ChatComponentStyle/equals (Ljava/lang/Object;)Z +MD: hj/hashCode ()I net/minecraft/util/ChatComponentStyle/hashCode ()I +MD: hj/iterator ()Ljava/util/Iterator; net/minecraft/util/ChatComponentStyle/iterator ()Ljava/util/Iterator; +MD: hj/toString ()Ljava/lang/String; net/minecraft/util/ChatComponentStyle/toString ()Ljava/lang/String; +MD: hk/a (Lho;)Ljava/util/Iterator; net/minecraft/util/ChatComponentStyle$1/apply (Lnet/minecraft/util/IChatComponent;)Ljava/util/Iterator; +MD: hk/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/util/ChatComponentStyle$1/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: hl/a (Lho;)Lho; net/minecraft/util/ChatComponentStyle$2/apply (Lnet/minecraft/util/IChatComponent;)Lnet/minecraft/util/IChatComponent; +MD: hl/apply (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/util/ChatComponentStyle$2/apply (Ljava/lang/Object;)Ljava/lang/Object; +MD: hm/a ()Lhn; net/minecraft/event/ClickEvent/func_150669_a ()Lnet/minecraft/event/ClickEvent$Action; +MD: hm/b ()Ljava/lang/String; net/minecraft/event/ClickEvent/func_150668_b ()Ljava/lang/String; +MD: hm/equals (Ljava/lang/Object;)Z net/minecraft/event/ClickEvent/equals (Ljava/lang/Object;)Z +MD: hm/hashCode ()I net/minecraft/event/ClickEvent/hashCode ()I +MD: hm/toString ()Ljava/lang/String; net/minecraft/event/ClickEvent/toString ()Ljava/lang/String; +MD: hn/a ()Z net/minecraft/event/ClickEvent$Action/func_150674_a ()Z +MD: hn/a (Ljava/lang/String;)Lhn; net/minecraft/event/ClickEvent$Action/func_150672_a (Ljava/lang/String;)Lnet/minecraft/event/ClickEvent$Action; +MD: hn/b ()Ljava/lang/String; net/minecraft/event/ClickEvent$Action/func_150673_b ()Ljava/lang/String; +MD: hn/values ()[Lhn; net/minecraft/event/ClickEvent$Action/values ()[Lnet/minecraft/event/ClickEvent$Action; +MD: ho/a ()Ljava/util/List; net/minecraft/util/IChatComponent/func_150253_a ()Ljava/util/List; +MD: ho/a (Lho;)Lho; net/minecraft/util/IChatComponent/func_150257_a (Lnet/minecraft/util/IChatComponent;)Lnet/minecraft/util/IChatComponent; +MD: ho/a (Lhv;)Lho; net/minecraft/util/IChatComponent/func_150255_a (Lnet/minecraft/util/ChatStyle;)Lnet/minecraft/util/IChatComponent; +MD: ho/a (Ljava/lang/String;)Lho; net/minecraft/util/IChatComponent/func_150258_a (Ljava/lang/String;)Lnet/minecraft/util/IChatComponent; +MD: ho/b ()Lhv; net/minecraft/util/IChatComponent/func_150256_b ()Lnet/minecraft/util/ChatStyle; +MD: ho/c ()Ljava/lang/String; net/minecraft/util/IChatComponent/func_150260_c ()Ljava/lang/String; +MD: ho/d ()Ljava/lang/String; net/minecraft/util/IChatComponent/func_150254_d ()Ljava/lang/String; +MD: ho/e ()Ljava/lang/String; net/minecraft/util/IChatComponent/func_150261_e ()Ljava/lang/String; +MD: ho/f ()Lho; net/minecraft/util/IChatComponent/func_150259_f ()Lnet/minecraft/util/IChatComponent; +MD: hp/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lho; net/minecraft/util/IChatComponent$Serializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/util/IChatComponent; +MD: hp/a (Lho;)Ljava/lang/String; net/minecraft/util/IChatComponent$Serializer/func_150696_a (Lnet/minecraft/util/IChatComponent;)Ljava/lang/String; +MD: hp/a (Lho;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/util/IChatComponent$Serializer/serialize (Lnet/minecraft/util/IChatComponent;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: hp/a (Lhv;Lcom/google/gson/JsonObject;Lcom/google/gson/JsonSerializationContext;)V net/minecraft/util/IChatComponent$Serializer/func_150695_a (Lnet/minecraft/util/ChatStyle;Lcom/google/gson/JsonObject;Lcom/google/gson/JsonSerializationContext;)V +MD: hp/a (Ljava/lang/String;)Lho; net/minecraft/util/IChatComponent$Serializer/func_150699_a (Ljava/lang/String;)Lnet/minecraft/util/IChatComponent; +MD: hp/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/util/IChatComponent$Serializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: hp/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/util/IChatComponent$Serializer/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: hq/a (Lae;Lho;Lwv;)Lho; net/minecraft/util/ChatComponentProcessor/func_179985_a (Lnet/minecraft/command/ICommandSender;Lnet/minecraft/util/IChatComponent;Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/IChatComponent; +MD: hr/a ()Lhs; net/minecraft/event/HoverEvent/func_150701_a ()Lnet/minecraft/event/HoverEvent$Action; +MD: hr/b ()Lho; net/minecraft/event/HoverEvent/func_150702_b ()Lnet/minecraft/util/IChatComponent; +MD: hr/equals (Ljava/lang/Object;)Z net/minecraft/event/HoverEvent/equals (Ljava/lang/Object;)Z +MD: hr/hashCode ()I net/minecraft/event/HoverEvent/hashCode ()I +MD: hr/toString ()Ljava/lang/String; net/minecraft/event/HoverEvent/toString ()Ljava/lang/String; +MD: hs/a ()Z net/minecraft/event/HoverEvent$Action/func_150686_a ()Z +MD: hs/a (Ljava/lang/String;)Lhs; net/minecraft/event/HoverEvent$Action/func_150684_a (Ljava/lang/String;)Lnet/minecraft/event/HoverEvent$Action; +MD: hs/b ()Ljava/lang/String; net/minecraft/event/HoverEvent$Action/func_150685_b ()Ljava/lang/String; +MD: hs/values ()[Lhs; net/minecraft/event/HoverEvent$Action/values ()[Lnet/minecraft/event/HoverEvent$Action; +MD: ht/b (Ljava/lang/String;)V net/minecraft/util/ChatComponentScore/func_179997_b (Ljava/lang/String;)V +MD: ht/e ()Ljava/lang/String; net/minecraft/util/ChatComponentScore/func_150261_e ()Ljava/lang/String; +MD: ht/equals (Ljava/lang/Object;)Z net/minecraft/util/ChatComponentScore/equals (Ljava/lang/Object;)Z +MD: ht/f ()Lho; net/minecraft/util/ChatComponentScore/func_150259_f ()Lnet/minecraft/util/IChatComponent; +MD: ht/g ()Ljava/lang/String; net/minecraft/util/ChatComponentScore/func_179995_g ()Ljava/lang/String; +MD: ht/h ()Ljava/lang/String; net/minecraft/util/ChatComponentScore/func_179994_h ()Ljava/lang/String; +MD: ht/i ()Lht; net/minecraft/util/ChatComponentScore/func_179996_i ()Lnet/minecraft/util/ChatComponentScore; +MD: ht/toString ()Ljava/lang/String; net/minecraft/util/ChatComponentScore/toString ()Ljava/lang/String; +MD: hu/e ()Ljava/lang/String; net/minecraft/util/ChatComponentSelector/func_150261_e ()Ljava/lang/String; +MD: hu/equals (Ljava/lang/Object;)Z net/minecraft/util/ChatComponentSelector/equals (Ljava/lang/Object;)Z +MD: hu/f ()Lho; net/minecraft/util/ChatComponentSelector/func_150259_f ()Lnet/minecraft/util/IChatComponent; +MD: hu/g ()Ljava/lang/String; net/minecraft/util/ChatComponentSelector/func_179992_g ()Ljava/lang/String; +MD: hu/h ()Lhu; net/minecraft/util/ChatComponentSelector/func_179991_h ()Lnet/minecraft/util/ChatComponentSelector; +MD: hu/toString ()Ljava/lang/String; net/minecraft/util/ChatComponentSelector/toString ()Ljava/lang/String; +MD: hv/a ()La; net/minecraft/util/ChatStyle/func_150215_a ()Lnet/minecraft/util/EnumChatFormatting; +MD: hv/a (La;)Lhv; net/minecraft/util/ChatStyle/func_150238_a (Lnet/minecraft/util/EnumChatFormatting;)Lnet/minecraft/util/ChatStyle; +MD: hv/a (Lhm;)Lhv; net/minecraft/util/ChatStyle/func_150241_a (Lnet/minecraft/event/ClickEvent;)Lnet/minecraft/util/ChatStyle; +MD: hv/a (Lhr;)Lhv; net/minecraft/util/ChatStyle/func_150209_a (Lnet/minecraft/event/HoverEvent;)Lnet/minecraft/util/ChatStyle; +MD: hv/a (Lhv;)Lhv; net/minecraft/util/ChatStyle/func_150221_a (Lnet/minecraft/util/ChatStyle;)Lnet/minecraft/util/ChatStyle; +MD: hv/a (Lhv;La;)La; net/minecraft/util/ChatStyle/access$502 (Lnet/minecraft/util/ChatStyle;Lnet/minecraft/util/EnumChatFormatting;)Lnet/minecraft/util/EnumChatFormatting; +MD: hv/a (Lhv;Lhm;)Lhm; net/minecraft/util/ChatStyle/access$702 (Lnet/minecraft/util/ChatStyle;Lnet/minecraft/event/ClickEvent;)Lnet/minecraft/event/ClickEvent; +MD: hv/a (Lhv;Lhr;)Lhr; net/minecraft/util/ChatStyle/access$802 (Lnet/minecraft/util/ChatStyle;Lnet/minecraft/event/HoverEvent;)Lnet/minecraft/event/HoverEvent; +MD: hv/a (Lhv;Ljava/lang/Boolean;)Ljava/lang/Boolean; net/minecraft/util/ChatStyle/access$002 (Lnet/minecraft/util/ChatStyle;Ljava/lang/Boolean;)Ljava/lang/Boolean; +MD: hv/a (Lhv;Ljava/lang/String;)Ljava/lang/String; net/minecraft/util/ChatStyle/access$602 (Lnet/minecraft/util/ChatStyle;Ljava/lang/String;)Ljava/lang/String; +MD: hv/a (Ljava/lang/Boolean;)Lhv; net/minecraft/util/ChatStyle/func_150227_a (Ljava/lang/Boolean;)Lnet/minecraft/util/ChatStyle; +MD: hv/a (Ljava/lang/String;)Lhv; net/minecraft/util/ChatStyle/func_179989_a (Ljava/lang/String;)Lnet/minecraft/util/ChatStyle; +MD: hv/b ()Z net/minecraft/util/ChatStyle/func_150223_b ()Z +MD: hv/b (Lhv;)Ljava/lang/Boolean; net/minecraft/util/ChatStyle/access$000 (Lnet/minecraft/util/ChatStyle;)Ljava/lang/Boolean; +MD: hv/b (Lhv;Ljava/lang/Boolean;)Ljava/lang/Boolean; net/minecraft/util/ChatStyle/access$102 (Lnet/minecraft/util/ChatStyle;Ljava/lang/Boolean;)Ljava/lang/Boolean; +MD: hv/b (Ljava/lang/Boolean;)Lhv; net/minecraft/util/ChatStyle/func_150217_b (Ljava/lang/Boolean;)Lnet/minecraft/util/ChatStyle; +MD: hv/c ()Z net/minecraft/util/ChatStyle/func_150242_c ()Z +MD: hv/c (Lhv;)Ljava/lang/Boolean; net/minecraft/util/ChatStyle/access$100 (Lnet/minecraft/util/ChatStyle;)Ljava/lang/Boolean; +MD: hv/c (Lhv;Ljava/lang/Boolean;)Ljava/lang/Boolean; net/minecraft/util/ChatStyle/access$202 (Lnet/minecraft/util/ChatStyle;Ljava/lang/Boolean;)Ljava/lang/Boolean; +MD: hv/c (Ljava/lang/Boolean;)Lhv; net/minecraft/util/ChatStyle/func_150225_c (Ljava/lang/Boolean;)Lnet/minecraft/util/ChatStyle; +MD: hv/d ()Z net/minecraft/util/ChatStyle/func_150236_d ()Z +MD: hv/d (Lhv;)Ljava/lang/Boolean; net/minecraft/util/ChatStyle/access$200 (Lnet/minecraft/util/ChatStyle;)Ljava/lang/Boolean; +MD: hv/d (Lhv;Ljava/lang/Boolean;)Ljava/lang/Boolean; net/minecraft/util/ChatStyle/access$302 (Lnet/minecraft/util/ChatStyle;Ljava/lang/Boolean;)Ljava/lang/Boolean; +MD: hv/d (Ljava/lang/Boolean;)Lhv; net/minecraft/util/ChatStyle/func_150228_d (Ljava/lang/Boolean;)Lnet/minecraft/util/ChatStyle; +MD: hv/e ()Z net/minecraft/util/ChatStyle/func_150234_e ()Z +MD: hv/e (Lhv;)Ljava/lang/Boolean; net/minecraft/util/ChatStyle/access$300 (Lnet/minecraft/util/ChatStyle;)Ljava/lang/Boolean; +MD: hv/e (Lhv;Ljava/lang/Boolean;)Ljava/lang/Boolean; net/minecraft/util/ChatStyle/access$402 (Lnet/minecraft/util/ChatStyle;Ljava/lang/Boolean;)Ljava/lang/Boolean; +MD: hv/e (Ljava/lang/Boolean;)Lhv; net/minecraft/util/ChatStyle/func_150237_e (Ljava/lang/Boolean;)Lnet/minecraft/util/ChatStyle; +MD: hv/equals (Ljava/lang/Object;)Z net/minecraft/util/ChatStyle/equals (Ljava/lang/Object;)Z +MD: hv/f ()Z net/minecraft/util/ChatStyle/func_150233_f ()Z +MD: hv/f (Lhv;)Ljava/lang/Boolean; net/minecraft/util/ChatStyle/access$400 (Lnet/minecraft/util/ChatStyle;)Ljava/lang/Boolean; +MD: hv/g ()Z net/minecraft/util/ChatStyle/func_150229_g ()Z +MD: hv/g (Lhv;)La; net/minecraft/util/ChatStyle/access$500 (Lnet/minecraft/util/ChatStyle;)Lnet/minecraft/util/EnumChatFormatting; +MD: hv/h ()Lhm; net/minecraft/util/ChatStyle/func_150235_h ()Lnet/minecraft/event/ClickEvent; +MD: hv/h (Lhv;)Ljava/lang/String; net/minecraft/util/ChatStyle/access$600 (Lnet/minecraft/util/ChatStyle;)Ljava/lang/String; +MD: hv/hashCode ()I net/minecraft/util/ChatStyle/hashCode ()I +MD: hv/i ()Lhr; net/minecraft/util/ChatStyle/func_150210_i ()Lnet/minecraft/event/HoverEvent; +MD: hv/i (Lhv;)Lhm; net/minecraft/util/ChatStyle/access$700 (Lnet/minecraft/util/ChatStyle;)Lnet/minecraft/event/ClickEvent; +MD: hv/j ()Ljava/lang/String; net/minecraft/util/ChatStyle/func_179986_j ()Ljava/lang/String; +MD: hv/j (Lhv;)Lhr; net/minecraft/util/ChatStyle/access$800 (Lnet/minecraft/util/ChatStyle;)Lnet/minecraft/event/HoverEvent; +MD: hv/k ()Ljava/lang/String; net/minecraft/util/ChatStyle/func_150218_j ()Ljava/lang/String; +MD: hv/m ()Lhv; net/minecraft/util/ChatStyle/func_150232_l ()Lnet/minecraft/util/ChatStyle; +MD: hv/n ()Lhv; net/minecraft/util/ChatStyle/func_150206_m ()Lnet/minecraft/util/ChatStyle; +MD: hv/o ()Lhv; net/minecraft/util/ChatStyle/func_150224_n ()Lnet/minecraft/util/ChatStyle; +MD: hv/toString ()Ljava/lang/String; net/minecraft/util/ChatStyle/toString ()Ljava/lang/String; +MD: hw/a ()La; net/minecraft/util/ChatStyle$1/func_150215_a ()Lnet/minecraft/util/EnumChatFormatting; +MD: hw/a (La;)Lhv; net/minecraft/util/ChatStyle$1/func_150238_a (Lnet/minecraft/util/EnumChatFormatting;)Lnet/minecraft/util/ChatStyle; +MD: hw/a (Lhm;)Lhv; net/minecraft/util/ChatStyle$1/func_150241_a (Lnet/minecraft/event/ClickEvent;)Lnet/minecraft/util/ChatStyle; +MD: hw/a (Lhr;)Lhv; net/minecraft/util/ChatStyle$1/func_150209_a (Lnet/minecraft/event/HoverEvent;)Lnet/minecraft/util/ChatStyle; +MD: hw/a (Lhv;)Lhv; net/minecraft/util/ChatStyle$1/func_150221_a (Lnet/minecraft/util/ChatStyle;)Lnet/minecraft/util/ChatStyle; +MD: hw/a (Ljava/lang/Boolean;)Lhv; net/minecraft/util/ChatStyle$1/func_150227_a (Ljava/lang/Boolean;)Lnet/minecraft/util/ChatStyle; +MD: hw/b ()Z net/minecraft/util/ChatStyle$1/func_150223_b ()Z +MD: hw/b (Ljava/lang/Boolean;)Lhv; net/minecraft/util/ChatStyle$1/func_150217_b (Ljava/lang/Boolean;)Lnet/minecraft/util/ChatStyle; +MD: hw/c ()Z net/minecraft/util/ChatStyle$1/func_150242_c ()Z +MD: hw/c (Ljava/lang/Boolean;)Lhv; net/minecraft/util/ChatStyle$1/func_150225_c (Ljava/lang/Boolean;)Lnet/minecraft/util/ChatStyle; +MD: hw/d ()Z net/minecraft/util/ChatStyle$1/func_150236_d ()Z +MD: hw/d (Ljava/lang/Boolean;)Lhv; net/minecraft/util/ChatStyle$1/func_150228_d (Ljava/lang/Boolean;)Lnet/minecraft/util/ChatStyle; +MD: hw/e ()Z net/minecraft/util/ChatStyle$1/func_150234_e ()Z +MD: hw/e (Ljava/lang/Boolean;)Lhv; net/minecraft/util/ChatStyle$1/func_150237_e (Ljava/lang/Boolean;)Lnet/minecraft/util/ChatStyle; +MD: hw/f ()Z net/minecraft/util/ChatStyle$1/func_150233_f ()Z +MD: hw/h ()Lhm; net/minecraft/util/ChatStyle$1/func_150235_h ()Lnet/minecraft/event/ClickEvent; +MD: hw/i ()Lhr; net/minecraft/util/ChatStyle$1/func_150210_i ()Lnet/minecraft/event/HoverEvent; +MD: hw/j ()Ljava/lang/String; net/minecraft/util/ChatStyle$1/func_179986_j ()Ljava/lang/String; +MD: hw/k ()Ljava/lang/String; net/minecraft/util/ChatStyle$1/func_150218_j ()Ljava/lang/String; +MD: hw/m ()Lhv; net/minecraft/util/ChatStyle$1/func_150232_l ()Lnet/minecraft/util/ChatStyle; +MD: hw/n ()Lhv; net/minecraft/util/ChatStyle$1/func_150206_m ()Lnet/minecraft/util/ChatStyle; +MD: hw/toString ()Ljava/lang/String; net/minecraft/util/ChatStyle$1/toString ()Ljava/lang/String; +MD: hx/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lhv; net/minecraft/util/ChatStyle$Serializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/util/ChatStyle; +MD: hx/a (Lhv;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/util/ChatStyle$Serializer/serialize (Lnet/minecraft/util/ChatStyle;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: hx/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/util/ChatStyle$Serializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: hx/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/util/ChatStyle$Serializer/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: hy/e ()Ljava/lang/String; net/minecraft/util/ChatComponentText/func_150261_e ()Ljava/lang/String; +MD: hy/equals (Ljava/lang/Object;)Z net/minecraft/util/ChatComponentText/equals (Ljava/lang/Object;)Z +MD: hy/f ()Lho; net/minecraft/util/ChatComponentText/func_150259_f ()Lnet/minecraft/util/IChatComponent; +MD: hy/g ()Ljava/lang/String; net/minecraft/util/ChatComponentText/func_150265_g ()Ljava/lang/String; +MD: hy/h ()Lhy; net/minecraft/util/ChatComponentText/func_150259_f ()Lnet/minecraft/util/ChatComponentText; +MD: hy/toString ()Ljava/lang/String; net/minecraft/util/ChatComponentText/toString ()Ljava/lang/String; +MD: hz/a (I)Lho; net/minecraft/util/ChatComponentTranslation/func_150272_a (I)Lnet/minecraft/util/IChatComponent; +MD: hz/a (Lhv;)Lho; net/minecraft/util/ChatComponentTranslation/func_150255_a (Lnet/minecraft/util/ChatStyle;)Lnet/minecraft/util/IChatComponent; +MD: hz/b (Ljava/lang/String;)V net/minecraft/util/ChatComponentTranslation/func_150269_b (Ljava/lang/String;)V +MD: hz/e ()Ljava/lang/String; net/minecraft/util/ChatComponentTranslation/func_150261_e ()Ljava/lang/String; +MD: hz/equals (Ljava/lang/Object;)Z net/minecraft/util/ChatComponentTranslation/equals (Ljava/lang/Object;)Z +MD: hz/f ()Lho; net/minecraft/util/ChatComponentTranslation/func_150259_f ()Lnet/minecraft/util/IChatComponent; +MD: hz/g ()V net/minecraft/util/ChatComponentTranslation/func_150270_g ()V +MD: hz/h ()Lhz; net/minecraft/util/ChatComponentTranslation/func_150259_f ()Lnet/minecraft/util/ChatComponentTranslation; +MD: hz/hashCode ()I net/minecraft/util/ChatComponentTranslation/hashCode ()I +MD: hz/i ()Ljava/lang/String; net/minecraft/util/ChatComponentTranslation/func_150268_i ()Ljava/lang/String; +MD: hz/iterator ()Ljava/util/Iterator; net/minecraft/util/ChatComponentTranslation/iterator ()Ljava/util/Iterator; +MD: hz/j ()[Ljava/lang/Object; net/minecraft/util/ChatComponentTranslation/func_150271_j ()[Ljava/lang/Object; +MD: hz/toString ()Ljava/lang/String; net/minecraft/util/ChatComponentTranslation/toString ()Ljava/lang/String; +MD: i/a ()Ljava/lang/String; net/minecraft/crash/CrashReport$7/call ()Ljava/lang/String; +MD: i/call ()Ljava/lang/Object; net/minecraft/crash/CrashReport$7/call ()Ljava/lang/Object; +MD: id/a (Lhd;)V net/minecraft/network/Packet/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: id/a (Lhg;)V net/minecraft/network/Packet/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: id/b (Lhd;)V net/minecraft/network/Packet/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ie/values ()[Lie; net/minecraft/network/EnumPacketDirection/values ()[Lnet/minecraft/network/EnumPacketDirection; +MD: ig/a (Lid;Lhg;Lvn;)V net/minecraft/network/PacketThreadUtil/func_180031_a (Lnet/minecraft/network/Packet;Lnet/minecraft/network/INetHandler;Lnet/minecraft/util/IThreadListener;)V +MD: ih/run ()V net/minecraft/network/PacketThreadUtil$1/run ()V +MD: ii/a ()D net/minecraft/network/play/server/S08PacketPlayerPosLook/func_148932_c ()D +MD: ii/a (Lhd;)V net/minecraft/network/play/server/S08PacketPlayerPosLook/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ii/a (Lhg;)V net/minecraft/network/play/server/S08PacketPlayerPosLook/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ii/a (Lik;)V net/minecraft/network/play/server/S08PacketPlayerPosLook/func_180718_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ii/b ()D net/minecraft/network/play/server/S08PacketPlayerPosLook/func_148928_d ()D +MD: ii/b (Lhd;)V net/minecraft/network/play/server/S08PacketPlayerPosLook/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ii/c ()D net/minecraft/network/play/server/S08PacketPlayerPosLook/func_148933_e ()D +MD: ii/d ()F net/minecraft/network/play/server/S08PacketPlayerPosLook/func_148931_f ()F +MD: ii/e ()F net/minecraft/network/play/server/S08PacketPlayerPosLook/func_148930_g ()F +MD: ii/f ()Ljava/util/Set; net/minecraft/network/play/server/S08PacketPlayerPosLook/func_179834_f ()Ljava/util/Set; +MD: ij/a ()I net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags/func_180055_a ()I +MD: ij/a (I)Ljava/util/Set; net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags/func_180053_a (I)Ljava/util/Set; +MD: ij/a (Ljava/util/Set;)I net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags/func_180056_a (Ljava/util/Set;)I +MD: ij/b (I)Z net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags/func_180054_b (I)Z +MD: ij/values ()[Lij; net/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags/values ()[Lnet/minecraft/network/play/server/S08PacketPlayerPosLook$EnumFlags; +MD: ik/a (Lii;)V net/minecraft/network/play/INetHandlerPlayClient/func_147258_a (Lnet/minecraft/network/play/server/S08PacketPlayerPosLook;)V +MD: ik/a (Lil;)V net/minecraft/network/play/INetHandlerPlayClient/func_147235_a (Lnet/minecraft/network/play/server/S0EPacketSpawnObject;)V +MD: ik/a (Lim;)V net/minecraft/network/play/INetHandlerPlayClient/func_147286_a (Lnet/minecraft/network/play/server/S11PacketSpawnExperienceOrb;)V +MD: ik/a (Lin;)V net/minecraft/network/play/INetHandlerPlayClient/func_147292_a (Lnet/minecraft/network/play/server/S2CPacketSpawnGlobalEntity;)V +MD: ik/a (Lio;)V net/minecraft/network/play/INetHandlerPlayClient/func_147281_a (Lnet/minecraft/network/play/server/S0FPacketSpawnMob;)V +MD: ik/a (Lip;)V net/minecraft/network/play/INetHandlerPlayClient/func_147288_a (Lnet/minecraft/network/play/server/S10PacketSpawnPainting;)V +MD: ik/a (Liq;)V net/minecraft/network/play/INetHandlerPlayClient/func_147237_a (Lnet/minecraft/network/play/server/S0CPacketSpawnPlayer;)V +MD: ik/a (Lir;)V net/minecraft/network/play/INetHandlerPlayClient/func_147279_a (Lnet/minecraft/network/play/server/S0BPacketAnimation;)V +MD: ik/a (Lis;)V net/minecraft/network/play/INetHandlerPlayClient/func_147293_a (Lnet/minecraft/network/play/server/S37PacketStatistics;)V +MD: ik/a (Lit;)V net/minecraft/network/play/INetHandlerPlayClient/func_147294_a (Lnet/minecraft/network/play/server/S25PacketBlockBreakAnim;)V +MD: ik/a (Liu;)V net/minecraft/network/play/INetHandlerPlayClient/func_147273_a (Lnet/minecraft/network/play/server/S35PacketUpdateTileEntity;)V +MD: ik/a (Liv;)V net/minecraft/network/play/INetHandlerPlayClient/func_147261_a (Lnet/minecraft/network/play/server/S24PacketBlockAction;)V +MD: ik/a (Liw;)V net/minecraft/network/play/INetHandlerPlayClient/func_147234_a (Lnet/minecraft/network/play/server/S23PacketBlockChange;)V +MD: ik/a (Lix;)V net/minecraft/network/play/INetHandlerPlayClient/func_175101_a (Lnet/minecraft/network/play/server/S41PacketServerDifficulty;)V +MD: ik/a (Liy;)V net/minecraft/network/play/INetHandlerPlayClient/func_147274_a (Lnet/minecraft/network/play/server/S3APacketTabComplete;)V +MD: ik/a (Liz;)V net/minecraft/network/play/INetHandlerPlayClient/func_147251_a (Lnet/minecraft/network/play/server/S02PacketChat;)V +MD: ik/a (Lja;)V net/minecraft/network/play/INetHandlerPlayClient/func_147287_a (Lnet/minecraft/network/play/server/S22PacketMultiBlockChange;)V +MD: ik/a (Ljc;)V net/minecraft/network/play/INetHandlerPlayClient/func_147239_a (Lnet/minecraft/network/play/server/S32PacketConfirmTransaction;)V +MD: ik/a (Ljd;)V net/minecraft/network/play/INetHandlerPlayClient/func_147276_a (Lnet/minecraft/network/play/server/S2EPacketCloseWindow;)V +MD: ik/a (Lje;)V net/minecraft/network/play/INetHandlerPlayClient/func_147265_a (Lnet/minecraft/network/play/server/S2DPacketOpenWindow;)V +MD: ik/a (Ljf;)V net/minecraft/network/play/INetHandlerPlayClient/func_147241_a (Lnet/minecraft/network/play/server/S30PacketWindowItems;)V +MD: ik/a (Ljg;)V net/minecraft/network/play/INetHandlerPlayClient/func_147245_a (Lnet/minecraft/network/play/server/S31PacketWindowProperty;)V +MD: ik/a (Ljh;)V net/minecraft/network/play/INetHandlerPlayClient/func_147266_a (Lnet/minecraft/network/play/server/S2FPacketSetSlot;)V +MD: ik/a (Lji;)V net/minecraft/network/play/INetHandlerPlayClient/func_147240_a (Lnet/minecraft/network/play/server/S3FPacketCustomPayload;)V +MD: ik/a (Ljj;)V net/minecraft/network/play/INetHandlerPlayClient/func_147253_a (Lnet/minecraft/network/play/server/S40PacketDisconnect;)V +MD: ik/a (Ljk;)V net/minecraft/network/play/INetHandlerPlayClient/func_147236_a (Lnet/minecraft/network/play/server/S19PacketEntityStatus;)V +MD: ik/a (Ljl;)V net/minecraft/network/play/INetHandlerPlayClient/func_175097_a (Lnet/minecraft/network/play/server/S49PacketUpdateEntityNBT;)V +MD: ik/a (Ljm;)V net/minecraft/network/play/INetHandlerPlayClient/func_147283_a (Lnet/minecraft/network/play/server/S27PacketExplosion;)V +MD: ik/a (Ljn;)V net/minecraft/network/play/INetHandlerPlayClient/func_175100_a (Lnet/minecraft/network/play/server/S46PacketSetCompressionLevel;)V +MD: ik/a (Ljo;)V net/minecraft/network/play/INetHandlerPlayClient/func_147252_a (Lnet/minecraft/network/play/server/S2BPacketChangeGameState;)V +MD: ik/a (Ljp;)V net/minecraft/network/play/INetHandlerPlayClient/func_147272_a (Lnet/minecraft/network/play/server/S00PacketKeepAlive;)V +MD: ik/a (Ljq;)V net/minecraft/network/play/INetHandlerPlayClient/func_147263_a (Lnet/minecraft/network/play/server/S21PacketChunkData;)V +MD: ik/a (Ljs;)V net/minecraft/network/play/INetHandlerPlayClient/func_147269_a (Lnet/minecraft/network/play/server/S26PacketMapChunkBulk;)V +MD: ik/a (Ljt;)V net/minecraft/network/play/INetHandlerPlayClient/func_147277_a (Lnet/minecraft/network/play/server/S28PacketEffect;)V +MD: ik/a (Lju;)V net/minecraft/network/play/INetHandlerPlayClient/func_147289_a (Lnet/minecraft/network/play/server/S2APacketParticles;)V +MD: ik/a (Ljv;)V net/minecraft/network/play/INetHandlerPlayClient/func_147255_a (Lnet/minecraft/network/play/server/S29PacketSoundEffect;)V +MD: ik/a (Ljw;)V net/minecraft/network/play/INetHandlerPlayClient/func_147282_a (Lnet/minecraft/network/play/server/S01PacketJoinGame;)V +MD: ik/a (Ljx;)V net/minecraft/network/play/INetHandlerPlayClient/func_147264_a (Lnet/minecraft/network/play/server/S34PacketMaps;)V +MD: ik/a (Ljy;)V net/minecraft/network/play/INetHandlerPlayClient/func_147259_a (Lnet/minecraft/network/play/server/S14PacketEntity;)V +MD: ik/a (Lkc;)V net/minecraft/network/play/INetHandlerPlayClient/func_147268_a (Lnet/minecraft/network/play/server/S36PacketSignEditorOpen;)V +MD: ik/a (Lkd;)V net/minecraft/network/play/INetHandlerPlayClient/func_147270_a (Lnet/minecraft/network/play/server/S39PacketPlayerAbilities;)V +MD: ik/a (Lke;)V net/minecraft/network/play/INetHandlerPlayClient/func_175098_a (Lnet/minecraft/network/play/server/S42PacketCombatEvent;)V +MD: ik/a (Lkh;)V net/minecraft/network/play/INetHandlerPlayClient/func_147256_a (Lnet/minecraft/network/play/server/S38PacketPlayerListItem;)V +MD: ik/a (Lkl;)V net/minecraft/network/play/INetHandlerPlayClient/func_147278_a (Lnet/minecraft/network/play/server/S0APacketUseBed;)V +MD: ik/a (Lkm;)V net/minecraft/network/play/INetHandlerPlayClient/func_147238_a (Lnet/minecraft/network/play/server/S13PacketDestroyEntities;)V +MD: ik/a (Lkn;)V net/minecraft/network/play/INetHandlerPlayClient/func_147262_a (Lnet/minecraft/network/play/server/S1EPacketRemoveEntityEffect;)V +MD: ik/a (Lko;)V net/minecraft/network/play/INetHandlerPlayClient/func_175095_a (Lnet/minecraft/network/play/server/S48PacketResourcePackSend;)V +MD: ik/a (Lkp;)V net/minecraft/network/play/INetHandlerPlayClient/func_147280_a (Lnet/minecraft/network/play/server/S07PacketRespawn;)V +MD: ik/a (Lkq;)V net/minecraft/network/play/INetHandlerPlayClient/func_147267_a (Lnet/minecraft/network/play/server/S19PacketEntityHeadLook;)V +MD: ik/a (Lkr;)V net/minecraft/network/play/INetHandlerPlayClient/func_175093_a (Lnet/minecraft/network/play/server/S44PacketWorldBorder;)V +MD: ik/a (Lku;)V net/minecraft/network/play/INetHandlerPlayClient/func_175094_a (Lnet/minecraft/network/play/server/S43PacketCamera;)V +MD: ik/a (Lkv;)V net/minecraft/network/play/INetHandlerPlayClient/func_147257_a (Lnet/minecraft/network/play/server/S09PacketHeldItemChange;)V +MD: ik/a (Lkw;)V net/minecraft/network/play/INetHandlerPlayClient/func_147254_a (Lnet/minecraft/network/play/server/S3DPacketDisplayScoreboard;)V +MD: ik/a (Lkx;)V net/minecraft/network/play/INetHandlerPlayClient/func_147284_a (Lnet/minecraft/network/play/server/S1CPacketEntityMetadata;)V +MD: ik/a (Lky;)V net/minecraft/network/play/INetHandlerPlayClient/func_147243_a (Lnet/minecraft/network/play/server/S1BPacketEntityAttach;)V +MD: ik/a (Lkz;)V net/minecraft/network/play/INetHandlerPlayClient/func_147244_a (Lnet/minecraft/network/play/server/S12PacketEntityVelocity;)V +MD: ik/a (Lla;)V net/minecraft/network/play/INetHandlerPlayClient/func_147242_a (Lnet/minecraft/network/play/server/S04PacketEntityEquipment;)V +MD: ik/a (Llb;)V net/minecraft/network/play/INetHandlerPlayClient/func_147295_a (Lnet/minecraft/network/play/server/S1FPacketSetExperience;)V +MD: ik/a (Llc;)V net/minecraft/network/play/INetHandlerPlayClient/func_147249_a (Lnet/minecraft/network/play/server/S06PacketUpdateHealth;)V +MD: ik/a (Lld;)V net/minecraft/network/play/INetHandlerPlayClient/func_147291_a (Lnet/minecraft/network/play/server/S3BPacketScoreboardObjective;)V +MD: ik/a (Lle;)V net/minecraft/network/play/INetHandlerPlayClient/func_147247_a (Lnet/minecraft/network/play/server/S3EPacketTeams;)V +MD: ik/a (Llf;)V net/minecraft/network/play/INetHandlerPlayClient/func_147250_a (Lnet/minecraft/network/play/server/S3CPacketUpdateScore;)V +MD: ik/a (Llh;)V net/minecraft/network/play/INetHandlerPlayClient/func_147271_a (Lnet/minecraft/network/play/server/S05PacketSpawnPosition;)V +MD: ik/a (Lli;)V net/minecraft/network/play/INetHandlerPlayClient/func_147285_a (Lnet/minecraft/network/play/server/S03PacketTimeUpdate;)V +MD: ik/a (Llj;)V net/minecraft/network/play/INetHandlerPlayClient/func_175099_a (Lnet/minecraft/network/play/server/S45PacketTitle;)V +MD: ik/a (Lll;)V net/minecraft/network/play/INetHandlerPlayClient/func_147248_a (Lnet/minecraft/network/play/server/S33PacketUpdateSign;)V +MD: ik/a (Llm;)V net/minecraft/network/play/INetHandlerPlayClient/func_175096_a (Lnet/minecraft/network/play/server/S47PacketPlayerListHeaderFooter;)V +MD: ik/a (Lln;)V net/minecraft/network/play/INetHandlerPlayClient/func_147246_a (Lnet/minecraft/network/play/server/S0DPacketCollectItem;)V +MD: ik/a (Llo;)V net/minecraft/network/play/INetHandlerPlayClient/func_147275_a (Lnet/minecraft/network/play/server/S18PacketEntityTeleport;)V +MD: ik/a (Llp;)V net/minecraft/network/play/INetHandlerPlayClient/func_147290_a (Lnet/minecraft/network/play/server/S20PacketEntityProperties;)V +MD: ik/a (Llr;)V net/minecraft/network/play/INetHandlerPlayClient/func_147260_a (Lnet/minecraft/network/play/server/S1DPacketEntityEffect;)V +MD: il/a ()I net/minecraft/network/play/server/S0EPacketSpawnObject/func_149001_c ()I +MD: il/a (I)V net/minecraft/network/play/server/S0EPacketSpawnObject/func_148996_a (I)V +MD: il/a (Lhd;)V net/minecraft/network/play/server/S0EPacketSpawnObject/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: il/a (Lhg;)V net/minecraft/network/play/server/S0EPacketSpawnObject/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: il/a (Lik;)V net/minecraft/network/play/server/S0EPacketSpawnObject/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: il/b ()I net/minecraft/network/play/server/S0EPacketSpawnObject/func_148997_d ()I +MD: il/b (I)V net/minecraft/network/play/server/S0EPacketSpawnObject/func_148995_b (I)V +MD: il/b (Lhd;)V net/minecraft/network/play/server/S0EPacketSpawnObject/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: il/c ()I net/minecraft/network/play/server/S0EPacketSpawnObject/func_148998_e ()I +MD: il/c (I)V net/minecraft/network/play/server/S0EPacketSpawnObject/func_149005_c (I)V +MD: il/d ()I net/minecraft/network/play/server/S0EPacketSpawnObject/func_148994_f ()I +MD: il/d (I)V net/minecraft/network/play/server/S0EPacketSpawnObject/func_149003_d (I)V +MD: il/e ()I net/minecraft/network/play/server/S0EPacketSpawnObject/func_149010_g ()I +MD: il/e (I)V net/minecraft/network/play/server/S0EPacketSpawnObject/func_149000_e (I)V +MD: il/f ()I net/minecraft/network/play/server/S0EPacketSpawnObject/func_149004_h ()I +MD: il/f (I)V net/minecraft/network/play/server/S0EPacketSpawnObject/func_149007_f (I)V +MD: il/g ()I net/minecraft/network/play/server/S0EPacketSpawnObject/func_148999_i ()I +MD: il/g (I)V net/minecraft/network/play/server/S0EPacketSpawnObject/func_149002_g (I)V +MD: il/h ()I net/minecraft/network/play/server/S0EPacketSpawnObject/func_149008_j ()I +MD: il/i ()I net/minecraft/network/play/server/S0EPacketSpawnObject/func_149006_k ()I +MD: il/j ()I net/minecraft/network/play/server/S0EPacketSpawnObject/func_148993_l ()I +MD: il/k ()I net/minecraft/network/play/server/S0EPacketSpawnObject/func_149009_m ()I +MD: im/a ()I net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/func_148985_c ()I +MD: im/a (Lhd;)V net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: im/a (Lhg;)V net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: im/a (Lik;)V net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/func_180719_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: im/b ()I net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/func_148984_d ()I +MD: im/b (Lhd;)V net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: im/c ()I net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/func_148983_e ()I +MD: im/d ()I net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/func_148982_f ()I +MD: im/e ()I net/minecraft/network/play/server/S11PacketSpawnExperienceOrb/func_148986_g ()I +MD: in/a ()I net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/func_149052_c ()I +MD: in/a (Lhd;)V net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: in/a (Lhg;)V net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: in/a (Lik;)V net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/func_180720_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: in/b ()I net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/func_149051_d ()I +MD: in/b (Lhd;)V net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: in/c ()I net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/func_149050_e ()I +MD: in/d ()I net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/func_149049_f ()I +MD: in/e ()I net/minecraft/network/play/server/S2CPacketSpawnGlobalEntity/func_149053_g ()I +MD: io/a ()Ljava/util/List; net/minecraft/network/play/server/S0FPacketSpawnMob/func_149027_c ()Ljava/util/List; +MD: io/a (Lhd;)V net/minecraft/network/play/server/S0FPacketSpawnMob/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: io/a (Lhg;)V net/minecraft/network/play/server/S0FPacketSpawnMob/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: io/a (Lik;)V net/minecraft/network/play/server/S0FPacketSpawnMob/func_180721_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: io/b ()I net/minecraft/network/play/server/S0FPacketSpawnMob/func_149024_d ()I +MD: io/b (Lhd;)V net/minecraft/network/play/server/S0FPacketSpawnMob/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: io/c ()I net/minecraft/network/play/server/S0FPacketSpawnMob/func_149025_e ()I +MD: io/d ()I net/minecraft/network/play/server/S0FPacketSpawnMob/func_149023_f ()I +MD: io/e ()I net/minecraft/network/play/server/S0FPacketSpawnMob/func_149034_g ()I +MD: io/f ()I net/minecraft/network/play/server/S0FPacketSpawnMob/func_149029_h ()I +MD: io/g ()I net/minecraft/network/play/server/S0FPacketSpawnMob/func_149026_i ()I +MD: io/h ()I net/minecraft/network/play/server/S0FPacketSpawnMob/func_149033_j ()I +MD: io/i ()I net/minecraft/network/play/server/S0FPacketSpawnMob/func_149031_k ()I +MD: io/j ()B net/minecraft/network/play/server/S0FPacketSpawnMob/func_149028_l ()B +MD: io/k ()B net/minecraft/network/play/server/S0FPacketSpawnMob/func_149030_m ()B +MD: io/l ()B net/minecraft/network/play/server/S0FPacketSpawnMob/func_149032_n ()B +MD: ip/a ()I net/minecraft/network/play/server/S10PacketSpawnPainting/func_148965_c ()I +MD: ip/a (Lhd;)V net/minecraft/network/play/server/S10PacketSpawnPainting/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ip/a (Lhg;)V net/minecraft/network/play/server/S10PacketSpawnPainting/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ip/a (Lik;)V net/minecraft/network/play/server/S10PacketSpawnPainting/func_180722_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ip/b ()Ldt; net/minecraft/network/play/server/S10PacketSpawnPainting/func_179837_b ()Lnet/minecraft/util/BlockPos; +MD: ip/b (Lhd;)V net/minecraft/network/play/server/S10PacketSpawnPainting/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ip/c ()Lej; net/minecraft/network/play/server/S10PacketSpawnPainting/func_179836_c ()Lnet/minecraft/util/EnumFacing; +MD: ip/d ()Ljava/lang/String; net/minecraft/network/play/server/S10PacketSpawnPainting/func_148961_h ()Ljava/lang/String; +MD: iq/a ()Ljava/util/List; net/minecraft/network/play/server/S0CPacketSpawnPlayer/func_148944_c ()Ljava/util/List; +MD: iq/a (Lhd;)V net/minecraft/network/play/server/S0CPacketSpawnPlayer/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: iq/a (Lhg;)V net/minecraft/network/play/server/S0CPacketSpawnPlayer/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: iq/a (Lik;)V net/minecraft/network/play/server/S0CPacketSpawnPlayer/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: iq/b ()I net/minecraft/network/play/server/S0CPacketSpawnPlayer/func_148943_d ()I +MD: iq/b (Lhd;)V net/minecraft/network/play/server/S0CPacketSpawnPlayer/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: iq/c ()Ljava/util/UUID; net/minecraft/network/play/server/S0CPacketSpawnPlayer/func_179819_c ()Ljava/util/UUID; +MD: iq/d ()I net/minecraft/network/play/server/S0CPacketSpawnPlayer/func_148942_f ()I +MD: iq/e ()I net/minecraft/network/play/server/S0CPacketSpawnPlayer/func_148949_g ()I +MD: iq/f ()I net/minecraft/network/play/server/S0CPacketSpawnPlayer/func_148946_h ()I +MD: iq/g ()B net/minecraft/network/play/server/S0CPacketSpawnPlayer/func_148941_i ()B +MD: iq/h ()B net/minecraft/network/play/server/S0CPacketSpawnPlayer/func_148945_j ()B +MD: iq/i ()I net/minecraft/network/play/server/S0CPacketSpawnPlayer/func_148947_k ()I +MD: ir/a ()I net/minecraft/network/play/server/S0BPacketAnimation/func_148978_c ()I +MD: ir/a (Lhd;)V net/minecraft/network/play/server/S0BPacketAnimation/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ir/a (Lhg;)V net/minecraft/network/play/server/S0BPacketAnimation/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ir/a (Lik;)V net/minecraft/network/play/server/S0BPacketAnimation/func_180723_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ir/b ()I net/minecraft/network/play/server/S0BPacketAnimation/func_148977_d ()I +MD: ir/b (Lhd;)V net/minecraft/network/play/server/S0BPacketAnimation/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: is/a ()Ljava/util/Map; net/minecraft/network/play/server/S37PacketStatistics/func_148974_c ()Ljava/util/Map; +MD: is/a (Lhd;)V net/minecraft/network/play/server/S37PacketStatistics/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: is/a (Lhg;)V net/minecraft/network/play/server/S37PacketStatistics/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: is/a (Lik;)V net/minecraft/network/play/server/S37PacketStatistics/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: is/b (Lhd;)V net/minecraft/network/play/server/S37PacketStatistics/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: it/a ()I net/minecraft/network/play/server/S25PacketBlockBreakAnim/func_148845_c ()I +MD: it/a (Lhd;)V net/minecraft/network/play/server/S25PacketBlockBreakAnim/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: it/a (Lhg;)V net/minecraft/network/play/server/S25PacketBlockBreakAnim/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: it/a (Lik;)V net/minecraft/network/play/server/S25PacketBlockBreakAnim/func_180724_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: it/b ()Ldt; net/minecraft/network/play/server/S25PacketBlockBreakAnim/func_179821_b ()Lnet/minecraft/util/BlockPos; +MD: it/b (Lhd;)V net/minecraft/network/play/server/S25PacketBlockBreakAnim/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: it/c ()I net/minecraft/network/play/server/S25PacketBlockBreakAnim/func_148846_g ()I +MD: iu/a ()Ldt; net/minecraft/network/play/server/S35PacketUpdateTileEntity/func_179823_a ()Lnet/minecraft/util/BlockPos; +MD: iu/a (Lhd;)V net/minecraft/network/play/server/S35PacketUpdateTileEntity/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: iu/a (Lhg;)V net/minecraft/network/play/server/S35PacketUpdateTileEntity/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: iu/a (Lik;)V net/minecraft/network/play/server/S35PacketUpdateTileEntity/func_180725_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: iu/b ()I net/minecraft/network/play/server/S35PacketUpdateTileEntity/func_148853_f ()I +MD: iu/b (Lhd;)V net/minecraft/network/play/server/S35PacketUpdateTileEntity/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: iu/c ()Lfn; net/minecraft/network/play/server/S35PacketUpdateTileEntity/func_148857_g ()Lnet/minecraft/nbt/NBTTagCompound; +MD: iv/a ()Ldt; net/minecraft/network/play/server/S24PacketBlockAction/func_179825_a ()Lnet/minecraft/util/BlockPos; +MD: iv/a (Lhd;)V net/minecraft/network/play/server/S24PacketBlockAction/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: iv/a (Lhg;)V net/minecraft/network/play/server/S24PacketBlockAction/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: iv/a (Lik;)V net/minecraft/network/play/server/S24PacketBlockAction/func_180726_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: iv/b ()I net/minecraft/network/play/server/S24PacketBlockAction/func_148869_g ()I +MD: iv/b (Lhd;)V net/minecraft/network/play/server/S24PacketBlockAction/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: iv/c ()I net/minecraft/network/play/server/S24PacketBlockAction/func_148864_h ()I +MD: iv/d ()Latr; net/minecraft/network/play/server/S24PacketBlockAction/func_148868_c ()Lnet/minecraft/block/Block; +MD: iw/a ()Lbec; net/minecraft/network/play/server/S23PacketBlockChange/func_180728_a ()Lnet/minecraft/block/state/IBlockState; +MD: iw/a (Lhd;)V net/minecraft/network/play/server/S23PacketBlockChange/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: iw/a (Lhg;)V net/minecraft/network/play/server/S23PacketBlockChange/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: iw/a (Lik;)V net/minecraft/network/play/server/S23PacketBlockChange/func_180727_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: iw/b ()Ldt; net/minecraft/network/play/server/S23PacketBlockChange/func_179827_b ()Lnet/minecraft/util/BlockPos; +MD: iw/b (Lhd;)V net/minecraft/network/play/server/S23PacketBlockChange/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ix/a ()Z net/minecraft/network/play/server/S41PacketServerDifficulty/func_179830_a ()Z +MD: ix/a (Lhd;)V net/minecraft/network/play/server/S41PacketServerDifficulty/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ix/a (Lhg;)V net/minecraft/network/play/server/S41PacketServerDifficulty/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ix/a (Lik;)V net/minecraft/network/play/server/S41PacketServerDifficulty/func_179829_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ix/b ()Lvt; net/minecraft/network/play/server/S41PacketServerDifficulty/func_179831_b ()Lnet/minecraft/world/EnumDifficulty; +MD: ix/b (Lhd;)V net/minecraft/network/play/server/S41PacketServerDifficulty/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: iy/a ()[Ljava/lang/String; net/minecraft/network/play/server/S3APacketTabComplete/func_149630_c ()[Ljava/lang/String; +MD: iy/a (Lhd;)V net/minecraft/network/play/server/S3APacketTabComplete/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: iy/a (Lhg;)V net/minecraft/network/play/server/S3APacketTabComplete/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: iy/a (Lik;)V net/minecraft/network/play/server/S3APacketTabComplete/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: iy/b (Lhd;)V net/minecraft/network/play/server/S3APacketTabComplete/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: iz/a ()Lho; net/minecraft/network/play/server/S02PacketChat/func_148915_c ()Lnet/minecraft/util/IChatComponent; +MD: iz/a (Lhd;)V net/minecraft/network/play/server/S02PacketChat/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: iz/a (Lhg;)V net/minecraft/network/play/server/S02PacketChat/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: iz/a (Lik;)V net/minecraft/network/play/server/S02PacketChat/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: iz/b ()Z net/minecraft/network/play/server/S02PacketChat/func_148916_d ()Z +MD: iz/b (Lhd;)V net/minecraft/network/play/server/S02PacketChat/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: iz/c ()B net/minecraft/network/play/server/S02PacketChat/func_179841_c ()B +MD: j/a ()[Ljava/lang/StackTraceElement; net/minecraft/crash/CrashReportCategory/func_147152_a ()[Ljava/lang/StackTraceElement; +MD: j/a (DDD)Ljava/lang/String; net/minecraft/crash/CrashReportCategory/func_85074_a (DDD)Ljava/lang/String; +MD: j/a (I)I net/minecraft/crash/CrashReportCategory/func_85073_a (I)I +MD: j/a (Ldt;)Ljava/lang/String; net/minecraft/crash/CrashReportCategory/func_180522_a (Lnet/minecraft/util/BlockPos;)Ljava/lang/String; +MD: j/a (Lj;Ldt;Latr;I)V net/minecraft/crash/CrashReportCategory/func_180523_a (Lnet/minecraft/crash/CrashReportCategory;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;I)V +MD: j/a (Lj;Ldt;Lbec;)V net/minecraft/crash/CrashReportCategory/func_175750_a (Lnet/minecraft/crash/CrashReportCategory;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)V +MD: j/a (Ljava/lang/StackTraceElement;Ljava/lang/StackTraceElement;)Z net/minecraft/crash/CrashReportCategory/func_85069_a (Ljava/lang/StackTraceElement;Ljava/lang/StackTraceElement;)Z +MD: j/a (Ljava/lang/String;Ljava/lang/Object;)V net/minecraft/crash/CrashReportCategory/func_71507_a (Ljava/lang/String;Ljava/lang/Object;)V +MD: j/a (Ljava/lang/String;Ljava/lang/Throwable;)V net/minecraft/crash/CrashReportCategory/func_71499_a (Ljava/lang/String;Ljava/lang/Throwable;)V +MD: j/a (Ljava/lang/String;Ljava/util/concurrent/Callable;)V net/minecraft/crash/CrashReportCategory/func_71500_a (Ljava/lang/String;Ljava/util/concurrent/Callable;)V +MD: j/a (Ljava/lang/StringBuilder;)V net/minecraft/crash/CrashReportCategory/func_85072_a (Ljava/lang/StringBuilder;)V +MD: j/b (I)V net/minecraft/crash/CrashReportCategory/func_85070_b (I)V +MD: ja/a ()[Ljb; net/minecraft/network/play/server/S22PacketMultiBlockChange/func_179844_a ()[Lnet/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData; +MD: ja/a (Lhd;)V net/minecraft/network/play/server/S22PacketMultiBlockChange/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ja/a (Lhg;)V net/minecraft/network/play/server/S22PacketMultiBlockChange/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ja/a (Lik;)V net/minecraft/network/play/server/S22PacketMultiBlockChange/func_180729_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ja/a (Lja;)Laqm; net/minecraft/network/play/server/S22PacketMultiBlockChange/access$000 (Lnet/minecraft/network/play/server/S22PacketMultiBlockChange;)Lnet/minecraft/world/ChunkCoordIntPair; +MD: ja/b (Lhd;)V net/minecraft/network/play/server/S22PacketMultiBlockChange/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jb/a ()Ldt; net/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData/func_180090_a ()Lnet/minecraft/util/BlockPos; +MD: jb/b ()S net/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData/func_180089_b ()S +MD: jb/c ()Lbec; net/minecraft/network/play/server/S22PacketMultiBlockChange$BlockUpdateData/func_180088_c ()Lnet/minecraft/block/state/IBlockState; +MD: jc/a ()I net/minecraft/network/play/server/S32PacketConfirmTransaction/func_148889_c ()I +MD: jc/a (Lhd;)V net/minecraft/network/play/server/S32PacketConfirmTransaction/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jc/a (Lhg;)V net/minecraft/network/play/server/S32PacketConfirmTransaction/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jc/a (Lik;)V net/minecraft/network/play/server/S32PacketConfirmTransaction/func_180730_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jc/b ()S net/minecraft/network/play/server/S32PacketConfirmTransaction/func_148890_d ()S +MD: jc/b (Lhd;)V net/minecraft/network/play/server/S32PacketConfirmTransaction/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jc/c ()Z net/minecraft/network/play/server/S32PacketConfirmTransaction/func_148888_e ()Z +MD: jd/a (Lhd;)V net/minecraft/network/play/server/S2EPacketCloseWindow/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jd/a (Lhg;)V net/minecraft/network/play/server/S2EPacketCloseWindow/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jd/a (Lik;)V net/minecraft/network/play/server/S2EPacketCloseWindow/func_180731_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jd/b (Lhd;)V net/minecraft/network/play/server/S2EPacketCloseWindow/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: je/a ()I net/minecraft/network/play/server/S2DPacketOpenWindow/func_148901_c ()I +MD: je/a (Lhd;)V net/minecraft/network/play/server/S2DPacketOpenWindow/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: je/a (Lhg;)V net/minecraft/network/play/server/S2DPacketOpenWindow/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: je/a (Lik;)V net/minecraft/network/play/server/S2DPacketOpenWindow/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: je/b ()Ljava/lang/String; net/minecraft/network/play/server/S2DPacketOpenWindow/func_148902_e ()Ljava/lang/String; +MD: je/b (Lhd;)V net/minecraft/network/play/server/S2DPacketOpenWindow/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: je/c ()Lho; net/minecraft/network/play/server/S2DPacketOpenWindow/func_179840_c ()Lnet/minecraft/util/IChatComponent; +MD: je/d ()I net/minecraft/network/play/server/S2DPacketOpenWindow/func_148898_f ()I +MD: je/e ()I net/minecraft/network/play/server/S2DPacketOpenWindow/func_148897_h ()I +MD: je/f ()Z net/minecraft/network/play/server/S2DPacketOpenWindow/func_148900_g ()Z +MD: jf/a ()I net/minecraft/network/play/server/S30PacketWindowItems/func_148911_c ()I +MD: jf/a (Lhd;)V net/minecraft/network/play/server/S30PacketWindowItems/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jf/a (Lhg;)V net/minecraft/network/play/server/S30PacketWindowItems/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jf/a (Lik;)V net/minecraft/network/play/server/S30PacketWindowItems/func_180732_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jf/b ()[Lamj; net/minecraft/network/play/server/S30PacketWindowItems/func_148910_d ()[Lnet/minecraft/item/ItemStack; +MD: jf/b (Lhd;)V net/minecraft/network/play/server/S30PacketWindowItems/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jg/a ()I net/minecraft/network/play/server/S31PacketWindowProperty/func_149182_c ()I +MD: jg/a (Lhd;)V net/minecraft/network/play/server/S31PacketWindowProperty/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jg/a (Lhg;)V net/minecraft/network/play/server/S31PacketWindowProperty/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jg/a (Lik;)V net/minecraft/network/play/server/S31PacketWindowProperty/func_180733_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jg/b ()I net/minecraft/network/play/server/S31PacketWindowProperty/func_149181_d ()I +MD: jg/b (Lhd;)V net/minecraft/network/play/server/S31PacketWindowProperty/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jg/c ()I net/minecraft/network/play/server/S31PacketWindowProperty/func_149180_e ()I +MD: jh/a ()I net/minecraft/network/play/server/S2FPacketSetSlot/func_149175_c ()I +MD: jh/a (Lhd;)V net/minecraft/network/play/server/S2FPacketSetSlot/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jh/a (Lhg;)V net/minecraft/network/play/server/S2FPacketSetSlot/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jh/a (Lik;)V net/minecraft/network/play/server/S2FPacketSetSlot/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jh/b ()I net/minecraft/network/play/server/S2FPacketSetSlot/func_149173_d ()I +MD: jh/b (Lhd;)V net/minecraft/network/play/server/S2FPacketSetSlot/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jh/c ()Lamj; net/minecraft/network/play/server/S2FPacketSetSlot/func_149174_e ()Lnet/minecraft/item/ItemStack; +MD: ji/a ()Ljava/lang/String; net/minecraft/network/play/server/S3FPacketCustomPayload/func_149169_c ()Ljava/lang/String; +MD: ji/a (Lhd;)V net/minecraft/network/play/server/S3FPacketCustomPayload/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ji/a (Lhg;)V net/minecraft/network/play/server/S3FPacketCustomPayload/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ji/a (Lik;)V net/minecraft/network/play/server/S3FPacketCustomPayload/func_180734_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ji/b ()Lhd; net/minecraft/network/play/server/S3FPacketCustomPayload/func_180735_b ()Lnet/minecraft/network/PacketBuffer; +MD: ji/b (Lhd;)V net/minecraft/network/play/server/S3FPacketCustomPayload/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jj/a ()Lho; net/minecraft/network/play/server/S40PacketDisconnect/func_149165_c ()Lnet/minecraft/util/IChatComponent; +MD: jj/a (Lhd;)V net/minecraft/network/play/server/S40PacketDisconnect/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jj/a (Lhg;)V net/minecraft/network/play/server/S40PacketDisconnect/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jj/a (Lik;)V net/minecraft/network/play/server/S40PacketDisconnect/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jj/b (Lhd;)V net/minecraft/network/play/server/S40PacketDisconnect/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jk/a ()B net/minecraft/network/play/server/S19PacketEntityStatus/func_149160_c ()B +MD: jk/a (Laqu;)Lwv; net/minecraft/network/play/server/S19PacketEntityStatus/func_149161_a (Lnet/minecraft/world/World;)Lnet/minecraft/entity/Entity; +MD: jk/a (Lhd;)V net/minecraft/network/play/server/S19PacketEntityStatus/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jk/a (Lhg;)V net/minecraft/network/play/server/S19PacketEntityStatus/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jk/a (Lik;)V net/minecraft/network/play/server/S19PacketEntityStatus/func_180736_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jk/b (Lhd;)V net/minecraft/network/play/server/S19PacketEntityStatus/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jl/a ()Lfn; net/minecraft/network/play/server/S49PacketUpdateEntityNBT/func_179763_a ()Lnet/minecraft/nbt/NBTTagCompound; +MD: jl/a (Laqu;)Lwv; net/minecraft/network/play/server/S49PacketUpdateEntityNBT/func_179764_a (Lnet/minecraft/world/World;)Lnet/minecraft/entity/Entity; +MD: jl/a (Lhd;)V net/minecraft/network/play/server/S49PacketUpdateEntityNBT/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jl/a (Lhg;)V net/minecraft/network/play/server/S49PacketUpdateEntityNBT/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jl/a (Lik;)V net/minecraft/network/play/server/S49PacketUpdateEntityNBT/func_179762_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jl/b (Lhd;)V net/minecraft/network/play/server/S49PacketUpdateEntityNBT/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jm/a ()F net/minecraft/network/play/server/S27PacketExplosion/func_149149_c ()F +MD: jm/a (Lhd;)V net/minecraft/network/play/server/S27PacketExplosion/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jm/a (Lhg;)V net/minecraft/network/play/server/S27PacketExplosion/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jm/a (Lik;)V net/minecraft/network/play/server/S27PacketExplosion/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jm/b ()F net/minecraft/network/play/server/S27PacketExplosion/func_149144_d ()F +MD: jm/b (Lhd;)V net/minecraft/network/play/server/S27PacketExplosion/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jm/c ()F net/minecraft/network/play/server/S27PacketExplosion/func_149147_e ()F +MD: jm/d ()D net/minecraft/network/play/server/S27PacketExplosion/func_149148_f ()D +MD: jm/e ()D net/minecraft/network/play/server/S27PacketExplosion/func_149143_g ()D +MD: jm/f ()D net/minecraft/network/play/server/S27PacketExplosion/func_149145_h ()D +MD: jm/g ()F net/minecraft/network/play/server/S27PacketExplosion/func_149146_i ()F +MD: jm/h ()Ljava/util/List; net/minecraft/network/play/server/S27PacketExplosion/func_149150_j ()Ljava/util/List; +MD: jn/a ()I net/minecraft/network/play/server/S46PacketSetCompressionLevel/func_179760_a ()I +MD: jn/a (Lhd;)V net/minecraft/network/play/server/S46PacketSetCompressionLevel/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jn/a (Lhg;)V net/minecraft/network/play/server/S46PacketSetCompressionLevel/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jn/a (Lik;)V net/minecraft/network/play/server/S46PacketSetCompressionLevel/func_179759_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jn/b (Lhd;)V net/minecraft/network/play/server/S46PacketSetCompressionLevel/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jo/a ()I net/minecraft/network/play/server/S2BPacketChangeGameState/func_149138_c ()I +MD: jo/a (Lhd;)V net/minecraft/network/play/server/S2BPacketChangeGameState/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jo/a (Lhg;)V net/minecraft/network/play/server/S2BPacketChangeGameState/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jo/a (Lik;)V net/minecraft/network/play/server/S2BPacketChangeGameState/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jo/b ()F net/minecraft/network/play/server/S2BPacketChangeGameState/func_149137_d ()F +MD: jo/b (Lhd;)V net/minecraft/network/play/server/S2BPacketChangeGameState/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jp/a ()I net/minecraft/network/play/server/S00PacketKeepAlive/func_149134_c ()I +MD: jp/a (Lhd;)V net/minecraft/network/play/server/S00PacketKeepAlive/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jp/a (Lhg;)V net/minecraft/network/play/server/S00PacketKeepAlive/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jp/a (Lik;)V net/minecraft/network/play/server/S00PacketKeepAlive/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jp/b (Lhd;)V net/minecraft/network/play/server/S00PacketKeepAlive/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jq/a ()[B net/minecraft/network/play/server/S21PacketChunkData/func_149272_d ()[B +MD: jq/a (IZZ)I net/minecraft/network/play/server/S21PacketChunkData/func_180737_a (IZZ)I +MD: jq/a (Lbfh;ZZI)Ljr; net/minecraft/network/play/server/S21PacketChunkData/func_179756_a (Lnet/minecraft/world/chunk/Chunk;ZZI)Lnet/minecraft/network/play/server/S21PacketChunkData$Extracted; +MD: jq/a (Lhd;)V net/minecraft/network/play/server/S21PacketChunkData/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jq/a (Lhg;)V net/minecraft/network/play/server/S21PacketChunkData/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jq/a (Lik;)V net/minecraft/network/play/server/S21PacketChunkData/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jq/a ([B[BI)I net/minecraft/network/play/server/S21PacketChunkData/func_179757_a ([B[BI)I +MD: jq/b ()I net/minecraft/network/play/server/S21PacketChunkData/func_149273_e ()I +MD: jq/b (Lhd;)V net/minecraft/network/play/server/S21PacketChunkData/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jq/c ()I net/minecraft/network/play/server/S21PacketChunkData/func_149271_f ()I +MD: jq/d ()I net/minecraft/network/play/server/S21PacketChunkData/func_149276_g ()I +MD: jq/e ()Z net/minecraft/network/play/server/S21PacketChunkData/func_149274_i ()Z +MD: js/a ()I net/minecraft/network/play/server/S26PacketMapChunkBulk/func_149254_d ()I +MD: js/a (I)I net/minecraft/network/play/server/S26PacketMapChunkBulk/func_149255_a (I)I +MD: js/a (Lhd;)V net/minecraft/network/play/server/S26PacketMapChunkBulk/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: js/a (Lhg;)V net/minecraft/network/play/server/S26PacketMapChunkBulk/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: js/a (Lik;)V net/minecraft/network/play/server/S26PacketMapChunkBulk/func_180738_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: js/b (I)I net/minecraft/network/play/server/S26PacketMapChunkBulk/func_149253_b (I)I +MD: js/b (Lhd;)V net/minecraft/network/play/server/S26PacketMapChunkBulk/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: js/c (I)[B net/minecraft/network/play/server/S26PacketMapChunkBulk/func_149256_c (I)[B +MD: js/d (I)I net/minecraft/network/play/server/S26PacketMapChunkBulk/func_179754_d (I)I +MD: jt/a ()Z net/minecraft/network/play/server/S28PacketEffect/func_149244_c ()Z +MD: jt/a (Lhd;)V net/minecraft/network/play/server/S28PacketEffect/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jt/a (Lhg;)V net/minecraft/network/play/server/S28PacketEffect/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jt/a (Lik;)V net/minecraft/network/play/server/S28PacketEffect/func_180739_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jt/b ()I net/minecraft/network/play/server/S28PacketEffect/func_149242_d ()I +MD: jt/b (Lhd;)V net/minecraft/network/play/server/S28PacketEffect/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jt/c ()I net/minecraft/network/play/server/S28PacketEffect/func_149241_e ()I +MD: jt/d ()Ldt; net/minecraft/network/play/server/S28PacketEffect/func_179746_d ()Lnet/minecraft/util/BlockPos; +MD: ju/a ()Lew; net/minecraft/network/play/server/S2APacketParticles/func_179749_a ()Lnet/minecraft/util/EnumParticleTypes; +MD: ju/a (Lhd;)V net/minecraft/network/play/server/S2APacketParticles/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ju/a (Lhg;)V net/minecraft/network/play/server/S2APacketParticles/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ju/a (Lik;)V net/minecraft/network/play/server/S2APacketParticles/func_180740_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ju/b ()Z net/minecraft/network/play/server/S2APacketParticles/func_179750_b ()Z +MD: ju/b (Lhd;)V net/minecraft/network/play/server/S2APacketParticles/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ju/c ()D net/minecraft/network/play/server/S2APacketParticles/func_149220_d ()D +MD: ju/d ()D net/minecraft/network/play/server/S2APacketParticles/func_149226_e ()D +MD: ju/e ()D net/minecraft/network/play/server/S2APacketParticles/func_149225_f ()D +MD: ju/f ()F net/minecraft/network/play/server/S2APacketParticles/func_149221_g ()F +MD: ju/g ()F net/minecraft/network/play/server/S2APacketParticles/func_149224_h ()F +MD: ju/h ()F net/minecraft/network/play/server/S2APacketParticles/func_149223_i ()F +MD: ju/i ()F net/minecraft/network/play/server/S2APacketParticles/func_149227_j ()F +MD: ju/j ()I net/minecraft/network/play/server/S2APacketParticles/func_149222_k ()I +MD: ju/k ()[I net/minecraft/network/play/server/S2APacketParticles/func_179748_k ()[I +MD: jv/a ()Ljava/lang/String; net/minecraft/network/play/server/S29PacketSoundEffect/func_149212_c ()Ljava/lang/String; +MD: jv/a (Lhd;)V net/minecraft/network/play/server/S29PacketSoundEffect/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jv/a (Lhg;)V net/minecraft/network/play/server/S29PacketSoundEffect/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jv/a (Lik;)V net/minecraft/network/play/server/S29PacketSoundEffect/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jv/b ()D net/minecraft/network/play/server/S29PacketSoundEffect/func_149207_d ()D +MD: jv/b (Lhd;)V net/minecraft/network/play/server/S29PacketSoundEffect/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jv/c ()D net/minecraft/network/play/server/S29PacketSoundEffect/func_149211_e ()D +MD: jv/d ()D net/minecraft/network/play/server/S29PacketSoundEffect/func_149210_f ()D +MD: jv/e ()F net/minecraft/network/play/server/S29PacketSoundEffect/func_149208_g ()F +MD: jv/f ()F net/minecraft/network/play/server/S29PacketSoundEffect/func_149209_h ()F +MD: jw/a ()I net/minecraft/network/play/server/S01PacketJoinGame/func_149197_c ()I +MD: jw/a (Lhd;)V net/minecraft/network/play/server/S01PacketJoinGame/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jw/a (Lhg;)V net/minecraft/network/play/server/S01PacketJoinGame/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jw/a (Lik;)V net/minecraft/network/play/server/S01PacketJoinGame/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jw/b ()Z net/minecraft/network/play/server/S01PacketJoinGame/func_149195_d ()Z +MD: jw/b (Lhd;)V net/minecraft/network/play/server/S01PacketJoinGame/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jw/c ()Larc; net/minecraft/network/play/server/S01PacketJoinGame/func_149198_e ()Lnet/minecraft/world/WorldSettings$GameType; +MD: jw/d ()I net/minecraft/network/play/server/S01PacketJoinGame/func_149194_f ()I +MD: jw/e ()Lvt; net/minecraft/network/play/server/S01PacketJoinGame/func_149192_g ()Lnet/minecraft/world/EnumDifficulty; +MD: jw/f ()I net/minecraft/network/play/server/S01PacketJoinGame/func_149193_h ()I +MD: jw/g ()Lare; net/minecraft/network/play/server/S01PacketJoinGame/func_149196_i ()Lnet/minecraft/world/WorldType; +MD: jw/h ()Z net/minecraft/network/play/server/S01PacketJoinGame/func_179744_h ()Z +MD: jx/a ()I net/minecraft/network/play/server/S34PacketMaps/func_149188_c ()I +MD: jx/a (Lbqe;)V net/minecraft/network/play/server/S34PacketMaps/func_179734_a (Lnet/minecraft/world/storage/MapData;)V +MD: jx/a (Lhd;)V net/minecraft/network/play/server/S34PacketMaps/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jx/a (Lhg;)V net/minecraft/network/play/server/S34PacketMaps/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jx/a (Lik;)V net/minecraft/network/play/server/S34PacketMaps/func_180741_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jx/b (Lhd;)V net/minecraft/network/play/server/S34PacketMaps/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jy/a ()B net/minecraft/network/play/server/S14PacketEntity/func_149062_c ()B +MD: jy/a (Laqu;)Lwv; net/minecraft/network/play/server/S14PacketEntity/func_149065_a (Lnet/minecraft/world/World;)Lnet/minecraft/entity/Entity; +MD: jy/a (Lhd;)V net/minecraft/network/play/server/S14PacketEntity/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jy/a (Lhg;)V net/minecraft/network/play/server/S14PacketEntity/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jy/a (Lik;)V net/minecraft/network/play/server/S14PacketEntity/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: jy/b ()B net/minecraft/network/play/server/S14PacketEntity/func_149061_d ()B +MD: jy/b (Lhd;)V net/minecraft/network/play/server/S14PacketEntity/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: jy/c ()B net/minecraft/network/play/server/S14PacketEntity/func_149064_e ()B +MD: jy/d ()B net/minecraft/network/play/server/S14PacketEntity/func_149066_f ()B +MD: jy/e ()B net/minecraft/network/play/server/S14PacketEntity/func_149063_g ()B +MD: jy/f ()Z net/minecraft/network/play/server/S14PacketEntity/func_149060_h ()Z +MD: jy/g ()Z net/minecraft/network/play/server/S14PacketEntity/func_179742_g ()Z +MD: jy/toString ()Ljava/lang/String; net/minecraft/network/play/server/S14PacketEntity/toString ()Ljava/lang/String; +MD: jz/a (Lhd;)V net/minecraft/network/play/server/S14PacketEntity$S15PacketEntityRelMove/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: jz/a (Lhg;)V net/minecraft/network/play/server/S14PacketEntity$S15PacketEntityRelMove/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: jz/b (Lhd;)V net/minecraft/network/play/server/S14PacketEntity$S15PacketEntityRelMove/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: k/a ()Ljava/lang/String; net/minecraft/crash/CrashReportCategory$1/call ()Ljava/lang/String; +MD: k/call ()Ljava/lang/Object; net/minecraft/crash/CrashReportCategory$1/call ()Ljava/lang/Object; +MD: ka/a (Lhd;)V net/minecraft/network/play/server/S14PacketEntity$S17PacketEntityLookMove/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ka/a (Lhg;)V net/minecraft/network/play/server/S14PacketEntity$S17PacketEntityLookMove/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ka/b (Lhd;)V net/minecraft/network/play/server/S14PacketEntity$S17PacketEntityLookMove/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kb/a (Lhd;)V net/minecraft/network/play/server/S14PacketEntity$S16PacketEntityLook/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: kb/a (Lhg;)V net/minecraft/network/play/server/S14PacketEntity$S16PacketEntityLook/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: kb/b (Lhd;)V net/minecraft/network/play/server/S14PacketEntity$S16PacketEntityLook/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kc/a ()Ldt; net/minecraft/network/play/server/S36PacketSignEditorOpen/func_179777_a ()Lnet/minecraft/util/BlockPos; +MD: kc/a (Lhd;)V net/minecraft/network/play/server/S36PacketSignEditorOpen/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: kc/a (Lhg;)V net/minecraft/network/play/server/S36PacketSignEditorOpen/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: kc/a (Lik;)V net/minecraft/network/play/server/S36PacketSignEditorOpen/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: kc/b (Lhd;)V net/minecraft/network/play/server/S36PacketSignEditorOpen/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kd/a ()Z net/minecraft/network/play/server/S39PacketPlayerAbilities/func_149112_c ()Z +MD: kd/a (F)V net/minecraft/network/play/server/S39PacketPlayerAbilities/func_149104_a (F)V +MD: kd/a (Lhd;)V net/minecraft/network/play/server/S39PacketPlayerAbilities/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: kd/a (Lhg;)V net/minecraft/network/play/server/S39PacketPlayerAbilities/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: kd/a (Lik;)V net/minecraft/network/play/server/S39PacketPlayerAbilities/func_180742_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: kd/a (Z)V net/minecraft/network/play/server/S39PacketPlayerAbilities/func_149108_a (Z)V +MD: kd/b ()Z net/minecraft/network/play/server/S39PacketPlayerAbilities/func_149106_d ()Z +MD: kd/b (F)V net/minecraft/network/play/server/S39PacketPlayerAbilities/func_149110_b (F)V +MD: kd/b (Lhd;)V net/minecraft/network/play/server/S39PacketPlayerAbilities/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kd/b (Z)V net/minecraft/network/play/server/S39PacketPlayerAbilities/func_149102_b (Z)V +MD: kd/c ()Z net/minecraft/network/play/server/S39PacketPlayerAbilities/func_149105_e ()Z +MD: kd/c (Z)V net/minecraft/network/play/server/S39PacketPlayerAbilities/func_149109_c (Z)V +MD: kd/d ()Z net/minecraft/network/play/server/S39PacketPlayerAbilities/func_149103_f ()Z +MD: kd/d (Z)V net/minecraft/network/play/server/S39PacketPlayerAbilities/func_149111_d (Z)V +MD: kd/e ()F net/minecraft/network/play/server/S39PacketPlayerAbilities/func_149101_g ()F +MD: kd/f ()F net/minecraft/network/play/server/S39PacketPlayerAbilities/func_149107_h ()F +MD: ke/a (Lhd;)V net/minecraft/network/play/server/S42PacketCombatEvent/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ke/a (Lhg;)V net/minecraft/network/play/server/S42PacketCombatEvent/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ke/a (Lik;)V net/minecraft/network/play/server/S42PacketCombatEvent/func_179771_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ke/b (Lhd;)V net/minecraft/network/play/server/S42PacketCombatEvent/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kg/values ()[Lkg; net/minecraft/network/play/server/S42PacketCombatEvent$Event/values ()[Lnet/minecraft/network/play/server/S42PacketCombatEvent$Event; +MD: kh/a ()Ljava/util/List; net/minecraft/network/play/server/S38PacketPlayerListItem/func_179767_a ()Ljava/util/List; +MD: kh/a (Lhd;)V net/minecraft/network/play/server/S38PacketPlayerListItem/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: kh/a (Lhg;)V net/minecraft/network/play/server/S38PacketPlayerListItem/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: kh/a (Lik;)V net/minecraft/network/play/server/S38PacketPlayerListItem/func_180743_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: kh/b ()Lkj; net/minecraft/network/play/server/S38PacketPlayerListItem/func_179768_b ()Lnet/minecraft/network/play/server/S38PacketPlayerListItem$Action; +MD: kh/b (Lhd;)V net/minecraft/network/play/server/S38PacketPlayerListItem/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kj/values ()[Lkj; net/minecraft/network/play/server/S38PacketPlayerListItem$Action/values ()[Lnet/minecraft/network/play/server/S38PacketPlayerListItem$Action; +MD: kk/a ()Lcom/mojang/authlib/GameProfile; net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData/func_179962_a ()Lcom/mojang/authlib/GameProfile; +MD: kk/b ()I net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData/func_179963_b ()I +MD: kk/c ()Larc; net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData/func_179960_c ()Lnet/minecraft/world/WorldSettings$GameType; +MD: kk/d ()Lho; net/minecraft/network/play/server/S38PacketPlayerListItem$AddPlayerData/func_179961_d ()Lnet/minecraft/util/IChatComponent; +MD: kl/a ()Ldt; net/minecraft/network/play/server/S0APacketUseBed/func_179798_a ()Lnet/minecraft/util/BlockPos; +MD: kl/a (Laqu;)Lahd; net/minecraft/network/play/server/S0APacketUseBed/func_149091_a (Lnet/minecraft/world/World;)Lnet/minecraft/entity/player/EntityPlayer; +MD: kl/a (Lhd;)V net/minecraft/network/play/server/S0APacketUseBed/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: kl/a (Lhg;)V net/minecraft/network/play/server/S0APacketUseBed/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: kl/a (Lik;)V net/minecraft/network/play/server/S0APacketUseBed/func_180744_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: kl/b (Lhd;)V net/minecraft/network/play/server/S0APacketUseBed/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: km/a ()[I net/minecraft/network/play/server/S13PacketDestroyEntities/func_149098_c ()[I +MD: km/a (Lhd;)V net/minecraft/network/play/server/S13PacketDestroyEntities/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: km/a (Lhg;)V net/minecraft/network/play/server/S13PacketDestroyEntities/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: km/a (Lik;)V net/minecraft/network/play/server/S13PacketDestroyEntities/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: km/b (Lhd;)V net/minecraft/network/play/server/S13PacketDestroyEntities/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kn/a ()I net/minecraft/network/play/server/S1EPacketRemoveEntityEffect/func_149076_c ()I +MD: kn/a (Lhd;)V net/minecraft/network/play/server/S1EPacketRemoveEntityEffect/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: kn/a (Lhg;)V net/minecraft/network/play/server/S1EPacketRemoveEntityEffect/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: kn/a (Lik;)V net/minecraft/network/play/server/S1EPacketRemoveEntityEffect/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: kn/b ()I net/minecraft/network/play/server/S1EPacketRemoveEntityEffect/func_149075_d ()I +MD: kn/b (Lhd;)V net/minecraft/network/play/server/S1EPacketRemoveEntityEffect/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ko/a ()Ljava/lang/String; net/minecraft/network/play/server/S48PacketResourcePackSend/func_179783_a ()Ljava/lang/String; +MD: ko/a (Lhd;)V net/minecraft/network/play/server/S48PacketResourcePackSend/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ko/a (Lhg;)V net/minecraft/network/play/server/S48PacketResourcePackSend/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ko/a (Lik;)V net/minecraft/network/play/server/S48PacketResourcePackSend/func_179782_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ko/b ()Ljava/lang/String; net/minecraft/network/play/server/S48PacketResourcePackSend/func_179784_b ()Ljava/lang/String; +MD: ko/b (Lhd;)V net/minecraft/network/play/server/S48PacketResourcePackSend/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kp/a ()I net/minecraft/network/play/server/S07PacketRespawn/func_149082_c ()I +MD: kp/a (Lhd;)V net/minecraft/network/play/server/S07PacketRespawn/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: kp/a (Lhg;)V net/minecraft/network/play/server/S07PacketRespawn/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: kp/a (Lik;)V net/minecraft/network/play/server/S07PacketRespawn/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: kp/b ()Lvt; net/minecraft/network/play/server/S07PacketRespawn/func_149081_d ()Lnet/minecraft/world/EnumDifficulty; +MD: kp/b (Lhd;)V net/minecraft/network/play/server/S07PacketRespawn/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kp/c ()Larc; net/minecraft/network/play/server/S07PacketRespawn/func_149083_e ()Lnet/minecraft/world/WorldSettings$GameType; +MD: kp/d ()Lare; net/minecraft/network/play/server/S07PacketRespawn/func_149080_f ()Lnet/minecraft/world/WorldType; +MD: kq/a ()B net/minecraft/network/play/server/S19PacketEntityHeadLook/func_149380_c ()B +MD: kq/a (Laqu;)Lwv; net/minecraft/network/play/server/S19PacketEntityHeadLook/func_149381_a (Lnet/minecraft/world/World;)Lnet/minecraft/entity/Entity; +MD: kq/a (Lhd;)V net/minecraft/network/play/server/S19PacketEntityHeadLook/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: kq/a (Lhg;)V net/minecraft/network/play/server/S19PacketEntityHeadLook/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: kq/a (Lik;)V net/minecraft/network/play/server/S19PacketEntityHeadLook/func_180745_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: kq/b (Lhd;)V net/minecraft/network/play/server/S19PacketEntityHeadLook/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kr/a (Lbfb;)V net/minecraft/network/play/server/S44PacketWorldBorder/func_179788_a (Lnet/minecraft/world/border/WorldBorder;)V +MD: kr/a (Lhd;)V net/minecraft/network/play/server/S44PacketWorldBorder/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: kr/a (Lhg;)V net/minecraft/network/play/server/S44PacketWorldBorder/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: kr/a (Lik;)V net/minecraft/network/play/server/S44PacketWorldBorder/func_179787_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: kr/b (Lhd;)V net/minecraft/network/play/server/S44PacketWorldBorder/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kt/values ()[Lkt; net/minecraft/network/play/server/S44PacketWorldBorder$Action/values ()[Lnet/minecraft/network/play/server/S44PacketWorldBorder$Action; +MD: ku/a (Laqu;)Lwv; net/minecraft/network/play/server/S43PacketCamera/func_179780_a (Lnet/minecraft/world/World;)Lnet/minecraft/entity/Entity; +MD: ku/a (Lhd;)V net/minecraft/network/play/server/S43PacketCamera/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ku/a (Lhg;)V net/minecraft/network/play/server/S43PacketCamera/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ku/a (Lik;)V net/minecraft/network/play/server/S43PacketCamera/func_179779_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ku/b (Lhd;)V net/minecraft/network/play/server/S43PacketCamera/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kv/a ()I net/minecraft/network/play/server/S09PacketHeldItemChange/func_149385_c ()I +MD: kv/a (Lhd;)V net/minecraft/network/play/server/S09PacketHeldItemChange/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: kv/a (Lhg;)V net/minecraft/network/play/server/S09PacketHeldItemChange/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: kv/a (Lik;)V net/minecraft/network/play/server/S09PacketHeldItemChange/func_180746_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: kv/b (Lhd;)V net/minecraft/network/play/server/S09PacketHeldItemChange/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kw/a ()I net/minecraft/network/play/server/S3DPacketDisplayScoreboard/func_149371_c ()I +MD: kw/a (Lhd;)V net/minecraft/network/play/server/S3DPacketDisplayScoreboard/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: kw/a (Lhg;)V net/minecraft/network/play/server/S3DPacketDisplayScoreboard/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: kw/a (Lik;)V net/minecraft/network/play/server/S3DPacketDisplayScoreboard/func_180747_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: kw/b ()Ljava/lang/String; net/minecraft/network/play/server/S3DPacketDisplayScoreboard/func_149370_d ()Ljava/lang/String; +MD: kw/b (Lhd;)V net/minecraft/network/play/server/S3DPacketDisplayScoreboard/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kx/a ()Ljava/util/List; net/minecraft/network/play/server/S1CPacketEntityMetadata/func_149376_c ()Ljava/util/List; +MD: kx/a (Lhd;)V net/minecraft/network/play/server/S1CPacketEntityMetadata/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: kx/a (Lhg;)V net/minecraft/network/play/server/S1CPacketEntityMetadata/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: kx/a (Lik;)V net/minecraft/network/play/server/S1CPacketEntityMetadata/func_180748_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: kx/b ()I net/minecraft/network/play/server/S1CPacketEntityMetadata/func_149375_d ()I +MD: kx/b (Lhd;)V net/minecraft/network/play/server/S1CPacketEntityMetadata/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ky/a ()I net/minecraft/network/play/server/S1BPacketEntityAttach/func_149404_c ()I +MD: ky/a (Lhd;)V net/minecraft/network/play/server/S1BPacketEntityAttach/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ky/a (Lhg;)V net/minecraft/network/play/server/S1BPacketEntityAttach/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ky/a (Lik;)V net/minecraft/network/play/server/S1BPacketEntityAttach/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ky/b ()I net/minecraft/network/play/server/S1BPacketEntityAttach/func_149403_d ()I +MD: ky/b (Lhd;)V net/minecraft/network/play/server/S1BPacketEntityAttach/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ky/c ()I net/minecraft/network/play/server/S1BPacketEntityAttach/func_149402_e ()I +MD: kz/a ()I net/minecraft/network/play/server/S12PacketEntityVelocity/func_149412_c ()I +MD: kz/a (Lhd;)V net/minecraft/network/play/server/S12PacketEntityVelocity/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: kz/a (Lhg;)V net/minecraft/network/play/server/S12PacketEntityVelocity/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: kz/a (Lik;)V net/minecraft/network/play/server/S12PacketEntityVelocity/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: kz/b ()I net/minecraft/network/play/server/S12PacketEntityVelocity/func_149411_d ()I +MD: kz/b (Lhd;)V net/minecraft/network/play/server/S12PacketEntityVelocity/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: kz/c ()I net/minecraft/network/play/server/S12PacketEntityVelocity/func_149410_e ()I +MD: kz/d ()I net/minecraft/network/play/server/S12PacketEntityVelocity/func_149409_f ()I +MD: l/a ()Ljava/lang/String; net/minecraft/crash/CrashReportCategory$2/call ()Ljava/lang/String; +MD: l/call ()Ljava/lang/Object; net/minecraft/crash/CrashReportCategory$2/call ()Ljava/lang/Object; +MD: la/a ()Lamj; net/minecraft/network/play/server/S04PacketEntityEquipment/func_149390_c ()Lnet/minecraft/item/ItemStack; +MD: la/a (Lhd;)V net/minecraft/network/play/server/S04PacketEntityEquipment/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: la/a (Lhg;)V net/minecraft/network/play/server/S04PacketEntityEquipment/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: la/a (Lik;)V net/minecraft/network/play/server/S04PacketEntityEquipment/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: la/b ()I net/minecraft/network/play/server/S04PacketEntityEquipment/func_149389_d ()I +MD: la/b (Lhd;)V net/minecraft/network/play/server/S04PacketEntityEquipment/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: la/c ()I net/minecraft/network/play/server/S04PacketEntityEquipment/func_149388_e ()I +MD: lb/a ()F net/minecraft/network/play/server/S1FPacketSetExperience/func_149397_c ()F +MD: lb/a (Lhd;)V net/minecraft/network/play/server/S1FPacketSetExperience/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lb/a (Lhg;)V net/minecraft/network/play/server/S1FPacketSetExperience/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lb/a (Lik;)V net/minecraft/network/play/server/S1FPacketSetExperience/func_180749_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: lb/b ()I net/minecraft/network/play/server/S1FPacketSetExperience/func_149396_d ()I +MD: lb/b (Lhd;)V net/minecraft/network/play/server/S1FPacketSetExperience/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lb/c ()I net/minecraft/network/play/server/S1FPacketSetExperience/func_149395_e ()I +MD: lc/a ()F net/minecraft/network/play/server/S06PacketUpdateHealth/func_149332_c ()F +MD: lc/a (Lhd;)V net/minecraft/network/play/server/S06PacketUpdateHealth/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lc/a (Lhg;)V net/minecraft/network/play/server/S06PacketUpdateHealth/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lc/a (Lik;)V net/minecraft/network/play/server/S06PacketUpdateHealth/func_180750_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: lc/b ()I net/minecraft/network/play/server/S06PacketUpdateHealth/func_149330_d ()I +MD: lc/b (Lhd;)V net/minecraft/network/play/server/S06PacketUpdateHealth/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lc/c ()F net/minecraft/network/play/server/S06PacketUpdateHealth/func_149331_e ()F +MD: ld/a ()Ljava/lang/String; net/minecraft/network/play/server/S3BPacketScoreboardObjective/func_149339_c ()Ljava/lang/String; +MD: ld/a (Lhd;)V net/minecraft/network/play/server/S3BPacketScoreboardObjective/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ld/a (Lhg;)V net/minecraft/network/play/server/S3BPacketScoreboardObjective/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ld/a (Lik;)V net/minecraft/network/play/server/S3BPacketScoreboardObjective/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ld/b ()Ljava/lang/String; net/minecraft/network/play/server/S3BPacketScoreboardObjective/func_149337_d ()Ljava/lang/String; +MD: ld/b (Lhd;)V net/minecraft/network/play/server/S3BPacketScoreboardObjective/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ld/c ()I net/minecraft/network/play/server/S3BPacketScoreboardObjective/func_149338_e ()I +MD: ld/d ()Lbsl; net/minecraft/network/play/server/S3BPacketScoreboardObjective/func_179817_d ()Lnet/minecraft/scoreboard/IScoreObjectiveCriteria$EnumRenderType; +MD: le/a ()Ljava/lang/String; net/minecraft/network/play/server/S3EPacketTeams/func_149312_c ()Ljava/lang/String; +MD: le/a (Lhd;)V net/minecraft/network/play/server/S3EPacketTeams/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: le/a (Lhg;)V net/minecraft/network/play/server/S3EPacketTeams/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: le/a (Lik;)V net/minecraft/network/play/server/S3EPacketTeams/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: le/b ()Ljava/lang/String; net/minecraft/network/play/server/S3EPacketTeams/func_149306_d ()Ljava/lang/String; +MD: le/b (Lhd;)V net/minecraft/network/play/server/S3EPacketTeams/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: le/c ()Ljava/lang/String; net/minecraft/network/play/server/S3EPacketTeams/func_149311_e ()Ljava/lang/String; +MD: le/d ()Ljava/lang/String; net/minecraft/network/play/server/S3EPacketTeams/func_149309_f ()Ljava/lang/String; +MD: le/e ()Ljava/util/Collection; net/minecraft/network/play/server/S3EPacketTeams/func_149310_g ()Ljava/util/Collection; +MD: le/f ()I net/minecraft/network/play/server/S3EPacketTeams/func_149307_h ()I +MD: le/g ()I net/minecraft/network/play/server/S3EPacketTeams/func_149308_i ()I +MD: le/h ()I net/minecraft/network/play/server/S3EPacketTeams/func_179813_h ()I +MD: le/i ()Ljava/lang/String; net/minecraft/network/play/server/S3EPacketTeams/func_179814_i ()Ljava/lang/String; +MD: lf/a ()Ljava/lang/String; net/minecraft/network/play/server/S3CPacketUpdateScore/func_149324_c ()Ljava/lang/String; +MD: lf/a (Lhd;)V net/minecraft/network/play/server/S3CPacketUpdateScore/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lf/a (Lhg;)V net/minecraft/network/play/server/S3CPacketUpdateScore/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lf/a (Lik;)V net/minecraft/network/play/server/S3CPacketUpdateScore/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: lf/b ()Ljava/lang/String; net/minecraft/network/play/server/S3CPacketUpdateScore/func_149321_d ()Ljava/lang/String; +MD: lf/b (Lhd;)V net/minecraft/network/play/server/S3CPacketUpdateScore/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lf/c ()I net/minecraft/network/play/server/S3CPacketUpdateScore/func_149323_e ()I +MD: lf/d ()Llg; net/minecraft/network/play/server/S3CPacketUpdateScore/func_180751_d ()Lnet/minecraft/network/play/server/S3CPacketUpdateScore$Action; +MD: lg/values ()[Llg; net/minecraft/network/play/server/S3CPacketUpdateScore$Action/values ()[Lnet/minecraft/network/play/server/S3CPacketUpdateScore$Action; +MD: lh/a ()Ldt; net/minecraft/network/play/server/S05PacketSpawnPosition/func_179800_a ()Lnet/minecraft/util/BlockPos; +MD: lh/a (Lhd;)V net/minecraft/network/play/server/S05PacketSpawnPosition/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lh/a (Lhg;)V net/minecraft/network/play/server/S05PacketSpawnPosition/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lh/a (Lik;)V net/minecraft/network/play/server/S05PacketSpawnPosition/func_180752_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: lh/b (Lhd;)V net/minecraft/network/play/server/S05PacketSpawnPosition/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: li/a ()J net/minecraft/network/play/server/S03PacketTimeUpdate/func_149366_c ()J +MD: li/a (Lhd;)V net/minecraft/network/play/server/S03PacketTimeUpdate/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: li/a (Lhg;)V net/minecraft/network/play/server/S03PacketTimeUpdate/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: li/a (Lik;)V net/minecraft/network/play/server/S03PacketTimeUpdate/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: li/b ()J net/minecraft/network/play/server/S03PacketTimeUpdate/func_149365_d ()J +MD: li/b (Lhd;)V net/minecraft/network/play/server/S03PacketTimeUpdate/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lj/a ()Llk; net/minecraft/network/play/server/S45PacketTitle/func_179807_a ()Lnet/minecraft/network/play/server/S45PacketTitle$Type; +MD: lj/a (Lhd;)V net/minecraft/network/play/server/S45PacketTitle/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lj/a (Lhg;)V net/minecraft/network/play/server/S45PacketTitle/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lj/a (Lik;)V net/minecraft/network/play/server/S45PacketTitle/func_179802_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: lj/b ()Lho; net/minecraft/network/play/server/S45PacketTitle/func_179805_b ()Lnet/minecraft/util/IChatComponent; +MD: lj/b (Lhd;)V net/minecraft/network/play/server/S45PacketTitle/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lj/c ()I net/minecraft/network/play/server/S45PacketTitle/func_179806_c ()I +MD: lj/d ()I net/minecraft/network/play/server/S45PacketTitle/func_179804_d ()I +MD: lj/e ()I net/minecraft/network/play/server/S45PacketTitle/func_179803_e ()I +MD: lk/a ()[Ljava/lang/String; net/minecraft/network/play/server/S45PacketTitle$Type/func_179971_a ()[Ljava/lang/String; +MD: lk/a (Ljava/lang/String;)Llk; net/minecraft/network/play/server/S45PacketTitle$Type/func_179969_a (Ljava/lang/String;)Lnet/minecraft/network/play/server/S45PacketTitle$Type; +MD: lk/values ()[Llk; net/minecraft/network/play/server/S45PacketTitle$Type/values ()[Lnet/minecraft/network/play/server/S45PacketTitle$Type; +MD: ll/a ()Ldt; net/minecraft/network/play/server/S33PacketUpdateSign/func_179704_a ()Lnet/minecraft/util/BlockPos; +MD: ll/a (Lhd;)V net/minecraft/network/play/server/S33PacketUpdateSign/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ll/a (Lhg;)V net/minecraft/network/play/server/S33PacketUpdateSign/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ll/a (Lik;)V net/minecraft/network/play/server/S33PacketUpdateSign/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ll/b ()[Lho; net/minecraft/network/play/server/S33PacketUpdateSign/func_180753_b ()[Lnet/minecraft/util/IChatComponent; +MD: ll/b (Lhd;)V net/minecraft/network/play/server/S33PacketUpdateSign/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lm/a ()Lho; net/minecraft/network/play/server/S47PacketPlayerListHeaderFooter/func_179700_a ()Lnet/minecraft/util/IChatComponent; +MD: lm/a (Lhd;)V net/minecraft/network/play/server/S47PacketPlayerListHeaderFooter/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lm/a (Lhg;)V net/minecraft/network/play/server/S47PacketPlayerListHeaderFooter/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lm/a (Lik;)V net/minecraft/network/play/server/S47PacketPlayerListHeaderFooter/func_179699_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: lm/b ()Lho; net/minecraft/network/play/server/S47PacketPlayerListHeaderFooter/func_179701_b ()Lnet/minecraft/util/IChatComponent; +MD: lm/b (Lhd;)V net/minecraft/network/play/server/S47PacketPlayerListHeaderFooter/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ln/a ()I net/minecraft/network/play/server/S0DPacketCollectItem/func_149354_c ()I +MD: ln/a (Lhd;)V net/minecraft/network/play/server/S0DPacketCollectItem/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ln/a (Lhg;)V net/minecraft/network/play/server/S0DPacketCollectItem/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ln/a (Lik;)V net/minecraft/network/play/server/S0DPacketCollectItem/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: ln/b ()I net/minecraft/network/play/server/S0DPacketCollectItem/func_149353_d ()I +MD: ln/b (Lhd;)V net/minecraft/network/play/server/S0DPacketCollectItem/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lo/a ()I net/minecraft/network/play/server/S18PacketEntityTeleport/func_149451_c ()I +MD: lo/a (Lhd;)V net/minecraft/network/play/server/S18PacketEntityTeleport/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lo/a (Lhg;)V net/minecraft/network/play/server/S18PacketEntityTeleport/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lo/a (Lik;)V net/minecraft/network/play/server/S18PacketEntityTeleport/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: lo/b ()I net/minecraft/network/play/server/S18PacketEntityTeleport/func_149449_d ()I +MD: lo/b (Lhd;)V net/minecraft/network/play/server/S18PacketEntityTeleport/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lo/c ()I net/minecraft/network/play/server/S18PacketEntityTeleport/func_149448_e ()I +MD: lo/d ()I net/minecraft/network/play/server/S18PacketEntityTeleport/func_149446_f ()I +MD: lo/e ()B net/minecraft/network/play/server/S18PacketEntityTeleport/func_149450_g ()B +MD: lo/f ()B net/minecraft/network/play/server/S18PacketEntityTeleport/func_149447_h ()B +MD: lo/g ()Z net/minecraft/network/play/server/S18PacketEntityTeleport/func_179697_g ()Z +MD: lp/a ()I net/minecraft/network/play/server/S20PacketEntityProperties/func_149442_c ()I +MD: lp/a (Lhd;)V net/minecraft/network/play/server/S20PacketEntityProperties/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lp/a (Lhg;)V net/minecraft/network/play/server/S20PacketEntityProperties/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lp/a (Lik;)V net/minecraft/network/play/server/S20PacketEntityProperties/func_180754_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: lp/b ()Ljava/util/List; net/minecraft/network/play/server/S20PacketEntityProperties/func_149441_d ()Ljava/util/List; +MD: lp/b (Lhd;)V net/minecraft/network/play/server/S20PacketEntityProperties/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lq/a ()Ljava/lang/String; net/minecraft/network/play/server/S20PacketEntityProperties$Snapshot/func_151409_a ()Ljava/lang/String; +MD: lq/b ()D net/minecraft/network/play/server/S20PacketEntityProperties$Snapshot/func_151410_b ()D +MD: lq/c ()Ljava/util/Collection; net/minecraft/network/play/server/S20PacketEntityProperties$Snapshot/func_151408_c ()Ljava/util/Collection; +MD: lr/a ()Z net/minecraft/network/play/server/S1DPacketEntityEffect/func_149429_c ()Z +MD: lr/a (Lhd;)V net/minecraft/network/play/server/S1DPacketEntityEffect/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lr/a (Lhg;)V net/minecraft/network/play/server/S1DPacketEntityEffect/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lr/a (Lik;)V net/minecraft/network/play/server/S1DPacketEntityEffect/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayClient;)V +MD: lr/b ()I net/minecraft/network/play/server/S1DPacketEntityEffect/func_149426_d ()I +MD: lr/b (Lhd;)V net/minecraft/network/play/server/S1DPacketEntityEffect/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lr/c ()B net/minecraft/network/play/server/S1DPacketEntityEffect/func_149427_e ()B +MD: lr/d ()B net/minecraft/network/play/server/S1DPacketEntityEffect/func_149428_f ()B +MD: lr/e ()I net/minecraft/network/play/server/S1DPacketEntityEffect/func_180755_e ()I +MD: lr/f ()Z net/minecraft/network/play/server/S1DPacketEntityEffect/func_179707_f ()Z +MD: ls/a (Llt;)V net/minecraft/network/play/INetHandlerPlayServer/func_147341_a (Lnet/minecraft/network/play/client/C14PacketTabComplete;)V +MD: ls/a (Llu;)V net/minecraft/network/play/INetHandlerPlayServer/func_147354_a (Lnet/minecraft/network/play/client/C01PacketChatMessage;)V +MD: ls/a (Llv;)V net/minecraft/network/play/INetHandlerPlayServer/func_147342_a (Lnet/minecraft/network/play/client/C16PacketClientStatus;)V +MD: ls/a (Llx;)V net/minecraft/network/play/INetHandlerPlayServer/func_147352_a (Lnet/minecraft/network/play/client/C15PacketClientSettings;)V +MD: ls/a (Lly;)V net/minecraft/network/play/INetHandlerPlayServer/func_147339_a (Lnet/minecraft/network/play/client/C0FPacketConfirmTransaction;)V +MD: ls/a (Llz;)V net/minecraft/network/play/INetHandlerPlayServer/func_147338_a (Lnet/minecraft/network/play/client/C11PacketEnchantItem;)V +MD: ls/a (Lma;)V net/minecraft/network/play/INetHandlerPlayServer/func_147351_a (Lnet/minecraft/network/play/client/C0EPacketClickWindow;)V +MD: ls/a (Lmb;)V net/minecraft/network/play/INetHandlerPlayServer/func_147356_a (Lnet/minecraft/network/play/client/C0DPacketCloseWindow;)V +MD: ls/a (Lmc;)V net/minecraft/network/play/INetHandlerPlayServer/func_147349_a (Lnet/minecraft/network/play/client/C17PacketCustomPayload;)V +MD: ls/a (Lmd;)V net/minecraft/network/play/INetHandlerPlayServer/func_147340_a (Lnet/minecraft/network/play/client/C02PacketUseEntity;)V +MD: ls/a (Lmf;)V net/minecraft/network/play/INetHandlerPlayServer/func_147353_a (Lnet/minecraft/network/play/client/C00PacketKeepAlive;)V +MD: ls/a (Lmg;)V net/minecraft/network/play/INetHandlerPlayServer/func_147347_a (Lnet/minecraft/network/play/client/C03PacketPlayer;)V +MD: ls/a (Lmk;)V net/minecraft/network/play/INetHandlerPlayServer/func_147348_a (Lnet/minecraft/network/play/client/C13PacketPlayerAbilities;)V +MD: ls/a (Lml;)V net/minecraft/network/play/INetHandlerPlayServer/func_147345_a (Lnet/minecraft/network/play/client/C07PacketPlayerDigging;)V +MD: ls/a (Lmn;)V net/minecraft/network/play/INetHandlerPlayServer/func_147357_a (Lnet/minecraft/network/play/client/C0BPacketEntityAction;)V +MD: ls/a (Lmp;)V net/minecraft/network/play/INetHandlerPlayServer/func_147358_a (Lnet/minecraft/network/play/client/C0CPacketInput;)V +MD: ls/a (Lmq;)V net/minecraft/network/play/INetHandlerPlayServer/func_175086_a (Lnet/minecraft/network/play/client/C19PacketResourcePackStatus;)V +MD: ls/a (Lms;)V net/minecraft/network/play/INetHandlerPlayServer/func_147355_a (Lnet/minecraft/network/play/client/C09PacketHeldItemChange;)V +MD: ls/a (Lmt;)V net/minecraft/network/play/INetHandlerPlayServer/func_147344_a (Lnet/minecraft/network/play/client/C10PacketCreativeInventoryAction;)V +MD: ls/a (Lmu;)V net/minecraft/network/play/INetHandlerPlayServer/func_147343_a (Lnet/minecraft/network/play/client/C12PacketUpdateSign;)V +MD: ls/a (Lmv;)V net/minecraft/network/play/INetHandlerPlayServer/func_175087_a (Lnet/minecraft/network/play/client/C0APacketAnimation;)V +MD: ls/a (Lmw;)V net/minecraft/network/play/INetHandlerPlayServer/func_175088_a (Lnet/minecraft/network/play/client/C18PacketSpectate;)V +MD: ls/a (Lmx;)V net/minecraft/network/play/INetHandlerPlayServer/func_147346_a (Lnet/minecraft/network/play/client/C08PacketPlayerBlockPlacement;)V +MD: lt/a ()Ljava/lang/String; net/minecraft/network/play/client/C14PacketTabComplete/func_149419_c ()Ljava/lang/String; +MD: lt/a (Lhd;)V net/minecraft/network/play/client/C14PacketTabComplete/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lt/a (Lhg;)V net/minecraft/network/play/client/C14PacketTabComplete/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lt/a (Lls;)V net/minecraft/network/play/client/C14PacketTabComplete/func_180756_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: lt/b ()Ldt; net/minecraft/network/play/client/C14PacketTabComplete/func_179709_b ()Lnet/minecraft/util/BlockPos; +MD: lt/b (Lhd;)V net/minecraft/network/play/client/C14PacketTabComplete/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lu/a ()Ljava/lang/String; net/minecraft/network/play/client/C01PacketChatMessage/func_149439_c ()Ljava/lang/String; +MD: lu/a (Lhd;)V net/minecraft/network/play/client/C01PacketChatMessage/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lu/a (Lhg;)V net/minecraft/network/play/client/C01PacketChatMessage/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lu/a (Lls;)V net/minecraft/network/play/client/C01PacketChatMessage/func_180757_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: lu/b (Lhd;)V net/minecraft/network/play/client/C01PacketChatMessage/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lv/a ()Llw; net/minecraft/network/play/client/C16PacketClientStatus/func_149435_c ()Lnet/minecraft/network/play/client/C16PacketClientStatus$EnumState; +MD: lv/a (Lhd;)V net/minecraft/network/play/client/C16PacketClientStatus/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lv/a (Lhg;)V net/minecraft/network/play/client/C16PacketClientStatus/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lv/a (Lls;)V net/minecraft/network/play/client/C16PacketClientStatus/func_180758_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: lv/b (Lhd;)V net/minecraft/network/play/client/C16PacketClientStatus/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lw/values ()[Llw; net/minecraft/network/play/client/C16PacketClientStatus$EnumState/values ()[Lnet/minecraft/network/play/client/C16PacketClientStatus$EnumState; +MD: lx/a ()Ljava/lang/String; net/minecraft/network/play/client/C15PacketClientSettings/func_149524_c ()Ljava/lang/String; +MD: lx/a (Lhd;)V net/minecraft/network/play/client/C15PacketClientSettings/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lx/a (Lhg;)V net/minecraft/network/play/client/C15PacketClientSettings/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lx/a (Lls;)V net/minecraft/network/play/client/C15PacketClientSettings/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: lx/b (Lhd;)V net/minecraft/network/play/client/C15PacketClientSettings/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lx/c ()Lahg; net/minecraft/network/play/client/C15PacketClientSettings/func_149523_e ()Lnet/minecraft/entity/player/EntityPlayer$EnumChatVisibility; +MD: lx/d ()Z net/minecraft/network/play/client/C15PacketClientSettings/func_149520_f ()Z +MD: lx/e ()I net/minecraft/network/play/client/C15PacketClientSettings/func_149521_d ()I +MD: ly/a ()I net/minecraft/network/play/client/C0FPacketConfirmTransaction/func_149532_c ()I +MD: ly/a (Lhd;)V net/minecraft/network/play/client/C0FPacketConfirmTransaction/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ly/a (Lhg;)V net/minecraft/network/play/client/C0FPacketConfirmTransaction/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ly/a (Lls;)V net/minecraft/network/play/client/C0FPacketConfirmTransaction/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: ly/b ()S net/minecraft/network/play/client/C0FPacketConfirmTransaction/func_149533_d ()S +MD: ly/b (Lhd;)V net/minecraft/network/play/client/C0FPacketConfirmTransaction/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: lz/a ()I net/minecraft/network/play/client/C11PacketEnchantItem/func_149539_c ()I +MD: lz/a (Lhd;)V net/minecraft/network/play/client/C11PacketEnchantItem/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: lz/a (Lhg;)V net/minecraft/network/play/client/C11PacketEnchantItem/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: lz/a (Lls;)V net/minecraft/network/play/client/C11PacketEnchantItem/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: lz/b ()I net/minecraft/network/play/client/C11PacketEnchantItem/func_149537_d ()I +MD: lz/b (Lhd;)V net/minecraft/network/play/client/C11PacketEnchantItem/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: m/a ()Ljava/lang/String; net/minecraft/crash/CrashReportCategory$3/call ()Ljava/lang/String; +MD: m/call ()Ljava/lang/Object; net/minecraft/crash/CrashReportCategory$3/call ()Ljava/lang/Object; +MD: ma/a ()I net/minecraft/network/play/client/C0EPacketClickWindow/func_149548_c ()I +MD: ma/a (Lhd;)V net/minecraft/network/play/client/C0EPacketClickWindow/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ma/a (Lhg;)V net/minecraft/network/play/client/C0EPacketClickWindow/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ma/a (Lls;)V net/minecraft/network/play/client/C0EPacketClickWindow/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: ma/b ()I net/minecraft/network/play/client/C0EPacketClickWindow/func_149544_d ()I +MD: ma/b (Lhd;)V net/minecraft/network/play/client/C0EPacketClickWindow/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ma/c ()I net/minecraft/network/play/client/C0EPacketClickWindow/func_149543_e ()I +MD: ma/d ()S net/minecraft/network/play/client/C0EPacketClickWindow/func_149547_f ()S +MD: ma/e ()Lamj; net/minecraft/network/play/client/C0EPacketClickWindow/func_149546_g ()Lnet/minecraft/item/ItemStack; +MD: ma/f ()I net/minecraft/network/play/client/C0EPacketClickWindow/func_149542_h ()I +MD: mb/a (Lhd;)V net/minecraft/network/play/client/C0DPacketCloseWindow/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mb/a (Lhg;)V net/minecraft/network/play/client/C0DPacketCloseWindow/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mb/a (Lls;)V net/minecraft/network/play/client/C0DPacketCloseWindow/func_180759_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: mb/b (Lhd;)V net/minecraft/network/play/client/C0DPacketCloseWindow/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mc/a ()Ljava/lang/String; net/minecraft/network/play/client/C17PacketCustomPayload/func_149559_c ()Ljava/lang/String; +MD: mc/a (Lhd;)V net/minecraft/network/play/client/C17PacketCustomPayload/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mc/a (Lhg;)V net/minecraft/network/play/client/C17PacketCustomPayload/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mc/a (Lls;)V net/minecraft/network/play/client/C17PacketCustomPayload/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: mc/b ()Lhd; net/minecraft/network/play/client/C17PacketCustomPayload/func_180760_b ()Lnet/minecraft/network/PacketBuffer; +MD: mc/b (Lhd;)V net/minecraft/network/play/client/C17PacketCustomPayload/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: md/a ()Lme; net/minecraft/network/play/client/C02PacketUseEntity/func_149565_c ()Lnet/minecraft/network/play/client/C02PacketUseEntity$Action; +MD: md/a (Laqu;)Lwv; net/minecraft/network/play/client/C02PacketUseEntity/func_149564_a (Lnet/minecraft/world/World;)Lnet/minecraft/entity/Entity; +MD: md/a (Lhd;)V net/minecraft/network/play/client/C02PacketUseEntity/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: md/a (Lhg;)V net/minecraft/network/play/client/C02PacketUseEntity/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: md/a (Lls;)V net/minecraft/network/play/client/C02PacketUseEntity/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: md/b ()Lbrw; net/minecraft/network/play/client/C02PacketUseEntity/func_179712_b ()Lnet/minecraft/util/Vec3; +MD: md/b (Lhd;)V net/minecraft/network/play/client/C02PacketUseEntity/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: me/values ()[Lme; net/minecraft/network/play/client/C02PacketUseEntity$Action/values ()[Lnet/minecraft/network/play/client/C02PacketUseEntity$Action; +MD: mf/a ()I net/minecraft/network/play/client/C00PacketKeepAlive/func_149460_c ()I +MD: mf/a (Lhd;)V net/minecraft/network/play/client/C00PacketKeepAlive/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mf/a (Lhg;)V net/minecraft/network/play/client/C00PacketKeepAlive/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mf/a (Lls;)V net/minecraft/network/play/client/C00PacketKeepAlive/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: mf/b (Lhd;)V net/minecraft/network/play/client/C00PacketKeepAlive/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mg/a ()D net/minecraft/network/play/client/C03PacketPlayer/func_149464_c ()D +MD: mg/a (Lhd;)V net/minecraft/network/play/client/C03PacketPlayer/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mg/a (Lhg;)V net/minecraft/network/play/client/C03PacketPlayer/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mg/a (Lls;)V net/minecraft/network/play/client/C03PacketPlayer/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: mg/a (Z)V net/minecraft/network/play/client/C03PacketPlayer/func_149469_a (Z)V +MD: mg/b ()D net/minecraft/network/play/client/C03PacketPlayer/func_149467_d ()D +MD: mg/b (Lhd;)V net/minecraft/network/play/client/C03PacketPlayer/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mg/c ()D net/minecraft/network/play/client/C03PacketPlayer/func_149472_e ()D +MD: mg/d ()F net/minecraft/network/play/client/C03PacketPlayer/func_149462_g ()F +MD: mg/e ()F net/minecraft/network/play/client/C03PacketPlayer/func_149470_h ()F +MD: mg/f ()Z net/minecraft/network/play/client/C03PacketPlayer/func_149465_i ()Z +MD: mg/g ()Z net/minecraft/network/play/client/C03PacketPlayer/func_149466_j ()Z +MD: mg/h ()Z net/minecraft/network/play/client/C03PacketPlayer/func_149463_k ()Z +MD: mh/a (Lhd;)V net/minecraft/network/play/client/C03PacketPlayer$C04PacketPlayerPosition/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mh/a (Lhg;)V net/minecraft/network/play/client/C03PacketPlayer$C04PacketPlayerPosition/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mh/b (Lhd;)V net/minecraft/network/play/client/C03PacketPlayer$C04PacketPlayerPosition/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mi/a (Lhd;)V net/minecraft/network/play/client/C03PacketPlayer$C06PacketPlayerPosLook/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mi/a (Lhg;)V net/minecraft/network/play/client/C03PacketPlayer$C06PacketPlayerPosLook/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mi/b (Lhd;)V net/minecraft/network/play/client/C03PacketPlayer$C06PacketPlayerPosLook/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mj/a (Lhd;)V net/minecraft/network/play/client/C03PacketPlayer$C05PacketPlayerLook/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mj/a (Lhg;)V net/minecraft/network/play/client/C03PacketPlayer$C05PacketPlayerLook/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mj/b (Lhd;)V net/minecraft/network/play/client/C03PacketPlayer$C05PacketPlayerLook/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mk/a ()Z net/minecraft/network/play/client/C13PacketPlayerAbilities/func_149494_c ()Z +MD: mk/a (F)V net/minecraft/network/play/client/C13PacketPlayerAbilities/func_149485_a (F)V +MD: mk/a (Lhd;)V net/minecraft/network/play/client/C13PacketPlayerAbilities/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mk/a (Lhg;)V net/minecraft/network/play/client/C13PacketPlayerAbilities/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mk/a (Lls;)V net/minecraft/network/play/client/C13PacketPlayerAbilities/func_180761_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: mk/a (Z)V net/minecraft/network/play/client/C13PacketPlayerAbilities/func_149490_a (Z)V +MD: mk/b ()Z net/minecraft/network/play/client/C13PacketPlayerAbilities/func_149488_d ()Z +MD: mk/b (F)V net/minecraft/network/play/client/C13PacketPlayerAbilities/func_149492_b (F)V +MD: mk/b (Lhd;)V net/minecraft/network/play/client/C13PacketPlayerAbilities/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mk/b (Z)V net/minecraft/network/play/client/C13PacketPlayerAbilities/func_149483_b (Z)V +MD: mk/c ()Z net/minecraft/network/play/client/C13PacketPlayerAbilities/func_149486_e ()Z +MD: mk/c (Z)V net/minecraft/network/play/client/C13PacketPlayerAbilities/func_149491_c (Z)V +MD: mk/d ()Z net/minecraft/network/play/client/C13PacketPlayerAbilities/func_149484_f ()Z +MD: mk/d (Z)V net/minecraft/network/play/client/C13PacketPlayerAbilities/func_149493_d (Z)V +MD: ml/a ()Ldt; net/minecraft/network/play/client/C07PacketPlayerDigging/func_179715_a ()Lnet/minecraft/util/BlockPos; +MD: ml/a (Lhd;)V net/minecraft/network/play/client/C07PacketPlayerDigging/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ml/a (Lhg;)V net/minecraft/network/play/client/C07PacketPlayerDigging/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ml/a (Lls;)V net/minecraft/network/play/client/C07PacketPlayerDigging/func_180763_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: ml/b ()Lej; net/minecraft/network/play/client/C07PacketPlayerDigging/func_179714_b ()Lnet/minecraft/util/EnumFacing; +MD: ml/b (Lhd;)V net/minecraft/network/play/client/C07PacketPlayerDigging/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ml/c ()Lmm; net/minecraft/network/play/client/C07PacketPlayerDigging/func_180762_c ()Lnet/minecraft/network/play/client/C07PacketPlayerDigging$Action; +MD: mm/values ()[Lmm; net/minecraft/network/play/client/C07PacketPlayerDigging$Action/values ()[Lnet/minecraft/network/play/client/C07PacketPlayerDigging$Action; +MD: mn/a (Lhd;)V net/minecraft/network/play/client/C0BPacketEntityAction/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mn/a (Lhg;)V net/minecraft/network/play/client/C0BPacketEntityAction/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mn/a (Lls;)V net/minecraft/network/play/client/C0BPacketEntityAction/func_180765_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: mn/b ()Lmo; net/minecraft/network/play/client/C0BPacketEntityAction/func_180764_b ()Lnet/minecraft/network/play/client/C0BPacketEntityAction$Action; +MD: mn/b (Lhd;)V net/minecraft/network/play/client/C0BPacketEntityAction/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mn/c ()I net/minecraft/network/play/client/C0BPacketEntityAction/func_149512_e ()I +MD: mo/values ()[Lmo; net/minecraft/network/play/client/C0BPacketEntityAction$Action/values ()[Lnet/minecraft/network/play/client/C0BPacketEntityAction$Action; +MD: mp/a ()F net/minecraft/network/play/client/C0CPacketInput/func_149620_c ()F +MD: mp/a (Lhd;)V net/minecraft/network/play/client/C0CPacketInput/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mp/a (Lhg;)V net/minecraft/network/play/client/C0CPacketInput/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mp/a (Lls;)V net/minecraft/network/play/client/C0CPacketInput/func_180766_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: mp/b ()F net/minecraft/network/play/client/C0CPacketInput/func_149616_d ()F +MD: mp/b (Lhd;)V net/minecraft/network/play/client/C0CPacketInput/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mp/c ()Z net/minecraft/network/play/client/C0CPacketInput/func_149618_e ()Z +MD: mp/d ()Z net/minecraft/network/play/client/C0CPacketInput/func_149617_f ()Z +MD: mq/a (Lhd;)V net/minecraft/network/play/client/C19PacketResourcePackStatus/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mq/a (Lhg;)V net/minecraft/network/play/client/C19PacketResourcePackStatus/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mq/a (Lls;)V net/minecraft/network/play/client/C19PacketResourcePackStatus/func_179718_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: mq/b (Lhd;)V net/minecraft/network/play/client/C19PacketResourcePackStatus/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mr/values ()[Lmr; net/minecraft/network/play/client/C19PacketResourcePackStatus$Action/values ()[Lnet/minecraft/network/play/client/C19PacketResourcePackStatus$Action; +MD: ms/a ()I net/minecraft/network/play/client/C09PacketHeldItemChange/func_149614_c ()I +MD: ms/a (Lhd;)V net/minecraft/network/play/client/C09PacketHeldItemChange/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ms/a (Lhg;)V net/minecraft/network/play/client/C09PacketHeldItemChange/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ms/a (Lls;)V net/minecraft/network/play/client/C09PacketHeldItemChange/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: ms/b (Lhd;)V net/minecraft/network/play/client/C09PacketHeldItemChange/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mt/a ()I net/minecraft/network/play/client/C10PacketCreativeInventoryAction/func_149627_c ()I +MD: mt/a (Lhd;)V net/minecraft/network/play/client/C10PacketCreativeInventoryAction/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mt/a (Lhg;)V net/minecraft/network/play/client/C10PacketCreativeInventoryAction/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mt/a (Lls;)V net/minecraft/network/play/client/C10PacketCreativeInventoryAction/func_180767_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: mt/b ()Lamj; net/minecraft/network/play/client/C10PacketCreativeInventoryAction/func_149625_d ()Lnet/minecraft/item/ItemStack; +MD: mt/b (Lhd;)V net/minecraft/network/play/client/C10PacketCreativeInventoryAction/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mu/a ()Ldt; net/minecraft/network/play/client/C12PacketUpdateSign/func_179722_a ()Lnet/minecraft/util/BlockPos; +MD: mu/a (Lhd;)V net/minecraft/network/play/client/C12PacketUpdateSign/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mu/a (Lhg;)V net/minecraft/network/play/client/C12PacketUpdateSign/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mu/a (Lls;)V net/minecraft/network/play/client/C12PacketUpdateSign/func_148833_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: mu/b ()[Lho; net/minecraft/network/play/client/C12PacketUpdateSign/func_180768_b ()[Lnet/minecraft/util/IChatComponent; +MD: mu/b (Lhd;)V net/minecraft/network/play/client/C12PacketUpdateSign/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mv/a (Lhd;)V net/minecraft/network/play/client/C0APacketAnimation/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mv/a (Lhg;)V net/minecraft/network/play/client/C0APacketAnimation/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mv/a (Lls;)V net/minecraft/network/play/client/C0APacketAnimation/func_179721_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: mv/b (Lhd;)V net/minecraft/network/play/client/C0APacketAnimation/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mw/a (Lhd;)V net/minecraft/network/play/client/C18PacketSpectate/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mw/a (Lhg;)V net/minecraft/network/play/client/C18PacketSpectate/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mw/a (Lls;)V net/minecraft/network/play/client/C18PacketSpectate/func_179728_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: mw/a (Lqt;)Lwv; net/minecraft/network/play/client/C18PacketSpectate/func_179727_a (Lnet/minecraft/world/WorldServer;)Lnet/minecraft/entity/Entity; +MD: mw/b (Lhd;)V net/minecraft/network/play/client/C18PacketSpectate/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mx/a ()Ldt; net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/func_179724_a ()Lnet/minecraft/util/BlockPos; +MD: mx/a (Lhd;)V net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mx/a (Lhg;)V net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mx/a (Lls;)V net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/func_180769_a (Lnet/minecraft/network/play/INetHandlerPlayServer;)V +MD: mx/b ()I net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/func_149568_f ()I +MD: mx/b (Lhd;)V net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: mx/c ()Lamj; net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/func_149574_g ()Lnet/minecraft/item/ItemStack; +MD: mx/d ()F net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/func_149573_h ()F +MD: mx/e ()F net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/func_149569_i ()F +MD: mx/f ()F net/minecraft/network/play/client/C08PacketPlayerBlockPlacement/func_149575_j ()F +MD: mz/a ()Lgy; net/minecraft/network/handshake/client/C00Handshake/func_149594_c ()Lnet/minecraft/network/EnumConnectionState; +MD: mz/a (Lhd;)V net/minecraft/network/handshake/client/C00Handshake/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: mz/a (Lhg;)V net/minecraft/network/handshake/client/C00Handshake/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: mz/a (Lna;)V net/minecraft/network/handshake/client/C00Handshake/func_180770_a (Lnet/minecraft/network/handshake/INetHandlerHandshakeServer;)V +MD: mz/b ()I net/minecraft/network/handshake/client/C00Handshake/func_149595_d ()I +MD: mz/b (Lhd;)V net/minecraft/network/handshake/client/C00Handshake/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: na/a (Lmz;)V net/minecraft/network/handshake/INetHandlerHandshakeServer/func_147383_a (Lnet/minecraft/network/handshake/client/C00Handshake;)V +MD: nc/a (Lnd;)V net/minecraft/network/login/INetHandlerLoginClient/func_147390_a (Lnet/minecraft/network/login/server/S02PacketLoginSuccess;)V +MD: nc/a (Lne;)V net/minecraft/network/login/INetHandlerLoginClient/func_147389_a (Lnet/minecraft/network/login/server/S01PacketEncryptionRequest;)V +MD: nc/a (Lnf;)V net/minecraft/network/login/INetHandlerLoginClient/func_180464_a (Lnet/minecraft/network/login/server/S03PacketEnableCompression;)V +MD: nc/a (Lng;)V net/minecraft/network/login/INetHandlerLoginClient/func_147388_a (Lnet/minecraft/network/login/server/S00PacketDisconnect;)V +MD: nd/a ()Lcom/mojang/authlib/GameProfile; net/minecraft/network/login/server/S02PacketLoginSuccess/func_179730_a ()Lcom/mojang/authlib/GameProfile; +MD: nd/a (Lhd;)V net/minecraft/network/login/server/S02PacketLoginSuccess/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: nd/a (Lhg;)V net/minecraft/network/login/server/S02PacketLoginSuccess/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: nd/a (Lnc;)V net/minecraft/network/login/server/S02PacketLoginSuccess/func_180771_a (Lnet/minecraft/network/login/INetHandlerLoginClient;)V +MD: nd/b (Lhd;)V net/minecraft/network/login/server/S02PacketLoginSuccess/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ne/a ()Ljava/lang/String; net/minecraft/network/login/server/S01PacketEncryptionRequest/func_149609_c ()Ljava/lang/String; +MD: ne/a (Lhd;)V net/minecraft/network/login/server/S01PacketEncryptionRequest/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ne/a (Lhg;)V net/minecraft/network/login/server/S01PacketEncryptionRequest/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ne/a (Lnc;)V net/minecraft/network/login/server/S01PacketEncryptionRequest/func_148833_a (Lnet/minecraft/network/login/INetHandlerLoginClient;)V +MD: ne/b ()Ljava/security/PublicKey; net/minecraft/network/login/server/S01PacketEncryptionRequest/func_149608_d ()Ljava/security/PublicKey; +MD: ne/b (Lhd;)V net/minecraft/network/login/server/S01PacketEncryptionRequest/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ne/c ()[B net/minecraft/network/login/server/S01PacketEncryptionRequest/func_149607_e ()[B +MD: net/minecraft/client/ClientBrandRetriever/getClientModName ()Ljava/lang/String; net/minecraft/client/ClientBrandRetriever/getClientModName ()Ljava/lang/String; +MD: net/minecraft/client/main/Main/a (Ljava/lang/String;)Z net/minecraft/client/main/Main/func_110121_a (Ljava/lang/String;)Z +MD: net/minecraft/realms/DisconnectedRealmsScreen/buttonClicked (Lnet/minecraft/realms/RealmsButton;)V net/minecraft/realms/DisconnectedRealmsScreen/buttonClicked (Lnet/minecraft/realms/RealmsButton;)V +MD: net/minecraft/realms/DisconnectedRealmsScreen/init ()V net/minecraft/realms/DisconnectedRealmsScreen/init ()V +MD: net/minecraft/realms/DisconnectedRealmsScreen/keyPressed (CI)V net/minecraft/realms/DisconnectedRealmsScreen/keyPressed (CI)V +MD: net/minecraft/realms/DisconnectedRealmsScreen/render (IIF)V net/minecraft/realms/DisconnectedRealmsScreen/render (IIF)V +MD: net/minecraft/realms/Realms/adventureId ()I net/minecraft/realms/Realms/adventureId ()I +MD: net/minecraft/realms/Realms/creativeId ()I net/minecraft/realms/Realms/creativeId ()I +MD: net/minecraft/realms/Realms/currentTimeMillis ()J net/minecraft/realms/Realms/currentTimeMillis ()J +MD: net/minecraft/realms/Realms/getGameDirectoryPath ()Ljava/lang/String; net/minecraft/realms/Realms/getGameDirectoryPath ()Ljava/lang/String; +MD: net/minecraft/realms/Realms/getName ()Ljava/lang/String; net/minecraft/realms/Realms/getName ()Ljava/lang/String; +MD: net/minecraft/realms/Realms/getProxy ()Ljava/net/Proxy; net/minecraft/realms/Realms/getProxy ()Ljava/net/Proxy; +MD: net/minecraft/realms/Realms/getSessionId ()Ljava/lang/String; net/minecraft/realms/Realms/getSessionId ()Ljava/lang/String; +MD: net/minecraft/realms/Realms/isTouchScreen ()Z net/minecraft/realms/Realms/isTouchScreen ()Z +MD: net/minecraft/realms/Realms/sessionId ()Ljava/lang/String; net/minecraft/realms/Realms/sessionId ()Ljava/lang/String; +MD: net/minecraft/realms/Realms/setScreen (Lnet/minecraft/realms/RealmsScreen;)V net/minecraft/realms/Realms/setScreen (Lnet/minecraft/realms/RealmsScreen;)V +MD: net/minecraft/realms/Realms/survivalId ()I net/minecraft/realms/Realms/survivalId ()I +MD: net/minecraft/realms/Realms/userName ()Ljava/lang/String; net/minecraft/realms/Realms/userName ()Ljava/lang/String; +MD: net/minecraft/realms/Realms/uuidToName (Ljava/lang/String;)Ljava/lang/String; net/minecraft/realms/Realms/uuidToName (Ljava/lang/String;)Ljava/lang/String; +MD: net/minecraft/realms/RealmsAnvilLevelStorageSource/clearAll ()V net/minecraft/realms/RealmsAnvilLevelStorageSource/clearAll ()V +MD: net/minecraft/realms/RealmsAnvilLevelStorageSource/convertLevel (Ljava/lang/String;Luy;)Z net/minecraft/realms/RealmsAnvilLevelStorageSource/convertLevel (Ljava/lang/String;Lnet/minecraft/util/IProgressUpdate;)Z +MD: net/minecraft/realms/RealmsAnvilLevelStorageSource/deleteLevel (Ljava/lang/String;)Z net/minecraft/realms/RealmsAnvilLevelStorageSource/deleteLevel (Ljava/lang/String;)Z +MD: net/minecraft/realms/RealmsAnvilLevelStorageSource/getLevelList ()Ljava/util/List; net/minecraft/realms/RealmsAnvilLevelStorageSource/getLevelList ()Ljava/util/List; +MD: net/minecraft/realms/RealmsAnvilLevelStorageSource/getName ()Ljava/lang/String; net/minecraft/realms/RealmsAnvilLevelStorageSource/getName ()Ljava/lang/String; +MD: net/minecraft/realms/RealmsAnvilLevelStorageSource/isConvertible (Ljava/lang/String;)Z net/minecraft/realms/RealmsAnvilLevelStorageSource/isConvertible (Ljava/lang/String;)Z +MD: net/minecraft/realms/RealmsAnvilLevelStorageSource/isNewLevelIdAcceptable (Ljava/lang/String;)Z net/minecraft/realms/RealmsAnvilLevelStorageSource/isNewLevelIdAcceptable (Ljava/lang/String;)Z +MD: net/minecraft/realms/RealmsAnvilLevelStorageSource/levelExists (Ljava/lang/String;)Z net/minecraft/realms/RealmsAnvilLevelStorageSource/levelExists (Ljava/lang/String;)Z +MD: net/minecraft/realms/RealmsAnvilLevelStorageSource/renameLevel (Ljava/lang/String;Ljava/lang/String;)V net/minecraft/realms/RealmsAnvilLevelStorageSource/renameLevel (Ljava/lang/String;Ljava/lang/String;)V +MD: net/minecraft/realms/RealmsAnvilLevelStorageSource/requiresConversion (Ljava/lang/String;)Z net/minecraft/realms/RealmsAnvilLevelStorageSource/requiresConversion (Ljava/lang/String;)Z +MD: net/minecraft/realms/RealmsBridge/init ()V net/minecraft/realms/RealmsBridge/init ()V +MD: net/minecraft/realms/RealmsBridge/switchToRealms (Lbxf;)V net/minecraft/realms/RealmsBridge/switchToRealms (Lnet/minecraft/client/gui/GuiScreen;)V +MD: net/minecraft/realms/RealmsButton/active ()Z net/minecraft/realms/RealmsButton/active ()Z +MD: net/minecraft/realms/RealmsButton/active (Z)V net/minecraft/realms/RealmsButton/active (Z)V +MD: net/minecraft/realms/RealmsButton/blit (IIIIII)V net/minecraft/realms/RealmsButton/blit (IIIIII)V +MD: net/minecraft/realms/RealmsButton/clicked (II)V net/minecraft/realms/RealmsButton/clicked (II)V +MD: net/minecraft/realms/RealmsButton/getHeight ()I net/minecraft/realms/RealmsButton/getHeight ()I +MD: net/minecraft/realms/RealmsButton/getProxy ()Lbug; net/minecraft/realms/RealmsButton/getProxy ()Lnet/minecraft/client/gui/GuiButton; +MD: net/minecraft/realms/RealmsButton/getWidth ()I net/minecraft/realms/RealmsButton/getWidth ()I +MD: net/minecraft/realms/RealmsButton/getYImage (Z)I net/minecraft/realms/RealmsButton/getYImage (Z)I +MD: net/minecraft/realms/RealmsButton/id ()I net/minecraft/realms/RealmsButton/id ()I +MD: net/minecraft/realms/RealmsButton/msg (Ljava/lang/String;)V net/minecraft/realms/RealmsButton/msg (Ljava/lang/String;)V +MD: net/minecraft/realms/RealmsButton/released (II)V net/minecraft/realms/RealmsButton/released (II)V +MD: net/minecraft/realms/RealmsButton/render (II)V net/minecraft/realms/RealmsButton/render (II)V +MD: net/minecraft/realms/RealmsButton/renderBg (II)V net/minecraft/realms/RealmsButton/renderBg (II)V +MD: net/minecraft/realms/RealmsButton/y ()I net/minecraft/realms/RealmsButton/y ()I +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/customMouseEvent (IIIFI)V net/minecraft/realms/RealmsClickableScrolledSelectionList/customMouseEvent (IIIFI)V +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/getItemCount ()I net/minecraft/realms/RealmsClickableScrolledSelectionList/getItemCount ()I +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/getMaxPosition ()I net/minecraft/realms/RealmsClickableScrolledSelectionList/getMaxPosition ()I +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/getScroll ()I net/minecraft/realms/RealmsClickableScrolledSelectionList/getScroll ()I +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/getScrollbarPosition ()I net/minecraft/realms/RealmsClickableScrolledSelectionList/getScrollbarPosition ()I +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/isSelectedItem (I)Z net/minecraft/realms/RealmsClickableScrolledSelectionList/isSelectedItem (I)Z +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/itemClicked (IIIII)V net/minecraft/realms/RealmsClickableScrolledSelectionList/itemClicked (IIIII)V +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/mouseEvent ()V net/minecraft/realms/RealmsClickableScrolledSelectionList/mouseEvent ()V +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/render (IIF)V net/minecraft/realms/RealmsClickableScrolledSelectionList/render (IIF)V +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/renderBackground ()V net/minecraft/realms/RealmsClickableScrolledSelectionList/renderBackground ()V +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/renderItem (IIIIII)V net/minecraft/realms/RealmsClickableScrolledSelectionList/renderItem (IIIIII)V +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/renderItem (IIIILnet/minecraft/realms/Tezzelator;II)V net/minecraft/realms/RealmsClickableScrolledSelectionList/renderItem (IIIILnet/minecraft/realms/Tezzelator;II)V +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/renderList (IIII)V net/minecraft/realms/RealmsClickableScrolledSelectionList/renderList (IIII)V +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/renderSelected (IIILnet/minecraft/realms/Tezzelator;)V net/minecraft/realms/RealmsClickableScrolledSelectionList/renderSelected (IIILnet/minecraft/realms/Tezzelator;)V +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/scroll (I)V net/minecraft/realms/RealmsClickableScrolledSelectionList/scroll (I)V +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/selectItem (IZII)V net/minecraft/realms/RealmsClickableScrolledSelectionList/selectItem (IZII)V +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/setLeftPos (I)V net/minecraft/realms/RealmsClickableScrolledSelectionList/setLeftPos (I)V +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/width ()I net/minecraft/realms/RealmsClickableScrolledSelectionList/width ()I +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/xm ()I net/minecraft/realms/RealmsClickableScrolledSelectionList/xm ()I +MD: net/minecraft/realms/RealmsClickableScrolledSelectionList/ym ()I net/minecraft/realms/RealmsClickableScrolledSelectionList/ym ()I +MD: net/minecraft/realms/RealmsConnect/abort ()V net/minecraft/realms/RealmsConnect/abort ()V +MD: net/minecraft/realms/RealmsConnect/access$000 (Lnet/minecraft/realms/RealmsConnect;)Z net/minecraft/realms/RealmsConnect/access$000 (Lnet/minecraft/realms/RealmsConnect;)Z +MD: net/minecraft/realms/RealmsConnect/access$100 (Lnet/minecraft/realms/RealmsConnect;)Lgr; net/minecraft/realms/RealmsConnect/access$100 (Lnet/minecraft/realms/RealmsConnect;)Lnet/minecraft/network/NetworkManager; +MD: net/minecraft/realms/RealmsConnect/access$102 (Lnet/minecraft/realms/RealmsConnect;Lgr;)Lgr; net/minecraft/realms/RealmsConnect/access$102 (Lnet/minecraft/realms/RealmsConnect;Lnet/minecraft/network/NetworkManager;)Lnet/minecraft/network/NetworkManager; +MD: net/minecraft/realms/RealmsConnect/access$200 (Lnet/minecraft/realms/RealmsConnect;)Lnet/minecraft/realms/RealmsScreen; net/minecraft/realms/RealmsConnect/access$200 (Lnet/minecraft/realms/RealmsConnect;)Lnet/minecraft/realms/RealmsScreen; +MD: net/minecraft/realms/RealmsConnect/access$300 ()Lorg/apache/logging/log4j/Logger; net/minecraft/realms/RealmsConnect/access$300 ()Lorg/apache/logging/log4j/Logger; +MD: net/minecraft/realms/RealmsConnect/connect (Ljava/lang/String;I)V net/minecraft/realms/RealmsConnect/connect (Ljava/lang/String;I)V +MD: net/minecraft/realms/RealmsConnect/tick ()V net/minecraft/realms/RealmsConnect/tick ()V +MD: net/minecraft/realms/RealmsEditBox/getValue ()Ljava/lang/String; net/minecraft/realms/RealmsEditBox/getValue ()Ljava/lang/String; +MD: net/minecraft/realms/RealmsEditBox/isFocused ()Z net/minecraft/realms/RealmsEditBox/isFocused ()Z +MD: net/minecraft/realms/RealmsEditBox/keyPressed (CI)V net/minecraft/realms/RealmsEditBox/keyPressed (CI)V +MD: net/minecraft/realms/RealmsEditBox/mouseClicked (III)V net/minecraft/realms/RealmsEditBox/mouseClicked (III)V +MD: net/minecraft/realms/RealmsEditBox/render ()V net/minecraft/realms/RealmsEditBox/render ()V +MD: net/minecraft/realms/RealmsEditBox/setFocus (Z)V net/minecraft/realms/RealmsEditBox/setFocus (Z)V +MD: net/minecraft/realms/RealmsEditBox/setIsEditable (Z)V net/minecraft/realms/RealmsEditBox/setIsEditable (Z)V +MD: net/minecraft/realms/RealmsEditBox/setMaxLength (I)V net/minecraft/realms/RealmsEditBox/setMaxLength (I)V +MD: net/minecraft/realms/RealmsEditBox/setValue (Ljava/lang/String;)V net/minecraft/realms/RealmsEditBox/setValue (Ljava/lang/String;)V +MD: net/minecraft/realms/RealmsEditBox/tick ()V net/minecraft/realms/RealmsEditBox/tick ()V +MD: net/minecraft/realms/RealmsLevelSummary/compareTo (Lbrb;)I net/minecraft/realms/RealmsLevelSummary/compareTo (Lnet/minecraft/world/storage/SaveFormatComparator;)I +MD: net/minecraft/realms/RealmsLevelSummary/compareTo (Ljava/lang/Object;)I net/minecraft/realms/RealmsLevelSummary/compareTo (Ljava/lang/Object;)I +MD: net/minecraft/realms/RealmsLevelSummary/compareTo (Lnet/minecraft/realms/RealmsLevelSummary;)I net/minecraft/realms/RealmsLevelSummary/compareTo (Lnet/minecraft/realms/RealmsLevelSummary;)I +MD: net/minecraft/realms/RealmsLevelSummary/getGameMode ()I net/minecraft/realms/RealmsLevelSummary/getGameMode ()I +MD: net/minecraft/realms/RealmsLevelSummary/getLastPlayed ()J net/minecraft/realms/RealmsLevelSummary/getLastPlayed ()J +MD: net/minecraft/realms/RealmsLevelSummary/getLevelId ()Ljava/lang/String; net/minecraft/realms/RealmsLevelSummary/getLevelId ()Ljava/lang/String; +MD: net/minecraft/realms/RealmsLevelSummary/getLevelName ()Ljava/lang/String; net/minecraft/realms/RealmsLevelSummary/getLevelName ()Ljava/lang/String; +MD: net/minecraft/realms/RealmsLevelSummary/getSizeOnDisk ()J net/minecraft/realms/RealmsLevelSummary/getSizeOnDisk ()J +MD: net/minecraft/realms/RealmsLevelSummary/hasCheats ()Z net/minecraft/realms/RealmsLevelSummary/hasCheats ()Z +MD: net/minecraft/realms/RealmsLevelSummary/isHardcore ()Z net/minecraft/realms/RealmsLevelSummary/isHardcore ()Z +MD: net/minecraft/realms/RealmsLevelSummary/isRequiresConversion ()Z net/minecraft/realms/RealmsLevelSummary/isRequiresConversion ()Z +MD: net/minecraft/realms/RealmsMth/abs (F)F net/minecraft/realms/RealmsMth/abs (F)F +MD: net/minecraft/realms/RealmsMth/abs (I)I net/minecraft/realms/RealmsMth/abs (I)I +MD: net/minecraft/realms/RealmsMth/absFloor (D)I net/minecraft/realms/RealmsMth/absFloor (D)I +MD: net/minecraft/realms/RealmsMth/absMax (DD)D net/minecraft/realms/RealmsMth/absMax (DD)D +MD: net/minecraft/realms/RealmsMth/average ([J)D net/minecraft/realms/RealmsMth/average ([J)D +MD: net/minecraft/realms/RealmsMth/ceil (D)I net/minecraft/realms/RealmsMth/ceil (D)I +MD: net/minecraft/realms/RealmsMth/ceil (F)I net/minecraft/realms/RealmsMth/ceil (F)I +MD: net/minecraft/realms/RealmsMth/clamp (DDD)D net/minecraft/realms/RealmsMth/clamp (DDD)D +MD: net/minecraft/realms/RealmsMth/clamp (FFF)F net/minecraft/realms/RealmsMth/clamp (FFF)F +MD: net/minecraft/realms/RealmsMth/clamp (III)I net/minecraft/realms/RealmsMth/clamp (III)I +MD: net/minecraft/realms/RealmsMth/clampedLerp (DDD)D net/minecraft/realms/RealmsMth/clampedLerp (DDD)D +MD: net/minecraft/realms/RealmsMth/cos (F)F net/minecraft/realms/RealmsMth/cos (F)F +MD: net/minecraft/realms/RealmsMth/fastFloor (D)I net/minecraft/realms/RealmsMth/fastFloor (D)I +MD: net/minecraft/realms/RealmsMth/floor (D)I net/minecraft/realms/RealmsMth/floor (D)I +MD: net/minecraft/realms/RealmsMth/floor (F)I net/minecraft/realms/RealmsMth/floor (F)I +MD: net/minecraft/realms/RealmsMth/getDouble (Ljava/lang/String;D)D net/minecraft/realms/RealmsMth/getDouble (Ljava/lang/String;D)D +MD: net/minecraft/realms/RealmsMth/getDouble (Ljava/lang/String;DD)D net/minecraft/realms/RealmsMth/getDouble (Ljava/lang/String;DD)D +MD: net/minecraft/realms/RealmsMth/getInt (Ljava/lang/String;I)I net/minecraft/realms/RealmsMth/getInt (Ljava/lang/String;I)I +MD: net/minecraft/realms/RealmsMth/getInt (Ljava/lang/String;II)I net/minecraft/realms/RealmsMth/getInt (Ljava/lang/String;II)I +MD: net/minecraft/realms/RealmsMth/intFloorDiv (II)I net/minecraft/realms/RealmsMth/intFloorDiv (II)I +MD: net/minecraft/realms/RealmsMth/isEmpty (Ljava/lang/String;)Z net/minecraft/realms/RealmsMth/isEmpty (Ljava/lang/String;)Z +MD: net/minecraft/realms/RealmsMth/lfloor (D)J net/minecraft/realms/RealmsMth/lfloor (D)J +MD: net/minecraft/realms/RealmsMth/log2 (I)I net/minecraft/realms/RealmsMth/log2 (I)I +MD: net/minecraft/realms/RealmsMth/nextDouble (Ljava/util/Random;DD)D net/minecraft/realms/RealmsMth/nextDouble (Ljava/util/Random;DD)D +MD: net/minecraft/realms/RealmsMth/nextFloat (Ljava/util/Random;FF)F net/minecraft/realms/RealmsMth/nextFloat (Ljava/util/Random;FF)F +MD: net/minecraft/realms/RealmsMth/nextInt (Ljava/util/Random;II)I net/minecraft/realms/RealmsMth/nextInt (Ljava/util/Random;II)I +MD: net/minecraft/realms/RealmsMth/roundUp (II)I net/minecraft/realms/RealmsMth/roundUp (II)I +MD: net/minecraft/realms/RealmsMth/sin (F)F net/minecraft/realms/RealmsMth/sin (F)F +MD: net/minecraft/realms/RealmsMth/smallestEncompassingPowerOfTwo (I)I net/minecraft/realms/RealmsMth/smallestEncompassingPowerOfTwo (I)I +MD: net/minecraft/realms/RealmsMth/sqrt (D)F net/minecraft/realms/RealmsMth/sqrt (D)F +MD: net/minecraft/realms/RealmsMth/sqrt (F)F net/minecraft/realms/RealmsMth/sqrt (F)F +MD: net/minecraft/realms/RealmsMth/wrapDegrees (D)D net/minecraft/realms/RealmsMth/wrapDegrees (D)D +MD: net/minecraft/realms/RealmsMth/wrapDegrees (F)F net/minecraft/realms/RealmsMth/wrapDegrees (F)F +MD: net/minecraft/realms/RealmsScreen/bind (Ljava/lang/String;)V net/minecraft/realms/RealmsScreen/bind (Ljava/lang/String;)V +MD: net/minecraft/realms/RealmsScreen/bindFace (Ljava/lang/String;Ljava/lang/String;)V net/minecraft/realms/RealmsScreen/bindFace (Ljava/lang/String;Ljava/lang/String;)V +MD: net/minecraft/realms/RealmsScreen/blit (IIFFIIFF)V net/minecraft/realms/RealmsScreen/blit (IIFFIIFF)V +MD: net/minecraft/realms/RealmsScreen/blit (IIFFIIIIFF)V net/minecraft/realms/RealmsScreen/blit (IIFFIIIIFF)V +MD: net/minecraft/realms/RealmsScreen/blit (IIIIII)V net/minecraft/realms/RealmsScreen/blit (IIIIII)V +MD: net/minecraft/realms/RealmsScreen/buttonClicked (Lnet/minecraft/realms/RealmsButton;)V net/minecraft/realms/RealmsScreen/buttonClicked (Lnet/minecraft/realms/RealmsButton;)V +MD: net/minecraft/realms/RealmsScreen/buttons ()Ljava/util/List; net/minecraft/realms/RealmsScreen/buttons ()Ljava/util/List; +MD: net/minecraft/realms/RealmsScreen/buttonsAdd (Lnet/minecraft/realms/RealmsButton;)V net/minecraft/realms/RealmsScreen/buttonsAdd (Lnet/minecraft/realms/RealmsButton;)V +MD: net/minecraft/realms/RealmsScreen/buttonsClear ()V net/minecraft/realms/RealmsScreen/buttonsClear ()V +MD: net/minecraft/realms/RealmsScreen/buttonsRemove (Lnet/minecraft/realms/RealmsButton;)V net/minecraft/realms/RealmsScreen/buttonsRemove (Lnet/minecraft/realms/RealmsButton;)V +MD: net/minecraft/realms/RealmsScreen/confirmResult (ZI)V net/minecraft/realms/RealmsScreen/confirmResult (ZI)V +MD: net/minecraft/realms/RealmsScreen/drawCenteredString (Ljava/lang/String;III)V net/minecraft/realms/RealmsScreen/drawCenteredString (Ljava/lang/String;III)V +MD: net/minecraft/realms/RealmsScreen/drawString (Ljava/lang/String;III)V net/minecraft/realms/RealmsScreen/drawString (Ljava/lang/String;III)V +MD: net/minecraft/realms/RealmsScreen/fillGradient (IIIIII)V net/minecraft/realms/RealmsScreen/fillGradient (IIIIII)V +MD: net/minecraft/realms/RealmsScreen/fontDrawShadow (Ljava/lang/String;III)V net/minecraft/realms/RealmsScreen/fontDrawShadow (Ljava/lang/String;III)V +MD: net/minecraft/realms/RealmsScreen/fontLineHeight ()I net/minecraft/realms/RealmsScreen/fontLineHeight ()I +MD: net/minecraft/realms/RealmsScreen/fontSplit (Ljava/lang/String;I)Ljava/util/List; net/minecraft/realms/RealmsScreen/fontSplit (Ljava/lang/String;I)Ljava/util/List; +MD: net/minecraft/realms/RealmsScreen/fontWidth (Ljava/lang/String;)I net/minecraft/realms/RealmsScreen/fontWidth (Ljava/lang/String;)I +MD: net/minecraft/realms/RealmsScreen/getLevelStorageSource ()Lnet/minecraft/realms/RealmsAnvilLevelStorageSource; net/minecraft/realms/RealmsScreen/getLevelStorageSource ()Lnet/minecraft/realms/RealmsAnvilLevelStorageSource; +MD: net/minecraft/realms/RealmsScreen/getLocalizedString (Ljava/lang/String;)Ljava/lang/String; net/minecraft/realms/RealmsScreen/getLocalizedString (Ljava/lang/String;)Ljava/lang/String; +MD: net/minecraft/realms/RealmsScreen/getLocalizedString (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; net/minecraft/realms/RealmsScreen/getLocalizedString (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; +MD: net/minecraft/realms/RealmsScreen/getProxy ()Lbvt; net/minecraft/realms/RealmsScreen/getProxy ()Lnet/minecraft/client/gui/GuiScreenRealmsProxy; +MD: net/minecraft/realms/RealmsScreen/height ()I net/minecraft/realms/RealmsScreen/height ()I +MD: net/minecraft/realms/RealmsScreen/init ()V net/minecraft/realms/RealmsScreen/init ()V +MD: net/minecraft/realms/RealmsScreen/init (Lbsu;II)V net/minecraft/realms/RealmsScreen/init (Lnet/minecraft/client/Minecraft;II)V +MD: net/minecraft/realms/RealmsScreen/isPauseScreen ()Z net/minecraft/realms/RealmsScreen/isPauseScreen ()Z +MD: net/minecraft/realms/RealmsScreen/keyPressed (CI)V net/minecraft/realms/RealmsScreen/keyPressed (CI)V +MD: net/minecraft/realms/RealmsScreen/keyboardEvent ()V net/minecraft/realms/RealmsScreen/keyboardEvent ()V +MD: net/minecraft/realms/RealmsScreen/mouseClicked (III)V net/minecraft/realms/RealmsScreen/mouseClicked (III)V +MD: net/minecraft/realms/RealmsScreen/mouseDragged (IIIJ)V net/minecraft/realms/RealmsScreen/mouseDragged (IIIJ)V +MD: net/minecraft/realms/RealmsScreen/mouseEvent ()V net/minecraft/realms/RealmsScreen/mouseEvent ()V +MD: net/minecraft/realms/RealmsScreen/mouseReleased (III)V net/minecraft/realms/RealmsScreen/mouseReleased (III)V +MD: net/minecraft/realms/RealmsScreen/newButton (IIIIILjava/lang/String;)Lnet/minecraft/realms/RealmsButton; net/minecraft/realms/RealmsScreen/newButton (IIIIILjava/lang/String;)Lnet/minecraft/realms/RealmsButton; +MD: net/minecraft/realms/RealmsScreen/newButton (IIILjava/lang/String;)Lnet/minecraft/realms/RealmsButton; net/minecraft/realms/RealmsScreen/newButton (IIILjava/lang/String;)Lnet/minecraft/realms/RealmsButton; +MD: net/minecraft/realms/RealmsScreen/newEditBox (IIIII)Lnet/minecraft/realms/RealmsEditBox; net/minecraft/realms/RealmsScreen/newEditBox (IIIII)Lnet/minecraft/realms/RealmsEditBox; +MD: net/minecraft/realms/RealmsScreen/removed ()V net/minecraft/realms/RealmsScreen/removed ()V +MD: net/minecraft/realms/RealmsScreen/render (IIF)V net/minecraft/realms/RealmsScreen/render (IIF)V +MD: net/minecraft/realms/RealmsScreen/renderBackground ()V net/minecraft/realms/RealmsScreen/renderBackground ()V +MD: net/minecraft/realms/RealmsScreen/renderBackground (I)V net/minecraft/realms/RealmsScreen/renderBackground (I)V +MD: net/minecraft/realms/RealmsScreen/renderTooltip (Lamj;II)V net/minecraft/realms/RealmsScreen/renderTooltip (Lnet/minecraft/item/ItemStack;II)V +MD: net/minecraft/realms/RealmsScreen/renderTooltip (Ljava/lang/String;II)V net/minecraft/realms/RealmsScreen/renderTooltip (Ljava/lang/String;II)V +MD: net/minecraft/realms/RealmsScreen/renderTooltip (Ljava/util/List;II)V net/minecraft/realms/RealmsScreen/renderTooltip (Ljava/util/List;II)V +MD: net/minecraft/realms/RealmsScreen/tick ()V net/minecraft/realms/RealmsScreen/tick ()V +MD: net/minecraft/realms/RealmsScreen/width ()I net/minecraft/realms/RealmsScreen/width ()I +MD: net/minecraft/realms/RealmsScrolledSelectionList/getItemCount ()I net/minecraft/realms/RealmsScrolledSelectionList/getItemCount ()I +MD: net/minecraft/realms/RealmsScrolledSelectionList/getMaxPosition ()I net/minecraft/realms/RealmsScrolledSelectionList/getMaxPosition ()I +MD: net/minecraft/realms/RealmsScrolledSelectionList/getScroll ()I net/minecraft/realms/RealmsScrolledSelectionList/getScroll ()I +MD: net/minecraft/realms/RealmsScrolledSelectionList/getScrollbarPosition ()I net/minecraft/realms/RealmsScrolledSelectionList/getScrollbarPosition ()I +MD: net/minecraft/realms/RealmsScrolledSelectionList/isSelectedItem (I)Z net/minecraft/realms/RealmsScrolledSelectionList/isSelectedItem (I)Z +MD: net/minecraft/realms/RealmsScrolledSelectionList/mouseEvent ()V net/minecraft/realms/RealmsScrolledSelectionList/mouseEvent ()V +MD: net/minecraft/realms/RealmsScrolledSelectionList/render (IIF)V net/minecraft/realms/RealmsScrolledSelectionList/render (IIF)V +MD: net/minecraft/realms/RealmsScrolledSelectionList/renderBackground ()V net/minecraft/realms/RealmsScrolledSelectionList/renderBackground ()V +MD: net/minecraft/realms/RealmsScrolledSelectionList/renderItem (IIIIII)V net/minecraft/realms/RealmsScrolledSelectionList/renderItem (IIIIII)V +MD: net/minecraft/realms/RealmsScrolledSelectionList/renderItem (IIIILnet/minecraft/realms/Tezzelator;II)V net/minecraft/realms/RealmsScrolledSelectionList/renderItem (IIIILnet/minecraft/realms/Tezzelator;II)V +MD: net/minecraft/realms/RealmsScrolledSelectionList/renderList (IIII)V net/minecraft/realms/RealmsScrolledSelectionList/renderList (IIII)V +MD: net/minecraft/realms/RealmsScrolledSelectionList/scroll (I)V net/minecraft/realms/RealmsScrolledSelectionList/scroll (I)V +MD: net/minecraft/realms/RealmsScrolledSelectionList/selectItem (IZII)V net/minecraft/realms/RealmsScrolledSelectionList/selectItem (IZII)V +MD: net/minecraft/realms/RealmsScrolledSelectionList/width ()I net/minecraft/realms/RealmsScrolledSelectionList/width ()I +MD: net/minecraft/realms/RealmsScrolledSelectionList/xm ()I net/minecraft/realms/RealmsScrolledSelectionList/xm ()I +MD: net/minecraft/realms/RealmsScrolledSelectionList/ym ()I net/minecraft/realms/RealmsScrolledSelectionList/ym ()I +MD: net/minecraft/realms/RealmsServerAddress/getHost ()Ljava/lang/String; net/minecraft/realms/RealmsServerAddress/getHost ()Ljava/lang/String; +MD: net/minecraft/realms/RealmsServerAddress/getPort ()I net/minecraft/realms/RealmsServerAddress/getPort ()I +MD: net/minecraft/realms/RealmsServerAddress/parseString (Ljava/lang/String;)Lnet/minecraft/realms/RealmsServerAddress; net/minecraft/realms/RealmsServerAddress/parseString (Ljava/lang/String;)Lnet/minecraft/realms/RealmsServerAddress; +MD: net/minecraft/realms/RealmsServerStatusPinger/access$000 ()Lorg/apache/logging/log4j/Logger; net/minecraft/realms/RealmsServerStatusPinger/access$000 ()Lorg/apache/logging/log4j/Logger; +MD: net/minecraft/realms/RealmsServerStatusPinger/pingServer (Ljava/lang/String;Lnet/minecraft/realms/RealmsServerPing;)V net/minecraft/realms/RealmsServerStatusPinger/pingServer (Ljava/lang/String;Lnet/minecraft/realms/RealmsServerPing;)V +MD: net/minecraft/realms/RealmsServerStatusPinger/removeAll ()V net/minecraft/realms/RealmsServerStatusPinger/removeAll ()V +MD: net/minecraft/realms/RealmsServerStatusPinger/tick ()V net/minecraft/realms/RealmsServerStatusPinger/tick ()V +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/getItemCount ()I net/minecraft/realms/RealmsSimpleScrolledSelectionList/getItemCount ()I +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/getMaxPosition ()I net/minecraft/realms/RealmsSimpleScrolledSelectionList/getMaxPosition ()I +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/getScroll ()I net/minecraft/realms/RealmsSimpleScrolledSelectionList/getScroll ()I +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/getScrollbarPosition ()I net/minecraft/realms/RealmsSimpleScrolledSelectionList/getScrollbarPosition ()I +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/isSelectedItem (I)Z net/minecraft/realms/RealmsSimpleScrolledSelectionList/isSelectedItem (I)Z +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/mouseEvent ()V net/minecraft/realms/RealmsSimpleScrolledSelectionList/mouseEvent ()V +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/render (IIF)V net/minecraft/realms/RealmsSimpleScrolledSelectionList/render (IIF)V +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/renderBackground ()V net/minecraft/realms/RealmsSimpleScrolledSelectionList/renderBackground ()V +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/renderItem (IIIIII)V net/minecraft/realms/RealmsSimpleScrolledSelectionList/renderItem (IIIIII)V +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/renderItem (IIIILnet/minecraft/realms/Tezzelator;II)V net/minecraft/realms/RealmsSimpleScrolledSelectionList/renderItem (IIIILnet/minecraft/realms/Tezzelator;II)V +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/renderList (IIII)V net/minecraft/realms/RealmsSimpleScrolledSelectionList/renderList (IIII)V +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/scroll (I)V net/minecraft/realms/RealmsSimpleScrolledSelectionList/scroll (I)V +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/selectItem (IZII)V net/minecraft/realms/RealmsSimpleScrolledSelectionList/selectItem (IZII)V +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/width ()I net/minecraft/realms/RealmsSimpleScrolledSelectionList/width ()I +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/xm ()I net/minecraft/realms/RealmsSimpleScrolledSelectionList/xm ()I +MD: net/minecraft/realms/RealmsSimpleScrolledSelectionList/ym ()I net/minecraft/realms/RealmsSimpleScrolledSelectionList/ym ()I +MD: net/minecraft/realms/RealmsSliderButton/clamp (F)F net/minecraft/realms/RealmsSliderButton/clamp (F)F +MD: net/minecraft/realms/RealmsSliderButton/clampSteps (F)F net/minecraft/realms/RealmsSliderButton/clampSteps (F)F +MD: net/minecraft/realms/RealmsSliderButton/clicked (F)V net/minecraft/realms/RealmsSliderButton/clicked (F)V +MD: net/minecraft/realms/RealmsSliderButton/clicked (II)V net/minecraft/realms/RealmsSliderButton/clicked (II)V +MD: net/minecraft/realms/RealmsSliderButton/getMessage ()Ljava/lang/String; net/minecraft/realms/RealmsSliderButton/getMessage ()Ljava/lang/String; +MD: net/minecraft/realms/RealmsSliderButton/getYImage (Z)I net/minecraft/realms/RealmsSliderButton/getYImage (Z)I +MD: net/minecraft/realms/RealmsSliderButton/released (II)V net/minecraft/realms/RealmsSliderButton/released (II)V +MD: net/minecraft/realms/RealmsSliderButton/renderBg (II)V net/minecraft/realms/RealmsSliderButton/renderBg (II)V +MD: net/minecraft/realms/RealmsSliderButton/toPct (F)F net/minecraft/realms/RealmsSliderButton/toPct (F)F +MD: net/minecraft/realms/RealmsSliderButton/toValue (F)F net/minecraft/realms/RealmsSliderButton/toValue (F)F +MD: net/minecraft/realms/Tezzelator/begin ()V net/minecraft/realms/Tezzelator/begin ()V +MD: net/minecraft/realms/Tezzelator/begin (I)V net/minecraft/realms/Tezzelator/begin (I)V +MD: net/minecraft/realms/Tezzelator/color (BBB)V net/minecraft/realms/Tezzelator/color (BBB)V +MD: net/minecraft/realms/Tezzelator/color (FFF)V net/minecraft/realms/Tezzelator/color (FFF)V +MD: net/minecraft/realms/Tezzelator/color (FFFF)V net/minecraft/realms/Tezzelator/color (FFFF)V +MD: net/minecraft/realms/Tezzelator/color (I)V net/minecraft/realms/Tezzelator/color (I)V +MD: net/minecraft/realms/Tezzelator/color (II)V net/minecraft/realms/Tezzelator/color (II)V +MD: net/minecraft/realms/Tezzelator/color (III)V net/minecraft/realms/Tezzelator/color (III)V +MD: net/minecraft/realms/Tezzelator/color (IIII)V net/minecraft/realms/Tezzelator/color (IIII)V +MD: net/minecraft/realms/Tezzelator/end ()I net/minecraft/realms/Tezzelator/end ()I +MD: net/minecraft/realms/Tezzelator/noColor ()V net/minecraft/realms/Tezzelator/noColor ()V +MD: net/minecraft/realms/Tezzelator/normal (FFF)V net/minecraft/realms/Tezzelator/normal (FFF)V +MD: net/minecraft/realms/Tezzelator/offset (DDD)V net/minecraft/realms/Tezzelator/offset (DDD)V +MD: net/minecraft/realms/Tezzelator/restoreState (Lcix;)V net/minecraft/realms/Tezzelator/restoreState (Lnet/minecraft/client/renderer/WorldRenderer$State;)V +MD: net/minecraft/realms/Tezzelator/sortQuads (FFF)Lcix; net/minecraft/realms/Tezzelator/sortQuads (FFF)Lnet/minecraft/client/renderer/WorldRenderer$State; +MD: net/minecraft/realms/Tezzelator/tex (DD)V net/minecraft/realms/Tezzelator/tex (DD)V +MD: net/minecraft/realms/Tezzelator/tex2 (I)V net/minecraft/realms/Tezzelator/tex2 (I)V +MD: net/minecraft/realms/Tezzelator/vertex (DDD)V net/minecraft/realms/Tezzelator/vertex (DDD)V +MD: net/minecraft/realms/Tezzelator/vertexUV (DDDDD)V net/minecraft/realms/Tezzelator/vertexUV (DDDDD)V +MD: net/minecraft/server/MinecraftServer/A ()Z net/minecraft/server/MinecraftServer/func_71255_r ()Z +MD: net/minecraft/server/MinecraftServer/B ()V net/minecraft/server/MinecraftServer/func_71256_s ()V +MD: net/minecraft/server/MinecraftServer/C ()Ljava/lang/String; net/minecraft/server/MinecraftServer/func_71277_t ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/D ()I net/minecraft/server/MinecraftServer/func_71234_u ()I +MD: net/minecraft/server/MinecraftServer/E ()Ljava/lang/String; net/minecraft/server/MinecraftServer/func_71274_v ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/F ()Ljava/lang/String; net/minecraft/server/MinecraftServer/func_71249_w ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/G ()I net/minecraft/server/MinecraftServer/func_71233_x ()I +MD: net/minecraft/server/MinecraftServer/H ()I net/minecraft/server/MinecraftServer/func_71275_y ()I +MD: net/minecraft/server/MinecraftServer/I ()[Ljava/lang/String; net/minecraft/server/MinecraftServer/func_71213_z ()[Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/J ()[Lcom/mojang/authlib/GameProfile; net/minecraft/server/MinecraftServer/func_152357_F ()[Lcom/mojang/authlib/GameProfile; +MD: net/minecraft/server/MinecraftServer/K ()Ljava/lang/String; net/minecraft/server/MinecraftServer/func_71258_A ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/L ()Z net/minecraft/server/MinecraftServer/func_71239_B ()Z +MD: net/minecraft/server/MinecraftServer/M ()Lnet/minecraft/server/MinecraftServer; net/minecraft/server/MinecraftServer/func_71276_C ()Lnet/minecraft/server/MinecraftServer; +MD: net/minecraft/server/MinecraftServer/N ()Z net/minecraft/server/MinecraftServer/func_175578_N ()Z +MD: net/minecraft/server/MinecraftServer/O ()Lad; net/minecraft/server/MinecraftServer/func_71187_D ()Lnet/minecraft/command/ICommandManager; +MD: net/minecraft/server/MinecraftServer/P ()Ljava/security/KeyPair; net/minecraft/server/MinecraftServer/func_71250_E ()Ljava/security/KeyPair; +MD: net/minecraft/server/MinecraftServer/Q ()I net/minecraft/server/MinecraftServer/func_71215_F ()I +MD: net/minecraft/server/MinecraftServer/R ()Ljava/lang/String; net/minecraft/server/MinecraftServer/func_71214_G ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/S ()Z net/minecraft/server/MinecraftServer/func_71264_H ()Z +MD: net/minecraft/server/MinecraftServer/T ()Ljava/lang/String; net/minecraft/server/MinecraftServer/func_71270_I ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/U ()Ljava/lang/String; net/minecraft/server/MinecraftServer/func_71221_J ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/V ()Z net/minecraft/server/MinecraftServer/func_71193_K ()Z +MD: net/minecraft/server/MinecraftServer/W ()Z net/minecraft/server/MinecraftServer/func_71242_L ()Z +MD: net/minecraft/server/MinecraftServer/X ()Lbra; net/minecraft/server/MinecraftServer/func_71254_M ()Lnet/minecraft/world/storage/ISaveFormat; +MD: net/minecraft/server/MinecraftServer/Z ()V net/minecraft/server/MinecraftServer/func_71272_O ()V +MD: net/minecraft/server/MinecraftServer/a (I)Lqt; net/minecraft/server/MinecraftServer/func_71218_a (I)Lnet/minecraft/world/WorldServer; +MD: net/minecraft/server/MinecraftServer/a (ILjava/lang/String;)Z net/minecraft/server/MinecraftServer/func_70003_b (ILjava/lang/String;)Z +MD: net/minecraft/server/MinecraftServer/a (Lae;Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/server/MinecraftServer/func_180506_a (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: net/minecraft/server/MinecraftServer/a (Lag;I)V net/minecraft/server/MinecraftServer/func_174794_a (Lnet/minecraft/command/CommandResultStats$Type;I)V +MD: net/minecraft/server/MinecraftServer/a (Laqu;Ldt;Lahd;)Z net/minecraft/server/MinecraftServer/func_175579_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: net/minecraft/server/MinecraftServer/a (Larc;)V net/minecraft/server/MinecraftServer/func_71235_a (Lnet/minecraft/world/WorldSettings$GameType;)V +MD: net/minecraft/server/MinecraftServer/a (Larc;Z)Ljava/lang/String; net/minecraft/server/MinecraftServer/func_71206_a (Lnet/minecraft/world/WorldSettings$GameType;Z)Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/a (Lb;)V net/minecraft/server/MinecraftServer/func_71228_a (Lnet/minecraft/crash/CrashReport;)V +MD: net/minecraft/server/MinecraftServer/a (Lho;)V net/minecraft/server/MinecraftServer/func_145747_a (Lnet/minecraft/util/IChatComponent;)V +MD: net/minecraft/server/MinecraftServer/a (Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/ListenableFuture; net/minecraft/server/MinecraftServer/func_152344_a (Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/ListenableFuture; +MD: net/minecraft/server/MinecraftServer/a (Ljava/lang/String;)V net/minecraft/server/MinecraftServer/func_71237_c (Ljava/lang/String;)V +MD: net/minecraft/server/MinecraftServer/a (Ljava/lang/String;Lbqy;)V net/minecraft/server/MinecraftServer/func_175584_a (Ljava/lang/String;Lnet/minecraft/world/storage/ISaveHandler;)V +MD: net/minecraft/server/MinecraftServer/a (Ljava/lang/String;Ljava/lang/String;JLare;Ljava/lang/String;)V net/minecraft/server/MinecraftServer/func_71247_a (Ljava/lang/String;Ljava/lang/String;JLnet/minecraft/world/WorldType;Ljava/lang/String;)V +MD: net/minecraft/server/MinecraftServer/a (Ljava/security/KeyPair;)V net/minecraft/server/MinecraftServer/func_71253_a (Ljava/security/KeyPair;)V +MD: net/minecraft/server/MinecraftServer/a (Ljava/util/UUID;)Lwv; net/minecraft/server/MinecraftServer/func_175576_a (Ljava/util/UUID;)Lnet/minecraft/entity/Entity; +MD: net/minecraft/server/MinecraftServer/a (Ljava/util/concurrent/Callable;)Lcom/google/common/util/concurrent/ListenableFuture; net/minecraft/server/MinecraftServer/func_175586_a (Ljava/util/concurrent/Callable;)Lcom/google/common/util/concurrent/ListenableFuture; +MD: net/minecraft/server/MinecraftServer/a (Lnet/minecraft/server/MinecraftServer;)Lsn; net/minecraft/server/MinecraftServer/access$100 (Lnet/minecraft/server/MinecraftServer;)Lnet/minecraft/server/management/ServerConfigurationManager; +MD: net/minecraft/server/MinecraftServer/a (Lnp;)V net/minecraft/server/MinecraftServer/func_147138_a (Lnet/minecraft/network/ServerStatusResponse;)V +MD: net/minecraft/server/MinecraftServer/a (Lpm;)V net/minecraft/server/MinecraftServer/func_82010_a (Lnet/minecraft/server/gui/IUpdatePlayerListBox;)V +MD: net/minecraft/server/MinecraftServer/a (Lsn;)V net/minecraft/server/MinecraftServer/func_152361_a (Lnet/minecraft/server/management/ServerConfigurationManager;)V +MD: net/minecraft/server/MinecraftServer/a (Lvt;)V net/minecraft/server/MinecraftServer/func_147139_a (Lnet/minecraft/world/EnumDifficulty;)V +MD: net/minecraft/server/MinecraftServer/a (Lwb;)V net/minecraft/server/MinecraftServer/func_70000_a (Lnet/minecraft/profiler/PlayerUsageSnooper;)V +MD: net/minecraft/server/MinecraftServer/a (Z)V net/minecraft/server/MinecraftServer/func_71267_a (Z)V +MD: net/minecraft/server/MinecraftServer/aB ()Lcom/mojang/authlib/minecraft/MinecraftSessionService; net/minecraft/server/MinecraftServer/func_147130_as ()Lcom/mojang/authlib/minecraft/MinecraftSessionService; +MD: net/minecraft/server/MinecraftServer/aC ()Lcom/mojang/authlib/GameProfileRepository; net/minecraft/server/MinecraftServer/func_152359_aw ()Lcom/mojang/authlib/GameProfileRepository; +MD: net/minecraft/server/MinecraftServer/aD ()Lry; net/minecraft/server/MinecraftServer/func_152358_ax ()Lnet/minecraft/server/management/PlayerProfileCache; +MD: net/minecraft/server/MinecraftServer/aE ()Lnp; net/minecraft/server/MinecraftServer/func_147134_at ()Lnet/minecraft/network/ServerStatusResponse; +MD: net/minecraft/server/MinecraftServer/aF ()V net/minecraft/server/MinecraftServer/func_147132_au ()V +MD: net/minecraft/server/MinecraftServer/aG ()I net/minecraft/server/MinecraftServer/func_175580_aG ()I +MD: net/minecraft/server/MinecraftServer/aH ()Z net/minecraft/server/MinecraftServer/func_152345_ab ()Z +MD: net/minecraft/server/MinecraftServer/aI ()I net/minecraft/server/MinecraftServer/func_175577_aI ()I +MD: net/minecraft/server/MinecraftServer/aJ ()J net/minecraft/server/MinecraftServer/func_175587_aJ ()J +MD: net/minecraft/server/MinecraftServer/aK ()Ljava/lang/Thread; net/minecraft/server/MinecraftServer/func_175583_aK ()Ljava/lang/Thread; +MD: net/minecraft/server/MinecraftServer/aL ()Lorg/apache/logging/log4j/Logger; net/minecraft/server/MinecraftServer/access$000 ()Lorg/apache/logging/log4j/Logger; +MD: net/minecraft/server/MinecraftServer/a_ (Ljava/lang/String;I)V net/minecraft/server/MinecraftServer/func_71216_a_ (Ljava/lang/String;I)V +MD: net/minecraft/server/MinecraftServer/a_ (Ljava/lang/String;Ljava/lang/String;)V net/minecraft/server/MinecraftServer/func_180507_a_ (Ljava/lang/String;Ljava/lang/String;)V +MD: net/minecraft/server/MinecraftServer/aa ()Ljava/lang/String; net/minecraft/server/MinecraftServer/func_147133_T ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/ab ()Ljava/lang/String; net/minecraft/server/MinecraftServer/func_175581_ab ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/ac ()Z net/minecraft/server/MinecraftServer/func_70002_Q ()Z +MD: net/minecraft/server/MinecraftServer/ad ()Z net/minecraft/server/MinecraftServer/func_71262_S ()Z +MD: net/minecraft/server/MinecraftServer/ae ()Z net/minecraft/server/MinecraftServer/func_71266_T ()Z +MD: net/minecraft/server/MinecraftServer/af ()Z net/minecraft/server/MinecraftServer/func_71268_U ()Z +MD: net/minecraft/server/MinecraftServer/ag ()Z net/minecraft/server/MinecraftServer/func_71220_V ()Z +MD: net/minecraft/server/MinecraftServer/ah ()Z net/minecraft/server/MinecraftServer/func_71219_W ()Z +MD: net/minecraft/server/MinecraftServer/ai ()Z net/minecraft/server/MinecraftServer/func_71231_X ()Z +MD: net/minecraft/server/MinecraftServer/aj ()Z net/minecraft/server/MinecraftServer/func_82356_Z ()Z +MD: net/minecraft/server/MinecraftServer/ak ()Ljava/lang/String; net/minecraft/server/MinecraftServer/func_71273_Y ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/al ()I net/minecraft/server/MinecraftServer/func_71207_Z ()I +MD: net/minecraft/server/MinecraftServer/am ()Z net/minecraft/server/MinecraftServer/func_71241_aa ()Z +MD: net/minecraft/server/MinecraftServer/an ()Lsn; net/minecraft/server/MinecraftServer/func_71203_ab ()Lnet/minecraft/server/management/ServerConfigurationManager; +MD: net/minecraft/server/MinecraftServer/ao ()Lrc; net/minecraft/server/MinecraftServer/func_147137_ag ()Lnet/minecraft/network/NetworkSystem; +MD: net/minecraft/server/MinecraftServer/ap ()Z net/minecraft/server/MinecraftServer/func_71200_ad ()Z +MD: net/minecraft/server/MinecraftServer/aq ()Z net/minecraft/server/MinecraftServer/func_71279_ae ()Z +MD: net/minecraft/server/MinecraftServer/ar ()I net/minecraft/server/MinecraftServer/func_71259_af ()I +MD: net/minecraft/server/MinecraftServer/as ()V net/minecraft/server/MinecraftServer/func_71223_ag ()V +MD: net/minecraft/server/MinecraftServer/at ()Lwb; net/minecraft/server/MinecraftServer/func_80003_ah ()Lnet/minecraft/profiler/PlayerUsageSnooper; +MD: net/minecraft/server/MinecraftServer/au ()I net/minecraft/server/MinecraftServer/func_82357_ak ()I +MD: net/minecraft/server/MinecraftServer/av ()Z net/minecraft/server/MinecraftServer/func_104056_am ()Z +MD: net/minecraft/server/MinecraftServer/aw ()Ljava/net/Proxy; net/minecraft/server/MinecraftServer/func_110454_ao ()Ljava/net/Proxy; +MD: net/minecraft/server/MinecraftServer/ax ()J net/minecraft/server/MinecraftServer/func_130071_aq ()J +MD: net/minecraft/server/MinecraftServer/ay ()I net/minecraft/server/MinecraftServer/func_143007_ar ()I +MD: net/minecraft/server/MinecraftServer/az ()Z net/minecraft/server/MinecraftServer/func_147136_ar ()Z +MD: net/minecraft/server/MinecraftServer/b (I)V net/minecraft/server/MinecraftServer/func_71208_b (I)V +MD: net/minecraft/server/MinecraftServer/b (Lb;)Lb; net/minecraft/server/MinecraftServer/func_71230_b (Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport; +MD: net/minecraft/server/MinecraftServer/b (Ljava/lang/String;)V net/minecraft/server/MinecraftServer/func_71192_d (Ljava/lang/String;)V +MD: net/minecraft/server/MinecraftServer/b (Lwb;)V net/minecraft/server/MinecraftServer/func_70001_b (Lnet/minecraft/profiler/PlayerUsageSnooper;)V +MD: net/minecraft/server/MinecraftServer/b (Z)V net/minecraft/server/MinecraftServer/func_71204_b (Z)V +MD: net/minecraft/server/MinecraftServer/c ()Ldt; net/minecraft/server/MinecraftServer/func_180425_c ()Lnet/minecraft/util/BlockPos; +MD: net/minecraft/server/MinecraftServer/c (I)V net/minecraft/server/MinecraftServer/func_71191_d (I)V +MD: net/minecraft/server/MinecraftServer/c (Ljava/lang/String;)V net/minecraft/server/MinecraftServer/func_71189_e (Ljava/lang/String;)V +MD: net/minecraft/server/MinecraftServer/c (Z)V net/minecraft/server/MinecraftServer/func_71194_c (Z)V +MD: net/minecraft/server/MinecraftServer/d ()Lbrw; net/minecraft/server/MinecraftServer/func_174791_d ()Lnet/minecraft/util/Vec3; +MD: net/minecraft/server/MinecraftServer/d (I)V net/minecraft/server/MinecraftServer/func_143006_e (I)V +MD: net/minecraft/server/MinecraftServer/d (Ljava/lang/String;)Ljava/io/File; net/minecraft/server/MinecraftServer/func_71209_f (Ljava/lang/String;)Ljava/io/File; +MD: net/minecraft/server/MinecraftServer/d (Z)V net/minecraft/server/MinecraftServer/func_71229_d (Z)V +MD: net/minecraft/server/MinecraftServer/d_ ()Ljava/lang/String; net/minecraft/server/MinecraftServer/func_70005_c_ ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/e ()Laqu; net/minecraft/server/MinecraftServer/func_130014_f_ ()Lnet/minecraft/world/World; +MD: net/minecraft/server/MinecraftServer/e (Ljava/lang/String;)V net/minecraft/server/MinecraftServer/func_71244_g (Ljava/lang/String;)V +MD: net/minecraft/server/MinecraftServer/e (Z)V net/minecraft/server/MinecraftServer/func_71251_e (Z)V +MD: net/minecraft/server/MinecraftServer/e_ ()Lho; net/minecraft/server/MinecraftServer/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: net/minecraft/server/MinecraftServer/f ()Lwv; net/minecraft/server/MinecraftServer/func_174793_f ()Lnet/minecraft/entity/Entity; +MD: net/minecraft/server/MinecraftServer/f (Ljava/lang/String;)V net/minecraft/server/MinecraftServer/func_71236_h (Ljava/lang/String;)V +MD: net/minecraft/server/MinecraftServer/f (Z)V net/minecraft/server/MinecraftServer/func_71257_f (Z)V +MD: net/minecraft/server/MinecraftServer/g (Ljava/lang/String;)Ljava/lang/String; net/minecraft/server/MinecraftServer/func_71252_i (Ljava/lang/String;)Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/g (Z)V net/minecraft/server/MinecraftServer/func_71188_g (Z)V +MD: net/minecraft/server/MinecraftServer/getServerModName ()Ljava/lang/String; net/minecraft/server/MinecraftServer/getServerModName ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/h ()Lcl; net/minecraft/server/MinecraftServer/func_175582_h ()Lnet/minecraft/command/ServerCommandManager; +MD: net/minecraft/server/MinecraftServer/h (Ljava/lang/String;)V net/minecraft/server/MinecraftServer/func_71201_j (Ljava/lang/String;)V +MD: net/minecraft/server/MinecraftServer/h (Z)V net/minecraft/server/MinecraftServer/func_71245_h (Z)V +MD: net/minecraft/server/MinecraftServer/i ()Z net/minecraft/server/MinecraftServer/func_71197_b ()Z +MD: net/minecraft/server/MinecraftServer/i (Ljava/lang/String;)V net/minecraft/server/MinecraftServer/func_71198_k (Ljava/lang/String;)V +MD: net/minecraft/server/MinecraftServer/i (Z)V net/minecraft/server/MinecraftServer/func_104055_i (Z)V +MD: net/minecraft/server/MinecraftServer/j ()Ljava/lang/String; net/minecraft/server/MinecraftServer/func_71195_b_ ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/j (Ljava/lang/String;)V net/minecraft/server/MinecraftServer/func_71224_l (Ljava/lang/String;)V +MD: net/minecraft/server/MinecraftServer/k ()V net/minecraft/server/MinecraftServer/func_71222_d ()V +MD: net/minecraft/server/MinecraftServer/k (Ljava/lang/String;)V net/minecraft/server/MinecraftServer/func_71261_m (Ljava/lang/String;)V +MD: net/minecraft/server/MinecraftServer/l ()Z net/minecraft/server/MinecraftServer/func_71225_e ()Z +MD: net/minecraft/server/MinecraftServer/l (Ljava/lang/String;)V net/minecraft/server/MinecraftServer/func_71246_n (Ljava/lang/String;)V +MD: net/minecraft/server/MinecraftServer/m ()Larc; net/minecraft/server/MinecraftServer/func_71265_f ()Lnet/minecraft/world/WorldSettings$GameType; +MD: net/minecraft/server/MinecraftServer/m (Ljava/lang/String;)V net/minecraft/server/MinecraftServer/func_71205_p (Ljava/lang/String;)V +MD: net/minecraft/server/MinecraftServer/n ()Lvt; net/minecraft/server/MinecraftServer/func_147135_j ()Lnet/minecraft/world/EnumDifficulty; +MD: net/minecraft/server/MinecraftServer/o ()Z net/minecraft/server/MinecraftServer/func_71199_h ()Z +MD: net/minecraft/server/MinecraftServer/p ()I net/minecraft/server/MinecraftServer/func_110455_j ()I +MD: net/minecraft/server/MinecraftServer/q ()V net/minecraft/server/MinecraftServer/func_71243_i ()V +MD: net/minecraft/server/MinecraftServer/r ()V net/minecraft/server/MinecraftServer/func_71260_j ()V +MD: net/minecraft/server/MinecraftServer/run ()V net/minecraft/server/MinecraftServer/run ()V +MD: net/minecraft/server/MinecraftServer/s ()Ljava/lang/String; net/minecraft/server/MinecraftServer/func_71211_k ()Ljava/lang/String; +MD: net/minecraft/server/MinecraftServer/t ()Z net/minecraft/server/MinecraftServer/func_71278_l ()Z +MD: net/minecraft/server/MinecraftServer/t_ ()Z net/minecraft/server/MinecraftServer/func_174792_t_ ()Z +MD: net/minecraft/server/MinecraftServer/u ()V net/minecraft/server/MinecraftServer/func_71263_m ()V +MD: net/minecraft/server/MinecraftServer/v ()V net/minecraft/server/MinecraftServer/func_175585_v ()V +MD: net/minecraft/server/MinecraftServer/w ()Ljava/io/File; net/minecraft/server/MinecraftServer/func_71238_n ()Ljava/io/File; +MD: net/minecraft/server/MinecraftServer/x ()V net/minecraft/server/MinecraftServer/func_71240_o ()V +MD: net/minecraft/server/MinecraftServer/y ()V net/minecraft/server/MinecraftServer/func_71217_p ()V +MD: net/minecraft/server/MinecraftServer/z ()V net/minecraft/server/MinecraftServer/func_71190_q ()V +MD: nf/a ()I net/minecraft/network/login/server/S03PacketEnableCompression/func_179731_a ()I +MD: nf/a (Lhd;)V net/minecraft/network/login/server/S03PacketEnableCompression/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: nf/a (Lhg;)V net/minecraft/network/login/server/S03PacketEnableCompression/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: nf/a (Lnc;)V net/minecraft/network/login/server/S03PacketEnableCompression/func_179732_a (Lnet/minecraft/network/login/INetHandlerLoginClient;)V +MD: nf/b (Lhd;)V net/minecraft/network/login/server/S03PacketEnableCompression/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: ng/a ()Lho; net/minecraft/network/login/server/S00PacketDisconnect/func_149603_c ()Lnet/minecraft/util/IChatComponent; +MD: ng/a (Lhd;)V net/minecraft/network/login/server/S00PacketDisconnect/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ng/a (Lhg;)V net/minecraft/network/login/server/S00PacketDisconnect/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ng/a (Lnc;)V net/minecraft/network/login/server/S00PacketDisconnect/func_180772_a (Lnet/minecraft/network/login/INetHandlerLoginClient;)V +MD: ng/b (Lhd;)V net/minecraft/network/login/server/S00PacketDisconnect/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: nh/a (Lni;)V net/minecraft/network/login/INetHandlerLoginServer/func_147316_a (Lnet/minecraft/network/login/client/C00PacketLoginStart;)V +MD: nh/a (Lnj;)V net/minecraft/network/login/INetHandlerLoginServer/func_147315_a (Lnet/minecraft/network/login/client/C01PacketEncryptionResponse;)V +MD: ni/a ()Lcom/mojang/authlib/GameProfile; net/minecraft/network/login/client/C00PacketLoginStart/func_149304_c ()Lcom/mojang/authlib/GameProfile; +MD: ni/a (Lhd;)V net/minecraft/network/login/client/C00PacketLoginStart/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: ni/a (Lhg;)V net/minecraft/network/login/client/C00PacketLoginStart/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: ni/a (Lnh;)V net/minecraft/network/login/client/C00PacketLoginStart/func_180773_a (Lnet/minecraft/network/login/INetHandlerLoginServer;)V +MD: ni/b (Lhd;)V net/minecraft/network/login/client/C00PacketLoginStart/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: nj/a (Lhd;)V net/minecraft/network/login/client/C01PacketEncryptionResponse/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: nj/a (Lhg;)V net/minecraft/network/login/client/C01PacketEncryptionResponse/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: nj/a (Ljava/security/PrivateKey;)Ljavax/crypto/SecretKey; net/minecraft/network/login/client/C01PacketEncryptionResponse/func_149300_a (Ljava/security/PrivateKey;)Ljavax/crypto/SecretKey; +MD: nj/a (Lnh;)V net/minecraft/network/login/client/C01PacketEncryptionResponse/func_148833_a (Lnet/minecraft/network/login/INetHandlerLoginServer;)V +MD: nj/b (Lhd;)V net/minecraft/network/login/client/C01PacketEncryptionResponse/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: nj/b (Ljava/security/PrivateKey;)[B net/minecraft/network/login/client/C01PacketEncryptionResponse/func_149299_b (Ljava/security/PrivateKey;)[B +MD: nm/a (Lnn;)V net/minecraft/network/status/INetHandlerStatusClient/func_147398_a (Lnet/minecraft/network/status/server/S01PacketPong;)V +MD: nm/a (Lno;)V net/minecraft/network/status/INetHandlerStatusClient/func_147397_a (Lnet/minecraft/network/status/server/S00PacketServerInfo;)V +MD: nn/a (Lhd;)V net/minecraft/network/status/server/S01PacketPong/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: nn/a (Lhg;)V net/minecraft/network/status/server/S01PacketPong/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: nn/a (Lnm;)V net/minecraft/network/status/server/S01PacketPong/func_148833_a (Lnet/minecraft/network/status/INetHandlerStatusClient;)V +MD: nn/b (Lhd;)V net/minecraft/network/status/server/S01PacketPong/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: no/a ()Lnp; net/minecraft/network/status/server/S00PacketServerInfo/func_149294_c ()Lnet/minecraft/network/ServerStatusResponse; +MD: no/a (Lhd;)V net/minecraft/network/status/server/S00PacketServerInfo/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: no/a (Lhg;)V net/minecraft/network/status/server/S00PacketServerInfo/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: no/a (Lnm;)V net/minecraft/network/status/server/S00PacketServerInfo/func_148833_a (Lnet/minecraft/network/status/INetHandlerStatusClient;)V +MD: no/b (Lhd;)V net/minecraft/network/status/server/S00PacketServerInfo/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: np/a ()Lho; net/minecraft/network/ServerStatusResponse/func_151317_a ()Lnet/minecraft/util/IChatComponent; +MD: np/a (Lho;)V net/minecraft/network/ServerStatusResponse/func_151315_a (Lnet/minecraft/util/IChatComponent;)V +MD: np/a (Ljava/lang/String;)V net/minecraft/network/ServerStatusResponse/func_151320_a (Ljava/lang/String;)V +MD: np/a (Lnq;)V net/minecraft/network/ServerStatusResponse/func_151319_a (Lnet/minecraft/network/ServerStatusResponse$PlayerCountData;)V +MD: np/a (Lnt;)V net/minecraft/network/ServerStatusResponse/func_151321_a (Lnet/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier;)V +MD: np/b ()Lnq; net/minecraft/network/ServerStatusResponse/func_151318_b ()Lnet/minecraft/network/ServerStatusResponse$PlayerCountData; +MD: np/c ()Lnt; net/minecraft/network/ServerStatusResponse/func_151322_c ()Lnet/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier; +MD: np/d ()Ljava/lang/String; net/minecraft/network/ServerStatusResponse/func_151316_d ()Ljava/lang/String; +MD: nq/a ()I net/minecraft/network/ServerStatusResponse$PlayerCountData/func_151332_a ()I +MD: nq/a ([Lcom/mojang/authlib/GameProfile;)V net/minecraft/network/ServerStatusResponse$PlayerCountData/func_151330_a ([Lcom/mojang/authlib/GameProfile;)V +MD: nq/b ()I net/minecraft/network/ServerStatusResponse$PlayerCountData/func_151333_b ()I +MD: nq/c ()[Lcom/mojang/authlib/GameProfile; net/minecraft/network/ServerStatusResponse$PlayerCountData/func_151331_c ()[Lcom/mojang/authlib/GameProfile; +MD: nr/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnq; net/minecraft/network/ServerStatusResponse$PlayerCountData$Serializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/network/ServerStatusResponse$PlayerCountData; +MD: nr/a (Lnq;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/network/ServerStatusResponse$PlayerCountData$Serializer/serialize (Lnet/minecraft/network/ServerStatusResponse$PlayerCountData;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: nr/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/network/ServerStatusResponse$PlayerCountData$Serializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: nr/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/network/ServerStatusResponse$PlayerCountData$Serializer/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: ns/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnp; net/minecraft/network/ServerStatusResponse$Serializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/network/ServerStatusResponse; +MD: ns/a (Lnp;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/network/ServerStatusResponse$Serializer/serialize (Lnet/minecraft/network/ServerStatusResponse;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: ns/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/network/ServerStatusResponse$Serializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: ns/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/network/ServerStatusResponse$Serializer/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: nt/a ()Ljava/lang/String; net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier/func_151303_a ()Ljava/lang/String; +MD: nt/b ()I net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier/func_151304_b ()I +MD: nu/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnt; net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier$Serializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier; +MD: nu/a (Lnt;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier$Serializer/serialize (Lnet/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: nu/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier$Serializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: nu/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/network/ServerStatusResponse$MinecraftProtocolVersionIdentifier$Serializer/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: nv/a (Lnw;)V net/minecraft/network/status/INetHandlerStatusServer/func_147311_a (Lnet/minecraft/network/status/client/C01PacketPing;)V +MD: nv/a (Lnx;)V net/minecraft/network/status/INetHandlerStatusServer/func_147312_a (Lnet/minecraft/network/status/client/C00PacketServerQuery;)V +MD: nw/a ()J net/minecraft/network/status/client/C01PacketPing/func_149289_c ()J +MD: nw/a (Lhd;)V net/minecraft/network/status/client/C01PacketPing/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: nw/a (Lhg;)V net/minecraft/network/status/client/C01PacketPing/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: nw/a (Lnv;)V net/minecraft/network/status/client/C01PacketPing/func_180774_a (Lnet/minecraft/network/status/INetHandlerStatusServer;)V +MD: nw/b (Lhd;)V net/minecraft/network/status/client/C01PacketPing/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: nx/a (Lhd;)V net/minecraft/network/status/client/C00PacketServerQuery/func_148837_a (Lnet/minecraft/network/PacketBuffer;)V +MD: nx/a (Lhg;)V net/minecraft/network/status/client/C00PacketServerQuery/func_148833_a (Lnet/minecraft/network/INetHandler;)V +MD: nx/a (Lnv;)V net/minecraft/network/status/client/C00PacketServerQuery/func_180775_a (Lnet/minecraft/network/status/INetHandlerStatusServer;)V +MD: nx/b (Lhd;)V net/minecraft/network/status/client/C00PacketServerQuery/func_148840_b (Lnet/minecraft/network/PacketBuffer;)V +MD: oa/a ()Ljava/lang/String; net/minecraft/util/ResourceLocation/func_110623_a ()Ljava/lang/String; +MD: oa/a (Ljava/lang/String;)[Ljava/lang/String; net/minecraft/util/ResourceLocation/func_177516_a (Ljava/lang/String;)[Ljava/lang/String; +MD: oa/b ()Ljava/lang/String; net/minecraft/util/ResourceLocation/func_110624_b ()Ljava/lang/String; +MD: oa/equals (Ljava/lang/Object;)Z net/minecraft/util/ResourceLocation/equals (Ljava/lang/Object;)Z +MD: oa/hashCode ()I net/minecraft/util/ResourceLocation/hashCode ()I +MD: oa/toString ()Ljava/lang/String; net/minecraft/util/ResourceLocation/toString ()Ljava/lang/String; +MD: oc/a ()F net/minecraft/dispenser/BehaviorProjectileDispense/func_82498_a ()F +MD: oc/a (Laqu;Lex;)Laho; net/minecraft/dispenser/BehaviorProjectileDispense/func_82499_a (Lnet/minecraft/world/World;Lnet/minecraft/dispenser/IPosition;)Lnet/minecraft/entity/IProjectile; +MD: oc/a (Ldz;)V net/minecraft/dispenser/BehaviorProjectileDispense/func_82485_a (Lnet/minecraft/dispenser/IBlockSource;)V +MD: oc/b ()F net/minecraft/dispenser/BehaviorProjectileDispense/func_82500_b ()F +MD: oc/b (Ldz;Lamj;)Lamj; net/minecraft/dispenser/BehaviorProjectileDispense/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: od/a ()Z net/minecraft/init/Bootstrap/func_179869_a ()Z +MD: od/a (Ljava/lang/String;)V net/minecraft/init/Bootstrap/func_179870_a (Ljava/lang/String;)V +MD: od/b ()V net/minecraft/init/Bootstrap/func_151353_a ()V +MD: od/c ()V net/minecraft/init/Bootstrap/func_151354_b ()V +MD: od/d ()V net/minecraft/init/Bootstrap/func_179868_d ()V +MD: oe/a (Laqu;Lex;)Laho; net/minecraft/init/Bootstrap$1/func_82499_a (Lnet/minecraft/world/World;Lnet/minecraft/dispenser/IPosition;)Lnet/minecraft/entity/IProjectile; +MD: of/b (Ldz;Lamj;)Lamj; net/minecraft/init/Bootstrap$10/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: og/b (Ldz;Lamj;)Lamj; net/minecraft/init/Bootstrap$11/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: oh/a (Ldz;)V net/minecraft/init/Bootstrap$12/func_82485_a (Lnet/minecraft/dispenser/IBlockSource;)V +MD: oh/b (Ldz;Lamj;)Lamj; net/minecraft/init/Bootstrap$12/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: oi/a (Ldz;)V net/minecraft/init/Bootstrap$13/func_82485_a (Lnet/minecraft/dispenser/IBlockSource;)V +MD: oi/b (Ldz;Lamj;)Lamj; net/minecraft/init/Bootstrap$13/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: oj/b (Ldz;Lamj;)Lamj; net/minecraft/init/Bootstrap$14/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: ok/a (Ldz;)V net/minecraft/init/Bootstrap$15/func_82485_a (Lnet/minecraft/dispenser/IBlockSource;)V +MD: ok/b (Ldz;Lamj;)Lamj; net/minecraft/init/Bootstrap$15/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: ol/a (Ldz;)V net/minecraft/init/Bootstrap$16/func_82485_a (Lnet/minecraft/dispenser/IBlockSource;)V +MD: ol/b (Ldz;Lamj;)Lamj; net/minecraft/init/Bootstrap$16/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: om/a (Ldz;)V net/minecraft/init/Bootstrap$17/func_82485_a (Lnet/minecraft/dispenser/IBlockSource;)V +MD: om/a (Ldz;Lej;)V net/minecraft/init/Bootstrap$17/func_82489_a (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/util/EnumFacing;)V +MD: om/b (Ldz;Lamj;)Lamj; net/minecraft/init/Bootstrap$17/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: on/a (Laqu;Lex;)Laho; net/minecraft/init/Bootstrap$2/func_82499_a (Lnet/minecraft/world/World;Lnet/minecraft/dispenser/IPosition;)Lnet/minecraft/entity/IProjectile; +MD: oo/a (Laqu;Lex;)Laho; net/minecraft/init/Bootstrap$3/func_82499_a (Lnet/minecraft/world/World;Lnet/minecraft/dispenser/IPosition;)Lnet/minecraft/entity/IProjectile; +MD: op/a ()F net/minecraft/init/Bootstrap$4/func_82498_a ()F +MD: op/a (Laqu;Lex;)Laho; net/minecraft/init/Bootstrap$4/func_82499_a (Lnet/minecraft/world/World;Lnet/minecraft/dispenser/IPosition;)Lnet/minecraft/entity/IProjectile; +MD: op/b ()F net/minecraft/init/Bootstrap$4/func_82500_b ()F +MD: oq/a (Ldz;Lamj;)Lamj; net/minecraft/init/Bootstrap$5/func_82482_a (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: or/a ()F net/minecraft/init/Bootstrap$5$1/func_82498_a ()F +MD: or/a (Laqu;Lex;)Laho; net/minecraft/init/Bootstrap$5$1/func_82499_a (Lnet/minecraft/world/World;Lnet/minecraft/dispenser/IPosition;)Lnet/minecraft/entity/IProjectile; +MD: or/b ()F net/minecraft/init/Bootstrap$5$1/func_82500_b ()F +MD: os/b (Ldz;Lamj;)Lamj; net/minecraft/init/Bootstrap$6/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: ot/a (Ldz;)V net/minecraft/init/Bootstrap$7/func_82485_a (Lnet/minecraft/dispenser/IBlockSource;)V +MD: ot/b (Ldz;Lamj;)Lamj; net/minecraft/init/Bootstrap$7/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: ou/a (Ldz;)V net/minecraft/init/Bootstrap$8/func_82485_a (Lnet/minecraft/dispenser/IBlockSource;)V +MD: ou/b (Ldz;Lamj;)Lamj; net/minecraft/init/Bootstrap$8/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: ov/a (Ldz;)V net/minecraft/init/Bootstrap$9/func_82485_a (Lnet/minecraft/dispenser/IBlockSource;)V +MD: ov/b (Ldz;Lamj;)Lamj; net/minecraft/init/Bootstrap$9/func_82487_b (Lnet/minecraft/dispenser/IBlockSource;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: ow/a (Ljava/lang/Exception;)Low; net/minecraft/client/util/JsonException/func_151379_a (Ljava/lang/Exception;)Lnet/minecraft/client/util/JsonException; +MD: ow/a (Ljava/lang/String;)V net/minecraft/client/util/JsonException/func_151380_a (Ljava/lang/String;)V +MD: ow/b (Ljava/lang/String;)V net/minecraft/client/util/JsonException/func_151381_b (Ljava/lang/String;)V +MD: ow/getMessage ()Ljava/lang/String; net/minecraft/client/util/JsonException/getMessage ()Ljava/lang/String; +MD: oy/a (Ljava/lang/String;)V net/minecraft/client/util/JsonException$Entry/func_151373_a (Ljava/lang/String;)V +MD: oy/a (Loy;Ljava/lang/String;)V net/minecraft/client/util/JsonException$Entry/access$100 (Lnet/minecraft/client/util/JsonException$Entry;Ljava/lang/String;)V +MD: oy/b ()Ljava/lang/String; net/minecraft/client/util/JsonException$Entry/func_151372_b ()Ljava/lang/String; +MD: oy/b (Loy;Ljava/lang/String;)Ljava/lang/String; net/minecraft/client/util/JsonException$Entry/access$202 (Lnet/minecraft/client/util/JsonException$Entry;Ljava/lang/String;)Ljava/lang/String; +MD: oy/toString ()Ljava/lang/String; net/minecraft/client/util/JsonException$Entry/toString ()Ljava/lang/String; +MD: p/a ()Ljava/lang/String; net/minecraft/crash/CrashReportCategory$4/call ()Ljava/lang/String; +MD: p/call ()Ljava/lang/Object; net/minecraft/crash/CrashReportCategory$4/call ()Ljava/lang/Object; +MD: pb/a ()Z net/minecraft/server/ServerEula/func_154346_a ()Z +MD: pb/a (Ljava/io/File;)Z net/minecraft/server/ServerEula/func_154347_a (Ljava/io/File;)Z +MD: pb/b ()V net/minecraft/server/ServerEula/func_154348_b ()V +MD: pc/a (Ljava/lang/String;)V net/minecraft/util/LoggingPrintStream/func_179882_a (Ljava/lang/String;)V +MD: pc/println (Ljava/lang/Object;)V net/minecraft/util/LoggingPrintStream/println (Ljava/lang/Object;)V +MD: pc/println (Ljava/lang/String;)V net/minecraft/util/LoggingPrintStream/println (Ljava/lang/String;)V +MD: pd/a ()V net/minecraft/server/MinecraftServer$1/func_146586_a ()V +MD: pd/a (I)V net/minecraft/server/MinecraftServer$1/func_73718_a (I)V +MD: pd/a (Ljava/lang/String;)V net/minecraft/server/MinecraftServer$1/func_73720_a (Ljava/lang/String;)V +MD: pd/b (Ljava/lang/String;)V net/minecraft/server/MinecraftServer$1/func_73721_b (Ljava/lang/String;)V +MD: pd/c (Ljava/lang/String;)V net/minecraft/server/MinecraftServer$1/func_73719_c (Ljava/lang/String;)V +MD: pe/run ()V net/minecraft/server/MinecraftServer$2/run ()V +MD: pf/a ()Ljava/lang/String; net/minecraft/server/MinecraftServer$3/call ()Ljava/lang/String; +MD: pf/call ()Ljava/lang/Object; net/minecraft/server/MinecraftServer$3/call ()Ljava/lang/Object; +MD: pg/a ()Ljava/lang/String; net/minecraft/server/MinecraftServer$4/call ()Ljava/lang/String; +MD: pg/call ()Ljava/lang/Object; net/minecraft/server/MinecraftServer$4/call ()Ljava/lang/Object; +MD: pi/fillInStackTrace ()Ljava/lang/Throwable; net/minecraft/network/ThreadQuickExitException/fillInStackTrace ()Ljava/lang/Throwable; +MD: pj/C ()Ljava/lang/String; net/minecraft/network/rcon/IServer/func_71277_t ()Ljava/lang/String; +MD: pj/D ()I net/minecraft/network/rcon/IServer/func_71234_u ()I +MD: pj/E ()Ljava/lang/String; net/minecraft/network/rcon/IServer/func_71274_v ()Ljava/lang/String; +MD: pj/F ()Ljava/lang/String; net/minecraft/network/rcon/IServer/func_71249_w ()Ljava/lang/String; +MD: pj/G ()I net/minecraft/network/rcon/IServer/func_71233_x ()I +MD: pj/H ()I net/minecraft/network/rcon/IServer/func_71275_y ()I +MD: pj/I ()[Ljava/lang/String; net/minecraft/network/rcon/IServer/func_71213_z ()[Ljava/lang/String; +MD: pj/K ()Ljava/lang/String; net/minecraft/network/rcon/IServer/func_71258_A ()Ljava/lang/String; +MD: pj/L ()Z net/minecraft/network/rcon/IServer/func_71239_B ()Z +MD: pj/T ()Ljava/lang/String; net/minecraft/network/rcon/IServer/func_71270_I ()Ljava/lang/String; +MD: pj/a ()V net/minecraft/network/rcon/IServer/func_71326_a ()V +MD: pj/a (Ljava/lang/String;I)I net/minecraft/network/rcon/IServer/func_71327_a (Ljava/lang/String;I)I +MD: pj/a (Ljava/lang/String;Ljava/lang/Object;)V net/minecraft/network/rcon/IServer/func_71328_a (Ljava/lang/String;Ljava/lang/Object;)V +MD: pj/a (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; net/minecraft/network/rcon/IServer/func_71330_a (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +MD: pj/b ()Ljava/lang/String; net/minecraft/network/rcon/IServer/func_71329_c ()Ljava/lang/String; +MD: pj/e (Ljava/lang/String;)V net/minecraft/network/rcon/IServer/func_71244_g (Ljava/lang/String;)V +MD: pj/f (Ljava/lang/String;)V net/minecraft/network/rcon/IServer/func_71236_h (Ljava/lang/String;)V +MD: pj/g (Ljava/lang/String;)Ljava/lang/String; net/minecraft/network/rcon/IServer/func_71252_i (Ljava/lang/String;)Ljava/lang/String; +MD: pj/h (Ljava/lang/String;)V net/minecraft/network/rcon/IServer/func_71201_j (Ljava/lang/String;)V +MD: pj/i (Ljava/lang/String;)V net/minecraft/network/rcon/IServer/func_71198_k (Ljava/lang/String;)V +MD: pk/a (ILbry;)V net/minecraft/scoreboard/ServerScoreboard/func_96530_a (ILnet/minecraft/scoreboard/ScoreObjective;)V +MD: pk/a (Lbry;)V net/minecraft/scoreboard/ServerScoreboard/func_96522_a (Lnet/minecraft/scoreboard/ScoreObjective;)V +MD: pk/a (Lbrz;)V net/minecraft/scoreboard/ServerScoreboard/func_96523_a (Lnet/minecraft/scoreboard/ScorePlayerTeam;)V +MD: pk/a (Lbsa;)V net/minecraft/scoreboard/ServerScoreboard/func_96536_a (Lnet/minecraft/scoreboard/Score;)V +MD: pk/a (Lbse;)V net/minecraft/scoreboard/ServerScoreboard/func_96547_a (Lnet/minecraft/scoreboard/ScoreboardSaveData;)V +MD: pk/a (Ljava/lang/String;)V net/minecraft/scoreboard/ServerScoreboard/func_96516_a (Ljava/lang/String;)V +MD: pk/a (Ljava/lang/String;Lbry;)V net/minecraft/scoreboard/ServerScoreboard/func_178820_a (Ljava/lang/String;Lnet/minecraft/scoreboard/ScoreObjective;)V +MD: pk/a (Ljava/lang/String;Lbrz;)V net/minecraft/scoreboard/ServerScoreboard/func_96512_b (Ljava/lang/String;Lnet/minecraft/scoreboard/ScorePlayerTeam;)V +MD: pk/a (Ljava/lang/String;Ljava/lang/String;)Z net/minecraft/scoreboard/ServerScoreboard/func_151392_a (Ljava/lang/String;Ljava/lang/String;)Z +MD: pk/b ()V net/minecraft/scoreboard/ServerScoreboard/func_96551_b ()V +MD: pk/b (Lbry;)V net/minecraft/scoreboard/ServerScoreboard/func_96532_b (Lnet/minecraft/scoreboard/ScoreObjective;)V +MD: pk/b (Lbrz;)V net/minecraft/scoreboard/ServerScoreboard/func_96538_b (Lnet/minecraft/scoreboard/ScorePlayerTeam;)V +MD: pk/c (Lbry;)V net/minecraft/scoreboard/ServerScoreboard/func_96533_c (Lnet/minecraft/scoreboard/ScoreObjective;)V +MD: pk/c (Lbrz;)V net/minecraft/scoreboard/ServerScoreboard/func_96513_c (Lnet/minecraft/scoreboard/ScorePlayerTeam;)V +MD: pk/d (Lbry;)Ljava/util/List; net/minecraft/scoreboard/ServerScoreboard/func_96550_d (Lnet/minecraft/scoreboard/ScoreObjective;)Ljava/util/List; +MD: pk/e (Lbry;)V net/minecraft/scoreboard/ServerScoreboard/func_96549_e (Lnet/minecraft/scoreboard/ScoreObjective;)V +MD: pk/f (Lbry;)Ljava/util/List; net/minecraft/scoreboard/ServerScoreboard/func_96548_f (Lnet/minecraft/scoreboard/ScoreObjective;)Ljava/util/List; +MD: pk/g (Lbry;)V net/minecraft/scoreboard/ServerScoreboard/func_96546_g (Lnet/minecraft/scoreboard/ScoreObjective;)V +MD: pk/h (Lbry;)I net/minecraft/scoreboard/ServerScoreboard/func_96552_h (Lnet/minecraft/scoreboard/ScoreObjective;)I +MD: pl/a ()V net/minecraft/server/dedicated/PropertyManager/func_73666_a ()V +MD: pl/a (Ljava/lang/String;I)I net/minecraft/server/dedicated/PropertyManager/func_73669_a (Ljava/lang/String;I)I +MD: pl/a (Ljava/lang/String;J)J net/minecraft/server/dedicated/PropertyManager/func_179885_a (Ljava/lang/String;J)J +MD: pl/a (Ljava/lang/String;Ljava/lang/Object;)V net/minecraft/server/dedicated/PropertyManager/func_73667_a (Ljava/lang/String;Ljava/lang/Object;)V +MD: pl/a (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; net/minecraft/server/dedicated/PropertyManager/func_73671_a (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +MD: pl/a (Ljava/lang/String;Z)Z net/minecraft/server/dedicated/PropertyManager/func_73670_a (Ljava/lang/String;Z)Z +MD: pl/b ()V net/minecraft/server/dedicated/PropertyManager/func_73668_b ()V +MD: pl/c ()Ljava/io/File; net/minecraft/server/dedicated/PropertyManager/func_73665_c ()Ljava/io/File; +MD: pm/c ()V net/minecraft/server/gui/IUpdatePlayerListBox/func_73660_a ()V +MD: pn/A ()V net/minecraft/server/dedicated/DedicatedPlayerList/func_72417_t ()V +MD: pn/B ()V net/minecraft/server/dedicated/DedicatedPlayerList/func_72419_u ()V +MD: pn/C ()V net/minecraft/server/dedicated/DedicatedPlayerList/func_72418_v ()V +MD: pn/D ()V net/minecraft/server/dedicated/DedicatedPlayerList/func_72421_w ()V +MD: pn/a ()V net/minecraft/server/dedicated/DedicatedPlayerList/func_72362_j ()V +MD: pn/a (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/dedicated/DedicatedPlayerList/func_152605_a (Lcom/mojang/authlib/GameProfile;)V +MD: pn/a (Z)V net/minecraft/server/dedicated/DedicatedPlayerList/func_72371_a (Z)V +MD: pn/b ()Lpo; net/minecraft/server/dedicated/DedicatedPlayerList/func_72365_p ()Lnet/minecraft/server/dedicated/DedicatedServer; +MD: pn/b (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/dedicated/DedicatedPlayerList/func_152610_b (Lcom/mojang/authlib/GameProfile;)V +MD: pn/c ()Lnet/minecraft/server/MinecraftServer; net/minecraft/server/dedicated/DedicatedPlayerList/func_72365_p ()Lnet/minecraft/server/MinecraftServer; +MD: pn/c (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/dedicated/DedicatedPlayerList/func_152597_c (Lcom/mojang/authlib/GameProfile;)V +MD: pn/d (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/dedicated/DedicatedPlayerList/func_152601_d (Lcom/mojang/authlib/GameProfile;)V +MD: pn/e (Lcom/mojang/authlib/GameProfile;)Z net/minecraft/server/dedicated/DedicatedPlayerList/func_152607_e (Lcom/mojang/authlib/GameProfile;)Z +MD: pn/w ()V net/minecraft/server/dedicated/DedicatedPlayerList/func_152618_v ()V +MD: pn/x ()V net/minecraft/server/dedicated/DedicatedPlayerList/func_152617_w ()V +MD: pn/y ()V net/minecraft/server/dedicated/DedicatedPlayerList/func_152619_x ()V +MD: pn/z ()V net/minecraft/server/dedicated/DedicatedPlayerList/func_152620_y ()V +MD: po/A ()Z net/minecraft/server/dedicated/DedicatedServer/func_71255_r ()Z +MD: po/V ()Z net/minecraft/server/dedicated/DedicatedServer/func_71193_K ()Z +MD: po/a ()V net/minecraft/server/dedicated/DedicatedServer/func_71326_a ()V +MD: po/a (Laqu;Ldt;Lahd;)Z net/minecraft/server/dedicated/DedicatedServer/func_175579_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: po/a (Larc;)V net/minecraft/server/dedicated/DedicatedServer/func_71235_a (Lnet/minecraft/world/WorldSettings$GameType;)V +MD: po/a (Larc;Z)Ljava/lang/String; net/minecraft/server/dedicated/DedicatedServer/func_71206_a (Lnet/minecraft/world/WorldSettings$GameType;Z)Ljava/lang/String; +MD: po/a (Lb;)V net/minecraft/server/dedicated/DedicatedServer/func_71228_a (Lnet/minecraft/crash/CrashReport;)V +MD: po/a (Ljava/lang/String;I)I net/minecraft/server/dedicated/DedicatedServer/func_71327_a (Ljava/lang/String;I)I +MD: po/a (Ljava/lang/String;Lae;)V net/minecraft/server/dedicated/DedicatedServer/func_71331_a (Ljava/lang/String;Lnet/minecraft/command/ICommandSender;)V +MD: po/a (Ljava/lang/String;Ljava/lang/Object;)V net/minecraft/server/dedicated/DedicatedServer/func_71328_a (Ljava/lang/String;Ljava/lang/Object;)V +MD: po/a (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; net/minecraft/server/dedicated/DedicatedServer/func_71330_a (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +MD: po/a (Ljava/lang/String;Z)Z net/minecraft/server/dedicated/DedicatedServer/func_71332_a (Ljava/lang/String;Z)Z +MD: po/a (Lwb;)V net/minecraft/server/dedicated/DedicatedServer/func_70000_a (Lnet/minecraft/profiler/PlayerUsageSnooper;)V +MD: po/aG ()I net/minecraft/server/dedicated/DedicatedServer/func_175580_aG ()I +MD: po/aI ()I net/minecraft/server/dedicated/DedicatedServer/func_175577_aI ()I +MD: po/aM ()V net/minecraft/server/dedicated/DedicatedServer/func_71333_ah ()V +MD: po/aN ()Lpn; net/minecraft/server/dedicated/DedicatedServer/func_180508_aN ()Lnet/minecraft/server/dedicated/DedicatedPlayerList; +MD: po/aO ()V net/minecraft/server/dedicated/DedicatedServer/func_120011_ar ()V +MD: po/aP ()Z net/minecraft/server/dedicated/DedicatedServer/func_152368_aE ()Z +MD: po/aQ ()J net/minecraft/server/dedicated/DedicatedServer/func_175593_aQ ()J +MD: po/aR ()Lorg/apache/logging/log4j/Logger; net/minecraft/server/dedicated/DedicatedServer/access$000 ()Lorg/apache/logging/log4j/Logger; +MD: po/aS ()V net/minecraft/server/dedicated/DedicatedServer/func_152369_aG ()V +MD: po/ac ()Z net/minecraft/server/dedicated/DedicatedServer/func_70002_Q ()Z +MD: po/ad ()Z net/minecraft/server/dedicated/DedicatedServer/func_71262_S ()Z +MD: po/aj ()Z net/minecraft/server/dedicated/DedicatedServer/func_82356_Z ()Z +MD: po/an ()Lsn; net/minecraft/server/dedicated/DedicatedServer/func_71203_ab ()Lnet/minecraft/server/management/ServerConfigurationManager; +MD: po/aq ()Z net/minecraft/server/dedicated/DedicatedServer/func_71279_ae ()Z +MD: po/au ()I net/minecraft/server/dedicated/DedicatedServer/func_82357_ak ()I +MD: po/az ()Z net/minecraft/server/dedicated/DedicatedServer/func_147136_ar ()Z +MD: po/b ()Ljava/lang/String; net/minecraft/server/dedicated/DedicatedServer/func_71329_c ()Ljava/lang/String; +MD: po/b (Lb;)Lb; net/minecraft/server/dedicated/DedicatedServer/func_71230_b (Lnet/minecraft/crash/CrashReport;)Lnet/minecraft/crash/CrashReport; +MD: po/d (I)V net/minecraft/server/dedicated/DedicatedServer/func_143006_e (I)V +MD: po/i ()Z net/minecraft/server/dedicated/DedicatedServer/func_71197_b ()Z +MD: po/l ()Z net/minecraft/server/dedicated/DedicatedServer/func_71225_e ()Z +MD: po/m ()Larc; net/minecraft/server/dedicated/DedicatedServer/func_71265_f ()Lnet/minecraft/world/WorldSettings$GameType; +MD: po/n ()Lvt; net/minecraft/server/dedicated/DedicatedServer/func_147135_j ()Lnet/minecraft/world/EnumDifficulty; +MD: po/o ()Z net/minecraft/server/dedicated/DedicatedServer/func_71199_h ()Z +MD: po/p ()I net/minecraft/server/dedicated/DedicatedServer/func_110455_j ()I +MD: po/x ()V net/minecraft/server/dedicated/DedicatedServer/func_71240_o ()V +MD: po/z ()V net/minecraft/server/dedicated/DedicatedServer/func_71190_q ()V +MD: pp/run ()V net/minecraft/server/dedicated/DedicatedServer$1/run ()V +MD: pq/run ()V net/minecraft/server/dedicated/DedicatedServer$2/run ()V +MD: pr/a ()Ljava/lang/String; net/minecraft/server/dedicated/DedicatedServer$3/call ()Ljava/lang/String; +MD: pr/call ()Ljava/lang/Object; net/minecraft/server/dedicated/DedicatedServer$3/call ()Ljava/lang/Object; +MD: ps/a ()Ljava/lang/String; net/minecraft/server/dedicated/DedicatedServer$4/call ()Ljava/lang/String; +MD: ps/call ()Ljava/lang/Object; net/minecraft/server/dedicated/DedicatedServer$4/call ()Ljava/lang/Object; +MD: pt/a ()V net/minecraft/server/dedicated/ServerHangWatchdog/func_180248_a ()V +MD: pt/run ()V net/minecraft/server/dedicated/ServerHangWatchdog/run ()V +MD: pu/run ()V net/minecraft/server/dedicated/ServerHangWatchdog$1/run ()V +MD: pw/a ()Ljavax/swing/JComponent; net/minecraft/server/gui/MinecraftServerGui/func_120019_b ()Ljavax/swing/JComponent; +MD: pw/a (Ljavax/swing/JTextArea;Ljavax/swing/JScrollPane;Ljava/lang/String;)V net/minecraft/server/gui/MinecraftServerGui/func_164247_a (Ljavax/swing/JTextArea;Ljavax/swing/JScrollPane;Ljava/lang/String;)V +MD: pw/a (Lpo;)V net/minecraft/server/gui/MinecraftServerGui/func_120016_a (Lnet/minecraft/server/dedicated/DedicatedServer;)V +MD: pw/a (Lpw;)Lpo; net/minecraft/server/gui/MinecraftServerGui/access$000 (Lnet/minecraft/server/gui/MinecraftServerGui;)Lnet/minecraft/server/dedicated/DedicatedServer; +MD: pw/b ()Ljavax/swing/JComponent; net/minecraft/server/gui/MinecraftServerGui/func_120020_c ()Ljavax/swing/JComponent; +MD: pw/c ()Ljavax/swing/JComponent; net/minecraft/server/gui/MinecraftServerGui/func_120018_d ()Ljavax/swing/JComponent; +MD: px/windowClosing (Ljava/awt/event/WindowEvent;)V net/minecraft/server/gui/MinecraftServerGui$1/windowClosing (Ljava/awt/event/WindowEvent;)V +MD: py/actionPerformed (Ljava/awt/event/ActionEvent;)V net/minecraft/server/gui/MinecraftServerGui$2/actionPerformed (Ljava/awt/event/ActionEvent;)V +MD: pz/focusGained (Ljava/awt/event/FocusEvent;)V net/minecraft/server/gui/MinecraftServerGui$3/focusGained (Ljava/awt/event/FocusEvent;)V +MD: q/a ()Ljava/lang/String; net/minecraft/crash/CrashReportCategory$5/call ()Ljava/lang/String; +MD: q/call ()Ljava/lang/Object; net/minecraft/crash/CrashReportCategory$5/call ()Ljava/lang/Object; +MD: qa/run ()V net/minecraft/server/gui/MinecraftServerGui$4/run ()V +MD: qb/run ()V net/minecraft/server/gui/MinecraftServerGui$5/run ()V +MD: qc/c ()V net/minecraft/server/gui/PlayerListComponent/func_73660_a ()V +MD: qd/a ()V net/minecraft/server/gui/StatsComponent/func_120034_a ()V +MD: qd/a (Lqd;)V net/minecraft/server/gui/StatsComponent/access$000 (Lnet/minecraft/server/gui/StatsComponent;)V +MD: qd/a ([J)D net/minecraft/server/gui/StatsComponent/func_120035_a ([J)D +MD: qd/paint (Ljava/awt/Graphics;)V net/minecraft/server/gui/StatsComponent/paint (Ljava/awt/Graphics;)V +MD: qe/actionPerformed (Ljava/awt/event/ActionEvent;)V net/minecraft/server/gui/StatsComponent$1/actionPerformed (Ljava/awt/event/ActionEvent;)V +MD: qi/a (I)V net/minecraft/client/renderer/DestroyBlockProgress/func_73107_a (I)V +MD: qi/b ()Ldt; net/minecraft/client/renderer/DestroyBlockProgress/func_180246_b ()Lnet/minecraft/util/BlockPos; +MD: qi/b (I)V net/minecraft/client/renderer/DestroyBlockProgress/func_82744_b (I)V +MD: qi/c ()I net/minecraft/client/renderer/DestroyBlockProgress/func_73106_e ()I +MD: qi/d ()I net/minecraft/client/renderer/DestroyBlockProgress/func_82743_f ()I +MD: qk/a ()V net/minecraft/world/demo/DemoWorldManager/func_73075_a ()V +MD: qk/a (Lahd;Laqu;Lamj;)Z net/minecraft/world/demo/DemoWorldManager/func_73085_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/item/ItemStack;)Z +MD: qk/a (Lahd;Laqu;Lamj;Ldt;Lej;FFF)Z net/minecraft/world/demo/DemoWorldManager/func_180236_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/item/ItemStack;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: qk/a (Ldt;)V net/minecraft/world/demo/DemoWorldManager/func_180785_a (Lnet/minecraft/util/BlockPos;)V +MD: qk/a (Ldt;Lej;)V net/minecraft/world/demo/DemoWorldManager/func_180784_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)V +MD: qk/b (Ldt;)Z net/minecraft/world/demo/DemoWorldManager/func_180237_b (Lnet/minecraft/util/BlockPos;)Z +MD: qk/f ()V net/minecraft/world/demo/DemoWorldManager/func_73101_e ()V +MD: ql/a ()V net/minecraft/world/WorldServerMulti/func_73042_a ()V +MD: ql/b ()Laqu; net/minecraft/world/WorldServerMulti/func_175643_b ()Lnet/minecraft/world/World; +MD: qm/a (Lbfb;D)V net/minecraft/world/WorldServerMulti$1/func_177694_a (Lnet/minecraft/world/border/WorldBorder;D)V +MD: qm/a (Lbfb;DD)V net/minecraft/world/WorldServerMulti$1/func_177693_a (Lnet/minecraft/world/border/WorldBorder;DD)V +MD: qm/a (Lbfb;DDJ)V net/minecraft/world/WorldServerMulti$1/func_177692_a (Lnet/minecraft/world/border/WorldBorder;DDJ)V +MD: qm/a (Lbfb;I)V net/minecraft/world/WorldServerMulti$1/func_177691_a (Lnet/minecraft/world/border/WorldBorder;I)V +MD: qm/b (Lbfb;D)V net/minecraft/world/WorldServerMulti$1/func_177696_b (Lnet/minecraft/world/border/WorldBorder;D)V +MD: qm/b (Lbfb;I)V net/minecraft/world/WorldServerMulti$1/func_177690_b (Lnet/minecraft/world/border/WorldBorder;I)V +MD: qm/c (Lbfb;D)V net/minecraft/world/WorldServerMulti$1/func_177695_c (Lnet/minecraft/world/border/WorldBorder;D)V +MD: qn/a ()V net/minecraft/entity/EntityTracker/func_72788_a ()V +MD: qn/a (Lqw;)V net/minecraft/entity/EntityTracker/func_180245_a (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: qn/a (Lqw;Lbfh;)V net/minecraft/entity/EntityTracker/func_85172_a (Lnet/minecraft/entity/player/EntityPlayerMP;Lnet/minecraft/world/chunk/Chunk;)V +MD: qn/a (Lwv;)V net/minecraft/entity/EntityTracker/func_72786_a (Lnet/minecraft/entity/Entity;)V +MD: qn/a (Lwv;II)V net/minecraft/entity/EntityTracker/func_72791_a (Lnet/minecraft/entity/Entity;II)V +MD: qn/a (Lwv;IIZ)V net/minecraft/entity/EntityTracker/func_72785_a (Lnet/minecraft/entity/Entity;IIZ)V +MD: qn/a (Lwv;Lid;)V net/minecraft/entity/EntityTracker/func_151247_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/network/Packet;)V +MD: qn/b (Lqw;)V net/minecraft/entity/EntityTracker/func_72787_a (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: qn/b (Lwv;)V net/minecraft/entity/EntityTracker/func_72790_b (Lnet/minecraft/entity/Entity;)V +MD: qn/b (Lwv;Lid;)V net/minecraft/entity/EntityTracker/func_151248_b (Lnet/minecraft/entity/Entity;Lnet/minecraft/network/Packet;)V +MD: qo/a ()Ljava/lang/String; net/minecraft/entity/EntityTracker$1/call ()Ljava/lang/String; +MD: qo/call ()Ljava/lang/Object; net/minecraft/entity/EntityTracker$1/call ()Ljava/lang/Object; +MD: qp/a (IIIIII)V net/minecraft/world/WorldManager/func_147585_a (IIIIII)V +MD: qp/a (ILdt;I)V net/minecraft/world/WorldManager/func_180440_a (ILnet/minecraft/util/BlockPos;I)V +MD: qp/a (IZDDDDDD[I)V net/minecraft/world/WorldManager/func_180442_a (IZDDDDDD[I)V +MD: qp/a (Lahd;ILdt;I)V net/minecraft/world/WorldManager/func_180439_a (Lnet/minecraft/entity/player/EntityPlayer;ILnet/minecraft/util/BlockPos;I)V +MD: qp/a (Lahd;Ljava/lang/String;DDDFF)V net/minecraft/world/WorldManager/func_85102_a (Lnet/minecraft/entity/player/EntityPlayer;Ljava/lang/String;DDDFF)V +MD: qp/a (Ldt;)V net/minecraft/world/WorldManager/func_174960_a (Lnet/minecraft/util/BlockPos;)V +MD: qp/a (Ljava/lang/String;DDDFF)V net/minecraft/world/WorldManager/func_72704_a (Ljava/lang/String;DDDFF)V +MD: qp/a (Ljava/lang/String;Ldt;)V net/minecraft/world/WorldManager/func_174961_a (Ljava/lang/String;Lnet/minecraft/util/BlockPos;)V +MD: qp/a (Lwv;)V net/minecraft/world/WorldManager/func_72703_a (Lnet/minecraft/entity/Entity;)V +MD: qp/b (ILdt;I)V net/minecraft/world/WorldManager/func_180441_b (ILnet/minecraft/util/BlockPos;I)V +MD: qp/b (Ldt;)V net/minecraft/world/WorldManager/func_174959_b (Lnet/minecraft/util/BlockPos;)V +MD: qp/b (Lwv;)V net/minecraft/world/WorldManager/func_72709_b (Lnet/minecraft/entity/Entity;)V +MD: qq/a ()Lqt; net/minecraft/server/management/PlayerManager/func_72688_a ()Lnet/minecraft/world/WorldServer; +MD: qq/a (I)V net/minecraft/server/management/PlayerManager/func_152622_a (I)V +MD: qq/a (II)Z net/minecraft/server/management/PlayerManager/func_152621_a (II)Z +MD: qq/a (IIIII)Z net/minecraft/server/management/PlayerManager/func_72684_a (IIIII)Z +MD: qq/a (IIZ)Lqr; net/minecraft/server/management/PlayerManager/func_72690_a (IIZ)Lnet/minecraft/server/management/PlayerManager$PlayerInstance; +MD: qq/a (Ldt;)V net/minecraft/server/management/PlayerManager/func_180244_a (Lnet/minecraft/util/BlockPos;)V +MD: qq/a (Lqq;)Lqt; net/minecraft/server/management/PlayerManager/access$100 (Lnet/minecraft/server/management/PlayerManager;)Lnet/minecraft/world/WorldServer; +MD: qq/a (Lqw;)V net/minecraft/server/management/PlayerManager/func_72683_a (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: qq/a (Lqw;II)Z net/minecraft/server/management/PlayerManager/func_72694_a (Lnet/minecraft/entity/player/EntityPlayerMP;II)Z +MD: qq/b ()V net/minecraft/server/management/PlayerManager/func_72693_b ()V +MD: qq/b (I)I net/minecraft/server/management/PlayerManager/func_72686_a (I)I +MD: qq/b (Lqq;)Lur; net/minecraft/server/management/PlayerManager/access$200 (Lnet/minecraft/server/management/PlayerManager;)Lnet/minecraft/util/LongHashMap; +MD: qq/b (Lqw;)V net/minecraft/server/management/PlayerManager/func_72691_b (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: qq/c ()Lorg/apache/logging/log4j/Logger; net/minecraft/server/management/PlayerManager/access$000 ()Lorg/apache/logging/log4j/Logger; +MD: qq/c (Lqq;)Ljava/util/List; net/minecraft/server/management/PlayerManager/access$300 (Lnet/minecraft/server/management/PlayerManager;)Ljava/util/List; +MD: qq/c (Lqw;)V net/minecraft/server/management/PlayerManager/func_72695_c (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: qq/d (Lqq;)Ljava/util/List; net/minecraft/server/management/PlayerManager/access$400 (Lnet/minecraft/server/management/PlayerManager;)Ljava/util/List; +MD: qq/d (Lqw;)V net/minecraft/server/management/PlayerManager/func_72685_d (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: qr/a ()V net/minecraft/server/management/PlayerManager$PlayerInstance/func_111194_a ()V +MD: qr/a (III)V net/minecraft/server/management/PlayerManager$PlayerInstance/func_151253_a (III)V +MD: qr/a (Lbcm;)V net/minecraft/server/management/PlayerManager$PlayerInstance/func_151252_a (Lnet/minecraft/tileentity/TileEntity;)V +MD: qr/a (Lbfh;)V net/minecraft/server/management/PlayerManager$PlayerInstance/func_111196_a (Lnet/minecraft/world/chunk/Chunk;)V +MD: qr/a (Lid;)V net/minecraft/server/management/PlayerManager$PlayerInstance/func_151251_a (Lnet/minecraft/network/Packet;)V +MD: qr/a (Lqr;)Laqm; net/minecraft/server/management/PlayerManager$PlayerInstance/access$500 (Lnet/minecraft/server/management/PlayerManager$PlayerInstance;)Lnet/minecraft/world/ChunkCoordIntPair; +MD: qr/a (Lqw;)V net/minecraft/server/management/PlayerManager$PlayerInstance/func_73255_a (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: qr/b ()V net/minecraft/server/management/PlayerManager$PlayerInstance/func_73254_a ()V +MD: qr/b (Lqr;)Ljava/util/List; net/minecraft/server/management/PlayerManager$PlayerInstance/access$600 (Lnet/minecraft/server/management/PlayerManager$PlayerInstance;)Ljava/util/List; +MD: qr/b (Lqw;)V net/minecraft/server/management/PlayerManager$PlayerInstance/func_73252_b (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: qs/a ()Ljava/util/List; net/minecraft/world/gen/ChunkProviderServer/func_152380_a ()Ljava/util/List; +MD: qs/a (II)Z net/minecraft/world/gen/ChunkProviderServer/func_73149_a (II)Z +MD: qs/a (Laqu;Ljava/lang/String;Ldt;)Ldt; net/minecraft/world/gen/ChunkProviderServer/func_180513_a (Lnet/minecraft/world/World;Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: qs/a (Lbfe;II)V net/minecraft/world/gen/ChunkProviderServer/func_73153_a (Lnet/minecraft/world/chunk/IChunkProvider;II)V +MD: qs/a (Lbfe;Lbfh;II)Z net/minecraft/world/gen/ChunkProviderServer/func_177460_a (Lnet/minecraft/world/chunk/IChunkProvider;Lnet/minecraft/world/chunk/Chunk;II)Z +MD: qs/a (Lbfh;)V net/minecraft/world/gen/ChunkProviderServer/func_73243_a (Lnet/minecraft/world/chunk/Chunk;)V +MD: qs/a (Lbfh;II)V net/minecraft/world/gen/ChunkProviderServer/func_180514_a (Lnet/minecraft/world/chunk/Chunk;II)V +MD: qs/a (Ldt;)Lbfh; net/minecraft/world/gen/ChunkProviderServer/func_177459_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/chunk/Chunk; +MD: qs/a (Lxp;Ldt;)Ljava/util/List; net/minecraft/world/gen/ChunkProviderServer/func_177458_a (Lnet/minecraft/entity/EnumCreatureType;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: qs/a (ZLuy;)Z net/minecraft/world/gen/ChunkProviderServer/func_73151_a (ZLnet/minecraft/util/IProgressUpdate;)Z +MD: qs/b ()V net/minecraft/world/gen/ChunkProviderServer/func_73240_a ()V +MD: qs/b (II)V net/minecraft/world/gen/ChunkProviderServer/func_73241_b (II)V +MD: qs/b (Lbfh;)V net/minecraft/world/gen/ChunkProviderServer/func_73242_b (Lnet/minecraft/world/chunk/Chunk;)V +MD: qs/c ()V net/minecraft/world/gen/ChunkProviderServer/func_104112_b ()V +MD: qs/c (II)Lbfh; net/minecraft/world/gen/ChunkProviderServer/func_73158_c (II)Lnet/minecraft/world/chunk/Chunk; +MD: qs/d ()Z net/minecraft/world/gen/ChunkProviderServer/func_73156_b ()Z +MD: qs/d (II)Lbfh; net/minecraft/world/gen/ChunkProviderServer/func_73154_d (II)Lnet/minecraft/world/chunk/Chunk; +MD: qs/e ()Z net/minecraft/world/gen/ChunkProviderServer/func_73157_c ()Z +MD: qs/e (II)Lbfh; net/minecraft/world/gen/ChunkProviderServer/func_73239_e (II)Lnet/minecraft/world/chunk/Chunk; +MD: qs/f ()Ljava/lang/String; net/minecraft/world/gen/ChunkProviderServer/func_73148_d ()Ljava/lang/String; +MD: qs/g ()I net/minecraft/world/gen/ChunkProviderServer/func_73152_e ()I +MD: qt/a ()V net/minecraft/world/WorldServer/func_73042_a ()V +MD: qt/a (IIIIII)Ljava/util/List; net/minecraft/world/WorldServer/func_147486_a (IIIIII)Ljava/util/List; +MD: qt/a (Lahd;Ldt;)Z net/minecraft/world/WorldServer/func_175660_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/BlockPos;)Z +MD: qt/a (Laqk;)Z net/minecraft/world/WorldServer/func_147485_a (Lnet/minecraft/block/BlockEventData;)Z +MD: qt/a (Larb;)V net/minecraft/world/WorldServer/func_72963_a (Lnet/minecraft/world/WorldSettings;)V +MD: qt/a (Lbfh;Z)Ljava/util/List; net/minecraft/world/WorldServer/func_72920_a (Lnet/minecraft/world/chunk/Chunk;Z)Ljava/util/List; +MD: qt/a (Lbjb;Z)Ljava/util/List; net/minecraft/world/WorldServer/func_175712_a (Lnet/minecraft/world/gen/structure/StructureBoundingBox;Z)Ljava/util/List; +MD: qt/a (Ldt;)Ldt; net/minecraft/world/WorldServer/func_175736_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/util/BlockPos; +MD: qt/a (Ldt;Latr;)Z net/minecraft/world/WorldServer/func_175691_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)Z +MD: qt/a (Ldt;Latr;I)V net/minecraft/world/WorldServer/func_175684_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;I)V +MD: qt/a (Ldt;Latr;II)V net/minecraft/world/WorldServer/func_175654_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;II)V +MD: qt/a (Lew;DDDIDDDD[I)V net/minecraft/world/WorldServer/func_175739_a (Lnet/minecraft/util/EnumParticleTypes;DDDIDDDD[I)V +MD: qt/a (Lew;ZDDDIDDDD[I)V net/minecraft/world/WorldServer/func_180505_a (Lnet/minecraft/util/EnumParticleTypes;ZDDDIDDDD[I)V +MD: qt/a (Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/ListenableFuture; net/minecraft/world/WorldServer/func_152344_a (Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/ListenableFuture; +MD: qt/a (Ljava/util/UUID;)Lwv; net/minecraft/world/WorldServer/func_175733_a (Ljava/util/UUID;)Lnet/minecraft/entity/Entity; +MD: qt/a (Lwv;)V net/minecraft/world/WorldServer/func_72923_a (Lnet/minecraft/entity/Entity;)V +MD: qt/a (Lwv;B)V net/minecraft/world/WorldServer/func_72960_a (Lnet/minecraft/entity/Entity;B)V +MD: qt/a (Lwv;DDDFZZ)Laqo; net/minecraft/world/WorldServer/func_72885_a (Lnet/minecraft/entity/Entity;DDDFZZ)Lnet/minecraft/world/Explosion; +MD: qt/a (Lwv;Z)V net/minecraft/world/WorldServer/func_72866_a (Lnet/minecraft/entity/Entity;Z)V +MD: qt/a (Lxp;Larq;Ldt;)Z net/minecraft/world/WorldServer/func_175732_a (Lnet/minecraft/entity/EnumCreatureType;Lnet/minecraft/world/biome/BiomeGenBase$SpawnListEntry;Lnet/minecraft/util/BlockPos;)Z +MD: qt/a (Lxp;Ldt;)Larq; net/minecraft/world/WorldServer/func_175734_a (Lnet/minecraft/entity/EnumCreatureType;Lnet/minecraft/util/BlockPos;)Lnet/minecraft/world/biome/BiomeGenBase$SpawnListEntry; +MD: qt/a (Z)Z net/minecraft/world/WorldServer/func_72955_a (Z)Z +MD: qt/a (ZLuy;)V net/minecraft/world/WorldServer/func_73044_a (ZLnet/minecraft/util/IProgressUpdate;)V +MD: qt/aH ()Z net/minecraft/world/WorldServer/func_152345_ab ()Z +MD: qt/ag ()V net/minecraft/world/WorldServer/func_73051_P ()V +MD: qt/ah ()Z net/minecraft/world/WorldServer/func_175738_ah ()Z +MD: qt/ai ()Z net/minecraft/world/WorldServer/func_175735_ai ()Z +MD: qt/aj ()V net/minecraft/world/WorldServer/func_175737_aj ()V +MD: qt/ak ()V net/minecraft/world/WorldServer/func_147488_Z ()V +MD: qt/b ()Laqu; net/minecraft/world/WorldServer/func_175643_b ()Lnet/minecraft/world/World; +MD: qt/b (Larb;)V net/minecraft/world/WorldServer/func_73052_b (Lnet/minecraft/world/WorldSettings;)V +MD: qt/b (Ldt;Latr;II)V net/minecraft/world/WorldServer/func_180497_b (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;II)V +MD: qt/b (Lwv;)V net/minecraft/world/WorldServer/func_72847_b (Lnet/minecraft/entity/Entity;)V +MD: qt/c ()V net/minecraft/world/WorldServer/func_72835_b ()V +MD: qt/c (Ldt;Latr;II)V net/minecraft/world/WorldServer/func_175641_c (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;II)V +MD: qt/c (Lwv;)Z net/minecraft/world/WorldServer/func_72942_c (Lnet/minecraft/entity/Entity;)Z +MD: qt/d ()V net/minecraft/world/WorldServer/func_72854_c ()V +MD: qt/e ()V net/minecraft/world/WorldServer/func_73053_d ()V +MD: qt/f ()Z net/minecraft/world/WorldServer/func_73056_e ()Z +MD: qt/g ()V net/minecraft/world/WorldServer/func_72974_f ()V +MD: qt/h ()V net/minecraft/world/WorldServer/func_147456_g ()V +MD: qt/i ()V net/minecraft/world/WorldServer/func_72939_s ()V +MD: qt/j ()V net/minecraft/world/WorldServer/func_82742_i ()V +MD: qt/k ()Lbfe; net/minecraft/world/WorldServer/func_72970_h ()Lnet/minecraft/world/chunk/IChunkProvider; +MD: qt/l ()V net/minecraft/world/WorldServer/func_73047_i ()V +MD: qt/m ()Ldt; net/minecraft/world/WorldServer/func_180504_m ()Lnet/minecraft/util/BlockPos; +MD: qt/n ()V net/minecraft/world/WorldServer/func_104140_m ()V +MD: qt/o ()V net/minecraft/world/WorldServer/func_73041_k ()V +MD: qt/p ()V net/minecraft/world/WorldServer/func_72979_l ()V +MD: qt/q ()I net/minecraft/world/WorldServer/func_152379_p ()I +MD: qt/r ()Lnet/minecraft/server/MinecraftServer; net/minecraft/world/WorldServer/func_73046_m ()Lnet/minecraft/server/MinecraftServer; +MD: qt/s ()Lqn; net/minecraft/world/WorldServer/func_73039_n ()Lnet/minecraft/entity/EntityTracker; +MD: qt/t ()Lqq; net/minecraft/world/WorldServer/func_73040_p ()Lnet/minecraft/server/management/PlayerManager; +MD: qt/u ()Larh; net/minecraft/world/WorldServer/func_85176_s ()Lnet/minecraft/world/Teleporter; +MD: qu/a (Lxm;)Z net/minecraft/world/WorldServer$1/func_180242_a (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: qu/apply (Ljava/lang/Object;)Z net/minecraft/world/WorldServer$1/apply (Ljava/lang/Object;)Z +MD: qw/A ()Ltp; net/minecraft/entity/player/EntityPlayerMP/func_147099_x ()Lnet/minecraft/stats/StatisticsFile; +MD: qw/B ()V net/minecraft/entity/player/EntityPlayerMP/func_175135_B ()V +MD: qw/C ()Lwv; net/minecraft/entity/player/EntityPlayerMP/func_175398_C ()Lnet/minecraft/entity/Entity; +MD: qw/D ()J net/minecraft/entity/player/EntityPlayerMP/func_154331_x ()J +MD: qw/E ()Lho; net/minecraft/entity/player/EntityPlayerMP/func_175396_E ()Lnet/minecraft/util/IChatComponent; +MD: qw/a (DDD)V net/minecraft/entity/player/EntityPlayerMP/func_70634_a (DDD)V +MD: qw/a (DZ)V net/minecraft/entity/player/EntityPlayerMP/func_71122_b (DZ)V +MD: qw/a (DZLatr;Ldt;)V net/minecraft/entity/player/EntityPlayerMP/func_180433_a (DZLnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;)V +MD: qw/a (FFZZ)V net/minecraft/entity/player/EntityPlayerMP/func_110430_a (FFZZ)V +MD: qw/a (I)V net/minecraft/entity/player/EntityPlayerMP/func_82242_a (I)V +MD: qw/a (ILjava/lang/String;)Z net/minecraft/entity/player/EntityPlayerMP/func_70003_b (ILjava/lang/String;)Z +MD: qw/a (Labt;Lvq;)V net/minecraft/entity/player/EntityPlayerMP/func_110298_a (Lnet/minecraft/entity/passive/EntityHorse;Lnet/minecraft/inventory/IInventory;)V +MD: qw/a (Lahd;)Z net/minecraft/entity/player/EntityPlayerMP/func_96122_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: qw/a (Lahd;Z)V net/minecraft/entity/player/EntityPlayerMP/func_71049_a (Lnet/minecraft/entity/player/EntityPlayer;Z)V +MD: qw/a (Laib;)V net/minecraft/entity/player/EntityPlayerMP/func_71120_a (Lnet/minecraft/inventory/Container;)V +MD: qw/a (Laib;II)V net/minecraft/entity/player/EntityPlayerMP/func_71112_a (Lnet/minecraft/inventory/Container;II)V +MD: qw/a (Laib;ILamj;)V net/minecraft/entity/player/EntityPlayerMP/func_71111_a (Lnet/minecraft/inventory/Container;ILnet/minecraft/item/ItemStack;)V +MD: qw/a (Laib;Ljava/util/List;)V net/minecraft/entity/player/EntityPlayerMP/func_71110_a (Lnet/minecraft/inventory/Container;Ljava/util/List;)V +MD: qw/a (Laib;Lvq;)V net/minecraft/entity/player/EntityPlayerMP/func_175173_a (Lnet/minecraft/inventory/Container;Lnet/minecraft/inventory/IInventory;)V +MD: qw/a (Lamj;)V net/minecraft/entity/player/EntityPlayerMP/func_71048_c (Lnet/minecraft/item/ItemStack;)V +MD: qw/a (Lamj;I)V net/minecraft/entity/player/EntityPlayerMP/func_71008_a (Lnet/minecraft/item/ItemStack;I)V +MD: qw/a (Laqb;)V net/minecraft/entity/player/EntityPlayerMP/func_180472_a (Lnet/minecraft/entity/IMerchant;)V +MD: qw/a (Larc;)V net/minecraft/entity/player/EntityPlayerMP/func_71033_a (Lnet/minecraft/world/WorldSettings$GameType;)V +MD: qw/a (Lbcm;)V net/minecraft/entity/player/EntityPlayerMP/func_147097_b (Lnet/minecraft/tileentity/TileEntity;)V +MD: qw/a (Lbdj;)V net/minecraft/entity/player/EntityPlayerMP/func_175141_a (Lnet/minecraft/tileentity/TileEntitySign;)V +MD: qw/a (Ldt;)Lahf; net/minecraft/entity/player/EntityPlayerMP/func_180469_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/entity/player/EntityPlayer$EnumStatus; +MD: qw/a (Lfn;)V net/minecraft/entity/player/EntityPlayerMP/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: qw/a (Lho;)V net/minecraft/entity/player/EntityPlayerMP/func_145747_a (Lnet/minecraft/util/IChatComponent;)V +MD: qw/a (Ljava/lang/String;Ljava/lang/String;)V net/minecraft/entity/player/EntityPlayerMP/func_175397_a (Ljava/lang/String;Ljava/lang/String;)V +MD: qw/a (Llx;)V net/minecraft/entity/player/EntityPlayerMP/func_147100_a (Lnet/minecraft/network/play/client/C15PacketClientSettings;)V +MD: qw/a (Lqw;)Z net/minecraft/entity/player/EntityPlayerMP/func_174827_a (Lnet/minecraft/entity/player/EntityPlayerMP;)Z +MD: qw/a (Ltq;)V net/minecraft/entity/player/EntityPlayerMP/func_175145_a (Lnet/minecraft/stats/StatBase;)V +MD: qw/a (Ltq;I)V net/minecraft/entity/player/EntityPlayerMP/func_71064_a (Lnet/minecraft/stats/StatBase;I)V +MD: qw/a (Lvq;)V net/minecraft/entity/player/EntityPlayerMP/func_71007_a (Lnet/minecraft/inventory/IInventory;)V +MD: qw/a (Lvv;)V net/minecraft/entity/player/EntityPlayerMP/func_180468_a (Lnet/minecraft/world/IInteractionObject;)V +MD: qw/a (Lwh;)V net/minecraft/entity/player/EntityPlayerMP/func_70645_a (Lnet/minecraft/util/DamageSource;)V +MD: qw/a (Lwh;F)Z net/minecraft/entity/player/EntityPlayerMP/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: qw/a (Lwq;)V net/minecraft/entity/player/EntityPlayerMP/func_70670_a (Lnet/minecraft/potion/PotionEffect;)V +MD: qw/a (Lwq;Z)V net/minecraft/entity/player/EntityPlayerMP/func_70695_b (Lnet/minecraft/potion/PotionEffect;Z)V +MD: qw/a (Lwv;)V net/minecraft/entity/player/EntityPlayerMP/func_70078_a (Lnet/minecraft/entity/Entity;)V +MD: qw/a (Lwv;I)V net/minecraft/entity/player/EntityPlayerMP/func_71001_a (Lnet/minecraft/entity/Entity;I)V +MD: qw/a (ZZZ)V net/minecraft/entity/player/EntityPlayerMP/func_70999_a (ZZZ)V +MD: qw/b (I)V net/minecraft/entity/player/EntityPlayerMP/func_71013_b (I)V +MD: qw/b (Lfn;)V net/minecraft/entity/player/EntityPlayerMP/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: qw/b (Lho;)V net/minecraft/entity/player/EntityPlayerMP/func_146105_b (Lnet/minecraft/util/IChatComponent;)V +MD: qw/b (Lwq;)V net/minecraft/entity/player/EntityPlayerMP/func_70688_c (Lnet/minecraft/potion/PotionEffect;)V +MD: qw/b (Lwv;)V net/minecraft/entity/player/EntityPlayerMP/func_71009_b (Lnet/minecraft/entity/Entity;)V +MD: qw/c ()Ldt; net/minecraft/entity/player/EntityPlayerMP/func_180425_c ()Lnet/minecraft/util/BlockPos; +MD: qw/c (I)V net/minecraft/entity/player/EntityPlayerMP/func_71027_c (I)V +MD: qw/c (Lwv;)V net/minecraft/entity/player/EntityPlayerMP/func_71047_c (Lnet/minecraft/entity/Entity;)V +MD: qw/cq ()Z net/minecraft/entity/player/EntityPlayerMP/func_175400_cq ()Z +MD: qw/cr ()V net/minecraft/entity/player/EntityPlayerMP/func_71117_bO ()V +MD: qw/d (Lwv;)V net/minecraft/entity/player/EntityPlayerMP/func_152339_d (Lnet/minecraft/entity/Entity;)V +MD: qw/e (Lwv;)V net/minecraft/entity/player/EntityPlayerMP/func_175399_e (Lnet/minecraft/entity/Entity;)V +MD: qw/f (Lwv;)V net/minecraft/entity/player/EntityPlayerMP/func_71059_n (Lnet/minecraft/entity/Entity;)V +MD: qw/f_ ()V net/minecraft/entity/player/EntityPlayerMP/func_71116_b ()V +MD: qw/g_ ()V net/minecraft/entity/player/EntityPlayerMP/func_152111_bt ()V +MD: qw/h_ ()V net/minecraft/entity/player/EntityPlayerMP/func_147098_j ()V +MD: qw/j ()V net/minecraft/entity/player/EntityPlayerMP/func_152112_bu ()V +MD: qw/l ()V net/minecraft/entity/player/EntityPlayerMP/func_71127_g ()V +MD: qw/n ()V net/minecraft/entity/player/EntityPlayerMP/func_71053_j ()V +MD: qw/o ()V net/minecraft/entity/player/EntityPlayerMP/func_71113_k ()V +MD: qw/p ()V net/minecraft/entity/player/EntityPlayerMP/func_71128_l ()V +MD: qw/q ()V net/minecraft/entity/player/EntityPlayerMP/func_71123_m ()V +MD: qw/r ()V net/minecraft/entity/player/EntityPlayerMP/func_71118_n ()V +MD: qw/s ()V net/minecraft/entity/player/EntityPlayerMP/func_71036_o ()V +MD: qw/s_ ()V net/minecraft/entity/player/EntityPlayerMP/func_70071_h_ ()V +MD: qw/t ()V net/minecraft/entity/player/EntityPlayerMP/func_71016_p ()V +MD: qw/u ()Lqt; net/minecraft/entity/player/EntityPlayerMP/func_71121_q ()Lnet/minecraft/world/WorldServer; +MD: qw/v ()Z net/minecraft/entity/player/EntityPlayerMP/func_175149_v ()Z +MD: qw/w ()Ljava/lang/String; net/minecraft/entity/player/EntityPlayerMP/func_71114_r ()Ljava/lang/String; +MD: qw/y ()Lahg; net/minecraft/entity/player/EntityPlayerMP/func_147096_v ()Lnet/minecraft/entity/player/EntityPlayer$EnumChatVisibility; +MD: qw/z ()V net/minecraft/entity/player/EntityPlayerMP/func_143004_u ()V +MD: qx/a ()V net/minecraft/server/management/ItemInWorldManager/func_73075_a ()V +MD: qx/a (Lahd;Laqu;Lamj;)Z net/minecraft/server/management/ItemInWorldManager/func_73085_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/item/ItemStack;)Z +MD: qx/a (Lahd;Laqu;Lamj;Ldt;Lej;FFF)Z net/minecraft/server/management/ItemInWorldManager/func_180236_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/item/ItemStack;Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;FFF)Z +MD: qx/a (Larc;)V net/minecraft/server/management/ItemInWorldManager/func_73076_a (Lnet/minecraft/world/WorldSettings$GameType;)V +MD: qx/a (Ldt;)V net/minecraft/server/management/ItemInWorldManager/func_180785_a (Lnet/minecraft/util/BlockPos;)V +MD: qx/a (Ldt;Lej;)V net/minecraft/server/management/ItemInWorldManager/func_180784_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/util/EnumFacing;)V +MD: qx/a (Lqt;)V net/minecraft/server/management/ItemInWorldManager/func_73080_a (Lnet/minecraft/world/WorldServer;)V +MD: qx/b ()Larc; net/minecraft/server/management/ItemInWorldManager/func_73081_b ()Lnet/minecraft/world/WorldSettings$GameType; +MD: qx/b (Larc;)V net/minecraft/server/management/ItemInWorldManager/func_73077_b (Lnet/minecraft/world/WorldSettings$GameType;)V +MD: qx/b (Ldt;)Z net/minecraft/server/management/ItemInWorldManager/func_180237_b (Lnet/minecraft/util/BlockPos;)Z +MD: qx/c ()Z net/minecraft/server/management/ItemInWorldManager/func_180239_c ()Z +MD: qx/c (Ldt;)Z net/minecraft/server/management/ItemInWorldManager/func_180235_c (Lnet/minecraft/util/BlockPos;)Z +MD: qx/d ()Z net/minecraft/server/management/ItemInWorldManager/func_73083_d ()Z +MD: qx/e ()V net/minecraft/server/management/ItemInWorldManager/func_180238_e ()V +MD: qy/a ()V net/minecraft/entity/EntityTrackerEntry/func_73119_a ()V +MD: qy/a (Lid;)V net/minecraft/entity/EntityTrackerEntry/func_151259_a (Lnet/minecraft/network/Packet;)V +MD: qy/a (Ljava/util/List;)V net/minecraft/entity/EntityTrackerEntry/func_73122_a (Ljava/util/List;)V +MD: qy/a (Lqw;)V net/minecraft/entity/EntityTrackerEntry/func_73118_a (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: qy/b ()V net/minecraft/entity/EntityTrackerEntry/func_111190_b ()V +MD: qy/b (Lid;)V net/minecraft/entity/EntityTrackerEntry/func_151261_b (Lnet/minecraft/network/Packet;)V +MD: qy/b (Ljava/util/List;)V net/minecraft/entity/EntityTrackerEntry/func_73125_b (Ljava/util/List;)V +MD: qy/b (Lqw;)V net/minecraft/entity/EntityTrackerEntry/func_73117_b (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: qy/c ()Lid; net/minecraft/entity/EntityTrackerEntry/func_151260_c ()Lnet/minecraft/network/Packet; +MD: qy/c (Lqw;)Z net/minecraft/entity/EntityTrackerEntry/func_180233_c (Lnet/minecraft/entity/player/EntityPlayerMP;)Z +MD: qy/d (Lqw;)V net/minecraft/entity/EntityTrackerEntry/func_73123_c (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: qy/e (Lqw;)Z net/minecraft/entity/EntityTrackerEntry/func_73121_d (Lnet/minecraft/entity/player/EntityPlayerMP;)Z +MD: qy/equals (Ljava/lang/Object;)Z net/minecraft/entity/EntityTrackerEntry/equals (Ljava/lang/Object;)Z +MD: qy/hashCode ()I net/minecraft/entity/EntityTrackerEntry/hashCode ()I +MD: r/a ()Ljava/lang/String; net/minecraft/crash/CrashReportCategory$Entry/func_85089_a ()Ljava/lang/String; +MD: r/b ()Ljava/lang/String; net/minecraft/crash/CrashReportCategory$Entry/func_85090_b ()Ljava/lang/String; +MD: ra/a (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V net/minecraft/network/PingResponseHandler/func_151256_a (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V +MD: ra/a (Ljava/lang/String;)Lio/netty/buffer/ByteBuf; net/minecraft/network/PingResponseHandler/func_151255_a (Ljava/lang/String;)Lio/netty/buffer/ByteBuf; +MD: ra/channelRead (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V net/minecraft/network/PingResponseHandler/channelRead (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V +MD: rb/a (Lho;)V net/minecraft/client/network/NetHandlerHandshakeMemory/func_147231_a (Lnet/minecraft/util/IChatComponent;)V +MD: rb/a (Lmz;)V net/minecraft/client/network/NetHandlerHandshakeMemory/func_147383_a (Lnet/minecraft/network/handshake/client/C00Handshake;)V +MD: rc/a ()Ljava/net/SocketAddress; net/minecraft/network/NetworkSystem/func_151270_a ()Ljava/net/SocketAddress; +MD: rc/a (Ljava/net/InetAddress;I)V net/minecraft/network/NetworkSystem/func_151265_a (Ljava/net/InetAddress;I)V +MD: rc/a (Lrc;)Ljava/util/List; net/minecraft/network/NetworkSystem/access$000 (Lnet/minecraft/network/NetworkSystem;)Ljava/util/List; +MD: rc/b ()V net/minecraft/network/NetworkSystem/func_151268_b ()V +MD: rc/b (Lrc;)Lnet/minecraft/server/MinecraftServer; net/minecraft/network/NetworkSystem/access$100 (Lnet/minecraft/network/NetworkSystem;)Lnet/minecraft/server/MinecraftServer; +MD: rc/c ()V net/minecraft/network/NetworkSystem/func_151269_c ()V +MD: rc/d ()Lnet/minecraft/server/MinecraftServer; net/minecraft/network/NetworkSystem/func_151267_d ()Lnet/minecraft/server/MinecraftServer; +MD: rd/a ()Lio/netty/channel/nio/NioEventLoopGroup; net/minecraft/network/NetworkSystem$1/func_179286_a ()Lio/netty/channel/nio/NioEventLoopGroup; +MD: rd/b ()Ljava/lang/Object; net/minecraft/network/NetworkSystem$1/func_179280_b ()Ljava/lang/Object; +MD: re/a ()Lio/netty/channel/local/LocalEventLoopGroup; net/minecraft/network/NetworkSystem$2/func_179285_a ()Lio/netty/channel/local/LocalEventLoopGroup; +MD: re/b ()Ljava/lang/Object; net/minecraft/network/NetworkSystem$2/func_179280_b ()Ljava/lang/Object; +MD: rf/initChannel (Lio/netty/channel/Channel;)V net/minecraft/network/NetworkSystem$3/initChannel (Lio/netty/channel/Channel;)V +MD: rg/initChannel (Lio/netty/channel/Channel;)V net/minecraft/network/NetworkSystem$4/initChannel (Lio/netty/channel/Channel;)V +MD: rh/a ()Ljava/lang/String; net/minecraft/network/NetworkSystem$5/call ()Ljava/lang/String; +MD: rh/call ()Ljava/lang/Object; net/minecraft/network/NetworkSystem$5/call ()Ljava/lang/Object; +MD: ri/operationComplete (Lio/netty/util/concurrent/Future;)V net/minecraft/network/NetworkSystem$6/operationComplete (Lio/netty/util/concurrent/Future;)V +MD: rj/a ()Lgr; net/minecraft/network/NetHandlerPlayServer/func_147362_b ()Lnet/minecraft/network/NetworkManager; +MD: rj/a (DDDFF)V net/minecraft/network/NetHandlerPlayServer/func_147364_a (DDDFF)V +MD: rj/a (DDDFFLjava/util/Set;)V net/minecraft/network/NetHandlerPlayServer/func_175089_a (DDDFFLjava/util/Set;)V +MD: rj/a (Lho;)V net/minecraft/network/NetHandlerPlayServer/func_147231_a (Lnet/minecraft/util/IChatComponent;)V +MD: rj/a (Lid;)V net/minecraft/network/NetHandlerPlayServer/func_147359_a (Lnet/minecraft/network/Packet;)V +MD: rj/a (Llt;)V net/minecraft/network/NetHandlerPlayServer/func_147341_a (Lnet/minecraft/network/play/client/C14PacketTabComplete;)V +MD: rj/a (Llu;)V net/minecraft/network/NetHandlerPlayServer/func_147354_a (Lnet/minecraft/network/play/client/C01PacketChatMessage;)V +MD: rj/a (Llv;)V net/minecraft/network/NetHandlerPlayServer/func_147342_a (Lnet/minecraft/network/play/client/C16PacketClientStatus;)V +MD: rj/a (Llx;)V net/minecraft/network/NetHandlerPlayServer/func_147352_a (Lnet/minecraft/network/play/client/C15PacketClientSettings;)V +MD: rj/a (Lly;)V net/minecraft/network/NetHandlerPlayServer/func_147339_a (Lnet/minecraft/network/play/client/C0FPacketConfirmTransaction;)V +MD: rj/a (Llz;)V net/minecraft/network/NetHandlerPlayServer/func_147338_a (Lnet/minecraft/network/play/client/C11PacketEnchantItem;)V +MD: rj/a (Lma;)V net/minecraft/network/NetHandlerPlayServer/func_147351_a (Lnet/minecraft/network/play/client/C0EPacketClickWindow;)V +MD: rj/a (Lmb;)V net/minecraft/network/NetHandlerPlayServer/func_147356_a (Lnet/minecraft/network/play/client/C0DPacketCloseWindow;)V +MD: rj/a (Lmc;)V net/minecraft/network/NetHandlerPlayServer/func_147349_a (Lnet/minecraft/network/play/client/C17PacketCustomPayload;)V +MD: rj/a (Lmd;)V net/minecraft/network/NetHandlerPlayServer/func_147340_a (Lnet/minecraft/network/play/client/C02PacketUseEntity;)V +MD: rj/a (Lmf;)V net/minecraft/network/NetHandlerPlayServer/func_147353_a (Lnet/minecraft/network/play/client/C00PacketKeepAlive;)V +MD: rj/a (Lmg;)V net/minecraft/network/NetHandlerPlayServer/func_147347_a (Lnet/minecraft/network/play/client/C03PacketPlayer;)V +MD: rj/a (Lmk;)V net/minecraft/network/NetHandlerPlayServer/func_147348_a (Lnet/minecraft/network/play/client/C13PacketPlayerAbilities;)V +MD: rj/a (Lml;)V net/minecraft/network/NetHandlerPlayServer/func_147345_a (Lnet/minecraft/network/play/client/C07PacketPlayerDigging;)V +MD: rj/a (Lmn;)V net/minecraft/network/NetHandlerPlayServer/func_147357_a (Lnet/minecraft/network/play/client/C0BPacketEntityAction;)V +MD: rj/a (Lmp;)V net/minecraft/network/NetHandlerPlayServer/func_147358_a (Lnet/minecraft/network/play/client/C0CPacketInput;)V +MD: rj/a (Lmq;)V net/minecraft/network/NetHandlerPlayServer/func_175086_a (Lnet/minecraft/network/play/client/C19PacketResourcePackStatus;)V +MD: rj/a (Lms;)V net/minecraft/network/NetHandlerPlayServer/func_147355_a (Lnet/minecraft/network/play/client/C09PacketHeldItemChange;)V +MD: rj/a (Lmt;)V net/minecraft/network/NetHandlerPlayServer/func_147344_a (Lnet/minecraft/network/play/client/C10PacketCreativeInventoryAction;)V +MD: rj/a (Lmu;)V net/minecraft/network/NetHandlerPlayServer/func_147343_a (Lnet/minecraft/network/play/client/C12PacketUpdateSign;)V +MD: rj/a (Lmv;)V net/minecraft/network/NetHandlerPlayServer/func_175087_a (Lnet/minecraft/network/play/client/C0APacketAnimation;)V +MD: rj/a (Lmw;)V net/minecraft/network/NetHandlerPlayServer/func_175088_a (Lnet/minecraft/network/play/client/C18PacketSpectate;)V +MD: rj/a (Lmx;)V net/minecraft/network/NetHandlerPlayServer/func_147346_a (Lnet/minecraft/network/play/client/C08PacketPlayerBlockPlacement;)V +MD: rj/c ()V net/minecraft/network/NetHandlerPlayServer/func_73660_a ()V +MD: rj/c (Ljava/lang/String;)V net/minecraft/network/NetHandlerPlayServer/func_147360_c (Ljava/lang/String;)V +MD: rj/d ()J net/minecraft/network/NetHandlerPlayServer/func_147363_d ()J +MD: rj/d (Ljava/lang/String;)V net/minecraft/network/NetHandlerPlayServer/func_147361_d (Ljava/lang/String;)V +MD: rk/operationComplete (Lio/netty/util/concurrent/Future;)V net/minecraft/network/NetHandlerPlayServer$1/operationComplete (Lio/netty/util/concurrent/Future;)V +MD: rl/run ()V net/minecraft/network/NetHandlerPlayServer$2/run ()V +MD: rm/a ()Ljava/lang/String; net/minecraft/network/NetHandlerPlayServer$3/call ()Ljava/lang/String; +MD: rm/call ()Ljava/lang/Object; net/minecraft/network/NetHandlerPlayServer$3/call ()Ljava/lang/Object; +MD: ro/a (Lho;)V net/minecraft/server/network/NetHandlerHandshakeTCP/func_147231_a (Lnet/minecraft/util/IChatComponent;)V +MD: ro/a (Lmz;)V net/minecraft/server/network/NetHandlerHandshakeTCP/func_147383_a (Lnet/minecraft/network/handshake/client/C00Handshake;)V +MD: rq/a (Lcom/mojang/authlib/GameProfile;)Lcom/mojang/authlib/GameProfile; net/minecraft/server/network/NetHandlerLoginServer/func_152506_a (Lcom/mojang/authlib/GameProfile;)Lcom/mojang/authlib/GameProfile; +MD: rq/a (Lho;)V net/minecraft/server/network/NetHandlerLoginServer/func_147231_a (Lnet/minecraft/util/IChatComponent;)V +MD: rq/a (Ljava/lang/String;)V net/minecraft/server/network/NetHandlerLoginServer/func_147322_a (Ljava/lang/String;)V +MD: rq/a (Lni;)V net/minecraft/server/network/NetHandlerLoginServer/func_147316_a (Lnet/minecraft/network/login/client/C00PacketLoginStart;)V +MD: rq/a (Lnj;)V net/minecraft/server/network/NetHandlerLoginServer/func_147315_a (Lnet/minecraft/network/login/client/C01PacketEncryptionResponse;)V +MD: rq/a (Lrq;)Lnet/minecraft/server/MinecraftServer; net/minecraft/server/network/NetHandlerLoginServer/access$000 (Lnet/minecraft/server/network/NetHandlerLoginServer;)Lnet/minecraft/server/MinecraftServer; +MD: rq/a (Lrq;Lcom/mojang/authlib/GameProfile;)Lcom/mojang/authlib/GameProfile; net/minecraft/server/network/NetHandlerLoginServer/access$102 (Lnet/minecraft/server/network/NetHandlerLoginServer;Lcom/mojang/authlib/GameProfile;)Lcom/mojang/authlib/GameProfile; +MD: rq/a (Lrq;Lrt;)Lrt; net/minecraft/server/network/NetHandlerLoginServer/access$502 (Lnet/minecraft/server/network/NetHandlerLoginServer;Lnet/minecraft/server/network/NetHandlerLoginServer$LoginState;)Lnet/minecraft/server/network/NetHandlerLoginServer$LoginState; +MD: rq/b ()V net/minecraft/server/network/NetHandlerLoginServer/func_147326_c ()V +MD: rq/b (Lrq;)Lcom/mojang/authlib/GameProfile; net/minecraft/server/network/NetHandlerLoginServer/access$100 (Lnet/minecraft/server/network/NetHandlerLoginServer;)Lcom/mojang/authlib/GameProfile; +MD: rq/c ()V net/minecraft/server/network/NetHandlerLoginServer/func_73660_a ()V +MD: rq/c (Lrq;)Ljava/lang/String; net/minecraft/server/network/NetHandlerLoginServer/access$200 (Lnet/minecraft/server/network/NetHandlerLoginServer;)Ljava/lang/String; +MD: rq/d ()Ljava/lang/String; net/minecraft/server/network/NetHandlerLoginServer/func_147317_d ()Ljava/lang/String; +MD: rq/d (Lrq;)Ljavax/crypto/SecretKey; net/minecraft/server/network/NetHandlerLoginServer/access$300 (Lnet/minecraft/server/network/NetHandlerLoginServer;)Ljavax/crypto/SecretKey; +MD: rq/e ()Lorg/apache/logging/log4j/Logger; net/minecraft/server/network/NetHandlerLoginServer/access$400 ()Lorg/apache/logging/log4j/Logger; +MD: rr/a (Lio/netty/channel/ChannelFuture;)V net/minecraft/server/network/NetHandlerLoginServer$1/operationComplete (Lio/netty/channel/ChannelFuture;)V +MD: rr/operationComplete (Lio/netty/util/concurrent/Future;)V net/minecraft/server/network/NetHandlerLoginServer$1/operationComplete (Lio/netty/util/concurrent/Future;)V +MD: rs/run ()V net/minecraft/server/network/NetHandlerLoginServer$2/run ()V +MD: rt/values ()[Lrt; net/minecraft/server/network/NetHandlerLoginServer$LoginState/values ()[Lnet/minecraft/server/network/NetHandlerLoginServer$LoginState; +MD: ru/a (Lho;)V net/minecraft/server/network/NetHandlerStatusServer/func_147231_a (Lnet/minecraft/util/IChatComponent;)V +MD: ru/a (Lnw;)V net/minecraft/server/network/NetHandlerStatusServer/func_147311_a (Lnet/minecraft/network/status/client/C01PacketPing;)V +MD: ru/a (Lnx;)V net/minecraft/server/network/NetHandlerStatusServer/func_147312_a (Lnet/minecraft/network/status/client/C00PacketServerQuery;)V +MD: rx/a (Lcom/google/gson/JsonObject;)V net/minecraft/server/management/BanEntry/func_152641_a (Lcom/google/gson/JsonObject;)V +MD: rx/c ()Ljava/util/Date; net/minecraft/server/management/BanEntry/func_73680_d ()Ljava/util/Date; +MD: rx/d ()Ljava/lang/String; net/minecraft/server/management/BanEntry/func_73686_f ()Ljava/lang/String; +MD: rx/e ()Z net/minecraft/server/management/BanEntry/func_73682_e ()Z +MD: ry/a ()[Ljava/lang/String; net/minecraft/server/management/PlayerProfileCache/func_152654_a ()[Ljava/lang/String; +MD: ry/a (I)Ljava/util/List; net/minecraft/server/management/PlayerProfileCache/func_152656_a (I)Ljava/util/List; +MD: ry/a (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/management/PlayerProfileCache/func_152649_a (Lcom/mojang/authlib/GameProfile;)V +MD: ry/a (Lcom/mojang/authlib/GameProfile;Ljava/util/Date;)V net/minecraft/server/management/PlayerProfileCache/func_152651_a (Lcom/mojang/authlib/GameProfile;Ljava/util/Date;)V +MD: ry/a (Ljava/lang/String;)Lcom/mojang/authlib/GameProfile; net/minecraft/server/management/PlayerProfileCache/func_152655_a (Ljava/lang/String;)Lcom/mojang/authlib/GameProfile; +MD: ry/a (Ljava/util/UUID;)Lcom/mojang/authlib/GameProfile; net/minecraft/server/management/PlayerProfileCache/func_152652_a (Ljava/util/UUID;)Lcom/mojang/authlib/GameProfile; +MD: ry/a (Lnet/minecraft/server/MinecraftServer;Ljava/lang/String;)Lcom/mojang/authlib/GameProfile; net/minecraft/server/management/PlayerProfileCache/func_152650_a (Lnet/minecraft/server/MinecraftServer;Ljava/lang/String;)Lcom/mojang/authlib/GameProfile; +MD: ry/b ()V net/minecraft/server/management/PlayerProfileCache/func_152657_b ()V +MD: ry/b (Ljava/util/UUID;)Lsb; net/minecraft/server/management/PlayerProfileCache/func_152653_b (Ljava/util/UUID;)Lnet/minecraft/server/management/PlayerProfileCache$ProfileEntry; +MD: ry/c ()V net/minecraft/server/management/PlayerProfileCache/func_152658_c ()V +MD: rz/onProfileLookupFailed (Lcom/mojang/authlib/GameProfile;Ljava/lang/Exception;)V net/minecraft/server/management/PlayerProfileCache$1/onProfileLookupFailed (Lcom/mojang/authlib/GameProfile;Ljava/lang/Exception;)V +MD: rz/onProfileLookupSucceeded (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/management/PlayerProfileCache$1/onProfileLookupSucceeded (Lcom/mojang/authlib/GameProfile;)V +MD: sa/getActualTypeArguments ()[Ljava/lang/reflect/Type; net/minecraft/server/management/PlayerProfileCache$2/getActualTypeArguments ()[Ljava/lang/reflect/Type; +MD: sa/getOwnerType ()Ljava/lang/reflect/Type; net/minecraft/server/management/PlayerProfileCache$2/getOwnerType ()Ljava/lang/reflect/Type; +MD: sa/getRawType ()Ljava/lang/reflect/Type; net/minecraft/server/management/PlayerProfileCache$2/getRawType ()Ljava/lang/reflect/Type; +MD: sb/a ()Lcom/mojang/authlib/GameProfile; net/minecraft/server/management/PlayerProfileCache$ProfileEntry/func_152668_a ()Lcom/mojang/authlib/GameProfile; +MD: sb/a (Lsb;)Ljava/util/Date; net/minecraft/server/management/PlayerProfileCache$ProfileEntry/access$200 (Lnet/minecraft/server/management/PlayerProfileCache$ProfileEntry;)Ljava/util/Date; +MD: sb/b ()Ljava/util/Date; net/minecraft/server/management/PlayerProfileCache$ProfileEntry/func_152670_b ()Ljava/util/Date; +MD: sc/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lsb; net/minecraft/server/management/PlayerProfileCache$Serializer/func_152675_a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/server/management/PlayerProfileCache$ProfileEntry; +MD: sc/a (Lsb;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/server/management/PlayerProfileCache$Serializer/func_152676_a (Lnet/minecraft/server/management/PlayerProfileCache$ProfileEntry;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: sc/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/server/management/PlayerProfileCache$Serializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: sc/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/server/management/PlayerProfileCache$Serializer/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: sd/a (Lcom/google/gson/JsonObject;)Lsr; net/minecraft/server/management/BanList/func_152682_a (Lcom/google/gson/JsonObject;)Lnet/minecraft/server/management/UserListEntry; +MD: sd/a (Ljava/net/SocketAddress;)Z net/minecraft/server/management/BanList/func_152708_a (Ljava/net/SocketAddress;)Z +MD: sd/b (Ljava/net/SocketAddress;)Lse; net/minecraft/server/management/BanList/func_152709_b (Ljava/net/SocketAddress;)Lnet/minecraft/server/management/IPBanEntry; +MD: sd/c (Ljava/net/SocketAddress;)Ljava/lang/String; net/minecraft/server/management/BanList/func_152707_c (Ljava/net/SocketAddress;)Ljava/lang/String; +MD: se/a (Lcom/google/gson/JsonObject;)V net/minecraft/server/management/IPBanEntry/func_152641_a (Lcom/google/gson/JsonObject;)V +MD: se/b (Lcom/google/gson/JsonObject;)Ljava/lang/String; net/minecraft/server/management/IPBanEntry/func_152647_b (Lcom/google/gson/JsonObject;)Ljava/lang/String; +MD: sf/a ()Lorg/apache/logging/log4j/Logger; net/minecraft/server/management/PreYggdrasilConverter/access$000 ()Lorg/apache/logging/log4j/Logger; +MD: sf/a (Ljava/io/File;)V net/minecraft/server/management/PreYggdrasilConverter/access$400 (Ljava/io/File;)V +MD: sf/a (Ljava/io/File;Ljava/util/Map;)Ljava/util/List; net/minecraft/server/management/PreYggdrasilConverter/func_152721_a (Ljava/io/File;Ljava/util/Map;)Ljava/util/List; +MD: sf/a (Ljava/lang/String;)Ljava/lang/String; net/minecraft/server/management/PreYggdrasilConverter/func_152719_a (Ljava/lang/String;)Ljava/lang/String; +MD: sf/a (Ljava/lang/String;Ljava/util/Date;)Ljava/util/Date; net/minecraft/server/management/PreYggdrasilConverter/access$200 (Ljava/lang/String;Ljava/util/Date;)Ljava/util/Date; +MD: sf/a (Lnet/minecraft/server/MinecraftServer;)Z net/minecraft/server/management/PreYggdrasilConverter/func_152724_a (Lnet/minecraft/server/MinecraftServer;)Z +MD: sf/a (Lnet/minecraft/server/MinecraftServer;Ljava/util/Collection;Lcom/mojang/authlib/ProfileLookupCallback;)V net/minecraft/server/management/PreYggdrasilConverter/func_152717_a (Lnet/minecraft/server/MinecraftServer;Ljava/util/Collection;Lcom/mojang/authlib/ProfileLookupCallback;)V +MD: sf/a (Lpl;)Z net/minecraft/server/management/PreYggdrasilConverter/func_152714_a (Lnet/minecraft/server/dedicated/PropertyManager;)Z +MD: sf/a (Lpo;Lpl;)Z net/minecraft/server/management/PreYggdrasilConverter/func_152723_a (Lnet/minecraft/server/dedicated/DedicatedServer;Lnet/minecraft/server/dedicated/PropertyManager;)Z +MD: sf/b (Ljava/io/File;)V net/minecraft/server/management/PreYggdrasilConverter/func_152711_b (Ljava/io/File;)V +MD: sf/b (Ljava/lang/String;Ljava/util/Date;)Ljava/util/Date; net/minecraft/server/management/PreYggdrasilConverter/func_152713_b (Ljava/lang/String;Ljava/util/Date;)Ljava/util/Date; +MD: sf/b (Lnet/minecraft/server/MinecraftServer;)Z net/minecraft/server/management/PreYggdrasilConverter/func_152722_b (Lnet/minecraft/server/MinecraftServer;)Z +MD: sf/b (Lpl;)Z net/minecraft/server/management/PreYggdrasilConverter/func_152712_b (Lnet/minecraft/server/dedicated/PropertyManager;)Z +MD: sf/c (Ljava/io/File;)V net/minecraft/server/management/PreYggdrasilConverter/func_152727_c (Ljava/io/File;)V +MD: sf/c (Lnet/minecraft/server/MinecraftServer;)Z net/minecraft/server/management/PreYggdrasilConverter/func_152718_c (Lnet/minecraft/server/MinecraftServer;)Z +MD: sf/c (Lpl;)Z net/minecraft/server/management/PreYggdrasilConverter/func_152715_c (Lnet/minecraft/server/dedicated/PropertyManager;)Z +MD: sf/d (Lnet/minecraft/server/MinecraftServer;)Z net/minecraft/server/management/PreYggdrasilConverter/func_152710_d (Lnet/minecraft/server/MinecraftServer;)Z +MD: sf/d (Lpl;)Ljava/io/File; net/minecraft/server/management/PreYggdrasilConverter/func_152725_d (Lnet/minecraft/server/dedicated/PropertyManager;)Ljava/io/File; +MD: sg/a (Ljava/lang/String;)Z net/minecraft/server/management/PreYggdrasilConverter$1/func_152733_a (Ljava/lang/String;)Z +MD: sg/apply (Ljava/lang/Object;)Z net/minecraft/server/management/PreYggdrasilConverter$1/apply (Ljava/lang/Object;)Z +MD: sh/onProfileLookupFailed (Lcom/mojang/authlib/GameProfile;Ljava/lang/Exception;)V net/minecraft/server/management/PreYggdrasilConverter$2/onProfileLookupFailed (Lcom/mojang/authlib/GameProfile;Ljava/lang/Exception;)V +MD: sh/onProfileLookupSucceeded (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/management/PreYggdrasilConverter$2/onProfileLookupSucceeded (Lcom/mojang/authlib/GameProfile;)V +MD: si/onProfileLookupFailed (Lcom/mojang/authlib/GameProfile;Ljava/lang/Exception;)V net/minecraft/server/management/PreYggdrasilConverter$3/onProfileLookupFailed (Lcom/mojang/authlib/GameProfile;Ljava/lang/Exception;)V +MD: si/onProfileLookupSucceeded (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/management/PreYggdrasilConverter$3/onProfileLookupSucceeded (Lcom/mojang/authlib/GameProfile;)V +MD: sj/onProfileLookupFailed (Lcom/mojang/authlib/GameProfile;Ljava/lang/Exception;)V net/minecraft/server/management/PreYggdrasilConverter$4/onProfileLookupFailed (Lcom/mojang/authlib/GameProfile;Ljava/lang/Exception;)V +MD: sj/onProfileLookupSucceeded (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/management/PreYggdrasilConverter$4/onProfileLookupSucceeded (Lcom/mojang/authlib/GameProfile;)V +MD: sk/onProfileLookupFailed (Lcom/mojang/authlib/GameProfile;Ljava/lang/Exception;)V net/minecraft/server/management/PreYggdrasilConverter$5/onProfileLookupFailed (Lcom/mojang/authlib/GameProfile;Ljava/lang/Exception;)V +MD: sk/onProfileLookupSucceeded (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/management/PreYggdrasilConverter$5/onProfileLookupSucceeded (Lcom/mojang/authlib/GameProfile;)V +MD: sl/a (Lcom/mojang/authlib/GameProfile;)Ljava/lang/String; net/minecraft/server/management/PreYggdrasilConverter$6/func_152744_a (Lcom/mojang/authlib/GameProfile;)Ljava/lang/String; +MD: sl/a (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V net/minecraft/server/management/PreYggdrasilConverter$6/func_152743_a (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V +MD: sl/onProfileLookupFailed (Lcom/mojang/authlib/GameProfile;Ljava/lang/Exception;)V net/minecraft/server/management/PreYggdrasilConverter$6/onProfileLookupFailed (Lcom/mojang/authlib/GameProfile;Ljava/lang/Exception;)V +MD: sl/onProfileLookupSucceeded (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/management/PreYggdrasilConverter$6/onProfileLookupSucceeded (Lcom/mojang/authlib/GameProfile;)V +MD: sn/a ()V net/minecraft/server/management/ServerConfigurationManager/func_72362_j ()V +MD: sn/a (DDDDILid;)V net/minecraft/server/management/ServerConfigurationManager/func_148541_a (DDDDILnet/minecraft/network/Packet;)V +MD: sn/a (I)V net/minecraft/server/management/ServerConfigurationManager/func_152611_a (I)V +MD: sn/a (Lahd;)Ltp; net/minecraft/server/management/ServerConfigurationManager/func_152602_a (Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/stats/StatisticsFile; +MD: sn/a (Lahd;DDDDILid;)V net/minecraft/server/management/ServerConfigurationManager/func_148543_a (Lnet/minecraft/entity/player/EntityPlayer;DDDDILnet/minecraft/network/Packet;)V +MD: sn/a (Lahd;Lho;)V net/minecraft/server/management/ServerConfigurationManager/func_177453_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/IChatComponent;)V +MD: sn/a (Larc;)V net/minecraft/server/management/ServerConfigurationManager/func_152604_a (Lnet/minecraft/world/WorldSettings$GameType;)V +MD: sn/a (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/management/ServerConfigurationManager/func_152605_a (Lcom/mojang/authlib/GameProfile;)V +MD: sn/a (Lgr;Lqw;)V net/minecraft/server/management/ServerConfigurationManager/func_72355_a (Lnet/minecraft/network/NetworkManager;Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: sn/a (Lho;)V net/minecraft/server/management/ServerConfigurationManager/func_148539_a (Lnet/minecraft/util/IChatComponent;)V +MD: sn/a (Lho;Z)V net/minecraft/server/management/ServerConfigurationManager/func_148544_a (Lnet/minecraft/util/IChatComponent;Z)V +MD: sn/a (Lid;)V net/minecraft/server/management/ServerConfigurationManager/func_148540_a (Lnet/minecraft/network/Packet;)V +MD: sn/a (Lid;I)V net/minecraft/server/management/ServerConfigurationManager/func_148537_a (Lnet/minecraft/network/Packet;I)V +MD: sn/a (Ljava/lang/String;)Lqw; net/minecraft/server/management/ServerConfigurationManager/func_152612_a (Ljava/lang/String;)Lnet/minecraft/entity/player/EntityPlayerMP; +MD: sn/a (Ljava/net/SocketAddress;Lcom/mojang/authlib/GameProfile;)Ljava/lang/String; net/minecraft/server/management/ServerConfigurationManager/func_148542_a (Ljava/net/SocketAddress;Lcom/mojang/authlib/GameProfile;)Ljava/lang/String; +MD: sn/a (Ljava/util/UUID;)Lqw; net/minecraft/server/management/ServerConfigurationManager/func_177451_a (Ljava/util/UUID;)Lnet/minecraft/entity/player/EntityPlayerMP; +MD: sn/a (Lpk;Lqw;)V net/minecraft/server/management/ServerConfigurationManager/func_96456_a (Lnet/minecraft/scoreboard/ServerScoreboard;Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: sn/a (Lqw;)Lfn; net/minecraft/server/management/ServerConfigurationManager/func_72380_a (Lnet/minecraft/entity/player/EntityPlayerMP;)Lnet/minecraft/nbt/NBTTagCompound; +MD: sn/a (Lqw;I)V net/minecraft/server/management/ServerConfigurationManager/func_72356_a (Lnet/minecraft/entity/player/EntityPlayerMP;I)V +MD: sn/a (Lqw;IZ)Lqw; net/minecraft/server/management/ServerConfigurationManager/func_72368_a (Lnet/minecraft/entity/player/EntityPlayerMP;IZ)Lnet/minecraft/entity/player/EntityPlayerMP; +MD: sn/a (Lqw;Lqt;)V net/minecraft/server/management/ServerConfigurationManager/func_72375_a (Lnet/minecraft/entity/player/EntityPlayerMP;Lnet/minecraft/world/WorldServer;)V +MD: sn/a (Lqw;Lqw;Laqu;)V net/minecraft/server/management/ServerConfigurationManager/func_72381_a (Lnet/minecraft/entity/player/EntityPlayerMP;Lnet/minecraft/entity/player/EntityPlayerMP;Lnet/minecraft/world/World;)V +MD: sn/a (Lwv;ILqt;Lqt;)V net/minecraft/server/management/ServerConfigurationManager/func_82448_a (Lnet/minecraft/entity/Entity;ILnet/minecraft/world/WorldServer;Lnet/minecraft/world/WorldServer;)V +MD: sn/a (Z)V net/minecraft/server/management/ServerConfigurationManager/func_72371_a (Z)V +MD: sn/a ([Lqt;)V net/minecraft/server/management/ServerConfigurationManager/func_72364_a ([Lnet/minecraft/world/WorldServer;)V +MD: sn/b (Lahd;Lho;)V net/minecraft/server/management/ServerConfigurationManager/func_177452_b (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/IChatComponent;)V +MD: sn/b (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/management/ServerConfigurationManager/func_152610_b (Lcom/mojang/authlib/GameProfile;)V +MD: sn/b (Ljava/lang/String;)Ljava/util/List; net/minecraft/server/management/ServerConfigurationManager/func_72382_j (Ljava/lang/String;)Ljava/util/List; +MD: sn/b (Lqw;)V net/minecraft/server/management/ServerConfigurationManager/func_72391_b (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: sn/b (Lqw;Lqt;)V net/minecraft/server/management/ServerConfigurationManager/func_72354_b (Lnet/minecraft/entity/player/EntityPlayerMP;Lnet/minecraft/world/WorldServer;)V +MD: sn/b (Z)V net/minecraft/server/management/ServerConfigurationManager/func_72387_b (Z)V +MD: sn/c ()Lnet/minecraft/server/MinecraftServer; net/minecraft/server/management/ServerConfigurationManager/func_72365_p ()Lnet/minecraft/server/MinecraftServer; +MD: sn/c (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/management/ServerConfigurationManager/func_152597_c (Lcom/mojang/authlib/GameProfile;)V +MD: sn/c (Lqw;)V net/minecraft/server/management/ServerConfigurationManager/func_72377_c (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: sn/d ()I net/minecraft/server/management/ServerConfigurationManager/func_72372_a ()I +MD: sn/d (Lcom/mojang/authlib/GameProfile;)V net/minecraft/server/management/ServerConfigurationManager/func_152601_d (Lcom/mojang/authlib/GameProfile;)V +MD: sn/d (Lqw;)V net/minecraft/server/management/ServerConfigurationManager/func_72358_d (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: sn/e ()V net/minecraft/server/management/ServerConfigurationManager/func_72374_b ()V +MD: sn/e (Lcom/mojang/authlib/GameProfile;)Z net/minecraft/server/management/ServerConfigurationManager/func_152607_e (Lcom/mojang/authlib/GameProfile;)Z +MD: sn/e (Lqw;)V net/minecraft/server/management/ServerConfigurationManager/func_72367_e (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: sn/f ()Ljava/lang/String; net/minecraft/server/management/ServerConfigurationManager/func_180602_f ()Ljava/lang/String; +MD: sn/f (Lcom/mojang/authlib/GameProfile;)Lqw; net/minecraft/server/management/ServerConfigurationManager/func_148545_a (Lcom/mojang/authlib/GameProfile;)Lnet/minecraft/entity/player/EntityPlayerMP; +MD: sn/f (Lqw;)V net/minecraft/server/management/ServerConfigurationManager/func_72385_f (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: sn/g ()[Ljava/lang/String; net/minecraft/server/management/ServerConfigurationManager/func_72369_d ()[Ljava/lang/String; +MD: sn/g (Lcom/mojang/authlib/GameProfile;)Z net/minecraft/server/management/ServerConfigurationManager/func_152596_g (Lcom/mojang/authlib/GameProfile;)Z +MD: sn/h ()[Lcom/mojang/authlib/GameProfile; net/minecraft/server/management/ServerConfigurationManager/func_152600_g ()[Lcom/mojang/authlib/GameProfile; +MD: sn/i ()Lsv; net/minecraft/server/management/ServerConfigurationManager/func_152608_h ()Lnet/minecraft/server/management/UserListBans; +MD: sn/j ()Lsd; net/minecraft/server/management/ServerConfigurationManager/func_72363_f ()Lnet/minecraft/server/management/BanList; +MD: sn/k ()V net/minecraft/server/management/ServerConfigurationManager/func_72389_g ()V +MD: sn/l ()Lsx; net/minecraft/server/management/ServerConfigurationManager/func_152599_k ()Lnet/minecraft/server/management/UserListWhitelist; +MD: sn/m ()[Ljava/lang/String; net/minecraft/server/management/ServerConfigurationManager/func_152598_l ()[Ljava/lang/String; +MD: sn/n ()Lsp; net/minecraft/server/management/ServerConfigurationManager/func_152603_m ()Lnet/minecraft/server/management/UserListOps; +MD: sn/o ()[Ljava/lang/String; net/minecraft/server/management/ServerConfigurationManager/func_152606_n ()[Ljava/lang/String; +MD: sn/p ()I net/minecraft/server/management/ServerConfigurationManager/func_72394_k ()I +MD: sn/q ()I net/minecraft/server/management/ServerConfigurationManager/func_72352_l ()I +MD: sn/r ()[Ljava/lang/String; net/minecraft/server/management/ServerConfigurationManager/func_72373_m ()[Ljava/lang/String; +MD: sn/s ()Z net/minecraft/server/management/ServerConfigurationManager/func_72383_n ()Z +MD: sn/t ()I net/minecraft/server/management/ServerConfigurationManager/func_72395_o ()I +MD: sn/u ()Lfn; net/minecraft/server/management/ServerConfigurationManager/func_72378_q ()Lnet/minecraft/nbt/NBTTagCompound; +MD: sn/v ()V net/minecraft/server/management/ServerConfigurationManager/func_72392_r ()V +MD: so/a (Lbfb;D)V net/minecraft/server/management/ServerConfigurationManager$1/func_177694_a (Lnet/minecraft/world/border/WorldBorder;D)V +MD: so/a (Lbfb;DD)V net/minecraft/server/management/ServerConfigurationManager$1/func_177693_a (Lnet/minecraft/world/border/WorldBorder;DD)V +MD: so/a (Lbfb;DDJ)V net/minecraft/server/management/ServerConfigurationManager$1/func_177692_a (Lnet/minecraft/world/border/WorldBorder;DDJ)V +MD: so/a (Lbfb;I)V net/minecraft/server/management/ServerConfigurationManager$1/func_177691_a (Lnet/minecraft/world/border/WorldBorder;I)V +MD: so/b (Lbfb;D)V net/minecraft/server/management/ServerConfigurationManager$1/func_177696_b (Lnet/minecraft/world/border/WorldBorder;D)V +MD: so/b (Lbfb;I)V net/minecraft/server/management/ServerConfigurationManager$1/func_177690_b (Lnet/minecraft/world/border/WorldBorder;I)V +MD: so/c (Lbfb;D)V net/minecraft/server/management/ServerConfigurationManager$1/func_177695_c (Lnet/minecraft/world/border/WorldBorder;D)V +MD: sp/a ()[Ljava/lang/String; net/minecraft/server/management/UserListOps/func_152685_a ()[Ljava/lang/String; +MD: sp/a (Lcom/google/gson/JsonObject;)Lsr; net/minecraft/server/management/UserListOps/func_152682_a (Lcom/google/gson/JsonObject;)Lnet/minecraft/server/management/UserListEntry; +MD: sp/a (Ljava/lang/Object;)Ljava/lang/String; net/minecraft/server/management/UserListOps/func_152681_a (Ljava/lang/Object;)Ljava/lang/String; +MD: sp/a (Ljava/lang/String;)Lcom/mojang/authlib/GameProfile; net/minecraft/server/management/UserListOps/func_152700_a (Ljava/lang/String;)Lcom/mojang/authlib/GameProfile; +MD: sp/b (Lcom/mojang/authlib/GameProfile;)Ljava/lang/String; net/minecraft/server/management/UserListOps/func_152699_b (Lcom/mojang/authlib/GameProfile;)Ljava/lang/String; +MD: sq/a ()I net/minecraft/server/management/UserListOpsEntry/func_152644_a ()I +MD: sq/a (Lcom/google/gson/JsonObject;)V net/minecraft/server/management/UserListOpsEntry/func_152641_a (Lcom/google/gson/JsonObject;)V +MD: sq/b (Lcom/google/gson/JsonObject;)Lcom/mojang/authlib/GameProfile; net/minecraft/server/management/UserListOpsEntry/func_152643_b (Lcom/google/gson/JsonObject;)Lcom/mojang/authlib/GameProfile; +MD: sr/a (Lcom/google/gson/JsonObject;)V net/minecraft/server/management/UserListEntry/func_152641_a (Lcom/google/gson/JsonObject;)V +MD: sr/e ()Z net/minecraft/server/management/UserListEntry/func_73682_e ()Z +MD: sr/f ()Ljava/lang/Object; net/minecraft/server/management/UserListEntry/func_152640_f ()Ljava/lang/Object; +MD: ss/a ()[Ljava/lang/String; net/minecraft/server/management/UserList/func_152685_a ()[Ljava/lang/String; +MD: ss/a (Lcom/google/gson/JsonObject;)Lsr; net/minecraft/server/management/UserList/func_152682_a (Lcom/google/gson/JsonObject;)Lnet/minecraft/server/management/UserListEntry; +MD: ss/a (Ljava/lang/Object;)Ljava/lang/String; net/minecraft/server/management/UserList/func_152681_a (Ljava/lang/Object;)Ljava/lang/String; +MD: ss/a (Lsr;)V net/minecraft/server/management/UserList/func_152687_a (Lnet/minecraft/server/management/UserListEntry;)V +MD: ss/a (Z)V net/minecraft/server/management/UserList/func_152686_a (Z)V +MD: ss/b ()Z net/minecraft/server/management/UserList/func_152689_b ()Z +MD: ss/b (Ljava/lang/Object;)Lsr; net/minecraft/server/management/UserList/func_152683_b (Ljava/lang/Object;)Lnet/minecraft/server/management/UserListEntry; +MD: ss/c ()Ljava/io/File; net/minecraft/server/management/UserList/func_152691_c ()Ljava/io/File; +MD: ss/c (Ljava/lang/Object;)V net/minecraft/server/management/UserList/func_152684_c (Ljava/lang/Object;)V +MD: ss/d ()Z net/minecraft/server/management/UserList/func_152690_d ()Z +MD: ss/d (Ljava/lang/Object;)Z net/minecraft/server/management/UserList/func_152692_d (Ljava/lang/Object;)Z +MD: ss/e ()Ljava/util/Map; net/minecraft/server/management/UserList/func_152688_e ()Ljava/util/Map; +MD: ss/f ()V net/minecraft/server/management/UserList/func_152678_f ()V +MD: ss/g ()V net/minecraft/server/management/UserList/func_152679_g ()V +MD: ss/h ()V net/minecraft/server/management/UserList/func_152680_h ()V +MD: st/getActualTypeArguments ()[Ljava/lang/reflect/Type; net/minecraft/server/management/UserList$1/getActualTypeArguments ()[Ljava/lang/reflect/Type; +MD: st/getOwnerType ()Ljava/lang/reflect/Type; net/minecraft/server/management/UserList$1/getOwnerType ()Ljava/lang/reflect/Type; +MD: st/getRawType ()Ljava/lang/reflect/Type; net/minecraft/server/management/UserList$1/getRawType ()Ljava/lang/reflect/Type; +MD: su/a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lsr; net/minecraft/server/management/UserList$Serializer/func_152750_a (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Lnet/minecraft/server/management/UserListEntry; +MD: su/a (Lsr;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/server/management/UserList$Serializer/func_152751_a (Lnet/minecraft/server/management/UserListEntry;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: su/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; net/minecraft/server/management/UserList$Serializer/deserialize (Lcom/google/gson/JsonElement;Ljava/lang/reflect/Type;Lcom/google/gson/JsonDeserializationContext;)Ljava/lang/Object; +MD: su/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; net/minecraft/server/management/UserList$Serializer/serialize (Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement; +MD: sv/a ()[Ljava/lang/String; net/minecraft/server/management/UserListBans/func_152685_a ()[Ljava/lang/String; +MD: sv/a (Lcom/google/gson/JsonObject;)Lsr; net/minecraft/server/management/UserListBans/func_152682_a (Lcom/google/gson/JsonObject;)Lnet/minecraft/server/management/UserListEntry; +MD: sv/a (Lcom/mojang/authlib/GameProfile;)Z net/minecraft/server/management/UserListBans/func_152702_a (Lcom/mojang/authlib/GameProfile;)Z +MD: sv/a (Ljava/lang/Object;)Ljava/lang/String; net/minecraft/server/management/UserListBans/func_152681_a (Ljava/lang/Object;)Ljava/lang/String; +MD: sv/a (Ljava/lang/String;)Lcom/mojang/authlib/GameProfile; net/minecraft/server/management/UserListBans/func_152703_a (Ljava/lang/String;)Lcom/mojang/authlib/GameProfile; +MD: sv/b (Lcom/mojang/authlib/GameProfile;)Ljava/lang/String; net/minecraft/server/management/UserListBans/func_152701_b (Lcom/mojang/authlib/GameProfile;)Ljava/lang/String; +MD: sw/a (Lcom/google/gson/JsonObject;)V net/minecraft/server/management/UserListBansEntry/func_152641_a (Lcom/google/gson/JsonObject;)V +MD: sw/b (Lcom/google/gson/JsonObject;)Lcom/mojang/authlib/GameProfile; net/minecraft/server/management/UserListBansEntry/func_152648_b (Lcom/google/gson/JsonObject;)Lcom/mojang/authlib/GameProfile; +MD: sx/a ()[Ljava/lang/String; net/minecraft/server/management/UserListWhitelist/func_152685_a ()[Ljava/lang/String; +MD: sx/a (Lcom/google/gson/JsonObject;)Lsr; net/minecraft/server/management/UserListWhitelist/func_152682_a (Lcom/google/gson/JsonObject;)Lnet/minecraft/server/management/UserListEntry; +MD: sx/a (Lcom/mojang/authlib/GameProfile;)Z net/minecraft/server/management/UserListWhitelist/func_152705_a (Lcom/mojang/authlib/GameProfile;)Z +MD: sx/a (Ljava/lang/Object;)Ljava/lang/String; net/minecraft/server/management/UserListWhitelist/func_152681_a (Ljava/lang/Object;)Ljava/lang/String; +MD: sx/a (Ljava/lang/String;)Lcom/mojang/authlib/GameProfile; net/minecraft/server/management/UserListWhitelist/func_152706_a (Ljava/lang/String;)Lcom/mojang/authlib/GameProfile; +MD: sx/b (Lcom/mojang/authlib/GameProfile;)Ljava/lang/String; net/minecraft/server/management/UserListWhitelist/func_152704_b (Lcom/mojang/authlib/GameProfile;)Ljava/lang/String; +MD: sy/a (Lcom/google/gson/JsonObject;)V net/minecraft/server/management/UserListWhitelistEntry/func_152641_a (Lcom/google/gson/JsonObject;)V +MD: sy/b (Lcom/google/gson/JsonObject;)Lcom/mojang/authlib/GameProfile; net/minecraft/server/management/UserListWhitelistEntry/func_152646_b (Lcom/google/gson/JsonObject;)Lcom/mojang/authlib/GameProfile; +MD: ta/a ()[B net/minecraft/network/rcon/RConOutputStream/func_72672_a ()[B +MD: ta/a (I)V net/minecraft/network/rcon/RConOutputStream/func_72667_a (I)V +MD: ta/a (Ljava/lang/String;)V net/minecraft/network/rcon/RConOutputStream/func_72671_a (Ljava/lang/String;)V +MD: ta/a (S)V net/minecraft/network/rcon/RConOutputStream/func_72668_a (S)V +MD: ta/a ([B)V net/minecraft/network/rcon/RConOutputStream/func_72670_a ([B)V +MD: ta/b ()V net/minecraft/network/rcon/RConOutputStream/func_72669_b ()V +MD: tb/a (B)Ljava/lang/String; net/minecraft/network/rcon/RConUtils/func_72663_a (B)Ljava/lang/String; +MD: tb/a ([BII)Ljava/lang/String; net/minecraft/network/rcon/RConUtils/func_72661_a ([BII)Ljava/lang/String; +MD: tb/b ([BI)I net/minecraft/network/rcon/RConUtils/func_72662_b ([BI)I +MD: tb/b ([BII)I net/minecraft/network/rcon/RConUtils/func_72665_b ([BII)I +MD: tb/c ([BII)I net/minecraft/network/rcon/RConUtils/func_72664_c ([BII)I +MD: tc/a (ILjava/lang/String;)Z net/minecraft/network/rcon/RConConsoleSource/func_70003_b (ILjava/lang/String;)Z +MD: tc/a (Lag;I)V net/minecraft/network/rcon/RConConsoleSource/func_174794_a (Lnet/minecraft/command/CommandResultStats$Type;I)V +MD: tc/a (Lho;)V net/minecraft/network/rcon/RConConsoleSource/func_145747_a (Lnet/minecraft/util/IChatComponent;)V +MD: tc/c ()Ldt; net/minecraft/network/rcon/RConConsoleSource/func_180425_c ()Lnet/minecraft/util/BlockPos; +MD: tc/d ()Lbrw; net/minecraft/network/rcon/RConConsoleSource/func_174791_d ()Lnet/minecraft/util/Vec3; +MD: tc/d_ ()Ljava/lang/String; net/minecraft/network/rcon/RConConsoleSource/func_70005_c_ ()Ljava/lang/String; +MD: tc/e ()Laqu; net/minecraft/network/rcon/RConConsoleSource/func_130014_f_ ()Lnet/minecraft/world/World; +MD: tc/e_ ()Lho; net/minecraft/network/rcon/RConConsoleSource/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: tc/f ()Lwv; net/minecraft/network/rcon/RConConsoleSource/func_174793_f ()Lnet/minecraft/entity/Entity; +MD: tc/h ()Ltc; net/minecraft/network/rcon/RConConsoleSource/func_175570_h ()Lnet/minecraft/network/rcon/RConConsoleSource; +MD: tc/i ()V net/minecraft/network/rcon/RConConsoleSource/func_70007_b ()V +MD: tc/j ()Ljava/lang/String; net/minecraft/network/rcon/RConConsoleSource/func_70008_c ()Ljava/lang/String; +MD: tc/t_ ()Z net/minecraft/network/rcon/RConConsoleSource/func_174792_t_ ()Z +MD: te/a ()V net/minecraft/network/rcon/RConThreadBase/func_72602_a ()V +MD: te/a (Ljava/lang/String;)V net/minecraft/network/rcon/RConThreadBase/func_72607_a (Ljava/lang/String;)V +MD: te/a (Ljava/net/DatagramSocket;)V net/minecraft/network/rcon/RConThreadBase/func_72601_a (Ljava/net/DatagramSocket;)V +MD: te/a (Ljava/net/DatagramSocket;Z)Z net/minecraft/network/rcon/RConThreadBase/func_72604_a (Ljava/net/DatagramSocket;Z)Z +MD: te/a (Ljava/net/ServerSocket;Z)Z net/minecraft/network/rcon/RConThreadBase/func_72605_a (Ljava/net/ServerSocket;Z)Z +MD: te/a (Z)V net/minecraft/network/rcon/RConThreadBase/func_72612_a (Z)V +MD: te/b (Ljava/lang/String;)V net/minecraft/network/rcon/RConThreadBase/func_72609_b (Ljava/lang/String;)V +MD: te/b (Ljava/net/ServerSocket;)Z net/minecraft/network/rcon/RConThreadBase/func_72608_b (Ljava/net/ServerSocket;)Z +MD: te/c ()Z net/minecraft/network/rcon/RConThreadBase/func_72613_c ()Z +MD: te/c (Ljava/lang/String;)V net/minecraft/network/rcon/RConThreadBase/func_72606_c (Ljava/lang/String;)V +MD: te/d ()I net/minecraft/network/rcon/RConThreadBase/func_72603_d ()I +MD: te/d (Ljava/lang/String;)V net/minecraft/network/rcon/RConThreadBase/func_72610_d (Ljava/lang/String;)V +MD: te/e ()V net/minecraft/network/rcon/RConThreadBase/func_72611_e ()V +MD: tf/a ()V net/minecraft/network/rcon/RConThreadQuery/func_72602_a ()V +MD: tf/a (Ljava/lang/Exception;)V net/minecraft/network/rcon/RConThreadQuery/func_72623_a (Ljava/lang/Exception;)V +MD: tf/a (Ljava/net/DatagramPacket;)Z net/minecraft/network/rcon/RConThreadQuery/func_72621_a (Ljava/net/DatagramPacket;)Z +MD: tf/a (Ljava/net/SocketAddress;)[B net/minecraft/network/rcon/RConThreadQuery/func_72625_a (Ljava/net/SocketAddress;)[B +MD: tf/a ([BLjava/net/DatagramPacket;)V net/minecraft/network/rcon/RConThreadQuery/func_72620_a ([BLjava/net/DatagramPacket;)V +MD: tf/b (Ljava/net/DatagramPacket;)[B net/minecraft/network/rcon/RConThreadQuery/func_72624_b (Ljava/net/DatagramPacket;)[B +MD: tf/c (Ljava/net/DatagramPacket;)Ljava/lang/Boolean; net/minecraft/network/rcon/RConThreadQuery/func_72627_c (Ljava/net/DatagramPacket;)Ljava/lang/Boolean; +MD: tf/d (Ljava/net/DatagramPacket;)V net/minecraft/network/rcon/RConThreadQuery/func_72622_d (Ljava/net/DatagramPacket;)V +MD: tf/f ()V net/minecraft/network/rcon/RConThreadQuery/func_72628_f ()V +MD: tf/g ()Z net/minecraft/network/rcon/RConThreadQuery/func_72626_g ()Z +MD: tf/run ()V net/minecraft/network/rcon/RConThreadQuery/run ()V +MD: tg/a ()I net/minecraft/network/rcon/RConThreadQuery$Auth/func_72592_a ()I +MD: tg/a (J)Ljava/lang/Boolean; net/minecraft/network/rcon/RConThreadQuery$Auth/func_72593_a (J)Ljava/lang/Boolean; +MD: tg/b ()[B net/minecraft/network/rcon/RConThreadQuery$Auth/func_72594_b ()[B +MD: tg/c ()[B net/minecraft/network/rcon/RConThreadQuery$Auth/func_72591_c ()[B +MD: th/a (IILjava/lang/String;)V net/minecraft/network/rcon/RConThreadClient/func_72654_a (IILjava/lang/String;)V +MD: th/a (ILjava/lang/String;)V net/minecraft/network/rcon/RConThreadClient/func_72655_a (ILjava/lang/String;)V +MD: th/f ()V net/minecraft/network/rcon/RConThreadClient/func_72656_f ()V +MD: th/g ()V net/minecraft/network/rcon/RConThreadClient/func_72653_g ()V +MD: th/run ()V net/minecraft/network/rcon/RConThreadClient/run ()V +MD: ti/a ()V net/minecraft/network/rcon/RConThreadMain/func_72602_a ()V +MD: ti/f ()V net/minecraft/network/rcon/RConThreadMain/func_72646_f ()V +MD: ti/g ()V net/minecraft/network/rcon/RConThreadMain/func_72645_g ()V +MD: ti/run ()V net/minecraft/network/rcon/RConThreadMain/run ()V +MD: tk/a ()Ltk; net/minecraft/stats/Achievement/func_180789_a ()Lnet/minecraft/stats/Achievement; +MD: tk/a (Ljava/lang/Class;)Ltk; net/minecraft/stats/Achievement/func_180787_a (Ljava/lang/Class;)Lnet/minecraft/stats/Achievement; +MD: tk/a (Ltm;)Ltk; net/minecraft/stats/Achievement/func_75988_a (Lnet/minecraft/stats/IStatStringFormat;)Lnet/minecraft/stats/Achievement; +MD: tk/b ()Ltk; net/minecraft/stats/Achievement/func_75987_b ()Lnet/minecraft/stats/Achievement; +MD: tk/b (Ljava/lang/Class;)Ltq; net/minecraft/stats/Achievement/func_150953_b (Ljava/lang/Class;)Lnet/minecraft/stats/StatBase; +MD: tk/c ()Ltk; net/minecraft/stats/Achievement/func_180788_c ()Lnet/minecraft/stats/Achievement; +MD: tk/d ()Z net/minecraft/stats/Achievement/func_75967_d ()Z +MD: tk/e ()Lho; net/minecraft/stats/Achievement/func_150951_e ()Lnet/minecraft/util/IChatComponent; +MD: tk/f ()Ljava/lang/String; net/minecraft/stats/Achievement/func_75989_e ()Ljava/lang/String; +MD: tk/g ()Z net/minecraft/stats/Achievement/func_75984_f ()Z +MD: tk/h ()Ltq; net/minecraft/stats/Achievement/func_75971_g ()Lnet/minecraft/stats/StatBase; +MD: tk/i ()Ltq; net/minecraft/stats/Achievement/func_75966_h ()Lnet/minecraft/stats/StatBase; +MD: tl/a ()V net/minecraft/stats/AchievementList/func_75997_a ()V +MD: tm/a (Ljava/lang/String;)Ljava/lang/String; net/minecraft/stats/IStatStringFormat/func_74535_a (Ljava/lang/String;)Ljava/lang/String; +MD: tn/h ()Ltq; net/minecraft/stats/StatBasic/func_75971_g ()Lnet/minecraft/stats/StatBase; +MD: to/a ()Lalq; net/minecraft/stats/StatCrafting/func_150959_a ()Lnet/minecraft/item/Item; +MD: tp/a ()V net/minecraft/stats/StatisticsFile/func_150882_a ()V +MD: tp/a (Lahd;Ltq;I)V net/minecraft/stats/StatisticsFile/func_150873_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/stats/StatBase;I)V +MD: tp/a (Ljava/lang/String;)Ljava/util/Map; net/minecraft/stats/StatisticsFile/func_150881_a (Ljava/lang/String;)Ljava/util/Map; +MD: tp/a (Ljava/util/Map;)Ljava/lang/String; net/minecraft/stats/StatisticsFile/func_150880_a (Ljava/util/Map;)Ljava/lang/String; +MD: tp/a (Lqw;)V net/minecraft/stats/StatisticsFile/func_150876_a (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: tp/b ()V net/minecraft/stats/StatisticsFile/func_150883_b ()V +MD: tp/b (Lqw;)V net/minecraft/stats/StatisticsFile/func_150884_b (Lnet/minecraft/entity/player/EntityPlayerMP;)V +MD: tp/c ()Ljava/util/Set; net/minecraft/stats/StatisticsFile/func_150878_c ()Ljava/util/Set; +MD: tp/d ()V net/minecraft/stats/StatisticsFile/func_150877_d ()V +MD: tp/e ()Z net/minecraft/stats/StatisticsFile/func_150879_e ()Z +MD: tq/a (I)Ljava/lang/String; net/minecraft/stats/StatBase/func_75968_a (I)Ljava/lang/String; +MD: tq/b (Ljava/lang/Class;)Ltq; net/minecraft/stats/StatBase/func_150953_b (Ljava/lang/Class;)Lnet/minecraft/stats/StatBase; +MD: tq/d ()Z net/minecraft/stats/StatBase/func_75967_d ()Z +MD: tq/e ()Lho; net/minecraft/stats/StatBase/func_150951_e ()Lnet/minecraft/util/IChatComponent; +MD: tq/equals (Ljava/lang/Object;)Z net/minecraft/stats/StatBase/equals (Ljava/lang/Object;)Z +MD: tq/h ()Ltq; net/minecraft/stats/StatBase/func_75971_g ()Lnet/minecraft/stats/StatBase; +MD: tq/hashCode ()I net/minecraft/stats/StatBase/hashCode ()I +MD: tq/i ()Ltq; net/minecraft/stats/StatBase/func_75966_h ()Lnet/minecraft/stats/StatBase; +MD: tq/j ()Lho; net/minecraft/stats/StatBase/func_150955_j ()Lnet/minecraft/util/IChatComponent; +MD: tq/k ()Lbsk; net/minecraft/stats/StatBase/func_150952_k ()Lnet/minecraft/scoreboard/IScoreObjectiveCriteria; +MD: tq/l ()Ljava/lang/Class; net/minecraft/stats/StatBase/func_150954_l ()Ljava/lang/Class; +MD: tq/m ()Ljava/text/NumberFormat; net/minecraft/stats/StatBase/access$000 ()Ljava/text/NumberFormat; +MD: tq/n ()Ljava/text/DecimalFormat; net/minecraft/stats/StatBase/access$100 ()Ljava/text/DecimalFormat; +MD: tq/toString ()Ljava/lang/String; net/minecraft/stats/StatBase/toString ()Ljava/lang/String; +MD: tr/a (I)Ljava/lang/String; net/minecraft/stats/StatBase$1/func_75843_a (I)Ljava/lang/String; +MD: ts/a (I)Ljava/lang/String; net/minecraft/stats/StatBase$2/func_75843_a (I)Ljava/lang/String; +MD: tt/a (I)Ljava/lang/String; net/minecraft/stats/StatBase$3/func_75843_a (I)Ljava/lang/String; +MD: tu/a (I)Ljava/lang/String; net/minecraft/stats/StatBase$4/func_75843_a (I)Ljava/lang/String; +MD: tv/a (I)Ljava/lang/String; net/minecraft/stats/IStatType/func_75843_a (I)Ljava/lang/String; +MD: tw/a ()I net/minecraft/util/TupleIntJsonSerializable/func_151189_a ()I +MD: tw/a (I)V net/minecraft/util/TupleIntJsonSerializable/func_151188_a (I)V +MD: tw/a (Ltx;)V net/minecraft/util/TupleIntJsonSerializable/func_151190_a (Lnet/minecraft/util/IJsonSerializable;)V +MD: tw/b ()Ltx; net/minecraft/util/TupleIntJsonSerializable/func_151187_b ()Lnet/minecraft/util/IJsonSerializable; +MD: tx/a ()Lcom/google/gson/JsonElement; net/minecraft/util/IJsonSerializable/func_151003_a ()Lcom/google/gson/JsonElement; +MD: tx/a (Lcom/google/gson/JsonElement;)V net/minecraft/util/IJsonSerializable/func_152753_a (Lcom/google/gson/JsonElement;)V +MD: ty/a ()V net/minecraft/stats/StatList/func_151178_a ()V +MD: ty/a (Lalq;)Ljava/lang/String; net/minecraft/stats/StatList/func_180204_a (Lnet/minecraft/item/Item;)Ljava/lang/String; +MD: ty/a (Ljava/lang/String;)Ltq; net/minecraft/stats/StatList/func_151177_a (Ljava/lang/String;)Lnet/minecraft/stats/StatBase; +MD: ty/a (Lxc;)Ltq; net/minecraft/stats/StatList/func_151182_a (Lnet/minecraft/entity/EntityList$EntityEggInfo;)Lnet/minecraft/stats/StatBase; +MD: ty/a ([Ltq;)V net/minecraft/stats/StatList/func_75924_a ([Lnet/minecraft/stats/StatBase;)V +MD: ty/a ([Ltq;Latr;Latr;)V net/minecraft/stats/StatList/func_151180_a ([Lnet/minecraft/stats/StatBase;Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V +MD: ty/b ()V net/minecraft/stats/StatList/func_75918_d ()V +MD: ty/b (Lxc;)Ltq; net/minecraft/stats/StatList/func_151176_b (Lnet/minecraft/entity/EntityList$EntityEggInfo;)Lnet/minecraft/stats/StatBase; +MD: ty/c ()V net/minecraft/stats/StatList/func_151181_c ()V +MD: ty/d ()V net/minecraft/stats/StatList/func_75925_c ()V +MD: ty/e ()V net/minecraft/stats/StatList/func_151179_e ()V +MD: tz/a (Lahd;Ltq;I)V net/minecraft/stats/StatFileWriter/func_150873_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/stats/StatBase;I)V +MD: tz/a (Ltk;)Z net/minecraft/stats/StatFileWriter/func_77443_a (Lnet/minecraft/stats/Achievement;)Z +MD: tz/a (Ltq;)I net/minecraft/stats/StatFileWriter/func_77444_a (Lnet/minecraft/stats/StatBase;)I +MD: tz/a (Ltq;Ltx;)Ltx; net/minecraft/stats/StatFileWriter/func_150872_a (Lnet/minecraft/stats/StatBase;Lnet/minecraft/util/IJsonSerializable;)Lnet/minecraft/util/IJsonSerializable; +MD: tz/b (Lahd;Ltq;I)V net/minecraft/stats/StatFileWriter/func_150871_b (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/stats/StatBase;I)V +MD: tz/b (Ltk;)Z net/minecraft/stats/StatFileWriter/func_77442_b (Lnet/minecraft/stats/Achievement;)Z +MD: tz/b (Ltq;)Ltx; net/minecraft/stats/StatFileWriter/func_150870_b (Lnet/minecraft/stats/StatBase;)Lnet/minecraft/util/IJsonSerializable; +MD: tz/c (Ltk;)I net/minecraft/stats/StatFileWriter/func_150874_c (Lnet/minecraft/stats/Achievement;)I +MD: u/a ()Lb; net/minecraft/util/ReportedException/func_71575_a ()Lnet/minecraft/crash/CrashReport; +MD: u/getCause ()Ljava/lang/Throwable; net/minecraft/util/ReportedException/getCause ()Ljava/lang/Throwable; +MD: u/getMessage ()Ljava/lang/String; net/minecraft/util/ReportedException/getMessage ()Ljava/lang/String; +MD: ua/a ()Lcom/google/gson/JsonElement; net/minecraft/util/JsonSerializableSet/func_151003_a ()Lcom/google/gson/JsonElement; +MD: ua/a (Lcom/google/gson/JsonElement;)V net/minecraft/util/JsonSerializableSet/func_152753_a (Lcom/google/gson/JsonElement;)V +MD: ua/delegate ()Ljava/lang/Object; net/minecraft/util/JsonSerializableSet/delegate ()Ljava/lang/Object; +MD: ua/delegate ()Ljava/util/Collection; net/minecraft/util/JsonSerializableSet/delegate ()Ljava/util/Collection; +MD: ua/delegate ()Ljava/util/Set; net/minecraft/util/JsonSerializableSet/delegate ()Ljava/util/Set; +MD: uc/a (Ljava/lang/Class;)V net/minecraft/util/ClassInheritanceMultiMap/func_180213_a (Ljava/lang/Class;)V +MD: uc/a (Ljava/lang/Class;Z)Ljava/lang/Class; net/minecraft/util/ClassInheritanceMultiMap/func_180212_a (Ljava/lang/Class;Z)Ljava/lang/Class; +MD: uc/a (Luc;)Lcom/google/common/collect/Multimap; net/minecraft/util/ClassInheritanceMultiMap/access$000 (Lnet/minecraft/util/ClassInheritanceMultiMap;)Lcom/google/common/collect/Multimap; +MD: uc/add (Ljava/lang/Object;)Z net/minecraft/util/ClassInheritanceMultiMap/add (Ljava/lang/Object;)Z +MD: uc/b (Ljava/lang/Class;)Ljava/lang/Iterable; net/minecraft/util/ClassInheritanceMultiMap/func_180215_b (Ljava/lang/Class;)Ljava/lang/Iterable; +MD: uc/iterator ()Ljava/util/Iterator; net/minecraft/util/ClassInheritanceMultiMap/iterator ()Ljava/util/Iterator; +MD: uc/remove (Ljava/lang/Object;)Z net/minecraft/util/ClassInheritanceMultiMap/remove (Ljava/lang/Object;)Z +MD: uc/size ()I net/minecraft/util/ClassInheritanceMultiMap/size ()I +MD: ud/iterator ()Ljava/util/Iterator; net/minecraft/util/ClassInheritanceMultiMap$1/iterator ()Ljava/util/Iterator; +MD: ue/computeNext ()Ljava/lang/Object; net/minecraft/util/ClassInheritanceMultiMap$2/computeNext ()Ljava/lang/Object; +MD: ug/a ()Ljavax/crypto/SecretKey; net/minecraft/util/CryptManager/func_75890_a ()Ljavax/crypto/SecretKey; +MD: ug/a (ILjava/lang/String;Ljava/security/Key;)Ljavax/crypto/Cipher; net/minecraft/util/CryptManager/func_75886_a (ILjava/lang/String;Ljava/security/Key;)Ljavax/crypto/Cipher; +MD: ug/a (ILjava/security/Key;)Ljavax/crypto/Cipher; net/minecraft/util/CryptManager/func_151229_a (ILjava/security/Key;)Ljavax/crypto/Cipher; +MD: ug/a (ILjava/security/Key;[B)[B net/minecraft/util/CryptManager/func_75885_a (ILjava/security/Key;[B)[B +MD: ug/a (Ljava/lang/String;Ljava/security/PublicKey;Ljavax/crypto/SecretKey;)[B net/minecraft/util/CryptManager/func_75895_a (Ljava/lang/String;Ljava/security/PublicKey;Ljavax/crypto/SecretKey;)[B +MD: ug/a (Ljava/lang/String;[[B)[B net/minecraft/util/CryptManager/func_75893_a (Ljava/lang/String;[[B)[B +MD: ug/a (Ljava/security/Key;[B)[B net/minecraft/util/CryptManager/func_75894_a (Ljava/security/Key;[B)[B +MD: ug/a (Ljava/security/PrivateKey;[B)Ljavax/crypto/SecretKey; net/minecraft/util/CryptManager/func_75887_a (Ljava/security/PrivateKey;[B)Ljavax/crypto/SecretKey; +MD: ug/a ([B)Ljava/security/PublicKey; net/minecraft/util/CryptManager/func_75896_a ([B)Ljava/security/PublicKey; +MD: ug/b ()Ljava/security/KeyPair; net/minecraft/util/CryptManager/func_75891_b ()Ljava/security/KeyPair; +MD: ug/b (Ljava/security/Key;[B)[B net/minecraft/util/CryptManager/func_75889_b (Ljava/security/Key;[B)[B +MD: uh/a (Lcom/google/gson/JsonElement;)Z net/minecraft/util/JsonUtils/func_151211_a (Lcom/google/gson/JsonElement;)Z +MD: uh/a (Lcom/google/gson/JsonElement;Ljava/lang/String;)Ljava/lang/String; net/minecraft/util/JsonUtils/func_151206_a (Lcom/google/gson/JsonElement;Ljava/lang/String;)Ljava/lang/String; +MD: uh/a (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z net/minecraft/util/JsonUtils/func_151205_a (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z +MD: uh/a (Lcom/google/gson/JsonObject;Ljava/lang/String;F)F net/minecraft/util/JsonUtils/func_151221_a (Lcom/google/gson/JsonObject;Ljava/lang/String;F)F +MD: uh/a (Lcom/google/gson/JsonObject;Ljava/lang/String;I)I net/minecraft/util/JsonUtils/func_151208_a (Lcom/google/gson/JsonObject;Ljava/lang/String;I)I +MD: uh/a (Lcom/google/gson/JsonObject;Ljava/lang/String;Lcom/google/gson/JsonArray;)Lcom/google/gson/JsonArray; net/minecraft/util/JsonUtils/func_151213_a (Lcom/google/gson/JsonObject;Ljava/lang/String;Lcom/google/gson/JsonArray;)Lcom/google/gson/JsonArray; +MD: uh/a (Lcom/google/gson/JsonObject;Ljava/lang/String;Lcom/google/gson/JsonObject;)Lcom/google/gson/JsonObject; net/minecraft/util/JsonUtils/func_151218_a (Lcom/google/gson/JsonObject;Ljava/lang/String;Lcom/google/gson/JsonObject;)Lcom/google/gson/JsonObject; +MD: uh/a (Lcom/google/gson/JsonObject;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; net/minecraft/util/JsonUtils/func_151219_a (Lcom/google/gson/JsonObject;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +MD: uh/a (Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z net/minecraft/util/JsonUtils/func_151209_a (Lcom/google/gson/JsonObject;Ljava/lang/String;Z)Z +MD: uh/b (Lcom/google/gson/JsonElement;Ljava/lang/String;)Z net/minecraft/util/JsonUtils/func_151216_b (Lcom/google/gson/JsonElement;Ljava/lang/String;)Z +MD: uh/c (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z net/minecraft/util/JsonUtils/func_180199_c (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z +MD: uh/d (Lcom/google/gson/JsonElement;)Ljava/lang/String; net/minecraft/util/JsonUtils/func_151222_d (Lcom/google/gson/JsonElement;)Ljava/lang/String; +MD: uh/d (Lcom/google/gson/JsonElement;Ljava/lang/String;)F net/minecraft/util/JsonUtils/func_151220_d (Lcom/google/gson/JsonElement;Ljava/lang/String;)F +MD: uh/d (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z net/minecraft/util/JsonUtils/func_151202_d (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z +MD: uh/f (Lcom/google/gson/JsonElement;Ljava/lang/String;)I net/minecraft/util/JsonUtils/func_151215_f (Lcom/google/gson/JsonElement;Ljava/lang/String;)I +MD: uh/f (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z net/minecraft/util/JsonUtils/func_151201_f (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z +MD: uh/g (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z net/minecraft/util/JsonUtils/func_151204_g (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z +MD: uh/h (Lcom/google/gson/JsonObject;Ljava/lang/String;)Ljava/lang/String; net/minecraft/util/JsonUtils/func_151200_h (Lcom/google/gson/JsonObject;Ljava/lang/String;)Ljava/lang/String; +MD: uh/i (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z net/minecraft/util/JsonUtils/func_151212_i (Lcom/google/gson/JsonObject;Ljava/lang/String;)Z +MD: uh/k (Lcom/google/gson/JsonObject;Ljava/lang/String;)F net/minecraft/util/JsonUtils/func_151217_k (Lcom/google/gson/JsonObject;Ljava/lang/String;)F +MD: uh/l (Lcom/google/gson/JsonElement;Ljava/lang/String;)Lcom/google/gson/JsonObject; net/minecraft/util/JsonUtils/func_151210_l (Lcom/google/gson/JsonElement;Ljava/lang/String;)Lcom/google/gson/JsonObject; +MD: uh/m (Lcom/google/gson/JsonElement;Ljava/lang/String;)Lcom/google/gson/JsonArray; net/minecraft/util/JsonUtils/func_151207_m (Lcom/google/gson/JsonElement;Ljava/lang/String;)Lcom/google/gson/JsonArray; +MD: uh/m (Lcom/google/gson/JsonObject;Ljava/lang/String;)I net/minecraft/util/JsonUtils/func_151203_m (Lcom/google/gson/JsonObject;Ljava/lang/String;)I +MD: uh/s (Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject; net/minecraft/util/JsonUtils/func_152754_s (Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonObject; +MD: uh/t (Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonArray; net/minecraft/util/JsonUtils/func_151214_t (Lcom/google/gson/JsonObject;Ljava/lang/String;)Lcom/google/gson/JsonArray; +MD: ui/a ()I net/minecraft/util/HttpUtil/func_76181_a ()I +MD: ui/a (Ljava/io/File;Ljava/lang/String;Ljava/util/Map;ILuy;Ljava/net/Proxy;)Lcom/google/common/util/concurrent/ListenableFuture; net/minecraft/util/HttpUtil/func_180192_a (Ljava/io/File;Ljava/lang/String;Ljava/util/Map;ILnet/minecraft/util/IProgressUpdate;Ljava/net/Proxy;)Lcom/google/common/util/concurrent/ListenableFuture; +MD: ui/a (Ljava/net/URL;)Ljava/lang/String; net/minecraft/util/HttpUtil/func_152755_a (Ljava/net/URL;)Ljava/lang/String; +MD: ui/a (Ljava/net/URL;Ljava/lang/String;Z)Ljava/lang/String; net/minecraft/util/HttpUtil/func_151225_a (Ljava/net/URL;Ljava/lang/String;Z)Ljava/lang/String; +MD: ui/a (Ljava/net/URL;Ljava/util/Map;Z)Ljava/lang/String; net/minecraft/util/HttpUtil/func_151226_a (Ljava/net/URL;Ljava/util/Map;Z)Ljava/lang/String; +MD: ui/a (Ljava/util/Map;)Ljava/lang/String; net/minecraft/util/HttpUtil/func_76179_a (Ljava/util/Map;)Ljava/lang/String; +MD: ui/b ()Lorg/apache/logging/log4j/Logger; net/minecraft/util/HttpUtil/access$000 ()Lorg/apache/logging/log4j/Logger; +MD: uj/run ()V net/minecraft/util/HttpUtil$1/run ()V +MD: ul/a (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/server/management/LowerStringMap/put (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; +MD: ul/clear ()V net/minecraft/server/management/LowerStringMap/clear ()V +MD: ul/containsKey (Ljava/lang/Object;)Z net/minecraft/server/management/LowerStringMap/containsKey (Ljava/lang/Object;)Z +MD: ul/containsValue (Ljava/lang/Object;)Z net/minecraft/server/management/LowerStringMap/containsValue (Ljava/lang/Object;)Z +MD: ul/entrySet ()Ljava/util/Set; net/minecraft/server/management/LowerStringMap/entrySet ()Ljava/util/Set; +MD: ul/get (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/server/management/LowerStringMap/get (Ljava/lang/Object;)Ljava/lang/Object; +MD: ul/isEmpty ()Z net/minecraft/server/management/LowerStringMap/isEmpty ()Z +MD: ul/keySet ()Ljava/util/Set; net/minecraft/server/management/LowerStringMap/keySet ()Ljava/util/Set; +MD: ul/put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/server/management/LowerStringMap/put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +MD: ul/putAll (Ljava/util/Map;)V net/minecraft/server/management/LowerStringMap/putAll (Ljava/util/Map;)V +MD: ul/remove (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/server/management/LowerStringMap/remove (Ljava/lang/Object;)Ljava/lang/Object; +MD: ul/size ()I net/minecraft/server/management/LowerStringMap/size ()I +MD: ul/values ()Ljava/util/Collection; net/minecraft/server/management/LowerStringMap/values ()Ljava/util/Collection; +MD: um/a (I)Ljava/lang/Object; net/minecraft/util/IntHashMap/func_76041_a (I)Ljava/lang/Object; +MD: um/a (II)I net/minecraft/util/IntHashMap/func_76043_a (II)I +MD: um/a (IILjava/lang/Object;I)V net/minecraft/util/IntHashMap/func_76040_a (IILjava/lang/Object;I)V +MD: um/a (ILjava/lang/Object;)V net/minecraft/util/IntHashMap/func_76038_a (ILjava/lang/Object;)V +MD: um/a ([Lun;)V net/minecraft/util/IntHashMap/func_76048_a ([Lnet/minecraft/util/IntHashMap$Entry;)V +MD: um/b (I)Z net/minecraft/util/IntHashMap/func_76037_b (I)Z +MD: um/c ()V net/minecraft/util/IntHashMap/func_76046_c ()V +MD: um/c (I)Lun; net/minecraft/util/IntHashMap/func_76045_c (I)Lnet/minecraft/util/IntHashMap$Entry; +MD: um/d (I)Ljava/lang/Object; net/minecraft/util/IntHashMap/func_76049_d (I)Ljava/lang/Object; +MD: um/e (I)Lun; net/minecraft/util/IntHashMap/func_76036_e (I)Lnet/minecraft/util/IntHashMap$Entry; +MD: um/f (I)I net/minecraft/util/IntHashMap/access$000 (I)I +MD: um/g (I)I net/minecraft/util/IntHashMap/func_76044_g (I)I +MD: um/h (I)V net/minecraft/util/IntHashMap/func_76047_h (I)V +MD: un/a ()I net/minecraft/util/IntHashMap$Entry/func_76031_a ()I +MD: un/b ()Ljava/lang/Object; net/minecraft/util/IntHashMap$Entry/func_76030_b ()Ljava/lang/Object; +MD: un/equals (Ljava/lang/Object;)Z net/minecraft/util/IntHashMap$Entry/equals (Ljava/lang/Object;)Z +MD: un/hashCode ()I net/minecraft/util/IntHashMap$Entry/hashCode ()I +MD: un/toString ()Ljava/lang/String; net/minecraft/util/IntHashMap$Entry/toString ()Ljava/lang/String; +MD: up/b ()Ljava/lang/Object; net/minecraft/util/LazyLoadBase/func_179280_b ()Ljava/lang/Object; +MD: up/c ()Ljava/lang/Object; net/minecraft/util/LazyLoadBase/func_179281_c ()Ljava/lang/Object; +MD: uq/a (Ljava/lang/Object;)Ljava/lang/Object; net/minecraft/util/ThreadSafeBoundList/func_152757_a (Ljava/lang/Object;)Ljava/lang/Object; +MD: uq/b ()I net/minecraft/util/ThreadSafeBoundList/func_152758_b ()I +MD: uq/c ()[Ljava/lang/Object; net/minecraft/util/ThreadSafeBoundList/func_152756_c ()[Ljava/lang/Object; +MD: ur/a ()I net/minecraft/util/LongHashMap/func_76162_a ()I +MD: ur/a (I)I net/minecraft/util/LongHashMap/func_76157_a (I)I +MD: ur/a (II)I net/minecraft/util/LongHashMap/func_76158_a (II)I +MD: ur/a (IJLjava/lang/Object;I)V net/minecraft/util/LongHashMap/func_76156_a (IJLjava/lang/Object;I)V +MD: ur/a (J)Ljava/lang/Object; net/minecraft/util/LongHashMap/func_76164_a (J)Ljava/lang/Object; +MD: ur/a (JLjava/lang/Object;)V net/minecraft/util/LongHashMap/func_76163_a (JLjava/lang/Object;)V +MD: ur/a ([Lus;)V net/minecraft/util/LongHashMap/func_76154_a ([Lnet/minecraft/util/LongHashMap$Entry;)V +MD: ur/b (I)V net/minecraft/util/LongHashMap/func_76153_b (I)V +MD: ur/b (J)Z net/minecraft/util/LongHashMap/func_76161_b (J)Z +MD: ur/c (J)Lus; net/minecraft/util/LongHashMap/func_76160_c (J)Lnet/minecraft/util/LongHashMap$Entry; +MD: ur/d (J)Ljava/lang/Object; net/minecraft/util/LongHashMap/func_76159_d (J)Ljava/lang/Object; +MD: ur/e (J)Lus; net/minecraft/util/LongHashMap/func_76152_e (J)Lnet/minecraft/util/LongHashMap$Entry; +MD: ur/f (J)I net/minecraft/util/LongHashMap/access$000 (J)I +MD: ur/g (J)I net/minecraft/util/LongHashMap/func_76155_g (J)I +MD: us/a ()J net/minecraft/util/LongHashMap$Entry/func_76146_a ()J +MD: us/b ()Ljava/lang/Object; net/minecraft/util/LongHashMap$Entry/func_76145_b ()Ljava/lang/Object; +MD: us/equals (Ljava/lang/Object;)Z net/minecraft/util/LongHashMap$Entry/equals (Ljava/lang/Object;)Z +MD: us/hashCode ()I net/minecraft/util/LongHashMap$Entry/hashCode ()I +MD: us/toString ()Ljava/lang/String; net/minecraft/util/LongHashMap$Entry/toString ()Ljava/lang/String; +MD: ut/a (Ljava/lang/Object;)Ljava/lang/String; net/minecraft/util/EnumTypeAdapterFactory/func_151232_a (Ljava/lang/Object;)Ljava/lang/String; +MD: ut/a (Lut;Ljava/lang/Object;)Ljava/lang/String; net/minecraft/util/EnumTypeAdapterFactory/access$000 (Lnet/minecraft/util/EnumTypeAdapterFactory;Ljava/lang/Object;)Ljava/lang/String; +MD: ut/create (Lcom/google/gson/Gson;Lcom/google/gson/reflect/TypeToken;)Lcom/google/gson/TypeAdapter; net/minecraft/util/EnumTypeAdapterFactory/create (Lcom/google/gson/Gson;Lcom/google/gson/reflect/TypeToken;)Lcom/google/gson/TypeAdapter; +MD: uu/read (Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object; net/minecraft/util/EnumTypeAdapterFactory$1/read (Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object; +MD: uu/write (Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V net/minecraft/util/EnumTypeAdapterFactory$1/write (Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V +MD: uv/a (D)F net/minecraft/util/MathHelper/func_76133_a (D)F +MD: uv/a (DD)D net/minecraft/util/MathHelper/func_76132_a (DD)D +MD: uv/a (DDD)D net/minecraft/util/MathHelper/func_151237_a (DDD)D +MD: uv/a (F)F net/minecraft/util/MathHelper/func_76126_a (F)F +MD: uv/a (FF)Z net/minecraft/util/MathHelper/func_180185_a (FF)Z +MD: uv/a (FFF)F net/minecraft/util/MathHelper/func_76131_a (FFF)F +MD: uv/a (I)I net/minecraft/util/MathHelper/func_76130_a (I)I +MD: uv/a (II)I net/minecraft/util/MathHelper/func_76137_a (II)I +MD: uv/a (III)I net/minecraft/util/MathHelper/func_76125_a (III)I +MD: uv/a (Lfd;)J net/minecraft/util/MathHelper/func_180186_a (Lnet/minecraft/util/Vec3i;)J +MD: uv/a (Ljava/lang/String;D)D net/minecraft/util/MathHelper/func_82712_a (Ljava/lang/String;D)D +MD: uv/a (Ljava/lang/String;DD)D net/minecraft/util/MathHelper/func_82713_a (Ljava/lang/String;DD)D +MD: uv/a (Ljava/lang/String;I)I net/minecraft/util/MathHelper/func_82715_a (Ljava/lang/String;I)I +MD: uv/a (Ljava/lang/String;II)I net/minecraft/util/MathHelper/func_82714_a (Ljava/lang/String;II)I +MD: uv/a (Ljava/util/Random;)Ljava/util/UUID; net/minecraft/util/MathHelper/func_180182_a (Ljava/util/Random;)Ljava/util/UUID; +MD: uv/a (Ljava/util/Random;DD)D net/minecraft/util/MathHelper/func_82716_a (Ljava/util/Random;DD)D +MD: uv/a (Ljava/util/Random;FF)F net/minecraft/util/MathHelper/func_151240_a (Ljava/util/Random;FF)F +MD: uv/a (Ljava/util/Random;II)I net/minecraft/util/MathHelper/func_76136_a (Ljava/util/Random;II)I +MD: uv/a ([J)D net/minecraft/util/MathHelper/func_76127_a ([J)D +MD: uv/b (D)I net/minecraft/util/MathHelper/func_76140_b (D)I +MD: uv/b (DDD)D net/minecraft/util/MathHelper/func_151238_b (DDD)D +MD: uv/b (F)F net/minecraft/util/MathHelper/func_76134_b (F)F +MD: uv/b (FFF)I net/minecraft/util/MathHelper/func_180183_b (FFF)I +MD: uv/b (I)I net/minecraft/util/MathHelper/func_151236_b (I)I +MD: uv/b (II)I net/minecraft/util/MathHelper/func_180184_b (II)I +MD: uv/b (III)I net/minecraft/util/MathHelper/func_180181_b (III)I +MD: uv/c (D)I net/minecraft/util/MathHelper/func_76128_c (D)I +MD: uv/c (F)F net/minecraft/util/MathHelper/func_76129_c (F)F +MD: uv/c (I)I net/minecraft/util/MathHelper/func_151239_c (I)I +MD: uv/c (II)I net/minecraft/util/MathHelper/func_154354_b (II)I +MD: uv/c (III)J net/minecraft/util/MathHelper/func_180187_c (III)J +MD: uv/d (D)J net/minecraft/util/MathHelper/func_76124_d (D)J +MD: uv/d (F)I net/minecraft/util/MathHelper/func_76141_d (F)I +MD: uv/d (I)Z net/minecraft/util/MathHelper/func_151235_d (I)Z +MD: uv/d (II)I net/minecraft/util/MathHelper/func_180188_d (II)I +MD: uv/e (D)I net/minecraft/util/MathHelper/func_154353_e (D)I +MD: uv/e (F)F net/minecraft/util/MathHelper/func_76135_e (F)F +MD: uv/e (I)I net/minecraft/util/MathHelper/func_151241_e (I)I +MD: uv/f (D)I net/minecraft/util/MathHelper/func_76143_f (D)I +MD: uv/f (F)I net/minecraft/util/MathHelper/func_76123_f (F)I +MD: uv/g (D)D net/minecraft/util/MathHelper/func_76138_g (D)D +MD: uv/g (F)F net/minecraft/util/MathHelper/func_76142_g (F)F +MD: uw/a ()V net/minecraft/profiler/Profiler/func_76317_a ()V +MD: uw/a (Ljava/lang/String;)V net/minecraft/profiler/Profiler/func_76320_a (Ljava/lang/String;)V +MD: uw/b ()V net/minecraft/profiler/Profiler/func_76319_b ()V +MD: uw/b (Ljava/lang/String;)Ljava/util/List; net/minecraft/profiler/Profiler/func_76321_b (Ljava/lang/String;)Ljava/util/List; +MD: uw/c ()Ljava/lang/String; net/minecraft/profiler/Profiler/func_76322_c ()Ljava/lang/String; +MD: uw/c (Ljava/lang/String;)V net/minecraft/profiler/Profiler/func_76318_c (Ljava/lang/String;)V +MD: ux/a ()I net/minecraft/profiler/Profiler$Result/func_76329_a ()I +MD: ux/a (Lux;)I net/minecraft/profiler/Profiler$Result/compareTo (Lnet/minecraft/profiler/Profiler$Result;)I +MD: ux/compareTo (Ljava/lang/Object;)I net/minecraft/profiler/Profiler$Result/compareTo (Ljava/lang/Object;)I +MD: uy/a ()V net/minecraft/util/IProgressUpdate/func_146586_a ()V +MD: uy/a (I)V net/minecraft/util/IProgressUpdate/func_73718_a (I)V +MD: uy/a (Ljava/lang/String;)V net/minecraft/util/IProgressUpdate/func_73720_a (Ljava/lang/String;)V +MD: uy/b (Ljava/lang/String;)V net/minecraft/util/IProgressUpdate/func_73721_b (Ljava/lang/String;)V +MD: uy/c (Ljava/lang/String;)V net/minecraft/util/IProgressUpdate/func_73719_c (Ljava/lang/String;)V +MD: uz/a ()V net/minecraft/util/MouseFilter/func_180179_a ()V +MD: uz/a (FF)F net/minecraft/util/MouseFilter/func_76333_a (FF)F +MD: v/a (C)Z net/minecraft/util/ChatAllowedCharacters/func_71566_a (C)Z +MD: v/a (Ljava/lang/String;)Ljava/lang/String; net/minecraft/util/ChatAllowedCharacters/func_71565_a (Ljava/lang/String;)Ljava/lang/String; +MD: va/l ()Ljava/lang/String; net/minecraft/util/IStringSerializable/func_176610_l ()Ljava/lang/String; +MD: vb/a (I)Ljava/lang/String; net/minecraft/util/StringUtils/func_76337_a (I)Ljava/lang/String; +MD: vb/a (Ljava/lang/String;)Ljava/lang/String; net/minecraft/util/StringUtils/func_76338_a (Ljava/lang/String;)Ljava/lang/String; +MD: vb/b (Ljava/lang/String;)Z net/minecraft/util/StringUtils/func_151246_b (Ljava/lang/String;)Z +MD: vi/a ()Ljava/lang/Object; net/minecraft/util/Tuple/func_76341_a ()Ljava/lang/Object; +MD: vi/b ()Ljava/lang/Object; net/minecraft/util/Tuple/func_76340_b ()Ljava/lang/Object; +MD: vj/a (Ljava/util/Collection;)I net/minecraft/util/WeightedRandom/func_76272_a (Ljava/util/Collection;)I +MD: vj/a (Ljava/util/Collection;I)Lvk; net/minecraft/util/WeightedRandom/func_180166_a (Ljava/util/Collection;I)Lnet/minecraft/util/WeightedRandom$Item; +MD: vj/a (Ljava/util/Random;Ljava/util/Collection;)Lvk; net/minecraft/util/WeightedRandom/func_76271_a (Ljava/util/Random;Ljava/util/Collection;)Lnet/minecraft/util/WeightedRandom$Item; +MD: vj/a (Ljava/util/Random;Ljava/util/Collection;I)Lvk; net/minecraft/util/WeightedRandom/func_76273_a (Ljava/util/Random;Ljava/util/Collection;I)Lnet/minecraft/util/WeightedRandom$Item; +MD: vl/a (Ljava/util/List;[Lvl;)Ljava/util/List; net/minecraft/util/WeightedRandomChestContent/func_177629_a (Ljava/util/List;[Lnet/minecraft/util/WeightedRandomChestContent;)Ljava/util/List; +MD: vl/a (Ljava/util/Random;Ljava/util/List;Lbcx;I)V net/minecraft/util/WeightedRandomChestContent/func_177631_a (Ljava/util/Random;Ljava/util/List;Lnet/minecraft/tileentity/TileEntityDispenser;I)V +MD: vl/a (Ljava/util/Random;Ljava/util/List;Lvq;I)V net/minecraft/util/WeightedRandomChestContent/func_177630_a (Ljava/util/Random;Ljava/util/List;Lnet/minecraft/inventory/IInventory;I)V +MD: vn/a (Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/ListenableFuture; net/minecraft/util/IThreadListener/func_152344_a (Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/ListenableFuture; +MD: vn/aH ()Z net/minecraft/util/IThreadListener/func_152345_ab ()Z +MD: vp/a (I)Lamj; net/minecraft/inventory/InventoryLargeChest/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: vp/a (II)Lamj; net/minecraft/inventory/InventoryLargeChest/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: vp/a (ILamj;)V net/minecraft/inventory/InventoryLargeChest/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: vp/a (Lahb;Lahd;)Laib; net/minecraft/inventory/InventoryLargeChest/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: vp/a (Lahd;)Z net/minecraft/inventory/InventoryLargeChest/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: vp/a (Lvq;)Z net/minecraft/inventory/InventoryLargeChest/func_90010_a (Lnet/minecraft/inventory/IInventory;)Z +MD: vp/a (Lvx;)V net/minecraft/inventory/InventoryLargeChest/func_174892_a (Lnet/minecraft/world/LockCode;)V +MD: vp/a_ (I)I net/minecraft/inventory/InventoryLargeChest/func_174887_a_ (I)I +MD: vp/b (I)Lamj; net/minecraft/inventory/InventoryLargeChest/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: vp/b (II)V net/minecraft/inventory/InventoryLargeChest/func_174885_b (II)V +MD: vp/b (ILamj;)Z net/minecraft/inventory/InventoryLargeChest/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: vp/b (Lahd;)V net/minecraft/inventory/InventoryLargeChest/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: vp/c (Lahd;)V net/minecraft/inventory/InventoryLargeChest/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: vp/d_ ()Ljava/lang/String; net/minecraft/inventory/InventoryLargeChest/func_70005_c_ ()Ljava/lang/String; +MD: vp/e_ ()Lho; net/minecraft/inventory/InventoryLargeChest/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: vp/g ()I net/minecraft/inventory/InventoryLargeChest/func_174890_g ()I +MD: vp/i ()Lvx; net/minecraft/inventory/InventoryLargeChest/func_174891_i ()Lnet/minecraft/world/LockCode; +MD: vp/k ()Ljava/lang/String; net/minecraft/inventory/InventoryLargeChest/func_174875_k ()Ljava/lang/String; +MD: vp/k_ ()Z net/minecraft/inventory/InventoryLargeChest/func_145818_k_ ()Z +MD: vp/l ()V net/minecraft/inventory/InventoryLargeChest/func_174888_l ()V +MD: vp/n_ ()I net/minecraft/inventory/InventoryLargeChest/func_70302_i_ ()I +MD: vp/o_ ()V net/minecraft/inventory/InventoryLargeChest/func_70296_d ()V +MD: vp/p_ ()I net/minecraft/inventory/InventoryLargeChest/func_70297_j_ ()I +MD: vp/q_ ()Z net/minecraft/inventory/InventoryLargeChest/func_174893_q_ ()Z +MD: vq/a (I)Lamj; net/minecraft/inventory/IInventory/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: vq/a (II)Lamj; net/minecraft/inventory/IInventory/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: vq/a (ILamj;)V net/minecraft/inventory/IInventory/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: vq/a (Lahd;)Z net/minecraft/inventory/IInventory/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: vq/a_ (I)I net/minecraft/inventory/IInventory/func_174887_a_ (I)I +MD: vq/b (I)Lamj; net/minecraft/inventory/IInventory/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: vq/b (II)V net/minecraft/inventory/IInventory/func_174885_b (II)V +MD: vq/b (ILamj;)Z net/minecraft/inventory/IInventory/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: vq/b (Lahd;)V net/minecraft/inventory/IInventory/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: vq/c (Lahd;)V net/minecraft/inventory/IInventory/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: vq/g ()I net/minecraft/inventory/IInventory/func_174890_g ()I +MD: vq/l ()V net/minecraft/inventory/IInventory/func_174888_l ()V +MD: vq/n_ ()I net/minecraft/inventory/IInventory/func_70302_i_ ()I +MD: vq/o_ ()V net/minecraft/inventory/IInventory/func_70296_d ()V +MD: vq/p_ ()I net/minecraft/inventory/IInventory/func_70297_j_ ()I +MD: vr/a (Lwa;)V net/minecraft/inventory/IInvBasic/func_76316_a (Lnet/minecraft/inventory/InventoryBasic;)V +MD: vs/a (Laqu;DDDLamj;)V net/minecraft/inventory/InventoryHelper/func_180173_a (Lnet/minecraft/world/World;DDDLnet/minecraft/item/ItemStack;)V +MD: vs/a (Laqu;DDDLvq;)V net/minecraft/inventory/InventoryHelper/func_180174_a (Lnet/minecraft/world/World;DDDLnet/minecraft/inventory/IInventory;)V +MD: vs/a (Laqu;Ldt;Lvq;)V net/minecraft/inventory/InventoryHelper/func_180175_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/inventory/IInventory;)V +MD: vs/a (Laqu;Lwv;Lvq;)V net/minecraft/inventory/InventoryHelper/func_180176_a (Lnet/minecraft/world/World;Lnet/minecraft/entity/Entity;Lnet/minecraft/inventory/IInventory;)V +MD: vt/a ()I net/minecraft/world/EnumDifficulty/func_151525_a ()I +MD: vt/a (I)Lvt; net/minecraft/world/EnumDifficulty/func_151523_a (I)Lnet/minecraft/world/EnumDifficulty; +MD: vt/b ()Ljava/lang/String; net/minecraft/world/EnumDifficulty/func_151526_b ()Ljava/lang/String; +MD: vt/values ()[Lvt; net/minecraft/world/EnumDifficulty/values ()[Lnet/minecraft/world/EnumDifficulty; +MD: vu/a (Lvt;JJF)F net/minecraft/world/DifficultyInstance/func_180169_a (Lnet/minecraft/world/EnumDifficulty;JJF)F +MD: vu/b ()F net/minecraft/world/DifficultyInstance/func_180168_b ()F +MD: vu/c ()F net/minecraft/world/DifficultyInstance/func_180170_c ()F +MD: vv/a (Lahb;Lahd;)Laib; net/minecraft/world/IInteractionObject/func_174876_a (Lnet/minecraft/entity/player/InventoryPlayer;Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/inventory/Container; +MD: vv/k ()Ljava/lang/String; net/minecraft/world/IInteractionObject/func_174875_k ()Ljava/lang/String; +MD: vx/a ()Z net/minecraft/world/LockCode/func_180160_a ()Z +MD: vx/a (Lfn;)V net/minecraft/world/LockCode/func_180157_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: vx/b ()Ljava/lang/String; net/minecraft/world/LockCode/func_180159_b ()Ljava/lang/String; +MD: vx/b (Lfn;)Lvx; net/minecraft/world/LockCode/func_180158_b (Lnet/minecraft/nbt/NBTTagCompound;)Lnet/minecraft/world/LockCode; +MD: vy/a (Lvx;)V net/minecraft/world/ILockableContainer/func_174892_a (Lnet/minecraft/world/LockCode;)V +MD: vy/i ()Lvx; net/minecraft/world/ILockableContainer/func_174891_i ()Lnet/minecraft/world/LockCode; +MD: vy/q_ ()Z net/minecraft/world/ILockableContainer/func_174893_q_ ()Z +MD: vz/d_ ()Ljava/lang/String; net/minecraft/world/IWorldNameable/func_70005_c_ ()Ljava/lang/String; +MD: vz/e_ ()Lho; net/minecraft/world/IWorldNameable/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: vz/k_ ()Z net/minecraft/world/IWorldNameable/func_145818_k_ ()Z +MD: w/a ()Lx; net/minecraft/util/Util/func_110647_a ()Lnet/minecraft/util/Util$EnumOS; +MD: wa/a (I)Lamj; net/minecraft/inventory/InventoryBasic/func_70301_a (I)Lnet/minecraft/item/ItemStack; +MD: wa/a (II)Lamj; net/minecraft/inventory/InventoryBasic/func_70298_a (II)Lnet/minecraft/item/ItemStack; +MD: wa/a (ILamj;)V net/minecraft/inventory/InventoryBasic/func_70299_a (ILnet/minecraft/item/ItemStack;)V +MD: wa/a (Lahd;)Z net/minecraft/inventory/InventoryBasic/func_70300_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: wa/a (Lamj;)Lamj; net/minecraft/inventory/InventoryBasic/func_174894_a (Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/ItemStack; +MD: wa/a (Ljava/lang/String;)V net/minecraft/inventory/InventoryBasic/func_110133_a (Ljava/lang/String;)V +MD: wa/a (Lvr;)V net/minecraft/inventory/InventoryBasic/func_110134_a (Lnet/minecraft/inventory/IInvBasic;)V +MD: wa/a_ (I)I net/minecraft/inventory/InventoryBasic/func_174887_a_ (I)I +MD: wa/b (I)Lamj; net/minecraft/inventory/InventoryBasic/func_70304_b (I)Lnet/minecraft/item/ItemStack; +MD: wa/b (II)V net/minecraft/inventory/InventoryBasic/func_174885_b (II)V +MD: wa/b (ILamj;)Z net/minecraft/inventory/InventoryBasic/func_94041_b (ILnet/minecraft/item/ItemStack;)Z +MD: wa/b (Lahd;)V net/minecraft/inventory/InventoryBasic/func_174889_b (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: wa/b (Lvr;)V net/minecraft/inventory/InventoryBasic/func_110132_b (Lnet/minecraft/inventory/IInvBasic;)V +MD: wa/c (Lahd;)V net/minecraft/inventory/InventoryBasic/func_174886_c (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: wa/d_ ()Ljava/lang/String; net/minecraft/inventory/InventoryBasic/func_70005_c_ ()Ljava/lang/String; +MD: wa/e_ ()Lho; net/minecraft/inventory/InventoryBasic/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: wa/g ()I net/minecraft/inventory/InventoryBasic/func_174890_g ()I +MD: wa/k_ ()Z net/minecraft/inventory/InventoryBasic/func_145818_k_ ()Z +MD: wa/l ()V net/minecraft/inventory/InventoryBasic/func_174888_l ()V +MD: wa/n_ ()I net/minecraft/inventory/InventoryBasic/func_70302_i_ ()I +MD: wa/o_ ()V net/minecraft/inventory/InventoryBasic/func_70296_d ()V +MD: wa/p_ ()I net/minecraft/inventory/InventoryBasic/func_70297_j_ ()I +MD: wb/a ()V net/minecraft/profiler/PlayerUsageSnooper/func_76463_a ()V +MD: wb/a (Ljava/lang/String;Ljava/lang/Object;)V net/minecraft/profiler/PlayerUsageSnooper/func_152768_a (Ljava/lang/String;Ljava/lang/Object;)V +MD: wb/a (Lwb;)Lwd; net/minecraft/profiler/PlayerUsageSnooper/access$000 (Lnet/minecraft/profiler/PlayerUsageSnooper;)Lnet/minecraft/profiler/IPlayerUsage; +MD: wb/b ()V net/minecraft/profiler/PlayerUsageSnooper/func_76471_b ()V +MD: wb/b (Ljava/lang/String;Ljava/lang/Object;)V net/minecraft/profiler/PlayerUsageSnooper/func_152767_b (Ljava/lang/String;Ljava/lang/Object;)V +MD: wb/b (Lwb;)Ljava/lang/Object; net/minecraft/profiler/PlayerUsageSnooper/access$100 (Lnet/minecraft/profiler/PlayerUsageSnooper;)Ljava/lang/Object; +MD: wb/c ()Ljava/util/Map; net/minecraft/profiler/PlayerUsageSnooper/func_76465_c ()Ljava/util/Map; +MD: wb/c (Lwb;)Ljava/util/Map; net/minecraft/profiler/PlayerUsageSnooper/access$200 (Lnet/minecraft/profiler/PlayerUsageSnooper;)Ljava/util/Map; +MD: wb/d ()Z net/minecraft/profiler/PlayerUsageSnooper/func_76468_d ()Z +MD: wb/d (Lwb;)I net/minecraft/profiler/PlayerUsageSnooper/access$300 (Lnet/minecraft/profiler/PlayerUsageSnooper;)I +MD: wb/e ()V net/minecraft/profiler/PlayerUsageSnooper/func_76470_e ()V +MD: wb/e (Lwb;)Ljava/util/Map; net/minecraft/profiler/PlayerUsageSnooper/access$400 (Lnet/minecraft/profiler/PlayerUsageSnooper;)Ljava/util/Map; +MD: wb/f ()Ljava/lang/String; net/minecraft/profiler/PlayerUsageSnooper/func_80006_f ()Ljava/lang/String; +MD: wb/f (Lwb;)I net/minecraft/profiler/PlayerUsageSnooper/access$308 (Lnet/minecraft/profiler/PlayerUsageSnooper;)I +MD: wb/g ()J net/minecraft/profiler/PlayerUsageSnooper/func_130105_g ()J +MD: wb/g (Lwb;)Ljava/lang/String; net/minecraft/profiler/PlayerUsageSnooper/access$500 (Lnet/minecraft/profiler/PlayerUsageSnooper;)Ljava/lang/String; +MD: wb/h ()V net/minecraft/profiler/PlayerUsageSnooper/func_152766_h ()V +MD: wb/h (Lwb;)Ljava/net/URL; net/minecraft/profiler/PlayerUsageSnooper/access$600 (Lnet/minecraft/profiler/PlayerUsageSnooper;)Ljava/net/URL; +MD: wb/i ()V net/minecraft/profiler/PlayerUsageSnooper/func_76467_g ()V +MD: wc/run ()V net/minecraft/profiler/PlayerUsageSnooper$1/run ()V +MD: wd/a (Lwb;)V net/minecraft/profiler/IPlayerUsage/func_70000_a (Lnet/minecraft/profiler/PlayerUsageSnooper;)V +MD: wd/ac ()Z net/minecraft/profiler/IPlayerUsage/func_70002_Q ()Z +MD: wd/b (Lwb;)V net/minecraft/profiler/IPlayerUsage/func_70001_b (Lnet/minecraft/profiler/PlayerUsageSnooper;)V +MD: we/a (ILamj;Lej;)Z net/minecraft/inventory/ISidedInventory/func_180462_a (ILnet/minecraft/item/ItemStack;Lnet/minecraft/util/EnumFacing;)Z +MD: we/a (Lej;)[I net/minecraft/inventory/ISidedInventory/func_180463_a (Lnet/minecraft/util/EnumFacing;)[I +MD: we/b (ILamj;Lej;)Z net/minecraft/inventory/ISidedInventory/func_180461_b (ILnet/minecraft/item/ItemStack;Lnet/minecraft/util/EnumFacing;)Z +MD: wf/a ()Lwh; net/minecraft/util/CombatEntry/func_94560_a ()Lnet/minecraft/util/DamageSource; +MD: wf/c ()F net/minecraft/util/CombatEntry/func_94563_c ()F +MD: wf/f ()Z net/minecraft/util/CombatEntry/func_94559_f ()Z +MD: wf/g ()Ljava/lang/String; net/minecraft/util/CombatEntry/func_94562_g ()Ljava/lang/String; +MD: wf/h ()Lho; net/minecraft/util/CombatEntry/func_151522_h ()Lnet/minecraft/util/IChatComponent; +MD: wf/i ()F net/minecraft/util/CombatEntry/func_94561_i ()F +MD: wg/a ()V net/minecraft/util/CombatTracker/func_94545_a ()V +MD: wg/a (Lwf;)Ljava/lang/String; net/minecraft/util/CombatTracker/func_94548_b (Lnet/minecraft/util/CombatEntry;)Ljava/lang/String; +MD: wg/a (Lwh;FF)V net/minecraft/util/CombatTracker/func_94547_a (Lnet/minecraft/util/DamageSource;FF)V +MD: wg/b ()Lho; net/minecraft/util/CombatTracker/func_151521_b ()Lnet/minecraft/util/IChatComponent; +MD: wg/c ()Lxm; net/minecraft/util/CombatTracker/func_94550_c ()Lnet/minecraft/entity/EntityLivingBase; +MD: wg/f ()I net/minecraft/util/CombatTracker/func_180134_f ()I +MD: wg/g ()V net/minecraft/util/CombatTracker/func_94549_h ()V +MD: wg/h ()Lxm; net/minecraft/util/CombatTracker/func_180135_h ()Lnet/minecraft/entity/EntityLivingBase; +MD: wg/i ()Lwf; net/minecraft/util/CombatTracker/func_94544_f ()Lnet/minecraft/util/CombatEntry; +MD: wg/j ()V net/minecraft/util/CombatTracker/func_94542_g ()V +MD: wh/a ()Z net/minecraft/util/DamageSource/func_76352_a ()Z +MD: wh/a (Lahd;)Lwh; net/minecraft/util/DamageSource/func_76365_a (Lnet/minecraft/entity/player/EntityPlayer;)Lnet/minecraft/util/DamageSource; +MD: wh/a (Lahj;Lwv;)Lwh; net/minecraft/util/DamageSource/func_76353_a (Lnet/minecraft/entity/projectile/EntityArrow;Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/DamageSource; +MD: wh/a (Lahl;Lwv;)Lwh; net/minecraft/util/DamageSource/func_76362_a (Lnet/minecraft/entity/projectile/EntityFireball;Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/DamageSource; +MD: wh/a (Laqo;)Lwh; net/minecraft/util/DamageSource/func_94539_a (Lnet/minecraft/world/Explosion;)Lnet/minecraft/util/DamageSource; +MD: wh/a (Lwv;)Lwh; net/minecraft/util/DamageSource/func_92087_a (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/DamageSource; +MD: wh/a (Lwv;Lwv;)Lwh; net/minecraft/util/DamageSource/func_76356_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/DamageSource; +MD: wh/a (Lxm;)Lwh; net/minecraft/util/DamageSource/func_76358_a (Lnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/util/DamageSource; +MD: wh/b ()Lwh; net/minecraft/util/DamageSource/func_76349_b ()Lnet/minecraft/util/DamageSource; +MD: wh/b (Lwv;Lwv;)Lwh; net/minecraft/util/DamageSource/func_76354_b (Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/DamageSource; +MD: wh/b (Lxm;)Lho; net/minecraft/util/DamageSource/func_151519_b (Lnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/util/IChatComponent; +MD: wh/c ()Z net/minecraft/util/DamageSource/func_94541_c ()Z +MD: wh/d ()Lwh; net/minecraft/util/DamageSource/func_94540_d ()Lnet/minecraft/util/DamageSource; +MD: wh/e ()Z net/minecraft/util/DamageSource/func_76363_c ()Z +MD: wh/f ()F net/minecraft/util/DamageSource/func_76345_d ()F +MD: wh/g ()Z net/minecraft/util/DamageSource/func_76357_e ()Z +MD: wh/h ()Z net/minecraft/util/DamageSource/func_151517_h ()Z +MD: wh/i ()Lwv; net/minecraft/util/DamageSource/func_76364_f ()Lnet/minecraft/entity/Entity; +MD: wh/j ()Lwv; net/minecraft/util/DamageSource/func_76346_g ()Lnet/minecraft/entity/Entity; +MD: wh/k ()Lwh; net/minecraft/util/DamageSource/func_76348_h ()Lnet/minecraft/util/DamageSource; +MD: wh/l ()Lwh; net/minecraft/util/DamageSource/func_76359_i ()Lnet/minecraft/util/DamageSource; +MD: wh/m ()Lwh; net/minecraft/util/DamageSource/func_151518_m ()Lnet/minecraft/util/DamageSource; +MD: wh/n ()Lwh; net/minecraft/util/DamageSource/func_76361_j ()Lnet/minecraft/util/DamageSource; +MD: wh/o ()Z net/minecraft/util/DamageSource/func_76347_k ()Z +MD: wh/p ()Ljava/lang/String; net/minecraft/util/DamageSource/func_76355_l ()Ljava/lang/String; +MD: wh/q ()Lwh; net/minecraft/util/DamageSource/func_76351_m ()Lnet/minecraft/util/DamageSource; +MD: wh/r ()Z net/minecraft/util/DamageSource/func_76350_n ()Z +MD: wh/s ()Z net/minecraft/util/DamageSource/func_82725_o ()Z +MD: wh/t ()Lwh; net/minecraft/util/DamageSource/func_82726_p ()Lnet/minecraft/util/DamageSource; +MD: wh/u ()Z net/minecraft/util/DamageSource/func_180136_u ()Z +MD: wi/b (Lxm;)Lho; net/minecraft/util/EntityDamageSource/func_151519_b (Lnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/util/IChatComponent; +MD: wi/j ()Lwv; net/minecraft/util/EntityDamageSource/func_76346_g ()Lnet/minecraft/entity/Entity; +MD: wi/r ()Z net/minecraft/util/EntityDamageSource/func_76350_n ()Z +MD: wi/v ()Lwi; net/minecraft/util/EntityDamageSource/func_180138_v ()Lnet/minecraft/util/EntityDamageSource; +MD: wi/w ()Z net/minecraft/util/EntityDamageSource/func_180139_w ()Z +MD: wj/b (Lxm;)Lho; net/minecraft/util/EntityDamageSourceIndirect/func_151519_b (Lnet/minecraft/entity/EntityLivingBase;)Lnet/minecraft/util/IChatComponent; +MD: wj/i ()Lwv; net/minecraft/util/EntityDamageSourceIndirect/func_76364_f ()Lnet/minecraft/entity/Entity; +MD: wj/j ()Lwv; net/minecraft/util/EntityDamageSourceIndirect/func_76346_g ()Lnet/minecraft/entity/Entity; +MD: wl/a (Lxm;Lyc;I)V net/minecraft/potion/PotionAbsorption/func_111187_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/ai/attributes/BaseAttributeMap;I)V +MD: wl/b (Lxm;Lyc;I)V net/minecraft/potion/PotionAbsorption/func_111185_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/ai/attributes/BaseAttributeMap;I)V +MD: wm/a (ILya;)D net/minecraft/potion/PotionAttackDamage/func_111183_a (ILnet/minecraft/entity/ai/attributes/AttributeModifier;)D +MD: wn/a (Lxm;Lyc;I)V net/minecraft/potion/PotionHealthBoost/func_111187_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/ai/attributes/BaseAttributeMap;I)V +MD: wo/a (II)Z net/minecraft/potion/PotionHealth/func_76397_a (II)Z +MD: wo/b ()Z net/minecraft/potion/PotionHealth/func_76403_b ()Z +MD: wp/a ()Ljava/lang/String; net/minecraft/potion/Potion/func_76393_a ()Ljava/lang/String; +MD: wp/a (D)Lwp; net/minecraft/potion/Potion/func_76404_a (D)Lnet/minecraft/potion/Potion; +MD: wp/a (II)Z net/minecraft/potion/Potion/func_76397_a (II)Z +MD: wp/a (ILya;)D net/minecraft/potion/Potion/func_111183_a (ILnet/minecraft/entity/ai/attributes/AttributeModifier;)D +MD: wp/a (Lwq;)Ljava/lang/String; net/minecraft/potion/Potion/func_76389_a (Lnet/minecraft/potion/PotionEffect;)Ljava/lang/String; +MD: wp/a (Lwv;Lwv;Lxm;ID)V net/minecraft/potion/Potion/func_180793_a (Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/EntityLivingBase;ID)V +MD: wp/a (Lxm;I)V net/minecraft/potion/Potion/func_76394_a (Lnet/minecraft/entity/EntityLivingBase;I)V +MD: wp/a (Lxm;Lyc;I)V net/minecraft/potion/Potion/func_111187_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/ai/attributes/BaseAttributeMap;I)V +MD: wp/a (Lxy;Ljava/lang/String;DI)Lwp; net/minecraft/potion/Potion/func_111184_a (Lnet/minecraft/entity/ai/attributes/IAttribute;Ljava/lang/String;DI)Lnet/minecraft/potion/Potion; +MD: wp/b ()Z net/minecraft/potion/Potion/func_76403_b ()Z +MD: wp/b (II)Lwp; net/minecraft/potion/Potion/func_76399_b (II)Lnet/minecraft/potion/Potion; +MD: wp/b (Ljava/lang/String;)Lwp; net/minecraft/potion/Potion/func_180142_b (Ljava/lang/String;)Lnet/minecraft/potion/Potion; +MD: wp/b (Lxm;Lyc;I)V net/minecraft/potion/Potion/func_111185_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/ai/attributes/BaseAttributeMap;I)V +MD: wp/c ()[Ljava/lang/String; net/minecraft/potion/Potion/func_180141_c ()[Ljava/lang/String; +MD: wp/c (Ljava/lang/String;)Lwp; net/minecraft/potion/Potion/func_76390_b (Ljava/lang/String;)Lnet/minecraft/potion/Potion; +MD: wp/d ()I net/minecraft/potion/Potion/func_76396_c ()I +MD: wp/e ()Z net/minecraft/potion/Potion/func_76400_d ()Z +MD: wp/f ()I net/minecraft/potion/Potion/func_76392_e ()I +MD: wp/g ()Z net/minecraft/potion/Potion/func_76398_f ()Z +MD: wp/h ()D net/minecraft/potion/Potion/func_76388_g ()D +MD: wp/j ()Z net/minecraft/potion/Potion/func_76395_i ()Z +MD: wp/k ()I net/minecraft/potion/Potion/func_76401_j ()I +MD: wp/l ()Ljava/util/Map; net/minecraft/potion/Potion/func_111186_k ()Ljava/util/Map; +MD: wq/a ()I net/minecraft/potion/PotionEffect/func_76456_a ()I +MD: wq/a (Lfn;)Lfn; net/minecraft/potion/PotionEffect/func_82719_a (Lnet/minecraft/nbt/NBTTagCompound;)Lnet/minecraft/nbt/NBTTagCompound; +MD: wq/a (Lwq;)V net/minecraft/potion/PotionEffect/func_76452_a (Lnet/minecraft/potion/PotionEffect;)V +MD: wq/a (Lxm;)Z net/minecraft/potion/PotionEffect/func_76455_a (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: wq/a (Z)V net/minecraft/potion/PotionEffect/func_82721_a (Z)V +MD: wq/b ()I net/minecraft/potion/PotionEffect/func_76459_b ()I +MD: wq/b (Lfn;)Lwq; net/minecraft/potion/PotionEffect/func_82722_b (Lnet/minecraft/nbt/NBTTagCompound;)Lnet/minecraft/potion/PotionEffect; +MD: wq/b (Lxm;)V net/minecraft/potion/PotionEffect/func_76457_b (Lnet/minecraft/entity/EntityLivingBase;)V +MD: wq/b (Z)V net/minecraft/potion/PotionEffect/func_100012_b (Z)V +MD: wq/c ()I net/minecraft/potion/PotionEffect/func_76458_c ()I +MD: wq/e ()Z net/minecraft/potion/PotionEffect/func_82720_e ()Z +MD: wq/equals (Ljava/lang/Object;)Z net/minecraft/potion/PotionEffect/equals (Ljava/lang/Object;)Z +MD: wq/f ()Z net/minecraft/potion/PotionEffect/func_180154_f ()Z +MD: wq/g ()Ljava/lang/String; net/minecraft/potion/PotionEffect/func_76453_d ()Ljava/lang/String; +MD: wq/h ()Z net/minecraft/potion/PotionEffect/func_100011_g ()Z +MD: wq/hashCode ()I net/minecraft/potion/PotionEffect/hashCode ()I +MD: wq/i ()I net/minecraft/potion/PotionEffect/func_76454_e ()I +MD: wq/toString ()Ljava/lang/String; net/minecraft/potion/PotionEffect/toString ()Ljava/lang/String; +MD: ws/a (F)V net/minecraft/entity/EntityAgeable/func_98055_j (F)V +MD: ws/a (FF)V net/minecraft/entity/EntityAgeable/func_70105_a (FF)V +MD: ws/a (I)V net/minecraft/entity/EntityAgeable/func_110195_a (I)V +MD: ws/a (IZ)V net/minecraft/entity/EntityAgeable/func_175501_a (IZ)V +MD: ws/a (Lahd;)Z net/minecraft/entity/EntityAgeable/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: ws/a (Lfn;)V net/minecraft/entity/EntityAgeable/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ws/a (Lws;)Lws; net/minecraft/entity/EntityAgeable/func_90011_a (Lnet/minecraft/entity/EntityAgeable;)Lnet/minecraft/entity/EntityAgeable; +MD: ws/a (Z)V net/minecraft/entity/EntityAgeable/func_98054_a (Z)V +MD: ws/b (I)V net/minecraft/entity/EntityAgeable/func_70873_a (I)V +MD: ws/b (Lfn;)V net/minecraft/entity/EntityAgeable/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: ws/h ()V net/minecraft/entity/EntityAgeable/func_70088_a ()V +MD: ws/i_ ()Z net/minecraft/entity/EntityAgeable/func_70631_g_ ()Z +MD: ws/l ()I net/minecraft/entity/EntityAgeable/func_70874_b ()I +MD: ws/m ()V net/minecraft/entity/EntityAgeable/func_70636_d ()V +MD: ws/n ()V net/minecraft/entity/EntityAgeable/func_175500_n ()V +MD: wv/F ()I net/minecraft/entity/Entity/func_145782_y ()I +MD: wv/G ()V net/minecraft/entity/Entity/func_174812_G ()V +MD: wv/H ()Lxv; net/minecraft/entity/Entity/func_70096_w ()Lnet/minecraft/entity/DataWatcher; +MD: wv/I ()V net/minecraft/entity/Entity/func_70065_x ()V +MD: wv/J ()V net/minecraft/entity/Entity/func_70106_y ()V +MD: wv/K ()V net/minecraft/entity/Entity/func_70030_z ()V +MD: wv/L ()I net/minecraft/entity/Entity/func_82145_z ()I +MD: wv/M ()V net/minecraft/entity/Entity/func_70044_A ()V +MD: wv/N ()V net/minecraft/entity/Entity/func_70066_B ()V +MD: wv/O ()V net/minecraft/entity/Entity/func_70076_C ()V +MD: wv/P ()Ljava/lang/String; net/minecraft/entity/Entity/func_145776_H ()Ljava/lang/String; +MD: wv/Q ()V net/minecraft/entity/Entity/func_145775_I ()V +MD: wv/R ()Z net/minecraft/entity/Entity/func_174814_R ()Z +MD: wv/S ()Lbrt; net/minecraft/entity/Entity/func_70046_E ()Lnet/minecraft/util/AxisAlignedBB; +MD: wv/T ()Z net/minecraft/entity/Entity/func_70045_F ()Z +MD: wv/U ()Z net/minecraft/entity/Entity/func_70026_G ()Z +MD: wv/V ()Z net/minecraft/entity/Entity/func_70090_H ()Z +MD: wv/W ()Z net/minecraft/entity/Entity/func_70072_I ()Z +MD: wv/X ()V net/minecraft/entity/Entity/func_71061_d_ ()V +MD: wv/Y ()V net/minecraft/entity/Entity/func_174830_Y ()V +MD: wv/Z ()V net/minecraft/entity/Entity/func_174808_Z ()V +MD: wv/a (B)V net/minecraft/entity/Entity/func_70103_a (B)V +MD: wv/a (D)Z net/minecraft/entity/Entity/func_70112_a (D)Z +MD: wv/a (DDD)V net/minecraft/entity/Entity/func_70634_a (DDD)V +MD: wv/a (DDDFF)V net/minecraft/entity/Entity/func_70080_a (DDDFF)V +MD: wv/a (DDDFFIZ)V net/minecraft/entity/Entity/func_180426_a (DDDFFIZ)V +MD: wv/a (DF)Lbru; net/minecraft/entity/Entity/func_174822_a (DF)Lnet/minecraft/util/MovingObjectPosition; +MD: wv/a (DZLatr;Ldt;)V net/minecraft/entity/Entity/func_180433_a (DZLnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;)V +MD: wv/a (FF)V net/minecraft/entity/Entity/func_70105_a (FF)V +MD: wv/a (FFF)V net/minecraft/entity/Entity/func_70060_a (FFF)V +MD: wv/a (ILjava/lang/String;)Z net/minecraft/entity/Entity/func_70003_b (ILjava/lang/String;)Z +MD: wv/a (Lads;)V net/minecraft/entity/Entity/func_70077_a (Lnet/minecraft/entity/effect/EntityLightningBolt;)V +MD: wv/a (Lag;I)V net/minecraft/entity/Entity/func_174794_a (Lnet/minecraft/command/CommandResultStats$Type;I)V +MD: wv/a (Lahd;Lbrw;)Z net/minecraft/entity/Entity/func_174825_a (Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/Vec3;)Z +MD: wv/a (Lalq;I)Ladw; net/minecraft/entity/Entity/func_145779_a (Lnet/minecraft/item/Item;I)Lnet/minecraft/entity/item/EntityItem; +MD: wv/a (Lalq;IF)Ladw; net/minecraft/entity/Entity/func_145778_a (Lnet/minecraft/item/Item;IF)Lnet/minecraft/entity/item/EntityItem; +MD: wv/a (Lamj;F)Ladw; net/minecraft/entity/Entity/func_70099_a (Lnet/minecraft/item/ItemStack;F)Lnet/minecraft/entity/item/EntityItem; +MD: wv/a (Laqo;Laqu;Ldt;Lbec;)F net/minecraft/entity/Entity/func_180428_a (Lnet/minecraft/world/Explosion;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;)F +MD: wv/a (Laqo;Laqu;Ldt;Lbec;F)Z net/minecraft/entity/Entity/func_174816_a (Lnet/minecraft/world/Explosion;Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/state/IBlockState;F)Z +MD: wv/a (Laqu;)V net/minecraft/entity/Entity/func_70029_a (Lnet/minecraft/world/World;)V +MD: wv/a (Lbof;)Z net/minecraft/entity/Entity/func_70055_a (Lnet/minecraft/block/material/Material;)Z +MD: wv/a (Lbrt;)V net/minecraft/entity/Entity/func_174826_a (Lnet/minecraft/util/AxisAlignedBB;)V +MD: wv/a (Ldt;FF)V net/minecraft/entity/Entity/func_174828_a (Lnet/minecraft/util/BlockPos;FF)V +MD: wv/a (Ldt;Latr;)V net/minecraft/entity/Entity/func_180429_a (Lnet/minecraft/util/BlockPos;Lnet/minecraft/block/Block;)V +MD: wv/a (Lfn;)V net/minecraft/entity/Entity/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: wv/a (Lho;)V net/minecraft/entity/Entity/func_145747_a (Lnet/minecraft/util/IChatComponent;)V +MD: wv/a (Lj;)V net/minecraft/entity/Entity/func_85029_a (Lnet/minecraft/crash/CrashReportCategory;)V +MD: wv/a (Ljava/lang/String;)V net/minecraft/entity/Entity/func_96094_a (Ljava/lang/String;)V +MD: wv/a (Ljava/lang/String;FF)V net/minecraft/entity/Entity/func_85030_a (Ljava/lang/String;FF)V +MD: wv/a (Lqw;)Z net/minecraft/entity/Entity/func_174827_a (Lnet/minecraft/entity/player/EntityPlayerMP;)Z +MD: wv/a (Lwh;F)Z net/minecraft/entity/Entity/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: wv/a (Lwv;)V net/minecraft/entity/Entity/func_70078_a (Lnet/minecraft/entity/Entity;)V +MD: wv/a (Lxm;)V net/minecraft/entity/Entity/func_70074_a (Lnet/minecraft/entity/EntityLivingBase;)V +MD: wv/a (Lxm;Lwv;)V net/minecraft/entity/Entity/func_174815_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/Entity;)V +MD: wv/a ([D)Lfv; net/minecraft/entity/Entity/func_70087_a ([D)Lnet/minecraft/nbt/NBTTagList; +MD: wv/a ([F)Lfv; net/minecraft/entity/Entity/func_70049_a ([F)Lnet/minecraft/nbt/NBTTagList; +MD: wv/aA ()I net/minecraft/entity/Entity/func_70086_ai ()I +MD: wv/aB ()V net/minecraft/entity/Entity/func_70110_aj ()V +MD: wv/aC ()[Lwv; net/minecraft/entity/Entity/func_70021_al ()[Lnet/minecraft/entity/Entity; +MD: wv/aD ()F net/minecraft/entity/Entity/func_70079_am ()F +MD: wv/aE ()Z net/minecraft/entity/Entity/func_70075_an ()Z +MD: wv/aF ()I net/minecraft/entity/Entity/func_82143_as ()I +MD: wv/aG ()I net/minecraft/entity/Entity/func_82148_at ()I +MD: wv/aH ()Z net/minecraft/entity/Entity/func_145773_az ()Z +MD: wv/aI ()Z net/minecraft/entity/Entity/func_90999_ad ()Z +MD: wv/aJ ()Ljava/util/UUID; net/minecraft/entity/Entity/func_110124_au ()Ljava/util/UUID; +MD: wv/aK ()Z net/minecraft/entity/Entity/func_96092_aw ()Z +MD: wv/aL ()Ljava/lang/String; net/minecraft/entity/Entity/func_95999_t ()Ljava/lang/String; +MD: wv/aM ()Z net/minecraft/entity/Entity/func_174833_aM ()Z +MD: wv/aN ()Z net/minecraft/entity/Entity/func_94059_bO ()Z +MD: wv/aO ()Lej; net/minecraft/entity/Entity/func_174811_aO ()Lnet/minecraft/util/EnumFacing; +MD: wv/aP ()Lhr; net/minecraft/entity/Entity/func_174823_aP ()Lnet/minecraft/event/HoverEvent; +MD: wv/aQ ()Lbrt; net/minecraft/entity/Entity/func_174813_aQ ()Lnet/minecraft/util/AxisAlignedBB; +MD: wv/aR ()F net/minecraft/entity/Entity/func_70047_e ()F +MD: wv/aS ()Z net/minecraft/entity/Entity/func_174832_aS ()Z +MD: wv/aT ()Laf; net/minecraft/entity/Entity/func_174807_aT ()Lnet/minecraft/command/CommandResultStats; +MD: wv/aU ()Lfn; net/minecraft/entity/Entity/func_174819_aU ()Lnet/minecraft/nbt/NBTTagCompound; +MD: wv/aV ()Z net/minecraft/entity/Entity/func_180427_aV ()Z +MD: wv/aa ()Ljava/lang/String; net/minecraft/entity/Entity/func_145777_O ()Ljava/lang/String; +MD: wv/ab ()Z net/minecraft/entity/Entity/func_180799_ab ()Z +MD: wv/ac ()V net/minecraft/entity/Entity/func_70018_K ()V +MD: wv/ad ()Z net/minecraft/entity/Entity/func_70067_L ()Z +MD: wv/ae ()Z net/minecraft/entity/Entity/func_70104_M ()Z +MD: wv/af ()Z net/minecraft/entity/Entity/func_142008_O ()Z +MD: wv/ag ()Ljava/lang/String; net/minecraft/entity/Entity/func_70022_Q ()Ljava/lang/String; +MD: wv/ah ()V net/minecraft/entity/Entity/func_110123_P ()V +MD: wv/ai ()Z net/minecraft/entity/Entity/func_70089_S ()Z +MD: wv/aj ()Z net/minecraft/entity/Entity/func_70094_T ()Z +MD: wv/ak ()V net/minecraft/entity/Entity/func_70098_U ()V +MD: wv/al ()V net/minecraft/entity/Entity/func_70043_V ()V +MD: wv/am ()D net/minecraft/entity/Entity/func_70033_W ()D +MD: wv/an ()D net/minecraft/entity/Entity/func_70042_X ()D +MD: wv/ao ()F net/minecraft/entity/Entity/func_70111_Y ()F +MD: wv/ap ()Lbrw; net/minecraft/entity/Entity/func_70040_Z ()Lnet/minecraft/util/Vec3; +MD: wv/aq ()V net/minecraft/entity/Entity/func_70063_aa ()V +MD: wv/ar ()I net/minecraft/entity/Entity/func_82147_ab ()I +MD: wv/as ()V net/minecraft/entity/Entity/func_70057_ab ()V +MD: wv/at ()[Lamj; net/minecraft/entity/Entity/func_70035_c ()[Lnet/minecraft/item/ItemStack; +MD: wv/au ()Z net/minecraft/entity/Entity/func_70027_ad ()Z +MD: wv/av ()Z net/minecraft/entity/Entity/func_70115_ae ()Z +MD: wv/aw ()Z net/minecraft/entity/Entity/func_70093_af ()Z +MD: wv/ax ()Z net/minecraft/entity/Entity/func_70051_ag ()Z +MD: wv/ay ()Z net/minecraft/entity/Entity/func_82150_aj ()Z +MD: wv/az ()Z net/minecraft/entity/Entity/func_70113_ah ()Z +MD: wv/b (DDD)V net/minecraft/entity/Entity/func_70107_b (DDD)V +MD: wv/b (DDDFF)V net/minecraft/entity/Entity/func_70012_b (DDDFF)V +MD: wv/b (F)I net/minecraft/entity/Entity/func_70070_b (F)I +MD: wv/b (FF)V net/minecraft/entity/Entity/func_70101_b (FF)V +MD: wv/b (IZ)V net/minecraft/entity/Entity/func_70052_a (IZ)V +MD: wv/b (Lbrt;)Z net/minecraft/entity/Entity/func_174809_b (Lnet/minecraft/util/AxisAlignedBB;)Z +MD: wv/b (Ldt;)D net/minecraft/entity/Entity/func_174818_b (Lnet/minecraft/util/BlockPos;)D +MD: wv/b (Lfn;)V net/minecraft/entity/Entity/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: wv/b (Lwh;)Z net/minecraft/entity/Entity/func_180431_b (Lnet/minecraft/util/DamageSource;)Z +MD: wv/b (Lwv;I)V net/minecraft/entity/Entity/func_70084_c (Lnet/minecraft/entity/Entity;I)V +MD: wv/b (Z)V net/minecraft/entity/Entity/func_174810_b (Z)V +MD: wv/c ()Ldt; net/minecraft/entity/Entity/func_180425_c ()Lnet/minecraft/util/BlockPos; +MD: wv/c (DDD)Z net/minecraft/entity/Entity/func_70038_c (DDD)Z +MD: wv/c (F)F net/minecraft/entity/Entity/func_70013_c (F)F +MD: wv/c (FF)V net/minecraft/entity/Entity/func_70082_c (FF)V +MD: wv/c (I)V net/minecraft/entity/Entity/func_71027_c (I)V +MD: wv/c (ILamj;)V net/minecraft/entity/Entity/func_70062_b (ILnet/minecraft/item/ItemStack;)V +MD: wv/c (Ldt;)D net/minecraft/entity/Entity/func_174831_c (Lnet/minecraft/util/BlockPos;)D +MD: wv/c (Lfn;)Z net/minecraft/entity/Entity/func_98035_c (Lnet/minecraft/nbt/NBTTagCompound;)Z +MD: wv/c (Z)V net/minecraft/entity/Entity/func_70095_a (Z)V +MD: wv/d ()Lbrw; net/minecraft/entity/Entity/func_174791_d ()Lnet/minecraft/util/Vec3; +MD: wv/d (DDD)V net/minecraft/entity/Entity/func_70091_d (DDD)V +MD: wv/d (F)Lbrw; net/minecraft/entity/Entity/func_70676_i (F)Lnet/minecraft/util/Vec3; +MD: wv/d (I)V net/minecraft/entity/Entity/func_145769_d (I)V +MD: wv/d (ILamj;)Z net/minecraft/entity/Entity/func_174820_d (ILnet/minecraft/item/ItemStack;)Z +MD: wv/d (Lahd;)V net/minecraft/entity/Entity/func_70100_b_ (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: wv/d (Lfn;)Z net/minecraft/entity/Entity/func_70039_c (Lnet/minecraft/nbt/NBTTagCompound;)Z +MD: wv/d (Z)V net/minecraft/entity/Entity/func_70031_b (Z)V +MD: wv/d_ ()Ljava/lang/String; net/minecraft/entity/Entity/func_70005_c_ ()Ljava/lang/String; +MD: wv/e ()Laqu; net/minecraft/entity/Entity/func_130014_f_ ()Lnet/minecraft/world/World; +MD: wv/e (DDD)D net/minecraft/entity/Entity/func_70092_e (DDD)D +MD: wv/e (F)Lbrw; net/minecraft/entity/Entity/func_174824_e (F)Lnet/minecraft/util/Vec3; +MD: wv/e (FF)V net/minecraft/entity/Entity/func_180430_e (FF)V +MD: wv/e (I)V net/minecraft/entity/Entity/func_70015_d (I)V +MD: wv/e (Lahd;)Z net/minecraft/entity/Entity/func_130002_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: wv/e (Lfn;)V net/minecraft/entity/Entity/func_70109_d (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: wv/e (Z)V net/minecraft/entity/Entity/func_82142_c (Z)V +MD: wv/e_ ()Lho; net/minecraft/entity/Entity/func_145748_c_ ()Lnet/minecraft/util/IChatComponent; +MD: wv/equals (Ljava/lang/Object;)Z net/minecraft/entity/Entity/equals (Ljava/lang/Object;)Z +MD: wv/f ()Lwv; net/minecraft/entity/Entity/func_174793_f ()Lnet/minecraft/entity/Entity; +MD: wv/f (DDD)D net/minecraft/entity/Entity/func_70011_f (DDD)D +MD: wv/f (F)V net/minecraft/entity/Entity/func_70034_d (F)V +MD: wv/f (FF)Lbrw; net/minecraft/entity/Entity/func_174806_f (FF)Lnet/minecraft/util/Vec3; +MD: wv/f (I)V net/minecraft/entity/Entity/func_70081_e (I)V +MD: wv/f (Lahd;)Z net/minecraft/entity/Entity/func_98034_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: wv/f (Lfn;)V net/minecraft/entity/Entity/func_70020_e (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: wv/f (Z)V net/minecraft/entity/Entity/func_70019_c (Z)V +MD: wv/g (DDD)V net/minecraft/entity/Entity/func_70024_g (DDD)V +MD: wv/g (I)Z net/minecraft/entity/Entity/func_70083_f (I)Z +MD: wv/g (Lfn;)V net/minecraft/entity/Entity/func_174834_g (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: wv/g (Lwv;)F net/minecraft/entity/Entity/func_70032_d (Lnet/minecraft/entity/Entity;)F +MD: wv/g (Z)V net/minecraft/entity/Entity/func_174805_g (Z)V +MD: wv/h ()V net/minecraft/entity/Entity/func_70088_a ()V +MD: wv/h (DDD)Z net/minecraft/entity/Entity/func_145770_h (DDD)Z +MD: wv/h (I)V net/minecraft/entity/Entity/func_70050_g (I)V +MD: wv/h (Lwv;)D net/minecraft/entity/Entity/func_70068_e (Lnet/minecraft/entity/Entity;)D +MD: wv/h (Z)V net/minecraft/entity/Entity/func_174821_h (Z)V +MD: wv/hashCode ()I net/minecraft/entity/Entity/hashCode ()I +MD: wv/i (DDD)V net/minecraft/entity/Entity/func_70016_h (DDD)V +MD: wv/i (I)V net/minecraft/entity/Entity/func_145781_i (I)V +MD: wv/i (Lwv;)V net/minecraft/entity/Entity/func_70108_f (Lnet/minecraft/entity/Entity;)V +MD: wv/j (DDD)Z net/minecraft/entity/Entity/func_145771_j (DDD)Z +MD: wv/j (Lwv;)Lbrt; net/minecraft/entity/Entity/func_70114_g (Lnet/minecraft/entity/Entity;)Lnet/minecraft/util/AxisAlignedBB; +MD: wv/k (Lwv;)Z net/minecraft/entity/Entity/func_70028_i (Lnet/minecraft/entity/Entity;)Z +MD: wv/k_ ()Z net/minecraft/entity/Entity/func_145818_k_ ()Z +MD: wv/l (Lwv;)Z net/minecraft/entity/Entity/func_85031_j (Lnet/minecraft/entity/Entity;)Z +MD: wv/m ()V net/minecraft/entity/Entity/func_174829_m ()V +MD: wv/m (Lwv;)V net/minecraft/entity/Entity/func_82149_j (Lnet/minecraft/entity/Entity;)V +MD: wv/n (Lwv;)V net/minecraft/entity/Entity/func_180432_n (Lnet/minecraft/entity/Entity;)V +MD: wv/o (Lwv;)V net/minecraft/entity/Entity/func_174817_o (Lnet/minecraft/entity/Entity;)V +MD: wv/r_ ()Z net/minecraft/entity/Entity/func_70041_e_ ()Z +MD: wv/s_ ()V net/minecraft/entity/Entity/func_70071_h_ ()V +MD: wv/t_ ()Z net/minecraft/entity/Entity/func_174792_t_ ()Z +MD: wv/toString ()Ljava/lang/String; net/minecraft/entity/Entity/toString ()Ljava/lang/String; +MD: ww/a ()Ljava/lang/String; net/minecraft/entity/Entity$1/call ()Ljava/lang/String; +MD: ww/call ()Ljava/lang/Object; net/minecraft/entity/Entity$1/call ()Ljava/lang/Object; +MD: wx/a ()Ljava/lang/String; net/minecraft/entity/Entity$2/call ()Ljava/lang/String; +MD: wx/call ()Ljava/lang/Object; net/minecraft/entity/Entity$2/call ()Ljava/lang/Object; +MD: wy/a ()Ljava/lang/String; net/minecraft/entity/Entity$3/call ()Ljava/lang/String; +MD: wy/call ()Ljava/lang/Object; net/minecraft/entity/Entity$3/call ()Ljava/lang/Object; +MD: wz/a ()Ljava/lang/String; net/minecraft/entity/Entity$4/call ()Ljava/lang/String; +MD: wz/call ()Ljava/lang/Object; net/minecraft/entity/Entity$4/call ()Ljava/lang/Object; +MD: x/values ()[Lx; net/minecraft/util/Util$EnumOS/values ()[Lnet/minecraft/util/Util$EnumOS; +MD: xb/a ()V net/minecraft/entity/EntityList/func_151514_a ()V +MD: xb/a (I)Ljava/lang/Class; net/minecraft/entity/EntityList/func_90035_a (I)Ljava/lang/Class; +MD: xb/a (ILaqu;)Lwv; net/minecraft/entity/EntityList/func_75616_a (ILnet/minecraft/world/World;)Lnet/minecraft/entity/Entity; +MD: xb/a (Lfn;Laqu;)Lwv; net/minecraft/entity/EntityList/func_75615_a (Lnet/minecraft/nbt/NBTTagCompound;Lnet/minecraft/world/World;)Lnet/minecraft/entity/Entity; +MD: xb/a (Ljava/lang/Class;Ljava/lang/String;I)V net/minecraft/entity/EntityList/func_75618_a (Ljava/lang/Class;Ljava/lang/String;I)V +MD: xb/a (Ljava/lang/Class;Ljava/lang/String;III)V net/minecraft/entity/EntityList/func_75614_a (Ljava/lang/Class;Ljava/lang/String;III)V +MD: xb/a (Ljava/lang/String;)I net/minecraft/entity/EntityList/func_180122_a (Ljava/lang/String;)I +MD: xb/a (Ljava/lang/String;Laqu;)Lwv; net/minecraft/entity/EntityList/func_75620_a (Ljava/lang/String;Lnet/minecraft/world/World;)Lnet/minecraft/entity/Entity; +MD: xb/a (Lwv;)I net/minecraft/entity/EntityList/func_75619_a (Lnet/minecraft/entity/Entity;)I +MD: xb/a (Lwv;Ljava/lang/String;)Z net/minecraft/entity/EntityList/func_180123_a (Lnet/minecraft/entity/Entity;Ljava/lang/String;)Z +MD: xb/b ()Ljava/util/List; net/minecraft/entity/EntityList/func_180124_b ()Ljava/util/List; +MD: xb/b (I)Ljava/lang/String; net/minecraft/entity/EntityList/func_75617_a (I)Ljava/lang/String; +MD: xb/b (Ljava/lang/String;)Z net/minecraft/entity/EntityList/func_180125_b (Ljava/lang/String;)Z +MD: xb/b (Lwv;)Ljava/lang/String; net/minecraft/entity/EntityList/func_75621_b (Lnet/minecraft/entity/Entity;)Ljava/lang/String; +MD: xf/a (Lwv;)Z net/minecraft/command/IEntitySelector$1/func_180131_a (Lnet/minecraft/entity/Entity;)Z +MD: xf/apply (Ljava/lang/Object;)Z net/minecraft/command/IEntitySelector$1/apply (Ljava/lang/Object;)Z +MD: xg/a (Lwv;)Z net/minecraft/command/IEntitySelector$2/func_180130_a (Lnet/minecraft/entity/Entity;)Z +MD: xg/apply (Ljava/lang/Object;)Z net/minecraft/command/IEntitySelector$2/apply (Ljava/lang/Object;)Z +MD: xh/a (Lwv;)Z net/minecraft/command/IEntitySelector$3/func_180102_a (Lnet/minecraft/entity/Entity;)Z +MD: xh/apply (Ljava/lang/Object;)Z net/minecraft/command/IEntitySelector$3/apply (Ljava/lang/Object;)Z +MD: xi/a (Lwv;)Z net/minecraft/command/IEntitySelector$4/func_180103_a (Lnet/minecraft/entity/Entity;)Z +MD: xi/apply (Ljava/lang/Object;)Z net/minecraft/command/IEntitySelector$4/apply (Ljava/lang/Object;)Z +MD: xj/a (Lwv;)Z net/minecraft/command/IEntitySelector$ArmoredMob/func_180100_a (Lnet/minecraft/entity/Entity;)Z +MD: xj/apply (Ljava/lang/Object;)Z net/minecraft/command/IEntitySelector$ArmoredMob/apply (Ljava/lang/Object;)Z +MD: xk/W ()Z net/minecraft/entity/item/EntityXPOrb/func_70072_I ()Z +MD: xk/a (I)I net/minecraft/entity/item/EntityXPOrb/func_70527_a (I)I +MD: xk/a (Lfn;)V net/minecraft/entity/item/EntityXPOrb/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: xk/a (Lwh;F)Z net/minecraft/entity/item/EntityXPOrb/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: xk/aE ()Z net/minecraft/entity/item/EntityXPOrb/func_70075_an ()Z +MD: xk/b (F)I net/minecraft/entity/item/EntityXPOrb/func_70070_b (F)I +MD: xk/b (Lfn;)V net/minecraft/entity/item/EntityXPOrb/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: xk/d (Lahd;)V net/minecraft/entity/item/EntityXPOrb/func_70100_b_ (Lnet/minecraft/entity/player/EntityPlayer;)V +MD: xk/f (I)V net/minecraft/entity/item/EntityXPOrb/func_70081_e (I)V +MD: xk/h ()V net/minecraft/entity/item/EntityXPOrb/func_70088_a ()V +MD: xk/j ()I net/minecraft/entity/item/EntityXPOrb/func_70526_d ()I +MD: xk/l ()I net/minecraft/entity/item/EntityXPOrb/func_70528_g ()I +MD: xk/r_ ()Z net/minecraft/entity/item/EntityXPOrb/func_70041_e_ ()Z +MD: xk/s_ ()V net/minecraft/entity/item/EntityXPOrb/func_70071_h_ ()V +MD: xl/a (DZLatr;Ldt;)V net/minecraft/entity/EntityFlying/func_180433_a (DZLnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;)V +MD: xl/e (FF)V net/minecraft/entity/EntityFlying/func_180430_e (FF)V +MD: xl/g (FF)V net/minecraft/entity/EntityFlying/func_70612_e (FF)V +MD: xl/j_ ()Z net/minecraft/entity/EntityFlying/func_70617_f_ ()Z +MD: xm/B ()V net/minecraft/entity/EntityLivingBase/func_175135_B ()V +MD: xm/G ()V net/minecraft/entity/EntityLivingBase/func_174812_G ()V +MD: xm/K ()V net/minecraft/entity/EntityLivingBase/func_70030_z ()V +MD: xm/O ()V net/minecraft/entity/EntityLivingBase/func_70076_C ()V +MD: xm/a (B)V net/minecraft/entity/EntityLivingBase/func_70103_a (B)V +MD: xm/a (DDDFFIZ)V net/minecraft/entity/EntityLivingBase/func_180426_a (DDDFFIZ)V +MD: xm/a (DZLatr;Ldt;)V net/minecraft/entity/EntityLivingBase/func_180433_a (DZLnet/minecraft/block/Block;Lnet/minecraft/util/BlockPos;)V +MD: xm/a (Lbsf;)Z net/minecraft/entity/EntityLivingBase/func_142012_a (Lnet/minecraft/scoreboard/Team;)Z +MD: xm/a (Lfn;)V net/minecraft/entity/EntityLivingBase/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: xm/a (Lwh;)V net/minecraft/entity/EntityLivingBase/func_70645_a (Lnet/minecraft/util/DamageSource;)V +MD: xm/a (Lwh;F)Z net/minecraft/entity/EntityLivingBase/func_70097_a (Lnet/minecraft/util/DamageSource;F)Z +MD: xm/a (Lwp;)Z net/minecraft/entity/EntityLivingBase/func_70644_a (Lnet/minecraft/potion/Potion;)Z +MD: xm/a (Lwq;)V net/minecraft/entity/EntityLivingBase/func_70670_a (Lnet/minecraft/potion/PotionEffect;)V +MD: xm/a (Lwq;Z)V net/minecraft/entity/EntityLivingBase/func_70695_b (Lnet/minecraft/potion/PotionEffect;Z)V +MD: xm/a (Lwv;)V net/minecraft/entity/EntityLivingBase/func_70078_a (Lnet/minecraft/entity/Entity;)V +MD: xm/a (Lwv;FDD)V net/minecraft/entity/EntityLivingBase/func_70653_a (Lnet/minecraft/entity/Entity;FDD)V +MD: xm/a (Lwv;I)V net/minecraft/entity/EntityLivingBase/func_71001_a (Lnet/minecraft/entity/Entity;I)V +MD: xm/a (Lxy;)Lxz; net/minecraft/entity/EntityLivingBase/func_110148_a (Lnet/minecraft/entity/ai/attributes/IAttribute;)Lnet/minecraft/entity/ai/attributes/IAttributeInstance; +MD: xm/a (ZI)V net/minecraft/entity/EntityLivingBase/func_82160_b (ZI)V +MD: xm/aD ()F net/minecraft/entity/EntityLivingBase/func_70079_am ()F +MD: xm/aN ()Z net/minecraft/entity/EntityLivingBase/func_94059_bO ()Z +MD: xm/aW ()V net/minecraft/entity/EntityLivingBase/func_110147_ax ()V +MD: xm/aX ()Z net/minecraft/entity/EntityLivingBase/func_70648_aU ()Z +MD: xm/aY ()V net/minecraft/entity/EntityLivingBase/func_70609_aI ()V +MD: xm/aZ ()Z net/minecraft/entity/EntityLivingBase/func_146066_aG ()Z +MD: xm/ac ()V net/minecraft/entity/EntityLivingBase/func_70018_K ()V +MD: xm/ad ()Z net/minecraft/entity/EntityLivingBase/func_70067_L ()Z +MD: xm/ae ()Z net/minecraft/entity/EntityLivingBase/func_70104_M ()Z +MD: xm/ai ()Z net/minecraft/entity/EntityLivingBase/func_70089_S ()Z +MD: xm/ak ()V net/minecraft/entity/EntityLivingBase/func_70098_U ()V +MD: xm/ap ()Lbrw; net/minecraft/entity/EntityLivingBase/func_70040_Z ()Lnet/minecraft/util/Vec3; +MD: xm/as ()V net/minecraft/entity/EntityLivingBase/func_70057_ab ()V +MD: xm/at ()[Lamj; net/minecraft/entity/EntityLivingBase/func_70035_c ()[Lnet/minecraft/item/ItemStack; +MD: xm/b (Lahd;)I net/minecraft/entity/EntityLivingBase/func_70693_a (Lnet/minecraft/entity/player/EntityPlayer;)I +MD: xm/b (Lamj;)V net/minecraft/entity/EntityLivingBase/func_70669_a (Lnet/minecraft/item/ItemStack;)V +MD: xm/b (Lfn;)V net/minecraft/entity/EntityLivingBase/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: xm/b (Lwh;F)F net/minecraft/entity/EntityLivingBase/func_70655_b (Lnet/minecraft/util/DamageSource;F)F +MD: xm/b (Lwp;)Lwq; net/minecraft/entity/EntityLivingBase/func_70660_b (Lnet/minecraft/potion/Potion;)Lnet/minecraft/potion/PotionEffect; +MD: xm/b (Lwq;)V net/minecraft/entity/EntityLivingBase/func_70688_c (Lnet/minecraft/potion/PotionEffect;)V +MD: xm/b (Lxm;)V net/minecraft/entity/EntityLivingBase/func_70604_c (Lnet/minecraft/entity/EntityLivingBase;)V +MD: xm/b (ZI)V net/minecraft/entity/EntityLivingBase/func_70628_a (ZI)V +MD: xm/bA ()F net/minecraft/entity/EntityLivingBase/func_70599_aP ()F +MD: xm/bB ()F net/minecraft/entity/EntityLivingBase/func_70647_i ()F +MD: xm/bC ()Z net/minecraft/entity/EntityLivingBase/func_70610_aX ()Z +MD: xm/bD ()F net/minecraft/entity/EntityLivingBase/func_175134_bD ()F +MD: xm/bE ()V net/minecraft/entity/EntityLivingBase/func_70664_aZ ()V +MD: xm/bF ()V net/minecraft/entity/EntityLivingBase/func_70629_bd ()V +MD: xm/bG ()V net/minecraft/entity/EntityLivingBase/func_180466_bG ()V +MD: xm/bH ()F net/minecraft/entity/EntityLivingBase/func_70689_ay ()F +MD: xm/bI ()Z net/minecraft/entity/EntityLivingBase/func_70608_bn ()Z +MD: xm/bJ ()V net/minecraft/entity/EntityLivingBase/func_70626_be ()V +MD: xm/bK ()V net/minecraft/entity/EntityLivingBase/func_85033_bc ()V +MD: xm/bL ()Z net/minecraft/entity/EntityLivingBase/func_70613_aW ()Z +MD: xm/bM ()F net/minecraft/entity/EntityLivingBase/func_110139_bj ()F +MD: xm/bN ()Lbsf; net/minecraft/entity/EntityLivingBase/func_96124_cp ()Lnet/minecraft/scoreboard/Team; +MD: xm/bO ()V net/minecraft/entity/EntityLivingBase/func_175136_bO ()V +MD: xm/ba ()Z net/minecraft/entity/EntityLivingBase/func_70684_aJ ()Z +MD: xm/bb ()Ljava/util/Random; net/minecraft/entity/EntityLivingBase/func_70681_au ()Ljava/util/Random; +MD: xm/bc ()Lxm; net/minecraft/entity/EntityLivingBase/func_70643_av ()Lnet/minecraft/entity/EntityLivingBase; +MD: xm/bd ()I net/minecraft/entity/EntityLivingBase/func_142015_aE ()I +MD: xm/be ()Lxm; net/minecraft/entity/EntityLivingBase/func_110144_aD ()Lnet/minecraft/entity/EntityLivingBase; +MD: xm/bf ()I net/minecraft/entity/EntityLivingBase/func_142013_aG ()I +MD: xm/bg ()I net/minecraft/entity/EntityLivingBase/func_70654_ax ()I +MD: xm/bh ()V net/minecraft/entity/EntityLivingBase/func_70679_bo ()V +MD: xm/bi ()V net/minecraft/entity/EntityLivingBase/func_175133_bi ()V +MD: xm/bj ()V net/minecraft/entity/EntityLivingBase/func_70674_bp ()V +MD: xm/bk ()Ljava/util/Collection; net/minecraft/entity/EntityLivingBase/func_70651_bq ()Ljava/util/Collection; +MD: xm/bl ()Z net/minecraft/entity/EntityLivingBase/func_70662_br ()Z +MD: xm/bm ()F net/minecraft/entity/EntityLivingBase/func_110143_aJ ()F +MD: xm/bn ()Ljava/lang/String; net/minecraft/entity/EntityLivingBase/func_70621_aR ()Ljava/lang/String; +MD: xm/bo ()Ljava/lang/String; net/minecraft/entity/EntityLivingBase/func_70673_aS ()Ljava/lang/String; +MD: xm/bp ()V net/minecraft/entity/EntityLivingBase/func_82164_bB ()V +MD: xm/bq ()I net/minecraft/entity/EntityLivingBase/func_70658_aO ()I +MD: xm/br ()Lwg; net/minecraft/entity/EntityLivingBase/func_110142_aN ()Lnet/minecraft/util/CombatTracker; +MD: xm/bs ()Lxm; net/minecraft/entity/EntityLivingBase/func_94060_bK ()Lnet/minecraft/entity/EntityLivingBase; +MD: xm/bt ()F net/minecraft/entity/EntityLivingBase/func_110138_aP ()F +MD: xm/bu ()I net/minecraft/entity/EntityLivingBase/func_85035_bI ()I +MD: xm/bv ()V net/minecraft/entity/EntityLivingBase/func_71038_i ()V +MD: xm/bw ()V net/minecraft/entity/EntityLivingBase/func_82168_bl ()V +MD: xm/bx ()Lyc; net/minecraft/entity/EntityLivingBase/func_110140_aT ()Lnet/minecraft/entity/ai/attributes/BaseAttributeMap; +MD: xm/by ()Lxs; net/minecraft/entity/EntityLivingBase/func_70668_bt ()Lnet/minecraft/entity/EnumCreatureAttribute; +MD: xm/bz ()Lamj; net/minecraft/entity/EntityLivingBase/func_70694_bm ()Lnet/minecraft/item/ItemStack; +MD: xm/c (ILamj;)V net/minecraft/entity/EntityLivingBase/func_70062_b (ILnet/minecraft/item/ItemStack;)V +MD: xm/c (Lwh;F)F net/minecraft/entity/EntityLivingBase/func_70672_c (Lnet/minecraft/util/DamageSource;F)F +MD: xm/c (Lwq;)V net/minecraft/entity/EntityLivingBase/func_70690_d (Lnet/minecraft/potion/PotionEffect;)V +MD: xm/c (Lxm;)Z net/minecraft/entity/EntityLivingBase/func_142014_c (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: xm/d (F)Lbrw; net/minecraft/entity/EntityLivingBase/func_70676_i (F)Lnet/minecraft/util/Vec3; +MD: xm/d (Lwh;F)V net/minecraft/entity/EntityLivingBase/func_70665_d (Lnet/minecraft/util/DamageSource;F)V +MD: xm/d (Lwq;)Z net/minecraft/entity/EntityLivingBase/func_70687_e (Lnet/minecraft/potion/PotionEffect;)Z +MD: xm/d (Z)V net/minecraft/entity/EntityLivingBase/func_70031_b (Z)V +MD: xm/e (FF)V net/minecraft/entity/EntityLivingBase/func_180430_e (FF)V +MD: xm/f (F)V net/minecraft/entity/EntityLivingBase/func_70034_d (F)V +MD: xm/g (F)V net/minecraft/entity/EntityLivingBase/func_70691_i (F)V +MD: xm/g (FF)V net/minecraft/entity/EntityLivingBase/func_70612_e (FF)V +MD: xm/g_ ()V net/minecraft/entity/EntityLivingBase/func_152111_bt ()V +MD: xm/h ()V net/minecraft/entity/EntityLivingBase/func_70088_a ()V +MD: xm/h (F)V net/minecraft/entity/EntityLivingBase/func_70606_j (F)V +MD: xm/h (FF)F net/minecraft/entity/EntityLivingBase/func_110146_f (FF)F +MD: xm/i (F)V net/minecraft/entity/EntityLivingBase/func_70675_k (F)V +MD: xm/i (Z)V net/minecraft/entity/EntityLivingBase/func_70637_d (Z)V +MD: xm/i_ ()Z net/minecraft/entity/EntityLivingBase/func_70631_g_ ()Z +MD: xm/j ()V net/minecraft/entity/EntityLivingBase/func_152112_bu ()V +MD: xm/j (F)V net/minecraft/entity/EntityLivingBase/func_70659_e (F)V +MD: xm/j (I)I net/minecraft/entity/EntityLivingBase/func_70682_h (I)I +MD: xm/j_ ()Z net/minecraft/entity/EntityLivingBase/func_70617_f_ ()Z +MD: xm/k (F)F net/minecraft/entity/EntityLivingBase/func_70678_g (F)F +MD: xm/k (I)Z net/minecraft/entity/EntityLivingBase/func_82165_m (I)Z +MD: xm/l (F)V net/minecraft/entity/EntityLivingBase/func_110149_m (F)V +MD: xm/l (I)V net/minecraft/entity/EntityLivingBase/func_70618_n (I)V +MD: xm/m ()V net/minecraft/entity/EntityLivingBase/func_70636_d ()V +MD: xm/m (I)V net/minecraft/entity/EntityLivingBase/func_82170_o (I)V +MD: xm/n ()I net/minecraft/entity/EntityLivingBase/func_82166_i ()I +MD: xm/n (I)Ljava/lang/String; net/minecraft/entity/EntityLivingBase/func_146067_o (I)Ljava/lang/String; +MD: xm/o (I)V net/minecraft/entity/EntityLivingBase/func_85034_r (I)V +MD: xm/p (I)Lamj; net/minecraft/entity/EntityLivingBase/func_71124_b (I)Lnet/minecraft/item/ItemStack; +MD: xm/p (Lwv;)V net/minecraft/entity/EntityLivingBase/func_130011_c (Lnet/minecraft/entity/Entity;)V +MD: xm/q (I)Lamj; net/minecraft/entity/EntityLivingBase/func_82169_q (I)Lnet/minecraft/item/ItemStack; +MD: xm/q (Lwv;)V net/minecraft/entity/EntityLivingBase/func_110145_l (Lnet/minecraft/entity/Entity;)V +MD: xm/r (Lwv;)Z net/minecraft/entity/EntityLivingBase/func_70652_k (Lnet/minecraft/entity/Entity;)Z +MD: xm/s (Lwv;)V net/minecraft/entity/EntityLivingBase/func_82167_n (Lnet/minecraft/entity/Entity;)V +MD: xm/s_ ()V net/minecraft/entity/EntityLivingBase/func_70071_h_ ()V +MD: xm/t (Lwv;)Z net/minecraft/entity/EntityLivingBase/func_70685_l (Lnet/minecraft/entity/Entity;)Z +MD: xn/A ()Lalq; net/minecraft/entity/EntityLiving/func_146068_u ()Lnet/minecraft/item/Item; +MD: xn/C ()Z net/minecraft/entity/EntityLiving/func_70692_ba ()Z +MD: xn/D ()V net/minecraft/entity/EntityLiving/func_70623_bb ()V +MD: xn/E ()V net/minecraft/entity/EntityLiving/func_70619_bc ()V +MD: xn/K ()V net/minecraft/entity/EntityLiving/func_70030_z ()V +MD: xn/a (B)V net/minecraft/entity/EntityLiving/func_70103_a (B)V +MD: xn/a (IF)V net/minecraft/entity/EntityLiving/func_96120_a (IF)V +MD: xn/a (II)Lalq; net/minecraft/entity/EntityLiving/func_82161_a (II)Lnet/minecraft/item/Item; +MD: xn/a (Ladw;)V net/minecraft/entity/EntityLiving/func_175445_a (Lnet/minecraft/entity/item/EntityItem;)V +MD: xn/a (Lahd;)Z net/minecraft/entity/EntityLiving/func_70085_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: xn/a (Lamj;)Z net/minecraft/entity/EntityLiving/func_175448_a (Lnet/minecraft/item/ItemStack;)Z +MD: xn/a (Lfn;)V net/minecraft/entity/EntityLiving/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: xn/a (Ljava/lang/Class;)Z net/minecraft/entity/EntityLiving/func_70686_a (Ljava/lang/Class;)Z +MD: xn/a (Lvu;)V net/minecraft/entity/EntityLiving/func_180481_a (Lnet/minecraft/world/DifficultyInstance;)V +MD: xn/a (Lvu;Lxq;)Lxq; net/minecraft/entity/EntityLiving/func_180482_a (Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/entity/IEntityLivingData;)Lnet/minecraft/entity/IEntityLivingData; +MD: xn/a (Lwv;FF)V net/minecraft/entity/EntityLiving/func_70625_a (Lnet/minecraft/entity/Entity;FF)V +MD: xn/a (Lwv;Z)V net/minecraft/entity/EntityLiving/func_110162_b (Lnet/minecraft/entity/Entity;Z)V +MD: xn/a (ZI)V net/minecraft/entity/EntityLiving/func_82160_b (ZI)V +MD: xn/a (ZZ)V net/minecraft/entity/EntityLiving/func_110160_i (ZZ)V +MD: xn/aF ()I net/minecraft/entity/EntityLiving/func_82143_as ()I +MD: xn/aW ()V net/minecraft/entity/EntityLiving/func_110147_ax ()V +MD: xn/at ()[Lamj; net/minecraft/entity/EntityLiving/func_70035_c ()[Lnet/minecraft/item/ItemStack; +MD: xn/b (FFF)F net/minecraft/entity/EntityLiving/func_70663_b (FFF)F +MD: xn/b (Lahd;)I net/minecraft/entity/EntityLiving/func_70693_a (Lnet/minecraft/entity/player/EntityPlayer;)I +MD: xn/b (Laqu;)Laaz; net/minecraft/entity/EntityLiving/func_175447_b (Lnet/minecraft/world/World;)Lnet/minecraft/pathfinding/PathNavigate; +MD: xn/b (Lfn;)V net/minecraft/entity/EntityLiving/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: xn/b (Lvu;)V net/minecraft/entity/EntityLiving/func_180483_b (Lnet/minecraft/world/DifficultyInstance;)V +MD: xn/b (ZI)V net/minecraft/entity/EntityLiving/func_70628_a (ZI)V +MD: xn/bJ ()V net/minecraft/entity/EntityLiving/func_70626_be ()V +MD: xn/bL ()Z net/minecraft/entity/EntityLiving/func_70613_aW ()Z +MD: xn/bP ()I net/minecraft/entity/EntityLiving/func_70646_bf ()I +MD: xn/bQ ()Z net/minecraft/entity/EntityLiving/func_70601_bi ()Z +MD: xn/bR ()Z net/minecraft/entity/EntityLiving/func_70058_J ()Z +MD: xn/bS ()F net/minecraft/entity/EntityLiving/func_70603_bj ()F +MD: xn/bU ()I net/minecraft/entity/EntityLiving/func_70641_bl ()I +MD: xn/bV ()Z net/minecraft/entity/EntityLiving/func_82171_bF ()Z +MD: xn/bW ()V net/minecraft/entity/EntityLiving/func_110163_bv ()V +MD: xn/bX ()Z net/minecraft/entity/EntityLiving/func_98052_bS ()Z +MD: xn/bY ()Z net/minecraft/entity/EntityLiving/func_104002_bU ()Z +MD: xn/bZ ()V net/minecraft/entity/EntityLiving/func_110159_bB ()V +MD: xn/bz ()Lamj; net/minecraft/entity/EntityLiving/func_70694_bm ()Lnet/minecraft/item/ItemStack; +MD: xn/c (ILamj;)V net/minecraft/entity/EntityLiving/func_70062_b (ILnet/minecraft/item/ItemStack;)V +MD: xn/c (Lamj;)I net/minecraft/entity/EntityLiving/func_82159_b (Lnet/minecraft/item/ItemStack;)I +MD: xn/ca ()Z net/minecraft/entity/EntityLiving/func_110164_bC ()Z +MD: xn/cb ()Z net/minecraft/entity/EntityLiving/func_110167_bD ()Z +MD: xn/cc ()Lwv; net/minecraft/entity/EntityLiving/func_110166_bE ()Lnet/minecraft/entity/Entity; +MD: xn/cd ()Z net/minecraft/entity/EntityLiving/func_175446_cd ()Z +MD: xn/d (ILamj;)Z net/minecraft/entity/EntityLiving/func_174820_d (ILnet/minecraft/item/ItemStack;)Z +MD: xn/d (Lxm;)V net/minecraft/entity/EntityLiving/func_70624_b (Lnet/minecraft/entity/EntityLivingBase;)V +MD: xn/e (Lahd;)Z net/minecraft/entity/EntityLiving/func_130002_c (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: xn/h ()V net/minecraft/entity/EntityLiving/func_70088_a ()V +MD: xn/h (FF)F net/minecraft/entity/EntityLiving/func_110146_f (FF)F +MD: xn/j (F)V net/minecraft/entity/EntityLiving/func_70659_e (F)V +MD: xn/j (Z)V net/minecraft/entity/EntityLiving/func_98053_h (Z)V +MD: xn/k (Z)V net/minecraft/entity/EntityLiving/func_94061_f (Z)V +MD: xn/m ()V net/minecraft/entity/EntityLiving/func_70636_d ()V +MD: xn/m (F)V net/minecraft/entity/EntityLiving/func_70657_f (F)V +MD: xn/n ()V net/minecraft/entity/EntityLiving/func_110165_bF ()V +MD: xn/p ()Lym; net/minecraft/entity/EntityLiving/func_70671_ap ()Lnet/minecraft/entity/ai/EntityLookHelper; +MD: xn/p (I)Lamj; net/minecraft/entity/EntityLiving/func_71124_b (I)Lnet/minecraft/item/ItemStack; +MD: xn/q ()Lyn; net/minecraft/entity/EntityLiving/func_70605_aq ()Lnet/minecraft/entity/ai/EntityMoveHelper; +MD: xn/q (I)Lamj; net/minecraft/entity/EntityLiving/func_82169_q (I)Lnet/minecraft/item/ItemStack; +MD: xn/r ()Lyl; net/minecraft/entity/EntityLiving/func_70683_ar ()Lnet/minecraft/entity/ai/EntityJumpHelper; +MD: xn/s ()Laaz; net/minecraft/entity/EntityLiving/func_70661_as ()Lnet/minecraft/pathfinding/PathNavigate; +MD: xn/s_ ()V net/minecraft/entity/EntityLiving/func_70071_h_ ()V +MD: xn/t ()Labd; net/minecraft/entity/EntityLiving/func_70635_at ()Lnet/minecraft/entity/ai/EntitySenses; +MD: xn/u ()Lxm; net/minecraft/entity/EntityLiving/func_70638_az ()Lnet/minecraft/entity/EntityLivingBase; +MD: xn/v ()V net/minecraft/entity/EntityLiving/func_70615_aA ()V +MD: xn/w ()I net/minecraft/entity/EntityLiving/func_70627_aG ()I +MD: xn/x ()V net/minecraft/entity/EntityLiving/func_70642_aH ()V +MD: xn/y ()V net/minecraft/entity/EntityLiving/func_70656_aK ()V +MD: xn/z ()Ljava/lang/String; net/minecraft/entity/EntityLiving/func_70639_aQ ()Ljava/lang/String; +MD: xo/values ()[Lxo; net/minecraft/entity/EntityLiving$SpawnPlacementType/values ()[Lnet/minecraft/entity/EntityLiving$SpawnPlacementType; +MD: xp/a ()Ljava/lang/Class; net/minecraft/entity/EnumCreatureType/func_75598_a ()Ljava/lang/Class; +MD: xp/b ()I net/minecraft/entity/EnumCreatureType/func_75601_b ()I +MD: xp/d ()Z net/minecraft/entity/EnumCreatureType/func_75599_d ()Z +MD: xp/e ()Z net/minecraft/entity/EnumCreatureType/func_82705_e ()Z +MD: xp/valueOf (Ljava/lang/String;)Lxp; net/minecraft/entity/EnumCreatureType/valueOf (Ljava/lang/String;)Lnet/minecraft/entity/EnumCreatureType; +MD: xp/values ()[Lxp; net/minecraft/entity/EnumCreatureType/values ()[Lnet/minecraft/entity/EnumCreatureType; +MD: xr/a (Ljava/lang/Class;)Lxo; net/minecraft/entity/EntitySpawnPlacementRegistry/func_180109_a (Ljava/lang/Class;)Lnet/minecraft/entity/EntityLiving$SpawnPlacementType; +MD: xs/valueOf (Ljava/lang/String;)Lxs; net/minecraft/entity/EnumCreatureAttribute/valueOf (Ljava/lang/String;)Lnet/minecraft/entity/EnumCreatureAttribute; +MD: xs/values ()[Lxs; net/minecraft/entity/EnumCreatureAttribute/values ()[Lnet/minecraft/entity/EnumCreatureAttribute; +MD: xt/b ()Ljava/lang/String; net/minecraft/entity/IEntityOwnable/func_152113_b ()Ljava/lang/String; +MD: xt/l_ ()Lwv; net/minecraft/entity/IEntityOwnable/func_70902_q ()Lnet/minecraft/entity/Entity; +MD: xu/a (Ldt;)F net/minecraft/entity/EntityCreature/func_180484_a (Lnet/minecraft/util/BlockPos;)F +MD: xu/a (Ldt;I)V net/minecraft/entity/EntityCreature/func_175449_a (Lnet/minecraft/util/BlockPos;I)V +MD: xu/bQ ()Z net/minecraft/entity/EntityCreature/func_70601_bi ()Z +MD: xu/bZ ()V net/minecraft/entity/EntityCreature/func_110159_bB ()V +MD: xu/cd ()Z net/minecraft/entity/EntityCreature/func_70781_l ()Z +MD: xu/ce ()Z net/minecraft/entity/EntityCreature/func_110173_bK ()Z +MD: xu/cf ()Ldt; net/minecraft/entity/EntityCreature/func_180486_cf ()Lnet/minecraft/util/BlockPos; +MD: xu/cg ()F net/minecraft/entity/EntityCreature/func_110174_bM ()F +MD: xu/ch ()V net/minecraft/entity/EntityCreature/func_110177_bN ()V +MD: xu/ci ()Z net/minecraft/entity/EntityCreature/func_110175_bO ()Z +MD: xu/d (Ldt;)Z net/minecraft/entity/EntityCreature/func_180485_d (Lnet/minecraft/util/BlockPos;)Z +MD: xu/n (F)V net/minecraft/entity/EntityCreature/func_142017_o (F)V +MD: xv/a ()Z net/minecraft/entity/DataWatcher/func_75684_a ()Z +MD: xv/a (I)B net/minecraft/entity/DataWatcher/func_75683_a (I)B +MD: xv/a (II)V net/minecraft/entity/DataWatcher/func_82709_a (II)V +MD: xv/a (ILjava/lang/Object;)V net/minecraft/entity/DataWatcher/func_75682_a (ILjava/lang/Object;)V +MD: xv/a (Lhd;)V net/minecraft/entity/DataWatcher/func_151509_a (Lnet/minecraft/network/PacketBuffer;)V +MD: xv/a (Lhd;Lxw;)V net/minecraft/entity/DataWatcher/func_151510_a (Lnet/minecraft/network/PacketBuffer;Lnet/minecraft/entity/DataWatcher$WatchableObject;)V +MD: xv/a (Ljava/util/List;)V net/minecraft/entity/DataWatcher/func_75687_a (Ljava/util/List;)V +MD: xv/a (Ljava/util/List;Lhd;)V net/minecraft/entity/DataWatcher/func_151507_a (Ljava/util/List;Lnet/minecraft/network/PacketBuffer;)V +MD: xv/b ()Ljava/util/List; net/minecraft/entity/DataWatcher/func_75688_b ()Ljava/util/List; +MD: xv/b (I)S net/minecraft/entity/DataWatcher/func_75693_b (I)S +MD: xv/b (ILjava/lang/Object;)V net/minecraft/entity/DataWatcher/func_75692_b (ILjava/lang/Object;)V +MD: xv/b (Lhd;)Ljava/util/List; net/minecraft/entity/DataWatcher/func_151508_b (Lnet/minecraft/network/PacketBuffer;)Ljava/util/List; +MD: xv/c ()Ljava/util/List; net/minecraft/entity/DataWatcher/func_75685_c ()Ljava/util/List; +MD: xv/c (I)I net/minecraft/entity/DataWatcher/func_75679_c (I)I +MD: xv/d ()Z net/minecraft/entity/DataWatcher/func_92085_d ()Z +MD: xv/d (I)F net/minecraft/entity/DataWatcher/func_111145_d (I)F +MD: xv/e ()V net/minecraft/entity/DataWatcher/func_111144_e ()V +MD: xv/e (I)Ljava/lang/String; net/minecraft/entity/DataWatcher/func_75681_e (I)Ljava/lang/String; +MD: xv/f (I)Lamj; net/minecraft/entity/DataWatcher/func_82710_f (I)Lnet/minecraft/item/ItemStack; +MD: xv/h (I)Lfa; net/minecraft/entity/DataWatcher/func_180115_h (I)Lnet/minecraft/util/Rotations; +MD: xv/i (I)V net/minecraft/entity/DataWatcher/func_82708_h (I)V +MD: xv/j (I)Lxw; net/minecraft/entity/DataWatcher/func_75691_i (I)Lnet/minecraft/entity/DataWatcher$WatchableObject; +MD: xw/a ()I net/minecraft/entity/DataWatcher$WatchableObject/func_75672_a ()I +MD: xw/a (Ljava/lang/Object;)V net/minecraft/entity/DataWatcher$WatchableObject/func_75673_a (Ljava/lang/Object;)V +MD: xw/a (Lxw;Z)Z net/minecraft/entity/DataWatcher$WatchableObject/access$002 (Lnet/minecraft/entity/DataWatcher$WatchableObject;Z)Z +MD: xw/a (Z)V net/minecraft/entity/DataWatcher$WatchableObject/func_75671_a (Z)V +MD: xw/b ()Ljava/lang/Object; net/minecraft/entity/DataWatcher$WatchableObject/func_75669_b ()Ljava/lang/Object; +MD: xw/c ()I net/minecraft/entity/DataWatcher$WatchableObject/func_75674_c ()I +MD: xw/d ()Z net/minecraft/entity/DataWatcher$WatchableObject/func_75670_d ()Z +MD: xx/a (B)V net/minecraft/entity/passive/EntityTameable/func_70103_a (B)V +MD: xx/a (Lfn;)V net/minecraft/entity/passive/EntityTameable/func_70037_a (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: xx/a (Lwh;)V net/minecraft/entity/passive/EntityTameable/func_70645_a (Lnet/minecraft/util/DamageSource;)V +MD: xx/a (Lxm;Lxm;)Z net/minecraft/entity/passive/EntityTameable/func_142018_a (Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/entity/EntityLivingBase;)Z +MD: xx/b ()Ljava/lang/String; net/minecraft/entity/passive/EntityTameable/func_152113_b ()Ljava/lang/String; +MD: xx/b (Lfn;)V net/minecraft/entity/passive/EntityTameable/func_70014_b (Lnet/minecraft/nbt/NBTTagCompound;)V +MD: xx/b (Ljava/lang/String;)V net/minecraft/entity/passive/EntityTameable/func_152115_b (Ljava/lang/String;)V +MD: xx/bN ()Lbsf; net/minecraft/entity/passive/EntityTameable/func_96124_cp ()Lnet/minecraft/scoreboard/Team; +MD: xx/c (Lxm;)Z net/minecraft/entity/passive/EntityTameable/func_142014_c (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: xx/cj ()Z net/minecraft/entity/passive/EntityTameable/func_70909_n ()Z +MD: xx/ck ()V net/minecraft/entity/passive/EntityTameable/func_175544_ck ()V +MD: xx/cl ()Z net/minecraft/entity/passive/EntityTameable/func_70906_o ()Z +MD: xx/cm ()Lxm; net/minecraft/entity/passive/EntityTameable/func_180492_cm ()Lnet/minecraft/entity/EntityLivingBase; +MD: xx/cn ()Laad; net/minecraft/entity/passive/EntityTameable/func_70907_r ()Lnet/minecraft/entity/ai/EntityAISit; +MD: xx/e (Lxm;)Z net/minecraft/entity/passive/EntityTameable/func_152114_e (Lnet/minecraft/entity/EntityLivingBase;)Z +MD: xx/h ()V net/minecraft/entity/passive/EntityTameable/func_70088_a ()V +MD: xx/l (Z)V net/minecraft/entity/passive/EntityTameable/func_70908_e (Z)V +MD: xx/l_ ()Lwv; net/minecraft/entity/passive/EntityTameable/func_70902_q ()Lnet/minecraft/entity/Entity; +MD: xx/m (Z)V net/minecraft/entity/passive/EntityTameable/func_70903_f (Z)V +MD: xx/n (Z)V net/minecraft/entity/passive/EntityTameable/func_70904_g (Z)V +MD: xy/a ()Ljava/lang/String; net/minecraft/entity/ai/attributes/IAttribute/func_111108_a ()Ljava/lang/String; +MD: xy/a (D)D net/minecraft/entity/ai/attributes/IAttribute/func_111109_a (D)D +MD: xy/b ()D net/minecraft/entity/ai/attributes/IAttribute/func_111110_b ()D +MD: xy/c ()Z net/minecraft/entity/ai/attributes/IAttribute/func_111111_c ()Z +MD: xy/d ()Lxy; net/minecraft/entity/ai/attributes/IAttribute/func_180372_d ()Lnet/minecraft/entity/ai/attributes/IAttribute; +MD: xz/a ()Lxy; net/minecraft/entity/ai/attributes/IAttributeInstance/func_111123_a ()Lnet/minecraft/entity/ai/attributes/IAttribute; +MD: xz/a (D)V net/minecraft/entity/ai/attributes/IAttributeInstance/func_111128_a (D)V +MD: xz/a (I)Ljava/util/Collection; net/minecraft/entity/ai/attributes/IAttributeInstance/func_111130_a (I)Ljava/util/Collection; +MD: xz/a (Ljava/util/UUID;)Lya; net/minecraft/entity/ai/attributes/IAttributeInstance/func_111127_a (Ljava/util/UUID;)Lnet/minecraft/entity/ai/attributes/AttributeModifier; +MD: xz/a (Lya;)Z net/minecraft/entity/ai/attributes/IAttributeInstance/func_180374_a (Lnet/minecraft/entity/ai/attributes/AttributeModifier;)Z +MD: xz/b ()D net/minecraft/entity/ai/attributes/IAttributeInstance/func_111125_b ()D +MD: xz/b (Lya;)V net/minecraft/entity/ai/attributes/IAttributeInstance/func_111121_a (Lnet/minecraft/entity/ai/attributes/AttributeModifier;)V +MD: xz/c ()Ljava/util/Collection; net/minecraft/entity/ai/attributes/IAttributeInstance/func_111122_c ()Ljava/util/Collection; +MD: xz/c (Lya;)V net/minecraft/entity/ai/attributes/IAttributeInstance/func_111124_b (Lnet/minecraft/entity/ai/attributes/AttributeModifier;)V +MD: xz/d ()V net/minecraft/entity/ai/attributes/IAttributeInstance/func_142049_d ()V +MD: xz/e ()D net/minecraft/entity/ai/attributes/IAttributeInstance/func_111126_e ()D +MD: y/a (Lae;Lac;ILjava/lang/String;[Ljava/lang/Object;)V net/minecraft/command/IAdminCommand/func_152372_a (Lnet/minecraft/command/ICommandSender;Lnet/minecraft/command/ICommand;ILjava/lang/String;[Ljava/lang/Object;)V +MD: ya/a ()Ljava/util/UUID; net/minecraft/entity/ai/attributes/AttributeModifier/func_111167_a ()Ljava/util/UUID; +MD: ya/a (Z)Lya; net/minecraft/entity/ai/attributes/AttributeModifier/func_111168_a (Z)Lnet/minecraft/entity/ai/attributes/AttributeModifier; +MD: ya/b ()Ljava/lang/String; net/minecraft/entity/ai/attributes/AttributeModifier/func_111166_b ()Ljava/lang/String; +MD: ya/c ()I net/minecraft/entity/ai/attributes/AttributeModifier/func_111169_c ()I +MD: ya/d ()D net/minecraft/entity/ai/attributes/AttributeModifier/func_111164_d ()D +MD: ya/e ()Z net/minecraft/entity/ai/attributes/AttributeModifier/func_111165_e ()Z +MD: ya/equals (Ljava/lang/Object;)Z net/minecraft/entity/ai/attributes/AttributeModifier/equals (Ljava/lang/Object;)Z +MD: ya/hashCode ()I net/minecraft/entity/ai/attributes/AttributeModifier/hashCode ()I +MD: ya/toString ()Ljava/lang/String; net/minecraft/entity/ai/attributes/AttributeModifier/toString ()Ljava/lang/String; +MD: yb/a ()Ljava/lang/String; net/minecraft/entity/ai/attributes/BaseAttribute/func_111108_a ()Ljava/lang/String; +MD: yb/a (Z)Lyb; net/minecraft/entity/ai/attributes/BaseAttribute/func_111112_a (Z)Lnet/minecraft/entity/ai/attributes/BaseAttribute; +MD: yb/b ()D net/minecraft/entity/ai/attributes/BaseAttribute/func_111110_b ()D +MD: yb/c ()Z net/minecraft/entity/ai/attributes/BaseAttribute/func_111111_c ()Z +MD: yb/d ()Lxy; net/minecraft/entity/ai/attributes/BaseAttribute/func_180372_d ()Lnet/minecraft/entity/ai/attributes/IAttribute; +MD: yb/equals (Ljava/lang/Object;)Z net/minecraft/entity/ai/attributes/BaseAttribute/equals (Ljava/lang/Object;)Z +MD: yb/hashCode ()I net/minecraft/entity/ai/attributes/BaseAttribute/hashCode ()I +MD: yc/a ()Ljava/util/Collection; net/minecraft/entity/ai/attributes/BaseAttributeMap/func_111146_a ()Ljava/util/Collection; +MD: yc/a (Lcom/google/common/collect/Multimap;)V net/minecraft/entity/ai/attributes/BaseAttributeMap/func_111148_a (Lcom/google/common/collect/Multimap;)V +MD: yc/a (Ljava/lang/String;)Lxz; net/minecraft/entity/ai/attributes/BaseAttributeMap/func_111152_a (Ljava/lang/String;)Lnet/minecraft/entity/ai/attributes/IAttributeInstance; +MD: yc/a (Lxy;)Lxz; net/minecraft/entity/ai/attributes/BaseAttributeMap/func_111151_a (Lnet/minecraft/entity/ai/attributes/IAttribute;)Lnet/minecraft/entity/ai/attributes/IAttributeInstance; +MD: yc/a (Lxz;)V net/minecraft/entity/ai/attributes/BaseAttributeMap/func_180794_a (Lnet/minecraft/entity/ai/attributes/IAttributeInstance;)V +MD: yc/b (Lcom/google/common/collect/Multimap;)V net/minecraft/entity/ai/attributes/BaseAttributeMap/func_111147_b (Lcom/google/common/collect/Multimap;)V +MD: yc/b (Lxy;)Lxz; net/minecraft/entity/ai/attributes/BaseAttributeMap/func_111150_b (Lnet/minecraft/entity/ai/attributes/IAttribute;)Lnet/minecraft/entity/ai/attributes/IAttributeInstance; +MD: yc/c (Lxy;)Lxz; net/minecraft/entity/ai/attributes/BaseAttributeMap/func_180376_c (Lnet/minecraft/entity/ai/attributes/IAttribute;)Lnet/minecraft/entity/ai/attributes/IAttributeInstance; +MD: ye/a ()Lxy; net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_111123_a ()Lnet/minecraft/entity/ai/attributes/IAttribute; +MD: ye/a (D)V net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_111128_a (D)V +MD: ye/a (I)Ljava/util/Collection; net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_111130_a (I)Ljava/util/Collection; +MD: ye/a (Ljava/util/UUID;)Lya; net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_111127_a (Ljava/util/UUID;)Lnet/minecraft/entity/ai/attributes/AttributeModifier; +MD: ye/a (Lya;)Z net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_180374_a (Lnet/minecraft/entity/ai/attributes/AttributeModifier;)Z +MD: ye/b ()D net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_111125_b ()D +MD: ye/b (I)Ljava/util/Collection; net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_180375_b (I)Ljava/util/Collection; +MD: ye/b (Lya;)V net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_111121_a (Lnet/minecraft/entity/ai/attributes/AttributeModifier;)V +MD: ye/c ()Ljava/util/Collection; net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_111122_c ()Ljava/util/Collection; +MD: ye/c (Lya;)V net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_111124_b (Lnet/minecraft/entity/ai/attributes/AttributeModifier;)V +MD: ye/d ()V net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_142049_d ()V +MD: ye/e ()D net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_111126_e ()D +MD: ye/f ()V net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_111131_f ()V +MD: ye/g ()D net/minecraft/entity/ai/attributes/ModifiableAttributeInstance/func_111129_g ()D +MD: yf/a (Ljava/lang/String;)Lxz; net/minecraft/entity/ai/attributes/ServersideAttributeMap/func_111152_a (Ljava/lang/String;)Lnet/minecraft/entity/ai/attributes/IAttributeInstance; +MD: yf/a (Lxy;)Lxz; net/minecraft/entity/ai/attributes/ServersideAttributeMap/func_111151_a (Lnet/minecraft/entity/ai/attributes/IAttribute;)Lnet/minecraft/entity/ai/attributes/IAttributeInstance; +MD: yf/a (Lxz;)V net/minecraft/entity/ai/attributes/ServersideAttributeMap/func_180794_a (Lnet/minecraft/entity/ai/attributes/IAttributeInstance;)V +MD: yf/b ()Ljava/util/Set; net/minecraft/entity/ai/attributes/ServersideAttributeMap/func_111161_b ()Ljava/util/Set; +MD: yf/b (Ljava/lang/String;)Lye; net/minecraft/entity/ai/attributes/ServersideAttributeMap/func_180796_b (Ljava/lang/String;)Lnet/minecraft/entity/ai/attributes/ModifiableAttributeInstance; +MD: yf/b (Lxy;)Lxz; net/minecraft/entity/ai/attributes/ServersideAttributeMap/func_111150_b (Lnet/minecraft/entity/ai/attributes/IAttribute;)Lnet/minecraft/entity/ai/attributes/IAttributeInstance; +MD: yf/c ()Ljava/util/Collection; net/minecraft/entity/ai/attributes/ServersideAttributeMap/func_111160_c ()Ljava/util/Collection; +MD: yf/c (Lxy;)Lxz; net/minecraft/entity/ai/attributes/ServersideAttributeMap/func_180376_c (Lnet/minecraft/entity/ai/attributes/IAttribute;)Lnet/minecraft/entity/ai/attributes/IAttributeInstance; +MD: yf/e (Lxy;)Lye; net/minecraft/entity/ai/attributes/ServersideAttributeMap/func_180795_e (Lnet/minecraft/entity/ai/attributes/IAttribute;)Lnet/minecraft/entity/ai/attributes/ModifiableAttributeInstance; +MD: yg/a (D)D net/minecraft/entity/ai/attributes/RangedAttribute/func_111109_a (D)D +MD: yg/a (Ljava/lang/String;)Lyg; net/minecraft/entity/ai/attributes/RangedAttribute/func_111117_a (Ljava/lang/String;)Lnet/minecraft/entity/ai/attributes/RangedAttribute; +MD: yg/g ()Ljava/lang/String; net/minecraft/entity/ai/attributes/RangedAttribute/func_111116_f ()Ljava/lang/String; +MD: yj/a ()V net/minecraft/entity/EntityBodyHelper/func_75664_a ()V +MD: yj/a (FFF)F net/minecraft/entity/EntityBodyHelper/func_75665_a (FFF)F +MD: yl/a ()V net/minecraft/entity/ai/EntityJumpHelper/func_75660_a ()V +MD: yl/b ()V net/minecraft/entity/ai/EntityJumpHelper/func_75661_b ()V +MD: ym/a ()V net/minecraft/entity/ai/EntityLookHelper/func_75649_a ()V +MD: ym/a (DDDFF)V net/minecraft/entity/ai/EntityLookHelper/func_75650_a (DDDFF)V +MD: ym/a (FFF)F net/minecraft/entity/ai/EntityLookHelper/func_75652_a (FFF)F +MD: ym/a (Lwv;FF)V net/minecraft/entity/ai/EntityLookHelper/func_75651_a (Lnet/minecraft/entity/Entity;FF)V +MD: ym/b ()Z net/minecraft/entity/ai/EntityLookHelper/func_180424_b ()Z +MD: ym/e ()D net/minecraft/entity/ai/EntityLookHelper/func_180423_e ()D +MD: ym/f ()D net/minecraft/entity/ai/EntityLookHelper/func_180422_f ()D +MD: ym/g ()D net/minecraft/entity/ai/EntityLookHelper/func_180421_g ()D +MD: yn/a ()Z net/minecraft/entity/ai/EntityMoveHelper/func_75640_a ()Z +MD: yn/a (DDDD)V net/minecraft/entity/ai/EntityMoveHelper/func_75642_a (DDDD)V +MD: yn/a (FFF)F net/minecraft/entity/ai/EntityMoveHelper/func_75639_a (FFF)F +MD: yn/b ()D net/minecraft/entity/ai/EntityMoveHelper/func_75638_b ()D +MD: yn/c ()V net/minecraft/entity/ai/EntityMoveHelper/func_75641_c ()V +MD: yn/d ()D net/minecraft/entity/ai/EntityMoveHelper/func_179917_d ()D +MD: yn/e ()D net/minecraft/entity/ai/EntityMoveHelper/func_179919_e ()D +MD: yn/f ()D net/minecraft/entity/ai/EntityMoveHelper/func_179918_f ()D +MD: yp/a ()Z net/minecraft/entity/ai/EntityAIAvoidEntity/func_75250_a ()Z +MD: yp/b ()Z net/minecraft/entity/ai/EntityAIAvoidEntity/func_75253_b ()Z +MD: yp/c ()V net/minecraft/entity/ai/EntityAIAvoidEntity/func_75249_e ()V +MD: yp/d ()V net/minecraft/entity/ai/EntityAIAvoidEntity/func_75251_c ()V +MD: yp/e ()V net/minecraft/entity/ai/EntityAIAvoidEntity/func_75246_d ()V +MD: yq/a (Lwv;)Z net/minecraft/entity/ai/EntityAIAvoidEntity$1/func_180419_a (Lnet/minecraft/entity/Entity;)Z +MD: yq/apply (Ljava/lang/Object;)Z net/minecraft/entity/ai/EntityAIAvoidEntity$1/apply (Ljava/lang/Object;)Z +MD: yr/a ()Z net/minecraft/entity/ai/EntityAIBeg/func_75250_a ()Z +MD: yr/a (Lahd;)Z net/minecraft/entity/ai/EntityAIBeg/func_75382_a (Lnet/minecraft/entity/player/EntityPlayer;)Z +MD: yr/b ()Z net/minecraft/entity/ai/EntityAIBeg/func_75253_b ()Z +MD: yr/c ()V net/minecraft/entity/ai/EntityAIBeg/func_75249_e ()V +MD: yr/d ()V net/minecraft/entity/ai/EntityAIBeg/func_75251_c ()V +MD: yr/e ()V net/minecraft/entity/ai/EntityAIBeg/func_75246_d ()V +MD: ys/a ()Z net/minecraft/entity/ai/EntityAIBreakDoor/func_75250_a ()Z +MD: ys/b ()Z net/minecraft/entity/ai/EntityAIBreakDoor/func_75253_b ()Z +MD: ys/c ()V net/minecraft/entity/ai/EntityAIBreakDoor/func_75249_e ()V +MD: ys/d ()V net/minecraft/entity/ai/EntityAIBreakDoor/func_75251_c ()V +MD: ys/e ()V net/minecraft/entity/ai/EntityAIBreakDoor/func_75246_d ()V +MD: yt/a ()Z net/minecraft/entity/ai/EntityAIMate/func_75250_a ()Z +MD: yt/b ()Z net/minecraft/entity/ai/EntityAIMate/func_75253_b ()Z +MD: yt/d ()V net/minecraft/entity/ai/EntityAIMate/func_75251_c ()V +MD: yt/e ()V net/minecraft/entity/ai/EntityAIMate/func_75246_d ()V +MD: yt/f ()Labq; net/minecraft/entity/ai/EntityAIMate/func_75389_f ()Lnet/minecraft/entity/passive/EntityAnimal; +MD: yt/g ()V net/minecraft/entity/ai/EntityAIMate/func_75388_i ()V +MD: yu/a ()Z net/minecraft/entity/ai/EntityAIControlledByPlayer/func_75250_a ()Z +MD: yu/a (Latr;)Z net/minecraft/entity/ai/EntityAIControlledByPlayer/func_151498_a (Lnet/minecraft/block/Block;)Z +MD: yu/c ()V net/minecraft/entity/ai/EntityAIControlledByPlayer/func_75249_e ()V +MD: yu/d ()V net/minecraft/entity/ai/EntityAIControlledByPlayer/func_75251_c ()V +MD: yu/e ()V net/minecraft/entity/ai/EntityAIControlledByPlayer/func_75246_d ()V +MD: yu/f ()Z net/minecraft/entity/ai/EntityAIControlledByPlayer/func_82634_f ()Z +MD: yu/g ()V net/minecraft/entity/ai/EntityAIControlledByPlayer/func_82632_g ()V +MD: yu/h ()Z net/minecraft/entity/ai/EntityAIControlledByPlayer/func_82633_h ()Z +MD: yv/a ()Z net/minecraft/entity/ai/EntityAIDoorInteract/func_75250_a ()Z +MD: yv/a (Ldt;)Lavf; net/minecraft/entity/ai/EntityAIDoorInteract/func_179506_a (Lnet/minecraft/util/BlockPos;)Lnet/minecraft/block/BlockDoor; +MD: yv/b ()Z net/minecraft/entity/ai/EntityAIDoorInteract/func_75253_b ()Z +MD: yv/c ()V net/minecraft/entity/ai/EntityAIDoorInteract/func_75249_e ()V +MD: yv/e ()V net/minecraft/entity/ai/EntityAIDoorInteract/func_75246_d ()V +MD: yw/a ()Z net/minecraft/entity/ai/EntityAIEatGrass/func_75250_a ()Z +MD: yw/b ()Z net/minecraft/entity/ai/EntityAIEatGrass/func_75253_b ()Z +MD: yw/c ()V net/minecraft/entity/ai/EntityAIEatGrass/func_75249_e ()V +MD: yw/d ()V net/minecraft/entity/ai/EntityAIEatGrass/func_75251_c ()V +MD: yw/e ()V net/minecraft/entity/ai/EntityAIEatGrass/func_75246_d ()V +MD: yw/f ()I net/minecraft/entity/ai/EntityAIEatGrass/func_151499_f ()I +MD: yx/a ()Z net/minecraft/entity/ai/EntityAIFleeSun/func_75250_a ()Z +MD: yx/b ()Z net/minecraft/entity/ai/EntityAIFleeSun/func_75253_b ()Z +MD: yx/c ()V net/minecraft/entity/ai/EntityAIFleeSun/func_75249_e ()V +MD: yx/f ()Lbrw; net/minecraft/entity/ai/EntityAIFleeSun/func_75366_f ()Lnet/minecraft/util/Vec3; +MD: yy/a ()Z net/minecraft/entity/ai/EntityAISwimming/func_75250_a ()Z +MD: yy/e ()V net/minecraft/entity/ai/EntityAISwimming/func_75246_d ()V +MD: yz/a ()Z net/minecraft/entity/ai/EntityAIFollowOwner/func_75250_a ()Z +MD: yz/b ()Z net/minecraft/entity/ai/EntityAIFollowOwner/func_75253_b ()Z +MD: yz/c ()V net/minecraft/entity/ai/EntityAIFollowOwner/func_75249_e ()V +MD: yz/d ()V net/minecraft/entity/ai/EntityAIFollowOwner/func_75251_c ()V +MD: yz/e ()V net/minecraft/entity/ai/EntityAIFollowOwner/func_75246_d ()V +MD: z/a ()I net/minecraft/command/CommandBase/func_82362_a ()I +MD: z/a (DLjava/lang/String;IIZ)Laa; net/minecraft/command/CommandBase/func_175767_a (DLjava/lang/String;IIZ)Lnet/minecraft/command/CommandBase$CoordinateArg; +MD: z/a (DLjava/lang/String;Z)Laa; net/minecraft/command/CommandBase/func_175770_a (DLjava/lang/String;Z)Lnet/minecraft/command/CommandBase$CoordinateArg; +MD: z/a (Lac;)I net/minecraft/command/CommandBase/compareTo (Lnet/minecraft/command/ICommand;)I +MD: z/a (Lae;)Z net/minecraft/command/CommandBase/func_71519_b (Lnet/minecraft/command/ICommandSender;)Z +MD: z/a (Lae;Lac;ILjava/lang/String;[Ljava/lang/Object;)V net/minecraft/command/CommandBase/func_152374_a (Lnet/minecraft/command/ICommandSender;Lnet/minecraft/command/ICommand;ILjava/lang/String;[Ljava/lang/Object;)V +MD: z/a (Lae;Lac;Ljava/lang/String;[Ljava/lang/Object;)V net/minecraft/command/CommandBase/func_152373_a (Lnet/minecraft/command/ICommandSender;Lnet/minecraft/command/ICommand;Ljava/lang/String;[Ljava/lang/Object;)V +MD: z/a (Lae;Ljava/lang/String;)Lqw; net/minecraft/command/CommandBase/func_82359_c (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Lnet/minecraft/entity/player/EntityPlayerMP; +MD: z/a (Lae;Ljava/lang/String;Ljava/lang/Class;)Lwv; net/minecraft/command/CommandBase/func_175759_a (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;Ljava/lang/Class;)Lnet/minecraft/entity/Entity; +MD: z/a (Lae;[Ljava/lang/String;I)Lho; net/minecraft/command/CommandBase/func_147178_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;I)Lnet/minecraft/util/IChatComponent; +MD: z/a (Lae;[Ljava/lang/String;IZ)Ldt; net/minecraft/command/CommandBase/func_175757_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;IZ)Lnet/minecraft/util/BlockPos; +MD: z/a (Lae;[Ljava/lang/String;Ldt;)Ljava/util/List; net/minecraft/command/CommandBase/func_180525_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;Lnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: z/a (Ljava/lang/String;)I net/minecraft/command/CommandBase/func_175755_a (Ljava/lang/String;)I +MD: z/a (Ljava/lang/String;D)D net/minecraft/command/CommandBase/func_180526_a (Ljava/lang/String;D)D +MD: z/a (Ljava/lang/String;DD)D net/minecraft/command/CommandBase/func_175756_a (Ljava/lang/String;DD)D +MD: z/a (Ljava/lang/String;I)I net/minecraft/command/CommandBase/func_180528_a (Ljava/lang/String;I)I +MD: z/a (Ljava/lang/String;II)I net/minecraft/command/CommandBase/func_175764_a (Ljava/lang/String;II)I +MD: z/a (Ljava/lang/String;JJ)J net/minecraft/command/CommandBase/func_175760_a (Ljava/lang/String;JJ)J +MD: z/a (Ljava/lang/String;Ljava/lang/String;)Z net/minecraft/command/CommandBase/func_71523_a (Ljava/lang/String;Ljava/lang/String;)Z +MD: z/a (Ljava/util/Collection;)Ljava/lang/String; net/minecraft/command/CommandBase/func_96333_a (Ljava/util/Collection;)Ljava/lang/String; +MD: z/a (Ljava/util/List;)Lho; net/minecraft/command/CommandBase/func_180530_a (Ljava/util/List;)Lnet/minecraft/util/IChatComponent; +MD: z/a (Ly;)V net/minecraft/command/CommandBase/func_71529_a (Lnet/minecraft/command/IAdminCommand;)V +MD: z/a ([Ljava/lang/Object;)Ljava/lang/String; net/minecraft/command/CommandBase/func_71527_a ([Ljava/lang/Object;)Ljava/lang/String; +MD: z/a ([Ljava/lang/String;I)Ljava/lang/String; net/minecraft/command/CommandBase/func_180529_a ([Ljava/lang/String;I)Ljava/lang/String; +MD: z/a ([Ljava/lang/String;ILdt;)Ljava/util/List; net/minecraft/command/CommandBase/func_175771_a ([Ljava/lang/String;ILnet/minecraft/util/BlockPos;)Ljava/util/List; +MD: z/a ([Ljava/lang/String;Ljava/util/Collection;)Ljava/util/List; net/minecraft/command/CommandBase/func_175762_a ([Ljava/lang/String;Ljava/util/Collection;)Ljava/util/List; +MD: z/a ([Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List; net/minecraft/command/CommandBase/func_71530_a ([Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List; +MD: z/b ()Ljava/util/List; net/minecraft/command/CommandBase/func_71514_a ()Ljava/util/List; +MD: z/b (DLjava/lang/String;IIZ)D net/minecraft/command/CommandBase/func_175769_b (DLjava/lang/String;IIZ)D +MD: z/b (DLjava/lang/String;Z)D net/minecraft/command/CommandBase/func_175761_b (DLjava/lang/String;Z)D +MD: z/b (Lae;)Lqw; net/minecraft/command/CommandBase/func_71521_c (Lnet/minecraft/command/ICommandSender;)Lnet/minecraft/entity/player/EntityPlayerMP; +MD: z/b (Lae;Ljava/lang/String;)Lwv; net/minecraft/command/CommandBase/func_175768_b (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Lnet/minecraft/entity/Entity; +MD: z/b (Lae;[Ljava/lang/String;IZ)Lho; net/minecraft/command/CommandBase/func_147176_a (Lnet/minecraft/command/ICommandSender;[Ljava/lang/String;IZ)Lnet/minecraft/util/IChatComponent; +MD: z/b (Ljava/lang/String;)J net/minecraft/command/CommandBase/func_175766_b (Ljava/lang/String;)J +MD: z/b ([Ljava/lang/String;I)Z net/minecraft/command/CommandBase/func_82358_a ([Ljava/lang/String;I)Z +MD: z/c (Lae;Ljava/lang/String;)Ljava/util/List; net/minecraft/command/CommandBase/func_175763_c (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Ljava/util/List; +MD: z/c (Ljava/lang/String;)D net/minecraft/command/CommandBase/func_175765_c (Ljava/lang/String;)D +MD: z/compareTo (Ljava/lang/Object;)I net/minecraft/command/CommandBase/compareTo (Ljava/lang/Object;)I +MD: z/d (Lae;Ljava/lang/String;)Ljava/lang/String; net/minecraft/command/CommandBase/func_96332_d (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Ljava/lang/String; +MD: z/d (Ljava/lang/String;)Z net/minecraft/command/CommandBase/func_180527_d (Ljava/lang/String;)Z +MD: z/e (Lae;Ljava/lang/String;)Ljava/lang/String; net/minecraft/command/CommandBase/func_175758_e (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Ljava/lang/String; +MD: z/f (Lae;Ljava/lang/String;)Lalq; net/minecraft/command/CommandBase/func_147179_f (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Lnet/minecraft/item/Item; +MD: z/g (Lae;Ljava/lang/String;)Latr; net/minecraft/command/CommandBase/func_147180_g (Lnet/minecraft/command/ICommandSender;Ljava/lang/String;)Lnet/minecraft/block/Block; +MD: za/a ()Z net/minecraft/entity/ai/EntityAIFollowParent/func_75250_a ()Z +MD: za/b ()Z net/minecraft/entity/ai/EntityAIFollowParent/func_75253_b ()Z +MD: za/c ()V net/minecraft/entity/ai/EntityAIFollowParent/func_75249_e ()V +MD: za/d ()V net/minecraft/entity/ai/EntityAIFollowParent/func_75251_c ()V +MD: za/e ()V net/minecraft/entity/ai/EntityAIFollowParent/func_75246_d ()V +MD: zb/a ()Z net/minecraft/entity/ai/EntityAIBase/func_75250_a ()Z +MD: zb/a (I)V net/minecraft/entity/ai/EntityAIBase/func_75248_a (I)V +MD: zb/b ()Z net/minecraft/entity/ai/EntityAIBase/func_75253_b ()Z +MD: zb/c ()V net/minecraft/entity/ai/EntityAIBase/func_75249_e ()V +MD: zb/d ()V net/minecraft/entity/ai/EntityAIBase/func_75251_c ()V +MD: zb/e ()V net/minecraft/entity/ai/EntityAIBase/func_75246_d ()V +MD: zb/i ()Z net/minecraft/entity/ai/EntityAIBase/func_75252_g ()Z +MD: zb/j ()I net/minecraft/entity/ai/EntityAIBase/func_75247_h ()I +MD: zc/a ()V net/minecraft/entity/ai/EntityAITasks/func_75774_a ()V +MD: zc/a (ILzb;)V net/minecraft/entity/ai/EntityAITasks/func_75776_a (ILnet/minecraft/entity/ai/EntityAIBase;)V +MD: zc/a (Lzb;)V net/minecraft/entity/ai/EntityAITasks/func_85156_a (Lnet/minecraft/entity/ai/EntityAIBase;)V +MD: zc/a (Lzd;)Z net/minecraft/entity/ai/EntityAITasks/func_75773_a (Lnet/minecraft/entity/ai/EntityAITasks$EntityAITaskEntry;)Z +MD: zc/a (Lzd;Lzd;)Z net/minecraft/entity/ai/EntityAITasks/func_75777_a (Lnet/minecraft/entity/ai/EntityAITasks$EntityAITaskEntry;Lnet/minecraft/entity/ai/EntityAITasks$EntityAITaskEntry;)Z +MD: zc/b (Lzd;)Z net/minecraft/entity/ai/EntityAITasks/func_75775_b (Lnet/minecraft/entity/ai/EntityAITasks$EntityAITaskEntry;)Z +MD: ze/a ()Z net/minecraft/entity/ai/EntityAIHarvestFarmland/func_75250_a ()Z +MD: ze/a (Laqu;Ldt;)Z net/minecraft/entity/ai/EntityAIHarvestFarmland/func_179488_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: ze/b ()Z net/minecraft/entity/ai/EntityAIHarvestFarmland/func_75253_b ()Z +MD: ze/c ()V net/minecraft/entity/ai/EntityAIHarvestFarmland/func_75249_e ()V +MD: ze/d ()V net/minecraft/entity/ai/EntityAIHarvestFarmland/func_75251_c ()V +MD: ze/e ()V net/minecraft/entity/ai/EntityAIHarvestFarmland/func_75246_d ()V +MD: zg/a ()Z net/minecraft/entity/ai/EntityAILeapAtTarget/func_75250_a ()Z +MD: zg/b ()Z net/minecraft/entity/ai/EntityAILeapAtTarget/func_75253_b ()Z +MD: zg/c ()V net/minecraft/entity/ai/EntityAILeapAtTarget/func_75249_e ()V +MD: zh/a ()Z net/minecraft/entity/ai/EntityAIWatchClosest/func_75250_a ()Z +MD: zh/b ()Z net/minecraft/entity/ai/EntityAIWatchClosest/func_75253_b ()Z +MD: zh/c ()V net/minecraft/entity/ai/EntityAIWatchClosest/func_75249_e ()V +MD: zh/d ()V net/minecraft/entity/ai/EntityAIWatchClosest/func_75251_c ()V +MD: zh/e ()V net/minecraft/entity/ai/EntityAIWatchClosest/func_75246_d ()V +MD: zi/a ()Z net/minecraft/entity/ai/EntityAILookAtTradePlayer/func_75250_a ()Z +MD: zj/a ()Z net/minecraft/entity/ai/EntityAIVillagerMate/func_75250_a ()Z +MD: zj/b ()Z net/minecraft/entity/ai/EntityAIVillagerMate/func_75253_b ()Z +MD: zj/c ()V net/minecraft/entity/ai/EntityAIVillagerMate/func_75249_e ()V +MD: zj/d ()V net/minecraft/entity/ai/EntityAIVillagerMate/func_75251_c ()V +MD: zj/e ()V net/minecraft/entity/ai/EntityAIVillagerMate/func_75246_d ()V +MD: zj/f ()Z net/minecraft/entity/ai/EntityAIVillagerMate/func_75446_f ()Z +MD: zj/g ()V net/minecraft/entity/ai/EntityAIVillagerMate/func_75447_i ()V +MD: zk/a ()Z net/minecraft/entity/ai/EntityAIAttackOnCollide/func_75250_a ()Z +MD: zk/a (Lxm;)D net/minecraft/entity/ai/EntityAIAttackOnCollide/func_179512_a (Lnet/minecraft/entity/EntityLivingBase;)D +MD: zk/b ()Z net/minecraft/entity/ai/EntityAIAttackOnCollide/func_75253_b ()Z +MD: zk/c ()V net/minecraft/entity/ai/EntityAIAttackOnCollide/func_75249_e ()V +MD: zk/d ()V net/minecraft/entity/ai/EntityAIAttackOnCollide/func_75251_c ()V +MD: zk/e ()V net/minecraft/entity/ai/EntityAIAttackOnCollide/func_75246_d ()V +MD: zl/a ()Z net/minecraft/entity/ai/EntityAIMoveIndoors/func_75250_a ()Z +MD: zl/b ()Z net/minecraft/entity/ai/EntityAIMoveIndoors/func_75253_b ()Z +MD: zl/c ()V net/minecraft/entity/ai/EntityAIMoveIndoors/func_75249_e ()V +MD: zl/d ()V net/minecraft/entity/ai/EntityAIMoveIndoors/func_75251_c ()V +MD: zm/a ()Z net/minecraft/entity/ai/EntityAIMoveThroughVillage/func_75250_a ()Z +MD: zm/a (Labh;)Z net/minecraft/entity/ai/EntityAIMoveThroughVillage/func_75413_a (Lnet/minecraft/village/VillageDoorInfo;)Z +MD: zm/a (Labi;)Labh; net/minecraft/entity/ai/EntityAIMoveThroughVillage/func_75412_a (Lnet/minecraft/village/Village;)Lnet/minecraft/village/VillageDoorInfo; +MD: zm/b ()Z net/minecraft/entity/ai/EntityAIMoveThroughVillage/func_75253_b ()Z +MD: zm/c ()V net/minecraft/entity/ai/EntityAIMoveThroughVillage/func_75249_e ()V +MD: zm/d ()V net/minecraft/entity/ai/EntityAIMoveThroughVillage/func_75251_c ()V +MD: zm/f ()V net/minecraft/entity/ai/EntityAIMoveThroughVillage/func_75414_f ()V +MD: zn/a ()Z net/minecraft/entity/ai/EntityAIMoveToBlock/func_75250_a ()Z +MD: zn/a (Laqu;Ldt;)Z net/minecraft/entity/ai/EntityAIMoveToBlock/func_179488_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: zn/b ()Z net/minecraft/entity/ai/EntityAIMoveToBlock/func_75253_b ()Z +MD: zn/c ()V net/minecraft/entity/ai/EntityAIMoveToBlock/func_75249_e ()V +MD: zn/d ()V net/minecraft/entity/ai/EntityAIMoveToBlock/func_75251_c ()V +MD: zn/e ()V net/minecraft/entity/ai/EntityAIMoveToBlock/func_75246_d ()V +MD: zn/f ()Z net/minecraft/entity/ai/EntityAIMoveToBlock/func_179487_f ()Z +MD: zn/g ()Z net/minecraft/entity/ai/EntityAIMoveToBlock/func_179489_g ()Z +MD: zo/a ()Z net/minecraft/entity/ai/EntityAIMoveTowardsRestriction/func_75250_a ()Z +MD: zo/b ()Z net/minecraft/entity/ai/EntityAIMoveTowardsRestriction/func_75253_b ()Z +MD: zo/c ()V net/minecraft/entity/ai/EntityAIMoveTowardsRestriction/func_75249_e ()V +MD: zp/a ()Z net/minecraft/entity/ai/EntityAIMoveTowardsTarget/func_75250_a ()Z +MD: zp/b ()Z net/minecraft/entity/ai/EntityAIMoveTowardsTarget/func_75253_b ()Z +MD: zp/c ()V net/minecraft/entity/ai/EntityAIMoveTowardsTarget/func_75249_e ()V +MD: zp/d ()V net/minecraft/entity/ai/EntityAIMoveTowardsTarget/func_75251_c ()V +MD: zq/a ()Z net/minecraft/entity/ai/EntityAIOcelotAttack/func_75250_a ()Z +MD: zq/b ()Z net/minecraft/entity/ai/EntityAIOcelotAttack/func_75253_b ()Z +MD: zq/d ()V net/minecraft/entity/ai/EntityAIOcelotAttack/func_75251_c ()V +MD: zq/e ()V net/minecraft/entity/ai/EntityAIOcelotAttack/func_75246_d ()V +MD: zr/a ()Z net/minecraft/entity/ai/EntityAIOcelotSit/func_75250_a ()Z +MD: zr/a (Laqu;Ldt;)Z net/minecraft/entity/ai/EntityAIOcelotSit/func_179488_a (Lnet/minecraft/world/World;Lnet/minecraft/util/BlockPos;)Z +MD: zr/b ()Z net/minecraft/entity/ai/EntityAIOcelotSit/func_75253_b ()Z +MD: zr/c ()V net/minecraft/entity/ai/EntityAIOcelotSit/func_75249_e ()V +MD: zr/d ()V net/minecraft/entity/ai/EntityAIOcelotSit/func_75251_c ()V +MD: zr/e ()V net/minecraft/entity/ai/EntityAIOcelotSit/func_75246_d ()V +MD: zs/a ()Z net/minecraft/entity/ai/EntityAILookAtVillager/func_75250_a ()Z +MD: zs/b ()Z net/minecraft/entity/ai/EntityAILookAtVillager/func_75253_b ()Z +MD: zs/c ()V net/minecraft/entity/ai/EntityAILookAtVillager/func_75249_e ()V +MD: zs/d ()V net/minecraft/entity/ai/EntityAILookAtVillager/func_75251_c ()V +MD: zs/e ()V net/minecraft/entity/ai/EntityAILookAtVillager/func_75246_d ()V +MD: zt/b ()Z net/minecraft/entity/ai/EntityAIOpenDoor/func_75253_b ()Z +MD: zt/c ()V net/minecraft/entity/ai/EntityAIOpenDoor/func_75249_e ()V +MD: zt/d ()V net/minecraft/entity/ai/EntityAIOpenDoor/func_75251_c ()V +MD: zt/e ()V net/minecraft/entity/ai/EntityAIOpenDoor/func_75246_d ()V +MD: zu/a ()Z net/minecraft/entity/ai/EntityAIPanic/func_75250_a ()Z +MD: zu/b ()Z net/minecraft/entity/ai/EntityAIPanic/func_75253_b ()Z +MD: zu/c ()V net/minecraft/entity/ai/EntityAIPanic/func_75249_e ()V +MD: zv/a ()Z net/minecraft/entity/ai/EntityAIPlay/func_75250_a ()Z +MD: zv/b ()Z net/minecraft/entity/ai/EntityAIPlay/func_75253_b ()Z +MD: zv/c ()V net/minecraft/entity/ai/EntityAIPlay/func_75249_e ()V +MD: zv/d ()V net/minecraft/entity/ai/EntityAIPlay/func_75251_c ()V +MD: zv/e ()V net/minecraft/entity/ai/EntityAIPlay/func_75246_d ()V +MD: zx/a ()Z net/minecraft/entity/ai/EntityAILookIdle/func_75250_a ()Z +MD: zx/b ()Z net/minecraft/entity/ai/EntityAILookIdle/func_75253_b ()Z +MD: zx/c ()V net/minecraft/entity/ai/EntityAILookIdle/func_75249_e ()V +MD: zx/e ()V net/minecraft/entity/ai/EntityAILookIdle/func_75246_d ()V +MD: zy/a ()Z net/minecraft/entity/ai/EntityAIWander/func_75250_a ()Z +MD: zy/b ()Z net/minecraft/entity/ai/EntityAIWander/func_75253_b ()Z +MD: zy/b (I)V net/minecraft/entity/ai/EntityAIWander/func_179479_b (I)V +MD: zy/c ()V net/minecraft/entity/ai/EntityAIWander/func_75249_e ()V +MD: zy/f ()V net/minecraft/entity/ai/EntityAIWander/func_179480_f ()V +MD: zz/a ()Z net/minecraft/entity/ai/EntityAIArrowAttack/func_75250_a ()Z +MD: zz/b ()Z net/minecraft/entity/ai/EntityAIArrowAttack/func_75253_b ()Z +MD: zz/d ()V net/minecraft/entity/ai/EntityAIArrowAttack/func_75251_c ()V +MD: zz/e ()V net/minecraft/entity/ai/EntityAIArrowAttack/func_75246_d ()V diff --git a/fml/conf/mcp.cfg b/fml/conf/mcp.cfg new file mode 100644 index 000000000..5ddffa112 --- /dev/null +++ b/fml/conf/mcp.cfg @@ -0,0 +1,172 @@ +[DEFAULT] +DirTemp = temp +DirSrc = src +DirLogs = logs +DirBin = bin +DirJars = jars +DirReobf = reobf +DirConf = conf +DirRuntime = runtime +DirLib = lib +DirTempSrc = temp/src +DirTempCls = temp/cls +DirTempBin = temp/bin +DirModSrc = modsrc +DirEclipse = eclipse + +[CSV] +Classes = %(DirConf)s/classes.csv +Methods = %(DirConf)s/methods.csv +Fields = %(DirConf)s/fields.csv +Params = %(DirConf)s/params.csv +NewIds = %(DirConf)s/newids.csv + +[SRGS] +ConfClient = %(DirConf)s/joined.srg +ConfServer = %(DirConf)s/joined.srg +Client = %(DirTemp)s/client_rg.srg +Server = %(DirTemp)s/server_rg.srg +DeobfClient = %(DirTemp)s/client_deobf.srg +DeobfServer = %(DirTemp)s/server_deobf.srg +ReobfClient = %(DirTemp)s/client_ro.srg +ReobfServer = %(DirTemp)s/server_ro.srg +ReobfClientSrg = %(DirTemp)s/client_ro_srg.srg +ReobfServerSrg = %(DirTemp)s/server_ro_srg.srg +ReobfClientCls = %(DirTemp)s/client_ro_cls.srg +ReobfServerCls = %(DirTemp)s/server_ro_cls.srg + +[JAR] +DirNatives = %(DirJars)s/bin/natives +Client = %(DirJars)s/bin/minecraft.jar +Server = %(DirJars)s/minecraft_server.jar +LWJGL = %(DirJars)s/bin/jinput.jar,%(DirJars)s/bin/lwjgl.jar,%(DirJars)s/bin/lwjgl_util.jar +MD5Client = 8663a10cecc10eaa683a927ef5371852 +MD5Server = 5b19d1a562a8a7c5f9a787ad96c8148b + +[RETROGUARD] +Location = %(DirRuntime)s/bin/retroguard.jar +RetroConf = %(DirTemp)s/retroguard.cfg +RetroReobConf = %(DirTemp)s/retroguard_ro.cfg +ClientConf = %(DirTemp)s/client_rg.cfg +ServerConf = %(DirTemp)s/server_rg.cfg +ClientReobConf = %(DirTemp)s/client_ro.cfg +ServerReobConf = %(DirTemp)s/server_ro.cfg +ClientOut = %(DirTemp)s/minecraft_rg.jar +ServerOut = %(DirTemp)s/minecraft_server_rg.jar +ClientLog = %(DirLogs)s/client_rg.log +ServerLog = %(DirLogs)s/server_rg.log +ClientDeobLog = %(DirLogs)s/client_deob.log +ServerDeobLog = %(DirLogs)s/server_deob.log +NullPkg = net/minecraft/src + +[EXCEPTOR] +XClientJson = %(DirConf)s/exceptor.json +XServerJson = %(DirConf)s/exceptor.json +XClientCfg = %(DirConf)s/joined.exc +XServerCfg = %(DirConf)s/joined.exc +XClientOut = %(DirTemp)s/minecraft_exc.jar +XServerOut = %(DirTemp)s/minecraft_server_exc.jar +XClientLog = %(DirLogs)s/client_exc.log +XServerLog = %(DirLogs)s/server_exc.log +XClientLogReobf = %(DirLogs)s/client_reobf_exc.log +XServerLogReobf = %(DirLogs)s/server_reobf_exc.log +XClientMeta = %(DirTemp)s/client_meta.log +XServerMeta = %(DirTemp)s/server_meta.log + + +[DECOMPILE] +ClsClientTemp = %(DirTempCls)s/minecraft +ClsServerTemp = %(DirTempCls)s/minecraft_server +SrcClientTemp = %(DirTempSrc)s/minecraft +SrcServerTemp = %(DirTempSrc)s/minecraft_server +FFSource = net +FFClientIn = %(DirTemp)s/minecraft_ff_in.jar +FFServerIn = %(DirTemp)s/minecraft_server_ff_in.jar + +[OUTPUT] +BinClientTemp = %(DirTempBin)s/minecraft +BinServerTemp = %(DirTempBin)s/minecraft_server +SrcClient = %(DirSrc)s/minecraft +SrcServer = %(DirSrc)s/minecraft_server +TestClient = net/minecraft/client/main/Main +TestServer = net/minecraft/server/MinecraftServer + +[PATCHES] +PatchClient = %(DirConf)s/patches/minecraft.patch +PatchServer = %(DirConf)s/patches/minecraft_server.patch +PatchTemp = %(DirTemp)s/temp.patch +FFPatchClient = %(DirConf)s/patches/minecraft_ff +FFPatchServer = %(DirConf)s/patches/minecraft_server_ff +PatchClient_osx = %(DirConf)s/patches/minecraft_osx.patch +PatchServer_osx = %(DirConf)s/patches/minecraft_server_osx.patch + +[RECOMPILE] +BinClient = %(DirBin)s/minecraft +BinServer = %(DirBin)s/minecraft_server +LogClient = %(DirLogs)s/client_compile.log +LogServer = %(DirLogs)s/server_compile.log +ClassPathClient = %(DirLib)s/,%(DirLib)s/*,%(DirJars)s/bin/minecraft.jar,%(DirJars)s/bin/jinput.jar,%(DirJars)s/bin/lwjgl.jar,%(DirJars)s/bin/lwjgl_util.jar +ClassPathServer = %(DirLib)s/,%(DirLib)s/*,%(DirJars)s/minecraft_server.jar +ClientFixes = %(DirConf)s/patches +FixStart = Start +IgnorePkg = paulscode,com,isom,ibxm,de/matthiasmann/twl,org,javax,argo,gnu,io/netty + +[REOBF] +MD5Client = %(DirTemp)s/client.md5 +MD5Server = %(DirTemp)s/server.md5 +MD5PreReobfClient = %(DirTemp)s/client_reobf.md5 +MD5PreReobfServer = %(DirTemp)s/server_reobf.md5 +RecompJarClient = %(DirTemp)s/client_recomp.jar +RecompJarServer = %(DirTemp)s/server_recomp.jar +ObfJarClient = %(DirTemp)s/client_reobf.jar +ObfJarServer = %(DirTemp)s/server_reobf.jar +ReobfDirClient = %(DirReobf)s/minecraft +ReobfDirServer = %(DirReobf)s/minecraft_server +ClientRoLog = %(DirLogs)s/client_ro.log +ServerRoLog = %(DirLogs)s/server_ro.log +ReobfClientLog = %(DirLogs)s/client_reob.log +ReobfServerLog = %(DirLogs)s/server_reob.log + +[GETMODSOURCE] +OutSRCClient = %(DirModSrc)s/minecraft +OutSRCServer = %(DirModSrc)s/minecraft_server + +[MCP] +LogFile = %(DirLogs)s/mcp.log +LogFileErr = %(DirLogs)s/mcperr.log +UpdateUrl = http://mcp.ocean-labs.de/files/mcprolling_{version}/ +IgnoreUpdate = %(DirBin)s,%(DirLib)s,%(DirLogs)s,%(DirModSrc)s,%(DirReobf)s,%(DirSrc)s,%(DirTemp)s,%(DirEclipse)s/Client/bin,%(DirEclipse)s/Server/bin,%(DirJars)s/world,%(DirJars)s/saves,%(DirJars)s/resources +RGIndex = 180425 + +[ASTYLE] +AstyleConfig = %(DirConf)s/astyle.cfg + +[COMMANDS] +Wine = wine +Patcher_win = %(DirRuntime)s/bin/applydiff.exe +Patcher_linux = patch +Patcher_osx = patch +Jad_win = %(DirRuntime)s/bin/jad.exe +Jad_osx = %(DirRuntime)s/bin/jad-osx +AStyle_win = %(DirRuntime)s/bin/astyle.exe +AStyle_linux = astyle +AStyle_osx = %(DirRuntime)s/bin/astyle-osx +JadRetro = %(DirRuntime)s/bin/jadretro.jar +Fernflower = %(DirRuntime)s/bin/fernflower.jar +Exceptor = %(DirRuntime)s/bin/mcinjector.jar +SpecialSource = %(DirRuntime)s/bin/specialsource.jar +CmdPatch = %s -p1 -u -i {patchfile} -d {srcdir} +CmdJad = %s -b -d {outdir} -dead -o -r -s .java -stat -ff {classes} +CmdAStyle = %s --suffix=none --quiet --options={conffile} {classes} +CmdRG = %s -cp "{classpath}" RetroGuard -searge {conffile} +CmdRGReobf = %s -cp "{classpath}" RetroGuard -notch {conffile} +CmdSS = %s -cp "{classpath}" -jar %s -i {injar} -o {outjar} -m {mapfile} --kill-source +CmdSSReobf = %s -cp "{classpath}" -jar %s -i {injar} -o {outjar} -r -m {mapfile} -d {identifier} -e %s +CmdJadretro = %s -jar %s {targetdir} +CmdFernflower = %s -jar %s -din=1 -rbr=0 -dgs=1 -asc=1 -log=WARN {indir} {outdir} +CmdExceptor = %s -jar %s --jarIn {input} --jarOut {output} --mapIn {conf} --log {log} --jsonIn {json} --applyMarkers --generateParams +CmdExceptorDry = %s -jar %s --jarIn {input} --mapIn {conf} --log {log} --jsonIn {json} --applyMarkers +CmdRecomp = %s -Xlint:-options -deprecation -g -source 1.6 -target 1.6 -classpath "{classpath}" -sourcepath {sourcepath} -d {outpath} {pkgs} +CmdRecompScala = %s -encoding UTF-8 -deprecation -target:jvm-1.6 -classpath "{classpath}" -sourcepath {sourcepath} -d {outpath} {pkgs} +CmdStartSrv = %s -Xincgc -Xms1024M -Xmx1024M -cp "{classpath}" net.minecraft.server.MinecraftServer +CmdStartClt = %s -Xincgc -Xms1024M -Xmx1024M -cp "{classpath}" -Djava.library.path={natives} Start diff --git a/fml/conf/patches/Start.java b/fml/conf/patches/Start.java new file mode 100644 index 000000000..ef08ff60b --- /dev/null +++ b/fml/conf/patches/Start.java @@ -0,0 +1,114 @@ +import java.io.File; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.lang.reflect.Field; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLEncoder; +import java.util.Arrays; + +import joptsimple.ArgumentAcceptingOptionSpec; +import joptsimple.OptionParser; +import joptsimple.OptionSet; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.main.Main; + +public class Start +{ + public static void main(String[] args) throws Exception + { + int userIndex = -1; + int passIndex = -1; + int sessIndex = -1; + int versIndex = -1; + + for( int x = 0; x < args.length; x++) + { + if (args[x].equals("--username")) userIndex = x + 1; + else if (args[x].equals("--password")) passIndex = x + 1; + else if (args[x].equals("--session")) sessIndex = x + 1; + else if (args[x].equals("--version")) versIndex = x + 1; + } + + if (userIndex != 0-1 && passIndex != -1 && sessIndex == -1) + { + String[] session = getSession(args[userIndex], args[passIndex]); + if (session != null) + { + args[userIndex] = session[0]; + args = concat(args, new String[]{"--session", session[1]}); + } + } + + //Kill the password if its there so it isn't printed to the console. + if (passIndex != -1) + { + args[passIndex-1] = "no_password_for_joo"; + args[passIndex] = "no_password_for_joo"; + } + + if (versIndex == -1) + { + args = concat(args, new String[]{ "--version", "fml_mcp" }); + } + + Main.main(args); + } + + private static String[] getSession(String username, String password) throws UnsupportedEncodingException + { + String parameters = "http://login.minecraft.net/?user=" + URLEncoder.encode(username, "UTF-8") + + "&password=" + URLEncoder.encode(password, "UTF-8") + + "&version=" + 13; + String result = openUrl(parameters); + + if (result == null) + { + System.out.println("Can't connect to minecraft.net"); + return null; + } + + if (!result.contains(":")) + { + System.out.println("Login Failed: " + result); + return null; + } + String[] values = result.split(":"); + return new String[]{ values[2].trim(), values[3].trim() }; + } + + private static String openUrl(String addr) + { + try + { + URL url = new URL(addr); + java.io.InputStream is; + is = url.openConnection().getInputStream(); + java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(is)); + String buf = ""; + String line = null; + + while ((line = reader.readLine()) != null) + { + buf += "\n" + line; + } + + reader.close(); + return buf; + } + catch (IOException e) + { + e.printStackTrace(); + } + + return null; + } + + private static T[] concat(T[] first, T[] second) + { + T[] result = Arrays.copyOf(first, first.length + second.length); + System.arraycopy(second, 0, result, first.length, second.length); + return result; + } +} \ No newline at end of file diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.client.Minecraft.java.patch b/fml/conf/patches/minecraft_ff/net.minecraft.client.Minecraft.java.patch new file mode 100644 index 000000000..956c679b9 --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.client.Minecraft.java.patch @@ -0,0 +1,22 @@ +diff -r -U 3 minecraft\net\minecraft\client\Minecraft.java minecraft_patched\net\minecraft\client\Minecraft.java +--- minecraft\net\minecraft\client\Minecraft.java ++++ minecraft_patched\net\minecraft\client\Minecraft.java +@@ -695,9 +695,7 @@ + + while(true) { + try { +- if(!this.field_71425_J) { +- break; +- } ++ while(this.field_71425_J) { + + if(!this.field_71434_R || this.field_71433_S == null) { + try { +@@ -711,6 +709,7 @@ + } + + this.func_71377_b(this.field_71433_S); ++ } + } catch (MinecraftError var12) { + break; + } catch (ReportedException var13) { diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.client.Minecraft.java.patch.2 b/fml/conf/patches/minecraft_ff/net.minecraft.client.Minecraft.java.patch.2 new file mode 100644 index 000000000..1e615d790 --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.client.Minecraft.java.patch.2 @@ -0,0 +1,12 @@ +diff -r -U 3 minecraft\net\minecraft\client\Minecraft.java minecraft_patched\net\minecraft\client\Minecraft.java +--- minecraft\net\minecraft\client\Minecraft.java ++++ minecraft_patched\net\minecraft\client\Minecraft.java +@@ -326,7 +326,7 @@ + + while(true) { + try { +- if(this.field_71425_J) { ++ while(this.field_71425_J) { + if(!this.field_71434_R || this.field_71433_S == null) { + try { + this.func_71411_J(); diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.client.gui.FontRenderer.java.patch b/fml/conf/patches/minecraft_ff/net.minecraft.client.gui.FontRenderer.java.patch new file mode 100644 index 000000000..2bd8fc387 --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.client.gui.FontRenderer.java.patch @@ -0,0 +1,21 @@ +diff -r -U 3 minecraft\net\minecraft\client\gui\FontRenderer.java minecraft_patched\net\minecraft\client\gui\FontRenderer.java +--- minecraft\net\minecraft\client\gui\FontRenderer.java ++++ minecraft_patched\net\minecraft\client\gui\FontRenderer.java +@@ -592,8 +592,6 @@ + case 10: + --var5; + break; +- case 32: +- var6 = var5; + case 167: + if(var5 < var3 - 1) { + ++var5; +@@ -607,6 +605,8 @@ + } + } + break; ++ case 32: ++ var6 = var5; + default: + var4 += this.func_78263_a(var8); + if(var7) { diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.client.network.NetHandlerPlayClient.java.patch b/fml/conf/patches/minecraft_ff/net.minecraft.client.network.NetHandlerPlayClient.java.patch new file mode 100644 index 000000000..054adef20 --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.client.network.NetHandlerPlayClient.java.patch @@ -0,0 +1,37 @@ +diff -r -U 3 minecraft\net\minecraft\client\network\NetHandlerPlayClient.java minecraft_patched\net\minecraft\client\network\NetHandlerPlayClient.java +--- minecraft\net\minecraft\client\network\NetHandlerPlayClient.java ++++ minecraft_patched\net\minecraft\client\network\NetHandlerPlayClient.java +@@ -1275,14 +1275,14 @@ + private static final String __OBFID = "CL_00002622"; + + public void func_73878_a(boolean p_73878_1_, int p_73878_2_) { +- NetHandlerPlayClient.thisxxx.field_147299_f = Minecraft.func_71410_x(); ++ NetHandlerPlayClient.this.field_147299_f = Minecraft.func_71410_x(); + if(p_73878_1_) { +- if(NetHandlerPlayClient.thisxx.field_147299_f.func_147104_D() != null) { +- NetHandlerPlayClient.thisxxxxxxx.field_147299_f.func_147104_D().func_152584_a(ServerData.ServerResourceMode.ENABLED); ++ if(NetHandlerPlayClient.this.field_147299_f.func_147104_D() != null) { ++ NetHandlerPlayClient.this.field_147299_f.func_147104_D().func_152584_a(ServerData.ServerResourceMode.ENABLED); + } + + NetHandlerPlayClient.this.field_147302_e.func_179290_a(new C19PacketResourcePackStatus(var3, C19PacketResourcePackStatus.Action.ACCEPTED)); +- Futures.addCallback(NetHandlerPlayClient.thisx.field_147299_f.func_110438_M().func_180601_a(var2, var3), new FutureCallback() { ++ Futures.addCallback(NetHandlerPlayClient.this.field_147299_f.func_110438_M().func_180601_a(var2, var3), new FutureCallback() { + + private static final String __OBFID = "CL_00002621"; + +@@ -1294,11 +1294,11 @@ + } + }); + } else { +- if(NetHandlerPlayClient.thisxxxx.field_147299_f.func_147104_D() != null) { +- NetHandlerPlayClient.thisxxxxx.field_147299_f.func_147104_D().func_152584_a(ServerData.ServerResourceMode.DISABLED); ++ if(NetHandlerPlayClient.this.field_147299_f.func_147104_D() != null) { ++ NetHandlerPlayClient.this.field_147299_f.func_147104_D().func_152584_a(ServerData.ServerResourceMode.DISABLED); + } + +- NetHandlerPlayClient.thisxxxxxx.field_147302_e.func_179290_a(new C19PacketResourcePackStatus(var3x, C19PacketResourcePackStatus.Action.DECLINED)); ++ NetHandlerPlayClient.this.field_147302_e.func_179290_a(new C19PacketResourcePackStatus(var3, C19PacketResourcePackStatus.Action.DECLINED)); + } + + ServerList.func_147414_b(NetHandlerPlayClient.this.field_147299_f.func_147104_D()); diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.client.particle.EffectRenderer.java.patch b/fml/conf/patches/minecraft_ff/net.minecraft.client.particle.EffectRenderer.java.patch new file mode 100644 index 000000000..ba9bd42db --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.client.particle.EffectRenderer.java.patch @@ -0,0 +1,13 @@ +diff -r -U 3 minecraft\net\minecraft\client\particle\EffectRenderer.java minecraft_patched\net\minecraft\client\particle\EffectRenderer.java +--- minecraft\net\minecraft\client\particle\EffectRenderer.java ++++ minecraft_patched\net\minecraft\client\particle\EffectRenderer.java +@@ -242,7 +242,8 @@ + GlStateManager.func_179112_b(770, 771); + GlStateManager.func_179092_a(516, 0.003921569F); + +- for(final int var8 = 0; var8 < 3; ++var8) { ++ for(int var8_nf = 0; var8_nf < 3; ++var8_nf) { ++ final int var8 = var8_nf; + for(int var9 = 0; var9 < 2; ++var9) { + if(!this.field_78876_b[var8][var9].isEmpty()) { + switch(var9) { diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.client.renderer.block.model.ModelBlockDefinition.java.patch b/fml/conf/patches/minecraft_ff/net.minecraft.client.renderer.block.model.ModelBlockDefinition.java.patch new file mode 100644 index 000000000..8ee367800 --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.client.renderer.block.model.ModelBlockDefinition.java.patch @@ -0,0 +1,12 @@ +diff -r -U 3 minecraft\net\minecraft\client\renderer\block\model\ModelBlockDefinition.java minecraft_patched\net\minecraft\client\renderer\block\model\ModelBlockDefinition.java +--- minecraft\net\minecraft\client\renderer\block\model\ModelBlockDefinition.java ++++ minecraft_patched\net\minecraft\client\renderer\block\model\ModelBlockDefinition.java +@@ -82,7 +82,7 @@ + public ModelBlockDefinition func_178336_a(JsonElement p_178336_1_, Type p_178336_2_, JsonDeserializationContext p_178336_3_) { + JsonObject var4 = p_178336_1_.getAsJsonObject(); + List var5 = this.func_178334_a(p_178336_3_, var4); +- return new ModelBlockDefinition(var5); ++ return new ModelBlockDefinition((Collection)var5); + } + + protected List func_178334_a(JsonDeserializationContext p_178334_1_, JsonObject p_178334_2_) { diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.client.renderer.texture.TextureManager.java.patch b/fml/conf/patches/minecraft_ff/net.minecraft.client.renderer.texture.TextureManager.java.patch new file mode 100644 index 000000000..535c9cd41 --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.client.renderer.texture.TextureManager.java.patch @@ -0,0 +1,30 @@ +diff -r -U 3 minecraft\net\minecraft\client\renderer\texture\TextureManager.java minecraft_patched\net\minecraft\client\renderer\texture\TextureManager.java +--- minecraft\net\minecraft\client\renderer\texture\TextureManager.java ++++ minecraft_patched\net\minecraft\client\renderer\texture\TextureManager.java +@@ -57,13 +57,14 @@ + + public boolean func_110579_a(ResourceLocation p_110579_1_, final ITextureObject p_110579_2_) { + boolean var3 = true; +- ++ ITextureObject p_110579_2_2 = p_110579_2_; ++ + try { + ((ITextureObject)p_110579_2_).func_110551_a(this.field_110582_d); + } catch (IOException var8) { + field_147646_a.warn("Failed to load texture: " + p_110579_1_, var8); +- p_110579_2_ = TextureUtil.field_111001_a; +- this.field_110585_a.put(p_110579_1_, p_110579_2_); ++ p_110579_2_2 = TextureUtil.field_111001_a; ++ this.field_110585_a.put(p_110579_1_, p_110579_2_2); + var3 = false; + } catch (Throwable var9) { + CrashReport var5 = CrashReport.func_85055_a(var9, "Registering texture"); +@@ -80,7 +81,7 @@ + throw new ReportedException(var5); + } + +- this.field_110585_a.put(p_110579_1_, p_110579_2_); ++ this.field_110585_a.put(p_110579_1_, p_110579_2_2); + return var3; + } + diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.client.resources.FolderResourcePack.java.patch b/fml/conf/patches/minecraft_ff/net.minecraft.client.resources.FolderResourcePack.java.patch new file mode 100644 index 000000000..dc0d6b8fe --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.client.resources.FolderResourcePack.java.patch @@ -0,0 +1,12 @@ +diff -r -U 3 minecraft\net\minecraft\client\resources\FolderResourcePack.java minecraft_patched\net\minecraft\client\resources\FolderResourcePack.java +--- minecraft\net\minecraft\client\resources\FolderResourcePack.java ++++ minecraft_patched\net\minecraft\client\resources\FolderResourcePack.java +@@ -31,7 +31,7 @@ + HashSet var1 = Sets.newHashSet(); + File var2 = new File(this.field_110597_b, "assets/"); + if(var2.isDirectory()) { +- File[] var3 = var2.listFiles(DirectoryFileFilter.DIRECTORY); ++ File[] var3 = var2.listFiles((java.io.FileFilter)DirectoryFileFilter.DIRECTORY); + int var4 = var3.length; + + for(int var5 = 0; var5 < var4; ++var5) { diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.command.PlayerSelector.java.patch b/fml/conf/patches/minecraft_ff/net.minecraft.command.PlayerSelector.java.patch new file mode 100644 index 000000000..5736ce54b --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.command.PlayerSelector.java.patch @@ -0,0 +1,100 @@ +diff -r -U 3 minecraft\net\minecraft\command\PlayerSelector.java minecraft_patched\net\minecraft\command\PlayerSelector.java +--- minecraft\net\minecraft\command\PlayerSelector.java ++++ minecraft_patched\net\minecraft\command\PlayerSelector.java +@@ -135,7 +135,7 @@ + + private static List func_179663_a(Map p_179663_0_, String p_179663_1_) { + ArrayList var2 = Lists.newArrayList(); +- final String var3 = func_179651_b(p_179663_0_, "type"); ++ String var3 = func_179651_b(p_179663_0_, "type"); + final boolean var4 = var3 != null && var3.startsWith("!"); + if(var4) { + var3 = var3.substring(1); +@@ -159,12 +159,13 @@ + }); + } + } else { ++ final String var3_f = var3; + var2.add(new Predicate() { + + private static final String __OBFID = "CL_00002362"; + + public boolean func_179613_a(Entity p_179613_1_) { +- return EntityList.func_180123_a(p_179613_1_, var3) != var4; ++ return EntityList.func_180123_a(p_179613_1_, var3_f) != var4; + } + // $FF: synthetic method + public boolean apply(Object p_apply_1_) { +@@ -231,13 +232,14 @@ + + private static List func_179659_d(Map p_179659_0_) { + ArrayList var1 = Lists.newArrayList(); +- final String var2 = func_179651_b(p_179659_0_, "team"); ++ String var2 = func_179651_b(p_179659_0_, "team"); + final boolean var3 = var2 != null && var2.startsWith("!"); + if(var3) { + var2 = var2.substring(1); + } + + if(var2 != null) { ++ final String var2_f = var2; + var1.add(new Predicate() { + + private static final String __OBFID = "CL_00002355"; +@@ -249,7 +251,7 @@ + EntityLivingBase var2x = (EntityLivingBase)p_179621_1_; + Team var3x = var2x.func_96124_cp(); + String var4 = var3x == null?"":var3x.func_96661_b(); +- return var4.equals(var2) != var3; ++ return var4.equals(var2_f) != var3; + } + } + // $FF: synthetic method +@@ -321,19 +323,20 @@ + + private static List func_179647_f(Map p_179647_0_) { + ArrayList var1 = Lists.newArrayList(); +- final String var2 = func_179651_b(p_179647_0_, "name"); ++ String var2 = func_179651_b(p_179647_0_, "name"); + final boolean var3 = var2 != null && var2.startsWith("!"); + if(var3) { + var2 = var2.substring(1); + } + + if(var2 != null) { ++ final String var2_f = var2; + var1.add(new Predicate() { + + private static final String __OBFID = "CL_00002353"; + + public boolean func_179600_a(Entity p_179600_1_) { +- return p_179600_1_.func_70005_c_().equals(var2) != var3; ++ return p_179600_1_.func_70005_c_().equals(var2_f) != var3; + } + // $FF: synthetic method + public boolean apply(Object p_apply_1_) { +@@ -372,11 +375,9 @@ + + private static List func_179662_g(Map p_179662_0_) { + ArrayList var1 = Lists.newArrayList(); +- final int var2; +- final int var3; + if(p_179662_0_.containsKey("rym") || p_179662_0_.containsKey("ry")) { +- var2 = func_179650_a(func_179653_a(p_179662_0_, "rym", 0)); +- var3 = func_179650_a(func_179653_a(p_179662_0_, "ry", 359)); ++ final int var2 = func_179650_a(func_179653_a(p_179662_0_, "rym", 0)); ++ final int var3 = func_179650_a(func_179653_a(p_179662_0_, "ry", 359)); + var1.add(new Predicate() { + + private static final String __OBFID = "CL_00002351"; +@@ -393,8 +394,8 @@ + } + + if(p_179662_0_.containsKey("rxm") || p_179662_0_.containsKey("rx")) { +- var2 = func_179650_a(func_179653_a(p_179662_0_, "rxm", 0)); +- var3 = func_179650_a(func_179653_a(p_179662_0_, "rx", 359)); ++ final int var2 = func_179650_a(func_179653_a(p_179662_0_, "rxm", 0)); ++ final int var3 = func_179650_a(func_179653_a(p_179662_0_, "rx", 359)); + var1.add(new Predicate() { + + private static final String __OBFID = "CL_00002361"; diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.inventory.ContainerPlayer.java.patch b/fml/conf/patches/minecraft_ff/net.minecraft.inventory.ContainerPlayer.java.patch new file mode 100644 index 000000000..2de0a726f --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.inventory.ContainerPlayer.java.patch @@ -0,0 +1,34 @@ +diff -r -U 3 minecraft\net\minecraft\inventory\ContainerPlayer.java minecraft_patched\net\minecraft\inventory\ContainerPlayer.java +--- minecraft\net\minecraft\inventory\ContainerPlayer.java ++++ minecraft_patched\net\minecraft\inventory\ContainerPlayer.java +@@ -28,7 +28,7 @@ + this.field_82862_h = p_i1819_3_; + this.func_75146_a(new SlotCrafting(p_i1819_1_.field_70458_d, this.field_75181_e, this.field_75179_f, 0, 144, 36)); + +- final int var4; ++ int var4; + int var5; + for(var4 = 0; var4 < 2; ++var4) { + for(var5 = 0; var5 < 2; ++var5) { +@@ -37,6 +37,7 @@ + } + + for(var4 = 0; var4 < 4; ++var4) { ++ final int var44 = var4; + this.func_75146_a(new Slot(p_i1819_1_, p_i1819_1_.func_70302_i_() - 1 - var4, 8, 8 + var4 * 18) { + + private static final String __OBFID = "CL_00001755"; +@@ -45,11 +46,11 @@ + return 1; + } + public boolean func_75214_a(ItemStack p_75214_1_) { +- return p_75214_1_ == null?false:(p_75214_1_.func_77973_b() instanceof ItemArmor?((ItemArmor)p_75214_1_.func_77973_b()).field_77881_a == var4:(p_75214_1_.func_77973_b() != Item.func_150898_a(Blocks.field_150423_aK) && p_75214_1_.func_77973_b() != Items.field_151144_bL?false:var4 == 0)); ++ return p_75214_1_ == null?false:(p_75214_1_.func_77973_b() instanceof ItemArmor?((ItemArmor)p_75214_1_.func_77973_b()).field_77881_a == var44:(p_75214_1_.func_77973_b() != Item.func_150898_a(Blocks.field_150423_aK) && p_75214_1_.func_77973_b() != Items.field_151144_bL?false:var44 == 0)); + } + @SideOnly(Side.CLIENT) + public String func_178171_c() { +- return ItemArmor.field_94603_a[var4]; ++ return ItemArmor.field_94603_a[var44]; + } + }); + } diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.network.PacketBuffer.java.patch b/fml/conf/patches/minecraft_ff/net.minecraft.network.PacketBuffer.java.patch new file mode 100644 index 000000000..af9a54442 --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.network.PacketBuffer.java.patch @@ -0,0 +1,14 @@ +diff -r -U 3 minecraft\net\minecraft\network\PacketBuffer.java minecraft_patched\net\minecraft\network\PacketBuffer.java +--- minecraft\net\minecraft\network\PacketBuffer.java ++++ minecraft_patched\net\minecraft\network\PacketBuffer.java +@@ -799,10 +799,4 @@ + public boolean release(int p_release_1_) { + return this.field_150794_a.release(p_release_1_); + } +- +- // $FF: synthetic method +- // $FF: bridge method +- public int compareTo(Object p_compareTo_1_) { +- return this.compareTo((ByteBuf)p_compareTo_1_); +- } + } diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.server.network.NetHandlerLoginServer.java.patch b/fml/conf/patches/minecraft_ff/net.minecraft.server.network.NetHandlerLoginServer.java.patch new file mode 100644 index 000000000..3187d6e81 --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.server.network.NetHandlerLoginServer.java.patch @@ -0,0 +1,14 @@ +diff -r -U 3 minecraft\net\minecraft\server\network\NetHandlerLoginServer.java minecraft_patched\net\minecraft\server\network\NetHandlerLoginServer.java +--- minecraft\net\minecraft\server\network\NetHandlerLoginServer.java ++++ minecraft_patched\net\minecraft\server\network\NetHandlerLoginServer.java +@@ -95,10 +95,6 @@ + public void operationComplete(ChannelFuture p_operationComplete_1_) { + NetHandlerLoginServer.this.field_147333_a.func_179289_a(NetHandlerLoginServer.this.field_147327_f.func_175577_aI()); + } +- // $FF: synthetic method +- public void operationComplete(Future p_operationComplete_1_) { +- this.operationComplete((ChannelFuture)p_operationComplete_1_); +- } + }, new GenericFutureListener[0]); + } + diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.util.BlockPos.java.patch b/fml/conf/patches/minecraft_ff/net.minecraft.util.BlockPos.java.patch new file mode 100644 index 000000000..8db486575 --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.util.BlockPos.java.patch @@ -0,0 +1,12 @@ +diff -r -U 3 minecraft\net\minecraft\util\BlockPos.java minecraft_patched\net\minecraft\util\BlockPos.java +--- minecraft\net\minecraft\util\BlockPos.java ++++ minecraft_patched\net\minecraft\util\BlockPos.java +@@ -194,7 +194,7 @@ + + protected BlockPos.MutableBlockPos func_179313_a() { + if(this.field_179314_b == null) { +- this.field_179314_b = new BlockPos.MutableBlockPos(var2xxx.func_177958_n(), var2.func_177956_o(), var2x.func_177952_p(), null); ++ this.field_179314_b = new BlockPos.MutableBlockPos(var2.func_177958_n(), var2.func_177956_o(), var2.func_177952_p(), null); + return this.field_179314_b; + } else if(this.field_179314_b.equals(var3)) { + return (BlockPos.MutableBlockPos)this.endOfData(); diff --git a/fml/conf/patches/minecraft_ff/net.minecraft.world.storage.ThreadedFileIOBase.java.patch b/fml/conf/patches/minecraft_ff/net.minecraft.world.storage.ThreadedFileIOBase.java.patch new file mode 100644 index 000000000..cd2680039 --- /dev/null +++ b/fml/conf/patches/minecraft_ff/net.minecraft.world.storage.ThreadedFileIOBase.java.patch @@ -0,0 +1,11 @@ +diff -r -U 3 minecraft\net\minecraft\world\storage\ThreadedFileIOBase.java minecraft_patched\net\minecraft\world\storage\ThreadedFileIOBase.java +--- minecraft\net\minecraft\world\storage\ThreadedFileIOBase.java ++++ minecraft_patched\net\minecraft\world\storage\ThreadedFileIOBase.java +@@ -25,6 +25,7 @@ + } + + public void run() { ++ while(true) + this.func_75736_b(); + } + diff --git a/fml/conf/version.cfg b/fml/conf/version.cfg new file mode 100644 index 000000000..5b0132dc7 --- /dev/null +++ b/fml/conf/version.cfg @@ -0,0 +1,4 @@ +[VERSION] +MCPVersion = 9.10 +ClientVersion = 1.8 +ServerVersion = 1.8 \ No newline at end of file diff --git a/fml/eclipse-workspace-dev.zip b/fml/eclipse-workspace-dev.zip new file mode 100644 index 000000000..4401ff364 Binary files /dev/null and b/fml/eclipse-workspace-dev.zip differ diff --git a/fml/gradle/wrapper/gradle-wrapper.jar b/fml/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 000000000..b76121670 Binary files /dev/null and b/fml/gradle/wrapper/gradle-wrapper.jar differ diff --git a/fml/gradle/wrapper/gradle-wrapper.properties b/fml/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..678d9d8de --- /dev/null +++ b/fml/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Jul 02 15:54:47 CDT 2014 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-bin.zip diff --git a/fml/gradlew b/fml/gradlew new file mode 100755 index 000000000..91a7e269e --- /dev/null +++ b/fml/gradlew @@ -0,0 +1,164 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/fml/gradlew.bat b/fml/gradlew.bat new file mode 100644 index 000000000..8a0b282aa --- /dev/null +++ b/fml/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/fml/install/README.txt b/fml/install/README.txt new file mode 100644 index 000000000..744ba3b6e --- /dev/null +++ b/fml/install/README.txt @@ -0,0 +1,37 @@ +------------------------------------------- +Source installation information for modders +------------------------------------------- +This code follows the Minecraft Forge installation methodology. It will apply +some small patches to the vanilla MCP source code, giving you and it access +to some of the data and functions you need to build a successful mod. + +Note also that the patches are built against "unrenamed" MCP source code (aka +srgnames) - this means that you will not be able to read them directly against +normal code. + +Source pack installation information: + +Standalone source installation +============================== + +To install this source code for development purposes, extract this zip file. +It ships with a demonstration mod. Run 'gradlew setupDevWorkspace' to create +a gradle environment primed with FML. Run 'gradlew eclipse' or 'gradlew idea' to +create an IDE workspace of your choice. +Refer to ForgeGradle for more information about the gradle environment +Note: On macs or linux you run the './gradlew.sh' instead of 'gradlew' + +Forge source installation +========================= +MinecraftForge ships with this code and installs it as part of the forge +installation process, no further action is required on your part. + +For reference this is version @MAJOR@.@MINOR@.@REV@.@BUILD@ of FML +for Minecraft version @MCVERSION@. + +LexManos' Install Video +======================= +https://www.youtube.com/watch?v=8VEdtQLuLO0&feature=youtu.be + +For more details update more often refer to the Forge Forums: +http://www.minecraftforge.net/forum/index.php/topic,14048.0.html diff --git a/fml/install/build.gradle b/fml/install/build.gradle new file mode 100644 index 000000000..0c794be33 --- /dev/null +++ b/fml/install/build.gradle @@ -0,0 +1,70 @@ +buildscript { + repositories { + mavenCentral() + maven { + name = "forge" + url = "http://files.minecraftforge.net/maven" + } + maven { + name = "sonatype" + url = "https://oss.sonatype.org/content/repositories/snapshots/" + } + } + dependencies { + classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' + } +} + +apply plugin: '${name}' + +version = "1.0" +group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html +archivesBaseName = "modid" + +minecraft { + version = "${version}" + runDir = "eclipse" + + // the mappings can be changed at any time, and must be in the following format. + // snapshot_YYYYMMDD snapshot are built nightly. + // stable_# stables are built at the discretion of the MCP team. + // Use non-default mappings at your own risk. they may not allways work. + // simply re-run your setup task after changing the mappings to update your workspace. + mappings = "${mappings}" +} + +dependencies { + // you may put jars on which you depend on in ./libs + // or you may define them like so.. + //compile "some.group:artifact:version:classifier" + //compile "some.group:artifact:version" + + // real examples + //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env + //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env + + // for more info... + // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html + // http://www.gradle.org/docs/current/userguide/dependency_management.html + +} + +processResources +{ + // this will ensure that this task is redone when the versions change. + inputs.property "version", project.version + inputs.property "mcversion", project.minecraft.version + + // replace stuff in mcmod.info, nothing else + from(sourceSets.main.resources.srcDirs) { + include 'mcmod.info' + + // replace version and mcversion + expand 'version':project.version, 'mcversion':project.minecraft.version + } + + // copy everything else, thats not the mcmod.info + from(sourceSets.main.resources.srcDirs) { + exclude 'mcmod.info' + } +} diff --git a/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.location b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.resources/.projects/Minecraft/.location new file mode 100644 index 000000000..e69de29bb diff --git a/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/0.tree b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/0.tree new file mode 100644 index 000000000..897e2b847 Binary files /dev/null and b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.resources/.root/0.tree differ diff --git a/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 000000000..466d7f93a --- /dev/null +++ b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,4 @@ +#Sun Jun 05 18:58:07 CEST 2011 +version=1 +eclipse.preferences.version=1 +refresh.enabled=true diff --git a/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs new file mode 100644 index 000000000..94c56761d --- /dev/null +++ b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs @@ -0,0 +1,7 @@ +#Sun Jun 05 19:03:53 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.debug.ui.UseContextualLaunch=false +Console.highWaterMark=88000 +org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=\r\n\r\n +org.eclipse.debug.ui.user_view_bindings=\r\n\r\n\r\n\r\n\r\n\r\n +StringVariablePreferencePage=130,107,107,86, diff --git a/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs new file mode 100644 index 000000000..333b99153 --- /dev/null +++ b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.gathering.prefs @@ -0,0 +1,3 @@ +#Sun Jun 05 18:58:07 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.epp.usagedata.gathering.enabled=false diff --git a/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..12ec36890 --- /dev/null +++ b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +#Sun Sep 18 16:44:39 NZST 2011 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=ignore +org.eclipse.jdt.core.compiler.problem.deprecation=ignore +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore +org.eclipse.jdt.core.compiler.problem.unusedImport=ignore +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs new file mode 100644 index 000000000..316ef6f30 --- /dev/null +++ b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs @@ -0,0 +1,4 @@ +#Sun Jun 05 18:58:05 CEST 2011 +spacesForTabs=true +eclipse.preferences.version=1 +overviewRuler_migration=migrated_3.1 diff --git a/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs new file mode 100644 index 000000000..ae368abb9 --- /dev/null +++ b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs @@ -0,0 +1,9 @@ +#Sun Jun 05 18:58:07 CEST 2011 +IMPORT_FILES_AND_FOLDERS_MODE=prompt +IMPORT_FILES_AND_FOLDERS_VIRTUAL_FOLDER_MODE=prompt +SAVE_ALL_BEFORE_BUILD=true +eclipse.preferences.version=1 +tipsAndTricks=true +platformState=1287081747687 +quickStart=false +PROBLEMS_FILTERS_MIGRATE=true diff --git a/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs new file mode 100644 index 000000000..cbc59537b --- /dev/null +++ b/fml/install/eclipse/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs @@ -0,0 +1,3 @@ +#Sun Jun 05 18:50:08 CEST 2011 +eclipse.preferences.version=1 +showIntro=false diff --git a/fml/install/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client.launch b/fml/install/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client.launch new file mode 100644 index 000000000..a63957205 --- /dev/null +++ b/fml/install/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Client.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/fml/install/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server.launch b/fml/install/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server.launch new file mode 100644 index 000000000..395f317a6 --- /dev/null +++ b/fml/install/eclipse/.metadata/.plugins/org.eclipse.debug.core/.launches/Server.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/fml/install/eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml b/fml/install/eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml new file mode 100644 index 000000000..1208f602e --- /dev/null +++ b/fml/install/eclipse/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fml/install/src/main/java/com/example/examplemod/ExampleMod.java b/fml/install/src/main/java/com/example/examplemod/ExampleMod.java new file mode 100644 index 000000000..82123bc37 --- /dev/null +++ b/fml/install/src/main/java/com/example/examplemod/ExampleMod.java @@ -0,0 +1,20 @@ +package com.example.examplemod; + +import net.minecraft.init.Blocks; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.Mod.EventHandler; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; + +@Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION) +public class ExampleMod +{ + public static final String MODID = "examplemod"; + public static final String VERSION = "1.0"; + + @EventHandler + public void init(FMLInitializationEvent event) + { + // some example code + System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName()); + } +} diff --git a/fml/install/src/main/resources/mcmod.info b/fml/install/src/main/resources/mcmod.info new file mode 100644 index 000000000..f48066756 --- /dev/null +++ b/fml/install/src/main/resources/mcmod.info @@ -0,0 +1,16 @@ +[ +{ + "modid": "examplemod", + "name": "Example Mod", + "description": "Example placeholder mod.", + "version": "${version}", + "mcversion": "${mcversion}", + "url": "", + "updateUrl": "", + "authorList": ["ExampleDude"], + "credits": "The Forge and FML guys, for making this example", + "logoFile": "", + "screenshots": [], + "dependencies": [] +} +] diff --git a/fml/jsons/1.6-dev.json b/fml/jsons/1.6-dev.json new file mode 100644 index 000000000..170853d67 --- /dev/null +++ b/fml/jsons/1.6-dev.json @@ -0,0 +1,125 @@ +{ + "id": "FML{version}", + "time": "{timestamp}", + "releaseTime": "{timestamp}", + "type": "release", + "processArguments": "username_session_version", + "minecraftArguments": "--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "minimumLauncherVersion": 2, + "libraries": [ + { + "name": "net.minecraft:launchwrapper:1.3", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.ow2.asm:asm-all:4.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "lzma:lzma:0.0.1" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "argo:argo:2.25_fixed" + }, + { + "name": "net.sourceforge.argo:argo:2.25", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "grumble grumble grumble, y u no use proper version/artifact id grumble" + }, + { + "name": "org.bouncycastle:bcprov-jdk15on:1.47", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.google.guava:guava:14.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.apache.commons:commons-lang3:3.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "commons-io:commons-io:2.4", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "net.java.jinput:jinput:2.0.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "net.java.jutils:jutils:1.0.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.google.code.gson:gson:2.2.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.client.main.Main" +} diff --git a/fml/jsons/1.6-rel.json b/fml/jsons/1.6-rel.json new file mode 100644 index 000000000..7a0596ac3 --- /dev/null +++ b/fml/jsons/1.6-rel.json @@ -0,0 +1,93 @@ +{ + "id": "FML{version}", + "time": "{timestamp}", + "releaseTime": "{timestamp}", + "type": "release", + "processArguments": "username_session_version", + "minecraftArguments": "--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "minimumLauncherVersion": 2, + "libraries": [ + { + "name": "cpw.mods:fml:{version}", + "devdl" : "false" + }, + { + "name": "net.minecraft:launchwrapper:1.3" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0" + }, + { + "name": "argo:argo:2.25_fixed" + }, + { + "name": "org.bouncycastle:bcprov-jdk15on:1.47" + }, + { + "name": "com.google.guava:guava:14.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.client.main.Main" +} \ No newline at end of file diff --git a/fml/jsons/1.6.1-dev.json b/fml/jsons/1.6.1-dev.json new file mode 100644 index 000000000..0c749a18c --- /dev/null +++ b/fml/jsons/1.6.1-dev.json @@ -0,0 +1,137 @@ +{ + "id": "FML{version}", + "time": "{timestamp}", + "releaseTime": "{timestamp}", + "type": "release", + "processArguments": "username_session_version", + "minecraftArguments": "--version FML_DEV --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "minimumLauncherVersion": 2, + "libraries": [ + { + "name": "net.minecraft:launchwrapper:1.3", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.ow2.asm:asm-all:4.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "lzma:lzma:0.0.1" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "argo:argo:2.25_fixed" + }, + { + "name": "net.sourceforge.argo:argo:2.25", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "grumble grumble grumble, y u no use proper version/artifact id grumble" + }, + { + "name": "org.bouncycastle:bcprov-jdk15on:1.47", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.google.guava:guava:14.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.apache.commons:commons-lang3:3.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "commons-io:commons-io:2.4", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "net.java.jinput:jinput:2.0.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "net.java.jutils:jutils:1.0.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.google.code.gson:gson:2.2.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch" +} diff --git a/fml/jsons/1.6.1-rel.json b/fml/jsons/1.6.1-rel.json new file mode 100644 index 000000000..72ced1340 --- /dev/null +++ b/fml/jsons/1.6.1-rel.json @@ -0,0 +1,127 @@ +{ + "install": { + "profileName": "FML", + "target":"FML@version@", + "path":"cpw.mods:fml:@version@", + "version":"FML @version@", + "filePath":"@universal_jar@", + "welcome":"Welcome to the simple FML installer.", + "minecraft":"@minecraft_version@", + "logo":"/big_logo.png" + }, + "versionInfo": { + "id": "FML@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "processArguments": "username_session_version", + "minecraftArguments": "--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "minimumLauncherVersion": 2, + "libraries": [ + { + "name": "cpw.mods:fml:@version@", + "url": "http://files.minecraftforge.net/maven/" + }, + { + "name": "net.minecraft:launchwrapper:1.3", + "serverreq":true + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "url" : "http://repo.maven.apache.org/maven2/", + "comment" : "Important for FML, we add this", + "serverreq":true + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "url" : "http://repo.maven.apache.org/maven2/", + "comment" : "Important for FML, we add this", + "serverreq":true + }, + { + "name": "org.ow2.asm:asm-all:4.1", + "serverreq":true + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "serverreq":true + }, + { + "name": "lzma:lzma:0.0.1", + "serverreq":true + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0" + }, + { + "name": "argo:argo:2.25_fixed" + }, + { + "name": "org.bouncycastle:bcprov-jdk15on:1.47" + }, + { + "name": "com.google.guava:guava:14.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch" + } +} diff --git a/fml/jsons/1.6.2-dev.json b/fml/jsons/1.6.2-dev.json new file mode 100644 index 000000000..d2969ded1 --- /dev/null +++ b/fml/jsons/1.6.2-dev.json @@ -0,0 +1,137 @@ +{ + "id": "FML{version}", + "time": "{timestamp}", + "releaseTime": "{timestamp}", + "type": "release", + "processArguments": "username_session_version", + "minecraftArguments": "--version FML_DEV --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "minimumLauncherVersion": 2, + "libraries": [ + { + "name": "net.minecraft:launchwrapper:1.3", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.ow2.asm:asm-debug-all:4.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "lzma:lzma:0.0.1" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "argo:argo:2.25_fixed" + }, + { + "name": "net.sourceforge.argo:argo:2.25", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "grumble grumble grumble, y u no use proper version/artifact id grumble" + }, + { + "name": "org.bouncycastle:bcprov-jdk15on:1.47", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.google.guava:guava:14.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.apache.commons:commons-lang3:3.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "commons-io:commons-io:2.4", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "net.java.jinput:jinput:2.0.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "net.java.jutils:jutils:1.0.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.google.code.gson:gson:2.2.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch" +} diff --git a/fml/jsons/1.6.2-rel.json b/fml/jsons/1.6.2-rel.json new file mode 100644 index 000000000..a672c8bd0 --- /dev/null +++ b/fml/jsons/1.6.2-rel.json @@ -0,0 +1,220 @@ +{ + "install": { + "profileName": "FML", + "target":"@minecraft_version@-FML@version@", + "path":"cpw.mods:fml:@version@", + "version":"FML @version@", + "filePath":"@universal_jar@", + "welcome":"Welcome to the simple FML installer.", + "minecraft":"@minecraft_version@", + "mirrorList" : "http://files.minecraftforge.net/mirror-brand.list", + "logo":"/big_logo.png" + }, + "versionInfo": { + "id": "@minecraft_version@-FML@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "processArguments": "username_session_version", + "minecraftArguments": "--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "minimumLauncherVersion": 4, + "libraries": [ + { + "name": "cpw.mods:fml:@version@", + "url": "http://files.minecraftforge.net/maven/" + }, + { + "name": "net.minecraft:launchwrapper:1.3", + "serverreq":true + }, + { + "name": "org.ow2.asm:asm-all:4.1", + "serverreq":true + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "6ba65d12cd09d441083262d6f73d2257fec7c663", "dffc88e804861c9eaba39283757000b6558ea573" ], + "comment" : "Important for FML, we add this", + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "64c8b1380cc53d6850823d6e4e7ae984aa44ef9c", "40281b3ffc69fb385953522c843363ccaf71ba89" ], + "comment" : "Important for FML, we add this", + "serverreq":true, + "clientreq":true + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "serverreq":true + }, + { + "name": "lzma:lzma:0.0.1", + "serverreq":true + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0" + }, + { + "name": "argo:argo:2.25_fixed" + }, + { + "name": "org.bouncycastle:bcprov-jdk15on:1.47" + }, + { + "name": "com.google.guava:guava:14.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1-nightly-20130708-debug3", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1-nightly-20130708-debug3", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20130708-debug3", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch" + } +} diff --git a/fml/jsons/1.6.3-dev.json b/fml/jsons/1.6.3-dev.json new file mode 100644 index 000000000..2d2ebf2a0 --- /dev/null +++ b/fml/jsons/1.6.3-dev.json @@ -0,0 +1,137 @@ +{ + "id": "FML{version}", + "time": "{timestamp}", + "releaseTime": "{timestamp}", + "type": "release", + "processArguments": "username_session_version", + "minecraftArguments": "--version FML_DEV --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "minimumLauncherVersion": 4, + "libraries": [ + { + "name": "net.minecraft:launchwrapper:1.7", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.ow2.asm:asm-debug-all:4.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "lzma:lzma:0.0.1" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "argo:argo:2.25_fixed" + }, + { + "name": "net.sourceforge.argo:argo:2.25", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "grumble grumble grumble, y u no use proper version/artifact id grumble" + }, + { + "name": "org.bouncycastle:bcprov-jdk15on:1.47", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.google.guava:guava:14.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.apache.commons:commons-lang3:3.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "commons-io:commons-io:2.4", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "net.java.jinput:jinput:2.0.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "net.java.jutils:jutils:1.0.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.google.code.gson:gson:2.2.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch" +} diff --git a/fml/jsons/1.6.3-rel.json b/fml/jsons/1.6.3-rel.json new file mode 100644 index 000000000..c9e524c34 --- /dev/null +++ b/fml/jsons/1.6.3-rel.json @@ -0,0 +1,214 @@ +{ + "install": { + "profileName": "FML", + "target":"@minecraft_version@-FML@version@", + "path":"cpw.mods:fml:@version@", + "version":"FML @version@", + "filePath":"@universal_jar@", + "welcome":"Welcome to the simple FML installer.", + "minecraft":"@minecraft_version@", + "mirrorList" : "http://files.minecraftforge.net/mirror-brand.list", + "logo":"/big_logo.png" + }, + "versionInfo": { + "id": "@minecraft_version@-FML@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "processArguments": "username_session_version", + "minecraftArguments": "--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "minimumLauncherVersion": 4, + "libraries": [ + { + "name": "cpw.mods:fml:@version@", + "url": "http://files.minecraftforge.net/maven/" + }, + { + "name": "net.minecraft:launchwrapper:1.7", + "serverreq":true + }, + { + "name": "org.ow2.asm:asm-all:4.1", + "serverreq":true + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "6ba65d12cd09d441083262d6f73d2257fec7c663", "dffc88e804861c9eaba39283757000b6558ea573" ], + "comment" : "Important for FML, we add this", + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "64c8b1380cc53d6850823d6e4e7ae984aa44ef9c", "40281b3ffc69fb385953522c843363ccaf71ba89" ], + "comment" : "Important for FML, we add this", + "serverreq":true, + "clientreq":true + }, + { + "name": "lzma:lzma:0.0.1", + "serverreq":true + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "serverreq":true + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "argo:argo:2.25_fixed" + }, + { + "name": "org.bouncycastle:bcprov-jdk15on:1.47" + }, + { + "name": "com.google.guava:guava:14.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1-nightly-20130708-debug3", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1-nightly-20130708-debug3", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20130708-debug3", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch" + } +} diff --git a/fml/jsons/1.6.4-dev.json b/fml/jsons/1.6.4-dev.json new file mode 100644 index 000000000..5b8e96fc9 --- /dev/null +++ b/fml/jsons/1.6.4-dev.json @@ -0,0 +1,137 @@ +{ + "id": "FML{version}", + "time": "{timestamp}", + "releaseTime": "{timestamp}", + "type": "release", + "processArguments": "username_session_version", + "minecraftArguments": "--version FML_DEV --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "minimumLauncherVersion": 4, + "libraries": [ + { + "name": "net.minecraft:launchwrapper:1.8", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.ow2.asm:asm-debug-all:4.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "lzma:lzma:0.0.1" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "argo:argo:2.25_fixed" + }, + { + "name": "net.sourceforge.argo:argo:2.25", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "grumble grumble grumble, y u no use proper version/artifact id grumble" + }, + { + "name": "org.bouncycastle:bcprov-jdk15on:1.47", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.google.guava:guava:14.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.apache.commons:commons-lang3:3.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "commons-io:commons-io:2.4", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "net.java.jinput:jinput:2.0.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "net.java.jutils:jutils:1.0.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.google.code.gson:gson:2.2.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch" +} diff --git a/fml/jsons/1.6.4-rel.json b/fml/jsons/1.6.4-rel.json new file mode 100644 index 000000000..be81d14e5 --- /dev/null +++ b/fml/jsons/1.6.4-rel.json @@ -0,0 +1,214 @@ +{ + "install": { + "profileName": "@project@", + "target":"@minecraft_version@-@project@@version@", + "path":"@artifact@", + "version":"@project@ @version@", + "filePath":"@universal_jar@", + "welcome":"Welcome to the simple @project@ installer.", + "minecraft":"@minecraft_version@", + "mirrorList" : "http://files.minecraftforge.net/mirror-brand.list", + "logo":"/big_logo.png" + }, + "versionInfo": { + "id": "@minecraft_version@-@project@@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "processArguments": "username_session_version", + "minecraftArguments": "--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "minimumLauncherVersion": 4, + "libraries": [ + { + "name": "@artifact@", + "url": "http://files.minecraftforge.net/maven/" + }, + { + "name": "net.minecraft:launchwrapper:1.8", + "serverreq":true + }, + { + "name": "org.ow2.asm:asm-all:4.1", + "serverreq":true + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "6ba65d12cd09d441083262d6f73d2257fec7c663", "65de4339eaed1c3675485fb03a3532fecfd8e8cd" ], + "comment" : "Important for FML, we add this", + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "64c8b1380cc53d6850823d6e4e7ae984aa44ef9c", "99fd0ffb66f3088b0cd1071315fd5eb2b2b070ff" ], + "comment" : "Important for FML, we add this", + "serverreq":true, + "clientreq":true + }, + { + "name": "lzma:lzma:0.0.1", + "serverreq":true + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "serverreq":true + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "argo:argo:2.25_fixed" + }, + { + "name": "org.bouncycastle:bcprov-jdk15on:1.47" + }, + { + "name": "com.google.guava:guava:14.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.2" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1-nightly-20130708-debug3", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1-nightly-20130708-debug3", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20130708-debug3", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx", + "version": "^10\\.5\\.\\d$" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch" + } +} diff --git a/fml/jsons/1.7.10-dev.json b/fml/jsons/1.7.10-dev.json new file mode 100644 index 000000000..02ab3de1e --- /dev/null +++ b/fml/jsons/1.7.10-dev.json @@ -0,0 +1,238 @@ +{ + "id": "@minecraft_version@-@project@@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "minecraftArguments": "--version FML_DEV --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "minimumLauncherVersion": 13, + "assets": "1.7.10", + "libraries": [ + { + "name": "net.minecraft:launchwrapper:1.11" + }, + { + "name": "com.google.code.findbugs:jsr305:1.3.9", + "children": ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.ow2.asm:asm-debug-all:5.0.3", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.typesafe.akka:akka-actor_2.11:2.3.3", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.typesafe:config:1.2.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-actors-migration_2.11:1.1.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-compiler:2.11.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-library:2.11.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-parser-combinators_2.11:1.0.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-reflect:2.11.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-swing_2.11:1.0.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-xml_2.11:1.0.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "lzma:lzma:0.0.1" + }, + { + "name": "com.mojang:realms:1.3.5" + }, + { + "name": "org.apache.commons:commons-compress:1.8.1" + }, + { + "name": "org.apache.httpcomponents:httpclient:4.3.3" + }, + { + "name": "commons-logging:commons-logging:1.1.3" + }, + { + "name": "org.apache.httpcomponents:httpcore:4.3.2" + }, + { + "name": "java3d:vecmath:1.3.1" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.10.Final" + }, + { + "name": "com.google.guava:guava:17.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.3.2" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "commons-codec:commons-codec:1.9" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.5.16" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch:5.16" + }, + { + "name": "tv.twitch:twitch-platform:5.16", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "linux" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows-${arch}", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch-external-platform:4.5", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows" + } + } + ], + "natives": { + "windows": "natives-windows-${arch}" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch" +} diff --git a/fml/jsons/1.7.10-pre3-dev.json b/fml/jsons/1.7.10-pre3-dev.json new file mode 100644 index 000000000..3ae5c45e5 --- /dev/null +++ b/fml/jsons/1.7.10-pre3-dev.json @@ -0,0 +1,195 @@ +{ + "id": "@minecraft_version@-@project@@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "minecraftArguments": "--version FML_DEV --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "libraries": [ + { + "name": "net.minecraft:launchwrapper:1.9", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.ow2.asm:asm-debug-all:4.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "lzma:lzma:0.0.1" + }, + { + "name": "com.mojang:realms:1.2" + }, + { + "name": "org.apache.commons:commons-compress:1.8.1" + }, + { + "name": "org.apache.httpcomponents:httpclient:4.3.3" + }, + { + "name": "commons-logging:commons-logging:1.1.3" + }, + { + "name": "org.apache.httpcomponents:httpcore:4.3.2" + }, + { + "name": "java3d:vecmath:1.3.1" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.10.Final" + }, + { + "name": "com.google.guava:guava:15.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "commons-codec:commons-codec:1.9" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.5.13" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch:5.16" + }, + { + "name": "tv.twitch:twitch-platform:5.16", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "linux" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows-${arch}", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch-external-platform:4.5", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows" + } + } + ], + "natives": { + "windows": "natives-windows-${arch}" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch", + "minimumLauncherVersion": 13, + "assets": "1.7.4" +} \ No newline at end of file diff --git a/fml/jsons/1.7.10-pre3.json b/fml/jsons/1.7.10-pre3.json new file mode 100644 index 000000000..0ef49a659 --- /dev/null +++ b/fml/jsons/1.7.10-pre3.json @@ -0,0 +1,165 @@ +{ + "id": "1.7.10-pre3", + "time": "2014-05-14T17:29:23+02:00", + "releaseTime": "2014-05-14T17:29:23+02:00", + "type": "snapshot", + "minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userProperties ${user_properties} --userType ${user_type}", + "minimumLauncherVersion": 13, + "assets": "1.7.4", + "libraries": [ + { + "name": "com.mojang:realms:1.2.1" + }, + { + "name": "org.apache.commons:commons-compress:1.8.1" + }, + { + "name": "org.apache.httpcomponents:httpclient:4.3.3" + }, + { + "name": "commons-logging:commons-logging:1.1.3" + }, + { + "name": "org.apache.httpcomponents:httpcore:4.3.2" + }, + { + "name": "java3d:vecmath:1.3.1" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.10.Final" + }, + { + "name": "com.google.guava:guava:15.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "commons-codec:commons-codec:1.9" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.5.13" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch:5.16" + }, + { + "name": "tv.twitch:twitch-platform:5.16", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "linux" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows-${arch}", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch-external-platform:4.5", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows" + } + } + ], + "natives": { + "windows": "natives-windows-${arch}" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.client.main.Main" +} diff --git a/fml/jsons/1.7.10-pre4-dev.json b/fml/jsons/1.7.10-pre4-dev.json new file mode 100644 index 000000000..b35401234 --- /dev/null +++ b/fml/jsons/1.7.10-pre4-dev.json @@ -0,0 +1,188 @@ +{ + "id": "@minecraft_version@-@project@@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "minecraftArguments": "--version FML_DEV --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "minimumLauncherVersion": 13, + "assets": "1.7.10", + "libraries": [ + { + "name": "net.minecraft:launchwrapper:1.9" + }, + { + "name": "org.ow2.asm:asm-debug-all:4.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "lzma:lzma:0.0.1" + }, + { + "name": "com.mojang:realms:1.2.3" + }, + { + "name": "org.apache.commons:commons-compress:1.8.1" + }, + { + "name": "org.apache.httpcomponents:httpclient:4.3.3" + }, + { + "name": "commons-logging:commons-logging:1.1.3" + }, + { + "name": "org.apache.httpcomponents:httpcore:4.3.2" + }, + { + "name": "java3d:vecmath:1.3.1" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.10.Final" + }, + { + "name": "com.google.guava:guava:16.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.2.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "commons-codec:commons-codec:1.9" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.5.13" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch:5.16" + }, + { + "name": "tv.twitch:twitch-platform:5.16", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "linux" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows-${arch}", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch-external-platform:4.5", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows" + } + } + ], + "natives": { + "windows": "natives-windows-${arch}" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch" +} diff --git a/fml/jsons/1.7.10-pre4-rel.json b/fml/jsons/1.7.10-pre4-rel.json new file mode 100644 index 000000000..f39a19826 --- /dev/null +++ b/fml/jsons/1.7.10-pre4-rel.json @@ -0,0 +1,209 @@ +{ +"install": { + "profileName": "@project@", + "target":"@minecraft_version@-@project@@version@", + "path":"@artifact@", + "version":"@project@ @version@", + "filePath":"@universal_jar@", + "welcome":"Welcome to the simple @project@ installer.", + "minecraft":"@minecraft_version@", + "mirrorList" : "http://files.minecraftforge.net/mirror-brand.list", + "logo":"/big_logo.png" +}, +"versionInfo": { + "id": "@minecraft_version@-@project@@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userProperties ${user_properties} --userType ${user_type} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "minimumLauncherVersion": 13, + "assets": "1.7.10", + "libraries": [ + { + "name": "@artifact@", + "url": "http://files.minecraftforge.net/maven/" + }, + { + "name": "net.minecraft:launchwrapper:1.9", + "serverreq":true + }, + { + "name": "org.ow2.asm:asm-all:4.1", + "serverreq":true + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "6ba65d12cd09d441083262d6f73d2257fec7c663", "65de4339eaed1c3675485fb03a3532fecfd8e8cd" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "64c8b1380cc53d6850823d6e4e7ae984aa44ef9c", "99fd0ffb66f3088b0cd1071315fd5eb2b2b070ff" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "serverreq":true + }, + { + "name": "lzma:lzma:0.0.1", + "serverreq":true + }, + { + "name": "com.mojang:realms:1.2.4" + }, + { + "name": "org.apache.commons:commons-compress:1.8.1" + }, + { + "name": "org.apache.httpcomponents:httpclient:4.3.3" + }, + { + "name": "commons-logging:commons-logging:1.1.3" + }, + { + "name": "org.apache.httpcomponents:httpcore:4.3.2" + }, + { + "name": "java3d:vecmath:1.3.1" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.10.Final" + }, + { + "name": "com.google.guava:guava:16.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.2.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "commons-codec:commons-codec:1.9" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.5.13" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch:5.16" + }, + { + "name": "tv.twitch:twitch-platform:5.16", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "linux" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows-${arch}", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch-external-platform:4.5", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows" + } + } + ], + "natives": { + "windows": "natives-windows-${arch}" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch" +} +} diff --git a/fml/jsons/1.7.10-pre4.json b/fml/jsons/1.7.10-pre4.json new file mode 100644 index 000000000..effba14a0 --- /dev/null +++ b/fml/jsons/1.7.10-pre4.json @@ -0,0 +1,165 @@ +{ + "id": "1.7.10-pre4", + "time": "2014-05-14T18:29:23+02:00", + "releaseTime": "2014-05-14T18:29:23+02:00", + "type": "snapshot", + "minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userProperties ${user_properties} --userType ${user_type}", + "minimumLauncherVersion": 13, + "assets": "1.7.10", + "libraries": [ + { + "name": "com.mojang:realms:1.2.4" + }, + { + "name": "org.apache.commons:commons-compress:1.8.1" + }, + { + "name": "org.apache.httpcomponents:httpclient:4.3.3" + }, + { + "name": "commons-logging:commons-logging:1.1.3" + }, + { + "name": "org.apache.httpcomponents:httpcore:4.3.2" + }, + { + "name": "java3d:vecmath:1.3.1" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.10.Final" + }, + { + "name": "com.google.guava:guava:15.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "commons-codec:commons-codec:1.9" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.5.13" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch:5.16" + }, + { + "name": "tv.twitch:twitch-platform:5.16", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "linux" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows-${arch}", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch-external-platform:4.5", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows" + } + } + ], + "natives": { + "windows": "natives-windows-${arch}" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.client.main.Main" +} diff --git a/fml/jsons/1.7.10-rel.json b/fml/jsons/1.7.10-rel.json new file mode 100644 index 000000000..a13bfc3ff --- /dev/null +++ b/fml/jsons/1.7.10-rel.json @@ -0,0 +1,132 @@ +{ +"install": { + "profileName": "@project@", + "target":"@minecraft_version@-@project@@version@", + "path":"@artifact@", + "version":"@project@ @version@", + "filePath":"@universal_jar@", + "welcome":"Welcome to the simple @project@ installer.", + "minecraft":"@minecraft_version@", + "mirrorList" : "http://files.minecraftforge.net/mirror-brand.list", + "logo":"/big_logo.png" +}, +"versionInfo": { + "id": "@minecraft_version@-@project@@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userProperties ${user_properties} --userType ${user_type} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "mainClass": "net.minecraft.launchwrapper.Launch", + "minimumLauncherVersion": 14, + "assets": "@minecraft_version@", + "inheritsFrom": "@minecraft_version@", + "jar": "@minecraft_version@", + "libraries": [ + { + "name": "@artifact@", + "url": "http://files.minecraftforge.net/maven/" + }, + { + "name": "net.minecraft:launchwrapper:1.11", + "serverreq":true + }, + { + "name": "org.ow2.asm:asm-all:5.0.3", + "serverreq":true + }, + { + "name": "com.typesafe.akka:akka-actor_2.11:2.3.3", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "ed62e9fc709ca0f2ff1a3220daa8b70a2870078e", "25a86ccfdb6f6dfe08971f4825d0a01be83a6f2e" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "com.typesafe:config:1.2.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "f771f71fdae3df231bcd54d5ca2d57f0bf93f467", "7d7bc36df0989d72f2d5d057309675777acc528b" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-actors-migration_2.11:1.1.0", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "dfa8bc42b181d5b9f1a5dd147f8ae308b893eb6f", "8c9aaeeb68487ca519411a14068e1b4d69739207" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-compiler:2.11.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "56ea2e6c025e0821f28d73ca271218b8dd04926a", "1444992390544ba3780867a13ff696a89d7d1639" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "87213338cd5a153a7712cb574c0ddd2edfee0386", "0b4c1bf8d48993f138d6e10c0c144e50acfff581" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "1f7371605d4ba42aa26d3443440c0083c587b4e9", "1ea655dda4504ae0a367327e2340cd3beaee6c73" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-library:2.11.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "0e11da23da3eabab9f4777b9220e60d44c1aab6a", "1e4df76e835201c6eabd43adca89ab11f225f134" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-parser-combinators_2.11:1.0.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "f05d7345bf5a58924f2837c6c1f4d73a938e1ff0", "a1cbbcbde1dcc614f4253ed1aa0b320bc78d8f1d" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-reflect:2.11.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "6580347e61cc7f8e802941e7fde40fa83b8badeb", "91ce0f0be20f4a536321724b4b3bbc6530ddcd88" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-swing_2.11:1.0.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "b1cdd92bd47b1e1837139c1c53020e86bb9112ae", "d77152691dcf5bbdb00529af37aa7d3d887b3e63" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-xml_2.11:1.0.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "7a80ec00aec122fba7cd4e0d4cdd87ff7e4cb6d0", "62736b01689d56b6d09a0164b7ef9da2b0b9633d" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "lzma:lzma:0.0.1", + "serverreq":true + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "serverreq":true + }, + { + "name": "com.google.guava:guava:17.0", + "serverreq":true + }, + { + "name": "org.apache.commons:commons-lang3:3.3.2", + "serverreq":true + } + ] +} +} diff --git a/fml/jsons/1.7.10.json b/fml/jsons/1.7.10.json new file mode 100644 index 000000000..595605462 --- /dev/null +++ b/fml/jsons/1.7.10.json @@ -0,0 +1,165 @@ +{ + "id": "1.7.10", + "time": "2014-05-14T19:29:23+02:00", + "releaseTime": "2014-05-14T19:29:23+02:00", + "type": "release", + "minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userProperties ${user_properties} --userType ${user_type}", + "minimumLauncherVersion": 13, + "assets": "1.7.10", + "libraries": [ + { + "name": "com.mojang:realms:1.3.5" + }, + { + "name": "org.apache.commons:commons-compress:1.8.1" + }, + { + "name": "org.apache.httpcomponents:httpclient:4.3.3" + }, + { + "name": "commons-logging:commons-logging:1.1.3" + }, + { + "name": "org.apache.httpcomponents:httpcore:4.3.2" + }, + { + "name": "java3d:vecmath:1.3.1" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.10.Final" + }, + { + "name": "com.google.guava:guava:15.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "commons-codec:commons-codec:1.9" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.5.21" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch:5.16" + }, + { + "name": "tv.twitch:twitch-platform:5.16", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "linux" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows-${arch}", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch-external-platform:4.5", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows" + } + } + ], + "natives": { + "windows": "natives-windows-${arch}" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.client.main.Main" +} diff --git a/fml/jsons/1.7.2-dev.json b/fml/jsons/1.7.2-dev.json new file mode 100644 index 000000000..2f0c5e7a1 --- /dev/null +++ b/fml/jsons/1.7.2-dev.json @@ -0,0 +1,203 @@ +{ + "id": "@minecraft_version@-@project@@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "minecraftArguments": "--version FML_DEV --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "libraries": [ + { + "name": "net.minecraft:launchwrapper:1.9", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.ow2.asm:asm-debug-all:4.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "java3d:vecmath:1.3.1" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5" + }, + { + "name": "lzma:lzma:0.0.1" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.10.Final" + }, + { + "name": "com.google.guava:guava:15.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.3" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1-nightly-20131017", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1-nightly-20131017", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20131017", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ], + "natives": { + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch", + "minimumLauncherVersion": 9 +} diff --git a/fml/jsons/1.7.2-rel.json b/fml/jsons/1.7.2-rel.json new file mode 100644 index 000000000..0b733a62f --- /dev/null +++ b/fml/jsons/1.7.2-rel.json @@ -0,0 +1,219 @@ +{ +"install": { + "profileName": "@project@", + "target":"@minecraft_version@-@project@@version@", + "path":"@artifact@", + "version":"@project@ @version@", + "filePath":"@universal_jar@", + "welcome":"Welcome to the simple @project@ installer.", + "minecraft":"@minecraft_version@", + "mirrorList" : "http://files.minecraftforge.net/mirror-brand.list", + "logo":"/big_logo.png" +}, +"versionInfo": { + "id": "@minecraft_version@-@project@@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --uuid ${auth_uuid} --accessToken ${auth_access_token} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "libraries": [ + { + "name": "@artifact@", + "url": "http://files.minecraftforge.net/maven/" + }, + { + "name": "net.minecraft:launchwrapper:1.9", + "serverreq":true + }, + { + "name": "org.ow2.asm:asm-all:4.1", + "serverreq":true + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "6ba65d12cd09d441083262d6f73d2257fec7c663", "65de4339eaed1c3675485fb03a3532fecfd8e8cd" ], + "comment" : "Important for FML, we add this", + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "64c8b1380cc53d6850823d6e4e7ae984aa44ef9c", "99fd0ffb66f3088b0cd1071315fd5eb2b2b070ff" ], + "comment" : "Important for FML, we add this", + "serverreq":true, + "clientreq":true + }, + { + "name": "java3d:vecmath:1.3.1" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "serverreq":true + }, + { + "name": "lzma:lzma:0.0.1", + "serverreq":true + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.10.Final" + }, + { + "name": "com.google.guava:guava:15.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.3" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1-nightly-20131017", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1-nightly-20131017", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20131017", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ], + "natives": { + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch", + "minimumLauncherVersion": 9 +} +} diff --git a/fml/jsons/1.7.2.json b/fml/jsons/1.7.2.json new file mode 100644 index 000000000..d92ced4b4 --- /dev/null +++ b/fml/jsons/1.7.2.json @@ -0,0 +1,173 @@ +{ + "id": "1.7.2", + "time": "2014-04-02T12:00:00+02:00", + "releaseTime": "2013-10-25T15:00:00+02:00", + "type": "release", + "minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --uuid ${auth_uuid} --accessToken ${auth_access_token}", + "minimumLauncherVersion": 9, + "libraries": [ + { + "name": "java3d:vecmath:1.3.1" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.10.Final" + }, + { + "name": "com.google.guava:guava:15.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.3" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + }, + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1-nightly-20131017", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1-nightly-20131017", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20131017", + "natives": { + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + }, + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.client.main.Main" +} diff --git a/fml/jsons/1.7.9-dev.json b/fml/jsons/1.7.9-dev.json new file mode 100644 index 000000000..ea27cb4ef --- /dev/null +++ b/fml/jsons/1.7.9-dev.json @@ -0,0 +1,179 @@ +{ + "id": "@minecraft_version@-@project@@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "minecraftArguments": "--version FML_DEV --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "libraries": [ + { + "name": "net.minecraft:launchwrapper:1.9", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.ow2.asm:asm-debug-all:4.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "Important for FML, we add this" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "java3d:vecmath:1.3.1" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5" + }, + { + "name": "lzma:lzma:0.0.1" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.10.Final" + }, + { + "name": "com.google.guava:guava:15.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "commons-codec:commons-codec:1.9" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.5.13" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch:5.16" + }, + { + "name": "tv.twitch:twitch-platform:5.16", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "linux" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows-${arch}", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch-external-platform:4.5", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows" + } + } + ], + "natives": { + "windows": "natives-windows-${arch}" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch", + "minimumLauncherVersion": 9 +} diff --git a/fml/jsons/1.7.9-rel.json b/fml/jsons/1.7.9-rel.json new file mode 100644 index 000000000..0b733a62f --- /dev/null +++ b/fml/jsons/1.7.9-rel.json @@ -0,0 +1,219 @@ +{ +"install": { + "profileName": "@project@", + "target":"@minecraft_version@-@project@@version@", + "path":"@artifact@", + "version":"@project@ @version@", + "filePath":"@universal_jar@", + "welcome":"Welcome to the simple @project@ installer.", + "minecraft":"@minecraft_version@", + "mirrorList" : "http://files.minecraftforge.net/mirror-brand.list", + "logo":"/big_logo.png" +}, +"versionInfo": { + "id": "@minecraft_version@-@project@@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets} --uuid ${auth_uuid} --accessToken ${auth_access_token} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker", + "libraries": [ + { + "name": "@artifact@", + "url": "http://files.minecraftforge.net/maven/" + }, + { + "name": "net.minecraft:launchwrapper:1.9", + "serverreq":true + }, + { + "name": "org.ow2.asm:asm-all:4.1", + "serverreq":true + }, + { + "name": "org.scala-lang:scala-library:2.10.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "6ba65d12cd09d441083262d6f73d2257fec7c663", "65de4339eaed1c3675485fb03a3532fecfd8e8cd" ], + "comment" : "Important for FML, we add this", + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-compiler:2.10.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "64c8b1380cc53d6850823d6e4e7ae984aa44ef9c", "99fd0ffb66f3088b0cd1071315fd5eb2b2b070ff" ], + "comment" : "Important for FML, we add this", + "serverreq":true, + "clientreq":true + }, + { + "name": "java3d:vecmath:1.3.1" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "serverreq":true + }, + { + "name": "lzma:lzma:0.0.1", + "serverreq":true + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.10.Final" + }, + { + "name": "com.google.guava:guava:15.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.3" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1-nightly-20131017", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1-nightly-20131017", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20131017", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ], + "natives": { + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch", + "minimumLauncherVersion": 9 +} +} diff --git a/fml/jsons/1.7.9.json b/fml/jsons/1.7.9.json new file mode 100644 index 000000000..c5876c4bd --- /dev/null +++ b/fml/jsons/1.7.9.json @@ -0,0 +1,150 @@ +{ + "id": "1.7.9", + "time": "2014-04-14T15:29:23+02:00", + "releaseTime": "2014-04-14T15:29:23+02:00", + "type": "release", + "minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userProperties ${user_properties} --userType ${user_type}", + "minimumLauncherVersion": 13, + "assets": "1.7.4", + "libraries": [ + { + "name": "java3d:vecmath:1.3.1" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.10.Final" + }, + { + "name": "com.google.guava:guava:15.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.1" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "commons-codec:commons-codec:1.9" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.5.13" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch:5.16" + }, + { + "name": "tv.twitch:twitch-platform:5.16", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "linux" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows-${arch}", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch-external-platform:4.5", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows" + } + } + ], + "natives": { + "windows": "natives-windows-${arch}" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.client.main.Main" +} diff --git a/fml/jsons/1.8-dev.json b/fml/jsons/1.8-dev.json new file mode 100644 index 000000000..10f7bd663 --- /dev/null +++ b/fml/jsons/1.8-dev.json @@ -0,0 +1,314 @@ +{ + "id": "@minecraft_version@-@project@@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "minecraftArguments": "--version FML_DEV --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker", + "libraries": [ + { + "name": "net.minecraft:launchwrapper:1.11" + }, + { + "name": "com.google.code.findbugs:jsr305:1.3.9", + "children": ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.ow2.asm:asm-debug-all:5.0.3", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.typesafe.akka:akka-actor_2.11:2.3.3", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.typesafe:config:1.2.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-actors-migration_2.11:1.1.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-compiler:2.11.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-library:2.11.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang.modules:scala-parser-combinators_2.11:1.0.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang:scala-reflect:2.11.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang.modules:scala-swing_2.11:1.0.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "org.scala-lang.modules:scala-xml_2.11:1.0.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "lzma:lzma:0.0.1" + }, + { + "name": "java3d:vecmath:1.5.2" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.6", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.15.Final" + }, + { + "name": "com.google.guava:guava:17.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.3.2" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "commons-codec:commons-codec:1.9" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.5.17" + }, + { + "name": "com.mojang:realms:1.6.1" + }, + { + "name": "org.apache.commons:commons-compress:1.8.1" + }, + { + "name": "org.apache.httpcomponents:httpclient:4.3.3" + }, + { + "name": "commons-logging:commons-logging:1.1.3" + }, + { + "name": "org.apache.httpcomponents:httpcore:4.3.2" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.2-nightly-20140822", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.2-nightly-20140822", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.2-nightly-20140822", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch:6.5" + }, + { + "name": "tv.twitch:twitch-platform:6.5", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "linux" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows-${arch}", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch-external-platform:4.5", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows" + } + } + ], + "natives": { + "windows": "natives-windows-${arch}" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.launchwrapper.Launch", + "minimumLauncherVersion": 14, + "assets": "1.8" +} diff --git a/fml/jsons/1.8-rel.json b/fml/jsons/1.8-rel.json new file mode 100644 index 000000000..2b204b28b --- /dev/null +++ b/fml/jsons/1.8-rel.json @@ -0,0 +1,124 @@ +{ +"install": { + "profileName": "@project@", + "target":"@minecraft_version@-@project@@version@", + "path":"@artifact@", + "version":"@project@ @version@", + "filePath":"@universal_jar@", + "welcome":"Welcome to the simple @project@ installer.", + "minecraft":"@minecraft_version@", + "mirrorList" : "http://files.minecraftforge.net/mirror-brand.list", + "logo":"/big_logo.png" +}, +"versionInfo": { + "id": "@minecraft_version@-@project@@version@", + "time": "@timestamp@", + "releaseTime": "1960-01-01T00:00:00-0700", + "type": "release", + "minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userProperties ${user_properties} --userType ${user_type} --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker", + "mainClass": "net.minecraft.launchwrapper.Launch", + "minimumLauncherVersion": 14, + "assets": "1.8", + "inheritsFrom": "1.8", + "jar": "1.8", + "libraries": [ + { + "name": "@artifact@", + "url": "http://files.minecraftforge.net/maven/" + }, + { + "name": "net.minecraft:launchwrapper:1.11", + "serverreq":true + }, + { + "name": "org.ow2.asm:asm-all:5.0.3", + "serverreq":true + }, + { + "name": "com.typesafe.akka:akka-actor_2.11:2.3.3", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "ed62e9fc709ca0f2ff1a3220daa8b70a2870078e", "25a86ccfdb6f6dfe08971f4825d0a01be83a6f2e" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "com.typesafe:config:1.2.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "f771f71fdae3df231bcd54d5ca2d57f0bf93f467", "7d7bc36df0989d72f2d5d057309675777acc528b" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-actors-migration_2.11:1.1.0", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "dfa8bc42b181d5b9f1a5dd147f8ae308b893eb6f", "8c9aaeeb68487ca519411a14068e1b4d69739207" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-compiler:2.11.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "56ea2e6c025e0821f28d73ca271218b8dd04926a", "1444992390544ba3780867a13ff696a89d7d1639" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "87213338cd5a153a7712cb574c0ddd2edfee0386", "0b4c1bf8d48993f138d6e10c0c144e50acfff581" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "1f7371605d4ba42aa26d3443440c0083c587b4e9", "1ea655dda4504ae0a367327e2340cd3beaee6c73" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-library:2.11.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "0e11da23da3eabab9f4777b9220e60d44c1aab6a", "1e4df76e835201c6eabd43adca89ab11f225f134" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-parser-combinators_2.11:1.0.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "f05d7345bf5a58924f2837c6c1f4d73a938e1ff0", "a1cbbcbde1dcc614f4253ed1aa0b320bc78d8f1d" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-reflect:2.11.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "6580347e61cc7f8e802941e7fde40fa83b8badeb", "91ce0f0be20f4a536321724b4b3bbc6530ddcd88" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-swing_2.11:1.0.1", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "b1cdd92bd47b1e1837139c1c53020e86bb9112ae", "d77152691dcf5bbdb00529af37aa7d3d887b3e63" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "org.scala-lang:scala-xml_2.11:1.0.2", + "url" : "http://files.minecraftforge.net/maven/", + "checksums" : [ "7a80ec00aec122fba7cd4e0d4cdd87ff7e4cb6d0", "62736b01689d56b6d09a0164b7ef9da2b0b9633d" ], + "serverreq":true, + "clientreq":true + }, + { + "name": "lzma:lzma:0.0.1", + "serverreq":true + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "serverreq":true + } + ] +} +} \ No newline at end of file diff --git a/fml/jsons/1.8.json b/fml/jsons/1.8.json new file mode 100644 index 000000000..809d1790c --- /dev/null +++ b/fml/jsons/1.8.json @@ -0,0 +1,241 @@ +{ + "id": "1.8", + "time": "2014-09-02T08:24:35+00:00", + "releaseTime": "2014-09-02T08:24:35+00:00", + "type": "release", + "minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userProperties ${user_properties} --userType ${user_type}", + "minimumLauncherVersion": 14, + "assets": "1.8", + "libraries": [ + { + "name": "java3d:vecmath:1.5.2" + }, + { + "name": "net.sf.trove4j:trove4j:3.0.3" + }, + { + "name": "com.ibm.icu:icu4j-core-mojang:51.2" + }, + { + "name": "net.sf.jopt-simple:jopt-simple:4.6" + }, + { + "name": "com.paulscode:codecjorbis:20101023" + }, + { + "name": "com.paulscode:codecwav:20101023" + }, + { + "name": "com.paulscode:libraryjavasound:20101123" + }, + { + "name": "com.paulscode:librarylwjglopenal:20100824" + }, + { + "name": "com.paulscode:soundsystem:20120107" + }, + { + "name": "io.netty:netty-all:4.0.15.Final" + }, + { + "name": "com.google.guava:guava:17.0" + }, + { + "name": "org.apache.commons:commons-lang3:3.3.2" + }, + { + "name": "commons-io:commons-io:2.4" + }, + { + "name": "commons-codec:commons-codec:1.9" + }, + { + "name": "net.java.jinput:jinput:2.0.5" + }, + { + "name": "net.java.jutils:jutils:1.0.0" + }, + { + "name": "com.google.code.gson:gson:2.2.4" + }, + { + "name": "com.mojang:authlib:1.5.21" + }, + { + "name": "com.mojang:realms:1.6.1" + }, + { + "name": "org.apache.commons:commons-compress:1.8.1" + }, + { + "name": "org.apache.httpcomponents:httpclient:4.3.3" + }, + { + "name": "commons-logging:commons-logging:1.1.3" + }, + { + "name": "org.apache.httpcomponents:httpcore:4.3.2" + }, + { + "name": "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, + { + "name": "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.1", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + }, + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl:2.9.2-nightly-20140822", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.2-nightly-20140822", + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.2-nightly-20140822", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + }, + "rules": [ + { + "action": "allow", + "os": { + "name": "osx" + } + } + ] + }, + { + "name": "net.java.jinput:jinput-platform:2.0.5", + "natives": { + "linux": "natives-linux", + "windows": "natives-windows", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch:6.5" + }, + { + "name": "tv.twitch:twitch-platform:6.5", + "rules": [ + { + "action": "allow" + }, + { + "action": "disallow", + "os": { + "name": "linux" + } + } + ], + "natives": { + "linux": "natives-linux", + "windows": "natives-windows-${arch}", + "osx": "natives-osx" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + }, + { + "name": "tv.twitch:twitch-external-platform:4.5", + "rules": [ + { + "action": "allow", + "os": { + "name": "windows" + } + } + ], + "natives": { + "windows": "natives-windows-${arch}" + }, + "extract": { + "exclude": [ + "META-INF/" + ] + } + } + ], + "mainClass": "net.minecraft.client.main.Main" +} diff --git a/fml/jsons/big_logo.png b/fml/jsons/big_logo.png new file mode 100644 index 000000000..0407ed8f5 Binary files /dev/null and b/fml/jsons/big_logo.png differ diff --git a/fml/mcp_merge.cfg b/fml/mcp_merge.cfg new file mode 100644 index 000000000..1f8d967f2 --- /dev/null +++ b/fml/mcp_merge.cfg @@ -0,0 +1,9 @@ +^org/bouncycastle +^org/apache +^com/google +^com/mojang/authlib +^com/mojang/util +^gnu/trove +^io/netty +^javax/annotation +^argo diff --git a/fml/patches/minecraft/net/minecraft/block/Block.java.patch b/fml/patches/minecraft/net/minecraft/block/Block.java.patch new file mode 100644 index 000000000..60c590e5a --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/block/Block.java.patch @@ -0,0 +1,24 @@ +--- ../src-base/minecraft/net/minecraft/block/Block.java ++++ ../src-work/minecraft/net/minecraft/block/Block.java +@@ -39,8 +39,9 @@ + public class Block + { + private static final ResourceLocation field_176230_a = new ResourceLocation("air"); +- public static final RegistryNamespacedDefaultedByKey field_149771_c = new RegistryNamespacedDefaultedByKey(field_176230_a); +- public static final ObjectIntIdentityMap field_176229_d = new ObjectIntIdentityMap(); ++ public static final RegistryNamespacedDefaultedByKey field_149771_c = net.minecraftforge.fml.common.registry.GameData.getBlockRegistry(); ++ @Deprecated //Modders: DO NOT use this! Use GameRegistry ++ public static final ObjectIntIdentityMap field_176229_d = net.minecraftforge.fml.common.registry.GameData.getBlockStateIDMap(); + private CreativeTabs field_149772_a; + public static final Block.SoundType field_149769_e = new Block.SoundType("stone", 1.0F, 1.0F); + public static final Block.SoundType field_149766_f = new Block.SoundType("wood", 1.0F, 1.0F); +@@ -124,6 +125,9 @@ + private String field_149770_b; + private static final String __OBFID = "CL_00000199"; + ++ public final net.minecraftforge.fml.common.registry.RegistryDelegate delegate = ++ ((net.minecraftforge.fml.common.registry.FMLControlledNamespacedRegistry)field_149771_c).getDelegate(this, Block.class); ++ + public static int func_149682_b(Block p_149682_0_) + { + return field_149771_c.func_148757_b(p_149682_0_); diff --git a/fml/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch b/fml/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch new file mode 100644 index 000000000..d046aa4a5 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/ClientBrandRetriever.java.patch @@ -0,0 +1,10 @@ +--- ../src-base/minecraft/net/minecraft/client/ClientBrandRetriever.java ++++ ../src-work/minecraft/net/minecraft/client/ClientBrandRetriever.java +@@ -10,6 +10,6 @@ + + public static String getClientModName() + { +- return "vanilla"; ++ return net.minecraftforge.fml.common.FMLCommonHandler.instance().getModName(); + } + } diff --git a/fml/patches/minecraft/net/minecraft/client/LoadingScreenRenderer.java.patch b/fml/patches/minecraft/net/minecraft/client/LoadingScreenRenderer.java.patch new file mode 100644 index 000000000..9cbf23085 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/LoadingScreenRenderer.java.patch @@ -0,0 +1,26 @@ +--- ../src-base/minecraft/net/minecraft/client/LoadingScreenRenderer.java ++++ ../src-work/minecraft/net/minecraft/client/LoadingScreenRenderer.java +@@ -139,6 +139,10 @@ + GlStateManager.func_179086_m(16640); + } + ++ try ++ { ++ if (!net.minecraftforge.fml.client.FMLClientHandler.instance().handleLoadingScreen(scaledresolution)) //FML Don't render while FML's pre-screen is rendering ++ { + Tessellator tessellator = Tessellator.func_178181_a(); + WorldRenderer worldrenderer = tessellator.func_178180_c(); + this.field_73725_b.func_110434_K().func_110577_a(Gui.field_110325_k); +@@ -177,6 +181,12 @@ + GlStateManager.func_179120_a(770, 771, 1, 0); + this.field_73725_b.field_71466_p.func_175063_a(this.field_73726_c, (float)((l - this.field_73725_b.field_71466_p.func_78256_a(this.field_73726_c)) / 2), (float)(i1 / 2 - 4 - 16), 16777215); + this.field_73725_b.field_71466_p.func_175063_a(this.field_73727_a, (float)((l - this.field_73725_b.field_71466_p.func_78256_a(this.field_73727_a)) / 2), (float)(i1 / 2 - 4 + 8), 16777215); ++ } ++ } ++ catch (java.io.IOException e) ++ { ++ com.google.common.base.Throwables.propagate(e); ++ } //FML End + this.field_146588_g.func_147609_e(); + + if (OpenGlHelper.func_148822_b()) diff --git a/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch b/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch new file mode 100644 index 000000000..d80d88b03 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/Minecraft.java.patch @@ -0,0 +1,197 @@ +--- ../src-base/minecraft/net/minecraft/client/Minecraft.java ++++ ../src-work/minecraft/net/minecraft/client/Minecraft.java +@@ -410,10 +410,10 @@ + this.field_110451_am = new SimpleReloadableResourceManager(this.field_110452_an); + this.field_135017_as = new LanguageManager(this.field_110452_an, this.field_71474_y.field_74363_ab); + this.field_110451_am.func_110542_a(this.field_135017_as); +- this.func_110436_a(); ++ net.minecraftforge.fml.client.FMLClientHandler.instance().beginMinecraftLoading(this, this.field_110449_ao, this.field_110451_am); + this.field_71446_o = new TextureManager(this.field_110451_am); + this.field_110451_am.func_110542_a(this.field_71446_o); +- this.func_180510_a(this.field_71446_o); ++ net.minecraftforge.fml.client.SplashProgress.drawVanillaScreen(this.field_71446_o); + this.func_175595_al(); + this.field_152350_aA = new SkinManager(this.field_71446_o, new File(this.field_110446_Y, "skins"), this.field_152355_az); + this.field_71469_aa = new AnvilSaveConverter(new File(this.field_71412_D, "saves")); +@@ -449,6 +449,8 @@ + } + }); + this.field_71417_B = new MouseHelper(); ++ net.minecraftforge.fml.common.ProgressManager.ProgressBar bar= net.minecraftforge.fml.common.ProgressManager.push("Rendering Setup", 9); ++ bar.step("GL Setup"); + this.func_71361_d("Pre startup"); + GlStateManager.func_179098_w(); + GlStateManager.func_179103_j(7425); +@@ -462,17 +464,21 @@ + GlStateManager.func_179096_D(); + GlStateManager.func_179128_n(5888); + this.func_71361_d("Startup"); ++ bar.step("Loading Texture Map"); + this.field_147128_au = new TextureMap("textures"); + this.field_147128_au.func_147633_a(this.field_71474_y.field_151442_I); + this.field_71446_o.func_110580_a(TextureMap.field_110575_b, this.field_147128_au); + this.field_71446_o.func_110577_a(TextureMap.field_110575_b); + this.field_147128_au.func_174937_a(false, this.field_71474_y.field_151442_I > 0); ++ bar.step("Loading Model Manager"); + this.field_175617_aL = new ModelManager(this.field_147128_au); + this.field_110451_am.func_110542_a(this.field_175617_aL); ++ bar.step("Loading Item Renderer"); + this.field_175621_X = new RenderItem(this.field_71446_o, this.field_175617_aL); + this.field_175616_W = new RenderManager(this.field_71446_o, this.field_175621_X); + this.field_175620_Y = new ItemRenderer(this); + this.field_110451_am.func_110542_a(this.field_175621_X); ++ bar.step("Loading Entity Renderer"); + this.field_71460_t = new EntityRenderer(this, this.field_110451_am); + this.field_110451_am.func_110542_a(this.field_71460_t); + this.field_175618_aM = new BlockRendererDispatcher(this.field_175617_aL.func_174954_c(), this.field_71474_y); +@@ -482,19 +488,21 @@ + this.field_71458_u = new GuiAchievement(this); + GlStateManager.func_179083_b(0, 0, this.field_71443_c, this.field_71440_d); + this.field_71452_i = new EffectRenderer(this.field_71441_e, this.field_71446_o); ++ net.minecraftforge.fml.common.ProgressManager.pop(bar); ++ net.minecraftforge.fml.client.FMLClientHandler.instance().finishMinecraftLoading(); + this.func_71361_d("Post startup"); + this.field_71456_v = new GuiIngame(this); + + if (this.field_71475_ae != null) + { +- this.func_147108_a(new GuiConnecting(new GuiMainMenu(), this, this.field_71475_ae, this.field_71477_af)); ++ net.minecraftforge.fml.client.FMLClientHandler.instance().connectToServerAtStartup(this.field_71475_ae, this.field_71477_af); + } + else + { + this.func_147108_a(new GuiMainMenu()); + } + +- this.field_71446_o.func_147645_c(this.field_152354_ay); ++ net.minecraftforge.fml.client.SplashProgress.clearVanillaResources(field_71446_o, field_152354_ay); + this.field_152354_ay = null; + this.field_71461_s = new LoadingScreenRenderer(this); + +@@ -503,6 +511,7 @@ + this.func_71352_k(); + } + ++ net.minecraftforge.fml.client.FMLClientHandler.instance().onInitializationComplete(); + try + { + Display.setVSyncEnabled(this.field_71474_y.field_74352_v); +@@ -681,21 +690,23 @@ + File file2 = new File(file1, "crash-" + (new SimpleDateFormat("yyyy-MM-dd_HH.mm.ss")).format(new Date()) + "-client.txt"); + Bootstrap.func_179870_a(p_71377_1_.func_71502_e()); + ++ int retVal; + if (p_71377_1_.func_71497_f() != null) + { + Bootstrap.func_179870_a("#@!@# Game crashed! Crash report saved to: #@!@# " + p_71377_1_.func_71497_f()); +- System.exit(-1); ++ retVal = -1; + } + else if (p_71377_1_.func_147149_a(file2)) + { + Bootstrap.func_179870_a("#@!@# Game crashed! Crash report saved to: #@!@# " + file2.getAbsolutePath()); +- System.exit(-1); ++ retVal = -1; + } + else + { + Bootstrap.func_179870_a("#@?@# Game crashed! Crash report could not be saved. #@?@#"); +- System.exit(-2); ++ retVal = -2; + } ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().handleExit(retVal); + } + + public boolean func_152349_b() +@@ -999,7 +1010,7 @@ + { + while (!this.field_152351_aB.isEmpty()) + { +- ((FutureTask)this.field_152351_aB.poll()).run(); ++ net.minecraftforge.fml.common.FMLCommonHandler.callFuture(((FutureTask)this.field_152351_aB.poll())); + } + } + +@@ -1034,9 +1045,11 @@ + + if (!this.field_71454_w) + { ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().onRenderTickStart(this.field_71428_T.field_74281_c); + this.field_71424_I.func_76318_c("gameRenderer"); + this.field_71460_t.func_78480_b(this.field_71428_T.field_74281_c); + this.field_71424_I.func_76319_b(); ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().onRenderTickEnd(this.field_71428_T.field_74281_c); + } + + this.field_71424_I.func_76319_b(); +@@ -1591,6 +1604,8 @@ + --this.field_71467_ac; + } + ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().onPreClientTick(); ++ + this.field_71424_I.func_76320_a("gui"); + + if (!this.field_71445_n) +@@ -1744,6 +1759,7 @@ + this.field_71462_r.func_146274_d(); + } + } ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().fireMouseInput(); + } + + if (this.field_71429_W > 0) +@@ -1920,6 +1936,7 @@ + } + } + } ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().fireKeyInput(); + } + + for (i = 0; i < 9; ++i) +@@ -2120,12 +2137,15 @@ + this.field_71453_ak.func_74428_b(); + } + ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().onPostClientTick(); ++ + this.field_71424_I.func_76319_b(); + this.field_71423_H = func_71386_F(); + } + + public void func_71371_a(String p_71371_1_, String p_71371_2_, WorldSettings p_71371_3_) + { ++ net.minecraftforge.fml.client.FMLClientHandler.instance().startIntegratedServer(p_71371_1_, p_71371_2_, p_71371_3_); + this.func_71403_a((WorldClient)null); + System.gc(); + ISaveHandler isavehandler = this.field_71469_aa.func_75804_a(p_71371_1_, false); +@@ -2161,6 +2181,12 @@ + + while (!this.field_71437_Z.func_71200_ad()) + { ++ if (!net.minecraftforge.fml.common.StartupQuery.check()) ++ { ++ func_71403_a(null); ++ func_147108_a(null); ++ return; ++ } + String s2 = this.field_71437_Z.func_71195_b_(); + + if (s2 != null) +@@ -2186,7 +2212,7 @@ + SocketAddress socketaddress = this.field_71437_Z.func_147137_ag().func_151270_a(); + NetworkManager networkmanager = NetworkManager.func_150722_a(socketaddress); + networkmanager.func_150719_a(new NetHandlerLoginClient(networkmanager, this, (GuiScreen)null)); +- networkmanager.func_179290_a(new C00Handshake(47, socketaddress.toString(), 0, EnumConnectionState.LOGIN)); ++ networkmanager.func_179290_a(new C00Handshake(47, socketaddress.toString(), 0, EnumConnectionState.LOGIN, true)); + networkmanager.func_179290_a(new C00PacketLoginStart(this.func_110432_I().func_148256_e())); + this.field_71453_ak = networkmanager; + } +@@ -2237,6 +2263,7 @@ + + this.func_71351_a((ServerData)null); + this.field_71455_al = false; ++ net.minecraftforge.fml.client.FMLClientHandler.instance().handleClientWorldClosing(this.field_71441_e); + } + + this.field_147127_av.func_147690_c(); diff --git a/fml/patches/minecraft/net/minecraft/client/gui/FontRenderer.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/FontRenderer.java.patch new file mode 100644 index 000000000..7272aef7c --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/gui/FontRenderer.java.patch @@ -0,0 +1,126 @@ +--- ../src-base/minecraft/net/minecraft/client/gui/FontRenderer.java ++++ ../src-work/minecraft/net/minecraft/client/gui/FontRenderer.java +@@ -57,7 +57,7 @@ + this.field_111273_g = p_i1035_2_; + this.field_78298_i = p_i1035_3_; + this.field_78293_l = p_i1035_4_; +- p_i1035_3_.func_110577_a(this.field_111273_g); ++ bindTexture(this.field_111273_g); + + for (int i = 0; i < 32; ++i) + { +@@ -105,7 +105,7 @@ + + try + { +- bufferedimage = TextureUtil.func_177053_a(Minecraft.func_71410_x().func_110442_L().func_110536_a(this.field_111273_g).func_110527_b()); ++ bufferedimage = TextureUtil.func_177053_a(getResourceInputStream(this.field_111273_g)); + } + catch (IOException ioexception) + { +@@ -172,7 +172,7 @@ + + try + { +- inputstream = Minecraft.func_71410_x().func_110442_L().func_110536_a(new ResourceLocation("font/glyph_sizes.bin")).func_110527_b(); ++ inputstream = getResourceInputStream(new ResourceLocation("font/glyph_sizes.bin")); + inputstream.read(this.field_78287_e); + } + catch (IOException ioexception) +@@ -195,7 +195,7 @@ + float f = (float)(p_78266_1_ % 16 * 8); + float f1 = (float)(p_78266_1_ / 16 * 8); + float f2 = p_78266_2_ ? 1.0F : 0.0F; +- this.field_78298_i.func_110577_a(this.field_111273_g); ++ bindTexture(this.field_111273_g); + float f3 = (float)this.field_78286_d[p_78266_1_] - 0.01F; + GL11.glBegin(GL11.GL_TRIANGLE_STRIP); + GL11.glTexCoord2f(f / 128.0F, f1 / 128.0F); +@@ -222,7 +222,7 @@ + + private void func_78257_a(int p_78257_1_) + { +- this.field_78298_i.func_110577_a(this.func_111271_a(p_78257_1_)); ++ bindTexture(this.func_111271_a(p_78257_1_)); + } + + protected float func_78277_a(char p_78277_1_, boolean p_78277_2_) +@@ -269,7 +269,7 @@ + + public int func_175065_a(String p_175065_1_, float p_175065_2_, float p_175065_3_, int p_175065_4_, boolean p_175065_5_) + { +- GlStateManager.func_179141_d(); ++ enableAlpha(); + this.func_78265_b(); + int j; + +@@ -341,7 +341,7 @@ + + k = this.field_78285_g[j]; + this.field_78304_r = k; +- GlStateManager.func_179131_c((float)(k >> 16) / 255.0F, (float)(k >> 8 & 255) / 255.0F, (float)(k & 255) / 255.0F, this.field_78305_q); ++ setColor((float)(k >> 16) / 255.0F, (float)(k >> 8 & 255) / 255.0F, (float)(k & 255) / 255.0F, this.field_78305_q); + } + else if (j == 16) + { +@@ -370,7 +370,7 @@ + this.field_78299_w = false; + this.field_78300_v = false; + this.field_78301_u = false; +- GlStateManager.func_179131_c(this.field_78291_n, this.field_78292_o, this.field_78306_p, this.field_78305_q); ++ setColor(this.field_78291_n, this.field_78292_o, this.field_78306_p, this.field_78305_q); + } + + ++i; +@@ -429,6 +429,15 @@ + ++f; + } + ++ doDraw(f); ++ } ++ } ++ } ++ ++ protected void doDraw(float f) ++ { ++ { ++ { + Tessellator tessellator; + WorldRenderer worldrenderer; + +@@ -504,7 +513,7 @@ + this.field_78292_o = (float)(p_180455_4_ >> 8 & 255) / 255.0F; + this.field_78306_p = (float)(p_180455_4_ & 255) / 255.0F; + this.field_78305_q = (float)(p_180455_4_ >> 24 & 255) / 255.0F; +- GlStateManager.func_179131_c(this.field_78291_n, this.field_78292_o, this.field_78306_p, this.field_78305_q); ++ setColor(this.field_78291_n, this.field_78292_o, this.field_78306_p, this.field_78305_q); + this.field_78295_j = p_180455_2_; + this.field_78296_k = p_180455_3_; + this.func_78255_a(p_180455_1_, p_180455_5_); +@@ -842,6 +851,26 @@ + return this.field_78294_m; + } + ++ protected void setColor(float r, float g, float b, float a) ++ { ++ GlStateManager.func_179131_c(r,g,b,a); ++ } ++ ++ protected void enableAlpha() ++ { ++ GlStateManager.func_179141_d(); ++ } ++ ++ protected void bindTexture(ResourceLocation location) ++ { ++ field_78298_i.func_110577_a(location); ++ } ++ ++ protected InputStream getResourceInputStream(ResourceLocation location) throws IOException ++ { ++ return Minecraft.func_71410_x().func_110442_L().func_110536_a(location).func_110527_b(); ++ } ++ + public int func_175064_b(char p_175064_1_) + { + return this.field_78285_g["0123456789abcdef".indexOf(p_175064_1_)]; diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiButton.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiButton.java.patch new file mode 100644 index 000000000..1366ae5b5 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiButton.java.patch @@ -0,0 +1,24 @@ +--- ../src-base/minecraft/net/minecraft/client/gui/GuiButton.java ++++ ../src-work/minecraft/net/minecraft/client/gui/GuiButton.java +@@ -22,6 +22,7 @@ + public boolean field_146125_m; + protected boolean field_146123_n; + private static final String __OBFID = "CL_00000668"; ++ public int packedFGColour; //FML + + public GuiButton(int p_i1020_1_, int p_i1020_2_, int p_i1020_3_, String p_i1020_4_) + { +@@ -75,8 +76,12 @@ + this.func_146119_b(p_146112_1_, p_146112_2_, p_146112_3_); + int l = 14737632; + +- if (!this.field_146124_l) ++ if (packedFGColour != 0) + { ++ l = packedFGColour; ++ } ++ else if (!this.field_146124_l) ++ { + l = 10526880; + } + else if (this.field_146123_n) diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch new file mode 100644 index 000000000..3b07b5466 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/client/gui/GuiCreateWorld.java ++++ ../src-work/minecraft/net/minecraft/client/gui/GuiCreateWorld.java +@@ -213,6 +213,8 @@ + } + } + ++ WorldType.field_77139_a[this.field_146331_K].onGUICreateWorldPress(); ++ + WorldSettings.GameType gametype = WorldSettings.GameType.func_77142_a(this.field_146342_r); + WorldSettings worldsettings = new WorldSettings(i, gametype, this.field_146341_s, this.field_146337_w, WorldType.field_77139_a[this.field_146331_K]); + worldsettings.func_82750_a(this.field_146334_a); diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiIngameMenu.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiIngameMenu.java.patch new file mode 100644 index 000000000..d459e649f --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiIngameMenu.java.patch @@ -0,0 +1,24 @@ +--- ../src-base/minecraft/net/minecraft/client/gui/GuiIngameMenu.java ++++ ../src-work/minecraft/net/minecraft/client/gui/GuiIngameMenu.java +@@ -30,8 +30,9 @@ + + this.field_146292_n.add(new GuiButton(4, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 24 + b0, I18n.func_135052_a("menu.returnToGame", new Object[0]))); + this.field_146292_n.add(new GuiButton(0, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 96 + b0, 98, 20, I18n.func_135052_a("menu.options", new Object[0]))); ++ this.field_146292_n.add(new GuiButton(12, this.field_146294_l / 2 + 2, this.field_146295_m / 4 + 96 + b0, 98, 20, I18n.func_135052_a("fml.menu.modoptions"))); + GuiButton guibutton; +- this.field_146292_n.add(guibutton = new GuiButton(7, this.field_146294_l / 2 + 2, this.field_146295_m / 4 + 96 + b0, 98, 20, I18n.func_135052_a("menu.shareToLan", new Object[0]))); ++ this.field_146292_n.add(guibutton = new GuiButton(7, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 72 + b0, 200, 20, I18n.func_135052_a("menu.shareToLan", new Object[0]))); + this.field_146292_n.add(new GuiButton(5, this.field_146294_l / 2 - 100, this.field_146295_m / 4 + 48 + b0, 98, 20, I18n.func_135052_a("gui.achievements", new Object[0]))); + this.field_146292_n.add(new GuiButton(6, this.field_146294_l / 2 + 2, this.field_146295_m / 4 + 48 + b0, 98, 20, I18n.func_135052_a("gui.stats", new Object[0]))); + guibutton.field_146124_l = this.field_146297_k.func_71356_B() && !this.field_146297_k.func_71401_C().func_71344_c(); +@@ -65,6 +66,10 @@ + break; + case 7: + this.field_146297_k.func_147108_a(new GuiShareToLan(this)); ++ break; ++ case 12: ++ net.minecraftforge.fml.client.FMLClientHandler.instance().showInGameModOptions(this); ++ break; + } + } + diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch new file mode 100644 index 000000000..229de180d --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch @@ -0,0 +1,43 @@ +--- ../src-base/minecraft/net/minecraft/client/gui/GuiMainMenu.java ++++ ../src-work/minecraft/net/minecraft/client/gui/GuiMainMenu.java +@@ -198,6 +198,11 @@ + this.field_146292_n.add(new GuiButton(1, this.field_146294_l / 2 - 100, p_73969_1_, I18n.func_135052_a("menu.singleplayer", new Object[0]))); + this.field_146292_n.add(new GuiButton(2, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 1, I18n.func_135052_a("menu.multiplayer", new Object[0]))); + this.field_146292_n.add(this.field_175372_K = new GuiButton(14, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135052_a("menu.online", new Object[0]))); ++ GuiButton fmlModButton = new GuiButton(6, this.field_146294_l / 2 - 100, p_73969_1_ + p_73969_2_ * 2, I18n.func_135052_a("fml.menu.mods")); ++ fmlModButton.field_146128_h = this.field_146294_l / 2 + 2; ++ field_175372_K.field_146120_f = 98; ++ fmlModButton.field_146120_f = 98; ++ this.field_146292_n.add(fmlModButton); + } + + private void func_73972_b(int p_73972_1_, int p_73972_2_) +@@ -245,6 +250,11 @@ + this.field_146297_k.func_71400_g(); + } + ++ if (p_146284_1_.field_146127_k == 6) ++ { ++ this.field_146297_k.func_147108_a(new net.minecraftforge.fml.client.GuiModList(this)); ++ } ++ + if (p_146284_1_.field_146127_k == 11) + { + this.field_146297_k.func_71371_a("Demo_World", "Demo_World", DemoWorldServer.field_73071_a); +@@ -492,7 +502,15 @@ + s = s + " Demo"; + } + +- this.func_73731_b(this.field_146289_q, s, 2, this.field_146295_m - 10, -1); ++ java.util.List brandings = com.google.common.collect.Lists.reverse(net.minecraftforge.fml.common.FMLCommonHandler.instance().getBrandings(true)); ++ for (int i = 0; i < brandings.size(); i++) ++ { ++ String brd = brandings.get(i); ++ if (!com.google.common.base.Strings.isNullOrEmpty(brd)) ++ { ++ this.func_73731_b(this.field_146289_q, brd, 2, this.field_146295_m - ( 10 + i * (this.field_146289_q.field_78288_b + 1)), 16777215); ++ } ++ } + String s1 = "Copyright Mojang AB. Do not distribute!"; + this.func_73731_b(this.field_146289_q, s1, this.field_146294_l - this.field_146289_q.func_78256_a(s1) - 2, this.field_146295_m - 10, -1); + diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiMultiplayer.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiMultiplayer.java.patch new file mode 100644 index 000000000..b3e441a5e --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiMultiplayer.java.patch @@ -0,0 +1,19 @@ +--- ../src-base/minecraft/net/minecraft/client/gui/GuiMultiplayer.java ++++ ../src-work/minecraft/net/minecraft/client/gui/GuiMultiplayer.java +@@ -41,6 +41,7 @@ + public GuiMultiplayer(GuiScreen p_i1040_1_) + { + this.field_146798_g = p_i1040_1_; ++ net.minecraftforge.fml.client.FMLClientHandler.instance().setupServerList(); + } + + public void func_73866_w_() +@@ -373,7 +374,7 @@ + + private void func_146791_a(ServerData p_146791_1_) + { +- this.field_146297_k.func_147108_a(new GuiConnecting(this, this.field_146297_k, p_146791_1_)); ++ net.minecraftforge.fml.client.FMLClientHandler.instance().connectToServer(this, p_146791_1_); + } + + public void func_146790_a(int p_146790_1_) diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch new file mode 100644 index 000000000..dc555d651 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch @@ -0,0 +1,12 @@ +--- ../src-base/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java ++++ ../src-work/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java +@@ -170,6 +170,9 @@ + long l = j - k; + ArrayList arraylist = Lists.newArrayList(new String[] {String.format("Java: %s %dbit", new Object[]{System.getProperty("java.version"), Integer.valueOf(this.field_175242_a.func_147111_S() ? 64 : 32)}), String.format("Mem: % 2d%% %03d/%03dMB", new Object[]{Long.valueOf(l * 100L / i), Long.valueOf(func_175240_a(l)), Long.valueOf(func_175240_a(i))}), String.format("Allocated: % 2d%% %03dMB", new Object[]{Long.valueOf(j * 100L / i), Long.valueOf(func_175240_a(j))}), "", String.format("Display: %dx%d (%s)", new Object[]{Integer.valueOf(Display.getWidth()), Integer.valueOf(Display.getHeight()), GL11.glGetString(GL11.GL_VENDOR)}), GL11.glGetString(GL11.GL_RENDERER), GL11.glGetString(GL11.GL_VERSION)}); + ++ arraylist.add(""); ++ arraylist.addAll(net.minecraftforge.fml.common.FMLCommonHandler.instance().getBrandings(false)); ++ + if (this.func_175236_d()) + { + return arraylist; diff --git a/fml/patches/minecraft/net/minecraft/client/gui/GuiSelectWorld.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/GuiSelectWorld.java.patch new file mode 100644 index 000000000..d4be0db7a --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/gui/GuiSelectWorld.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/client/gui/GuiSelectWorld.java ++++ ../src-work/minecraft/net/minecraft/client/gui/GuiSelectWorld.java +@@ -187,7 +187,7 @@ + + if (this.field_146297_k.func_71359_d().func_90033_f(s)) + { +- this.field_146297_k.func_71371_a(s, s1, (WorldSettings)null); ++ net.minecraftforge.fml.client.FMLClientHandler.instance().tryLoadExistingWorld(this, s, s1); + } + } + } diff --git a/fml/patches/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java.patch b/fml/patches/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java.patch new file mode 100644 index 000000000..90dfde34b --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java.patch @@ -0,0 +1,23 @@ +--- ../src-base/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java ++++ ../src-work/minecraft/net/minecraft/client/gui/ServerListEntryNormal.java +@@ -84,7 +84,7 @@ + boolean flag2 = this.field_148301_e.field_82821_f < 47; + boolean flag3 = flag1 || flag2; + this.field_148300_d.field_71466_p.func_78276_b(this.field_148301_e.field_78847_a, p_180790_2_ + 32 + 3, p_180790_3_ + 1, 16777215); +- List list = this.field_148300_d.field_71466_p.func_78271_c(this.field_148301_e.field_78843_d, p_180790_4_ - 32 - 2); ++ List list = this.field_148300_d.field_71466_p.func_78271_c(net.minecraftforge.fml.client.FMLClientHandler.instance().fixDescription(this.field_148301_e.field_78843_d), p_180790_4_ - 48 - 2); + + for (int l1 = 0; l1 < Math.min(list.size(), 2); ++l1) + { +@@ -178,6 +178,11 @@ + int k2 = p_180790_6_ - p_180790_2_; + int l2 = p_180790_7_ - p_180790_3_; + ++ String tooltip = net.minecraftforge.fml.client.FMLClientHandler.instance().enhanceServerListEntry(this, this.field_148301_e, p_180790_2_, p_180790_4_, p_180790_3_, k2, l2); ++ if (tooltip != null) ++ { ++ this.field_148303_c.func_146793_a(tooltip); ++ } else + if (k2 >= p_180790_4_ - 15 && k2 <= p_180790_4_ - 5 && l2 >= 0 && l2 <= 8) + { + this.field_148303_c.func_146793_a(s1); diff --git a/fml/patches/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java.patch b/fml/patches/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java.patch new file mode 100644 index 000000000..05ba7abc5 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java ++++ ../src-work/minecraft/net/minecraft/client/multiplayer/GuiConnecting.java +@@ -69,7 +69,7 @@ + inetaddress = InetAddress.getByName(p_146367_1_); + GuiConnecting.this.field_146371_g = NetworkManager.func_150726_a(inetaddress, p_146367_2_); + GuiConnecting.this.field_146371_g.func_150719_a(new NetHandlerLoginClient(GuiConnecting.this.field_146371_g, GuiConnecting.this.field_146297_k, GuiConnecting.this.field_146374_i)); +- GuiConnecting.this.field_146371_g.func_179290_a(new C00Handshake(47, p_146367_1_, p_146367_2_, EnumConnectionState.LOGIN)); ++ GuiConnecting.this.field_146371_g.func_179290_a(new C00Handshake(47, p_146367_1_, p_146367_2_, EnumConnectionState.LOGIN, true)); + GuiConnecting.this.field_146371_g.func_179290_a(new C00PacketLoginStart(GuiConnecting.this.field_146297_k.func_110432_I().func_148256_e())); + } + catch (UnknownHostException unknownhostexception) diff --git a/fml/patches/minecraft/net/minecraft/client/network/NetHandlerHandshakeMemory.java.patch b/fml/patches/minecraft/net/minecraft/client/network/NetHandlerHandshakeMemory.java.patch new file mode 100644 index 000000000..1b37230bf --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/network/NetHandlerHandshakeMemory.java.patch @@ -0,0 +1,10 @@ +--- ../src-base/minecraft/net/minecraft/client/network/NetHandlerHandshakeMemory.java ++++ ../src-work/minecraft/net/minecraft/client/network/NetHandlerHandshakeMemory.java +@@ -24,6 +24,7 @@ + + public void func_147383_a(C00Handshake p_147383_1_) + { ++ if (!net.minecraftforge.fml.common.FMLCommonHandler.instance().handleServerHandshake(p_147383_1_, this.field_147384_b)) return; + this.field_147384_b.func_150723_a(p_147383_1_.func_149594_c()); + this.field_147384_b.func_150719_a(new NetHandlerLoginServer(this.field_147385_a, this.field_147384_b)); + } diff --git a/fml/patches/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java.patch b/fml/patches/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java.patch new file mode 100644 index 000000000..0b265296c --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java.patch @@ -0,0 +1,14 @@ +--- ../src-base/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java ++++ ../src-work/minecraft/net/minecraft/client/network/NetHandlerLoginClient.java +@@ -92,7 +92,10 @@ + { + this.field_175091_e = p_147390_1_.func_179730_a(); + this.field_147393_d.func_150723_a(EnumConnectionState.PLAY); +- this.field_147393_d.func_150719_a(new NetHandlerPlayClient(this.field_147394_b, this.field_147395_c, this.field_147393_d, this.field_175091_e)); ++ net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.fmlClientHandshake(this.field_147393_d); ++ NetHandlerPlayClient nhpc = new NetHandlerPlayClient(this.field_147394_b, this.field_147395_c, this.field_147393_d, this.field_175091_e); ++ this.field_147393_d.func_150719_a(nhpc); ++ net.minecraftforge.fml.client.FMLClientHandler.instance().setPlayClient(nhpc); + } + + public void func_147231_a(IChatComponent p_147231_1_) diff --git a/fml/patches/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java.patch b/fml/patches/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java.patch new file mode 100644 index 000000000..f92bdb01b --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java ++++ ../src-work/minecraft/net/minecraft/client/network/NetHandlerPlayClient.java +@@ -247,7 +247,7 @@ + { + PacketThreadUtil.func_180031_a(p_147282_1_, this, this.field_147299_f); + this.field_147299_f.field_71442_b = new PlayerControllerMP(this.field_147299_f, this); +- this.field_147300_g = new WorldClient(this, new WorldSettings(0L, p_147282_1_.func_149198_e(), false, p_147282_1_.func_149195_d(), p_147282_1_.func_149196_i()), p_147282_1_.func_149194_f(), p_147282_1_.func_149192_g(), this.field_147299_f.field_71424_I); ++ this.field_147300_g = new WorldClient(this, new WorldSettings(0L, p_147282_1_.func_149198_e(), false, p_147282_1_.func_149195_d(), p_147282_1_.func_149196_i()), net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.get(func_147298_b()).getOverrideDimension(p_147282_1_), p_147282_1_.func_149192_g(), this.field_147299_f.field_71424_I); + this.field_147299_f.field_71474_y.field_74318_M = p_147282_1_.func_149192_g(); + this.field_147299_f.func_71403_a(this.field_147300_g); + this.field_147299_f.field_71439_g.field_71093_bK = p_147282_1_.func_149194_f(); diff --git a/fml/patches/minecraft/net/minecraft/client/network/OldServerPinger.java.patch b/fml/patches/minecraft/net/minecraft/client/network/OldServerPinger.java.patch new file mode 100644 index 000000000..f85c95d04 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/network/OldServerPinger.java.patch @@ -0,0 +1,10 @@ +--- ../src-base/minecraft/net/minecraft/client/network/OldServerPinger.java ++++ ../src-work/minecraft/net/minecraft/client/network/OldServerPinger.java +@@ -148,6 +148,7 @@ + p_147224_1_.func_147407_a((String)null); + } + ++ net.minecraftforge.fml.client.FMLClientHandler.instance().bindServerListData(p_147224_1_, serverstatusresponse); + this.field_175092_e = Minecraft.func_71386_F(); + networkmanager.func_179290_a(new C01PacketPing(this.field_175092_e)); + this.field_147403_d = true; diff --git a/fml/patches/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java.patch new file mode 100644 index 000000000..899e6b69b --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java ++++ ../src-work/minecraft/net/minecraft/client/renderer/entity/RenderVillager.java +@@ -48,7 +48,7 @@ + case 4: + return field_110906_m; + default: +- return field_110903_f; ++ return net.minecraftforge.fml.common.registry.VillagerRegistry.getVillagerSkin(p_110775_1_.func_70946_n(), field_110903_f); + } + } + diff --git a/fml/patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch new file mode 100644 index 000000000..2f6291fc4 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch @@ -0,0 +1,91 @@ +--- ../src-base/minecraft/net/minecraft/client/renderer/texture/TextureMap.java ++++ ../src-work/minecraft/net/minecraft/client/renderer/texture/TextureMap.java +@@ -91,6 +91,7 @@ + this.field_94258_i.clear(); + int j = Integer.MAX_VALUE; + int k = 1 << this.field_147636_j; ++ net.minecraftforge.fml.common.ProgressManager.ProgressBar bar = net.minecraftforge.fml.common.ProgressManager.push("Texture stitching", this.field_110574_e.size()); + Iterator iterator = this.field_110574_e.entrySet().iterator(); + + while (iterator.hasNext()) +@@ -99,6 +100,7 @@ + TextureAtlasSprite textureatlassprite = (TextureAtlasSprite)entry.getValue(); + ResourceLocation resourcelocation = new ResourceLocation(textureatlassprite.func_94215_i()); + ResourceLocation resourcelocation1 = this.func_147634_a(resourcelocation, 0); ++ bar.step(resourcelocation1.func_110623_a()); + + try + { +@@ -150,12 +152,14 @@ + } + catch (RuntimeException runtimeexception) + { +- field_147635_d.error("Unable to parse metadata from " + resourcelocation1, runtimeexception); ++ //logger.error("Unable to parse metadata from " + resourcelocation1, runtimeexception); ++ net.minecraftforge.fml.client.FMLClientHandler.instance().trackBrokenTexture(resourcelocation1, runtimeexception.getMessage()); + continue; + } + catch (IOException ioexception1) + { +- field_147635_d.error("Using missing texture, unable to load " + resourcelocation1, ioexception1); ++ //logger.error("Using missing texture, unable to load " + resourcelocation1, ioexception1); ++ net.minecraftforge.fml.client.FMLClientHandler.instance().trackMissingTexture(resourcelocation1); + continue; + } + +@@ -171,6 +175,7 @@ + stitcher.func_110934_a(textureatlassprite); + } + ++ net.minecraftforge.fml.common.ProgressManager.pop(bar); + int j1 = Math.min(j, k); + int k1 = MathHelper.func_151239_c(j1); + +@@ -181,10 +186,12 @@ + } + + Iterator iterator1 = this.field_110574_e.values().iterator(); ++ bar = net.minecraftforge.fml.common.ProgressManager.push("Mipmap generation", this.field_110574_e.size()); + + while (iterator1.hasNext()) + { + final TextureAtlasSprite textureatlassprite1 = (TextureAtlasSprite)iterator1.next(); ++ bar.step(textureatlassprite1.func_94215_i()); + + try + { +@@ -225,9 +232,12 @@ + + this.field_94249_f.func_147963_d(this.field_147636_j); + stitcher.func_110934_a(this.field_94249_f); ++ net.minecraftforge.fml.common.ProgressManager.pop(bar); ++ bar = net.minecraftforge.fml.common.ProgressManager.push("Texture creation", 3); + + try + { ++ bar.step("Stitching"); + stitcher.func_94305_f(); + } + catch (StitcherException stitcherexception) +@@ -236,11 +246,13 @@ + } + + field_147635_d.info("Created: {}x{} {}-atlas", new Object[] {Integer.valueOf(stitcher.func_110935_a()), Integer.valueOf(stitcher.func_110936_b()), this.field_94254_c}); ++ bar.step("Allocating GL texture"); + TextureUtil.func_180600_a(this.func_110552_b(), this.field_147636_j, stitcher.func_110935_a(), stitcher.func_110936_b()); + HashMap hashmap = Maps.newHashMap(this.field_110574_e); + Iterator iterator2 = stitcher.func_94309_g().iterator(); + TextureAtlasSprite textureatlassprite2; + ++ bar.step("Uploading GL texture"); + while (iterator2.hasNext()) + { + textureatlassprite2 = (TextureAtlasSprite)iterator2.next(); +@@ -276,6 +288,7 @@ + } + + TextureUtil.func_177055_a(this.field_94254_c.replaceAll("/", "_"), this.func_110552_b(), this.field_147636_j, stitcher.func_110935_a(), stitcher.func_110936_b()); ++ net.minecraftforge.fml.common.ProgressManager.pop(bar); + } + + private ResourceLocation func_147634_a(ResourceLocation p_147634_1_, int p_147634_2_) diff --git a/fml/patches/minecraft/net/minecraft/client/renderer/texture/TextureUtil.java.patch b/fml/patches/minecraft/net/minecraft/client/renderer/texture/TextureUtil.java.patch new file mode 100644 index 000000000..4e5c66c9f --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/renderer/texture/TextureUtil.java.patch @@ -0,0 +1,15 @@ +--- ../src-base/minecraft/net/minecraft/client/renderer/texture/TextureUtil.java ++++ ../src-work/minecraft/net/minecraft/client/renderer/texture/TextureUtil.java +@@ -202,9 +202,11 @@ + + public static void func_180600_a(int p_180600_0_, int p_180600_1_, int p_180600_2_, int p_180600_3_) + { ++ synchronized (net.minecraftforge.fml.client.SplashProgress.class) ++ { + func_147942_a(p_180600_0_); + func_94277_a(p_180600_0_); +- ++ } + if (p_180600_1_ >= 0) + { + GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL12.GL_TEXTURE_MAX_LEVEL, p_180600_1_); diff --git a/fml/patches/minecraft/net/minecraft/client/resources/AbstractResourcePack.java.patch b/fml/patches/minecraft/net/minecraft/client/resources/AbstractResourcePack.java.patch new file mode 100644 index 000000000..feee903f7 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/resources/AbstractResourcePack.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/client/resources/AbstractResourcePack.java ++++ ../src-work/minecraft/net/minecraft/client/resources/AbstractResourcePack.java +@@ -58,7 +58,7 @@ + + protected void func_110594_c(String p_110594_1_) + { +- field_110598_a.warn("ResourcePack: ignored non-lowercase namespace: %s in %s", new Object[] {p_110594_1_, this.field_110597_b}); ++ field_110598_a.warn("ResourcePack: ignored non-lowercase namespace: {} in {}", new Object[] {p_110594_1_, this.field_110597_b}); + } + + public IMetadataSection func_135058_a(IMetadataSerializer p_135058_1_, String p_135058_2_) throws IOException diff --git a/fml/patches/minecraft/net/minecraft/client/resources/FallbackResourceManager.java.patch b/fml/patches/minecraft/net/minecraft/client/resources/FallbackResourceManager.java.patch new file mode 100644 index 000000000..c002dd01f --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/resources/FallbackResourceManager.java.patch @@ -0,0 +1,10 @@ +--- ../src-base/minecraft/net/minecraft/client/resources/FallbackResourceManager.java ++++ ../src-work/minecraft/net/minecraft/client/resources/FallbackResourceManager.java +@@ -70,6 +70,7 @@ + throw new FileNotFoundException(p_110536_1_.toString()); + } + ++ @SuppressWarnings("resource") + protected InputStream func_177245_a(ResourceLocation p_177245_1_, IResourcePack p_177245_2_) throws IOException + { + InputStream inputstream = p_177245_2_.func_110590_a(p_177245_1_); diff --git a/fml/patches/minecraft/net/minecraft/client/resources/LanguageManager.java.patch b/fml/patches/minecraft/net/minecraft/client/resources/LanguageManager.java.patch new file mode 100644 index 000000000..de7ea2b62 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/resources/LanguageManager.java.patch @@ -0,0 +1,10 @@ +--- ../src-base/minecraft/net/minecraft/client/resources/LanguageManager.java ++++ ../src-work/minecraft/net/minecraft/client/resources/LanguageManager.java +@@ -83,6 +83,7 @@ + } + + field_135049_a.func_135022_a(p_110549_1_, arraylist); ++ net.minecraftforge.fml.common.registry.LanguageRegistry.instance().mergeLanguageTable(field_135049_a.field_135032_a, this.field_135048_c); + StringTranslate.func_135063_a(field_135049_a.field_135032_a); + } + diff --git a/fml/patches/minecraft/net/minecraft/client/resources/Locale.java.patch b/fml/patches/minecraft/net/minecraft/client/resources/Locale.java.patch new file mode 100644 index 000000000..fc84931f7 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/resources/Locale.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/client/resources/Locale.java ++++ ../src-work/minecraft/net/minecraft/client/resources/Locale.java +@@ -107,6 +107,8 @@ + + private void func_135021_a(InputStream p_135021_1_) throws IOException + { ++ p_135021_1_ = net.minecraftforge.fml.common.FMLCommonHandler.instance().loadLanguage(field_135032_a, p_135021_1_); ++ if (p_135021_1_ == null) return; + Iterator iterator = IOUtils.readLines(p_135021_1_, Charsets.UTF_8).iterator(); + + while (iterator.hasNext()) diff --git a/fml/patches/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java.patch b/fml/patches/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java.patch new file mode 100644 index 000000000..f6bef8704 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java.patch @@ -0,0 +1,46 @@ +--- ../src-base/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java ++++ ../src-work/minecraft/net/minecraft/client/resources/SimpleReloadableResourceManager.java +@@ -95,6 +95,7 @@ + public void func_110541_a(List p_110541_1_) + { + this.func_110543_a(); ++ net.minecraftforge.fml.common.ProgressManager.ProgressBar resReload = net.minecraftforge.fml.common.ProgressManager.push("Loading Resources", p_110541_1_.size()+1); + field_147967_a.info("Reloading ResourceManager: " + field_130074_a.join(Iterables.transform(p_110541_1_, new Function() + { + private static final String __OBFID = "CL_00001092"; +@@ -112,26 +113,35 @@ + while (iterator.hasNext()) + { + IResourcePack iresourcepack = (IResourcePack)iterator.next(); ++ resReload.step(iresourcepack.func_130077_b()); + this.func_110545_a(iresourcepack); + } + ++ resReload.step("Reloading listeners"); + this.func_110544_b(); ++ net.minecraftforge.fml.common.ProgressManager.pop(resReload); + } + + public void func_110542_a(IResourceManagerReloadListener p_110542_1_) + { + this.field_110546_b.add(p_110542_1_); ++ net.minecraftforge.fml.common.ProgressManager.ProgressBar resReload = net.minecraftforge.fml.common.ProgressManager.push("Loading Resource", 1); ++ resReload.step(p_110542_1_.getClass()); + p_110542_1_.func_110549_a(this); ++ net.minecraftforge.fml.common.ProgressManager.pop(resReload); + } + + private void func_110544_b() + { + Iterator iterator = this.field_110546_b.iterator(); + ++ net.minecraftforge.fml.common.ProgressManager.ProgressBar resReload = net.minecraftforge.fml.common.ProgressManager.push("Reloading", this.field_110546_b.size()); + while (iterator.hasNext()) + { + IResourceManagerReloadListener iresourcemanagerreloadlistener = (IResourceManagerReloadListener)iterator.next(); ++ resReload.step(iresourcemanagerreloadlistener.getClass()); + iresourcemanagerreloadlistener.func_110549_a(this); + } ++ net.minecraftforge.fml.common.ProgressManager.pop(resReload); + } + } diff --git a/fml/patches/minecraft/net/minecraft/client/resources/model/ModelBakery.java.patch b/fml/patches/minecraft/net/minecraft/client/resources/model/ModelBakery.java.patch new file mode 100644 index 000000000..e7a1716d9 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/resources/model/ModelBakery.java.patch @@ -0,0 +1,41 @@ +--- ../src-base/minecraft/net/minecraft/client/resources/model/ModelBakery.java ++++ ../src-work/minecraft/net/minecraft/client/resources/model/ModelBakery.java +@@ -318,6 +318,7 @@ + + private void func_177592_e() + { ++ this.field_177613_u.clear(); //FML clear this to prevent double ups. + this.field_177613_u.put(Item.func_150898_a(Blocks.field_150348_b), Lists.newArrayList(new String[] {"stone", "granite", "granite_smooth", "diorite", "diorite_smooth", "andesite", "andesite_smooth"})); + this.field_177613_u.put(Item.func_150898_a(Blocks.field_150346_d), Lists.newArrayList(new String[] {"dirt", "coarse_dirt", "podzol"})); + this.field_177613_u.put(Item.func_150898_a(Blocks.field_150344_f), Lists.newArrayList(new String[] {"oak_planks", "spruce_planks", "birch_planks", "jungle_planks", "acacia_planks", "dark_oak_planks"})); +@@ -360,6 +361,10 @@ + this.field_177613_u.put(Item.func_150898_a(Blocks.field_180390_bo), Lists.newArrayList(new String[] {"oak_fence_gate"})); + this.field_177613_u.put(Item.func_150898_a(Blocks.field_180407_aO), Lists.newArrayList(new String[] {"oak_fence"})); + this.field_177613_u.put(Items.field_179570_aq, Lists.newArrayList(new String[] {"oak_door"})); ++ for (Entry, Set> e : customVariantNames.entrySet()) ++ { ++ this.field_177613_u.put(e.getKey().get(), Lists.newArrayList(e.getValue().iterator())); ++ } + } + + private List func_177596_a(Item p_177596_1_) +@@ -809,4 +814,19 @@ + field_177617_q.field_178317_b = "class generation marker"; + field_177616_r.field_178317_b = "block entity marker"; + } ++ ++ /*********************************************************** ++ * FML Start ++ ***********************************************************/ ++ private static Map, Set> customVariantNames = Maps.newHashMap(); ++ public static void addVariantName(Item item, String... names) ++ { ++ if (customVariantNames.containsKey(item.delegate)) ++ customVariantNames.get(item.delegate).addAll(Lists.newArrayList(names)); ++ else ++ customVariantNames.put(item.delegate, Sets.newHashSet(names)); ++ } ++ /*********************************************************** ++ * FML End ++ ***********************************************************/ + } diff --git a/fml/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch b/fml/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch new file mode 100644 index 000000000..74702821a --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch @@ -0,0 +1,10 @@ +--- ../src-base/minecraft/net/minecraft/client/settings/GameSettings.java ++++ ../src-work/minecraft/net/minecraft/client/settings/GameSettings.java +@@ -1067,6 +1067,7 @@ + + public void func_74303_b() + { ++ if (net.minecraftforge.fml.client.FMLClientHandler.instance().isLoading()) return; + try + { + PrintWriter printwriter = new PrintWriter(new FileWriter(this.field_74354_ai)); diff --git a/fml/patches/minecraft/net/minecraft/crash/CrashReport.java.patch b/fml/patches/minecraft/net/minecraft/crash/CrashReport.java.patch new file mode 100644 index 000000000..224cdfd43 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/crash/CrashReport.java.patch @@ -0,0 +1,19 @@ +--- ../src-base/minecraft/net/minecraft/crash/CrashReport.java ++++ ../src-work/minecraft/net/minecraft/crash/CrashReport.java +@@ -126,6 +126,7 @@ + return IntCache.func_85144_b(); + } + }); ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().enhanceCrashReport(this, this.field_85061_c); + } + + public String func_71501_a() +@@ -220,6 +221,8 @@ + { + StringBuilder stringbuilder = new StringBuilder(); + stringbuilder.append("---- Minecraft Crash Report ----\n"); ++ net.minecraftforge.fml.common.asm.transformers.BlamingTransformer.onCrash(stringbuilder); ++ net.minecraftforge.fml.relauncher.CoreModManager.onCrash(stringbuilder); + stringbuilder.append("// "); + stringbuilder.append(func_71503_h()); + stringbuilder.append("\n\n"); diff --git a/fml/patches/minecraft/net/minecraft/entity/EntityList.java.patch b/fml/patches/minecraft/net/minecraft/entity/EntityList.java.patch new file mode 100644 index 000000000..494d91dd7 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/entity/EntityList.java.patch @@ -0,0 +1,32 @@ +--- ../src-base/minecraft/net/minecraft/entity/EntityList.java ++++ ../src-work/minecraft/net/minecraft/entity/EntityList.java +@@ -153,9 +153,10 @@ + p_75615_0_.func_82580_o("Type"); + } + ++ Class oclass = null; + try + { +- Class oclass = (Class)field_75625_b.get(p_75615_0_.func_74779_i("id")); ++ oclass = (Class)field_75625_b.get(p_75615_0_.func_74779_i("id")); + + if (oclass != null) + { +@@ -169,7 +170,17 @@ + + if (entity != null) + { ++ try ++ { + entity.func_70020_e(p_75615_0_); ++ } ++ catch (Exception e) ++ { ++ net.minecraftforge.fml.common.FMLLog.log(org.apache.logging.log4j.Level.ERROR, e, ++ "An Entity %s(%s) has thrown an exception during loading, its state cannot be restored. Report this to the mod author", ++ p_75615_0_.func_74779_i("id"), oclass.getName()); ++ entity = null; ++ } + } + else + { diff --git a/fml/patches/minecraft/net/minecraft/entity/EntityTracker.java.patch b/fml/patches/minecraft/net/minecraft/entity/EntityTracker.java.patch new file mode 100644 index 000000000..abade62f5 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/entity/EntityTracker.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/entity/EntityTracker.java ++++ ../src-work/minecraft/net/minecraft/entity/EntityTracker.java +@@ -58,6 +58,8 @@ + + public void func_72786_a(Entity p_72786_1_) + { ++ if (net.minecraftforge.fml.common.registry.EntityRegistry.instance().tryTrackingEntity(this, p_72786_1_)) return; ++ + if (p_72786_1_ instanceof EntityPlayerMP) + { + this.func_72791_a(p_72786_1_, 512, 2); diff --git a/fml/patches/minecraft/net/minecraft/entity/EntityTrackerEntry.java.patch b/fml/patches/minecraft/net/minecraft/entity/EntityTrackerEntry.java.patch new file mode 100644 index 000000000..35e4a50b3 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/entity/EntityTrackerEntry.java.patch @@ -0,0 +1,27 @@ +--- ../src-base/minecraft/net/minecraft/entity/EntityTrackerEntry.java ++++ ../src-work/minecraft/net/minecraft/entity/EntityTrackerEntry.java +@@ -388,6 +388,14 @@ + this.field_73138_k = this.field_73132_a.field_70181_x; + this.field_73135_l = this.field_73132_a.field_70179_y; + ++ int posX = MathHelper.func_76128_c(this.field_73132_a.field_70165_t * 32.0D); ++ int posY = MathHelper.func_76128_c(this.field_73132_a.field_70163_u * 32.0D); ++ int posZ = MathHelper.func_76128_c(this.field_73132_a.field_70161_v * 32.0D); ++ if (posX != this.field_73128_d || posY != this.field_73129_e || posZ != this.field_73126_f) ++ { ++ net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.makeEntitySpawnAdjustment(this.field_73132_a, p_73117_1_, this.field_73128_d, this.field_73129_e, this.field_73126_f); ++ } ++ + if (this.field_73143_t && !(packet instanceof S0FPacketSpawnMob)) + { + p_73117_1_.field_71135_a.func_147359_a(new S12PacketEntityVelocity(this.field_73132_a.func_145782_y(), this.field_73132_a.field_70159_w, this.field_73132_a.field_70181_x, this.field_73132_a.field_70179_y)); +@@ -474,6 +482,9 @@ + field_151262_p.warn("Fetching addPacket for removed entity"); + } + ++ Packet pkt = net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.getEntitySpawningPacket(this.field_73132_a); ++ if (pkt != null) return pkt; ++ + if (this.field_73132_a instanceof EntityItem) + { + return new S0EPacketSpawnObject(this.field_73132_a, 2, 1); diff --git a/fml/patches/minecraft/net/minecraft/entity/boss/IBossDisplayData.java.patch b/fml/patches/minecraft/net/minecraft/entity/boss/IBossDisplayData.java.patch new file mode 100644 index 000000000..ee9c56e4c --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/entity/boss/IBossDisplayData.java.patch @@ -0,0 +1,10 @@ +--- ../src-base/minecraft/net/minecraft/entity/boss/IBossDisplayData.java ++++ ../src-work/minecraft/net/minecraft/entity/boss/IBossDisplayData.java +@@ -4,7 +4,6 @@ + import net.minecraftforge.fml.relauncher.Side; + import net.minecraftforge.fml.relauncher.SideOnly; + +-@SideOnly(Side.CLIENT) + public interface IBossDisplayData + { + float func_110138_aP(); diff --git a/fml/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch b/fml/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch new file mode 100644 index 000000000..df3a42a3c --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/entity/item/EntityItem.java.patch @@ -0,0 +1,10 @@ +--- ../src-base/minecraft/net/minecraft/entity/item/EntityItem.java ++++ ../src-work/minecraft/net/minecraft/entity/item/EntityItem.java +@@ -366,6 +366,7 @@ + } + } + ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().firePlayerItemPickupEvent(p_70100_1_, this); + if (!this.func_174814_R()) + { + this.field_70170_p.func_72956_a(p_70100_1_, "random.pop", 0.2F, ((this.field_70146_Z.nextFloat() - this.field_70146_Z.nextFloat()) * 0.7F + 1.0F) * 2.0F); diff --git a/fml/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch b/fml/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch new file mode 100644 index 000000000..45e3d5eec --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/entity/monster/EntitySlime.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/entity/monster/EntitySlime.java ++++ ../src-work/minecraft/net/minecraft/entity/monster/EntitySlime.java +@@ -271,7 +271,7 @@ + { + Chunk chunk = this.field_70170_p.func_175726_f(new BlockPos(MathHelper.func_76128_c(this.field_70165_t), 0, MathHelper.func_76128_c(this.field_70161_v))); + +- if (this.field_70170_p.func_72912_H().func_76067_t() == WorldType.field_77138_c && this.field_70146_Z.nextInt(4) != 1) ++ if (this.field_70170_p.func_72912_H().func_76067_t().handleSlimeSpawnReduction(field_70146_Z, field_70170_p)) + { + return false; + } diff --git a/fml/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch b/fml/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch new file mode 100644 index 000000000..ddd2ac065 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/entity/passive/EntityVillager.java.patch @@ -0,0 +1,35 @@ +--- ../src-base/minecraft/net/minecraft/entity/passive/EntityVillager.java ++++ ../src-work/minecraft/net/minecraft/entity/passive/EntityVillager.java +@@ -83,6 +83,7 @@ + private boolean field_82190_bM; + private boolean field_175564_by; + private InventoryBasic field_175560_bz; ++ @Deprecated //Use VillagerRegistry + private static final EntityVillager.ITradeList[][][][] field_175561_bA = new EntityVillager.ITradeList[][][][] {{{{new EntityVillager.EmeraldForItems(Items.field_151015_O, new EntityVillager.PriceInfo(18, 22)), new EntityVillager.EmeraldForItems(Items.field_151174_bG, new EntityVillager.PriceInfo(15, 19)), new EntityVillager.EmeraldForItems(Items.field_151172_bF, new EntityVillager.PriceInfo(15, 19)), new EntityVillager.ListItemForEmeralds(Items.field_151025_P, new EntityVillager.PriceInfo(-4, -2))}, {new EntityVillager.EmeraldForItems(Item.func_150898_a(Blocks.field_150423_aK), new EntityVillager.PriceInfo(8, 13)), new EntityVillager.ListItemForEmeralds(Items.field_151158_bO, new EntityVillager.PriceInfo(-3, -2))}, {new EntityVillager.EmeraldForItems(Item.func_150898_a(Blocks.field_150440_ba), new EntityVillager.PriceInfo(7, 12)), new EntityVillager.ListItemForEmeralds(Items.field_151034_e, new EntityVillager.PriceInfo(-5, -7))}, {new EntityVillager.ListItemForEmeralds(Items.field_151106_aX, new EntityVillager.PriceInfo(-6, -10)), new EntityVillager.ListItemForEmeralds(Items.field_151105_aU, new EntityVillager.PriceInfo(1, 1))}}, {{new EntityVillager.EmeraldForItems(Items.field_151007_F, new EntityVillager.PriceInfo(15, 20)), new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ItemAndEmeraldToItem(Items.field_151115_aP, new EntityVillager.PriceInfo(6, 6), Items.field_179566_aV, new EntityVillager.PriceInfo(6, 6))}, {new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151112_aM, new EntityVillager.PriceInfo(7, 8))}}, {{new EntityVillager.EmeraldForItems(Item.func_150898_a(Blocks.field_150325_L), new EntityVillager.PriceInfo(16, 22)), new EntityVillager.ListItemForEmeralds(Items.field_151097_aZ, new EntityVillager.PriceInfo(3, 4))}, {new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 0), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 1), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 2), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 3), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 4), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 5), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 6), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 7), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 8), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 9), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 10), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 11), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 12), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 13), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 14), new EntityVillager.PriceInfo(1, 2)), new EntityVillager.ListItemForEmeralds(new ItemStack(Item.func_150898_a(Blocks.field_150325_L), 1, 15), new EntityVillager.PriceInfo(1, 2))}}, {{new EntityVillager.EmeraldForItems(Items.field_151007_F, new EntityVillager.PriceInfo(15, 20)), new EntityVillager.ListItemForEmeralds(Items.field_151032_g, new EntityVillager.PriceInfo(-12, -8))}, {new EntityVillager.ListItemForEmeralds(Items.field_151031_f, new EntityVillager.PriceInfo(2, 3)), new EntityVillager.ItemAndEmeraldToItem(Item.func_150898_a(Blocks.field_150351_n), new EntityVillager.PriceInfo(10, 10), Items.field_151145_ak, new EntityVillager.PriceInfo(6, 10))}}}, {{{new EntityVillager.EmeraldForItems(Items.field_151121_aF, new EntityVillager.PriceInfo(24, 36)), new EntityVillager.ListEnchantedBookForEmeralds()}, {new EntityVillager.EmeraldForItems(Items.field_151122_aG, new EntityVillager.PriceInfo(8, 10)), new EntityVillager.ListItemForEmeralds(Items.field_151111_aL, new EntityVillager.PriceInfo(10, 12)), new EntityVillager.ListItemForEmeralds(Item.func_150898_a(Blocks.field_150342_X), new EntityVillager.PriceInfo(3, 4))}, {new EntityVillager.EmeraldForItems(Items.field_151164_bB, new EntityVillager.PriceInfo(2, 2)), new EntityVillager.ListItemForEmeralds(Items.field_151113_aN, new EntityVillager.PriceInfo(10, 12)), new EntityVillager.ListItemForEmeralds(Item.func_150898_a(Blocks.field_150359_w), new EntityVillager.PriceInfo(-5, -3))}, {new EntityVillager.ListEnchantedBookForEmeralds()}, {new EntityVillager.ListEnchantedBookForEmeralds()}, {new EntityVillager.ListItemForEmeralds(Items.field_151057_cb, new EntityVillager.PriceInfo(20, 22))}}}, {{{new EntityVillager.EmeraldForItems(Items.field_151078_bh, new EntityVillager.PriceInfo(36, 40)), new EntityVillager.EmeraldForItems(Items.field_151043_k, new EntityVillager.PriceInfo(8, 10))}, {new EntityVillager.ListItemForEmeralds(Items.field_151137_ax, new EntityVillager.PriceInfo(-4, -1)), new EntityVillager.ListItemForEmeralds(new ItemStack(Items.field_151100_aR, 1, EnumDyeColor.BLUE.func_176767_b()), new EntityVillager.PriceInfo(-2, -1))}, {new EntityVillager.ListItemForEmeralds(Items.field_151061_bv, new EntityVillager.PriceInfo(7, 11)), new EntityVillager.ListItemForEmeralds(Item.func_150898_a(Blocks.field_150426_aN), new EntityVillager.PriceInfo(-3, -1))}, {new EntityVillager.ListItemForEmeralds(Items.field_151062_by, new EntityVillager.PriceInfo(3, 11))}}}, {{{new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ListItemForEmeralds(Items.field_151028_Y, new EntityVillager.PriceInfo(4, 6))}, {new EntityVillager.EmeraldForItems(Items.field_151042_j, new EntityVillager.PriceInfo(7, 9)), new EntityVillager.ListItemForEmeralds(Items.field_151030_Z, new EntityVillager.PriceInfo(10, 14))}, {new EntityVillager.EmeraldForItems(Items.field_151045_i, new EntityVillager.PriceInfo(3, 4)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151163_ad, new EntityVillager.PriceInfo(16, 19))}, {new EntityVillager.ListItemForEmeralds(Items.field_151029_X, new EntityVillager.PriceInfo(5, 7)), new EntityVillager.ListItemForEmeralds(Items.field_151022_W, new EntityVillager.PriceInfo(9, 11)), new EntityVillager.ListItemForEmeralds(Items.field_151020_U, new EntityVillager.PriceInfo(5, 7)), new EntityVillager.ListItemForEmeralds(Items.field_151023_V, new EntityVillager.PriceInfo(11, 15))}}, {{new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ListItemForEmeralds(Items.field_151036_c, new EntityVillager.PriceInfo(6, 8))}, {new EntityVillager.EmeraldForItems(Items.field_151042_j, new EntityVillager.PriceInfo(7, 9)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151040_l, new EntityVillager.PriceInfo(9, 10))}, {new EntityVillager.EmeraldForItems(Items.field_151045_i, new EntityVillager.PriceInfo(3, 4)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151048_u, new EntityVillager.PriceInfo(12, 15)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151056_x, new EntityVillager.PriceInfo(9, 12))}}, {{new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151037_a, new EntityVillager.PriceInfo(5, 7))}, {new EntityVillager.EmeraldForItems(Items.field_151042_j, new EntityVillager.PriceInfo(7, 9)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151035_b, new EntityVillager.PriceInfo(9, 11))}, {new EntityVillager.EmeraldForItems(Items.field_151045_i, new EntityVillager.PriceInfo(3, 4)), new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151046_w, new EntityVillager.PriceInfo(12, 15))}}}, {{{new EntityVillager.EmeraldForItems(Items.field_151147_al, new EntityVillager.PriceInfo(14, 18)), new EntityVillager.EmeraldForItems(Items.field_151076_bf, new EntityVillager.PriceInfo(14, 18))}, {new EntityVillager.EmeraldForItems(Items.field_151044_h, new EntityVillager.PriceInfo(16, 24)), new EntityVillager.ListItemForEmeralds(Items.field_151157_am, new EntityVillager.PriceInfo(-7, -5)), new EntityVillager.ListItemForEmeralds(Items.field_151077_bg, new EntityVillager.PriceInfo(-8, -6))}}, {{new EntityVillager.EmeraldForItems(Items.field_151116_aA, new EntityVillager.PriceInfo(9, 12)), new EntityVillager.ListItemForEmeralds(Items.field_151026_S, new EntityVillager.PriceInfo(2, 4))}, {new EntityVillager.ListEnchantedItemForEmeralds(Items.field_151027_R, new EntityVillager.PriceInfo(7, 12))}, {new EntityVillager.ListItemForEmeralds(Items.field_151141_av, new EntityVillager.PriceInfo(8, 10))}}}}; + private static final String __OBFID = "CL_00001707"; + +@@ -540,6 +541,7 @@ + + private void func_175554_cu() + { ++ //TODO: Hook into VillagerRegistry + EntityVillager.ITradeList[][][] aitradelist = field_175561_bA[this.func_70946_n()]; + + if (this.field_175563_bv != 0 && this.field_175562_bw != 0) +@@ -648,6 +650,7 @@ + } + } + ++ //TODO: Hook into VillagerRegistry to get name + if (s1 != null) + { + ChatComponentTranslation chatcomponenttranslation = new ChatComponentTranslation("entity.Villager." + s1, new Object[0]); +@@ -710,7 +713,7 @@ + public IEntityLivingData func_180482_a(DifficultyInstance p_180482_1_, IEntityLivingData p_180482_2_) + { + p_180482_2_ = super.func_180482_a(p_180482_1_, p_180482_2_); +- this.func_70938_b(this.field_70170_p.field_73012_v.nextInt(5)); ++ net.minecraftforge.fml.common.registry.VillagerRegistry.setRandomProfession(this, this.field_70170_p.field_73012_v); + this.func_175552_ct(); + return p_180482_2_; + } diff --git a/fml/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch b/fml/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch new file mode 100644 index 000000000..4b3638730 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch @@ -0,0 +1,41 @@ +--- ../src-base/minecraft/net/minecraft/entity/player/EntityPlayer.java ++++ ../src-work/minecraft/net/minecraft/entity/player/EntityPlayer.java +@@ -200,6 +200,7 @@ + + public void func_70071_h_() + { ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().onPlayerPreTick(this); + this.field_70145_X = this.func_175149_v(); + + if (this.func_175149_v()) +@@ -344,6 +345,7 @@ + { + this.func_70107_b(d3, this.field_70163_u, d4); + } ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().onPlayerPostTick(this); + } + + public int func_82145_z() +@@ -2139,6 +2141,22 @@ + this.field_175153_bG = p_175150_1_; + } + ++ /** ++ * Opens a GUI with this player, uses FML's IGuiHandler system. ++ * Allows for extension by modders. ++ * ++ * @param mod The mod trying to open a GUI ++ * @param modGuiId GUI ID ++ * @param world Current World ++ * @param x Passed directly to IGuiHandler, data meaningless Typically world X position ++ * @param y Passed directly to IGuiHandler, data meaningless Typically world Y position ++ * @param z Passed directly to IGuiHandler, data meaningless Typically world Z position ++ */ ++ public void openGui(Object mod, int modGuiId, World world, int x, int y, int z) ++ { ++ net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.openGui(this, mod, modGuiId, world, x, y, z); ++ } ++ + public static enum EnumChatVisibility + { + FULL(0, "options.chat.visibility.full"), diff --git a/fml/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch b/fml/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch new file mode 100644 index 000000000..e95cd2fe5 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/inventory/SlotCrafting.java.patch @@ -0,0 +1,10 @@ +--- ../src-base/minecraft/net/minecraft/inventory/SlotCrafting.java ++++ ../src-work/minecraft/net/minecraft/inventory/SlotCrafting.java +@@ -113,6 +113,7 @@ + + public void func_82870_a(EntityPlayer p_82870_1_, ItemStack p_82870_2_) + { ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().firePlayerCraftingEvent(p_82870_1_, p_82870_2_, field_75239_a); + this.func_75208_c(p_82870_2_); + ItemStack[] aitemstack = CraftingManager.func_77594_a().func_180303_b(this.field_75239_a, p_82870_1_.field_70170_p); + diff --git a/fml/patches/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java.patch b/fml/patches/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java.patch new file mode 100644 index 000000000..e0dda7760 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java ++++ ../src-work/minecraft/net/minecraft/inventory/SlotFurnaceOutput.java +@@ -83,6 +83,8 @@ + + this.field_75228_b = 0; + ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().firePlayerSmeltedEvent(field_75229_a, p_75208_1_); ++ + if (p_75208_1_.func_77973_b() == Items.field_151042_j) + { + this.field_75229_a.func_71029_a(AchievementList.field_76016_k); diff --git a/fml/patches/minecraft/net/minecraft/item/Item.java.patch b/fml/patches/minecraft/net/minecraft/item/Item.java.patch new file mode 100644 index 000000000..bf45b6cf7 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/item/Item.java.patch @@ -0,0 +1,23 @@ +--- ../src-base/minecraft/net/minecraft/item/Item.java ++++ ../src-work/minecraft/net/minecraft/item/Item.java +@@ -47,8 +47,8 @@ + + public class Item + { +- public static final RegistryNamespaced field_150901_e = new RegistryNamespaced(); +- private static final Map field_179220_a = Maps.newHashMap(); ++ public static final RegistryNamespaced field_150901_e = net.minecraftforge.fml.common.registry.GameData.getItemRegistry(); ++ private static final Map field_179220_a = net.minecraftforge.fml.common.registry.GameData.getBlockItemMap(); + protected static final UUID field_111210_e = UUID.fromString("CB3F55D3-645C-4F38-A497-9C13A33DB5CF"); + private CreativeTabs field_77701_a; + protected static Random field_77697_d = new Random(); +@@ -61,6 +61,9 @@ + private String field_77774_bZ; + private static final String __OBFID = "CL_00000041"; + ++ public final net.minecraftforge.fml.common.registry.RegistryDelegate delegate = ++ ((net.minecraftforge.fml.common.registry.FMLControlledNamespacedRegistry)field_150901_e).getDelegate(this, Item.class); ++ + public static int func_150891_b(Item p_150891_0_) + { + return p_150891_0_ == null ? 0 : field_150901_e.func_148757_b(p_150891_0_); diff --git a/fml/patches/minecraft/net/minecraft/item/ItemEmptyMap.java.patch b/fml/patches/minecraft/net/minecraft/item/ItemEmptyMap.java.patch new file mode 100644 index 000000000..dce46dfd0 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/item/ItemEmptyMap.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/item/ItemEmptyMap.java ++++ ../src-work/minecraft/net/minecraft/item/ItemEmptyMap.java +@@ -24,7 +24,7 @@ + p_77659_2_.func_72823_a(s, mapdata); + mapdata.field_76197_d = 0; + mapdata.func_176054_a(p_77659_3_.field_70165_t, p_77659_3_.field_70161_v, mapdata.field_76197_d); +- mapdata.field_76200_c = (byte)p_77659_2_.field_73011_w.func_177502_q(); ++ mapdata.field_76200_c = p_77659_2_.field_73011_w.func_177502_q(); + mapdata.func_76185_a(); + --p_77659_1_.field_77994_a; + diff --git a/fml/patches/minecraft/net/minecraft/item/ItemMap.java.patch b/fml/patches/minecraft/net/minecraft/item/ItemMap.java.patch new file mode 100644 index 000000000..9201f5bba --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/item/ItemMap.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/item/ItemMap.java ++++ ../src-work/minecraft/net/minecraft/item/ItemMap.java +@@ -58,7 +58,7 @@ + mapdata = new MapData(s); + mapdata.field_76197_d = 3; + mapdata.func_176054_a((double)p_77873_2_.func_72912_H().func_76079_c(), (double)p_77873_2_.func_72912_H().func_76074_e(), mapdata.field_76197_d); +- mapdata.field_76200_c = (byte)p_77873_2_.field_73011_w.func_177502_q(); ++ mapdata.field_76200_c = p_77873_2_.field_73011_w.func_177502_q(); + mapdata.func_76185_a(); + p_77873_2_.func_72823_a(s, mapdata); + } diff --git a/fml/patches/minecraft/net/minecraft/item/ItemStack.java.patch b/fml/patches/minecraft/net/minecraft/item/ItemStack.java.patch new file mode 100644 index 000000000..64974a752 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/item/ItemStack.java.patch @@ -0,0 +1,50 @@ +--- ../src-base/minecraft/net/minecraft/item/ItemStack.java ++++ ../src-work/minecraft/net/minecraft/item/ItemStack.java +@@ -52,6 +52,7 @@ + private boolean field_179551_k; + private static final String __OBFID = "CL_00000043"; + ++ private net.minecraftforge.fml.common.registry.RegistryDelegate delegate; + public ItemStack(Block p_i1876_1_) + { + this(p_i1876_1_, 1); +@@ -83,7 +84,7 @@ + this.field_179553_i = false; + this.field_179550_j = null; + this.field_179551_k = false; +- this.field_151002_e = p_i1881_1_; ++ this.func_150996_a(p_i1881_1_); + this.field_77994_a = p_i1881_2_; + this.field_77991_e = p_i1881_3_; + +@@ -123,7 +124,7 @@ + + public Item func_77973_b() + { +- return this.field_151002_e; ++ return this.delegate != null ? this.delegate.get() : null; + } + + public boolean func_179546_a(EntityPlayer p_179546_1_, World p_179546_2_, BlockPos p_179546_3_, EnumFacing p_179546_4_, float p_179546_5_, float p_179546_6_, float p_179546_7_) +@@ -172,11 +173,11 @@ + { + if (p_77963_1_.func_150297_b("id", 8)) + { +- this.field_151002_e = Item.func_111206_d(p_77963_1_.func_74779_i("id")); ++ this.func_150996_a(Item.func_111206_d(p_77963_1_.func_74779_i("id"))); + } + else + { +- this.field_151002_e = Item.func_150899_d(p_77963_1_.func_74765_d("id")); ++ this.func_150996_a(Item.func_150899_d(p_77963_1_.func_74765_d("id"))); + } + + this.field_77994_a = p_77963_1_.func_74771_c("Count"); +@@ -870,6 +871,7 @@ + + public void func_150996_a(Item p_150996_1_) + { ++ this.delegate = p_150996_1_ != null ? p_150996_1_.delegate : null; + this.field_151002_e = p_150996_1_; + } + diff --git a/fml/patches/minecraft/net/minecraft/network/NetworkManager.java.patch b/fml/patches/minecraft/net/minecraft/network/NetworkManager.java.patch new file mode 100644 index 000000000..b37433cda --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/network/NetworkManager.java.patch @@ -0,0 +1,53 @@ +--- ../src-base/minecraft/net/minecraft/network/NetworkManager.java ++++ ../src-work/minecraft/net/minecraft/network/NetworkManager.java +@@ -88,6 +88,11 @@ + this.field_179294_g = p_i46004_1_; + } + ++ public EnumPacketDirection getDirection() ++ { ++ return this.field_179294_g; ++ } ++ + public void channelActive(ChannelHandlerContext p_channelActive_1_) throws Exception + { + super.channelActive(p_channelActive_1_); +@@ -175,7 +180,7 @@ + final EnumConnectionState enumconnectionstate = EnumConnectionState.func_150752_a(p_150732_1_); + final EnumConnectionState enumconnectionstate1 = (EnumConnectionState)this.field_150746_k.attr(field_150739_c).get(); + +- if (enumconnectionstate1 != enumconnectionstate) ++ if (enumconnectionstate1 != enumconnectionstate && !( p_150732_1_ instanceof net.minecraftforge.fml.common.network.internal.FMLProxyPacket)) + { + field_150735_g.debug("Disabled auto read"); + this.field_150746_k.config().setAutoRead(false); +@@ -183,7 +188,7 @@ + + if (this.field_150746_k.eventLoop().inEventLoop()) + { +- if (enumconnectionstate != enumconnectionstate1) ++ if (enumconnectionstate != enumconnectionstate1 && !( p_150732_1_ instanceof net.minecraftforge.fml.common.network.internal.FMLProxyPacket)) + { + this.func_150723_a(enumconnectionstate); + } +@@ -204,7 +209,7 @@ + private static final String __OBFID = "CL_00001243"; + public void run() + { +- if (enumconnectionstate != enumconnectionstate1) ++ if (enumconnectionstate != enumconnectionstate1 && !( p_150732_1_ instanceof net.minecraftforge.fml.common.network.internal.FMLProxyPacket)) + { + NetworkManager.this.func_150723_a(enumconnectionstate); + } +@@ -409,6 +414,11 @@ + this.channelRead0(p_channelRead0_1_, (Packet)p_channelRead0_2_); + } + ++ public Channel channel() ++ { ++ return field_150746_k; ++ } ++ + static class InboundHandlerTuplePacketListener + { + private final Packet field_150774_a; diff --git a/fml/patches/minecraft/net/minecraft/network/NetworkSystem.java.patch b/fml/patches/minecraft/net/minecraft/network/NetworkSystem.java.patch new file mode 100644 index 000000000..9452bc6bc --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/network/NetworkSystem.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/network/NetworkSystem.java ++++ ../src-work/minecraft/net/minecraft/network/NetworkSystem.java +@@ -110,7 +110,7 @@ + ; + } + +- p_initChannel_1_.pipeline().addLast("timeout", new ReadTimeoutHandler(30)).addLast("legacy_query", new PingResponseHandler(NetworkSystem.this)).addLast("splitter", new MessageDeserializer2()).addLast("decoder", new MessageDeserializer(EnumPacketDirection.SERVERBOUND)).addLast("prepender", new MessageSerializer2()).addLast("encoder", new MessageSerializer(EnumPacketDirection.CLIENTBOUND)); ++ p_initChannel_1_.pipeline().addLast("timeout", new ReadTimeoutHandler(net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.READ_TIMEOUT)).addLast("legacy_query", new PingResponseHandler(NetworkSystem.this)).addLast("splitter", new MessageDeserializer2()).addLast("decoder", new MessageDeserializer(EnumPacketDirection.SERVERBOUND)).addLast("prepender", new MessageSerializer2()).addLast("encoder", new MessageSerializer(EnumPacketDirection.CLIENTBOUND)); + NetworkManager networkmanager = new NetworkManager(EnumPacketDirection.SERVERBOUND); + NetworkSystem.this.field_151272_f.add(networkmanager); + p_initChannel_1_.pipeline().addLast("packet_handler", networkmanager); diff --git a/fml/patches/minecraft/net/minecraft/network/ServerStatusResponse.java.patch b/fml/patches/minecraft/net/minecraft/network/ServerStatusResponse.java.patch new file mode 100644 index 000000000..ad72405fe --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/network/ServerStatusResponse.java.patch @@ -0,0 +1,18 @@ +--- ../src-base/minecraft/net/minecraft/network/ServerStatusResponse.java ++++ ../src-work/minecraft/net/minecraft/network/ServerStatusResponse.java +@@ -233,6 +233,7 @@ + serverstatusresponse.func_151320_a(JsonUtils.func_151200_h(jsonobject, "favicon")); + } + ++ net.minecraftforge.fml.client.FMLClientHandler.instance().captureAdditionalData(serverstatusresponse, jsonobject); + return serverstatusresponse; + } + +@@ -260,6 +261,7 @@ + jsonobject.addProperty("favicon", p_serialize_1_.func_151316_d()); + } + ++ net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.enhanceStatusQuery(jsonobject); + return jsonobject; + } + diff --git a/fml/patches/minecraft/net/minecraft/network/handshake/client/C00Handshake.java.patch b/fml/patches/minecraft/net/minecraft/network/handshake/client/C00Handshake.java.patch new file mode 100644 index 000000000..2e990c3ad --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/network/handshake/client/C00Handshake.java.patch @@ -0,0 +1,48 @@ +--- ../src-base/minecraft/net/minecraft/network/handshake/client/C00Handshake.java ++++ ../src-work/minecraft/net/minecraft/network/handshake/client/C00Handshake.java +@@ -16,6 +16,7 @@ + private int field_149599_c; + private EnumConnectionState field_149597_d; + private static final String __OBFID = "CL_00001372"; ++ private boolean hasFMLMarker = false; + + public C00Handshake() {} + +@@ -28,18 +29,26 @@ + this.field_149597_d = p_i45266_4_; + } + ++ public C00Handshake(int protocol, String address, int port, EnumConnectionState state, boolean addFMLMarker) ++ { ++ this(protocol, address, port, state); ++ this.hasFMLMarker = addFMLMarker; ++ } ++ + public void func_148837_a(PacketBuffer p_148837_1_) throws IOException + { + this.field_149600_a = p_148837_1_.func_150792_a(); + this.field_149598_b = p_148837_1_.func_150789_c(255); + this.field_149599_c = p_148837_1_.readUnsignedShort(); + this.field_149597_d = EnumConnectionState.func_150760_a(p_148837_1_.func_150792_a()); ++ this.hasFMLMarker = this.field_149598_b.contains("\0FML\0"); ++ this.field_149598_b = this.field_149598_b.split("\0")[0]; + } + + public void func_148840_b(PacketBuffer p_148840_1_) throws IOException + { + p_148840_1_.func_150787_b(this.field_149600_a); +- p_148840_1_.func_180714_a(this.field_149598_b); ++ p_148840_1_.func_180714_a(this.field_149598_b + "\0FML\0"); + p_148840_1_.writeShort(this.field_149599_c); + p_148840_1_.func_150787_b(this.field_149597_d.func_150759_c()); + } +@@ -63,4 +72,9 @@ + { + this.func_180770_a((INetHandlerHandshakeServer)p_148833_1_); + } ++ ++ public boolean hasFMLMarker() ++ { ++ return this.hasFMLMarker; ++ } + } diff --git a/fml/patches/minecraft/net/minecraft/network/play/client/C17PacketCustomPayload.java.patch b/fml/patches/minecraft/net/minecraft/network/play/client/C17PacketCustomPayload.java.patch new file mode 100644 index 000000000..c7acfd978 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/network/play/client/C17PacketCustomPayload.java.patch @@ -0,0 +1,14 @@ +--- ../src-base/minecraft/net/minecraft/network/play/client/C17PacketCustomPayload.java ++++ ../src-work/minecraft/net/minecraft/network/play/client/C17PacketCustomPayload.java +@@ -47,7 +47,11 @@ + public void func_148840_b(PacketBuffer p_148840_1_) throws IOException + { + p_148840_1_.func_180714_a(this.field_149562_a); ++ synchronized(this) { //This may be access multiple times, from multiple threads, lets be safe. ++ this.field_149561_c.markReaderIndex(); + p_148840_1_.writeBytes((ByteBuf)this.field_149561_c); ++ this.field_149561_c.resetReaderIndex(); ++ } + } + + public void func_148833_a(INetHandlerPlayServer p_148833_1_) diff --git a/fml/patches/minecraft/net/minecraft/network/play/server/S3FPacketCustomPayload.java.patch b/fml/patches/minecraft/net/minecraft/network/play/server/S3FPacketCustomPayload.java.patch new file mode 100644 index 000000000..7278ad7b1 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/network/play/server/S3FPacketCustomPayload.java.patch @@ -0,0 +1,14 @@ +--- ../src-base/minecraft/net/minecraft/network/play/server/S3FPacketCustomPayload.java ++++ ../src-work/minecraft/net/minecraft/network/play/server/S3FPacketCustomPayload.java +@@ -46,7 +46,11 @@ + public void func_148840_b(PacketBuffer p_148840_1_) throws IOException + { + p_148840_1_.func_180714_a(this.field_149172_a); ++ synchronized(this) { //This may be access multiple times, from multiple threads, lets be safe. ++ this.field_149171_b.markReaderIndex(); + p_148840_1_.writeBytes((ByteBuf)this.field_149171_b); ++ this.field_149171_b.resetReaderIndex(); ++ } + } + + public void func_180734_a(INetHandlerPlayClient p_180734_1_) diff --git a/fml/patches/minecraft/net/minecraft/realms/RealmsConnect.java.patch b/fml/patches/minecraft/net/minecraft/realms/RealmsConnect.java.patch new file mode 100644 index 000000000..0e3324da7 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/realms/RealmsConnect.java.patch @@ -0,0 +1,19 @@ +--- ../src-base/minecraft/net/minecraft/realms/RealmsConnect.java ++++ ../src-work/minecraft/net/minecraft/realms/RealmsConnect.java +@@ -39,6 +39,7 @@ + + try + { ++ net.minecraftforge.fml.client.FMLClientHandler.instance().connectToRealmsServer(p_connect_1_, p_connect_2_); + inetaddress = InetAddress.getByName(p_connect_1_); + + if (RealmsConnect.this.aborted) +@@ -60,7 +61,7 @@ + return; + } + +- RealmsConnect.this.connection.func_179290_a(new C00Handshake(47, p_connect_1_, p_connect_2_, EnumConnectionState.LOGIN)); ++ RealmsConnect.this.connection.func_179290_a(new C00Handshake(47, p_connect_1_, p_connect_2_, EnumConnectionState.LOGIN, true)); + + if (RealmsConnect.this.aborted) + { diff --git a/fml/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch b/fml/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch new file mode 100644 index 000000000..55f72e5d5 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/server/MinecraftServer.java.patch @@ -0,0 +1,115 @@ +--- ../src-base/minecraft/net/minecraft/server/MinecraftServer.java ++++ ../src-work/minecraft/net/minecraft/server/MinecraftServer.java +@@ -399,7 +399,7 @@ + + public void func_71260_j() + { +- if (!this.field_71290_O) ++ if (!this.field_71290_O && net.minecraftforge.fml.common.Loader.instance().hasReachedState(net.minecraftforge.fml.common.LoaderState.SERVER_STARTED) && !field_71316_v) // make sure the save is valid and we don't save twice + { + field_147145_h.info("Stopping server"); + +@@ -456,6 +456,7 @@ + { + if (this.func_71197_b()) + { ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().handleServerStarted(); + this.field_175591_ab = func_130071_aq(); + long i = 0L; + this.field_147147_p.func_151315_a(new ChatComponentText(this.field_71286_C)); +@@ -500,12 +501,20 @@ + Thread.sleep(Math.max(1L, 50L - i)); + this.field_71296_Q = true; + } ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().handleServerStopping(); ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions + } + else + { ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions + this.func_71228_a((CrashReport)null); + } + } ++ catch (net.minecraftforge.fml.common.StartupQuery.AbortedException e) ++ { ++ // ignore silently ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions ++ } + catch (Throwable throwable1) + { + field_147145_h.error("Encountered an unexpected exception", throwable1); +@@ -531,6 +540,7 @@ + field_147145_h.error("We were unable to save this crash report to disk."); + } + ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions + this.func_71228_a(crashreport); + } + finally +@@ -546,6 +556,8 @@ + } + finally + { ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().handleServerStopped(); ++ this.field_71316_v = true; + this.func_71240_o(); + } + } +@@ -591,6 +603,7 @@ + public void func_71217_p() + { + long i = System.nanoTime(); ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().onPreServerTick(); + ++this.field_71315_w; + + if (this.field_71295_T) +@@ -644,6 +657,7 @@ + + this.field_71304_b.func_76319_b(); + this.field_71304_b.func_76319_b(); ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().onPostServerTick(); + } + + public void func_71190_q() +@@ -657,7 +671,7 @@ + { + try + { +- ((FutureTask)this.field_175589_i.poll()).run(); ++ net.minecraftforge.fml.common.FMLCommonHandler.callFuture(((FutureTask)this.field_175589_i.poll())); + } + catch (Throwable throwable2) + { +@@ -686,6 +700,7 @@ + } + + this.field_71304_b.func_76320_a("tick"); ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().onPreWorldTick(worldserver); + CrashReport crashreport; + + try +@@ -710,6 +725,7 @@ + throw new ReportedException(crashreport); + } + ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().onPostWorldTick(worldserver); + this.field_71304_b.func_76319_b(); + this.field_71304_b.func_76320_a("tracker"); + worldserver.func_73039_n().func_72788_a(); +@@ -741,6 +757,7 @@ + + public void func_71256_s() + { ++ net.minecraftforge.fml.common.StartupQuery.reset(); + this.field_175590_aa = new Thread(this, "Server thread"); + this.field_175590_aa.start(); + } +@@ -787,7 +804,7 @@ + + public String getServerModName() + { +- return "vanilla"; ++ return net.minecraftforge.fml.common.FMLCommonHandler.instance().getModName(); + } + + public CrashReport func_71230_b(CrashReport p_71230_1_) diff --git a/fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch b/fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch new file mode 100644 index 000000000..1af800c17 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/server/dedicated/DedicatedServer.java.patch @@ -0,0 +1,44 @@ +--- ../src-base/minecraft/net/minecraft/server/dedicated/DedicatedServer.java ++++ ../src-work/minecraft/net/minecraft/server/dedicated/DedicatedServer.java +@@ -49,6 +49,7 @@ + private boolean field_71338_p; + private WorldSettings.GameType field_71337_q; + private boolean field_71335_s; ++ public static boolean allowPlayerLogins = false; + private static final String __OBFID = "CL_00001784"; + + public DedicatedServer(File p_i1508_1_) +@@ -113,6 +114,8 @@ + field_155771_h.warn("To start the server with more ram, launch it as \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\""); + } + ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().onServerStart(this); ++ + field_155771_h.info("Loading properties"); + this.field_71340_o = new PropertyManager(new File("server.properties")); + this.field_154332_n = new ServerEula(new File("eula.txt")); +@@ -204,6 +207,7 @@ + } + else + { ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().onServerStarted(); + this.func_152361_a(new DedicatedPlayerList(this)); + long j = System.nanoTime(); + +@@ -250,6 +254,7 @@ + this.func_71191_d((this.func_71207_Z() + 8) / 16 * 16); + this.func_71191_d(MathHelper.func_76125_a(this.func_71207_Z(), 64, 256)); + this.field_71340_o.func_73667_a("max-build-height", Integer.valueOf(this.func_71207_Z())); ++ if (!net.minecraftforge.fml.common.FMLCommonHandler.instance().handleServerAboutToStart(this)) return false; + field_155771_h.info("Preparing level \"" + this.func_71270_I() + "\""); + this.func_71247_a(this.func_71270_I(), this.func_71270_I(), k, worldtype, s2); + long i1 = System.nanoTime() - j; +@@ -278,7 +283,7 @@ + thread1.start(); + } + +- return true; ++ return net.minecraftforge.fml.common.FMLCommonHandler.instance().handleServerStarting(this); + } + } + } diff --git a/fml/patches/minecraft/net/minecraft/server/gui/MinecraftServerGui.java.patch b/fml/patches/minecraft/net/minecraft/server/gui/MinecraftServerGui.java.patch new file mode 100644 index 000000000..1caa6d7a0 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/server/gui/MinecraftServerGui.java.patch @@ -0,0 +1,24 @@ +--- ../src-base/minecraft/net/minecraft/server/gui/MinecraftServerGui.java ++++ ../src-work/minecraft/net/minecraft/server/gui/MinecraftServerGui.java +@@ -79,6 +79,7 @@ + System.exit(0); + } + }); ++ minecraftservergui.latch.countDown(); + } + + public MinecraftServerGui(DedicatedServer p_i2362_1_) +@@ -164,8 +165,13 @@ + return jpanel; + } + ++ private java.util.concurrent.CountDownLatch latch = new java.util.concurrent.CountDownLatch(1); + public void func_164247_a(final JTextArea p_164247_1_, final JScrollPane p_164247_2_, final String p_164247_3_) + { ++ try ++ { ++ latch.await(); ++ } catch (InterruptedException e){} //Prevent logging until after constructor has ended. + if (!SwingUtilities.isEventDispatchThread()) + { + SwingUtilities.invokeLater(new Runnable() diff --git a/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch b/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch new file mode 100644 index 000000000..4f0ce861c --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/server/integrated/IntegratedServer.java.patch @@ -0,0 +1,23 @@ +--- ../src-base/minecraft/net/minecraft/server/integrated/IntegratedServer.java ++++ ../src-work/minecraft/net/minecraft/server/integrated/IntegratedServer.java +@@ -144,9 +144,10 @@ + this.func_71245_h(true); + field_147148_h.info("Generating keypair"); + this.func_71253_a(CryptManager.func_75891_b()); ++ if (!net.minecraftforge.fml.common.FMLCommonHandler.instance().handleServerAboutToStart(this)) return false; + this.func_71247_a(this.func_71270_I(), this.func_71221_J(), this.field_71350_m.func_77160_d(), this.field_71350_m.func_77165_h(), this.field_71350_m.func_82749_j()); + this.func_71205_p(this.func_71214_G() + " - " + this.field_71305_c[0].func_72912_H().func_76065_j()); +- return true; ++ return net.minecraftforge.fml.common.FMLCommonHandler.instance().handleServerStarting(this); + } + + public void func_71217_p() +@@ -171,7 +172,7 @@ + { + try + { +- ((FutureTask)this.field_175589_i.poll()).run(); ++ net.minecraftforge.fml.common.FMLCommonHandler.callFuture(((FutureTask)this.field_175589_i.poll())); + } + catch (Throwable throwable) + { diff --git a/fml/patches/minecraft/net/minecraft/server/management/PlayerProfileCache.java.patch b/fml/patches/minecraft/net/minecraft/server/management/PlayerProfileCache.java.patch new file mode 100644 index 000000000..93c276883 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/server/management/PlayerProfileCache.java.patch @@ -0,0 +1,50 @@ +--- ../src-base/minecraft/net/minecraft/server/management/PlayerProfileCache.java ++++ ../src-work/minecraft/net/minecraft/server/management/PlayerProfileCache.java +@@ -204,26 +204,12 @@ + { + List list = null; + BufferedReader bufferedreader = null; +- label64: + { + try + { + bufferedreader = Files.newReader(this.field_152665_g, Charsets.UTF_8); + list = (List)this.field_152660_b.fromJson(bufferedreader, field_152666_h); +- break label64; +- } +- catch (FileNotFoundException filenotfoundexception) +- { +- ; +- } +- finally +- { +- IOUtils.closeQuietly(bufferedreader); +- } + +- return; +- } +- + if (list != null) + { + this.field_152661_c.clear(); +@@ -242,6 +228,20 @@ + } + } + } ++ } ++ catch (FileNotFoundException filenotfoundexception) ++ { ++ ; ++ } ++ catch (com.google.gson.JsonParseException parsefail) ++ { ++ // No op - the cache can quietly rebuild if it's junk ++ } ++ finally ++ { ++ IOUtils.closeQuietly(bufferedreader); ++ } ++ } + } + + public void func_152658_c() diff --git a/fml/patches/minecraft/net/minecraft/server/management/ServerConfigurationManager.java.patch b/fml/patches/minecraft/net/minecraft/server/management/ServerConfigurationManager.java.patch new file mode 100644 index 000000000..259097c60 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/server/management/ServerConfigurationManager.java.patch @@ -0,0 +1,76 @@ +--- ../src-base/minecraft/net/minecraft/server/management/ServerConfigurationManager.java ++++ ../src-work/minecraft/net/minecraft/server/management/ServerConfigurationManager.java +@@ -103,7 +103,7 @@ + this.field_72405_c = 8; + } + +- public void func_72355_a(NetworkManager p_72355_1_, EntityPlayerMP p_72355_2_) ++ public void func_72355_a(NetworkManager p_72355_1_, EntityPlayerMP p_72355_2_, NetHandlerPlayServer nethandlerplayserver) + { + GameProfile gameprofile = p_72355_2_.func_146103_bH(); + PlayerProfileCache playerprofilecache = this.field_72400_f.func_152358_ax(); +@@ -125,7 +125,7 @@ + WorldInfo worldinfo = worldserver.func_72912_H(); + BlockPos blockpos = worldserver.func_175694_M(); + this.func_72381_a(p_72355_2_, (EntityPlayerMP)null, worldserver); +- NetHandlerPlayServer nethandlerplayserver = new NetHandlerPlayServer(this.field_72400_f, p_72355_1_, p_72355_2_); ++ p_72355_2_.field_71135_a = nethandlerplayserver; + nethandlerplayserver.func_147359_a(new S01PacketJoinGame(p_72355_2_.func_145782_y(), p_72355_2_.field_71134_c.func_73081_b(), worldinfo.func_76093_s(), worldserver.field_73011_w.func_177502_q(), worldserver.func_175659_aa(), this.func_72352_l(), worldinfo.func_76067_t(), worldserver.func_82736_K().func_82766_b("reducedDebugInfo"))); + nethandlerplayserver.func_147359_a(new S3FPacketCustomPayload("MC|Brand", (new PacketBuffer(Unpooled.buffer())).func_180714_a(this.func_72365_p().getServerModName()))); + nethandlerplayserver.func_147359_a(new S41PacketServerDifficulty(worldinfo.func_176130_y(), worldinfo.func_176123_z())); +@@ -168,6 +168,7 @@ + + p_72355_2_.func_71116_b(); + ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().firePlayerLoggedIn(p_72355_2_); + if (nbttagcompound != null && nbttagcompound.func_150297_b("Riding", 10)) + { + Entity entity = EntityList.func_75615_a(nbttagcompound.func_74775_l("Riding"), worldserver); +@@ -281,8 +282,23 @@ + return nbttagcompound1; + } + ++ public NBTTagCompound getPlayerNBT(EntityPlayerMP player) ++ { ++ // Hacky method to allow loading the NBT for a player prior to login ++ NBTTagCompound nbttagcompound = this.field_72400_f.field_71305_c[0].func_72912_H().func_76072_h(); ++ if (player.func_70005_c_().equals(this.field_72400_f.func_71214_G()) && nbttagcompound != null) ++ { ++ return nbttagcompound; ++ } ++ else ++ { ++ return ((net.minecraft.world.storage.SaveHandler)this.field_72412_k).getPlayerNBT(player); ++ } ++ } + protected void func_72391_b(EntityPlayerMP p_72391_1_) + { ++ if (p_72391_1_.field_71135_a == null) return; ++ + this.field_72412_k.func_75753_a(p_72391_1_); + StatisticsFile statisticsfile = (StatisticsFile)this.field_148547_k.get(p_72391_1_.func_110124_au()); + +@@ -315,6 +331,7 @@ + + public void func_72367_e(EntityPlayerMP p_72367_1_) + { ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().firePlayerLoggedOut(p_72367_1_); + p_72367_1_.func_71029_a(StatList.field_75947_j); + this.func_72391_b(p_72367_1_); + WorldServer worldserver = p_72367_1_.func_71121_q(); +@@ -473,6 +490,7 @@ + this.field_177454_f.put(entityplayermp1.func_110124_au(), entityplayermp1); + entityplayermp1.func_71116_b(); + entityplayermp1.func_70606_j(entityplayermp1.func_110143_aJ()); ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().firePlayerRespawnEvent(entityplayermp1); + return entityplayermp1; + } + +@@ -498,6 +516,7 @@ + PotionEffect potioneffect = (PotionEffect)iterator.next(); + p_72356_1_.field_71135_a.func_147359_a(new S1DPacketEntityEffect(p_72356_1_.func_145782_y(), potioneffect)); + } ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().firePlayerChangedDimensionEvent(p_72356_1_, j, p_72356_2_); + } + + public void func_82448_a(Entity p_82448_1_, int p_82448_2_, WorldServer p_82448_3_, WorldServer p_82448_4_) diff --git a/fml/patches/minecraft/net/minecraft/server/network/NetHandlerHandshakeTCP.java.patch b/fml/patches/minecraft/net/minecraft/server/network/NetHandlerHandshakeTCP.java.patch new file mode 100644 index 000000000..855a224f4 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/server/network/NetHandlerHandshakeTCP.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/server/network/NetHandlerHandshakeTCP.java ++++ ../src-work/minecraft/net/minecraft/server/network/NetHandlerHandshakeTCP.java +@@ -23,6 +23,8 @@ + + public void func_147383_a(C00Handshake p_147383_1_) + { ++ if (!net.minecraftforge.fml.common.FMLCommonHandler.instance().handleServerHandshake(p_147383_1_, this.field_147386_b)) return; ++ + switch (NetHandlerHandshakeTCP.SwitchEnumConnectionState.field_151291_a[p_147383_1_.func_149594_c().ordinal()]) + { + case 1: diff --git a/fml/patches/minecraft/net/minecraft/server/network/NetHandlerLoginServer.java.patch b/fml/patches/minecraft/net/minecraft/server/network/NetHandlerLoginServer.java.patch new file mode 100644 index 000000000..b77bfc330 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/server/network/NetHandlerLoginServer.java.patch @@ -0,0 +1,20 @@ +--- ../src-base/minecraft/net/minecraft/server/network/NetHandlerLoginServer.java ++++ ../src-work/minecraft/net/minecraft/server/network/NetHandlerLoginServer.java +@@ -62,7 +62,7 @@ + this.func_147326_c(); + } + +- if (this.field_147336_h++ == 600) ++ if (this.field_147336_h++ == net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.LOGIN_TIMEOUT) + { + this.func_147322_a("Took too long to log in"); + } +@@ -113,7 +113,7 @@ + } + + this.field_147333_a.func_179290_a(new S02PacketLoginSuccess(this.field_147337_i)); +- this.field_147327_f.func_71203_ab().func_72355_a(this.field_147333_a, this.field_147327_f.func_71203_ab().func_148545_a(this.field_147337_i)); ++ net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.fmlServerHandshake(this.field_147327_f.func_71203_ab(), this.field_147333_a, this.field_147327_f.func_71203_ab().func_148545_a(this.field_147337_i)); + } + } + diff --git a/fml/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch b/fml/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch new file mode 100644 index 000000000..7d8e85837 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch @@ -0,0 +1,40 @@ +--- ../src-base/minecraft/net/minecraft/tileentity/TileEntity.java ++++ ../src-work/minecraft/net/minecraft/tileentity/TileEntity.java +@@ -89,9 +89,10 @@ + { + TileEntity tileentity = null; + ++ Class oclass = null; + try + { +- Class oclass = (Class)field_145855_i.get(p_145827_0_.func_74779_i("id")); ++ oclass = (Class)field_145855_i.get(p_145827_0_.func_74779_i("id")); + + if (oclass != null) + { +@@ -109,7 +110,17 @@ + } + else + { ++ try ++ { + field_145852_a.warn("Skipping BlockEntity with id " + p_145827_0_.func_74779_i("id")); ++ } ++ catch (Exception ex) ++ { ++ net.minecraftforge.fml.common.FMLLog.log(org.apache.logging.log4j.Level.ERROR, ex, ++ "A TileEntity %s(%s) has thrown an exception during loading, its state cannot be restored. Report this to the mod author", ++ p_145827_0_.func_74779_i("id"), oclass.getName()); ++ tileentity = null; ++ } + } + + return tileentity; +@@ -141,7 +152,6 @@ + } + } + +- @SideOnly(Side.CLIENT) + public double func_145835_a(double p_145835_1_, double p_145835_3_, double p_145835_5_) + { + double d3 = (double)this.field_174879_c.func_177958_n() + 0.5D - p_145835_1_; diff --git a/fml/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch b/fml/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch new file mode 100644 index 000000000..244db3b50 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/tileentity/TileEntityFurnace.java.patch @@ -0,0 +1,19 @@ +--- ../src-base/minecraft/net/minecraft/tileentity/TileEntityFurnace.java ++++ ../src-work/minecraft/net/minecraft/tileentity/TileEntityFurnace.java +@@ -348,7 +348,15 @@ + } + } + +- return item instanceof ItemTool && ((ItemTool)item).func_77861_e().equals("WOOD") ? 200 : (item instanceof ItemSword && ((ItemSword)item).func_150932_j().equals("WOOD") ? 200 : (item instanceof ItemHoe && ((ItemHoe)item).func_77842_f().equals("WOOD") ? 200 : (item == Items.field_151055_y ? 100 : (item == Items.field_151044_h ? 1600 : (item == Items.field_151129_at ? 20000 : (item == Item.func_150898_a(Blocks.field_150345_g) ? 100 : (item == Items.field_151072_bj ? 2400 : 0))))))); ++ if (item instanceof ItemTool && ((ItemTool)item).func_77861_e().equals("WOOD")) return 200; ++ if (item instanceof ItemSword && ((ItemSword)item).func_150932_j().equals("WOOD")) return 200; ++ if (item instanceof ItemHoe && ((ItemHoe)item).func_77842_f().equals("WOOD")) return 200; ++ if (item == Items.field_151055_y) return 100; ++ if (item == Items.field_151044_h) return 1600; ++ if (item == Items.field_151129_at) return 20000; ++ if (item == Item.func_150898_a(Blocks.field_150345_g)) return 100; ++ if (item == Items.field_151072_bj) return 2400; ++ return net.minecraftforge.fml.common.registry.GameRegistry.getFuelValue(p_145952_0_); + } + } + diff --git a/fml/patches/minecraft/net/minecraft/util/MessageSerializer.java.patch b/fml/patches/minecraft/net/minecraft/util/MessageSerializer.java.patch new file mode 100644 index 000000000..7724ff4c7 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/util/MessageSerializer.java.patch @@ -0,0 +1,11 @@ +--- ../src-base/minecraft/net/minecraft/util/MessageSerializer.java ++++ ../src-work/minecraft/net/minecraft/util/MessageSerializer.java +@@ -49,7 +49,7 @@ + { + if (p_encode_2_ instanceof S0CPacketSpawnPlayer) + { +- p_encode_2_ = p_encode_2_; ++ //p_encode_2_ = p_encode_2_; FML: Kill warning + } + + p_encode_2_.func_148840_b(packetbuffer); diff --git a/fml/patches/minecraft/net/minecraft/util/MouseHelper.java.patch b/fml/patches/minecraft/net/minecraft/util/MouseHelper.java.patch new file mode 100644 index 000000000..55d49a58d --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/util/MouseHelper.java.patch @@ -0,0 +1,10 @@ +--- ../src-base/minecraft/net/minecraft/util/MouseHelper.java ++++ ../src-work/minecraft/net/minecraft/util/MouseHelper.java +@@ -14,6 +14,7 @@ + + public void func_74372_a() + { ++ if (Boolean.parseBoolean(System.getProperty("fml.noGrab","false"))) return; + Mouse.setGrabbed(true); + this.field_74377_a = 0; + this.field_74375_b = 0; diff --git a/fml/patches/minecraft/net/minecraft/util/ResourceLocation.java.patch b/fml/patches/minecraft/net/minecraft/util/ResourceLocation.java.patch new file mode 100644 index 000000000..ba2981731 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/util/ResourceLocation.java.patch @@ -0,0 +1,26 @@ +--- ../src-base/minecraft/net/minecraft/util/ResourceLocation.java ++++ ../src-work/minecraft/net/minecraft/util/ResourceLocation.java +@@ -1,7 +1,5 @@ + package net.minecraft.util; + +-import net.minecraftforge.fml.relauncher.Side; +-import net.minecraftforge.fml.relauncher.SideOnly; + import org.apache.commons.lang3.Validate; + + public class ResourceLocation +@@ -22,7 +20,6 @@ + this(0, func_177516_a(p_i1293_1_)); + } + +- @SideOnly(Side.CLIENT) + public ResourceLocation(String p_i1292_1_, String p_i1292_2_) + { + this(0, new String[] {p_i1292_1_, p_i1292_2_}); +@@ -51,7 +48,6 @@ + return this.field_110625_b; + } + +- @SideOnly(Side.CLIENT) + public String func_110624_b() + { + return this.field_110626_a; diff --git a/fml/patches/minecraft/net/minecraft/util/StringTranslate.java.patch b/fml/patches/minecraft/net/minecraft/util/StringTranslate.java.patch new file mode 100644 index 000000000..cbdfc628a --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/util/StringTranslate.java.patch @@ -0,0 +1,64 @@ +--- ../src-base/minecraft/net/minecraft/util/StringTranslate.java ++++ ../src-work/minecraft/net/minecraft/util/StringTranslate.java +@@ -18,16 +18,38 @@ + { + private static final Pattern field_111053_a = Pattern.compile("%(\\d+\\$)?[\\d\\.]*[df]"); + private static final Splitter field_135065_b = Splitter.on('=').limit(2); ++ private final Map field_74816_c; + private static StringTranslate field_74817_a = new StringTranslate(); +- private final Map field_74816_c = Maps.newHashMap(); + private long field_150511_e; + private static final String __OBFID = "CL_00001212"; + + public StringTranslate() + { ++ InputStream inputstream = StringTranslate.class.getResourceAsStream("/assets/minecraft/lang/en_US.lang"); ++ field_74816_c = Maps.newHashMap(); ++ inject(this, inputstream); ++ } ++ ++ public static void inject(InputStream inputstream) ++ { ++ inject(field_74817_a, inputstream); ++ } ++ ++ private static void inject(StringTranslate inst, InputStream inputstream) ++ { ++ java.util.HashMap map = parseLangFile(inputstream); ++ inst.field_74816_c.putAll(map); ++ inst.field_150511_e = System.currentTimeMillis(); ++ } ++ ++ public static java.util.HashMap parseLangFile(InputStream inputstream) ++ { ++ java.util.HashMap table = Maps.newHashMap(); + try + { +- InputStream inputstream = StringTranslate.class.getResourceAsStream("/assets/minecraft/lang/en_US.lang"); ++ inputstream = net.minecraftforge.fml.common.FMLCommonHandler.instance().loadLanguage(table, inputstream); ++ if (inputstream == null) return table; ++ + Iterator iterator = IOUtils.readLines(inputstream, Charsets.UTF_8).iterator(); + + while (iterator.hasNext()) +@@ -42,17 +64,17 @@ + { + String s1 = astring[0]; + String s2 = field_111053_a.matcher(astring[1]).replaceAll("%$1s"); +- this.field_74816_c.put(s1, s2); ++ table.put(s1, s2); + } + } + } + +- this.field_150511_e = System.currentTimeMillis(); + } +- catch (IOException ioexception) ++ catch (Exception ioexception) + { + ; + } ++ return table; + } + + static StringTranslate func_74808_a() diff --git a/fml/patches/minecraft/net/minecraft/world/World.java.patch b/fml/patches/minecraft/net/minecraft/world/World.java.patch new file mode 100644 index 000000000..b7c78b9f3 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/world/World.java.patch @@ -0,0 +1,29 @@ +--- ../src-base/minecraft/net/minecraft/world/World.java ++++ ../src-work/minecraft/net/minecraft/world/World.java +@@ -1626,8 +1626,6 @@ + } + } + +- this.field_147481_N = false; +- + if (!this.field_147483_b.isEmpty()) + { + this.field_175730_i.removeAll(this.field_147483_b); +@@ -1635,6 +1633,8 @@ + this.field_147483_b.clear(); + } + ++ this.field_147481_N = false; //FML Move below remove to prevent CMEs ++ + this.field_72984_F.func_76318_c("pendingBlockEntities"); + + if (!this.field_147484_a.isEmpty()) +@@ -3429,7 +3429,7 @@ + @SideOnly(Side.CLIENT) + public double func_72919_O() + { +- return this.field_72986_A.func_76067_t() == WorldType.field_77138_c ? 0.0D : 63.0D; ++ return this.field_72986_A.func_76067_t().getHorizon(this); + } + + public void func_175715_c(int p_175715_1_, BlockPos p_175715_2_, int p_175715_3_) diff --git a/fml/patches/minecraft/net/minecraft/world/WorldProvider.java.patch b/fml/patches/minecraft/net/minecraft/world/WorldProvider.java.patch new file mode 100644 index 000000000..2f2668b79 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/world/WorldProvider.java.patch @@ -0,0 +1,47 @@ +--- ../src-base/minecraft/net/minecraft/world/WorldProvider.java ++++ ../src-work/minecraft/net/minecraft/world/WorldProvider.java +@@ -52,26 +52,12 @@ + + protected void func_76572_b() + { +- WorldType worldtype = this.field_76579_a.func_72912_H().func_76067_t(); +- +- if (worldtype == WorldType.field_77138_c) +- { +- FlatGeneratorInfo flatgeneratorinfo = FlatGeneratorInfo.func_82651_a(this.field_76579_a.func_72912_H().func_82571_y()); +- this.field_76578_c = new WorldChunkManagerHell(BiomeGenBase.func_180276_a(flatgeneratorinfo.func_82648_a(), BiomeGenBase.field_180279_ad), 0.5F); +- } +- else if (worldtype == WorldType.field_180272_g) +- { +- this.field_76578_c = new WorldChunkManagerHell(BiomeGenBase.field_76772_c, 0.0F); +- } +- else +- { +- this.field_76578_c = new WorldChunkManager(this.field_76579_a); +- } ++ this.field_76578_c = field_76577_b.getChunkManager(field_76579_a); + } + + public IChunkProvider func_76555_c() + { +- return (IChunkProvider)(this.field_76577_b == WorldType.field_77138_c ? new ChunkProviderFlat(this.field_76579_a, this.field_76579_a.func_72905_C(), this.field_76579_a.func_72912_H().func_76089_r(), this.field_82913_c) : (this.field_76577_b == WorldType.field_180272_g ? new ChunkProviderDebug(this.field_76579_a) : (this.field_76577_b == WorldType.field_180271_f ? new ChunkProviderGenerate(this.field_76579_a, this.field_76579_a.func_72905_C(), this.field_76579_a.func_72912_H().func_76089_r(), this.field_82913_c) : new ChunkProviderGenerate(this.field_76579_a, this.field_76579_a.func_72905_C(), this.field_76579_a.func_72912_H().func_76089_r(), this.field_82913_c)))); ++ return field_76577_b.getChunkGenerator(field_76579_a, field_82913_c); + } + + public boolean func_76566_a(int p_76566_1_, int p_76566_2_) +@@ -177,13 +163,13 @@ + + public int func_76557_i() + { +- return this.field_76577_b == WorldType.field_77138_c ? 4 : 64; ++ return this.field_76577_b.getMinimumSpawnHeight(this.field_76579_a); + } + + @SideOnly(Side.CLIENT) + public double func_76565_k() + { +- return this.field_76577_b == WorldType.field_77138_c ? 1.0D : 0.03125D; ++ return this.field_76577_b.voidFadeMagnitude(); + } + + @SideOnly(Side.CLIENT) diff --git a/fml/patches/minecraft/net/minecraft/world/WorldType.java.patch b/fml/patches/minecraft/net/minecraft/world/WorldType.java.patch new file mode 100644 index 000000000..5053a737c --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/world/WorldType.java.patch @@ -0,0 +1,56 @@ +--- ../src-base/minecraft/net/minecraft/world/WorldType.java ++++ ../src-work/minecraft/net/minecraft/world/WorldType.java +@@ -114,4 +114,53 @@ + this.field_151361_l = true; + return this; + } ++ ++ public net.minecraft.world.biome.WorldChunkManager getChunkManager(World world) ++ { ++ if (this == field_77138_c) ++ { ++ net.minecraft.world.gen.FlatGeneratorInfo flatgeneratorinfo = net.minecraft.world.gen.FlatGeneratorInfo.func_82651_a(world.func_72912_H().func_82571_y()); ++ return new net.minecraft.world.biome.WorldChunkManagerHell(net.minecraft.world.biome.BiomeGenBase.func_180276_a(flatgeneratorinfo.func_82648_a(), net.minecraft.world.biome.BiomeGenBase.field_180279_ad), 0.5F); ++ } ++ else if (this == field_180272_g) ++ { ++ return new net.minecraft.world.biome.WorldChunkManagerHell(net.minecraft.world.biome.BiomeGenBase.field_76772_c, 0.0F); ++ } ++ else ++ { ++ return new net.minecraft.world.biome.WorldChunkManager(world); ++ } ++ } ++ ++ public net.minecraft.world.chunk.IChunkProvider getChunkGenerator(World world, String generatorOptions) ++ { ++ if (this == field_77138_c) return new net.minecraft.world.gen.ChunkProviderFlat(world, world.func_72905_C(), world.func_72912_H().func_76089_r(), generatorOptions); ++ if (this == field_180272_g) return new net.minecraft.world.gen.ChunkProviderDebug(world); ++ return new net.minecraft.world.gen.ChunkProviderGenerate(world, world.func_72905_C(), world.func_72912_H().func_76089_r(), generatorOptions); ++ } ++ ++ public int getMinimumSpawnHeight(World world) ++ { ++ return this == field_77138_c ? 4 : 64; ++ } ++ ++ public double getHorizon(World world) ++ { ++ return this == field_77138_c ? 0.0D : 63.0D; ++ } ++ ++ public double voidFadeMagnitude() ++ { ++ return this == field_77138_c ? 1.0D : 0.03125D; ++ } ++ ++ public boolean handleSlimeSpawnReduction(java.util.Random random, World world) ++ { ++ return this == field_77138_c ? random.nextInt(4) != 1 : false; ++ } ++ ++ /** ++ * Called when 'Create New World' button is pressed before starting game ++ */ ++ public void onGUICreateWorldPress() { } + } diff --git a/fml/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch b/fml/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch new file mode 100644 index 000000000..01d1962a6 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java.patch @@ -0,0 +1,41 @@ +--- ../src-base/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java ++++ ../src-work/minecraft/net/minecraft/world/chunk/storage/AnvilChunkLoader.java +@@ -287,11 +287,20 @@ + Entity entity = (Entity)iterator.next(); + nbttagcompound1 = new NBTTagCompound(); + ++ try ++ { + if (entity.func_70039_c(nbttagcompound1)) + { + p_75820_1_.func_177409_g(true); + nbttaglist1.func_74742_a(nbttagcompound1); + } ++ } ++ catch (Exception e) ++ { ++ net.minecraftforge.fml.common.FMLLog.log(org.apache.logging.log4j.Level.ERROR, e, ++ "An Entity type %s has thrown an exception trying to write state. It will not persist. Report this to the mod author", ++ entity.getClass().getName()); ++ } + } + } + +@@ -303,8 +312,17 @@ + { + TileEntity tileentity = (TileEntity)iterator.next(); + nbttagcompound1 = new NBTTagCompound(); ++ try ++ { + tileentity.func_145841_b(nbttagcompound1); + nbttaglist2.func_74742_a(nbttagcompound1); ++ } ++ catch (Exception e) ++ { ++ net.minecraftforge.fml.common.FMLLog.log(org.apache.logging.log4j.Level.ERROR, e, ++ "A TileEntity type %s has throw an exception trying to write state. It will not persist. Report this to the mod author", ++ tileentity.getClass().getName()); ++ } + } + + p_75820_3_.func_74782_a("TileEntities", nbttaglist2); diff --git a/fml/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch b/fml/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch new file mode 100644 index 000000000..931c0bc1d --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/world/gen/ChunkProviderServer.java.patch @@ -0,0 +1,10 @@ +--- ../src-base/minecraft/net/minecraft/world/gen/ChunkProviderServer.java ++++ ../src-work/minecraft/net/minecraft/world/gen/ChunkProviderServer.java +@@ -209,6 +209,7 @@ + if (this.field_73246_d != null) + { + this.field_73246_d.func_73153_a(p_73153_1_, p_73153_2_, p_73153_3_); ++ net.minecraftforge.fml.common.registry.GameRegistry.generateWorld(p_73153_2_, p_73153_3_, field_73251_h, field_73246_d, p_73153_1_); + chunk.func_76630_e(); + } + } diff --git a/fml/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch b/fml/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch new file mode 100644 index 000000000..0050eacf0 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java.patch @@ -0,0 +1,22 @@ +--- ../src-base/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java ++++ ../src-work/minecraft/net/minecraft/world/gen/structure/StructureVillagePieces.java +@@ -59,6 +59,8 @@ + arraylist.add(new StructureVillagePieces.PieceWeight(StructureVillagePieces.Field2.class, 3, MathHelper.func_76136_a(p_75084_0_, 2 + p_75084_1_, 4 + p_75084_1_ * 2))); + arraylist.add(new StructureVillagePieces.PieceWeight(StructureVillagePieces.House2.class, 15, MathHelper.func_76136_a(p_75084_0_, 0, 1 + p_75084_1_))); + arraylist.add(new StructureVillagePieces.PieceWeight(StructureVillagePieces.House3.class, 8, MathHelper.func_76136_a(p_75084_0_, 0 + p_75084_1_, 3 + p_75084_1_ * 2))); ++ net.minecraftforge.fml.common.registry.VillagerRegistry.addExtraVillageComponents(arraylist, p_75084_0_, p_75084_1_); ++ + Iterator iterator = arraylist.iterator(); + + while (iterator.hasNext()) +@@ -132,6 +134,10 @@ + { + object = StructureVillagePieces.House3.func_175849_a(p_176065_0_, p_176065_2_, p_176065_3_, p_176065_4_, p_176065_5_, p_176065_6_, p_176065_7_, p_176065_8_); + } ++ else ++ { ++ object = net.minecraftforge.fml.common.registry.VillagerRegistry.getVillageComponent(p_176065_1_, p_176065_0_ , p_176065_2_, p_176065_3_, p_176065_4_, p_176065_5_, p_176065_6_, p_176065_7_, p_176065_8_); ++ } + + return (StructureVillagePieces.Village)object; + } diff --git a/fml/patches/minecraft/net/minecraft/world/storage/MapData.java.patch b/fml/patches/minecraft/net/minecraft/world/storage/MapData.java.patch new file mode 100644 index 000000000..e23138bc9 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/world/storage/MapData.java.patch @@ -0,0 +1,39 @@ +--- ../src-base/minecraft/net/minecraft/world/storage/MapData.java ++++ ../src-work/minecraft/net/minecraft/world/storage/MapData.java +@@ -22,7 +22,7 @@ + { + public int field_76201_a; + public int field_76199_b; +- public byte field_76200_c; ++ public int field_76200_c; //FML byte -> int + public byte field_76197_d; + public byte[] field_76198_e = new byte[16384]; + public List field_76196_g = Lists.newArrayList(); +@@ -46,7 +46,17 @@ + + public void func_76184_a(NBTTagCompound p_76184_1_) + { +- this.field_76200_c = p_76184_1_.func_74771_c("dimension"); ++ net.minecraft.nbt.NBTBase dimension = p_76184_1_.func_74781_a("dimension"); ++ ++ if (dimension instanceof net.minecraft.nbt.NBTTagByte) ++ { ++ this.field_76200_c = ((net.minecraft.nbt.NBTTagByte)dimension).func_150290_f(); ++ } ++ else ++ { ++ this.field_76200_c = ((net.minecraft.nbt.NBTTagInt)dimension).func_150287_d(); ++ } ++ + this.field_76201_a = p_76184_1_.func_74762_e("xCenter"); + this.field_76199_b = p_76184_1_.func_74762_e("zCenter"); + this.field_76197_d = p_76184_1_.func_74771_c("scale"); +@@ -87,7 +97,7 @@ + + public void func_76187_b(NBTTagCompound p_76187_1_) + { +- p_76187_1_.func_74774_a("dimension", this.field_76200_c); ++ p_76187_1_.func_74768_a("dimension", this.field_76200_c); + p_76187_1_.func_74768_a("xCenter", this.field_76201_a); + p_76187_1_.func_74768_a("zCenter", this.field_76199_b); + p_76187_1_.func_74774_a("scale", this.field_76197_d); diff --git a/fml/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch b/fml/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch new file mode 100644 index 000000000..6b8e86b5c --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/world/storage/SaveHandler.java.patch @@ -0,0 +1,89 @@ +--- ../src-base/minecraft/net/minecraft/world/storage/SaveHandler.java ++++ ../src-work/minecraft/net/minecraft/world/storage/SaveHandler.java +@@ -107,20 +107,29 @@ + NBTTagCompound nbttagcompound; + NBTTagCompound nbttagcompound1; + ++ WorldInfo worldInfo = null; ++ + if (file1.exists()) + { + try + { + nbttagcompound = CompressedStreamTools.func_74796_a(new FileInputStream(file1)); + nbttagcompound1 = nbttagcompound.func_74775_l("Data"); +- return new WorldInfo(nbttagcompound1); ++ worldInfo = new WorldInfo(nbttagcompound1); ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().handleWorldDataLoad(this, worldInfo, nbttagcompound); ++ return worldInfo; + } ++ catch (net.minecraftforge.fml.common.StartupQuery.AbortedException e) ++ { ++ throw e; ++ } + catch (Exception exception1) + { + exception1.printStackTrace(); + } + } + ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().confirmBackupLevelDatUse(this); + file1 = new File(this.field_75770_b, "level.dat_old"); + + if (file1.exists()) +@@ -129,7 +138,13 @@ + { + nbttagcompound = CompressedStreamTools.func_74796_a(new FileInputStream(file1)); + nbttagcompound1 = nbttagcompound.func_74775_l("Data"); +- return new WorldInfo(nbttagcompound1); ++ worldInfo = new WorldInfo(nbttagcompound1); ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().handleWorldDataLoad(this, worldInfo, nbttagcompound); ++ return worldInfo; ++ } ++ catch (net.minecraftforge.fml.common.StartupQuery.AbortedException e) ++ { ++ throw e; + } + catch (Exception exception) + { +@@ -146,6 +161,8 @@ + NBTTagCompound nbttagcompound2 = new NBTTagCompound(); + nbttagcompound2.func_74782_a("Data", nbttagcompound1); + ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().handleWorldDataSave(this, p_75755_1_, nbttagcompound2); ++ + try + { + File file1 = new File(this.field_75770_b, "level.dat_new"); +@@ -184,6 +201,8 @@ + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.func_74782_a("Data", nbttagcompound); + ++ net.minecraftforge.fml.common.FMLCommonHandler.instance().handleWorldDataSave(this, p_75761_1_, nbttagcompound1); ++ + try + { + File file1 = new File(this.field_75770_b, "level.dat_new"); +@@ -301,4 +320,22 @@ + { + return this.field_75767_f; + } ++ ++ public NBTTagCompound getPlayerNBT(net.minecraft.entity.player.EntityPlayerMP player) ++ { ++ try ++ { ++ File file1 = new File(this.field_75771_c, player.func_110124_au().toString() + ".dat"); ++ ++ if (file1.exists() && file1.isFile()) ++ { ++ return CompressedStreamTools.func_74796_a(new FileInputStream(file1)); ++ } ++ } ++ catch (Exception exception) ++ { ++ field_151478_a.warn("Failed to load player data for " + player.func_70005_c_()); ++ } ++ return null; ++ } + } diff --git a/fml/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch b/fml/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch new file mode 100644 index 000000000..b1d007002 --- /dev/null +++ b/fml/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch @@ -0,0 +1,35 @@ +--- ../src-base/minecraft/net/minecraft/world/storage/WorldInfo.java ++++ ../src-work/minecraft/net/minecraft/world/storage/WorldInfo.java +@@ -52,6 +52,7 @@ + private int field_176155_J; + private GameRules field_82577_x; + private static final String __OBFID = "CL_00000587"; ++ private java.util.Map additionalProperties; + + protected WorldInfo() + { +@@ -803,4 +804,24 @@ + } + }); + } ++ ++ /** ++ * Allow access to additional mod specific world based properties ++ * Used by FML to store mod list associated with a world, and maybe an id map ++ * Used by Forge to store the dimensions available to a world ++ * @param additionalProperties ++ */ ++ public void setAdditionalProperties(java.util.Map additionalProperties) ++ { ++ // one time set for this ++ if (this.additionalProperties == null) ++ { ++ this.additionalProperties = additionalProperties; ++ } ++ } ++ ++ public net.minecraft.nbt.NBTBase getAdditionalProperty(String additionalProperty) ++ { ++ return this.additionalProperties!=null? this.additionalProperties.get(additionalProperty) : null; ++ } + } diff --git a/fml/settings.gradle b/fml/settings.gradle new file mode 100644 index 000000000..bcecb1a4a --- /dev/null +++ b/fml/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'fml' \ No newline at end of file diff --git a/fml/src/main/java/net/minecraftforge/fml/client/CustomModLoadingErrorDisplayException.java b/fml/src/main/java/net/minecraftforge/fml/client/CustomModLoadingErrorDisplayException.java new file mode 100644 index 000000000..607c3c51d --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/CustomModLoadingErrorDisplayException.java @@ -0,0 +1,68 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.client; + +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.GuiErrorScreen; +import net.minecraftforge.fml.common.EnhancedRuntimeException; +import net.minecraftforge.fml.common.IFMLHandledException; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + +/** + * If a mod throws this exception during loading, it will be called back to render + * the error screen through the methods below. This error will not be cleared, and will + * not allow the game to carry on, but might be useful if your mod wishes to report + * a fatal configuration error in a pretty way. + * + * Throw this through a proxy. It won't work on the dedicated server environment. + * @author cpw + * + */ +@SideOnly(Side.CLIENT) +public abstract class CustomModLoadingErrorDisplayException extends EnhancedRuntimeException implements IFMLHandledException +{ + public CustomModLoadingErrorDisplayException() { + } + + public CustomModLoadingErrorDisplayException(String message, Throwable cause) + { + super(message, cause); + } + + private static final long serialVersionUID = 1L; + + /** + * Called after the GUI is inited by the parent code. You can do extra stuff here, maybe? + * + * @param errorScreen The error screen we're painting + * @param fontRenderer A font renderer for you + */ + public abstract void initGui(GuiErrorScreen errorScreen, FontRenderer fontRenderer); + + /** + * Draw your error to the screen. + * + *
Warning: Minecraft is in a deep error state. All it can do is stop. + * Do not try and do anything involving complex user interaction here. + * + * @param errorScreen The error screen to draw to + * @param fontRenderer A font renderer for you + * @param mouseRelX Mouse X + * @param mouseRelY Mouse Y + * @param tickTime tick time + */ + public abstract void drawScreen(GuiErrorScreen errorScreen, FontRenderer fontRenderer, int mouseRelX, int mouseRelY, float tickTime); + + @Override public void printStackTrace(EnhancedRuntimeException.WrappedPrintStream s){}; // Do Nothing unless the modder wants to. +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/ExtendedServerListData.java b/fml/src/main/java/net/minecraftforge/fml/client/ExtendedServerListData.java new file mode 100644 index 000000000..ed3b86095 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/ExtendedServerListData.java @@ -0,0 +1,18 @@ +package net.minecraftforge.fml.client; + +import java.util.Map; + +public class ExtendedServerListData { + public final String type; + public final boolean isCompatible; + public final Map modData; + public final boolean isBlocked; + + public ExtendedServerListData(String type, boolean isCompatible, Map modData, boolean isBlocked) + { + this.type = type; + this.isCompatible = isCompatible; + this.modData = modData; + this.isBlocked = isBlocked; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/FMLClientHandler.java b/fml/src/main/java/net/minecraftforge/fml/client/FMLClientHandler.java new file mode 100644 index 000000000..b270de9be --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/FMLClientHandler.java @@ -0,0 +1,998 @@ +/* + * The FML Forge Mod Loader suite. Copyright (C) 2012 cpw + * + * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +package net.minecraftforge.fml.client; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.lang.ref.WeakReference; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityPlayerSP; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.GuiIngameMenu; +import net.minecraft.client.gui.GuiMainMenu; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiSelectWorld; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.gui.ServerListEntryNormal; +import net.minecraft.client.multiplayer.GuiConnecting; +import net.minecraft.client.multiplayer.ServerData; +import net.minecraft.client.multiplayer.WorldClient; +import net.minecraft.client.network.NetHandlerPlayClient; +import net.minecraft.client.network.OldServerPinger; +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.client.resources.AbstractResourcePack; +import net.minecraft.client.resources.FallbackResourceManager; +import net.minecraft.client.resources.IReloadableResourceManager; +import net.minecraft.client.resources.IResourcePack; +import net.minecraft.client.resources.SimpleReloadableResourceManager; +import net.minecraft.crash.CrashReport; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.launchwrapper.Launch; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.INetHandler; +import net.minecraft.network.NetHandlerPlayServer; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.ServerStatusResponse; +import net.minecraft.network.handshake.INetHandlerHandshakeServer; +import net.minecraft.network.login.INetHandlerLoginClient; +import net.minecraft.network.login.INetHandlerLoginServer; +import net.minecraft.network.play.INetHandlerPlayClient; +import net.minecraft.network.play.INetHandlerPlayServer; +import net.minecraft.network.status.INetHandlerStatusClient; +import net.minecraft.network.status.INetHandlerStatusServer; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.IThreadListener; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.WorldSettings; +import net.minecraft.world.storage.SaveFormatOld; +import net.minecraftforge.fml.client.registry.RenderingRegistry; +import net.minecraftforge.fml.common.DummyModContainer; +import net.minecraftforge.fml.common.DuplicateModsFoundException; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLContainerHolder; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.IFMLSidedHandler; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.LoaderException; +import net.minecraftforge.fml.common.MetadataCollection; +import net.minecraftforge.fml.common.MissingModsException; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.ModMetadata; +import net.minecraftforge.fml.common.ObfuscationReflectionHelper; +import net.minecraftforge.fml.common.StartupQuery; +import net.minecraftforge.fml.common.WrongMinecraftVersionException; +import net.minecraftforge.fml.common.eventhandler.EventBus; +import net.minecraftforge.fml.common.network.FMLNetworkEvent; +import net.minecraftforge.fml.common.network.internal.FMLNetworkHandler; +import net.minecraftforge.fml.common.registry.GameData; +import net.minecraftforge.fml.common.registry.LanguageRegistry; +import net.minecraftforge.fml.common.toposort.ModSortingException; +import net.minecraftforge.fml.relauncher.Side; + +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.lwjgl.LWJGLUtil; +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.Display; + +import com.google.common.base.Strings; +import com.google.common.base.Throwables; +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBasedTable; +import com.google.common.collect.HashBiMap; +import com.google.common.collect.HashMultimap; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableMap.Builder; +import com.google.common.collect.Maps; +import com.google.common.collect.SetMultimap; +import com.google.common.collect.Sets; +import com.google.common.collect.Table; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; + + +/** + * Handles primary communication from hooked code into the system + * + * The FML entry point is {@link #beginMinecraftLoading(Minecraft, List)} called from + * {@link Minecraft} + * + * Obfuscated code should focus on this class and other members of the "server" + * (or "client") code + * + * The actual mod loading is handled at arms length by {@link Loader} + * + * It is expected that a similar class will exist for each target environment: + * Bukkit and Client side. + * + * It should not be directly modified. + * + * @author cpw + * + */ +public class FMLClientHandler implements IFMLSidedHandler +{ + /** + * The singleton + */ + private static final FMLClientHandler INSTANCE = new FMLClientHandler(); + + /** + * A reference to the server itself + */ + private Minecraft client; + + private DummyModContainer optifineContainer; + + private boolean guiLoaded; + + private boolean serverIsRunning; + + private MissingModsException modsMissing; + + private ModSortingException modSorting; + + private boolean loading = true; + + private WrongMinecraftVersionException wrongMC; + + private CustomModLoadingErrorDisplayException customError; + + private DuplicateModsFoundException dupesFound; + + private boolean serverShouldBeKilledQuietly; + + private List resourcePackList; + + private IReloadableResourceManager resourceManager; + + private Map resourcePackMap; + + private BiMap guiFactories; + + private Map extraServerListData; + private Map serverDataTag; + + private WeakReference currentPlayClient; + + /** + * Called to start the whole game off + * + * @param minecraft The minecraft instance being launched + * @param resourcePackList The resource pack list we will populate with mods + * @param resourceManager The resource manager + */ + @SuppressWarnings("unchecked") + public void beginMinecraftLoading(Minecraft minecraft, @SuppressWarnings("rawtypes") List resourcePackList, IReloadableResourceManager resourceManager) + { + detectOptifine(); + SplashProgress.start(); + client = minecraft; + this.resourcePackList = resourcePackList; + this.resourceManager = resourceManager; + this.resourcePackMap = Maps.newHashMap(); + if (minecraft.isDemo()) + { + FMLLog.severe("DEMO MODE DETECTED, FML will not work. Finishing now."); + haltGame("FML will not run in demo mode", new RuntimeException()); + return; + } + + FMLCommonHandler.instance().beginLoading(this); + try + { + Loader.instance().loadMods(); + } + catch (WrongMinecraftVersionException wrong) + { + wrongMC = wrong; + } + catch (DuplicateModsFoundException dupes) + { + dupesFound = dupes; + } + catch (MissingModsException missing) + { + modsMissing = missing; + } + catch (ModSortingException sorting) + { + modSorting = sorting; + } + catch (CustomModLoadingErrorDisplayException custom) + { + FMLLog.log(Level.ERROR, custom, "A custom exception was thrown by a mod, the game will now halt"); + customError = custom; + } + catch (LoaderException le) + { + haltGame("There was a severe problem during mod loading that has caused the game to fail", le); + return; + } + finally + { + client.refreshResources(); + } + + try + { + Loader.instance().preinitializeMods(); + } + catch (CustomModLoadingErrorDisplayException custom) + { + FMLLog.log(Level.ERROR, custom, "A custom exception was thrown by a mod, the game will now halt"); + customError = custom; + } + catch (LoaderException le) + { + haltGame("There was a severe problem during mod loading that has caused the game to fail", le); + return; + } + Map> sharedModList = (Map>) Launch.blackboard.get("modList"); + if (sharedModList == null) + { + sharedModList = Maps.newHashMap(); + Launch.blackboard.put("modList", sharedModList); + } + for (ModContainer mc : Loader.instance().getActiveModList()) + { + Map sharedModDescriptor = mc.getSharedModDescriptor(); + if (sharedModDescriptor != null) + { + String sharedModId = "fml:"+mc.getModId(); + sharedModList.put(sharedModId, sharedModDescriptor); + } + } + } + + private void detectOptifine() + { + try + { + Class optifineConfig = Class.forName("Config", false, Loader.instance().getModClassLoader()); + String optifineVersion = (String) optifineConfig.getField("VERSION").get(null); + Map dummyOptifineMeta = ImmutableMap.builder().put("name", "Optifine").put("version", optifineVersion).build(); + ModMetadata optifineMetadata = MetadataCollection.from(getClass().getResourceAsStream("optifinemod.info"),"optifine").getMetadataForId("optifine", dummyOptifineMeta); + optifineContainer = new DummyModContainer(optifineMetadata); + FMLLog.info("Forge Mod Loader has detected optifine %s, enabling compatibility features",optifineContainer.getVersion()); + } + catch (Exception e) + { + optifineContainer = null; + } + } + + @Override + public void haltGame(String message, Throwable t) + { + SplashProgress.finish(); + client.displayCrashReport(new CrashReport(message, t)); + throw Throwables.propagate(t); + } + /** + * Called a bit later on during initialization to finish loading mods + * Also initializes key bindings + * + */ + public void finishMinecraftLoading() + { + if (modsMissing != null || wrongMC != null || customError!=null || dupesFound!=null || modSorting!=null) + { + SplashProgress.finish(); + return; + } + try + { + Loader.instance().initializeMods(); + } + catch (CustomModLoadingErrorDisplayException custom) + { + FMLLog.log(Level.ERROR, custom, "A custom exception was thrown by a mod, the game will now halt"); + customError = custom; + SplashProgress.finish(); + return; + } + catch (LoaderException le) + { + haltGame("There was a severe problem during mod loading that has caused the game to fail", le); + return; + } + + // Reload resources + client.refreshResources(); + RenderingRegistry.loadEntityRenderers((Map, Render>)Minecraft.getMinecraft().getRenderManager().entityRenderMap); + guiFactories = HashBiMap.create(); + for (ModContainer mc : Loader.instance().getActiveModList()) + { + String className = mc.getGuiClassName(); + if (Strings.isNullOrEmpty(className)) + { + continue; + } + try + { + Class clazz = Class.forName(className, true, Loader.instance().getModClassLoader()); + Class guiClassFactory = clazz.asSubclass(IModGuiFactory.class); + IModGuiFactory guiFactory = guiClassFactory.newInstance(); + guiFactory.initialize(client); + guiFactories.put(mc, guiFactory); + } catch (Exception e) + { + FMLLog.log(Level.ERROR, e, "A critical error occurred instantiating the gui factory for mod %s", mc.getModId()); + } + } + loading = false; + client.gameSettings.loadOptions(); //Reload options to load any mod added keybindings. + } + + public void extendModList() + { + @SuppressWarnings("unchecked") + Map> modList = (Map>) Launch.blackboard.get("modList"); + if (modList != null) + { + for (Entry> modEntry : modList.entrySet()) + { + String sharedModId = modEntry.getKey(); + String system = sharedModId.split(":")[0]; + if ("fml".equals(system)) + { + continue; + } + Map mod = modEntry.getValue(); + String modSystem = mod.get("modsystem"); // the modsystem (FML uses FML or ModLoader) + String modId = mod.get("id"); // unique ID + String modVersion = mod.get("version"); // version + String modName = mod.get("name"); // a human readable name + String modURL = mod.get("url"); // a URL for the mod (can be empty string) + String modAuthors = mod.get("authors"); // a csv of authors (can be empty string) + String modDescription = mod.get("description"); // a (potentially) multiline description (can be empty string) + } + } + + } + public void onInitializationComplete() + { + if (wrongMC != null) + { + showGuiScreen(new GuiWrongMinecraft(wrongMC)); + } + else if (modsMissing != null) + { + showGuiScreen(new GuiModsMissing(modsMissing)); + } + else if (dupesFound != null) + { + showGuiScreen(new GuiDupesFound(dupesFound)); + } + else if (modSorting != null) + { + showGuiScreen(new GuiSortingProblem(modSorting)); + } + else if (customError != null) + { + showGuiScreen(new GuiCustomModLoadingErrorScreen(customError)); + } + else + { + Loader.instance().loadingComplete(); + SplashProgress.finish(); + } + logMissingTextureErrors(); + } + /** + * Get the server instance + */ + public Minecraft getClient() + { + return client; + } + + /** + * @return the instance + */ + public static FMLClientHandler instance() + { + return INSTANCE; + } + + /** + * @param player + * @param gui + */ + public void displayGuiScreen(EntityPlayer player, GuiScreen gui) + { + if (client.thePlayer==player && gui != null) { + client.displayGuiScreen(gui); + } + } + + /** + * @param mods + */ + public void addSpecialModEntries(ArrayList mods) + { + if (optifineContainer!=null) { + mods.add(optifineContainer); + } + } + + @Override + public List getAdditionalBrandingInformation() + { + if (optifineContainer!=null) + { + return Arrays.asList(String.format("Optifine %s",optifineContainer.getVersion())); + } else { + return ImmutableList.of(); + } + } + + @Override + public Side getSide() + { + return Side.CLIENT; + } + + public boolean hasOptifine() + { + return optifineContainer!=null; + } + + @Override + public void showGuiScreen(Object clientGuiElement) + { + GuiScreen gui = (GuiScreen) clientGuiElement; + client.displayGuiScreen(gui); + } + + @Override + public void queryUser(StartupQuery query) throws InterruptedException + { + if (query.getResult() == null) + { + client.displayGuiScreen(new GuiNotification(query)); + } + else + { + client.displayGuiScreen(new GuiConfirmation(query)); + } + + if (query.isSynchronous()) + { + while (client.currentScreen instanceof GuiNotification) + { + if (Thread.interrupted()) throw new InterruptedException(); + + client.loadingScreen.displayLoadingString(""); + + Thread.sleep(50); + } + + client.loadingScreen.displayLoadingString(""); // make sure the blank screen is being drawn at the end + } + } + + public boolean handleLoadingScreen(ScaledResolution scaledResolution) throws IOException + { + if (client.currentScreen instanceof GuiNotification) + { + int width = scaledResolution.getScaledWidth(); + int height = scaledResolution.getScaledHeight(); + int mouseX = Mouse.getX() * width / client.displayWidth; + int mouseZ = height - Mouse.getY() * height / client.displayHeight - 1; + + client.currentScreen.drawScreen(mouseX, mouseZ, 0); + client.currentScreen.handleInput(); + + return true; + } + else + { + return false; + } + } + + public WorldClient getWorldClient() + { + return client.theWorld; + } + + public EntityPlayerSP getClientPlayerEntity() + { + return client.thePlayer; + } + + @Override + public void beginServerLoading(MinecraftServer server) + { + serverShouldBeKilledQuietly = false; + // NOOP + } + + @Override + public void finishServerLoading() + { + // NOOP + } + + @Override + public File getSavesDirectory() + { + return ((SaveFormatOld) client.getSaveLoader()).savesDirectory; + } + + @Override + public MinecraftServer getServer() + { + return client.getIntegratedServer(); + } + + public void displayMissingMods(Object modMissingPacket) + { +// showGuiScreen(new GuiModsMissingForServer(modMissingPacket)); + } + + /** + * If the client is in the midst of loading, we disable saving so that custom settings aren't wiped out + */ + public boolean isLoading() + { + return loading; + } + + @Override + public boolean shouldServerShouldBeKilledQuietly() + { + return serverShouldBeKilledQuietly; + } + + /** + * Is this GUI type open? + * + * @param gui The type of GUI to test for + * @return if a GUI of this type is open + */ + public boolean isGUIOpen(Class gui) + { + return client.currentScreen != null && client.currentScreen.getClass().equals(gui); + } + + + @Override + public void addModAsResource(ModContainer container) + { + LanguageRegistry.instance().loadLanguagesFor(container, Side.CLIENT); + Class resourcePackType = container.getCustomResourcePackClass(); + if (resourcePackType != null) + { + try + { + IResourcePack pack = (IResourcePack) resourcePackType.getConstructor(ModContainer.class).newInstance(container); + resourcePackList.add(pack); + resourcePackMap.put(container.getModId(), pack); + } + catch (NoSuchMethodException e) + { + FMLLog.log(Level.ERROR, "The container %s (type %s) returned an invalid class for it's resource pack.", container.getName(), container.getClass().getName()); + return; + } + catch (Exception e) + { + FMLLog.log(Level.ERROR, e, "An unexpected exception occurred constructing the custom resource pack for %s", container.getName()); + throw Throwables.propagate(e); + } + } + } + + public IResourcePack getResourcePackFor(String modId) + { + return resourcePackMap.get(modId); + } + + @Override + public String getCurrentLanguage() + { + return client.getLanguageManager().getCurrentLanguage().getLanguageCode(); + } + + @Override + public void serverStopped() + { + // If the server crashes during startup, it might hang the client- reset the client so it can abend properly. + MinecraftServer server = getServer(); + + if (server != null && !server.serverIsInRunLoop()) + { + ObfuscationReflectionHelper.setPrivateValue(MinecraftServer.class, server, true, "field_71296"+"_Q","serverIs"+"Running"); + } + } + + @Override + public INetHandler getClientPlayHandler() + { + return this.currentPlayClient == null ? null : this.currentPlayClient.get(); + } + @Override + public NetworkManager getClientToServerNetworkManager() + { + return this.client.getNetHandler()!=null ? this.client.getNetHandler().getNetworkManager() : null; + } + + public void handleClientWorldClosing(WorldClient world) + { + NetworkManager client = getClientToServerNetworkManager(); + // ONLY revert a non-local connection + if (client != null && !client.isLocalChannel()) + { + GameData.revertToFrozen(); + } + } + + public void startIntegratedServer(String id, String name, WorldSettings settings) + { + } + + public File getSavesDir() + { + return new File(client.mcDataDir, "saves"); + } + public void tryLoadExistingWorld(GuiSelectWorld selectWorldGUI, String dirName, String saveName) + { + File dir = new File(getSavesDir(), dirName); + NBTTagCompound leveldat; + try + { + leveldat = CompressedStreamTools.readCompressed(new FileInputStream(new File(dir, "level.dat"))); + } + catch (Exception e) + { + try + { + leveldat = CompressedStreamTools.readCompressed(new FileInputStream(new File(dir, "level.dat_old"))); + } + catch (Exception e1) + { + FMLLog.warning("There appears to be a problem loading the save %s, both level files are unreadable.", dirName); + return; + } + } + NBTTagCompound fmlData = leveldat.getCompoundTag("FML"); + if (fmlData.hasKey("ModItemData")) + { + showGuiScreen(new GuiOldSaveLoadConfirm(dirName, saveName, selectWorldGUI)); + } + else + { + try + { + client.launchIntegratedServer(dirName, saveName, (WorldSettings)null); + } + catch (StartupQuery.AbortedException e) + { + // ignore + } + } + } + + public void showInGameModOptions(GuiIngameMenu guiIngameMenu) + { + showGuiScreen(new GuiIngameModOptions(guiIngameMenu)); + } + + public IModGuiFactory getGuiFactoryFor(ModContainer selectedMod) + { + return guiFactories.get(selectedMod); + } + + + public void setupServerList() + { + extraServerListData = Collections.synchronizedMap(Maps.newHashMap()); + serverDataTag = Collections.synchronizedMap(Maps.newHashMap()); + } + + public void captureAdditionalData(ServerStatusResponse serverstatusresponse, JsonObject jsonobject) + { + if (jsonobject.has("modinfo")) + { + JsonObject fmlData = jsonobject.get("modinfo").getAsJsonObject(); + extraServerListData.put(serverstatusresponse, fmlData); + } + } + public void bindServerListData(ServerData data, ServerStatusResponse originalResponse) + { + if (extraServerListData.containsKey(originalResponse)) + { + JsonObject jsonData = extraServerListData.get(originalResponse); + String type = jsonData.get("type").getAsString(); + JsonArray modDataArray = jsonData.get("modList").getAsJsonArray(); + boolean moddedClientAllowed = jsonData.has("clientModsAllowed") ? jsonData.get("clientModsAllowed").getAsBoolean() : true; + Builder modListBldr = ImmutableMap.builder(); + for (JsonElement obj : modDataArray) + { + JsonObject modObj = obj.getAsJsonObject(); + modListBldr.put(modObj.get("modid").getAsString(), modObj.get("version").getAsString()); + } + + Map modListMap = modListBldr.build(); + serverDataTag.put(data, new ExtendedServerListData(type, FMLNetworkHandler.checkModList(modListMap, Side.SERVER) == null, modListMap, !moddedClientAllowed)); + } + else + { + String serverDescription = data.serverMOTD; + boolean moddedClientAllowed = true; + if (!Strings.isNullOrEmpty(serverDescription)) + { + moddedClientAllowed = !serverDescription.endsWith(":NOFML§r"); + } + serverDataTag.put(data, new ExtendedServerListData("VANILLA", false, ImmutableMap.of(), !moddedClientAllowed)); + } + startupConnectionData.countDown(); + } + + private static final ResourceLocation iconSheet = new ResourceLocation("fml:textures/gui/icons.png"); + private static final CountDownLatch startupConnectionData = new CountDownLatch(1); + + public String enhanceServerListEntry(ServerListEntryNormal serverListEntry, ServerData serverEntry, int x, int width, int y, int relativeMouseX, int relativeMouseY) + { + String tooltip; + int idx; + boolean blocked = false; + if (serverDataTag.containsKey(serverEntry)) + { + ExtendedServerListData extendedData = serverDataTag.get(serverEntry); + if ("FML".equals(extendedData.type) && extendedData.isCompatible) + { + idx = 0; + tooltip = String.format("Compatible FML modded server\n%d mods present", extendedData.modData.size()); + } + else if ("FML".equals(extendedData.type) && !extendedData.isCompatible) + { + idx = 16; + tooltip = String.format("Incompatible FML modded server\n%d mods present", extendedData.modData.size()); + } + else if ("BUKKIT".equals(extendedData.type)) + { + idx = 32; + tooltip = String.format("Bukkit modded server"); + } + else if ("VANILLA".equals(extendedData.type)) + { + idx = 48; + tooltip = String.format("Vanilla server"); + } + else + { + idx = 64; + tooltip = String.format("Unknown server data"); + } + blocked = extendedData.isBlocked; + } + else + { + return null; + } + this.client.getTextureManager().bindTexture(iconSheet); + Gui.drawModalRectWithCustomSizedTexture(x + width - 18, y + 10, 0, (float)idx, 16, 16, 256.0f, 256.0f); + if (blocked) + { + Gui.drawModalRectWithCustomSizedTexture(x + width - 18, y + 10, 0, 80, 16, 16, 256.0f, 256.0f); + } + + return relativeMouseX > width - 15 && relativeMouseX < width && relativeMouseY > 10 && relativeMouseY < 26 ? tooltip : null; + } + + public String fixDescription(String description) + { + return description.endsWith(":NOFML§r") ? description.substring(0, description.length() - 8)+"§r" : description; + } + + public void connectToServerAtStartup(String host, int port) + { + setupServerList(); + OldServerPinger osp = new OldServerPinger(); + ServerData serverData = new ServerData("Command Line", host+":"+port); + try + { + osp.ping(serverData); + startupConnectionData.await(30, TimeUnit.SECONDS); + } + catch (Exception e) + { + showGuiScreen(new GuiConnecting(new GuiMainMenu(), client, host, port)); + return; + } + connectToServer(new GuiMainMenu(), serverData); + } + + public void connectToServer(GuiScreen guiMultiplayer, ServerData serverEntry) + { + ExtendedServerListData extendedData = serverDataTag.get(serverEntry); + if (extendedData != null && extendedData.isBlocked) + { + showGuiScreen(new GuiAccessDenied(guiMultiplayer, serverEntry)); + } + else + { + showGuiScreen(new GuiConnecting(guiMultiplayer, client, serverEntry)); + } + } + + public void connectToRealmsServer(String host, int port){} + + public void setPlayClient(NetHandlerPlayClient netHandlerPlayClient) + { + this.currentPlayClient = new WeakReference(netHandlerPlayClient); + } + + @Override + public void fireNetRegistrationEvent(EventBus bus, NetworkManager manager, Set channelSet, String channel, Side side) + { + if (side == Side.CLIENT) + { + bus.post(new FMLNetworkEvent.CustomPacketRegistrationEvent(manager, channelSet, channel, side, NetHandlerPlayClient.class)); + } + else + { + bus.post(new FMLNetworkEvent.CustomPacketRegistrationEvent(manager, channelSet, channel, side, NetHandlerPlayServer.class)); + } + } + + @Override + public boolean shouldAllowPlayerLogins() + { + return true; //Always true as the server has to be started before clicking 'Open to lan' + } + + @Override + public void allowLogins() { + // NOOP for integrated server + } + + @Override + public IThreadListener getWorldThread(INetHandler net) + { + if (net instanceof INetHandlerPlayClient || + net instanceof INetHandlerLoginClient || + net instanceof INetHandlerStatusClient) return getClient(); + if (net instanceof INetHandlerHandshakeServer || + net instanceof INetHandlerLoginServer || + net instanceof INetHandlerPlayServer || + net instanceof INetHandlerStatusServer) return getServer(); + throw new RuntimeException("Unknown INetHandler: " + net); + } + + private SetMultimap missingTextures = HashMultimap.create(); + private Set badTextureDomains = Sets.newHashSet(); + private Table> brokenTextures = HashBasedTable.create(); + + public void trackMissingTexture(ResourceLocation resourceLocation) + { + badTextureDomains.add(resourceLocation.getResourceDomain()); + missingTextures.put(resourceLocation.getResourceDomain(),resourceLocation); + } + + public void trackBrokenTexture(ResourceLocation resourceLocation, String error) + { + badTextureDomains.add(resourceLocation.getResourceDomain()); + Set badType = brokenTextures.get(resourceLocation.getResourceDomain(), error); + if (badType == null) + { + badType = Sets.newHashSet(); + brokenTextures.put(resourceLocation.getResourceDomain(), error, badType); + } + badType.add(resourceLocation); + } + + public void logMissingTextureErrors() + { + if (missingTextures.isEmpty() && brokenTextures.isEmpty()) + { + return; + } + Logger logger = LogManager.getLogger("TEXTURE ERRORS"); + logger.error(Strings.repeat("+=", 25)); + logger.error("The following texture errors were found."); + Map resManagers = ObfuscationReflectionHelper.getPrivateValue(SimpleReloadableResourceManager.class, (SimpleReloadableResourceManager)Minecraft.getMinecraft().getResourceManager(), "domainResourceManagers", "field_110548"+"_a"); + for (String resourceDomain : missingTextures.keySet()) + { + Set missing = missingTextures.get(resourceDomain); + logger.error(Strings.repeat("=", 50)); + logger.error(" DOMAIN {}", resourceDomain); + logger.error(Strings.repeat("-", 50)); + logger.error(" domain {} is missing {} texture{}",resourceDomain, missing.size(),missing.size()!=1 ? "s" : ""); + FallbackResourceManager fallbackResourceManager = resManagers.get(resourceDomain); + if (fallbackResourceManager == null) + { + logger.error(" domain {} is missing a resource manager - it is probably a side-effect of automatic texture processing", resourceDomain); + } + else + { + List resPacks = ObfuscationReflectionHelper.getPrivateValue(FallbackResourceManager.class, fallbackResourceManager, "resourcePacks","field_110540"+"_a"); + logger.error(" domain {} has {} location{}:",resourceDomain, resPacks.size(), resPacks.size() != 1 ? "s" :""); + for (IResourcePack resPack : resPacks) + { + if (resPack instanceof FMLContainerHolder) { + FMLContainerHolder containerHolder = (FMLContainerHolder) resPack; + ModContainer fmlContainer = containerHolder.getFMLContainer(); + logger.error(" mod {} resources at {}", fmlContainer.getModId(), fmlContainer.getSource().getPath()); + } + else if (resPack instanceof AbstractResourcePack) + { + AbstractResourcePack resourcePack = (AbstractResourcePack) resPack; + File resPath = ObfuscationReflectionHelper.getPrivateValue(AbstractResourcePack.class, resourcePack, "resourcePackFile","field_110597"+"_b"); + logger.error(" resource pack at path {}",resPath.getPath()); + } + else + { + logger.error(" unknown resourcepack type {} : {}", resPack.getClass().getName(), resPack.getPackName()); + } + } + } + logger.error(Strings.repeat("-", 25)); + logger.error(" The missing resources for domain {} are:",resourceDomain); + for (ResourceLocation rl : missing) + { + logger.error(" {}",rl.getResourcePath()); + } + logger.error(Strings.repeat("-", 25)); + if (!brokenTextures.containsRow(resourceDomain)) + { + logger.error(" No other errors exist for domain {}", resourceDomain); + } + else + { + logger.error(" The following other errors were reported for domain {}:",resourceDomain); + Map> resourceErrs = brokenTextures.row(resourceDomain); + for (String error: resourceErrs.keySet()) + { + logger.error(Strings.repeat("-", 25)); + logger.error(" Problem: {}", error); + for (ResourceLocation rl : resourceErrs.get(error)) + { + logger.error(" {}",rl.getResourcePath()); + } + } + } + logger.error(Strings.repeat("=", 50)); + } + logger.error(Strings.repeat("+=", 25)); + } + + @Override + public void processWindowMessages() + { + // workaround for windows requiring messages being processed on the main thread + if(LWJGLUtil.getPlatform() == LWJGLUtil.PLATFORM_WINDOWS) + { + Display.processMessages(); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/FMLConfigGuiFactory.java b/fml/src/main/java/net/minecraftforge/fml/client/FMLConfigGuiFactory.java new file mode 100644 index 000000000..8ab08b4f8 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/FMLConfigGuiFactory.java @@ -0,0 +1,139 @@ +package net.minecraftforge.fml.client; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.regex.Pattern; + +import com.google.common.collect.ImmutableSet; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.resources.I18n; +import net.minecraftforge.fml.client.config.ConfigGuiType; +import net.minecraftforge.fml.client.config.DummyConfigElement; +import net.minecraftforge.fml.client.config.GuiConfig; +import net.minecraftforge.fml.client.config.IConfigElement; +import net.minecraftforge.fml.client.config.DummyConfigElement.DummyCategoryElement; +import net.minecraftforge.fml.client.config.DummyConfigElement.DummyListElement; +import net.minecraftforge.fml.client.config.GuiConfigEntries.NumberSliderEntry; + +public class FMLConfigGuiFactory implements IModGuiFactory +{ + public static class FMLConfigGuiScreen extends GuiConfig + { + + public FMLConfigGuiScreen(GuiScreen parent) + { + super(parent, getConfigElements(), "FML", false, false, I18n.format("fml.config.sample.title")); + } + + private static List getConfigElements() + { + List list = new ArrayList(); + List listsList = new ArrayList(); + List stringsList = new ArrayList(); + List numbersList = new ArrayList(); + Pattern commaDelimitedPattern = Pattern.compile("([A-Za-z]+((,){1}( )*|$))+?"); + + // Top Level Settings + list.add(new DummyConfigElement("imABoolean", true, ConfigGuiType.BOOLEAN, "fml.config.sample.imABoolean").setRequiresMcRestart(true)); + list.add(new DummyConfigElement("imAnInteger", 42, ConfigGuiType.INTEGER, "fml.config.sample.imAnInteger", -1, 256).setRequiresMcRestart(true)); + list.add(new DummyConfigElement("imADouble", 42.4242D, ConfigGuiType.DOUBLE, "fml.config.sample.imADouble", -1.0D, 256.256D).setRequiresMcRestart(true)); + list.add(new DummyConfigElement("imAString", "http://www.montypython.net/scripts/string.php", ConfigGuiType.STRING, "fml.config.sample.imAString").setRequiresMcRestart(true)); + + // Lists category + listsList.add(new DummyListElement("booleanList", new Boolean[] {true, false, true, false, true, false, true, false}, ConfigGuiType.BOOLEAN, "fml.config.sample.booleanList")); + listsList.add(new DummyListElement("booleanListFixed", new Boolean[] {true, false, true, false, true, false, true, false}, ConfigGuiType.BOOLEAN, "fml.config.sample.booleanListFixed", true)); + listsList.add(new DummyListElement("booleanListMax", new Boolean[] {true, false, true, false, true, false, true, false}, ConfigGuiType.BOOLEAN, "fml.config.sample.booleanListMax", 10)); + listsList.add(new DummyListElement("doubleList", new Double[] {0.0D, 1.1D, 2.2D, 3.3D, 4.4D, 5.5D, 6.6D, 7.7D, 8.8D, 9.9D}, ConfigGuiType.DOUBLE, "fml.config.sample.doubleList")); + listsList.add(new DummyListElement("doubleListFixed", new Double[] {0.0D, 1.1D, 2.2D, 3.3D, 4.4D, 5.5D, 6.6D, 7.7D, 8.8D, 9.9D}, ConfigGuiType.DOUBLE, "fml.config.sample.doubleListFixed", true)); + listsList.add(new DummyListElement("doubleListMax", new Double[] {0.0D, 1.1D, 2.2D, 3.3D, 4.4D, 5.5D, 6.6D, 7.7D, 8.8D, 9.9D}, ConfigGuiType.DOUBLE, "fml.config.sample.doubleListMax", 15)); + listsList.add(new DummyListElement("doubleListBounded", new Double[] {0.0D, 1.1D, 2.2D, 3.3D, 4.4D, 5.5D, 6.6D, 7.7D, 8.8D, 9.9D}, ConfigGuiType.DOUBLE, "fml.config.sample.doubleListBounded", -1.0D, 10.0D)); + listsList.add(new DummyListElement("integerList", new Integer[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, ConfigGuiType.INTEGER, "fml.config.sample.integerList")); + listsList.add(new DummyListElement("integerListFixed", new Integer[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, ConfigGuiType.INTEGER, "fml.config.sample.integerListFixed", true)); + listsList.add(new DummyListElement("integerListMax", new Integer[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, ConfigGuiType.INTEGER, "fml.config.sample.integerListMax", 15)); + listsList.add(new DummyListElement("integerListBounded", new Integer[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, ConfigGuiType.INTEGER, "fml.config.sample.integerListBounded", -1, 10)); + listsList.add(new DummyListElement("stringList", new String[] {"An", "array", "of", "string", "values"}, ConfigGuiType.STRING, "fml.config.sample.stringList")); + listsList.add(new DummyListElement("stringListFixed", new String[] {"A", "fixed", "length", "array", "of", "string", "values"}, ConfigGuiType.STRING, "fml.config.sample.stringListFixed", true)); + listsList.add(new DummyListElement("stringListMax", new String[] {"An", "array", "of", "string", "values", "with", "a", "max", "length", "of", "15"}, ConfigGuiType.STRING, "fml.config.sample.stringListMax", 15)); + listsList.add(new DummyListElement("stringListPattern", new String[] {"Valid", "Not Valid", "Is, Valid", "Comma, Separated, Value"}, ConfigGuiType.STRING, "fml.config.sample.stringListPattern", commaDelimitedPattern)); + + list.add(new DummyCategoryElement("lists", "fml.config.sample.ctgy.lists", listsList)); + + // Strings category + stringsList.add(new DummyConfigElement("basicString", "Just a regular String value, anything goes.", ConfigGuiType.STRING, "fml.config.sample.basicString")); + stringsList.add(new DummyConfigElement("cycleString", "this", ConfigGuiType.STRING, "fml.config.sample.cycleString", new String[] {"this", "property", "cycles", "through", "a", "list", "of", "valid", "choices"})); + stringsList.add(new DummyConfigElement("patternString", "only, comma, separated, words, can, be, entered, in, this, box", ConfigGuiType.STRING, "fml.config.sample.patternString", commaDelimitedPattern)); + stringsList.add(new DummyConfigElement("chatColorPicker", "c", ConfigGuiType.COLOR, "fml.config.sample.chatColorPicker", new String[] {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"})); + stringsList.add(new DummyConfigElement("modIDSelector", "FML", ConfigGuiType.MOD_ID, "fml.config.sample.modIDSelector")); + + list.add(new DummyCategoryElement("strings", "fml.config.sample.ctgy.strings", stringsList)); + + // Numbers category + numbersList.add((new DummyConfigElement("basicInteger", 42, ConfigGuiType.INTEGER, "fml.config.sample.basicInteger"))); + numbersList.add((new DummyConfigElement("boundedInteger", 42, ConfigGuiType.INTEGER, "fml.config.sample.boundedInteger", -1, 256))); + numbersList.add((new DummyConfigElement("sliderInteger", 2000, ConfigGuiType.INTEGER, "fml.config.sample.sliderInteger", 100, 10000)).setCustomListEntryClass(NumberSliderEntry.class)); + numbersList.add(new DummyConfigElement("basicDouble", 42.4242D, ConfigGuiType.DOUBLE, "fml.config.sample.basicDouble")); + numbersList.add(new DummyConfigElement("boundedDouble", 42.4242D, ConfigGuiType.DOUBLE, "fml.config.sample.boundedDouble", -1.0D, 256.256D)); + numbersList.add(new DummyConfigElement("sliderDouble", 42.4242D, ConfigGuiType.DOUBLE, "fml.config.sample.sliderDouble", -1.0D, 256.256D).setCustomListEntryClass(NumberSliderEntry.class)); + + list.add(new DummyCategoryElement("numbers", "fml.config.sample.ctgy.numbers", numbersList)); + + return list; + } + } + + @Override + public void initialize(Minecraft minecraftInstance) + { + } + + @Override + public Class mainConfigGuiClass() + { + return FMLConfigGuiScreen.class; + } + + private static final Set fmlCategories = ImmutableSet.of(new RuntimeOptionCategoryElement("HELP", "FML")); + + @Override + public Set runtimeGuiCategories() + { + return fmlCategories; + } + + @Override + public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element) + { + return new RuntimeOptionGuiHandler() { + @Override + public void paint(int x, int y, int w, int h) + { + // TODO Auto-generated method stub + + } + + @Override + public void close() + { + } + + @Override + public void addWidgets(List widgets, int x, int y, int w, int h) + { + widgets.add(new GuiButton(100, x+10, y+10, "HELLO")); + } + + @Override + public void actionCallback(int actionId) + { + // TODO Auto-generated method stub + + } + }; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/FMLFileResourcePack.java b/fml/src/main/java/net/minecraftforge/fml/client/FMLFileResourcePack.java new file mode 100644 index 000000000..3738a6ef8 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/FMLFileResourcePack.java @@ -0,0 +1,68 @@ +package net.minecraftforge.fml.client; + +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; + +import org.apache.logging.log4j.Level; + +import javax.imageio.ImageIO; + +import net.minecraft.client.resources.FileResourcePack; +import net.minecraftforge.fml.common.FMLContainerHolder; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.ModContainer; + +import com.google.common.base.Charsets; + +public class FMLFileResourcePack extends FileResourcePack implements FMLContainerHolder { + + private ModContainer container; + + public FMLFileResourcePack(ModContainer container) + { + super(container.getSource()); + this.container = container; + } + + @Override + public String getPackName() + { + return "FMLFileResourcePack:"+container.getName(); + } + @Override + protected InputStream getInputStreamByName(String resourceName) throws IOException + { + try + { + return super.getInputStreamByName(resourceName); + } + catch (IOException ioe) + { + if ("pack.mcmeta".equals(resourceName)) + { + FMLLog.log(container.getName(), Level.DEBUG, "Mod %s is missing a pack.mcmeta file, substituting a dummy one", container.getName()); + return new ByteArrayInputStream(("{\n" + + " \"pack\": {\n"+ + " \"description\": \"dummy FML pack for "+container.getName()+"\",\n"+ + " \"pack_format\": 1\n"+ + "}\n" + + "}").getBytes(Charsets.UTF_8)); + } + else throw ioe; + } + } + + @Override + public BufferedImage getPackImage() throws IOException + { + return ImageIO.read(getInputStreamByName(container.getMetadata().logoFile)); + } + + @Override + public ModContainer getFMLContainer() + { + return container; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/FMLFolderResourcePack.java b/fml/src/main/java/net/minecraftforge/fml/client/FMLFolderResourcePack.java new file mode 100644 index 000000000..c56319728 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/FMLFolderResourcePack.java @@ -0,0 +1,74 @@ +package net.minecraftforge.fml.client; + +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; + +import org.apache.logging.log4j.Level; + +import javax.imageio.ImageIO; + +import net.minecraft.client.resources.FolderResourcePack; +import net.minecraftforge.fml.common.FMLContainerHolder; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.ModContainer; + +import com.google.common.base.Charsets; + +public class FMLFolderResourcePack extends FolderResourcePack implements FMLContainerHolder { + + private ModContainer container; + + public FMLFolderResourcePack(ModContainer container) + { + super(container.getSource()); + this.container = container; + } + + @Override + protected boolean hasResourceName(String p_110593_1_) + { + return super.hasResourceName(p_110593_1_); + } + @Override + public String getPackName() + { + return "FMLFileResourcePack:"+container.getName(); + } + @Override + protected InputStream getInputStreamByName(String resourceName) throws IOException + { + try + { + return super.getInputStreamByName(resourceName); + } + catch (IOException ioe) + { + if ("pack.mcmeta".equals(resourceName)) + { + FMLLog.log(container.getName(), Level.DEBUG, "Mod %s is missing a pack.mcmeta file, substituting a dummy one", container.getName()); + return new ByteArrayInputStream(("{\n" + + " \"pack\": {\n"+ + " \"description\": \"dummy FML pack for "+container.getName()+"\",\n"+ + " \"pack_format\": 1\n"+ + "}\n" + + "}").getBytes(Charsets.UTF_8)); + } + else throw ioe; + } + } + + @Override + public BufferedImage getPackImage() throws IOException + { + return ImageIO.read(getInputStreamByName(container.getMetadata().logoFile)); + } + + @Override + public ModContainer getFMLContainer() + { + return container; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiAccessDenied.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiAccessDenied.java new file mode 100644 index 000000000..a730f00d8 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiAccessDenied.java @@ -0,0 +1,55 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.client; + +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.multiplayer.ServerData; +import net.minecraft.client.resources.I18n; + +public class GuiAccessDenied extends GuiScreen +{ + private GuiScreen parent; + private ServerData data; + public GuiAccessDenied(GuiScreen parent, ServerData data) + { + this.parent = parent; + this.data = data; + } + + @SuppressWarnings("unchecked") + @Override + public void initGui() + { + this.buttonList.add(new GuiButton(1, this.width / 2 - 75, this.height - 38, I18n.format("gui.done"))); + } + + @Override + protected void actionPerformed(GuiButton p_73875_1_) + { + if (p_73875_1_.enabled && p_73875_1_.id == 1) + { + FMLClientHandler.instance().showGuiScreen(parent); + } + } + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.drawDefaultBackground(); + int offset = Math.max(85 - 2 * 10, 10); + this.drawCenteredString(this.fontRendererObj, "Forge Mod Loader could not connect to this server", this.width / 2, offset, 0xFFFFFF); + offset += 10; + this.drawCenteredString(this.fontRendererObj, String.format("The server %s has forbidden modded access", data.serverName), this.width / 2, offset, 0xFFFFFF); + super.drawScreen(mouseX, mouseY, partialTicks); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiBackupFailed.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiBackupFailed.java new file mode 100644 index 000000000..abb74ee20 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiBackupFailed.java @@ -0,0 +1,55 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.client; + +import java.io.File; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.resources.I18n; + +public class GuiBackupFailed extends GuiScreen +{ + private GuiScreen parent; + private File zipName; + public GuiBackupFailed(GuiScreen parent, File zipName) + { + this.parent = parent; + this.zipName = zipName; + } + + @SuppressWarnings("unchecked") + @Override + public void initGui() + { + this.buttonList.add(new GuiButton(1, this.width / 2 - 75, this.height - 38, I18n.format("gui.done"))); + } + + @Override + protected void actionPerformed(GuiButton p_73875_1_) + { + if (p_73875_1_.enabled && p_73875_1_.id == 1) + { + FMLClientHandler.instance().showGuiScreen(parent); + } + } + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.drawDefaultBackground(); + int offset = Math.max(85 - 2 * 10, 10); + this.drawCenteredString(this.fontRendererObj, String.format("There was an error saving the archive %s", zipName.getName()), this.width / 2, offset, 0xFFFFFF); + offset += 10; + this.drawCenteredString(this.fontRendererObj, String.format("Please fix the problem and try again"), this.width / 2, offset, 0xFFFFFF); + super.drawScreen(mouseX, mouseY, partialTicks); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiConfirmation.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiConfirmation.java new file mode 100644 index 000000000..f1e6fb8b4 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiConfirmation.java @@ -0,0 +1,33 @@ +package net.minecraftforge.fml.client; + +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiOptionButton; +import net.minecraft.client.resources.I18n; +import net.minecraftforge.fml.common.StartupQuery; + +public class GuiConfirmation extends GuiNotification +{ + public GuiConfirmation(StartupQuery query) + { + super(query); + } + + @SuppressWarnings("unchecked") + @Override + public void initGui() + { + this.buttonList.add(new GuiOptionButton(0, this.width / 2 - 155, this.height - 38, I18n.format("gui.yes"))); + this.buttonList.add(new GuiOptionButton(1, this.width / 2 - 155 + 160, this.height - 38, I18n.format("gui.no"))); + } + + @Override + protected void actionPerformed(GuiButton button) + { + if (button.enabled && (button.id == 0 || button.id == 1)) + { + FMLClientHandler.instance().showGuiScreen(null); + query.setResult(button.id == 0); + query.finish(); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiCustomModLoadingErrorScreen.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiCustomModLoadingErrorScreen.java new file mode 100644 index 000000000..825b337a3 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiCustomModLoadingErrorScreen.java @@ -0,0 +1,38 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.client; + +import net.minecraft.client.gui.GuiErrorScreen; + +public class GuiCustomModLoadingErrorScreen extends GuiErrorScreen +{ + private CustomModLoadingErrorDisplayException customException; + public GuiCustomModLoadingErrorScreen(CustomModLoadingErrorDisplayException customException) + { + super(null,null); + this.customException = customException; + } + @Override + public void initGui() + { + super.initGui(); + this.buttonList.clear(); + this.customException.initGui(this, fontRendererObj); + } + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.drawDefaultBackground(); + this.customException.drawScreen(this, fontRendererObj, mouseX, mouseY, partialTicks); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiDupesFound.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiDupesFound.java new file mode 100644 index 000000000..7ee9a8e5d --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiDupesFound.java @@ -0,0 +1,56 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.client; + +import java.io.File; +import java.util.Map.Entry; + +import net.minecraft.client.gui.GuiErrorScreen; +import net.minecraftforge.fml.common.DuplicateModsFoundException; +import net.minecraftforge.fml.common.ModContainer; + +public class GuiDupesFound extends GuiErrorScreen +{ + + private DuplicateModsFoundException dupes; + + public GuiDupesFound(DuplicateModsFoundException dupes) + { + super(null,null); + this.dupes = dupes; + } + + @Override + public void initGui() + { + super.initGui(); + this.buttonList.clear(); + } + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.drawDefaultBackground(); + int offset = Math.max(85 - dupes.dupes.size() * 10, 10); + this.drawCenteredString(this.fontRendererObj, "Forge Mod Loader has found a problem with your minecraft installation", this.width / 2, offset, 0xFFFFFF); + offset+=10; + this.drawCenteredString(this.fontRendererObj, "You have mod sources that are duplicate within your system", this.width / 2, offset, 0xFFFFFF); + offset+=10; + this.drawCenteredString(this.fontRendererObj, "Mod Id : File name", this.width / 2, offset, 0xFFFFFF); + offset+=5; + for (Entry mc : dupes.dupes.entries()) + { + offset+=10; + this.drawCenteredString(this.fontRendererObj, String.format("%s : %s", mc.getKey().getModId(), mc.getValue().getName()), this.width / 2, offset, 0xEEEEEE); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiIngameModOptions.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiIngameModOptions.java new file mode 100644 index 000000000..3424e51d6 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiIngameModOptions.java @@ -0,0 +1,55 @@ +package net.minecraftforge.fml.client; + +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.resources.I18n; + +public class GuiIngameModOptions extends GuiScreen +{ + private final GuiScreen parentScreen; + protected String title = "Mod Options"; + private GuiModOptionList optionList; + + public GuiIngameModOptions(GuiScreen parentScreen) + { + this.parentScreen = parentScreen; + } + + @SuppressWarnings("unchecked") + @Override + public void initGui() + { + this.optionList=new GuiModOptionList(this); + this.optionList.registerScrollButtons(this.buttonList, 7, 8); + this.buttonList.add(new GuiButton(200, this.width / 2 - 100, this.height / 6 + 168, I18n.format("gui.done", new Object[0]))); + } + + @Override + protected void actionPerformed(GuiButton button) + { + if (button.enabled) + { + if (button.id == 200) + { + this.mc.gameSettings.saveOptions(); + this.mc.displayGuiScreen(this.parentScreen); + } + } + } + + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + // force a non-transparent background + this.drawDefaultBackground(); + this.optionList.drawScreen(mouseX, mouseY, partialTicks); + this.drawCenteredString(this.fontRendererObj, this.title, this.width / 2, 15, 0xFFFFFF); + super.drawScreen(mouseX, mouseY, partialTicks); + } + + FontRenderer getFontRenderer() { + return fontRendererObj; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiModList.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiModList.java new file mode 100644 index 000000000..3539ac838 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiModList.java @@ -0,0 +1,452 @@ +/* + * The FML Forge Mod Loader suite. + * Copyright (C) 2012 cpw + * + * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +package net.minecraftforge.fml.client; + +import java.awt.Dimension; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +import javax.imageio.ImageIO; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.WorldRenderer; +import net.minecraft.client.renderer.texture.DynamicTexture; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.client.resources.I18n; +import net.minecraft.client.resources.IResourcePack; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StringUtils; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.ModContainer.Disableable; + +import org.apache.logging.log4j.Level; +import org.lwjgl.opengl.GL11; + +import com.google.common.base.Strings; + +/** + * @author cpw + * + */ +public class GuiModList extends GuiScreen +{ + private enum SortType implements Comparator + { + NORMAL(24), + A_TO_Z(25){ @Override protected int compare(String name1, String name2){ return name1.compareTo(name2); }}, + Z_TO_A(26){ @Override protected int compare(String name1, String name2){ return name2.compareTo(name1); }}; + + private int buttonID; + + private SortType(int buttonID) + { + this.buttonID = buttonID; + } + + public static SortType getTypeForButton(GuiButton button) + { + for (SortType t : values()) + { + if (t.buttonID == button.id) + { + return t; + } + } + return null; + } + + protected int compare(String name1, String name2){ return 0; } + + @Override + public int compare(ModContainer o1, ModContainer o2) + { + String name1 = StringUtils.stripControlCodes(o1.getName()).toLowerCase(); + String name2 = StringUtils.stripControlCodes(o2.getName()).toLowerCase(); + return compare(name1, name2); + } + } + + private GuiScreen mainMenu; + private GuiSlotModList modList; + private int selected = -1; + private ModContainer selectedMod; + private int listWidth; + private ArrayList mods; + private GuiButton configModButton; + private GuiButton disableModButton; + private ResourceLocation cachedLogo; + private Dimension cachedLogoDimensions; + + private int buttonMargin = 1; + private int numButtons = SortType.values().length; + + private String lastFilterText = ""; + + private GuiTextField search; + private boolean sorted = false; + private SortType sortType = SortType.NORMAL; + + /** + * @param mainMenu + */ + public GuiModList(GuiScreen mainMenu) + { + this.mainMenu = mainMenu; + this.mods = new ArrayList(); + FMLClientHandler.instance().addSpecialModEntries(mods); + // Add child mods to their parent's list + for (ModContainer mod : Loader.instance().getModList()) + { + if (mod.getMetadata() != null && mod.getMetadata().parentMod == null && !Strings.isNullOrEmpty(mod.getMetadata().parent)) + { + String parentMod = mod.getMetadata().parent; + ModContainer parentContainer = Loader.instance().getIndexedModList().get(parentMod); + if (parentContainer != null) + { + mod.getMetadata().parentMod = parentContainer; + parentContainer.getMetadata().childMods.add(mod); + continue; + } + } + else if (mod.getMetadata() != null && mod.getMetadata().parentMod != null) + { + continue; + } + mods.add(mod); + } + } + + @SuppressWarnings("unchecked") + @Override + public void initGui() + { + for (ModContainer mod : mods) + { + listWidth = Math.max(listWidth,getFontRenderer().getStringWidth(mod.getName()) + 10); + listWidth = Math.max(listWidth,getFontRenderer().getStringWidth(mod.getVersion()) + 10); + } + listWidth = Math.min(listWidth, 150); + this.modList = new GuiSlotModList(this, mods, listWidth); + this.modList.registerScrollButtons(this.buttonList, 7, 8); + + this.buttonList.add(new GuiButton(6, ((modList.right + this.width) / 2) - 100, this.height - 38, I18n.format("gui.done"))); + configModButton = new GuiButton(20, 10, this.height - 49, this.listWidth, 20, "Config"); + disableModButton = new GuiButton(21, 10, this.height - 27, this.listWidth, 20, "Disable"); + this.buttonList.add(configModButton); + this.buttonList.add(disableModButton); + + search = new GuiTextField(0, getFontRenderer(), 12, modList.bottom + 17, modList.listWidth - 4, 14); + search.setFocused(true); + search.setCanLoseFocus(true); + + int width = (modList.listWidth / numButtons); + int x = 10, y = 10; + GuiButton normalSort = new GuiButton(SortType.NORMAL.buttonID, x, y, width - buttonMargin, 20, I18n.format("fml.menu.mods.normal")); + normalSort.enabled = false; + buttonList.add(normalSort); + x += width + buttonMargin; + buttonList.add(new GuiButton(SortType.A_TO_Z.buttonID, x, y, width - buttonMargin, 20, "A-Z")); + x += width + buttonMargin; + buttonList.add(new GuiButton(SortType.Z_TO_A.buttonID, x, y, width - buttonMargin, 20, "Z-A")); + } + + @Override + protected void mouseClicked(int x, int y, int button) throws IOException + { + super.mouseClicked(x, y, button); + search.mouseClicked(x, y, button); + if (button == 1 && x >= search.xPosition && x < search.xPosition + search.width && y >= search.yPosition && y < search.yPosition + search.height) { + search.setText(""); + } + } + + @Override + protected void keyTyped(char c, int keyCode) throws IOException + { + super.keyTyped(c, keyCode); + search.textboxKeyTyped(c, keyCode); + } + + @Override + public void updateScreen() + { + super.updateScreen(); + search.updateCursorCounter(); + + if (!search.getText().equals(lastFilterText)) + { + reloadMods(); + sorted = false; + } + + if (!sorted) + { + reloadMods(); + Collections.sort(mods, sortType); + selected = modList.selectedIndex = mods.indexOf(selectedMod); + sorted = true; + } + } + + private void reloadMods() + { + ArrayList mods = modList.getMods(); + mods.clear(); + for (ModContainer m : Loader.instance().getActiveModList()) + { + // If it passes the filter, and is not a child mod + if (m.getName().toLowerCase().contains(search.getText().toLowerCase()) && m.getMetadata().parentMod == null) + { + mods.add(m); + } + } + this.mods = mods; + lastFilterText = search.getText(); + } + + @Override + protected void actionPerformed(GuiButton button) throws IOException { + if (button.enabled) + { + SortType type = SortType.getTypeForButton(button); + + if (type != null) + { + for (GuiButton b : (List) buttonList) + { + if (SortType.getTypeForButton(b) != null) + { + b.enabled = true; + } + } + button.enabled = false; + sorted = false; + sortType = type; + this.mods = modList.getMods(); + } + else + { + switch (button.id) + { + case 6: + this.mc.displayGuiScreen(this.mainMenu); + return; + case 20: + try + { + IModGuiFactory guiFactory = FMLClientHandler.instance().getGuiFactoryFor(selectedMod); + GuiScreen newScreen = guiFactory.mainConfigGuiClass().getConstructor(GuiScreen.class).newInstance(this); + this.mc.displayGuiScreen(newScreen); + } + catch (Exception e) + { + FMLLog.log(Level.ERROR, e, "There was a critical issue trying to build the config GUI for %s", selectedMod.getModId()); + } + return; + } + } + } + super.actionPerformed(button); + } + + public int drawLine(String line, int offset, int shifty) + { + this.fontRendererObj.drawString(line, offset, shifty, 0xd7edea); + return shifty + 10; + } + + @Override + public void drawScreen(int p_571_1_, int p_571_2_, float p_571_3_) + { + this.modList.drawScreen(p_571_1_, p_571_2_, p_571_3_); + this.drawCenteredString(this.fontRendererObj, "Mod List", this.width / 2, 16, 0xFFFFFF); + int offset = this.listWidth + 20; + if (selectedMod != null) + { + GL11.glEnable(GL11.GL_BLEND); + if (!selectedMod.getMetadata().autogenerated) + { + configModButton.visible = true; + disableModButton.visible = true; + disableModButton.packedFGColour = 0xFF3377; + configModButton.enabled = false; + int shifty = 35; + String logoFile = selectedMod.getMetadata().logoFile; + if (!logoFile.isEmpty()) + { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + TextureManager tm = mc.getTextureManager(); + IResourcePack pack = FMLClientHandler.instance().getResourcePackFor(selectedMod.getModId()); + try + { + if (cachedLogo == null) + { + BufferedImage logo = null; + if (pack!=null) + { + logo = pack.getPackImage(); + } + else + { + InputStream logoResource = getClass().getResourceAsStream(logoFile); + if (logoResource != null) + { + logo = ImageIO.read(logoResource); + } + } + if (logo != null) + { + cachedLogo = tm.getDynamicTextureLocation("modlogo", new DynamicTexture(logo)); + cachedLogoDimensions = new Dimension(logo.getWidth(), logo.getHeight()); + } + } + if (cachedLogo != null) + { + this.mc.renderEngine.bindTexture(cachedLogo); + double scaleX = cachedLogoDimensions.width / 200.0; + double scaleY = cachedLogoDimensions.height / 65.0; + double scale = 1.0; + if (scaleX > 1 || scaleY > 1) + { + scale = 1.0 / Math.max(scaleX, scaleY); + } + cachedLogoDimensions.width *= scale; + cachedLogoDimensions.height *= scale; + int top = 32; + Tessellator tess = Tessellator.getInstance(); + WorldRenderer world = tess.getWorldRenderer(); + world.startDrawingQuads(); + world.addVertexWithUV(offset, top + cachedLogoDimensions.height, zLevel, 0, 1); + world.addVertexWithUV(offset + cachedLogoDimensions.width, top + cachedLogoDimensions.height, zLevel, 1, 1); + world.addVertexWithUV(offset + cachedLogoDimensions.width, top, zLevel, 1, 0); + world.addVertexWithUV(offset, top, zLevel, 0, 0); + tess.draw(); + + shifty += 65; + } + } + catch (IOException e) + { + ; + } + } + this.fontRendererObj.drawStringWithShadow(selectedMod.getMetadata().name, offset, shifty, 0xFFFFFF); + shifty += 12; + + shifty = drawLine(String.format("Version: %s (%s)", selectedMod.getDisplayVersion(), selectedMod.getVersion()), offset, shifty); + shifty = drawLine(String.format("Mod ID: '%s' Mod State: %s", selectedMod.getModId(), Loader.instance().getModState(selectedMod)), offset, shifty); + if (!selectedMod.getMetadata().credits.isEmpty()) + { + shifty = drawLine(String.format("Credits: %s", selectedMod.getMetadata().credits), offset, shifty); + } + shifty = drawLine(String.format("Authors: %s", selectedMod.getMetadata().getAuthorList()), offset, shifty); + shifty = drawLine(String.format("URL: %s", selectedMod.getMetadata().url), offset, shifty); + shifty = drawLine(selectedMod.getMetadata().childMods.isEmpty() ? "No child mods for this mod" : String.format("Child mods: %s", selectedMod.getMetadata().getChildModList()), offset, shifty); + int rightSide = this.width - offset - 20; + if (rightSide > 20) + { + this.getFontRenderer().drawSplitString(selectedMod.getMetadata().description, offset, shifty + 10, rightSide, 0xDDDDDD); + } + Disableable disableable = selectedMod.canBeDisabled(); + if (disableable == Disableable.RESTART) + { + disableModButton.enabled = true; + disableModButton.visible = true; + disableModButton.packedFGColour = 0xFF3377; + } + else if (disableable == Disableable.YES) + { + disableModButton.enabled = true; + disableModButton.visible = true; + disableModButton.packedFGColour = 0; + } + else + { + disableModButton.packedFGColour = 0; + disableModButton.visible = true; + disableModButton.enabled = false; + } + IModGuiFactory guiFactory = FMLClientHandler.instance().getGuiFactoryFor(selectedMod); + if (guiFactory == null || guiFactory.mainConfigGuiClass() == null) + { + configModButton.visible = true; + configModButton.enabled = false; + } + else + { + configModButton.visible = true; + configModButton.enabled = true; + } + } + else + { + offset = ( this.listWidth + this.width ) / 2; + this.drawCenteredString(this.fontRendererObj, selectedMod.getName(), offset, 35, 0xFFFFFF); + this.drawCenteredString(this.fontRendererObj, String.format("Version: %s",selectedMod.getVersion()), offset, 45, 0xFFFFFF); + this.drawCenteredString(this.fontRendererObj, String.format("Mod State: %s",Loader.instance().getModState(selectedMod)), offset, 55, 0xFFFFFF); + this.drawCenteredString(this.fontRendererObj, "No mod information found", offset, 65, 0xDDDDDD); + this.drawCenteredString(this.fontRendererObj, "Ask your mod author to provide a mod mcmod.info file", offset, 75, 0xDDDDDD); + configModButton.visible = false; + disableModButton.visible = false; + } + GL11.glDisable(GL11.GL_BLEND); + } + else + { + configModButton.visible = false; + disableModButton.visible = false; + } + super.drawScreen(p_571_1_, p_571_2_, p_571_3_); + + String text = I18n.format("fml.menu.mods.search"); + int x = ((10 + modList.right) / 2) - (getFontRenderer().getStringWidth(text) / 2); + getFontRenderer().drawString(text, x, modList.bottom + 5, 0xFFFFFF); + search.drawTextBox(); + } + + Minecraft getMinecraftInstance() + { + return mc; + } + + FontRenderer getFontRenderer() + { + return fontRendererObj; + } + + public void selectModIndex(int index) + { + this.selected = index; + this.selectedMod = (index >= 0 && index <= mods.size()) ? mods.get(selected) : null; + cachedLogo = null; + } + + public boolean modIndexSelected(int index) + { + return index == selected; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiModOptionList.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiModOptionList.java new file mode 100644 index 000000000..645a25169 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiModOptionList.java @@ -0,0 +1,47 @@ +package net.minecraftforge.fml.client; + +import net.minecraft.client.renderer.Tessellator; + +public class GuiModOptionList extends GuiScrollingList { + + private GuiIngameModOptions parent; + + public GuiModOptionList(GuiIngameModOptions parent) + { + super(parent.mc, 150, parent.height, 32, parent.height - 65 + 4, 10, 35); + this.parent = parent; + } + + @Override + protected int getSize() + { + return 1; + } + + @Override + protected void elementClicked(int index, boolean doubleClick) + { + // TODO Auto-generated method stub + + } + + @Override + protected boolean isSelected(int index) + { + return false; + } + + @Override + protected void drawBackground() + { + } + + @Override + protected void drawSlot(int var1, int var2, int var3, int var4, Tessellator var5) + { + this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth("Test 1", listWidth - 10), this.left + 3 , var3 + 2, 0xFF2222); + this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth("TEST 2", listWidth - 10), this.left + 3 , var3 + 12, 0xFF2222); + this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth("DISABLED", listWidth - 10), this.left + 3 , var3 + 22, 0xFF2222); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiModsMissing.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiModsMissing.java new file mode 100644 index 000000000..14c53287c --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiModsMissing.java @@ -0,0 +1,63 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.client; + +import net.minecraft.client.gui.GuiErrorScreen; +import net.minecraftforge.fml.common.MissingModsException; +import net.minecraftforge.fml.common.versioning.ArtifactVersion; +import net.minecraftforge.fml.common.versioning.DefaultArtifactVersion; + +public class GuiModsMissing extends GuiErrorScreen +{ + + private MissingModsException modsMissing; + + public GuiModsMissing(MissingModsException modsMissing) + { + super(null,null); + this.modsMissing = modsMissing; + } + + @Override + public void initGui() + { + super.initGui(); + this.buttonList.clear(); + } + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.drawDefaultBackground(); + int offset = Math.max(85 - modsMissing.missingMods.size() * 10, 10); + this.drawCenteredString(this.fontRendererObj, "Forge Mod Loader has found a problem with your minecraft installation", this.width / 2, offset, 0xFFFFFF); + offset+=10; + this.drawCenteredString(this.fontRendererObj, "The mods and versions listed below could not be found", this.width / 2, offset, 0xFFFFFF); + offset+=5; + for (ArtifactVersion v : modsMissing.missingMods) + { + offset+=10; + if (v instanceof DefaultArtifactVersion) + { + DefaultArtifactVersion dav = (DefaultArtifactVersion)v; + if (dav.getRange() != null && dav.getRange().isUnboundedAbove()) + { + this.drawCenteredString(this.fontRendererObj, String.format("%s : minimum version required is %s", v.getLabel(), dav.getRange().getLowerBoundString()), this.width / 2, offset, 0xEEEEEE); + continue; + } + } + this.drawCenteredString(this.fontRendererObj, String.format("%s : %s", v.getLabel(), v.getRangeString()), this.width / 2, offset, 0xEEEEEE); + } + offset+=20; + this.drawCenteredString(this.fontRendererObj, "The file 'logs/fml-client-latest.log' contains more information", this.width / 2, offset, 0xFFFFFF); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiModsMissingForServer.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiModsMissingForServer.java new file mode 100644 index 000000000..a55aa5431 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiModsMissingForServer.java @@ -0,0 +1,63 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.client; + +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.resources.I18n; +import net.minecraftforge.fml.common.MissingModsException; +import net.minecraftforge.fml.common.versioning.ArtifactVersion; + +public class GuiModsMissingForServer extends GuiScreen +{ + private MissingModsException modsMissing; + + public GuiModsMissingForServer(MissingModsException modsMissing) + { + this.modsMissing = modsMissing; + } + + @SuppressWarnings("unchecked") + @Override + public void initGui() + { + this.buttonList.add(new GuiButton(1, this.width / 2 - 75, this.height - 38, I18n.format("gui.done"))); + } + + @Override + protected void actionPerformed(GuiButton p_73875_1_) + { + if (p_73875_1_.enabled && p_73875_1_.id == 1) + { + FMLClientHandler.instance().showGuiScreen(null); + } + } + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.drawDefaultBackground(); + int offset = Math.max(85 - modsMissing.missingMods.size() * 10, 10); + this.drawCenteredString(this.fontRendererObj, "Forge Mod Loader could not connect to this server", this.width / 2, offset, 0xFFFFFF); + offset += 10; + this.drawCenteredString(this.fontRendererObj, "The mods and versions listed below could not be found", this.width / 2, offset, 0xFFFFFF); + offset += 10; + this.drawCenteredString(this.fontRendererObj, "They are required to play on this server", this.width / 2, offset, 0xFFFFFF); + offset += 5; + for (ArtifactVersion v : modsMissing.missingMods) + { + offset += 10; + this.drawCenteredString(this.fontRendererObj, String.format("%s : %s", v.getLabel(), v.getRangeString()), this.width / 2, offset, 0xEEEEEE); + } + super.drawScreen(mouseX, mouseY, partialTicks); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiNotification.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiNotification.java new file mode 100644 index 000000000..7cbc45ba6 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiNotification.java @@ -0,0 +1,62 @@ +package net.minecraftforge.fml.client; + +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.resources.I18n; +import net.minecraftforge.fml.common.StartupQuery; + +public class GuiNotification extends GuiScreen +{ + public GuiNotification(StartupQuery query) + { + this.query = query; + } + + @SuppressWarnings("unchecked") + @Override + public void initGui() + { + this.buttonList.add(new GuiButton(0, this.width / 2 - 100, this.height - 38, I18n.format("gui.done"))); + } + + @Override + protected void actionPerformed(GuiButton button) + { + if (button.enabled && button.id == 0) + { + FMLClientHandler.instance().showGuiScreen(null); + query.finish(); + } + } + + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.drawDefaultBackground(); + + String[] lines = query.getText().split("\n"); + + int spaceAvailable = this.height - 38 - 20; + int spaceRequired = Math.min(spaceAvailable, 10 + 10 * lines.length); + + int offset = 10 + (spaceAvailable - spaceRequired) / 2; // vertically centered + + for (String line : lines) + { + if (offset >= spaceAvailable) + { + this.drawCenteredString(this.fontRendererObj, "...", this.width / 2, offset, 0xFFFFFF); + break; + } + else + { + if (!line.isEmpty()) this.drawCenteredString(this.fontRendererObj, line, this.width / 2, offset, 0xFFFFFF); + offset += 10; + } + } + + super.drawScreen(mouseX, mouseY, partialTicks); + } + + protected final StartupQuery query; +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiOldSaveLoadConfirm.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiOldSaveLoadConfirm.java new file mode 100644 index 000000000..ccc4269dd --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiOldSaveLoadConfirm.java @@ -0,0 +1,96 @@ +package net.minecraftforge.fml.client; + +import java.io.File; +import java.io.IOException; + +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiLabel; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiSelectWorld; +import net.minecraft.client.gui.GuiYesNo; +import net.minecraft.client.gui.GuiYesNoCallback; +import net.minecraft.world.WorldSettings; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.ObfuscationReflectionHelper; +import net.minecraftforge.fml.common.StartupQuery; +import net.minecraftforge.fml.common.ZipperUtil; + +import org.apache.logging.log4j.Level; + +public class GuiOldSaveLoadConfirm extends GuiYesNo implements GuiYesNoCallback { + + private String dirName; + private String saveName; + private File zip; + private GuiScreen parent; + public GuiOldSaveLoadConfirm(String dirName, String saveName, GuiScreen parent) + { + super(null, "", "", 0); + this.parent = parent; + this.dirName = dirName; + this.saveName = saveName; + this.zip = new File(FMLClientHandler.instance().getClient().mcDataDir,String.format("%s-%2$td%2$tm%2$ty%2$tH%2$tM%2$tS.zip", dirName, System.currentTimeMillis())); + } + + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.drawDefaultBackground(); + this.drawCenteredString(this.fontRendererObj, String.format("The world %s contains pre-update modding data", saveName), this.width / 2, 50, 16777215); + this.drawCenteredString(this.fontRendererObj, String.format("There may be problems updating it to this version"), this.width / 2, 70, 16777215); + this.drawCenteredString(this.fontRendererObj, String.format("FML will save a zip to %s", zip.getName()), this.width / 2, 90, 16777215); + this.drawCenteredString(this.fontRendererObj, String.format("Do you wish to continue loading?"), this.width / 2, 110, 16777215); + int k; + + for (k = 0; k < this.buttonList.size(); ++k) + { + ((GuiButton)this.buttonList.get(k)).drawButton(this.mc, mouseX, mouseY); + } + + for (k = 0; k < this.labelList.size(); ++k) + { + ((GuiLabel)this.labelList.get(k)).drawLabel(this.mc, mouseX, mouseY); + } + } + @Override + protected void actionPerformed(GuiButton button) + { + if (button.id == 1) + { + ObfuscationReflectionHelper.setPrivateValue(GuiSelectWorld.class, (GuiSelectWorld)parentScreen, false, "field_"+"146634_i"); + FMLClientHandler.instance().showGuiScreen(parent); + } + else + { + FMLLog.info("Capturing current state of world %s into file %s", saveName, zip.getAbsolutePath()); + try + { + String skip = System.getProperty("fml.doNotBackup"); + if (skip == null || !"true".equals(skip)) + { + ZipperUtil.zip(new File(FMLClientHandler.instance().getSavesDir(), dirName), zip); + } + else + { + for (int x = 0; x < 10; x++) + FMLLog.severe("!!!!!!!!!! UPDATING WORLD WITHOUT DOING BACKUP !!!!!!!!!!!!!!!!"); + } + } catch (IOException e) + { + FMLLog.log(Level.WARN, e, "There was a problem saving the backup %s. Please fix and try again", zip.getName()); + FMLClientHandler.instance().showGuiScreen(new GuiBackupFailed(parent, zip)); + return; + } + FMLClientHandler.instance().showGuiScreen(null); + + try + { + mc.launchIntegratedServer(dirName, saveName, (WorldSettings)null); + } + catch (StartupQuery.AbortedException e) + { + // ignore + } + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiScrollingList.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiScrollingList.java new file mode 100644 index 000000000..5810d691c --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiScrollingList.java @@ -0,0 +1,458 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.client; + +import java.util.List; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.WorldRenderer; + +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.GL11; + +public abstract class GuiScrollingList +{ + private final Minecraft client; + protected final int listWidth; + protected final int listHeight; + protected final int top; + protected final int bottom; + protected final int right; + protected final int left; + protected final int slotHeight; + private int scrollUpActionId; + private int scrollDownActionId; + protected int mouseX; + protected int mouseY; + private float initialMouseClickY = -2.0F; + private float scrollFactor; + private float scrollDistance; + protected int selectedIndex = -1; + private long lastClickTime = 0L; + private boolean field_25123_p = true; + private boolean field_27262_q; + private int field_27261_r; + + public GuiScrollingList(Minecraft client, int width, int height, int top, int bottom, int left, int entryHeight) + { + this.client = client; + this.listWidth = width; + this.listHeight = height; + this.top = top; + this.bottom = bottom; + this.slotHeight = entryHeight; + this.left = left; + this.right = width + this.left; + } + + public void func_27258_a(boolean p_27258_1_) + { + this.field_25123_p = p_27258_1_; + } + + protected void func_27259_a(boolean p_27259_1_, int p_27259_2_) + { + this.field_27262_q = p_27259_1_; + this.field_27261_r = p_27259_2_; + + if (!p_27259_1_) + { + this.field_27261_r = 0; + } + } + + protected abstract int getSize(); + + protected abstract void elementClicked(int index, boolean doubleClick); + + protected abstract boolean isSelected(int index); + + protected int getContentHeight() + { + return this.getSize() * this.slotHeight + this.field_27261_r; + } + + protected abstract void drawBackground(); + + protected abstract void drawSlot(int var1, int var2, int var3, int var4, Tessellator var5); + + protected void func_27260_a(int p_27260_1_, int p_27260_2_, Tessellator p_27260_3_) {} + + protected void func_27255_a(int p_27255_1_, int p_27255_2_) {} + + protected void func_27257_b(int p_27257_1_, int p_27257_2_) {} + + public int func_27256_c(int p_27256_1_, int p_27256_2_) + + { + int var3 = this.left + 1; + int var4 = this.left + this.listWidth - 7; + int var5 = p_27256_2_ - this.top - this.field_27261_r + (int)this.scrollDistance - 4; + int var6 = var5 / this.slotHeight; + return p_27256_1_ >= var3 && p_27256_1_ <= var4 && var6 >= 0 && var5 >= 0 && var6 < this.getSize() ? var6 : -1; + } + + public void registerScrollButtons(@SuppressWarnings("rawtypes") List p_22240_1_, int p_22240_2_, int p_22240_3_) + { + this.scrollUpActionId = p_22240_2_; + this.scrollDownActionId = p_22240_3_; + } + + private void applyScrollLimits() + { + int var1 = this.getContentHeight() - (this.bottom - this.top - 4); + + if (var1 < 0) + { + var1 /= 2; + } + + if (this.scrollDistance < 0.0F) + { + this.scrollDistance = 0.0F; + } + + if (this.scrollDistance > (float)var1) + { + this.scrollDistance = (float)var1; + } + } + + public void actionPerformed(GuiButton button) + { + if (button.enabled) + { + if (button.id == this.scrollUpActionId) + { + this.scrollDistance -= (float)(this.slotHeight * 2 / 3); + this.initialMouseClickY = -2.0F; + this.applyScrollLimits(); + } + else if (button.id == this.scrollDownActionId) + { + this.scrollDistance += (float)(this.slotHeight * 2 / 3); + this.initialMouseClickY = -2.0F; + this.applyScrollLimits(); + } + } + } + + public void drawScreen(int mouseX, int mouseY, float p_22243_3_) + { + this.mouseX = mouseX; + this.mouseY = mouseY; + this.drawBackground(); + int listLength = this.getSize(); + int scrollBarXStart = this.left + this.listWidth - 6; + int scrollBarXEnd = scrollBarXStart + 6; + int boxLeft = this.left; + int boxRight = scrollBarXStart-1; + int var10; + int var11; + int var13; + int var19; + + if (Mouse.isButtonDown(0)) + { + if (this.initialMouseClickY == -1.0F) + { + boolean var7 = true; + + if (mouseY >= this.top && mouseY <= this.bottom) + { + var10 = mouseY - this.top - this.field_27261_r + (int)this.scrollDistance - 4; + var11 = var10 / this.slotHeight; + + if (mouseX >= boxLeft && mouseX <= boxRight && var11 >= 0 && var10 >= 0 && var11 < listLength) + { + boolean var12 = var11 == this.selectedIndex && System.currentTimeMillis() - this.lastClickTime < 250L; + this.elementClicked(var11, var12); + this.selectedIndex = var11; + this.lastClickTime = System.currentTimeMillis(); + } + else if (mouseX >= boxLeft && mouseX <= boxRight && var10 < 0) + { + this.func_27255_a(mouseX - boxLeft, mouseY - this.top + (int)this.scrollDistance - 4); + var7 = false; + } + + if (mouseX >= scrollBarXStart && mouseX <= scrollBarXEnd) + { + this.scrollFactor = -1.0F; + var19 = this.getContentHeight() - (this.bottom - this.top - 4); + + if (var19 < 1) + { + var19 = 1; + } + + var13 = (int)((float)((this.bottom - this.top) * (this.bottom - this.top)) / (float)this.getContentHeight()); + + if (var13 < 32) + { + var13 = 32; + } + + if (var13 > this.bottom - this.top - 8) + { + var13 = this.bottom - this.top - 8; + } + + this.scrollFactor /= (float)(this.bottom - this.top - var13) / (float)var19; + } + else + { + this.scrollFactor = 1.0F; + } + + if (var7) + { + this.initialMouseClickY = (float)mouseY; + } + else + { + this.initialMouseClickY = -2.0F; + } + } + else + { + this.initialMouseClickY = -2.0F; + } + } + else if (this.initialMouseClickY >= 0.0F) + { + this.scrollDistance -= ((float)mouseY - this.initialMouseClickY) * this.scrollFactor; + this.initialMouseClickY = (float)mouseY; + } + } + else + { + while (Mouse.next()) + { + int var16 = Mouse.getEventDWheel(); + + if (var16 != 0) + { + if (var16 > 0) + { + var16 = -1; + } + else if (var16 < 0) + { + var16 = 1; + } + + this.scrollDistance += (float)(var16 * this.slotHeight / 2); + } + } + + this.initialMouseClickY = -1.0F; + } + + this.applyScrollLimits(); + Tessellator tess = Tessellator.getInstance(); + WorldRenderer worldr = tess.getWorldRenderer(); + if (this.client.theWorld != null) + { + this.drawGradientRect(this.left, this.top, this.right, this.bottom, -1072689136, -804253680); + } + else + { + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_FOG); + this.client.renderEngine.bindTexture(Gui.optionsBackground); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + float var17 = 32.0F; + worldr.startDrawingQuads(); + worldr.setColorOpaque_I(2105376); + worldr.addVertexWithUV((double)this.left, (double)this.bottom, 0.0D, (double)((float)this.left / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17)); + worldr.addVertexWithUV((double)this.right, (double)this.bottom, 0.0D, (double)((float)this.right / var17), (double)((float)(this.bottom + (int)this.scrollDistance) / var17)); + worldr.addVertexWithUV((double)this.right, (double)this.top, 0.0D, (double)((float)this.right / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17)); + worldr.addVertexWithUV((double)this.left, (double)this.top, 0.0D, (double)((float)this.left / var17), (double)((float)(this.top + (int)this.scrollDistance) / var17)); + tess.draw(); + } + // boxRight = this.listWidth / 2 - 92 - 16; + var10 = this.top + 4 - (int)this.scrollDistance; + + if (this.field_27262_q) + { + this.func_27260_a(boxRight, var10, tess); + } + + int var14; + + for (var11 = 0; var11 < listLength; ++var11) + { + var19 = var10 + var11 * this.slotHeight + this.field_27261_r; + var13 = this.slotHeight - 4; + + if (var19 <= this.bottom && var19 + var13 >= this.top) + { + if (this.field_25123_p && this.isSelected(var11)) + { + var14 = boxLeft; + int var15 = boxRight; + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glDisable(GL11.GL_TEXTURE_2D); + worldr.startDrawingQuads(); + worldr.setColorOpaque_I(8421504); + worldr.addVertexWithUV((double)var14, (double)(var19 + var13 + 2), 0.0D, 0.0D, 1.0D); + worldr.addVertexWithUV((double)var15, (double)(var19 + var13 + 2), 0.0D, 1.0D, 1.0D); + worldr.addVertexWithUV((double)var15, (double)(var19 - 2), 0.0D, 1.0D, 0.0D); + worldr.addVertexWithUV((double)var14, (double)(var19 - 2), 0.0D, 0.0D, 0.0D); + worldr.setColorOpaque_I(0); + worldr.addVertexWithUV((double)(var14 + 1), (double)(var19 + var13 + 1), 0.0D, 0.0D, 1.0D); + worldr.addVertexWithUV((double)(var15 - 1), (double)(var19 + var13 + 1), 0.0D, 1.0D, 1.0D); + worldr.addVertexWithUV((double)(var15 - 1), (double)(var19 - 1), 0.0D, 1.0D, 0.0D); + worldr.addVertexWithUV((double)(var14 + 1), (double)(var19 - 1), 0.0D, 0.0D, 0.0D); + tess.draw(); + GL11.glEnable(GL11.GL_TEXTURE_2D); + } + + this.drawSlot(var11, boxRight, var19, var13, tess); + } + } + + GL11.glDisable(GL11.GL_DEPTH_TEST); + byte var20 = 4; + if (this.client.theWorld == null) + { + this.overlayBackground(0, this.top, 255, 255); + this.overlayBackground(this.bottom, this.listHeight, 255, 255); + } + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_TEXTURE_2D); + worldr.startDrawingQuads(); + worldr.setColorRGBA_I(0, 0); + worldr.addVertexWithUV((double)this.left, (double)(this.top + var20), 0.0D, 0.0D, 1.0D); + worldr.addVertexWithUV((double)this.right, (double)(this.top + var20), 0.0D, 1.0D, 1.0D); + worldr.setColorRGBA_I(0, 255); + worldr.addVertexWithUV((double)this.right, (double)this.top, 0.0D, 1.0D, 0.0D); + worldr.addVertexWithUV((double)this.left, (double)this.top, 0.0D, 0.0D, 0.0D); + tess.draw(); + worldr.startDrawingQuads(); + worldr.setColorRGBA_I(0, 255); + worldr.addVertexWithUV((double)this.left, (double)this.bottom, 0.0D, 0.0D, 1.0D); + worldr.addVertexWithUV((double)this.right, (double)this.bottom, 0.0D, 1.0D, 1.0D); + worldr.setColorRGBA_I(0, 0); + worldr.addVertexWithUV((double)this.right, (double)(this.bottom - var20), 0.0D, 1.0D, 0.0D); + worldr.addVertexWithUV((double)this.left, (double)(this.bottom - var20), 0.0D, 0.0D, 0.0D); + tess.draw(); + var19 = this.getContentHeight() - (this.bottom - this.top - 4); + + if (var19 > 0) + { + var13 = (this.bottom - this.top) * (this.bottom - this.top) / this.getContentHeight(); + + if (var13 < 32) + { + var13 = 32; + } + + if (var13 > this.bottom - this.top - 8) + { + var13 = this.bottom - this.top - 8; + } + + var14 = (int)this.scrollDistance * (this.bottom - this.top - var13) / var19 + this.top; + + if (var14 < this.top) + { + var14 = this.top; + } + + worldr.startDrawingQuads(); + worldr.setColorRGBA_I(0, 255); + worldr.addVertexWithUV((double)scrollBarXStart, (double)this.bottom, 0.0D, 0.0D, 1.0D); + worldr.addVertexWithUV((double)scrollBarXEnd, (double)this.bottom, 0.0D, 1.0D, 1.0D); + worldr.addVertexWithUV((double)scrollBarXEnd, (double)this.top, 0.0D, 1.0D, 0.0D); + worldr.addVertexWithUV((double)scrollBarXStart, (double)this.top, 0.0D, 0.0D, 0.0D); + tess.draw(); + worldr.startDrawingQuads(); + worldr.setColorRGBA_I(8421504, 255); + worldr.addVertexWithUV((double)scrollBarXStart, (double)(var14 + var13), 0.0D, 0.0D, 1.0D); + worldr.addVertexWithUV((double)scrollBarXEnd, (double)(var14 + var13), 0.0D, 1.0D, 1.0D); + worldr.addVertexWithUV((double)scrollBarXEnd, (double)var14, 0.0D, 1.0D, 0.0D); + worldr.addVertexWithUV((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D); + tess.draw(); + worldr.startDrawingQuads(); + worldr.setColorRGBA_I(12632256, 255); + worldr.addVertexWithUV((double)scrollBarXStart, (double)(var14 + var13 - 1), 0.0D, 0.0D, 1.0D); + worldr.addVertexWithUV((double)(scrollBarXEnd - 1), (double)(var14 + var13 - 1), 0.0D, 1.0D, 1.0D); + worldr.addVertexWithUV((double)(scrollBarXEnd - 1), (double)var14, 0.0D, 1.0D, 0.0D); + worldr.addVertexWithUV((double)scrollBarXStart, (double)var14, 0.0D, 0.0D, 0.0D); + tess.draw(); + } + + this.func_27257_b(mouseX, mouseY); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glDisable(GL11.GL_BLEND); + } + + private void overlayBackground(int p_22239_1_, int p_22239_2_, int p_22239_3_, int p_22239_4_) + { + Tessellator var5 = Tessellator.getInstance(); + WorldRenderer worldr = var5.getWorldRenderer(); + this.client.renderEngine.bindTexture(Gui.optionsBackground); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + float var6 = 32.0F; + worldr.startDrawingQuads(); + worldr.setColorRGBA_I(4210752, p_22239_4_); + worldr.addVertexWithUV(0.0D, (double)p_22239_2_, 0.0D, 0.0D, (double)((float)p_22239_2_ / var6)); + worldr.addVertexWithUV((double)this.listWidth + 30, (double)p_22239_2_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_2_ / var6)); + worldr.setColorRGBA_I(4210752, p_22239_3_); + worldr.addVertexWithUV((double)this.listWidth + 30, (double)p_22239_1_, 0.0D, (double)((float)(this.listWidth + 30) / var6), (double)((float)p_22239_1_ / var6)); + worldr.addVertexWithUV(0.0D, (double)p_22239_1_, 0.0D, 0.0D, (double)((float)p_22239_1_ / var6)); + var5.draw(); + } + + protected void drawGradientRect(int par1, int par2, int par3, int par4, int par5, int par6) + { + float f = (float)(par5 >> 24 & 255) / 255.0F; + float f1 = (float)(par5 >> 16 & 255) / 255.0F; + float f2 = (float)(par5 >> 8 & 255) / 255.0F; + float f3 = (float)(par5 & 255) / 255.0F; + float f4 = (float)(par6 >> 24 & 255) / 255.0F; + float f5 = (float)(par6 >> 16 & 255) / 255.0F; + float f6 = (float)(par6 >> 8 & 255) / 255.0F; + float f7 = (float)(par6 & 255) / 255.0F; + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_ALPHA_TEST); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + Tessellator tessellator = Tessellator.getInstance(); + WorldRenderer worldrenderer = tessellator.getWorldRenderer(); + worldrenderer.startDrawingQuads(); + worldrenderer.setColorRGBA_F(f1, f2, f3, f); + worldrenderer.addVertex((double)par3, (double)par2, 0.0D); + worldrenderer.addVertex((double)par1, (double)par2, 0.0D); + worldrenderer.setColorRGBA_F(f5, f6, f7, f4); + worldrenderer.addVertex((double)par1, (double)par4, 0.0D); + worldrenderer.addVertex((double)par3, (double)par4, 0.0D); + tessellator.draw(); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_TEXTURE_2D); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiSlotModList.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiSlotModList.java new file mode 100644 index 000000000..2074b9ce6 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiSlotModList.java @@ -0,0 +1,94 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.client; + +import java.util.ArrayList; + +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.StringUtils; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.LoaderState.ModState; +import net.minecraftforge.fml.common.ModContainer; + +/** + * @author cpw + * + */ +public class GuiSlotModList extends GuiScrollingList +{ + private GuiModList parent; + private ArrayList mods; + + public GuiSlotModList(GuiModList parent, ArrayList mods, int listWidth) + { + super(parent.getMinecraftInstance(), listWidth, parent.height, 32, parent.height - 88 + 4, 10, 35); + this.parent=parent; + this.mods=mods; + } + + @Override + protected int getSize() + { + return mods.size(); + } + + @Override + protected void elementClicked(int var1, boolean var2) + { + this.parent.selectModIndex(var1); + } + + @Override + protected boolean isSelected(int var1) + { + return this.parent.modIndexSelected(var1); + } + + @Override + protected void drawBackground() + { + this.parent.drawDefaultBackground(); + } + + @Override + protected int getContentHeight() + { + return (this.getSize()) * 35 + 1; + } + + ArrayList getMods() + { + return mods; + } + + @Override + protected void drawSlot(int listIndex, int var2, int var3, int var4, Tessellator var5) + { + ModContainer mc=mods.get(listIndex); + String name = StringUtils.stripControlCodes(mc.getName()); + String version = StringUtils.stripControlCodes(mc.getDisplayVersion()); + if (Loader.instance().getModState(mc)==ModState.DISABLED) + { + this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth(name, listWidth - 10), this.left + 3 , var3 + 2, 0xFF2222); + this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth(version, listWidth - 10), this.left + 3 , var3 + 12, 0xFF2222); + this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth("DISABLED", listWidth - 10), this.left + 3 , var3 + 22, 0xFF2222); + } + else + { + this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth(name, listWidth - 10), this.left + 3 , var3 + 2, 0xFFFFFF); + this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth(version, listWidth - 10), this.left + 3 , var3 + 12, 0xCCCCCC); + this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth(mc.getMetadata() !=null ? mc.getMetadata().getChildModCountString() : "Metadata not found", listWidth - 10), this.left + 3 , var3 + 22, 0xCCCCCC); + } + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiSortingProblem.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiSortingProblem.java new file mode 100644 index 000000000..91c0c2f63 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiSortingProblem.java @@ -0,0 +1,44 @@ +package net.minecraftforge.fml.client; + +import net.minecraft.client.gui.GuiScreen; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.toposort.ModSortingException; +import net.minecraftforge.fml.common.toposort.ModSortingException.SortingExceptionData; + +public class GuiSortingProblem extends GuiScreen { + private SortingExceptionData failedList; + + public GuiSortingProblem(ModSortingException modSorting) + { + this.failedList = modSorting.getExceptionData(); + } + + @Override + public void initGui() + { + super.initGui(); + } + + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.drawDefaultBackground(); + int offset = Math.max(85 - (failedList.getVisitedNodes().size() + 3) * 10, 10); + this.drawCenteredString(this.fontRendererObj, "Forge Mod Loader has found a problem with your minecraft installation", this.width / 2, offset, 0xFFFFFF); + offset+=10; + this.drawCenteredString(this.fontRendererObj, "A mod sorting cycle was detected and loading cannot continue", this.width / 2, offset, 0xFFFFFF); + offset+=10; + this.drawCenteredString(this.fontRendererObj, String.format("The first mod in the cycle is %s", failedList.getFirstBadNode()), this.width / 2, offset, 0xFFFFFF); + offset+=10; + this.drawCenteredString(this.fontRendererObj, "The remainder of the cycle involves these mods", this.width / 2, offset, 0xFFFFFF); + offset+=5; + for (ModContainer mc : failedList.getVisitedNodes()) + { + offset+=10; + this.drawCenteredString(this.fontRendererObj, String.format("%s : before: %s, after: %s", mc.toString(), mc.getDependants(), mc.getDependencies()), this.width / 2, offset, 0xEEEEEE); + } + offset+=20; + this.drawCenteredString(this.fontRendererObj, "The file 'ForgeModLoader-client-0.log' contains more information", this.width / 2, offset, 0xFFFFFF); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiWrongMinecraft.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiWrongMinecraft.java new file mode 100644 index 000000000..f15e6b8fc --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiWrongMinecraft.java @@ -0,0 +1,47 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.client; + +import net.minecraft.client.gui.GuiErrorScreen; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.WrongMinecraftVersionException; + +public class GuiWrongMinecraft extends GuiErrorScreen +{ + private WrongMinecraftVersionException wrongMC; + public GuiWrongMinecraft(WrongMinecraftVersionException wrongMC) + { + super(null,null); + this.wrongMC = wrongMC; + } + @Override + public void initGui() + { + super.initGui(); + this.buttonList.clear(); + } + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.drawDefaultBackground(); + int offset = 75; + this.drawCenteredString(this.fontRendererObj, "Forge Mod Loader has found a problem with your minecraft installation", this.width / 2, offset, 0xFFFFFF); + offset+=10; + this.drawCenteredString(this.fontRendererObj, String.format("The mod listed below does not want to run in Minecraft version %s", Loader.instance().getMinecraftModContainer().getVersion()), this.width / 2, offset, 0xFFFFFF); + offset+=5; + offset+=10; + this.drawCenteredString(this.fontRendererObj, String.format("%s (%s) wants Minecraft %s", wrongMC.mod.getName(), wrongMC.mod.getModId(), wrongMC.mod.acceptableMinecraftVersionRange()), this.width / 2, offset, 0xEEEEEE); + offset+=20; + this.drawCenteredString(this.fontRendererObj, "The file 'ForgeModLoader-client-0.log' contains more information", this.width / 2, offset, 0xFFFFFF); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/IModGuiFactory.java b/fml/src/main/java/net/minecraftforge/fml/client/IModGuiFactory.java new file mode 100644 index 000000000..552f52273 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/IModGuiFactory.java @@ -0,0 +1,129 @@ +package net.minecraftforge.fml.client; + +import java.util.List; +import java.util.Set; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.GuiScreen; + +public interface IModGuiFactory { + /** + * Called when instantiated to initialize with the active minecraft instance. + * + * @param minecraftInstance the instance + */ + public void initialize(Minecraft minecraftInstance); + /** + * Return the name of a class extending {@link GuiScreen}. This class will + * be instantiated when the "config" button is pressed in the mod list. It will + * have a single argument constructor - the "parent" screen, the same as all + * Minecraft GUIs. The expected behaviour is that this screen will replace the + * "mod list" screen completely, and will return to the mod list screen through + * the parent link, once the appropriate action is taken from the config screen. + * + * A null from this method indicates that the mod does not provide a "config" + * button GUI screen, and the config button will be hidden/disabled. + * + * This config GUI is anticipated to provide configuration to the mod in a friendly + * visual way. It should not be abused to set internals such as IDs (they're gonna + * keep disappearing anyway), but rather, interesting behaviours. This config GUI + * is never run when a server game is running, and should be used to configure + * desired behaviours that affect server state. Costs, mod game modes, stuff like that + * can be changed here. + * + * @return A class that will be instantiated on clicks on the config button + * or null if no GUI is desired. + */ + public Class mainConfigGuiClass(); + + + /** + * Return a list of the "runtime" categories this mod wishes to populate with + * GUI elements. + * + * Runtime categories are created on demand and organized in a 'lite' tree format. + * The parent represents the parent node in the tree. There is one special parent + * 'Help' that will always list first, and is generally meant to provide Help type + * content for mods. The remaining parents will sort alphabetically, though + * this may change if there is a lot of alphabetic abuse. "AAA" is probably never a valid + * category parent. + * + * Runtime configuration itself falls into two flavours: in-game help, which is + * generally non interactive except for the text it wishes to show, and client-only + * affecting behaviours. This would include things like toggling minimaps, or cheat modes + * or anything NOT affecting the behaviour of the server. Please don't abuse this to + * change the state of the server in any way, this is intended to behave identically + * when the server is local or remote. + * + * @return the set of options this mod wishes to have available, or empty if none + */ + public Set runtimeGuiCategories(); + + /** + * Return an instance of a {@link RuntimeOptionGuiHandler} that handles painting the + * right hand side option screen for the specified {@link RuntimeOptionCategoryElement}. + * + * @param element The element we wish to paint for + * @return The Handler for painting it + */ + public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element); + + /** + * Represents an option category and entry in the runtime gui options list. + * + * @author cpw + * + */ + public static class RuntimeOptionCategoryElement { + public final String parent; + public final String child; + + public RuntimeOptionCategoryElement(String parent, String child) + { + this.parent = parent; + this.child = child; + } + } + + /** + * Responsible for painting the mod specific section of runtime options GUI for a particular category + * + * @author cpw + * + */ + public interface RuntimeOptionGuiHandler { + /** + * Called to add widgets to the screen, such as buttons. + * GUI identifier numbers should start at 100 and increase. + * The callback will be through {@link #actionCallback(int)} + * + * @param x X + * @param y Y + * @param w width + * @param h height + */ + public void addWidgets(List widgetList, int x, int y, int w, int h); + + /** + * Called to paint the rectangle specified. + * @param x X + * @param y Y + * @param w width + * @param h height + */ + public void paint(int x, int y, int w, int h); + + /** + * Called if a widget with id >= 100 is fired. + * + * @param actionId the actionId of the firing widget + */ + public void actionCallback(int actionId); + + /** + * Called when this handler is about to go away (probably replaced by another one, or closing the + * option screen) + */ + public void close(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/SplashProgress.java b/fml/src/main/java/net/minecraftforge/fml/client/SplashProgress.java new file mode 100644 index 000000000..c778182d1 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/SplashProgress.java @@ -0,0 +1,740 @@ +package net.minecraftforge.fml.client; + +import static org.lwjgl.opengl.GL11.GL_ALPHA_TEST; +import static org.lwjgl.opengl.GL11.GL_BLEND; +import static org.lwjgl.opengl.GL11.GL_COLOR_BUFFER_BIT; +import static org.lwjgl.opengl.GL11.GL_DEPTH_TEST; +import static org.lwjgl.opengl.GL11.GL_GREATER; +import static org.lwjgl.opengl.GL11.GL_LEQUAL; +import static org.lwjgl.opengl.GL11.GL_LIGHTING; +import static org.lwjgl.opengl.GL11.GL_MODELVIEW; +import static org.lwjgl.opengl.GL11.GL_NEAREST; +import static org.lwjgl.opengl.GL11.GL_ONE_MINUS_SRC_ALPHA; +import static org.lwjgl.opengl.GL11.GL_PROJECTION; +import static org.lwjgl.opengl.GL11.GL_QUADS; +import static org.lwjgl.opengl.GL11.GL_RENDERER; +import static org.lwjgl.opengl.GL11.GL_RGBA; +import static org.lwjgl.opengl.GL11.GL_SRC_ALPHA; +import static org.lwjgl.opengl.GL11.GL_TEXTURE_2D; +import static org.lwjgl.opengl.GL11.GL_TEXTURE_MAG_FILTER; +import static org.lwjgl.opengl.GL11.GL_TEXTURE_MIN_FILTER; +import static org.lwjgl.opengl.GL11.GL_VENDOR; +import static org.lwjgl.opengl.GL11.GL_VERSION; +import static org.lwjgl.opengl.GL11.glAlphaFunc; +import static org.lwjgl.opengl.GL11.glBegin; +import static org.lwjgl.opengl.GL11.glBindTexture; +import static org.lwjgl.opengl.GL11.glBlendFunc; +import static org.lwjgl.opengl.GL11.glClear; +import static org.lwjgl.opengl.GL11.glClearColor; +import static org.lwjgl.opengl.GL11.glColor3ub; +import static org.lwjgl.opengl.GL11.glDeleteTextures; +import static org.lwjgl.opengl.GL11.glDepthFunc; +import static org.lwjgl.opengl.GL11.glDisable; +import static org.lwjgl.opengl.GL11.glEnable; +import static org.lwjgl.opengl.GL11.glEnd; +import static org.lwjgl.opengl.GL11.glGenTextures; +import static org.lwjgl.opengl.GL11.glGetString; +import static org.lwjgl.opengl.GL11.glLoadIdentity; +import static org.lwjgl.opengl.GL11.glMatrixMode; +import static org.lwjgl.opengl.GL11.glOrtho; +import static org.lwjgl.opengl.GL11.glPopMatrix; +import static org.lwjgl.opengl.GL11.glPushMatrix; +import static org.lwjgl.opengl.GL11.glRotatef; +import static org.lwjgl.opengl.GL11.glScalef; +import static org.lwjgl.opengl.GL11.glTexCoord2f; +import static org.lwjgl.opengl.GL11.glTexImage2D; +import static org.lwjgl.opengl.GL11.glTexParameteri; +import static org.lwjgl.opengl.GL11.glTexSubImage2D; +import static org.lwjgl.opengl.GL11.glTranslatef; +import static org.lwjgl.opengl.GL11.glVertex2f; +import static org.lwjgl.opengl.GL11.glViewport; +import static org.lwjgl.opengl.GL12.GL_BGRA; +import static org.lwjgl.opengl.GL12.GL_UNSIGNED_INT_8_8_8_8_REV; + +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStream; +import java.lang.Thread.UncaughtExceptionHandler; +import java.nio.IntBuffer; +import java.util.Iterator; +import java.util.Properties; +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReentrantLock; + +import javax.imageio.ImageIO; +import javax.imageio.ImageReader; +import javax.imageio.stream.ImageInputStream; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.client.resources.FileResourcePack; +import net.minecraft.client.resources.FolderResourcePack; +import net.minecraft.client.resources.IResourcePack; +import net.minecraft.crash.CrashReport; +import net.minecraft.launchwrapper.Launch; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.ICrashCallable; +import net.minecraftforge.fml.common.ProgressManager; +import net.minecraftforge.fml.common.ProgressManager.ProgressBar; +import net.minecraftforge.fml.common.asm.FMLSanityChecker; + +import org.apache.commons.io.IOUtils; +import org.apache.logging.log4j.Level; +import org.lwjgl.BufferUtils; +import org.lwjgl.LWJGLException; +import org.lwjgl.opengl.Display; +import org.lwjgl.opengl.Drawable; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.SharedDrawable; +import org.lwjgl.util.glu.GLU; + +/** + * @deprecated not a stable API, will break, don't use this yet + */ +@Deprecated +public class SplashProgress +{ + private static Drawable d; + private static volatile boolean pause = false; + private static volatile boolean done = false; + private static Thread thread; + private static volatile Throwable threadError; + private static int angle = 0; + private static final Lock lock = new ReentrantLock(true); + private static SplashFontRenderer fontRenderer; + + private static final IResourcePack mcPack = Minecraft.getMinecraft().mcDefaultResourcePack; + private static final IResourcePack fmlPack = createResourcePack(FMLSanityChecker.fmlLocation); + private static IResourcePack miscPack; + + private static Texture fontTexture; + private static Texture logoTexture; + private static Texture forgeTexture; + + private static Properties config; + + private static boolean enabled; + private static boolean rotate; + private static int logoOffset; + private static int backgroundColor; + private static int fontColor; + private static int barBorderColor; + private static int barColor; + private static int barBackgroundColor; + + private static String getString(String name, String def) + { + String value = config.getProperty(name, def); + config.setProperty(name, value); + return value; + } + + private static boolean getBool(String name, boolean def) + { + return Boolean.parseBoolean(getString(name, Boolean.toString(def))); + } + + private static int getInt(String name, int def) + { + return Integer.decode(getString(name, Integer.toString(def))); + } + + private static int getHex(String name, int def) + { + return Integer.decode(getString(name, "0x" + Integer.toString(def, 16).toUpperCase())); + } + + public static void start() + { + File configFile = new File(Minecraft.getMinecraft().mcDataDir, "config/splash.properties"); + FileReader r = null; + config = new Properties(); + try + { + r = new FileReader(configFile); + config.load(r); + } + catch(IOException e) + { + FMLLog.info("Could not load splash.properties, will create a default one"); + } + finally + { + IOUtils.closeQuietly(r); + } + + // Enable if we have the flag, and there's either no optifine, or optifine has added a key to the blackboard ("optifine.ForgeSplashCompatible") + // Optifine authors - add this key to the blackboard if you feel your modifications are now compatible with this code. + enabled = getBool("enabled", true) && ( (!FMLClientHandler.instance().hasOptifine()) || Launch.blackboard.containsKey("optifine.ForgeSplashCompatible")); + rotate = getBool("rotate", false); + logoOffset = getInt("logoOffset", 0); + backgroundColor = getHex("background", 0xFFFFFF); + fontColor = getHex("font", 0x000000); + barBorderColor = getHex("barBorder", 0xC0C0C0); + barColor = getHex("bar", 0xCB3D35); + barBackgroundColor = getHex("barBackground", 0xFFFFFF); + + final ResourceLocation fontLoc = new ResourceLocation(getString("fontTexture", "textures/font/ascii.png")); + final ResourceLocation logoLoc = new ResourceLocation(getString("logoTexture", "textures/gui/title/mojang.png")); + final ResourceLocation forgeLoc = new ResourceLocation(getString("forgeTexture", "fml:textures/gui/forge.gif")); + + File miscPackFile = new File(Minecraft.getMinecraft().mcDataDir, getString("resourcePackPath", "resources")); + + FileWriter w = null; + try + { + w = new FileWriter(configFile); + config.store(w, "Splash screen properties"); + } + catch(IOException e) + { + FMLLog.log(Level.ERROR, e, "Could not save the splash.properties file"); + } + finally + { + IOUtils.closeQuietly(w); + } + + miscPack = createResourcePack(miscPackFile); + + if(!enabled) return; + // getting debug info out of the way, while we still can + FMLCommonHandler.instance().registerCrashCallable(new ICrashCallable() + { + public String call() throws Exception + { + return "' Vendor: '" + glGetString(GL_VENDOR) + + "' Version: '" + glGetString(GL_VERSION) + + "' Renderer: '" + glGetString(GL_RENDERER) + + "'"; + } + + public String getLabel() + { + return "GL info"; + } + }); + CrashReport report = CrashReport.makeCrashReport(new Throwable(), "Loading screen debug info"); + System.out.println(report.getCompleteReport()); + + try + { + d = new SharedDrawable(Display.getDrawable()); + Display.getDrawable().releaseContext(); + d.makeCurrent(); + } + catch (LWJGLException e) + { + e.printStackTrace(); + throw new RuntimeException(e); + } + Thread mainThread = Thread.currentThread(); + thread = new Thread(new Runnable() + { + private final int barWidth = 400; + private final int barHeight = 20; + private final int textHeight2 = 20; + private final int barOffset = 55; + + public void run() + { + setGL(); + fontTexture = new Texture(fontLoc); + logoTexture = new Texture(logoLoc); + forgeTexture = new Texture(forgeLoc); + glEnable(GL_TEXTURE_2D); + fontRenderer = new SplashFontRenderer(); + glDisable(GL_TEXTURE_2D); + while(!done) + { + ProgressBar first = null, penult = null, last = null; + Iterator i = ProgressManager.barIterator(); + while(i.hasNext()) + { + if(first == null) first = i.next(); + else + { + penult = last; + last = i.next(); + } + } + + glClear(GL_COLOR_BUFFER_BIT); + + // matrix setup + int w = Display.getWidth(); + int h = Display.getHeight(); + glViewport(0, 0, w, h); + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glOrtho(320 - w/2, 320 + w/2, 240 + h/2, 240 - h/2, -1, 1); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + + // mojang logo + setColor(backgroundColor); + glEnable(GL_TEXTURE_2D); + logoTexture.bind(); + glBegin(GL_QUADS); + logoTexture.texCoord(0, 0, 0); + glVertex2f(320 - 256, 240 - 256); + logoTexture.texCoord(0, 0, 1); + glVertex2f(320 - 256, 240 + 256); + logoTexture.texCoord(0, 1, 1); + glVertex2f(320 + 256, 240 + 256); + logoTexture.texCoord(0, 1, 0); + glVertex2f(320 + 256, 240 - 256); + glEnd(); + glDisable(GL_TEXTURE_2D); + + // bars + if(first != null) + { + glPushMatrix(); + glTranslatef(320 - (float)barWidth / 2, 310, 0); + drawBar(first); + if(penult != null) + { + glTranslatef(0, barOffset, 0); + drawBar(penult); + } + if(last != null) + { + glTranslatef(0, barOffset, 0); + drawBar(last); + } + glPopMatrix(); + } + + angle += 1; + + // forge logo + setColor(backgroundColor); + float fw = (float)forgeTexture.getWidth() / 2; + float fh = (float)forgeTexture.getHeight() / 2; + if(rotate) + { + float sh = Math.max(fw, fh); + glTranslatef(320 + w/2 - sh - logoOffset, 240 + h/2 - sh - logoOffset, 0); + glRotatef(angle, 0, 0, 1); + } + else + { + glTranslatef(320 + w/2 - fw - logoOffset, 240 + h/2 - fh - logoOffset, 0); + } + int f = (angle / 10) % forgeTexture.getFrames(); + glEnable(GL_TEXTURE_2D); + forgeTexture.bind(); + glBegin(GL_QUADS); + forgeTexture.texCoord(f, 0, 0); + glVertex2f(-fw, -fh); + forgeTexture.texCoord(f, 0, 1); + glVertex2f(-fw, fh); + forgeTexture.texCoord(f, 1, 1); + glVertex2f(fw, fh); + forgeTexture.texCoord(f, 1, 0); + glVertex2f(fw, -fh); + glEnd(); + glDisable(GL_TEXTURE_2D); + + Display.update(); + if(pause) + { + clearGL(); + setGL(); + } + Display.sync(100); + } + clearGL(); + } + + private void setColor(int color) + { + glColor3ub((byte)((color >> 16) & 0xFF), (byte)((color >> 8) & 0xFF), (byte)(color & 0xFF)); + } + + private void drawBox(int w, int h) + { + glBegin(GL_QUADS); + glVertex2f(0, 0); + glVertex2f(0, h); + glVertex2f(w, h); + glVertex2f(w, 0); + glEnd(); + } + + private void drawBar(ProgressBar b) + { + glPushMatrix(); + // title - message + setColor(fontColor); + glScalef(2, 2, 1); + glEnable(GL_TEXTURE_2D); + fontRenderer.drawString(b.getTitle() + " - " + b.getMessage(), 0, 0, 0x000000); + glDisable(GL_TEXTURE_2D); + glPopMatrix(); + // border + glPushMatrix(); + glTranslatef(0, textHeight2, 0); + setColor(barBorderColor); + drawBox(barWidth, barHeight); + // interior + setColor(barBackgroundColor); + glTranslatef(1, 1, 0); + drawBox(barWidth - 2, barHeight - 2); + // slidy part + setColor(barColor); + drawBox((barWidth - 2) * b.getStep() / b.getSteps(), barHeight - 2); + // progress text + String progress = "" + b.getStep() + "/" + b.getSteps(); + glTranslatef(((float)barWidth - 2) / 2 - fontRenderer.getStringWidth(progress), 2, 0); + setColor(fontColor); + glScalef(2, 2, 1); + glEnable(GL_TEXTURE_2D); + fontRenderer.drawString(progress, 0, 0, 0x000000); + glPopMatrix(); + } + + private void setGL() + { + lock.lock(); + try + { + Display.getDrawable().makeCurrent(); + } + catch (LWJGLException e) + { + e.printStackTrace(); + throw new RuntimeException(e); + } + glClearColor((float)((backgroundColor >> 16) & 0xFF) / 0xFF, (float)((backgroundColor >> 8) & 0xFF) / 0xFF, (float)(backgroundColor & 0xFF) / 0xFF, 1); + glDisable(GL_LIGHTING); + glDisable(GL_DEPTH_TEST); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + } + + private void clearGL() + { + Minecraft mc = Minecraft.getMinecraft(); + mc.displayWidth = Display.getWidth(); + mc.displayHeight = Display.getHeight(); + mc.resize(mc.displayWidth, mc.displayHeight); + glClearColor(1, 1, 1, 1); + glEnable(GL_DEPTH_TEST); + glDepthFunc(GL_LEQUAL); + glEnable(GL_ALPHA_TEST); + glAlphaFunc(GL_GREATER, .1f); + try + { + Display.getDrawable().releaseContext(); + } + catch (LWJGLException e) + { + e.printStackTrace(); + throw new RuntimeException(e); + } + finally + { + lock.unlock(); + } + } + }); + thread.setUncaughtExceptionHandler(new UncaughtExceptionHandler() + { + public void uncaughtException(Thread t, Throwable e) + { + FMLLog.log(Level.ERROR, e, "Splash thread Exception"); + threadError = e; + } + }); + thread.start(); + checkThreadState(); + } + + private static void checkThreadState() + { + if(thread.getState() == Thread.State.TERMINATED || threadError != null) + { + throw new IllegalStateException("Splash thread", threadError); + } + } + /** + * Call before you need to explicitly modify GL context state during loading. + * Resource loading doesn't usually require this call. + * Call {@link #resume()} when you're done. + * @deprecated not a stable API, will break, don't use this yet + */ + @Deprecated + public static void pause() + { + if(!enabled) return; + checkThreadState(); + pause = true; + lock.lock(); + try + { + d.releaseContext(); + Display.getDrawable().makeCurrent(); + } + catch (LWJGLException e) + { + e.printStackTrace(); + throw new RuntimeException(e); + } + } + + /** + * @deprecated not a stable API, will break, don't use this yet + */ + @Deprecated + public static void resume() + { + if(!enabled) return; + checkThreadState(); + pause = false; + try + { + Display.getDrawable().releaseContext(); + d.makeCurrent(); + } + catch (LWJGLException e) + { + e.printStackTrace(); + throw new RuntimeException(e); + } + lock.unlock(); + } + + public static void finish() + { + if(!enabled) return; + checkThreadState(); + try + { + done = true; + thread.join(); + d.releaseContext(); + Display.getDrawable().makeCurrent(); + fontTexture.delete(); + logoTexture.delete(); + forgeTexture.delete(); + } + catch (Exception e) + { + e.printStackTrace(); + throw new RuntimeException(e); + } + } + + private static IResourcePack createResourcePack(File file) + { + if(file.isDirectory()) + { + return new FolderResourcePack(file); + } + else + { + return new FileResourcePack(file); + } + } + + private static final IntBuffer buf = BufferUtils.createIntBuffer(4 * 1024 * 1024); + + private static class Texture + { + private final ResourceLocation location; + private final int name; + private final int width; + private final int height; + private final int frames; + private final int size; + + public Texture(ResourceLocation location) + { + InputStream s = null; + try + { + this.location = location; + s = open(location); + ImageInputStream stream = ImageIO.createImageInputStream(s); + Iterator readers = ImageIO.getImageReaders(stream); + if(!readers.hasNext()) throw new IOException("No suitable reader found for image" + location); + ImageReader reader = readers.next(); + reader.setInput(stream); + frames = reader.getNumImages(true); + BufferedImage[] images = new BufferedImage[frames]; + for(int i = 0; i < frames; i++) + { + images[i] = reader.read(i); + } + reader.dispose(); + int size = 1; + width = images[0].getWidth(); + height = images[0].getHeight(); + while((size / width) * (size / height) < frames) size *= 2; + this.size = size; + glEnable(GL_TEXTURE_2D); + synchronized(SplashProgress.class) + { + name = glGenTextures(); + glBindTexture(GL_TEXTURE_2D, name); + } + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, size, size, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, (IntBuffer)null); + checkGLError("Texture creation"); + for(int i = 0; i * (size / width) < frames; i++) + { + for(int j = 0; i * (size / width) + j < frames && j < size / width; j++) + { + buf.clear(); + BufferedImage image = images[i * (size / width) + j]; + for(int k = 0; k < height; k++) + { + for(int l = 0; l < width; l++) + { + buf.put(image.getRGB(l, k)); + } + } + buf.position(0).limit(width * height); + glTexSubImage2D(GL_TEXTURE_2D, 0, j * width, i * height, width, height, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, buf); + checkGLError("Texture uploading"); + } + } + glBindTexture(GL_TEXTURE_2D, 0); + glDisable(GL_TEXTURE_2D); + } + catch(IOException e) + { + e.printStackTrace(); + throw new RuntimeException(e); + } + finally + { + IOUtils.closeQuietly(s); + } + } + + public ResourceLocation getLocation() + { + return location; + } + + public int getName() + { + return name; + } + + public int getWidth() + { + return width; + } + + public int getHeight() + { + return height; + } + + public int getFrames() + { + return frames; + } + + public int getSize() + { + return size; + } + + public void bind() + { + glBindTexture(GL_TEXTURE_2D, name); + } + + public void delete() + { + glDeleteTextures(name); + } + + public float getU(int frame, float u) + { + return width * (frame % (size / width) + u) / size; + } + + public float getV(int frame, float v) + { + return height * (frame / (size / width) + v) / size; + } + + public void texCoord(int frame, float u, float v) + { + glTexCoord2f(getU(frame, u), getV(frame, v)); + } + } + + private static class SplashFontRenderer extends FontRenderer + { + public SplashFontRenderer() + { + super(Minecraft.getMinecraft().gameSettings, fontTexture.getLocation(), null, false); + super.onResourceManagerReload(null); + } + + @Override + protected void bindTexture(ResourceLocation location) + { + if(location != locationFontTexture) throw new IllegalArgumentException(); + fontTexture.bind(); + } + + @Override + protected InputStream getResourceInputStream(ResourceLocation location) throws IOException + { + return Minecraft.getMinecraft().mcDefaultResourcePack.getInputStream(location); + } + } + + public static void drawVanillaScreen(TextureManager renderEngine) throws LWJGLException + { + if(!enabled) + { + Minecraft.getMinecraft().drawSplashScreen(renderEngine); + } + } + + public static void clearVanillaResources(TextureManager renderEngine, ResourceLocation mojangLogo) + { + if(!enabled) + { + renderEngine.deleteTexture(mojangLogo); + } + } + + public static void checkGLError(String where) + { + int err = GL11.glGetError(); + if (err != 0) + { + throw new IllegalStateException(where + ": " + GLU.gluErrorString(err)); + } + } + + private static InputStream open(ResourceLocation loc) throws IOException + { + if(miscPack.resourceExists(loc)) + { + return miscPack.getInputStream(loc); + } + else if(fmlPack.resourceExists(loc)) + { + return fmlPack.getInputStream(loc); + } + return mcPack.getInputStream(loc); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/ConfigGuiType.java b/fml/src/main/java/net/minecraftforge/fml/client/config/ConfigGuiType.java new file mode 100644 index 000000000..fd57075cd --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/ConfigGuiType.java @@ -0,0 +1,24 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.config; + +public enum ConfigGuiType +{ + STRING, + INTEGER, + BOOLEAN, + DOUBLE, + COLOR, + MOD_ID, + CONFIG_CATEGORY; +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/DummyConfigElement.java b/fml/src/main/java/net/minecraftforge/fml/client/config/DummyConfigElement.java new file mode 100644 index 000000000..320fbf0aa --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/DummyConfigElement.java @@ -0,0 +1,417 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.config; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.regex.Pattern; + +import net.minecraft.client.resources.I18n; +import net.minecraftforge.fml.client.config.GuiConfigEntries.IConfigEntry; +import net.minecraftforge.fml.client.config.GuiEditArrayEntries.IArrayEntry; + + +/** + * This class's main purpose is to provide the necessary objects for a sample Config GUI for FML, although + * there may be practical uses for the objects defined here such as using the DummyCategoryElement object as a + * wrapper for a custom IGuiConfigListEntry object that opens a special screen. + * + * @author bspkrs + */ +public class DummyConfigElement implements IConfigElement +{ + protected boolean isProperty = true; + protected boolean isList = false; + protected ConfigGuiType type; + protected String name; + protected String langKey; + protected Object value; + protected Object defaultValue; + protected Object[] values; + protected Object[] defaultValues; + protected String[] validValues; + protected Pattern validStringPattern; + protected Object minValue; + protected Object maxValue; + protected boolean requiresWorldRestart = false; + protected boolean requiresMcRestart = false; + protected boolean isListFixedLength = false; + protected int maxListLength = -1; + protected List childElements; + protected Class configEntryClass; + protected Class arrayEntryClass; + + /** + * This class provides a Dummy Category IConfigElement. It can be used to define a custom list of GUI entries that will + * appear on the child screen or to specify a custom IGuiConfigListEntryfor a special category. + */ + public static class DummyCategoryElement extends DummyConfigElement + { + public DummyCategoryElement(String name, String langKey, List childElements) + { + this(name, langKey, childElements, (Class) null); + } + + public DummyCategoryElement(String name, String langKey, Class customListEntryClass) + { + this(name, langKey, new ArrayList(), customListEntryClass); + } + + public DummyCategoryElement(String name, String langKey, List childElements, Class customListEntryClass) + { + super(name, (Object) null, ConfigGuiType.CONFIG_CATEGORY, langKey); + this.childElements = childElements; + this.configEntryClass = customListEntryClass; + isProperty = false; + } + } + + /** + * This class provides a dummy array-type IConfigElement. + */ + public static class DummyListElement extends DummyConfigElement + { + public DummyListElement(String name, Object[] defaultValues, ConfigGuiType type, String langKey, boolean isListFixedLength, int maxListLength, Pattern validStringPattern, Object minValue, Object maxValue) + { + super(name, (Object) null, type, langKey, minValue, maxValue); + this.defaultValues = defaultValues; + this.values = defaultValues; + this.isListFixedLength = isListFixedLength; + this.maxListLength = maxListLength; + this.validStringPattern = validStringPattern; + isList = true; + } + + public DummyListElement(String name, Object[] defaultValues, ConfigGuiType type, String langKey) + { + this(name, defaultValues, type, langKey, false, -1, (Pattern) null, (Object) null, (Object) null); + } + + public DummyListElement(String name, Object[] defaultValues, ConfigGuiType type, String langKey, boolean isListFixedLength) + { + this(name, defaultValues, type, langKey, isListFixedLength, -1, (Pattern) null, (Object) null, (Object) null); + } + + public DummyListElement(String name, Object[] defaultValues, ConfigGuiType type, String langKey, int maxListLength) + { + this(name, defaultValues, type, langKey, false, maxListLength, (Pattern) null, (Object) null, (Object) null); + } + + public DummyListElement(String name, Object[] defaultValues, ConfigGuiType type, String langKey, Object minValue, Object maxValue) + { + this(name, defaultValues, type, langKey, false, -1, (Pattern) null, minValue, maxValue); + } + + public DummyListElement(String name, Object[] defaultValues, ConfigGuiType type, String langKey, boolean isListFixedLength, Object minValue, Object maxValue) + { + this(name, defaultValues, type, langKey, isListFixedLength, -1, (Pattern) null, minValue, maxValue); + } + + public DummyListElement(String name, Object[] defaultValues, ConfigGuiType type, String langKey, int maxListLength, Object minValue, Object maxValue) + { + this(name, defaultValues, type, langKey, false, maxListLength, (Pattern) null, minValue, maxValue); + } + + public DummyListElement(String name, Object[] defaultValues, ConfigGuiType type, String langKey, boolean isListFixedLength, int maxListLength, Object minValue, Object maxValue) + { + this(name, defaultValues, type, langKey, isListFixedLength, maxListLength, (Pattern) null, minValue, maxValue); + } + + public DummyListElement(String name, Object[] defaultValues, ConfigGuiType type, String langKey, Pattern validStringPattern) + { + this(name, defaultValues, type, langKey, false, -1, validStringPattern, (Object) null, (Object) null); + } + + public DummyListElement(String name, Object[] defaultValues, ConfigGuiType type, String langKey, boolean isListFixedLength, Pattern validStringPattern) + { + this(name, defaultValues, type, langKey, isListFixedLength, -1, validStringPattern, (Object) null, (Object) null); + } + + public DummyListElement(String name, Object[] defaultValues, ConfigGuiType type, String langKey, int maxListLength, Pattern validStringPattern) + { + this(name, defaultValues, type, langKey, false, maxListLength, validStringPattern, (Object) null, (Object) null); + } + + public DummyListElement setCustomEditListEntryClass(Class clazz) + { + this.arrayEntryClass = clazz; + return this; + } + + @Override + public Object getDefault() + { + return Arrays.toString(this.defaultValues); + } + } + + public DummyConfigElement(String name, Object defaultValue, ConfigGuiType type, String langKey, String[] validValues, Pattern validStringPattern, Object minValue, Object maxValue) + { + this.name = name; + this.defaultValue = defaultValue; + this.value = defaultValue; + this.type = type; + this.langKey = langKey; + this.validValues = validValues; + this.validStringPattern = validStringPattern; + if (minValue == null) + { + if (type == ConfigGuiType.INTEGER) + this.minValue = (Integer) Integer.MIN_VALUE; + else if (type == ConfigGuiType.DOUBLE) + this.minValue = (Double) (-Double.MAX_VALUE); + } + else + this.minValue = minValue; + if (maxValue == null) + { + if (type == ConfigGuiType.INTEGER) + this.maxValue = (Integer) Integer.MAX_VALUE; + else if (type == ConfigGuiType.DOUBLE) + this.maxValue = (Double) Double.MAX_VALUE; + } + else + this.maxValue = maxValue; + } + + public DummyConfigElement(String name, Object defaultValue, ConfigGuiType type, String langKey, Pattern validStringPattern) + { + this(name, defaultValue, type, langKey, (String[]) null, validStringPattern, (Object) null, (Object) null); + } + + public DummyConfigElement(String name, Object defaultValue, ConfigGuiType type, String langKey, String[] validValues) + { + this(name, defaultValue, type, langKey, validValues, (Pattern) null, (Object) null, (Object) null); + } + + public DummyConfigElement(String name, Object defaultValue, ConfigGuiType type, String langKey) + { + this(name, defaultValue, type, langKey, (String[]) null, (Pattern) null, (Object) null, (Object) null); + } + + public DummyConfigElement(String name, Object defaultValue, ConfigGuiType type, String langKey, Object minValue, Object maxValue) + { + this(name, defaultValue, type, langKey, (String[]) null, (Pattern) null, minValue, maxValue); + } + + public DummyConfigElement setCustomListEntryClass(Class clazz) + { + this.configEntryClass = clazz; + return this; + } + + @Override + public boolean isProperty() + { + return isProperty; + } + + public IConfigElement setConfigEntryClass(Class clazz) + { + this.configEntryClass = clazz; + return this; + } + + @Override + public Class getConfigEntryClass() + { + return configEntryClass; + } + + public IConfigElement setArrayEntryClass(Class clazz) + { + this.arrayEntryClass = clazz; + return this; + } + + @Override + public Class getArrayEntryClass() + { + return arrayEntryClass; + } + + @Override + public String getName() + { + return name; + } + + @Override + public String getQualifiedName() + { + return name; + } + + @Override + public String getLanguageKey() + { + return langKey; + } + + @Override + public String getComment() + { + return I18n.format(langKey + ".tooltip"); + } + + @Override + public List getChildElements() + { + return childElements; + } + + @Override + public ConfigGuiType getType() + { + return type; + } + + @Override + public boolean isList() + { + return isList; + } + + @Override + public boolean isListLengthFixed() + { + return this.isListFixedLength; + } + + @Override + public int getMaxListLength() + { + return this.maxListLength; + } + + @Override + public boolean isDefault() + { + if (isProperty) + { + if (!isList) + { + if (value != null) + return value.equals(defaultValue); + else + return defaultValue == null; + } + else + { + return Arrays.deepEquals(values, defaultValues); + } + } + + return true; + } + + @Override + public Object getDefault() + { + return defaultValue; + } + + @Override + public Object[] getDefaults() + { + return defaultValues; + } + + @Override + public void setToDefault() + { + if (isList) + this.values = Arrays.copyOf(this.defaultValues, this.defaultValues.length); + else + this.value = defaultValue; + } + + public IConfigElement setRequiresWorldRestart(boolean requiresWorldRestart) + { + this.requiresWorldRestart = requiresWorldRestart; + return this; + } + + @Override + public boolean requiresWorldRestart() + { + return requiresWorldRestart; + } + + @Override + public boolean showInGui() + { + return true; + } + + public IConfigElement setRequiresMcRestart(boolean requiresMcRestart) + { + this.requiresMcRestart = this.requiresWorldRestart = requiresMcRestart; + return this; + } + + @Override + public boolean requiresMcRestart() + { + return requiresMcRestart; + } + + @Override + public String[] getValidValues() + { + return validValues; + } + + @Override + public Pattern getValidationPattern() + { + return validStringPattern; + } + + @Override + public Object get() + { + return value; + } + + @Override + public Object[] getList() + { + return values; + } + + @Override + public void set(Object value) + { + defaultValue = value; + } + + @Override + public void set(Object[] aVal) + { + defaultValues = aVal; + } + + @Override + public Object getMinValue() + { + return minValue; + } + + @Override + public Object getMaxValue() + { + return maxValue; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiButtonExt.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiButtonExt.java new file mode 100644 index 000000000..6399fe8b6 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiButtonExt.java @@ -0,0 +1,77 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.config; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiButton; + +/** + * This class provides a button that fixes several bugs present in the vanilla GuiButton drawing code. + * The gist of it is that it allows buttons of any size without gaps in the graphics and with the + * borders drawn properly. It also prevents button text from extending out of the sides of the button by + * trimming the end of the string and adding an ellipsis.

+ * + * The code that handles drawing the button is in GuiUtils. + * + * @author bspkrs + */ +public class GuiButtonExt extends GuiButton +{ + public GuiButtonExt(int id, int xPos, int yPos, String displayString) + { + super(id, xPos, yPos, displayString); + } + + public GuiButtonExt(int id, int xPos, int yPos, int width, int height, String displayString) + { + super(id, xPos, yPos, width, height, displayString); + } + + /** + * Draws this button to the screen. + */ + @Override + public void drawButton(Minecraft mc, int mouseX, int mouseY) + { + if (this.visible) + { + this.hovered = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height; + int k = this.getHoverState(this.hovered); + GuiUtils.drawContinuousTexturedBox(buttonTextures, this.xPosition, this.yPosition, 0, 46 + k * 20, this.width, this.height, 200, 20, 2, 3, 2, 2, this.zLevel); + this.mouseDragged(mc, mouseX, mouseY); + int color = 14737632; + + if (packedFGColour != 0) + { + color = packedFGColour; + } + else if (!this.enabled) + { + color = 10526880; + } + else if (this.hovered) + { + color = 16777120; + } + + String buttonText = this.displayString; + int strWidth = mc.fontRendererObj.getStringWidth(buttonText); + int ellipsisWidth = mc.fontRendererObj.getStringWidth("..."); + + if (strWidth > width - 6 && strWidth > ellipsisWidth) + buttonText = mc.fontRendererObj.trimStringToWidth(buttonText, width - 6 - ellipsisWidth).trim() + "..."; + + this.drawCenteredString(mc.fontRendererObj, buttonText, this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, color); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiCheckBox.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiCheckBox.java new file mode 100644 index 000000000..7f8fca783 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiCheckBox.java @@ -0,0 +1,84 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.config; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiButton; + +/** + * This class provides a checkbox style control. + * + * @author bspkrs + */ +public class GuiCheckBox extends GuiButton +{ + private boolean isChecked; + private int boxWidth; + + public GuiCheckBox(int id, int xPos, int yPos, String displayString, boolean isChecked) + { + super(id, xPos, yPos, displayString); + this.isChecked = isChecked; + this.boxWidth = 11; + this.height = 11; + this.width = this.boxWidth + 2 + Minecraft.getMinecraft().fontRendererObj.getStringWidth(displayString); + } + + @Override + public void drawButton(Minecraft mc, int mouseX, int mouseY) + { + if (this.visible) + { + this.hovered = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.boxWidth && mouseY < this.yPosition + this.height; + GuiUtils.drawContinuousTexturedBox(buttonTextures, this.xPosition, this.yPosition, 0, 46, this.boxWidth, this.height, 200, 20, 2, 3, 2, 2, this.zLevel); + this.mouseDragged(mc, mouseX, mouseY); + int color = 14737632; + + if (packedFGColour != 0) + { + color = packedFGColour; + } + else if (!this.enabled) + { + color = 10526880; + } + + if (this.isChecked) + this.drawCenteredString(mc.fontRendererObj, "x", this.xPosition + this.boxWidth / 2 + 1, this.yPosition + 1, 14737632); + + this.drawString(mc.fontRendererObj, displayString, xPosition + this.boxWidth + 2, yPosition + 2, color); + } + } + + @Override + public boolean mousePressed(Minecraft mc, int mouseX, int mouseY) + { + if (this.enabled && this.visible && mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height) + { + this.isChecked = !this.isChecked; + return true; + } + + return false; + } + + public boolean isChecked() + { + return this.isChecked; + } + + public void setIsChecked(boolean isChecked) + { + this.isChecked = isChecked; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiConfig.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiConfig.java new file mode 100644 index 000000000..0d61d073b --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiConfig.java @@ -0,0 +1,352 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.config; + +import static net.minecraftforge.fml.client.config.GuiUtils.RESET_CHAR; +import static net.minecraftforge.fml.client.config.GuiUtils.UNDO_CHAR; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.resources.I18n; +import net.minecraft.util.ChatComponentText; +import net.minecraftforge.fml.client.config.GuiConfigEntries.IConfigEntry; +import net.minecraftforge.fml.client.event.ConfigChangedEvent; +import net.minecraftforge.fml.client.event.ConfigChangedEvent.OnConfigChangedEvent; +import net.minecraftforge.fml.client.event.ConfigChangedEvent.PostConfigChangedEvent; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.eventhandler.Event.Result; + +import org.lwjgl.input.Keyboard; + +/** + * This class is the base GuiScreen for all config GUI screens. It can be extended by mods to provide the top-level config screen + * that will be called when the Config button is clicked from the Main Menu Mods list. + * + * @author bspkrs + */ +public class GuiConfig extends GuiScreen +{ + /** + * A reference to the screen object that created this. Used for navigating between screens. + */ + public final GuiScreen parentScreen; + public String title = "Config GUI"; + public String titleLine2; + public final List configElements; + public final List initEntries; + public GuiConfigEntries entryList; + protected GuiButtonExt btnDefaultAll; + protected GuiButtonExt btnUndoAll; + protected GuiCheckBox chkApplyGlobally; + public final String modID; + /** + * When set to a non-null value the OnConfigChanged and PostConfigChanged events will be posted when the Done button is pressed + * if any configElements were changed (includes child screens). If not defined, the events will be posted if the parent gui is null + * or if the parent gui is not an instance of GuiConfig. + */ + public final String configID; + public final boolean isWorldRunning; + public final boolean allRequireWorldRestart; + public final boolean allRequireMcRestart; + public boolean needsRefresh = true; + protected HoverChecker undoHoverChecker; + protected HoverChecker resetHoverChecker; + protected HoverChecker checkBoxHoverChecker; + + /** + * GuiConfig constructor that will use ConfigChangedEvent when editing is concluded. If a non-null value is passed for configID, + * the OnConfigChanged and PostConfigChanged events will be posted when the Done button is pressed if any configElements were changed + * (includes child screens). If configID is not defined, the events will be posted if the parent gui is null or if the parent gui + * is not an instance of GuiConfig. + * + * @param parentScreen the parent GuiScreen object + * @param configElements a List of IConfigElement objects + * @param modID the mod ID for the mod whose config settings will be edited + * @param configID an identifier that will be passed to the OnConfigChanged and PostConfigChanged events. Setting this value will force + * the save action to be called when the Done button is pressed on this screen if any configElements were changed. + * @param allRequireWorldRestart send true if all configElements on this screen require a world restart + * @param allRequireMcRestart send true if all configElements on this screen require MC to be restarted + * @param title the desired title for this screen. For consistency it is recommended that you pass the path of the config file being + * edited. + */ + public GuiConfig(GuiScreen parentScreen, List configElements, String modID, String configID, + boolean allRequireWorldRestart, boolean allRequireMcRestart, String title) + { + this(parentScreen, configElements, modID, configID, allRequireWorldRestart, allRequireMcRestart, title, null); + } + + /** + * GuiConfig constructor that will use ConfigChangedEvent when editing is concluded. This constructor passes null for configID. + * If configID is not defined, the events will be posted if the parent gui is null or if the parent gui is not an instance of GuiConfig. + * + * @param parentScreen the parent GuiScreen object + * @param configElements a List of IConfigElement objects + * @param modID the mod ID for the mod whose config settings will be edited + * @param allRequireWorldRestart send true if all configElements on this screen require a world restart + * @param allRequireMcRestart send true if all configElements on this screen require MC to be restarted + * @param title the desired title for this screen. For consistency it is recommended that you pass the path of the config file being + * edited. + */ + public GuiConfig(GuiScreen parentScreen, List configElements, String modID, + boolean allRequireWorldRestart, boolean allRequireMcRestart, String title) + { + this(parentScreen, configElements, modID, null, allRequireWorldRestart, allRequireMcRestart, title, null); + } + + /** + * GuiConfig constructor that will use ConfigChangedEvent when editing is concluded. This constructor passes null for configID. + * If configID is not defined, the events will be posted if the parent gui is null or if the parent gui is not an instance of GuiConfig. + * + * @param parentScreen the parent GuiScreen object + * @param configElements a List of IConfigElement objects + * @param modID the mod ID for the mod whose config settings will be edited + * @param allRequireWorldRestart send true if all configElements on this screen require a world restart + * @param allRequireMcRestart send true if all configElements on this screen require MC to be restarted + * @param title the desired title for this screen. For consistency it is recommended that you pass the path of the config file being + * edited. + * @param titleLine2 the desired title second line for this screen. Typically this is used to send the category name of the category + * currently being edited. + */ + public GuiConfig(GuiScreen parentScreen, List configElements, String modID, + boolean allRequireWorldRestart, boolean allRequireMcRestart, String title, String titleLine2) + { + this(parentScreen, configElements, modID, null, allRequireWorldRestart, allRequireMcRestart, title, titleLine2); + } + + /** + * GuiConfig constructor that will use ConfigChangedEvent when editing is concluded. titleLine2 is specified in this constructor. + * If a non-null value is passed for configID, the OnConfigChanged and PostConfigChanged events will be posted when the Done button is + * pressed if any configElements were changed (includes child screens). If configID is not defined, the events will be posted if the parent + * gui is null or if the parent gui is not an instance of GuiConfig. + * + * @param parentScreen the parent GuiScreen object + * @param configElements a List of IConfigElement objects + * @param modID the mod ID for the mod whose config settings will be edited + * @param configID an identifier that will be passed to the OnConfigChanged and PostConfigChanged events + * @param allRequireWorldRestart send true if all configElements on this screen require a world restart + * @param allRequireMcRestart send true if all configElements on this screen require MC to be restarted + * @param title the desired title for this screen. For consistency it is recommended that you pass the path of the config file being + * edited. + * @param titleLine2 the desired title second line for this screen. Typically this is used to send the category name of the category + * currently being edited. + */ + public GuiConfig(GuiScreen parentScreen, List configElements, String modID, String configID, + boolean allRequireWorldRestart, boolean allRequireMcRestart, String title, String titleLine2) + { + this.mc = Minecraft.getMinecraft(); + this.parentScreen = parentScreen; + this.configElements = configElements; + this.entryList = new GuiConfigEntries(this, mc); + this.initEntries = new ArrayList(entryList.listEntries); + this.allRequireWorldRestart = allRequireWorldRestart; + this.allRequireMcRestart = allRequireMcRestart; + this.modID = modID; + this.configID = configID; + this.isWorldRunning = mc.theWorld != null; + if (title != null) + this.title = title; + this.titleLine2 = titleLine2; + if (this.titleLine2 != null && this.titleLine2.startsWith(" > ")) + this.titleLine2 = this.titleLine2.replaceFirst(" > ", ""); + } + + public static String getAbridgedConfigPath(String path) + { + Minecraft mc = Minecraft.getMinecraft(); + if (mc.mcDataDir.getAbsolutePath().endsWith(".")) + return path.replace("\\", "/").replace(mc.mcDataDir.getAbsolutePath().replace("\\", "/").substring(0, mc.mcDataDir.getAbsolutePath().length() - 1), "/.minecraft/"); + else + return path.replace("\\", "/").replace(mc.mcDataDir.getAbsolutePath().replace("\\", "/"), "/.minecraft"); + } + + @SuppressWarnings("unchecked") + @Override + public void initGui() + { + Keyboard.enableRepeatEvents(true); + + if (this.entryList == null || this.needsRefresh) + { + this.entryList = new GuiConfigEntries(this, mc); + this.needsRefresh = false; + } + + int undoGlyphWidth = mc.fontRendererObj.getStringWidth(UNDO_CHAR) * 2; + int resetGlyphWidth = mc.fontRendererObj.getStringWidth(RESET_CHAR) * 2; + int doneWidth = Math.max(mc.fontRendererObj.getStringWidth(I18n.format("gui.done")) + 20, 100); + int undoWidth = mc.fontRendererObj.getStringWidth(" " + I18n.format("fml.configgui.tooltip.undoChanges")) + undoGlyphWidth + 20; + int resetWidth = mc.fontRendererObj.getStringWidth(" " + I18n.format("fml.configgui.tooltip.resetToDefault")) + resetGlyphWidth + 20; + int checkWidth = mc.fontRendererObj.getStringWidth(I18n.format("fml.configgui.applyGlobally")) + 13; + int buttonWidthHalf = (doneWidth + 5 + undoWidth + 5 + resetWidth + 5 + checkWidth) / 2; + this.buttonList.add(new GuiButtonExt(2000, this.width / 2 - buttonWidthHalf, this.height - 29, doneWidth, 20, I18n.format("gui.done"))); + this.buttonList.add(this.btnDefaultAll = new GuiUnicodeGlyphButton(2001, this.width / 2 - buttonWidthHalf + doneWidth + 5 + undoWidth + 5, + this.height - 29, resetWidth, 20, " " + I18n.format("fml.configgui.tooltip.resetToDefault"), RESET_CHAR, 2.0F)); + this.buttonList.add(btnUndoAll = new GuiUnicodeGlyphButton(2002, this.width / 2 - buttonWidthHalf + doneWidth + 5, + this.height - 29, undoWidth, 20, " " + I18n.format("fml.configgui.tooltip.undoChanges"), UNDO_CHAR, 2.0F)); + this.buttonList.add(chkApplyGlobally = new GuiCheckBox(2003, this.width / 2 - buttonWidthHalf + doneWidth + 5 + undoWidth + 5 + resetWidth + 5, + this.height - 24, I18n.format("fml.configgui.applyGlobally"), false)); + + this.undoHoverChecker = new HoverChecker(this.btnUndoAll, 800); + this.resetHoverChecker = new HoverChecker(this.btnDefaultAll, 800); + this.checkBoxHoverChecker = new HoverChecker(chkApplyGlobally, 800); + this.entryList.initGui(); + } + + @Override + public void onGuiClosed() + { + this.entryList.onGuiClosed(); + + if (this.configID != null && this.parentScreen instanceof GuiConfig) + { + GuiConfig parentGuiConfig = (GuiConfig) this.parentScreen; + parentGuiConfig.needsRefresh = true; + parentGuiConfig.initGui(); + } + + if (!(this.parentScreen instanceof GuiConfig)) + Keyboard.enableRepeatEvents(false); + } + + @Override + protected void actionPerformed(GuiButton button) + { + if (button.id == 2000) + { + boolean flag = true; + try + { + if ((configID != null || this.parentScreen == null || !(this.parentScreen instanceof GuiConfig)) + && (this.entryList.hasChangedEntry(true))) + { + boolean requiresMcRestart = this.entryList.saveConfigElements(); + + if (Loader.isModLoaded(modID)) + { + ConfigChangedEvent event = new OnConfigChangedEvent(modID, configID, isWorldRunning, requiresMcRestart); + FMLCommonHandler.instance().bus().post(event); + if (!event.getResult().equals(Result.DENY)) + FMLCommonHandler.instance().bus().post(new PostConfigChangedEvent(modID, configID, isWorldRunning, requiresMcRestart)); + + if (requiresMcRestart) + { + flag = false; + mc.displayGuiScreen(new GuiMessageDialog(parentScreen, "fml.configgui.gameRestartTitle", + new ChatComponentText(I18n.format("fml.configgui.gameRestartRequired")), "fml.configgui.confirmRestartMessage")); + } + + if (this.parentScreen instanceof GuiConfig) + ((GuiConfig) this.parentScreen).needsRefresh = true; + } + } + } + catch (Throwable e) + { + e.printStackTrace(); + } + + if (flag) + this.mc.displayGuiScreen(this.parentScreen); + } + else if (button.id == 2001) + { + this.entryList.setAllToDefault(this.chkApplyGlobally.isChecked()); + } + else if (button.id == 2002) + { + this.entryList.undoAllChanges(this.chkApplyGlobally.isChecked()); + } + } + + public void handleMouseInput() throws IOException + { + super.handleMouseInput(); + this.entryList.handleMouseInput(); + } + + @Override + protected void mouseClicked(int x, int y, int mouseEvent) throws IOException + { + if (mouseEvent != 0 || !this.entryList.mouseClicked(x, y, mouseEvent)) + { + this.entryList.mouseClickedPassThru(x, y, mouseEvent); + super.mouseClicked(x, y, mouseEvent); + } + } + + @Override + protected void mouseReleased(int x, int y, int mouseEvent) + { + if (mouseEvent != 0 || !this.entryList.mouseReleased(x, y, mouseEvent)) + { + super.mouseReleased(x, y, mouseEvent); + } + } + + @Override + protected void keyTyped(char eventChar, int eventKey) + { + if (eventKey == Keyboard.KEY_ESCAPE) + this.mc.displayGuiScreen(parentScreen); + else + this.entryList.keyTyped(eventChar, eventKey); + } + + @Override + public void updateScreen() + { + super.updateScreen(); + this.entryList.updateScreen(); + } + + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) + { + this.drawDefaultBackground(); + this.entryList.drawScreen(mouseX, mouseY, partialTicks); + this.drawCenteredString(this.fontRendererObj, this.title, this.width / 2, 8, 16777215); + String title2 = this.titleLine2; + + if (title2 != null) + { + int strWidth = mc.fontRendererObj.getStringWidth(title2); + int elipsisWidth = mc.fontRendererObj.getStringWidth("..."); + if (strWidth > width - 6 && strWidth > elipsisWidth) + title2 = mc.fontRendererObj.trimStringToWidth(title2, width - 6 - elipsisWidth).trim() + "..."; + this.drawCenteredString(this.fontRendererObj, title2, this.width / 2, 18, 16777215); + } + + this.btnUndoAll.enabled = this.entryList.areAnyEntriesEnabled(this.chkApplyGlobally.isChecked()) && this.entryList.hasChangedEntry(this.chkApplyGlobally.isChecked()); + this.btnDefaultAll.enabled = this.entryList.areAnyEntriesEnabled(this.chkApplyGlobally.isChecked()) && !this.entryList.areAllEntriesDefault(this.chkApplyGlobally.isChecked()); + super.drawScreen(mouseX, mouseY, partialTicks); + this.entryList.drawScreenPost(mouseX, mouseY, partialTicks); + if (this.undoHoverChecker.checkHover(mouseX, mouseY)) + this.drawToolTip(this.mc.fontRendererObj.listFormattedStringToWidth(I18n.format("fml.configgui.tooltip.undoAll"), 300), mouseX, mouseY); + if (this.resetHoverChecker.checkHover(mouseX, mouseY)) + this.drawToolTip(this.mc.fontRendererObj.listFormattedStringToWidth(I18n.format("fml.configgui.tooltip.resetAll"), 300), mouseX, mouseY); + if (this.checkBoxHoverChecker.checkHover(mouseX, mouseY)) + this.drawToolTip(this.mc.fontRendererObj.listFormattedStringToWidth(I18n.format("fml.configgui.tooltip.applyGlobally"), 300), mouseX, mouseY); + } + + @SuppressWarnings("rawtypes") + public void drawToolTip(List stringList, int x, int y) + { + this.drawHoveringText(stringList, x, y); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiConfigEntries.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiConfigEntries.java new file mode 100644 index 000000000..cdc5c1ff3 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiConfigEntries.java @@ -0,0 +1,1768 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ +package net.minecraftforge.fml.client.config; + +import static net.minecraftforge.fml.client.config.GuiUtils.RESET_CHAR; +import static net.minecraftforge.fml.client.config.GuiUtils.UNDO_CHAR; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiListExtended; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.resources.I18n; +import net.minecraft.util.EnumChatFormatting; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.ModContainer; + +import org.lwjgl.input.Keyboard; + +/** + * This class implements the scrolling list functionality of the config GUI screens. It also provides all the default control handlers + * for the various property types. + * + * @author bspkrs + */ +public class GuiConfigEntries extends GuiListExtended +{ + public final GuiConfig owningScreen; + public final Minecraft mc; + public List listEntries; + /** + * The max width of the label of all IConfigEntry objects. + */ + public int maxLabelTextWidth = 0; + /** + * The max x boundary of all IConfigEntry objects. + */ + public int maxEntryRightBound = 0; + /** + * The x position where the label should be drawn. + */ + public int labelX; + /** + * The x position where the control should be drawn. + */ + public int controlX; + /** + * The width of the control. + */ + public int controlWidth; + /** + * The minimum x position where the Undo/Default buttons will start + */ + public int resetX; + /** + * The x position of the scroll bar. + */ + public int scrollBarX; + + public GuiConfigEntries(GuiConfig parent, Minecraft mc) + { + super(mc, parent.width, parent.height, parent.titleLine2 != null ? 33 : 23, parent.height - 32, 20); + this.owningScreen = parent; + this.setShowSelectionBox(false); + this.mc = mc; + this.listEntries = new ArrayList(); + + for (IConfigElement configElement : parent.configElements) + { + if (configElement != null) + { + if (configElement.isProperty() && configElement.showInGui()) // as opposed to being a child category entry + { + int length; + + // protects against language keys that are not defined in the .lang file + if (!I18n.format(configElement.getLanguageKey()).equals(configElement.getLanguageKey())) + length = mc.fontRendererObj.getStringWidth(I18n.format(configElement.getLanguageKey())); + else + length = mc.fontRendererObj.getStringWidth(configElement.getName()); + + if (length > this.maxLabelTextWidth) + this.maxLabelTextWidth = length; + } + } + } + + int viewWidth = this.maxLabelTextWidth + 8 + (width / 2); + labelX = (this.width / 2) - (viewWidth / 2); + controlX = labelX + maxLabelTextWidth + 8; + resetX = (this.width / 2) + (viewWidth / 2) - 45; + controlWidth = resetX - controlX - 5; + scrollBarX = this.width; + + for (IConfigElement configElement : parent.configElements) + { + if (configElement != null && configElement.showInGui()) + { + if (configElement.getConfigEntryClass() != null) + try + { + this.listEntries.add((IConfigEntry) configElement.getConfigEntryClass() + .getConstructor(GuiConfig.class, GuiConfigEntries.class, IConfigElement.class) + .newInstance(this.owningScreen, this, configElement)); + } + catch (Throwable e) + { + FMLLog.severe("There was a critical error instantiating the custom IConfigEntry for config element %s.", configElement.getName()); + e.printStackTrace(); + } + else if (configElement.isProperty()) + { + if (configElement.isList()) + this.listEntries.add(new GuiConfigEntries.ArrayEntry(this.owningScreen, this, configElement)); + else if (configElement.getType() == ConfigGuiType.BOOLEAN) + this.listEntries.add(new GuiConfigEntries.BooleanEntry(this.owningScreen, this, configElement)); + else if (configElement.getType() == ConfigGuiType.INTEGER) + this.listEntries.add(new GuiConfigEntries.IntegerEntry(this.owningScreen, this, configElement)); + else if (configElement.getType() == ConfigGuiType.DOUBLE) + this.listEntries.add(new GuiConfigEntries.DoubleEntry(this.owningScreen, this, configElement)); + else if (configElement.getType() == ConfigGuiType.COLOR) + { + if (configElement.getValidValues() != null && configElement.getValidValues().length > 0) + this.listEntries.add(new GuiConfigEntries.ChatColorEntry(this.owningScreen, this, configElement)); + else + this.listEntries.add(new GuiConfigEntries.StringEntry(this.owningScreen, this, configElement)); + } + else if (configElement.getType() == ConfigGuiType.MOD_ID) + { + Map values = new TreeMap(); + for (ModContainer mod : Loader.instance().getActiveModList()) + values.put(mod.getModId(), mod.getName()); + values.put("minecraft", "Minecraft"); + this.listEntries.add(new SelectValueEntry(this.owningScreen, this, configElement, values)); + } + else if (configElement.getType() == ConfigGuiType.STRING) + { + if (configElement.getValidValues() != null && configElement.getValidValues().length > 0) + this.listEntries.add(new GuiConfigEntries.CycleValueEntry(this.owningScreen, this, configElement)); + else + this.listEntries.add(new GuiConfigEntries.StringEntry(this.owningScreen, this, configElement)); + } + } + else if (configElement.getType() == ConfigGuiType.CONFIG_CATEGORY) + this.listEntries.add(new CategoryEntry(this.owningScreen, this, configElement)); + } + } + } + + protected void initGui() + { + this.width = owningScreen.width; + this.height = owningScreen.height; + + this.maxLabelTextWidth = 0; + for (IConfigEntry entry : this.listEntries) + if (entry.getLabelWidth() > this.maxLabelTextWidth) + this.maxLabelTextWidth = entry.getLabelWidth(); + + this.top = owningScreen.titleLine2 != null ? 33 : 23; + this.bottom = owningScreen.height - 32; + this.left = 0; + this.right = width; + int viewWidth = this.maxLabelTextWidth + 8 + (width / 2); + labelX = (this.width / 2) - (viewWidth / 2); + controlX = labelX + maxLabelTextWidth + 8; + resetX = (this.width / 2) + (viewWidth / 2) - 45; + + this.maxEntryRightBound = 0; + for (IConfigEntry entry : this.listEntries) + if (entry.getEntryRightBound() > this.maxEntryRightBound) + this.maxEntryRightBound = entry.getEntryRightBound(); + + scrollBarX = this.maxEntryRightBound + 5; + controlWidth = maxEntryRightBound - controlX - 45; + } + + @Override + public int getSize() + { + return this.listEntries.size(); + } + + /** + * Gets the IGuiListEntry object for the given index + */ + @Override + public IConfigEntry getListEntry(int index) + { + return this.listEntries.get(index); + } + + @Override + public int getScrollBarX() + { + return scrollBarX; + } + + /** + * Gets the width of the list + */ + @Override + public int getListWidth() + { + return owningScreen.width; + } + + /** + * This method is a pass-through for IConfigEntry objects that require keystrokes. Called from the parent GuiConfig screen. + */ + public void keyTyped(char eventChar, int eventKey) + { + for (IConfigEntry entry : this.listEntries) + entry.keyTyped(eventChar, eventKey); + } + + /** + * This method is a pass-through for IConfigEntry objects that contain GuiTextField elements. Called from the parent GuiConfig + * screen. + */ + public void updateScreen() + { + for (IConfigEntry entry : this.listEntries) + entry.updateCursorCounter(); + } + + /** + * This method is a pass-through for IConfigEntry objects that contain GuiTextField elements. Called from the parent GuiConfig + * screen. + */ + public void mouseClickedPassThru(int mouseX, int mouseY, int mouseEvent) + { + for (IConfigEntry entry : this.listEntries) + entry.mouseClicked(mouseX, mouseY, mouseEvent); + } + + /** + * This method is a pass-through for IConfigEntry objects that need to perform actions when the containing GUI is closed. + */ + public void onGuiClosed() + { + for (IConfigEntry entry : this.listEntries) + entry.onGuiClosed(); + } + + /** + * Saves all properties on this screen / child screens. This method returns true if any elements were changed that require + * a restart for proper handling. + */ + public boolean saveConfigElements() + { + boolean requiresRestart = false; + for (IConfigEntry entry : this.listEntries) + if (entry.saveConfigElement()) + requiresRestart = true; + + return requiresRestart; + } + + /** + * Returns true if all IConfigEntry objects on this screen are set to default. If includeChildren is true sub-category + * objects are checked as well. + */ + public boolean areAllEntriesDefault(boolean includeChildren) + { + for (IConfigEntry entry : this.listEntries) + if ((includeChildren || !(entry instanceof CategoryEntry)) && !entry.isDefault()) + return false; + + return true; + } + + /** + * Sets all IConfigEntry objects on this screen to default. If includeChildren is true sub-category objects are set as + * well. + */ + public void setAllToDefault(boolean includeChildren) + { + for (IConfigEntry entry : this.listEntries) + if ((includeChildren || !(entry instanceof CategoryEntry))) + entry.setToDefault(); + } + + /** + * Returns true if any IConfigEntry objects on this screen are changed. If includeChildren is true sub-category objects + * are checked as well. + */ + public boolean hasChangedEntry(boolean includeChildren) + { + for (IConfigEntry entry : this.listEntries) + if ((includeChildren || !(entry instanceof CategoryEntry)) && entry.isChanged()) + return true; + + return false; + } + + /** + * Returns true if any IConfigEntry objects on this screen are enabled. If includeChildren is true sub-category objects + * are checked as well. + */ + public boolean areAnyEntriesEnabled(boolean includeChildren) + { + for (IConfigEntry entry : this.listEntries) + if ((includeChildren || !(entry instanceof CategoryEntry)) && entry.enabled()) + return true; + + return false; + } + + /** + * Reverts changes to all IConfigEntry objects on this screen. If includeChildren is true sub-category objects are + * reverted as well. + */ + public void undoAllChanges(boolean includeChildren) + { + for (IConfigEntry entry : this.listEntries) + if ((includeChildren || !(entry instanceof CategoryEntry))) + entry.undoChanges(); + } + + /** + * Calls the drawToolTip() method for all IConfigEntry objects on this screen. This is called from the parent GuiConfig screen + * after drawing all other elements. + */ + public void drawScreenPost(int mouseX, int mouseY, float partialTicks) + { + for (IConfigEntry entry : this.listEntries) + entry.drawToolTip(mouseX, mouseY); + } + + /** + * BooleanPropEntry + * + * Provides a GuiButton that toggles between true and false. + */ + public static class BooleanEntry extends ButtonEntry + { + protected final boolean beforeValue; + protected boolean currentValue; + + private BooleanEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement configElement) + { + super(owningScreen, owningEntryList, configElement); + this.beforeValue = Boolean.valueOf(configElement.get().toString()); + this.currentValue = beforeValue; + this.btnValue.enabled = enabled(); + updateValueButtonText(); + } + + @Override + public void updateValueButtonText() + { + this.btnValue.displayString = I18n.format(String.valueOf(currentValue)); + btnValue.packedFGColour = currentValue ? GuiUtils.getColorCode('2', true) : GuiUtils.getColorCode('4', true); + } + + @Override + public void valueButtonPressed(int slotIndex) + { + if (enabled()) + currentValue = !currentValue; + } + + @Override + public boolean isDefault() + { + return currentValue == Boolean.valueOf(configElement.getDefault().toString()); + } + + @Override + public void setToDefault() + { + if (enabled()) + { + currentValue = Boolean.valueOf(configElement.getDefault().toString()); + updateValueButtonText(); + } + } + + @Override + public boolean isChanged() + { + return currentValue != beforeValue; + } + + @Override + public void undoChanges() + { + if (enabled()) + { + currentValue = beforeValue; + updateValueButtonText(); + } + } + + @Override + public boolean saveConfigElement() + { + if (enabled() && isChanged()) + { + configElement.set(currentValue); + return configElement.requiresMcRestart(); + } + return false; + } + + @Override + public Boolean getCurrentValue() + { + return currentValue; + } + + @Override + public Boolean[] getCurrentValues() + { + return new Boolean[] { getCurrentValue() }; + } + } + + /** + * CycleValueEntry + * + * Provides a GuiButton that cycles through the prop's validValues array. If the current prop value is not a valid value, the first + * entry replaces the current value. + */ + public static class CycleValueEntry extends ButtonEntry + { + protected final int beforeIndex; + protected final int defaultIndex; + protected int currentIndex; + + private CycleValueEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement configElement) + { + super(owningScreen, owningEntryList, configElement); + beforeIndex = getIndex(configElement.get().toString()); + defaultIndex = getIndex(configElement.getDefault().toString()); + currentIndex = beforeIndex; + this.btnValue.enabled = enabled(); + updateValueButtonText(); + } + + private int getIndex(String s) + { + for (int i = 0; i < configElement.getValidValues().length; i++) + if (configElement.getValidValues()[i].equalsIgnoreCase(s)) + { + return i; + } + + return 0; + } + + @Override + public void updateValueButtonText() + { + this.btnValue.displayString = I18n.format(configElement.getValidValues()[currentIndex]); + } + + @Override + public void valueButtonPressed(int slotIndex) + { + if (enabled()) + { + if (++this.currentIndex >= configElement.getValidValues().length) + this.currentIndex = 0; + + updateValueButtonText(); + } + } + + @Override + public boolean isDefault() + { + return currentIndex == defaultIndex; + } + + @Override + public void setToDefault() + { + if (enabled()) + { + currentIndex = defaultIndex; + updateValueButtonText(); + } + } + + @Override + public boolean isChanged() + { + return currentIndex != beforeIndex; + } + + @Override + public void undoChanges() + { + if (enabled()) + { + currentIndex = beforeIndex; + updateValueButtonText(); + } + } + + @Override + public boolean saveConfigElement() + { + if (enabled() && isChanged()) + { + configElement.set(configElement.getValidValues()[currentIndex]); + return configElement.requiresMcRestart(); + } + return false; + } + + @Override + public String getCurrentValue() + { + return configElement.getValidValues()[currentIndex]; + } + + @Override + public String[] getCurrentValues() + { + return new String[] { getCurrentValue() }; + } + } + + /** + * ChatColorEntry + * + * Provides a GuiButton that cycles through the list of chat color codes. + */ + public static class ChatColorEntry extends CycleValueEntry + { + ChatColorEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement configElement) + { + super(owningScreen, owningEntryList, configElement); + this.btnValue.enabled = enabled(); + updateValueButtonText(); + } + + @Override + public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) + { + this.btnValue.packedFGColour = GuiUtils.getColorCode(this.configElement.getValidValues()[currentIndex].charAt(0), true); + super.drawEntry(slotIndex, x, y, listWidth, slotHeight, mouseX, mouseY, isSelected); + } + + @Override + public void updateValueButtonText() + { + this.btnValue.displayString = I18n.format(configElement.getValidValues()[currentIndex]) + " - " + I18n.format("fml.configgui.sampletext"); + } + } + + /** + * SelectValueEntry + * + * Provides a GuiButton with the current value as the displayString. Accepts a Map of selectable values with the signature where the key is the Object to be selected and the value is the String that will show on the selection list. EG: a map of Mod + * ID values where the key is the Mod ID and the value is the Mod Name. + */ + public static class SelectValueEntry extends ButtonEntry + { + protected final String beforeValue; + protected Object currentValue; + protected Map selectableValues; + + public SelectValueEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement configElement, Map selectableValues) + { + super(owningScreen, owningEntryList, configElement); + beforeValue = configElement.get().toString(); + currentValue = configElement.get().toString(); + this.selectableValues = selectableValues; + updateValueButtonText(); + } + + @Override + public void updateValueButtonText() + { + this.btnValue.displayString = currentValue.toString(); + } + + @Override + public void valueButtonPressed(int slotIndex) + { + mc.displayGuiScreen(new GuiSelectString(this.owningScreen, configElement, slotIndex, selectableValues, currentValue, enabled())); + } + + public void setValueFromChildScreen(Object newValue) + { + if (enabled() && currentValue != null ? !currentValue.equals(newValue) : newValue != null) + { + currentValue = newValue; + updateValueButtonText(); + } + } + + @Override + public boolean isDefault() + { + if (configElement.getDefault() != null) + return configElement.getDefault().equals(currentValue); + else + return currentValue == null; + } + + @Override + public void setToDefault() + { + if (enabled()) + { + this.currentValue = configElement.getDefault().toString(); + updateValueButtonText(); + } + } + + @Override + public boolean isChanged() + { + if (beforeValue != null) + return !beforeValue.equals(currentValue); + else + return currentValue == null; + } + + @Override + public void undoChanges() + { + if (enabled()) + { + currentValue = beforeValue; + updateValueButtonText(); + } + } + + @Override + public boolean saveConfigElement() + { + if (enabled() && isChanged()) + { + this.configElement.set(currentValue); + return configElement.requiresMcRestart(); + } + return false; + } + + @Override + public String getCurrentValue() + { + return this.currentValue.toString(); + } + + @Override + public String[] getCurrentValues() + { + return new String[] { getCurrentValue() }; + } + } + + /** + * ArrayEntry + * + * Provides a GuiButton with the list contents as the displayString. Clicking the button navigates to a screen where the list can be + * edited. + */ + public static class ArrayEntry extends ButtonEntry + { + protected final Object[] beforeValues; + protected Object[] currentValues; + + public ArrayEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement configElement) + { + super(owningScreen, owningEntryList, configElement); + beforeValues = configElement.getList(); + currentValues = configElement.getList(); + updateValueButtonText(); + } + + @Override + public void updateValueButtonText() + { + this.btnValue.displayString = ""; + for (Object o : currentValues) + this.btnValue.displayString += ", [" + o + "]"; + + this.btnValue.displayString = this.btnValue.displayString.replaceFirst(", ", ""); + } + + @Override + public void valueButtonPressed(int slotIndex) + { + mc.displayGuiScreen(new GuiEditArray(this.owningScreen, configElement, slotIndex, currentValues, enabled())); + } + + public void setListFromChildScreen(Object[] newList) + { + if (enabled() && !Arrays.deepEquals(currentValues, newList)) + { + currentValues = newList; + updateValueButtonText(); + } + } + + @Override + public boolean isDefault() + { + return Arrays.deepEquals(configElement.getDefaults(), currentValues); + } + + @Override + public void setToDefault() + { + if (enabled()) + { + this.currentValues = configElement.getDefaults(); + updateValueButtonText(); + } + } + + @Override + public boolean isChanged() + { + return !Arrays.deepEquals(beforeValues, currentValues); + } + + @Override + public void undoChanges() + { + if (enabled()) + { + currentValues = beforeValues; + updateValueButtonText(); + } + } + + @Override + public boolean saveConfigElement() + { + if (enabled() && isChanged()) + { + this.configElement.set(currentValues); + return configElement.requiresMcRestart(); + } + return false; + } + + @Override + public Object getCurrentValue() + { + return this.btnValue.displayString; + } + + @Override + public Object[] getCurrentValues() + { + return this.currentValues; + } + } + + /** + * NumberSliderEntry + * + * Provides a slider for numeric properties. + */ + public static class NumberSliderEntry extends ButtonEntry + { + protected final double beforeValue; + + public NumberSliderEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement configElement) + { + super(owningScreen, owningEntryList, configElement, new GuiSlider(0, owningEntryList.controlX, 0, owningEntryList.controlWidth, 18, + "", "", Double.valueOf(configElement.getMinValue().toString()), Double.valueOf(configElement.getMaxValue().toString()), + Double.valueOf(configElement.get().toString()), configElement.getType() == ConfigGuiType.DOUBLE, true)); + + if (configElement.getType() == ConfigGuiType.INTEGER) + this.beforeValue = Integer.valueOf(configElement.get().toString()); + else + this.beforeValue = Double.valueOf(configElement.get().toString()); + } + + @Override + public void updateValueButtonText() + { + ((GuiSlider) this.btnValue).updateSlider(); + } + + @Override + public void valueButtonPressed(int slotIndex) {} + + @Override + public boolean isDefault() + { + if (configElement.getType() == ConfigGuiType.INTEGER) + return ((GuiSlider) this.btnValue).getValueInt() == Integer.valueOf(configElement.getDefault().toString()); + else + return ((GuiSlider) this.btnValue).getValue() == Double.valueOf(configElement.getDefault().toString()); + } + + @Override + public void setToDefault() + { + if (this.enabled()) + { + ((GuiSlider) this.btnValue).setValue(Double.valueOf(configElement.getDefault().toString())); + ((GuiSlider) this.btnValue).updateSlider(); + } + } + + @Override + public boolean isChanged() + { + if (configElement.getType() == ConfigGuiType.INTEGER) + return ((GuiSlider) this.btnValue).getValueInt() != (int) Math.round(beforeValue); + else + return ((GuiSlider) this.btnValue).getValue() != beforeValue; + } + + @Override + public void undoChanges() + { + if (this.enabled()) + { + ((GuiSlider) this.btnValue).setValue(beforeValue); + ((GuiSlider) this.btnValue).updateSlider(); + } + } + + @Override + public boolean saveConfigElement() + { + if (this.enabled() && this.isChanged()) + { + if (configElement.getType() == ConfigGuiType.INTEGER) + configElement.set(((GuiSlider) this.btnValue).getValueInt()); + else + configElement.set(((GuiSlider) this.btnValue).getValue()); + return configElement.requiresMcRestart(); + } + return false; + } + + @Override + public Object getCurrentValue() + { + if (configElement.getType() == ConfigGuiType.INTEGER) + return ((GuiSlider) this.btnValue).getValueInt(); + else + return ((GuiSlider) this.btnValue).getValue(); + } + + @Override + public Object[] getCurrentValues() + { + return new Object[] { getCurrentValue() }; + } + } + + /** + * ButtonEntry + * + * Provides a basic GuiButton entry to be used as a base for other entries that require a button for the value. + */ + public static abstract class ButtonEntry extends ListEntryBase + { + protected final GuiButtonExt btnValue; + + public ButtonEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement configElement) + { + this(owningScreen, owningEntryList, configElement, new GuiButtonExt(0, owningEntryList.controlX, 0, owningEntryList.controlWidth, 18, + configElement.get() != null ? I18n.format(String.valueOf(configElement.get())) : "")); + } + + public ButtonEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement configElement, GuiButtonExt button) + { + super(owningScreen, owningEntryList, configElement); + this.btnValue = button; + } + + /** + * Updates the displayString of the value button. + */ + public abstract void updateValueButtonText(); + + /** + * Called when the value button has been clicked. + */ + public abstract void valueButtonPressed(int slotIndex); + + @Override + public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) + { + super.drawEntry(slotIndex, x, y, listWidth, slotHeight, mouseX, mouseY, isSelected); + this.btnValue.width = this.owningEntryList.controlWidth; + this.btnValue.xPosition = this.owningScreen.entryList.controlX; + this.btnValue.yPosition = y; + this.btnValue.enabled = enabled(); + this.btnValue.drawButton(this.mc, mouseX, mouseY); + } + + /** + * Returns true if the mouse has been pressed on this control. + */ + @Override + public boolean mousePressed(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) + { + if (this.btnValue.mousePressed(this.mc, x, y)) + { + btnValue.playPressSound(mc.getSoundHandler()); + valueButtonPressed(index); + updateValueButtonText(); + return true; + } + else + return super.mousePressed(index, x, y, mouseEvent, relativeX, relativeY); + } + + /** + * Fired when the mouse button is released. Arguments: index, x, y, mouseEvent, relativeX, relativeY + */ + @Override + public void mouseReleased(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) + { + super.mouseReleased(index, x, y, mouseEvent, relativeX, relativeY); + this.btnValue.mouseReleased(x, y); + } + + @Override + public void keyTyped(char eventChar, int eventKey) + {} + + @Override + public void updateCursorCounter() + {} + + @Override + public void mouseClicked(int x, int y, int mouseEvent) + {} + } + + /** + * IntegerEntry + * + * Provides a GuiTextField for user input. Input is restricted to ensure the value can be parsed using Integer.parseInteger(). + */ + public static class IntegerEntry extends StringEntry + { + protected final int beforeValue; + + public IntegerEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement configElement) + { + super(owningScreen, owningEntryList, configElement); + this.beforeValue = Integer.valueOf(configElement.get().toString()); + } + + @Override + public void keyTyped(char eventChar, int eventKey) + { + if (enabled() || eventKey == Keyboard.KEY_LEFT || eventKey == Keyboard.KEY_RIGHT || eventKey == Keyboard.KEY_HOME || eventKey == Keyboard.KEY_END) + { + String validChars = "0123456789"; + String before = this.textFieldValue.getText(); + if (validChars.contains(String.valueOf(eventChar)) + || (!before.startsWith("-") && this.textFieldValue.getCursorPosition() == 0 && eventChar == '-') + || eventKey == Keyboard.KEY_BACK || eventKey == Keyboard.KEY_DELETE + || eventKey == Keyboard.KEY_LEFT || eventKey == Keyboard.KEY_RIGHT || eventKey == Keyboard.KEY_HOME || eventKey == Keyboard.KEY_END) + this.textFieldValue.textboxKeyTyped((enabled() ? eventChar : Keyboard.CHAR_NONE), eventKey); + + if (!textFieldValue.getText().trim().isEmpty() && !textFieldValue.getText().trim().equals("-")) + { + try + { + long value = Long.parseLong(textFieldValue.getText().trim()); + if (value < Integer.valueOf(configElement.getMinValue().toString()) || value > Integer.valueOf(configElement.getMaxValue().toString())) + this.isValidValue = false; + else + this.isValidValue = true; + } + catch (Throwable e) + { + this.isValidValue = false; + } + } + else + this.isValidValue = false; + } + } + + @Override + public boolean isChanged() + { + try + { + return this.beforeValue != Integer.parseInt(textFieldValue.getText().trim()); + } + catch (Throwable e) + { + return true; + } + } + + @Override + public void undoChanges() + { + if (enabled()) + this.textFieldValue.setText(String.valueOf(beforeValue)); + } + + @Override + public boolean saveConfigElement() + { + if (enabled()) + { + if (isChanged() && this.isValidValue) + try + { + int value = Integer.parseInt(textFieldValue.getText().trim()); + this.configElement.set(value); + return configElement.requiresMcRestart(); + } + catch (Throwable e) + { + this.configElement.setToDefault(); + } + else if (isChanged() && !this.isValidValue) + try + { + int value = Integer.parseInt(textFieldValue.getText().trim()); + if (value < Integer.valueOf(configElement.getMinValue().toString())) + this.configElement.set(configElement.getMinValue()); + else + this.configElement.set(configElement.getMaxValue()); + + } + catch (Throwable e) + { + this.configElement.setToDefault(); + } + + return configElement.requiresMcRestart() && beforeValue != Integer.parseInt(configElement.get().toString()); + } + return false; + } + } + + /** + * DoubleEntry + * + * Provides a GuiTextField for user input. Input is restricted to ensure the value can be parsed using Double.parseDouble(). + */ + public static class DoubleEntry extends StringEntry + { + protected final double beforeValue; + + public DoubleEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement configElement) + { + super(owningScreen, owningEntryList, configElement); + this.beforeValue = Double.valueOf(configElement.get().toString()); + } + + @Override + public void keyTyped(char eventChar, int eventKey) + { + if (enabled() || eventKey == Keyboard.KEY_LEFT || eventKey == Keyboard.KEY_RIGHT || eventKey == Keyboard.KEY_HOME || eventKey == Keyboard.KEY_END) + { + String validChars = "0123456789"; + String before = this.textFieldValue.getText(); + if (validChars.contains(String.valueOf(eventChar)) || + (!before.startsWith("-") && this.textFieldValue.getCursorPosition() == 0 && eventChar == '-') + || (!before.contains(".") && eventChar == '.') + || eventKey == Keyboard.KEY_BACK || eventKey == Keyboard.KEY_DELETE || eventKey == Keyboard.KEY_LEFT || eventKey == Keyboard.KEY_RIGHT + || eventKey == Keyboard.KEY_HOME || eventKey == Keyboard.KEY_END) + this.textFieldValue.textboxKeyTyped((enabled() ? eventChar : Keyboard.CHAR_NONE), eventKey); + + if (!textFieldValue.getText().trim().isEmpty() && !textFieldValue.getText().trim().equals("-")) + { + try + { + double value = Double.parseDouble(textFieldValue.getText().trim()); + if (value < Double.valueOf(configElement.getMinValue().toString()) || value > Double.valueOf(configElement.getMaxValue().toString())) + this.isValidValue = false; + else + this.isValidValue = true; + } + catch (Throwable e) + { + this.isValidValue = false; + } + } + else + this.isValidValue = false; + } + } + + @Override + public boolean isChanged() + { + try + { + return this.beforeValue != Double.parseDouble(textFieldValue.getText().trim()); + } + catch (Throwable e) + { + return true; + } + } + + @Override + public void undoChanges() + { + if (enabled()) + this.textFieldValue.setText(String.valueOf(beforeValue)); + } + + @Override + public boolean saveConfigElement() + { + if (enabled()) + { + if (isChanged() && this.isValidValue) + try + { + double value = Double.parseDouble(textFieldValue.getText().trim()); + this.configElement.set(value); + return configElement.requiresMcRestart(); + } + catch (Throwable e) + { + this.configElement.setToDefault(); + } + else if (isChanged() && !this.isValidValue) + try + { + double value = Double.parseDouble(textFieldValue.getText().trim()); + if (value < Double.valueOf(configElement.getMinValue().toString())) + this.configElement.set(configElement.getMinValue()); + else + this.configElement.set(configElement.getMaxValue()); + } + catch (Throwable e) + { + this.configElement.setToDefault(); + } + + return configElement.requiresMcRestart() && beforeValue != Double.parseDouble(configElement.get().toString()); + } + return false; + } + } + + /** + * StringEntry + * + * Provides a GuiTextField for user input. + */ + public static class StringEntry extends ListEntryBase + { + protected final GuiTextField textFieldValue; + protected final String beforeValue; + + public StringEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement configElement) + { + super(owningScreen, owningEntryList, configElement); + beforeValue = configElement.get().toString(); + this.textFieldValue = new GuiTextField(10, this.mc.fontRendererObj, this.owningEntryList.controlX + 1, 0, this.owningEntryList.controlWidth - 3, 16); + this.textFieldValue.setMaxStringLength(10000); + this.textFieldValue.setText(configElement.get().toString()); + } + + @Override + public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) + { + super.drawEntry(slotIndex, x, y, listWidth, slotHeight, mouseX, mouseY, isSelected); + this.textFieldValue.xPosition = this.owningEntryList.controlX + 2; + this.textFieldValue.yPosition = y + 1; + this.textFieldValue.width = this.owningEntryList.controlWidth - 4; + this.textFieldValue.setEnabled(enabled()); + this.textFieldValue.drawTextBox(); + } + + @Override + public void keyTyped(char eventChar, int eventKey) + { + if (enabled() || eventKey == Keyboard.KEY_LEFT || eventKey == Keyboard.KEY_RIGHT || eventKey == Keyboard.KEY_HOME || eventKey == Keyboard.KEY_END) + { + this.textFieldValue.textboxKeyTyped((enabled() ? eventChar : Keyboard.CHAR_NONE), eventKey); + + if (configElement.getValidationPattern() != null) + { + if (configElement.getValidationPattern().matcher(this.textFieldValue.getText().trim()).matches()) + isValidValue = true; + else + isValidValue = false; + } + } + } + + @Override + public void updateCursorCounter() + { + this.textFieldValue.updateCursorCounter(); + } + + @Override + public void mouseClicked(int x, int y, int mouseEvent) + { + this.textFieldValue.mouseClicked(x, y, mouseEvent); + } + + @Override + public boolean isDefault() + { + return configElement.getDefault() != null ? configElement.getDefault().toString().equals(this.textFieldValue.getText()) : + this.textFieldValue.getText().trim().isEmpty(); + } + + @Override + public void setToDefault() + { + if (enabled()) + { + this.textFieldValue.setText(this.configElement.getDefault().toString()); + keyTyped((char) Keyboard.CHAR_NONE, Keyboard.KEY_HOME); + } + } + + @Override + public boolean isChanged() + { + return beforeValue != null ? !this.beforeValue.equals(textFieldValue.getText()) : this.textFieldValue.getText().trim().isEmpty(); + } + + @Override + public void undoChanges() + { + if (enabled()) + this.textFieldValue.setText(beforeValue); + } + + @Override + public boolean saveConfigElement() + { + if (enabled()) + { + if (isChanged() && this.isValidValue) + { + this.configElement.set(this.textFieldValue.getText()); + return configElement.requiresMcRestart(); + } + else if (isChanged() && !this.isValidValue) + { + this.configElement.setToDefault(); + return configElement.requiresMcRestart() + && beforeValue != null ? beforeValue.equals(configElement.getDefault()) : configElement.getDefault() == null; + } + } + return false; + } + + @Override + public Object getCurrentValue() + { + return this.textFieldValue.getText(); + } + + @Override + public Object[] getCurrentValues() + { + return new Object[] { getCurrentValue() }; + } + } + + /** + * CategoryEntry + * + * Provides an entry that consists of a GuiButton for navigating to the child category GuiConfig screen. + */ + public static class CategoryEntry extends ListEntryBase + { + protected GuiScreen childScreen; + protected final GuiButtonExt btnSelectCategory; + + public CategoryEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement configElement) + { + super(owningScreen, owningEntryList, configElement); + + this.childScreen = this.buildChildScreen(); + + this.btnSelectCategory = new GuiButtonExt(0, 0, 0, 300, 18, I18n.format(name)); + this.tooltipHoverChecker = new HoverChecker(this.btnSelectCategory, 800); + + this.drawLabel = false; + } + + /** + * This method is called in the constructor and is used to set the childScreen field. + */ + protected GuiScreen buildChildScreen() + { + return new GuiConfig(this.owningScreen, this.configElement.getChildElements(), this.owningScreen.modID, + owningScreen.allRequireWorldRestart || this.configElement.requiresWorldRestart(), + owningScreen.allRequireMcRestart || this.configElement.requiresMcRestart(), this.owningScreen.title, + ((this.owningScreen.titleLine2 == null ? "" : this.owningScreen.titleLine2) + " > " + this.name)); + } + + @Override + public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) + { + this.btnSelectCategory.xPosition = listWidth / 2 - 150; + this.btnSelectCategory.yPosition = y; + this.btnSelectCategory.enabled = enabled(); + this.btnSelectCategory.drawButton(this.mc, mouseX, mouseY); + + super.drawEntry(slotIndex, x, y, listWidth, slotHeight, mouseX, mouseY, isSelected); + } + + @Override + public void drawToolTip(int mouseX, int mouseY) + { + boolean canHover = mouseY < this.owningScreen.entryList.bottom && mouseY > this.owningScreen.entryList.top; + + if (this.tooltipHoverChecker.checkHover(mouseX, mouseY, canHover)) + this.owningScreen.drawToolTip(toolTip, mouseX, mouseY); + + super.drawToolTip(mouseX, mouseY); + } + + @Override + public boolean mousePressed(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) + { + if (this.btnSelectCategory.mousePressed(this.mc, x, y)) + { + btnSelectCategory.playPressSound(mc.getSoundHandler()); + Minecraft.getMinecraft().displayGuiScreen(childScreen); + return true; + } + else + return super.mousePressed(index, x, y, mouseEvent, relativeX, relativeY); + } + + @Override + public void mouseReleased(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) + { + this.btnSelectCategory.mouseReleased(x, y); + } + + @Override + public boolean isDefault() + { + if (childScreen instanceof GuiConfig && ((GuiConfig) childScreen).entryList != null) + return ((GuiConfig) childScreen).entryList.areAllEntriesDefault(true); + + return true; + } + + @Override + public void setToDefault() + { + if (childScreen instanceof GuiConfig && ((GuiConfig) childScreen).entryList != null) + ((GuiConfig) childScreen).entryList.setAllToDefault(true); + } + + @Override + public void keyTyped(char eventChar, int eventKey) + {} + + @Override + public void updateCursorCounter() + {} + + @Override + public void mouseClicked(int x, int y, int mouseEvent) + {} + + @Override + public boolean saveConfigElement() + { + boolean requiresRestart = false; + + if (childScreen instanceof GuiConfig && ((GuiConfig) childScreen).entryList != null) + { + requiresRestart = configElement.requiresMcRestart() && ((GuiConfig) childScreen).entryList.hasChangedEntry(true); + + if (((GuiConfig) childScreen).entryList.saveConfigElements()) + requiresRestart = true; + } + + return requiresRestart; + } + + @Override + public boolean isChanged() + { + if (childScreen instanceof GuiConfig && ((GuiConfig) childScreen).entryList != null) + return ((GuiConfig) childScreen).entryList.hasChangedEntry(true); + else + return false; + } + + @Override + public void undoChanges() + { + if (childScreen instanceof GuiConfig && ((GuiConfig) childScreen).entryList != null) + ((GuiConfig) childScreen).entryList.undoAllChanges(true); + } + + @Override + public boolean enabled() + { + return true; + } + + @Override + public int getLabelWidth() + { + return 0; + } + + @Override + public int getEntryRightBound() + { + return this.owningEntryList.width / 2 + 155 + 22 + 18; + } + + @Override + public String getCurrentValue() + { + return ""; + } + + @Override + public String[] getCurrentValues() + { + return new String[] { getCurrentValue() }; + } + } + + /** + * ListEntryBase + * + * Provides a base entry for others to extend. Handles drawing the prop label (if drawLabel == true) and the Undo/Default buttons. + */ + @SuppressWarnings("rawtypes") + public static abstract class ListEntryBase implements IConfigEntry + { + protected final GuiConfig owningScreen; + protected final GuiConfigEntries owningEntryList; + protected final IConfigElement configElement; + protected final Minecraft mc; + protected final String name; + protected final GuiButtonExt btnUndoChanges; + protected final GuiButtonExt btnDefault; + protected List toolTip; + protected List undoToolTip; + protected List defaultToolTip; + protected boolean isValidValue = true; + protected HoverChecker tooltipHoverChecker; + protected HoverChecker undoHoverChecker; + protected HoverChecker defaultHoverChecker; + protected boolean drawLabel; + + @SuppressWarnings({ "unchecked" }) + public ListEntryBase(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement configElement) + { + this.owningScreen = owningScreen; + this.owningEntryList = owningEntryList; + this.configElement = configElement; + this.mc = Minecraft.getMinecraft(); + String trans = I18n.format(configElement.getLanguageKey()); + if (!trans.equals(configElement.getLanguageKey())) + this.name = trans; + else + this.name = configElement.getName(); + this.btnUndoChanges = new GuiButtonExt(0, 0, 0, 18, 18, UNDO_CHAR); + this.btnDefault = new GuiButtonExt(0, 0, 0, 18, 18, RESET_CHAR); + + this.undoHoverChecker = new HoverChecker(this.btnUndoChanges, 800); + this.defaultHoverChecker = new HoverChecker(this.btnDefault, 800); + this.undoToolTip = Arrays.asList(new String[] { I18n.format("fml.configgui.tooltip.undoChanges") }); + this.defaultToolTip = Arrays.asList(new String[] { I18n.format("fml.configgui.tooltip.resetToDefault") }); + + this.drawLabel = true; + + String comment; + + comment = I18n.format(configElement.getLanguageKey() + ".tooltip").replace("\\n", "\n"); + + if (!comment.equals(configElement.getLanguageKey() + ".tooltip")) + toolTip = new ArrayList(this.mc.fontRendererObj.listFormattedStringToWidth( + EnumChatFormatting.GREEN + name + "\n" + EnumChatFormatting.YELLOW + comment, 300)); + else if (configElement.getComment() != null && !configElement.getComment().trim().isEmpty()) + toolTip = new ArrayList(this.mc.fontRendererObj.listFormattedStringToWidth( + EnumChatFormatting.GREEN + name + "\n" + EnumChatFormatting.YELLOW + configElement.getComment(), 300)); + else + toolTip = new ArrayList(this.mc.fontRendererObj.listFormattedStringToWidth( + EnumChatFormatting.GREEN + name + "\n" + EnumChatFormatting.RED + "No tooltip defined.", 300)); + + if ((configElement.getType() == ConfigGuiType.INTEGER + && (Integer.valueOf(configElement.getMinValue().toString()) != Integer.MIN_VALUE || Integer.valueOf(configElement.getMaxValue().toString()) != Integer.MAX_VALUE)) + || (configElement.getType() == ConfigGuiType.DOUBLE + && (Double.valueOf(configElement.getMinValue().toString()) != -Double.MAX_VALUE || Double.valueOf(configElement.getMaxValue().toString()) != Double.MAX_VALUE))) + toolTip.addAll(this.mc.fontRendererObj.listFormattedStringToWidth( + EnumChatFormatting.AQUA + I18n.format("fml.configgui.tooltip.defaultNumeric", configElement.getMinValue(), configElement.getMaxValue(), configElement.getDefault()), 300)); + else if (configElement.getType() != ConfigGuiType.CONFIG_CATEGORY) + toolTip.addAll(this.mc.fontRendererObj.listFormattedStringToWidth(EnumChatFormatting.AQUA + I18n.format("fml.configgui.tooltip.default", configElement.getDefault()),300)); + + if (configElement.requiresMcRestart() || owningScreen.allRequireMcRestart) + toolTip.add(EnumChatFormatting.RED + "[" + I18n.format("fml.configgui.gameRestartTitle") + "]"); + } + + @Override + public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) + { + boolean isChanged = isChanged(); + + if (drawLabel) + { + String label = (!isValidValue ? EnumChatFormatting.RED.toString() : + (isChanged ? EnumChatFormatting.WHITE.toString() : EnumChatFormatting.GRAY.toString())) + + (isChanged ? EnumChatFormatting.ITALIC.toString() : "") + this.name; + this.mc.fontRendererObj.drawString( + label, + this.owningScreen.entryList.labelX, + y + slotHeight / 2 - this.mc.fontRendererObj.FONT_HEIGHT / 2, + 16777215); + } + + this.btnUndoChanges.xPosition = this.owningEntryList.scrollBarX - 44; + this.btnUndoChanges.yPosition = y; + this.btnUndoChanges.enabled = enabled() && isChanged; + this.btnUndoChanges.drawButton(this.mc, mouseX, mouseY); + + this.btnDefault.xPosition = this.owningEntryList.scrollBarX - 22; + this.btnDefault.yPosition = y; + this.btnDefault.enabled = enabled() && !isDefault(); + this.btnDefault.drawButton(this.mc, mouseX, mouseY); + + if (this.tooltipHoverChecker == null) + this.tooltipHoverChecker = new HoverChecker(y, y + slotHeight, x, this.owningScreen.entryList.controlX - 8, 800); + else + this.tooltipHoverChecker.updateBounds(y, y + slotHeight, x, this.owningScreen.entryList.controlX - 8); + } + + @Override + public void drawToolTip(int mouseX, int mouseY) + { + boolean canHover = mouseY < this.owningScreen.entryList.bottom && mouseY > this.owningScreen.entryList.top; + if (toolTip != null && this.tooltipHoverChecker != null) + { + if (this.tooltipHoverChecker.checkHover(mouseX, mouseY, canHover)) + this.owningScreen.drawToolTip(toolTip, mouseX, mouseY); + } + + if (this.undoHoverChecker.checkHover(mouseX, mouseY, canHover)) + this.owningScreen.drawToolTip(undoToolTip, mouseX, mouseY); + + if (this.defaultHoverChecker.checkHover(mouseX, mouseY, canHover)) + this.owningScreen.drawToolTip(defaultToolTip, mouseX, mouseY); + } + + @Override + public boolean mousePressed(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) + { + if (this.btnDefault.mousePressed(this.mc, x, y)) + { + btnDefault.playPressSound(mc.getSoundHandler()); + setToDefault(); + return true; + } + else if (this.btnUndoChanges.mousePressed(this.mc, x, y)) + { + btnUndoChanges.playPressSound(mc.getSoundHandler()); + undoChanges(); + return true; + } + return false; + } + + @Override + public void mouseReleased(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) + { + this.btnDefault.mouseReleased(x, y); + } + + @Override + public abstract boolean isDefault(); + + @Override + public abstract void setToDefault(); + + @Override + public abstract void keyTyped(char eventChar, int eventKey); + + @Override + public abstract void updateCursorCounter(); + + @Override + public abstract void mouseClicked(int x, int y, int mouseEvent); + + @Override + public abstract boolean isChanged(); + + @Override + public abstract void undoChanges(); + + @Override + public abstract boolean saveConfigElement(); + + @Override + public void setSelected(int p_178011_1_, int p_178011_2_, int p_178011_3_){} + + @Override + public boolean enabled() + { + return owningScreen.isWorldRunning ? !owningScreen.allRequireWorldRestart && !configElement.requiresWorldRestart() : true; + } + + @Override + public int getLabelWidth() + { + return this.mc.fontRendererObj.getStringWidth(this.name); + } + + @Override + public int getEntryRightBound() + { + return this.owningEntryList.resetX + 40; + } + + @Override + public IConfigElement getConfigElement() + { + return configElement; + } + + @Override + public String getName() + { + return configElement.getName(); + } + + @Override + public abstract Object getCurrentValue(); + + @Override + public abstract Object[] getCurrentValues(); + + @Override + public void onGuiClosed() + {} + } + + /** + * Provides an interface for defining GuiConfigEntry.listEntry objects. + */ + public static interface IConfigEntry extends GuiListExtended.IGuiListEntry + { + /** + * Gets the IConfigElement object owned by this entry. + * @return + */ + public IConfigElement getConfigElement(); + + /** + * Gets the name of the ConfigElement owned by this entry. + */ + public String getName(); + + /** + * Gets the current value of this entry. + */ + public Object getCurrentValue(); + + /** + * Gets the current values of this list entry. + */ + public Object[] getCurrentValues(); + + /** + * Is this list entry enabled? + * + * @return true if this entry's controls should be enabled, false otherwise. + */ + public boolean enabled(); + + /** + * Handles user keystrokes for any GuiTextField objects in this entry. Call {@code GuiTextField.keyTyped()} for any GuiTextField + * objects that should receive the input provided. + */ + public void keyTyped(char eventChar, int eventKey); + + /** + * Call {@code GuiTextField.updateCursorCounter()} for any GuiTextField objects in this entry. + */ + public void updateCursorCounter(); + + /** + * Call {@code GuiTextField.mouseClicked()} for and GuiTextField objects in this entry. + */ + public void mouseClicked(int x, int y, int mouseEvent); + + /** + * Is this entry's value equal to the default value? Generally true should be returned if this entry is not a property or category + * entry. + * + * @return true if this entry's value is equal to this entry's default value. + */ + public boolean isDefault(); + + /** + * Sets this entry's value to the default value. + */ + public void setToDefault(); + + /** + * Handles reverting any changes that have occurred to this entry. + */ + public void undoChanges(); + + /** + * Has the value of this entry changed? + * + * @return true if changes have been made to this entry's value, false otherwise. + */ + public boolean isChanged(); + + /** + * Handles saving any changes that have been made to this entry back to the underlying object. It is a good practice to check + * isChanged() before performing the save action. This method should return true if the element has changed AND REQUIRES A RESTART. + */ + public boolean saveConfigElement(); + + /** + * Handles drawing any tooltips that apply to this entry. This method is called after all other GUI elements have been drawn to the + * screen, so it could also be used to draw any GUI element that needs to be drawn after all entries have had drawEntry() called. + */ + public void drawToolTip(int mouseX, int mouseY); + + /** + * Gets this entry's label width. + */ + public int getLabelWidth(); + + /** + * Gets this entry's right-hand x boundary. This value is used to control where the scroll bar is placed. + */ + public int getEntryRightBound(); + + /** + * This method is called when the parent GUI is closed. Most handlers won't need this; it is provided for special cases. + */ + public void onGuiClosed(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiEditArray.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiEditArray.java new file mode 100644 index 000000000..914347ce5 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiEditArray.java @@ -0,0 +1,214 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.config; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.resources.I18n; +import net.minecraft.util.EnumChatFormatting; +import static net.minecraftforge.fml.client.config.GuiUtils.RESET_CHAR; +import static net.minecraftforge.fml.client.config.GuiUtils.UNDO_CHAR; + +import org.lwjgl.input.Keyboard; + +/** + * This class is the base screen used for editing an array-type property. It provides a list of array entries for the user to edit. + * This screen is invoked from a GuiConfig screen by controls that use the EditListPropEntry IGuiConfigListEntry object. + * + * @author bspkrs + */ +public class GuiEditArray extends GuiScreen +{ + protected GuiScreen parentScreen; + protected IConfigElement configElement; + protected GuiEditArrayEntries entryList; + protected GuiButtonExt btnUndoChanges, btnDefault, btnDone; + protected String title; + protected String titleLine2; + protected String titleLine3; + protected int slotIndex; + protected final Object[] beforeValues; + protected Object[] currentValues; + protected HoverChecker tooltipHoverChecker; + @SuppressWarnings("rawtypes") + protected List toolTip; + protected boolean enabled; + + @SuppressWarnings("rawtypes") + public GuiEditArray(GuiScreen parentScreen, IConfigElement configElement, int slotIndex, Object[] currentValues, boolean enabled) + { + this.mc = Minecraft.getMinecraft(); + this.parentScreen = parentScreen; + this.configElement = configElement; + this.slotIndex = slotIndex; + this.beforeValues = currentValues; + this.currentValues = currentValues; + this.toolTip = new ArrayList(); + this.enabled = enabled; + String propName = I18n.format(configElement.getLanguageKey()); + String comment; + + comment = I18n.format(configElement.getLanguageKey() + ".tooltip", + "\n" + EnumChatFormatting.AQUA, configElement.getDefault(), configElement.getMinValue(), configElement.getMaxValue()); + + if (!comment.equals(configElement.getLanguageKey() + ".tooltip")) + toolTip = mc.fontRendererObj.listFormattedStringToWidth( + EnumChatFormatting.GREEN + propName + "\n" + EnumChatFormatting.YELLOW + comment, 300); + else if (configElement.getComment() != null && !configElement.getComment().trim().isEmpty()) + toolTip = mc.fontRendererObj.listFormattedStringToWidth( + EnumChatFormatting.GREEN + propName + "\n" + EnumChatFormatting.YELLOW + configElement.getComment(), 300); + else + toolTip = mc.fontRendererObj.listFormattedStringToWidth( + EnumChatFormatting.GREEN + propName + "\n" + EnumChatFormatting.RED + "No tooltip defined.", 300); + + if (parentScreen instanceof GuiConfig) + { + this.title = ((GuiConfig) parentScreen).title; + if (((GuiConfig) parentScreen).titleLine2 != null) + { + this.titleLine2 = ((GuiConfig) parentScreen).titleLine2; + this.titleLine3 = I18n.format(configElement.getLanguageKey()); + } + else + this.titleLine2 = I18n.format(configElement.getLanguageKey()); + this.tooltipHoverChecker = new HoverChecker(28, 37, 0, parentScreen.width, 800); + } + else + { + this.title = I18n.format(configElement.getLanguageKey()); + this.tooltipHoverChecker = new HoverChecker(8, 17, 0, parentScreen.width, 800); + } + } + + @SuppressWarnings("unchecked") + @Override + public void initGui() + { + this.entryList = new GuiEditArrayEntries(this, this.mc, this.configElement, this.beforeValues, this.currentValues); + + int undoGlyphWidth = mc.fontRendererObj.getStringWidth(UNDO_CHAR) * 2; + int resetGlyphWidth = mc.fontRendererObj.getStringWidth(RESET_CHAR) * 2; + int doneWidth = Math.max(mc.fontRendererObj.getStringWidth(I18n.format("gui.done")) + 20, 100); + int undoWidth = mc.fontRendererObj.getStringWidth(" " + I18n.format("fml.configgui.tooltip.undoChanges")) + undoGlyphWidth + 20; + int resetWidth = mc.fontRendererObj.getStringWidth(" " + I18n.format("fml.configgui.tooltip.resetToDefault")) + resetGlyphWidth + 20; + int buttonWidthHalf = (doneWidth + 5 + undoWidth + 5 + resetWidth) / 2; + this.buttonList.add(btnDone = new GuiButtonExt(2000, this.width / 2 - buttonWidthHalf, this.height - 29, doneWidth, 20, I18n.format("gui.done"))); + this.buttonList.add(btnDefault = new GuiUnicodeGlyphButton(2001, this.width / 2 - buttonWidthHalf + doneWidth + 5 + undoWidth + 5, + this.height - 29, resetWidth, 20, " " + I18n.format("fml.configgui.tooltip.resetToDefault"), RESET_CHAR, 2.0F)); + this.buttonList.add(btnUndoChanges = new GuiUnicodeGlyphButton(2002, this.width / 2 - buttonWidthHalf + doneWidth + 5, + this.height - 29, undoWidth, 20, " " + I18n.format("fml.configgui.tooltip.undoChanges"), UNDO_CHAR, 2.0F)); + } + + @Override + protected void actionPerformed(GuiButton button) + { + if (button.id == 2000) + { + try + { + this.entryList.saveListChanges(); + } + catch (Throwable e) + { + e.printStackTrace(); + } + this.mc.displayGuiScreen(this.parentScreen); + } + else if (button.id == 2001) + { + this.currentValues = configElement.getDefaults(); + this.entryList = new GuiEditArrayEntries(this, this.mc, this.configElement, this.beforeValues, this.currentValues); + } + else if (button.id == 2002) + { + this.currentValues = Arrays.copyOf(beforeValues, beforeValues.length); + this.entryList = new GuiEditArrayEntries(this, this.mc, this.configElement, this.beforeValues, this.currentValues); + } + } + + public void handleMouseInput() throws IOException + { + super.handleMouseInput(); + this.entryList.handleMouseInput(); + } + + @Override + protected void mouseClicked(int x, int y, int mouseEvent) throws IOException + { + if (mouseEvent != 0 || !this.entryList.mouseClicked(x, y, mouseEvent)) + { + this.entryList.mouseClickedPassThru(x, y, mouseEvent); + super.mouseClicked(x, y, mouseEvent); + } + } + + @Override + protected void mouseReleased(int x, int y, int mouseEvent) + { + if (mouseEvent != 0 || !this.entryList.mouseReleased(x, y, mouseEvent)) + { + super.mouseReleased(x, y, mouseEvent); + } + } + + @Override + protected void keyTyped(char eventChar, int eventKey) + { + if (eventKey == Keyboard.KEY_ESCAPE) + this.mc.displayGuiScreen(parentScreen); + else + this.entryList.keyTyped(eventChar, eventKey); + } + + @Override + public void updateScreen() + { + super.updateScreen(); + this.entryList.updateScreen(); + } + + @Override + public void drawScreen(int par1, int par2, float par3) + { + this.drawDefaultBackground(); + this.entryList.drawScreen(par1, par2, par3); + this.drawCenteredString(this.fontRendererObj, this.title, this.width / 2, 8, 16777215); + + if (this.titleLine2 != null) + this.drawCenteredString(this.fontRendererObj, this.titleLine2, this.width / 2, 18, 16777215); + + if (this.titleLine3 != null) + this.drawCenteredString(this.fontRendererObj, this.titleLine3, this.width / 2, 28, 16777215); + + this.btnDone.enabled = this.entryList.isListSavable(); + this.btnDefault.enabled = enabled && !this.entryList.isDefault(); + this.btnUndoChanges.enabled = enabled && this.entryList.isChanged(); + super.drawScreen(par1, par2, par3); + this.entryList.drawScreenPost(par1, par2, par3); + + if (this.tooltipHoverChecker != null && this.tooltipHoverChecker.checkHover(par1, par2)) + drawToolTip(this.toolTip, par1, par2); + } + + @SuppressWarnings("rawtypes") + public void drawToolTip(List stringList, int x, int y) + { + this.drawHoveringText(stringList, x, y); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiEditArrayEntries.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiEditArrayEntries.java new file mode 100644 index 000000000..d7bb4622a --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiEditArrayEntries.java @@ -0,0 +1,674 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.config; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiListExtended; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.resources.I18n; +import net.minecraft.util.EnumChatFormatting; +import net.minecraftforge.fml.client.config.GuiConfigEntries.ArrayEntry; +import net.minecraftforge.fml.common.FMLLog; + +import org.lwjgl.input.Keyboard; + +import static net.minecraftforge.fml.client.config.GuiUtils.INVALID; +import static net.minecraftforge.fml.client.config.GuiUtils.VALID; + +/** + * This class implements the scrolling list functionality of the GuiEditList screen. It also provides all the default controls + * for editing array-type properties. + * + * @author bspkrs + */ +@SuppressWarnings("rawtypes") +public class GuiEditArrayEntries extends GuiListExtended +{ + protected GuiEditArray owningGui; + public Minecraft mc; + public IConfigElement configElement; + public List listEntries; + public boolean isDefault; + public boolean isChanged; + public boolean canAddMoreEntries; + public final int controlWidth; + public final Object[] beforeValues; + public Object[] currentValues; + + public GuiEditArrayEntries(GuiEditArray parent, Minecraft mc, IConfigElement configElement, Object[] beforeValues, Object[] currentValues) + { + super(mc, parent.width, parent.height, parent.titleLine2 != null ? (parent.titleLine3 != null ? 43 : 33) : 23, parent.height - 32, 20); + this.owningGui = parent; + this.mc = mc; + this.configElement = configElement; + this.beforeValues = beforeValues; + this.currentValues = currentValues; + this.setShowSelectionBox(false); + this.isChanged = !Arrays.deepEquals(beforeValues, currentValues); + this.isDefault = Arrays.deepEquals(currentValues, configElement.getDefaults()); + this.canAddMoreEntries = !configElement.isListLengthFixed() && (configElement.getMaxListLength() == -1 || currentValues.length < configElement.getMaxListLength()); + + listEntries = new ArrayList(); + + controlWidth = (parent.width / 2) - (configElement.isListLengthFixed() ? 0 : 48); + + if (configElement.isList() && configElement.getArrayEntryClass() != null) + { + Class clazz = configElement.getArrayEntryClass(); + for (Object value : currentValues) + { + try + { + listEntries.add(clazz.getConstructor(GuiEditArray.class, GuiEditArrayEntries.class, IConfigElement.class, Object.class) + .newInstance(this.owningGui, this, configElement, value.toString())); + } + catch (Throwable e) + { + FMLLog.severe("There was a critical error instantiating the custom IGuiEditListEntry for property %s.", configElement.getName()); + e.printStackTrace(); + } + } + } + else if (configElement.isList() && configElement.getType().equals(ConfigGuiType.BOOLEAN)) + for (Object value : currentValues) + listEntries.add(new BooleanEntry(this.owningGui, this, configElement, Boolean.valueOf(value.toString()))); + else if (configElement.isList() && configElement.getType().equals(ConfigGuiType.INTEGER)) + for (Object value : currentValues) + listEntries.add(new IntegerEntry(this.owningGui, this, configElement, Integer.parseInt(value.toString()))); + else if (configElement.isList() && configElement.getType().equals(ConfigGuiType.DOUBLE)) + for (Object value : currentValues) + listEntries.add(new DoubleEntry(this.owningGui, this, configElement, Double.parseDouble(value.toString()))); + else if (configElement.isList()) + for (Object value : currentValues) + listEntries.add(new StringEntry(this.owningGui, this, configElement, value.toString())); + + if (!configElement.isListLengthFixed()) + listEntries.add(new BaseEntry(this.owningGui, this, configElement)); + + } + + @Override + protected int getScrollBarX() + { + return width - (width / 4); + } + + /** + * Gets the width of the list + */ + @Override + public int getListWidth() + { + return owningGui.width; + } + + @Override + public IArrayEntry getListEntry(int index) + { + return listEntries.get(index); + } + + @Override + protected int getSize() + { + return listEntries.size(); + } + + public void addNewEntry(int index) + { + if (configElement.isList() && configElement.getType() == ConfigGuiType.BOOLEAN) + listEntries.add(index, new BooleanEntry(this.owningGui, this, this.configElement, Boolean.valueOf(true))); + else if (configElement.isList() && configElement.getType() == ConfigGuiType.INTEGER) + listEntries.add(index, new IntegerEntry(this.owningGui, this, this.configElement, 0)); + else if (configElement.isList() && configElement.getType() == ConfigGuiType.DOUBLE) + listEntries.add(index, new DoubleEntry(this.owningGui, this, this.configElement, 0.0D)); + else if (configElement.isList()) + listEntries.add(index, new StringEntry(this.owningGui, this, this.configElement, "")); + this.canAddMoreEntries = !configElement.isListLengthFixed() + && (configElement.getMaxListLength() == -1 || this.listEntries.size() - 1 < configElement.getMaxListLength()); + keyTyped((char) Keyboard.CHAR_NONE, Keyboard.KEY_END); + } + + public void removeEntry(int index) + { + this.listEntries.remove(index); + this.canAddMoreEntries = !configElement.isListLengthFixed() + && (configElement.getMaxListLength() == -1 || this.listEntries.size() - 1 < configElement.getMaxListLength()); + keyTyped((char) Keyboard.CHAR_NONE, Keyboard.KEY_END); + } + + public boolean isChanged() + { + return isChanged; + } + + public boolean isDefault() + { + return isDefault; + } + + public void recalculateState() + { + isDefault = true; + isChanged = false; + + int listLength = configElement.isListLengthFixed() ? listEntries.size() : listEntries.size() - 1; + + if (listLength != configElement.getDefaults().length) + { + isDefault = false; + } + + if (listLength != beforeValues.length) + { + isChanged = true; + } + + if (isDefault) + for (int i = 0; i < listLength; i++) + if (!configElement.getDefaults()[i].equals(listEntries.get(i).getValue())) + isDefault = false; + + if (!isChanged) + for (int i = 0; i < listLength; i++) + if (!beforeValues[i].equals(listEntries.get(i).getValue())) + isChanged = true; + } + + protected void keyTyped(char eventChar, int eventKey) + { + for (IArrayEntry entry : this.listEntries) + entry.keyTyped(eventChar, eventKey); + + recalculateState(); + } + + protected void updateScreen() + { + for (IArrayEntry entry : this.listEntries) + entry.updateCursorCounter(); + } + + protected void mouseClickedPassThru(int x, int y, int mouseEvent) + { + for (IArrayEntry entry : this.listEntries) + entry.mouseClicked(x, y, mouseEvent); + } + + protected boolean isListSavable() + { + for (IArrayEntry entry : this.listEntries) + if (!entry.isValueSavable()) + return false; + + return true; + } + + protected void saveListChanges() + { + int listLength = configElement.isListLengthFixed() ? listEntries.size() : listEntries.size() - 1; + + if (owningGui.slotIndex != -1 && owningGui.parentScreen != null + && owningGui.parentScreen instanceof GuiConfig + && ((GuiConfig) owningGui.parentScreen).entryList.getListEntry(owningGui.slotIndex) instanceof ArrayEntry) + { + ArrayEntry entry = (ArrayEntry) ((GuiConfig) owningGui.parentScreen).entryList.getListEntry(owningGui.slotIndex); + + Object[] ao = new Object[listLength]; + for (int i = 0; i < listLength; i++) + ao[i] = listEntries.get(i).getValue(); + + entry.setListFromChildScreen(ao); + } + else + { + if (configElement.isList() && configElement.getType() == ConfigGuiType.BOOLEAN) + { + Boolean[] abol = new Boolean[listLength]; + for (int i = 0; i < listLength; i++) + abol[i] = Boolean.valueOf(listEntries.get(i).getValue().toString()); + + configElement.set(abol); + } + else if (configElement.isList() && configElement.getType() == ConfigGuiType.INTEGER) + { + Integer[] ai = new Integer[listLength]; + for (int i = 0; i < listLength; i++) + ai[i] = Integer.valueOf(listEntries.get(i).getValue().toString()); + + configElement.set(ai); + } + else if (configElement.isList() && configElement.getType() == ConfigGuiType.DOUBLE) + { + Double[] ad = new Double[listLength]; + for (int i = 0; i < listLength; i++) + ad[i] = Double.valueOf(listEntries.get(i).getValue().toString()); + + configElement.set(ad); + } + else if (configElement.isList()) + { + String[] as = new String[listLength]; + for (int i = 0; i < listLength; i++) + as[i] = listEntries.get(i).getValue().toString(); + + configElement.set(as); + } + } + } + + protected void drawScreenPost(int mouseX, int mouseY, float f) + { + for (IArrayEntry entry : this.listEntries) + entry.drawToolTip(mouseX, mouseY); + } + + /** + * IGuiListEntry Inner Classes + */ + + public static class DoubleEntry extends StringEntry + { + public DoubleEntry(GuiEditArray owningScreen, GuiEditArrayEntries owningEntryList, IConfigElement configElement, Double value) + { + super(owningScreen, owningEntryList, configElement, value); + this.isValidated = true; + } + + @Override + public void keyTyped(char eventChar, int eventKey) + { + if (owningScreen.enabled || eventKey == Keyboard.KEY_LEFT || eventKey == Keyboard.KEY_RIGHT + || eventKey == Keyboard.KEY_HOME || eventKey == Keyboard.KEY_END) + { + String validChars = "0123456789"; + String before = this.textFieldValue.getText(); + if (validChars.contains(String.valueOf(eventChar)) || + (!before.startsWith("-") && this.textFieldValue.getCursorPosition() == 0 && eventChar == '-') + || (!before.contains(".") && eventChar == '.') + || eventKey == Keyboard.KEY_BACK || eventKey == Keyboard.KEY_DELETE || eventKey == Keyboard.KEY_LEFT || eventKey == Keyboard.KEY_RIGHT + || eventKey == Keyboard.KEY_HOME || eventKey == Keyboard.KEY_END) + this.textFieldValue.textboxKeyTyped((owningScreen.enabled ? eventChar : Keyboard.CHAR_NONE), eventKey); + + if (!textFieldValue.getText().trim().isEmpty() && !textFieldValue.getText().trim().equals("-")) + { + try + { + double value = Double.parseDouble(textFieldValue.getText().trim()); + if (value < Double.valueOf(configElement.getMinValue().toString()) || value > Double.valueOf(configElement.getMaxValue().toString())) + this.isValidValue = false; + else + this.isValidValue = true; + } + catch (Throwable e) + { + this.isValidValue = false; + } + } + else + this.isValidValue = false; + } + } + + @Override + public Double getValue() + { + try + { + return Double.valueOf(this.textFieldValue.getText().trim()); + } + catch (Throwable e) + { + return Double.MAX_VALUE; + } + } + } + + public static class IntegerEntry extends StringEntry + { + public IntegerEntry(GuiEditArray owningScreen, GuiEditArrayEntries owningEntryList, IConfigElement configElement, Integer value) + { + super(owningScreen, owningEntryList, configElement, value); + this.isValidated = true; + } + + @Override + public void keyTyped(char eventChar, int eventKey) + { + if (owningScreen.enabled || eventKey == Keyboard.KEY_LEFT || eventKey == Keyboard.KEY_RIGHT + || eventKey == Keyboard.KEY_HOME || eventKey == Keyboard.KEY_END) + { + String validChars = "0123456789"; + String before = this.textFieldValue.getText(); + if (validChars.contains(String.valueOf(eventChar)) + || (!before.startsWith("-") && this.textFieldValue.getCursorPosition() == 0 && eventChar == '-') + || eventKey == Keyboard.KEY_BACK || eventKey == Keyboard.KEY_DELETE + || eventKey == Keyboard.KEY_LEFT || eventKey == Keyboard.KEY_RIGHT || eventKey == Keyboard.KEY_HOME || eventKey == Keyboard.KEY_END) + this.textFieldValue.textboxKeyTyped((owningScreen.enabled ? eventChar : Keyboard.CHAR_NONE), eventKey); + + if (!textFieldValue.getText().trim().isEmpty() && !textFieldValue.getText().trim().equals("-")) + { + try + { + long value = Long.parseLong(textFieldValue.getText().trim()); + if (value < Integer.valueOf(configElement.getMinValue().toString()) || value > Integer.valueOf(configElement.getMaxValue().toString())) + this.isValidValue = false; + else + this.isValidValue = true; + } + catch (Throwable e) + { + this.isValidValue = false; + } + } + else + this.isValidValue = false; + } + } + + @Override + public Integer getValue() + { + try + { + return Integer.valueOf(this.textFieldValue.getText().trim()); + } + catch (Throwable e) + { + return Integer.MAX_VALUE; + } + } + } + + public static class StringEntry extends BaseEntry + { + protected final GuiTextField textFieldValue; + + public StringEntry(GuiEditArray owningScreen, GuiEditArrayEntries owningEntryList, IConfigElement configElement, Object value) + { + super(owningScreen, owningEntryList, configElement); + this.textFieldValue = new GuiTextField(0, owningEntryList.mc.fontRendererObj, owningEntryList.width / 4 + 1, 0, owningEntryList.controlWidth - 3, 16); + this.textFieldValue.setMaxStringLength(10000); + this.textFieldValue.setText(value.toString()); + this.isValidated = configElement.getValidationPattern() != null; + + if (configElement.getValidationPattern() != null) + { + if (configElement.getValidationPattern().matcher(this.textFieldValue.getText().trim()).matches()) + isValidValue = true; + else + isValidValue = false; + } + } + + @Override + public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) + { + super.drawEntry(slotIndex, x, y, listWidth, slotHeight, mouseX, mouseY, isSelected); + if (configElement.isListLengthFixed() || slotIndex != owningEntryList.listEntries.size() - 1) + { + this.textFieldValue.setVisible(true); + this.textFieldValue.yPosition = y + 1; + this.textFieldValue.drawTextBox(); + } + else + this.textFieldValue.setVisible(false); + } + + @Override + public void keyTyped(char eventChar, int eventKey) + { + if (owningScreen.enabled || eventKey == Keyboard.KEY_LEFT || eventKey == Keyboard.KEY_RIGHT + || eventKey == Keyboard.KEY_HOME || eventKey == Keyboard.KEY_END) + { + this.textFieldValue.textboxKeyTyped((owningScreen.enabled ? eventChar : Keyboard.CHAR_NONE), eventKey); + + if (configElement.getValidationPattern() != null) + { + if (configElement.getValidationPattern().matcher(this.textFieldValue.getText().trim()).matches()) + isValidValue = true; + else + isValidValue = false; + } + } + } + + @Override + public void updateCursorCounter() + { + this.textFieldValue.updateCursorCounter(); + } + + @Override + public void mouseClicked(int x, int y, int mouseEvent) + { + this.textFieldValue.mouseClicked(x, y, mouseEvent); + } + + @Override + public Object getValue() + { + return this.textFieldValue.getText().trim(); + } + + } + + public static class BooleanEntry extends BaseEntry + { + protected final GuiButtonExt btnValue; + private boolean value; + + public BooleanEntry(GuiEditArray owningScreen, GuiEditArrayEntries owningEntryList, IConfigElement configElement, boolean value) + { + super(owningScreen, owningEntryList, configElement); + this.value = value; + this.btnValue = new GuiButtonExt(0, 0, 0, owningEntryList.controlWidth, 18, I18n.format(String.valueOf(value))); + this.btnValue.enabled = owningScreen.enabled; + this.isValidated = false; + } + + @Override + public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) + { + super.drawEntry(slotIndex, x, y, listWidth, slotHeight, mouseX, mouseY, isSelected); + this.btnValue.xPosition = listWidth / 4; + this.btnValue.yPosition = y; + + String trans = I18n.format(String.valueOf(value)); + if (!trans.equals(String.valueOf(value))) + this.btnValue.displayString = trans; + else + this.btnValue.displayString = String.valueOf(value); + btnValue.packedFGColour = value ? GuiUtils.getColorCode('2', true) : GuiUtils.getColorCode('4', true); + + this.btnValue.drawButton(owningEntryList.mc, mouseX, mouseY); + } + + @Override + public boolean mousePressed(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) + { + if (this.btnValue.mousePressed(owningEntryList.mc, x, y)) + { + btnValue.playPressSound(owningEntryList.mc.getSoundHandler()); + value = !value; + owningEntryList.recalculateState(); + return true; + } + + return super.mousePressed(index, x, y, mouseEvent, relativeX, relativeY); + } + + @Override + public void mouseReleased(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) + { + this.btnValue.mouseReleased(x, y); + super.mouseReleased(index, x, y, mouseEvent, relativeX, relativeY); + } + + @Override + public Object getValue() + { + return Boolean.valueOf(value); + } + } + + public static class BaseEntry implements IArrayEntry + { + protected final GuiEditArray owningScreen; + protected final GuiEditArrayEntries owningEntryList; + protected final IConfigElement configElement; + protected final GuiButtonExt btnAddNewEntryAbove; + private final HoverChecker addNewEntryAboveHoverChecker; + protected final GuiButtonExt btnRemoveEntry; + private final HoverChecker removeEntryHoverChecker; + private List addNewToolTip, removeToolTip; + protected boolean isValidValue = true; + protected boolean isValidated = false; + + @SuppressWarnings({ "unchecked" }) + public BaseEntry(GuiEditArray owningScreen, GuiEditArrayEntries owningEntryList, IConfigElement configElement) + { + this.owningScreen = owningScreen; + this.owningEntryList = owningEntryList; + this.configElement = configElement; + this.btnAddNewEntryAbove = new GuiButtonExt(0, 0, 0, 18, 18, "+"); + this.btnAddNewEntryAbove.packedFGColour = GuiUtils.getColorCode('2', true); + this.btnAddNewEntryAbove.enabled = owningScreen.enabled; + this.btnRemoveEntry = new GuiButtonExt(0, 0, 0, 18, 18, "x"); + this.btnRemoveEntry.packedFGColour = GuiUtils.getColorCode('c', true); + this.btnRemoveEntry.enabled = owningScreen.enabled; + this.addNewEntryAboveHoverChecker = new HoverChecker(this.btnAddNewEntryAbove, 800); + this.removeEntryHoverChecker = new HoverChecker(this.btnRemoveEntry, 800); + this.addNewToolTip = new ArrayList(); + this.removeToolTip = new ArrayList(); + addNewToolTip.add(I18n.format("fml.configgui.tooltip.addNewEntryAbove")); + removeToolTip.add(I18n.format("fml.configgui.tooltip.removeEntry")); + } + + @Override + public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) + { + if (this.getValue() != null && this.isValidated) + owningEntryList.mc.fontRendererObj.drawString( + isValidValue ? EnumChatFormatting.GREEN + VALID : EnumChatFormatting.RED + INVALID, + listWidth / 4 - owningEntryList.mc.fontRendererObj.getStringWidth(VALID) - 2, + y + slotHeight / 2 - owningEntryList.mc.fontRendererObj.FONT_HEIGHT / 2, + 16777215); + + int half = listWidth / 2; + if (owningEntryList.canAddMoreEntries) + { + this.btnAddNewEntryAbove.visible = true; + this.btnAddNewEntryAbove.xPosition = half + ((half / 2) - 44); + this.btnAddNewEntryAbove.yPosition = y; + this.btnAddNewEntryAbove.drawButton(owningEntryList.mc, mouseX, mouseY); + } + else + this.btnAddNewEntryAbove.visible = false; + + if (!configElement.isListLengthFixed() && slotIndex != owningEntryList.listEntries.size() - 1) + { + this.btnRemoveEntry.visible = true; + this.btnRemoveEntry.xPosition = half + ((half / 2) - 22); + this.btnRemoveEntry.yPosition = y; + this.btnRemoveEntry.drawButton(owningEntryList.mc, mouseX, mouseY); + } + else + this.btnRemoveEntry.visible = false; + } + + @Override + public void drawToolTip(int mouseX, int mouseY) + { + boolean canHover = mouseY < owningEntryList.bottom && mouseY > owningEntryList.top; + if (this.btnAddNewEntryAbove.visible && this.addNewEntryAboveHoverChecker.checkHover(mouseX, mouseY, canHover)) + owningScreen.drawToolTip(this.addNewToolTip, mouseX, mouseY); + if (this.btnRemoveEntry.visible && this.removeEntryHoverChecker.checkHover(mouseX, mouseY, canHover)) + owningScreen.drawToolTip(this.removeToolTip, mouseX, mouseY); + } + + @Override + public boolean mousePressed(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) + { + if (this.btnAddNewEntryAbove.mousePressed(owningEntryList.mc, x, y)) + { + btnAddNewEntryAbove.playPressSound(owningEntryList.mc.getSoundHandler()); + owningEntryList.addNewEntry(index); + owningEntryList.recalculateState(); + return true; + } + else if (this.btnRemoveEntry.mousePressed(owningEntryList.mc, x, y)) + { + btnRemoveEntry.playPressSound(owningEntryList.mc.getSoundHandler()); + owningEntryList.removeEntry(index); + owningEntryList.recalculateState(); + return true; + } + + return false; + } + + @Override + public void mouseReleased(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) + { + this.btnAddNewEntryAbove.mouseReleased(x, y); + this.btnRemoveEntry.mouseReleased(x, y); + } + + @Override + public void keyTyped(char eventChar, int eventKey) + {} + + @Override + public void updateCursorCounter() + {} + + @Override + public void mouseClicked(int x, int y, int mouseEvent) + {} + + @Override + public boolean isValueSavable() + { + return isValidValue; + } + + @Override + public Object getValue() + { + return null; + } + + @Override + public void setSelected(int p_178011_1_, int p_178011_2_, int p_178011_3_){} + } + + public static interface IArrayEntry extends GuiListExtended.IGuiListEntry + { + public void keyTyped(char eventChar, int eventKey); + + public void updateCursorCounter(); + + public void mouseClicked(int x, int y, int mouseEvent); + + public void drawToolTip(int mouseX, int mouseY); + + public boolean isValueSavable(); + + public Object getValue(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiMessageDialog.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiMessageDialog.java new file mode 100644 index 000000000..863229afc --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiMessageDialog.java @@ -0,0 +1,25 @@ +package net.minecraftforge.fml.client.config; + +import net.minecraft.client.gui.GuiDisconnected; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.resources.I18n; +import net.minecraft.util.IChatComponent; + +public class GuiMessageDialog extends GuiDisconnected +{ + protected String buttonText; + + public GuiMessageDialog(GuiScreen nextScreen, String title, IChatComponent message, String buttonText) + { + super(nextScreen, title, message); + this.buttonText = buttonText; + } + + @Override + public void initGui() + { + super.initGui(); + ((GuiButton) buttonList.get(0)).displayString = I18n.format(buttonText); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiSelectString.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiSelectString.java new file mode 100644 index 000000000..00f918c0b --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiSelectString.java @@ -0,0 +1,182 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.config; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.resources.I18n; +import net.minecraft.util.EnumChatFormatting; +import static net.minecraftforge.fml.client.config.GuiUtils.RESET_CHAR; +import static net.minecraftforge.fml.client.config.GuiUtils.UNDO_CHAR; + +/** + * This class provides a screen that allows the user to select a value from a list. + * + * @author bspkrs + */ +public class GuiSelectString extends GuiScreen +{ + protected GuiScreen parentScreen; + protected IConfigElement configElement; + protected GuiSelectStringEntries entryList; + protected GuiButtonExt btnUndoChanges, btnDefault, btnDone; + protected String title; + protected String titleLine2; + protected String titleLine3; + protected int slotIndex; + protected final Map selectableValues; + public final Object beforeValue; + public Object currentValue; + protected HoverChecker tooltipHoverChecker; + @SuppressWarnings("rawtypes") + protected List toolTip; + protected boolean enabled; + + @SuppressWarnings("rawtypes") + public GuiSelectString(GuiScreen parentScreen, IConfigElement configElement, int slotIndex, Map selectableValues, Object currentValue, boolean enabled) + { + this.mc = Minecraft.getMinecraft(); + this.parentScreen = parentScreen; + this.configElement = configElement; + this.slotIndex = slotIndex; + this.selectableValues = selectableValues; + this.beforeValue = currentValue; + this.currentValue = currentValue; + this.toolTip = new ArrayList(); + this.enabled = enabled; + String propName = I18n.format(configElement.getLanguageKey()); + String comment; + + comment = I18n.format(configElement.getLanguageKey() + ".tooltip", + "\n" + EnumChatFormatting.AQUA, configElement.getDefault(), configElement.getMinValue(), configElement.getMaxValue()); + + if (!comment.equals(configElement.getLanguageKey() + ".tooltip")) + toolTip = mc.fontRendererObj.listFormattedStringToWidth( + EnumChatFormatting.GREEN + propName + "\n" + EnumChatFormatting.YELLOW + comment, 300); + else if (configElement.getComment() != null && !configElement.getComment().trim().isEmpty()) + toolTip = mc.fontRendererObj.listFormattedStringToWidth( + EnumChatFormatting.GREEN + propName + "\n" + EnumChatFormatting.YELLOW + configElement.getComment(), 300); + else + toolTip = mc.fontRendererObj.listFormattedStringToWidth( + EnumChatFormatting.GREEN + propName + "\n" + EnumChatFormatting.RED + "No tooltip defined.", 300); + + if (parentScreen instanceof GuiConfig) + { + this.title = ((GuiConfig) parentScreen).title; + this.titleLine2 = ((GuiConfig) parentScreen).titleLine2; + this.titleLine3 = I18n.format(configElement.getLanguageKey()); + this.tooltipHoverChecker = new HoverChecker(28, 37, 0, parentScreen.width, 800); + + } + else + { + this.title = I18n.format(configElement.getLanguageKey()); + this.tooltipHoverChecker = new HoverChecker(8, 17, 0, parentScreen.width, 800); + } + } + + @SuppressWarnings("unchecked") + @Override + public void initGui() + { + this.entryList = new GuiSelectStringEntries(this, this.mc, this.configElement, this.selectableValues); + + int undoGlyphWidth = mc.fontRendererObj.getStringWidth(UNDO_CHAR) * 2; + int resetGlyphWidth = mc.fontRendererObj.getStringWidth(RESET_CHAR) * 2; + int doneWidth = Math.max(mc.fontRendererObj.getStringWidth(I18n.format("gui.done")) + 20, 100); + int undoWidth = mc.fontRendererObj.getStringWidth(" " + I18n.format("fml.configgui.tooltip.undoChanges")) + undoGlyphWidth + 20; + int resetWidth = mc.fontRendererObj.getStringWidth(" " + I18n.format("fml.configgui.tooltip.resetToDefault")) + resetGlyphWidth + 20; + int buttonWidthHalf = (doneWidth + 5 + undoWidth + 5 + resetWidth) / 2; + this.buttonList.add(btnDone = new GuiButtonExt(2000, this.width / 2 - buttonWidthHalf, this.height - 29, doneWidth, 20, I18n.format("gui.done"))); + this.buttonList.add(btnDefault = new GuiUnicodeGlyphButton(2001, this.width / 2 - buttonWidthHalf + doneWidth + 5 + undoWidth + 5, + this.height - 29, resetWidth, 20, " " + I18n.format("fml.configgui.tooltip.resetToDefault"), RESET_CHAR, 2.0F)); + this.buttonList.add(btnUndoChanges = new GuiUnicodeGlyphButton(2002, this.width / 2 - buttonWidthHalf + doneWidth + 5, + this.height - 29, undoWidth, 20, " " + I18n.format("fml.configgui.tooltip.undoChanges"), UNDO_CHAR, 2.0F)); + } + + @Override + protected void actionPerformed(GuiButton button) + { + if (button.id == 2000) + { + try + { + this.entryList.saveChanges(); + } + catch (Throwable e) + { + e.printStackTrace(); + } + this.mc.displayGuiScreen(this.parentScreen); + } + else if (button.id == 2001) + { + this.currentValue = configElement.getDefault(); + this.entryList = new GuiSelectStringEntries(this, this.mc, this.configElement, this.selectableValues); + } + else if (button.id == 2002) + { + this.currentValue = beforeValue; + this.entryList = new GuiSelectStringEntries(this, this.mc, this.configElement, this.selectableValues); + } + } + + public void handleMouseInput() throws IOException + { + super.handleMouseInput(); + this.entryList.handleMouseInput(); + } + + @Override + protected void mouseReleased(int x, int y, int mouseEvent) + { + if (mouseEvent != 0 || !this.entryList.mouseReleased(x, y, mouseEvent)) + { + super.mouseReleased(x, y, mouseEvent); + } + } + + @Override + public void drawScreen(int par1, int par2, float par3) + { + this.drawDefaultBackground(); + this.entryList.drawScreen(par1, par2, par3); + this.drawCenteredString(this.fontRendererObj, this.title, this.width / 2, 8, 16777215); + + if (this.titleLine2 != null) + this.drawCenteredString(this.fontRendererObj, this.titleLine2, this.width / 2, 18, 16777215); + + if (this.titleLine3 != null) + this.drawCenteredString(this.fontRendererObj, this.titleLine3, this.width / 2, 28, 16777215); + + this.btnDone.enabled = currentValue != null; + this.btnDefault.enabled = enabled && !this.entryList.isDefault(); + this.btnUndoChanges.enabled = enabled && this.entryList.isChanged(); + super.drawScreen(par1, par2, par3); + + if (this.tooltipHoverChecker != null && this.tooltipHoverChecker.checkHover(par1, par2)) + drawToolTip(this.toolTip, par1, par2); + } + + @SuppressWarnings("rawtypes") + public void drawToolTip(List stringList, int x, int y) + { + this.drawHoveringText(stringList, x, y); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiSelectStringEntries.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiSelectStringEntries.java new file mode 100644 index 000000000..1a799a99c --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiSelectStringEntries.java @@ -0,0 +1,198 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.config; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Map.Entry; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiListExtended; +import net.minecraftforge.fml.client.config.GuiConfigEntries.SelectValueEntry; + +/** + * This class implements the scrolling list functionality of the GuiSelectString screen. + * + * @author bspkrs + */ +public class GuiSelectStringEntries extends GuiListExtended +{ + public GuiSelectString owningScreen; + public Minecraft mc; + public IConfigElement configElement; + public List listEntries; + public final Map selectableValues; + public int selectedIndex = -1; + public int maxEntryWidth = 0; + + public GuiSelectStringEntries(GuiSelectString owningScreen, Minecraft mc, IConfigElement configElement, Map selectableValues) + { + super(mc, owningScreen.width, owningScreen.height, owningScreen.titleLine2 != null ? (owningScreen.titleLine3 != null ? 43 : 33) : 23, + owningScreen.height - 32, 11); + this.owningScreen = owningScreen; + this.mc = mc; + this.configElement = configElement; + this.selectableValues = selectableValues; + this.setShowSelectionBox(true); + + listEntries = new ArrayList(); + + int index = 0; + List> sortedList = new ArrayList>(selectableValues.entrySet()); + Collections.sort(sortedList, new EntryComparator()); + + for (Entry entry : sortedList) + { + listEntries.add(new ListEntry(this, entry)); + if (mc.fontRendererObj.getStringWidth(entry.getValue()) > maxEntryWidth) + maxEntryWidth = mc.fontRendererObj.getStringWidth(entry.getValue()); + + if (owningScreen.currentValue.equals(entry.getKey())) + { + this.selectedIndex = index; + } + + index++; + } + } + + public static class EntryComparator implements Comparator> + { + @Override + public int compare(Entry o1, Entry o2) + { + int compare = o1.getValue().toLowerCase(Locale.US).compareTo(o2.getValue().toLowerCase(Locale.US)); + + if (compare == 0) + compare = o1.getKey().toString().toLowerCase(Locale.US).compareTo(o2.getKey().toString().toLowerCase(Locale.US)); + + return compare; + } + } + + /** + * The element in the slot that was clicked, boolean for whether it was double clicked or not + */ + @Override + protected void elementClicked(int index, boolean doubleClick, int mouseX, int mouseY) + { + selectedIndex = index; + owningScreen.currentValue = listEntries.get(index).getValue(); + } + + /** + * Returns true if the element passed in is currently selected + */ + @Override + protected boolean isSelected(int index) + { + return index == selectedIndex; + } + + @Override + protected int getScrollBarX() + { + return width / 2 + this.maxEntryWidth / 2 + 5; + } + + /** + * Gets the width of the list + */ + @Override + public int getListWidth() + { + return maxEntryWidth + 5; + } + + @Override + public IGuiSelectStringListEntry getListEntry(int index) + { + return listEntries.get(index); + } + + @Override + protected int getSize() + { + return listEntries.size(); + } + + public boolean isChanged() + { + return owningScreen.beforeValue != null ? !owningScreen.beforeValue.equals(owningScreen.currentValue) : owningScreen.currentValue != null; + } + + public boolean isDefault() + { + return owningScreen.currentValue != null ? owningScreen.currentValue.equals(configElement.getDefault()) : configElement.getDefault() == null; + } + + public void saveChanges() + { + if (owningScreen.slotIndex != -1 && owningScreen.parentScreen != null + && owningScreen.parentScreen instanceof GuiConfig + && ((GuiConfig) owningScreen.parentScreen).entryList.getListEntry(owningScreen.slotIndex) instanceof SelectValueEntry) + { + SelectValueEntry entry = (SelectValueEntry) ((GuiConfig) owningScreen.parentScreen).entryList.getListEntry(owningScreen.slotIndex); + + entry.setValueFromChildScreen(owningScreen.currentValue); + } + else + configElement.set(owningScreen.currentValue); + } + + public static class ListEntry implements IGuiSelectStringListEntry + { + protected final GuiSelectStringEntries owningList; + protected final Entry value; + + public ListEntry(GuiSelectStringEntries owningList, Entry value) + { + this.owningList = owningList; + this.value = value; + } + + @Override + public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isSelected) + { + owningList.mc.fontRendererObj.drawString(value.getValue(), x + 1, y, slotIndex == owningList.selectedIndex ? 16777215 : 14737632); + } + + @Override + public boolean mousePressed(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) + { + return false; + } + + @Override + public void mouseReleased(int index, int x, int y, int mouseEvent, int relativeX, int relativeY) + {} + + @Override + public Object getValue() + { + return value.getKey(); + } + + @Override + public void setSelected(int p_178011_1_, int p_178011_2_, int p_178011_3_){} + } + + public static interface IGuiSelectStringListEntry extends GuiListExtended.IGuiListEntry + { + public Object getValue(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiSlider.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiSlider.java new file mode 100644 index 000000000..d35c5b597 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiSlider.java @@ -0,0 +1,204 @@ +package net.minecraftforge.fml.client.config; + +import net.minecraft.client.Minecraft; + +import org.lwjgl.opengl.GL11; + +/** + * This class is blatantly stolen from iChunUtils with permission. + * + * @author iChun + */ +public class GuiSlider extends GuiButtonExt +{ + /** The value of this slider control. */ + public double sliderValue = 1.0F; + + public String dispString = ""; + + /** Is this slider control being dragged. */ + public boolean dragging = false; + public boolean showDecimal = true; + + public double minValue = 0.0D; + public double maxValue = 5.0D; + public int precision = 1; + + public ISlider parent = null; + + public String suffix = ""; + + public boolean drawString = true; + + public GuiSlider(int id, int xPos, int yPos, int width, int height, String prefix, String suf, double minVal, double maxVal, double currentVal, boolean showDec, boolean drawStr) + { + this(id, xPos, yPos, width, height, prefix, suf, minVal, maxVal, currentVal, showDec, drawStr, null); + } + + public GuiSlider(int id, int xPos, int yPos, int width, int height, String prefix, String suf, double minVal, double maxVal, double currentVal, boolean showDec, boolean drawStr, ISlider par) + { + super(id, xPos, yPos, width, height, prefix); + minValue = minVal; + maxValue = maxVal; + sliderValue = (currentVal - minValue) / (maxValue - minValue); + dispString = prefix; + parent = par; + suffix = suf; + showDecimal = showDec; + String val; + + if (showDecimal) + { + val = Double.toString(sliderValue * (maxValue - minValue) + minValue); + precision = Math.min(val.substring(val.indexOf(".") + 1).length(), 4); + } + else + { + val = Integer.toString((int)Math.round(sliderValue * (maxValue - minValue) + minValue)); + precision = 0; + } + + displayString = dispString + val + suffix; + + drawString = drawStr; + if(!drawString) + { + displayString = ""; + } + } + + public GuiSlider(int id, int xPos, int yPos, String displayStr, double minVal, double maxVal, double currentVal, ISlider par) + { + this(id, xPos, yPos, 150, 20, displayStr, "", minVal, maxVal, currentVal, true, true, par); + } + + /** + * Returns 0 if the button is disabled, 1 if the mouse is NOT hovering over this button and 2 if it IS hovering over + * this button. + */ + @Override + public int getHoverState(boolean par1) + { + return 0; + } + + /** + * Fired when the mouse button is dragged. Equivalent of MouseListener.mouseDragged(MouseEvent e). + */ + @Override + protected void mouseDragged(Minecraft par1Minecraft, int par2, int par3) + { + if (this.visible) + { + if (this.dragging) + { + this.sliderValue = (par2 - (this.xPosition + 4)) / (float)(this.width - 8); + updateSlider(); + } + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.drawTexturedModalRect(this.xPosition + (int)(this.sliderValue * (float)(this.width - 8)), this.yPosition, 0, 66, 4, 20); + this.drawTexturedModalRect(this.xPosition + (int)(this.sliderValue * (float)(this.width - 8)) + 4, this.yPosition, 196, 66, 4, 20); + } + } + + /** + * Returns true if the mouse has been pressed on this control. Equivalent of MouseListener.mousePressed(MouseEvent + * e). + */ + @Override + public boolean mousePressed(Minecraft par1Minecraft, int par2, int par3) + { + if (super.mousePressed(par1Minecraft, par2, par3)) + { + this.sliderValue = (float)(par2 - (this.xPosition + 4)) / (float)(this.width - 8); + updateSlider(); + this.dragging = true; + return true; + } + else + { + return false; + } + } + + public void updateSlider() + { + if (this.sliderValue < 0.0F) + { + this.sliderValue = 0.0F; + } + + if (this.sliderValue > 1.0F) + { + this.sliderValue = 1.0F; + } + + String val; + + if (showDecimal) + { + val = Double.toString(sliderValue * (maxValue - minValue) + minValue); + + if (val.substring(val.indexOf(".") + 1).length() > precision) + { + val = val.substring(0, val.indexOf(".") + precision + 1); + + if (val.endsWith(".")) + { + val = val.substring(0, val.indexOf(".") + precision); + } + } + else + { + while (val.substring(val.indexOf(".") + 1).length() < precision) + { + val = val + "0"; + } + } + } + else + { + val = Integer.toString((int)Math.round(sliderValue * (maxValue - minValue) + minValue)); + } + + if(drawString) + { + displayString = dispString + val + suffix; + } + + if (parent != null) + { + parent.onChangeSliderValue(this); + } + } + + /** + * Fired when the mouse button is released. Equivalent of MouseListener.mouseReleased(MouseEvent e). + */ + @Override + public void mouseReleased(int par1, int par2) + { + this.dragging = false; + } + + public int getValueInt() + { + return (int)Math.round(sliderValue * (maxValue - minValue) + minValue); + } + + public double getValue() + { + return sliderValue * (maxValue - minValue) + minValue; + } + + public void setValue(double d) + { + this.sliderValue = (d - minValue) / (maxValue - minValue); + } + + public static interface ISlider + { + void onChangeSliderValue(GuiSlider slider); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUnicodeGlyphButton.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUnicodeGlyphButton.java new file mode 100644 index 000000000..404c20f72 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUnicodeGlyphButton.java @@ -0,0 +1,83 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.config; + +import net.minecraft.client.Minecraft; + +import org.lwjgl.opengl.GL11; + +/** + * This class provides a button that shows a string glyph at the beginning. The glyph can be scaled using the glyphScale parameter. + * + * @author bspkrs + */ +public class GuiUnicodeGlyphButton extends GuiButtonExt +{ + public String glyph; + public float glyphScale; + + public GuiUnicodeGlyphButton(int id, int xPos, int yPos, int width, int height, String displayString, String glyph, float glyphScale) + { + super(id, xPos, yPos, width, height, displayString); + this.glyph = glyph; + this.glyphScale = glyphScale; + } + + @Override + public void drawButton(Minecraft mc, int mouseX, int mouseY) + { + if (this.visible) + { + this.hovered = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height; + int k = this.getHoverState(this.hovered); + GuiUtils.drawContinuousTexturedBox(buttonTextures, this.xPosition, this.yPosition, 0, 46 + k * 20, this.width, this.height, 200, 20, 2, 3, 2, 2, this.zLevel); + this.mouseDragged(mc, mouseX, mouseY); + int color = 14737632; + + if (packedFGColour != 0) + { + color = packedFGColour; + } + else if (!this.enabled) + { + color = 10526880; + } + else if (this.hovered) + { + color = 16777120; + } + + String buttonText = this.displayString; + int glyphWidth = (int) (mc.fontRendererObj.getStringWidth(glyph) * glyphScale); + int strWidth = mc.fontRendererObj.getStringWidth(buttonText); + int elipsisWidth = mc.fontRendererObj.getStringWidth("..."); + int totalWidth = strWidth + glyphWidth; + + if (totalWidth > width - 6 && totalWidth > elipsisWidth) + buttonText = mc.fontRendererObj.trimStringToWidth(buttonText, width - 6 - elipsisWidth).trim() + "..."; + + strWidth = mc.fontRendererObj.getStringWidth(buttonText); + totalWidth = glyphWidth + strWidth; + + GL11.glPushMatrix(); + GL11.glScalef(glyphScale, glyphScale, 1.0F); + this.drawCenteredString(mc.fontRendererObj, glyph, + (int) (((this.xPosition + (this.width / 2) - (strWidth / 2)) / glyphScale) - (glyphWidth / (2 * glyphScale)) + 2), + (int) (((this.yPosition + ((this.height - 8) / glyphScale) / 2) - 1) / glyphScale), color); + GL11.glPopMatrix(); + + this.drawCenteredString(mc.fontRendererObj, buttonText, (int) (this.xPosition + (this.width / 2) + (glyphWidth / glyphScale)), + this.yPosition + (this.height - 8) / 2, color); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUtils.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUtils.java new file mode 100644 index 000000000..f874d4e55 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUtils.java @@ -0,0 +1,196 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.config; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.WorldRenderer; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +/** + * This class provides several methods and constants used by the Config GUI classes. + * + * @author bspkrs + */ +public class GuiUtils +{ + public static final String UNDO_CHAR = "\u21B6"; + public static final String RESET_CHAR = "\u2604"; + public static final String VALID = "\u2714"; + public static final String INVALID = "\u2715"; + + public static int[] colorCodes = new int[] { 0, 170, 43520, 43690, 11141120, 11141290, 16755200, 11184810, 5592405, 5592575, 5635925, 5636095, 16733525, 16733695, 16777045, 16777215, + 0, 42, 10752, 10794, 2752512, 2752554, 2763264, 2763306, 1381653, 1381695, 1392405, 1392447, 4134165, 4134207, 4144917, 4144959 }; + + public static int getColorCode(char c, boolean isLighter) + { + return colorCodes[isLighter ? "0123456789abcdef".indexOf(c) : "0123456789abcdef".indexOf(c) + 16]; + } + /** + * Draws a textured box of any size (smallest size is borderSize * 2 square) based on a fixed size textured box with continuous borders + * and filler. It is assumed that the desired texture ResourceLocation object has been bound using + * Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation). + * + * @param x x axis offset + * @param y y axis offset + * @param u bound resource location image x offset + * @param v bound resource location image y offset + * @param width the desired box width + * @param height the desired box height + * @param textureWidth the width of the box texture in the resource location image + * @param textureHeight the height of the box texture in the resource location image + * @param borderSize the size of the box's borders + * @param zLevel the zLevel to draw at + */ + public static void drawContinuousTexturedBox(int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight, + int borderSize, float zLevel) + { + drawContinuousTexturedBox(x, y, u, v, width, height, textureWidth, textureHeight, borderSize, borderSize, borderSize, borderSize, zLevel); + } + + /** + * Draws a textured box of any size (smallest size is borderSize * 2 square) based on a fixed size textured box with continuous borders + * and filler. The provided ResourceLocation object will be bound using + * Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation). + * + * @param res the ResourceLocation object that contains the desired image + * @param x x axis offset + * @param y y axis offset + * @param u bound resource location image x offset + * @param v bound resource location image y offset + * @param width the desired box width + * @param height the desired box height + * @param textureWidth the width of the box texture in the resource location image + * @param textureHeight the height of the box texture in the resource location image + * @param borderSize the size of the box's borders + * @param zLevel the zLevel to draw at + */ + public static void drawContinuousTexturedBox(ResourceLocation res, int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight, + int borderSize, float zLevel) + { + drawContinuousTexturedBox(res, x, y, u, v, width, height, textureWidth, textureHeight, borderSize, borderSize, borderSize, borderSize, zLevel); + } + + /** + * Draws a textured box of any size (smallest size is borderSize * 2 square) based on a fixed size textured box with continuous borders + * and filler. The provided ResourceLocation object will be bound using + * Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation). + * + * @param res the ResourceLocation object that contains the desired image + * @param x x axis offset + * @param y y axis offset + * @param u bound resource location image x offset + * @param v bound resource location image y offset + * @param width the desired box width + * @param height the desired box height + * @param textureWidth the width of the box texture in the resource location image + * @param textureHeight the height of the box texture in the resource location image + * @param topBorder the size of the box's top border + * @param bottomBorder the size of the box's bottom border + * @param leftBorder the size of the box's left border + * @param rightBorder the size of the box's right border + * @param zLevel the zLevel to draw at + */ + public static void drawContinuousTexturedBox(ResourceLocation res, int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight, + int topBorder, int bottomBorder, int leftBorder, int rightBorder, float zLevel) + { + Minecraft.getMinecraft().getTextureManager().bindTexture(res); + drawContinuousTexturedBox(x, y, u, v, width, height, textureWidth, textureHeight, topBorder, bottomBorder, leftBorder, rightBorder, zLevel); + } + + /** + * Draws a textured box of any size (smallest size is borderSize * 2 square) based on a fixed size textured box with continuous borders + * and filler. It is assumed that the desired texture ResourceLocation object has been bound using + * Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation). + * + * @param x x axis offset + * @param y y axis offset + * @param u bound resource location image x offset + * @param v bound resource location image y offset + * @param width the desired box width + * @param height the desired box height + * @param textureWidth the width of the box texture in the resource location image + * @param textureHeight the height of the box texture in the resource location image + * @param topBorder the size of the box's top border + * @param bottomBorder the size of the box's bottom border + * @param leftBorder the size of the box's left border + * @param rightBorder the size of the box's right border + * @param zLevel the zLevel to draw at + */ + public static void drawContinuousTexturedBox(int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight, + int topBorder, int bottomBorder, int leftBorder, int rightBorder, float zLevel) + { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + + int fillerWidth = textureWidth - leftBorder - rightBorder; + int fillerHeight = textureHeight - topBorder - bottomBorder; + int canvasWidth = width - leftBorder - rightBorder; + int canvasHeight = height - topBorder - bottomBorder; + int xPasses = canvasWidth / fillerWidth; + int remainderWidth = canvasWidth % fillerWidth; + int yPasses = canvasHeight / fillerHeight; + int remainderHeight = canvasHeight % fillerHeight; + + // Draw Border + // Top Left + drawTexturedModalRect(x, y, u, v, leftBorder, topBorder, zLevel); + // Top Right + drawTexturedModalRect(x + leftBorder + canvasWidth, y, u + leftBorder + fillerWidth, v, rightBorder, topBorder, zLevel); + // Bottom Left + drawTexturedModalRect(x, y + topBorder + canvasHeight, u, v + topBorder + fillerHeight, leftBorder, bottomBorder, zLevel); + // Bottom Right + drawTexturedModalRect(x + leftBorder + canvasWidth, y + topBorder + canvasHeight, u + leftBorder + fillerWidth, v + topBorder + fillerHeight, rightBorder, bottomBorder, zLevel); + + for (int i = 0; i < xPasses + (remainderWidth > 0 ? 1 : 0); i++) + { + // Top Border + drawTexturedModalRect(x + leftBorder + (i * fillerWidth), y, u + leftBorder, v, (i == xPasses ? remainderWidth : fillerWidth), topBorder, zLevel); + // Bottom Border + drawTexturedModalRect(x + leftBorder + (i * fillerWidth), y + topBorder + canvasHeight, u + leftBorder, v + topBorder + fillerHeight, (i == xPasses ? remainderWidth : fillerWidth), bottomBorder, zLevel); + + // Throw in some filler for good measure + for (int j = 0; j < yPasses + (remainderHeight > 0 ? 1 : 0); j++) + drawTexturedModalRect(x + leftBorder + (i * fillerWidth), y + topBorder + (j * fillerHeight), u + leftBorder, v + topBorder, (i == xPasses ? remainderWidth : fillerWidth), (j == yPasses ? remainderHeight : fillerHeight), zLevel); + } + + // Side Borders + for (int j = 0; j < yPasses + (remainderHeight > 0 ? 1 : 0); j++) + { + // Left Border + drawTexturedModalRect(x, y + topBorder + (j * fillerHeight), u, v + topBorder, leftBorder, (j == yPasses ? remainderHeight : fillerHeight), zLevel); + // Right Border + drawTexturedModalRect(x + leftBorder + canvasWidth, y + topBorder + (j * fillerHeight), u + leftBorder + fillerWidth, v + topBorder, rightBorder, (j == yPasses ? remainderHeight : fillerHeight), zLevel); + } + } + + public static void drawTexturedModalRect(int x, int y, int u, int v, int width, int height, float zLevel) + { + float var7 = 0.00390625F; + float var8 = 0.00390625F; + Tessellator tessellator = Tessellator.getInstance(); + WorldRenderer worldr = tessellator.getWorldRenderer(); + worldr.startDrawingQuads(); + worldr.addVertexWithUV((x + 0), (y + height), zLevel, ((u + 0) * var7), ((v + height) * var8)); + worldr.addVertexWithUV((x + width), (y + height), zLevel, ((u + width) * var7), ((v + height) * var8)); + worldr.addVertexWithUV((x + width), (y + 0), zLevel, ((u + width) * var7), ((v + 0) * var8)); + worldr.addVertexWithUV((x + 0), (y + 0), zLevel, ((u + 0) * var7), ((v + 0) * var8)); + tessellator.draw(); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/HoverChecker.java b/fml/src/main/java/net/minecraftforge/fml/client/config/HoverChecker.java new file mode 100644 index 000000000..101150ff3 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/HoverChecker.java @@ -0,0 +1,96 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.config; + +import net.minecraft.client.gui.GuiButton; + +/** + * This class implements an easy way to check if the mouse has hovered within a certain region of the screen for a given + * period of time. The region can be defined manually or by supplying a GuiButton object. + * + * @author bspkrs + */ +public class HoverChecker +{ + private int top, bottom, left, right, threshold; + private GuiButton button; + private long hoverStart; + + public HoverChecker(int top, int bottom, int left, int right, int threshold) + { + this.top = top; + this.bottom = bottom; + this.left = left; + this.right = right; + this.threshold = threshold; + this.hoverStart = -1; + } + + public HoverChecker(GuiButton button, int threshold) + { + this.button = button; + this.threshold = threshold; + } + + /** + * Call this method if the intended region has changed such as if the region must follow a scrolling list. + * It is not necessary to call this method if a GuiButton defines the hover region. + */ + public void updateBounds(int top, int bottom, int left, int right) + { + this.top = top; + this.bottom = bottom; + this.left = left; + this.right = right; + } + + /** + * Checks if the mouse is in the hover region. If the specified time period has elapsed the method returns true. + * The hover timer is reset if the mouse is not within the region. + */ + public boolean checkHover(int mouseX, int mouseY) + { + return checkHover(mouseX, mouseY, true); + } + + /** + * Checks if the mouse is in the hover region. If the specified time period has elapsed the method returns true. + * The hover timer is reset if the mouse is not within the region. + */ + public boolean checkHover(int mouseX, int mouseY, boolean canHover) + { + if (this.button != null) + { + this.top = button.yPosition; + this.bottom = button.yPosition + button.height; + this.left = button.xPosition; + this.right = button.xPosition + button.width; + canHover = canHover && button.visible; + } + + if (canHover && hoverStart == -1 && mouseY >= top && mouseY <= bottom && mouseX >= left && mouseX <= right) + hoverStart = System.currentTimeMillis(); + else if (!canHover || mouseY < top || mouseY > bottom || mouseX < left || mouseX > right) + resetHoverTimer(); + + return canHover && hoverStart != -1 && System.currentTimeMillis() - hoverStart >= threshold; + } + + /** + * Manually resets the hover timer. + */ + public void resetHoverTimer() + { + hoverStart = -1; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/IConfigElement.java b/fml/src/main/java/net/minecraftforge/fml/client/config/IConfigElement.java new file mode 100644 index 000000000..efeae9693 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/IConfigElement.java @@ -0,0 +1,170 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.config; + +import java.util.List; +import java.util.regex.Pattern; + +import net.minecraftforge.fml.client.config.GuiConfigEntries.IConfigEntry; +import net.minecraftforge.fml.client.config.GuiEditArrayEntries.IArrayEntry; + +/** + * This interface provides the information needed by GuiConfig and GuiConfigEntries to display config elements for editing. + * + * @author bspkrs + */ +public interface IConfigElement +{ + /** + * [Property, Category] Is this object a property object? + */ + public boolean isProperty(); + + /** + * This method returns a class that implements {@code IConfigEntry} or null. This class MUST + * provide a constructor with the following parameter types: {@code GuiConfig}, {@code GuiConfigEntries}, {@code IConfigElement} + */ + public Class getConfigEntryClass(); + + /** + * This method returns a class that implements {@code IArrayEntry}. This class MUST provide a constructor with the + * following parameter types: {@code GuiEditArray}, {@code GuiEditArrayEntries}, {@code IConfigElement}, {@code Object} + */ + public Class getArrayEntryClass(); + + /** + * [Property, Category] Gets the name of this object. + */ + public String getName(); + + /** + * [Category] Gets the qualified name of this object. This is typically only used for category objects. + */ + public String getQualifiedName(); + + /** + * [Property, Category] Gets a language key for localization of config GUI entry names. If the same key is specified with .tooltip + * appended to the end, that key will return a localized tooltip when the mouse hovers over the property label/category button. + */ + public String getLanguageKey(); + + /** + * [Property, Category] Gets the comment for this object. Used for the tooltip if getLanguageKey() + ".tooltip" is not defined in the + * .lang file. + */ + public String getComment(); + + /** + * [Category] Gets this category's child categories/properties. + */ + public List getChildElements(); + + /** + * [Property, Category] Gets the ConfigGuiType value corresponding to the type of this property object, or CONFIG_CATEGORY if this is a + * category object. + */ + public ConfigGuiType getType(); + + /** + * [Property] Is this property object a list? + */ + public boolean isList(); + + /** + * [Property] Does this list property have to remain a fixed length? + */ + public boolean isListLengthFixed(); + + /** + * [Property] Gets the max length of this list property, or -1 if the length is unlimited. + */ + public int getMaxListLength(); + + /** + * [Property] Is this property value equal to the default value? + */ + public boolean isDefault(); + + /** + * [Property] Gets this property's default value. If this element is an array, this method should return a String + * representation of that array using Arrays.toString() + */ + public Object getDefault(); + + /** + * [Property] Gets this property's default values. + */ + public Object[] getDefaults(); + + /** + * [Property] Sets this property's value to the default value. + */ + public void setToDefault(); + + /** + * [Property, Category] Whether or not this element is safe to modify while a world is running. For Categories return false if ANY properties + * in the category are modifiable while a world is running, true if all are not. + */ + public boolean requiresWorldRestart(); + + /** + * [Property, Category] Whether or not this element should be allowed to show on config GUIs. + */ + public boolean showInGui(); + + /** + * [Property, Category] Whether or not this element requires Minecraft to be restarted when changed. + */ + public boolean requiresMcRestart(); + + /** + * [Property] Gets this property value. + */ + public Object get(); + + /** + * [Property] Gets this property value as a list. Generally you should be sure of whether the property is a list before calling this. + */ + public Object[] getList(); + + /** + * [Property] Sets this property's value. + */ + public void set(Object value); + + /** + * [Property] Sets this property's value to the specified array. + */ + public void set(Object[] aVal); + + /** + * [Property] Gets a String array of valid values for this property. This is generally used for String properties to allow the user to + * select a value from a list of valid values. + */ + public String[] getValidValues(); + + /** + * [Property] Gets this property's minimum value. + */ + public Object getMinValue(); + + /** + * [Property] Gets this property's maximum value. + */ + public Object getMaxValue(); + + /** + * [Property] Gets a Pattern object used in String property input validation. + */ + public Pattern getValidationPattern(); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/event/ConfigChangedEvent.java b/fml/src/main/java/net/minecraftforge/fml/client/event/ConfigChangedEvent.java new file mode 100644 index 000000000..1eaaf8910 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/event/ConfigChangedEvent.java @@ -0,0 +1,85 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2014 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors (this class): + * bspkrs - implementation + */ + +package net.minecraftforge.fml.client.event; + +import net.minecraftforge.fml.common.eventhandler.Event; +import net.minecraftforge.fml.common.eventhandler.Event.HasResult; + +/** + * These events are posted from the GuiConfig screen when the done button is pressed. The events are only posted + * if the parent screen is not an instance of GuiConfig or if the configID field has been set for + * the GuiConfig screen. + * + * Listeners for this event should use OnConfigChanged or PostConfigChanged and check for a specific mod ID. + * For best results the listener should refresh any objects/fields that are set based on the mod's config + * and should serialize the modified config. + * + * @author bspkrs + */ +@HasResult +public class ConfigChangedEvent extends Event +{ + /** + * The Mod ID of the mod whose configuration just changed. + */ + public final String modID; + /** + * Whether or not a world is currently running. + */ + public final boolean isWorldRunning; + /** + * Will be set to true if any elements were changed that require a restart of Minecraft. + */ + public final boolean requiresMcRestart; + /** + * A String identifier for this ConfigChangedEvent. + */ + public final String configID; + + public ConfigChangedEvent(String modID, String configID, boolean isWorldRunning, boolean requiresMcRestart) + { + this.modID = modID; + this.configID = configID; + this.isWorldRunning = isWorldRunning; + this.requiresMcRestart = requiresMcRestart; + } + + /** + * This event is intended to be consumed by the mod whose config has been changed. It fires when the Done button + * has been clicked on a GuiConfig screen and the following conditions are met:
+ * - at least one config element has been changed
+ * - one of these 2 conditions are met:
+ * 1) the parent screen is null or is not an instance of GuiConfig
+ * 2) the configID field has been set to a non-null value for the GuiConfig screen

+ * Modders should check the modID field of the event to ensure they are only acting on their own config screen's event! + */ + public static class OnConfigChangedEvent extends ConfigChangedEvent + { + public OnConfigChangedEvent(String modID, String configID, boolean isWorldRunning, boolean requiresMcRestart) + { + super(modID, configID, isWorldRunning, requiresMcRestart); + } + } + + /** + * This event is provided for mods to consume if they want to be able to check if other mods' configs have been changed. + * This event only fires if the OnConfigChangedEvent result is not DENY. + */ + public static class PostConfigChangedEvent extends ConfigChangedEvent + { + public PostConfigChangedEvent(String modID, String configID, boolean isWorldRunning, boolean requiresMcRestart) + { + super(modID, configID, isWorldRunning, requiresMcRestart); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/registry/ClientRegistry.java b/fml/src/main/java/net/minecraftforge/fml/client/registry/ClientRegistry.java new file mode 100644 index 000000000..790d47149 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/registry/ClientRegistry.java @@ -0,0 +1,51 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.client.registry; + +import org.apache.commons.lang3.ArrayUtils; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.client.settings.KeyBinding; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.fml.common.registry.GameRegistry; + +public class ClientRegistry +{ + /** + * + * Utility method for registering a tile entity and it's renderer at once - generally you should register them separately + * + * @param tileEntityClass + * @param id + * @param specialRenderer + */ + public static void registerTileEntity(Class tileEntityClass, String id, TileEntitySpecialRenderer specialRenderer) + { + GameRegistry.registerTileEntity(tileEntityClass, id); + bindTileEntitySpecialRenderer(tileEntityClass, specialRenderer); + } + + @SuppressWarnings("unchecked") + public static void bindTileEntitySpecialRenderer(Class tileEntityClass, TileEntitySpecialRenderer specialRenderer) + { + TileEntityRendererDispatcher.instance.mapSpecialRenderers.put(tileEntityClass, specialRenderer); + specialRenderer.setRendererDispatcher(TileEntityRendererDispatcher.instance); + } + + public static void registerKeyBinding(KeyBinding key) + { + Minecraft.getMinecraft().gameSettings.keyBindings = ArrayUtils.add(Minecraft.getMinecraft().gameSettings.keyBindings, key); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/client/registry/RenderingRegistry.java b/fml/src/main/java/net/minecraftforge/fml/client/registry/RenderingRegistry.java new file mode 100644 index 000000000..607d7362f --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/client/registry/RenderingRegistry.java @@ -0,0 +1,62 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ +package net.minecraftforge.fml.client.registry; + +import java.util.List; +import java.util.Map; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; + +import com.google.common.collect.Lists; + +/** + * @author cpw + * + */ +public class RenderingRegistry +{ + private static final RenderingRegistry INSTANCE = new RenderingRegistry(); + + private List entityRenderers = Lists.newArrayList(); + + /** + * Register an entity rendering handler. This will, after mod initialization, be inserted into the main + * render map for entities + * + * @param entityClass + * @param renderer + */ + public static void registerEntityRenderingHandler(Class entityClass, Render renderer) + { + INSTANCE.entityRenderers.add(new EntityRendererInfo(entityClass, renderer)); + } + + private static class EntityRendererInfo + { + public EntityRendererInfo(Class target, Render renderer) + { + this.target = target; + this.renderer = renderer; + } + private Class target; + private Render renderer; + } + + public static void loadEntityRenderers(Map, Render> rendererMap) + { + for (EntityRendererInfo info : INSTANCE.entityRenderers) + { + rendererMap.put(info.target, info.renderer); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/API.java b/fml/src/main/java/net/minecraftforge/fml/common/API.java new file mode 100644 index 000000000..9bc8b0963 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/API.java @@ -0,0 +1,14 @@ +package net.minecraftforge.fml.common; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.PACKAGE) +public @interface API { + String owner(); + String provides(); + String apiVersion(); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/BukkitPluginRef.java b/fml/src/main/java/net/minecraftforge/fml/common/BukkitPluginRef.java new file mode 100644 index 000000000..ccebf4e6e --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/BukkitPluginRef.java @@ -0,0 +1,41 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Declare a variable to be populated by a Bukkit Plugin proxy instance if the bukkit coremod + * is available. It can only be applied to field typed as {@link BukkitProxy} + * Generally it should be used in conjunction with {@link Mod#bukkitPlugin()} specifying the + * plugin to load. + * + * @author cpw + * + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface BukkitPluginRef +{ + /** + * A reference (possibly version specific) to a Bukkit Plugin by name, using the name@versionbound + * specification. If this is a bukkit enabled environment the field annotated by this + * will be populated with a {@link BukkitProxy} instance if possible. This proxy will be gotten by + * reflectively calling the "getModProxy" method on the bukkit plugin instance. + * @return The name of the plugin which we will inject into this field + */ + String value(); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/BukkitProxy.java b/fml/src/main/java/net/minecraftforge/fml/common/BukkitProxy.java new file mode 100644 index 000000000..5af5f56fa --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/BukkitProxy.java @@ -0,0 +1,24 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +/** + * A marker interface for retrieving a proxy to a bukkit plugin. + * Fields associated with {@link BukkitPluginRef} annotations should + * declare this type and cast down if the target is available (not null) + * @author cpw + * + */ +public interface BukkitProxy +{ +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/CertificateHelper.java b/fml/src/main/java/net/minecraftforge/fml/common/CertificateHelper.java new file mode 100644 index 000000000..3e18b9c4a --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/CertificateHelper.java @@ -0,0 +1,68 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.nio.ByteBuffer; +import java.security.MessageDigest; +import java.security.cert.Certificate; + +public class CertificateHelper { + + private static final String HEXES = "0123456789abcdef"; + + public static String getFingerprint(Certificate certificate) + { + if (certificate == null) + { + return "NO VALID CERTIFICATE FOUND"; + } + try + { + MessageDigest md = MessageDigest.getInstance("SHA-1"); + byte[] der = certificate.getEncoded(); + md.update(der); + byte[] digest = md.digest(); + return hexify(digest); + } + catch (Exception e) + { + return null; + } + } + + public static String getFingerprint(ByteBuffer buffer) + { + try + { + MessageDigest digest = MessageDigest.getInstance("SHA-1"); + digest.update(buffer); + byte[] chksum = digest.digest(); + return hexify(chksum); + } + catch (Exception e) + { + return null; + } + } + + private static String hexify(byte[] chksum) + { + final StringBuilder hex = new StringBuilder( 2 * chksum.length ); + for ( final byte b : chksum ) { + hex.append(HEXES.charAt((b & 0xF0) >> 4)) + .append(HEXES.charAt((b & 0x0F))); + } + return hex.toString(); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/ClassNameUtils.java b/fml/src/main/java/net/minecraftforge/fml/common/ClassNameUtils.java new file mode 100644 index 000000000..2b85a2dc0 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/ClassNameUtils.java @@ -0,0 +1,10 @@ +package net.minecraftforge.fml.common; + +public class ClassNameUtils +{ + public static String shortName(Class clz) + { + String nm = clz.getName(); + return nm.indexOf('.') > -1 ? nm.substring(nm.lastIndexOf('.')+1) : nm; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/DummyModContainer.java b/fml/src/main/java/net/minecraftforge/fml/common/DummyModContainer.java new file mode 100644 index 000000000..88b171c36 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/DummyModContainer.java @@ -0,0 +1,209 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.io.File; +import java.security.cert.Certificate; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import net.minecraftforge.fml.common.versioning.ArtifactVersion; +import net.minecraftforge.fml.common.versioning.DefaultArtifactVersion; +import net.minecraftforge.fml.common.versioning.VersionRange; + +import com.google.common.collect.ImmutableList; +import com.google.common.eventbus.EventBus; + +public class DummyModContainer implements ModContainer +{ + private ModMetadata md; + private ArtifactVersion processedVersion; + private String label; + + public DummyModContainer(ModMetadata md) + { + this.md = md; + } + + public DummyModContainer(String label) + { + this.label = label; + } + public DummyModContainer() + { + } + + @Override + public void bindMetadata(MetadataCollection mc) + { + } + + @Override + public List getDependants() + { + return Collections.emptyList(); + } + + @Override + public List getDependencies() + { + return Collections.emptyList(); + } + + @Override + public Set getRequirements() + { + return Collections.emptySet(); + } + + @Override + public ModMetadata getMetadata() + { + return md; + } + + @Override + public Object getMod() + { + return null; + } + + @Override + public String getModId() + { + return md.modId; + } + + @Override + public String getName() + { + return md.name; + } + + @Override + public String getSortingRules() + { + return ""; + } + + @Override + public File getSource() + { + return null; + } + + @Override + public String getVersion() + { + return md.version; + } + + @Override + public boolean matches(Object mod) + { + return false; + } + + @Override + public void setEnabledState(boolean enabled) + { + } + + @Override + public boolean registerBus(EventBus bus, LoadController controller) + { + return false; + } + + @Override + public ArtifactVersion getProcessedVersion() + { + if (processedVersion == null) + { + processedVersion = new DefaultArtifactVersion(getModId(), getVersion()); + } + return processedVersion; + } + + @Override + public boolean isImmutable() + { + return false; + } + + @Override + public String getDisplayVersion() + { + return md.version; + } + @Override + public VersionRange acceptableMinecraftVersionRange() + { + return Loader.instance().getMinecraftModContainer().getStaticVersionRange(); + } + + @Override + public Certificate getSigningCertificate() + { + return null; + } + + @Override + public String toString() + { + return md != null ? getModId() : "Dummy Container ("+label+") @" + System.identityHashCode(this); + } + + @Override + public Map getCustomModProperties() + { + return EMPTY_PROPERTIES; + } + @Override + public Class getCustomResourcePackClass() + { + return null; + } + + @Override + public Map getSharedModDescriptor() + { + return null; + } + + @Override + public Disableable canBeDisabled() + { + return Disableable.NEVER; + } + + @Override + public String getGuiClassName() + { + return null; + } + + @Override + public List getOwnedPackages() + { + return ImmutableList.of(); + } + + @Override + public boolean shouldLoadInEnvironment() + { + return true; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/DuplicateModsFoundException.java b/fml/src/main/java/net/minecraftforge/fml/common/DuplicateModsFoundException.java new file mode 100644 index 000000000..e9e4f0af0 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/DuplicateModsFoundException.java @@ -0,0 +1,40 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.io.File; +import java.util.Map.Entry; + +import net.minecraftforge.fml.common.EnhancedRuntimeException.WrappedPrintStream; + +import com.google.common.collect.SetMultimap; + +public class DuplicateModsFoundException extends LoaderException { + private static final long serialVersionUID = 1L; + public SetMultimap dupes; + + public DuplicateModsFoundException(SetMultimap dupes) { + this.dupes = dupes; + } + + @Override + protected void printStackTrace(WrappedPrintStream stream) + { + stream.println("Duplicate Mods:"); + for (Entry e : dupes.entries()) + { + stream.println(String.format("\t%s : %s", e.getKey().getModId(), e.getValue().getAbsolutePath())); + } + stream.println(""); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/EnhancedRuntimeException.java b/fml/src/main/java/net/minecraftforge/fml/common/EnhancedRuntimeException.java new file mode 100644 index 000000000..a52ddf845 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/EnhancedRuntimeException.java @@ -0,0 +1,89 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2016 Forge Dev LLC. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + */ +package net.minecraftforge.fml.common; + +import java.io.PrintStream; +import java.io.PrintWriter; +import java.io.StringWriter; + +/** + * RuntimeException that gives subclasses the simple opportunity to write extra data when printing the stack trace. + * Mainly a helper class as printsStackTrace has multiple signatures. + */ +public abstract class EnhancedRuntimeException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public EnhancedRuntimeException() { super(); } + public EnhancedRuntimeException(String message) { super(message); } + public EnhancedRuntimeException(String message, Throwable cause) { super(message, cause); } + public EnhancedRuntimeException(Throwable cause) { super(cause); } + + @Override + public String getMessage() + { + StackTraceElement[] stack = Thread.currentThread().getStackTrace(); + if (stack.length > 2 && stack[2].getClassName().startsWith("org.apache.logging.log4j.")) + { + // This is a bit of a hack to force ourselves to be able to give a extended description when log4j prints this out. + // Sadly this text is displayed AFTER the initial exception line, and before the stack trace. But as the intention + // is to print this to the end user this is what we need to do. + final StringWriter buf = new StringWriter(); + + String msg = super.getMessage(); + if (msg != null) + buf.append(msg); + + buf.append('\n'); + this.printStackTrace(new WrappedPrintStream() + { + @Override + void println(String line) + { + buf.append(line).append('\n'); + } + }); + return buf.toString(); + } + return super.getMessage(); + } + + @Override + public void printStackTrace(final PrintWriter s) + { + printStackTrace(new WrappedPrintStream() + { + @Override + void println(String line) + { + s.println(line); + } + }); + super.printStackTrace(s); + } + public void printStackTrace(final PrintStream s) + { + printStackTrace(new WrappedPrintStream() + { + @Override + void println(String line) + { + s.println(line); + } + }); + super.printStackTrace(s); + } + + protected abstract void printStackTrace(WrappedPrintStream stream); + + public static abstract class WrappedPrintStream + { + abstract void println(String line); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java new file mode 100644 index 000000000..eabfb0b7a --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java @@ -0,0 +1,767 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.lang.ref.WeakReference; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Properties; +import java.util.Set; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.FutureTask; +import java.util.concurrent.TimeUnit; + +import net.minecraft.crash.CrashReport; +import net.minecraft.crash.CrashReportCategory; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTBase; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.EnumConnectionState; +import net.minecraft.network.INetHandler; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.handshake.client.C00Handshake; +import net.minecraft.network.login.server.S00PacketDisconnect; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.IThreadListener; +import net.minecraft.world.World; +import net.minecraft.world.storage.SaveHandler; +import net.minecraft.world.storage.WorldInfo; +import net.minecraftforge.fml.common.eventhandler.EventBus; +import net.minecraftforge.fml.common.gameevent.InputEvent; +import net.minecraftforge.fml.common.gameevent.PlayerEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.relauncher.CoreModManager; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.server.FMLServerHandler; + +import org.apache.commons.io.Charsets; +import org.apache.commons.io.IOUtils; +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.Logger; + +import com.google.common.base.Joiner; +import com.google.common.base.Strings; +import com.google.common.base.Throwables; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableList.Builder; +import com.google.common.collect.Lists; +import com.google.common.collect.MapMaker; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; + + +/** + * The main class for non-obfuscated hook handling code + * + * Anything that doesn't require obfuscated or client/server specific code should + * go in this handler + * + * It also contains a reference to the sided handler instance that is valid + * allowing for common code to access specific properties from the obfuscated world + * without a direct dependency + * + * @author cpw + * + */ +public class FMLCommonHandler +{ + /** + * The singleton + */ + private static final FMLCommonHandler INSTANCE = new FMLCommonHandler(); + /** + * The delegate for side specific data and functions + */ + private IFMLSidedHandler sidedDelegate; + + private Class forge; + private boolean noForge; + private List brandings; + private List brandingsNoMC; + private List crashCallables = Lists.newArrayList(Loader.instance().getCallableCrashInformation()); + private Set handlerSet = Sets.newSetFromMap(new MapMaker().weakKeys().makeMap()); + private WeakReference handlerToCheck; + private EventBus eventBus = new EventBus(); + private volatile CountDownLatch exitLatch = null; + + private FMLCommonHandler() + { + registerCrashCallable(new ICrashCallable() + { + public String call() throws Exception + { + StringBuilder builder = new StringBuilder(); + Joiner joiner = Joiner.on("\n "); + for(String coreMod : CoreModManager.getTransformers().keySet()) + { + builder.append("\n" + coreMod + "\n ").append(joiner.join(CoreModManager.getTransformers().get(coreMod))); + } + return builder.toString(); + } + + public String getLabel() + { + return "Loaded coremods (and transformers)"; + } + }); + } + /** + * The FML event bus. Subscribe here for FML related events + * + * @return the event bus + */ + public EventBus bus() + { + return eventBus; + } + + public void beginLoading(IFMLSidedHandler handler) + { + sidedDelegate = handler; + FMLLog.log("MinecraftForge", Level.INFO, "Attempting early MinecraftForge initialization"); + callForgeMethod("initialize"); + callForgeMethod("registerCrashCallable"); + FMLLog.log("MinecraftForge", Level.INFO, "Completed early MinecraftForge initialization"); + } + + /** + * @return the instance + */ + public static FMLCommonHandler instance() + { + return INSTANCE; + } + /** + * Find the container that associates with the supplied mod object + * @param mod + */ + public ModContainer findContainerFor(Object mod) + { + if (mod instanceof String) + { + return Loader.instance().getIndexedModList().get(mod); + } + else + { + return Loader.instance().getReversedModObjectList().get(mod); + } + } + /** + * Get the forge mod loader logging instance (goes to the forgemodloader log file) + * @return The log instance for the FML log file + */ + public Logger getFMLLogger() + { + return FMLLog.getLogger(); + } + + public Side getSide() + { + return sidedDelegate.getSide(); + } + + /** + * Return the effective side for the context in the game. This is dependent + * on thread analysis to try and determine whether the code is running in the + * server or not. Use at your own risk + */ + public Side getEffectiveSide() + { + Thread thr = Thread.currentThread(); + if (thr.getName().equals("Server thread") || thr.getName().startsWith("Netty Server IO")) + { + return Side.SERVER; + } + + return Side.CLIENT; + } + /** + * Raise an exception + */ + public void raiseException(Throwable exception, String message, boolean stopGame) + { + FMLLog.log(Level.ERROR, exception, "Something raised an exception. The message was '%s'. 'stopGame' is %b", message, stopGame); + if (stopGame) + { + getSidedDelegate().haltGame(message,exception); + } + } + + + private Class findMinecraftForge() + { + if (forge==null && !noForge) + { + try { + forge = Class.forName("net.minecraftforge.common.MinecraftForge"); + } catch (Exception ex) { + noForge = true; + } + } + return forge; + } + + private Object callForgeMethod(String method) + { + if (noForge) + return null; + try + { + return findMinecraftForge().getMethod(method).invoke(null); + } + catch (Exception e) + { + // No Forge installation + return null; + } + } + + public void computeBranding() + { + if (brandings == null) + { + Builder brd = ImmutableList.builder(); + brd.add(Loader.instance().getMCVersionString()); + brd.add(Loader.instance().getMCPVersionString()); + brd.add("FML v"+Loader.instance().getFMLVersionString()); + String forgeBranding = (String) callForgeMethod("getBrandingVersion"); + if (!Strings.isNullOrEmpty(forgeBranding)) + { + brd.add(forgeBranding); + } + if (sidedDelegate!=null) + { + brd.addAll(sidedDelegate.getAdditionalBrandingInformation()); + } + if (Loader.instance().getFMLBrandingProperties().containsKey("fmlbranding")) + { + brd.add(Loader.instance().getFMLBrandingProperties().get("fmlbranding")); + } + int tModCount = Loader.instance().getModList().size(); + int aModCount = Loader.instance().getActiveModList().size(); + brd.add(String.format("%d mod%s loaded, %d mod%s active", tModCount, tModCount!=1 ? "s" :"", aModCount, aModCount!=1 ? "s" :"" )); + brandings = brd.build(); + brandingsNoMC = brandings.subList(1, brandings.size()); + } + } + public List getBrandings(boolean includeMC) + { + if (brandings == null) + { + computeBranding(); + } + return includeMC ? ImmutableList.copyOf(brandings) : ImmutableList.copyOf(brandingsNoMC); + } + + public IFMLSidedHandler getSidedDelegate() + { + return sidedDelegate; + } + + public void onPostServerTick() + { + bus().post(new TickEvent.ServerTickEvent(Phase.END)); + } + + /** + * Every tick just after world and other ticks occur + */ + public void onPostWorldTick(World world) + { + bus().post(new TickEvent.WorldTickEvent(Side.SERVER, Phase.END, world)); + } + + public void onPreServerTick() + { + bus().post(new TickEvent.ServerTickEvent(Phase.START)); + } + + /** + * Every tick just before world and other ticks occur + */ + public void onPreWorldTick(World world) + { + bus().post(new TickEvent.WorldTickEvent(Side.SERVER, Phase.START, world)); + } + + public boolean handleServerAboutToStart(MinecraftServer server) + { + return Loader.instance().serverAboutToStart(server); + } + + public boolean handleServerStarting(MinecraftServer server) + { + return Loader.instance().serverStarting(server); + } + + public void handleServerStarted() + { + Loader.instance().serverStarted(); + sidedDelegate.allowLogins(); + } + + public void handleServerStopping() + { + Loader.instance().serverStopping(); + } + + public File getSavesDirectory() { + return sidedDelegate.getSavesDirectory(); + } + + public MinecraftServer getMinecraftServerInstance() + { + return sidedDelegate.getServer(); + } + + public void showGuiScreen(Object clientGuiElement) + { + sidedDelegate.showGuiScreen(clientGuiElement); + } + + public void queryUser(StartupQuery query) throws InterruptedException + { + sidedDelegate.queryUser(query); + } + + public void onServerStart(MinecraftServer dedicatedServer) + { + FMLServerHandler.instance(); + sidedDelegate.beginServerLoading(dedicatedServer); + } + + public void onServerStarted() + { + sidedDelegate.finishServerLoading(); + } + + + public void onPreClientTick() + { + bus().post(new TickEvent.ClientTickEvent(Phase.START)); + } + + public void onPostClientTick() + { + bus().post(new TickEvent.ClientTickEvent(Phase.END)); + } + + public void onRenderTickStart(float timer) + { + bus().post(new TickEvent.RenderTickEvent(Phase.START, timer)); + } + + public void onRenderTickEnd(float timer) + { + bus().post(new TickEvent.RenderTickEvent(Phase.END, timer)); + } + + public void onPlayerPreTick(EntityPlayer player) + { + bus().post(new TickEvent.PlayerTickEvent(Phase.START, player)); + } + + public void onPlayerPostTick(EntityPlayer player) + { + bus().post(new TickEvent.PlayerTickEvent(Phase.END, player)); + } + + public void registerCrashCallable(ICrashCallable callable) + { + crashCallables.add(callable); + } + + public void enhanceCrashReport(CrashReport crashReport, CrashReportCategory category) + { + for (ICrashCallable call: crashCallables) + { + category.addCrashSectionCallable(call.getLabel(), call); + } + } + + public void handleWorldDataSave(SaveHandler handler, WorldInfo worldInfo, NBTTagCompound tagCompound) + { + for (ModContainer mc : Loader.instance().getModList()) + { + if (mc instanceof InjectedModContainer) + { + WorldAccessContainer wac = ((InjectedModContainer)mc).getWrappedWorldAccessContainer(); + if (wac != null) + { + NBTTagCompound dataForWriting = wac.getDataForWriting(handler, worldInfo); + tagCompound.setTag(mc.getModId(), dataForWriting); + } + } + } + } + + public void handleWorldDataLoad(SaveHandler handler, WorldInfo worldInfo, NBTTagCompound tagCompound) + { + if (getEffectiveSide()!=Side.SERVER) + { + return; + } + if (handlerSet.contains(handler)) + { + return; + } + handlerSet.add(handler); + handlerToCheck = new WeakReference(handler); // for confirmBackupLevelDatUse + Map additionalProperties = Maps.newHashMap(); + worldInfo.setAdditionalProperties(additionalProperties); + for (ModContainer mc : Loader.instance().getModList()) + { + if (mc instanceof InjectedModContainer) + { + WorldAccessContainer wac = ((InjectedModContainer)mc).getWrappedWorldAccessContainer(); + if (wac != null) + { + wac.readData(handler, worldInfo, additionalProperties, tagCompound.getCompoundTag(mc.getModId())); + } + } + } + } + + public void confirmBackupLevelDatUse(SaveHandler handler) + { + if (handlerToCheck == null || handlerToCheck.get() != handler) { + // only run if the save has been initially loaded + handlerToCheck = null; + return; + } + + String text = "Forge Mod Loader detected that the backup level.dat is being used.\n\n" + + "This may happen due to a bug or corruption, continuing can damage\n" + + "your world beyond repair or lose data / progress.\n\n" + + "It's recommended to create a world backup before continuing."; + + boolean confirmed = StartupQuery.confirm(text); + if (!confirmed) StartupQuery.abort(); + } + + public boolean shouldServerBeKilledQuietly() + { + if (sidedDelegate == null) + { + return false; + } + return sidedDelegate.shouldServerShouldBeKilledQuietly(); + } + + /** + * Make handleExit() wait for handleServerStopped(). + * + * For internal use only! + */ + public void expectServerStopped() + { + exitLatch = new CountDownLatch(1); + } + + /** + * Delayed System.exit() until the server is actually stopped/done saving. + * + * For internal use only! + * + * @param retVal Exit code for System.exit() + */ + public void handleExit(int retVal) + { + CountDownLatch latch = exitLatch; + + if (latch != null) + { + try + { + FMLLog.info("Waiting for the server to terminate/save."); + if (!latch.await(10, TimeUnit.SECONDS)) + { + FMLLog.warning("The server didn't stop within 10 seconds, exiting anyway."); + } + else + { + FMLLog.info("Server terminated."); + } + } + catch (InterruptedException e) + { + FMLLog.warning("Interrupted wait, exiting."); + } + } + + System.exit(retVal); + } + + public void handleServerStopped() + { + sidedDelegate.serverStopped(); + MinecraftServer server = getMinecraftServerInstance(); + Loader.instance().serverStopped(); + // FORCE the internal server to stop: hello optifine workaround! + if (server!=null) ObfuscationReflectionHelper.setPrivateValue(MinecraftServer.class, server, false, "field_71316"+"_v", "u", "serverStopped"); + + // allow any pending exit to continue, clear exitLatch + CountDownLatch latch = exitLatch; + + if (latch != null) + { + latch.countDown(); + exitLatch = null; + } + } + + public String getModName() + { + List modNames = Lists.newArrayListWithExpectedSize(3); + modNames.add("fml"); + if (!noForge) + { + modNames.add("forge"); + } + + if (Loader.instance().getFMLBrandingProperties().containsKey("snooperbranding")) + { + modNames.add(Loader.instance().getFMLBrandingProperties().get("snooperbranding")); + } + return Joiner.on(',').join(modNames); + } + + public void addModToResourcePack(ModContainer container) + { + sidedDelegate.addModAsResource(container); + } + + public String getCurrentLanguage() + { + + return sidedDelegate.getCurrentLanguage(); + } + + public void bootstrap() + { + } + + public NetworkManager getClientToServerNetworkManager() + { + return sidedDelegate.getClientToServerNetworkManager(); + } + + public void fireMouseInput() + { + bus().post(new InputEvent.MouseInputEvent()); + } + + public void fireKeyInput() + { + bus().post(new InputEvent.KeyInputEvent()); + } + + public void firePlayerChangedDimensionEvent(EntityPlayer player, int fromDim, int toDim) + { + bus().post(new PlayerEvent.PlayerChangedDimensionEvent(player, fromDim, toDim)); + } + + public void firePlayerLoggedIn(EntityPlayer player) + { + bus().post(new PlayerEvent.PlayerLoggedInEvent(player)); + } + + public void firePlayerLoggedOut(EntityPlayer player) + { + bus().post(new PlayerEvent.PlayerLoggedOutEvent(player)); + } + + public void firePlayerRespawnEvent(EntityPlayer player) + { + bus().post(new PlayerEvent.PlayerRespawnEvent(player)); + } + + public void firePlayerItemPickupEvent(EntityPlayer player, EntityItem item) + { + bus().post(new PlayerEvent.ItemPickupEvent(player, item)); + } + + public void firePlayerCraftingEvent(EntityPlayer player, ItemStack crafted, IInventory craftMatrix) + { + bus().post(new PlayerEvent.ItemCraftedEvent(player, crafted, craftMatrix)); + } + + public void firePlayerSmeltedEvent(EntityPlayer player, ItemStack smelted) + { + bus().post(new PlayerEvent.ItemSmeltedEvent(player, smelted)); + } + + public INetHandler getClientPlayHandler() + { + return sidedDelegate.getClientPlayHandler(); + } + + public void fireNetRegistrationEvent(NetworkManager manager, Set channelSet, String channel, Side side) + { + sidedDelegate.fireNetRegistrationEvent(bus(), manager, channelSet, channel, side); + } + + public boolean shouldAllowPlayerLogins() + { + return sidedDelegate.shouldAllowPlayerLogins(); + } + + /** + * Process initial Handshake packet, kicks players from the server if they are connecting while we are starting up. + * Also verifies the client has the FML marker. + * + * @param packet Handshake Packet + * @param manager Network connection + * @return True to allow connection, otherwise False. + */ + public boolean handleServerHandshake(C00Handshake packet, NetworkManager manager) + { + if (!shouldAllowPlayerLogins()) + { + ChatComponentText text = new ChatComponentText("Server is still starting! Please wait before reconnecting."); + FMLLog.info("Disconnecting Player: " + text.getUnformattedText()); + manager.sendPacket(new S00PacketDisconnect(text)); + manager.closeChannel(text); + return false; + } + + if (packet.getRequestedState() == EnumConnectionState.LOGIN && (!NetworkRegistry.INSTANCE.isVanillaAccepted(Side.CLIENT) && !packet.hasFMLMarker())) + { + manager.setConnectionState(EnumConnectionState.LOGIN); + ChatComponentText text = new ChatComponentText("This server requires FML/Forge to be installed. Contact your server admin for more details."); + FMLLog.info("Disconnecting Player: " + text.getUnformattedText()); + manager.sendPacket(new S00PacketDisconnect(text)); + manager.closeChannel(text); + return false; + } + + manager.channel().attr(NetworkRegistry.FML_MARKER).set(packet.hasFMLMarker()); + return true; + } + + public void processWindowMessages() + { + if (sidedDelegate == null) return; + sidedDelegate.processWindowMessages(); + } + + /** + * Used to exit from java, with system exit preventions in place. Will be tidy about it and just log a message, + * unless debugging is enabled + * + * @param exitCode The exit code + * @param hardExit Perform a halt instead of an exit (only use when the world is unsavable) - read the warnings at {@link Runtime#halt(int)} + */ + public void exitJava(int exitCode, boolean hardExit) + { + FMLLog.log(Level.INFO, "Java has been asked to exit (code %d) by %s.", exitCode, Thread.currentThread().getStackTrace()[1]); + if (hardExit) + { + FMLLog.log(Level.INFO, "This is an abortive exit and could cause world corruption or other things"); + } + if (Boolean.parseBoolean(System.getProperty("fml.debugExit", "false"))) + { + FMLLog.log(Level.INFO, new Throwable(), "Exit trace"); + } + else + { + FMLLog.log(Level.INFO, "If this was an unexpected exit, use -Dfml.debugExit=true as a JVM argument to find out where it was called"); + } + if (hardExit) + { + Runtime.getRuntime().halt(exitCode); + } + else + { + Runtime.getRuntime().exit(exitCode); + } + } + + public IThreadListener getWorldThread(INetHandler net) + { + return sidedDelegate.getWorldThread(net); + } + + public static void callFuture(FutureTask task) + { + try + { + task.run(); + task.get(); // Forces the exception to be thrown if any + } + catch (InterruptedException e) + { + FMLLog.log(Level.FATAL, e, "Exception caught executing FutureTask: " + e.toString()); + } + catch (ExecutionException e) + { + FMLLog.log(Level.FATAL, e, "Exception caught executing FutureTask: " + e.toString()); + } + } + + /** + * Loads a lang file, first searching for a marker to enable the 'extended' format {escape charaters} + * If the marker is not found it simply returns and let the vanilla code load things. + * The Marker is 'PARSE_ESCAPES' by itself on a line starting with '#' as such: + * #PARSE_ESCAPES + * + * @param table The Map to load each key/value pair into. + * @param inputstream Input stream containing the lang file. + * @return A new InputStream that vanilla uses to load normal Lang files, Null if this is a 'enhanced' file and loading is done. + */ + public InputStream loadLanguage(Map table, InputStream inputstream) throws IOException + { + byte[] data = IOUtils.toByteArray(inputstream); + + boolean isEnhanced = false; + for (String line : IOUtils.readLines(new ByteArrayInputStream(data), Charsets.UTF_8)) + { + if (!line.isEmpty() && line.charAt(0) == '#') + { + line = line.substring(1).trim(); + if (line.equals("PARSE_ESCAPES")) + { + isEnhanced = true; + break; + } + } + } + + if (!isEnhanced) + return new ByteArrayInputStream(data); + + Properties props = new Properties(); + props.load(new InputStreamReader(new ByteArrayInputStream(data), Charsets.UTF_8)); + for (Entry e : props.entrySet()) + { + table.put((String)e.getKey(), (String)e.getValue()); + } + props.clear(); + return null; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/FMLContainer.java b/fml/src/main/java/net/minecraftforge/fml/common/FMLContainer.java new file mode 100644 index 000000000..bf2fd345a --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/FMLContainer.java @@ -0,0 +1,375 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.io.File; +import java.security.cert.Certificate; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import net.minecraft.nbt.NBTBase; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagIntArray; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.world.storage.SaveHandler; +import net.minecraft.world.storage.WorldInfo; +import net.minecraftforge.fml.client.FMLFileResourcePack; +import net.minecraftforge.fml.client.FMLFolderResourcePack; +import net.minecraftforge.fml.common.asm.FMLSanityChecker; +import net.minecraftforge.fml.common.event.FMLConstructionEvent; +import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.network.NetworkCheckHandler; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.internal.FMLNetworkHandler; +import net.minecraftforge.fml.common.registry.GameData; +import net.minecraftforge.fml.common.registry.VillagerRegistry; +import net.minecraftforge.fml.relauncher.Side; + +import org.apache.logging.log4j.Level; + +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.common.eventbus.EventBus; +import com.google.common.eventbus.Subscribe; + +/** + * @author cpw + * + */ +public class FMLContainer extends DummyModContainer implements WorldAccessContainer +{ + public FMLContainer() + { + super(new ModMetadata()); + ModMetadata meta = getMetadata(); + meta.modId="FML"; + meta.name="Forge Mod Loader"; + meta.version=Loader.instance().getFMLVersionString(); + meta.credits="Made possible with help from many people"; + meta.authorList=Arrays.asList("cpw", "LexManos", "Player"); + meta.description="The Forge Mod Loader provides the ability for systems to load mods " + + "from the file system. It also provides key capabilities for mods to be able " + + "to cooperate and provide a good modding environment. "; + meta.url="https://github.com/MinecraftForge/FML/wiki"; + meta.updateUrl="https://github.com/MinecraftForge/FML/wiki"; + meta.screenshots=new String[0]; + meta.logoFile=""; + } + + @Override + public boolean registerBus(EventBus bus, LoadController controller) + { + bus.register(this); + return true; + } + + @Subscribe + public void modConstruction(FMLConstructionEvent evt) + { + NetworkRegistry.INSTANCE.register(this, this.getClass(), null, evt.getASMHarvestedData()); + FMLNetworkHandler.registerChannel(this, evt.getSide()); + } + + @Subscribe + public void modPreinitialization(FMLPreInitializationEvent evt) + { + // Initialize the villager registry + VillagerRegistry.instance(); + } + + @NetworkCheckHandler + public boolean checkModLists(Map modList, Side side) + { + return Loader.instance().checkRemoteModList(modList,side); + } + @Override + public NBTTagCompound getDataForWriting(SaveHandler handler, WorldInfo info) + { + NBTTagCompound fmlData = new NBTTagCompound(); + NBTTagList modList = new NBTTagList(); + for (ModContainer mc : Loader.instance().getActiveModList()) + { + NBTTagCompound mod = new NBTTagCompound(); + mod.setString("ModId", mc.getModId()); + mod.setString("ModVersion", mc.getVersion()); + modList.appendTag(mod); + } + fmlData.setTag("ModList", modList); + + NBTTagCompound registries = new NBTTagCompound(); + fmlData.setTag("Registries", registries); + FMLLog.fine("Gathering id map for writing to world save %s", info.getWorldName()); + GameData.GameDataSnapshot dataSnapshot = GameData.takeSnapshot(); + + for (Map.Entry e : dataSnapshot.entries.entrySet()) + { + NBTTagCompound data = new NBTTagCompound(); + registries.setTag(e.getKey(), data); + + NBTTagList ids = new NBTTagList(); + for (Entry item : e.getValue().ids.entrySet()) + { + NBTTagCompound tag = new NBTTagCompound(); + tag.setString("K", item.getKey()); + tag.setInteger("V", item.getValue()); + ids.appendTag(tag); + } + data.setTag("ids", ids); + + NBTTagList aliases = new NBTTagList(); + for (Entry entry : e.getValue().aliases.entrySet()) + { + NBTTagCompound tag = new NBTTagCompound(); + tag.setString("K", entry.getKey()); + tag.setString("V", entry.getValue()); + aliases.appendTag(tag); + } + data.setTag("aliases", aliases); + + NBTTagList subs = new NBTTagList(); + for (String entry : e.getValue().substitutions) + { + NBTTagCompound tag = new NBTTagCompound(); + tag.setString("K", entry); + subs.appendTag(tag); + } + data.setTag("substitutions", subs); + + int[] blocked = new int[e.getValue().blocked.size()]; + int idx = 0; + for (Integer i : e.getValue().blocked) + { + blocked[idx++] = i; + } + data.setIntArray("blocked", blocked); + } + return fmlData; + } + + @Override + public void readData(SaveHandler handler, WorldInfo info, Map propertyMap, NBTTagCompound tag) + { + if (tag.hasKey("ModList")) + { + NBTTagList modList = tag.getTagList("ModList", (byte)10); + for (int i = 0; i < modList.tagCount(); i++) + { + NBTTagCompound mod = modList.getCompoundTagAt(i); + String modId = mod.getString("ModId"); + String modVersion = mod.getString("ModVersion"); + ModContainer container = Loader.instance().getIndexedModList().get(modId); + if (container == null) + { + FMLLog.log("fml.ModTracker", Level.ERROR, "This world was saved with mod %s which appears to be missing, things may not work well", modId); + continue; + } + if (!modVersion.equals(container.getVersion())) + { + FMLLog.log("fml.ModTracker", Level.INFO, "This world was saved with mod %s version %s and it is now at version %s, things may not work well", modId, modVersion, container.getVersion()); + } + } + } + + List failedElements = null; + + if (tag.hasKey("ModItemData")) // Pre 1.7 + { + GameData.GameDataSnapshot snapshot = new GameData.GameDataSnapshot(); + GameData.GameDataSnapshot.Entry items = new GameData.GameDataSnapshot.Entry(); + snapshot.entries.put("fml:blocks", new GameData.GameDataSnapshot.Entry()); + snapshot.entries.put("fml:items", items); + + FMLLog.info("Attempting to convert old world data to new system. This may be trouble!"); + NBTTagList modList = tag.getTagList("ModItemData", (byte)10); + for (int i = 0; i < modList.tagCount(); i++) + { + NBTTagCompound data = modList.getCompoundTagAt(i); + String forcedModId = data.hasKey("ForcedModId") ? data.getString("ForcedModId") : null; + String forcedName = data.hasKey("ForcedName") ? data.getString("ForcedName") : null; + if (forcedName == null) + { + FMLLog.warning("Found unlabelled item in world save, this may cause problems. The item type %s:%d will not be present", data.getString("ItemType"), data.getInteger("ordinal")); + } + else + { + // all entries are Items, blocks were only saved through their ItemBlock + String itemLabel = String.format("%s:%s", forcedModId != null ? forcedModId : data.getString("ModId"), forcedName); + items.ids.put(itemLabel, data.getInteger("ItemId")); + } + } + failedElements = GameData.injectSnapshot(snapshot, true, true); + + } + else if (tag.hasKey("ItemData")) // 1.7 + { + GameData.GameDataSnapshot snapshot = new GameData.GameDataSnapshot(); + GameData.GameDataSnapshot.Entry blocks = new GameData.GameDataSnapshot.Entry(); + GameData.GameDataSnapshot.Entry items = new GameData.GameDataSnapshot.Entry(); + snapshot.entries.put("fml:blocks", blocks); + snapshot.entries.put("fml:items", items); + + NBTTagList list = tag.getTagList("ItemData", 10); + for (int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound e = list.getCompoundTagAt(i); + String name = e.getString("K"); + + if (name.charAt(0) == '\u0001') + blocks.ids.put(name.substring(1), e.getInteger("V")); + else if (name.charAt(0) == '\u0002') + items.ids.put(name.substring(1), e.getInteger("V")); + } + + Set blockedIds = new HashSet(); + if (!tag.hasKey("BlockedItemIds")) // no blocked id info -> old 1.7 save + { + // old early 1.7 save potentially affected by the registry mapping bug + // fix the ids the best we can... + GameData.fixBrokenIds(blocks, items, blockedIds); + } + else + { + for (int id : tag.getIntArray("BlockedItemIds")) + { + blockedIds.add(id); + } + } + blocks.blocked.addAll(blockedIds); + items.blocked.addAll(blockedIds); + + list = tag.getTagList("BlockAliases", 10); + for (int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound dataTag = list.getCompoundTagAt(i); + blocks.aliases.put(dataTag.getString("K"), dataTag.getString("V")); + } + + if (tag.hasKey("BlockSubstitutions", 9)) + { + list = tag.getTagList("BlockSubstitutions", 10); + for (int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound dataTag = list.getCompoundTagAt(i); + blocks.substitutions.add(dataTag.getString("K")); + } + } + + list = tag.getTagList("ItemAliases", 10); + for (int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound dataTag = list.getCompoundTagAt(i); + items.aliases.put(dataTag.getString("K"), dataTag.getString("V")); + } + + if (tag.hasKey("ItemSubstitutions", 9)) + { + list = tag.getTagList("ItemSubstitutions", 10); + for (int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound dataTag = list.getCompoundTagAt(i); + items.substitutions.add(dataTag.getString("K")); + } + } + failedElements = GameData.injectSnapshot(snapshot, true, true); + } + else if (tag.hasKey("Registries")) // 1.8, genericed out the 'registries' list + { + GameData.GameDataSnapshot snapshot = new GameData.GameDataSnapshot(); + NBTTagCompound regs = tag.getCompoundTag("Registries"); + for (String key : (Set)regs.getKeySet()) + { + GameData.GameDataSnapshot.Entry entry = new GameData.GameDataSnapshot.Entry(); + snapshot.entries.put(key, entry); + + NBTTagList list = regs.getCompoundTag(key).getTagList("ids", 10); + for (int x = 0; x < list.tagCount(); x++) + { + NBTTagCompound e = list.getCompoundTagAt(x); + entry.ids.put(e.getString("K"), e.getInteger("V")); + } + + list = regs.getCompoundTag(key).getTagList("aliases", 10); + for (int x = 0; x < list.tagCount(); x++) + { + NBTTagCompound e = list.getCompoundTagAt(x); + entry.aliases.put(e.getString("K"), e.getString("V")); + } + + list = regs.getCompoundTag(key).getTagList("substitutions", 10); + for (int x = 0; x < list.tagCount(); x++) + { + NBTTagCompound e = list.getCompoundTagAt(x); + entry.substitutions.add(e.getString("K")); + } + + int[] blocked = regs.getCompoundTag(key).getIntArray("blocked"); + for (int i : blocked) + { + entry.blocked.add(i); + } + } + failedElements = GameData.injectSnapshot(snapshot, true, true); + } + + if (failedElements != null && !failedElements.isEmpty()) + { + String text = "Forge Mod Loader could not load this save.\n\n" + + "There are "+failedElements.size()+" unassigned blocks and items in this save.\n" + + "You will not be able to load until they are present again.\n\n" + + "Missing Blocks/Items:\n"; + + for (String s : failedElements) text += s + "\n"; + + StartupQuery.notify(text); + StartupQuery.abort(); + } + } + + + @Override + public Certificate getSigningCertificate() + { + Certificate[] certificates = getClass().getProtectionDomain().getCodeSource().getCertificates(); + return certificates != null ? certificates[0] : null; + } + + @Override + public File getSource() + { + return FMLSanityChecker.fmlLocation; + } + + @Override + public Class getCustomResourcePackClass() + { + return getSource().isDirectory() ? FMLFolderResourcePack.class : FMLFileResourcePack.class; + } + + @Override + public String getGuiClassName() + { + return "net.minecraftforge.fml.client.FMLConfigGuiFactory"; + } + + @Override + public Object getMod() + { + return this; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/FMLContainerHolder.java b/fml/src/main/java/net/minecraftforge/fml/common/FMLContainerHolder.java new file mode 100644 index 000000000..73f45a912 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/FMLContainerHolder.java @@ -0,0 +1,6 @@ +package net.minecraftforge.fml.common; + +public interface FMLContainerHolder +{ + ModContainer getFMLContainer(); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/FMLLog.java b/fml/src/main/java/net/minecraftforge/fml/common/FMLLog.java new file mode 100644 index 000000000..5da139bae --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/FMLLog.java @@ -0,0 +1,84 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.Logger; + +@SuppressWarnings("static-access") +public class FMLLog +{ + private static net.minecraftforge.fml.relauncher.FMLRelaunchLog coreLog = net.minecraftforge.fml.relauncher.FMLRelaunchLog.log; + + public static void log(String targetLog, Level level, String format, Object... data) + { + coreLog.log(targetLog, level, format, data); + } + + public static void log(Level level, String format, Object... data) + { + coreLog.log(level, format, data); + } + + public static void log(String targetLog, Level level, Throwable ex, String format, Object... data) + { + coreLog.log(targetLog, level, ex, format, data); + } + + public static void log(Level level, Throwable ex, String format, Object... data) + { + coreLog.log(level, ex, format, data); + } + + public static void severe(String format, Object... data) + { + log(Level.ERROR, format, data); + } + + public static void bigWarning(String format, Object... data) + { + StackTraceElement[] trace = Thread.currentThread().getStackTrace(); + log(Level.WARN, "****************************************"); + log(Level.WARN, "* "+format, data); + for (int i = 2; i < 8 && i < trace.length; i++) + { + log(Level.WARN, "* at %s%s", trace[i].toString(), i == 7 ? "..." : ""); + } + log(Level.WARN, "****************************************"); + } + + public static void warning(String format, Object... data) + { + log(Level.WARN, format, data); + } + + public static void info(String format, Object... data) + { + log(Level.INFO, format, data); + } + + public static void fine(String format, Object... data) + { + log(Level.DEBUG, format, data); + } + + public static void finer(String format, Object... data) + { + log(Level.TRACE, format, data); + } + + public static Logger getLogger() + { + return coreLog.getLogger(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/FMLModContainer.java b/fml/src/main/java/net/minecraftforge/fml/common/FMLModContainer.java new file mode 100644 index 000000000..60ae2c6b2 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/FMLModContainer.java @@ -0,0 +1,666 @@ +/* + * The FML Forge Mod Loader suite. Copyright (C) 2012 cpw + * + * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +package net.minecraftforge.fml.common; + +import java.io.File; +import java.io.FileInputStream; +import java.lang.annotation.Annotation; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.security.cert.Certificate; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; + +import net.minecraftforge.fml.common.Mod.Instance; +import net.minecraftforge.fml.common.Mod.Metadata; +import net.minecraftforge.fml.common.asm.transformers.BlamingTransformer; +import net.minecraftforge.fml.common.discovery.ASMDataTable; +import net.minecraftforge.fml.common.discovery.ModCandidate; +import net.minecraftforge.fml.common.discovery.ASMDataTable.ASMData; +import net.minecraftforge.fml.common.event.FMLConstructionEvent; +import net.minecraftforge.fml.common.event.FMLEvent; +import net.minecraftforge.fml.common.event.FMLFingerprintViolationEvent; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.versioning.ArtifactVersion; +import net.minecraftforge.fml.common.versioning.DefaultArtifactVersion; +import net.minecraftforge.fml.common.versioning.VersionParser; +import net.minecraftforge.fml.common.versioning.VersionRange; +import net.minecraftforge.fml.relauncher.Side; + +import org.apache.logging.log4j.Level; + +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; + +import com.google.common.base.Function; +import com.google.common.base.Strings; +import com.google.common.base.Throwables; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableList.Builder; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.SetMultimap; +import com.google.common.collect.Sets; +import com.google.common.eventbus.EventBus; +import com.google.common.eventbus.Subscribe; + +public class FMLModContainer implements ModContainer +{ + private Object modInstance; + private File source; + private ModMetadata modMetadata; + private String className; + private Map descriptor; + private boolean enabled = true; + private String internalVersion; + private boolean overridesMetadata; + private EventBus eventBus; + private LoadController controller; + private DefaultArtifactVersion processedVersion; + + private String annotationDependencies; + private VersionRange minecraftAccepted; + private boolean fingerprintNotPresent; + private Set sourceFingerprints; + private Certificate certificate; + private String modLanguage; + private ILanguageAdapter languageAdapter; + private Disableable disableability; + private ListMultimap,Method> eventMethods; + private Map customModProperties; + private ModCandidate candidate; + + public FMLModContainer(String className, ModCandidate container, Map modDescriptor) + { + this.className = className; + this.source = container.getModContainer(); + this.candidate = container; + this.descriptor = modDescriptor; + this.eventMethods = ArrayListMultimap.create(); + + this.modLanguage = (String) modDescriptor.get("modLanguage"); + String languageAdapterType = (String)modDescriptor.get("modLanguageAdapter"); + if (Strings.isNullOrEmpty(languageAdapterType)) + { + this.languageAdapter = "scala".equals(modLanguage) ? new ILanguageAdapter.ScalaAdapter() : new ILanguageAdapter.JavaAdapter(); + } + else + { + try + { + this.languageAdapter = (ILanguageAdapter)Class.forName(languageAdapterType, true, Loader.instance().getModClassLoader()).newInstance(); + FMLLog.finer("Using custom language adapter %s (type %s) for %s (modid %s)", this.languageAdapter, languageAdapterType, this.className, getModId()); + } + catch (Exception ex) + { + FMLLog.log(Level.ERROR, ex, "Error constructing custom mod language adapter %s (referenced by %s) (modid: %s)", languageAdapterType, this.className, getModId()); + throw new LoaderException(ex); + } + } + } + + private ILanguageAdapter getLanguageAdapter() + { + return languageAdapter; + } + @Override + public String getModId() + { + return (String) descriptor.get("modid"); + } + + @Override + public String getName() + { + return modMetadata.name; + } + + @Override + public String getVersion() + { + return internalVersion; + } + + @Override + public File getSource() + { + return source; + } + + @Override + public ModMetadata getMetadata() + { + return modMetadata; + } + + @Override + public void bindMetadata(MetadataCollection mc) + { + modMetadata = mc.getMetadataForId(getModId(), descriptor); + + if (descriptor.containsKey("useMetadata")) + { + overridesMetadata = !((Boolean)descriptor.get("useMetadata")).booleanValue(); + } + + if (overridesMetadata || !modMetadata.useDependencyInformation) + { + Set requirements = Sets.newHashSet(); + List dependencies = Lists.newArrayList(); + List dependants = Lists.newArrayList(); + annotationDependencies = (String) descriptor.get("dependencies"); + Loader.instance().computeDependencies(annotationDependencies, requirements, dependencies, dependants); + dependants.addAll(Loader.instance().getInjectedBefore(getModId())); + dependencies.addAll(Loader.instance().getInjectedAfter(getModId())); + modMetadata.requiredMods = requirements; + modMetadata.dependencies = dependencies; + modMetadata.dependants = dependants; + FMLLog.log(getModId(), Level.TRACE, "Parsed dependency info : %s %s %s", requirements, dependencies, dependants); + } + else + { + FMLLog.log(getModId(), Level.TRACE, "Using mcmod dependency info : %s %s %s", modMetadata.requiredMods, modMetadata.dependencies, modMetadata.dependants); + } + if (Strings.isNullOrEmpty(modMetadata.name)) + { + FMLLog.log(getModId(), Level.INFO,"Mod %s is missing the required element 'name'. Substituting %s", getModId(), getModId()); + modMetadata.name = getModId(); + } + internalVersion = (String) descriptor.get("version"); + if (Strings.isNullOrEmpty(internalVersion)) + { + Properties versionProps = searchForVersionProperties(); + if (versionProps != null) + { + internalVersion = versionProps.getProperty(getModId()+".version"); + FMLLog.log(getModId(), Level.DEBUG, "Found version %s for mod %s in version.properties, using", internalVersion, getModId()); + } + + } + if (Strings.isNullOrEmpty(internalVersion) && !Strings.isNullOrEmpty(modMetadata.version)) + { + FMLLog.log(getModId(), Level.WARN, "Mod %s is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version %s", getModId(), modMetadata.version); + internalVersion = modMetadata.version; + } + if (Strings.isNullOrEmpty(internalVersion)) + { + FMLLog.log(getModId(), Level.WARN, "Mod %s is missing the required element 'version' and no fallback can be found. Substituting '1.0'.", getModId()); + modMetadata.version = internalVersion = "1.0"; + } + + String mcVersionString = (String) descriptor.get("acceptedMinecraftVersions"); + if (!Strings.isNullOrEmpty(mcVersionString)) + { + minecraftAccepted = VersionParser.parseRange(mcVersionString); + } + else + { + minecraftAccepted = Loader.instance().getMinecraftModContainer().getStaticVersionRange(); + } + } + + public Properties searchForVersionProperties() + { + try + { + FMLLog.log(getModId(), Level.DEBUG,"Attempting to load the file version.properties from %s to locate a version number for %s", getSource().getName(), getModId()); + Properties version = null; + if (getSource().isFile()) + { + ZipFile source = new ZipFile(getSource()); + ZipEntry versionFile = source.getEntry("version.properties"); + if (versionFile!=null) + { + version = new Properties(); + version.load(source.getInputStream(versionFile)); + } + source.close(); + } + else if (getSource().isDirectory()) + { + File propsFile = new File(getSource(),"version.properties"); + if (propsFile.exists() && propsFile.isFile()) + { + version = new Properties(); + FileInputStream fis = new FileInputStream(propsFile); + version.load(fis); + fis.close(); + } + } + return version; + } + catch (Exception e) + { + Throwables.propagateIfPossible(e); + FMLLog.log(getModId(), Level.TRACE, "Failed to find a usable version.properties file"); + return null; + } + } + + @Override + public void setEnabledState(boolean enabled) + { + this.enabled = enabled; + } + + @Override + public Set getRequirements() + { + return modMetadata.requiredMods; + } + + @Override + public List getDependencies() + { + return modMetadata.dependencies; + } + + @Override + public List getDependants() + { + return modMetadata.dependants; + } + + @Override + public String getSortingRules() + { + return ((overridesMetadata || !modMetadata.useDependencyInformation) ? Strings.nullToEmpty(annotationDependencies) : modMetadata.printableSortingRules()); + } + + @Override + public boolean matches(Object mod) + { + return mod == modInstance; + } + + @Override + public Object getMod() + { + return modInstance; + } + + @Override + public boolean registerBus(EventBus bus, LoadController controller) + { + if (this.enabled) + { + FMLLog.log(getModId(), Level.DEBUG, "Enabling mod %s", getModId()); + this.eventBus = bus; + this.controller = controller; + eventBus.register(this); + return true; + } + else + { + return false; + } + } + + @SuppressWarnings("unchecked") + private Method gatherAnnotations(Class clazz) throws Exception + { + Method factoryMethod = null; + for (Method m : clazz.getDeclaredMethods()) + { + for (Annotation a : m.getAnnotations()) + { + if (a.annotationType().equals(Mod.EventHandler.class)) + { + if (m.getParameterTypes().length == 1 && FMLEvent.class.isAssignableFrom(m.getParameterTypes()[0])) + { + m.setAccessible(true); + eventMethods.put((Class) m.getParameterTypes()[0],m); + } + else + { + FMLLog.log(getModId(), Level.ERROR,"The mod %s appears to have an invalid event annotation %s. This annotation can only apply to methods with recognized event arguments - it will not be called", getModId(), a.annotationType().getSimpleName()); + } + } + else if (a.annotationType().equals(Mod.InstanceFactory.class)) + { + if (Modifier.isStatic(m.getModifiers()) && m.getParameterTypes().length == 0 && factoryMethod == null) + { + m.setAccessible(true); + factoryMethod = m; + } + else if (!(Modifier.isStatic(m.getModifiers()) && m.getParameterTypes().length == 0)) + { + FMLLog.log(getModId(), Level.ERROR, "The InstanceFactory annotation can only apply to a static method, taking zero arguments - it will be ignored on %s(%s)", m.getName(), Arrays.asList(m.getParameterTypes())); + } + else if (factoryMethod != null) + { + FMLLog.log(getModId(), Level.ERROR, "The InstanceFactory annotation can only be used once, the application to %s(%s) will be ignored", m.getName(), Arrays.asList(m.getParameterTypes())); + } + } + } + } + return factoryMethod; + } + + private void processFieldAnnotations(ASMDataTable asmDataTable) throws Exception + { + SetMultimap annotations = asmDataTable.getAnnotationsFor(this); + + parseSimpleFieldAnnotation(annotations, Instance.class.getName(), new Function() + { + @Override + public Object apply(ModContainer mc) + { + return mc.getMod(); + } + }); + parseSimpleFieldAnnotation(annotations, Metadata.class.getName(), new Function() + { + @Override + public Object apply(ModContainer mc) + { + return mc.getMetadata(); + } + }); + } + + private void parseSimpleFieldAnnotation(SetMultimap annotations, String annotationClassName, Function retreiver) throws IllegalAccessException + { + String[] annName = annotationClassName.split("\\."); + String annotationName = annName[annName.length - 1]; + for (ASMData targets : annotations.get(annotationClassName)) + { + String targetMod = (String) targets.getAnnotationInfo().get("value"); + Field f = null; + Object injectedMod = null; + ModContainer mc = this; + boolean isStatic = false; + Class clz = modInstance.getClass(); + if (!Strings.isNullOrEmpty(targetMod)) + { + if (Loader.isModLoaded(targetMod)) + { + mc = Loader.instance().getIndexedModList().get(targetMod); + } + else + { + mc = null; + } + } + if (mc != null) + { + try + { + clz = Class.forName(targets.getClassName(), true, Loader.instance().getModClassLoader()); + f = clz.getDeclaredField(targets.getObjectName()); + f.setAccessible(true); + isStatic = Modifier.isStatic(f.getModifiers()); + injectedMod = retreiver.apply(mc); + } + catch (Exception e) + { + Throwables.propagateIfPossible(e); + FMLLog.log(getModId(), Level.WARN, e, "Attempting to load @%s in class %s for %s and failing", annotationName, targets.getClassName(), mc.getModId()); + } + } + if (f != null) + { + Object target = null; + if (!isStatic) + { + target = modInstance; + if (!modInstance.getClass().equals(clz)) + { + FMLLog.log(getModId(), Level.WARN, "Unable to inject @%s in non-static field %s.%s for %s as it is NOT the primary mod instance", annotationName, targets.getClassName(), targets.getObjectName(), mc.getModId()); + continue; + } + } + f.set(target, injectedMod); + } + } + } + + @Subscribe + public void constructMod(FMLConstructionEvent event) + { + try + { + BlamingTransformer.addClasses(getModId(), candidate.getClassList()); + ModClassLoader modClassLoader = event.getModClassLoader(); + modClassLoader.addFile(source); + modClassLoader.clearNegativeCacheFor(candidate.getClassList()); + Class clazz = Class.forName(className, true, modClassLoader); + + Certificate[] certificates = clazz.getProtectionDomain().getCodeSource().getCertificates(); + int len = 0; + if (certificates != null) + { + len = certificates.length; + } + Builder certBuilder = ImmutableList.builder(); + for (int i = 0; i < len; i++) + { + certBuilder.add(CertificateHelper.getFingerprint(certificates[i])); + } + + ImmutableList certList = certBuilder.build(); + sourceFingerprints = ImmutableSet.copyOf(certList); + + String expectedFingerprint = (String) descriptor.get("certificateFingerprint"); + + fingerprintNotPresent = true; + + if (expectedFingerprint != null && !expectedFingerprint.isEmpty()) + { + if (!sourceFingerprints.contains(expectedFingerprint)) + { + Level warnLevel = Level.ERROR; + if (source.isDirectory()) + { + warnLevel = Level.TRACE; + } + FMLLog.log(getModId(), warnLevel, "The mod %s is expecting signature %s for source %s, however there is no signature matching that description", getModId(), expectedFingerprint, source.getName()); + } + else + { + certificate = certificates[certList.indexOf(expectedFingerprint)]; + fingerprintNotPresent = false; + } + } + + @SuppressWarnings("unchecked") + List> props = (List>) descriptor.get("customProperties"); + if (props != null) + { + com.google.common.collect.ImmutableMap.Builder builder = ImmutableMap.builder(); + for (Map p : props) + { + builder.put((String)p.get("k"),(String)p.get("v")); + } + customModProperties = builder.build(); + } + else + { + customModProperties = EMPTY_PROPERTIES; + } + + Boolean hasDisableableFlag = (Boolean) descriptor.get("canBeDeactivated"); + boolean hasReverseDepends = !event.getReverseDependencies().get(getModId()).isEmpty(); + if (hasDisableableFlag != null && hasDisableableFlag) + { + disableability = hasReverseDepends ? Disableable.DEPENDENCIES : Disableable.YES; + } + else + { + disableability = hasReverseDepends ? Disableable.DEPENDENCIES : Disableable.RESTART; + } + Method factoryMethod = gatherAnnotations(clazz); + modInstance = getLanguageAdapter().getNewInstance(this,clazz, modClassLoader, factoryMethod); + NetworkRegistry.INSTANCE.register(this, clazz, (String)(descriptor.containsKey("acceptableRemoteVersions") ? descriptor.get("acceptableRemoteVersions") : null), event.getASMHarvestedData()); + if (fingerprintNotPresent) + { + eventBus.post(new FMLFingerprintViolationEvent(source.isDirectory(), source, ImmutableSet.copyOf(this.sourceFingerprints), expectedFingerprint)); + } + ProxyInjector.inject(this, event.getASMHarvestedData(), FMLCommonHandler.instance().getSide(), getLanguageAdapter()); + processFieldAnnotations(event.getASMHarvestedData()); + } + catch (Throwable e) + { + controller.errorOccurred(this, e); + } + } + + @Subscribe + public void handleModStateEvent(FMLEvent event) + { + if (!eventMethods.containsKey(event.getClass())) + { + return; + } + try + { + for (Method m : eventMethods.get(event.getClass())) + { + m.invoke(modInstance, event); + } + } + catch (Throwable t) + { + controller.errorOccurred(this, t); + } + } + + @Override + public ArtifactVersion getProcessedVersion() + { + if (processedVersion == null) + { + processedVersion = new DefaultArtifactVersion(getModId(), getVersion()); + } + return processedVersion; + } + @Override + public boolean isImmutable() + { + return false; + } + + @Override + public String getDisplayVersion() + { + return modMetadata.version; + } + + @Override + public VersionRange acceptableMinecraftVersionRange() + { + return minecraftAccepted; + } + + @Override + public Certificate getSigningCertificate() + { + return certificate; + } + + @Override + public String toString() + { + return "FMLMod:"+getModId()+"{"+getVersion()+"}"; + } + + @Override + public Map getCustomModProperties() + { + return customModProperties; + } + + @Override + public Class getCustomResourcePackClass() + { + try + { + return getSource().isDirectory() ? Class.forName("net.minecraftforge.fml.client.FMLFolderResourcePack", true, getClass().getClassLoader()) : Class.forName("net.minecraftforge.fml.client.FMLFileResourcePack",true, getClass().getClassLoader()); + } + catch (ClassNotFoundException e) + { + return null; + } + } + @Override + public Map getSharedModDescriptor() + { + Map descriptor = Maps.newHashMap(); + descriptor.put("modsystem", "FML"); + descriptor.put("id", getModId()); + descriptor.put("version",getDisplayVersion()); + descriptor.put("name", getName()); + descriptor.put("url", modMetadata.url); + descriptor.put("authors", modMetadata.getAuthorList()); + descriptor.put("description", modMetadata.description); + return descriptor; + } + + @Override + public Disableable canBeDisabled() + { + return disableability; + } + + @Override + public String getGuiClassName() + { + return (String) descriptor.get("guiFactory"); + } + + @Override + public List getOwnedPackages() + { + return candidate.getContainedPackages(); + } + + private boolean isTrue(Boolean value) + { + if (value == null) return false; + return value.booleanValue(); + } + + @Override + public boolean shouldLoadInEnvironment() + { + boolean clientSideOnly = isTrue((Boolean)descriptor.get("clientSideOnly")); + boolean serverSideOnly = isTrue((Boolean)descriptor.get("serverSideOnly")); + + if (clientSideOnly && serverSideOnly) + throw new RuntimeException("Mod annotation claims to be both client and server side only!"); + + Side side = FMLCommonHandler.instance().getSide(); + + if (clientSideOnly && side != Side.CLIENT) + { + FMLLog.info("Disabling mod %s it is client side only.", getModId()); + return false; + } + + if (serverSideOnly && side != Side.SERVER) + { + FMLLog.info("Disabling mod %s it is server side only.", getModId()); + return false; + } + + return true; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/IASMHook.java b/fml/src/main/java/net/minecraftforge/fml/common/IASMHook.java new file mode 100644 index 000000000..cad89b3ce --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/IASMHook.java @@ -0,0 +1,34 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import org.objectweb.asm.tree.ClassNode; + +public interface IASMHook { + /** + * Inject the {@link Mod} class node into this instance. This allows retrieval from custom + * attributes or other artifacts in your mod class + * + * @param modClassNode The mod class + * @return optionally some code generated classes that will be injected into the classloader + */ + ClassNode[] inject(ClassNode modClassNode); + /** + * Allow mods to manipulate classes loaded from this {@link Mod}'s jar file. The {@link Mod} + * class is always guaranteed to be called first. + * The node state should be changed in place. + * + * @param node The class being loaded + */ + void modifyClass(String className, ClassNode node); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/ICrashCallable.java b/fml/src/main/java/net/minecraftforge/fml/common/ICrashCallable.java new file mode 100644 index 000000000..f24be0bdf --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/ICrashCallable.java @@ -0,0 +1,20 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.util.concurrent.Callable; + +public interface ICrashCallable extends Callable +{ + String getLabel(); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/IFMLHandledException.java b/fml/src/main/java/net/minecraftforge/fml/common/IFMLHandledException.java new file mode 100644 index 000000000..92f09355a --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/IFMLHandledException.java @@ -0,0 +1,18 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +public interface IFMLHandledException +{ + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/IFMLSidedHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/IFMLSidedHandler.java new file mode 100644 index 000000000..cbf851a3c --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/IFMLSidedHandler.java @@ -0,0 +1,67 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.io.File; +import java.util.List; +import java.util.Set; + +import net.minecraft.network.INetHandler; +import net.minecraft.network.NetworkManager; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.IThreadListener; +import net.minecraftforge.fml.common.eventhandler.EventBus; +import net.minecraftforge.fml.relauncher.Side; + +public interface IFMLSidedHandler +{ + List getAdditionalBrandingInformation(); + + Side getSide(); + + void haltGame(String message, Throwable exception); + + void showGuiScreen(Object clientGuiElement); + + void queryUser(StartupQuery query) throws InterruptedException; + + void beginServerLoading(MinecraftServer server); + + void finishServerLoading(); + + File getSavesDirectory(); + + MinecraftServer getServer(); + + boolean shouldServerShouldBeKilledQuietly(); + + void addModAsResource(ModContainer container); + + String getCurrentLanguage(); + + void serverStopped(); + + NetworkManager getClientToServerNetworkManager(); + + INetHandler getClientPlayHandler(); + + void fireNetRegistrationEvent(EventBus bus, NetworkManager manager, Set channelSet, String channel, Side side); + + boolean shouldAllowPlayerLogins(); + + void allowLogins(); + + IThreadListener getWorldThread(INetHandler net); + + void processWindowMessages(); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/IFuelHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/IFuelHandler.java new file mode 100644 index 000000000..2e7cc1ef1 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/IFuelHandler.java @@ -0,0 +1,20 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import net.minecraft.item.ItemStack; + +public interface IFuelHandler +{ + int getBurnTime(ItemStack fuel); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/ILanguageAdapter.java b/fml/src/main/java/net/minecraftforge/fml/common/ILanguageAdapter.java new file mode 100644 index 000000000..9b14eff25 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/ILanguageAdapter.java @@ -0,0 +1,197 @@ +package net.minecraftforge.fml.common; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +import net.minecraftforge.fml.relauncher.Side; + +import org.apache.logging.log4j.Level; + +public interface ILanguageAdapter { + public Object getNewInstance(FMLModContainer container, Class objectClass, ClassLoader classLoader, Method factoryMarkedAnnotation) throws Exception; + public boolean supportsStatics(); + public void setProxy(Field target, Class proxyTarget, Object proxy) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException; + public void setInternalProxies(ModContainer mod, Side side, ClassLoader loader); + + public static class ScalaAdapter implements ILanguageAdapter { + @Override + public Object getNewInstance(FMLModContainer container, Class scalaObjectClass, ClassLoader classLoader, Method factoryMarkedAnnotation) throws Exception + { + Class sObjectClass = Class.forName(scalaObjectClass.getName()+"$",true,classLoader); + return sObjectClass.getField("MODULE$").get(null); + } + + @Override + public boolean supportsStatics() + { + return false; + } + + @Override + public void setProxy(Field target, Class proxyTarget, Object proxy) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException + { + try + { + // Get the actual singleton class. The two variants are from + // whether the @SidedProxy is declared in a the class block + // of the object directly, or in the object block, i.e. + // whether it's: + // class ModName { + // @SidedProxy ... + // } + // object ModName extends ModName {} + // which leads to us getting the outer class, or + // object ModName { + // @SidedProxy ... + // } + // which leads to us getting the inner class. + if (!proxyTarget.getName().endsWith("$")) + { + // Get internal class generated by Scala. + proxyTarget = Class.forName(proxyTarget.getName() + "$", true, proxyTarget.getClassLoader()); + } + } + catch (ClassNotFoundException e) + { + // Not a singleton, look for @Instance field as a fallback. + FMLLog.log(Level.INFO, e, "An error occured trying to load a proxy into %s.%s. Did you declare your mod as 'class' instead of 'object'?", proxyTarget.getSimpleName(), target.getName()); + return; + } + + // Get the instance via the MODULE$ field which is + // automatically generated by the Scala compiler for + // singletons. + Object targetInstance = proxyTarget.getField("MODULE$").get(null); + + try + { + // Find setter function. We do it this way because we can't + // necessarily use proxyTarget.getMethod(proxy.getClass()), as + // it might be a subclass and not the exact parameter type. + // All fields are private in Scala, wrapped by a getter and + // setter named and _$eq. To those + // familiar with scala.reflect.BeanProperty: these will always + // be there, set and get will always + // only be generated *additionally*. + final String setterName = target.getName() + "_$eq"; + for (Method setter : proxyTarget.getMethods()) + { + Class[] setterParameters = setter.getParameterTypes(); + if (setterName.equals(setter.getName()) && + // Some more validation. + setterParameters.length == 1 && + setterParameters[0].isAssignableFrom(proxy.getClass())) + { + // Here goes nothing... + setter.invoke(targetInstance, proxy); + return; + } + } + } + catch (InvocationTargetException e) + { + FMLLog.log(Level.ERROR, e, "An error occured trying to load a proxy into %s.%s", proxyTarget.getSimpleName(), target.getName()); + throw new LoaderException(e); + } + + // If we come here we could not find a setter for this proxy. + FMLLog.severe("Failed loading proxy into %s.%s, could not find setter function. Did you declare the field with 'val' instead of 'var'?", proxyTarget.getSimpleName(), target.getName()); + throw new LoaderException(String.format("Failed loading proxy into %s.%s, could not find setter function. Did you declare the field with 'val' instead of 'var'?", proxyTarget.getSimpleName(), target.getName())); + } + + @Override + public void setInternalProxies(ModContainer mod, Side side, ClassLoader loader) + { + // For Scala mods, we want to enable authors to write them like so: + // object ModName { + // @SidedProxy(...) + // var proxy: ModProxy = null + // } + // For this to work, we have to search inside the inner class Scala + // generates for singletons, which is in called ModName$. These are + // not automatically handled, because the mod discovery code ignores + // internal classes. + // Note that it is alternatively possible to write this like so: + // class ModName { + // @SidedProxy(...) + // var proxy: ModProxy = null + // } + // object ModName extends ModName { ... } + // which will fall back to the normal injection code which calls + // setProxy in turn. + + // Get the actual mod implementation, which will be the inner class + // if we have a singleton. + Class proxyTarget = mod.getMod().getClass(); + if (proxyTarget.getName().endsWith("$")) + { + // So we have a singleton class, check if there are targets. + for (Field target : proxyTarget.getDeclaredFields()) + { + // This will not turn up anything if the alternative + // approach was taken (manually declaring the class). + // So we don't initialize the field twice. + if (target.getAnnotation(SidedProxy.class) != null) + { + String targetType = side.isClient() ? target.getAnnotation(SidedProxy.class).clientSide() : target.getAnnotation(SidedProxy.class).serverSide(); + try + { + Object proxy = Class.forName(targetType, true, loader).newInstance(); + + if (!target.getType().isAssignableFrom(proxy.getClass())) + { + FMLLog.severe("Attempted to load a proxy type %s into %s.%s, but the types don't match", targetType, proxyTarget.getSimpleName(), target.getName()); + throw new LoaderException(String.format("Attempted to load a proxy type %s into %s.%s, but the types don't match", targetType, proxyTarget.getSimpleName(), target.getName())); + } + + setProxy(target, proxyTarget, proxy); + } + catch (Exception e) { + FMLLog.log(Level.ERROR, e, "An error occured trying to load a proxy into %s.%s", proxyTarget.getSimpleName(), target.getName()); + throw new LoaderException(e); + } + } + } + } + else + { + FMLLog.finer("Mod does not appear to be a singleton."); + } + } + } + + public static class JavaAdapter implements ILanguageAdapter { + @Override + public Object getNewInstance(FMLModContainer container, Class objectClass, ClassLoader classLoader, Method factoryMarkedMethod) throws Exception + { + if (factoryMarkedMethod != null) + { + return factoryMarkedMethod.invoke(null); + } + else + { + return objectClass.newInstance(); + } + } + + @Override + public boolean supportsStatics() + { + return true; + } + + @Override + public void setProxy(Field target, Class proxyTarget, Object proxy) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, + SecurityException + { + target.set(null, proxy); + } + + @Override + public void setInternalProxies(ModContainer mod, Side side, ClassLoader loader) + { + // Nothing to do here. + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/IWorldGenerator.java b/fml/src/main/java/net/minecraftforge/fml/common/IWorldGenerator.java new file mode 100644 index 000000000..20b43f83d --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/IWorldGenerator.java @@ -0,0 +1,41 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.util.Random; + +import net.minecraft.world.World; +import net.minecraft.world.chunk.IChunkProvider; + + +/** + * This is called back during world generation. + * + * @author cpw + * + */ +public interface IWorldGenerator +{ + /** + * Generate some world + * + * @param random the chunk specific {@link Random}. + * @param chunkX the chunk X coordinate of this chunk. + * @param chunkZ the chunk Z coordinate of this chunk. + * @param world : additionalData[0] The minecraft {@link World} we're generating for. + * @param chunkGenerator : additionalData[1] The {@link IChunkProvider} that is generating. + * @param chunkProvider : additionalData[2] {@link IChunkProvider} that is requesting the world generation. + * + */ + public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/InjectedModContainer.java b/fml/src/main/java/net/minecraftforge/fml/common/InjectedModContainer.java new file mode 100644 index 000000000..af91db153 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/InjectedModContainer.java @@ -0,0 +1,210 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.io.File; +import java.security.cert.Certificate; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import net.minecraftforge.fml.common.versioning.ArtifactVersion; +import net.minecraftforge.fml.common.versioning.VersionRange; + +import com.google.common.eventbus.EventBus; + +public class InjectedModContainer implements ModContainer +{ + private File source; + public final ModContainer wrappedContainer; + + public InjectedModContainer(ModContainer mc, File source) + { + this.source = source != null ? source : new File("minecraft.jar"); + this.wrappedContainer = mc; + } + + @Override + public String getModId() + { + return wrappedContainer.getModId(); + } + + @Override + public String getName() + { + return wrappedContainer.getName(); + } + + @Override + public String getVersion() + { + return wrappedContainer.getVersion(); + } + + @Override + public File getSource() + { + return source; + } + + @Override + public ModMetadata getMetadata() + { + return wrappedContainer.getMetadata(); + } + + @Override + public void bindMetadata(MetadataCollection mc) + { + wrappedContainer.bindMetadata(mc); + } + + @Override + public void setEnabledState(boolean enabled) + { + wrappedContainer.setEnabledState(enabled); + } + + @Override + public Set getRequirements() + { + return wrappedContainer.getRequirements(); + } + + @Override + public List getDependencies() + { + return wrappedContainer.getDependencies(); + } + + @Override + public List getDependants() + { + return wrappedContainer.getDependants(); + } + + @Override + public String getSortingRules() + { + return wrappedContainer.getSortingRules(); + } + + @Override + public boolean registerBus(EventBus bus, LoadController controller) + { + return wrappedContainer.registerBus(bus, controller); + } + + @Override + public boolean matches(Object mod) + { + return wrappedContainer.matches(mod); + } + + @Override + public Object getMod() + { + return wrappedContainer.getMod(); + } + + @Override + public ArtifactVersion getProcessedVersion() + { + return wrappedContainer.getProcessedVersion(); + } + + @Override + public boolean isImmutable() + { + return true; + } + + @Override + public String getDisplayVersion() + { + return wrappedContainer.getDisplayVersion(); + } + + @Override + public VersionRange acceptableMinecraftVersionRange() + { + return wrappedContainer.acceptableMinecraftVersionRange(); + } + + public WorldAccessContainer getWrappedWorldAccessContainer() + { + if (wrappedContainer instanceof WorldAccessContainer) + { + return (WorldAccessContainer) wrappedContainer; + } + else + { + return null; + } + } + + @Override + public Certificate getSigningCertificate() + { + return wrappedContainer.getSigningCertificate(); + } + + @Override + public String toString() + { + return "Wrapped{"+wrappedContainer.toString()+"}"; + } + + @Override + public Map getCustomModProperties() + { + return wrappedContainer.getCustomModProperties(); + } + + @Override + public Class getCustomResourcePackClass() + { + return wrappedContainer.getCustomResourcePackClass(); + } + + @Override + public Map getSharedModDescriptor() + { + return wrappedContainer.getSharedModDescriptor(); + } + + @Override + public Disableable canBeDisabled() + { + return wrappedContainer.canBeDisabled(); + } + + @Override + public String getGuiClassName() + { + return wrappedContainer.getGuiClassName(); + } + + @Override + public List getOwnedPackages() + { + return wrappedContainer.getOwnedPackages(); + } + + @Override + public boolean shouldLoadInEnvironment() + { + return true; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/LoadController.java b/fml/src/main/java/net/minecraftforge/fml/common/LoadController.java new file mode 100644 index 000000000..47859da9b --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/LoadController.java @@ -0,0 +1,360 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.lang.reflect.InvocationTargetException; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map.Entry; + +import net.minecraftforge.fml.common.LoaderState.ModState; +import net.minecraftforge.fml.common.ProgressManager.ProgressBar; +import net.minecraftforge.fml.common.event.FMLEvent; +import net.minecraftforge.fml.common.event.FMLLoadEvent; +import net.minecraftforge.fml.common.event.FMLModDisabledEvent; +import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.event.FMLStateEvent; +import net.minecraftforge.fml.common.functions.ArtifactVersionNameFunction; +import net.minecraftforge.fml.common.versioning.ArtifactVersion; + +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.ThreadContext; + +import com.google.common.base.Joiner; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.BiMap; +import com.google.common.collect.Collections2; +import com.google.common.collect.ImmutableBiMap; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableMap.Builder; +import com.google.common.collect.Iterables; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; +import com.google.common.eventbus.EventBus; +import com.google.common.eventbus.Subscribe; + +public class LoadController +{ + private Loader loader; + private EventBus masterChannel; + private ImmutableMap eventChannels; + private LoaderState state; + private Multimap modStates = ArrayListMultimap.create(); + private Multimap errors = ArrayListMultimap.create(); + private List activeModList = Lists.newArrayList(); + private ModContainer activeContainer; + private BiMap modObjectList; + private ListMultimap packageOwners; + + public LoadController(Loader loader) + { + this.loader = loader; + this.masterChannel = new EventBus("FMLMainChannel"); + this.masterChannel.register(this); + + state = LoaderState.NOINIT; + packageOwners = ArrayListMultimap.create(); + + } + + void disableMod(ModContainer mod) + { + HashMap temporary = Maps.newHashMap(eventChannels); + String modId = mod.getModId(); + EventBus bus = temporary.remove(modId); + bus.post(new FMLModDisabledEvent()); + if (errors.get(modId).isEmpty()) + { + eventChannels = ImmutableMap.copyOf(temporary); + modStates.put(modId, ModState.DISABLED); + modObjectList.remove(mod); + activeModList.remove(mod); + } + } + @Subscribe + public void buildModList(FMLLoadEvent event) + { + Builder eventBus = ImmutableMap.builder(); + + for (ModContainer mod : loader.getModList()) + { + //Create mod logger, and make the EventBus logger a child of it. + EventBus bus = new EventBus(mod.getModId()); + boolean isActive = mod.registerBus(bus, this); + if (isActive) + { + activeModList.add(mod); + modStates.put(mod.getModId(), ModState.UNLOADED); + eventBus.put(mod.getModId(), bus); + FMLCommonHandler.instance().addModToResourcePack(mod); + } + else + { + FMLLog.log(mod.getModId(), Level.WARN, "Mod %s has been disabled through configuration", mod.getModId()); + modStates.put(mod.getModId(), ModState.UNLOADED); + modStates.put(mod.getModId(), ModState.DISABLED); + } + } + + eventChannels = eventBus.build(); + } + + public void distributeStateMessage(LoaderState state, Object... eventData) + { + if (state.hasEvent()) + { + masterChannel.post(state.getEvent(eventData)); + } + } + + public void transition(LoaderState desiredState, boolean forceState) + { + LoaderState oldState = state; + state = state.transition(!errors.isEmpty()); + if (state != desiredState && !forceState) + { + Throwable toThrow = null; + FMLLog.severe("Fatal errors were detected during the transition from %s to %s. Loading cannot continue", oldState, desiredState); + StringBuilder sb = new StringBuilder(); + printModStates(sb); + FMLLog.severe("%s", sb.toString()); + if (errors.size()>0) + { + FMLLog.severe("The following problems were captured during this phase"); + for (Entry error : errors.entries()) + { + FMLLog.log(Level.ERROR, error.getValue(), "Caught exception from %s", error.getKey()); + if (error.getValue() instanceof IFMLHandledException) + { + toThrow = error.getValue(); + } + else if (toThrow == null) + { + toThrow = error.getValue(); + } + } + } + else + { + FMLLog.severe("The ForgeModLoader state engine has become corrupted. Probably, a state was missed by and invalid modification to a base class" + + "ForgeModLoader depends on. This is a critical error and not recoverable. Investigate any modifications to base classes outside of" + + "ForgeModLoader, especially Optifine, to see if there are fixes available."); + throw new RuntimeException("The ForgeModLoader state engine is invalid"); + } + if (toThrow != null && toThrow instanceof RuntimeException) + { + throw (RuntimeException)toThrow; + } + else + { + throw new LoaderException(toThrow); + } + } + else if (state != desiredState && forceState) + { + FMLLog.info("The state engine was in incorrect state %s and forced into state %s. Errors may have been discarded.", state, desiredState); + forceState(desiredState); + } + + } + + public ModContainer activeContainer() + { + return activeContainer != null ? activeContainer : findActiveContainerFromStack(); + } + + @Subscribe + public void propogateStateMessage(FMLEvent stateEvent) + { + if (stateEvent instanceof FMLPreInitializationEvent) + { + modObjectList = buildModObjectList(); + } + ProgressBar bar = ProgressManager.push(stateEvent.description(), activeModList.size()); + for (ModContainer mc : activeModList) + { + bar.step(mc.getName()); + sendEventToModContainer(stateEvent, mc); + } + ProgressManager.pop(bar); + } + + private void sendEventToModContainer(FMLEvent stateEvent, ModContainer mc) + { + String modId = mc.getModId(); + Collection requirements = Collections2.transform(mc.getRequirements(),new ArtifactVersionNameFunction()); + for (ArtifactVersion av : mc.getDependencies()) + { + if (av.getLabel()!= null && requirements.contains(av.getLabel()) && modStates.containsEntry(av.getLabel(),ModState.ERRORED)) + { + FMLLog.log(modId, Level.ERROR, "Skipping event %s and marking errored mod %s since required dependency %s has errored", stateEvent.getEventType(), modId, av.getLabel()); + modStates.put(modId, ModState.ERRORED); + return; + } + } + activeContainer = mc; + stateEvent.applyModContainer(activeContainer()); + ThreadContext.put("mod", modId); + FMLLog.log(modId, Level.TRACE, "Sending event %s to mod %s", stateEvent.getEventType(), modId); + eventChannels.get(modId).post(stateEvent); + FMLLog.log(modId, Level.TRACE, "Sent event %s to mod %s", stateEvent.getEventType(), modId); + ThreadContext.remove("mod"); + activeContainer = null; + if (stateEvent instanceof FMLStateEvent) + { + if (!errors.containsKey(modId)) + { + modStates.put(modId, ((FMLStateEvent)stateEvent).getModState()); + } + else + { + modStates.put(modId, ModState.ERRORED); + } + } + } + + public ImmutableBiMap buildModObjectList() + { + ImmutableBiMap.Builder builder = ImmutableBiMap.builder(); + for (ModContainer mc : activeModList) + { + if (!mc.isImmutable() && mc.getMod()!=null) + { + builder.put(mc, mc.getMod()); + List packages = mc.getOwnedPackages(); + for (String pkg : packages) + { + packageOwners.put(pkg, mc); + } + } + if (mc.getMod()==null && !mc.isImmutable() && state!=LoaderState.CONSTRUCTING) + { + FMLLog.severe("There is a severe problem with %s - it appears not to have constructed correctly", mc.getModId()); + if (state != LoaderState.CONSTRUCTING) + { + this.errorOccurred(mc, new RuntimeException()); + } + } + } + return builder.build(); + } + + public void errorOccurred(ModContainer modContainer, Throwable exception) + { + if (exception instanceof InvocationTargetException) + { + errors.put(modContainer.getModId(), ((InvocationTargetException)exception).getCause()); + } + else + { + errors.put(modContainer.getModId(), exception); + } + } + + public void printModStates(StringBuilder ret) + { + for (ModContainer mc : loader.getModList()) + { + ret.append("\n\t").append(mc.getModId()).append("{").append(mc.getVersion()).append("} [").append(mc.getName()).append("] (").append(mc.getSource().getName()).append(") "); + Joiner.on("->"). appendTo(ret, modStates.get(mc.getModId())); + } + } + + public List getActiveModList() + { + return activeModList; + } + + public ModState getModState(ModContainer selectedMod) + { + return Iterables.getLast(modStates.get(selectedMod.getModId()), ModState.AVAILABLE); + } + + public void distributeStateMessage(Class customEvent) + { + try + { + masterChannel.post(customEvent.newInstance()); + } + catch (Exception e) + { + FMLLog.log(Level.ERROR, e, "An unexpected exception"); + throw new LoaderException(e); + } + } + + public BiMap getModObjectList() + { + if (modObjectList == null) + { + FMLLog.severe("Detected an attempt by a mod %s to perform game activity during mod construction. This is a serious programming error.", activeContainer); + return buildModObjectList(); + } + return ImmutableBiMap.copyOf(modObjectList); + } + + public boolean isInState(LoaderState state) + { + return this.state == state; + } + + boolean hasReachedState(LoaderState state) { + return this.state.ordinal()>=state.ordinal() && this.state!=LoaderState.ERRORED; + } + + void forceState(LoaderState newState) + { + this.state = newState; + } + + private ModContainer findActiveContainerFromStack() + { + for (Class c : getCallingStack()) + { + int idx = c.getName().lastIndexOf('.'); + if (idx == -1) + { + continue; + } + String pkg = c.getName().substring(0,idx); + if (packageOwners.containsKey(pkg)) + { + return packageOwners.get(pkg).get(0); + } + } + + return null; + } + private FMLSecurityManager accessibleManager = new FMLSecurityManager(); + + class FMLSecurityManager extends SecurityManager + { + Class[] getStackClasses() + { + return getClassContext(); + } + } + + Class[] getCallingStack() + { + return accessibleManager.getStackClasses(); + } + + LoaderState getState() + { + return state; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/Loader.java b/fml/src/main/java/net/minecraftforge/fml/common/Loader.java new file mode 100644 index 000000000..b2fea151f --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/Loader.java @@ -0,0 +1,1066 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.net.MalformedURLException; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; + +import net.minecraftforge.fml.common.LoaderState.ModState; +import net.minecraftforge.fml.common.ModContainer.Disableable; +import net.minecraftforge.fml.common.ProgressManager.ProgressBar; +import net.minecraftforge.fml.common.discovery.ModDiscoverer; +import net.minecraftforge.fml.common.event.FMLInterModComms; +import net.minecraftforge.fml.common.event.FMLLoadEvent; +import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent; +import net.minecraftforge.fml.common.event.FMLModIdMappingEvent; +import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent.MissingMapping; +import net.minecraftforge.fml.common.functions.ArtifactVersionNameFunction; +import net.minecraftforge.fml.common.functions.ModIdFunction; +import net.minecraftforge.fml.common.registry.GameData; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.common.registry.ObjectHolderRegistry; +import net.minecraftforge.fml.common.registry.GameRegistry.Type; +import net.minecraftforge.fml.common.toposort.ModSorter; +import net.minecraftforge.fml.common.toposort.ModSortingException; +import net.minecraftforge.fml.common.toposort.TopologicalSort; +import net.minecraftforge.fml.common.toposort.ModSortingException.SortingExceptionData; +import net.minecraftforge.fml.common.versioning.ArtifactVersion; +import net.minecraftforge.fml.common.versioning.VersionParser; +import net.minecraftforge.fml.relauncher.ModListHelper; +import net.minecraftforge.fml.relauncher.Side; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.CharMatcher; +import com.google.common.base.Function; +import com.google.common.base.Joiner; +import com.google.common.base.Splitter; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableMultiset; +import com.google.common.collect.Iterables; +import com.google.common.collect.LinkedHashMultimap; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimaps; +import com.google.common.collect.Multiset.Entry; +import com.google.common.collect.Multisets; +import com.google.common.collect.Ordering; +import com.google.common.collect.SetMultimap; +import com.google.common.collect.Sets; +import com.google.common.collect.TreeMultimap; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; + +/** + * The loader class performs the actual loading of the mod code from disk. + * + *

+ * There are several {@link LoaderState}s to mod loading, triggered in two + * different stages from the FML handler code's hooks into the minecraft code. + *

+ * + *
    + *
  1. LOADING. Scanning the filesystem for mod containers to load (zips, jars, + * directories), adding them to the {@link #modClassLoader} Scanning, the loaded + * containers for mod classes to load and registering them appropriately.
  2. + *
  3. PREINIT. The mod classes are configured, they are sorted into a load + * order, and instances of the mods are constructed.
  4. + *
  5. INIT. The mod instances are initialized. For BaseMod mods, this involves + * calling the load method.
  6. + *
  7. POSTINIT. The mod instances are post initialized. For BaseMod mods this + * involves calling the modsLoaded method.
  8. + *
  9. UP. The Loader is complete
  10. + *
  11. ERRORED. The loader encountered an error during the LOADING phase and + * dropped to this state instead. It will not complete loading from this state, + * but it attempts to continue loading before abandoning and giving a fatal + * error.
  12. + *
+ * + * Phase 1 code triggers the LOADING and PREINIT states. Phase 2 code triggers + * the INIT and POSTINIT states. + * + * @author cpw + * + */ +public class Loader +{ + public static final String MC_VERSION = "1.8"; + private static final Splitter DEPENDENCYPARTSPLITTER = Splitter.on(":").omitEmptyStrings().trimResults(); + private static final Splitter DEPENDENCYSPLITTER = Splitter.on(";").omitEmptyStrings().trimResults(); + /** + * The singleton instance + */ + private static Loader instance; + /** + * Build information for tracking purposes. + */ + private static String major; + private static String minor; + private static String rev; + private static String build; + private static String mccversion; + private static String mcpversion; + + /** + * The class loader we load the mods into. + */ + private ModClassLoader modClassLoader; + /** + * The sorted list of mods. + */ + private List mods; + /** + * A named list of mods + */ + private Map namedMods; + /** + * A reverse dependency graph for mods + */ + private ListMultimap reverseDependencies; + /** + * The canonical configuration directory + */ + private File canonicalConfigDir; + private File canonicalModsDir; + private LoadController modController; + private MinecraftDummyContainer minecraft; + private MCPDummyContainer mcp; + + private static File minecraftDir; + private static List injectedContainers; + private ImmutableMap fmlBrandingProperties; + private File forcedModFile; + private ModDiscoverer discoverer; + private ProgressBar progressBar; + + public static Loader instance() + { + if (instance == null) + { + instance = new Loader(); + } + + return instance; + } + + @SuppressWarnings("unchecked") + public static void injectData(Object... data) + { + major = (String) data[0]; + minor = (String) data[1]; + rev = (String) data[2]; + build = (String) data[3]; + mccversion = (String) data[4]; + mcpversion = (String) data[5]; + minecraftDir = (File) data[6]; + injectedContainers = (List)data[7]; + } + + private Loader() + { + modClassLoader = new ModClassLoader(getClass().getClassLoader()); + if (!mccversion.equals(MC_VERSION)) + { + FMLLog.severe("This version of FML is built for Minecraft %s, we have detected Minecraft %s in your minecraft jar file", mccversion, MC_VERSION); + throw new LoaderException(String.format("This version of FML is built for Minecraft %s, we have detected Minecraft %s in your minecraft jar file", mccversion, MC_VERSION)); + } + + minecraft = new MinecraftDummyContainer(MC_VERSION); + mcp = new MCPDummyContainer(MetadataCollection.from(getClass().getResourceAsStream("/mcpmod.info"), "MCP").getMetadataForId("mcp", null)); + } + + /** + * Sort the mods into a sorted list, using dependency information from the + * containers. The sorting is performed using a {@link TopologicalSort} + * based on the pre- and post- dependency information provided by the mods. + */ + private void sortModList() + { + FMLLog.finer("Verifying mod requirements are satisfied"); + try + { + BiMap modVersions = HashBiMap.create(); + for (ModContainer mod : Iterables.concat(getActiveModList(), ModAPIManager.INSTANCE.getAPIList())) + { + modVersions.put(mod.getModId(), mod.getProcessedVersion()); + } + + ArrayListMultimap reqList = ArrayListMultimap.create(); + for (ModContainer mod : getActiveModList()) + { + if (!mod.acceptableMinecraftVersionRange().containsVersion(minecraft.getProcessedVersion())) + { + FMLLog.severe("The mod %s does not wish to run in Minecraft version %s. You will have to remove it to play.", mod.getModId(), getMCVersionString()); + throw new WrongMinecraftVersionException(mod); + } + Map names = Maps.uniqueIndex(mod.getRequirements(), new ArtifactVersionNameFunction()); + Set versionMissingMods = Sets.newHashSet(); + + Set missingMods = Sets.difference(names.keySet(), modVersions.keySet()); + if (!missingMods.isEmpty()) + { + FMLLog.severe("The mod %s (%s) requires mods %s to be available", mod.getModId(), mod.getName(), missingMods); + for (String modid : missingMods) + { + versionMissingMods.add(names.get(modid)); + } + throw new MissingModsException(versionMissingMods, mod.getModId(), mod.getName()); + } + reqList.putAll(mod.getModId(), names.keySet()); + ImmutableList allDeps = ImmutableList.builder().addAll(mod.getDependants()).addAll(mod.getDependencies()).build(); + for (ArtifactVersion v : allDeps) + { + if (modVersions.containsKey(v.getLabel())) + { + if (!v.containsVersion(modVersions.get(v.getLabel()))) + { + versionMissingMods.add(v); + } + } + } + if (!versionMissingMods.isEmpty()) + { + FMLLog.severe("The mod %s (%s) requires mod versions %s to be available", mod.getModId(), mod.getName(), versionMissingMods); + throw new MissingModsException(versionMissingMods, mod.getModId(), mod.getName()); + } + } + + FMLLog.finer("All mod requirements are satisfied"); + + reverseDependencies = Multimaps.invertFrom(reqList, ArrayListMultimap.create()); + ModSorter sorter = new ModSorter(getActiveModList(), namedMods); + + try + { + FMLLog.finer("Sorting mods into an ordered list"); + List sortedMods = sorter.sort(); + // Reset active list to the sorted list + modController.getActiveModList().clear(); + modController.getActiveModList().addAll(sortedMods); + // And inject the sorted list into the overall list + mods.removeAll(sortedMods); + sortedMods.addAll(mods); + mods = sortedMods; + FMLLog.finer("Mod sorting completed successfully"); + } + catch (ModSortingException sortException) + { + FMLLog.severe("A dependency cycle was detected in the input mod set so an ordering cannot be determined"); + SortingExceptionData exceptionData = sortException.getExceptionData(); + FMLLog.severe("The first mod in the cycle is %s", exceptionData.getFirstBadNode()); + FMLLog.severe("The mod cycle involves"); + for (ModContainer mc : exceptionData.getVisitedNodes()) + { + FMLLog.severe("%s : before: %s, after: %s", mc.toString(), mc.getDependants(), mc.getDependencies()); + } + FMLLog.log(Level.ERROR, sortException, "The full error"); + throw sortException; + } + } + finally + { + FMLLog.fine("Mod sorting data"); + int unprintedMods = mods.size(); + for (ModContainer mod : getActiveModList()) + { + if (!mod.isImmutable()) + { + FMLLog.fine("\t%s(%s:%s): %s (%s)", mod.getModId(), mod.getName(), mod.getVersion(), mod.getSource().getName(), mod.getSortingRules()); + unprintedMods--; + } + } + if (unprintedMods == mods.size()) + { + FMLLog.fine("No user mods found to sort"); + } + } + + } + + /** + * The primary loading code + * + * + * The found resources are first loaded into the {@link #modClassLoader} + * (always) then scanned for class resources matching the specification + * above. + * + * If they provide the {@link Mod} annotation, they will be loaded as + * "FML mods" + * + * Finally, if they are successfully loaded as classes, they are then added + * to the available mod list. + */ + private ModDiscoverer identifyMods() + { + FMLLog.fine("Building injected Mod Containers %s", injectedContainers); + // Add in the MCP mod container + mods.add(new InjectedModContainer(mcp,new File("minecraft.jar"))); + for (String cont : injectedContainers) + { + ModContainer mc; + try + { + mc = (ModContainer) Class.forName(cont,true,modClassLoader).newInstance(); + } + catch (Exception e) + { + FMLLog.log(Level.ERROR, e, "A problem occured instantiating the injected mod container %s", cont); + throw new LoaderException(e); + } + mods.add(new InjectedModContainer(mc,mc.getSource())); + } + ModDiscoverer discoverer = new ModDiscoverer(); + FMLLog.fine("Attempting to load mods contained in the minecraft jar file and associated classes"); + discoverer.findClasspathMods(modClassLoader); + FMLLog.fine("Minecraft jar mods loaded successfully"); + + FMLLog.getLogger().log(Level.INFO, "Found {} mods from the command line. Injecting into mod discoverer",ModListHelper.additionalMods.size()); + FMLLog.info("Searching %s for mods", canonicalModsDir.getAbsolutePath()); + discoverer.findModDirMods(canonicalModsDir, ModListHelper.additionalMods.values().toArray(new File[0])); + File versionSpecificModsDir = new File(canonicalModsDir,mccversion); + if (versionSpecificModsDir.isDirectory()) + { + FMLLog.info("Also searching %s for mods", versionSpecificModsDir); + discoverer.findModDirMods(versionSpecificModsDir); + } + + mods.addAll(discoverer.identifyMods()); + identifyDuplicates(mods); + namedMods = Maps.uniqueIndex(mods, new ModIdFunction()); + FMLLog.info("Forge Mod Loader has identified %d mod%s to load", mods.size(), mods.size() != 1 ? "s" : ""); + return discoverer; + } + + private class ModIdComparator implements Comparator + { + @Override + public int compare(ModContainer o1, ModContainer o2) + { + return o1.getModId().compareTo(o2.getModId()); + } + } + + private void identifyDuplicates(List mods) + { + TreeMultimap dupsearch = TreeMultimap.create(new ModIdComparator(), Ordering.arbitrary()); + for (ModContainer mc : mods) + { + if (mc.getSource() != null) + { + dupsearch.put(mc, mc.getSource()); + } + } + + ImmutableMultiset duplist = Multisets.copyHighestCountFirst(dupsearch.keys()); + SetMultimap dupes = LinkedHashMultimap.create(); + for (Entry e : duplist.entrySet()) + { + if (e.getCount() > 1) + { + FMLLog.severe("Found a duplicate mod %s at %s", e.getElement().getModId(), dupsearch.get(e.getElement())); + dupes.putAll(e.getElement(),dupsearch.get(e.getElement())); + } + } + if (!dupes.isEmpty()) + { + throw new DuplicateModsFoundException(dupes); + } + } + + /** + * + */ + private void initializeLoader() + { + File modsDir = new File(minecraftDir, "mods"); + File configDir = new File(minecraftDir, "config"); + String canonicalModsPath; + String canonicalConfigPath; + + try + { + canonicalModsPath = modsDir.getCanonicalPath(); + canonicalConfigPath = configDir.getCanonicalPath(); + canonicalConfigDir = configDir.getCanonicalFile(); + canonicalModsDir = modsDir.getCanonicalFile(); + } + catch (IOException ioe) + { + FMLLog.log(Level.ERROR, ioe, "Failed to resolve loader directories: mods : %s ; config %s", canonicalModsDir.getAbsolutePath(), + configDir.getAbsolutePath()); + throw new LoaderException(ioe); + } + + if (!canonicalModsDir.exists()) + { + FMLLog.info("No mod directory found, creating one: %s", canonicalModsPath); + boolean dirMade = canonicalModsDir.mkdir(); + if (!dirMade) + { + FMLLog.severe("Unable to create the mod directory %s", canonicalModsPath); + throw new LoaderException(String.format("Unable to create the mod directory %s", canonicalModsPath)); + } + FMLLog.info("Mod directory created successfully"); + } + + if (!canonicalConfigDir.exists()) + { + FMLLog.fine("No config directory found, creating one: %s", canonicalConfigPath); + boolean dirMade = canonicalConfigDir.mkdir(); + if (!dirMade) + { + FMLLog.severe("Unable to create the config directory %s", canonicalConfigPath); + throw new LoaderException(); + } + FMLLog.info("Config directory created successfully"); + } + + if (!canonicalModsDir.isDirectory()) + { + FMLLog.severe("Attempting to load mods from %s, which is not a directory", canonicalModsPath); + throw new LoaderException(); + } + + if (!configDir.isDirectory()) + { + FMLLog.severe("Attempting to load configuration from %s, which is not a directory", canonicalConfigPath); + throw new LoaderException(); + } + + readInjectedDependencies(); + } + + public List getModList() + { + return instance().mods != null ? ImmutableList.copyOf(instance().mods) : ImmutableList.of(); + } + + /** + * Called from the hook to start mod loading. We trigger the + * {@link #identifyMods()} and Constructing, Preinitalization, and Initalization phases here. Finally, + * the mod list is frozen completely and is consider immutable from then on. + */ + public void loadMods() + { + progressBar = ProgressManager.push("Loading", 7); + progressBar.step("Constructing Mods"); + initializeLoader(); + mods = Lists.newArrayList(); + namedMods = Maps.newHashMap(); + modController = new LoadController(this); + modController.transition(LoaderState.LOADING, false); + discoverer = identifyMods(); + ModAPIManager.INSTANCE.manageAPI(modClassLoader, discoverer); + disableRequestedMods(); + modController.distributeStateMessage(FMLLoadEvent.class); + sortModList(); + ModAPIManager.INSTANCE.cleanupAPIContainers(modController.getActiveModList()); + ModAPIManager.INSTANCE.cleanupAPIContainers(mods); + mods = ImmutableList.copyOf(mods); + for (File nonMod : discoverer.getNonModLibs()) + { + if (nonMod.isFile()) + { + FMLLog.info("FML has found a non-mod file %s in your mods directory. It will now be injected into your classpath. This could severe stability issues, it should be removed if possible.", nonMod.getName()); + try + { + modClassLoader.addFile(nonMod); + } + catch (MalformedURLException e) + { + FMLLog.log(Level.ERROR, e, "Encountered a weird problem with non-mod file injection : %s", nonMod.getName()); + } + } + } + modController.transition(LoaderState.CONSTRUCTING, false); + modController.distributeStateMessage(LoaderState.CONSTRUCTING, modClassLoader, discoverer.getASMTable(), reverseDependencies); + FMLLog.fine("Mod signature data"); + for (ModContainer mod : getActiveModList()) + { + FMLLog.fine("\t%s(%s:%s): %s (%s)", mod.getModId(), mod.getName(), mod.getVersion(), mod.getSource().getName(), CertificateHelper.getFingerprint(mod.getSigningCertificate())); + } + if (getActiveModList().isEmpty()) + { + FMLLog.fine("No user mod signature data found"); + } + progressBar.step("Initializing mods Phase 1"); + modController.transition(LoaderState.PREINITIALIZATION, false); + } + + public void preinitializeMods() + { + if (!modController.isInState(LoaderState.PREINITIALIZATION)) + { + FMLLog.warning("There were errors previously. Not beginning mod initialization phase"); + return; + } + ObjectHolderRegistry.INSTANCE.findObjectHolders(discoverer.getASMTable()); + modController.distributeStateMessage(LoaderState.PREINITIALIZATION, discoverer.getASMTable(), canonicalConfigDir); + ObjectHolderRegistry.INSTANCE.applyObjectHolders(); + modController.transition(LoaderState.INITIALIZATION, false); + progressBar.step("Initializing Minecraft Engine"); + } + + private void disableRequestedMods() + { + String forcedModList = System.getProperty("fml.modStates", ""); + FMLLog.finer("Received a system property request \'%s\'",forcedModList); + Map sysPropertyStateList = Splitter.on(CharMatcher.anyOf(";:")) + .omitEmptyStrings().trimResults().withKeyValueSeparator("=") + .split(forcedModList); + FMLLog.finer("System property request managing the state of %d mods", sysPropertyStateList.size()); + Map modStates = Maps.newHashMap(); + + forcedModFile = new File(canonicalConfigDir, "fmlModState.properties"); + Properties forcedModListProperties = new Properties(); + if (forcedModFile.exists() && forcedModFile.isFile()) + { + FMLLog.finer("Found a mod state file %s", forcedModFile.getName()); + try + { + forcedModListProperties.load(new FileReader(forcedModFile)); + FMLLog.finer("Loaded states for %d mods from file", forcedModListProperties.size()); + } + catch (Exception e) + { + FMLLog.log(Level.INFO, e, "An error occurred reading the fmlModState.properties file"); + } + } + modStates.putAll(Maps.fromProperties(forcedModListProperties)); + modStates.putAll(sysPropertyStateList); + FMLLog.fine("After merging, found state information for %d mods", modStates.size()); + + Map isEnabled = Maps.transformValues(modStates, new Function() + { + @Override + public Boolean apply(String input) + { + return Boolean.parseBoolean(input); + } + }); + + for (Map.Entry entry : isEnabled.entrySet()) + { + if (namedMods.containsKey(entry.getKey())) + { + FMLLog.info("Setting mod %s to enabled state %b", entry.getKey(), entry.getValue()); + namedMods.get(entry.getKey()).setEnabledState(entry.getValue()); + } + } + } + + /** + * Query if we know of a mod named modname + * + * @param modname + * @return If the mod is loaded + */ + public static boolean isModLoaded(String modname) + { + return instance().namedMods.containsKey(modname) && instance().modController.getModState(instance.namedMods.get(modname))!=ModState.DISABLED; + } + + public File getConfigDir() + { + return canonicalConfigDir; + } + + public String getCrashInformation() + { + // Handle being called before we've begun setup + if (modController == null) + { + return ""; + } + StringBuilder ret = new StringBuilder(); + List branding = FMLCommonHandler.instance().getBrandings(false); + + Joiner.on(' ').skipNulls().appendTo(ret, branding); + if (modController != null) + { + modController.printModStates(ret); + } + return ret.toString(); + } + + public String getFMLVersionString() + { + return String.format("%s.%s.%s.%s", major, minor, rev, build); + } + + public ClassLoader getModClassLoader() + { + return modClassLoader; + } + + public void computeDependencies(String dependencyString, Set requirements, List dependencies, List dependants) + { + if (dependencyString == null || dependencyString.length() == 0) + { + return; + } + + boolean parseFailure = false; + + for (String dep : DEPENDENCYSPLITTER.split(dependencyString)) + { + List depparts = Lists.newArrayList(DEPENDENCYPARTSPLITTER.split(dep)); + // Need two parts to the string + if (depparts.size() != 2) + { + parseFailure = true; + continue; + } + String instruction = depparts.get(0); + String target = depparts.get(1); + boolean targetIsAll = target.startsWith("*"); + + // Cannot have an "all" relationship with anything except pure * + if (targetIsAll && target.length() > 1) + { + parseFailure = true; + continue; + } + + // If this is a required element, add it to the required list + if ("required-before".equals(instruction) || "required-after".equals(instruction)) + { + // You can't require everything + if (!targetIsAll) + { + requirements.add(VersionParser.parseVersionReference(target)); + } + else + { + parseFailure = true; + continue; + } + } + + // You cannot have a versioned dependency on everything + if (targetIsAll && target.indexOf('@') > -1) + { + parseFailure = true; + continue; + } + // before elements are things we are loaded before (so they are our dependants) + if ("required-before".equals(instruction) || "before".equals(instruction)) + { + dependants.add(VersionParser.parseVersionReference(target)); + } + // after elements are things that load before we do (so they are out dependencies) + else if ("required-after".equals(instruction) || "after".equals(instruction)) + { + dependencies.add(VersionParser.parseVersionReference(target)); + } + else + { + parseFailure = true; + } + } + + if (parseFailure) + { + FMLLog.log(Level.WARN, "Unable to parse dependency string %s", dependencyString); + throw new LoaderException(String.format("Unable to parse dependency string %s", dependencyString)); + } + } + + public Map getIndexedModList() + { + return ImmutableMap.copyOf(namedMods); + } + + public void initializeMods() + { + progressBar.step("Initializing mods Phase 2"); + // Mod controller should be in the initialization state here + modController.distributeStateMessage(LoaderState.INITIALIZATION); + progressBar.step("Initializing mods Phase 3"); + modController.transition(LoaderState.POSTINITIALIZATION, false); + modController.distributeStateMessage(FMLInterModComms.IMCEvent.class); + modController.distributeStateMessage(LoaderState.POSTINITIALIZATION); + progressBar.step("Finishing up"); + modController.transition(LoaderState.AVAILABLE, false); + modController.distributeStateMessage(LoaderState.AVAILABLE); + GameData.freezeData(); + FMLLog.info("Forge Mod Loader has successfully loaded %d mod%s", mods.size(), mods.size() == 1 ? "" : "s"); + progressBar.step("Completing Minecraft initialization"); + } + + public ICrashCallable getCallableCrashInformation() + { + return new ICrashCallable() { + @Override + public String call() throws Exception + { + return getCrashInformation(); + } + + @Override + public String getLabel() + { + return "FML"; + } + }; + } + + public List getActiveModList() + { + return modController != null ? modController.getActiveModList() : ImmutableList.of(); + } + + public ModState getModState(ModContainer selectedMod) + { + return modController.getModState(selectedMod); + } + + public String getMCVersionString() + { + return "Minecraft " + mccversion; + } + + public boolean serverStarting(Object server) + { + try + { + modController.distributeStateMessage(LoaderState.SERVER_STARTING, server); + modController.transition(LoaderState.SERVER_STARTING, false); + } + catch (Throwable t) + { + FMLLog.log(Level.ERROR, t, "A fatal exception occurred during the server starting event"); + return false; + } + return true; + } + + public void serverStarted() + { + modController.distributeStateMessage(LoaderState.SERVER_STARTED); + modController.transition(LoaderState.SERVER_STARTED, false); + } + + public void serverStopping() + { + modController.distributeStateMessage(LoaderState.SERVER_STOPPING); + modController.transition(LoaderState.SERVER_STOPPING, false); + } + + public BiMap getModObjectList() + { + return modController.getModObjectList(); + } + + public BiMap getReversedModObjectList() + { + return getModObjectList().inverse(); + } + + public ModContainer activeModContainer() + { + return modController != null ? modController.activeContainer() : null; + } + + public boolean isInState(LoaderState state) + { + return modController.isInState(state); + } + + public MinecraftDummyContainer getMinecraftModContainer() + { + return minecraft; + } + + public boolean hasReachedState(LoaderState state) + { + return modController != null ? modController.hasReachedState(state) : false; + } + + public String getMCPVersionString() + { + return String.format("MCP v%s", mcpversion); + } + + public void serverStopped() + { + GameData.revertToFrozen(); + modController.distributeStateMessage(LoaderState.SERVER_STOPPED); + modController.transition(LoaderState.SERVER_STOPPED, true); + modController.transition(LoaderState.AVAILABLE, true); + } + + public boolean serverAboutToStart(Object server) + { + try + { + modController.distributeStateMessage(LoaderState.SERVER_ABOUT_TO_START, server); + modController.transition(LoaderState.SERVER_ABOUT_TO_START, false); + } + catch (Throwable t) + { + FMLLog.log(Level.ERROR, t, "A fatal exception occurred during the server about to start event"); + return false; + } + return true; + } + + public Map getFMLBrandingProperties() + { + if (fmlBrandingProperties == null) + { + Properties loaded = new Properties(); + try + { + loaded.load(getClass().getClassLoader().getResourceAsStream("fmlbranding.properties")); + } + catch (Exception e) + { + // File not found - ignore + } + fmlBrandingProperties = Maps.fromProperties(loaded); + } + return fmlBrandingProperties; + } + + + public Map getCustomModProperties(String modId) + { + return getIndexedModList().get(modId).getCustomModProperties(); + } + + boolean checkRemoteModList(Map modList, Side side) + { + Set remoteModIds = modList.keySet(); + Set localModIds = namedMods.keySet(); + + Set difference = Sets.newLinkedHashSet(Sets.difference(localModIds, remoteModIds)); + for (Iterator iterator = difference.iterator(); iterator.hasNext();) + { + String missingRemotely = iterator.next(); + ModState modState = modController.getModState(namedMods.get(missingRemotely)); + if (modState == ModState.DISABLED) + { + iterator.remove(); + } + } + + if (difference.size() > 0) + FMLLog.info("Attempting connection with missing mods %s at %s", difference, side); + return true; + } + + /** + * Fire a FMLMissingMappingsEvent to let mods determine how blocks/items defined in the world + * save, but missing from the runtime, are to be handled. + * + * @param missing Map containing missing names with their associated id, blocks need to come before items for remapping. + * @param isLocalWorld Whether this is executing for a world load (local/server) or a client. + * @param gameData GameData instance where the new map's config is to be loaded into. + * @return List with the mapping results. + */ + public List fireMissingMappingEvent(LinkedHashMap missingBlocks, LinkedHashMap missingItems, + boolean isLocalWorld, GameData gameData, Map remapBlocks, Map remapItems) + { + if (missingBlocks.isEmpty() && missingItems.isEmpty()) // nothing to do + { + return ImmutableList.of(); + } + + FMLLog.fine("There are %d mappings missing - attempting a mod remap", missingBlocks.size() + missingItems.size()); + ArrayListMultimap missingMappings = ArrayListMultimap.create(); + + for (Map.Entry mapping : missingBlocks.entrySet()) + { + MissingMapping m = new MissingMapping(GameRegistry.Type.BLOCK, mapping.getKey(), mapping.getValue()); + missingMappings.put(m.name.substring(0, m.name.indexOf(':')), m); + } + for (Map.Entry mapping : missingItems.entrySet()) + { + MissingMapping m = new MissingMapping(GameRegistry.Type.ITEM, mapping.getKey(), mapping.getValue()); + missingMappings.put(m.name.substring(0, m.name.indexOf(':')), m); + } + + FMLMissingMappingsEvent missingEvent = new FMLMissingMappingsEvent(missingMappings); + modController.propogateStateMessage(missingEvent); + + if (isLocalWorld) // local world, warn about entries still being set to the default action + { + boolean didWarn = false; + + for (MissingMapping mapping : missingMappings.values()) + { + if (mapping.getAction() == FMLMissingMappingsEvent.Action.DEFAULT) + { + if (!didWarn) + { + FMLLog.severe("There are unidentified mappings in this world - we are going to attempt to process anyway"); + didWarn = true; + } + + FMLLog.severe("Unidentified %s: %s, id %d", mapping.type == Type.BLOCK ? "block" : "item", mapping.name, mapping.id); + } + } + } + else // remote world, fail on entries with the default action + { + List missedMapping = new ArrayList(); + + for (MissingMapping mapping : missingMappings.values()) + { + if (mapping.getAction() == FMLMissingMappingsEvent.Action.DEFAULT) + { + missedMapping.add(mapping.name); + } + } + + if (!missedMapping.isEmpty()) + { + return ImmutableList.copyOf(missedMapping); + } + } + + return GameData.processIdRematches(missingMappings.values(), isLocalWorld, gameData, remapBlocks, remapItems); + } + + public void fireRemapEvent(Map remapBlocks, Map remapItems) + { + if (remapBlocks.isEmpty() && remapItems.isEmpty()) + { + FMLLog.finer("Skipping remap event - no remaps occured"); + } + else + { + modController.propogateStateMessage(new FMLModIdMappingEvent(remapBlocks, remapItems)); + } + } + + public void runtimeDisableMod(String modId) + { + ModContainer mc = namedMods.get(modId); + Disableable disableable = mc.canBeDisabled(); + if (disableable == Disableable.NEVER) + { + FMLLog.info("Cannot disable mod %s - it is never allowed to be disabled", modId); + return; + } + if (disableable == Disableable.DEPENDENCIES) + { + FMLLog.info("Cannot disable mod %s - there are dependent mods that require its presence", modId); + return; + } + if (disableable == Disableable.YES) + { + FMLLog.info("Runtime disabling mod %s", modId); + modController.disableMod(mc); + List localmods = Lists.newArrayList(mods); + localmods.remove(mc); + mods = ImmutableList.copyOf(localmods); + } + + try + { + Properties props = new Properties(); + props.load(new FileReader(forcedModFile)); + props.put(modId, "false"); + props.store(new FileWriter(forcedModFile), null); + } + catch (Exception e) + { + FMLLog.log(Level.INFO, e, "An error occurred writing the fml mod states file, your disabled change won't persist"); + } + } + + public void loadingComplete() + { + ProgressManager.pop(progressBar); + progressBar = null; + } + + private ListMultimap injectedBefore = ArrayListMultimap.create(); + private ListMultimap injectedAfter = ArrayListMultimap.create(); + + private void readInjectedDependencies() + { + File injectedDepFile = new File(getConfigDir(),"injectedDependencies.json"); + if (!injectedDepFile.exists()) + { + FMLLog.getLogger().log(Level.DEBUG, "File {} not found. No dependencies injected", injectedDepFile.getAbsolutePath()); + return; + } + JsonParser parser = new JsonParser(); + JsonElement injectedDeps; + try + { + injectedDeps = parser.parse(new FileReader(injectedDepFile)); + for (JsonElement el : injectedDeps.getAsJsonArray()) + { + JsonObject jo = el.getAsJsonObject(); + String modId = jo.get("modId").getAsString(); + JsonArray deps = jo.get("deps").getAsJsonArray(); + for (JsonElement dep : deps) + { + JsonObject depObj = dep.getAsJsonObject(); + String type = depObj.get("type").getAsString(); + if (type.equals("before")) { + injectedBefore.put(modId, VersionParser.parseVersionReference(depObj.get("target").getAsString())); + } else if (type.equals("after")) { + injectedAfter.put(modId, VersionParser.parseVersionReference(depObj.get("target").getAsString())); + } else { + FMLLog.getLogger().log(Level.ERROR, "Invalid dependency type {}", type); + throw new RuntimeException("Unable to parse type"); + } + } + } + } catch (Exception e) + { + FMLLog.getLogger().log(Level.ERROR, "Unable to parse {} - skipping", injectedDepFile); + FMLLog.getLogger().throwing(Level.ERROR, e); + return; + } + FMLLog.getLogger().log(Level.DEBUG, "Loaded {} injected dependencies on modIds: {}", injectedBefore.size(), injectedBefore.keySet()); + } + + List getInjectedBefore(String modId) + { + return injectedBefore.get(modId); + } + List getInjectedAfter(String modId) + { + return injectedAfter.get(modId); + } + + public final LoaderState getLoaderState() + { + return modController != null ? modController.getState() : LoaderState.NOINIT; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/LoaderException.java b/fml/src/main/java/net/minecraftforge/fml/common/LoaderException.java new file mode 100644 index 000000000..ba212b4c6 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/LoaderException.java @@ -0,0 +1,36 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +public class LoaderException extends EnhancedRuntimeException +{ + /** + * + */ + private static final long serialVersionUID = -5675297950958861378L; + + public LoaderException(Throwable wrapped) + { + super(wrapped); + } + + public LoaderException() + { + } + public LoaderException(String message) + { + super(message); + } + + @Override protected void printStackTrace(WrappedPrintStream stream){} +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/LoaderState.java b/fml/src/main/java/net/minecraftforge/fml/common/LoaderState.java new file mode 100644 index 000000000..67f3fc4c7 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/LoaderState.java @@ -0,0 +1,120 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import net.minecraftforge.fml.common.event.FMLConstructionEvent; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.event.FMLLoadCompleteEvent; +import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.event.FMLServerAboutToStartEvent; +import net.minecraftforge.fml.common.event.FMLServerStartedEvent; +import net.minecraftforge.fml.common.event.FMLServerStartingEvent; +import net.minecraftforge.fml.common.event.FMLServerStoppedEvent; +import net.minecraftforge.fml.common.event.FMLServerStoppingEvent; +import net.minecraftforge.fml.common.event.FMLStateEvent; + +import com.google.common.base.Throwables; + +/** + * The state enum used to help track state progression for the loader + * @author cpw + * + */ +public enum LoaderState +{ + NOINIT("Uninitialized",null), + LOADING("Loading",null), + CONSTRUCTING("Constructing mods",FMLConstructionEvent.class), + PREINITIALIZATION("Pre-initializing mods", FMLPreInitializationEvent.class), + INITIALIZATION("Initializing mods", FMLInitializationEvent.class), + POSTINITIALIZATION("Post-initializing mods", FMLPostInitializationEvent.class), + AVAILABLE("Mod loading complete", FMLLoadCompleteEvent.class), + SERVER_ABOUT_TO_START("Server about to start", FMLServerAboutToStartEvent.class), + SERVER_STARTING("Server starting", FMLServerStartingEvent.class), + SERVER_STARTED("Server started", FMLServerStartedEvent.class), + SERVER_STOPPING("Server stopping", FMLServerStoppingEvent.class), + SERVER_STOPPED("Server stopped", FMLServerStoppedEvent.class), + ERRORED("Mod Loading errored",null); + + + private Class eventClass; + private String name; + + private LoaderState(String name, Class event) + { + this.name = name; + this.eventClass = event; + } + + public LoaderState transition(boolean errored) + { + if (errored) + { + return ERRORED; + } + // stopping -> available + if (this == SERVER_STOPPED) + { + return AVAILABLE; + } + return values()[ordinal() < values().length ? ordinal()+1 : ordinal()]; + } + + public boolean hasEvent() + { + return eventClass != null; + } + + public FMLStateEvent getEvent(Object... eventData) + { + try + { + return eventClass.getConstructor(Object[].class).newInstance((Object)eventData); + } + catch (Exception e) + { + throw Throwables.propagate(e); + } + } + public LoaderState requiredState() + { + if (this == NOINIT) return NOINIT; + return LoaderState.values()[this.ordinal()-1]; + } + public enum ModState + { + UNLOADED("Unloaded"), + LOADED("Loaded"), + CONSTRUCTED("Constructed"), + PREINITIALIZED("Pre-initialized"), + INITIALIZED("Initialized"), + POSTINITIALIZED("Post-initialized"), + AVAILABLE("Available"), + DISABLED("Disabled"), + ERRORED("Errored"); + + private String label; + + private ModState(String label) + { + this.label = label; + } + + @Override + public String toString() + { + return this.label; + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/MCPDummyContainer.java b/fml/src/main/java/net/minecraftforge/fml/common/MCPDummyContainer.java new file mode 100644 index 000000000..fa9636d4a --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/MCPDummyContainer.java @@ -0,0 +1,32 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import com.google.common.eventbus.EventBus; + +public class MCPDummyContainer extends DummyModContainer { + public MCPDummyContainer(ModMetadata metadata) { + super(metadata); + } + + @Override + public boolean registerBus(EventBus bus, LoadController controller) { + return true; + } + + @Override + public Disableable canBeDisabled() + { + return Disableable.YES; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/MetadataCollection.java b/fml/src/main/java/net/minecraftforge/fml/common/MetadataCollection.java new file mode 100644 index 000000000..46dbcf6d9 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/MetadataCollection.java @@ -0,0 +1,125 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.Map; + +import net.minecraftforge.fml.common.versioning.ArtifactVersion; +import net.minecraftforge.fml.common.versioning.VersionParser; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.Throwables; +import com.google.common.collect.Maps; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonParseException; +import com.google.gson.JsonParser; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +public class MetadataCollection +{ + private String modListVersion; + private ModMetadata[] modList; + private Map metadatas = Maps.newHashMap(); + + public static MetadataCollection from(InputStream inputStream, String sourceName) + { + if (inputStream == null) + { + return new MetadataCollection(); + } + + InputStreamReader reader = new InputStreamReader(inputStream); + try + { + MetadataCollection collection; + Gson gson = new GsonBuilder().registerTypeAdapter(ArtifactVersion.class, new ArtifactVersionAdapter()).create(); + JsonParser parser = new JsonParser(); + JsonElement rootElement = parser.parse(reader); + if (rootElement.isJsonArray()) + { + collection = new MetadataCollection(); + JsonArray jsonList = rootElement.getAsJsonArray(); + collection.modList = new ModMetadata[jsonList.size()]; + int i = 0; + for (JsonElement mod : jsonList) + { + collection.modList[i++]=gson.fromJson(mod, ModMetadata.class); + } + } + else + { + collection = gson.fromJson(rootElement, MetadataCollection.class); + } + collection.parseModMetadataList(); + return collection; + } + catch (JsonParseException e) + { + FMLLog.log(Level.ERROR, e, "The mcmod.info file in %s cannot be parsed as valid JSON. It will be ignored", sourceName); + return new MetadataCollection(); + } + catch (Exception e) + { + throw Throwables.propagate(e); + } + } + + + private void parseModMetadataList() + { + for (ModMetadata modMetadata : modList) + { + metadatas.put(modMetadata.modId, modMetadata); + } + } + + public ModMetadata getMetadataForId(String modId, Map extraData) + { + if (!metadatas.containsKey(modId)) + { + ModMetadata dummy = new ModMetadata(); + dummy.modId = modId; + dummy.name = (String) extraData.get("name"); + dummy.version = (String) extraData.get("version"); + dummy.autogenerated = true; + metadatas.put(modId, dummy); + } + return metadatas.get(modId); + } + + public static class ArtifactVersionAdapter extends TypeAdapter + { + + @Override + public void write(JsonWriter out, ArtifactVersion value) throws IOException + { + // no op - we never write these out + } + + @Override + public ArtifactVersion read(JsonReader in) throws IOException + { + return VersionParser.parseVersionReference(in.nextString()); + } + + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/MinecraftDummyContainer.java b/fml/src/main/java/net/minecraftforge/fml/common/MinecraftDummyContainer.java new file mode 100644 index 000000000..736cbda0b --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/MinecraftDummyContainer.java @@ -0,0 +1,36 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import net.minecraftforge.fml.common.versioning.VersionParser; +import net.minecraftforge.fml.common.versioning.VersionRange; + +public class MinecraftDummyContainer extends DummyModContainer +{ + + private VersionRange staticRange; + public MinecraftDummyContainer(String actualMCVersion) + { + super(new ModMetadata()); + getMetadata().modId = "Minecraft"; + getMetadata().name = "Minecraft"; + getMetadata().version = actualMCVersion; + staticRange = VersionParser.parseRange("["+actualMCVersion+"]"); + } + + + public VersionRange getStaticVersionRange() + { + return staticRange; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/MissingModsException.java b/fml/src/main/java/net/minecraftforge/fml/common/MissingModsException.java new file mode 100644 index 000000000..5d268e554 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/MissingModsException.java @@ -0,0 +1,41 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.util.Set; + +import net.minecraftforge.fml.common.EnhancedRuntimeException.WrappedPrintStream; +import net.minecraftforge.fml.common.versioning.ArtifactVersion; + +public class MissingModsException extends EnhancedRuntimeException +{ + private static final long serialVersionUID = 1L; + public final Set missingMods; + + public MissingModsException(Set missingMods, String id, String name) + { + super(String.format("Mod %s (%s) requires %s", id, name, missingMods)); + this.missingMods = missingMods; + } + + @Override + protected void printStackTrace(WrappedPrintStream stream) + { + stream.println("Missing Mods:"); + for (ArtifactVersion v : missingMods) + { + stream.println(String.format("\t%s : %s", v.getLabel(), v.getRangeString())); + } + stream.println(""); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/Mod.java b/fml/src/main/java/net/minecraftforge/fml/common/Mod.java new file mode 100644 index 000000000..a2ad32063 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/Mod.java @@ -0,0 +1,308 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import net.minecraftforge.fml.client.IModGuiFactory; +import net.minecraftforge.fml.common.event.FMLEvent; +import net.minecraftforge.fml.common.event.FMLFingerprintViolationEvent; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.event.FMLInterModComms; +import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.event.FMLServerAboutToStartEvent; +import net.minecraftforge.fml.common.event.FMLServerStartedEvent; +import net.minecraftforge.fml.common.event.FMLServerStartingEvent; +import net.minecraftforge.fml.common.event.FMLServerStoppedEvent; +import net.minecraftforge.fml.common.event.FMLServerStoppingEvent; +import net.minecraftforge.fml.common.event.FMLInterModComms.IMCEvent; +import net.minecraftforge.fml.common.network.NetworkCheckHandler; +import net.minecraftforge.fml.common.registry.GameRegistry; + +/** + * This defines a Mod to FML. + * Any class found with this annotation applied will be loaded as a Mod. The instance that is loaded will + * represent the mod to other Mods in the system. It will be sent various subclasses of {@link FMLEvent} + * at pre-defined times during the loading of the game, based on where you have applied the {@link EventHandler} + * annotation. + * + *

This is a simple example of a Mod. It has the modId of "MyModId", the name of "My example mod", it is + * version 1.0, and depends on FML being loaded. + *

{@code
+ * package mymod;
+ * // Declare that this is a mod with modId "MyModId", name "My example mod", version "1.0" and dependency on FML.
+ * {@literal @}Mod(modId="MyModId",name="My example mod",version="1.0",dependencies="required-after:FML")
+ * public class MyMod {
+ *      // Populate this field with the instance of the mod created by FML
+ *      {@literal @}Instance("MyModId")
+ *      public MyMod instance;
+ *
+ *      // Mark this method for receiving an {@link FMLEvent} (in this case, it's the {@link FMLPreInitializationEvent})
+ *      {@literal @}EventHandler public void preInit(FMLPreInitializationEvent event)
+ *      {
+ *          // Do stuff in pre-init phase (read config, create blocks and items, register them)
+ *      }
+ * }
+ * }
+ * 
+ * + * @author cpw + * + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface Mod +{ + /** + * The unique mod identifier for this mod + */ + String modid(); + /** + * A user friendly name for the mod + */ + String name() default ""; + /** + * A version string for this mod + */ + String version() default ""; + /** + * A simple dependency string for this mod (see modloader's "priorities" string specification) + */ + String dependencies() default ""; + /** + * Whether to use the mcmod.info metadata by default for this mod. + * If true, settings in the mcmod.info file will override settings in these annotations. + */ + boolean useMetadata() default false; + + /** + * If true, this mod will not be loaded on the Dedicated Server environment. + * Will crash if both serverSideOnly and clientSideOnly are set to true. + */ + boolean clientSideOnly() default false; + + /** + * If true, this mod will not be loaded on the Client environment. + * Will crash if both serverSideOnly and clientSideOnly are set to true. + */ + boolean serverSideOnly() default false; + + /** + * The acceptable range of minecraft versions that this mod will load and run in + * The default ("empty string") indicates that the currently RUNNING minecraft version is acceptable. + * This means ANY version that the end user adds the mod to. Modders PLEASS set this. + * FML will refuse to run with an error if the minecraft version is not in this range across all mods. + * @return A version range as specified by the maven version range specification or the empty string + */ + String acceptedMinecraftVersions() default ""; + /** + * A replacement for the no-longer-existing "versionRange" of NetworkMod. Specify a remote version range + * that this mod will accept as valid. Defaults to nothing, which is interpreted as "only this version". + * Another special value is '*' which means accept all versions. + * + * This is ignored if there is a {@link NetworkCheckHandler} annotation on a method in this class. + * + * @return A version range as specified by the maven version range specification or the empty string + */ + String acceptableRemoteVersions() default ""; + + /** + * A version range specifying compatible save version information. If your mod follows good version numbering + * practice Like this (http://semver.org/) then this should be sufficient. + * + * Advanced users can specify a {@link SaveInspectionHandler} instead. + * @return A version range as specified by the maven version range specification or the empty string + */ + String acceptableSaveVersions() default ""; + /** + * An optional bukkit plugin that will be injected into the bukkit plugin framework if + * this mod is loaded into the FML framework and the bukkit coremod is present. + * Instances of the bukkit plugin can be obtained via the {@link BukkitPluginRef} annotation on fields. + * + * This may be implemented by a bukkit integration. It is not provided with vanilla FML or MinecraftForge. + * + * @return The name of the plugin to load for this mod + */ + String bukkitPlugin() default ""; + /** + * Specifying this field allows for a mod to expect a signed jar with a fingerprint matching this value. + * The fingerprint should be SHA-1 encoded, lowercase with ':' removed. An empty value indicates that + * the mod is not expecting to be signed. + * + * Any incorrectness of the fingerprint, be it missing or wrong, will result in the {@link FMLFingerprintViolationEvent} + * event firing prior to any other event on the mod. + * + * @return A certificate fingerprint that is expected for this mod. + */ + String certificateFingerprint() default ""; + + /** + * The language the mod is authored in. This will be used to control certain compatibility behaviours for this mod. + * Valid values are currently "java", "scala" + * + * @return The language the mod is authored in + */ + String modLanguage() default "java"; + + /** + * The language adapter to be used to load this mod. This overrides the value of modLanguage. The class must have a + * public zero variable constructor and implement {@link ILanguageAdapter} just like the Java and Scala adapters. + * + * A class with an invalid constructor or that doesn't implement {@link ILanguageAdapter} will throw an exception and + * halt loading. + * + * @return The full class name of the language adapter + */ + String modLanguageAdapter() default ""; + + /** + * NOT YET IMPLEMENTED.
+ * An optional ASM hook class, that can be used to apply ASM to classes loaded from this mod. It is also given + * the ASM tree of the class declaring {@link Mod} to do with what it will. + * + * @return The name of a class to be loaded and executed. Must implement {@link IASMHook}. + */ + @Deprecated + String asmHookClass() default ""; + + /** + * If your mod doesn't have a runtime persistent effect on the state of the game, and can be disabled without side effects + * (minimap mods, graphical tweak mods) then you can set true here and receive the FMLDeactivationEvent to perform deactivation + * tasks. + * This does not affect administrative disabling through the system property fml.modStates or the config file fmlModState.properties. + * The mod will only be deactivated outside of a running game world - FML will never allow mod deactivation whilst a game server + * is running. + * + * @return if this mod can be deactivated whilst the game is open. + */ + boolean canBeDeactivated() default false; + + /** + * An optional GUI factory for this mod. This is the name of a class implementing {@link IModGuiFactory} that will be instantiated + * on the client side, and will have certain configuration/options guis requested from it. + * + * @return The name of a class implementing {@link IModGuiFactory} + */ + String guiFactory() default ""; + /** + * A list of custom properties for this mod. Completely up to the mod author if/when they + * want to put anything in here. + * @return an optional list of custom properties + */ + CustomProperty[] customProperties() default {}; + + /** + * A custom key => value property pair for use with {@link Mod#customProperties()} + * @author cpw + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target({}) + public @interface CustomProperty + { + /** + * A key. Should be unique. + * @return A key + */ + String k(); + /** + * A value. Can be anything. + * @return A value + */ + String v(); + } + /** + * Marks the associated method as handling an FML lifecycle event. + * The method must have a single parameter, one of the following types. This annotation + * replaces the multiple different annotations that previously were used. + * + * Current event classes. This first section is standard lifecycle events. They are dispatched + * at various phases as the game starts. Each event should have information useful to that + * phase of the lifecycle. They are fired in this order. + * + * These suggestions are mostly just suggestions on what to do in each event. + *
    + *
  • {@link FMLPreInitializationEvent} : Run before anything else. Read your config, create blocks, + * items, etc, and register them with the {@link GameRegistry}.
  • + *
  • {@link FMLInitializationEvent} : Do your mod setup. Build whatever data structures you care about. Register recipes, + * send {@link FMLInterModComms} messages to other mods.
  • + *
  • {@link FMLPostInitializationEvent} : Handle interaction with other mods, complete your setup based on this.
  • + *
+ *

These are the server lifecycle events. They are fired whenever a server is running, or about to run. Each time a server + * starts they will be fired in this sequence. + *

    + *
  • {@link FMLServerAboutToStartEvent} : Use if you need to handle something before the server has even been created.
  • + *
  • {@link FMLServerStartingEvent} : Do stuff you need to do to set up the server. register commands, tweak the server.
  • + *
  • {@link FMLServerStartedEvent} : Do what you need to with the running server.
  • + *
  • {@link FMLServerStoppingEvent} : Do what you need to before the server has started it's shutdown sequence.
  • + *
  • {@link FMLServerStoppedEvent} : Do whatever cleanup you need once the server has shutdown. Generally only useful + * on the integrated server.
  • + *
+ * The second set of events are more specialized, for receiving notification of specific + * information. + *
    + *
  • {@link FMLFingerprintViolationEvent} : Sent just before {@link FMLPreInitializationEvent} + * if something is wrong with your mod signature
  • + *
  • {@link IMCEvent} : Sent just after {@link FMLInitializationEvent} if you have IMC messages waiting + * from other mods
  • + *
+ * + * @author cpw + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.METHOD) + public @interface EventHandler{} + + /** + * Populate the annotated field with the mod instance based on the specified ModId. This can be used + * to retrieve instances of other mods. + * @author cpw + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.FIELD) + public @interface Instance { + /** + * The mod object to inject into this field + */ + String value() default ""; + } + /** + * Populate the annotated field with the mod's metadata. + * @author cpw + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.FIELD) + public @interface Metadata { + /** + * The mod id specifying the metadata to load here + */ + String value() default ""; + } + + /** + * Mod instance factory method. Should return an instance of the mod. Applies only to static methods on the same class as {@link Mod}. + * @author cpw + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.METHOD) + public @interface InstanceFactory { + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/ModAPIManager.java b/fml/src/main/java/net/minecraftforge/fml/common/ModAPIManager.java new file mode 100644 index 000000000..4d361ca64 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/ModAPIManager.java @@ -0,0 +1,232 @@ +package net.minecraftforge.fml.common; + +import java.io.File; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import net.minecraftforge.fml.common.asm.transformers.ModAPITransformer; +import net.minecraftforge.fml.common.discovery.ASMDataTable; +import net.minecraftforge.fml.common.discovery.ModCandidate; +import net.minecraftforge.fml.common.discovery.ModDiscoverer; +import net.minecraftforge.fml.common.discovery.ASMDataTable.ASMData; +import net.minecraftforge.fml.common.functions.ModIdFunction; +import net.minecraftforge.fml.common.versioning.ArtifactVersion; +import net.minecraftforge.fml.common.versioning.DefaultArtifactVersion; +import net.minecraftforge.fml.common.versioning.VersionParser; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; + +public class ModAPIManager { + public static final ModAPIManager INSTANCE = new ModAPIManager(); + private ModAPITransformer transformer; + private ASMDataTable dataTable; + private Map apiContainers; + + private static class APIContainer extends DummyModContainer { + private List referredMods; + private ArtifactVersion ownerMod; + private ArtifactVersion ourVersion; + private String providedAPI; + private File source; + private String version; + private Set currentReferents; + private Set packages; + private boolean selfReferenced; + + public APIContainer(String providedAPI, String apiVersion, File source, ArtifactVersion ownerMod) + { + this.providedAPI = providedAPI; + this.version = apiVersion; + this.ownerMod = ownerMod; + this.ourVersion = new DefaultArtifactVersion(providedAPI, apiVersion); + this.referredMods = Lists.newArrayList(); + this.source = source; + this.currentReferents = Sets.newHashSet(); + this.packages = Sets.newHashSet(); + } + + @Override + public File getSource() + { + return source; + } + @Override + public String getVersion() + { + return version; + } + @Override + public String getName() + { + return "API: "+providedAPI; + } + @Override + public String getModId() + { + return providedAPI; + } + @Override + public List getDependants() + { + return referredMods; + } + + @Override + public List getDependencies() + { + return selfReferenced ? ImmutableList.of() : ImmutableList.of(ownerMod); + } + + @Override + public ArtifactVersion getProcessedVersion() + { + return ourVersion; + } + + public void validate(String providedAPI, String apiOwner, String apiVersion) + { + // TODO Compare this annotation data to the one we first found. Maybe barf if there is inconsistency? + } + + @Override + public String toString() + { + return "APIContainer{"+providedAPI+":"+version+"}"; + } + + public void addAPIReference(String embedded) + { + if (currentReferents.add(embedded)) + { + referredMods.add(VersionParser.parseVersionReference(embedded)); + } + } + + public void addOwnedPackage(String apiPackage) + { + packages.add(apiPackage); + } + + public void addAPIReferences(List candidateIds) + { + for (String modId : candidateIds) + { + addAPIReference(modId); + } + } + + void markSelfReferenced() + { + selfReferenced = true; + } + } + public void registerDataTableAndParseAPI(ASMDataTable dataTable) + { + this.dataTable = dataTable; + + Set apiList = dataTable.getAll("net.minecraftforge.fml.common.API"); + + apiContainers = Maps.newHashMap(); + + for (ASMData data : apiList) + { + Map annotationInfo = data.getAnnotationInfo(); + String apiPackage = data.getClassName().substring(0,data.getClassName().indexOf(".package-info")); + String providedAPI = (String) annotationInfo.get("provides"); + String apiOwner = (String) annotationInfo.get("owner"); + String apiVersion = (String) annotationInfo.get("apiVersion"); + APIContainer container = apiContainers.get(providedAPI); + if (container == null) + { + container = new APIContainer(providedAPI, apiVersion, data.getCandidate().getModContainer(), VersionParser.parseVersionReference(apiOwner)); + apiContainers.put(providedAPI, container); + } + else + { + container.validate(providedAPI, apiOwner, apiVersion); + } + container.addOwnedPackage(apiPackage); + for (ModContainer mc : data.getCandidate().getContainedMods()) + { + String embeddedIn = mc.getModId(); + if (container.currentReferents.contains(embeddedIn)) + { + continue; + } + FMLLog.fine("Found API %s (owned by %s providing %s) embedded in %s",apiPackage, apiOwner, providedAPI, embeddedIn); + if (!embeddedIn.equals(apiOwner)) + { + container.addAPIReference(embeddedIn); + } + } + } + + for (APIContainer container : apiContainers.values()) + { + for (String pkg : container.packages) + { + Set candidates = dataTable.getCandidatesFor(pkg); + for (ModCandidate candidate : candidates) + { + List candidateIds = Lists.transform(candidate.getContainedMods(), new ModIdFunction()); + if (!candidateIds.contains(container.ownerMod.getLabel()) && !container.currentReferents.containsAll(candidateIds)) + { + FMLLog.info("Found mod(s) %s containing declared API package %s (owned by %s) without associated API reference",candidateIds, pkg, container.ownerMod); + container.addAPIReferences(candidateIds); + } + } + } + if (apiContainers.containsKey(container.ownerMod.getLabel())) + { + ArtifactVersion owner = container.ownerMod; + do + { + APIContainer parent = apiContainers.get(owner.getLabel()); + if (parent == container) + { + FMLLog.finer("APIContainer %s is it's own parent. skipping", owner); + container.markSelfReferenced(); + break; + } + FMLLog.finer("Removing upstream parent %s from %s", parent.ownerMod.getLabel(), container); + container.currentReferents.remove(parent.ownerMod.getLabel()); + container.referredMods.remove(parent.ownerMod); + owner = parent.ownerMod; + } + while (apiContainers.containsKey(owner.getLabel())); + } + FMLLog.fine("Creating API container dummy for API %s: owner: %s, dependents: %s", container.providedAPI, container.ownerMod, container.referredMods); + } + } + + public void manageAPI(ModClassLoader modClassLoader, ModDiscoverer discoverer) + { + registerDataTableAndParseAPI(discoverer.getASMTable()); + transformer = modClassLoader.addModAPITransformer(dataTable); + } + + public void injectAPIModContainers(List mods, Map nameLookup) + { + mods.addAll(apiContainers.values()); + nameLookup.putAll(apiContainers); + } + + public void cleanupAPIContainers(List mods) + { + mods.removeAll(apiContainers.values()); + } + + public boolean hasAPI(String modId) + { + return apiContainers.containsKey(modId); + } + + public Iterable getAPIList() + { + return apiContainers.values(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/ModClassLoader.java b/fml/src/main/java/net/minecraftforge/fml/common/ModClassLoader.java new file mode 100644 index 000000000..161f93623 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/ModClassLoader.java @@ -0,0 +1,151 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import net.minecraft.launchwrapper.IClassTransformer; +import net.minecraft.launchwrapper.LaunchClassLoader; +import net.minecraftforge.fml.common.asm.transformers.ModAPITransformer; +import net.minecraftforge.fml.common.discovery.ASMDataTable; + +import org.apache.logging.log4j.Level; + +import com.google.common.collect.ImmutableList; + +/** + * A simple delegating class loader used to load mods into the system + * + * + * @author cpw + * + */ +public class ModClassLoader extends URLClassLoader +{ + private static final List STANDARD_LIBRARIES = ImmutableList.of("jinput.jar", "lwjgl.jar", "lwjgl_util.jar", "rt.jar"); + private LaunchClassLoader mainClassLoader; + + public ModClassLoader(ClassLoader parent) { + super(new URL[0], null); + this.mainClassLoader = (LaunchClassLoader)parent; + } + + public void addFile(File modFile) throws MalformedURLException + { + URL url = modFile.toURI().toURL(); + mainClassLoader.addURL(url); + } + + @Override + public Class loadClass(String name) throws ClassNotFoundException + { + return mainClassLoader.loadClass(name); + } + + public File[] getParentSources() { + try + { + List files=new ArrayList(); + for(URL url : mainClassLoader.getSources()) + { + URI uri = url.toURI(); + if(uri.getScheme().equals("file")) + { + files.add(new File(uri)); + } + } + return files.toArray(new File[]{}); + } + catch (URISyntaxException e) + { + FMLLog.log(Level.ERROR, e, "Unable to process our input to locate the minecraft code"); + throw new LoaderException(e); + } + } + + public List getDefaultLibraries() + { + return STANDARD_LIBRARIES; + } + + public boolean isDefaultLibrary(File file) + { + // Should really pull this from the json somehow, but we dont have that at runtime. + String name = file.getName(); + if (!name.endsWith(".jar")) return false; + String[] prefixes = + { + "launchwrapper-", + "asm-all-", + "akka-actor_2.11-", + "config-", + "scala-", + "jopt-simple-", + "lzma-", + "realms-", + "httpclient-", + "httpcore-", + "vecmath-", + "trove4j-", + "icu4j-core-mojang-", + "codecjorbis-", + "codecwav-", + "libraryjavawound-", + "librarylwjglopenal-", + "soundsystem-", + "netty-all-", + "quava-", + "commons-lang3-", + "commons-compress-", + "commons-logging-", + "commons-io-", + "commons-codec-", + "jinput-", + "jutils-", + "gson-", + "authlib-", + "log4j-api-", + "log4j-core-", + "lwjgl-", + "lwjgl_util-", + "twitch-" + }; + for (String s : prefixes) + { + if (name.startsWith(s)) return true; + } + return false; + } + + public void clearNegativeCacheFor(Set classList) + { + mainClassLoader.clearNegativeEntries(classList); + } + + public ModAPITransformer addModAPITransformer(ASMDataTable dataTable) + { + mainClassLoader.registerTransformer("net.minecraftforge.fml.common.asm.transformers.ModAPITransformer"); + List transformers = mainClassLoader.getTransformers(); + ModAPITransformer modAPI = (ModAPITransformer) transformers.get(transformers.size()-1); + modAPI.initTable(dataTable); + return modAPI; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/ModContainer.java b/fml/src/main/java/net/minecraftforge/fml/common/ModContainer.java new file mode 100644 index 000000000..dde8ddef5 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/ModContainer.java @@ -0,0 +1,152 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.io.File; +import java.security.cert.Certificate; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import net.minecraftforge.fml.common.versioning.ArtifactVersion; +import net.minecraftforge.fml.common.versioning.VersionRange; + +import com.google.common.collect.ImmutableMap; +import com.google.common.eventbus.EventBus; + +/** + * The container that wraps around mods in the system. + *

+ * The philosophy is that individual mod implementation technologies should not + * impact the actual loading and management of mod code. This interface provides + * a mechanism by which we can wrap actual mod code so that the loader and other + * facilities can treat mods at arms length. + *

+ * + * @author cpw + * + */ + +public interface ModContainer +{ + public static enum Disableable { + YES, RESTART, NEVER, DEPENDENCIES; + } + /** + * The globally unique modid for this mod + */ + String getModId(); + + /** + * A human readable name + */ + + String getName(); + + /** + * A human readable version identifier + */ + String getVersion(); + + /** + * The location on the file system which this mod came from + */ + File getSource(); + + /** + * The metadata for this mod + */ + ModMetadata getMetadata(); + + /** + * Attach this mod to it's metadata from the supplied metadata collection + */ + void bindMetadata(MetadataCollection mc); + + /** + * Set the enabled/disabled state of this mod + */ + void setEnabledState(boolean enabled); + + /** + * A list of the modids that this mod requires loaded prior to loading + */ + Set getRequirements(); + + /** + * A list of modids that should be loaded prior to this one. The special + * value * indicates to load after any other mod. + */ + List getDependencies(); + + /** + * A list of modids that should be loaded after this one. The + * special value * indicates to load before any + * other mod. + */ + List getDependants(); + + /** + * A representative string encapsulating the sorting preferences for this + * mod + */ + String getSortingRules(); + + /** + * Register the event bus for the mod and the controller for error handling + * Returns if this bus was successfully registered - disabled mods and other + * mods that don't need real events should return false and avoid further + * processing + * + * @param bus + * @param controller + */ + boolean registerBus(EventBus bus, LoadController controller); + + /** + * Does this mod match the supplied mod + * + * @param mod + */ + boolean matches(Object mod); + + /** + * Get the actual mod object + */ + Object getMod(); + + ArtifactVersion getProcessedVersion(); + + boolean isImmutable(); + + String getDisplayVersion(); + + VersionRange acceptableMinecraftVersionRange(); + + Certificate getSigningCertificate(); + + public static final Map EMPTY_PROPERTIES = ImmutableMap.of(); + Map getCustomModProperties(); + + public Class getCustomResourcePackClass(); + + Map getSharedModDescriptor(); + + Disableable canBeDisabled(); + + String getGuiClassName(); + + List getOwnedPackages(); + + boolean shouldLoadInEnvironment(); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/ModContainerFactory.java b/fml/src/main/java/net/minecraftforge/fml/common/ModContainerFactory.java new file mode 100644 index 000000000..6b1a1240a --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/ModContainerFactory.java @@ -0,0 +1,95 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.io.File; +import java.lang.reflect.Constructor; +import java.util.Map; +import java.util.regex.Pattern; + +import net.minecraftforge.fml.common.discovery.ModCandidate; +import net.minecraftforge.fml.common.discovery.asm.ASMModParser; +import net.minecraftforge.fml.common.discovery.asm.ModAnnotation; + +import org.apache.logging.log4j.Level; +import org.objectweb.asm.Type; + +import com.google.common.base.Throwables; +import com.google.common.collect.Maps; + +public class ModContainerFactory +{ + public static Map> modTypes = Maps.newHashMap(); + private static Pattern modClass = Pattern.compile(".*(\\.|)(mod\\_[^\\s$]+)$"); + private static ModContainerFactory INSTANCE = new ModContainerFactory(); + + private ModContainerFactory() { + // We always know about Mod type + registerContainerType(Type.getType(Mod.class), FMLModContainer.class); + } + public static ModContainerFactory instance() { + return INSTANCE; + } + + public void registerContainerType(Type type, Class container) + { + try { + Constructor constructor = container.getConstructor(new Class[] { String.class, ModCandidate.class, Map.class }); + modTypes.put(type, constructor); + } catch (Exception e) { + FMLLog.log(Level.ERROR, e, "Critical error : cannot register mod container type %s, it has an invalid constructor"); + Throwables.propagate(e); + } + } + public ModContainer build(ASMModParser modParser, File modSource, ModCandidate container) + { + String className = modParser.getASMType().getClassName(); + if (modParser.isBaseMod(container.getRememberedBaseMods()) && modClass.matcher(className).find()) + { + FMLLog.severe("Found a BaseMod type mod %s", className); + FMLLog.severe("This will not be loaded and will be ignored. ModLoader mechanisms are no longer available."); + } + else if (modClass.matcher(className).find()) + { + FMLLog.fine("Identified a class %s following modloader naming convention but not directly a BaseMod or currently seen subclass", className); + container.rememberModCandidateType(modParser); + } + else if (modParser.isBaseMod(container.getRememberedBaseMods())) + { + FMLLog.fine("Found a basemod %s of non-standard naming format", className); + container.rememberBaseModType(className); + } + + for (ModAnnotation ann : modParser.getAnnotations()) + { + if (modTypes.containsKey(ann.getASMType())) + { + FMLLog.fine("Identified a mod of type %s (%s) - loading", ann.getASMType(), className); + try { + ModContainer ret = modTypes.get(ann.getASMType()).newInstance(className, container, ann.getValues()); + if (!ret.shouldLoadInEnvironment()) + { + FMLLog.fine("Skipping mod %s, container opted to not load.", className); + return null; + } + return ret; + } catch (Exception e) { + FMLLog.log(Level.ERROR, e, "Unable to construct %s container", ann.getASMType().getClassName()); + return null; + } + } + } + + return null; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/ModMetadata.java b/fml/src/main/java/net/minecraftforge/fml/common/ModMetadata.java new file mode 100644 index 000000000..add4b37ae --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/ModMetadata.java @@ -0,0 +1,82 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.util.List; +import java.util.Set; + +import net.minecraftforge.fml.common.functions.ModNameFunction; +import net.minecraftforge.fml.common.versioning.ArtifactVersion; + +import com.google.common.base.Joiner; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import com.google.gson.annotations.SerializedName; + +/** + * @author cpw + * + */ +public class ModMetadata +{ + @SerializedName("modid") + public String modId; + public String name; + public String description = ""; + + public String url = ""; + public String updateUrl = ""; + + public String logoFile = ""; + public String version = ""; + public List authorList = Lists.newArrayList(); + public String credits = ""; + public String parent = ""; + public String[] screenshots; + + // this field is not for use in the json + public transient ModContainer parentMod; + // this field is not for use in the json + public transient List childMods = Lists.newArrayList(); + + public boolean useDependencyInformation; + public Set requiredMods = Sets.newHashSet(); + public List dependencies = Lists.newArrayList(); + public List dependants = Lists.newArrayList(); + // this field is not for use in the json + public transient boolean autogenerated; + + public ModMetadata() + { + } + + public String getChildModCountString() + { + return String.format("%d child mod%s", childMods.size(), childMods.size() != 1 ? "s" : ""); + } + + public String getAuthorList() + { + return Joiner.on(", ").join(authorList); + } + + public String getChildModList() + { + return Joiner.on(", ").join(Lists.transform(childMods, new ModNameFunction())); + } + + public String printableSortingRules() + { + return ""; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/ObfuscationReflectionHelper.java b/fml/src/main/java/net/minecraftforge/fml/common/ObfuscationReflectionHelper.java new file mode 100644 index 000000000..9bc66b5a5 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/ObfuscationReflectionHelper.java @@ -0,0 +1,105 @@ +/* + * The FML Forge Mod Loader suite. Copyright (C) 2012 cpw + * + * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +package net.minecraftforge.fml.common; + +import java.util.Arrays; + +import net.minecraftforge.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper; +import net.minecraftforge.fml.relauncher.ReflectionHelper; +import net.minecraftforge.fml.relauncher.ReflectionHelper.UnableToAccessFieldException; +import net.minecraftforge.fml.relauncher.ReflectionHelper.UnableToFindFieldException; + +import org.apache.logging.log4j.Level; + +/** + * Some reflection helper code. + * + * @author cpw + * + */ +public class ObfuscationReflectionHelper +{ + public static T getPrivateValue(Class classToAccess, E instance, int fieldIndex) + { + try + { + return ReflectionHelper.getPrivateValue(classToAccess, instance, fieldIndex); + } + catch (UnableToAccessFieldException e) + { + FMLLog.log(Level.ERROR, e, "There was a problem getting field index %d from %s", fieldIndex, classToAccess.getName()); + throw e; + } + } + + public static String[] remapFieldNames(String className, String... fieldNames) + { + String internalClassName = FMLDeobfuscatingRemapper.INSTANCE.unmap(className.replace('.', '/')); + String[] mappedNames = new String[fieldNames.length]; + int i = 0; + for (String fName : fieldNames) + { + mappedNames[i++] = FMLDeobfuscatingRemapper.INSTANCE.mapFieldName(internalClassName, fName, null); + } + return mappedNames; + } + + public static T getPrivateValue(Class classToAccess, E instance, String... fieldNames) + { + try + { + return ReflectionHelper.getPrivateValue(classToAccess, instance, remapFieldNames(classToAccess.getName(),fieldNames)); + } + catch (UnableToFindFieldException e) + { + FMLLog.log(Level.ERROR,e,"Unable to locate any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()); + throw e; + } + catch (UnableToAccessFieldException e) + { + FMLLog.log(Level.ERROR, e, "Unable to access any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()); + throw e; + } + } + + public static void setPrivateValue(Class classToAccess, T instance, E value, int fieldIndex) + { + try + { + ReflectionHelper.setPrivateValue(classToAccess, instance, value, fieldIndex); + } + catch (UnableToAccessFieldException e) + { + FMLLog.log(Level.ERROR, e, "There was a problem setting field index %d on type %s", fieldIndex, classToAccess.getName()); + throw e; + } + } + + public static void setPrivateValue(Class classToAccess, T instance, E value, String... fieldNames) + { + try + { + ReflectionHelper.setPrivateValue(classToAccess, instance, value, remapFieldNames(classToAccess.getName(), fieldNames)); + } + catch (UnableToFindFieldException e) + { + FMLLog.log(Level.ERROR, e, "Unable to locate any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()); + throw e; + } + catch (UnableToAccessFieldException e) + { + FMLLog.log(Level.ERROR, e, "Unable to set any field %s on type %s", Arrays.toString(fieldNames), classToAccess.getName()); + throw e; + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/Optional.java b/fml/src/main/java/net/minecraftforge/fml/common/Optional.java new file mode 100644 index 000000000..0aa465806 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/Optional.java @@ -0,0 +1,76 @@ +package net.minecraftforge.fml.common; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Classes annotated with this will have the named interface or method removed from the runtime definition of the class + * if the modid specified is missing. + * + * @author cpw + * + */ +public final class Optional { + /** + * Not constructable + */ + private Optional() {} + + /** + * Mark a list of interfaces as removable + * @author cpw + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + public @interface InterfaceList { + /** + * Mark a list of interfaces for optional removal. + * @return + */ + public Interface[] value(); + } + /** + * Used to remove optional interfaces + * @author cpw + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + public @interface Interface { + /** + * The fully qualified name of the interface to be stripped + * @return the interface name + */ + public String iface(); + + /** + * The modid that is required to be present for stripping NOT to occur + * @return the modid + */ + public String modid(); + + /** + * Strip references to this interface in method declarations? (Useful to kill synthetic methods from scala f.e.) + * + * @return if references should be stripped + */ + public boolean striprefs() default false; + } + /** + * Used to remove optional methods + * @author cpw + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.METHOD) + public @interface Method { + /** + * The modid that is required to be present for stripping NOT to occur + * @return the modid + */ + public String modid(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/ProgressManager.java b/fml/src/main/java/net/minecraftforge/fml/common/ProgressManager.java new file mode 100644 index 000000000..cd4716b82 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/ProgressManager.java @@ -0,0 +1,98 @@ +package net.minecraftforge.fml.common; + +import java.util.Iterator; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; + +import com.google.common.base.Joiner; + +/** + * @deprecated not a stable API, will break, don't use this yet + */ +@Deprecated +public class ProgressManager +{ + private static final List bars = new CopyOnWriteArrayList(); + + /** + * @deprecated not a stable API, will break, don't use this yet + */ + @Deprecated + public static ProgressBar push(String title, int steps) + { + ProgressBar bar = new ProgressBar(title, steps); + bars.add(bar); + FMLCommonHandler.instance().processWindowMessages(); + return bar; + } + + /** + * @deprecated not a stable API, will break, don't use this yet + */ + @Deprecated + public static void pop(ProgressBar bar) + { + if(bar.getSteps() != bar.getStep()) throw new IllegalStateException("can't pop unfinished ProgressBar " + bar.getTitle()); + bars.remove(bar); + FMLCommonHandler.instance().processWindowMessages(); + } + + /* + * Internal use only. + */ + public static Iterator barIterator() + { + return bars.iterator(); + } + + /** + * @deprecated not a stable API, will break, don't use this yet + */ + @Deprecated + public static class ProgressBar + { + private final String title; + private final int steps; + private volatile int step = 0; + private volatile String message = ""; + + private ProgressBar(String title, int steps) + { + this.title = title; + this.steps = steps; + } + + public void step(Class classToName, String... extra) + { + step(ClassNameUtils.shortName(classToName)+Joiner.on(' ').join(extra)); + } + + public void step(String message) + { + if(step >= steps) throw new IllegalStateException("too much steps for ProgressBar " + title); + step++; + this.message = message; + FMLCommonHandler.instance().processWindowMessages(); + } + + public String getTitle() + { + return title; + } + + public int getSteps() + { + return steps; + } + + public int getStep() + { + return step; + } + + public String getMessage() + { + return message; + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/ProxyInjector.java b/fml/src/main/java/net/minecraftforge/fml/common/ProxyInjector.java new file mode 100644 index 000000000..bfd116d43 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/ProxyInjector.java @@ -0,0 +1,84 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.Set; + +import net.minecraftforge.fml.common.discovery.ASMDataTable; +import net.minecraftforge.fml.common.discovery.ASMDataTable.ASMData; +import net.minecraftforge.fml.relauncher.Side; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.Strings; + +/** + * @author cpw + * + */ +public class ProxyInjector +{ + public static void inject(ModContainer mod, ASMDataTable data, Side side, ILanguageAdapter languageAdapter) + { + FMLLog.fine("Attempting to inject @SidedProxy classes into %s", mod.getModId()); + Set targets = data.getAnnotationsFor(mod).get(SidedProxy.class.getName()); + ClassLoader mcl = Loader.instance().getModClassLoader(); + + for (ASMData targ : targets) + { + try + { + Class proxyTarget = Class.forName(targ.getClassName(), true, mcl); + Field target = proxyTarget.getDeclaredField(targ.getObjectName()); + if (target == null) + { + // Impossible? + FMLLog.severe("Attempted to load a proxy type into %s.%s but the field was not found", targ.getClassName(), targ.getObjectName()); + throw new LoaderException(String.format("Attempted to load a proxy type into %s.%s but the field was not found", targ.getClassName(), targ.getObjectName())); + } + target.setAccessible(true); + + SidedProxy annotation = target.getAnnotation(SidedProxy.class); + if (!Strings.isNullOrEmpty(annotation.modId()) && !annotation.modId().equals(mod.getModId())) + { + FMLLog.fine("Skipping proxy injection for %s.%s since it is not for mod %s", targ.getClassName(), targ.getObjectName(), mod.getModId()); + continue; + } + String targetType = side.isClient() ? annotation.clientSide() : annotation.serverSide(); + Object proxy=Class.forName(targetType, true, mcl).newInstance(); + + if (languageAdapter.supportsStatics() && (target.getModifiers() & Modifier.STATIC) == 0 ) + { + FMLLog.severe("Attempted to load a proxy type %s into %s.%s, but the field is not static", targetType, targ.getClassName(), targ.getObjectName()); + throw new LoaderException(String.format("Attempted to load a proxy type %s into %s.%s, but the field is not static", targetType, targ.getClassName(), targ.getObjectName())); + } + if (!target.getType().isAssignableFrom(proxy.getClass())) + { + FMLLog.severe("Attempted to load a proxy type %s into %s.%s, but the types don't match", targetType, targ.getClassName(), targ.getObjectName()); + throw new LoaderException(String.format("Attempted to load a proxy type %s into %s.%s, but the types don't match", targetType, targ.getClassName(), targ.getObjectName())); + } + languageAdapter.setProxy(target, proxyTarget, proxy); + } + catch (Exception e) + { + FMLLog.log(Level.ERROR, e, "An error occured trying to load a proxy into %s.%s", targ.getAnnotationInfo(), targ.getClassName(), targ.getObjectName()); + throw new LoaderException(e); + } + } + + // Allow language specific proxy injection. + languageAdapter.setInternalProxies(mod, side, mcl); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/SaveInspectionHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/SaveInspectionHandler.java new file mode 100644 index 000000000..23f90023d --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/SaveInspectionHandler.java @@ -0,0 +1,20 @@ +package net.minecraftforge.fml.common; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * A method annotated with this on the {@link Mod} will be called whenever a local save is listed in + * the save games list. + * + * @author cpw + * + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface SaveInspectionHandler +{ + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/SidedProxy.java b/fml/src/main/java/net/minecraftforge/fml/common/SidedProxy.java new file mode 100644 index 000000000..472df0067 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/SidedProxy.java @@ -0,0 +1,68 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Sided proxies are loaded based on the specific environment they find themselves loaded into. + * They are used to ensure that client-specific code (such as GUIs) is only loaded into the game + * on the client side. + * It is applied to static fields of a class, anywhere in your mod code. FML will scan + * and load any classes with this annotation at mod construction time. + * + *

+ * This example will load a CommonProxy on the server side, and a ClientProxy on the client side. + * + *

{@code
+ *  public class MySidedProxyHolder {
+ *      {@literal @}SidedProxy(modId="MyModId",clientSide="mymod.ClientProxy", serverSide="mymod.CommonProxy")
+ *      public static CommonProxy proxy;
+ *  }
+ *
+ *  public class CommonProxy {
+ *      // Common or server stuff here that needs to be overridden on the client
+ *  }
+ *
+ *  public class ClientProxy extends CommonProxy {
+ *      // Override common stuff with client specific stuff here
+ *  }
+ * }
+ * 
+ * @author cpw + * + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface SidedProxy +{ + /** + * The name of the client side class to load and populate + */ + String clientSide() default ""; + + /** + * The name of the server side class to load and populate + */ + String serverSide() default ""; + + /** + * The (optional) name of a mod to load this proxy for. This will help ensure correct behaviour when loading a combined + * scala/java mod package. It is almost never going to be required, unless you ship both Scala and Java {@link Mod} content + * in a single jar. + */ + String modId() default ""; +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/StartupQuery.java b/fml/src/main/java/net/minecraftforge/fml/common/StartupQuery.java new file mode 100644 index 000000000..f75e7fd64 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/StartupQuery.java @@ -0,0 +1,160 @@ +package net.minecraftforge.fml.common; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.atomic.AtomicBoolean; + +import net.minecraft.server.MinecraftServer; + +public class StartupQuery { + // internal class/functionality, do not use + + public static boolean confirm(String text) + { + StartupQuery query = new StartupQuery(text, new AtomicBoolean()); + query.execute(); + return query.getResult(); + } + + public static void notify(String text) + { + StartupQuery query = new StartupQuery(text, null); + query.execute(); + } + + public static void abort() + { + MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance(); + if (server != null) server.initiateShutdown(); + + aborted = true; // to abort loading and go back to the main menu + throw new AbortedException(); // to halt the server + } + + + public static void reset() + { + pending = null; + aborted = false; + } + + public static boolean check() + { + if (pending != null) + { + try + { + FMLCommonHandler.instance().queryUser(pending); + } + catch (InterruptedException e) + { + FMLLog.warning("query interrupted"); + abort(); + } + + pending = null; + } + + return !aborted; + } + + private static volatile StartupQuery pending; + private static volatile boolean aborted = false; + + + private StartupQuery(String text, AtomicBoolean result) + { + this.text = text; + this.result = result; + } + + public Boolean getResult() + { + return result == null ? null : result.get(); + } + + public void setResult(boolean result) + { + this.result.set(result); + } + + public String getText() + { + return text; + } + + public boolean isSynchronous() + { + return synchronous; + } + + public void finish() + { + signal.countDown(); + } + + private void execute() + { + String prop = System.getProperty("fml.queryResult"); + + if (result != null && prop != null) + { + FMLLog.info("Using fml.queryResult %s to answer the following query:\n%s", prop, text); + + if (prop.equalsIgnoreCase("confirm")) + { + setResult(true); + return; + } + else if (prop.equalsIgnoreCase("cancel")) + { + setResult(false); + return; + } + + FMLLog.warning("Invalid value for fml.queryResult: %s, expected confirm or cancel", prop); + } + + synchronous = false; + pending = this; // let the other thread start the query + + // from the integrated server thread: the client will eventually check pending and execute the query + // from the client thread: synchronous execution + // dedicated server: command handling in mc is synchronous, execute the server-side query directly + if (FMLCommonHandler.instance().getSide().isServer() || + FMLCommonHandler.instance().getEffectiveSide().isClient()) + { + synchronous = true; + check(); + } + + try + { + signal.await(); + reset(); + } + catch (InterruptedException e) + { + FMLLog.warning("query interrupted"); + abort(); + } + } + + private String text; + private AtomicBoolean result; + private CountDownLatch signal = new CountDownLatch(1); + private volatile boolean synchronous; + + + /** + * Exception not being caught by the crash report generation logic. + */ + public static class AbortedException extends RuntimeException + { + private static final long serialVersionUID = -5933665223696833921L; + + private AbortedException() + { + super(); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/TracingPrintStream.java b/fml/src/main/java/net/minecraftforge/fml/common/TracingPrintStream.java new file mode 100644 index 000000000..2187c9d3e --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/TracingPrintStream.java @@ -0,0 +1,50 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + */ + +package net.minecraftforge.fml.common; + +import java.io.PrintStream; + +import org.apache.logging.log4j.Logger; + +/** + * PrintStream which redirects it's output to a given logger. + * + * @author Arkan + */ +public class TracingPrintStream extends PrintStream { + + private Logger logger; + private int BASE_DEPTH = 3; + + public TracingPrintStream(Logger logger, PrintStream original) { + super(original); + this.logger = logger; + } + + @Override + public void println(Object o) { + logger.info(getPrefix() + o); + } + + @Override + public void println(String s) { + logger.info(getPrefix() + s); + } + + private String getPrefix() { + StackTraceElement[] elems = Thread.currentThread().getStackTrace(); + StackTraceElement elem = elems[BASE_DEPTH]; // The caller is always at BASE_DEPTH, including this call. + if (elem.getClassName().startsWith("kotlin.io.")) { + elem = elems[BASE_DEPTH + 2]; // Kotlins IoPackage masks origins 2 deeper in the stack. + } + return "[" + elem.getClassName() + ":" + elem.getMethodName() + ":" + elem.getLineNumber() + "]: "; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/WorldAccessContainer.java b/fml/src/main/java/net/minecraftforge/fml/common/WorldAccessContainer.java new file mode 100644 index 000000000..59a18071e --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/WorldAccessContainer.java @@ -0,0 +1,25 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +import java.util.Map; + +import net.minecraft.nbt.*; +import net.minecraft.world.storage.*; + + +public interface WorldAccessContainer +{ + public NBTTagCompound getDataForWriting(SaveHandler handler, WorldInfo info); + public void readData(SaveHandler handler, WorldInfo info, Map propertyMap, NBTTagCompound tag); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/WrongMinecraftVersionException.java b/fml/src/main/java/net/minecraftforge/fml/common/WrongMinecraftVersionException.java new file mode 100644 index 000000000..f093ab378 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/WrongMinecraftVersionException.java @@ -0,0 +1,26 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common; + +public class WrongMinecraftVersionException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + public ModContainer mod; + + public WrongMinecraftVersionException(ModContainer mod) + { + super(String.format("Wrong Minecraft version for %s", mod.getModId())); + this.mod = mod; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/ZipperUtil.java b/fml/src/main/java/net/minecraftforge/fml/common/ZipperUtil.java new file mode 100644 index 000000000..62185b473 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/ZipperUtil.java @@ -0,0 +1,92 @@ +package net.minecraftforge.fml.common; + +import java.io.Closeable; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.net.URI; +import java.util.Deque; +import java.util.LinkedList; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +import org.apache.logging.log4j.Level; + +import com.google.common.io.Files; + +/** + * Copied from http://stackoverflow.com/questions/1399126/java-util-zip-recreating-directory-structure + * because the code looked very tidy and neat. Thanks, McDowell! + * + * @author McDowell + * + */ +public class ZipperUtil { + public static void zip(File directory, File zipfile) throws IOException + { + URI base = directory.toURI(); + Deque queue = new LinkedList(); + queue.push(directory); + OutputStream out = new FileOutputStream(zipfile); + Closeable res = null; + try + { + ZipOutputStream zout = new ZipOutputStream(out); + res = zout; + while (!queue.isEmpty()) + { + directory = queue.pop(); + for (File kid : directory.listFiles()) + { + String name = base.relativize(kid.toURI()).getPath(); + if (kid.isDirectory()) + { + queue.push(kid); + name = name.endsWith("/") ? name : name + "/"; + zout.putNextEntry(new ZipEntry(name)); + } else + { + zout.putNextEntry(new ZipEntry(name)); + Files.copy(kid, zout); + zout.closeEntry(); + } + } + } + } finally + { + res.close(); + } + } + + public static void backupWorld() throws IOException + { + String dirName = FMLCommonHandler.instance().getMinecraftServerInstance().getFolderName(); + + backupWorld(dirName); + } + + @Deprecated + public static void backupWorld(String dirName, String saveName) throws IOException + { + backupWorld(dirName); + } + + public static void backupWorld(String dirName) throws IOException + { + File dstFolder = FMLCommonHandler.instance().getSavesDirectory(); + File zip = new File(dstFolder, String.format("%s-%2$tY%2$tm%2$td-%2$tH%2$tM%2$tS.zip", dirName, System.currentTimeMillis())); + + try + { + ZipperUtil.zip(new File(dstFolder, dirName), zip); + } + catch (IOException e) + { + FMLLog.log(Level.WARN, e, "World backup failed."); + throw e; + } + + FMLLog.info("World backup created at %s.", zip.getCanonicalPath()); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/ASMTransformerWrapper.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/ASMTransformerWrapper.java new file mode 100644 index 000000000..dd9d76c79 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/ASMTransformerWrapper.java @@ -0,0 +1,256 @@ + + +package net.minecraftforge.fml.common.asm; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLStreamHandler; +import java.security.Permission; +import java.util.Map; +import java.util.concurrent.ExecutionException; + +import net.minecraft.launchwrapper.IClassTransformer; +import net.minecraft.launchwrapper.LaunchClassLoader; + +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; +import org.objectweb.asm.commons.GeneratorAdapter; +import org.objectweb.asm.commons.Method; + +import com.google.common.cache.CacheBuilder; +import com.google.common.cache.CacheLoader; +import com.google.common.cache.LoadingCache; +import com.google.common.collect.Maps; + +public class ASMTransformerWrapper +{ + private static final Map wrapperModMap = Maps.newHashMap(); + private static final Map wrapperParentMap = Maps.newHashMap(); + + private static final LoadingCache wrapperCache = CacheBuilder.newBuilder() + .maximumSize(30) + .weakValues() + .build(new CacheLoader() + { + public byte[] load(String file) throws Exception + { + return makeWrapper(file); + } + }); + + private static final URL asmGenRoot; + private static boolean injected = false; + + static + { + try + { + asmGenRoot = new URL("asmgen", null, -1, "/", new ASMGenHandler()); + } + catch(MalformedURLException e) + { + throw new RuntimeException(e); + } + } + + private static class ASMGenHandler extends URLStreamHandler + { + protected URLConnection openConnection(URL url) throws IOException + { + String file = url.getFile(); + if(file.equals("/")) + { + return new URLConnection(url) + { + public void connect() throws IOException + { + throw new UnsupportedOperationException(); + } + }; + } + if(!file.startsWith("/")) throw new RuntimeException("Malformed URL: " + url); + file = file.substring(1); + if(wrapperModMap.containsKey(file)) + { + return new ASMGenConnection(url, file); + } + return null; + } + } + + private static class ASMGenConnection extends URLConnection + { + private final String file; + + protected ASMGenConnection(URL url, String file) + { + super(url); + this.file = file; + } + + public void connect() throws IOException + { + throw new UnsupportedOperationException(); + } + + @Override + public InputStream getInputStream() + { + return new ByteArrayInputStream(wrapperCache.getUnchecked(file)); + } + + @Override + public Permission getPermission() + { + return null; + } + } + + public static String getTransformerWrapper(LaunchClassLoader launchLoader, String parentClass, String coreMod) + { + if(!injected) + { + injected = true; + launchLoader.addURL(asmGenRoot); + } + + String name = getWrapperName(parentClass); + String fileName = name.replace('.', '/') + ".class"; + wrapperModMap.put(fileName, coreMod); + wrapperParentMap.put(fileName, parentClass); + return name; + } + + private static byte[] makeWrapper(String fileName) + { + if(!wrapperModMap.containsKey(fileName) || !wrapperParentMap.containsKey(fileName) || !fileName.endsWith(".class")) + { + throw new IllegalArgumentException("makeWrapper called with strange argument: " + fileName); + } + String name = fileName.substring(0, fileName.length() - ".class".length()); + + try + { + Type wrapper = Type.getType(TransformerWrapper.class); + + ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_FRAMES); + + writer.visit(Opcodes.V1_6, Opcodes.ACC_PUBLIC, name, null, wrapper.getInternalName(), null); + + Method m = Method.getMethod("void ()"); + GeneratorAdapter mg = new GeneratorAdapter(Opcodes.ACC_PUBLIC, m, null, null, writer); + mg.loadThis(); + mg.invokeConstructor(wrapper, m); + mg.returnValue(); + mg.endMethod(); + + m = Method.getMethod("java.lang.String getParentClass ()"); + mg = new GeneratorAdapter(Opcodes.ACC_PROTECTED, m, null, null, writer); + mg.push(wrapperParentMap.get(fileName)); + mg.returnValue(); + mg.endMethod(); + + m = Method.getMethod("java.lang.String getCoreMod ()"); + mg = new GeneratorAdapter(Opcodes.ACC_PROTECTED, m, null, null, writer); + mg.push(wrapperModMap.get(fileName)); + mg.returnValue(); + mg.endMethod(); + + writer.visitEnd(); + + return writer.toByteArray(); + } + catch (Exception e) + { + throw new RuntimeException(e); + } + } + + private static String getWrapperName(String parentClass) + { + return "$wrapper." + parentClass; + } + + private static class WrapperVisitor extends ClassVisitor + { + private final String name; + private final String parentClass; + + public WrapperVisitor(ClassVisitor cv, String name, String parentClass) + { + super(Opcodes.ASM5, cv); + this.name = name.replace('.', '/'); + this.parentClass = parentClass; + } + + @Override + public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) + { + super.visit(version, access, this.name, signature, superName, interfaces); + } + + @Override + public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) + { + if(name.equals("parentClass")) + { + return super.visitField(access, name, desc, signature, parentClass); + } + return super.visitField(access, name, desc, signature, value); + } + } + + public static abstract class TransformerWrapper implements IClassTransformer + { + private final IClassTransformer parent; + + public TransformerWrapper() + { + try + { + this.parent = (IClassTransformer)this.getClass().getClassLoader().loadClass(getParentClass()).newInstance(); + } + catch(Exception e) + { + throw new RuntimeException(e); + } + } + + public byte[] transform(String name, String transformedName, byte[] basicClass) + { + try + { + return parent.transform(name, transformedName, basicClass); + } + catch(Throwable e) + { + throw new TransformerException("Exception in class transformer " + parent + " from coremod " + getCoreMod(), e); + } + } + + @Override + public String toString() + { + return "TransformerWrapper(" + getParentClass() + ", " + getCoreMod() + ")"; + } + + protected abstract String getParentClass(); + + protected abstract String getCoreMod(); + } + + static class TransformerException extends RuntimeException + { + public TransformerException(String message, Throwable cause) + { + super(message, cause); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/FMLSanityChecker.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/FMLSanityChecker.java new file mode 100644 index 000000000..6e71362d1 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/FMLSanityChecker.java @@ -0,0 +1,185 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.asm; + +import java.io.File; +import java.io.IOException; +import java.net.URLDecoder; +import java.security.CodeSource; +import java.security.cert.Certificate; +import java.util.Map; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; + +import org.apache.logging.log4j.Level; + +import net.minecraft.launchwrapper.LaunchClassLoader; +import net.minecraftforge.fml.common.CertificateHelper; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper; +import net.minecraftforge.fml.common.patcher.ClassPatchManager; +import net.minecraftforge.fml.relauncher.FMLLaunchHandler; +import net.minecraftforge.fml.relauncher.FMLRelaunchLog; +import net.minecraftforge.fml.relauncher.IFMLCallHook; +import net.minecraftforge.fml.relauncher.Side; + +import com.google.common.base.Charsets; +import com.google.common.io.ByteStreams; + +public class FMLSanityChecker implements IFMLCallHook +{ + private static final String FMLFINGERPRINT = "51:0A:FB:4C:AF:A4:A0:F2:F5:CF:C5:0E:B4:CC:3C:30:24:4A:E3:8E".toLowerCase().replace(":", ""); + private static final String FORGEFINGERPRINT = "E3:C3:D5:0C:7C:98:6D:F7:4C:64:5C:0A:C5:46:39:74:1C:90:A5:57".toLowerCase().replace(":", ""); + private static final String MCFINGERPRINT = "CD:99:95:96:56:F7:53:DC:28:D8:63:B4:67:69:F7:F8:FB:AE:FC:FC".toLowerCase().replace(":", ""); + private LaunchClassLoader cl; + private boolean liveEnv; + public static File fmlLocation; + + @Override + public Void call() throws Exception + { + CodeSource codeSource = getClass().getProtectionDomain().getCodeSource(); + boolean goodFML = false; + boolean fmlIsJar = false; + if (codeSource.getLocation().getProtocol().equals("jar")) + { + fmlIsJar = true; + Certificate[] certificates = codeSource.getCertificates(); + if (certificates!=null) + { + + for (Certificate cert : certificates) + { + String fingerprint = CertificateHelper.getFingerprint(cert); + if (fingerprint.equals(FMLFINGERPRINT)) + { + FMLRelaunchLog.info("Found valid fingerprint for FML. Certificate fingerprint %s", fingerprint); + goodFML = true; + } + else if (fingerprint.equals(FORGEFINGERPRINT)) + { + FMLRelaunchLog.info("Found valid fingerprint for Minecraft Forge. Certificate fingerprint %s", fingerprint); + goodFML = true; + } + else + { + FMLRelaunchLog.severe("Found invalid fingerprint for FML: %s", fingerprint); + } + } + } + } + else + { + goodFML = true; + } + // Server is not signed, so assume it's good - a deobf env is dev time so it's good too + boolean goodMC = FMLLaunchHandler.side() == Side.SERVER || !liveEnv; + int certCount = 0; + try + { + Class cbr = Class.forName("net.minecraft.client.ClientBrandRetriever",false, cl); + codeSource = cbr.getProtectionDomain().getCodeSource(); + } + catch (Exception e) + { + // Probably a development environment, or the server (the server is not signed) + goodMC = true; + } + JarFile mcJarFile = null; + if (fmlIsJar && !goodMC && codeSource.getLocation().getProtocol().equals("jar")) + { + try + { + String mcPath = codeSource.getLocation().getPath().substring(5); + mcPath = mcPath.substring(0, mcPath.lastIndexOf('!')); + mcPath = URLDecoder.decode(mcPath, Charsets.UTF_8.name()); + mcJarFile = new JarFile(mcPath,true); + mcJarFile.getManifest(); + JarEntry cbrEntry = mcJarFile.getJarEntry("net/minecraft/client/ClientBrandRetriever.class"); + ByteStreams.toByteArray(mcJarFile.getInputStream(cbrEntry)); + Certificate[] certificates = cbrEntry.getCertificates(); + certCount = certificates != null ? certificates.length : 0; + if (certificates!=null) + { + + for (Certificate cert : certificates) + { + String fingerprint = CertificateHelper.getFingerprint(cert); + if (fingerprint.equals(MCFINGERPRINT)) + { + FMLRelaunchLog.info("Found valid fingerprint for Minecraft. Certificate fingerprint %s", fingerprint); + goodMC = true; + } + } + } + } + catch (Throwable e) + { + FMLRelaunchLog.log(Level.ERROR, e, "A critical error occurred trying to read the minecraft jar file"); + } + finally + { + if (mcJarFile != null) + { + try + { + mcJarFile.close(); + } + catch (IOException ioe) + { + // Noise + } + } + } + } + else + { + goodMC = true; + } + if (!goodMC) + { + FMLRelaunchLog.severe("The minecraft jar %s appears to be corrupt! There has been CRITICAL TAMPERING WITH MINECRAFT, it is highly unlikely minecraft will work! STOP NOW, get a clean copy and try again!",codeSource.getLocation().getFile()); + if (!Boolean.parseBoolean(System.getProperty("fml.ignoreInvalidMinecraftCertificates","false"))) + { + FMLRelaunchLog.severe("For your safety, FML will not launch minecraft. You will need to fetch a clean version of the minecraft jar file"); + FMLRelaunchLog.severe("Technical information: The class net.minecraft.client.ClientBrandRetriever should have been associated with the minecraft jar file, " + + "and should have returned us a valid, intact minecraft jar location. This did not work. Either you have modified the minecraft jar file (if so " + + "run the forge installer again), or you are using a base editing jar that is changing this class (and likely others too). If you REALLY " + + "want to run minecraft in this configuration, add the flag -Dfml.ignoreInvalidMinecraftCertificates=true to the 'JVM settings' in your launcher profile."); + FMLCommonHandler.instance().exitJava(1, false); + } + else + { + FMLRelaunchLog.severe("FML has been ordered to ignore the invalid or missing minecraft certificate. This is very likely to cause a problem!"); + FMLRelaunchLog.severe("Technical information: ClientBrandRetriever was at %s, there were %d certificates for it", codeSource.getLocation(), certCount); + } + } + if (!goodFML) + { + FMLRelaunchLog.severe("FML appears to be missing any signature data. This is not a good thing"); + } + return null; + } + + @Override + public void injectData(Map data) + { + liveEnv = (Boolean)data.get("runtimeDeobfuscationEnabled"); + cl = (LaunchClassLoader) data.get("classLoader"); + File mcDir = (File)data.get("mcLocation"); + fmlLocation = (File)data.get("coremodLocation"); + ClassPatchManager.INSTANCE.setup(FMLLaunchHandler.side()); + FMLDeobfuscatingRemapper.INSTANCE.setup(mcDir, cl, (String) data.get("deobfuscationFileName")); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/ReobfuscationMarker.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/ReobfuscationMarker.java new file mode 100644 index 000000000..0b464f3b1 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/ReobfuscationMarker.java @@ -0,0 +1,29 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.asm; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Used to force certain classes to reobfuscate + * @author cpw + * + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.TYPE}) +public @interface ReobfuscationMarker { + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/AccessTransformer.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/AccessTransformer.java new file mode 100644 index 000000000..ea571baf4 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/AccessTransformer.java @@ -0,0 +1,496 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.asm.transformers; + +import static org.objectweb.asm.Opcodes.ACC_FINAL; +import static org.objectweb.asm.Opcodes.ACC_PRIVATE; +import static org.objectweb.asm.Opcodes.ACC_PROTECTED; +import static org.objectweb.asm.Opcodes.ACC_PUBLIC; +import static org.objectweb.asm.Opcodes.INVOKESPECIAL; +import static org.objectweb.asm.Opcodes.INVOKEVIRTUAL; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.net.URL; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; +import java.util.zip.ZipOutputStream; + +import net.minecraft.launchwrapper.IClassTransformer; +import net.minecraftforge.fml.relauncher.FMLRelaunchLog; + +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.tree.AbstractInsnNode; +import org.objectweb.asm.tree.ClassNode; +import org.objectweb.asm.tree.FieldNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; + +import com.google.common.base.Charsets; +import com.google.common.base.Splitter; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Multimap; +import com.google.common.io.CharSource; +import com.google.common.io.LineProcessor; +import com.google.common.io.Resources; + +public class AccessTransformer implements IClassTransformer +{ + private static final boolean DEBUG = Boolean.parseBoolean(System.getProperty("fml.debugAccessTransformer", "false")); + class Modifier + { + public String name = ""; + public String desc = ""; + public int oldAccess = 0; + public int newAccess = 0; + public int targetAccess = 0; + public boolean changeFinal = false; + public boolean markFinal = false; + protected boolean modifyClassVisibility; + + private void setTargetAccess(String name) + { + if (name.startsWith("public")) targetAccess = ACC_PUBLIC; + else if (name.startsWith("private")) targetAccess = ACC_PRIVATE; + else if (name.startsWith("protected")) targetAccess = ACC_PROTECTED; + + if (name.endsWith("-f")) + { + changeFinal = true; + markFinal = false; + } + else if (name.endsWith("+f")) + { + changeFinal = true; + markFinal = true; + } + } + } + + private Multimap modifiers = ArrayListMultimap.create(); + + public AccessTransformer() throws IOException + { + this("fml_at.cfg"); + } + protected AccessTransformer(String rulesFile) throws IOException + { + readMapFile(rulesFile); + } + + AccessTransformer(Class dummyClazz) + { + // This is a noop + } + void readMapFile(String rulesFile) throws IOException + { + File file = new File(rulesFile); + URL rulesResource; + if (file.exists()) + { + rulesResource = file.toURI().toURL(); + } + else + { + rulesResource = Resources.getResource(rulesFile); + } + processATFile(Resources.asCharSource(rulesResource, Charsets.UTF_8)); + FMLRelaunchLog.fine("Loaded %d rules from AccessTransformer config file %s\n", modifiers.size(), rulesFile); + } + protected void processATFile(CharSource rulesResource) throws IOException + { + rulesResource.readLines(new LineProcessor() + { + @Override + public Void getResult() + { + return null; + } + + @Override + public boolean processLine(String input) throws IOException + { + String line = Iterables.getFirst(Splitter.on('#').limit(2).split(input), "").trim(); + if (line.length()==0) + { + return true; + } + List parts = Lists.newArrayList(Splitter.on(" ").trimResults().split(line)); + if (parts.size()>3) + { + throw new RuntimeException("Invalid config file line "+ input); + } + Modifier m = new Modifier(); + m.setTargetAccess(parts.get(0)); + + if (parts.size() == 2) + { + m.modifyClassVisibility = true; + } + else + { + String nameReference = parts.get(2); + int parenIdx = nameReference.indexOf('('); + if (parenIdx>0) + { + m.desc = nameReference.substring(parenIdx); + m.name = nameReference.substring(0,parenIdx); + } + else + { + m.name = nameReference; + } + } + String className = parts.get(1).replace('/', '.'); + modifiers.put(className, m); + if (DEBUG) System.out.printf("AT RULE: %s %s %s (type %s)\n", toBinary(m.targetAccess), m.name, m.desc, className); + return true; + } + }); + } + + @Override + public byte[] transform(String name, String transformedName, byte[] bytes) + { + if (bytes == null) { return null; } + + if (DEBUG) + { + FMLRelaunchLog.fine("Considering all methods and fields on %s (%s)\n", transformedName, name); + } + if (!modifiers.containsKey(transformedName)) { return bytes; } + + ClassNode classNode = new ClassNode(); + ClassReader classReader = new ClassReader(bytes); + classReader.accept(classNode, 0); + + Collection mods = modifiers.get(transformedName); + for (Modifier m : mods) + { + if (m.modifyClassVisibility) + { + classNode.access = getFixedAccess(classNode.access, m); + if (DEBUG) + { + System.out.println(String.format("Class: %s %s -> %s", name, toBinary(m.oldAccess), toBinary(m.newAccess))); + } + continue; + } + if (m.desc.isEmpty()) + { + for (FieldNode n : classNode.fields) + { + if (n.name.equals(m.name) || m.name.equals("*")) + { + n.access = getFixedAccess(n.access, m); + if (DEBUG) + { + System.out.println(String.format("Field: %s.%s %s -> %s", name, n.name, toBinary(m.oldAccess), toBinary(m.newAccess))); + } + + if (!m.name.equals("*")) + { + break; + } + } + } + } + else + { + List nowOverridable = Lists.newArrayList(); + for (MethodNode n : classNode.methods) + { + if ((n.name.equals(m.name) && n.desc.equals(m.desc)) || m.name.equals("*")) + { + n.access = getFixedAccess(n.access, m); + + // constructors always use INVOKESPECIAL + if (!n.name.equals("")) + { + // if we changed from private to something else we need to replace all INVOKESPECIAL calls to this method with INVOKEVIRTUAL + // so that overridden methods will be called. Only need to scan this class, because obviously the method was private. + boolean wasPrivate = (m.oldAccess & ACC_PRIVATE) == ACC_PRIVATE; + boolean isNowPrivate = (m.newAccess & ACC_PRIVATE) == ACC_PRIVATE; + + if (wasPrivate && !isNowPrivate) + { + nowOverridable.add(n); + } + + } + + if (DEBUG) + { + System.out.println(String.format("Method: %s.%s%s %s -> %s", name, n.name, n.desc, toBinary(m.oldAccess), toBinary(m.newAccess))); + } + + if (!m.name.equals("*")) + { + break; + } + } + } + + replaceInvokeSpecial(classNode, nowOverridable); + } + } + + ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS); + classNode.accept(writer); + return writer.toByteArray(); + } + + private void replaceInvokeSpecial(ClassNode clazz, List toReplace) + { + for (MethodNode method : clazz.methods) + { + for (Iterator it = method.instructions.iterator(); it.hasNext();) + { + AbstractInsnNode insn = it.next(); + if (insn.getOpcode() == INVOKESPECIAL) + { + MethodInsnNode mInsn = (MethodInsnNode) insn; + for (MethodNode n : toReplace) + { + if (n.name.equals(mInsn.name) && n.desc.equals(mInsn.desc)) + { + mInsn.setOpcode(INVOKEVIRTUAL); + break; + } + } + } + } + } + } + + private String toBinary(int num) + { + return String.format("%16s", Integer.toBinaryString(num)).replace(' ', '0'); + } + + private int getFixedAccess(int access, Modifier target) + { + target.oldAccess = access; + int t = target.targetAccess; + int ret = (access & ~7); + + switch (access & 7) + { + case ACC_PRIVATE: + ret |= t; + break; + case 0: // default + ret |= (t != ACC_PRIVATE ? t : 0 /* default */); + break; + case ACC_PROTECTED: + ret |= (t != ACC_PRIVATE && t != 0 /* default */? t : ACC_PROTECTED); + break; + case ACC_PUBLIC: + ret |= (t != ACC_PRIVATE && t != 0 /* default */&& t != ACC_PROTECTED ? t : ACC_PUBLIC); + break; + default: + throw new RuntimeException("The fuck?"); + } + + // Clear the "final" marker on fields only if specified in control field + if (target.changeFinal) + { + if (target.markFinal) + { + ret |= ACC_FINAL; + } + else + { + ret &= ~ACC_FINAL; + } + } + target.newAccess = ret; + return ret; + } + + public static void main(String[] args) + { + if (args.length < 2) + { + System.out.println("Usage: AccessTransformer [MapFile2]... "); + System.exit(1); + } + + boolean hasTransformer = false; + AccessTransformer[] trans = new AccessTransformer[args.length - 1]; + for (int x = 1; x < args.length; x++) + { + try + { + trans[x - 1] = new AccessTransformer(args[x]); + hasTransformer = true; + } + catch (IOException e) + { + System.out.println("Could not read Transformer Map: " + args[x]); + e.printStackTrace(); + } + } + + if (!hasTransformer) + { + System.out.println("Culd not find a valid transformer to perform"); + System.exit(1); + } + + File orig = new File(args[0]); + File temp = new File(args[0] + ".ATBack"); + if (!orig.exists() && !temp.exists()) + { + System.out.println("Could not find target jar: " + orig); + System.exit(1); + } + + if (!orig.renameTo(temp)) + { + System.out.println("Could not rename file: " + orig + " -> " + temp); + System.exit(1); + } + + try + { + processJar(temp, orig, trans); + } + catch (IOException e) + { + e.printStackTrace(); + System.exit(1); + } + + if (!temp.delete()) + { + System.out.println("Could not delete temp file: " + temp); + } + } + + private static void processJar(File inFile, File outFile, AccessTransformer[] transformers) throws IOException + { + ZipInputStream inJar = null; + ZipOutputStream outJar = null; + + try + { + try + { + inJar = new ZipInputStream(new BufferedInputStream(new FileInputStream(inFile))); + } + catch (FileNotFoundException e) + { + throw new FileNotFoundException("Could not open input file: " + e.getMessage()); + } + + try + { + outJar = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(outFile))); + } + catch (FileNotFoundException e) + { + throw new FileNotFoundException("Could not open output file: " + e.getMessage()); + } + + ZipEntry entry; + while ((entry = inJar.getNextEntry()) != null) + { + if (entry.isDirectory()) + { + outJar.putNextEntry(entry); + continue; + } + + byte[] data = new byte[4096]; + ByteArrayOutputStream entryBuffer = new ByteArrayOutputStream(); + + int len; + do + { + len = inJar.read(data); + if (len > 0) + { + entryBuffer.write(data, 0, len); + } + } + while (len != -1); + + byte[] entryData = entryBuffer.toByteArray(); + + String entryName = entry.getName(); + + if (entryName.endsWith(".class") && !entryName.startsWith(".")) + { + ClassNode cls = new ClassNode(); + ClassReader rdr = new ClassReader(entryData); + rdr.accept(cls, 0); + String name = cls.name.replace('/', '.').replace('\\', '.'); + + for (AccessTransformer trans : transformers) + { + entryData = trans.transform(name, name, entryData); + } + } + + ZipEntry newEntry = new ZipEntry(entryName); + outJar.putNextEntry(newEntry); + outJar.write(entryData); + } + } + finally + { + if (outJar != null) + { + try + { + outJar.close(); + } + catch (IOException e) + { + } + } + + if (inJar != null) + { + try + { + inJar.close(); + } + catch (IOException e) + { + } + } + } + } + Multimap getModifiers() + { + return modifiers; + } + boolean isEmpty() + { + return modifiers.isEmpty(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/BlamingTransformer.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/BlamingTransformer.java new file mode 100644 index 000000000..772bcaff4 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/BlamingTransformer.java @@ -0,0 +1,119 @@ +package net.minecraftforge.fml.common.asm.transformers; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.ListIterator; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; + +import net.minecraft.launchwrapper.IClassTransformer; +import net.minecraftforge.fml.common.FMLLog; + +import org.apache.commons.lang3.JavaVersion; +import org.apache.commons.lang3.SystemUtils; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.Opcodes; + +import com.google.common.collect.ImmutableSet; + +public class BlamingTransformer implements IClassTransformer +{ + private static final Map classMap = new HashMap(); + private static final Set naughtyMods = new HashSet(); + private static final Set naughtyClasses = new TreeSet(); + private static final Set orphanNaughtyClasses = new HashSet(); + + @Override + public byte[] transform(String name, String transformedName, byte[] bytes) + { + if (bytes == null) { return null; } + + ClassReader classReader = new ClassReader(bytes); + VersionVisitor visitor = new VersionVisitor(); + classReader.accept(visitor, ClassReader.SKIP_CODE | ClassReader.SKIP_DEBUG); + return bytes; + } + + public static void blame(String modId, String cls) + { + naughtyClasses.add(cls); + naughtyMods.add(modId); + FMLLog.severe("Unsupported class format in mod %s: class %s", modId, cls); + } + + public static class VersionVisitor extends ClassVisitor + { + public VersionVisitor() + { + super(Opcodes.ASM5); + } + + @Override + public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) + { + if( (version == Opcodes.V1_8 && !SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8)) || + (version == Opcodes.V1_7 && !SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7)) ) + { + if(classMap.containsKey(name)) blame(classMap.get(name), name); + else orphanNaughtyClasses.add(name); + } + } + } + + private static void checkPendingNaughty() + { + ImmutableSet.Builder toRemove = ImmutableSet.builder(); + for(String cls : orphanNaughtyClasses) + { + if(classMap.containsKey(cls)) + { + String modId = classMap.get(cls); + blame(modId, cls); + toRemove.add(cls); + } + } + orphanNaughtyClasses.removeAll(toRemove.build()); + } + + public static void addClasses(String modId, Set classList) + { + for(String cls : classList) + { + classMap.put(cls, modId); + } + checkPendingNaughty(); + } + + public static void onCrash(StringBuilder builder) + { + checkPendingNaughty(); + if(!naughtyClasses.isEmpty()) + { + builder.append("\n*** ATTENTION: detected classes with unsupported format ***\n"); + builder.append("*** DO NOT SUBMIT THIS CRASH REPORT TO FORGE ***\n\n"); + if(!naughtyMods.isEmpty()) + { + builder.append("Contact authors of the following mods: \n"); + for(String modId : naughtyMods) + { + builder.append(" ").append(modId).append("\n"); + } + } + if(!orphanNaughtyClasses.isEmpty()) + { + builder.append("Unidentified unsupported classes: \n"); + for(String cls : orphanNaughtyClasses) + { + builder.append(" ").append(cls).append("\n"); + } + } + builder.append('\n'); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/DeobfuscationTransformer.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/DeobfuscationTransformer.java new file mode 100644 index 000000000..aecd94d35 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/DeobfuscationTransformer.java @@ -0,0 +1,52 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.asm.transformers; + +import net.minecraft.launchwrapper.IClassNameTransformer; +import net.minecraft.launchwrapper.IClassTransformer; +import net.minecraftforge.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper; +import net.minecraftforge.fml.common.asm.transformers.deobf.FMLRemappingAdapter; + +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.commons.RemappingClassAdapter; + +public class DeobfuscationTransformer implements IClassTransformer, IClassNameTransformer { + + @Override + public byte[] transform(String name, String transformedName, byte[] bytes) + { + if (bytes == null) + { + return null; + } + ClassReader classReader = new ClassReader(bytes); + ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_MAXS); + RemappingClassAdapter remapAdapter = new FMLRemappingAdapter(classWriter); + classReader.accept(remapAdapter, ClassReader.EXPAND_FRAMES); + return classWriter.toByteArray(); + } + + @Override + public String remapClassName(String name) + { + return FMLDeobfuscatingRemapper.INSTANCE.map(name.replace('.','/')).replace('/', '.'); + } + + @Override + public String unmapClassName(String name) + { + return FMLDeobfuscatingRemapper.INSTANCE.unmap(name.replace('.', '/')).replace('/','.'); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/EventSubscriberTransformer.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/EventSubscriberTransformer.java new file mode 100644 index 000000000..c910b2402 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/EventSubscriberTransformer.java @@ -0,0 +1,74 @@ +package net.minecraftforge.fml.common.asm.transformers; + +import java.lang.reflect.Modifier; +import java.util.List; + +import net.minecraft.launchwrapper.IClassTransformer; + +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.tree.AnnotationNode; +import org.objectweb.asm.tree.ClassNode; +import org.objectweb.asm.tree.MethodNode; + +import com.google.common.base.Predicate; +import com.google.common.collect.Iterables; + +public class EventSubscriberTransformer implements IClassTransformer +{ + @Override + public byte[] transform(String name, String transformedName, byte[] basicClass) + { + if (basicClass == null) return null; + + ClassNode classNode = new ClassNode(); + new ClassReader(basicClass).accept(classNode, 0); + + boolean isSubscriber = false; + + for (MethodNode methodNode : classNode.methods) + { + List anns = methodNode.visibleAnnotations; + + if (anns != null && Iterables.any(anns, SubscribeEventPredicate.INSTANCE)) + { + if (Modifier.isPrivate(methodNode.access)) + { + String msg = "Cannot apply @SubsribeEvent to private method %s/%s%s"; + throw new RuntimeException(String.format(msg, classNode.name, methodNode.name, methodNode.desc)); + } + + methodNode.access = toPublic(methodNode.access); + isSubscriber = true; + } + } + + if (isSubscriber) + { + classNode.access = toPublic(classNode.access); + + ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS); + classNode.accept(writer); + return writer.toByteArray(); + } + + return basicClass; + } + + private static int toPublic(int access) + { + return access & ~(Opcodes.ACC_PRIVATE | Opcodes.ACC_PROTECTED) | Opcodes.ACC_PUBLIC; + } + + private static class SubscribeEventPredicate implements Predicate + { + static final SubscribeEventPredicate INSTANCE = new SubscribeEventPredicate(); + + @Override + public boolean apply(AnnotationNode input) + { + return input.desc.equals("Lnet/minecraftforge/fml/common/eventhandler/SubscribeEvent;"); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/EventSubscriptionTransformer.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/EventSubscriptionTransformer.java new file mode 100644 index 000000000..6f2c1172b --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/EventSubscriptionTransformer.java @@ -0,0 +1,226 @@ +package net.minecraftforge.fml.common.asm.transformers; + +import static org.objectweb.asm.ClassWriter.COMPUTE_FRAMES; +import static org.objectweb.asm.ClassWriter.COMPUTE_MAXS; +import static org.objectweb.asm.Opcodes.ACC_PRIVATE; +import static org.objectweb.asm.Opcodes.ACC_PROTECTED; +import static org.objectweb.asm.Opcodes.ACC_PUBLIC; +import static org.objectweb.asm.Opcodes.ACC_STATIC; +import static org.objectweb.asm.Opcodes.ALOAD; +import static org.objectweb.asm.Opcodes.ARETURN; +import static org.objectweb.asm.Opcodes.ASM5; +import static org.objectweb.asm.Opcodes.DUP; +import static org.objectweb.asm.Opcodes.F_SAME; +import static org.objectweb.asm.Opcodes.GETSTATIC; +import static org.objectweb.asm.Opcodes.IFNULL; +import static org.objectweb.asm.Opcodes.INVOKESPECIAL; +import static org.objectweb.asm.Opcodes.NEW; +import static org.objectweb.asm.Opcodes.PUTSTATIC; +import static org.objectweb.asm.Opcodes.RETURN; +import static org.objectweb.asm.Opcodes.IRETURN; +import static org.objectweb.asm.Opcodes.ICONST_1; +import static org.objectweb.asm.Type.VOID_TYPE; +import static org.objectweb.asm.Type.BOOLEAN_TYPE; +import static org.objectweb.asm.Type.getMethodDescriptor; + +import java.util.List; + +import net.minecraft.launchwrapper.IClassTransformer; +import net.minecraftforge.fml.common.eventhandler.Event; + +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.AnnotationNode; +import org.objectweb.asm.tree.ClassNode; +import org.objectweb.asm.tree.FieldInsnNode; +import org.objectweb.asm.tree.FieldNode; +import org.objectweb.asm.tree.FrameNode; +import org.objectweb.asm.tree.InsnNode; +import org.objectweb.asm.tree.JumpInsnNode; +import org.objectweb.asm.tree.LabelNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; +import org.objectweb.asm.tree.TypeInsnNode; +import org.objectweb.asm.tree.VarInsnNode; + +public class EventSubscriptionTransformer implements IClassTransformer +{ + public EventSubscriptionTransformer() + { + } + + @Override + public byte[] transform(String name, String transformedName, byte[] bytes) + { + if (bytes == null || name.equals("net.minecraftforge.fml.common.eventhandler.Event") || name.startsWith("net.minecraft.") || name.indexOf('.') == -1) + { + return bytes; + } + ClassReader cr = new ClassReader(bytes); + ClassNode classNode = new ClassNode(); + cr.accept(classNode, 0); + + try + { + if (buildEvents(classNode)) + { + ClassWriter cw = new ClassWriter(COMPUTE_MAXS | COMPUTE_FRAMES); + classNode.accept(cw); + return cw.toByteArray(); + } + return bytes; + } + catch (ClassNotFoundException ex) + { + // Discard silently- it's just noise + } + catch (Exception e) + { + e.printStackTrace(); + } + + return bytes; + } + + private boolean buildEvents(ClassNode classNode) throws Exception + { + // Yes, this recursively loads classes until we get this base class. THIS IS NOT A ISSUE. Coremods should handle re-entry just fine. + // If they do not this a COREMOD issue NOT a Forge/LaunchWrapper issue. + Class parent = this.getClass().getClassLoader().loadClass(classNode.superName.replace('/', '.')); + if (!Event.class.isAssignableFrom(parent)) + { + return false; + } + + //Class listenerListClazz = Class.forName("net.minecraftforge.fml.common.eventhandler.ListenerList", false, getClass().getClassLoader()); + Type tList = Type.getType("Lnet/minecraftforge/fml/common/eventhandler/ListenerList;"); + + boolean edited = false; + boolean hasSetup = false; + boolean hasGetListenerList = false; + boolean hasDefaultCtr = false; + boolean hasCancelable = false; + boolean hasResult = false; + String voidDesc = Type.getMethodDescriptor(VOID_TYPE); + String boolDesc = Type.getMethodDescriptor(BOOLEAN_TYPE); + String listDesc = tList.getDescriptor(); + String listDescM = Type.getMethodDescriptor(tList); + + for (MethodNode method : (List)classNode.methods) + { + if (method.name.equals("setup") && method.desc.equals(voidDesc) && (method.access & ACC_PROTECTED) == ACC_PROTECTED) hasSetup = true; + if ((method.access & ACC_PUBLIC) == ACC_PUBLIC) + { + if (method.name.equals("getListenerList") && method.desc.equals(listDescM)) hasGetListenerList = true; + if (method.name.equals("isCancelable") && method.desc.equals(boolDesc)) hasCancelable = true; + if (method.name.equals("hasResult") && method.desc.equals(boolDesc)) hasResult = true; + } + if (method.name.equals("") && method.desc.equals(voidDesc)) hasDefaultCtr = true; + } + + if (classNode.visibleAnnotations != null) + { + for (AnnotationNode node : classNode.visibleAnnotations) + { + if (!hasResult && node.desc.equals("Lnet/minecraftforge/fml/common/eventhandler/Event$HasResult;")) + { + /* Add: + * public boolean hasResult() + * { + * return true; + * } + */ + MethodNode method = new MethodNode(ACC_PUBLIC, "hasResult", boolDesc, null, null); + method.instructions.add(new InsnNode(ICONST_1)); + method.instructions.add(new InsnNode(IRETURN)); + classNode.methods.add(method); + edited = true; + } + else if (!hasCancelable && node.desc.equals("Lnet/minecraftforge/fml/common/eventhandler/Cancelable;")) + { + /* Add: + * public boolean isCancelable() + * { + * return true; + * } + */ + MethodNode method = new MethodNode(ACC_PUBLIC, "isCancelable", boolDesc, null, null); + method.instructions.add(new InsnNode(ICONST_1)); + method.instructions.add(new InsnNode(IRETURN)); + classNode.methods.add(method); + edited = true; + } + } + } + + if (hasSetup) + { + if (!hasGetListenerList) + throw new RuntimeException("Event class defines setup() but does not define getListenerList! " + classNode.name); + else + return edited; + } + + Type tSuper = Type.getType(classNode.superName); + + //Add private static ListenerList LISTENER_LIST + classNode.fields.add(new FieldNode(ACC_PRIVATE | ACC_STATIC, "LISTENER_LIST", listDesc, null, null)); + + /*Add: + * public () + * { + * super(); + * } + */ + if (!hasDefaultCtr) + { + MethodNode method = new MethodNode(ACC_PUBLIC, "", voidDesc, null, null); + method.instructions.add(new VarInsnNode(ALOAD, 0)); + method.instructions.add(new MethodInsnNode(INVOKESPECIAL, tSuper.getInternalName(), "", voidDesc, false)); + method.instructions.add(new InsnNode(RETURN)); + classNode.methods.add(method); + } + + /*Add: + * protected void setup() + * { + * super.setup(); + * if (LISTENER_LIST != NULL) + * { + * return; + * } + * LISTENER_LIST = new ListenerList(super.getListenerList()); + * } + */ + MethodNode method = new MethodNode(ACC_PROTECTED, "setup", voidDesc, null, null); + method.instructions.add(new VarInsnNode(ALOAD, 0)); + method.instructions.add(new MethodInsnNode(INVOKESPECIAL, tSuper.getInternalName(), "setup", voidDesc, false)); + method.instructions.add(new FieldInsnNode(GETSTATIC, classNode.name, "LISTENER_LIST", listDesc)); + LabelNode initLisitener = new LabelNode(); + method.instructions.add(new JumpInsnNode(IFNULL, initLisitener)); + method.instructions.add(new InsnNode(RETURN)); + method.instructions.add(initLisitener); + method.instructions.add(new FrameNode(F_SAME, 0, null, 0, null)); + method.instructions.add(new TypeInsnNode(NEW, tList.getInternalName())); + method.instructions.add(new InsnNode(DUP)); + method.instructions.add(new VarInsnNode(ALOAD, 0)); + method.instructions.add(new MethodInsnNode(INVOKESPECIAL, tSuper.getInternalName(), "getListenerList", listDescM, false)); + method.instructions.add(new MethodInsnNode(INVOKESPECIAL, tList.getInternalName(), "", getMethodDescriptor(VOID_TYPE, tList), false)); + method.instructions.add(new FieldInsnNode(PUTSTATIC, classNode.name, "LISTENER_LIST", listDesc)); + method.instructions.add(new InsnNode(RETURN)); + classNode.methods.add(method); + + /*Add: + * public ListenerList getListenerList() + * { + * return this.LISTENER_LIST; + * } + */ + method = new MethodNode(ACC_PUBLIC, "getListenerList", listDescM, null, null); + method.instructions.add(new FieldInsnNode(GETSTATIC, classNode.name, "LISTENER_LIST", listDesc)); + method.instructions.add(new InsnNode(ARETURN)); + classNode.methods.add(method); + return true; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/ItemStackTransformer.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/ItemStackTransformer.java new file mode 100644 index 000000000..68b540775 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/ItemStackTransformer.java @@ -0,0 +1,85 @@ +package net.minecraftforge.fml.common.asm.transformers; + +import java.util.ListIterator; + +import net.minecraft.launchwrapper.IClassTransformer; + +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.tree.AbstractInsnNode; +import org.objectweb.asm.tree.ClassNode; +import org.objectweb.asm.tree.FieldInsnNode; +import org.objectweb.asm.tree.FieldNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; + +public class ItemStackTransformer implements IClassTransformer { + private static final String ITEM_TYPE = "Lnet/minecraft/item/Item;"; + private static final String GETITEM_DESC = "()"+ ITEM_TYPE; + + @Override + public byte[] transform(String name, String transformedName, byte[] basicClass) { + if (!"net.minecraft.item.ItemStack".equals(name)) + return basicClass; + ClassNode classNode = new ClassNode(); + ClassReader classReader = new ClassReader(basicClass); + classReader.accept(classNode, 0); + + FieldNode itemField = null; + for (FieldNode f : classNode.fields) + { + if (ITEM_TYPE.equals(f.desc) && itemField == null) + { + itemField = f; + } + else if (ITEM_TYPE.equals(f.desc)) + { + throw new RuntimeException("Error processing ItemStack - found a duplicate Item field"); + } + } + if (itemField == null) + { + throw new RuntimeException("Error processing ItemStack - no Item field declared (is the code somehow obfuscated?)"); + } + + MethodNode getItemMethod = null; + for (MethodNode m: classNode.methods) + { + if (GETITEM_DESC.equals(m.desc) && getItemMethod == null) + { + getItemMethod = m; + } + else if (GETITEM_DESC.equals(m.desc)) + { + throw new RuntimeException("Error processing ItemStack - duplicate getItem method found"); + } + } + if (getItemMethod == null) + { + throw new RuntimeException("Error processing ItemStack - no getItem method found (is the code somehow obfuscated?)"); + } + + for (MethodNode m: classNode.methods) + { + for (ListIterator it = m.instructions.iterator(); it.hasNext(); ) + { + AbstractInsnNode insnNode = it.next(); + if (insnNode.getType() == AbstractInsnNode.FIELD_INSN) + { + FieldInsnNode fi = (FieldInsnNode)insnNode; + if (itemField.name.equals(fi.name) && fi.getOpcode() == Opcodes.GETFIELD) + { + it.remove(); + MethodInsnNode replace = new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "net/minecraft/item/ItemStack",getItemMethod.name, getItemMethod.desc, false); + it.add(replace); + } + } + } + } + ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS); + classNode.accept(writer); + return writer.toByteArray(); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/MarkerTransformer.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/MarkerTransformer.java new file mode 100644 index 000000000..1fcfcb1ae --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/MarkerTransformer.java @@ -0,0 +1,288 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.asm.transformers; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.net.URL; +import java.util.List; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; +import java.util.zip.ZipOutputStream; + +import net.minecraft.launchwrapper.IClassTransformer; + +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.tree.ClassNode; + +import com.google.common.base.Charsets; +import com.google.common.base.Splitter; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Iterables; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Lists; +import com.google.common.io.LineProcessor; +import com.google.common.io.Resources; + +public class MarkerTransformer implements IClassTransformer +{ + private ListMultimap markers = ArrayListMultimap.create(); + + public MarkerTransformer() throws IOException + { + this("fml_marker.cfg"); + } + protected MarkerTransformer(String rulesFile) throws IOException + { + readMapFile(rulesFile); + } + + private void readMapFile(String rulesFile) throws IOException + { + File file = new File(rulesFile); + URL rulesResource; + if (file.exists()) + { + rulesResource = file.toURI().toURL(); + } + else + { + rulesResource = Resources.getResource(rulesFile); + } + Resources.readLines(rulesResource, Charsets.UTF_8, new LineProcessor() + { + @Override + public Void getResult() + { + return null; + } + + @Override + public boolean processLine(String input) throws IOException + { + String line = Iterables.getFirst(Splitter.on('#').limit(2).split(input), "").trim(); + if (line.length()==0) + { + return true; + } + List parts = Lists.newArrayList(Splitter.on(" ").trimResults().split(line)); + if (parts.size()!=2) + { + throw new RuntimeException("Invalid config file line "+ input); + } + List markerInterfaces = Lists.newArrayList(Splitter.on(",").trimResults().split(parts.get(1))); + for (String marker : markerInterfaces) + { + markers.put(parts.get(0), marker); + } + return true; + } + }); + } + + @Override + public byte[] transform(String name, String transformedName, byte[] bytes) + { + if (bytes == null) { return null; } + if (!markers.containsKey(name)) { return bytes; } + + ClassNode classNode = new ClassNode(); + ClassReader classReader = new ClassReader(bytes); + classReader.accept(classNode, 0); + + for (String marker : markers.get(name)) + { + classNode.interfaces.add(marker); + } + + ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS); + classNode.accept(writer); + return writer.toByteArray(); + } + + public static void main(String[] args) + { + if (args.length < 2) + { + System.out.println("Usage: MarkerTransformer [MapFile2]... "); + return; + } + + boolean hasTransformer = false; + MarkerTransformer[] trans = new MarkerTransformer[args.length - 1]; + for (int x = 1; x < args.length; x++) + { + try + { + trans[x - 1] = new MarkerTransformer(args[x]); + hasTransformer = true; + } + catch (IOException e) + { + System.out.println("Could not read Transformer Map: " + args[x]); + e.printStackTrace(); + } + } + + if (!hasTransformer) + { + System.out.println("Culd not find a valid transformer to perform"); + return; + } + + File orig = new File(args[0]); + File temp = new File(args[0] + ".ATBack"); + if (!orig.exists() && !temp.exists()) + { + System.out.println("Could not find target jar: " + orig); + return; + } +/* + if (temp.exists()) + { + if (orig.exists() && !orig.renameTo(new File(args[0] + (new SimpleDateFormat(".yyyy.MM.dd.HHmmss")).format(new Date())))) + { + System.out.println("Could not backup existing file: " + orig); + return; + } + if (!temp.renameTo(orig)) + { + System.out.println("Could not restore backup from previous run: " + temp); + return; + } + } +*/ + if (!orig.renameTo(temp)) + { + System.out.println("Could not rename file: " + orig + " -> " + temp); + return; + } + + try + { + processJar(temp, orig, trans); + } + catch (IOException e) + { + e.printStackTrace(); + } + + if (!temp.delete()) + { + System.out.println("Could not delete temp file: " + temp); + } + } + + private static void processJar(File inFile, File outFile, MarkerTransformer[] transformers) throws IOException + { + ZipInputStream inJar = null; + ZipOutputStream outJar = null; + + try + { + try + { + inJar = new ZipInputStream(new BufferedInputStream(new FileInputStream(inFile))); + } + catch (FileNotFoundException e) + { + throw new FileNotFoundException("Could not open input file: " + e.getMessage()); + } + + try + { + outJar = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(outFile))); + } + catch (FileNotFoundException e) + { + throw new FileNotFoundException("Could not open output file: " + e.getMessage()); + } + + ZipEntry entry; + while ((entry = inJar.getNextEntry()) != null) + { + if (entry.isDirectory()) + { + outJar.putNextEntry(entry); + continue; + } + + byte[] data = new byte[4096]; + ByteArrayOutputStream entryBuffer = new ByteArrayOutputStream(); + + int len; + do + { + len = inJar.read(data); + if (len > 0) + { + entryBuffer.write(data, 0, len); + } + } + while (len != -1); + + byte[] entryData = entryBuffer.toByteArray(); + + String entryName = entry.getName(); + + if (entryName.endsWith(".class") && !entryName.startsWith(".")) + { + ClassNode cls = new ClassNode(); + ClassReader rdr = new ClassReader(entryData); + rdr.accept(cls, 0); + String name = cls.name.replace('/', '.').replace('\\', '.'); + + for (MarkerTransformer trans : transformers) + { + entryData = trans.transform(name, name, entryData); + } + } + + ZipEntry newEntry = new ZipEntry(entryName); + outJar.putNextEntry(newEntry); + outJar.write(entryData); + } + } + finally + { + if (outJar != null) + { + try + { + outJar.close(); + } + catch (IOException e) + { + } + } + + if (inJar != null) + { + try + { + inJar.close(); + } + catch (IOException e) + { + } + } + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/ModAPITransformer.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/ModAPITransformer.java new file mode 100644 index 000000000..bc0ede023 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/ModAPITransformer.java @@ -0,0 +1,160 @@ +package net.minecraftforge.fml.common.asm.transformers; + +import java.util.Iterator; +import java.util.List; +import java.util.ListIterator; +import java.util.Map; +import java.util.Set; + +import net.minecraft.launchwrapper.IClassTransformer; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.ModAPIManager; +import net.minecraftforge.fml.common.discovery.ASMDataTable; +import net.minecraftforge.fml.common.discovery.ASMDataTable.ASMData; +import net.minecraftforge.fml.relauncher.FMLRelaunchLog; + +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.tree.ClassNode; +import org.objectweb.asm.tree.MethodNode; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Sets; + +public class ModAPITransformer implements IClassTransformer { + + private static final boolean logDebugInfo = Boolean.valueOf(System.getProperty("fml.debugAPITransformer", "true")); + private ListMultimap optionals; + + @Override + public byte[] transform(String name, String transformedName, byte[] basicClass) + { + String lookupName = name; + if(name.endsWith("$class")) + { + lookupName = name.substring(0, name.length() - 6); + } + if (optionals == null || !optionals.containsKey(lookupName)) + { + return basicClass; + } + ClassNode classNode = new ClassNode(); + ClassReader classReader = new ClassReader(basicClass); + classReader.accept(classNode, 0); + + if (logDebugInfo) FMLRelaunchLog.finer("Optional removal - found optionals for class %s - processing", name); + for (ASMData optional : optionals.get(lookupName)) + { + String modId = (String) optional.getAnnotationInfo().get("modid"); + + if (Loader.isModLoaded(modId) || ModAPIManager.INSTANCE.hasAPI(modId)) + { + if (logDebugInfo) FMLRelaunchLog.finer("Optional removal skipped - mod present %s", modId); + continue; + } + if (logDebugInfo) FMLRelaunchLog.finer("Optional on %s triggered - mod missing %s", name, modId); + + if (optional.getAnnotationInfo().containsKey("iface")) + { + Boolean stripRefs = (Boolean)optional.getAnnotationInfo().get("striprefs"); + if (stripRefs == null) stripRefs = Boolean.FALSE; + stripInterface(classNode,(String)optional.getAnnotationInfo().get("iface"), stripRefs); + } + else + { + stripMethod(classNode, (String)optional.getObjectName()); + } + + } + if (logDebugInfo) FMLRelaunchLog.finer("Optional removal - class %s processed", name); + + ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS); + classNode.accept(writer); + return writer.toByteArray(); + } + + private void stripMethod(ClassNode classNode, String methodDescriptor) + { + if(classNode.name.endsWith("$class")) + { + String subName = classNode.name.substring(0, classNode.name.length() - 6); + int pos = methodDescriptor.indexOf('(') + 1; + methodDescriptor = methodDescriptor.substring(0, pos) + 'L' + subName + ';' + methodDescriptor.substring(pos); + } + for (ListIterator iterator = classNode.methods.listIterator(); iterator.hasNext();) + { + MethodNode method = iterator.next(); + if (methodDescriptor.equals(method.name+method.desc)) + { + iterator.remove(); + if (logDebugInfo) FMLRelaunchLog.finer("Optional removal - method %s removed", methodDescriptor); + return; + } + } + if (logDebugInfo) FMLRelaunchLog.finer("Optional removal - method %s NOT removed - not found", methodDescriptor); + } + + private void stripInterface(ClassNode classNode, String interfaceName, boolean stripRefs) + { + String ifaceName = interfaceName.replace('.', '/'); + boolean found = classNode.interfaces.remove(ifaceName); + if (found && logDebugInfo) FMLRelaunchLog.finer("Optional removal - interface %s removed", interfaceName); + if (!found && logDebugInfo) FMLRelaunchLog.finer("Optional removal - interface %s NOT removed - not found", interfaceName); + + if (found && stripRefs) + { + if (logDebugInfo) FMLRelaunchLog.finer("Optional removal - interface %s - stripping method signature references", interfaceName); + for (Iterator iterator = classNode.methods.iterator(); iterator.hasNext();) + { + MethodNode node = iterator.next(); + if (node.desc.contains(ifaceName)) + { + if (logDebugInfo) FMLRelaunchLog.finer("Optional removal - interface %s - stripping method containing reference %s", interfaceName, node.name); + iterator.remove(); + } + } + if (logDebugInfo) FMLRelaunchLog.finer("Optional removal - interface %s - all method signature references stripped", interfaceName); + } + else if (found) + { + if (logDebugInfo) FMLRelaunchLog.finer("Optional removal - interface %s - NOT stripping method signature references", interfaceName); + } + } + + public void initTable(ASMDataTable dataTable) + { + optionals = ArrayListMultimap.create(); + Set interfaceLists = dataTable.getAll("net.minecraftforge.fml.common.Optional$InterfaceList"); + addData(unpackInterfaces(interfaceLists)); + Set interfaces = dataTable.getAll("net.minecraftforge.fml.common.Optional$Interface"); + addData(interfaces); + Set methods = dataTable.getAll("net.minecraftforge.fml.common.Optional$Method"); + addData(methods); + } + + private Set unpackInterfaces(Set packedInterfaces) + { + Set result = Sets.newHashSet(); + for (ASMData data : packedInterfaces) + { + @SuppressWarnings("unchecked") + List> packedList = (List>) data.getAnnotationInfo().get("value"); + for (Map packed : packedList) + { + ASMData newData = data.copy(packed); + result.add(newData); + } + } + + return result; + } + private void addData(Set interfaces) + { + for (ASMData data : interfaces) + { + optionals.put(data.getClassName(),data); + } + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/ModAccessTransformer.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/ModAccessTransformer.java new file mode 100644 index 000000000..b44a23415 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/ModAccessTransformer.java @@ -0,0 +1,74 @@ +package net.minecraftforge.fml.common.asm.transformers; + +import java.io.IOException; +import java.io.InputStream; +import java.lang.reflect.Field; +import java.util.Map; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; +import java.util.jar.Manifest; + +import net.minecraftforge.fml.relauncher.FMLRelaunchLog; + +import com.google.common.base.Charsets; +import com.google.common.collect.Maps; +import com.google.common.io.ByteSource; +import com.google.common.io.CharSource; + +public class ModAccessTransformer extends AccessTransformer { + private static Map embedded = Maps.newHashMap(); //Needs to be primitive so that both classloaders get the same class. + @SuppressWarnings("unchecked") + public ModAccessTransformer() throws Exception + { + super(ModAccessTransformer.class); + //We are in the new ClassLoader here, so we need to get the static field from the other ClassLoader. + ClassLoader classLoader = this.getClass().getClassLoader().getClass().getClassLoader(); //Bit odd but it gets the class loader that loaded our current class loader yay java! + Class otherClazz = Class.forName(this.getClass().getName(), true, classLoader); + Field otherField = otherClazz.getDeclaredField("embedded"); + otherField.setAccessible(true); + embedded = (Map)otherField.get(null); + + for (Map.Entry e : embedded.entrySet()) + { + int old_count = getModifiers().size(); + processATFile(CharSource.wrap(e.getValue())); + int added = getModifiers().size() - old_count; + if (added > 0) + { + FMLRelaunchLog.fine("Loaded %d rules from AccessTransformer mod jar file %s\n", added, e.getKey()); + } + } + } + + public static void addJar(JarFile jar) throws IOException + { + Manifest manifest = jar.getManifest(); + String atList = manifest.getMainAttributes().getValue("FMLAT"); + if (atList == null) return; + for (String at : atList.split(" ")) + { + JarEntry jarEntry = jar.getJarEntry("META-INF/"+at); + if (jarEntry != null) + { + embedded.put(String.format("%s!META-INF/%s", jar.getName(), at), + new JarByteSource(jar,jarEntry).asCharSource(Charsets.UTF_8).read()); + } + } + } + + private static class JarByteSource extends ByteSource + { + private JarFile jar; + private JarEntry entry; + public JarByteSource(JarFile jar, JarEntry entry) + { + this.jar = jar; + this.entry = entry; + } + @Override + public InputStream openStream() throws IOException + { + return jar.getInputStream(entry); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/PatchingTransformer.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/PatchingTransformer.java new file mode 100644 index 000000000..7b457298f --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/PatchingTransformer.java @@ -0,0 +1,13 @@ +package net.minecraftforge.fml.common.asm.transformers; + +import net.minecraft.launchwrapper.IClassTransformer; +import net.minecraftforge.fml.common.patcher.ClassPatchManager; + +public class PatchingTransformer implements IClassTransformer { + @Override + public byte[] transform(String name, String transformedName, byte[] bytes) + { + return ClassPatchManager.INSTANCE.applyPatch(name, transformedName, bytes); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/SideTransformer.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/SideTransformer.java new file mode 100644 index 000000000..36235f336 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/SideTransformer.java @@ -0,0 +1,116 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.asm.transformers; + +import java.util.Iterator; +import java.util.List; + +import net.minecraft.launchwrapper.IClassTransformer; +import net.minecraftforge.fml.relauncher.FMLLaunchHandler; +import net.minecraftforge.fml.relauncher.SideOnly; + +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.Type; +import org.objectweb.asm.tree.AnnotationNode; +import org.objectweb.asm.tree.ClassNode; +import org.objectweb.asm.tree.FieldNode; +import org.objectweb.asm.tree.MethodNode; + +public class SideTransformer implements IClassTransformer +{ + private static String SIDE = FMLLaunchHandler.side().name(); + private static final boolean DEBUG = false; + @Override + public byte[] transform(String name, String transformedName, byte[] bytes) + { + if (bytes == null) { return null; } + + ClassNode classNode = new ClassNode(); + ClassReader classReader = new ClassReader(bytes); + classReader.accept(classNode, 0); + + if (remove((List)classNode.visibleAnnotations, SIDE)) + { + if (DEBUG) + { + System.out.println(String.format("Attempted to load class %s for invalid side %s", classNode.name, SIDE)); + } + throw new RuntimeException(String.format("Attempted to load class %s for invalid side %s", classNode.name, SIDE)); + } + + Iterator fields = classNode.fields.iterator(); + while(fields.hasNext()) + { + FieldNode field = fields.next(); + if (remove((List)field.visibleAnnotations, SIDE)) + { + if (DEBUG) + { + System.out.println(String.format("Removing Field: %s.%s", classNode.name, field.name)); + } + fields.remove(); + } + } + Iterator methods = classNode.methods.iterator(); + while(methods.hasNext()) + { + MethodNode method = methods.next(); + if (remove((List)method.visibleAnnotations, SIDE)) + { + if (DEBUG) + { + System.out.println(String.format("Removing Method: %s.%s%s", classNode.name, method.name, method.desc)); + } + methods.remove(); + } + } + + ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS); + classNode.accept(writer); + return writer.toByteArray(); + } + + private boolean remove(List anns, String side) + { + if (anns == null) + { + return false; + } + for (AnnotationNode ann : anns) + { + if (ann.desc.equals(Type.getDescriptor(SideOnly.class))) + { + if (ann.values != null) + { + for (int x = 0; x < ann.values.size() - 1; x += 2) + { + Object key = ann.values.get(x); + Object value = ann.values.get(x+1); + if (key instanceof String && key.equals("value")) + { + if (value instanceof String[] ) + { + if (!((String[])value)[1].equals(side)) + { + return true; + } + } + } + } + } + } + } + return false; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/TerminalTransformer.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/TerminalTransformer.java new file mode 100644 index 000000000..4b468c80c --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/TerminalTransformer.java @@ -0,0 +1,146 @@ +package net.minecraftforge.fml.common.asm.transformers; + +import org.objectweb.asm.*; + +import net.minecraft.launchwrapper.IClassTransformer; +import net.minecraftforge.fml.relauncher.FMLRelaunchLog; +import net.minecraftforge.fml.relauncher.FMLSecurityManager.ExitTrappedException; + +public class TerminalTransformer implements IClassTransformer +{ + @Override + public byte[] transform(String name, String transformedName, byte[] basicClass) + { + if (basicClass == null) return null; + ClassReader reader = new ClassReader(basicClass); + ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_MAXS); + + ClassVisitor visitor = writer; + visitor = new ExitVisitor(visitor); + + reader.accept(visitor, 0); + return writer.toByteArray(); + } + + public static class ExitVisitor extends ClassVisitor + { + private String clsName = null; + private static final String callbackOwner = org.objectweb.asm.Type.getInternalName(ExitVisitor.class); + + private ExitVisitor(ClassVisitor cv) + { + super(Opcodes.ASM5, cv); + } + + @Override + public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) + { + super.visit(version, access, name, signature, superName, interfaces); + this.clsName = name; + } + + @Override + public MethodVisitor visitMethod(int mAccess, final String mName, final String mDesc, String mSignature, String[] mExceptions) + { + final boolean warn = !(clsName.equals("net/minecraft/client/Minecraft") || + clsName.equals("net/minecraft/server/dedicated/DedicatedServer") || + clsName.equals("net/minecraft/server/dedicated/ServerHangWatchdog") || + clsName.equals("net/minecraft/server/dedicated/ServerHangWatchdog$1") || + clsName.equals("net/minecraftforge/fml/common/FMLCommonHandler") || + clsName.startsWith("com/jcraft/jogg/") || + clsName.startsWith("scala/sys/") || + clsName.startsWith("net/minecraft/server/gui/MinecraftServerGui") + ); + + return new MethodVisitor(Opcodes.ASM5, super.visitMethod(mAccess, mName, mDesc, mSignature, mExceptions)) + { + @Override + public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean isIntf) + { + if (opcode == Opcodes.INVOKESTATIC && owner.equals("java/lang/System") && name.equals("exit") && desc.equals("(I)V")) + { + if (warn) + { + FMLRelaunchLog.warning("============================================================="); + FMLRelaunchLog.warning("MOD HAS DIRECT REFERENCE System.exit() THIS IS NOT ALLOWED REROUTING TO FML!"); + FMLRelaunchLog.warning("Offendor: %s.%s%s", ExitVisitor.this.clsName, mName, mDesc); + FMLRelaunchLog.warning("Use FMLCommonHandler.exitJava instead"); + FMLRelaunchLog.warning("============================================================="); + } + owner = ExitVisitor.callbackOwner; + name = "systemExitCalled"; + } + else if (opcode == Opcodes.INVOKEVIRTUAL && owner.equals("java/lang/Runtime") && name.equals("exit") && desc.equals("(I)V")) + { + if (warn) + { + FMLRelaunchLog.warning("============================================================="); + FMLRelaunchLog.warning("MOD HAS DIRECT REFERENCE Runtime.exit() THIS IS NOT ALLOWED REROUTING TO FML!"); + FMLRelaunchLog.warning("Offendor: %s.%s%s", ExitVisitor.this.clsName, mName, mDesc); + FMLRelaunchLog.warning("Use FMLCommonHandler.exitJava instead"); + FMLRelaunchLog.warning("============================================================="); + } + opcode = Opcodes.INVOKESTATIC; + owner = ExitVisitor.callbackOwner; + name = "runtimeExitCalled"; + desc = "(Ljava/lang/Runtime;I)V"; + } + else if (opcode == Opcodes.INVOKEVIRTUAL && owner.equals("java/lang/Runtime") && name.equals("halt") && desc.equals("(I)V")) + { + if (warn) + { + FMLRelaunchLog.warning("============================================================="); + FMLRelaunchLog.warning("MOD HAS DIRECT REFERENCE Runtime.halt() THIS IS NOT ALLOWED REROUTING TO FML!"); + FMLRelaunchLog.warning("Offendor: %s.%s%s", ExitVisitor.this.clsName, mName, mDesc); + FMLRelaunchLog.warning("Use FMLCommonHandler.exitJava instead"); + FMLRelaunchLog.warning("============================================================="); + } + opcode = Opcodes.INVOKESTATIC; + owner = ExitVisitor.callbackOwner; + name = "runtimeHaltCalled"; + desc = "(Ljava/lang/Runtime;I)V"; + } + + super.visitMethodInsn(opcode, owner, name, desc, isIntf); + } + }; + } + + // Intercept System.exit, and check if the caller is allowed to use it, if not wrap it in a ExitTrappedException + public static void systemExitCalled(int status) + { + ExitVisitor.checkAccess(); + System.exit(status); + } + // Intercept Runtime.getRuntime().exit, and check if the caller is allowed to use it, if not wrap it in a ExitTrappedException + public static void runtimeExitCalled(Runtime runtime, int status) + { + ExitVisitor.checkAccess(); + runtime.exit(status); + } + + // Intercept Runtime.getRuntime().halt, and check if the caller is allowed to use it, if not wrap it in a ExitTrappedException + public static void runtimeHaltCalled(Runtime runtime, int status) + { + ExitVisitor.checkAccess(); + runtime.halt(status); + } + + private static void checkAccess() + { + StackTraceElement[] cause = Thread.currentThread().getStackTrace(); + + String callingClass = cause.length > 2 ? cause[3].getClassName() : "none"; + String callingParent = cause.length > 3 ? cause[4].getClassName() : "none"; + // FML is allowed to call system exit and the Minecraft applet (from the quit button), and the dedicated server (from itself) + if (!(callingClass.startsWith("net.minecraftforge.fml.") || + ("net.minecraft.client.Minecraft".equals(callingClass) && "net.minecraft.client.Minecraft".equals(callingParent)) || + ("net.minecraft.server.gui.MinecraftServerGui$1".equals(callingClass) && "java.awt.AWTEventMulticaster".equals(callingParent)) || + ("net.minecraft.server.dedicated.DedicatedServer".equals(callingClass) && "net.minecraft.server.MinecraftServer".equals(callingParent))) + ) + { + throw new ExitTrappedException(); + } + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/deobf/FMLDeobfuscatingRemapper.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/deobf/FMLDeobfuscatingRemapper.java new file mode 100644 index 000000000..4698bfe94 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/deobf/FMLDeobfuscatingRemapper.java @@ -0,0 +1,424 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.asm.transformers.deobf; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import net.minecraft.launchwrapper.LaunchClassLoader; +import net.minecraftforge.fml.common.patcher.ClassPatchManager; +import net.minecraftforge.fml.relauncher.FMLRelaunchLog; + +import org.apache.logging.log4j.Level; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.commons.Remapper; +import org.objectweb.asm.tree.ClassNode; +import org.objectweb.asm.tree.FieldNode; + +import com.google.common.base.CharMatcher; +import com.google.common.base.Charsets; +import com.google.common.base.Splitter; +import com.google.common.base.Strings; +import com.google.common.collect.BiMap; +import com.google.common.collect.ImmutableBiMap; +import com.google.common.collect.ImmutableBiMap.Builder; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Iterables; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.common.io.CharSource; + +public class FMLDeobfuscatingRemapper extends Remapper { + public static final FMLDeobfuscatingRemapper INSTANCE = new FMLDeobfuscatingRemapper(); + + private BiMap classNameBiMap; + + private Map> rawFieldMaps; + private Map> rawMethodMaps; + + private Map> fieldNameMaps; + private Map> methodNameMaps; + + private LaunchClassLoader classLoader; + + + private static final boolean DEBUG_REMAPPING = Boolean.parseBoolean(System.getProperty("fml.remappingDebug", "false")); + private static final boolean DUMP_FIELD_MAPS = Boolean.parseBoolean(System.getProperty("fml.remappingDebug.dumpFieldMaps", "false")) && DEBUG_REMAPPING; + private static final boolean DUMP_METHOD_MAPS = Boolean.parseBoolean(System.getProperty("fml.remappingDebug.dumpMethodMaps", "false")) && DEBUG_REMAPPING; + + private FMLDeobfuscatingRemapper() + { + classNameBiMap=ImmutableBiMap.of(); + } + + public void setupLoadOnly(String deobfFileName, boolean loadAll) + { + try + { + File mapData = new File(deobfFileName); + LZMAInputSupplier zis = new LZMAInputSupplier(new FileInputStream(mapData)); + CharSource srgSource = zis.asCharSource(Charsets.UTF_8); + List srgList = srgSource.readLines(); + rawMethodMaps = Maps.newHashMap(); + rawFieldMaps = Maps.newHashMap(); + Builder builder = ImmutableBiMap.builder(); + Splitter splitter = Splitter.on(CharMatcher.anyOf(": ")).omitEmptyStrings().trimResults(); + for (String line : srgList) + { + String[] parts = Iterables.toArray(splitter.split(line),String.class); + String typ = parts[0]; + if ("CL".equals(typ)) + { + parseClass(builder, parts); + } + else if ("MD".equals(typ) && loadAll) + { + parseMethod(parts); + } + else if ("FD".equals(typ) && loadAll) + { + parseField(parts); + } + } + classNameBiMap = builder.build(); + } + catch (IOException ioe) + { + FMLRelaunchLog.log(Level.ERROR, "An error occurred loading the deobfuscation map data", ioe); + } + methodNameMaps = Maps.newHashMapWithExpectedSize(rawMethodMaps.size()); + fieldNameMaps = Maps.newHashMapWithExpectedSize(rawFieldMaps.size()); + + } + public void setup(File mcDir, LaunchClassLoader classLoader, String deobfFileName) + { + this.classLoader = classLoader; + try + { + InputStream classData = getClass().getResourceAsStream(deobfFileName); + LZMAInputSupplier zis = new LZMAInputSupplier(classData); + CharSource srgSource = zis.asCharSource(Charsets.UTF_8); + List srgList = srgSource.readLines(); + rawMethodMaps = Maps.newHashMap(); + rawFieldMaps = Maps.newHashMap(); + Builder builder = ImmutableBiMap.builder(); + Splitter splitter = Splitter.on(CharMatcher.anyOf(": ")).omitEmptyStrings().trimResults(); + for (String line : srgList) + { + String[] parts = Iterables.toArray(splitter.split(line),String.class); + String typ = parts[0]; + if ("CL".equals(typ)) + { + parseClass(builder, parts); + } + else if ("MD".equals(typ)) + { + parseMethod(parts); + } + else if ("FD".equals(typ)) + { + parseField(parts); + } + } + classNameBiMap = builder.build(); + } + catch (IOException ioe) + { + FMLRelaunchLog.log(Level.ERROR, ioe, "An error occurred loading the deobfuscation map data"); + } + methodNameMaps = Maps.newHashMapWithExpectedSize(rawMethodMaps.size()); + fieldNameMaps = Maps.newHashMapWithExpectedSize(rawFieldMaps.size()); + } + + public boolean isRemappedClass(String className) + { + return !map(className).equals(className); + } + + private void parseField(String[] parts) + { + String oldSrg = parts[1]; + int lastOld = oldSrg.lastIndexOf('/'); + String cl = oldSrg.substring(0,lastOld); + String oldName = oldSrg.substring(lastOld+1); + String newSrg = parts[2]; + int lastNew = newSrg.lastIndexOf('/'); + String newName = newSrg.substring(lastNew+1); + if (!rawFieldMaps.containsKey(cl)) + { + rawFieldMaps.put(cl, Maps.newHashMap()); + } + rawFieldMaps.get(cl).put(oldName + ":" + getFieldType(cl, oldName), newName); + rawFieldMaps.get(cl).put(oldName + ":null", newName); + } + + /* + * Cache the field descriptions for classes so we don't repeatedly reload the same data again and again + */ + private Map> fieldDescriptions = Maps.newHashMap(); + + // Cache null values so we don't waste time trying to recompute classes with no field or method maps + private Set negativeCacheMethods = Sets.newHashSet(); + private Set negativeCacheFields = Sets.newHashSet(); + + private String getFieldType(String owner, String name) + { + if (fieldDescriptions.containsKey(owner)) + { + return fieldDescriptions.get(owner).get(name); + } + synchronized (fieldDescriptions) + { + try + { + byte[] classBytes = ClassPatchManager.INSTANCE.getPatchedResource(owner, map(owner).replace('/', '.'), classLoader); + if (classBytes == null) + { + return null; + } + ClassReader cr = new ClassReader(classBytes); + ClassNode classNode = new ClassNode(); + cr.accept(classNode, ClassReader.SKIP_CODE | ClassReader.SKIP_DEBUG | ClassReader.SKIP_FRAMES); + Map resMap = Maps.newHashMap(); + for (FieldNode fieldNode : (List) classNode.fields) { + resMap.put(fieldNode.name, fieldNode.desc); + } + fieldDescriptions.put(owner, resMap); + return resMap.get(name); + } + catch (IOException e) + { + FMLRelaunchLog.log(Level.ERROR,e, "A critical exception occured reading a class file %s", owner); + } + return null; + } + } + + private void parseClass(Builder builder, String[] parts) + { + builder.put(parts[1],parts[2]); + } + + private void parseMethod(String[] parts) + { + String oldSrg = parts[1]; + int lastOld = oldSrg.lastIndexOf('/'); + String cl = oldSrg.substring(0,lastOld); + String oldName = oldSrg.substring(lastOld+1); + String sig = parts[2]; + String newSrg = parts[3]; + int lastNew = newSrg.lastIndexOf('/'); + String newName = newSrg.substring(lastNew+1); + if (!rawMethodMaps.containsKey(cl)) + { + rawMethodMaps.put(cl, Maps.newHashMap()); + } + rawMethodMaps.get(cl).put(oldName+sig, newName); + } + + @Override + public String mapFieldName(String owner, String name, String desc) + { + if (classNameBiMap == null || classNameBiMap.isEmpty()) + { + return name; + } + Map fieldMap = getFieldMap(owner); + return fieldMap!=null && fieldMap.containsKey(name+":"+desc) ? fieldMap.get(name+":"+desc) : name; + } + + @Override + public String map(String typeName) + { + if (classNameBiMap == null || classNameBiMap.isEmpty()) + { + return typeName; + } + if (classNameBiMap.containsKey(typeName)) + { + return classNameBiMap.get(typeName); + } + int dollarIdx = typeName.lastIndexOf('$'); + if (dollarIdx > -1) + { + return map(typeName.substring(0, dollarIdx)) + "$" + typeName.substring(dollarIdx + 1); + } + return typeName; + } + + public String unmap(String typeName) + { + if (classNameBiMap == null || classNameBiMap.isEmpty()) + { + return typeName; + } + + if (classNameBiMap.containsValue(typeName)) + { + return classNameBiMap.inverse().get(typeName); + } + int dollarIdx = typeName.lastIndexOf('$'); + if (dollarIdx > -1) + { + return unmap(typeName.substring(0, dollarIdx)) + "$" + typeName.substring(dollarIdx + 1); + } + return typeName; + } + + + @Override + public String mapMethodName(String owner, String name, String desc) + { + if (classNameBiMap==null || classNameBiMap.isEmpty()) + { + return name; + } + Map methodMap = getMethodMap(owner); + String methodDescriptor = name+desc; + return methodMap!=null && methodMap.containsKey(methodDescriptor) ? methodMap.get(methodDescriptor) : name; + } + + private Map getFieldMap(String className) + { + if (!fieldNameMaps.containsKey(className) && !negativeCacheFields.contains(className)) + { + findAndMergeSuperMaps(className); + if (!fieldNameMaps.containsKey(className)) + { + negativeCacheFields.add(className); + } + + if (DUMP_FIELD_MAPS) + { + FMLRelaunchLog.finer("Field map for %s : %s", className, fieldNameMaps.get(className)); + } + } + return fieldNameMaps.get(className); + } + + private Map getMethodMap(String className) + { + if (!methodNameMaps.containsKey(className) && !negativeCacheMethods.contains(className)) + { + findAndMergeSuperMaps(className); + if (!methodNameMaps.containsKey(className)) + { + negativeCacheMethods.add(className); + } + if (DUMP_METHOD_MAPS) + { + FMLRelaunchLog.finer("Method map for %s : %s", className, methodNameMaps.get(className)); + } + + } + return methodNameMaps.get(className); + } + + private void findAndMergeSuperMaps(String name) + { + try + { + String superName = null; + String[] interfaces = new String[0]; + byte[] classBytes = ClassPatchManager.INSTANCE.getPatchedResource(name, map(name), classLoader); + if (classBytes != null) + { + ClassReader cr = new ClassReader(classBytes); + superName = cr.getSuperName(); + interfaces = cr.getInterfaces(); + } + mergeSuperMaps(name, superName, interfaces); + } + catch (IOException e) + { + e.printStackTrace(); + } + } + public void mergeSuperMaps(String name, String superName, String[] interfaces) + { +// System.out.printf("Computing super maps for %s: %s %s\n", name, superName, Arrays.asList(interfaces)); + if (classNameBiMap == null || classNameBiMap.isEmpty()) + { + return; + } + // Skip Object + if (Strings.isNullOrEmpty(superName)) + { + return; + } + + List allParents = ImmutableList.builder().add(superName).addAll(Arrays.asList(interfaces)).build(); + // generate maps for all parent objects + for (String parentThing : allParents) + { + if (!methodNameMaps.containsKey(parentThing)) + { + findAndMergeSuperMaps(parentThing); + } + } + Map methodMap = Maps.newHashMap(); + Map fieldMap = Maps.newHashMap(); + for (String parentThing : allParents) + { + if (methodNameMaps.containsKey(parentThing)) + { + methodMap.putAll(methodNameMaps.get(parentThing)); + } + if (fieldNameMaps.containsKey(parentThing)) + { + fieldMap.putAll(fieldNameMaps.get(parentThing)); + } + } + if (rawMethodMaps.containsKey(name)) + { + methodMap.putAll(rawMethodMaps.get(name)); + } + if (rawFieldMaps.containsKey(name)) + { + fieldMap.putAll(rawFieldMaps.get(name)); + } + methodNameMaps.put(name, ImmutableMap.copyOf(methodMap)); + fieldNameMaps.put(name, ImmutableMap.copyOf(fieldMap)); +// System.out.printf("Maps: %s %s\n", name, methodMap); + } + + public Set getObfedClasses() + { + return ImmutableSet.copyOf(classNameBiMap.keySet()); + } + + public String getStaticFieldType(String oldType, String oldName, String newType, String newName) + { + String fType = getFieldType(oldType, oldName); + if (oldType.equals(newType)) + { + return fType; + } + Map newClassMap = fieldDescriptions.get(newType); + if (newClassMap == null) + { + newClassMap = Maps.newHashMap(); + fieldDescriptions.put(newType, newClassMap); + } + newClassMap.put(newName, fType); + return fType; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/deobf/FMLRemappingAdapter.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/deobf/FMLRemappingAdapter.java new file mode 100644 index 000000000..1dc204055 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/deobf/FMLRemappingAdapter.java @@ -0,0 +1,75 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.asm.transformers.deobf; + +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.commons.Remapper; +import org.objectweb.asm.commons.RemappingClassAdapter; +import org.objectweb.asm.commons.RemappingMethodAdapter; + +public class FMLRemappingAdapter extends RemappingClassAdapter { + public FMLRemappingAdapter(ClassVisitor cv) + { + super(cv, FMLDeobfuscatingRemapper.INSTANCE); + } + + @Override + public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) + { + if (interfaces == null) + { + interfaces = new String[0]; + } + FMLDeobfuscatingRemapper.INSTANCE.mergeSuperMaps(name, superName, interfaces); + super.visit(version, access, name, signature, superName, interfaces); + } + + @Override + protected MethodVisitor createRemappingMethodAdapter(int access, String newDesc, MethodVisitor mv) + { + return new StaticFixingMethodVisitor(access, newDesc, mv, remapper); + } + + private static class StaticFixingMethodVisitor extends RemappingMethodAdapter + { + + public StaticFixingMethodVisitor(int access, String desc, MethodVisitor mv, Remapper remapper) + { + super(access, desc, mv, remapper); + } + + @Override + public void visitFieldInsn(int opcode, String originalType, String originalName, String desc) + { + // This method solves the problem of a static field reference changing type. In all probability it is a + // compatible change, however we need to fix up the desc to point at the new type + String type = remapper.mapType(originalType); + String fieldName = remapper.mapFieldName(originalType, originalName, desc); + String newDesc = remapper.mapDesc(desc); + if (opcode == Opcodes.GETSTATIC && type.startsWith("net/minecraft/") && newDesc.startsWith("Lnet/minecraft/")) + { + String replDesc = FMLDeobfuscatingRemapper.INSTANCE.getStaticFieldType(originalType, originalName, type, fieldName); + if (replDesc != null) + { + newDesc = remapper.mapDesc(replDesc); + } + } + // super.super + if (mv != null) { + mv.visitFieldInsn(opcode, type, fieldName, newDesc); + } + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/deobf/LZMAInputSupplier.java b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/deobf/LZMAInputSupplier.java new file mode 100644 index 000000000..4fe8d526e --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/asm/transformers/deobf/LZMAInputSupplier.java @@ -0,0 +1,36 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.asm.transformers.deobf; + +import java.io.IOException; +import java.io.InputStream; + +import LZMA.LzmaInputStream; + +import com.google.common.io.ByteSource; + +public class LZMAInputSupplier extends ByteSource { + private InputStream compressedData; + + public LZMAInputSupplier(InputStream compressedData) + { + this.compressedData = compressedData; + } + + @Override + public InputStream openStream() throws IOException + { + return new LzmaInputStream(this.compressedData); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/discovery/ASMDataTable.java b/fml/src/main/java/net/minecraftforge/fml/common/discovery/ASMDataTable.java new file mode 100644 index 000000000..aa82dd0b6 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/discovery/ASMDataTable.java @@ -0,0 +1,141 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.discovery; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +import net.minecraftforge.fml.common.ModContainer; + +import com.google.common.base.Predicate; +import com.google.common.collect.HashMultimap; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSetMultimap; +import com.google.common.collect.Lists; +import com.google.common.collect.Multimap; +import com.google.common.collect.Multimaps; +import com.google.common.collect.SetMultimap; + +public class ASMDataTable +{ + public final static class ASMData implements Cloneable + { + private ModCandidate candidate; + private String annotationName; + private String className; + private String objectName; + private Map annotationInfo; + public ASMData(ModCandidate candidate, String annotationName, String className, String objectName, Map info) + { + this.candidate = candidate; + this.annotationName = annotationName; + this.className = className; + this.objectName = objectName; + this.annotationInfo = info; + } + public ModCandidate getCandidate() + { + return candidate; + } + public String getAnnotationName() + { + return annotationName; + } + public String getClassName() + { + return className; + } + public String getObjectName() + { + return objectName; + } + public Map getAnnotationInfo() + { + return annotationInfo; + } + + public ASMData copy(Map newAnnotationInfo) + { + try + { + ASMData clone = (ASMData) this.clone(); + clone.annotationInfo = newAnnotationInfo; + return clone; + } + catch (CloneNotSupportedException e) + { + throw new RuntimeException("Unpossible", e); + } + } + } + + private static class ModContainerPredicate implements Predicate + { + private ModContainer container; + public ModContainerPredicate(ModContainer container) + { + this.container = container; + } + @Override + public boolean apply(ASMData data) + { + return container.getSource().equals(data.candidate.getModContainer()); + } + } + private SetMultimap globalAnnotationData = HashMultimap.create(); + private Map> containerAnnotationData; + + private List containers = Lists.newArrayList(); + private SetMultimap packageMap = HashMultimap.create(); + + public SetMultimap getAnnotationsFor(ModContainer container) + { + if (containerAnnotationData == null) + { + ImmutableMap.Builder> mapBuilder = ImmutableMap.>builder(); + for (ModContainer cont : containers) + { + Multimap values = Multimaps.filterValues(globalAnnotationData, new ModContainerPredicate(cont)); + mapBuilder.put(cont, ImmutableSetMultimap.copyOf(values)); + } + containerAnnotationData = mapBuilder.build(); + } + return containerAnnotationData.get(container); + } + + public Set getAll(String annotation) + { + return globalAnnotationData.get(annotation); + } + + public void addASMData(ModCandidate candidate, String annotation, String className, String objectName, Map annotationInfo) + { + globalAnnotationData.put(annotation, new ASMData(candidate, annotation, className, objectName, annotationInfo)); + } + + public void addContainer(ModContainer container) + { + this.containers.add(container); + } + + public void registerPackage(ModCandidate modCandidate, String pkg) + { + this.packageMap.put(pkg,modCandidate); + } + + public Set getCandidatesFor(String pkg) + { + return this.packageMap.get(pkg); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/discovery/ContainerType.java b/fml/src/main/java/net/minecraftforge/fml/common/discovery/ContainerType.java new file mode 100644 index 000000000..2a9e14b00 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/discovery/ContainerType.java @@ -0,0 +1,44 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.discovery; + +import java.util.List; + +import net.minecraftforge.fml.common.ModContainer; + +import com.google.common.base.Throwables; + +public enum ContainerType +{ + JAR(JarDiscoverer.class), + DIR(DirectoryDiscoverer.class); + + private ITypeDiscoverer discoverer; + + private ContainerType(Class discovererClass) + { + try + { + this.discoverer = discovererClass.newInstance(); + } + catch (Exception e) + { + throw Throwables.propagate(e); + } + } + + public List findMods(ModCandidate candidate, ASMDataTable table) + { + return discoverer.discover(candidate, table); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/discovery/DirectoryDiscoverer.java b/fml/src/main/java/net/minecraftforge/fml/common/discovery/DirectoryDiscoverer.java new file mode 100644 index 000000000..2ed403cbf --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/discovery/DirectoryDiscoverer.java @@ -0,0 +1,128 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.discovery; + +import java.io.File; +import java.io.FileFilter; +import java.io.FileInputStream; +import java.util.Arrays; +import java.util.List; +import java.util.regex.Matcher; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.LoaderException; +import net.minecraftforge.fml.common.MetadataCollection; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.ModContainerFactory; +import net.minecraftforge.fml.common.discovery.asm.ASMModParser; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.Throwables; +import com.google.common.collect.Lists; + +public class DirectoryDiscoverer implements ITypeDiscoverer +{ + private class ClassFilter implements FileFilter + { + @Override + public boolean accept(File file) + { + return (file.isFile() && classFile.matcher(file.getName()).matches()) || file.isDirectory(); + } + } + + private ASMDataTable table; + + @Override + public List discover(ModCandidate candidate, ASMDataTable table) + { + this.table = table; + List found = Lists.newArrayList(); + FMLLog.fine("Examining directory %s for potential mods", candidate.getModContainer().getName()); + exploreFileSystem("", candidate.getModContainer(), found, candidate, null); + for (ModContainer mc : found) + { + table.addContainer(mc); + } + return found; + } + + public void exploreFileSystem(String path, File modDir, List harvestedMods, ModCandidate candidate, MetadataCollection mc) + { + if (path.length() == 0) + { + File metadata = new File(modDir, "mcmod.info"); + try + { + FileInputStream fis = new FileInputStream(metadata); + mc = MetadataCollection.from(fis,modDir.getName()); + fis.close(); + FMLLog.fine("Found an mcmod.info file in directory %s", modDir.getName()); + } + catch (Exception e) + { + mc = MetadataCollection.from(null,""); + FMLLog.fine("No mcmod.info file found in directory %s", modDir.getName()); + } + } + + File[] content = modDir.listFiles(new ClassFilter()); + + // Always sort our content + Arrays.sort(content); + for (File file : content) + { + if (file.isDirectory()) + { + FMLLog.finer("Recursing into package %s", path + file.getName()); + exploreFileSystem(path + file.getName() + ".", file, harvestedMods, candidate, mc); + continue; + } + Matcher match = classFile.matcher(file.getName()); + + if (match.matches()) + { + ASMModParser modParser = null; + try + { + FileInputStream fis = new FileInputStream(file); + modParser = new ASMModParser(fis); + fis.close(); + candidate.addClassEntry(path+file.getName()); + } + catch (LoaderException e) + { + FMLLog.log(Level.ERROR, e, "There was a problem reading the file %s - probably this is a corrupt file", file.getPath()); + throw e; + } + catch (Exception e) + { + Throwables.propagate(e); + } + + modParser.validate(); + modParser.sendToTable(table, candidate); + ModContainer container = ModContainerFactory.instance().build(modParser, candidate.getModContainer(), candidate); + if (container!=null) + { + harvestedMods.add(container); + container.bindMetadata(mc); + } + } + + + } + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/discovery/ITypeDiscoverer.java b/fml/src/main/java/net/minecraftforge/fml/common/discovery/ITypeDiscoverer.java new file mode 100644 index 000000000..885fd85a9 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/discovery/ITypeDiscoverer.java @@ -0,0 +1,26 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.discovery; + +import java.util.List; +import java.util.regex.Pattern; + +import net.minecraftforge.fml.common.ModContainer; + +public interface ITypeDiscoverer +{ + // main class part, followed by an optional $ and an "inner class" part. $ cannot be last, otherwise scala breaks + public static Pattern classFile = Pattern.compile("[^\\s\\$]+(\\$[^\\s]+)?\\.class$"); + + public List discover(ModCandidate candidate, ASMDataTable table); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/discovery/JarDiscoverer.java b/fml/src/main/java/net/minecraftforge/fml/common/discovery/JarDiscoverer.java new file mode 100644 index 000000000..6c83c6966 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/discovery/JarDiscoverer.java @@ -0,0 +1,115 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.discovery; + +import java.util.Collections; +import java.util.List; +import java.util.jar.JarFile; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.LoaderException; +import net.minecraftforge.fml.common.MetadataCollection; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.ModContainerFactory; +import net.minecraftforge.fml.common.discovery.asm.ASMModParser; + +import org.apache.logging.log4j.Level; + +import java.util.regex.Matcher; +import java.util.zip.ZipEntry; + +import com.google.common.collect.Lists; + +public class JarDiscoverer implements ITypeDiscoverer +{ + @Override + public List discover(ModCandidate candidate, ASMDataTable table) + { + List foundMods = Lists.newArrayList(); + FMLLog.fine("Examining file %s for potential mods", candidate.getModContainer().getName()); + JarFile jar = null; + try + { + jar = new JarFile(candidate.getModContainer()); + + if (jar.getManifest()!=null && (jar.getManifest().getMainAttributes().get("FMLCorePlugin") != null || jar.getManifest().getMainAttributes().get("TweakClass") != null)) + { + FMLLog.finer("Ignoring coremod or tweak system %s", candidate.getModContainer()); + return foundMods; + } + ZipEntry modInfo = jar.getEntry("mcmod.info"); + MetadataCollection mc = null; + if (modInfo != null) + { + FMLLog.finer("Located mcmod.info file in file %s", candidate.getModContainer().getName()); + mc = MetadataCollection.from(jar.getInputStream(modInfo), candidate.getModContainer().getName()); + } + else + { + FMLLog.fine("The mod container %s appears to be missing an mcmod.info file", candidate.getModContainer().getName()); + mc = MetadataCollection.from(null, ""); + } + for (ZipEntry ze : Collections.list(jar.entries())) + { + if (ze.getName()!=null && ze.getName().startsWith("__MACOSX")) + { + continue; + } + Matcher match = classFile.matcher(ze.getName()); + if (match.matches()) + { + ASMModParser modParser; + try + { + modParser = new ASMModParser(jar.getInputStream(ze)); + candidate.addClassEntry(ze.getName()); + } + catch (LoaderException e) + { + FMLLog.log(Level.ERROR, e, "There was a problem reading the entry %s in the jar %s - probably a corrupt zip", ze.getName(), candidate.getModContainer().getPath()); + jar.close(); + throw e; + } + modParser.validate(); + modParser.sendToTable(table, candidate); + ModContainer container = ModContainerFactory.instance().build(modParser, candidate.getModContainer(), candidate); + if (container!=null) + { + table.addContainer(container); + foundMods.add(container); + container.bindMetadata(mc); + } + } + } + } + catch (Exception e) + { + FMLLog.log(Level.WARN, e, "Zip file %s failed to read properly, it will be ignored", candidate.getModContainer().getName()); + } + finally + { + if (jar != null) + { + try + { + jar.close(); + } + catch (Exception e) + { + } + } + } + return foundMods; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/discovery/ModCandidate.java b/fml/src/main/java/net/minecraftforge/fml/common/discovery/ModCandidate.java new file mode 100644 index 000000000..2c8d366af --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/discovery/ModCandidate.java @@ -0,0 +1,126 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.discovery; + +import java.io.File; +import java.util.List; +import java.util.Set; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.discovery.asm.ASMModParser; + +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; + + +public class ModCandidate +{ + private File classPathRoot; + private File modContainer; + private ContainerType sourceType; + private boolean classpath; + private List baseModTypes = Lists.newArrayList(); + private boolean isMinecraft; + private List baseModCandidateTypes = Lists.newArrayListWithCapacity(1); + private Set foundClasses = Sets.newHashSet(); + private List mods; + private List packages = Lists.newArrayList(); + private ASMDataTable table; + + public ModCandidate(File classPathRoot, File modContainer, ContainerType sourceType) + { + this(classPathRoot, modContainer, sourceType, false, false); + } + public ModCandidate(File classPathRoot, File modContainer, ContainerType sourceType, boolean isMinecraft, boolean classpath) + { + this.classPathRoot = classPathRoot; + this.modContainer = modContainer; + this.sourceType = sourceType; + this.isMinecraft = isMinecraft; + this.classpath = classpath; + } + + public File getClassPathRoot() + { + return classPathRoot; + } + + public File getModContainer() + { + return modContainer; + } + + public ContainerType getSourceType() + { + return sourceType; + } + public List explore(ASMDataTable table) + { + this.table = table; + this.mods = sourceType.findMods(this, table); + if (!baseModCandidateTypes.isEmpty()) + { + FMLLog.info("Attempting to reparse the mod container %s", getModContainer().getName()); + this.mods = sourceType.findMods(this, table); + } + return this.mods; + } + + public void addClassEntry(String name) + { + String className = name.substring(0, name.lastIndexOf('.')); // strip the .class + foundClasses.add(className.replace('.', '/')); + className = className.replace('/','.'); + int pkgIdx = className.lastIndexOf('.'); + if (pkgIdx > -1) + { + String pkg = className.substring(0,pkgIdx); + packages.add(pkg); + this.table.registerPackage(this,pkg); + } + } + + public boolean isClasspath() + { + return classpath; + } + public void rememberBaseModType(String className) + { + baseModTypes.add(className); + } + public List getRememberedBaseMods() + { + return baseModTypes; + } + public boolean isMinecraftJar() + { + return isMinecraft; + } + public void rememberModCandidateType(ASMModParser modParser) + { + baseModCandidateTypes.add(modParser); + } + public Set getClassList() + { + return foundClasses; + } + public List getContainedMods() + { + return mods; + } + public List getContainedPackages() + { + return packages; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/discovery/ModDiscoverer.java b/fml/src/main/java/net/minecraftforge/fml/common/discovery/ModDiscoverer.java new file mode 100644 index 000000000..105aaa6f3 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/discovery/ModDiscoverer.java @@ -0,0 +1,180 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.discovery; + +import java.io.File; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.LoaderException; +import net.minecraftforge.fml.common.ModClassLoader; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.relauncher.CoreModManager; +import net.minecraftforge.fml.relauncher.FileListHelper; +import net.minecraftforge.fml.relauncher.ModListHelper; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.Throwables; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; +import com.google.common.collect.ObjectArrays; + +public class ModDiscoverer +{ + private static Pattern zipJar = Pattern.compile("(.+).(zip|jar)$"); + + private List candidates = Lists.newArrayList(); + + private ASMDataTable dataTable = new ASMDataTable(); + + private List nonModLibs = Lists.newArrayList(); + + public void findClasspathMods(ModClassLoader modClassLoader) + { + List knownLibraries = ImmutableList.builder() + // skip default libs + .addAll(modClassLoader.getDefaultLibraries()) + // skip loaded coremods + .addAll(CoreModManager.getLoadedCoremods()) + // skip reparse coremods here + .addAll(CoreModManager.getReparseableCoremods()) + .build(); + File[] minecraftSources = modClassLoader.getParentSources(); + if (minecraftSources.length == 1 && minecraftSources[0].isFile()) + { + FMLLog.fine("Minecraft is a file at %s, loading", minecraftSources[0].getAbsolutePath()); + addCandidate(new ModCandidate(minecraftSources[0], minecraftSources[0], ContainerType.JAR, true, true)); + } + else + { + int i = 0; + for (File source : minecraftSources) + { + if (source.isFile()) + { + if (knownLibraries.contains(source.getName()) || modClassLoader.isDefaultLibrary(source)) + { + FMLLog.finer("Skipping known library file %s", source.getAbsolutePath()); + } + else + { + FMLLog.fine("Found a minecraft related file at %s, examining for mod candidates", source.getAbsolutePath()); + addCandidate(new ModCandidate(source, source, ContainerType.JAR, i==0, true)); + } + } + else if (minecraftSources[i].isDirectory()) + { + FMLLog.fine("Found a minecraft related directory at %s, examining for mod candidates", source.getAbsolutePath()); + addCandidate(new ModCandidate(source, source, ContainerType.DIR, i==0, true)); + } + i++; + } + } + + } + + public void findModDirMods(File modsDir) + { + findModDirMods(modsDir, new File[0]); + } + + public void findModDirMods(File modsDir, File[] supplementalModFileCandidates) + { + File[] modList = FileListHelper.sortFileList(modsDir, null); + modList = FileListHelper.sortFileList(ObjectArrays.concat(modList, supplementalModFileCandidates, File.class)); + for (File modFile : modList) + { + // skip loaded coremods + if (CoreModManager.getLoadedCoremods().contains(modFile.getName())) + { + FMLLog.finer("Skipping already parsed coremod or tweaker %s", modFile.getName()); + } + else if (modFile.isDirectory()) + { + FMLLog.fine("Found a candidate mod directory %s", modFile.getName()); + addCandidate(new ModCandidate(modFile, modFile, ContainerType.DIR)); + } + else + { + Matcher matcher = zipJar.matcher(modFile.getName()); + + if (matcher.matches()) + { + FMLLog.fine("Found a candidate zip or jar file %s", matcher.group(0)); + addCandidate(new ModCandidate(modFile, modFile, ContainerType.JAR)); + } + else + { + FMLLog.fine("Ignoring unknown file %s in mods directory", modFile.getName()); + } + } + } + } + + public List identifyMods() + { + List modList = Lists.newArrayList(); + + for (ModCandidate candidate : candidates) + { + try + { + List mods = candidate.explore(dataTable); + if (mods.isEmpty() && !candidate.isClasspath()) + { + nonModLibs.add(candidate.getModContainer()); + } + else + { + modList.addAll(mods); + } + } + catch (LoaderException le) + { + FMLLog.log(Level.WARN, le, "Identified a problem with the mod candidate %s, ignoring this source", candidate.getModContainer()); + } + catch (Throwable t) + { + Throwables.propagate(t); + } + } + + return modList; + } + + public ASMDataTable getASMTable() + { + return dataTable; + } + + public List getNonModLibs() + { + return nonModLibs; + } + + private void addCandidate(ModCandidate candidate) + { + for (ModCandidate c : candidates) + { + if (c.getModContainer().equals(candidate.getModContainer())) + { + FMLLog.finer(" Skipping already in list %s", candidate.getModContainer()); + return; + } + } + candidates.add(candidate); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ASMModParser.java b/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ASMModParser.java new file mode 100644 index 000000000..a7bc19c89 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ASMModParser.java @@ -0,0 +1,186 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.discovery.asm; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.LoaderException; +import net.minecraftforge.fml.common.discovery.ASMDataTable; +import net.minecraftforge.fml.common.discovery.ModCandidate; + +import org.apache.logging.log4j.Level; +import org.objectweb.asm.ClassReader; +import org.objectweb.asm.Type; + +import com.google.common.base.Objects; +import com.google.common.base.Strings; +import com.google.common.collect.Lists; + +public class ASMModParser +{ + + private Type asmType; + private int classVersion; + private Type asmSuperType; + private LinkedList annotations = Lists.newLinkedList(); + private String baseModProperties; + + static enum AnnotationType + { + CLASS, FIELD, METHOD, SUBTYPE; + } + + public ASMModParser(InputStream stream) throws IOException + { + try + { + ClassReader reader = new ClassReader(stream); + reader.accept(new ModClassVisitor(this), 0); + } + catch (Exception ex) + { + FMLLog.log(Level.ERROR, ex, "Unable to read a class file correctly"); + throw new LoaderException(ex); + } + } + + public void beginNewTypeName(String typeQName, int classVersion, String superClassQName) + { + this.asmType = Type.getObjectType(typeQName); + this.classVersion = classVersion; + this.asmSuperType = !Strings.isNullOrEmpty(superClassQName) ? Type.getObjectType(superClassQName) : null; + } + + public void startClassAnnotation(String annotationName) + { + ModAnnotation ann = new ModAnnotation(AnnotationType.CLASS, Type.getType(annotationName), this.asmType.getClassName()); + annotations.addFirst(ann); + } + + public void addAnnotationProperty(String key, Object value) + { + annotations.getFirst().addProperty(key, value); + } + + public void startFieldAnnotation(String fieldName, String annotationName) + { + ModAnnotation ann = new ModAnnotation(AnnotationType.FIELD, Type.getType(annotationName), fieldName); + annotations.addFirst(ann); + } + + @Override + public String toString() + { + return Objects.toStringHelper("ASMAnnotationDiscoverer") + .add("className", asmType.getClassName()) + .add("classVersion", classVersion) + .add("superName", asmSuperType.getClassName()) + .add("annotations", annotations) + .add("isBaseMod", isBaseMod(Collections.emptyList())) + .add("baseModProperties", baseModProperties) + .toString(); + } + + public Type getASMType() + { + return asmType; + } + + public int getClassVersion() + { + return classVersion; + } + + public Type getASMSuperType() + { + return asmSuperType; + } + + public LinkedList getAnnotations() + { + return annotations; + } + + public void validate() + { +// if (classVersion > 50.0) +// { +// +// throw new LoaderException(new RuntimeException("Mod compiled for Java 7 detected")); +// } + } + + public boolean isBaseMod(List rememberedTypes) + { + return getASMSuperType().equals(Type.getType("LBaseMod;")) || getASMSuperType().equals(Type.getType("Lnet/minecraft/src/BaseMod;"))|| rememberedTypes.contains(getASMSuperType().getClassName()); + } + + public void setBaseModProperties(String foundProperties) + { + this.baseModProperties = foundProperties; + } + + public String getBaseModProperties() + { + return this.baseModProperties; + } + + public void sendToTable(ASMDataTable table, ModCandidate candidate) + { + for (ModAnnotation ma : annotations) + { + table.addASMData(candidate, ma.asmType.getClassName(), this.asmType.getClassName(), ma.member, ma.values); + } + } + + public void addAnnotationArray(String name) + { + annotations.getFirst().addArray(name); + } + + public void addAnnotationEnumProperty(String name, String desc, String value) + { + annotations.getFirst().addEnumProperty(name, desc, value); + + } + + public void endArray() + { + annotations.getFirst().endArray(); + + } + + public void addSubAnnotation(String name, String desc) + { + ModAnnotation ma = annotations.getFirst(); + annotations.addFirst(ma.addChildAnnotation(name, desc)); + } + + public void endSubAnnotation() + { + // take the child and stick it at the end + ModAnnotation child = annotations.removeFirst(); + annotations.addLast(child); + } + + public void startMethodAnnotation(String methodName, String methodDescriptor, String annotationName) + { + ModAnnotation ann = new ModAnnotation(AnnotationType.METHOD, Type.getType(annotationName), methodName+methodDescriptor); + annotations.addFirst(ann); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModAnnotation.java b/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModAnnotation.java new file mode 100644 index 000000000..927a28cd0 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModAnnotation.java @@ -0,0 +1,120 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.discovery.asm; + +import java.util.ArrayList; +import java.util.Map; + +import net.minecraftforge.fml.common.discovery.asm.ASMModParser.AnnotationType; + +import org.objectweb.asm.Type; + +import com.google.common.base.Objects; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; + +public class ModAnnotation +{ + public class EnumHolder + { + private String desc; + private String value; + + public EnumHolder(String desc, String value) + { + this.desc = desc; + this.value = value; + } + + } + AnnotationType type; + Type asmType; + String member; + Map values = Maps.newHashMap(); + private ArrayList arrayList; + private String arrayName; + public ModAnnotation(AnnotationType type, Type asmType, String member) + { + this.type = type; + this.asmType = asmType; + this.member = member; + } + + public ModAnnotation(AnnotationType type, Type asmType, ModAnnotation parent) + { + this.type = type; + this.asmType = asmType; + } + @Override + public String toString() + { + return Objects.toStringHelper("Annotation") + .add("type",type) + .add("name",asmType.getClassName()) + .add("member",member) + .add("values", values) + .toString(); + } + public AnnotationType getType() + { + return type; + } + public Type getASMType() + { + return asmType; + } + public String getMember() + { + return member; + } + public Map getValues() + { + return values; + } + public void addArray(String name) + { + this.arrayList = Lists.newArrayList(); + this.arrayName = name; + } + public void addProperty(String key, Object value) + { + if (this.arrayList != null) + { + arrayList.add(value); + } + else + { + values.put(key, value); + } + } + + public void addEnumProperty(String key, String enumName, String value) + { + values.put(key, new EnumHolder(enumName, value)); + } + + public void endArray() + { + values.put(arrayName, arrayList); + arrayList = null; + } + public ModAnnotation addChildAnnotation(String name, String desc) + { + ModAnnotation child = new ModAnnotation(AnnotationType.SUBTYPE, Type.getType(desc), this); + if (arrayList != null) + { + arrayList.add(child.getValues()); + } + return child; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModAnnotationVisitor.java b/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModAnnotationVisitor.java new file mode 100644 index 000000000..29015e396 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModAnnotationVisitor.java @@ -0,0 +1,81 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.discovery.asm; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Opcodes; + +public class ModAnnotationVisitor extends AnnotationVisitor +{ + private ASMModParser discoverer; + private boolean array; + private String name; + private boolean isSubAnnotation; + + public ModAnnotationVisitor(ASMModParser discoverer) + { + super(Opcodes.ASM5); + this.discoverer = discoverer; + } + + public ModAnnotationVisitor(ASMModParser discoverer, String name) + { + this(discoverer); + this.array = true; + this.name = name; + discoverer.addAnnotationArray(name); + } + + public ModAnnotationVisitor(ASMModParser discoverer, boolean isSubAnnotation) + { + this(discoverer); + this.isSubAnnotation = true; + } + + @Override + public void visit(String key, Object value) + { + discoverer.addAnnotationProperty(key, value); + } + + @Override + public void visitEnum(String name, String desc, String value) + { + discoverer.addAnnotationEnumProperty(name, desc, value); + } + + @Override + public AnnotationVisitor visitArray(String name) + { + return new ModAnnotationVisitor(discoverer, name); + } + @Override + public AnnotationVisitor visitAnnotation(String name, String desc) + { + discoverer.addSubAnnotation(name, desc); + return new ModAnnotationVisitor(discoverer, true); + } + @Override + public void visitEnd() + { + if (array) + { + discoverer.endArray(); + } + + if (isSubAnnotation) + { + discoverer.endSubAnnotation(); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModClassVisitor.java b/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModClassVisitor.java new file mode 100644 index 000000000..578560d2d --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModClassVisitor.java @@ -0,0 +1,57 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.discovery.asm; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.ClassVisitor; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; + +public class ModClassVisitor extends ClassVisitor +{ + private ASMModParser discoverer; + + public ModClassVisitor(ASMModParser discoverer) + { + super(Opcodes.ASM5); + this.discoverer = discoverer; + } + + + @Override + public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) + { + discoverer.beginNewTypeName(name, version, superName); + } + + @Override + public AnnotationVisitor visitAnnotation(String annotationName, boolean runtimeVisible) + { + discoverer.startClassAnnotation(annotationName); + return new ModAnnotationVisitor(discoverer); + } + + + @Override + public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) + { + return new ModFieldVisitor(name, discoverer); + } + + @Override + public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) + { + return new ModMethodVisitor(name, desc, discoverer); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModFieldVisitor.java b/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModFieldVisitor.java new file mode 100644 index 000000000..b1eb7aed6 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModFieldVisitor.java @@ -0,0 +1,38 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.discovery.asm; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.FieldVisitor; +import org.objectweb.asm.Opcodes; + +public class ModFieldVisitor extends FieldVisitor +{ + + private String fieldName; + private ASMModParser discoverer; + + public ModFieldVisitor(String name, ASMModParser discoverer) + { + super(Opcodes.ASM5); + this.fieldName = name; + this.discoverer = discoverer; + } + + @Override + public AnnotationVisitor visitAnnotation(String annotationName, boolean runtimeVisible) + { + discoverer.startFieldAnnotation(fieldName, annotationName); + return new ModAnnotationVisitor(discoverer); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModMethodVisitor.java b/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModMethodVisitor.java new file mode 100644 index 000000000..77fb8389f --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/discovery/asm/ModMethodVisitor.java @@ -0,0 +1,28 @@ +package net.minecraftforge.fml.common.discovery.asm; + +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; + +public class ModMethodVisitor extends MethodVisitor { + + private String methodName; + private String methodDescriptor; + private ASMModParser discoverer; + + public ModMethodVisitor(String name, String desc, ASMModParser discoverer) + { + super(Opcodes.ASM5); + this.methodName = name; + this.methodDescriptor = desc; + this.discoverer = discoverer; + } + + @Override + public AnnotationVisitor visitAnnotation(String annotationName, boolean runtimeVisible) + { + discoverer.startMethodAnnotation(methodName, methodDescriptor, annotationName); + return new ModAnnotationVisitor(discoverer); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLConstructionEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLConstructionEvent.java new file mode 100644 index 000000000..9d259bcc3 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLConstructionEvent.java @@ -0,0 +1,55 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import net.minecraftforge.fml.common.ModClassLoader; +import net.minecraftforge.fml.common.LoaderState.ModState; +import net.minecraftforge.fml.common.discovery.ASMDataTable; + +import com.google.common.collect.ListMultimap; + +public class FMLConstructionEvent extends FMLStateEvent +{ + private ModClassLoader modClassLoader; + private ASMDataTable asmData; + private ListMultimap reverseDependencies; + + @SuppressWarnings("unchecked") + public FMLConstructionEvent(Object... eventData) + { + this.modClassLoader = (ModClassLoader)eventData[0]; + this.asmData = (ASMDataTable) eventData[1]; + this.reverseDependencies = (ListMultimap) eventData[2]; + } + + public ModClassLoader getModClassLoader() + { + return modClassLoader; + } + + @Override + public ModState getModState() + { + return ModState.CONSTRUCTED; + } + + public ASMDataTable getASMHarvestedData() + { + return asmData; + } + + public ListMultimap getReverseDependencies() + { + return reverseDependencies; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLEvent.java new file mode 100644 index 000000000..943655a87 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLEvent.java @@ -0,0 +1,31 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import net.minecraftforge.fml.common.ModContainer; + +public class FMLEvent +{ + public final String getEventType() + { + return getClass().getSimpleName(); + } + public final String description() + { + String cn = getClass().getName(); + return cn.substring(cn.lastIndexOf('.')+4,cn.length()-5); + } + public void applyModContainer(ModContainer activeContainer) { + // NO OP + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLFingerprintViolationEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLFingerprintViolationEvent.java new file mode 100644 index 000000000..e13280ee5 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLFingerprintViolationEvent.java @@ -0,0 +1,36 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import java.io.File; +import java.util.Set; + +import com.google.common.collect.ImmutableSet; + + +public class FMLFingerprintViolationEvent extends FMLEvent { + + public final boolean isDirectory; + public final Set fingerprints; + public final File source; + public final String expectedFingerprint; + + public FMLFingerprintViolationEvent(boolean isDirectory, File source, ImmutableSet fingerprints, String expectedFingerprint) + { + super(); + this.isDirectory = isDirectory; + this.source = source; + this.fingerprints = fingerprints; + this.expectedFingerprint = expectedFingerprint; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLInitializationEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLInitializationEvent.java new file mode 100644 index 000000000..19c6968d0 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLInitializationEvent.java @@ -0,0 +1,31 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import net.minecraftforge.fml.common.LoaderState.ModState; + +public class FMLInitializationEvent extends FMLStateEvent +{ + + public FMLInitializationEvent(Object... data) + { + super(data); + } + + @Override + public ModState getModState() + { + return ModState.INITIALIZED; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLInterModComms.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLInterModComms.java new file mode 100644 index 000000000..dcbc80cbf --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLInterModComms.java @@ -0,0 +1,218 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.LoaderState; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.Mod.Instance; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.ImmutableList; + +/** + * Simple intermod communications to receive simple messages directed at you + * from other mods + * + * @author cpw + * + */ +public class FMLInterModComms { + private static final ImmutableList emptyIMCList = ImmutableList.of(); + private static ArrayListMultimap modMessages = ArrayListMultimap.create(); + + /** + * Subscribe to this event to receive your messages (they are sent between + * {@link Init} and {@link PostInit}) + * + * @author cpw + * + */ + public static class IMCEvent extends FMLEvent { + private ModContainer activeContainer; + + @Override + public void applyModContainer(ModContainer activeContainer) + { + this.activeContainer = activeContainer; + this.currentList = null; + FMLLog.finer("Attempting to deliver %d IMC messages to mod %s", modMessages.get(activeContainer.getModId()).size(), activeContainer.getModId()); + } + + private ImmutableList currentList; + + public ImmutableList getMessages() + { + if (currentList == null) + { + currentList = ImmutableList.copyOf(modMessages.removeAll(activeContainer.getModId())); + } + return currentList; + } + } + + /** + * You will receive an instance of this for each message sent + * + * @author cpw + * + */ + public static final class IMCMessage { + /** + * This is the modid of the mod that sent you the message + */ + private String sender; + /** + * This field, and {@link #value} are both at the mod's discretion + */ + public final String key; + /** + * This field, and {@link #key} are both at the mod's discretion + */ + private Object value; + + private IMCMessage(String key, Object value) + { + this.key = key; + this.value = value; + } + + @Override + public String toString() + { + return sender; + } + + public String getSender() + { + return this.sender; + } + + void setSender(ModContainer activeModContainer) + { + this.sender = activeModContainer.getModId(); + } + + public String getStringValue() + { + return (String) value; + } + + public NBTTagCompound getNBTValue() + { + return (NBTTagCompound) value; + } + + public ItemStack getItemStackValue() + { + return (ItemStack) value; + } + + public Class getMessageType() + { + return value.getClass(); + } + + public boolean isStringMessage() + { + return String.class.isAssignableFrom(getMessageType()); + } + + public boolean isItemStackMessage() + { + return ItemStack.class.isAssignableFrom(getMessageType()); + } + + public boolean isNBTMessage() + { + return NBTTagCompound.class.isAssignableFrom(getMessageType()); + } + } + + public static boolean sendMessage(String modId, String key, NBTTagCompound value) + { + return enqueueStartupMessage(modId, new IMCMessage(key, value)); + } + public static boolean sendMessage(String modId, String key, ItemStack value) + { + return enqueueStartupMessage(modId, new IMCMessage(key, value)); + } + public static boolean sendMessage(String modId, String key, String value) + { + return enqueueStartupMessage(modId, new IMCMessage(key, value)); + } + + public static void sendRuntimeMessage(Object sourceMod, String modId, String key, NBTTagCompound value) + { + enqueueMessage(sourceMod, modId, new IMCMessage(key, value)); + } + + public static void sendRuntimeMessage(Object sourceMod, String modId, String key, ItemStack value) + { + enqueueMessage(sourceMod, modId, new IMCMessage(key, value)); + } + + public static void sendRuntimeMessage(Object sourceMod, String modId, String key, String value) + { + enqueueMessage(sourceMod, modId, new IMCMessage(key, value)); + } + + private static boolean enqueueStartupMessage(String modTarget, IMCMessage message) + { + if (Loader.instance().activeModContainer() == null) + { + return false; + } + enqueueMessage(Loader.instance().activeModContainer(), modTarget, message); + return Loader.isModLoaded(modTarget) && !Loader.instance().hasReachedState(LoaderState.POSTINITIALIZATION); + + } + private static void enqueueMessage(Object sourceMod, String modTarget, IMCMessage message) + { + ModContainer mc; + if (sourceMod instanceof ModContainer) { + mc = (ModContainer) sourceMod; + } + else + { + mc = FMLCommonHandler.instance().findContainerFor(sourceMod); + } + if (mc != null && Loader.isModLoaded(modTarget)) + { + message.setSender(mc); + modMessages.put(modTarget, message); + } + } + + /** + * Retrieve any pending runtime messages for the mod + * @param forMod The {@link Instance} of the Mod to fetch messages for + * @return any messages - the collection will never be null + */ + public static ImmutableList fetchRuntimeMessages(Object forMod) + { + ModContainer mc = FMLCommonHandler.instance().findContainerFor(forMod); + if (mc != null) + { + return ImmutableList.copyOf(modMessages.removeAll(mc.getModId())); + } + else + { + return emptyIMCList; + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLLoadCompleteEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLLoadCompleteEvent.java new file mode 100644 index 000000000..45cf93216 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLLoadCompleteEvent.java @@ -0,0 +1,31 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import net.minecraftforge.fml.common.LoaderState.ModState; + +public class FMLLoadCompleteEvent extends FMLStateEvent +{ + + public FMLLoadCompleteEvent(Object... data) + { + super(data); + } + + @Override + public ModState getModState() + { + return ModState.AVAILABLE; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLLoadEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLLoadEvent.java new file mode 100644 index 000000000..33dfca044 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLLoadEvent.java @@ -0,0 +1,18 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +public class FMLLoadEvent +{ + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLMissingMappingsEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLMissingMappingsEvent.java new file mode 100644 index 000000000..7515da10e --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLMissingMappingsEvent.java @@ -0,0 +1,204 @@ +package net.minecraftforge.fml.common.event; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.registry.GameData; +import net.minecraftforge.fml.common.registry.GameRegistry; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ListMultimap; + +/** + * This event is fired if a world is loaded that has block and item mappings referring the mod that are not + * in existence. + * These can be remapped to other existing objects, or simply discarded. + * Use get() and getAll() to process this event. + * + * @author cpw, Player + * + */ +public class FMLMissingMappingsEvent extends FMLEvent { + /** + * Actions you can take with this missing mapping. + *
    + *
  • {@link #IGNORE} means this missing mapping will be ignored. + *
  • {@link #WARN} means this missing mapping will generate a warning. + *
  • {@link #FAIL} means this missing mapping will prevent the world from loading. + *
+ * @author cpw + * + */ + public static enum Action { + /** + * Take the default action + */ + DEFAULT, + /** + * Ignore this missing mapping. This means the mapping will be abandoned + */ + IGNORE, + /** + * Generate a warning but allow loading to continue + */ + WARN, + /** + * Fail to load + */ + FAIL, + /** + * Remap this name to a new name (add a migration mapping) + */ + REMAP, + /** + * Allow a block to exist without itemblock anymore + */ + BLOCKONLY + } + public static class MissingMapping { + public final GameRegistry.Type type; + public final String name; + public final int id; + private Action action = Action.DEFAULT; + private Object target; + + public MissingMapping(GameRegistry.Type type, String name, int id) + { + this.type = type; + this.name = name; + this.id = id; + } + /** + * @deprecated use ignore(), warn(), fail() or remap() instead + */ + @Deprecated + public void setAction(Action target) + { + if (target == Action.DEFAULT || target == Action.REMAP || target == Action.BLOCKONLY) throw new IllegalArgumentException(); + + this.action = target; + } + + /** + * Ignore the missing item. + */ + public void ignore() + { + action = Action.IGNORE; + } + + /** + * Warn the user about the missing item. + */ + public void warn() + { + action = Action.WARN; + } + + /** + * Prevent the world from loading due to the missing item. + */ + public void fail() + { + action = Action.FAIL; + } + + /** + * Remap the missing item to the specified Block. + * + * Use this if you have renamed a Block, don't forget to handle the ItemBlock. + * Existing references using the old name will point to the new one. + * + * @param target Block to remap to. + */ + public void remap(Block target) + { + if (type != GameRegistry.Type.BLOCK) throw new IllegalArgumentException("Can't remap an item to a block."); + if (target == null) throw new NullPointerException("remap target is null"); + if (GameData.getBlockRegistry().getId(target) < 0) throw new IllegalArgumentException(String.format("The specified block %s hasn't been registered at startup.", target)); + + action = Action.REMAP; + this.target = target; + } + + /** + * Remap the missing item to the specified Item. + * + * Use this if you have renamed an Item. + * Existing references using the old name will point to the new one. + * + * @param target Item to remap to. + */ + public void remap(Item target) + { + if (type != GameRegistry.Type.ITEM) throw new IllegalArgumentException("Can't remap a block to an item."); + if (target == null) throw new NullPointerException("remap target is null"); + if (GameData.getItemRegistry().getId(target) < 0) throw new IllegalArgumentException(String.format("The specified item %s hasn't been registered at startup.", target)); + + action = Action.REMAP; + this.target = target; + } + + public void skipItemBlock() + { + if (type != GameRegistry.Type.ITEM) throw new IllegalArgumentException("Cannot skip an item that is a block"); + if (GameData.getBlockRegistry().getRaw(id) == null) throw new IllegalArgumentException("Cannot skip an ItemBlock that doesn't have a Block"); + action = Action.BLOCKONLY; + } + // internal + + public Action getAction() + { + return this.action; + } + + public Object getTarget() + { + return target; + } + } + private ListMultimap missing; + private ModContainer activeContainer; + + public FMLMissingMappingsEvent(ListMultimap missingMappings) + { + this.missing = missingMappings; + } + + @Override + public void applyModContainer(ModContainer activeContainer) + { + super.applyModContainer(activeContainer); + this.activeContainer = activeContainer; + } + + /** + * Get the list of missing mappings for the active mod. + * + * Process the list entries by calling ignore(), warn(), fail() or remap() on each entry. + * + * @return list of missing mappings + */ + public List get() + { + return ImmutableList.copyOf(missing.get(activeContainer.getModId())); + } + + /** + * Get the list of missing mappings for all mods. + * + * Only use this if you need to handle mod id changes, e.g. if you renamed your mod or + * split/merge into/from multiple mods. + * + * Process the list entries by calling ignore(), warn(), fail() or remap() on each entry you + * want to handle. + * + * @return list of missing mappings + */ + public List getAll() + { + return ImmutableList.copyOf(missing.values()); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLModDisabledEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLModDisabledEvent.java new file mode 100644 index 000000000..d3054f9c0 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLModDisabledEvent.java @@ -0,0 +1,4 @@ +package net.minecraftforge.fml.common.event; + +public class FMLModDisabledEvent extends FMLEvent { +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLModIdMappingEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLModIdMappingEvent.java new file mode 100644 index 000000000..d371aa0c0 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLModIdMappingEvent.java @@ -0,0 +1,52 @@ +package net.minecraftforge.fml.common.event; + +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; + +public class FMLModIdMappingEvent extends FMLEvent { + public static enum RemapTarget { BLOCK, ITEM } + public class ModRemapping + { + public final int oldId; + public final int newId; + public final String tag; + public final RemapTarget remapTarget; + public ModRemapping(int oldId, int newId, String tag, RemapTarget type) + { + this.oldId = oldId; + this.newId = newId; + this.tag = tag; + this.remapTarget = type; + } + + } + public final ImmutableList remappedIds; + + public FMLModIdMappingEvent(Map blocks, Map items) + { + List remappings = Lists.newArrayList(); + for (Entry mapping : blocks.entrySet()) + { + remappings.add(new ModRemapping(mapping.getValue()[0], mapping.getValue()[1], mapping.getKey(), RemapTarget.BLOCK)); + } + for (Entry mapping : items.entrySet()) + { + remappings.add(new ModRemapping(mapping.getValue()[0], mapping.getValue()[1], mapping.getKey(), RemapTarget.ITEM)); + } + + Collections.sort(remappings, new Comparator() { + @Override + public int compare(ModRemapping o1, ModRemapping o2) + { + return (o1.newId < o2.newId) ? -1 : ((o1.newId == o2.newId) ? 0 : 1); + } + }); + remappedIds = ImmutableList.copyOf(remappings); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLPostInitializationEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLPostInitializationEvent.java new file mode 100644 index 000000000..f281b4e8e --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLPostInitializationEvent.java @@ -0,0 +1,50 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.LoaderState.ModState; + +import com.google.common.base.Throwables; + +public class FMLPostInitializationEvent extends FMLStateEvent +{ + public FMLPostInitializationEvent(Object... data) + { + super(data); + } + + @Override + public ModState getModState() + { + return ModState.POSTINITIALIZED; + } + + public Object buildSoftDependProxy(String modId, String className) + { + if (Loader.isModLoaded(modId)) + { + try + { + Class clz = Class.forName(className,true,Loader.instance().getModClassLoader()); + return clz.newInstance(); + } + catch (Exception e) + { + Throwables.propagateIfPossible(e); + return null; + } + } + return null; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLPreInitializationEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLPreInitializationEvent.java new file mode 100644 index 000000000..b8e803cae --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLPreInitializationEvent.java @@ -0,0 +1,132 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import java.io.File; +import java.security.CodeSource; +import java.security.cert.Certificate; +import java.util.Properties; + +import net.minecraftforge.fml.common.FMLModContainer; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.ModMetadata; +import net.minecraftforge.fml.common.LoaderState.ModState; +import net.minecraftforge.fml.common.discovery.ASMDataTable; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public class FMLPreInitializationEvent extends FMLStateEvent +{ + private ModMetadata modMetadata; + private File sourceFile; + private File configurationDir; + private File suggestedConfigFile; + private ASMDataTable asmData; + private ModContainer modContainer; + + public FMLPreInitializationEvent(Object... data) + { + super(data); + this.asmData = (ASMDataTable)data[0]; + this.configurationDir = (File)data[1]; + } + + @Override + public ModState getModState() + { + return ModState.PREINITIALIZED; + } + + @Override + public void applyModContainer(ModContainer activeContainer) + { + this.modContainer = activeContainer; + this.modMetadata = activeContainer.getMetadata(); + this.sourceFile = activeContainer.getSource(); + this.suggestedConfigFile = new File(configurationDir, activeContainer.getModId()+".cfg"); + } + + public File getSourceFile() + { + return sourceFile; + } + + public ModMetadata getModMetadata() + { + return modMetadata; + } + + public File getModConfigurationDirectory() + { + return configurationDir; + } + + public File getSuggestedConfigurationFile() + { + return suggestedConfigFile; + } + + public ASMDataTable getAsmData() + { + return asmData; + } + + public Properties getVersionProperties() + { + if (this.modContainer instanceof FMLModContainer) + { + return ((FMLModContainer)this.modContainer).searchForVersionProperties(); + } + + return null; + } + + /** + * Get a logger instance configured to write to the FML Log as a parent, identified by modid. Handy for mod logging! + * Configurations can be applied through the config/logging.properties file, specifying logging levels + * for your ModID. Use this! + * + * @return A logger + */ + public Logger getModLog() + { + Logger log = LogManager.getLogger(modContainer.getModId()); + return log; + } + + + /** + * Retrieve the FML signing certificates, if any. Validate these against the + * published FML certificates in your mod, if you wish. + * + * Deprecated because mods should NOT trust this code. Rather + * they should copy this, or something like this, into their own mods. + * + * @return Certificates used to sign FML and Forge + */ + @Deprecated + public Certificate[] getFMLSigningCertificates() + { + CodeSource codeSource = getClass().getClassLoader().getParent().getClass().getProtectionDomain().getCodeSource(); + Certificate[] certs = codeSource.getCertificates(); + if (certs == null) + { + return new Certificate[0]; + } + else + { + return certs; + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerAboutToStartEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerAboutToStartEvent.java new file mode 100644 index 000000000..b58c80b43 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerAboutToStartEvent.java @@ -0,0 +1,37 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import net.minecraft.server.MinecraftServer; +import net.minecraftforge.fml.common.LoaderState.ModState; + +public class FMLServerAboutToStartEvent extends FMLStateEvent { + + private MinecraftServer server; + + public FMLServerAboutToStartEvent(Object... data) + { + super(data); + this.server = (MinecraftServer) data[0]; + } + @Override + public ModState getModState() + { + return ModState.AVAILABLE; + } + + public MinecraftServer getServer() + { + return server; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerStartedEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerStartedEvent.java new file mode 100644 index 000000000..c0fddc92f --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerStartedEvent.java @@ -0,0 +1,31 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import net.minecraftforge.fml.common.LoaderState.ModState; + +public class FMLServerStartedEvent extends FMLStateEvent +{ + + public FMLServerStartedEvent(Object... data) + { + super(data); + } + + @Override + public ModState getModState() + { + return ModState.AVAILABLE; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerStartingEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerStartingEvent.java new file mode 100644 index 000000000..fd0131cbc --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerStartingEvent.java @@ -0,0 +1,46 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import net.minecraft.command.CommandHandler; +import net.minecraft.command.ICommand; +import net.minecraft.server.MinecraftServer; +import net.minecraftforge.fml.common.LoaderState.ModState; + +public class FMLServerStartingEvent extends FMLStateEvent +{ + + private MinecraftServer server; + + public FMLServerStartingEvent(Object... data) + { + super(data); + this.server = (MinecraftServer) data[0]; + } + @Override + public ModState getModState() + { + return ModState.AVAILABLE; + } + + public MinecraftServer getServer() + { + return server; + } + + public void registerServerCommand(ICommand command) + { + CommandHandler ch = (CommandHandler) getServer().getCommandManager(); + ch.registerCommand(command); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerStoppedEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerStoppedEvent.java new file mode 100644 index 000000000..6a5200e9f --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerStoppedEvent.java @@ -0,0 +1,29 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import net.minecraftforge.fml.common.LoaderState.ModState; + +public class FMLServerStoppedEvent extends FMLStateEvent { + + public FMLServerStoppedEvent(Object... data) + { + super(data); + } + @Override + public ModState getModState() + { + return ModState.AVAILABLE; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerStoppingEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerStoppingEvent.java new file mode 100644 index 000000000..ea9565430 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLServerStoppingEvent.java @@ -0,0 +1,31 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import net.minecraftforge.fml.common.LoaderState.ModState; + +public class FMLServerStoppingEvent extends FMLStateEvent +{ + + public FMLServerStoppingEvent(Object... data) + { + super(data); + } + + @Override + public ModState getModState() + { + return ModState.AVAILABLE; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/event/FMLStateEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLStateEvent.java new file mode 100644 index 000000000..c2a8cc529 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/event/FMLStateEvent.java @@ -0,0 +1,32 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.event; + +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.LoaderState.ModState; +import net.minecraftforge.fml.relauncher.Side; + +public abstract class FMLStateEvent extends FMLEvent +{ + public FMLStateEvent(Object... data) + { + + } + + public abstract ModState getModState(); + + public Side getSide() + { + return FMLCommonHandler.instance().getSide(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/ASMEventHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/ASMEventHandler.java new file mode 100644 index 000000000..68b992670 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/ASMEventHandler.java @@ -0,0 +1,152 @@ +package net.minecraftforge.fml.common.eventhandler; + +import static org.objectweb.asm.Opcodes.*; + +import java.lang.reflect.Method; +import java.util.HashMap; + +import net.minecraftforge.fml.common.ModContainer; + +import org.apache.logging.log4j.ThreadContext; +import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Type; + +import com.google.common.collect.Maps; + + +public class ASMEventHandler implements IEventListener +{ + private static int IDs = 0; + private static final String HANDLER_DESC = Type.getInternalName(IEventListener.class); + private static final String HANDLER_FUNC_DESC = Type.getMethodDescriptor(IEventListener.class.getDeclaredMethods()[0]); + private static final ASMClassLoader LOADER = new ASMClassLoader(); + private static final HashMap> cache = Maps.newHashMap(); + private static final boolean GETCONTEXT = Boolean.parseBoolean(System.getProperty("fml.LogContext", "false")); + + private final IEventListener handler; + private final SubscribeEvent subInfo; + private ModContainer owner; + private String readable; + + public ASMEventHandler(Object target, Method method, ModContainer owner) throws Exception + { + this.owner = owner; + handler = (IEventListener)createWrapper(method).getConstructor(Object.class).newInstance(target); + subInfo = method.getAnnotation(SubscribeEvent.class); + readable = "ASM: " + target + " " + method.getName() + Type.getMethodDescriptor(method); + } + + @Override + public void invoke(Event event) + { + if (owner != null && GETCONTEXT) + { + ThreadContext.put("mod", owner.getName()); + } + else if (GETCONTEXT) + { + ThreadContext.put("mod", ""); + } + if (handler != null) + { + if (!event.isCancelable() || !event.isCanceled() || subInfo.receiveCanceled()) + { + handler.invoke(event); + } + } + if (GETCONTEXT) + ThreadContext.remove("mod"); + } + + public EventPriority getPriority() + { + return subInfo.priority(); + } + + public Class createWrapper(Method callback) + { + if (cache.containsKey(callback)) + { + return cache.get(callback); + } + + ClassWriter cw = new ClassWriter(0); + MethodVisitor mv; + + String name = getUniqueName(callback); + String desc = name.replace('.', '/'); + String instType = Type.getInternalName(callback.getDeclaringClass()); + String eventType = Type.getInternalName(callback.getParameterTypes()[0]); + + /* + System.out.println("Name: " + name); + System.out.println("Desc: " + desc); + System.out.println("InstType: " + instType); + System.out.println("Callback: " + callback.getName() + Type.getMethodDescriptor(callback)); + System.out.println("Event: " + eventType); + */ + + cw.visit(V1_6, ACC_PUBLIC | ACC_SUPER, desc, null, "java/lang/Object", new String[]{ HANDLER_DESC }); + + cw.visitSource(".dynamic", null); + { + cw.visitField(ACC_PUBLIC, "instance", "Ljava/lang/Object;", null, null).visitEnd(); + } + { + mv = cw.visitMethod(ACC_PUBLIC, "", "(Ljava/lang/Object;)V", null, null); + mv.visitCode(); + mv.visitVarInsn(ALOAD, 0); + mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "", "()V", false); + mv.visitVarInsn(ALOAD, 0); + mv.visitVarInsn(ALOAD, 1); + mv.visitFieldInsn(PUTFIELD, desc, "instance", "Ljava/lang/Object;"); + mv.visitInsn(RETURN); + mv.visitMaxs(2, 2); + mv.visitEnd(); + } + { + mv = cw.visitMethod(ACC_PUBLIC, "invoke", HANDLER_FUNC_DESC, null, null); + mv.visitCode(); + mv.visitVarInsn(ALOAD, 0); + mv.visitFieldInsn(GETFIELD, desc, "instance", "Ljava/lang/Object;"); + mv.visitTypeInsn(CHECKCAST, instType); + mv.visitVarInsn(ALOAD, 1); + mv.visitTypeInsn(CHECKCAST, eventType); + mv.visitMethodInsn(INVOKEVIRTUAL, instType, callback.getName(), Type.getMethodDescriptor(callback), false); + mv.visitInsn(RETURN); + mv.visitMaxs(2, 2); + mv.visitEnd(); + } + cw.visitEnd(); + Class ret = LOADER.define(name, cw.toByteArray()); + cache.put(callback, ret); + return ret; + } + + private String getUniqueName(Method callback) + { + return String.format("%s_%d_%s_%s_%s", getClass().getName(), IDs++, + callback.getDeclaringClass().getSimpleName(), + callback.getName(), + callback.getParameterTypes()[0].getSimpleName()); + } + + private static class ASMClassLoader extends ClassLoader + { + private ASMClassLoader() + { + super(ASMClassLoader.class.getClassLoader()); + } + + public Class define(String name, byte[] data) + { + return defineClass(name, data, 0, data.length); + } + } + + public String toString() + { + return readable; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/Cancelable.java b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/Cancelable.java new file mode 100644 index 000000000..635dcaf83 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/Cancelable.java @@ -0,0 +1,11 @@ +package net.minecraftforge.fml.common.eventhandler; + +import static java.lang.annotation.ElementType.TYPE; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +@Retention(value = RUNTIME) +@Target(value = TYPE) +public @interface Cancelable{} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/Event.java b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/Event.java new file mode 100644 index 000000000..2a1b1d100 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/Event.java @@ -0,0 +1,142 @@ +package net.minecraftforge.fml.common.eventhandler; + +import static java.lang.annotation.ElementType.TYPE; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +import com.google.common.base.Preconditions; + + +/** + * Base Event class that all other events are derived from + */ +public class Event +{ + @Retention(value = RUNTIME) + @Target(value = TYPE) + public @interface HasResult{} + + public enum Result + { + DENY, + DEFAULT, + ALLOW + } + + private boolean isCanceled = false; + private Result result = Result.DEFAULT; + private static ListenerList listeners = new ListenerList(); + private EventPriority phase = null; + + public Event() + { + setup(); + } + + /** + * Determine if this function is cancelable at all. + * @return If access to setCanceled should be allowed + * + * Note: + * Events with the Cancelable annotation will have this method automatically added to return true. + */ + public boolean isCancelable() + { + return false; + } + + /** + * Determine if this event is canceled and should stop executing. + * @return The current canceled state + */ + public boolean isCanceled() + { + return isCanceled; + } + + /** + * Sets the state of this event, not all events are cancelable, and any attempt to + * cancel a event that can't be will result in a IllegalArgumentException. + * + * The functionality of setting the canceled state is defined on a per-event bases. + * + * @param cancel The new canceled value + */ + public void setCanceled(boolean cancel) + { + if (!isCancelable()) + { + throw new IllegalArgumentException("Attempted to cancel a uncancelable event"); + } + isCanceled = cancel; + } + + /** + * Determines if this event expects a significant result value. + * + * Note: + * Events with the HasResult annotation will have this method automatically added to return true. + */ + public boolean hasResult() + { + return false; + } + + /** + * Returns the value set as the result of this event + */ + public Result getResult() + { + return result; + } + + /** + * Sets the result value for this event, not all events can have a result set, and any attempt to + * set a result for a event that isn't expecting it will result in a IllegalArgumentException. + * + * The functionality of setting the result is defined on a per-event bases. + * + * @param value The new result + */ + public void setResult(Result value) + { + result = value; + } + /** + * Called by the base constructor, this is used by ASM generated + * event classes to setup various functionality such as the listenerlist. + */ + protected void setup() + { + } + + /** + * Returns a ListenerList object that contains all listeners + * that are registered to this event. + * + * @return Listener List + */ + public ListenerList getListenerList() + { + return listeners; + } + + @Nullable + public EventPriority getPhase() + { + return this.phase; + } + + public void setPhase(@Nonnull EventPriority value) + { + Preconditions.checkArgument(value != null, "setPhase argument must not be null"); + int prev = phase == null ? -1 : phase.ordinal(); + Preconditions.checkArgument(prev < value.ordinal(), "Attempted to set event phase to %s when already %s", value, phase); + phase = value; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/EventBus.java b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/EventBus.java new file mode 100644 index 000000000..391810d1e --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/EventBus.java @@ -0,0 +1,159 @@ +package net.minecraftforge.fml.common.eventhandler; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; + +import javax.annotation.Nonnull; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.ModContainer; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.Preconditions; +import com.google.common.base.Throwables; +import com.google.common.collect.MapMaker; +import com.google.common.reflect.TypeToken; + +public class EventBus implements IEventExceptionHandler +{ + private static int maxID = 0; + + private ConcurrentHashMap> listeners = new ConcurrentHashMap>(); + private Map listenerOwners = new MapMaker().weakKeys().weakValues().makeMap(); + private final int busID = maxID++; + private IEventExceptionHandler exceptionHandler; + + public EventBus() + { + ListenerList.resize(busID + 1); + exceptionHandler = this; + } + + public EventBus(@Nonnull IEventExceptionHandler handler) + { + this(); + Preconditions.checkArgument(handler != null, "EventBus exception handler can not be null"); + exceptionHandler = handler; + } + + public void register(Object target) + { + if (listeners.containsKey(target)) + { + return; + } + + ModContainer activeModContainer = Loader.instance().activeModContainer(); + if (activeModContainer == null) + { + FMLLog.log(Level.ERROR, new Throwable(), "Unable to determine registrant mod for %s. This is a critical error and should be impossible", target); + activeModContainer = Loader.instance().getMinecraftModContainer(); + } + listenerOwners.put(target, activeModContainer); + Set> supers = TypeToken.of(target.getClass()).getTypes().rawTypes(); + for (Method method : target.getClass().getMethods()) + { + for (Class cls : supers) + { + try + { + Method real = cls.getDeclaredMethod(method.getName(), method.getParameterTypes()); + if (real.isAnnotationPresent(SubscribeEvent.class)) + { + Class[] parameterTypes = method.getParameterTypes(); + if (parameterTypes.length != 1) + { + throw new IllegalArgumentException( + "Method " + method + " has @SubscribeEvent annotation, but requires " + parameterTypes.length + + " arguments. Event handler methods must require a single argument." + ); + } + + Class eventType = parameterTypes[0]; + + if (!Event.class.isAssignableFrom(eventType)) + { + throw new IllegalArgumentException("Method " + method + " has @SubscribeEvent annotation, but takes a argument that is not an Event " + eventType); + } + + register(eventType, target, real, activeModContainer); + break; + } + } + catch (NoSuchMethodException e) + { + ; + } + } + } + } + + private void register(Class eventType, Object target, Method method, ModContainer owner) + { + try + { + Constructor ctr = eventType.getConstructor(); + ctr.setAccessible(true); + Event event = (Event)ctr.newInstance(); + ASMEventHandler listener = new ASMEventHandler(target, method, owner); + event.getListenerList().register(busID, listener.getPriority(), listener); + + ArrayList others = listeners.get(target); + if (others == null) + { + others = new ArrayList(); + listeners.put(target, others); + } + others.add(listener); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + public void unregister(Object object) + { + ArrayList list = listeners.remove(object); + for (IEventListener listener : list) + { + ListenerList.unregisterAll(busID, listener); + } + } + + public boolean post(Event event) + { + IEventListener[] listeners = event.getListenerList().getListeners(busID); + int index = 0; + try + { + for (; index < listeners.length; index++) + { + listeners[index].invoke(event); + } + } + catch (Throwable throwable) + { + exceptionHandler.handleException(this, event, listeners, index, throwable); + Throwables.propagate(throwable); + } + return (event.isCancelable() ? event.isCanceled() : false); + } + + @Override + public void handleException(EventBus bus, Event event, IEventListener[] listeners, int index, Throwable throwable) + { + FMLLog.log(Level.ERROR, throwable, "Exception caught during firing event %s:", event); + FMLLog.log(Level.ERROR, "Index: %d Listeners:", index); + for (int x = 0; x < listeners.length; x++) + { + FMLLog.log(Level.ERROR, "%d: %s", x, listeners[x]); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/EventPriority.java b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/EventPriority.java new file mode 100644 index 000000000..65ca20704 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/EventPriority.java @@ -0,0 +1,23 @@ +package net.minecraftforge.fml.common.eventhandler; + +public enum EventPriority implements IEventListener +{ + /*Priority of event listeners, listeners will be sorted with respect to this priority level. + * + * Note: + * Due to using a ArrayList in the ListenerList, + * these need to stay in a contiguous index starting at 0. {Default ordinal} + */ + HIGHEST, //First to execute + HIGH, + NORMAL, + LOW, + LOWEST //Last to execute +; + + @Override + public void invoke(Event event) + { + event.setPhase(this); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/IEventExceptionHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/IEventExceptionHandler.java new file mode 100644 index 000000000..749128b43 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/IEventExceptionHandler.java @@ -0,0 +1,16 @@ +package net.minecraftforge.fml.common.eventhandler; + +public interface IEventExceptionHandler +{ + /** + * Fired when a EventListener throws an exception for the specified event on the event bus. + * After this function returns, the original Throwable will be propogated upwards. + * + * @param bus The bus the event is being fired on + * @param event The event that is being fired + * @param listeners All listeners that are listening for this event, in order + * @param index Index for the current listener being fired. + * @param throwable The throwable being thrown + */ + void handleException(EventBus bus, Event event, IEventListener[] listeners, int index, Throwable throwable); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/IEventListener.java b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/IEventListener.java new file mode 100644 index 000000000..2d2630782 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/IEventListener.java @@ -0,0 +1,8 @@ +package net.minecraftforge.fml.common.eventhandler; + + + +public interface IEventListener +{ + public void invoke(Event event); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/ListenerList.java b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/ListenerList.java new file mode 100644 index 000000000..f2590eae9 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/ListenerList.java @@ -0,0 +1,233 @@ +package net.minecraftforge.fml.common.eventhandler; + +import java.util.*; +import com.google.common.collect.ImmutableList; + + +public class ListenerList +{ + private static ImmutableList allLists = ImmutableList.of(); + private static int maxSize = 0; + + private ListenerList parent; + private ListenerListInst[] lists = new ListenerListInst[0]; + + public ListenerList() + { + this(null); + } + + public ListenerList(ListenerList parent) + { + // parent needs to be set before resize ! + this.parent = parent; + extendMasterList(this); + resizeLists(maxSize); + } + + private synchronized static void extendMasterList(ListenerList inst) + { + ImmutableList.Builder builder = ImmutableList.builder(); + builder.addAll(allLists); + builder.add(inst); + allLists = builder.build(); + } + + public static void resize(int max) + { + if (max <= maxSize) + { + return; + } + for (ListenerList list : allLists) + { + list.resizeLists(max); + } + maxSize = max; + } + + public void resizeLists(int max) + { + if (parent != null) + { + parent.resizeLists(max); + } + + if (lists.length >= max) + { + return; + } + + ListenerListInst[] newList = new ListenerListInst[max]; + int x = 0; + for (; x < lists.length; x++) + { + newList[x] = lists[x]; + } + for(; x < max; x++) + { + if (parent != null) + { + newList[x] = new ListenerListInst(parent.getInstance(x)); + } + else + { + newList[x] = new ListenerListInst(); + } + } + lists = newList; + } + + public static void clearBusID(int id) + { + for (ListenerList list : allLists) + { + list.lists[id].dispose(); + } + } + + protected ListenerListInst getInstance(int id) + { + return lists[id]; + } + + public IEventListener[] getListeners(int id) + { + return lists[id].getListeners(); + } + + public void register(int id, EventPriority priority, IEventListener listener) + { + lists[id].register(priority, listener); + } + + public void unregister(int id, IEventListener listener) + { + lists[id].unregister(listener); + } + + public static void unregisterAll(int id, IEventListener listener) + { + for (ListenerList list : allLists) + { + list.unregister(id, listener); + } + } + + private class ListenerListInst + { + private boolean rebuild = true; + private IEventListener[] listeners; + private ArrayList> priorities; + private ListenerListInst parent; + + private ListenerListInst() + { + int count = EventPriority.values().length; + priorities = new ArrayList>(count); + + for (int x = 0; x < count; x++) + { + priorities.add(new ArrayList()); + } + } + + public void dispose() + { + for (ArrayList listeners : priorities) + { + listeners.clear(); + } + priorities.clear(); + parent = null; + listeners = null; + } + + private ListenerListInst(ListenerListInst parent) + { + this(); + this.parent = parent; + } + + /** + * Returns a ArrayList containing all listeners for this event, + * and all parent events for the specified priority. + * + * The list is returned with the listeners for the children events first. + * + * @param priority The Priority to get + * @return ArrayList containing listeners + */ + public ArrayList getListeners(EventPriority priority) + { + ArrayList ret = new ArrayList(priorities.get(priority.ordinal())); + if (parent != null) + { + ret.addAll(parent.getListeners(priority)); + } + return ret; + } + + /** + * Returns a full list of all listeners for all priority levels. + * Including all parent listeners. + * + * List is returned in proper priority order. + * + * Automatically rebuilds the internal Array cache if its information is out of date. + * + * @return Array containing listeners + */ + public IEventListener[] getListeners() + { + if (shouldRebuild()) buildCache(); + return listeners; + } + + protected boolean shouldRebuild() + { + return rebuild || (parent != null && parent.shouldRebuild()); + } + + /** + * Rebuild the local Array of listeners, returns early if there is no work to do. + */ + private void buildCache() + { + if(parent != null && parent.shouldRebuild()) + { + parent.buildCache(); + } + + ArrayList ret = new ArrayList(); + for (EventPriority value : EventPriority.values()) + { + List listeners = getListeners(value); + if (listeners.size() > 0) + { + ret.add(value); //Add the priority to notify the event of it's current phase. + ret.addAll(listeners); + } + } + listeners = ret.toArray(new IEventListener[ret.size()]); + rebuild = false; + } + + public void register(EventPriority priority, IEventListener listener) + { + priorities.get(priority.ordinal()).add(listener); + rebuild = true; + } + + public void unregister(IEventListener listener) + { + for(ArrayList list : priorities) + { + if (list.remove(listener)) + { + rebuild = true; + } + } + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/SubscribeEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/SubscribeEvent.java new file mode 100644 index 000000000..09bf79a5b --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/eventhandler/SubscribeEvent.java @@ -0,0 +1,15 @@ +package net.minecraftforge.fml.common.eventhandler; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.RetentionPolicy.*; +import static java.lang.annotation.ElementType.*; + +@Retention(value = RUNTIME) +@Target(value = METHOD) +public @interface SubscribeEvent +{ + public EventPriority priority() default EventPriority.NORMAL; + public boolean receiveCanceled() default false; +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/functions/ArtifactVersionNameFunction.java b/fml/src/main/java/net/minecraftforge/fml/common/functions/ArtifactVersionNameFunction.java new file mode 100644 index 000000000..6d4b18ce3 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/functions/ArtifactVersionNameFunction.java @@ -0,0 +1,13 @@ +package net.minecraftforge.fml.common.functions; + +import net.minecraftforge.fml.common.versioning.ArtifactVersion; + +import com.google.common.base.Function; + +public class ArtifactVersionNameFunction implements Function { + @Override + public String apply(ArtifactVersion v) + { + return v.getLabel(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/functions/CollectionWrapperFactory.java b/fml/src/main/java/net/minecraftforge/fml/common/functions/CollectionWrapperFactory.java new file mode 100644 index 000000000..aed3a8af6 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/functions/CollectionWrapperFactory.java @@ -0,0 +1,32 @@ +package net.minecraftforge.fml.common.functions; + +import java.util.Collection; +import java.util.List; +import com.google.common.collect.Collections2; +import com.google.common.collect.Lists; + +public class CollectionWrapperFactory { + /** + * Return a read only cast view of the supplied ungeneric collection, based on the element type given + * @param coll The collection to cast + * @param elementType the supertype contained in the collection + * @return a collection asserting that type relationship + */ + public static Collection wrap(@SuppressWarnings("rawtypes") Collection coll, Class elementType) + { + Collection asGeneric = coll; + return Collections2.transform(asGeneric, new TypeCastFunction(elementType)); + } + + /** + * Return a read only cast view of the supplied ungeneric list, based on the element type given + * @param list The list to cast + * @param elementType the supertype contained in the list + * @return a list asserting that type relationship + */ + public static List wrap(@SuppressWarnings("rawtypes") List list, Class elementType) + { + List asGeneric = list; + return Lists.transform(asGeneric, new TypeCastFunction(elementType)); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/functions/GenericIterableFactory.java b/fml/src/main/java/net/minecraftforge/fml/common/functions/GenericIterableFactory.java new file mode 100644 index 000000000..9d570a16d --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/functions/GenericIterableFactory.java @@ -0,0 +1,25 @@ +package net.minecraftforge.fml.common.functions; + +import java.util.Iterator; + +import com.google.common.collect.Iterables; +import com.google.common.collect.Iterators; + +public class GenericIterableFactory { + public static Iterable newCastingIterable(final Iterator input, final Class type) + { + return new Iterable() + { + @Override + public Iterator iterator() + { + return Iterators.transform(input, new TypeCastFunction(type)); + } + }; + } + + public static Iterable newCastingIterable(Iterable input, Class type) + { + return Iterables.transform(input, new TypeCastFunction(type)); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/functions/ModIdFunction.java b/fml/src/main/java/net/minecraftforge/fml/common/functions/ModIdFunction.java new file mode 100644 index 000000000..11f19ff64 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/functions/ModIdFunction.java @@ -0,0 +1,26 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.functions; + +import net.minecraftforge.fml.common.ModContainer; + +import com.google.common.base.Function; + +public final class ModIdFunction implements Function +{ + @Override + public String apply(ModContainer container) + { + return container.getModId(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/functions/ModNameFunction.java b/fml/src/main/java/net/minecraftforge/fml/common/functions/ModNameFunction.java new file mode 100644 index 000000000..ab6970aee --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/functions/ModNameFunction.java @@ -0,0 +1,27 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.functions; + +import net.minecraftforge.fml.common.ModContainer; + +import com.google.common.base.Function; + +public class ModNameFunction implements Function +{ + @Override + public String apply(ModContainer input) + { + return input.getName(); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/functions/TypeCastFunction.java b/fml/src/main/java/net/minecraftforge/fml/common/functions/TypeCastFunction.java new file mode 100644 index 000000000..d4110e5ea --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/functions/TypeCastFunction.java @@ -0,0 +1,17 @@ +package net.minecraftforge.fml.common.functions; + +import com.google.common.base.Function; + +public class TypeCastFunction implements Function { + private Class type; + public TypeCastFunction(Class type) + { + this.type = type; + } + + @Override + public T apply(Object input) + { + return type.cast(input); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/gameevent/InputEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/gameevent/InputEvent.java new file mode 100644 index 000000000..3165fa3fc --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/gameevent/InputEvent.java @@ -0,0 +1,8 @@ +package net.minecraftforge.fml.common.gameevent; + +import net.minecraftforge.fml.common.eventhandler.Event; + +public class InputEvent extends Event { + public static class MouseInputEvent extends InputEvent {} + public static class KeyInputEvent extends InputEvent {} +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/gameevent/PlayerEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/gameevent/PlayerEvent.java new file mode 100644 index 000000000..56f1d01e4 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/gameevent/PlayerEvent.java @@ -0,0 +1,75 @@ +package net.minecraftforge.fml.common.gameevent; + +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fml.common.eventhandler.Event; + +public class PlayerEvent extends Event { + public final EntityPlayer player; + private PlayerEvent(EntityPlayer player) + { + this.player = player; + } + + public static class ItemPickupEvent extends PlayerEvent { + public final EntityItem pickedUp; + public ItemPickupEvent(EntityPlayer player, EntityItem pickedUp) + { + super(player); + this.pickedUp = pickedUp; + } + } + + public static class ItemCraftedEvent extends PlayerEvent { + public final ItemStack crafting; + public final IInventory craftMatrix; + public ItemCraftedEvent(EntityPlayer player, ItemStack crafting, IInventory craftMatrix) + { + super(player); + this.crafting = crafting; + this.craftMatrix = craftMatrix; + } + } + public static class ItemSmeltedEvent extends PlayerEvent { + public final ItemStack smelting; + public ItemSmeltedEvent(EntityPlayer player, ItemStack crafting) + { + super(player); + this.smelting = crafting; + } + } + + public static class PlayerLoggedInEvent extends PlayerEvent { + public PlayerLoggedInEvent(EntityPlayer player) + { + super(player); + } + } + + public static class PlayerLoggedOutEvent extends PlayerEvent { + public PlayerLoggedOutEvent(EntityPlayer player) + { + super(player); + } + } + + public static class PlayerRespawnEvent extends PlayerEvent { + public PlayerRespawnEvent(EntityPlayer player) + { + super(player); + } + } + + public static class PlayerChangedDimensionEvent extends PlayerEvent { + public final int fromDim; + public final int toDim; + public PlayerChangedDimensionEvent(EntityPlayer player, int fromDim, int toDim) + { + super(player); + this.fromDim = fromDim; + this.toDim = toDim; + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/gameevent/TickEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/gameevent/TickEvent.java new file mode 100644 index 000000000..6ec9643a2 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/gameevent/TickEvent.java @@ -0,0 +1,67 @@ +package net.minecraftforge.fml.common.gameevent; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.world.World; +import net.minecraftforge.fml.common.eventhandler.Event; +import net.minecraftforge.fml.relauncher.Side; + +public class TickEvent extends Event { + public enum Type { + WORLD, PLAYER, CLIENT, SERVER, RENDER; + } + + public enum Phase { + START, END; + } + public final Type type; + public final Side side; + public final Phase phase; + public TickEvent(Type type, Side side, Phase phase) + { + this.type = type; + this.side = side; + this.phase = phase; + } + + public static class ServerTickEvent extends TickEvent { + public ServerTickEvent(Phase phase) + { + super(Type.SERVER, Side.SERVER, phase); + } + } + + public static class ClientTickEvent extends TickEvent { + public ClientTickEvent(Phase phase) + { + super(Type.CLIENT, Side.CLIENT, phase); + } + } + + public static class WorldTickEvent extends TickEvent { + public final World world; + public WorldTickEvent(Side side, Phase phase, World world) + { + super(Type.WORLD, side, phase); + this.world = world; + } + } + public static class PlayerTickEvent extends TickEvent { + public final EntityPlayer player; + + public PlayerTickEvent(Phase phase, EntityPlayer player) + { + super(Type.PLAYER, player instanceof EntityPlayerMP ? Side.SERVER : Side.CLIENT, phase); + this.player = player; + } + } + + public static class RenderTickEvent extends TickEvent { + public final float renderTickTime; + public RenderTickEvent(Phase phase, float renderTickTime) + { + super(Type.RENDER, Side.CLIENT, phase); + this.renderTickTime = renderTickTime; + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/launcher/FMLDeobfTweaker.java b/fml/src/main/java/net/minecraftforge/fml/common/launcher/FMLDeobfTweaker.java new file mode 100644 index 000000000..e8fa78753 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/launcher/FMLDeobfTweaker.java @@ -0,0 +1,65 @@ +package net.minecraftforge.fml.common.launcher; + +import java.io.File; +import java.lang.reflect.Method; +import java.util.List; + +import net.minecraft.launchwrapper.ITweaker; +import net.minecraft.launchwrapper.Launch; +import net.minecraft.launchwrapper.LaunchClassLoader; +import net.minecraftforge.fml.relauncher.CoreModManager; +import net.minecraftforge.fml.relauncher.FMLInjectionData; +import net.minecraftforge.fml.relauncher.FMLRelaunchLog; + +public class FMLDeobfTweaker implements ITweaker { + @Override + public void acceptOptions(List args, File gameDir, File assetsDir, String profile) + { + } + + @Override + public void injectIntoClassLoader(LaunchClassLoader classLoader) + { + // Deobfuscation transformer, always last, and the access transformer tweaker as well + if (!(Boolean)Launch.blackboard.get("fml.deobfuscatedEnvironment")) + { + classLoader.registerTransformer("net.minecraftforge.fml.common.asm.transformers.DeobfuscationTransformer"); + } + // Add all the access transformers now as well + for (String transformer : CoreModManager.getAccessTransformers()) + { + classLoader.registerTransformer(transformer); + } + classLoader.registerTransformer("net.minecraftforge.fml.common.asm.transformers.ModAccessTransformer"); + classLoader.registerTransformer("net.minecraftforge.fml.common.asm.transformers.ItemStackTransformer"); + try + { + FMLRelaunchLog.fine("Validating minecraft"); + Class loaderClazz = Class.forName("net.minecraftforge.fml.common.Loader", true, classLoader); + Method m = loaderClazz.getMethod("injectData", Object[].class); + m.invoke(null, (Object)FMLInjectionData.data()); + m = loaderClazz.getMethod("instance"); + m.invoke(null); + FMLRelaunchLog.fine("Minecraft validated, launching..."); + } + catch (Exception e) + { + // Load in the Loader, make sure he's ready to roll - this will initialize most of the rest of minecraft here + System.out.println("A CRITICAL PROBLEM OCCURED INITIALIZING MINECRAFT - LIKELY YOU HAVE AN INCORRECT VERSION FOR THIS FML"); + throw new RuntimeException(e); + } + } + + @Override + public String getLaunchTarget() + { + throw new RuntimeException("Invalid for use as a primary tweaker"); + } + + @Override + public String[] getLaunchArguments() + { + return new String[0]; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/launcher/FMLInjectionAndSortingTweaker.java b/fml/src/main/java/net/minecraftforge/fml/common/launcher/FMLInjectionAndSortingTweaker.java new file mode 100644 index 000000000..9d15ceb58 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/launcher/FMLInjectionAndSortingTweaker.java @@ -0,0 +1,57 @@ +package net.minecraftforge.fml.common.launcher; + +import java.io.File; +import java.util.List; + +import net.minecraft.launchwrapper.ITweaker; +import net.minecraft.launchwrapper.Launch; +import net.minecraft.launchwrapper.LaunchClassLoader; +import net.minecraftforge.fml.relauncher.CoreModManager; + +/** + * This class is to manage the injection of coremods as tweakers into the tweak framework. + * It has to inject the coremod tweaks during construction, because that is the only time + * the tweak list is writeable. + * @author cpw + * + */ +public class FMLInjectionAndSortingTweaker implements ITweaker { + private boolean run; + public FMLInjectionAndSortingTweaker() + { + CoreModManager.injectCoreModTweaks(this); + run = false; + } + + @Override + public void acceptOptions(List args, File gameDir, File assetsDir, String profile) + { + if (!run) + { + // We sort the tweak list here so that it obeys the tweakordering + CoreModManager.sortTweakList(); + @SuppressWarnings("unchecked") + List newTweaks = (List) Launch.blackboard.get("TweakClasses"); + newTweaks.add("net.minecraftforge.fml.common.launcher.TerminalTweaker"); + } + run = true; + } + + @Override + public void injectIntoClassLoader(LaunchClassLoader classLoader) + { + } + + @Override + public String getLaunchTarget() + { + return ""; + } + + @Override + public String[] getLaunchArguments() + { + return new String[0]; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/launcher/FMLServerTweaker.java b/fml/src/main/java/net/minecraftforge/fml/common/launcher/FMLServerTweaker.java new file mode 100644 index 000000000..21fe16d36 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/launcher/FMLServerTweaker.java @@ -0,0 +1,27 @@ +package net.minecraftforge.fml.common.launcher; + +import net.minecraft.launchwrapper.LaunchClassLoader; +import net.minecraftforge.fml.relauncher.FMLLaunchHandler; + +public class FMLServerTweaker extends FMLTweaker { + @Override + public String getLaunchTarget() + { + return "net.minecraft.server.MinecraftServer"; + } + + @Override + public void injectIntoClassLoader(LaunchClassLoader classLoader) + { + // The log4j2 queue is excluded so it is correctly visible from the obfuscated + // and deobfuscated parts of the code. Without, the UI won't show anything + classLoader.addClassLoaderExclusion("com.mojang.util.QueueLogAppender"); + classLoader.addClassLoaderExclusion("org.objectweb.asm."); + classLoader.addTransformerExclusion("net.minecraftforge.fml.repackage."); + classLoader.addTransformerExclusion("net.minecraftforge.fml.relauncher."); + classLoader.addTransformerExclusion("net.minecraftforge.fml.common.asm.transformers."); + classLoader.addClassLoaderExclusion("LZMA."); + FMLLaunchHandler.configureForServerLaunch(classLoader, this); + FMLLaunchHandler.appendCoreMods(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/launcher/FMLTweaker.java b/fml/src/main/java/net/minecraftforge/fml/common/launcher/FMLTweaker.java new file mode 100644 index 000000000..4e5fdf727 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/launcher/FMLTweaker.java @@ -0,0 +1,173 @@ +package net.minecraftforge.fml.common.launcher; + +import java.io.File; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import net.minecraft.launchwrapper.ITweaker; +import net.minecraft.launchwrapper.Launch; +import net.minecraft.launchwrapper.LaunchClassLoader; +import net.minecraftforge.fml.relauncher.FMLLaunchHandler; +import net.minecraftforge.fml.relauncher.FMLSecurityManager; + +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; + +import com.google.common.base.Throwables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; + +public class FMLTweaker implements ITweaker { + private File gameDir; + private Map launchArgs; + private List standaloneArgs; + private static URI jarLocation; + + public FMLTweaker() + { + System.setProperty("java.net.preferIPv4Stack", "true"); //Lets do this as early as possible. Vanilla does it in Main.main + try + { + System.setSecurityManager(new FMLSecurityManager()); + } + catch (SecurityException se) + { + throw new RuntimeException("FML was unable to install the security manager. The game will not start", se); + } + } + @SuppressWarnings("unchecked") + @Override + public void acceptOptions(List args, File gameDir, File assetsDir, String profile) + { + this.gameDir = (gameDir == null ? new File(".") : gameDir); + + this.launchArgs = (Map)Launch.blackboard.get("launchArgs"); + + this.standaloneArgs = Lists.newArrayList(); + if (this.launchArgs == null) + { + this.launchArgs = Maps.newHashMap(); + Launch.blackboard.put("launchArgs", this.launchArgs); + } + + String classifier = null; + + for (String arg : args) + { + if (arg.startsWith("-")) + { + if (classifier != null) + { + classifier = launchArgs.put(classifier, ""); + } + else if (arg.contains("=")) + { + classifier = launchArgs.put(arg.substring(0, arg.indexOf('=')), arg.substring(arg.indexOf('=') + 1)); + } + else + { + classifier = arg; + } + } + else + { + if (classifier != null) + { + classifier = launchArgs.put(classifier, arg); + } + else + { + this.standaloneArgs.add(arg); + } + } + } + + if (!this.launchArgs.containsKey("--version")) + { + launchArgs.put("--version", profile != null ? profile : "UnknownFMLProfile"); + } + + if (!this.launchArgs.containsKey("--gameDir") && gameDir != null) + { + launchArgs.put("--gameDir", gameDir.getAbsolutePath()); + } + + if (!this.launchArgs.containsKey("--assetsDir") && assetsDir != null) + { + launchArgs.put("--assetsDir", assetsDir.getAbsolutePath()); + } + + Yggdrasil.login(launchArgs); + + try + { + jarLocation = getClass().getProtectionDomain().getCodeSource().getLocation().toURI(); + } + catch (URISyntaxException e) + { + LogManager.getLogger("FMLTWEAK").log(Level.ERROR, "Missing URI information for FML tweak"); + throw Throwables.propagate(e); + } + } + + @Override + public void injectIntoClassLoader(LaunchClassLoader classLoader) + { + classLoader.addClassLoaderExclusion("org.apache."); + classLoader.addClassLoaderExclusion("com.google.common."); + classLoader.addClassLoaderExclusion("org.objectweb.asm."); + classLoader.addTransformerExclusion("net.minecraftforge.fml.repackage."); + classLoader.addTransformerExclusion("net.minecraftforge.fml.relauncher."); + classLoader.addTransformerExclusion("net.minecraftforge.fml.common.asm.transformers."); + classLoader.addClassLoaderExclusion("LZMA."); + FMLLaunchHandler.configureForClientLaunch(classLoader, this); + FMLLaunchHandler.appendCoreMods(); + } + + @Override + public String getLaunchTarget() + { + // Remove the extraneous mods and modListFile args + @SuppressWarnings("unchecked") + Map args = (Map) Launch.blackboard.get("launchArgs"); + args.remove("--modListFile"); + args.remove("--mods"); + return "net.minecraft.client.main.Main"; + } + + @Override + public String[] getLaunchArguments() + { + List args = Lists.newArrayList(); + args.addAll(standaloneArgs); + + for (Entry arg : launchArgs.entrySet()) + { + args.add(arg.getKey()); + args.add(arg.getValue()); + } + launchArgs.clear(); + + return args.toArray(new String[args.size()]); + } + + public File getGameDir() + { + return gameDir; + } + + public static URI getJarLocation() + { + return jarLocation; + } + + public void injectCascadingTweak(String tweakClassName) + { + @SuppressWarnings("unchecked") + List tweakClasses = (List) Launch.blackboard.get("TweakClasses"); + tweakClasses.add(tweakClassName); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/launcher/TerminalTweaker.java b/fml/src/main/java/net/minecraftforge/fml/common/launcher/TerminalTweaker.java new file mode 100644 index 000000000..bdf1bf946 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/launcher/TerminalTweaker.java @@ -0,0 +1,32 @@ +package net.minecraftforge.fml.common.launcher; + +import java.io.File; +import java.util.List; +import net.minecraft.launchwrapper.ITweaker; +import net.minecraft.launchwrapper.LaunchClassLoader; + +public final class TerminalTweaker implements ITweaker { + @Override + public void injectIntoClassLoader(LaunchClassLoader classLoader) + { + classLoader.registerTransformer("net.minecraftforge.fml.common.asm.transformers.TerminalTransformer"); + } + + @Override + public String getLaunchTarget() + { + return null; + } + + @Override + public String[] getLaunchArguments() + { + return new String[0]; + } + + @Override + public void acceptOptions(List args, File gameDir, File assetsDir, String profile) + { + + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/launcher/Yggdrasil.java b/fml/src/main/java/net/minecraftforge/fml/common/launcher/Yggdrasil.java new file mode 100644 index 000000000..d7cfae191 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/launcher/Yggdrasil.java @@ -0,0 +1,43 @@ +package net.minecraftforge.fml.common.launcher; + +import java.net.Proxy; +import java.util.Map; + +import org.apache.logging.log4j.LogManager; + +import com.google.common.base.Throwables; +import com.mojang.authlib.Agent; +import com.mojang.authlib.exceptions.AuthenticationException; +import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService; +import com.mojang.authlib.yggdrasil.YggdrasilUserAuthentication; + +/** + * Basic implementation of Mojang's 'Yggdrasil' login system, purely intended as a dev time bare bones login. + * Login errors are not handled. + */ +public class Yggdrasil +{ + public static void login(Map args) + { + if (!args.containsKey("--username") || !args.containsKey("--password")) return; + YggdrasilUserAuthentication auth = (YggdrasilUserAuthentication) new YggdrasilAuthenticationService(Proxy.NO_PROXY, "1").createUserAuthentication(Agent.MINECRAFT); + auth.setUsername(args.get("--username")); + auth.setPassword(args.remove("--password")); + + try + { + auth.logIn(); + } + catch (AuthenticationException e) + { + LogManager.getLogger("FMLTWEAK").error("-- Login failed! " + e.getMessage()); + Throwables.propagate(e); + return; // dont set other variables + } + + args.put("--username", auth.getSelectedProfile().getName()); + args.put("--uuid", auth.getSelectedProfile().getId().toString().replace("-", "")); + args.put("--accessToken", auth.getAuthenticatedToken()); + args.put("--userProperties", auth.getUserProperties().toString()); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/ByteBufUtils.java b/fml/src/main/java/net/minecraftforge/fml/common/network/ByteBufUtils.java new file mode 100644 index 000000000..266d3f17e --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/ByteBufUtils.java @@ -0,0 +1,269 @@ +package net.minecraftforge.fml.common.network; + +import java.io.IOException; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.PacketBuffer; +import org.apache.commons.lang3.Validate; + +import com.google.common.base.Charsets; +import com.google.common.base.Throwables; + +import io.netty.buffer.ByteBuf; + +/** + * Utilities for interacting with {@link ByteBuf}. + * @author cpw + * + */ +public class ByteBufUtils { + /** + * The number of bytes to write the supplied int using the 7 bit varint encoding. + * + * @param toCount The number to analyse + * @return The number of bytes it will take to write it (maximum of 5) + */ + public static int varIntByteCount(int toCount) + { + return (toCount & 0xFFFFFF80) == 0 ? 1 : ((toCount & 0xFFFFC000) == 0 ? 2 : ((toCount & 0xFFE00000) == 0 ? 3 : ((toCount & 0xF0000000) == 0 ? 4 : 5))); + } + /** + * Read a varint from the supplied buffer. + * + * @param buf The buffer to read from + * @param maxSize The maximum length of bytes to read + * @return The integer + */ + public static int readVarInt(ByteBuf buf, int maxSize) + { + Validate.isTrue(maxSize < 6 && maxSize > 0, "Varint length is between 1 and 5, not %d", maxSize); + int i = 0; + int j = 0; + byte b0; + + do + { + b0 = buf.readByte(); + i |= (b0 & 127) << j++ * 7; + + if (j > maxSize) + { + throw new RuntimeException("VarInt too big"); + } + } + while ((b0 & 128) == 128); + + return i; + } + /** + * An extended length short. Used by custom payload packets to extend size. + * + * @param buf + * @return + */ + public static int readVarShort(ByteBuf buf) + { + int low = buf.readUnsignedShort(); + int high = 0; + if ((low & 0x8000) != 0) + { + low = low & 0x7FFF; + high = buf.readUnsignedByte(); + } + return ((high & 0xFF) << 15) | low; + } + + public static void writeVarShort(ByteBuf buf, int toWrite) + { + int low = toWrite & 0x7FFF; + int high = ( toWrite & 0x7F8000 ) >> 15; + if (high != 0) + { + low = low | 0x8000; + } + buf.writeShort(low); + if (high != 0) + { + buf.writeByte(high); + } + } + /** + * Write an integer to the buffer using variable length encoding. The maxSize constrains + * how many bytes (and therefore the maximum number) that will be written. + * + * @param to The buffer to write to + * @param toWrite The integer to write + * @param maxSize The maximum number of bytes to use + */ + public static void writeVarInt(ByteBuf to, int toWrite, int maxSize) + { + Validate.isTrue(varIntByteCount(toWrite) <= maxSize, "Integer is too big for %d bytes", maxSize); + while ((toWrite & -128) != 0) + { + to.writeByte(toWrite & 127 | 128); + toWrite >>>= 7; + } + + to.writeByte(toWrite); + } + /** + * Read a UTF8 string from the byte buffer. + * It is encoded as [] + * + * @param from The buffer to read from + * @return The string + */ + public static String readUTF8String(ByteBuf from) + { + int len = readVarInt(from,2); + String str = from.toString(from.readerIndex(), len, Charsets.UTF_8); + from.readerIndex(from.readerIndex() + len); + return str; + } + + /** + * Write a String with UTF8 byte encoding to the buffer. + * It is encoded as [] + * @param to the buffer to write to + * @param string The string to write + */ + public static void writeUTF8String(ByteBuf to, String string) + { + byte[] utf8Bytes = string.getBytes(Charsets.UTF_8); + Validate.isTrue(varIntByteCount(utf8Bytes.length) < 3, "The string is too long for this encoding."); + writeVarInt(to, utf8Bytes.length, 2); + to.writeBytes(utf8Bytes); + } + + /** + * Write an {@link ItemStack} using minecraft compatible encoding. + * + * @param to The buffer to write to + * @param stack The itemstack to write + */ + public static void writeItemStack(ByteBuf to, ItemStack stack) + { + PacketBuffer pb = new PacketBuffer(to); + pb.writeItemStackToBuffer(stack); + } + + /** + * Read an {@link ItemStack} from the byte buffer provided. It uses the minecraft encoding. + * + * @param from The buffer to read from + * @return The itemstack read + */ + public static ItemStack readItemStack(ByteBuf from) + { + PacketBuffer pb = new PacketBuffer(from); + try + { + return pb.readItemStackFromBuffer(); + } catch (IOException e) + { + // Unpossible? + throw Throwables.propagate(e); + } + } + + /** + * Write an {@link NBTTagCompound} to the byte buffer. It uses the minecraft encoding. + * + * @param to The buffer to write to + * @param tag The tag to write + */ + public static void writeTag(ByteBuf to, NBTTagCompound tag) + { + PacketBuffer pb = new PacketBuffer(to); + pb.writeNBTTagCompoundToBuffer(tag); + } + + /** + * Read an {@link NBTTagCompound} from the byte buffer. It uses the minecraft encoding. + * + * @param from The buffer to read from + * @return The read tag + */ + public static NBTTagCompound readTag(ByteBuf from) + { + PacketBuffer pb = new PacketBuffer(from); + try + { + return pb.readNBTTagCompoundFromBuffer(); + } catch (IOException e) + { + // Unpossible? + throw Throwables.propagate(e); + } + } + + public static String getContentDump(ByteBuf buffer) + { + int currentLength = buffer.readableBytes(); + StringBuffer returnString = new StringBuffer((currentLength * 3) + // The + // hex + (currentLength) + // The ascii + (currentLength / 4) + // The tabs/\n's + 30); // The text + + // returnString.append("Buffer contents:\n"); + int i, j; // Loop variables + for (i = 0; i < currentLength; i++) + { + if ((i != 0) && (i % 16 == 0)) + { + // If it's a multiple of 16 and i isn't null, show the ascii + returnString.append('\t'); + for (j = i - 16; j < i; j++) + { + if (buffer.getByte(j) < 0x20 || buffer.getByte(j) > 0x7F) + returnString.append('.'); + else + returnString.append((char) buffer.getByte(j)); + } + // Add a linefeed after the string + returnString.append("\n"); + } + + returnString.append(Integer.toString((buffer.getByte(i) & 0xF0) >> 4, 16) + Integer.toString((buffer.getByte(i) & 0x0F) >> 0, 16)); + returnString.append(' '); + } + + // Add padding spaces if it's not a multiple of 16 + if (i != 0 && i % 16 != 0) + { + for (j = 0; j < ((16 - (i % 16)) * 3); j++) + { + returnString.append(' '); + } + } + // Add the tab for alignment + returnString.append('\t'); + + // Add final chararacters at right, after padding + + // If it was at the end of a line, print out the full line + if (i > 0 && (i % 16) == 0) + { + j = i - 16; + } else + { + j = (i - (i % 16)); + } + + for (; i >= 0 && j < i; j++) + { + if (buffer.getByte(j) < 0x20 || buffer.getByte(j) > 0x7F) + returnString.append('.'); + else + returnString.append((char) buffer.getByte(j)); + } + + // Finally, tidy it all up with a newline + returnString.append('\n'); + returnString.append("Length: " + currentLength); + + return returnString.toString(); + + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/FMLEmbeddedChannel.java b/fml/src/main/java/net/minecraftforge/fml/common/network/FMLEmbeddedChannel.java new file mode 100644 index 000000000..d430a73a6 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/FMLEmbeddedChannel.java @@ -0,0 +1,69 @@ +package net.minecraftforge.fml.common.network; + +import io.netty.channel.ChannelHandler; +import io.netty.channel.embedded.EmbeddedChannel; + +import java.util.Map.Entry; + +import net.minecraft.network.Packet; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.network.FMLOutboundHandler.OutboundTarget; +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; +import net.minecraftforge.fml.relauncher.Side; + +/** + * Utility wrapper around {@link EmbeddedChannel}. Provides some convenience methods + * associated with the specific needs of FML network handling. + * + * @author cpw + * + */ +public class FMLEmbeddedChannel extends EmbeddedChannel { + public FMLEmbeddedChannel(String channelName, Side source, ChannelHandler... handlers) + { + this(Loader.instance().activeModContainer(), channelName, source, handlers); + } + public FMLEmbeddedChannel(ModContainer container, String channelName, Side source, ChannelHandler... handlers) + { + super(handlers); + this.attr(NetworkRegistry.FML_CHANNEL).set(channelName); + this.attr(NetworkRegistry.CHANNEL_SOURCE).set(source); + this.attr(NetworkRegistry.MOD_CONTAINER).setIfAbsent(container); + this.pipeline().addFirst("fml:outbound",new FMLOutboundHandler()); + } + + + /** + * Utility method to generate a regular packet from a custom packet. Basically, it writes the packet through the + * outbound side which should have a message to message codec present (such as {@link FMLIndexedMessageToMessageCodec}, + * transforming from mod packets to standard {@link FMLProxyPacket}s. + * + * This is mostly useful in cases where vanilla expects a packet, such as the TileEntity getDescriptionPacket. + * + * @param object The inbound packet + * @return A Packet suitable for passing to vanilla network code. + */ + public Packet generatePacketFrom(Object object) + { + OutboundTarget outboundTarget = attr(FMLOutboundHandler.FML_MESSAGETARGET).getAndSet(OutboundTarget.NOWHERE); + writeOutbound(object); + Packet pkt = (Packet) outboundMessages().poll(); + attr(FMLOutboundHandler.FML_MESSAGETARGET).set(outboundTarget); + return pkt; + } + + public String findChannelHandlerNameForType(Class type) + { + String targetName = null; + for (Entry entry : pipeline()) + { + if (type.isInstance(entry.getValue())) + { + targetName = entry.getKey(); + break; + } + } + return targetName; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/FMLEventChannel.java b/fml/src/main/java/net/minecraftforge/fml/common/network/FMLEventChannel.java new file mode 100644 index 000000000..4b424dccb --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/FMLEventChannel.java @@ -0,0 +1,177 @@ +package net.minecraftforge.fml.common.network; + +import io.netty.channel.ChannelFutureListener; +import io.netty.channel.ChannelHandlerContext; + +import java.util.EnumMap; + +import net.minecraft.client.network.NetHandlerPlayClient; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.network.NetHandlerPlayServer; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.eventhandler.EventBus; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; +import net.minecraftforge.fml.relauncher.Side; + +/** + * An event driven network channel, using {@link FMLNetworkEvent.CustomPacketEvent} and {@link FMLNetworkEvent.CustomNetworkEvent} + * to deliver messages to an event listener. There is one "bus" for each channel, due to the + * impossibility of filtering a bus for specific events. + * + * This event driven system completely wraps the netty code. Mod code deals with FMLProxyPackets directly. It is not + * possible to enhance the netty pipeline, and I would expect highly unexpected results if it were modified reflectively. + * Use a real ChannelHandler if you want to use netty. + * + * @author cpw + * + */ +public class FMLEventChannel { + private EnumMap channels; + private EventBus eventBus; + + /* + * This is done this way so that the CLIENT specific code in the factory only loads on the client + */ + private enum EventFactory + { + SERVER() + { + @Override + FMLNetworkEvent.CustomPacketEvent make(FMLProxyPacket msg) + { + FMLNetworkEvent.CustomPacketEvent event = null; + if (msg.handler() instanceof NetHandlerPlayServer) + { + NetHandlerPlayServer server = (NetHandlerPlayServer) msg.handler(); + event = new FMLNetworkEvent.ServerCustomPacketEvent(server.getNetworkManager(), msg); + } + return event; + } + }, + CLIENT() + { + @Override + FMLNetworkEvent.CustomPacketEvent make(FMLProxyPacket msg) + { + FMLNetworkEvent.CustomPacketEvent event = null; + if (msg.handler() instanceof NetHandlerPlayClient) + { + NetHandlerPlayClient client = (NetHandlerPlayClient) msg.handler(); + event = new FMLNetworkEvent.ClientCustomPacketEvent(client.getNetworkManager(), msg); + } + else if (msg.handler() instanceof NetHandlerPlayServer) + { + NetHandlerPlayServer server = (NetHandlerPlayServer) msg.handler(); + event = new FMLNetworkEvent.ServerCustomPacketEvent(server.getNetworkManager(), msg); + } + return event; + } + }; + abstract FMLNetworkEvent.CustomPacketEvent make(FMLProxyPacket msg); + } + + private static EventFactory factory = FMLCommonHandler.instance().getSide() == Side.CLIENT ? EventFactory.CLIENT : EventFactory.SERVER; + FMLEventChannel(String name) + { + this.channels = NetworkRegistry.INSTANCE.newChannel(name, new NetworkEventFiringHandler(this)); + this.eventBus = new EventBus(); + } + + /** + * Register an event listener with this channel and bus. See {@link SubscribeEvent} + * + * @param object + */ + public void register(Object object) + { + this.eventBus.register(object); + } + + /** + * Unregister an event listener from the bus. + * @param object + */ + public void unregister(Object object) + { + this.eventBus.unregister(object); + } + + void fireRead(FMLProxyPacket msg, ChannelHandlerContext ctx) + { + FMLNetworkEvent.CustomPacketEvent event = factory.make(msg); + if (event != null) + { + this.eventBus.post(event); + if (event.reply != null) + { + ctx.channel().attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.REPLY); + ctx.writeAndFlush(event.reply).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + } + } + } + + public void fireUserEvent(Object evt, ChannelHandlerContext ctx) + { + FMLNetworkEvent.CustomNetworkEvent event = new FMLNetworkEvent.CustomNetworkEvent(evt); + this.eventBus.post(event); + } + + /** + * Send a packet to all on the server + * + * @param pkt + */ + public void sendToAll(FMLProxyPacket pkt) + { + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALL); + channels.get(Side.SERVER).writeAndFlush(pkt).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + } + + /** + * Send to a specific player + * + * @param pkt + * @param player + */ + public void sendTo(FMLProxyPacket pkt, EntityPlayerMP player) + { + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.PLAYER); + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(player); + channels.get(Side.SERVER).writeAndFlush(pkt).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + } + + /** + * Send to all around a point + * @param pkt + * @param point + */ + public void sendToAllAround(FMLProxyPacket pkt, NetworkRegistry.TargetPoint point) + { + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALLAROUNDPOINT); + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(point); + channels.get(Side.SERVER).writeAndFlush(pkt).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + } + + /** + * Send to all in a dimension + * @param pkt + * @param dimensionId + */ + public void sendToDimension(FMLProxyPacket pkt, int dimensionId) + { + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.DIMENSION); + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(dimensionId); + channels.get(Side.SERVER).writeAndFlush(pkt).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + } + + /** + * Send to the server + * @param pkt + */ + public void sendToServer(FMLProxyPacket pkt) + { + channels.get(Side.CLIENT).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.TOSERVER); + channels.get(Side.CLIENT).writeAndFlush(pkt).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/FMLIndexedMessageToMessageCodec.java b/fml/src/main/java/net/minecraftforge/fml/common/network/FMLIndexedMessageToMessageCodec.java new file mode 100644 index 000000000..a81671f03 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/FMLIndexedMessageToMessageCodec.java @@ -0,0 +1,100 @@ +package net.minecraftforge.fml.common.network; + +import gnu.trove.map.hash.TByteObjectHashMap; +import gnu.trove.map.hash.TObjectByteHashMap; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import io.netty.channel.ChannelHandler.Sharable; +import io.netty.channel.ChannelHandlerContext; +import io.netty.handler.codec.MessageToMessageCodec; +import io.netty.util.AttributeKey; + +import java.lang.ref.WeakReference; +import java.util.List; + +import net.minecraft.network.PacketBuffer; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; + +import org.apache.logging.log4j.Level; + +@Sharable +public abstract class FMLIndexedMessageToMessageCodec extends MessageToMessageCodec { + private TByteObjectHashMap> discriminators = new TByteObjectHashMap>(); + private TObjectByteHashMap> types = new TObjectByteHashMap>(); + + /** + * Make this accessible to subclasses + */ + + public static final AttributeKey>> INBOUNDPACKETTRACKER = new AttributeKey>>("fml:inboundpacket"); + + @Override + public void handlerAdded(ChannelHandlerContext ctx) throws Exception + { + super.handlerAdded(ctx); + ctx.attr(INBOUNDPACKETTRACKER).set(new ThreadLocal>()); + } + + public FMLIndexedMessageToMessageCodec addDiscriminator(int discriminator, Class type) + { + discriminators.put((byte)discriminator, type); + types.put(type, (byte)discriminator); + return this; + } + + public abstract void encodeInto(ChannelHandlerContext ctx, A msg, ByteBuf target) throws Exception; + @Override + protected final void encode(ChannelHandlerContext ctx, A msg, List out) throws Exception + { + PacketBuffer buffer = new PacketBuffer(Unpooled.buffer()); + @SuppressWarnings("unchecked") // Stupid unnecessary cast I can't seem to kill + Class clazz = (Class) msg.getClass(); + byte discriminator = types.get(clazz); + buffer.writeByte(discriminator); + encodeInto(ctx, msg, buffer); + FMLProxyPacket proxy = new FMLProxyPacket(buffer/*.copy()*/, ctx.channel().attr(NetworkRegistry.FML_CHANNEL).get()); + WeakReference ref = ctx.attr(INBOUNDPACKETTRACKER).get().get(); + FMLProxyPacket old = ref == null ? null : ref.get(); + if (old != null) + { + proxy.setDispatcher(old.getDispatcher()); + } + out.add(proxy); + } + + public abstract void decodeInto(ChannelHandlerContext ctx, ByteBuf source, A msg); + + @Override + protected final void decode(ChannelHandlerContext ctx, FMLProxyPacket msg, List out) throws Exception + { + testMessageValidity(msg); + ByteBuf payload = msg.payload(); + byte discriminator = payload.readByte(); + Class clazz = discriminators.get(discriminator); + if(clazz == null) + { + throw new NullPointerException("Undefined message for discriminator " + discriminator + " in channel " + msg.channel()); + } + A newMsg = clazz.newInstance(); + ctx.attr(INBOUNDPACKETTRACKER).get().set(new WeakReference(msg)); + decodeInto(ctx, payload.slice(), newMsg); + out.add(newMsg); + } + + /** + * Called to verify the message received. This can be used to hard disconnect in case of an unexpected packet, + * say due to a weird protocol mismatch. Use with caution. + * @param msg + */ + protected void testMessageValidity(FMLProxyPacket msg) + { + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception + { + FMLLog.log(Level.ERROR, cause, "FMLIndexedMessageCodec exception caught"); + super.exceptionCaught(ctx, cause); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/FMLNetworkEvent.java b/fml/src/main/java/net/minecraftforge/fml/common/network/FMLNetworkEvent.java new file mode 100644 index 000000000..5934290be --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/FMLNetworkEvent.java @@ -0,0 +1,169 @@ +package net.minecraftforge.fml.common.network; + +import java.util.Set; + +import com.google.common.collect.ImmutableSet; + +import net.minecraft.network.INetHandler; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.play.INetHandlerPlayClient; +import net.minecraft.network.play.INetHandlerPlayServer; +import net.minecraftforge.fml.common.eventhandler.Event; +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; +import net.minecraftforge.fml.relauncher.Side; + +public class FMLNetworkEvent extends Event { + public final T handler; + public final NetworkManager manager; + private final Class type; + + FMLNetworkEvent(T thing, Class type, NetworkManager manager) + { + this.handler = thing; + this.type = type; + this.manager = manager; + } + /** + * Fired at the client when a client connects to a server + * @author cpw + * + */ + public static class ClientConnectedToServerEvent extends FMLNetworkEvent { + public final boolean isLocal; + public final String connectionType; + public ClientConnectedToServerEvent(NetworkManager manager, String connectionType) + { + super((INetHandlerPlayClient) manager.getNetHandler(), INetHandlerPlayClient.class, manager); + this.isLocal = manager.isLocalChannel(); + this.connectionType = connectionType; + } + } + + /** + * Fired at the server when a client connects to the server. + * + * @author cpw + * + */ + public static class ServerConnectionFromClientEvent extends FMLNetworkEvent { + public final boolean isLocal; + public ServerConnectionFromClientEvent(NetworkManager manager) + { + super((INetHandlerPlayServer) manager.getNetHandler(), INetHandlerPlayServer.class, manager); + this.isLocal = manager.isLocalChannel(); + } + } + /** + * Fired at the server when a client disconnects. + * + * @author cpw + * + */ + public static class ServerDisconnectionFromClientEvent extends FMLNetworkEvent { + public ServerDisconnectionFromClientEvent(NetworkManager manager) + { + super((INetHandlerPlayServer) manager.getNetHandler(), INetHandlerPlayServer.class, manager); + } + } + /** + * Fired at the client when the client is disconnected from the server. + * + * @author cpw + * + */ + public static class ClientDisconnectionFromServerEvent extends FMLNetworkEvent { + public ClientDisconnectionFromServerEvent(NetworkManager manager) + { + super((INetHandlerPlayClient) manager.getNetHandler(), INetHandlerPlayClient.class, manager); + } + } + + /** + * Fired when the REGISTER/UNREGISTER for custom channels is received. + * + * @author cpw + * + * @param The side + */ + public static class CustomPacketRegistrationEvent extends FMLNetworkEvent { + public final ImmutableSet registrations; + public final String operation; + public final Side side; + public CustomPacketRegistrationEvent(NetworkManager manager, Set registrations, String operation, Side side, Class type) + { + super(type.cast(manager.getNetHandler()), type, manager); + this.registrations = ImmutableSet.copyOf(registrations); + this.side = side; + this.operation = operation; + } + } + + public static abstract class CustomPacketEvent extends FMLNetworkEvent { + /** + * The packet that generated the event + */ + public final FMLProxyPacket packet; + + /** + * Set this packet to reply to the originator + */ + public FMLProxyPacket reply; + CustomPacketEvent(S thing, Class type, NetworkManager manager, FMLProxyPacket packet) + { + super(thing, type, manager); + this.packet = packet; + } + + public abstract Side side(); + } + + /** + * Fired when a custom packet is received on the client for the channel + * @author cpw + * + */ + public static class ClientCustomPacketEvent extends CustomPacketEvent { + public ClientCustomPacketEvent(NetworkManager manager, FMLProxyPacket packet) + { + super((INetHandlerPlayClient) manager.getNetHandler(), INetHandlerPlayClient.class, manager, packet); + } + + @Override + public Side side() + { + return Side.CLIENT; + } + } + + /** + * Fired when a custom packet is received at the server for the channel + * @author cpw + * + */ + public static class ServerCustomPacketEvent extends CustomPacketEvent { + public ServerCustomPacketEvent(NetworkManager manager, FMLProxyPacket packet) + { + super((INetHandlerPlayServer) manager.getNetHandler(), INetHandlerPlayServer.class, manager, packet); + } + + @Override + public Side side() + { + return Side.SERVER; + } + } + + /** + * Fired when a custom event, such as {@link NetworkHandshakeEstablished} is fired for the channel + * + * @author cpw + * + */ + public static class CustomNetworkEvent extends Event { + public final Object wrappedEvent; + public CustomNetworkEvent(Object wrappedEvent) + { + this.wrappedEvent = wrappedEvent; + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/FMLNetworkException.java b/fml/src/main/java/net/minecraftforge/fml/common/network/FMLNetworkException.java new file mode 100644 index 000000000..6b31fe3d0 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/FMLNetworkException.java @@ -0,0 +1,32 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.network; + +public class FMLNetworkException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public FMLNetworkException(Exception e) + { + super(e); + } + + public FMLNetworkException() + { + } + + public FMLNetworkException(String string) + { + super(string); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/FMLOutboundHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/network/FMLOutboundHandler.java new file mode 100644 index 000000000..e29a7a32c --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/FMLOutboundHandler.java @@ -0,0 +1,292 @@ +package net.minecraftforge.fml.common.network; + +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelOutboundHandlerAdapter; +import io.netty.channel.ChannelPromise; +import io.netty.channel.embedded.EmbeddedChannel; +import io.netty.util.AttributeKey; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.network.NetworkManager; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraftforge.fml.common.network.handshake.NetworkDispatcher; +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; +import net.minecraftforge.fml.relauncher.Side; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Sets; + +public class FMLOutboundHandler extends ChannelOutboundHandlerAdapter { + public static final AttributeKey FML_MESSAGETARGET = new AttributeKey("fml:outboundTarget"); + public static final AttributeKey FML_MESSAGETARGETARGS = new AttributeKey("fml:outboundTargetArgs"); + public enum OutboundTarget { + /** + * The packet is sent nowhere. It will be on the {@link EmbeddedChannel#outboundMessages()} Queue. + * + * @author cpw + * + */ + NOWHERE(Sets.immutableEnumSet(Side.CLIENT, Side.SERVER)) + { + @Override + public void validateArgs(Object args) + { + // NOOP + } + + @Override + public List selectNetworks(Object args, ChannelHandlerContext context, FMLProxyPacket packet) + { + return null; + } + + }, + /** + * The packet is sent to the {@link NetworkDispatcher} supplied as an argument. + * + * @author cpw + * + */ + DISPATCHER(Sets.immutableEnumSet(Side.SERVER)) + { + @Override + public void validateArgs(Object args) + { + if (!(args instanceof NetworkDispatcher)) + { + throw new RuntimeException("DISPATCHER expects a NetworkDispatcher"); + } + } + + @Override + public List selectNetworks(Object args, ChannelHandlerContext context, FMLProxyPacket packet) + { + return ImmutableList.of((NetworkDispatcher)args); + } + }, + /** + * The packet is sent to the originator of the packet. This requires the inbound packet + * to have it's originator information set. + * + * @author cpw + * + */ + REPLY(Sets.immutableEnumSet(Side.SERVER)) + { + @Override + public void validateArgs(Object args) + { + // NOOP + } + + @Override + public List selectNetworks(Object args, ChannelHandlerContext context, FMLProxyPacket packet) + { + return ImmutableList.of(packet.getDispatcher()); + } + }, + /** + * The packet is sent to the {@link EntityPlayerMP} supplied as an argument. + * + * @author cpw + * + */ + PLAYER(Sets.immutableEnumSet(Side.SERVER)) + { + @Override + public void validateArgs(Object args) + { + if (!(args instanceof EntityPlayerMP)) + { + throw new RuntimeException("PLAYER target expects a Player arg"); + } + } + @Override + public List selectNetworks(Object args, ChannelHandlerContext context, FMLProxyPacket packet) + { + EntityPlayerMP player = (EntityPlayerMP) args; + NetworkDispatcher dispatcher = player == null ? null : player.playerNetServerHandler.netManager.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(); + return dispatcher == null ? ImmutableList.of() : ImmutableList.of(dispatcher); + } + }, + /** + * The packet is dispatched to all players connected to the server. + * @author cpw + * + */ + ALL(Sets.immutableEnumSet(Side.SERVER)) + { + @Override + public void validateArgs(Object args) + { + } + @SuppressWarnings("unchecked") + @Override + public List selectNetworks(Object args, ChannelHandlerContext context, FMLProxyPacket packet) + { + ImmutableList.Builder builder = ImmutableList.builder(); + for (EntityPlayerMP player : (List)FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList) + { + NetworkDispatcher dispatcher = player.playerNetServerHandler.netManager.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(); + if (dispatcher != null) builder.add(dispatcher); + } + return builder.build(); + } + }, + /** + * The packet is sent to all players in the dimension identified by the integer argument. + * @author cpw + * + */ + DIMENSION(Sets.immutableEnumSet(Side.SERVER)) + { + @Override + public void validateArgs(Object args) + { + if (!(args instanceof Integer)) + { + throw new RuntimeException("DIMENSION expects an integer argument"); + } + } + @SuppressWarnings("unchecked") + @Override + public List selectNetworks(Object args, ChannelHandlerContext context, FMLProxyPacket packet) + { + int dimension = (Integer)args; + ImmutableList.Builder builder = ImmutableList.builder(); + for (EntityPlayerMP player : (List)FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList) + { + if (dimension == player.dimension) + { + NetworkDispatcher dispatcher = player.playerNetServerHandler.netManager.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(); + // Null dispatchers may exist for fake players - skip them + if (dispatcher != null) builder.add(dispatcher); + } + } + return builder.build(); + } + }, + /** + * The packet is sent to all players within range of the {@link TargetPoint} argument supplied. + * + * @author cpw + * + */ + ALLAROUNDPOINT(Sets.immutableEnumSet(Side.SERVER)) + { + @Override + public void validateArgs(Object args) + { + if (!(args instanceof TargetPoint)) + { + throw new RuntimeException("ALLAROUNDPOINT expects a TargetPoint argument"); + } + } + + @SuppressWarnings("unchecked") + @Override + public List selectNetworks(Object args, ChannelHandlerContext context, FMLProxyPacket packet) + { + TargetPoint tp = (TargetPoint)args; + ImmutableList.Builder builder = ImmutableList.builder(); + for (EntityPlayerMP player : (List)FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList) + { + if (player.dimension == tp.dimension) + { + double d4 = tp.x - player.posX; + double d5 = tp.y - player.posY; + double d6 = tp.z - player.posZ; + + if (d4 * d4 + d5 * d5 + d6 * d6 < tp.range * tp.range) + { + NetworkDispatcher dispatcher = player.playerNetServerHandler.netManager.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(); + if (dispatcher != null) builder.add(dispatcher); + } + } + } + return builder.build(); + } + }, + /** + * The packet is sent to the server this client is currently conversing with. + * @author cpw + * + */ + TOSERVER(Sets.immutableEnumSet(Side.CLIENT)) + { + @Override + public void validateArgs(Object args) + { + } + @Override + public List selectNetworks(Object args, ChannelHandlerContext context, FMLProxyPacket packet) + { + NetworkManager clientConnection = FMLCommonHandler.instance().getClientToServerNetworkManager(); + return clientConnection == null || clientConnection.channel().attr(NetworkDispatcher.FML_DISPATCHER).get() == null ? ImmutableList.of() : ImmutableList.of(clientConnection.channel().attr(NetworkDispatcher.FML_DISPATCHER).get()); + } + }; + + private OutboundTarget(ImmutableSet sides) + { + this.allowed = sides; + } + public final ImmutableSet allowed; + public abstract void validateArgs(Object args); + public abstract List selectNetworks(Object args, ChannelHandlerContext context, FMLProxyPacket packet); + } + + @Override + public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception + { + if (!(msg instanceof FMLProxyPacket)) + { + return; + } + FMLProxyPacket pkt = (FMLProxyPacket) msg; + OutboundTarget outboundTarget; + Object args = null; + NetworkDispatcher dispatcher = ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(); + // INTERNAL message callback - let it pass out + if (dispatcher != null) + { + ctx.write(msg, promise); + return; + } + + outboundTarget = ctx.channel().attr(FML_MESSAGETARGET).get(); + Side channelSide = ctx.channel().attr(NetworkRegistry.CHANNEL_SOURCE).get(); + if (outboundTarget != null && outboundTarget.allowed.contains(channelSide)) + { + args = ctx.channel().attr(FML_MESSAGETARGETARGS).get(); + outboundTarget.validateArgs(args); + } + else if (channelSide == Side.CLIENT) + { + outboundTarget = OutboundTarget.TOSERVER; + } + else + { + throw new FMLNetworkException("Packet arrived at the outbound handler without a valid target!"); + } + + List dispatchers = outboundTarget.selectNetworks(args, ctx, pkt); + + // This will drop the messages into the output queue at the embedded channel + if (dispatchers == null) + { + ctx.write(msg, promise); + promise.setSuccess(); + return; + } + for (NetworkDispatcher targetDispatcher : dispatchers) + { + targetDispatcher.sendProxy((FMLProxyPacket) msg); + } + promise.setSuccess(); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/IGuiHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/network/IGuiHandler.java new file mode 100644 index 000000000..5e332ecec --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/IGuiHandler.java @@ -0,0 +1,46 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.network; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public interface IGuiHandler +{ + /** + * Returns a Server side Container to be displayed to the user. + * + * @param ID The Gui ID Number + * @param player The player viewing the Gui + * @param world The current world + * @param x X Position + * @param y Y Position + * @param z Z Position + * @return A GuiScreen/Container to be displayed to the user, null if none. + */ + public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z); + /** + * Returns a Container to be displayed to the user. On the client side, this + * needs to return a instance of GuiScreen On the server side, this needs to + * return a instance of Container + * + * @param ID The Gui ID Number + * @param player The player viewing the Gui + * @param world The current world + * @param x X Position + * @param y Y Position + * @param z Z Position + * @return A GuiScreen/Container to be displayed to the user, null if none. + */ + public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/NetworkCheckHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/network/NetworkCheckHandler.java new file mode 100644 index 000000000..a8bc380b8 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/NetworkCheckHandler.java @@ -0,0 +1,34 @@ +package net.minecraftforge.fml.common.network; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import net.minecraftforge.fml.relauncher.Side; + +/** + * A method annotated with this will be called when a remote network connection is offered. + * The method should have two parameters, of types {@link Map} and {@link Side}. It should return a boolean + * true indicating that the remote party is acceptable, or false if not. + * + *

+ * When the method is invoked, the map will contain String keys and values listing all mods and their versions present. + * The side represents the side of the remote party. So if you're on the server, it'll be CLIENT, and vice versa. + * + *

+ * This method will be invoked both when querying the status of the remote server, and when connecting to the remote server. + * + *

+ * NOTE: the server will not be setup at any point when this method is called. Do not try and interact with the server + * or the client in any way, except to accept or reject the list of mods. + * + * @author cpw + * + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface NetworkCheckHandler +{ + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/NetworkEventFiringHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/network/NetworkEventFiringHandler.java new file mode 100644 index 000000000..7f97c7712 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/NetworkEventFiringHandler.java @@ -0,0 +1,46 @@ +package net.minecraftforge.fml.common.network; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; + +import org.apache.logging.log4j.Level; + +import io.netty.channel.ChannelHandler.Sharable; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.SimpleChannelInboundHandler; + +/** + * Use this handler as the only thing in your channel, to receive network events + * whenever your channel receives a message. + * Note: it will not forward on to other handlers. + * + * @author cpw + * + */ +@Sharable +public class NetworkEventFiringHandler extends SimpleChannelInboundHandler { + private FMLEventChannel eventChannel; + + NetworkEventFiringHandler(FMLEventChannel fmlEventChannel) + { + this.eventChannel = fmlEventChannel; + } + + @Override + protected void channelRead0(ChannelHandlerContext ctx, FMLProxyPacket msg) throws Exception + { + eventChannel.fireRead(msg,ctx); + } + + @Override + public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception + { + eventChannel.fireUserEvent(evt,ctx); + } + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception + { + FMLLog.log(Level.ERROR, cause, "NetworkEventFiringHandler exception"); + super.exceptionCaught(ctx, cause); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/NetworkHandshakeEstablished.java b/fml/src/main/java/net/minecraftforge/fml/common/network/NetworkHandshakeEstablished.java new file mode 100644 index 000000000..2b06f9d4d --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/NetworkHandshakeEstablished.java @@ -0,0 +1,28 @@ +package net.minecraftforge.fml.common.network; + +import net.minecraft.network.INetHandler; +import net.minecraftforge.fml.common.network.handshake.NetworkDispatcher; +import net.minecraftforge.fml.relauncher.Side; + +/** + * This message is sent through all channels affected by a currently occurring handshake. It is guaranteed to + * be able to send a custom payload packet, however, interaction with minecraft and world state is NOT assured + * as it is likely this is fired on a netty handler thread, not a world processing thread. + * + * If you wish to send an outbound message through your channel, bind the {@link FMLOutboundHandler#FML_MESSAGETARGET} + * property of your channel to the supplied dispatcher. + * @author cpw + * + */ +public class NetworkHandshakeEstablished { + public final NetworkDispatcher dispatcher; + public final Side side; + public final INetHandler netHandler; + + public NetworkHandshakeEstablished(NetworkDispatcher dispatcher, INetHandler netHandler, Side origin) + { + this.netHandler = netHandler; + this.dispatcher = dispatcher; + this.side = origin; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/NetworkRegistry.java b/fml/src/main/java/net/minecraftforge/fml/common/network/NetworkRegistry.java new file mode 100644 index 000000000..66ed284b2 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/NetworkRegistry.java @@ -0,0 +1,333 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.network; + +import io.netty.channel.ChannelHandler; +import io.netty.channel.ChannelHandlerContext; +import io.netty.handler.codec.MessageToMessageCodec; +import io.netty.util.AttributeKey; + +import java.util.EnumMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.logging.log4j.Level; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.inventory.Container; +import net.minecraft.network.INetHandler; +import net.minecraft.world.World; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.discovery.ASMDataTable; +import net.minecraftforge.fml.common.network.FMLOutboundHandler.OutboundTarget; +import net.minecraftforge.fml.common.network.handshake.NetworkDispatcher; +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; +import net.minecraftforge.fml.common.network.internal.NetworkModHolder; +import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; +import net.minecraftforge.fml.relauncher.Side; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Maps; + +/** + * @author cpw + * + */ +public enum NetworkRegistry +{ + INSTANCE; + private EnumMap> channels = Maps.newEnumMap(Side.class); + private Map registry = Maps.newHashMap(); + private Map serverGuiHandlers = Maps.newHashMap(); + private Map clientGuiHandlers = Maps.newHashMap(); + + /** + * Set in the {@link ChannelHandlerContext} + */ + public static final AttributeKey FML_CHANNEL = AttributeKey.valueOf("fml:channelName"); + public static final AttributeKey CHANNEL_SOURCE = AttributeKey.valueOf("fml:channelSource"); + public static final AttributeKey MOD_CONTAINER = AttributeKey.valueOf("fml:modContainer"); + public static final AttributeKey NET_HANDLER = AttributeKey.valueOf("fml:netHandler"); + public static final AttributeKey FML_MARKER = AttributeKey.valueOf("fml:hasMarker"); + + // Version 1: ServerHello only contains this value as a byte + // Version 2: ServerHello additionally contains a 4 byte (int) dimension for the logging in client + public static final byte FML_PROTOCOL = 2; + + private NetworkRegistry() + { + channels.put(Side.CLIENT, Maps.newConcurrentMap()); + channels.put(Side.SERVER, Maps.newConcurrentMap()); + } + + /** + * Represents a target point for the ALLROUNDPOINT target. + * + * @author cpw + * + */ + public static class TargetPoint { + /** + * A target point + * @param dimension The dimension to target + * @param x The X coordinate + * @param y The Y coordinate + * @param z The Z coordinate + * @param range The range + */ + public TargetPoint(int dimension, double x, double y, double z, double range) + { + this.x = x; + this.y = y; + this.z = z; + this.range = range; + this.dimension = dimension; + } + public final double x; + public final double y; + public final double z; + public final double range; + public final int dimension; + } + /** + * Create a new synchronous message channel pair based on netty. + * + * There are two preconstructed models available: + *

    + *
  • {@link #newSimpleChannel(String)} provides {@link SimpleNetworkWrapper}, a simple implementation of a netty handler, suitable for those who don't + * wish to dive too deeply into netty. + *
  • {@link #newEventChannel(String)} provides {@link FMLEventChannel} an event driven implementation, with lower level + * access to the network data stream, for those with advanced bitbanging needs that don't wish to poke netty too hard. + *
  • Alternatively, simply use the netty features provided here and implement the full power of the netty stack. + *
+ * + * There are two channels created : one for each logical side (considered as the source of an outbound message) + * The returned map will contain a value for each logical side, though both will only be working in the + * integrated server case. + * + * The channel expects to read and write using {@link FMLProxyPacket}. All operation is synchronous, as the + * asynchronous behaviour occurs at a lower level in netty. + * + * The first handler in the pipeline is special and should not be removed or moved from the head - it transforms + * packets from the outbound of this pipeline into custom packets, based on the current {@link AttributeKey} value + * {@link NetworkRegistry#FML_MESSAGETARGET} and {@link NetworkRegistry#FML_MESSAGETARGETARGS} set on the channel. + * For the client to server channel (source side : CLIENT) this is fixed as "TOSERVER". For SERVER to CLIENT packets, + * several possible values exist. + * + * Mod Messages should be transformed using a something akin to a {@link MessageToMessageCodec}. FML provides + * a utility codec, {@link FMLIndexedMessageToMessageCodec} that transforms from {@link FMLProxyPacket} to a mod + * message using a message discriminator byte. This is optional, but highly recommended for use. + * + * Note also that the handlers supplied need to be {@link ChannelHandler.Shareable} - they are injected into two + * channels. + * + * @param name + * @param handlers + * @return + */ + public EnumMap newChannel(String name, ChannelHandler... handlers) + { + if (channels.containsKey(name) || name.startsWith("MC|") || name.startsWith("\u0001") || name.startsWith("FML")) + { + throw new RuntimeException("That channel is already registered"); + } + EnumMap result = Maps.newEnumMap(Side.class); + + for (Side side : Side.values()) + { + FMLEmbeddedChannel channel = new FMLEmbeddedChannel(name, side, handlers); + channels.get(side).put(name,channel); + result.put(side, channel); + } + return result; + } + + /** + * Construct a new {@link SimpleNetworkWrapper} for the channel. + * + * @param name The name of the channel + * @return A {@link SimpleNetworkWrapper} for handling this channel + */ + public SimpleNetworkWrapper newSimpleChannel(String name) + { + return new SimpleNetworkWrapper(name); + } + /** + * Construct a new {@link FMLEventChannel} for the channel. + * + * @param name The name of the channel + * @return An {@link FMLEventChannel} for handling this channel + */ + public FMLEventChannel newEventDrivenChannel(String name) + { + return new FMLEventChannel(name); + } + /** + * INTERNAL Create a new channel pair with the specified name and channel handlers. + * This is used internally in forge and FML + * + * @param container The container to associate the channel with + * @param name The name for the channel + * @param handlers Some {@link ChannelHandler} for the channel + * @return an {@link EnumMap} of the pair of channels. keys are {@link Side}. There will always be two entries. + */ + public EnumMap newChannel(ModContainer container, String name, ChannelHandler... handlers) + { + if (channels.containsKey(name) || name.startsWith("MC|") || name.startsWith("\u0001") || (name.startsWith("FML") && !("FML".equals(container.getModId())))) + { + throw new RuntimeException("That channel is already registered"); + } + EnumMap result = Maps.newEnumMap(Side.class); + + for (Side side : Side.values()) + { + FMLEmbeddedChannel channel = new FMLEmbeddedChannel(container, name, side, handlers); + channels.get(side).put(name,channel); + result.put(side, channel); + } + return result; + } + + public FMLEmbeddedChannel getChannel(String name, Side source) + { + return channels.get(source).get(name); + } + /** + * Register an {@link IGuiHandler} for the supplied mod object. + * + * @param mod The mod to handle GUIs for + * @param handler A handler for creating GUI related objects + */ + public void registerGuiHandler(Object mod, IGuiHandler handler) + { + ModContainer mc = FMLCommonHandler.instance().findContainerFor(mod); + if (mc == null) + { + FMLLog.log(Level.ERROR, "Mod of type %s attempted to register a gui network handler during a construction phase", mod.getClass().getName()); + throw new RuntimeException("Invalid attempt to create a GUI during mod construction. Use an EventHandler instead"); + } + serverGuiHandlers.put(mc, handler); + clientGuiHandlers.put(mc, handler); + } + + /** + * INTERNAL method for accessing the Gui registry + * @param mc Mod Container + * @param player Player + * @param modGuiId guiId + * @param world World + * @param x X coord + * @param y Y coord + * @param z Z coord + * @return The server side GUI object (An instance of {@link Container}) + */ + public Container getRemoteGuiContainer(ModContainer mc, EntityPlayerMP player, int modGuiId, World world, int x, int y, int z) + { + IGuiHandler handler = serverGuiHandlers.get(mc); + + if (handler != null) + { + return (Container)handler.getServerGuiElement(modGuiId, player, world, x, y, z); + } + else + { + return null; + } + } + + /** + * INTERNAL method for accessing the Gui registry + * @param mc Mod Container + * @param player Player + * @param modGuiId guiId + * @param world World + * @param x X coord + * @param y Y coord + * @param z Z coord + * @return The client side GUI object (An instance of {@link GUI}) + */ + public Object getLocalGuiContainer(ModContainer mc, EntityPlayer player, int modGuiId, World world, int x, int y, int z) + { + IGuiHandler handler = clientGuiHandlers.get(mc); + return handler.getClientGuiElement(modGuiId, player, world, x, y, z); + } + + /** + * Is there a channel with this name on this side? + * @param channelName The name + * @param source the side + * @return if there's a channel + */ + public boolean hasChannel(String channelName, Side source) + { + return channels.get(source).containsKey(channelName); + } + + /** + * INTERNAL method for registering a mod as a network capable thing + * @param fmlModContainer The fml mod container + * @param clazz a class + * @param remoteVersionRange the acceptable remote range + * @param asmHarvestedData internal data + */ + public void register(ModContainer fmlModContainer, Class clazz, String remoteVersionRange, ASMDataTable asmHarvestedData) + { + NetworkModHolder networkModHolder = new NetworkModHolder(fmlModContainer, clazz, remoteVersionRange, asmHarvestedData); + registry.put(fmlModContainer, networkModHolder); + networkModHolder.testVanillaAcceptance(); + } + + public boolean isVanillaAccepted(Side from) + { + boolean result = true; + for (Entry e : registry.entrySet()) + { + result &= e.getValue().acceptsVanilla(from); + } + return result; + } + public Map registry() + { + return ImmutableMap.copyOf(registry); + } + + /** + * All the valid channel names for a side + * @param side the side + * @return the set of channel names + */ + public Set channelNamesFor(Side side) + { + return channels.get(side).keySet(); + } + + /** + * INTERNAL fire a handshake to all channels + * @param networkDispatcher The dispatcher firing + * @param origin which side the dispatcher is on + */ + public void fireNetworkHandshake(NetworkDispatcher networkDispatcher, Side origin) + { + NetworkHandshakeEstablished handshake = new NetworkHandshakeEstablished(networkDispatcher, networkDispatcher.getNetHandler(), origin); + for (Entry channel : channels.get(origin).entrySet()) + { + channel.getValue().attr(FMLOutboundHandler.FML_MESSAGETARGET).set(OutboundTarget.DISPATCHER); + channel.getValue().attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(networkDispatcher); + channel.getValue().pipeline().fireUserEventTriggered(handshake); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/PacketLoggingHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/network/PacketLoggingHandler.java new file mode 100644 index 000000000..64146631c --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/PacketLoggingHandler.java @@ -0,0 +1,90 @@ +package net.minecraftforge.fml.common.network; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelOutboundHandlerAdapter; +import io.netty.channel.ChannelPipeline; +import io.netty.channel.ChannelPromise; +import io.netty.channel.SimpleChannelInboundHandler; + +import java.util.List; + +import org.apache.logging.log4j.Level; + +import net.minecraft.network.EnumPacketDirection; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.PacketBuffer; +import net.minecraft.util.MessageDeserializer2; +import net.minecraft.util.MessageSerializer2; +import net.minecraftforge.fml.common.FMLLog; + +public class PacketLoggingHandler +{ + public static void register(NetworkManager manager) + { + ChannelPipeline pipeline = manager.channel().pipeline(); + final EnumPacketDirection direction = manager.getDirection(); + if (manager.isLocalChannel()) + { + pipeline.addBefore("packet_handler", "splitter", new SimpleChannelInboundHandler() + { + String prefix = (direction == EnumPacketDirection.SERVERBOUND ? "SERVER: C->S" : "CLIENT: S->C"); + @Override + protected void channelRead0(ChannelHandlerContext ctx, Packet msg) throws Exception + { + PacketBuffer buf = new PacketBuffer(Unpooled.buffer()); + msg.writePacketData(buf); + FMLLog.log(Level.DEBUG, "%s %s:\n%s", prefix, msg.getClass().getSimpleName(), ByteBufUtils.getContentDump(buf)); + ctx.fireChannelRead(msg); + } + }); + pipeline.addBefore("splitter", "prepender", new ChannelOutboundHandlerAdapter() + { + String prefix = (direction == EnumPacketDirection.SERVERBOUND ? "SERVER: S->C" : "CLIENT: C->S"); + @Override + public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception + { + if (msg instanceof Packet) + { + PacketBuffer buf = new PacketBuffer(Unpooled.buffer()); + ((Packet)msg).writePacketData(buf); + FMLLog.log(Level.DEBUG, "%s %s:\n%s", prefix, msg.getClass().getSimpleName(), ByteBufUtils.getContentDump(buf)); + } + ctx.write(msg, promise); + } + }); + } + else + { + pipeline.replace("splitter", "splitter", new MessageDeserializer2() + { + String prefix = (direction == EnumPacketDirection.SERVERBOUND ? "SERVER: C->S" : "CLIENT: S->C"); + @Override + protected void decode(ChannelHandlerContext context, ByteBuf input, List output) + { + super.decode(context, input, output); + for (ByteBuf pkt : (List)output) + { + pkt.markReaderIndex(); + FMLLog.log(Level.DEBUG, "%s:\n%s", prefix, ByteBufUtils.getContentDump(pkt)); + pkt.resetReaderIndex(); + } + } + }); + pipeline.replace("prepender", "prepender", new MessageSerializer2() + { + String prefix = (direction == EnumPacketDirection.SERVERBOUND ? "SERVER: S->C" : "CLIENT: C->S"); + @Override + protected void encode(ChannelHandlerContext context, ByteBuf input, ByteBuf output) + { + input.markReaderIndex(); + FMLLog.log(Level.DEBUG, "%s:\n%s", prefix, ByteBufUtils.getContentDump(input)); + input.resetReaderIndex(); + super.encode(context, input, output); + } + }); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/ChannelRegistrationHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/ChannelRegistrationHandler.java new file mode 100644 index 000000000..0e0a6eca9 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/ChannelRegistrationHandler.java @@ -0,0 +1,46 @@ +package net.minecraftforge.fml.common.network.handshake; + +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.SimpleChannelInboundHandler; + +import java.util.Set; + +import net.minecraft.network.NetworkManager; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; +import net.minecraftforge.fml.relauncher.Side; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.Charsets; +import com.google.common.collect.ImmutableSet; + +public class ChannelRegistrationHandler extends SimpleChannelInboundHandler { + @Override + protected void channelRead0(ChannelHandlerContext ctx, FMLProxyPacket msg) throws Exception + { + Side side = msg.getTarget(); + NetworkManager manager = msg.getOrigin(); + if (msg.channel().equals("REGISTER") || msg.channel().equals("UNREGISTER")) + { + byte[] data = new byte[msg.payload().readableBytes()]; + msg.payload().readBytes(data); + String channels = new String(data,Charsets.UTF_8); + String[] split = channels.split("\0"); + Set channelSet = ImmutableSet.copyOf(split); + FMLCommonHandler.instance().fireNetRegistrationEvent(manager, channelSet, msg.channel(), side); + } + else + { + ctx.fireChannelRead(msg); + } + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception + { + FMLLog.log(Level.ERROR, cause, "ChannelRegistrationHandler exception"); + super.exceptionCaught(ctx, cause); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/FMLHandshakeClientState.java b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/FMLHandshakeClientState.java new file mode 100644 index 000000000..15324aa23 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/FMLHandshakeClientState.java @@ -0,0 +1,174 @@ +package net.minecraftforge.fml.common.network.handshake; + +import java.util.HashSet; +import java.util.List; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.handshake.FMLHandshakeMessage.ServerHello; +import net.minecraftforge.fml.common.network.internal.FMLMessage; +import net.minecraftforge.fml.common.network.internal.FMLNetworkHandler; +import net.minecraftforge.fml.common.registry.GameData; +import net.minecraftforge.fml.relauncher.Side; +import io.netty.channel.ChannelFutureListener; +import io.netty.channel.ChannelHandlerContext; + +/** + * Packet handshake sequence manager- client side (responding to remote server) + * + * Flow: + * 1. Wait for server hello. (START). Move to HELLO state. + * 2. Receive Server Hello. Send customchannel registration. Send Client Hello. Send our modlist. Move to WAITINGFORSERVERDATA state. + * 3. Receive server modlist. Send ack if acceptable, else send nack and exit error. Receive server IDs. Move to COMPLETE state. Send ack. + * + * @author cpw + * + */ +enum FMLHandshakeClientState implements IHandshakeState +{ + START + { + @Override + public FMLHandshakeClientState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + NetworkDispatcher dispatcher = ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(); + dispatcher.clientListenForServerHandshake(); + return HELLO; + } + }, + HELLO + { + @Override + public FMLHandshakeClientState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + // write our custom packet registration, always + ctx.writeAndFlush(FMLHandshakeMessage.makeCustomChannelRegistration(NetworkRegistry.INSTANCE.channelNamesFor(Side.CLIENT))); + if (msg == null) + { + NetworkDispatcher dispatcher = ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(); + dispatcher.abortClientHandshake("VANILLA"); + // VANILLA login + return DONE; + } + + ServerHello serverHelloPacket = (FMLHandshakeMessage.ServerHello)msg; + FMLLog.info("Server protocol version %x", serverHelloPacket.protocolVersion()); + if (serverHelloPacket.protocolVersion() > 1) + { + // Server sent us an extra dimension for the logging in player - stash it for retrieval later + NetworkDispatcher dispatcher = ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(); + dispatcher.setOverrideDimension(serverHelloPacket.overrideDim()); + } + ctx.writeAndFlush(new FMLHandshakeMessage.ClientHello()).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + ctx.writeAndFlush(new FMLHandshakeMessage.ModList(Loader.instance().getActiveModList())).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + return WAITINGSERVERDATA; + } + }, + + WAITINGSERVERDATA + { + @Override + public FMLHandshakeClientState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + String result = FMLNetworkHandler.checkModList((FMLHandshakeMessage.ModList) msg, Side.SERVER); + if (result != null) + { + NetworkDispatcher dispatcher = ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(); + dispatcher.rejectHandshake(result); + return ERROR; + } + ctx.writeAndFlush(new FMLHandshakeMessage.HandshakeAck(ordinal())).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + if (!ctx.channel().attr(NetworkDispatcher.IS_LOCAL).get()) + { + return WAITINGSERVERCOMPLETE; + } + else + { + return PENDINGCOMPLETE; + } + } + }, + WAITINGSERVERCOMPLETE + { + @Override + public FMLHandshakeClientState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + FMLHandshakeMessage.RegistryData pkt = (FMLHandshakeMessage.RegistryData)msg; + GameData.GameDataSnapshot snap = ctx.channel().attr(NetworkDispatcher.FML_GAMEDATA_SNAPSHOT).get(); + if (snap == null) + { + snap = new GameData.GameDataSnapshot(); + ctx.channel().attr(NetworkDispatcher.FML_GAMEDATA_SNAPSHOT).set(snap); + } + + GameData.GameDataSnapshot.Entry entry = new GameData.GameDataSnapshot.Entry(); + entry.ids.putAll(pkt.getIdMap()); + entry.substitutions.addAll(pkt.getSubstitutions()); + snap.entries.put(pkt.getName(), entry); + + if (pkt.hasMore()) + { + FMLLog.fine("Received Mod Registry mapping for %s: %d IDs %d subs", pkt.getName(), entry.ids.size(), entry.substitutions.size()); + return WAITINGSERVERCOMPLETE; + } + + ctx.channel().attr(NetworkDispatcher.FML_GAMEDATA_SNAPSHOT).remove(); + + List locallyMissing = GameData.injectSnapshot(snap, false, false); + if (!locallyMissing.isEmpty()) + { + NetworkDispatcher dispatcher = ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(); + dispatcher.rejectHandshake("Fatally missing blocks and items"); + FMLLog.severe("Failed to connect to server: there are %d missing blocks and items", locallyMissing.size()); + FMLLog.fine("Missing list: %s", locallyMissing); + return ERROR; + } + ctx.writeAndFlush(new FMLHandshakeMessage.HandshakeAck(ordinal())).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + return PENDINGCOMPLETE; + } + }, + PENDINGCOMPLETE + { + @Override + public FMLHandshakeClientState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + ctx.writeAndFlush(new FMLHandshakeMessage.HandshakeAck(ordinal())).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + return COMPLETE; + } + }, + COMPLETE + { + @Override + public FMLHandshakeClientState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + NetworkDispatcher dispatcher = ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(); + dispatcher.completeClientHandshake(); + FMLMessage.CompleteHandshake complete = new FMLMessage.CompleteHandshake(Side.CLIENT); + ctx.fireChannelRead(complete); + ctx.writeAndFlush(new FMLHandshakeMessage.HandshakeAck(ordinal())).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + return DONE; + } + }, + DONE + { + @Override + public FMLHandshakeClientState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + if (msg instanceof FMLHandshakeMessage.HandshakeReset) + { + GameData.revertToFrozen(); + return HELLO; + } + return this; + } + }, + ERROR + { + @Override + public FMLHandshakeClientState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + return this; + } + }; +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/FMLHandshakeCodec.java b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/FMLHandshakeCodec.java new file mode 100644 index 000000000..da6ed3fb5 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/FMLHandshakeCodec.java @@ -0,0 +1,28 @@ +package net.minecraftforge.fml.common.network.handshake; + +import net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec; +import io.netty.buffer.ByteBuf; +import io.netty.channel.ChannelHandlerContext; + +public class FMLHandshakeCodec extends FMLIndexedMessageToMessageCodec { + public FMLHandshakeCodec() + { + addDiscriminator((byte)0, FMLHandshakeMessage.ServerHello.class); + addDiscriminator((byte)1, FMLHandshakeMessage.ClientHello.class); + addDiscriminator((byte)2, FMLHandshakeMessage.ModList.class); + addDiscriminator((byte)3, FMLHandshakeMessage.RegistryData.class); + addDiscriminator((byte)-1, FMLHandshakeMessage.HandshakeAck.class); + addDiscriminator((byte)-2, FMLHandshakeMessage.HandshakeReset.class); + } + @Override + public void encodeInto(ChannelHandlerContext ctx, FMLHandshakeMessage msg, ByteBuf target) throws Exception + { + msg.toBytes(target); + } + + @Override + public void decodeInto(ChannelHandlerContext ctx, ByteBuf source, FMLHandshakeMessage msg) + { + msg.fromBytes(source); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/FMLHandshakeMessage.java b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/FMLHandshakeMessage.java new file mode 100644 index 000000000..984f600ff --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/FMLHandshakeMessage.java @@ -0,0 +1,280 @@ +package net.minecraftforge.fml.common.network.handshake; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import net.minecraft.network.PacketBuffer; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.network.ByteBufUtils; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; +import net.minecraftforge.fml.common.registry.GameData; + +import com.google.common.base.Charsets; +import com.google.common.base.Joiner; +import com.google.common.collect.Iterables; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; + +public abstract class FMLHandshakeMessage { + public static FMLProxyPacket makeCustomChannelRegistration(Set channels) + { + String salutation = Joiner.on('\0').join(Iterables.concat(Arrays.asList("FML|HS","FML", "FML|MP"),channels)); + FMLProxyPacket proxy = new FMLProxyPacket(new PacketBuffer(Unpooled.wrappedBuffer(salutation.getBytes(Charsets.UTF_8))), "REGISTER"); + return proxy; + } + public static class ServerHello extends FMLHandshakeMessage { + private byte serverProtocolVersion; + private int overrideDimension; + public ServerHello() + { + // noargs for the proto + } + public ServerHello(int overrideDim) + { + this.overrideDimension = overrideDim; + } + + @Override + public void toBytes(ByteBuf buffer) + { + buffer.writeByte(NetworkRegistry.FML_PROTOCOL); + buffer.writeInt(overrideDimension); + } + + @Override + public void fromBytes(ByteBuf buffer) + { + serverProtocolVersion = buffer.readByte(); + // Extended dimension support during login + if (serverProtocolVersion > 1) + { + overrideDimension = buffer.readInt(); + FMLLog.fine("Server FML protocol version %d, 4 byte dimension received %d", serverProtocolVersion, overrideDimension); + } + else + { + FMLLog.info("Server FML protocol version %d, no additional data received", serverProtocolVersion); + } + } + + public byte protocolVersion() + { + return serverProtocolVersion; + } + + public int overrideDim() { + return overrideDimension; + } + } + public static class ClientHello extends FMLHandshakeMessage { + private byte serverProtocolVersion; + @Override + public void toBytes(ByteBuf buffer) + { + buffer.writeByte(NetworkRegistry.FML_PROTOCOL); + } + + @Override + public void fromBytes(ByteBuf buffer) + { + serverProtocolVersion = buffer.readByte(); + } + + public byte protocolVersion() + { + return serverProtocolVersion; + } + } + public static class ModList extends FMLHandshakeMessage { + public ModList() + { + + } + public ModList(List modList) + { + for (ModContainer mod : modList) + { + modTags.put(mod.getModId(), mod.getVersion()); + } + } + private Map modTags = Maps.newHashMap(); + + @Override + public void toBytes(ByteBuf buffer) + { + super.toBytes(buffer); + ByteBufUtils.writeVarInt(buffer, modTags.size(), 2); + for (Map.Entry modTag: modTags.entrySet()) + { + ByteBufUtils.writeUTF8String(buffer, modTag.getKey()); + ByteBufUtils.writeUTF8String(buffer, modTag.getValue()); + } + } + + @Override + public void fromBytes(ByteBuf buffer) + { + super.fromBytes(buffer); + int modCount = ByteBufUtils.readVarInt(buffer, 2); + for (int i = 0; i < modCount; i++) + { + modTags.put(ByteBufUtils.readUTF8String(buffer), ByteBufUtils.readUTF8String(buffer)); + } + } + + public String modListAsString() + { + return Joiner.on(',').withKeyValueSeparator("@").join(modTags); + } + + public int modListSize() + { + return modTags.size(); + } + public Map modList() + { + return modTags; + } + + @Override + public String toString(Class> side) + { + return super.toString(side)+":"+modTags.size()+" mods"; + } + } + + public static class RegistryData extends FMLHandshakeMessage + { + public RegistryData() + { + + } + + public RegistryData(boolean hasMore, String name, GameData.GameDataSnapshot.Entry entry) + { + this.hasMore = hasMore; + this.name = name; + this.ids = entry.ids; + this.substitutions = entry.substitutions; + } + + private boolean hasMore; + private String name; + private Map ids; + private Set substitutions; + + @Override + public void fromBytes(ByteBuf buffer) + { + this.hasMore = buffer.readBoolean(); + this.name = ByteBufUtils.readUTF8String(buffer); + + int length = ByteBufUtils.readVarInt(buffer, 3); + ids = Maps.newHashMap(); + + for (int i = 0; i < length; i++) + { + ids.put(ByteBufUtils.readUTF8String(buffer), ByteBufUtils.readVarInt(buffer, 3)); + } + + length = ByteBufUtils.readVarInt(buffer, 3); + substitutions = Sets.newHashSet(); + + for (int i = 0; i < length; i++) + { + substitutions.add(ByteBufUtils.readUTF8String(buffer)); + } + //if (!buffer.isReadable()) return; // In case we expand + } + + @Override + public void toBytes(ByteBuf buffer) + { + buffer.writeBoolean(this.hasMore); + ByteBufUtils.writeUTF8String(buffer, this.name); + + ByteBufUtils.writeVarInt(buffer, ids.size(), 3); + for (Entry entry: ids.entrySet()) + { + ByteBufUtils.writeUTF8String(buffer, entry.getKey()); + ByteBufUtils.writeVarInt(buffer, entry.getValue(), 3); + } + + ByteBufUtils.writeVarInt(buffer, substitutions.size(), 3); + for (String entry: substitutions) + { + ByteBufUtils.writeUTF8String(buffer, entry); + } + } + + public Map getIdMap() + { + return ids; + } + public Set getSubstitutions() + { + return substitutions; + } + public String getName() + { + return this.name; + } + public boolean hasMore() + { + return this.hasMore; + } + + @Override + public String toString(Class> side) + { + return super.toString(side) + ":"+ids.size()+" mappings"; + } + } + public static class HandshakeAck extends FMLHandshakeMessage { + int phase; + public HandshakeAck() {} + HandshakeAck(int phase) + { + this.phase = phase; + } + @Override + public void fromBytes(ByteBuf buffer) + { + phase = buffer.readByte(); + } + + @Override + public void toBytes(ByteBuf buffer) + { + buffer.writeByte(phase); + } + @Override + public String toString(Class> side) + { + return super.toString(side) + ":{"+phase+"}"; + } + } + public static class HandshakeReset extends FMLHandshakeMessage { + public HandshakeReset() {} + } + public void fromBytes(ByteBuf buffer) + { + } + + public void toBytes(ByteBuf buffer) + { + } + + public String toString(Class> side) + { + return getClass().getName().substring(getClass().getName().lastIndexOf('$')); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/FMLHandshakeServerState.java b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/FMLHandshakeServerState.java new file mode 100644 index 000000000..f2683b8e0 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/FMLHandshakeServerState.java @@ -0,0 +1,105 @@ +package net.minecraftforge.fml.common.network.handshake; + +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.internal.FMLMessage; +import net.minecraftforge.fml.common.network.internal.FMLNetworkHandler; +import net.minecraftforge.fml.common.registry.GameData; +import net.minecraftforge.fml.relauncher.Side; +import io.netty.channel.ChannelFutureListener; +import io.netty.channel.ChannelHandlerContext; + +enum FMLHandshakeServerState implements IHandshakeState +{ + START + { + @Override + public FMLHandshakeServerState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + NetworkDispatcher dispatcher = ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(); + int overrideDim = dispatcher.serverInitiateHandshake(); + ctx.writeAndFlush(FMLHandshakeMessage.makeCustomChannelRegistration(NetworkRegistry.INSTANCE.channelNamesFor(Side.SERVER))).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + ctx.writeAndFlush(new FMLHandshakeMessage.ServerHello(overrideDim)).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + return HELLO; + } + }, + HELLO + { + @Override + public FMLHandshakeServerState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + // Hello packet first + if (msg instanceof FMLHandshakeMessage.ClientHello) + { + FMLLog.info("Client protocol version %x", ((FMLHandshakeMessage.ClientHello)msg).protocolVersion()); + return this; + } + + FMLHandshakeMessage.ModList client = (FMLHandshakeMessage.ModList)msg; + NetworkDispatcher dispatcher = ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(); + dispatcher.setModList(client.modList()); + FMLLog.info("Client attempting to join with %d mods : %s", client.modListSize(), client.modListAsString()); + String result = FMLNetworkHandler.checkModList(client, Side.CLIENT); + if (result != null) + { + dispatcher.rejectHandshake(result); + return ERROR; + } + ctx.writeAndFlush(new FMLHandshakeMessage.ModList(Loader.instance().getActiveModList())); + return WAITINGCACK; + } + }, + WAITINGCACK + { + @Override + public FMLHandshakeServerState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + if (!ctx.channel().attr(NetworkDispatcher.IS_LOCAL).get()) + { + GameData.GameDataSnapshot snapshot = GameData.takeSnapshot(); + Iterator> itr = snapshot.entries.entrySet().iterator(); + while (itr.hasNext()) + { + Entry e = itr.next(); + ctx.writeAndFlush(new FMLHandshakeMessage.RegistryData(itr.hasNext(), e.getKey(), e.getValue())).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + } + } + ctx.writeAndFlush(new FMLHandshakeMessage.HandshakeAck(ordinal())).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + NetworkRegistry.INSTANCE.fireNetworkHandshake(ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER).get(), Side.SERVER); + return COMPLETE; + } + }, + COMPLETE + { + @Override + public FMLHandshakeServerState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + // Poke the client + ctx.writeAndFlush(new FMLHandshakeMessage.HandshakeAck(ordinal())).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + FMLMessage.CompleteHandshake complete = new FMLMessage.CompleteHandshake(Side.SERVER); + ctx.fireChannelRead(complete); + return DONE; + } + }, + DONE + { + @Override + public FMLHandshakeServerState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + return this; + } + }, + ERROR + { + @Override + public FMLHandshakeServerState accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg) + { + return this; + } + }; +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/HandshakeInjector.java b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/HandshakeInjector.java new file mode 100644 index 000000000..626e772fc --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/HandshakeInjector.java @@ -0,0 +1,23 @@ +package net.minecraftforge.fml.common.network.handshake; + +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelOutboundHandlerAdapter; +import io.netty.channel.ChannelPromise; + +public class HandshakeInjector extends ChannelOutboundHandlerAdapter { + + private NetworkDispatcher dispatcher; + public HandshakeInjector(NetworkDispatcher networkDispatcher) + { + this.dispatcher = networkDispatcher; + } + @Override + public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception + { + if (msg instanceof FMLProxyPacket) + { + this.dispatcher.sendProxy((FMLProxyPacket) msg); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/HandshakeMessageHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/HandshakeMessageHandler.java new file mode 100644 index 000000000..db7deaec8 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/HandshakeMessageHandler.java @@ -0,0 +1,55 @@ +package net.minecraftforge.fml.common.network.handshake; + +import net.minecraftforge.fml.common.FMLLog; + +import org.apache.logging.log4j.Level; + +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.SimpleChannelInboundHandler; +import io.netty.util.AttributeKey; + +public class HandshakeMessageHandler & IHandshakeState> extends SimpleChannelInboundHandler { + private static final AttributeKey> STATE = AttributeKey.valueOf("fml:handshake-state"); + private final AttributeKey fmlHandshakeState; + private S initialState; + private Class stateType; + + @SuppressWarnings("unchecked") + public HandshakeMessageHandler(Class stateType) + { + fmlHandshakeState = (AttributeKey) ((Object)STATE); + initialState = Enum.valueOf(stateType, "START"); + this.stateType = stateType; + } + @Override + protected void channelRead0(ChannelHandlerContext ctx, FMLHandshakeMessage msg) throws Exception + { + S state = ctx.attr(fmlHandshakeState).get(); + FMLLog.fine(stateType.getSimpleName() + ": " + msg.toString(stateType) + "->" + state.getClass().getName().substring(state.getClass().getName().lastIndexOf('.')+1)+":"+state); + S newState = state.accept(ctx, msg); + FMLLog.fine(" Next: " + newState.name()); + ctx.attr(fmlHandshakeState).set(newState); + } + + @Override + public void channelActive(ChannelHandlerContext ctx) throws Exception + { + ctx.attr(fmlHandshakeState).set(initialState); + } + @Override + public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception + { + S state = ctx.attr(fmlHandshakeState).get(); + FMLLog.fine(stateType.getSimpleName() + ": null->" + state.getClass().getName().substring(state.getClass().getName().lastIndexOf('.')+1)+":"+state); + S newState = state.accept(ctx, null); + FMLLog.fine(" Next: " + newState.name()); + ctx.attr(fmlHandshakeState).set(newState); + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception + { + FMLLog.log(Level.ERROR, cause, "HandshakeMessageHandler exception"); + super.exceptionCaught(ctx, cause); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/IHandshakeState.java b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/IHandshakeState.java new file mode 100644 index 000000000..bd2b0951e --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/IHandshakeState.java @@ -0,0 +1,7 @@ +package net.minecraftforge.fml.common.network.handshake; + +import io.netty.channel.ChannelHandlerContext; + +public interface IHandshakeState { + S accept(ChannelHandlerContext ctx, FMLHandshakeMessage msg); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/NetworkDispatcher.java b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/NetworkDispatcher.java new file mode 100644 index 000000000..9f27ab247 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/handshake/NetworkDispatcher.java @@ -0,0 +1,624 @@ +package net.minecraftforge.fml.common.network.handshake; + +import io.netty.buffer.Unpooled; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelOutboundHandler; +import io.netty.channel.ChannelPromise; +import io.netty.channel.SimpleChannelInboundHandler; +import io.netty.channel.embedded.EmbeddedChannel; +import io.netty.util.AttributeKey; +import io.netty.util.concurrent.Future; +import io.netty.util.concurrent.GenericFutureListener; + +import java.io.IOException; +import java.net.SocketAddress; +import java.nio.channels.ClosedChannelException; +import java.util.Collections; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import org.apache.logging.log4j.Level; + +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.EnumConnectionState; +import net.minecraft.network.INetHandler; +import net.minecraft.network.NetHandlerPlayServer; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.PacketBuffer; +import net.minecraft.network.play.client.C17PacketCustomPayload; +import net.minecraft.network.play.server.S01PacketJoinGame; +import net.minecraft.network.play.server.S3FPacketCustomPayload; +import net.minecraft.network.play.server.S40PacketDisconnect; +import net.minecraft.server.management.ServerConfigurationManager; +import net.minecraft.util.ChatComponentText; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.network.FMLNetworkEvent; +import net.minecraftforge.fml.common.network.FMLNetworkException; +import net.minecraftforge.fml.common.network.FMLOutboundHandler; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.PacketLoggingHandler; +import net.minecraftforge.fml.common.network.internal.FMLMessage; +import net.minecraftforge.fml.common.network.internal.FMLNetworkHandler; +import net.minecraftforge.fml.common.network.internal.FMLProxyPacket; +import net.minecraftforge.fml.common.registry.GameData; +import net.minecraftforge.fml.relauncher.Side; + +public class NetworkDispatcher extends SimpleChannelInboundHandler implements ChannelOutboundHandler { + private static boolean DEBUG_HANDSHAKE = Boolean.parseBoolean(System.getProperty("fml.debugNetworkHandshake", "false")); + private static enum ConnectionState { + OPENING, AWAITING_HANDSHAKE, HANDSHAKING, HANDSHAKECOMPLETE, FINALIZING, CONNECTED; + } + + private static enum ConnectionType { + MODDED, BUKKIT, VANILLA; + } + + public static NetworkDispatcher get(NetworkManager manager) + { + return manager.channel().attr(FML_DISPATCHER).get(); + } + + public static NetworkDispatcher allocAndSet(NetworkManager manager) + { + NetworkDispatcher net = new NetworkDispatcher(manager); + manager.channel().attr(FML_DISPATCHER).getAndSet(net); + return net; + } + + public static NetworkDispatcher allocAndSet(NetworkManager manager, ServerConfigurationManager scm) + { + NetworkDispatcher net = new NetworkDispatcher(manager, scm); + manager.channel().attr(FML_DISPATCHER).getAndSet(net); + return net; + } + + public static final AttributeKey FML_DISPATCHER = AttributeKey.valueOf("fml:dispatcher"); + public static final AttributeKey IS_LOCAL = AttributeKey.valueOf("fml:isLocal"); + public static final AttributeKey FML_GAMEDATA_SNAPSHOT = AttributeKey.valueOf("fml:gameDataSnapshot"); + public final NetworkManager manager; + private final ServerConfigurationManager scm; + private EntityPlayerMP player; + private ConnectionState state; + private ConnectionType connectionType; + private final Side side; + private final EmbeddedChannel handshakeChannel; + private NetHandlerPlayServer serverHandler; + private INetHandler netHandler; + private Map modList; + private int overrideLoginDim; + + public NetworkDispatcher(NetworkManager manager) + { + super(Packet.class, false); + this.manager = manager; + this.scm = null; + this.side = Side.CLIENT; + this.handshakeChannel = new EmbeddedChannel(new HandshakeInjector(this), new ChannelRegistrationHandler(), new FMLHandshakeCodec(), new HandshakeMessageHandler(FMLHandshakeClientState.class)); + this.handshakeChannel.attr(FML_DISPATCHER).set(this); + this.handshakeChannel.attr(NetworkRegistry.CHANNEL_SOURCE).set(Side.SERVER); + this.handshakeChannel.attr(NetworkRegistry.FML_CHANNEL).set("FML|HS"); + this.handshakeChannel.attr(IS_LOCAL).set(manager.isLocalChannel()); + if (DEBUG_HANDSHAKE) + PacketLoggingHandler.register(manager); + } + + public NetworkDispatcher(NetworkManager manager, ServerConfigurationManager scm) + { + super(Packet.class, false); + this.manager = manager; + this.scm = scm; + this.side = Side.SERVER; + this.handshakeChannel = new EmbeddedChannel(new HandshakeInjector(this), new ChannelRegistrationHandler(), new FMLHandshakeCodec(), new HandshakeMessageHandler(FMLHandshakeServerState.class)); + this.handshakeChannel.attr(FML_DISPATCHER).set(this); + this.handshakeChannel.attr(NetworkRegistry.CHANNEL_SOURCE).set(Side.CLIENT); + this.handshakeChannel.attr(NetworkRegistry.FML_CHANNEL).set("FML|HS"); + this.handshakeChannel.attr(IS_LOCAL).set(manager.isLocalChannel()); + if (DEBUG_HANDSHAKE) + PacketLoggingHandler.register(manager); + } + + public void serverToClientHandshake(EntityPlayerMP player) + { + this.player = player; + insertIntoChannel(); + Boolean fml = this.manager.channel().attr(NetworkRegistry.FML_MARKER).get(); + if (fml != null && fml.booleanValue()) + { + //FML on client, send server hello + //TODO: Make this cleaner as it uses netty magic 0.o + } + else + { + serverInitiateHandshake(); + FMLLog.info("Connection received without FML marker, assuming vanilla."); + this.completeServerSideConnection(ConnectionType.VANILLA); + } + } + + protected void setModList(Map modList) + { + this.modList = modList; + } + + private void insertIntoChannel() + { + this.manager.channel().config().setAutoRead(false); + // Insert ourselves into the pipeline + this.manager.channel().pipeline().addBefore("packet_handler", "fml:packet_handler", this); + } + + public void clientToServerHandshake() + { + insertIntoChannel(); + } + + @Override + public void handlerAdded(ChannelHandlerContext ctx) throws Exception + { + this.state = ConnectionState.OPENING; + // send ourselves as a user event, to kick the pipeline active + this.handshakeChannel.pipeline().fireUserEventTriggered(this); + this.manager.channel().config().setAutoRead(true); + } + + int serverInitiateHandshake() + { + // Send mod salutation to the client + // This will be ignored by vanilla clients + this.state = ConnectionState.AWAITING_HANDSHAKE; + // Need to start the handler here, so we can send custompayload packets + serverHandler = new NetHandlerPlayServer(scm.getServerInstance(), manager, player) + { + @Override + public void update() + { + if (NetworkDispatcher.this.state == ConnectionState.FINALIZING) + { + completeServerSideConnection(ConnectionType.MODDED); + } + super.update(); + } + }; + this.netHandler = serverHandler; + // NULL the play server here - we restore it further on. If not, there are packets sent before the login + player.playerNetServerHandler = null; + // manually for the manager into the PLAY state, so we can send packets later + this.manager.setConnectionState(EnumConnectionState.PLAY); + + // Return the dimension the player is in, so it can be pre-sent to the client in the ServerHello v2 packet + // Requires some hackery to the serverconfigmanager and stuff for this to work + NBTTagCompound playerNBT = scm.getPlayerNBT(player); + if (playerNBT!=null) + { + return playerNBT.getInteger("Dimension"); + } + else + { + return 0; + } + } + + void clientListenForServerHandshake() + { + manager.setConnectionState(EnumConnectionState.PLAY); + //FMLCommonHandler.instance().waitForPlayClient(); + this.netHandler = FMLCommonHandler.instance().getClientPlayHandler(); + this.state = ConnectionState.AWAITING_HANDSHAKE; + } + + private void completeClientSideConnection(ConnectionType type) + { + this.connectionType = type; + FMLLog.info("[%s] Client side %s connection established", Thread.currentThread().getName(), this.connectionType.name().toLowerCase(Locale.ENGLISH)); + this.state = ConnectionState.CONNECTED; + FMLCommonHandler.instance().bus().post(new FMLNetworkEvent.ClientConnectedToServerEvent(manager, this.connectionType.name())); + } + + private void completeServerSideConnection(ConnectionType type) + { + this.connectionType = type; + FMLLog.info("[%s] Server side %s connection established", Thread.currentThread().getName(), this.connectionType.name().toLowerCase(Locale.ENGLISH)); + this.state = ConnectionState.CONNECTED; + FMLCommonHandler.instance().bus().post(new FMLNetworkEvent.ServerConnectionFromClientEvent(manager)); + if (DEBUG_HANDSHAKE) + manager.closeChannel(new ChatComponentText("Handshake Complete review log file for details.")); + scm.initializeConnectionToPlayer(manager, player, serverHandler); + } + @Override + protected void channelRead0(ChannelHandlerContext ctx, Packet msg) throws Exception + { + boolean handled = false; + if (msg instanceof C17PacketCustomPayload) + { + handled = handleServerSideCustomPacket((C17PacketCustomPayload) msg, ctx); + } + else if (msg instanceof S3FPacketCustomPayload) + { + handled = handleClientSideCustomPacket((S3FPacketCustomPayload)msg, ctx); + } + else if (state != ConnectionState.CONNECTED && state != ConnectionState.HANDSHAKECOMPLETE) + { + handled = handleVanilla(msg); + } + if (!handled) + { + ctx.fireChannelRead(msg); + } + } + + private boolean handleVanilla(Packet msg) + { + if (state == ConnectionState.AWAITING_HANDSHAKE && msg instanceof S01PacketJoinGame) + { + handshakeChannel.pipeline().fireUserEventTriggered(msg); + } + else + { + FMLLog.info("Unexpected packet during modded negotiation - assuming vanilla or keepalives : %s", msg.getClass().getName()); + } + return false; + } + + public INetHandler getNetHandler() + { + return netHandler; + } + + /** + * The mod list returned by this method is in no way reliable because it is provided by the client + * + * @return a map that will contain String keys and values listing all mods and their versions + */ + public Map getModList() + { + return Collections.unmodifiableMap(modList); + } + + @Override + public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception + { + if (evt instanceof ConnectionType && side == Side.SERVER) + { + FMLLog.info("Timeout occurred, assuming a vanilla client"); + kickVanilla(); + } + } + + private void kickVanilla() + { + kickWithMessage("This is modded. No modded response received. Bye!"); + } + private void kickWithMessage(String message) + { + final ChatComponentText chatcomponenttext = new ChatComponentText(message); + if (side == Side.CLIENT) + { + manager.closeChannel(chatcomponenttext); + } + else + { + manager.sendPacket(new S40PacketDisconnect(chatcomponenttext), new GenericFutureListener>() + { + @Override + public void operationComplete(Future result) + { + manager.closeChannel(chatcomponenttext); + } + }); + } + manager.channel().config().setAutoRead(false); + } + + private MultiPartCustomPayload multipart = null; + private boolean handleClientSideCustomPacket(S3FPacketCustomPayload msg, ChannelHandlerContext context) + { + String channelName = msg.getChannelName(); + if ("FML|MP".equals(channelName)) + { + try + { + if (multipart == null) + { + multipart = new MultiPartCustomPayload(msg.getBufferData()); + } + else + { + multipart.processPart(msg.getBufferData()); + } + } + catch (IOException e) + { + this.kickWithMessage(e.getMessage()); + multipart = null; + return true; + } + + if (multipart.isComplete()) + { + msg = multipart; + channelName = msg.getChannelName(); + multipart = null; + } + else + { + return true; // Haven't received all so return till we have. + } + } + if ("FML|HS".equals(channelName) || "REGISTER".equals(channelName) || "UNREGISTER".equals(channelName)) + { + FMLProxyPacket proxy = new FMLProxyPacket(msg); + proxy.setDispatcher(this); + handshakeChannel.writeInbound(proxy); + // forward any messages into the regular channel + for (Object push : handshakeChannel.inboundMessages()) + { + List messageResult = FMLNetworkHandler.forwardHandshake((FMLMessage.CompleteHandshake)push, this, Side.CLIENT); + for (FMLProxyPacket result: messageResult) + { + result.setTarget(Side.CLIENT); + result.payload().resetReaderIndex(); + context.fireChannelRead(result); + } + } + handshakeChannel.inboundMessages().clear(); + return true; + } + else if (NetworkRegistry.INSTANCE.hasChannel(channelName, Side.CLIENT)) + { + FMLProxyPacket proxy = new FMLProxyPacket(msg); + proxy.setDispatcher(this); + context.fireChannelRead(proxy); + return true; + } + return false; + } + + private boolean handleServerSideCustomPacket(C17PacketCustomPayload msg, ChannelHandlerContext context) + { + if (state == ConnectionState.AWAITING_HANDSHAKE) + { + state = ConnectionState.HANDSHAKING; + } + String channelName = msg.getChannelName(); + if ("FML|HS".equals(channelName) || "REGISTER".equals(channelName) || "UNREGISTER".equals(channelName)) + { + FMLProxyPacket proxy = new FMLProxyPacket(msg); + proxy.setDispatcher(this); + handshakeChannel.writeInbound(proxy); + for (Object push : handshakeChannel.inboundMessages()) + { + List messageResult = FMLNetworkHandler.forwardHandshake((FMLMessage.CompleteHandshake)push, this, Side.SERVER); + for (FMLProxyPacket result: messageResult) + { + result.setTarget(Side.SERVER); + result.payload().resetReaderIndex(); + context.fireChannelRead(result); + } + } + handshakeChannel.inboundMessages().clear(); + return true; + } + else if (NetworkRegistry.INSTANCE.hasChannel(channelName, Side.SERVER)) + { + FMLProxyPacket proxy = new FMLProxyPacket(msg); + proxy.setDispatcher(this); + context.fireChannelRead(proxy); + return true; + } + return false; + } + + public void sendProxy(FMLProxyPacket msg) + { + manager.sendPacket(msg); + } + + public void rejectHandshake(String result) + { + kickWithMessage(result); + } + + @Override + public void bind(ChannelHandlerContext ctx, SocketAddress localAddress, ChannelPromise promise) throws Exception + { + ctx.bind(localAddress, promise); + } + + @Override + public void connect(ChannelHandlerContext ctx, SocketAddress remoteAddress, SocketAddress localAddress, ChannelPromise promise) throws Exception + { + ctx.connect(remoteAddress, localAddress, promise); + } + + @Override + public void disconnect(ChannelHandlerContext ctx, ChannelPromise promise) throws Exception + { + if (side == Side.CLIENT) + { + FMLCommonHandler.instance().bus().post(new FMLNetworkEvent.ClientDisconnectionFromServerEvent(manager)); + } + else + { + FMLCommonHandler.instance().bus().post(new FMLNetworkEvent.ServerDisconnectionFromClientEvent(manager)); + } + cleanAttributes(ctx); + ctx.disconnect(promise); + } + + @Override + public void close(ChannelHandlerContext ctx, ChannelPromise promise) throws Exception + { + if (side == Side.CLIENT) + { + FMLCommonHandler.instance().bus().post(new FMLNetworkEvent.ClientDisconnectionFromServerEvent(manager)); + } + else + { + FMLCommonHandler.instance().bus().post(new FMLNetworkEvent.ServerDisconnectionFromClientEvent(manager)); + } + cleanAttributes(ctx); + ctx.close(promise); + } + + @Override + @Deprecated + public void deregister(ChannelHandlerContext ctx, ChannelPromise promise) throws Exception + { + ctx.deregister(promise); + } + + @Override + public void read(ChannelHandlerContext ctx) throws Exception + { + ctx.read(); + } + + @Override + public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception + { + if (msg instanceof FMLProxyPacket) + { + if (side == Side.CLIENT) + { + //Client to server large packets are not supported to prevent client being bad. + ctx.write(((FMLProxyPacket) msg).toC17Packet(), promise); + } + else + { + List parts = ((FMLProxyPacket)msg).toS3FPackets(); + for (Packet pkt : parts) + { + ctx.write(pkt, promise); + } + } + } + else + { + ctx.write(msg, promise); + } + } + + @Override + public void flush(ChannelHandlerContext ctx) throws Exception + { + ctx.flush(); + } + + public void completeHandshake(Side target) + { + if (state == ConnectionState.CONNECTED) + { + FMLLog.severe("Attempt to double complete the network connection!"); + throw new FMLNetworkException("Attempt to double complete!"); + } + if (side == Side.CLIENT) + { + completeClientSideConnection(ConnectionType.MODDED); + } + else + { + this.state = ConnectionState.FINALIZING; //Delay and finalize in the world tick loop. + } + } + + public void completeClientHandshake() + { + state = ConnectionState.HANDSHAKECOMPLETE; + } + + public void abortClientHandshake(String type) + { + FMLLog.log(Level.INFO, "Aborting client handshake \"%s\"", type); + //FMLCommonHandler.instance().waitForPlayClient(); + completeClientSideConnection(ConnectionType.valueOf(type)); + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception + { + // Stop the epic channel closed spam at close + if (!(cause instanceof ClosedChannelException)) + { + FMLLog.log(Level.ERROR, cause, "NetworkDispatcher exception"); + } + super.exceptionCaught(ctx, cause); + } + + // if we add any attributes, we should force removal of them here so that + //they do not hold references to the world and causes it to leak. + private void cleanAttributes(ChannelHandlerContext ctx) + { + ctx.channel().attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).remove(); + ctx.channel().attr(NetworkRegistry.NET_HANDLER).remove(); + ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER).remove(); + this.handshakeChannel.attr(FML_DISPATCHER).remove(); + this.manager.channel().attr(FML_DISPATCHER).remove(); + } + + public void setOverrideDimension(int overrideDim) { + this.overrideLoginDim = overrideDim; + FMLLog.fine("Received override dimension %d", overrideDim); + } + + public int getOverrideDimension(S01PacketJoinGame packetIn) { + FMLLog.fine("Overriding dimension: using %d", this.overrideLoginDim); + return this.overrideLoginDim != 0 ? this.overrideLoginDim : packetIn.getDimension(); + } + + private class MultiPartCustomPayload extends S3FPacketCustomPayload + { + private String channel; + private byte[] data; + private PacketBuffer data_buf = null; + private int part_count = 0; + private int part_expected = 0; + private int offset = 0; + + private MultiPartCustomPayload(PacketBuffer preamble) throws IOException + { + channel = preamble.readStringFromBuffer(20); + part_count = preamble.readUnsignedByte(); + int length = preamble.readInt(); + if (length <= 0 || length >= FMLProxyPacket.MAX_LENGTH) + { + throw new IOException("The received FML MultiPart packet outside of valid length bounds, Max: " + FMLProxyPacket.MAX_LENGTH + ", Received: " + length); + } + data = new byte[length]; + data_buf = new PacketBuffer(Unpooled.wrappedBuffer(data)); + } + + public void processPart(PacketBuffer input) throws IOException + { + int part = (int)(input.readByte() & 0xFF); + if (part != part_expected) + { + throw new IOException("Received FML MultiPart packet out of order, Expected " + part_expected + " Got " + part); + } + int len = input.readableBytes() - 1; + input.readBytes(data, offset, len); + part_expected++; + offset += len; + } + + public boolean isComplete() + { + return part_expected == part_count; + } + + @Override + public String getChannelName() // getChannel + { + return this.channel; + } + + @Override + public PacketBuffer getBufferData() // getData + { + return this.data_buf; + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/internal/EntitySpawnHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/EntitySpawnHandler.java new file mode 100644 index 000000000..88370df78 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/EntitySpawnHandler.java @@ -0,0 +1,157 @@ +package net.minecraftforge.fml.common.network.internal; + +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.SimpleChannelInboundHandler; + +import java.util.List; + +import org.apache.logging.log4j.Level; + +import net.minecraft.client.entity.EntityPlayerSP; +import net.minecraft.client.multiplayer.WorldClient; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.util.IThreadListener; +import net.minecraft.world.World; +import net.minecraftforge.fml.client.FMLClientHandler; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.internal.FMLMessage.EntityAdjustMessage; +import net.minecraftforge.fml.common.network.internal.FMLMessage.EntityMessage; +import net.minecraftforge.fml.common.registry.EntityRegistry; +import net.minecraftforge.fml.common.registry.IEntityAdditionalSpawnData; +import net.minecraftforge.fml.common.registry.IThrowableEntity; +import net.minecraftforge.fml.common.registry.EntityRegistry.EntityRegistration; + +import com.google.common.base.Throwables; + +public class EntitySpawnHandler extends SimpleChannelInboundHandler { + @Override + protected void channelRead0(ChannelHandlerContext ctx, final EntityMessage msg) throws Exception + { + IThreadListener thread = FMLCommonHandler.instance().getWorldThread(ctx.channel().attr(NetworkRegistry.NET_HANDLER).get()); + if (thread.isCallingFromMinecraftThread()) + { + process(msg); + } + else + { + thread.addScheduledTask(new Runnable() + { + public void run() + { + EntitySpawnHandler.this.process(msg); + } + }); + } + } + + private void process(EntityMessage msg) + { + if (msg.getClass().equals(FMLMessage.EntitySpawnMessage.class)) + { + spawnEntity((FMLMessage.EntitySpawnMessage)msg); + } + else if (msg.getClass().equals(FMLMessage.EntityAdjustMessage.class)) + { + adjustEntity((FMLMessage.EntityAdjustMessage)msg); + } + } + + private void adjustEntity(EntityAdjustMessage msg) + { + Entity ent = FMLClientHandler.instance().getWorldClient().getEntityByID(msg.entityId); + if (ent != null) + { + ent.serverPosX = msg.serverX; + ent.serverPosY = msg.serverY; + ent.serverPosZ = msg.serverZ; + } + else + { + FMLLog.fine("Attempted to adjust the position of entity %d which is not present on the client", msg.entityId); + } + } + + private void spawnEntity(FMLMessage.EntitySpawnMessage spawnMsg) + { + ModContainer mc = Loader.instance().getIndexedModList().get(spawnMsg.modId); + EntityRegistration er = EntityRegistry.instance().lookupModSpawn(mc, spawnMsg.modEntityTypeId); + if (er == null) + { + throw new RuntimeException( "Could not spawn mod entity ModID: " + spawnMsg.modId + " EntityID: " + spawnMsg.modEntityTypeId + + " at ( " + spawnMsg.scaledX + "," + spawnMsg.scaledY + ", " + spawnMsg.scaledZ + ") Please contact mod author or server admin."); + } + WorldClient wc = FMLClientHandler.instance().getWorldClient(); + Class cls = er.getEntityClass(); + try + { + Entity entity; + if (er.hasCustomSpawning()) + { + entity = er.doCustomSpawning(spawnMsg); + } else + { + entity = (Entity) (cls.getConstructor(World.class).newInstance(wc)); + + int offset = spawnMsg.entityId - entity.getEntityId(); + entity.setEntityId(spawnMsg.entityId); + entity.setLocationAndAngles(spawnMsg.scaledX, spawnMsg.scaledY, spawnMsg.scaledZ, spawnMsg.scaledYaw, spawnMsg.scaledPitch); + if (entity instanceof EntityLiving) + { + ((EntityLiving) entity).rotationYawHead = spawnMsg.scaledHeadYaw; + } + + Entity parts[] = entity.getParts(); + if (parts != null) + { + for (int j = 0; j < parts.length; j++) + { + parts[j].setEntityId(parts[j].getEntityId() + offset); + } + } + } + + entity.serverPosX = spawnMsg.rawX; + entity.serverPosY = spawnMsg.rawY; + entity.serverPosZ = spawnMsg.rawZ; + + EntityPlayerSP clientPlayer = FMLClientHandler.instance().getClientPlayerEntity(); + if (entity instanceof IThrowableEntity) + { + Entity thrower = clientPlayer.getEntityId() == spawnMsg.throwerId ? clientPlayer : wc.getEntityByID(spawnMsg.throwerId); + ((IThrowableEntity) entity).setThrower(thrower); + } + + if (spawnMsg.dataWatcherList != null) + { + entity.getDataWatcher().updateWatchedObjectsFromList((List) spawnMsg.dataWatcherList); + } + + if (spawnMsg.throwerId > 0) + { + entity.setVelocity(spawnMsg.speedScaledX, spawnMsg.speedScaledY, spawnMsg.speedScaledZ); + } + + if (entity instanceof IEntityAdditionalSpawnData) + { + ((IEntityAdditionalSpawnData) entity).readSpawnData(spawnMsg.dataStream); + } + wc.addEntityToWorld(spawnMsg.entityId, entity); + } catch (Exception e) + { + FMLLog.log(Level.ERROR, e, "A severe problem occurred during the spawning of an entity at ( " + spawnMsg.scaledX + "," + spawnMsg.scaledY + ", " + spawnMsg.scaledZ +")"); + throw Throwables.propagate(e); + } + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception + { + FMLLog.log(Level.ERROR, cause, "EntitySpawnHandler exception"); + super.exceptionCaught(ctx, cause); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/internal/FMLMessage.java b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/FMLMessage.java new file mode 100644 index 000000000..534dc8bed --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/FMLMessage.java @@ -0,0 +1,270 @@ +package net.minecraftforge.fml.common.network.internal; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; + +import java.io.IOException; +import java.util.List; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.Throwables; + +import net.minecraft.entity.DataWatcher; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.network.PacketBuffer; +import net.minecraft.util.MathHelper; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.network.ByteBufUtils; +import net.minecraftforge.fml.common.registry.IEntityAdditionalSpawnData; +import net.minecraftforge.fml.common.registry.IThrowableEntity; +import net.minecraftforge.fml.common.registry.EntityRegistry.EntityRegistration; +import net.minecraftforge.fml.relauncher.Side; + +public abstract class FMLMessage { + public static class CompleteHandshake extends FMLMessage { + Side target; + public CompleteHandshake() { + } + public CompleteHandshake(Side target) + { + this.target = target; + } + @Override + void fromBytes(ByteBuf buf) + { + target = Side.values()[buf.readByte()]; + } + @Override + void toBytes(ByteBuf buf) + { + buf.writeByte(target.ordinal()); + } + } + public static class OpenGui extends FMLMessage { + int windowId; + String modId; + int modGuiId; + int x; + int y; + int z; + + public OpenGui() {} + OpenGui(int windowId, String modId, int modGuiId, int x, int y, int z) + { + this.windowId = windowId; + this.modId = modId; + this.modGuiId = modGuiId; + this.x = x; + this.y = y; + this.z = z; + } + + @Override + void toBytes(ByteBuf buf) + { + buf.writeInt(windowId); + ByteBufUtils.writeUTF8String(buf, modId); + buf.writeInt(modGuiId); + buf.writeInt(x); + buf.writeInt(y); + buf.writeInt(z); + } + + @Override + void fromBytes(ByteBuf buf) + { + windowId = buf.readInt(); + modId = ByteBufUtils.readUTF8String(buf); + modGuiId = buf.readInt(); + x = buf.readInt(); + y = buf.readInt(); + z = buf.readInt(); + } + } + + public abstract static class EntityMessage extends FMLMessage { + Entity entity; + int entityId; + public EntityMessage() + { + + } + EntityMessage(Entity entity) + { + this.entity = entity; + } + @Override + void toBytes(ByteBuf buf) + { + buf.writeInt(entity.getEntityId()); + } + + @Override + void fromBytes(ByteBuf buf) + { + entityId = buf.readInt(); + } + } + + public static class EntityAdjustMessage extends EntityMessage { + int serverX; + int serverY; + int serverZ; + + public EntityAdjustMessage() {} + public EntityAdjustMessage(Entity entity, int serverX, int serverY, int serverZ) + { + super(entity); + this.serverX = serverX; + this.serverY = serverY; + this.serverZ = serverZ; + } + + @Override + void toBytes(ByteBuf buf) + { + super.toBytes(buf); + buf.writeInt(serverX); + buf.writeInt(serverY); + buf.writeInt(serverZ); + } + + @Override + void fromBytes(ByteBuf buf) + { + super.fromBytes(buf); + serverX = buf.readInt(); + serverY = buf.readInt(); + serverZ = buf.readInt(); + } + } + public static class EntitySpawnMessage extends EntityMessage { + String modId; + int modEntityTypeId; + int rawX; + int rawY; + int rawZ; + double scaledX; + double scaledY; + double scaledZ; + float scaledYaw; + float scaledPitch; + float scaledHeadYaw; + int throwerId; + double speedScaledX; + double speedScaledY; + double speedScaledZ; + @SuppressWarnings("rawtypes") + List dataWatcherList; + ByteBuf dataStream; + + public EntitySpawnMessage() {} + public EntitySpawnMessage(EntityRegistration er, Entity entity, ModContainer modContainer) + { + super(entity); + modId = modContainer.getModId(); + modEntityTypeId = er.getModEntityId(); + } + @Override + void toBytes(ByteBuf buf) + { + super.toBytes(buf); + ByteBufUtils.writeUTF8String(buf, modId); + buf.writeInt(modEntityTypeId); + // posX, posY, posZ + buf.writeInt(MathHelper.floor_double(entity.posX * 32D)); + buf.writeInt(MathHelper.floor_double(entity.posY * 32D)); + buf.writeInt(MathHelper.floor_double(entity.posZ * 32D)); + // yaw, pitch + buf.writeByte((byte)(entity.rotationYaw * 256.0F / 360.0F)); + buf.writeByte((byte) (entity.rotationPitch * 256.0F / 360.0F)); + // head yaw + if (entity instanceof EntityLivingBase) + { + buf.writeByte((byte) (((EntityLivingBase)entity).rotationYawHead * 256.0F / 360.0F)); + } + else + { + buf.writeByte(0); + } + ByteBuf tmpBuf = Unpooled.buffer(); + PacketBuffer pb = new PacketBuffer(tmpBuf); + try + { + entity.getDataWatcher().writeTo(pb); + } catch (IOException e) + { + FMLLog.log(Level.FATAL,e,"Encountered fatal exception trying to send entity spawn data watchers"); + throw Throwables.propagate(e); + } + buf.writeBytes(tmpBuf); + + if (entity instanceof IThrowableEntity) + { + Entity owner = ((IThrowableEntity)entity).getThrower(); + buf.writeInt(owner == null ? entity.getEntityId() : owner.getEntityId()); + double maxVel = 3.9D; + double mX = entity.motionX; + double mY = entity.motionY; + double mZ = entity.motionZ; + if (mX < -maxVel) mX = -maxVel; + if (mY < -maxVel) mY = -maxVel; + if (mZ < -maxVel) mZ = -maxVel; + if (mX > maxVel) mX = maxVel; + if (mY > maxVel) mY = maxVel; + if (mZ > maxVel) mZ = maxVel; + buf.writeInt((int)(mX * 8000D)); + buf.writeInt((int)(mY * 8000D)); + buf.writeInt((int)(mZ * 8000D)); + } + else + { + buf.writeInt(0); + } + if (entity instanceof IEntityAdditionalSpawnData) + { + tmpBuf = Unpooled.buffer(); + ((IEntityAdditionalSpawnData)entity).writeSpawnData(tmpBuf); + buf.writeBytes(tmpBuf); + } + } + @Override + void fromBytes(ByteBuf dat) + { + super.fromBytes(dat); + modId = ByteBufUtils.readUTF8String(dat); + modEntityTypeId = dat.readInt(); + rawX = dat.readInt(); + rawY = dat.readInt(); + rawZ = dat.readInt(); + scaledX = rawX / 32D; + scaledY = rawY / 32D; + scaledZ = rawZ / 32D; + scaledYaw = dat.readByte() * 360F / 256F; + scaledPitch = dat.readByte() * 360F / 256F; + scaledHeadYaw = dat.readByte() * 360F / 256F; + try + { + dataWatcherList = DataWatcher.readWatchedListFromPacketBuffer(new PacketBuffer(dat)); + } catch (IOException e) + { + FMLLog.log(Level.FATAL, e, "There was a critical error decoding the datawatcher stream for a mod entity."); + throw Throwables.propagate(e); + } + + throwerId = dat.readInt(); + if (throwerId != 0) + { + speedScaledX = dat.readInt() / 8000D; + speedScaledY = dat.readInt() / 8000D; + speedScaledZ = dat.readInt() / 8000D; + } + this.dataStream = dat; + } + } + abstract void toBytes(ByteBuf buf); + abstract void fromBytes(ByteBuf buf); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/internal/FMLNetworkHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/FMLNetworkHandler.java new file mode 100644 index 000000000..01ac4a293 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/FMLNetworkHandler.java @@ -0,0 +1,207 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.network.internal; + +import io.netty.channel.ChannelPipeline; +import io.netty.channel.embedded.EmbeddedChannel; + +import java.util.ArrayList; +import java.util.EnumMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.inventory.Container; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.server.management.ServerConfigurationManager; +import net.minecraft.world.World; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLContainer; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.network.FMLEmbeddedChannel; +import net.minecraftforge.fml.common.network.FMLOutboundHandler; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.FMLOutboundHandler.OutboundTarget; +import net.minecraftforge.fml.common.network.handshake.FMLHandshakeMessage; +import net.minecraftforge.fml.common.network.handshake.NetworkDispatcher; +import net.minecraftforge.fml.common.network.internal.FMLMessage.CompleteHandshake; +import net.minecraftforge.fml.common.registry.EntityRegistry; +import net.minecraftforge.fml.common.registry.EntityRegistry.EntityRegistration; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + +import org.apache.logging.log4j.core.helpers.Integers; + +import com.google.common.collect.Lists; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; + +public class FMLNetworkHandler +{ + public static final int READ_TIMEOUT = Integers.parseInt(System.getProperty("fml.readTimeout","30"),30); + public static final int LOGIN_TIMEOUT = Integers.parseInt(System.getProperty("fml.loginTimeout","600"),600); + private static EnumMap channelPair; + + public static void fmlServerHandshake(ServerConfigurationManager scm, NetworkManager manager, EntityPlayerMP player) + { + NetworkDispatcher dispatcher = NetworkDispatcher.allocAndSet(manager, scm); + dispatcher.serverToClientHandshake(player); + } + + public static void fmlClientHandshake(NetworkManager networkManager) + { + NetworkDispatcher dispatcher = NetworkDispatcher.allocAndSet(networkManager); + dispatcher.clientToServerHandshake(); + } + + public static void openGui(EntityPlayer entityPlayer, Object mod, int modGuiId, World world, int x, int y, int z) + { + ModContainer mc = FMLCommonHandler.instance().findContainerFor(mod); + if (entityPlayer instanceof EntityPlayerMP) + { + EntityPlayerMP entityPlayerMP = (EntityPlayerMP) entityPlayer; + Container remoteGuiContainer = NetworkRegistry.INSTANCE.getRemoteGuiContainer(mc, entityPlayerMP, modGuiId, world, x, y, z); + if (remoteGuiContainer != null) + { + entityPlayerMP.getNextWindowId(); + entityPlayerMP.closeContainer(); + int windowId = entityPlayerMP.currentWindowId; + FMLMessage.OpenGui openGui = new FMLMessage.OpenGui(windowId, mc.getModId(), modGuiId, x, y, z); + EmbeddedChannel embeddedChannel = channelPair.get(Side.SERVER); + embeddedChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(OutboundTarget.PLAYER); + embeddedChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(entityPlayerMP); + embeddedChannel.writeOutbound(openGui); + entityPlayerMP.openContainer = remoteGuiContainer; + entityPlayerMP.openContainer.windowId = windowId; + entityPlayerMP.openContainer.addCraftingToCrafters(entityPlayerMP); + } + } + else if (FMLCommonHandler.instance().getSide().equals(Side.CLIENT)) + { + Object guiContainer = NetworkRegistry.INSTANCE.getLocalGuiContainer(mc, entityPlayer, modGuiId, world, x, y, z); + FMLCommonHandler.instance().showGuiScreen(guiContainer); + } + else + { + FMLLog.fine("Invalid attempt to open a local GUI on a dedicated server. This is likely a bug. GUIID: %s,%d", mc.getModId(), modGuiId); + } + + } + + public static void makeEntitySpawnAdjustment(Entity entity, EntityPlayerMP player, int serverX, int serverY, int serverZ) + { + EmbeddedChannel embeddedChannel = channelPair.get(Side.SERVER); + embeddedChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(OutboundTarget.PLAYER); + embeddedChannel.attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(player); + embeddedChannel.writeOutbound(new FMLMessage.EntityAdjustMessage(entity, serverX, serverY, serverZ)); + } + + public static Packet getEntitySpawningPacket(Entity entity) + { + EntityRegistration er = EntityRegistry.instance().lookupModSpawn(entity.getClass(), false); + if (er == null) + { + return null; + } + if (er.usesVanillaSpawning()) + { + return null; + } + + return channelPair.get(Side.SERVER).generatePacketFrom(new FMLMessage.EntitySpawnMessage(er, entity, er.getContainer())); + } + + public static String checkModList(FMLHandshakeMessage.ModList modListPacket, Side side) + { + Map modList = modListPacket.modList(); + return checkModList(modList, side); + } + public static String checkModList(Map listData, Side side) + { + List rejects = Lists.newArrayList(); + for (Entry networkMod : NetworkRegistry.INSTANCE.registry().entrySet()) + { + boolean result = networkMod.getValue().check(listData, side); + if (!result) + { + rejects.add(networkMod.getKey()); + } + } + if (rejects.isEmpty()) + { + return null; + } + else + { + FMLLog.info("Rejecting connection %s: %s", side, rejects); + return String.format("Mod rejections %s",rejects); + } + } + + @SideOnly(Side.CLIENT) + private static void addClientHandlers() + { + ChannelPipeline pipeline = channelPair.get(Side.CLIENT).pipeline(); + String targetName = channelPair.get(Side.CLIENT).findChannelHandlerNameForType(FMLRuntimeCodec.class); + pipeline.addAfter(targetName, "GuiHandler", new OpenGuiHandler()); + pipeline.addAfter(targetName, "EntitySpawnHandler", new EntitySpawnHandler()); + } + public static void registerChannel(FMLContainer container, Side side) + { + channelPair = NetworkRegistry.INSTANCE.newChannel(container, "FML", new FMLRuntimeCodec(), new HandshakeCompletionHandler()); + EmbeddedChannel embeddedChannel = channelPair.get(Side.SERVER); + embeddedChannel.attr(FMLOutboundHandler.FML_MESSAGETARGET).set(OutboundTarget.NOWHERE); + + if (side == Side.CLIENT) + { + addClientHandlers(); + } + } + + public static List forwardHandshake(CompleteHandshake push, NetworkDispatcher target, Side side) + { + channelPair.get(side).attr(NetworkDispatcher.FML_DISPATCHER).set(target); + channelPair.get(side).writeOutbound(push); + + ArrayList list = new ArrayList(); + for (Object o: channelPair.get(side).outboundMessages()) + { + list.add((FMLProxyPacket)o); + } + channelPair.get(side).outboundMessages().clear(); + return list; + } + + + public static void enhanceStatusQuery(JsonObject jsonobject) + { + JsonObject fmlData = new JsonObject(); + fmlData.addProperty("type", "FML"); + JsonArray modList = new JsonArray(); + for (ModContainer mc : Loader.instance().getActiveModList()) + { + JsonObject modData = new JsonObject(); + modData.addProperty("modid", mc.getModId()); + modData.addProperty("version", mc.getVersion()); + modList.add(modData); + } + fmlData.add("modList", modList); + jsonobject.add("modinfo", fmlData); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/internal/FMLProxyPacket.java b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/FMLProxyPacket.java new file mode 100644 index 000000000..acd222ee6 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/FMLProxyPacket.java @@ -0,0 +1,187 @@ +package net.minecraftforge.fml.common.network.internal; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import io.netty.channel.embedded.EmbeddedChannel; + +import java.io.IOException; +import java.util.List; + +import net.minecraft.network.INetHandler; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.PacketBuffer; +import net.minecraft.network.play.client.C17PacketCustomPayload; +import net.minecraft.network.play.server.S3FPacketCustomPayload; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.network.FMLNetworkException; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.handshake.NetworkDispatcher; +import net.minecraftforge.fml.relauncher.Side; + +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.core.helpers.Integers; + +import com.google.common.collect.ConcurrentHashMultiset; +import com.google.common.collect.Lists; +import com.google.common.collect.Multiset; +import com.google.common.collect.Multiset.Entry; +import com.google.common.collect.Multisets; + +public class FMLProxyPacket implements Packet { + final String channel; + private Side target; + private final PacketBuffer payload; + private INetHandler netHandler; + private NetworkDispatcher dispatcher; + private static Multiset badPackets = ConcurrentHashMultiset.create(); + private static int packetCountWarning = Integers.parseInt(System.getProperty("fml.badPacketCounter", "100"), 100); + + public FMLProxyPacket(S3FPacketCustomPayload original) + { + this(original.getBufferData(), original.getChannelName()); + this.target = Side.CLIENT; + } + + public FMLProxyPacket(C17PacketCustomPayload original) + { + this(original.getBufferData(), original.getChannelName()); + this.target = Side.SERVER; + } + + public FMLProxyPacket(PacketBuffer payload, String channel) + { + this.channel = channel; + this.payload = payload; + } + @Override + public void readPacketData(PacketBuffer packetbuffer) throws IOException + { + // NOOP - we are not built this way + } + + @Override + public void writePacketData(PacketBuffer packetbuffer) throws IOException + { + // NOOP - we are not built this way + } + + @Override + public void processPacket(INetHandler inethandler) + { + this.netHandler = inethandler; + EmbeddedChannel internalChannel = NetworkRegistry.INSTANCE.getChannel(this.channel, this.target); + if (internalChannel != null) + { + internalChannel.attr(NetworkRegistry.NET_HANDLER).set(this.netHandler); + try + { + if (internalChannel.writeInbound(this)) + { + badPackets.add(this.channel); + if (badPackets.size() % packetCountWarning == 0) + { + FMLLog.severe("Detected ongoing potential memory leak. %d packets have leaked. Top offenders", badPackets.size()); + int i = 0; + for (Entry s : Multisets.copyHighestCountFirst(badPackets).entrySet()) + { + if (i++ > 10) break; + FMLLog.severe("\t %s : %d", s.getElement(), s.getCount()); + } + } + } + internalChannel.inboundMessages().clear(); + } + catch (FMLNetworkException ne) + { + FMLLog.log(Level.ERROR, ne, "There was a network exception handling a packet on channel %s", channel); + dispatcher.rejectHandshake(ne.getMessage()); + } + catch (Throwable t) + { + FMLLog.log(Level.ERROR, t, "There was a critical exception handling a packet on channel %s", channel); + dispatcher.rejectHandshake("A fatal error has occured, this connection is terminated"); + } + } + } + + public String channel() + { + return channel; + } + public ByteBuf payload() + { + return payload; + } + public INetHandler handler() + { + return netHandler; + } + public Packet toC17Packet() + { + return new C17PacketCustomPayload(channel, payload); + } + + static final int PART_SIZE = 0x1000000 - 0x50; // Make it a constant so that it gets inlined below. + public static final int MAX_LENGTH = PART_SIZE * 255; + public List toS3FPackets() throws IOException + { + List ret = Lists.newArrayList(); + byte[] data = payload.array(); + + if (data.length < PART_SIZE) + { + ret.add(new S3FPacketCustomPayload(channel, payload)); + } + else + { + int parts = (int)Math.ceil(data.length / (double)(PART_SIZE - 1)); //We add a byte header so -1 + if (parts > 255) + { + throw new IllegalArgumentException("Payload may not be larger than " + MAX_LENGTH + " bytes"); + } + PacketBuffer preamble = new PacketBuffer(Unpooled.buffer()); + preamble.writeString(channel); + preamble.writeByte(parts); + preamble.writeInt(data.length); + ret.add(new S3FPacketCustomPayload("FML|MP", preamble)); + + int offset = 0; + for (int x = 0; x < parts; x++) + { + int length = Math.min(PART_SIZE, data.length - offset + 1); + byte[] tmp = new byte[length]; + tmp[0] = (byte)(x & 0xFF); + System.arraycopy(data, offset, tmp, 1, tmp.length - 1); + offset += tmp.length - 1; + ret.add(new S3FPacketCustomPayload("FML|MP", new PacketBuffer(Unpooled.wrappedBuffer(tmp)))); + } + } + return ret; + } + + public void setTarget(Side target) + { + this.target = target; + } + + public void setDispatcher(NetworkDispatcher networkDispatcher) + { + this.dispatcher = networkDispatcher; + } + + public NetworkManager getOrigin() + { + return this.dispatcher != null ? this.dispatcher.manager : null; + } + + public NetworkDispatcher getDispatcher() + { + return this.dispatcher; + } + + public Side getTarget() + { + return target; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/internal/FMLRuntimeCodec.java b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/FMLRuntimeCodec.java new file mode 100644 index 000000000..0212fe9f1 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/FMLRuntimeCodec.java @@ -0,0 +1,46 @@ +package net.minecraftforge.fml.common.network.internal; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.network.ByteBufUtils; +import net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec; +import net.minecraftforge.fml.common.network.FMLNetworkException; + +import com.google.common.base.Splitter; + +import io.netty.buffer.ByteBuf; +import io.netty.channel.ChannelHandlerContext; + +public class FMLRuntimeCodec extends FMLIndexedMessageToMessageCodec { + public FMLRuntimeCodec() + { + addDiscriminator(0,FMLMessage.CompleteHandshake.class); + addDiscriminator(1,FMLMessage.OpenGui.class); + addDiscriminator(2,FMLMessage.EntitySpawnMessage.class); + addDiscriminator(3,FMLMessage.EntityAdjustMessage.class); + } + @Override + public void encodeInto(ChannelHandlerContext ctx, FMLMessage msg, ByteBuf target) throws Exception + { + msg.toBytes(target); + } + + @Override + public void decodeInto(ChannelHandlerContext ctx, ByteBuf source, FMLMessage msg) + { + msg.fromBytes(source); + } + + @Override + protected void testMessageValidity(FMLProxyPacket msg) + { + if (msg.payload().getByte(0) == 0 && msg.payload().readableBytes() > 2) + { + FMLLog.severe("The connection appears to have sent an invalid FML packet of type 0, this is likely because it think's it's talking to 1.6.4 FML"); + FMLLog.info("Bad data :"); + for (String l : Splitter.on('\n').split(ByteBufUtils.getContentDump(msg.payload()))) { + FMLLog.info("\t%s",l); + } + throw new FMLNetworkException("Invalid FML packet"); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/internal/HandshakeCompletionHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/HandshakeCompletionHandler.java new file mode 100644 index 000000000..d9426b47d --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/HandshakeCompletionHandler.java @@ -0,0 +1,28 @@ +package net.minecraftforge.fml.common.network.internal; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.network.handshake.NetworkDispatcher; +import net.minecraftforge.fml.common.network.internal.FMLMessage.CompleteHandshake; + +import org.apache.logging.log4j.Level; + +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.SimpleChannelInboundHandler; +import io.netty.channel.ChannelHandler.Sharable; + +@Sharable +public class HandshakeCompletionHandler extends SimpleChannelInboundHandler { + @Override + protected void channelRead0(ChannelHandlerContext ctx, CompleteHandshake msg) throws Exception + { + NetworkDispatcher dispatcher = ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER).getAndRemove(); + dispatcher.completeHandshake(msg.target); + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception + { + FMLLog.log(Level.ERROR, cause, "HandshakeCompletionHandler exception"); + super.exceptionCaught(ctx, cause); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/internal/NetworkModHolder.java b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/NetworkModHolder.java new file mode 100644 index 000000000..57270e37d --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/NetworkModHolder.java @@ -0,0 +1,246 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.network.internal; + +import java.lang.reflect.Method; +import java.util.Map; +import java.util.Set; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.discovery.ASMDataTable; +import net.minecraftforge.fml.common.discovery.ASMDataTable.ASMData; +import net.minecraftforge.fml.common.network.NetworkCheckHandler; +import net.minecraftforge.fml.common.versioning.DefaultArtifactVersion; +import net.minecraftforge.fml.common.versioning.InvalidVersionSpecificationException; +import net.minecraftforge.fml.common.versioning.VersionRange; +import net.minecraftforge.fml.relauncher.Side; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.Preconditions; +import com.google.common.base.Strings; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.SetMultimap; + +public class NetworkModHolder +{ + public abstract class NetworkChecker { + public abstract boolean check(Map remoteVersions, Side side); + } + + private class IgnoredChecker extends NetworkChecker { + @Override + public boolean check(Map remoteVersions, Side side) + { + return true; + } + @Override + public String toString() + { + return "No network checking performed"; + } + } + private class DefaultNetworkChecker extends NetworkChecker { + @Override + public boolean check(Map remoteVersions, Side side) + { + return remoteVersions.containsKey(container.getModId()) ? acceptVersion(remoteVersions.get(container.getModId())) : side == Side.SERVER; + } + @Override + public String toString() + { + return acceptableRange != null ? String.format("Accepting range %s", acceptableRange) : String.format("Accepting version %s", container.getVersion()); + } + } + private class MethodNetworkChecker extends NetworkChecker { + @Override + public boolean check(Map remoteVersions, Side side) + { + try + { + return (Boolean) checkHandler.invoke(container.getMod(), remoteVersions, side); + } + catch (Exception e) + { + FMLLog.log(Level.ERROR, e, "Error occurred invoking NetworkCheckHandler %s at %s", checkHandler.getName(), container); + return false; + } + } + @Override + public String toString() + { + return String.format("Invoking method %s", checkHandler.getName()); + } + } + private static int assignedIds = 1; + + private int localId; + private int networkId; + + private ModContainer container; + private Method checkHandler; + + private VersionRange acceptableRange; + + private NetworkChecker checker; + + private boolean acceptsVanillaClient; + private boolean acceptsVanillaServer; + + public NetworkModHolder(ModContainer container) + { + this.container = container; + this.localId = assignedIds++; + this.networkId = this.localId; + } + public NetworkModHolder(ModContainer container, NetworkChecker checker) + { + this(container); + this.checker = Preconditions.checkNotNull(checker); + FMLLog.fine("The mod %s is using a custom checker %s", container.getModId(), checker.getClass().getName()); + } + public NetworkModHolder(ModContainer container, Class modClass, String acceptableVersionRange, ASMDataTable table) + { + this(container); + SetMultimap annotationTable = table.getAnnotationsFor(container); + Set versionCheckHandlers; + if (annotationTable != null) + { + versionCheckHandlers = annotationTable.get(NetworkCheckHandler.class.getName()); + } + else + { + versionCheckHandlers = ImmutableSet.of(); + } + String networkCheckHandlerMethod = null; + for (ASMData vch : versionCheckHandlers) + { + if (vch.getClassName().equals(modClass.getName())) + { + networkCheckHandlerMethod = vch.getObjectName(); + networkCheckHandlerMethod = networkCheckHandlerMethod.substring(0,networkCheckHandlerMethod.indexOf('(')); + break; + } + } + if (versionCheckHandlers.isEmpty()) + { + for (Method m : modClass.getMethods()) + { + if (m.isAnnotationPresent(NetworkCheckHandler.class)) + { + if (m.getParameterTypes().length == 2 && m.getParameterTypes()[0].equals(Map.class) && m.getParameterTypes()[1].equals(Side.class)) + { + this.checkHandler = m; + break; + } + else + { + FMLLog.severe("Found unexpected method signature for annotation NetworkCheckHandler"); + } + } + } + } + if (networkCheckHandlerMethod != null) + { + try + { + Method checkHandlerMethod = modClass.getDeclaredMethod(networkCheckHandlerMethod, Map.class, Side.class); + if (checkHandlerMethod.isAnnotationPresent(NetworkCheckHandler.class)) + { + this.checkHandler = checkHandlerMethod; + } + } + catch (Exception e) + { + FMLLog.log(Level.WARN, e, "The declared version check handler method %s on network mod id %s is not accessible", networkCheckHandlerMethod, container.getModId()); + } + } + if (this.checkHandler != null) + { + this.checker = new MethodNetworkChecker(); + } + else if (!Strings.isNullOrEmpty(acceptableVersionRange) && acceptableVersionRange.equals("*")) + { + this.checker = new IgnoredChecker(); + } + else + { + try + { + this.acceptableRange = VersionRange.createFromVersionSpec(acceptableVersionRange); + } + catch (InvalidVersionSpecificationException e) + { + FMLLog.log(Level.WARN, e, "Invalid bounded range %s specified for network mod id %s", acceptableVersionRange, container.getModId()); + } + this.checker = new DefaultNetworkChecker(); + } + FMLLog.finer("Mod %s is using network checker : %s", container.getModId(), this.checker); + FMLLog.finer("Testing mod %s to verify it accepts its own version in a remote connection", container.getModId()); + boolean acceptsSelf = acceptVersion(container.getVersion()); + if (!acceptsSelf) + { + FMLLog.severe("The mod %s appears to reject its own version number (%s) in its version handling. This is likely a severe bug in the mod!", container.getModId(), container.getVersion()); + } + else + { + FMLLog.finer("The mod %s accepts its own version (%s)", container.getModId(), container.getVersion()); + } + } + + public boolean acceptVersion(String version) + { + if (acceptableRange!=null) + { + return acceptableRange.containsVersion(new DefaultArtifactVersion(version)); + } + + return container.getVersion().equals(version); + } + + public boolean check(Map data, Side side) + { + return checker.check(data, side); + } + + public int getLocalId() + { + return localId; + } + + public int getNetworkId() + { + return networkId; + } + + public ModContainer getContainer() + { + return container; + } + + public void setNetworkId(int value) + { + this.networkId = value; + } + + public void testVanillaAcceptance() { + acceptsVanillaClient = check(ImmutableMap.of(), Side.CLIENT); + acceptsVanillaServer = check(ImmutableMap.of(), Side.SERVER); + } + public boolean acceptsVanilla(Side from) { + return from == Side.CLIENT ? acceptsVanillaClient : acceptsVanillaServer; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/internal/OpenGuiHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/OpenGuiHandler.java new file mode 100644 index 000000000..b414fa6a1 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/internal/OpenGuiHandler.java @@ -0,0 +1,50 @@ +package net.minecraftforge.fml.common.network.internal; + +import org.apache.logging.log4j.Level; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.IThreadListener; +import net.minecraftforge.fml.client.FMLClientHandler; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.internal.FMLMessage.OpenGui; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.SimpleChannelInboundHandler; + +public class OpenGuiHandler extends SimpleChannelInboundHandler { + @Override + protected void channelRead0(ChannelHandlerContext ctx, final OpenGui msg) throws Exception + { + IThreadListener thread = FMLCommonHandler.instance().getWorldThread(ctx.channel().attr(NetworkRegistry.NET_HANDLER).get()); + if (thread.isCallingFromMinecraftThread()) + { + process(msg); + } + else + { + thread.addScheduledTask(new Runnable() + { + public void run() + { + OpenGuiHandler.this.process(msg); + } + }); + } + } + + private void process(OpenGui msg) + { + EntityPlayer player = FMLClientHandler.instance().getClient().thePlayer; + player.openGui(msg.modId, msg.modGuiId, player.worldObj, msg.x, msg.y, msg.z); + player.openContainer.windowId = msg.windowId; + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception + { + FMLLog.log(Level.ERROR, cause, "OpenGuiHandler exception"); + super.exceptionCaught(ctx, cause); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/IMessage.java b/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/IMessage.java new file mode 100644 index 000000000..7f3182364 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/IMessage.java @@ -0,0 +1,24 @@ +package net.minecraftforge.fml.common.network.simpleimpl; + +import io.netty.buffer.ByteBuf; + +/** + * Implement this interface for each message you wish to define. + * + * @author cpw + * + */ +public interface IMessage { + /** + * Convert from the supplied buffer into your specific message type + * + * @param buf + */ + public void fromBytes(ByteBuf buf); + + /** + * Deconstruct your message into the supplied byte buffer + * @param buf + */ + public void toBytes(ByteBuf buf); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/IMessageHandler.java b/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/IMessageHandler.java new file mode 100644 index 000000000..ff15fb7be --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/IMessageHandler.java @@ -0,0 +1,24 @@ +package net.minecraftforge.fml.common.network.simpleimpl; + + +/** + * A message handler based on {@link IMessage}. Implement and override {@link #onMessage(IMessage)} to + * process your packet. Supply the class to {@link SimpleNetworkWrapper#registerMessage(Class, Class, byte, net.minecraftforge.fml.relauncher.Side)} + * to register both the message type and it's associated handler. + * + * @author cpw + * + * @param This is the request type - it is the message you expect to receive from remote. + * @param This is the reply type - it is the message you expect to send in reply. You can use IMessage as the type here + * if you don't anticipate sending a reply. + */ +public interface IMessageHandler { + /** + * Called when a message is received of the appropriate type. You can optionally return a reply message, or null if no reply + * is needed. + * + * @param message The message + * @return an optional return message + */ + public REPLY onMessage(REQ message, MessageContext ctx); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/MessageContext.java b/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/MessageContext.java new file mode 100644 index 000000000..6b4c1f436 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/MessageContext.java @@ -0,0 +1,43 @@ +package net.minecraftforge.fml.common.network.simpleimpl; + +import net.minecraft.client.network.NetHandlerPlayClient; +import net.minecraft.network.INetHandler; +import net.minecraft.network.NetHandlerPlayServer; +import net.minecraftforge.fml.relauncher.Side; + +/** + * Context for the {@link IMessageHandler} + * + * @author cpw + * + */ +public class MessageContext { + /** + * The {@link INetHandler} for this message. It could be a client or server handler, depending + * on the {@link #side} recieved. + */ + public final INetHandler netHandler; + + /** + * The Side this message has been received on + */ + public final Side side; + /** + * @param netHandler + */ + MessageContext(INetHandler netHandler, Side side) + { + this.netHandler = netHandler; + this.side = side; + } + + public NetHandlerPlayServer getServerHandler() + { + return (NetHandlerPlayServer) netHandler; + } + + public NetHandlerPlayClient getClientHandler() + { + return (NetHandlerPlayClient) netHandler; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/SimpleChannelHandlerWrapper.java b/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/SimpleChannelHandlerWrapper.java new file mode 100644 index 000000000..742d9ea81 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/SimpleChannelHandlerWrapper.java @@ -0,0 +1,51 @@ +package net.minecraftforge.fml.common.network.simpleimpl; + +import org.apache.logging.log4j.Level; + +import net.minecraft.network.INetHandler; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.network.FMLOutboundHandler; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.relauncher.Side; + +import com.google.common.base.Preconditions; + +import io.netty.channel.ChannelFutureListener; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.SimpleChannelInboundHandler; + +public class SimpleChannelHandlerWrapper extends SimpleChannelInboundHandler { + private final IMessageHandler messageHandler; + private final Side side; + + public SimpleChannelHandlerWrapper(Class> handler, Side side, Class requestType) + { + this(SimpleNetworkWrapper.instantiate(handler), side, requestType); + } + + public SimpleChannelHandlerWrapper(IMessageHandler handler, Side side, Class requestType) + { + super(requestType); + messageHandler = Preconditions.checkNotNull(handler, "IMessageHandler must not be null"); + this.side = side; + } + @Override + protected void channelRead0(ChannelHandlerContext ctx, REQ msg) throws Exception + { + INetHandler iNetHandler = ctx.channel().attr(NetworkRegistry.NET_HANDLER).get(); + MessageContext context = new MessageContext(iNetHandler, side); + REPLY result = messageHandler.onMessage(msg, context); + if (result != null) + { + ctx.channel().attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.REPLY); + ctx.writeAndFlush(result).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + } + } + + @Override + public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception + { + FMLLog.log(Level.ERROR, cause, "SimpleChannelHandlerWrapper exception"); + super.exceptionCaught(ctx, cause); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/SimpleIndexedCodec.java b/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/SimpleIndexedCodec.java new file mode 100644 index 000000000..ab1d387ea --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/SimpleIndexedCodec.java @@ -0,0 +1,20 @@ +package net.minecraftforge.fml.common.network.simpleimpl; + +import net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec; +import io.netty.buffer.ByteBuf; +import io.netty.channel.ChannelHandlerContext; + +public class SimpleIndexedCodec extends FMLIndexedMessageToMessageCodec { + @Override + public void encodeInto(ChannelHandlerContext ctx, IMessage msg, ByteBuf target) throws Exception + { + msg.toBytes(target); + } + + @Override + public void decodeInto(ChannelHandlerContext ctx, ByteBuf source, IMessage msg) + { + msg.fromBytes(source); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/SimpleNetworkWrapper.java b/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/SimpleNetworkWrapper.java new file mode 100644 index 000000000..fdce956d6 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/network/simpleimpl/SimpleNetworkWrapper.java @@ -0,0 +1,238 @@ +package net.minecraftforge.fml.common.network.simpleimpl; + +import io.netty.channel.ChannelFutureListener; + +import java.util.EnumMap; + +import com.google.common.base.Throwables; + +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.network.INetHandler; +import net.minecraft.network.Packet; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.network.FMLEmbeddedChannel; +import net.minecraftforge.fml.common.network.FMLOutboundHandler; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraftforge.fml.relauncher.Side; + +/** + * This class is a simplified netty wrapper for those not wishing to deal with the full power of netty. + * It provides a simple message driven system, based on a discriminator byte over the custom packet channel. + * It assumes that you have a series of unique message types with each having a unique handler. Generally, context should be + * derived at message handling time. + * + * Usage is simple:
    + *
  • construct, and store, an instance of this class. It will automatically register and configure your underlying netty channel. + * + *
  • Then, call {@link #registerMessage(Class, Class, byte, Side)} for each message type you want to exchange + * providing an {@link IMessageHandler} implementation class as well as an {@link IMessage} implementation class. The side parameter + * to that method indicates which side (server or client) the message processing will occur on. The discriminator byte + * should be unique for this channelName - it is used to discriminate between different types of message that might + * occur on this channel (a simple form of message channel multiplexing, if you will). + *
  • To get a packet suitable for presenting to the rest of minecraft, you can call {@link #getPacketFrom(IMessage)}. The return result + * is suitable for returning from things like {@link TileEntity#getDescriptionPacket()} for example. + *
  • Finally, use the sendXXX to send unsolicited messages to various classes of recipients. + *
+ * + * Example + * + *
+ *  // Request message
+ *  public Message1 implements IMessage {
+ *  // message structure
+ *   public fromBytes(ByteBuf buf) {
+ *    // build message from byte array
+ *   }
+ *   public toBytes(ByteBuf buf) {
+ *    // put message content into byte array
+ *   }
+ *  }
+ *  // Reply message
+ *  public Message2 implements IMessage {
+ *   // stuff as before
+ *  }
+ *  // Message1Handler expects input of type Message1 and returns type Message2
+ *  public Message1Handler implements IMessageHandler {
+ *   public Message2 onMessage(Message1 message, MessageContext ctx) {
+ *    // do something and generate reply message
+ *    return aMessage2Object;
+ *   }
+ *  }
+ *  // Message2Handler expects input of type Message2 and returns no message (IMessage)
+ *  public Message2Handler implements IMessageHandler {
+ *   public IMessage onMessage(Message2 message, MessageContext ctx) {
+ *    // handle the message 2 response message at the other end
+ *    // no reply for this message - return null
+ *    return null;
+ *   }
+ *  }
+ *
+ *  // Code in a {@link FMLPreInitializationEvent} or {@link FMLInitializationEvent} handler
+ *  SimpleNetworkWrapper wrapper = NetworkRegistry.newSimpleChannel("MYCHANNEL");
+ *  // Message1 is handled by the Message1Handler class, it has discriminator id 1 and it's on the client
+ *  wrapper.registerMessage(Message1Handler.class, Message1.class, 1, Side.CLIENT);
+ *  // Message2 is handled by the Message2Handler class, it has discriminator id 2 and it's on the server
+ *  wrapper.registerMessage(Message2Handler.class, Message2.class, 2, Side.SERVER);
+ *  
+ *
+ * + * + * @author cpw + * + */ +public class SimpleNetworkWrapper { + private EnumMap channels; + private SimpleIndexedCodec packetCodec; + + public SimpleNetworkWrapper(String channelName) + { + packetCodec = new SimpleIndexedCodec(); + channels = NetworkRegistry.INSTANCE.newChannel(channelName, packetCodec); + } + + /** + * Register a message and it's associated handler. The message will have the supplied discriminator byte. The message handler will + * be registered on the supplied side (this is the side where you want the message to be processed and acted upon). + * + * @param messageHandler the message handler type + * @param requestMessageType the message type + * @param discriminator a discriminator byte + * @param side the side for the handler + */ + public void registerMessage(Class> messageHandler, Class requestMessageType, int discriminator, Side side) + { + registerMessage(instantiate(messageHandler), requestMessageType, discriminator, side); + } + + static IMessageHandler instantiate(Class> handler) + { + try + { + return handler.newInstance(); + } catch (Exception e) + { + throw Throwables.propagate(e); + } + } + + /** + * Register a message and it's associated handler. The message will have the supplied discriminator byte. The message handler will + * be registered on the supplied side (this is the side where you want the message to be processed and acted upon). + * + * @param messageHandler the message handler instance + * @param requestMessageType the message type + * @param discriminator a discriminator byte + * @param side the side for the handler + */ + public void registerMessage(IMessageHandler messageHandler, Class requestMessageType, int discriminator, Side side) + { + packetCodec.addDiscriminator(discriminator, requestMessageType); + FMLEmbeddedChannel channel = channels.get(side); + String type = channel.findChannelHandlerNameForType(SimpleIndexedCodec.class); + if (side == Side.SERVER) + { + addServerHandlerAfter(channel, type, messageHandler, requestMessageType); + } + else + { + addClientHandlerAfter(channel, type, messageHandler, requestMessageType); + } + } + + private void addServerHandlerAfter(FMLEmbeddedChannel channel, String type, IMessageHandler messageHandler, Class requestType) + { + SimpleChannelHandlerWrapper handler = getHandlerWrapper(messageHandler, Side.SERVER, requestType); + channel.pipeline().addAfter(type, messageHandler.getClass().getName(), handler); + } + + private void addClientHandlerAfter(FMLEmbeddedChannel channel, String type, IMessageHandler messageHandler, Class requestType) + { + SimpleChannelHandlerWrapper handler = getHandlerWrapper(messageHandler, Side.CLIENT, requestType); + channel.pipeline().addAfter(type, messageHandler.getClass().getName(), handler); + } + + private SimpleChannelHandlerWrapper getHandlerWrapper(IMessageHandler messageHandler, Side side, Class requestType) + { + return new SimpleChannelHandlerWrapper(messageHandler, side, requestType); + } + + /** + * Construct a minecraft packet from the supplied message. Can be used where minecraft packets are required, such as + * {@link TileEntity#func_145844_m}. + * + * @param message The message to translate into packet form + * @return A minecraft {@link Packet} suitable for use in minecraft APIs + */ + public Packet getPacketFrom(IMessage message) + { + return channels.get(Side.SERVER).generatePacketFrom(message); + } + + /** + * Send this message to everyone. + * The {@link IMessageHandler} for this message type should be on the CLIENT side. + * + * @param message The message to send + */ + public void sendToAll(IMessage message) + { + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALL); + channels.get(Side.SERVER).writeAndFlush(message).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + } + + /** + * Send this message to the specified player. + * The {@link IMessageHandler} for this message type should be on the CLIENT side. + * + * @param message The message to send + * @param player The player to send it to + */ + public void sendTo(IMessage message, EntityPlayerMP player) + { + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.PLAYER); + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(player); + channels.get(Side.SERVER).writeAndFlush(message).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + } + + /** + * Send this message to everyone within a certain range of a point. + * The {@link IMessageHandler} for this message type should be on the CLIENT side. + * + * @param message The message to send + * @param point The {@link TargetPoint} around which to send + */ + public void sendToAllAround(IMessage message, NetworkRegistry.TargetPoint point) + { + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALLAROUNDPOINT); + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(point); + channels.get(Side.SERVER).writeAndFlush(message).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + } + + /** + * Send this message to everyone within the supplied dimension. + * The {@link IMessageHandler} for this message type should be on the CLIENT side. + * + * @param message The message to send + * @param dimensionId The dimension id to target + */ + public void sendToDimension(IMessage message, int dimensionId) + { + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.DIMENSION); + channels.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(dimensionId); + channels.get(Side.SERVER).writeAndFlush(message).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + } + + /** + * Send this message to the server. + * The {@link IMessageHandler} for this message type should be on the SERVER side. + * + * @param message The message to send + */ + public void sendToServer(IMessage message) + { + channels.get(Side.CLIENT).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.TOSERVER); + channels.get(Side.CLIENT).writeAndFlush(message).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/patcher/ClassPatch.java b/fml/src/main/java/net/minecraftforge/fml/common/patcher/ClassPatch.java new file mode 100644 index 000000000..4014b2880 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/patcher/ClassPatch.java @@ -0,0 +1,25 @@ +package net.minecraftforge.fml.common.patcher; + +public class ClassPatch { + public final String name; + public final String sourceClassName; + public final String targetClassName; + public final boolean existsAtTarget; + public final byte[] patch; + public final int inputChecksum; + public ClassPatch(String name, String sourceClassName, String targetClassName, boolean existsAtTarget, int inputChecksum, byte[] patch) + { + this.name = name; + this.sourceClassName = sourceClassName; + this.targetClassName = targetClassName; + this.existsAtTarget = existsAtTarget; + this.inputChecksum = inputChecksum; + this.patch = patch; + } + + @Override + public String toString() + { + return String.format("%s : %s => %s (%b) size %d", name, sourceClassName, targetClassName, existsAtTarget, patch.length); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/patcher/ClassPatchManager.java b/fml/src/main/java/net/minecraftforge/fml/common/patcher/ClassPatchManager.java new file mode 100644 index 000000000..48b279740 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/patcher/ClassPatchManager.java @@ -0,0 +1,230 @@ +package net.minecraftforge.fml.common.patcher; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.jar.JarEntry; +import java.util.jar.JarInputStream; +import java.util.jar.JarOutputStream; +import java.util.jar.Pack200; +import java.util.regex.Pattern; + +import org.apache.logging.log4j.Level; + +import net.minecraft.launchwrapper.LaunchClassLoader; +import net.minecraftforge.fml.relauncher.FMLRelaunchLog; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.repackage.com.nothome.delta.GDiffPatcher; +import LZMA.LzmaInputStream; + +import com.google.common.base.Joiner; +import com.google.common.base.Throwables; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Maps; +import com.google.common.hash.Hashing; +import com.google.common.io.ByteArrayDataInput; +import com.google.common.io.ByteStreams; +import com.google.common.io.Files; + +public class ClassPatchManager { + public static final ClassPatchManager INSTANCE = new ClassPatchManager(); + + public static final boolean dumpPatched = Boolean.parseBoolean(System.getProperty("fml.dumpPatchedClasses", "false")); + public static final boolean DEBUG = Boolean.parseBoolean(System.getProperty("fml.debugClassPatchManager", "false")); + + private GDiffPatcher patcher = new GDiffPatcher(); + private ListMultimap patches; + + private Map patchedClasses = Maps.newHashMap(); + private File tempDir; + private ClassPatchManager() + { + if (dumpPatched) + { + tempDir = Files.createTempDir(); + FMLRelaunchLog.info("Dumping patched classes to %s",tempDir.getAbsolutePath()); + } + } + + public byte[] getPatchedResource(String name, String mappedName, LaunchClassLoader loader) throws IOException + { + byte[] rawClassBytes = loader.getClassBytes(name); + return applyPatch(name, mappedName, rawClassBytes); + } + public byte[] applyPatch(String name, String mappedName, byte[] inputData) + { + if (patches == null) + { + return inputData; + } + if (patchedClasses.containsKey(name)) + { + return patchedClasses.get(name); + } + List list = patches.get(name); + if (list.isEmpty()) + { + return inputData; + } + boolean ignoredError = false; + if (DEBUG) + FMLRelaunchLog.fine("Runtime patching class %s (input size %d), found %d patch%s", mappedName, (inputData == null ? 0 : inputData.length), list.size(), list.size()!=1 ? "es" : ""); + for (ClassPatch patch: list) + { + if (!patch.targetClassName.equals(mappedName) && !patch.sourceClassName.equals(name)) + { + FMLRelaunchLog.warning("Binary patch found %s for wrong class %s", patch.targetClassName, mappedName); + } + if (!patch.existsAtTarget && (inputData == null || inputData.length == 0)) + { + inputData = new byte[0]; + } + else if (!patch.existsAtTarget) + { + FMLRelaunchLog.warning("Patcher expecting empty class data file for %s, but received non-empty", patch.targetClassName); + } + else + { + int inputChecksum = Hashing.adler32().hashBytes(inputData).asInt(); + if (patch.inputChecksum != inputChecksum) + { + FMLRelaunchLog.severe("There is a binary discrepency between the expected input class %s (%s) and the actual class. Checksum on disk is %x, in patch %x. Things are probably about to go very wrong. Did you put something into the jar file?", mappedName, name, inputChecksum, patch.inputChecksum); + if (!Boolean.parseBoolean(System.getProperty("fml.ignorePatchDiscrepancies","false"))) + { + FMLRelaunchLog.severe("The game is going to exit, because this is a critical error, and it is very improbable that the modded game will work, please obtain clean jar files."); + System.exit(1); + } + else + { + FMLRelaunchLog.severe("FML is going to ignore this error, note that the patch will not be applied, and there is likely to be a malfunctioning behaviour, including not running at all"); + ignoredError = true; + continue; + } + } + } + synchronized (patcher) + { + try + { + inputData = patcher.patch(inputData, patch.patch); + } + catch (IOException e) + { + FMLRelaunchLog.log(Level.ERROR, e, "Encountered problem runtime patching class %s", name); + continue; + } + } + } + if (!ignoredError && DEBUG) + { + FMLRelaunchLog.fine("Successfully applied runtime patches for %s (new size %d)", mappedName, inputData.length); + } + if (dumpPatched) + { + try + { + Files.write(inputData, new File(tempDir,mappedName)); + } + catch (IOException e) + { + FMLRelaunchLog.log(Level.ERROR, e, "Failed to write %s to %s", mappedName, tempDir.getAbsolutePath()); + } + } + patchedClasses.put(name,inputData); + return inputData; + } + + public void setup(Side side) + { + Pattern binpatchMatcher = Pattern.compile(String.format("binpatch/%s/.*.binpatch", side.toString().toLowerCase(Locale.ENGLISH))); + JarInputStream jis; + try + { + InputStream binpatchesCompressed = getClass().getResourceAsStream("/binpatches.pack.lzma"); + if (binpatchesCompressed==null) + { + FMLRelaunchLog.log(Level.ERROR, "The binary patch set is missing. Either you are in a development environment, or things are not going to work!"); + return; + } + LzmaInputStream binpatchesDecompressed = new LzmaInputStream(binpatchesCompressed); + ByteArrayOutputStream jarBytes = new ByteArrayOutputStream(); + JarOutputStream jos = new JarOutputStream(jarBytes); + Pack200.newUnpacker().unpack(binpatchesDecompressed, jos); + jis = new JarInputStream(new ByteArrayInputStream(jarBytes.toByteArray())); + } + catch (Exception e) + { + FMLRelaunchLog.log(Level.ERROR, e, "Error occurred reading binary patches. Expect severe problems!"); + throw Throwables.propagate(e); + } + + patches = ArrayListMultimap.create(); + + do + { + try + { + JarEntry entry = jis.getNextJarEntry(); + if (entry == null) + { + break; + } + if (binpatchMatcher.matcher(entry.getName()).matches()) + { + ClassPatch cp = readPatch(entry, jis); + if (cp != null) + { + patches.put(cp.sourceClassName, cp); + } + } + else + { + jis.closeEntry(); + } + } + catch (IOException e) + { + } + } while (true); + FMLRelaunchLog.fine("Read %d binary patches", patches.size()); + if (DEBUG) + FMLRelaunchLog.fine("Patch list :\n\t%s", Joiner.on("\t\n").join(patches.asMap().entrySet())); + patchedClasses.clear(); + } + + private ClassPatch readPatch(JarEntry patchEntry, JarInputStream jis) + { + if (DEBUG) + FMLRelaunchLog.finer("Reading patch data from %s", patchEntry.getName()); + ByteArrayDataInput input; + try + { + input = ByteStreams.newDataInput(ByteStreams.toByteArray(jis)); + } + catch (IOException e) + { + FMLRelaunchLog.log(Level.WARN, e, "Unable to read binpatch file %s - ignoring", patchEntry.getName()); + return null; + } + String name = input.readUTF(); + String sourceClassName = input.readUTF(); + String targetClassName = input.readUTF(); + boolean exists = input.readBoolean(); + int inputChecksum = 0; + if (exists) + { + inputChecksum = input.readInt(); + } + int patchLength = input.readInt(); + byte[] patchBytes = new byte[patchLength]; + input.readFully(patchBytes); + + return new ClassPatch(name, sourceClassName, targetClassName, exists, inputChecksum, patchBytes); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/patcher/GenDiffSet.java b/fml/src/main/java/net/minecraftforge/fml/common/patcher/GenDiffSet.java new file mode 100644 index 000000000..a97ea12e2 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/patcher/GenDiffSet.java @@ -0,0 +1,101 @@ +package net.minecraftforge.fml.common.patcher; + +import java.io.File; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; +import java.util.Locale; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; + +import net.minecraftforge.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper; +import net.minecraftforge.fml.repackage.com.nothome.delta.Delta; + +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; + +import java.util.logging.Logger; + +import com.google.common.hash.Hashing; +import com.google.common.io.ByteArrayDataOutput; +import com.google.common.io.ByteStreams; +import com.google.common.io.Files; + +public class GenDiffSet { + + private static final List RESERVED_NAMES = Arrays.asList("CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"); + + public static void main(String[] args) throws IOException + { + String sourceJar = args[0]; //Clean Vanilla jar minecraft.jar or minecraft_server.jar + String targetDir = args[1]; //Directory containing obfed output classes, typically mcp/reobf/minecraft + String deobfData = args[2]; //Path to FML's deobfusication_data.lzma + String outputDir = args[3]; //Path to place generated .binpatch + String killTarget = args[4]; //"true" if we should destroy the target file if it generated a successful .binpatch + + LogManager.getLogger("GENDIFF").log(Level.INFO, String.format("Creating patches at %s for %s from %s", outputDir, sourceJar, targetDir)); + Delta delta = new Delta(); + FMLDeobfuscatingRemapper remapper = FMLDeobfuscatingRemapper.INSTANCE; + remapper.setupLoadOnly(deobfData, false); + JarFile sourceZip = new JarFile(sourceJar); + boolean kill = killTarget.equalsIgnoreCase("true"); + + File f = new File(outputDir); + f.mkdirs(); + + for (String name : remapper.getObfedClasses()) + { +// Logger.getLogger("GENDIFF").info(String.format("Evaluating path for data :%s",name)); + String fileName = name; + String jarName = name; + if (RESERVED_NAMES.contains(name.toUpperCase(Locale.ENGLISH))) + { + fileName = "_"+name; + } + File targetFile = new File(targetDir, fileName.replace('/', File.separatorChar) + ".class"); + jarName = jarName+".class"; + if (targetFile.exists()) + { + String sourceClassName = name.replace('/', '.'); + String targetClassName = remapper.map(name).replace('/', '.'); + JarEntry entry = sourceZip.getJarEntry(jarName); + + byte[] vanillaBytes = entry != null ? ByteStreams.toByteArray(sourceZip.getInputStream(entry)) : new byte[0]; + byte[] patchedBytes = Files.toByteArray(targetFile); + + byte[] diff = delta.compute(vanillaBytes, patchedBytes); + + + ByteArrayDataOutput diffOut = ByteStreams.newDataOutput(diff.length + 50); + // Original name + diffOut.writeUTF(name); + // Source name + diffOut.writeUTF(sourceClassName); + // Target name + diffOut.writeUTF(targetClassName); + // exists at original + diffOut.writeBoolean(entry != null); + if (entry != null) + { + diffOut.writeInt(Hashing.adler32().hashBytes(vanillaBytes).asInt()); + } + // length of patch + diffOut.writeInt(diff.length); + // patch + diffOut.write(diff); + + File target = new File(outputDir, targetClassName+".binpatch"); + target.getParentFile().mkdirs(); + Files.write(diffOut.toByteArray(), target); + Logger.getLogger("GENDIFF").info(String.format("Wrote patch for %s (%s) at %s",name, targetClassName, target.getAbsolutePath())); + if (kill) + { + targetFile.delete(); + Logger.getLogger("GENDIFF").info(String.format(" Deleted target: %s", targetFile.toString())); + } + } + } + sourceZip.close(); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/registry/EntityRegistry.java b/fml/src/main/java/net/minecraftforge/fml/common/registry/EntityRegistry.java new file mode 100644 index 000000000..5bcea3f51 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/registry/EntityRegistry.java @@ -0,0 +1,368 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.registry; + +import java.util.BitSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.apache.logging.log4j.Level; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityList; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityTracker; +import net.minecraft.entity.EnumCreatureType; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.network.internal.FMLMessage.EntitySpawnMessage; + +import com.google.common.base.Function; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Maps; +import com.google.common.primitives.UnsignedBytes; + +public class EntityRegistry +{ + public class EntityRegistration + { + private Class entityClass; + private ModContainer container; + private String entityName; + private int modId; + private int trackingRange; + private int updateFrequency; + private boolean sendsVelocityUpdates; + private Function customSpawnCallback; + private boolean usesVanillaSpawning; + public EntityRegistration(ModContainer mc, Class entityClass, String entityName, int id, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates) + { + this.container = mc; + this.entityClass = entityClass; + this.entityName = entityName; + this.modId = id; + this.trackingRange = trackingRange; + this.updateFrequency = updateFrequency; + this.sendsVelocityUpdates = sendsVelocityUpdates; + } + public Class getEntityClass() + { + return entityClass; + } + public ModContainer getContainer() + { + return container; + } + public String getEntityName() + { + return entityName; + } + public int getModEntityId() + { + return modId; + } + public int getTrackingRange() + { + return trackingRange; + } + public int getUpdateFrequency() + { + return updateFrequency; + } + public boolean sendsVelocityUpdates() + { + return sendsVelocityUpdates; + } + + public boolean usesVanillaSpawning() + { + return usesVanillaSpawning; + } + public boolean hasCustomSpawning() + { + return customSpawnCallback != null; + } + public Entity doCustomSpawning(EntitySpawnMessage spawnMsg) throws Exception + { + return customSpawnCallback.apply(spawnMsg); + } + public void setCustomSpawning(Function callable, boolean usesVanillaSpawning) + { + this.customSpawnCallback = callable; + this.usesVanillaSpawning = usesVanillaSpawning; + } + } + + private static final EntityRegistry INSTANCE = new EntityRegistry(); + + private BitSet availableIndicies; + private ListMultimap entityRegistrations = ArrayListMultimap.create(); + private Map entityNames = Maps.newHashMap(); + private BiMap, EntityRegistration> entityClassRegistrations = HashBiMap.create(); + public static EntityRegistry instance() + { + return INSTANCE; + } + + private EntityRegistry() + { + availableIndicies = new BitSet(256); + availableIndicies.set(1,255); + for (Object id : EntityList.idToClassMapping.keySet()) + { + availableIndicies.clear((Integer)id); + } + } + + /** + * Register the mod entity type with FML + + * @param entityClass The entity class + * @param entityName A unique name for the entity + * @param id A mod specific ID for the entity + * @param mod The mod + * @param trackingRange The range at which MC will send tracking updates + * @param updateFrequency The frequency of tracking updates + * @param sendsVelocityUpdates Whether to send velocity information packets as well + */ + public static void registerModEntity(Class entityClass, String entityName, int id, Object mod, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates) + { + instance().doModEntityRegistration(entityClass, entityName, id, mod, trackingRange, updateFrequency, sendsVelocityUpdates); + } + + @SuppressWarnings("unchecked") + private void doModEntityRegistration(Class entityClass, String entityName, int id, Object mod, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates) + { + ModContainer mc = FMLCommonHandler.instance().findContainerFor(mod); + EntityRegistration er = new EntityRegistration(mc, entityClass, entityName, id, trackingRange, updateFrequency, sendsVelocityUpdates); + try + { + entityClassRegistrations.put(entityClass, er); + entityNames.put(entityName, mc); + if (!EntityList.classToStringMapping.containsKey(entityClass)) + { + String entityModName = String.format("%s.%s", mc.getModId(), entityName); + EntityList.classToStringMapping.put(entityClass, entityModName); + EntityList.stringToClassMapping.put(entityModName, entityClass); + FMLLog.finer("Automatically registered mod %s entity %s as %s", mc.getModId(), entityName, entityModName); + } + else + { + FMLLog.fine("Skipping automatic mod %s entity registration for already registered class %s", mc.getModId(), entityClass.getName()); + } + } + catch (IllegalArgumentException e) + { + FMLLog.log(Level.WARN, e, "The mod %s tried to register the entity (name,class) (%s,%s) one or both of which are already registered", mc.getModId(), entityName, entityClass.getName()); + return; + } + entityRegistrations.put(mc, er); + } + + public static void registerGlobalEntityID(Class entityClass, String entityName, int id) + { + if (EntityList.classToStringMapping.containsKey(entityClass)) + { + ModContainer activeModContainer = Loader.instance().activeModContainer(); + String modId = "unknown"; + if (activeModContainer != null) + { + modId = activeModContainer.getModId(); + } + else + { + FMLLog.severe("There is a rogue mod failing to register entities from outside the context of mod loading. This is incredibly dangerous and should be stopped."); + } + FMLLog.warning("The mod %s tried to register the entity class %s which was already registered - if you wish to override default naming for FML mod entities, register it here first", modId, entityClass); + return; + } + id = instance().validateAndClaimId(id); + EntityList.addMapping(entityClass, entityName, id); + } + + private int validateAndClaimId(int id) + { + // workaround for broken ML + int realId = id; + if (id < Byte.MIN_VALUE) + { + FMLLog.warning("Compensating for modloader out of range compensation by mod : entityId %d for mod %s is now %d", id, Loader.instance().activeModContainer().getModId(), realId); + realId += 3000; + } + + if (realId < 0) + { + realId += Byte.MAX_VALUE; + } + try + { + UnsignedBytes.checkedCast(realId); + } + catch (IllegalArgumentException e) + { + FMLLog.log(Level.ERROR, "The entity ID %d for mod %s is not an unsigned byte and may not work", id, Loader.instance().activeModContainer().getModId()); + } + + if (!availableIndicies.get(realId)) + { + FMLLog.severe("The mod %s has attempted to register an entity ID %d which is already reserved. This could cause severe problems", Loader.instance().activeModContainer().getModId(), id); + } + availableIndicies.clear(realId); + return realId; + } + + public static void registerGlobalEntityID(Class entityClass, String entityName, int id, int backgroundEggColour, int foregroundEggColour) + { + if (EntityList.classToStringMapping.containsKey(entityClass)) + { + ModContainer activeModContainer = Loader.instance().activeModContainer(); + String modId = "unknown"; + if (activeModContainer != null) + { + modId = activeModContainer.getModId(); + } + else + { + FMLLog.severe("There is a rogue mod failing to register entities from outside the context of mod loading. This is incredibly dangerous and should be stopped."); + } + FMLLog.warning("The mod %s tried to register the entity class %s which was already registered - if you wish to override default naming for FML mod entities, register it here first", modId, entityClass); + return; + } + instance().validateAndClaimId(id); + EntityList.addMapping(entityClass, entityName, id, backgroundEggColour, foregroundEggColour); + } + + public static void addSpawn(Class entityClass, int weightedProb, int min, int max, EnumCreatureType typeOfCreature, BiomeGenBase... biomes) + { + for (BiomeGenBase biome : biomes) + { + @SuppressWarnings("unchecked") + List spawns = biome.getSpawnableList(typeOfCreature); + + for (SpawnListEntry entry : spawns) + { + //Adjusting an existing spawn entry + if (entry.entityClass == entityClass) + { + entry.itemWeight = weightedProb; + entry.minGroupCount = min; + entry.maxGroupCount = max; + break; + } + } + + spawns.add(new SpawnListEntry(entityClass, weightedProb, min, max)); + } + } + + @SuppressWarnings("unchecked") + public static void addSpawn(String entityName, int weightedProb, int min, int max, EnumCreatureType spawnList, BiomeGenBase... biomes) + { + Class entityClazz = (Class) EntityList.stringToClassMapping.get(entityName); + + if (EntityLiving.class.isAssignableFrom(entityClazz)) + { + addSpawn((Class ) entityClazz, weightedProb, min, max, spawnList, biomes); + } + } + + public static void removeSpawn(Class entityClass, EnumCreatureType typeOfCreature, BiomeGenBase... biomes) + { + for (BiomeGenBase biome : biomes) + { + @SuppressWarnings("unchecked") + Iterator spawns = biome.getSpawnableList(typeOfCreature).iterator(); + + while (spawns.hasNext()) + { + SpawnListEntry entry = spawns.next(); + if (entry.entityClass == entityClass) + { + spawns.remove(); + } + } + } + } + + @SuppressWarnings("unchecked") + public static void removeSpawn(String entityName, EnumCreatureType spawnList, BiomeGenBase... biomes) + { + Class entityClazz = (Class) EntityList.stringToClassMapping.get(entityName); + + if (EntityLiving.class.isAssignableFrom(entityClazz)) + { + removeSpawn((Class ) entityClazz, spawnList, biomes); + } + } + + public static int findGlobalUniqueEntityId() + { + int res = instance().availableIndicies.nextSetBit(0); + if (res < 0) + { + throw new RuntimeException("No more entity indicies left"); + } + return res; + } + + public EntityRegistration lookupModSpawn(Class clazz, boolean keepLooking) + { + Class localClazz = clazz; + + do + { + EntityRegistration er = entityClassRegistrations.get(localClazz); + if (er != null) + { + return er; + } + localClazz = localClazz.getSuperclass(); + keepLooking = (!Object.class.equals(localClazz)); + } + while (keepLooking); + + return null; + } + + public EntityRegistration lookupModSpawn(ModContainer mc, int modEntityId) + { + for (EntityRegistration er : entityRegistrations.get(mc)) + { + if (er.getModEntityId() == modEntityId) + { + return er; + } + } + return null; + } + + public boolean tryTrackingEntity(EntityTracker entityTracker, Entity entity) + { + + EntityRegistration er = lookupModSpawn(entity.getClass(), true); + if (er != null) + { + entityTracker.addEntityToTracker(entity, er.getTrackingRange(), er.getUpdateFrequency(), er.sendsVelocityUpdates()); + return true; + } + return false; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/registry/ExistingSubstitutionException.java b/fml/src/main/java/net/minecraftforge/fml/common/registry/ExistingSubstitutionException.java new file mode 100644 index 000000000..b0bafa3b1 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/registry/ExistingSubstitutionException.java @@ -0,0 +1,9 @@ +package net.minecraftforge.fml.common.registry; + +public class ExistingSubstitutionException extends Exception { + public ExistingSubstitutionException(String fromName, Object toReplace) { + } + + private static final long serialVersionUID = 1L; + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry.java b/fml/src/main/java/net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry.java new file mode 100644 index 000000000..b558c1488 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry.java @@ -0,0 +1,557 @@ +package net.minecraftforge.fml.common.registry; + +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.lang3.Validate; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemBanner; +import net.minecraft.item.ItemBlock; +import net.minecraft.util.ObjectIntIdentityMap; +import net.minecraft.util.RegistryNamespaced; +import net.minecraft.util.RegistryNamespacedDefaultedByKey; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.functions.GenericIterableFactory; + +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Iterators; + +public class FMLControlledNamespacedRegistry extends RegistryNamespacedDefaultedByKey { + private final Class superType; + private Object optionalDefaultKey; + private I optionalDefaultObject; + private int maxId; + private int minId; + // aliases redirecting legacy names to the actual name, may need recursive application to find the final name. + // these need to be registry specific, it's possible to only have a loosely linked item for a block which may get renamed by itself. + private final Map aliases = new HashMap(); + private BiMap persistentSubstitutions; + private BiMap activeSubstitutions = HashBiMap.create(); + + FMLControlledNamespacedRegistry(Object defaultKey, int maxIdValue, int minIdValue, Class type) + { + super(defaultKey); + this.superType = type; + this.optionalDefaultKey = defaultKey; + this.maxId = maxIdValue; + this.minId = minIdValue; + } + + void validateContent(int maxId, String type, BitSet availabilityMap, Set blockedIds, FMLControlledNamespacedRegistry iBlockRegistry) + { + for (I obj : typeSafeIterable()) + { + int id = getId(obj); + Object name = getNameForObject(obj); + + // name lookup failed -> obj is not in the obj<->name map + if (name == null) throw new IllegalStateException(String.format("Registry entry for %s %s, id %d, doesn't yield a name.", type, obj, id)); + + ResourceLocation loc = (name instanceof ResourceLocation) ? (ResourceLocation)name : null; + String nameS = (name instanceof String) ? (String)name : (loc != null ? name.toString() : null); + if (loc == null && nameS == null) throw new IllegalStateException(String.format("Registry entry for %s %s name is invalid, must be a String or ResourceLocation %s", type, obj, name)); + + // id lookup failed -> obj is not in the obj<->id map + if (id < 0) throw new IllegalStateException(String.format("Registry entry for %s %s, name %s, doesn't yield an id.", type, obj, name)); + // id is too high + if (id > maxId) throw new IllegalStateException(String.format("Registry entry for %s %s, name %s uses the too large id %d.", type, obj, name)); + // empty name + if (name.toString().isEmpty()) throw new IllegalStateException(String.format("Registry entry for %s %s, id %d, yields an empty name.", type, obj, id)); + // non-prefixed name + if (name.toString().indexOf(':') == -1) throw new IllegalStateException(String.format("Registry entry for %s %s, id %d, has the non-prefixed name %s.", type, obj, id, name)); + // id -> obj lookup is inconsistent + if (getRaw(id) != obj) throw new IllegalStateException(String.format("Registry entry for id %d, name %s, doesn't yield the expected %s %s.", id, name, type, obj)); + // name -> obj lookup is inconsistent + if (!(activeSubstitutions.containsKey(name) || activeSubstitutions.containsValue(name)) && getRaw(nameS) != obj ) throw new IllegalStateException(String.format("Registry entry for name %s, id %d, doesn't yield the expected %s %s.", name, id, type, obj)); + // name -> id lookup is inconsistent + if (!(activeSubstitutions.containsKey(name) || activeSubstitutions.containsValue(name)) && getId(nameS) != id) throw new IllegalStateException(String.format("Registry entry for name %s doesn't yield the expected id %d.", name, id)); + // id isn't marked as unavailable + if (!availabilityMap.get(id)) throw new IllegalStateException(String.format("Registry entry for %s %s, id %d, name %s, marked as empty.", type, obj, id, name)); + // entry is blocked, thus should be empty + if (blockedIds.contains(id)) throw new IllegalStateException(String.format("Registry entry for %s %s, id %d, name %s, marked as dangling.", type, obj, id, name)); + + if (obj instanceof ItemBlock && !(obj instanceof ItemBanner)) //Dammet Mojang not linking Banners + { + Block block = ((ItemBlock) obj).block; + + // verify matching block entry + if (iBlockRegistry.getId(block) != id) + { + throw new IllegalStateException(String.format("Registry entry for ItemBlock %s, id %d, is missing or uses the non-matching id %d.", obj, id, iBlockRegistry.getId(block))); + } + // verify id range + if (id > GameData.MAX_BLOCK_ID) throw new IllegalStateException(String.format("ItemBlock %s uses the id %d outside the block id range", name, id)); + } + } + + } + + @SuppressWarnings("unchecked") + void setFrom(FMLControlledNamespacedRegistry registry) { + set((FMLControlledNamespacedRegistry) registry); + } + void set(FMLControlledNamespacedRegistry registry) + { + if (this.superType != registry.superType) throw new IllegalArgumentException("incompatible registry"); + + this.optionalDefaultKey = registry.optionalDefaultKey; + this.maxId = registry.maxId; + this.minId = registry.minId; + this.aliases.clear(); + this.aliases.putAll(registry.aliases); + this.activeSubstitutions.clear(); + + underlyingIntegerMap = new ObjectIntIdentityMap(); + registryObjects.clear(); + + for (I thing : registry.typeSafeIterable()) + { + addObjectRaw(registry.getId(thing), registry.getNameForObject(thing), thing); + } + this.activeSubstitutions.putAll(registry.activeSubstitutions); + } + + // public api + + /** + * Add an object to the registry, trying to use the specified id. + * + * @deprecated register through {@link GameRegistry} instead. + */ + @Override + @Deprecated + public void register(int id, Object name, Object thing) + { + Validate.isInstanceOf(ResourceLocation.class, name); + GameData.getMain().register(thing, name.toString(), id); + } + + /** + * DANGEROUS! EVIL! DO NOT USE! + * + * @deprecated register through {@link GameRegistry} instead. + */ + @Override + @Deprecated + public void putObject(Object objName, Object obj) + { + String name = objName.toString(); + I thing = superType.cast(obj); + + if (name == null) throw new NullPointerException("Can't use a null-name for the registry."); + if (name.isEmpty()) throw new IllegalArgumentException("Can't use an empty name for the registry."); + if (thing == null) throw new NullPointerException("Can't add null-object to the registry."); + + name = new ResourceLocation(name).toString(); + Object existingName = getNameForObject(thing); + + if (existingName == null) + { + FMLLog.bigWarning("Ignoring putObject(%s, %s), not resolvable", name, thing); + } + else if (existingName.equals(name)) + { + FMLLog.bigWarning("Ignoring putObject(%s, %s), already added", name, thing); + } + else + { + FMLLog.bigWarning("Ignoring putObject(%s, %s), adding alias to %s instead", name, thing, existingName); + addAlias(name, existingName.toString()); + } + } + + /** + * Fetch the object identified by the specified name or the default object. + * + * For blocks the default object is the air block, for items it's null. + * + * @param name Unique name identifying the object. + * @return Registered object of the default object if it wasn't found- + */ + @Override + public I getObject(Object name) + { + I object = null; + if (name instanceof ResourceLocation) object = getRaw((ResourceLocation)name); + if (name instanceof String) object = getRaw((String)name); + return object == null ? this.optionalDefaultObject : object; + } + + /** + * Fetch the object identified by the specified id or the default object. + * + * For blocks the default object is the air block, for items it's null. + * + * @param id ID identifying the object. + * @return Registered object of the default object if it wasn't found- + */ + @Override + public I getObjectById(int id) + { + I object = getRaw(id); + return object == null ? this.optionalDefaultObject : object; + } + + /** + * @deprecated use getObjectById instead + */ + @Deprecated + public I get(int id) + { + return getObjectById(id); + } + + /** + * @deprecated use getObject instead + */ + @Deprecated + public I get(String name) + { + return getObject(name); + } + + /** + * Get the id for the specified object. + * + * Don't hold onto the id across the world, it's being dynamically re-mapped as needed. + * + * Usually the name should be used instead of the id, if using the Block/Item object itself is + * not suitable for the task. + * + * @param thing Block/Item object. + * @return Block/Item id or -1 if it wasn't found. + */ + public int getId(I thing) + { + return getIDForObject(thing); + } + + /** + * Get the object identified by the specified id. + * + * @param id Block/Item id. + * @return Block/Item object or null if it wasn't found. + */ + public I getRaw(int id) + { + return cast(super.getObjectById(id)); + } + + /** + * superType.cast appears to be expensive. Skip it for speed? + * @param obj + * @return + */ + @SuppressWarnings("unchecked") + private I cast(Object obj) + { + return (I)(obj); + } + /** + * Get the object identified by the specified name. + * + * @param name Block/Item name. + * @return Block/Item object or null if it wasn't found. + */ + public I getRaw(String name) + { + return getRaw(new ResourceLocation(name)); + } + + /** + * Get the object identified by the specified name. + * + * @param name Block/Item name. + * @return Block/Item object or null if it wasn't found. + */ + private I getRaw(ResourceLocation loc) + { + I ret = superType.cast(super.getObject(loc)); + + if (ret == null) // no match, try aliases recursively + { + String name = aliases.get(loc.toString()); + + if (name != null) return getRaw(name); + } + + return ret; + } + + /** + * Determine if the registry has an entry for the specified name. + * + * Aliased names will be resolved as well. + * + * @param name Object name to check. + * @return true if a matching entry was found. + */ + @Override + public boolean containsKey(Object name) + { + boolean ret = super.containsKey(name); + + if (!ret) // no match, try aliases recursively + { + name = aliases.get(name); + + if (name != null) return containsKey(name); + } + + return ret; + } + + /** + * Get the id for the specified object. + * + * Don't hold onto the id across the world, it's being dynamically re-mapped as needed. + * + * Usually the name should be used instead of the id, if using the Block/Item object itself is + * not suitable for the task. + * + * @param itemName Block/Item registry name. + * @return Block/Item id or -1 if it wasn't found. + */ + public int getId(String itemName) + { + I obj = getRaw(itemName); + if (obj == null) return -1; + + return getId(obj); + } + + /** + * @deprecated use containsKey instead + */ + @Deprecated + public boolean contains(String itemName) + { + return containsKey(itemName); + } + + /* + * This iterator is used by FML to visit the actual block sets, it should use the super.iterator method instead + * Compare #iterator() + */ + public Iterable typeSafeIterable() + { + return GenericIterableFactory.newCastingIterable(super.iterator(), superType); + } + + // internal + + public void serializeInto(Map idMapping) // for saving + { + for (I thing : this.typeSafeIterable()) + { + idMapping.put(getNameForObject(thing).toString(), getId(thing)); + } + } + public void serializeAliases(Map map) + { + map.putAll(this.aliases); + } + public void serializeSubstitutions(Set set) + { + set.addAll(activeSubstitutions.keySet()); + } + + private BitSet internalAvailabilityMap = new BitSet(); + + int add(int id, String name, Object thing) { + return add(id, name, superType.cast(thing), internalAvailabilityMap); + } + + /** + * Add the specified object to the registry. + * + * @param id ID to use if available, auto-assigned otherwise. + * @param name Name to use, prefixed by the mod id. + * @param thing Object to add. + * @param availabilityMap Map marking available IDs for auto assignment. + * @return ID eventually allocated. + */ + int add(int id, String name, I thing, BitSet availabilityMap) + { + if (name == null) throw new NullPointerException(String.format("Can't use a null-name for the registry, object %s.", thing)); + if (name.isEmpty()) throw new IllegalArgumentException(String.format("Can't use an empty name for the registry, object %s.", thing)); + if (name.indexOf(':') == -1) throw new IllegalArgumentException(String.format("Can't add the name (%s) without a prefix, object %s", name, thing)); + if (thing == null) throw new NullPointerException(String.format("Can't add null-object to the registry, name %s.", name)); + if (optionalDefaultKey != null && optionalDefaultKey.toString().equals(name) && this.optionalDefaultObject == null) + { + this.optionalDefaultObject = thing; + } + if (getPersistentSubstitutions().containsValue(thing)) + { + throw new IllegalArgumentException(String.format("The object %s (%s) cannot be added to the registry. It is already being used as a substitute for %s", thing.getClass(), name, getPersistentSubstitutions().inverse().get(thing))); + } + int idToUse = id; + if (idToUse < 0 || availabilityMap.get(idToUse)) + { + idToUse = availabilityMap.nextClearBit(minId); + } + if (idToUse > maxId) + { + throw new RuntimeException(String.format("Invalid id %d - maximum id range exceeded.", idToUse)); + } + + if (getRaw(name) == thing) // already registered, return prev registration's id + { + FMLLog.bigWarning("The object %s has been registered twice for the same name %s.", thing, name); + return getId(thing); + } + if (getRaw(name) != null) // duplicate name + { + throw new IllegalArgumentException(String.format("The name %s has been registered twice, for %s and %s.", name, getRaw(name), thing)); + } + if (getId(thing) >= 0) // duplicate object - but only if it's not being substituted + { + int foundId = getId(thing); + Object otherThing = getRaw(foundId); + throw new IllegalArgumentException(String.format("The object %s{%x} has been registered twice, using the names %s and %s. (Other object at this id is %s{%x})", thing, System.identityHashCode(thing), getNameForObject(thing), name, otherThing, System.identityHashCode(otherThing))); + } + if (GameData.isFrozen(this)) + { + FMLLog.bigWarning("The object %s (name %s) is being added too late.", thing, name); + } + + if (activeSubstitutions.containsKey(name)) + { + thing = activeSubstitutions.get(name); + } + addObjectRaw(idToUse, new ResourceLocation(name), thing); + + FMLLog.finer("Registry add: %s %d %s (req. id %d)", name, idToUse, thing, id); + return idToUse; + } + + void addAlias(String from, String to) + { + aliases.put(from, to); + FMLLog.finer("Registry alias: %s -> %s", from, to); + } + + Map getEntriesNotIn(FMLControlledNamespacedRegistry registry) + { + Map ret = new HashMap(); + + for (I thing : this.typeSafeIterable()) + { + if (!registry.field_148758_b.containsKey(thing)) + { + if (!registry.activeSubstitutions.containsKey(getNameForObject(thing).toString())) + { + ret.put(getNameForObject(thing).toString(), getId(thing)); + } + } + } + + return ret; + } + + void dump() + { + List ids = new ArrayList(); + + for (I thing : this.typeSafeIterable()) + { + ids.add(getId(thing)); + } + + // sort by id + Collections.sort(ids); + + for (int id : ids) + { + I thing = getRaw(id); + FMLLog.finer("Registry: %s %d %s", getNameForObject(thing), id, thing); + } + } + + /** + * Version of addObject not using the API restricting overrides. + */ + private void addObjectRaw(int id, Object name, I thing) + { + if (name == null) throw new NullPointerException("The name to be added to the registry is null. This can only happen with a corrupted registry state. Reflection/ASM hackery? Registry bug?"); + if (thing == null) throw new NullPointerException("The object to be added to the registry is null. This can only happen with a corrupted registry state. Reflection/ASM hackery? Registry bug?"); + if (!superType.isInstance(thing)) throw new IllegalArgumentException("The object to be added to the registry is not of the right type. Reflection/ASM hackery? Registry bug?"); + + underlyingIntegerMap.put(thing, id); // obj <-> id + super.putObject(name, thing); // name <-> obj + } + + public I getDefaultValue() + { + return optionalDefaultObject; + } + + public RegistryDelegate getDelegate(I thing, Class clazz) { + return GameData.buildDelegate(thing, clazz); + } + + void activateSubstitution(String nameToReplace) + { + if (getPersistentSubstitutions().containsKey(nameToReplace)) + { + activeSubstitutions.put(nameToReplace, getPersistentSubstitutions().get(nameToReplace)); + } + } + + void addSubstitutionAlias(String modId, String nameToReplace, Object toReplace) throws ExistingSubstitutionException { + if (getPersistentSubstitutions().containsKey(nameToReplace) || getPersistentSubstitutions().containsValue(toReplace)) + { + FMLLog.severe("The substitution of %s has already occured. You cannot duplicate substitutions", nameToReplace); + throw new ExistingSubstitutionException(nameToReplace, toReplace); + } + I replacement = cast(toReplace); + I original = getRaw(nameToReplace); + if (original == null) + { + throw new NullPointerException("The replacement target is not present. This won't work"); + } + if (!original.getClass().isAssignableFrom(replacement.getClass())) + { + FMLLog.severe("The substitute %s for %s (type %s) is type incompatible. This won't work", replacement.getClass().getName(), nameToReplace, original.getClass().getName()); + throw new IncompatibleSubstitutionException(nameToReplace, replacement, original); + } + int existingId = getId(replacement); + if (existingId != -1) + { + FMLLog.severe("The substitute %s for %s is registered into the game independently. This won't work", replacement.getClass().getName(), nameToReplace); + throw new IllegalArgumentException("The object substitution is already registered. This won't work"); + } + getPersistentSubstitutions().put(nameToReplace, replacement); + } + + private BiMap getPersistentSubstitutions() + { + if (persistentSubstitutions == null) + { + persistentSubstitutions = GameData.getMain().getPersistentSubstitutionMap(superType); + } + return persistentSubstitutions; + } + + @Override + public void validateKey() + { + if (this.optionalDefaultKey != null) + Validate.notNull(this.optionalDefaultObject); + } + + + FMLControlledNamespacedRegistry makeShallowCopy() { + return new FMLControlledNamespacedRegistry(optionalDefaultKey, maxId, minId, superType); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/registry/GameData.java b/fml/src/main/java/net/minecraftforge/fml/common/registry/GameData.java new file mode 100644 index 000000000..5795ea293 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/registry/GameData.java @@ -0,0 +1,1115 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.registry; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.BitSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBanner; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ObjectIntIdentityMap; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.StartupQuery; +import net.minecraftforge.fml.common.ZipperUtil; +import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent; +import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent.MissingMapping; +import net.minecraftforge.fml.common.registry.GameRegistry.Type; +import net.minecraftforge.fml.common.registry.GameRegistry.UniqueIdentifier; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.Charsets; +import com.google.common.base.Joiner; +import com.google.common.base.Joiner.MapJoiner; +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBasedTable; +import com.google.common.collect.HashBiMap; +import com.google.common.collect.ImmutableBiMap; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableListMultimap; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Iterables; +import com.google.common.collect.Iterators; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.common.collect.Sets.SetView; +import com.google.common.collect.Table; +import com.google.common.io.Files; + +public class GameData { + static final int MIN_BLOCK_ID = 0; + static final int MAX_BLOCK_ID = 4095; + static final int MIN_ITEM_ID = 4096; + static final int MAX_ITEM_ID = 31999; + + private static final GameData mainData = new GameData(); + private static Map customOwners = Maps.newHashMap(); + private static GameData frozen; + + // public api + + /** + * Get the currently active block registry. + * + * @return Block Registry. + */ + public static FMLControlledNamespacedRegistry getBlockRegistry() { + return getMain().iBlockRegistry; + } + + /** + * Get the currently active item registry. + * + * @return Item Registry. + */ + public static FMLControlledNamespacedRegistry getItemRegistry() { + return getMain().iItemRegistry; + } + + /*************************************************** + * INTERNAL CODE FROM HERE ON DO NOT USE! + ***************************************************/ + + public static class GameDataSnapshot + { + public static class Entry + { + public final Map ids; + public final Set substitutions; + public final Map aliases; + public final Set blocked; + + public Entry() + { + this(new HashMap(), new HashSet(), new HashMap(), new HashSet()); + } + + public Entry(Map ids, Set substitions, Map aliases, Set blocked) + { + this.ids = ids; + this.substitutions = substitions; + this.aliases = aliases; + this.blocked = blocked; + } + + public Entry(FMLControlledNamespacedRegistry registry) + { + this.ids = Maps.newHashMap(); + this.substitutions = Sets.newHashSet(); + this.aliases = Maps.newHashMap(); + this.blocked = Sets.newHashSet(); + + registry.serializeInto(this.ids); + registry.serializeSubstitutions(this.substitutions); + registry.serializeAliases(this.aliases); + + if (GameData.getBlockRegistry() == registry || + GameData.getItemRegistry() == registry) + { + this.blocked.addAll(GameData.getMain().blockedIds); + } + } + } + public final Map entries = Maps.newHashMap(); + } + + public static GameDataSnapshot takeSnapshot() + { + GameDataSnapshot snap = new GameDataSnapshot(); + snap.entries.put("fml:blocks", new GameDataSnapshot.Entry(getMain().getBlockRegistry())); + snap.entries.put("fml:items", new GameDataSnapshot.Entry(getMain().getItemRegistry())); + for (Map.Entry> e : getMain().genericRegistries.entrySet()) { + snap.entries.put("fmlgr:"+e.getKey(), new GameDataSnapshot.Entry(e.getValue())); + } + return snap; + } + + static Item findItem(String modId, String name) + { + return (Item)getMain().iItemRegistry.getObject(modId + ":" + name); + } + + static Block findBlock(String modId, String name) + { + String key = modId + ":" + name; + return getMain().iBlockRegistry.containsKey(key) ? getMain().iBlockRegistry.getObject(key) : null; + } + + static UniqueIdentifier getUniqueName(Block block) + { + if (block == null) return null; + Object name = getMain().iBlockRegistry.getNameForObject(block); + return new UniqueIdentifier(name); + } + + static UniqueIdentifier getUniqueName(Item item) + { + if (item == null) return null; + Object name = getMain().iItemRegistry.getNameForObject(item); + return new UniqueIdentifier(name); + } + + /** + * Fix IDs improperly allocated by early versions of the registry, best-effort. + * + * Items sharing the same ID with a block, but not sharing the same registry name will be + * mapped to an unused id. Losing items instead of blocks should minimize the damage. + * + * @param dataList List containing the IDs to fix + */ + public static void fixBrokenIds(GameDataSnapshot.Entry blocks, GameDataSnapshot.Entry items, Set blockedIds) + { + BitSet availabilityMap = new BitSet(MAX_ITEM_ID + 1); + + // reserve all ids occupied by blocks + for (Entry entry : blocks.ids.entrySet()) + { + availabilityMap.set(entry.getValue()); + } + + Set newBlockedIds = new HashSet(); + Set itemsToRemove = new HashSet(); + Map itemsToRelocate = new HashMap(); + + // check all ids occupied by items + for (Entry entry : items.ids.entrySet()) + { + int oldId = entry.getValue(); + String name = entry.getKey(); + Item item = getMain().iItemRegistry.getRaw(name); + boolean blockThisId = false; // block oldId unless it's used by a block + + if (item == null) // item no longer available + { + // can't fix items without reliably checking if they are ItemBlocks + FMLLog.warning("Item %s (old id %d) is no longer available and thus can't be fixed.", name, oldId); + itemsToRemove.add(name); + blockThisId = true; + } + else if (item instanceof ItemBlock) + { + if (blocks.ids.containsKey(name)) // the item was an ItemBlock before + { + int blockId = blocks.ids.get(name); + + if (blockId != oldId) // mis-located ItemBlock + { + // relocate to the matching block + FMLLog.warning("ItemBlock %s (old id %d) doesn't have the same id as its block (%d).", name, oldId, blockId); + itemsToRelocate.put(name, blockId); + blockThisId = true; + } + else // intact ItemBlock + { + availabilityMap.set(oldId); // occupy id + } + } + else // the item hasn't been an ItemBlock before, but it's now + { + // can't fix these, drop them + FMLLog.warning("Item %s (old id %d) has been migrated to an ItemBlock and can't be fixed.", name, oldId); + itemsToRemove.add(name); + blockThisId = true; + } + } + else if (availabilityMap.get(oldId)) // normal item, id is already occupied + { + // remove the item mapping + FMLLog.warning("Item %s (old id %d) is conflicting with another block/item and can't be fixed.", name, oldId); + itemsToRemove.add(name); + } + else // intact Item + { + availabilityMap.set(oldId); // occupy id + } + + // handle blocking the id from future use if possible (i.e. not used by a conflicting block) + // blockThisId requests don't modify availabilityMap, it could only be set by a block (or another item, which isn't being handled) + if (blockThisId && !availabilityMap.get(oldId)) + { + // there's no block occupying this id, thus block the id from future use + // as there may still be ItemStacks in the world referencing it + newBlockedIds.add(oldId); + availabilityMap.set(oldId); + } + } + + if (itemsToRemove.isEmpty() && itemsToRelocate.isEmpty()) return; // nothing to do + + // confirm + String text = "Forge Mod Loader detected that this save is damaged.\n\n" + + "It's likely that an automatic repair can successfully restore\n" + + "most of it, except some items which may get swapped with others.\n\n" + + "A world backup will be created as a zip file in your saves\n" + + "directory automatically.\n\n" + + itemsToRemove.size()+" items need to be removed.\n"+ + itemsToRelocate.size()+" items need to be relocated."; + + boolean confirmed = StartupQuery.confirm(text); + if (!confirmed) StartupQuery.abort(); + + // confirm missing mods causing item removal + Set modsMissing = new HashSet(); + + for (String name : itemsToRemove) + { + modsMissing.add(name.substring(0, name.indexOf(':'))); + } + + for (Iterator it = modsMissing.iterator(); it.hasNext(); ) + { + String mod = it.next(); + + if (mod.equals("minecraft") || Loader.isModLoaded(mod)) it.remove(); + } + + if (!modsMissing.isEmpty()) + { + text = "Forge Mod Loader detected that "+modsMissing.size()+" mods are missing.\n\n" + + "If you continue items previously provided by those mods will be\n" + + "removed while repairing this world save.\n\n" + + "Missing mods:\n"; + + for (String mod : modsMissing) text += mod+"\n"; + + confirmed = StartupQuery.confirm(text); + if (!confirmed) StartupQuery.abort(); + } + + // backup + try + { + String skip = System.getProperty("fml.doNotBackup"); + if (skip == null || !"true".equals(skip)) + { + ZipperUtil.backupWorld(); + } + else + { + for (int x = 0; x < 10; x++) + FMLLog.severe("!!!!!!!!!! UPDATING WORLD WITHOUT DOING BACKUP !!!!!!!!!!!!!!!!"); + } + } + catch (IOException e) + { + StartupQuery.notify("The world backup couldn't be created.\n\n"+e); + StartupQuery.abort(); + } + + // apply fix + for (String name : itemsToRemove) + { + FMLLog.warning("Removed Item %s, old id %d.", name, items.ids.remove(name)); + } + + for (Map.Entry entry : itemsToRelocate.entrySet()) + { + int newId = entry.getValue(); + int oldId = items.ids.put(entry.getKey(), newId); + FMLLog.warning("Remapped Item %s to id %d, old id %d.", entry.getKey(), newId, oldId); + } + + blockedIds.addAll(newBlockedIds); + } + + public static List injectSnapshot(GameDataSnapshot snapshot, boolean injectFrozenData, boolean isLocalWorld) + { + FMLLog.info("Injecting existing block and item data into this %s instance", FMLCommonHandler.instance().getEffectiveSide().isServer() ? "server" : "client"); + Map remapBlocks = Maps.newHashMap(); + Map remapItems = Maps.newHashMap(); + LinkedHashMap missingBlocks = new LinkedHashMap(); + LinkedHashMap missingItems = new LinkedHashMap(); + getMain().testConsistency(); + getMain().iBlockRegistry.dump(); + getMain().iItemRegistry.dump(); + + GameDataSnapshot.Entry blocks = snapshot.entries.get("fml:blocks"); + GameDataSnapshot.Entry items = snapshot.entries.get("fml:items"); + + GameData newData = new GameData(); + + for (int id : blocks.blocked) + { + newData.block(id); + } + + for (Map.Entry entry : blocks.aliases.entrySet()) + { + newData.iBlockRegistry.addAlias(entry.getKey(), entry.getValue()); + } + + for (Map.Entry entry : items.aliases.entrySet()) + { + newData.iItemRegistry.addAlias(entry.getKey(), entry.getValue()); + } + + for (String entry : blocks.substitutions) + { + newData.iBlockRegistry.activateSubstitution(entry); + } + for (String entry : items.substitutions) + { + newData.iItemRegistry.activateSubstitution(entry); + } + if (injectFrozenData) + { + for (String newBlockSubstitution : getMain().blockSubstitutions.keySet()) + { + if (!blocks.substitutions.contains(newBlockSubstitution)) + { + newData.iBlockRegistry.activateSubstitution(newBlockSubstitution); + } + } + for (String newItemSubstitution : getMain().itemSubstitutions.keySet()) + { + if (!items.substitutions.contains(newItemSubstitution)) + { + newData.iItemRegistry.activateSubstitution(newItemSubstitution); + } + } + } + + // Clear State map for it's ready for us to register below. + GameData.BLOCKSTATE_TO_ID.clear(); + + // process blocks and items in the world, blocks in the first pass, items in the second + // blocks need to be added first for proper ItemBlock handling + for (int pass = 0; pass < 2; pass++) + { + boolean isBlock = (pass == 0); + Map ids = (isBlock ? blocks.ids : items.ids); + + for (Entry entry : ids.entrySet()) + { + String itemName = entry.getKey(); + int newId = entry.getValue(); + int currId = isBlock ? getMain().iBlockRegistry.getId(itemName) : getMain().iItemRegistry.getId(itemName); + + if (currId == -1) + { + FMLLog.info("Found a missing id from the world %s", itemName); + (isBlock ? missingBlocks : missingItems).put(entry.getKey(), newId); + continue; // no block/item -> nothing to add + } + else if (currId != newId) + { + FMLLog.fine("Fixed %s id mismatch %s: %d (init) -> %d (map).", isBlock ? "block" : "item", itemName, currId, newId); + (isBlock ? remapBlocks : remapItems).put(itemName, new Integer[] { currId, newId }); + } + + // register + if (isBlock) + { + currId = newData.registerBlock(getMain().iBlockRegistry.getRaw(itemName), itemName, newId); + } + else + { + currId = newData.registerItem(getMain().iItemRegistry.getRaw(itemName), itemName, newId); + } + + if (currId != newId) + { + throw new IllegalStateException(String.format("Can't map %s %s to id %d (seen at: %d), already occupied by %s, blocked %b, ItemBlock %b", + isBlock ? "block" : "item", + itemName, + newId, + currId, + isBlock ? newData.iBlockRegistry.getRaw(newId) : newData.iItemRegistry.getRaw(newId), + newData.blockedIds.contains(newId), + isBlock ? false : (getMain().iItemRegistry.getRaw(currId) instanceof ItemBlock))); + } + } + } + + List missedMappings = Loader.instance().fireMissingMappingEvent(missingBlocks, missingItems, isLocalWorld, newData, remapBlocks, remapItems); + if (!missedMappings.isEmpty()) return missedMappings; + + // If we got here - the load was accepted. We'll load generic repositories here. + // Generic registries can fail by returning a missing mapping. + missedMappings = newData.loadGenericRegistries(snapshot, getMain()); + if (!missedMappings.isEmpty()) return missedMappings; + + if (injectFrozenData) // add blocks + items missing from the map + { + Map newBlocks = frozen.iBlockRegistry.getEntriesNotIn(newData.iBlockRegistry); + Map newItems = frozen.iItemRegistry.getEntriesNotIn(newData.iItemRegistry); + + if (!newBlocks.isEmpty() || !newItems.isEmpty()) + { + FMLLog.info("Injecting new block and item data into this server instance."); + + for (int pass = 0; pass < 2; pass++) + { + boolean isBlock = pass == 0; + Map missing = (pass == 0) ? newBlocks : newItems; + Map remaps = (isBlock ? remapBlocks : remapItems); + + for (Entry entry : missing.entrySet()) + { + String itemName = entry.getKey(); + int currId = entry.getValue(); + int newId; + + if (isBlock) + { + newId = newData.registerBlock(frozen.iBlockRegistry.getRaw(itemName), itemName, currId); + } + else + { + newId = newData.registerItem(frozen.iItemRegistry.getRaw(itemName), itemName, currId); + } + + FMLLog.info("Injected new block/item %s: %d (init) -> %d (map).", itemName, currId, newId); + + if (newId != currId) // a new id was assigned + { + remaps.put(itemName, new Integer[] { entry.getValue(), newId }); + } + } + } + } + } + + newData.testConsistency(); + getMain().set(newData); + + getMain().iBlockRegistry.dump(); + getMain().iItemRegistry.dump(); + Loader.instance().fireRemapEvent(remapBlocks, remapItems); + // The id map changed, ensure we apply object holders + ObjectHolderRegistry.INSTANCE.applyObjectHolders(); + return ImmutableList.of(); + } + + public static List processIdRematches(Iterable missedMappings, boolean isLocalWorld, GameData gameData, Map remapBlocks, Map remapItems) + { + List failed = Lists.newArrayList(); + List ignored = Lists.newArrayList(); + List warned = Lists.newArrayList(); + List defaulted = Lists.newArrayList(); + + for (MissingMapping remap : missedMappings) + { + FMLMissingMappingsEvent.Action action = remap.getAction(); + + if (action == FMLMissingMappingsEvent.Action.REMAP) + { + // block/item re-mapped, finish the registration with the new name/object, but the old id + int currId, newId; + String newName; + + if (remap.type == Type.BLOCK) + { + currId = getMain().iBlockRegistry.getId((Block) remap.getTarget()); + newName = getMain().iBlockRegistry.getNameForObject(remap.getTarget()).toString(); + FMLLog.fine("The Block %s is being remapped to %s.", remap.name, newName); + + newId = gameData.registerBlock((Block) remap.getTarget(), newName, remap.id); + gameData.iBlockRegistry.addAlias(remap.name, newName); + } + else + { + currId = getMain().iItemRegistry.getId((Item) remap.getTarget()); + newName = getMain().iItemRegistry.getNameForObject(remap.getTarget()).toString(); + FMLLog.fine("The Item %s is being remapped to %s.", remap.name, newName); + + newId = gameData.registerItem((Item) remap.getTarget(), newName, remap.id); + gameData.iItemRegistry.addAlias(remap.name, newName); + } + + if (newId != remap.id) throw new IllegalStateException(); + + if (currId != newId) + { + FMLLog.info("Fixed %s id mismatch %s: %d (init) -> %d (map).", remap.type == Type.BLOCK ? "block" : "item", newName, currId, newId); + (remap.type == Type.BLOCK ? remapBlocks : remapItems).put(newName, new Integer[] { currId, newId }); + } + } + else if (action == FMLMissingMappingsEvent.Action.BLOCKONLY) + { + // Pulled out specifically so the block doesn't get reassigned a new ID just because it's + // Item block has gone away + FMLLog.fine("The ItemBlock %s is no longer present in the game. The residual block will remain", remap.name); + } + else + { + // block item missing, warn as requested and block the id + if (action == FMLMissingMappingsEvent.Action.DEFAULT) + { + defaulted.add(remap.name); + } + else if (action == FMLMissingMappingsEvent.Action.IGNORE) + { + ignored.add(remap.name); + } + else if (action == FMLMissingMappingsEvent.Action.FAIL) + { + failed.add(remap.name); + } + else if (action == FMLMissingMappingsEvent.Action.WARN) + { + warned.add(remap.name); + } + + gameData.block(remap.id); // prevent the id from being reused later + } + } + + if (!defaulted.isEmpty()) + { + String text = "Forge Mod Loader detected missing blocks/items.\n\n" + + "There are "+defaulted.size()+" missing blocks and items in this save.\n" + + "If you continue the missing blocks/items will get removed.\n" + + "A world backup will be automatically created in your saves directory.\n\n" + + "Missing Blocks/Items:\n"; + + for (String s : defaulted) text += s + "\n"; + + boolean confirmed = StartupQuery.confirm(text); + if (!confirmed) StartupQuery.abort(); + + try + { + String skip = System.getProperty("fml.doNotBackup"); + if (skip == null || !"true".equals(skip)) + { + ZipperUtil.backupWorld(); + } + else + { + for (int x = 0; x < 10; x++) + FMLLog.severe("!!!!!!!!!! UPDATING WORLD WITHOUT DOING BACKUP !!!!!!!!!!!!!!!!"); + } + } + catch (IOException e) + { + StartupQuery.notify("The world backup couldn't be created.\n\n"+e); + StartupQuery.abort(); + } + + warned.addAll(defaulted); + } + if (!failed.isEmpty()) + { + FMLLog.severe("This world contains blocks and items that refuse to be remapped. The world will not be loaded"); + return failed; + } + if (!warned.isEmpty()) + { + FMLLog.severe("This world contains block and item mappings that may cause world breakage"); + return failed; + } + else if (!ignored.isEmpty()) + { + FMLLog.fine("There were %d missing mappings that have been ignored", ignored.size()); + } + return failed; + } + + public static void freezeData() + { + FMLLog.fine("Freezing block and item id maps"); + + getMain().testConsistency(); + frozen = new GameData(getMain()); + frozen.testConsistency(); + } + + public static void revertToFrozen() + { + if (frozen == null) + { + FMLLog.warning("Can't revert to frozen GameData state without freezing first."); + } + else + { + FMLLog.fine("Reverting to frozen data state."); + + getMain().set(frozen); + } + // the id mapping has reverted, ensure we sync up the object holders + ObjectHolderRegistry.INSTANCE.applyObjectHolders(); + } + + protected static boolean isFrozen(FMLControlledNamespacedRegistry registry) + { + return frozen != null && (getMain().iBlockRegistry == registry || getMain().iItemRegistry == registry); + } + + protected static GameData getMain() + { + return mainData; + } + + // internal registry objects + private final FMLControlledNamespacedRegistry iBlockRegistry; + private final FMLControlledNamespacedRegistry iItemRegistry; + // bit set marking ids as occupied + private final BitSet availabilityMap; + // IDs previously allocated in a world, but now unmapped/dangling; prevents the IDs from being reused + private final Set blockedIds; + + private GameData() + { + iBlockRegistry = new FMLControlledNamespacedRegistry(new ResourceLocation("minecraft:air"), MAX_BLOCK_ID, MIN_BLOCK_ID, Block.class); + iItemRegistry = new FMLControlledNamespacedRegistry(null, MAX_ITEM_ID, MIN_ITEM_ID, Item.class); + availabilityMap = new BitSet(MAX_ITEM_ID + 1); + blockedIds = new HashSet(); + genericRegistries = new HashMap>(); + } + + private GameData(GameData data) + { + this(); + set(data); + } + + private void set(GameData data) + { + iBlockRegistry.set(data.iBlockRegistry); + iItemRegistry.set(data.iItemRegistry); + availabilityMap.clear(); + availabilityMap.or(data.availabilityMap); + blockedIds.clear(); + blockedIds.addAll(data.blockedIds); + copyGenericRegistries(data); + } + + private void copyGenericRegistries(GameData data) { + for (Map.Entry> e : data.genericRegistries.entrySet()) { + FMLControlledNamespacedRegistry orig = e.getValue(); + FMLControlledNamespacedRegistry copy = orig.makeShallowCopy(); + // UGLY AS FUCK + copy.setFrom(orig); + genericRegistries.put(e.getKey(), copy); + } + } + + int register(Object obj, String name, int idHint) // from FMLControlledNamespacedRegistry.addObject + { + if (obj instanceof Block) + { + // tolerate extra name prefixes here since mc does it as well + name = addPrefix(name); + + return registerBlock((Block) obj, name, idHint); + } + else if (obj instanceof Item) + { + // tolerate extra name prefixes here since mc does it as well + name = addPrefix(name); + + return registerItem((Item) obj, name, idHint); + } + else + { + return findRegistry(obj.getClass()).add(idHint,name,obj); + } + } + + int registerItem(Item item, String name) // from GameRegistry + { + int index = name.indexOf(':'); + if (name.indexOf(':') != -1) FMLLog.bigWarning("Illegal extra prefix %s for name %s, invalid registry invocation/invalid name?", name.substring(0, index), name); + + name = addPrefix(name); + return registerItem(item, name, -1); + } + + private int registerItem(Item item, String name, int idHint) + { + if (item instanceof ItemBlock && !(item instanceof ItemBanner)) // ItemBlock, adjust id and clear the slot already occupied by the corresponding block + { + Block block = ((ItemBlock) item).block; + if (idHint != -1 && getMain().blockSubstitutions.containsKey(name)) + { + block = getMain().blockSubstitutions.get(name); + } + int id = iBlockRegistry.getId(block); + + if (id == -1) // ItemBlock before its Block + { + if (idHint < 0 || availabilityMap.get(idHint) || idHint > MAX_BLOCK_ID) // non-suitable id, allocate one in the block id range, add would use the item id range otherwise + { + id = availabilityMap.nextClearBit(MIN_BLOCK_ID); // find suitable id here, iItemRegistry would search from MIN_ITEM_ID + if (id > MAX_BLOCK_ID) throw new RuntimeException(String.format("Invalid id %d - maximum id range exceeded.", id)); + FMLLog.fine("Allocated id %d for ItemBlock %s in the block id range, original id requested: %d.", id, name, idHint); + } + else // idHint is suitable without changes + { + id = idHint; + } + } + else // ItemBlock after its Block + { + FMLLog.fine("Found matching Block %s for ItemBlock %s at id %d, original id requested: %d", block, item, id, idHint); + freeSlot(id, item); // temporarily free the slot occupied by the Block for the item registration + } + + idHint = id; + } + + int itemId = iItemRegistry.add(idHint, name, item, availabilityMap); + + if (item instanceof ItemBlock) // verify + { + if (itemId != idHint) throw new IllegalStateException(String.format("ItemBlock at block id %d insertion failed, got id %d.", idHint, itemId)); + verifyItemBlockName((ItemBlock) item); + } + + // block the Block Registry slot with the same id + useSlot(itemId); + ((RegistryDelegate.Delegate) item.delegate).setName(name); + return itemId; + } + + int registerBlock(Block block, String name) // from GameRegistry + { + int index = name.indexOf(':'); + if (name.indexOf(':') != -1) FMLLog.bigWarning("Illegal extra prefix %s for name %s, invalid registry invocation/invalid name?", name.substring(0, index), name); + + name = addPrefix(name); + return registerBlock(block, name, -1); + } + + private int registerBlock(Block block, String name, int idHint) + { + // handle ItemBlock-before-Block registrations + ItemBlock itemBlock = null; + + for (Item item : iItemRegistry.typeSafeIterable()) // find matching ItemBlock + { + if (item instanceof ItemBlock && ((ItemBlock) item).block == block) + { + itemBlock = (ItemBlock) item; + break; + } + } + + if (itemBlock != null) // has ItemBlock, adjust id and clear the slot already occupied by the corresponding item + { + idHint = iItemRegistry.getId(itemBlock); + FMLLog.fine("Found matching ItemBlock %s for Block %s at id %d", itemBlock, block, idHint); + freeSlot(idHint, block); // temporarily free the slot occupied by the Item for the block registration + } + + // add + int blockId = iBlockRegistry.add(idHint, name, block, availabilityMap); + + if (itemBlock != null) // verify + { + if (blockId != idHint) throw new IllegalStateException(String.format("Block at itemblock id %d insertion failed, got id %d.", idHint, blockId)); + verifyItemBlockName(itemBlock); + } + + useSlot(blockId); + ((RegistryDelegate.Delegate) block.delegate).setName(name); + + for (IBlockState state : ((List)block.getBlockState().getValidStates())) + { + GameData.BLOCKSTATE_TO_ID.put(state, blockId << 4 | block.getMetaFromState(state)); + } + + return blockId; + } + + /** + * Block the specified id from being reused. + */ + private void block(int id) + { + blockedIds.add(id); + useSlot(id); + } + + private void useSlot(int id) + { + availabilityMap.set(id); + } + + /** + * Free the specified slot. + * + * The slot must not be occupied by something else than the specified object within the same type. + * The same object is permitted for handling duplicate registrations. + * + * @param id id to free + * @param obj object allowed besides different types (block vs item) + */ + private void freeSlot(int id, Object obj) + { + FMLControlledNamespacedRegistry registry = (obj instanceof Block) ? iBlockRegistry : iItemRegistry; + Object thing = registry.getRaw(id); + + if (thing != null && thing != obj) + { + throw new IllegalStateException(String.format("Can't free registry slot %d occupied by %s", id, thing)); + } + + availabilityMap.clear(id); + } + + /** + * Prefix the supplied name with the current mod id. + * + * If no mod id can be determined, minecraft will be assumed. + * The prefix is separated with a colon. + * + * If there's already a prefix, it'll be prefixed again if the new prefix + * doesn't match the old prefix, as used by vanilla calls to addObject. + * + * @param name name to prefix. + * @return prefixed name. + */ + private String addPrefix(String name) + { + int index = name.lastIndexOf(':'); + String oldPrefix = index == -1 ? "" : name.substring(0, index); + String prefix; + ModContainer mc = Loader.instance().activeModContainer(); + + if (mc != null) + { + prefix = mc.getModId(); + } + else // no mod container, assume minecraft + { + prefix = "minecraft"; + } + + if (!oldPrefix.equals(prefix)) + { + name = prefix + ":" + name; + } + + return name; + } + + private void verifyItemBlockName(ItemBlock item) + { + Object blockName = iBlockRegistry.getNameForObject(item.block); + Object itemName = iItemRegistry.getNameForObject(item); + + //Vanilla has a mismatch: + //Block <-> ItemBlock name mismatch, block name minecraft:standing_banner, item name minecraft:banner + //TODO: Untie these in the rest of the registry + if (blockName != null && !blockName.equals(itemName) && !"minecraft:standing_banner".equals(blockName.toString())) + { + FMLLog.bigWarning("Block <-> ItemBlock name mismatch, block name %s, item name %s", blockName, itemName); + } + } + + private void testConsistency() { + // test if there's an entry for every set bit in availabilityMap + for (int i = availabilityMap.nextSetBit(0); i >= 0; i = availabilityMap.nextSetBit(i+1)) + { + if (iBlockRegistry.getRaw(i) == null && iItemRegistry.getRaw(i) == null && !blockedIds.contains(i)) + { + throw new IllegalStateException(String.format("availabilityMap references empty entries for id %d.", i)); + } + } + + for (int pass = 0; pass < 2; pass++) + { + boolean isBlock = pass == 0; + String type = isBlock ? "block" : "item"; + FMLControlledNamespacedRegistry registry = isBlock ? iBlockRegistry : iItemRegistry; + registry.validateContent((isBlock ? MAX_BLOCK_ID : MAX_ITEM_ID), type, availabilityMap, blockedIds, iBlockRegistry); + } + + FMLLog.fine("Registry consistency check successful"); + } + + void registerSubstitutionAlias(String nameToSubstitute, Type type, Object toReplace) throws ExistingSubstitutionException + { + type.getRegistry().addSubstitutionAlias(Loader.instance().activeModContainer().getModId(),nameToSubstitute, toReplace); + type.getRegistry().activateSubstitution(nameToSubstitute); + } + static RegistryDelegate buildDelegate(T referant, Class type) + { + return new RegistryDelegate.Delegate(referant, type); + } + + private BiMap itemSubstitutions = HashBiMap.create(); + private BiMap blockSubstitutions = HashBiMap.create(); + @SuppressWarnings("unchecked") + BiMap getPersistentSubstitutionMap(Class type) + { + if (type.equals(Item.class)) + { + return (BiMap) itemSubstitutions; + } + else if (type.equals(Block.class)) + { + return (BiMap) blockSubstitutions; + } + else + { + return ImmutableBiMap.of(); + } + } + + private static Map BLOCK_TO_ITEM = Maps.newHashMap(); + //Internal: DO NOT USE, will change without warning. + public static Map getBlockItemMap() + { + return BLOCK_TO_ITEM; + } + + private static ClearableObjectIntIdentityMap BLOCKSTATE_TO_ID = new ClearableObjectIntIdentityMap(); + //Internal: DO NOT USE, will change without warning. + public static ObjectIntIdentityMap getBlockStateIDMap() + { + return BLOCKSTATE_TO_ID; + } + + //Lets us clear the map so we can rebuild it. + private static class ClearableObjectIntIdentityMap extends ObjectIntIdentityMap + { + private void clear() + { + this.identityMap.clear(); + this.objectList.clear(); + } + } + + private Map> genericRegistries; + // Seed registry types with the blocks and items types so you can't make a new registry of them + private BiMap> registryTypes = HashBiMap.create( + ImmutableMap.>builder() + .put("minecraft:blocks", Block.class) + .put("minecraft:items", Item.class).build()); + + private void findSuperTypes(Class type, Set> types) { + if (type == Object.class) { + return; + } + types.add(type); + for (Class intf : type.getInterfaces()) { + findSuperTypes(intf, types); + } + findSuperTypes(type.getSuperclass(),types); + } + + @SuppressWarnings("unchecked") + private FMLControlledNamespacedRegistry getGenericRegistry(String registryName, Class type) { + FMLControlledNamespacedRegistry fmlControlledNamespacedRegistry = genericRegistries.get(registryName); + return (FMLControlledNamespacedRegistry) fmlControlledNamespacedRegistry; + } + + @SuppressWarnings("unchecked") + private FMLControlledNamespacedRegistry createGenericRegistry(String registryName, Class type, int minId, int maxId) { + Set> parents = Sets.newHashSet(); + findSuperTypes(type, parents); + SetView> overlappedTypes = Sets.intersection(parents, registryTypes.values()); + if (!overlappedTypes.isEmpty()) { + Class foundType = overlappedTypes.iterator().next(); + FMLLog.severe("Found existing registry of type %1s named %2s, you cannot create a new registry (%3s) with type %4s, as %4s has a parent of that type", foundType, registryTypes.inverse().get(foundType), registryName, type); + throw new IllegalArgumentException("Duplicate registry parent type found - you can only have one registry for a particular super type"); + } + FMLControlledNamespacedRegistry fmlControlledNamespacedRegistry = new FMLControlledNamespacedRegistry(null, maxId, minId, type); + genericRegistries.put(registryName, fmlControlledNamespacedRegistry); + registryTypes.put(registryName, type); + return (FMLControlledNamespacedRegistry) fmlControlledNamespacedRegistry; + } + + public static FMLControlledNamespacedRegistry createRegistry(String registryName, Class type, int minId, int maxId) { + return getMain().createGenericRegistry(registryName, type, minId, maxId); + } + + private FMLControlledNamespacedRegistry findRegistry(Class type) { + BiMap, String> typeReg = registryTypes.inverse(); + String name = typeReg.get(type); + if (name == null) { + Set> parents = Sets.newHashSet(); + findSuperTypes(type, parents); + SetView> foundType = Sets.intersection(parents, registryTypes.values()); + if (foundType.isEmpty()) { + FMLLog.severe("Unable to find registry for type %s", type.getName()); + throw new IllegalArgumentException("Attempt to register an object without an associated registry"); + } + Class regtype = Iterables.getOnlyElement(foundType); + name = typeReg.get(regtype); + } + return genericRegistries.get(name); + } + private List loadGenericRegistries(GameDataSnapshot snapshot, GameData existing) { + List result = Lists.newArrayList(); + for (Map.Entry> e : existing.genericRegistries.entrySet()) + { + String regName = e.getKey(); + FMLControlledNamespacedRegistry registry = e.getValue(); + FMLControlledNamespacedRegistry newRegistry = genericRegistries.get(regName); + if (newRegistry == null) + { + newRegistry = registry.makeShallowCopy(); + genericRegistries.put(regName, newRegistry); + } + + GameDataSnapshot.Entry regSnap = snapshot.entries.get("fmlgr:"+regName); + if (regSnap == null) { + FMLLog.info("Weird, there was no registry data for registry %s found in the snapshot", regName); + continue; + } + + for (Entry entry : regSnap.ids.entrySet()) + { + String entryName = entry.getKey(); + int entryId = entry.getValue(); + int currId = registry.getId(entryName); + + if (currId == -1) + { + FMLLog.info("Found a missing id in registry %s from the world %s", regName, entryName); + result.add(regName+"{"+entryName+"}="+entryId); + continue; // no block/item -> nothing to add + } + else if (currId != entryId) + { + FMLLog.fine("Fixed registry %s id mismatch %s: %d (init) -> %d (map).", regName, entryName, currId, entryId); + } + + + newRegistry.add(entryId, entryName, registry.getRaw(entryName)); + + } + } + return result; + } + + public static FMLControlledNamespacedRegistry getRegistry(String registryName, Class type) { + return getMain().getGenericRegistry(registryName, type); + } + + + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/registry/GameRegistry.java b/fml/src/main/java/net/minecraftforge/fml/common/registry/GameRegistry.java new file mode 100644 index 000000000..c6c54e1c0 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/registry/GameRegistry.java @@ -0,0 +1,454 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.registry; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.lang.reflect.Constructor; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.Set; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.CraftingManager; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.item.crafting.IRecipe; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraft.world.chunk.IChunkProvider; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.IFuelHandler; +import net.minecraftforge.fml.common.IWorldGenerator; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.LoaderException; +import net.minecraftforge.fml.common.LoaderState; +import net.minecraftforge.fml.common.ObfuscationReflectionHelper; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.Objects; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.ObjectArrays; +import com.google.common.collect.Sets; +import com.google.common.primitives.Ints; + +public class GameRegistry +{ + private static Set worldGenerators = Sets.newHashSet(); + private static Map worldGeneratorIndex = Maps.newHashMap(); + private static List fuelHandlers = Lists.newArrayList(); + private static List sortedGeneratorList; + + /** + * Register a world generator - something that inserts new block types into the world + * + * @param generator the generator + * @param modGenerationWeight a weight to assign to this generator. Heavy weights tend to sink to the bottom of + * list of world generators (i.e. they run later) + */ + public static void registerWorldGenerator(IWorldGenerator generator, int modGenerationWeight) + { + worldGenerators.add(generator); + worldGeneratorIndex.put(generator, modGenerationWeight); + if (sortedGeneratorList != null) + { + sortedGeneratorList = null; + } + } + + /** + * Callback hook for world gen - if your mod wishes to add extra mod related generation to the world + * call this + * + * @param chunkX + * @param chunkZ + * @param world + * @param chunkGenerator + * @param chunkProvider + */ + public static void generateWorld(int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) + { + if (sortedGeneratorList == null) + { + computeSortedGeneratorList(); + } + long worldSeed = world.getSeed(); + Random fmlRandom = new Random(worldSeed); + long xSeed = fmlRandom.nextLong() >> 2 + 1L; + long zSeed = fmlRandom.nextLong() >> 2 + 1L; + long chunkSeed = (xSeed * chunkX + zSeed * chunkZ) ^ worldSeed; + + for (IWorldGenerator generator : sortedGeneratorList) + { + fmlRandom.setSeed(chunkSeed); + generator.generate(fmlRandom, chunkX, chunkZ, world, chunkGenerator, chunkProvider); + } + } + + private static void computeSortedGeneratorList() + { + ArrayList list = Lists.newArrayList(worldGenerators); + Collections.sort(list, new Comparator() { + @Override + public int compare(IWorldGenerator o1, IWorldGenerator o2) + { + return Ints.compare(worldGeneratorIndex.get(o1), worldGeneratorIndex.get(o2)); + } + }); + sortedGeneratorList = ImmutableList.copyOf(list); + } + + /** + * Register an item with the item registry with a custom name : this allows for easier server->client resolution + * + * @param item The item to register + * @param name The mod-unique name of the item + */ + public static void registerItem(net.minecraft.item.Item item, String name) + { + registerItem(item, name, null); + } + + /** + * Register the specified Item with a mod specific name : overrides the standard type based name + * @param item The item to register + * @param name The mod-unique name to register it as - null will remove a custom name + * @param modId deprecated, unused + * where one mod should "own" all the blocks of all the mods, null defaults to the active mod + */ + public static Item registerItem(Item item, String name, String modId) + { + GameData.getMain().registerItem(item, name); + return item; + } + + + /** + * Add a forced persistent substitution alias for the block or item to another block or item. This will have + * the effect of using the substituted block or item instead of the original, where ever it is + * referenced. + * + * @param nameToSubstitute The name to link to (this is the NEW block or item) + * @param type The type (Block or Item) + * @param object a NEW instance that is type compatible with the existing instance + * @throws ExistingSubstitutionException if someone else has already registered an alias either from or to one of the names + * @throws IncompatibleSubstitutionException if the substitution is incompatible + */ + public static void addSubstitutionAlias(String nameToSubstitute, GameRegistry.Type type, Object object) throws ExistingSubstitutionException + { + GameData.getMain().registerSubstitutionAlias(nameToSubstitute, type, object); + } + + /** + * Register a block with the specified mod specific name + * @param block The block to register + * @param name The mod-unique name to register it as, will get prefixed by your modid. + */ + public static Block registerBlock(Block block, String name) + { + return registerBlock(block, ItemBlock.class, name); + } + + /** + * Register a block with the world, with the specified item class and block name + * @param block The block to register + * @param itemclass The item type to register with it : null registers a block without associated item. + * @param name The mod-unique name to register it as, will get prefixed by your modid. + */ + public static Block registerBlock(Block block, Class itemclass, String name) + { + return registerBlock(block, itemclass, name, new Object[]{}); + } + + /** + * Register a block with the world, with the specified item class, block name and owning modId + * @param block The block to register + * @param itemclass The item type to register with it : null registers a block without associated item. + * @param name The mod-unique name to register it as, will get prefixed by your modid. + * @param itemCtorArgs Arguments to pass (after the required {@code Block} parameter) to the ItemBlock constructor (optional). + */ + public static Block registerBlock(Block block, Class itemclass, String name, Object... itemCtorArgs) + { + if (Loader.instance().isInState(LoaderState.CONSTRUCTING)) + { + FMLLog.warning("The mod %s is attempting to register a block whilst it it being constructed. This is bad modding practice - please use a proper mod lifecycle event.", Loader.instance().activeModContainer()); + } + try + { + assert block != null : "registerBlock: block cannot be null"; + ItemBlock i = null; + if (itemclass != null) + { + Class[] ctorArgClasses = new Class[itemCtorArgs.length + 1]; + ctorArgClasses[0] = Block.class; + for (int idx = 1; idx < ctorArgClasses.length; idx++) + { + ctorArgClasses[idx] = itemCtorArgs[idx-1].getClass(); + } + Constructor itemCtor = itemclass.getConstructor(ctorArgClasses); + i = itemCtor.newInstance(ObjectArrays.concat(block, itemCtorArgs)); + } + // block registration has to happen first + GameData.getMain().registerBlock(block, name); + if (i != null) + { + GameData.getMain().registerItem(i, name); + GameData.getBlockItemMap().put(block, i); + } + return block; + } + catch (Exception e) + { + FMLLog.log(Level.ERROR, e, "Caught an exception during block registration"); + throw new LoaderException(e); + } + } + + public static void addRecipe(ItemStack output, Object... params) + { + addShapedRecipe(output, params); + } + + public static IRecipe addShapedRecipe(ItemStack output, Object... params) + { + return CraftingManager.getInstance().addRecipe(output, params); + } + + public static void addShapelessRecipe(ItemStack output, Object... params) + { + CraftingManager.getInstance().addShapelessRecipe(output, params); + } + + @SuppressWarnings("unchecked") + public static void addRecipe(IRecipe recipe) + { + CraftingManager.getInstance().getRecipeList().add(recipe); + } + + public static void addSmelting(Block input, ItemStack output, float xp) + { + FurnaceRecipes.instance().addSmeltingRecipeForBlock(input, output, xp); + } + + public static void addSmelting(Item input, ItemStack output, float xp) + { + FurnaceRecipes.instance().addSmelting(input, output, xp); + } + + public static void addSmelting(ItemStack input, ItemStack output, float xp) + { + FurnaceRecipes.instance().addSmeltingRecipe(input, output, xp); + } + + public static void registerTileEntity(Class tileEntityClass, String id) + { + TileEntity.addMapping(tileEntityClass, id); + } + + /** + * Register a tile entity, with alternative TileEntity identifiers. Use with caution! + * This method allows for you to "rename" the 'id' of the tile entity. + * + * @param tileEntityClass The tileEntity class to register + * @param id The primary ID, this will be the ID that the tileentity saves as + * @param alternatives A list of alternative IDs that will also map to this class. These will never save, but they will load + */ + public static void registerTileEntityWithAlternatives(Class tileEntityClass, String id, String... alternatives) + { + TileEntity.addMapping(tileEntityClass, id); + Map> teMappings = ObfuscationReflectionHelper.getPrivateValue(TileEntity.class, null, "field_" + "145855_i", "nameToClassMap"); + for (String s: alternatives) + { + if (!teMappings.containsKey(s)) + { + teMappings.put(s, tileEntityClass); + } + } + } + + public static void registerFuelHandler(IFuelHandler handler) + { + fuelHandlers.add(handler); + } + public static int getFuelValue(ItemStack itemStack) + { + int fuelValue = 0; + for (IFuelHandler handler : fuelHandlers) + { + fuelValue = Math.max(fuelValue, handler.getBurnTime(itemStack)); + } + return fuelValue; + } + + /** + * Look up a mod block in the global "named item list" + * @param modId The modid owning the block + * @param name The name of the block itself + * @return The block or null if not found + */ + public static Block findBlock(String modId, String name) + { + return GameData.findBlock(modId, name); + } + + /** + * Look up a mod item in the global "named item list" + * @param modId The modid owning the item + * @param name The name of the item itself + * @return The item or null if not found + */ + public static Item findItem(String modId, String name) + { + return GameData.findItem(modId, name); + } + + public static final class UniqueIdentifier + { + public final String modId; + public final String name; + UniqueIdentifier(String modId, String name) + { + this.modId = modId; + this.name = name; + } + + public UniqueIdentifier(String string) + { + String[] parts = string.split(":"); + this.modId = parts[0]; + this.name = parts[1]; + } + + public UniqueIdentifier(Object obj) + { + if (obj instanceof String) + { + String[] parts = ((String)obj).split(":"); + this.modId = parts[0]; + this.name = parts[1]; + } + else if (obj instanceof ResourceLocation) + { + this.modId = ((ResourceLocation)obj).getResourceDomain(); + this.name = ((ResourceLocation)obj).getResourcePath(); + } + else + { + throw new IllegalArgumentException("UniqueIdentifier must be a String or ResourceLocation, was " + obj.getClass()); + } + } + + @Override + public boolean equals(Object obj) + { + if (obj == null) return false; + if (obj.getClass() != this.getClass()) return false; + final UniqueIdentifier other = (UniqueIdentifier) obj; + return Objects.equal(modId, other.modId) && Objects.equal(name, other.name); + } + + @Override + public int hashCode() + { + return Objects.hashCode(modId, name); + } + + @Override + public String toString() + { + return String.format("%s:%s", modId, name); + } + } + + public static enum Type { + BLOCK + { + @Override + public FMLControlledNamespacedRegistry getRegistry() { + return GameData.getBlockRegistry(); + } + }, + ITEM + { + @Override + public FMLControlledNamespacedRegistry getRegistry() { + return GameData.getItemRegistry(); + } + }; + + public abstract FMLControlledNamespacedRegistry getRegistry(); + } + /** + * Look up the mod identifier data for a block. + * Returns null if there is no mod specified mod identifier data, or it is part of a + * custom itemstack definition {@link #registerCustomItemStack} + * + * Note: uniqueness and persistence is only guaranteed by mods using the game registry + * correctly. + * + * @param block to lookup + * @return a {@link UniqueIdentifier} for the block or null + */ + public static UniqueIdentifier findUniqueIdentifierFor(Block block) + { + return GameData.getUniqueName(block); + } + /** + * Look up the mod identifier data for an item. + * Returns null if there is no mod specified mod identifier data, or it is part of a + * custom itemstack definition {@link #registerCustomItemStack} + * + * Note: uniqueness and persistence is only guaranteed by mods using the game registry + * correctly. + * + * @param item to lookup + * @return a {@link UniqueIdentifier} for the item or null + */ + public static UniqueIdentifier findUniqueIdentifierFor(Item item) + { + return GameData.getUniqueName(item); + } + + + + /** + * This will cause runtime injection of public static final fields to occur at various points + * where mod blocks and items could be subject to change. This allows for dynamic + * substitution to occur. + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target({ElementType.TYPE, ElementType.FIELD}) + public @interface ObjectHolder { + /** + * If used on a class, this represents a modid only. + * If used on a field, it represents a name, which can be abbreviated or complete. + * Abbreviated names derive their modid from an enclosing ObjectHolder at the class level. + * + * @return either a modid or a name based on the rules above + */ + String value(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/registry/IEntityAdditionalSpawnData.java b/fml/src/main/java/net/minecraftforge/fml/common/registry/IEntityAdditionalSpawnData.java new file mode 100644 index 000000000..7816cdc32 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/registry/IEntityAdditionalSpawnData.java @@ -0,0 +1,38 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.registry; + +import io.netty.buffer.ByteBuf; + +/** + * A interface for Entities that need extra information to be communicated + * between the server and client when they are spawned. + */ +public interface IEntityAdditionalSpawnData +{ + /** + * Called by the server when constructing the spawn packet. + * Data should be added to the provided stream. + * + * @param buffer The packet data stream + */ + public void writeSpawnData(ByteBuf buffer); + + /** + * Called by the client when it receives a Entity spawn packet. + * Data should be read out of the stream in the same way as it was written. + * + * @param data The packet data stream + */ + public void readSpawnData(ByteBuf additionalData); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/registry/IThrowableEntity.java b/fml/src/main/java/net/minecraftforge/fml/common/registry/IThrowableEntity.java new file mode 100644 index 000000000..2afb40dbd --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/registry/IThrowableEntity.java @@ -0,0 +1,34 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.registry; + +import net.minecraft.entity.Entity; + +/** + * This interface should be implemented by an Entity that can be 'thrown', like snowballs. + * This was created to mimic ModLoaderMP's 'owner' functionality. + */ +public interface IThrowableEntity +{ + /** + * Gets the entity that threw/created this entity. + * @return The owner instance, Null if none. + */ + public Entity getThrower(); + + /** + * Sets the entity that threw/created this entity. + * @param entity The new thrower/creator. + */ + public void setThrower(Entity entity); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/registry/IncompatibleSubstitutionException.java b/fml/src/main/java/net/minecraftforge/fml/common/registry/IncompatibleSubstitutionException.java new file mode 100644 index 000000000..b40b341cc --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/registry/IncompatibleSubstitutionException.java @@ -0,0 +1,11 @@ +package net.minecraftforge.fml.common.registry; + +public class IncompatibleSubstitutionException extends RuntimeException { + public IncompatibleSubstitutionException(String fromName, Object replacement, Object original) + { + super(String.format("The substitute %s for %s (type %s) is type incompatible.", replacement.getClass().getName(), fromName, original.getClass().getName())); + } + + private static final long serialVersionUID = 1L; + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/registry/LanguageRegistry.java b/fml/src/main/java/net/minecraftforge/fml/common/registry/LanguageRegistry.java new file mode 100644 index 000000000..24770d13b --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/registry/LanguageRegistry.java @@ -0,0 +1,317 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.registry; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URL; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Properties; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; + +import org.apache.logging.log4j.Level; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.StringTranslate; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.relauncher.Side; + +import com.google.common.base.Charsets; + +public class LanguageRegistry +{ + private static final LanguageRegistry INSTANCE = new LanguageRegistry(); + + private Map modLanguageData=new HashMap(); + + private static final Pattern assetENUSLang = Pattern.compile("assets/(.*)/lang/(?:.+/|)([\\w_-]+).lang"); + + public static LanguageRegistry instance() + { + return INSTANCE; + } + + public String getStringLocalization(String key) + { + return getStringLocalization(key, FMLCommonHandler.instance().getCurrentLanguage()); + } + + public String getStringLocalization(String key, String lang) + { + String localizedString = ""; + Properties langPack = modLanguageData.get(lang); + + if (langPack != null) { + if (langPack.getProperty(key) != null) { + localizedString = langPack.getProperty(key); + } + } + + return localizedString; + } + + /** + * Deprecated for removal in 1.8. Use the assets lang system + */ + @Deprecated + public void addStringLocalization(String key, String value) + { + addStringLocalization(key, "en_US", value); + } + + /** + * Deprecated for removal in 1.8. Use the assets lang system + */ + @Deprecated + public void addStringLocalization(String key, String lang, String value) + { + Properties langPack=modLanguageData.get(lang); + if (langPack==null) { + langPack=new Properties(); + modLanguageData.put(lang, langPack); + } + langPack.put(key,value); + } + + /** + * Deprecated for removal in 1.8. Use the assets lang system + */ + @Deprecated + public void addStringLocalization(Properties langPackAdditions) { + addStringLocalization(langPackAdditions, "en_US"); + } + + /** + * Deprecated for removal in 1.8. Use the assets lang system + */ + @Deprecated + public void addStringLocalization(Properties langPackAdditions, String lang) { + Properties langPack = modLanguageData.get(lang); + if (langPack == null) { + langPack = new Properties(); + modLanguageData.put(lang, langPack); + } + if (langPackAdditions != null) { + langPack.putAll(langPackAdditions); + } + } + + /** + * Deprecated for removal in 1.8. Use the assets lang system + */ + @Deprecated + public void addNameForObject(Object objectToName, String lang, String name) + { + String objectName; + if (objectToName instanceof Item) { + objectName=((Item)objectToName).getUnlocalizedName(); + } else if (objectToName instanceof Block) { + objectName=((Block)objectToName).getUnlocalizedName(); + } else if (objectToName instanceof ItemStack) { + objectName=((ItemStack)objectToName).getItem().getUnlocalizedName((ItemStack)objectToName); + } else { + throw new IllegalArgumentException(String.format("Illegal object for naming %s",objectToName)); + } + objectName+=".name"; + addStringLocalization(objectName, lang, name); + } + + /** + * Deprecated for removal in 1.8. Use the assets lang system + */ + @Deprecated + public static void addName(Object objectToName, String name) + { + instance().addNameForObject(objectToName, "en_US", name); + } + + /** + * Deprecated for removal in 1.8. Use the assets lang system + */ + @SuppressWarnings("unchecked") + @Deprecated + public void mergeLanguageTable(@SuppressWarnings("rawtypes") Map properties, String lang) + { + Properties langPack=modLanguageData.get(lang); + if (langPack!=null) { + mergeWithoutOverwrite(langPack, properties); + } + Properties usPack=modLanguageData.get("en_US"); + if (usPack!=null) { + mergeWithoutOverwrite(usPack, properties); + } + } + + @Deprecated + private void mergeWithoutOverwrite(Map from, Map to) + { + for (Entry e : from.entrySet()) + { + if (!to.containsKey(e.getKey())) + { + to.put(e.getKey(),e.getValue()); + } + } + } + /** + * Deprecated for removal in 1.8. Use the assets lang system + */ + @Deprecated + public void loadLocalization(String localizationFile, String lang, boolean isXML) + { + URL urlResource = this.getClass().getResource(localizationFile); + if (urlResource != null) + { + loadLocalization(urlResource, lang, isXML); + } + else + { + ModContainer activeModContainer = Loader.instance().activeModContainer(); + if (activeModContainer!=null) + { + FMLLog.log(activeModContainer.getModId(), Level.ERROR, "The language resource %s cannot be located on the classpath. This is a programming error.", localizationFile); + } + else + { + FMLLog.log(Level.ERROR, "The language resource %s cannot be located on the classpath. This is a programming error.", localizationFile); + } + } + } + + /** + * Deprecated for removal in 1.8. Use the assets lang system + */ + @Deprecated + public void loadLocalization(URL localizationFile, String lang, boolean isXML) + { + InputStream langStream = null; + Properties langPack = new Properties(); + + try { + langStream = localizationFile.openStream(); + + if (isXML) { + langPack.loadFromXML(langStream); + } + else { + langPack.load(new InputStreamReader(langStream,Charsets.UTF_8)); + } + + addStringLocalization(langPack, lang); + } + catch (IOException e) { + FMLLog.log(Level.ERROR, e, "Unable to load localization from file %s", localizationFile); + } + finally { + try { + if (langStream != null) { + langStream.close(); + } + } + catch (IOException ex) { + // HUSH + } + } + } + + public void injectLanguage(String language, HashMap parsedLangFile) + { + + Properties p = modLanguageData.get(language); + if (p == null) + { + p = new Properties(); + modLanguageData.put(language, p); + } + p.putAll(parsedLangFile); + } + + public void loadLanguagesFor(ModContainer container, Side side) + { + File source = container.getSource(); + try + { + if (source.isDirectory()) + { + searchDirForLanguages(source, "", side); + } + else + { + searchZipForLanguages(source, side); + } + } + catch (IOException ioe) + { + + } + } + + private void searchZipForLanguages(File source, Side side) throws IOException + { + ZipFile zf = new ZipFile(source); + for (ZipEntry ze : Collections.list(zf.entries())) + { + Matcher matcher = assetENUSLang.matcher(ze.getName()); + if (matcher.matches()) + { + String lang = matcher.group(2); + FMLLog.fine("Injecting found translation data for lang %s in zip file %s at %s into language system", lang, source.getName(), ze.getName()); + LanguageRegistry.instance().injectLanguage(lang, StringTranslate.parseLangFile(zf.getInputStream(ze))); + // Ensure en_US is available to StringTranslate on the server + if ("en_US".equals(lang) && side == Side.SERVER) + { + StringTranslate.inject(zf.getInputStream(ze)); + } + } + } + zf.close(); + } + + private void searchDirForLanguages(File source, String path, Side side) throws IOException + { + for (File file : source.listFiles()) + { + String currPath = path+file.getName(); + if (file.isDirectory()) + { + searchDirForLanguages(file, currPath+'/', side); + } + Matcher matcher = assetENUSLang.matcher(currPath); + if (matcher.matches()) + { + String lang = matcher.group(2); + FMLLog.fine("Injecting found translation assets for lang %s at %s into language system", lang, currPath); + LanguageRegistry.instance().injectLanguage(lang, StringTranslate.parseLangFile(new FileInputStream(file))); + // Ensure en_US is available to StringTranslate on the server + if ("en_US".equals(lang) && side == Side.SERVER) + { + StringTranslate.inject(new FileInputStream(file)); + } + } + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/registry/ObjectHolderRef.java b/fml/src/main/java/net/minecraftforge/fml/common/registry/ObjectHolderRef.java new file mode 100644 index 000000000..3a3571701 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/registry/ObjectHolderRef.java @@ -0,0 +1,136 @@ +package net.minecraftforge.fml.common.registry; + +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.Throwables; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder; + + +/** + * Internal class used in tracking {@link ObjectHolder} references + * + * @author cpw + * + */ +class ObjectHolderRef { + private Field field; + private String injectedObject; + private boolean isBlock; + private boolean isItem; + + + ObjectHolderRef(Field field, String injectedObject, boolean extractFromExistingValues) + { + this.field = field; + this.isBlock = Block.class.isAssignableFrom(field.getType()); + this.isItem = Item.class.isAssignableFrom(field.getType()); + if (extractFromExistingValues) + { + try + { + Object existing = field.get(null); + // nothing is ever allowed to replace AIR + if (existing == null || existing == GameData.getBlockRegistry().getDefaultValue()) + { + this.injectedObject = null; + this.field = null; + this.isBlock = false; + this.isItem = false; + return; + } + else + { + Object tmp = isBlock ? GameData.getBlockRegistry().getNameForObject(existing) : + isItem ? GameData.getItemRegistry().getNameForObject(existing) : null; + this.injectedObject = tmp != null ? tmp.toString() : null; + } + } catch (Exception e) + { + throw Throwables.propagate(e); + } + } + else + { + this.injectedObject = injectedObject; + } + + if (this.injectedObject == null || !isValid()) + { + throw new IllegalStateException("The ObjectHolder annotation cannot apply to a field that is not an Item or Block"); + } + makeWritable(field); + } + + private static Field modifiersField; + private static Object reflectionFactory; + private static Method newFieldAccessor; + private static Method fieldAccessorSet; + private static void makeWritable(Field f) + { + try + { + if (modifiersField == null) + { + Method getReflectionFactory = Class.forName("sun.reflect.ReflectionFactory").getDeclaredMethod("getReflectionFactory"); + reflectionFactory = getReflectionFactory.invoke(null); + newFieldAccessor = Class.forName("sun.reflect.ReflectionFactory").getDeclaredMethod("newFieldAccessor", Field.class, boolean.class); + fieldAccessorSet = Class.forName("sun.reflect.FieldAccessor").getDeclaredMethod("set", Object.class, Object.class); + modifiersField = Field.class.getDeclaredField("modifiers"); + modifiersField.setAccessible(true); + } + modifiersField.setInt(f, f.getModifiers() & ~Modifier.FINAL); + } catch (Exception e) + { + throw Throwables.propagate(e); + } + } + + public boolean isValid() + { + return isBlock || isItem; + } + public void apply() + { + Object thing; + if (isBlock) + { + thing = GameData.getBlockRegistry().getObject(injectedObject); + if (thing == Blocks.air) + { + thing = null; + } + } + else if (isItem) + { + thing = GameData.getItemRegistry().getObject(injectedObject); + } + else + { + thing = null; + } + + if (thing == null) + { + FMLLog.warning("Unable to lookup %s for %s. Is there something wrong with the registry?", injectedObject, field); + return; + } + try + { + Object fieldAccessor = newFieldAccessor.invoke(reflectionFactory, field, false); + fieldAccessorSet.invoke(fieldAccessor, null, thing); + } + catch (Exception e) + { + FMLLog.log(Level.WARN, e, "Unable to set %s with value %s (%s)", this.field, thing, this.injectedObject); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/registry/ObjectHolderRegistry.java b/fml/src/main/java/net/minecraftforge/fml/common/registry/ObjectHolderRegistry.java new file mode 100644 index 000000000..ca6da5418 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/registry/ObjectHolderRegistry.java @@ -0,0 +1,143 @@ +package net.minecraftforge.fml.common.registry; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.discovery.ASMDataTable; +import net.minecraftforge.fml.common.discovery.ASMDataTable.ASMData; +import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder; + +import com.google.common.base.Throwables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; + +/** + * Internal registry for tracking {@link ObjectHolder} references + * @author cpw + * + */ +public enum ObjectHolderRegistry { + INSTANCE; + private List objectHolders = Lists.newArrayList(); + + public void findObjectHolders(ASMDataTable table) + { + FMLLog.info("Processing ObjectHolder annotations"); + Set allObjectHolders = table.getAll(GameRegistry.ObjectHolder.class.getName()); + Map classModIds = Maps.newHashMap(); + Map> classCache = Maps.newHashMap(); + for (ASMData data : allObjectHolders) + { + String className = data.getClassName(); + String annotationTarget = data.getObjectName(); + String value = (String) data.getAnnotationInfo().get("value"); + boolean isClass = className.equals(annotationTarget); + if (isClass) + { + scanTarget(classModIds, classCache, className, annotationTarget, value, isClass, false); + } + } + // double pass - get all the class level annotations first, then the field level annotations + for (ASMData data : allObjectHolders) + { + String className = data.getClassName(); + String annotationTarget = data.getObjectName(); + String value = (String) data.getAnnotationInfo().get("value"); + boolean isClass = className.equals(annotationTarget); + if (!isClass) + { + scanTarget(classModIds, classCache, className, annotationTarget, value, isClass, false); + } + } + scanTarget(classModIds, classCache, "net.minecraft.init.Blocks", null, "minecraft", true, true); + scanTarget(classModIds, classCache, "net.minecraft.init.Items", null, "minecraft", true, true); + FMLLog.info("Found %d ObjectHolder annotations", objectHolders.size()); + } + + private void scanTarget(Map classModIds, Map> classCache, String className, String annotationTarget, String value, boolean isClass, boolean extractFromValue) + { + Class clazz; + if (classCache.containsKey(className)) + { + clazz = classCache.get(className); + } + else + { + try + { + clazz = Class.forName(className, true, getClass().getClassLoader()); + classCache.put(className, clazz); + } + catch (Exception ex) + { + // unpossible? + throw Throwables.propagate(ex); + } + } + if (isClass) + { + scanClassForFields(classModIds, className, value, clazz, extractFromValue); + } + else + { + if (value.indexOf(':') == -1) + { + String prefix = classModIds.get(className); + if (prefix == null) + { + FMLLog.warning("Found an unqualified ObjectHolder annotation (%s) without a modid context at %s.%s, ignoring", value, className, annotationTarget); + throw new IllegalStateException("Unqualified reference to ObjectHolder"); + } + value = prefix + ":" + value; + } + try + { + Field f = clazz.getField(annotationTarget); + addHolderReference(new ObjectHolderRef(f, value, extractFromValue)); + } + catch (Exception ex) + { + // unpossible? + throw Throwables.propagate(ex); + } + } + } + + private void scanClassForFields(Map classModIds, String className, String value, Class clazz, boolean extractFromExistingValues) + { + classModIds.put(className, value); + for (Field f : clazz.getFields()) + { + int mods = f.getModifiers(); + boolean isMatch = Modifier.isPublic(mods) && Modifier.isStatic(mods) && Modifier.isFinal(mods); + if (!isMatch || f.isAnnotationPresent(ObjectHolder.class)) + { + continue; + } + addHolderReference(new ObjectHolderRef(f, value + ":"+ f.getName(), extractFromExistingValues)); + } + } + + private void addHolderReference(ObjectHolderRef ref) + { + if (ref.isValid()) + { + objectHolders.add(ref); + } + } + + public void applyObjectHolders() + { + FMLLog.info("Applying holder lookups"); + for (ObjectHolderRef ohr : objectHolders) + { + ohr.apply(); + } + FMLLog.info("Holder lookups applied"); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/registry/RegistryDelegate.java b/fml/src/main/java/net/minecraftforge/fml/common/registry/RegistryDelegate.java new file mode 100644 index 000000000..0052bdec4 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/registry/RegistryDelegate.java @@ -0,0 +1,94 @@ +package net.minecraftforge.fml.common.registry; + +import com.google.common.base.Objects; + + +/** + * A registry delegate for holding references to items or blocks + * These should be safe to use in things like lists though aliased items and blocks will not + * have object identity with respect to their delegate. + * + * @author cpw + * + * @param the type of thing we're holding onto + */ +public interface RegistryDelegate { + /** + * Get the referent pointed at by this delegate. This will be the currently active item or block, and will change + * as world saves come and go. Note that item.delegate.get() may NOT be the same object as item, due to item and + * block substitution. + * + * @return The referred object + */ + T get(); + + /** + * Get the name of this delegate. This is completely static after registration has completed and will never change. + * @return The name + */ + String name(); + + /** + * Get the delegate type. It will be Item or Block. + * @return The type of delegate + */ + Class type(); + + /* + * This is the internal implementation class of the delegate. + */ + final class Delegate implements RegistryDelegate + { + private T referant; + private String name; + private final Class type; + + public Delegate(T referant, Class type) { + this.referant = referant; + this.type = type; + } + + @Override + public T get() { + return referant; + } + + @Override + public String name() { + return name; + } + + @Override + public Class type() + { + return this.type; + } + + void changeReference(T newTarget) + { + this.referant = newTarget; + } + + void setName(String name) + { + this.name = name; + } + + @Override + public boolean equals(Object obj) + { + if (obj instanceof Delegate) + { + Delegate other = (Delegate) obj; + return Objects.equal(other.name, name); + } + return false; + } + + @Override + public int hashCode() + { + return Objects.hashCode(name); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/registry/VillagerRegistry.java b/fml/src/main/java/net/minecraftforge/fml/common/registry/VillagerRegistry.java new file mode 100644 index 000000000..b4af63763 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/registry/VillagerRegistry.java @@ -0,0 +1,515 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.registry; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.Set; + +import org.apache.commons.lang3.Validate; + +import net.minecraft.block.Block; +import net.minecraft.entity.passive.EntityVillager; +import net.minecraft.entity.passive.EntityVillager.*; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.EnumDyeColor; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.ObjectIntIdentityMap; +import net.minecraft.util.RegistryNamespacedDefaultedByKey; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Tuple; +import net.minecraft.village.MerchantRecipeList; +import net.minecraft.world.gen.structure.StructureVillagePieces; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; + +/** + * Registry for villager trading control + * + * @author cpw + * + */ +public class VillagerRegistry +{ + private static final VillagerRegistry INSTANCE = new VillagerRegistry(); + + private Map, IVillageCreationHandler> villageCreationHandlers = Maps.newHashMap(); + private List newVillagerIds = Lists.newArrayList(); + @SideOnly(Side.CLIENT) + private Map newVillagers; + + private VillagerRegistry() + { + init(); + } + + /** + * Allow access to the {@link net.minecraft.world.gen.structure.StructureVillagePieces} array controlling new village + * creation so you can insert your own new village pieces + * + * @author cpw + * + */ + public interface IVillageCreationHandler + { + /** + * Called when {@link net.minecraft.world.gen.structure.MapGenVillage} is creating a new village + * + * @param random + * @param i + */ + StructureVillagePieces.PieceWeight getVillagePieceWeight(Random random, int i); + + /** + * The class of the root structure component to add to the village + */ + Class getComponentClass(); + + + /** + * Build an instance of the village component {@link net.minecraft.world.gen.structure.StructureVillagePieces} + * @param villagePiece + * @param startPiece + * @param pieces + * @param random + * @param p1 + * @param p2 + * @param p3 + * @param facing + * @param p5 + */ + Object buildComponent(StructureVillagePieces.PieceWeight villagePiece, StructureVillagePieces.Start startPiece, @SuppressWarnings("rawtypes") List pieces, Random random, int p1, + int p2, int p3, EnumFacing facing, int p5); + } + + public static VillagerRegistry instance() + { + return INSTANCE; + } + + /** + * Register your villager id + * @param id + */ + @Deprecated // Doesn't work at all. + public void registerVillagerId(int id) + { + if (newVillagerIds.contains(id)) + { + FMLLog.severe("Attempt to register duplicate villager id %d", id); + throw new RuntimeException(); + } + newVillagerIds.add(id); + } + /** + * Register a new skin for a villager type + * + * @param villagerId + * @param villagerSkin + */ + @SideOnly(Side.CLIENT) + @Deprecated // Doesn't work at all. + public void registerVillagerSkin(int villagerId, ResourceLocation villagerSkin) + { + if (newVillagers == null) + { + newVillagers = Maps.newHashMap(); + } + newVillagers.put(villagerId, villagerSkin); + } + + /** + * Register a new village creation handler + * + * @param handler + */ + public void registerVillageCreationHandler(IVillageCreationHandler handler) + { + villageCreationHandlers.put(handler.getComponentClass(), handler); + } + + /** + * Callback to setup new villager types + * + * @param villagerType + * @param defaultSkin + */ + @SideOnly(Side.CLIENT) + @Deprecated // Doesn't work at all. + public static ResourceLocation getVillagerSkin(int villagerType, ResourceLocation defaultSkin) + { + if (instance().newVillagers != null && instance().newVillagers.containsKey(villagerType)) + { + return instance().newVillagers.get(villagerType); + } + return defaultSkin; + } + + /** + * Returns a list of all added villager types + * + * @return newVillagerIds + */ + @Deprecated // Doesn't work at all. + public static Collection getRegisteredVillagers() + { + return Collections.unmodifiableCollection(instance().newVillagerIds); + } + + public static void addExtraVillageComponents(@SuppressWarnings("rawtypes") ArrayList components, Random random, int i) + { + @SuppressWarnings("unchecked") + List parts = components; + for (IVillageCreationHandler handler : instance().villageCreationHandlers.values()) + { + parts.add(handler.getVillagePieceWeight(random, i)); + } + } + + public static Object getVillageComponent(StructureVillagePieces.PieceWeight villagePiece, StructureVillagePieces.Start startPiece, @SuppressWarnings("rawtypes") List pieces, Random random, + int p1, int p2, int p3, EnumFacing facing, int p5) + { + return instance().villageCreationHandlers.get(villagePiece.villagePieceClass).buildComponent(villagePiece, startPiece, pieces, random, p1, p2, p3, facing, p5); + } + + public void register(VillagerProfession prof) + { + register(prof, -1); + } + private void register(VillagerProfession prof, int id) + { + professions.register(id, prof.name, prof); + } + + private boolean hasInit = false; + private FMLControlledNamespacedRegistry professions = GameData.createRegistry("villagerprofessions", VillagerProfession.class, 0, 1024); + + + private void init() + { + if (hasInit) + return; + + VillagerProfession prof = new VillagerProfession("minecraft:farmer", "minecraft:textures/entity/villager/farmer.png"); + { + register(prof, 0); + (new VillagerCareer(prof, "farmer" )).init(VanillaTrades.trades[0][0]); + (new VillagerCareer(prof, "fisherman" )).init(VanillaTrades.trades[0][1]); + (new VillagerCareer(prof, "shepherd" )).init(VanillaTrades.trades[0][2]); + (new VillagerCareer(prof, "fletcher" )).init(VanillaTrades.trades[0][3]); + } + prof = new VillagerProfession("minecraft:librarian", "minecraft:textures/entity/villager/librarian.png"); + { + register(prof, 1); + (new VillagerCareer(prof, "librarian")).init(VanillaTrades.trades[1][0]); + } + prof = new VillagerProfession("minecraft:priest", "minecraft:textures/entity/villager/priest.png"); + { + register(prof, 2); + (new VillagerCareer(prof, "cleric")).init(VanillaTrades.trades[2][0]); + } + prof = new VillagerProfession("minecraft:smith", "minecraft:textures/entity/villager/smith.png"); + { + register(prof, 3); + (new VillagerCareer(prof, "armor" )).init(VanillaTrades.trades[3][0]); + (new VillagerCareer(prof, "weapon")).init(VanillaTrades.trades[3][1]); + (new VillagerCareer(prof, "tool" )).init(VanillaTrades.trades[3][2]); + } + prof = new VillagerProfession("minecraft:butcher", "minecraft:textures/entity/villager/butcher.png"); + { + register(prof, 4); + (new VillagerCareer(prof, "butcher")).init(VanillaTrades.trades[4][0]); + (new VillagerCareer(prof, "leather")).init(VanillaTrades.trades[4][1]); + } + } + + public static class VillagerProfession + { + private ResourceLocation name; + private ResourceLocation texture; + private List careers = Lists.newArrayList(); + private RegistryDelegate delegate = GameData.getRegistry("villagerprofessions", VillagerProfession.class).getDelegate(this, VillagerProfession.class); + + public VillagerProfession(String name, String texture) + { + this.name = new ResourceLocation(name); + this.texture = new ResourceLocation(texture); + ((RegistryDelegate.Delegate)delegate).setName(name); + } + + private void register(VillagerCareer career) + { + Validate.isTrue(!careers.contains(career), "Attempted to register career that is already registered."); + Validate.isTrue(career.profession == this, "Attempted to register career for the wrong profession."); + career.id = careers.size(); + careers.add(career); + } + } + + public static class VillagerCareer + { + private VillagerProfession profession; + private String name; + private int id; + public VillagerCareer(VillagerProfession parent, String name) + { + this.profession = parent; + this.name = name; + parent.register(this); + } + + private VillagerCareer init(EntityVillager.ITradeList[][] traids) + { + return this; + } + + @Override + public boolean equals(Object o) + { + if (o == this) return true; + if (!(o instanceof VillagerCareer)) return false; + VillagerCareer oc = (VillagerCareer)o; + return name.equals(oc.name) && profession == oc.profession; + } + } + + /** + * Hook called when spawning a Villager, sets it's profession to a random registered profession. + * + * @param entity The new entity + * @param rand The world's RNG + */ + public static void setRandomProfession(EntityVillager entity, Random rand) + { + Set entries = INSTANCE.professions.getKeys(); + int prof = rand.nextInt(entries.size()); + //TODO: Grab id range from internal registry + entity.setProfession(rand.nextInt(5)); + } + + //TODO: Figure out a good generic system for this. Put on hold for Patches. + + private static class VanillaTrades + { + //This field is moved from EntityVillager over to here. + //Moved to inner class to stop static initializer issues. + //It is nasty I know but it's vanilla. + private static final ITradeList[][][][] trades = + { + { + { + { + new EmeraldForItems(Items.wheat, new PriceInfo(18, 22)), + new EmeraldForItems(Items.potato, new PriceInfo(15, 19)), + new EmeraldForItems(Items.carrot, new PriceInfo(15, 19)), + new ListItemForEmeralds(Items.bread, new PriceInfo(-4, -2)) + }, + { + new EmeraldForItems(Item.getItemFromBlock(Blocks.pumpkin), new PriceInfo(8, 13)), + new ListItemForEmeralds(Items.pumpkin_pie, new PriceInfo(-3, -2)) + }, + { + new EmeraldForItems(Item.getItemFromBlock(Blocks.melon_block), new PriceInfo(7, 12)), + new ListItemForEmeralds(Items.apple, new PriceInfo(-5, -7)) + }, + { + new ListItemForEmeralds(Items.cookie, new PriceInfo(-6, -10)), + new ListItemForEmeralds(Items.cake, new PriceInfo(1, 1)) + } + }, + { + { + new EmeraldForItems(Items.string, new PriceInfo(15, 20)), + new EmeraldForItems(Items.coal, new PriceInfo(16, 24)), + new ItemAndEmeraldToItem(Items.fish, new PriceInfo(6, 6), Items.cooked_fish, new PriceInfo(6, 6)) + }, + { + new ListEnchantedItemForEmeralds(Items.fishing_rod, new PriceInfo(7, 8)) + } + }, + { + { + new EmeraldForItems(Item.getItemFromBlock(Blocks.wool), new PriceInfo(16, 22)), + new ListItemForEmeralds(Items.shears, new PriceInfo(3, 4)) + }, + { + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 0), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 1), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 2), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 3), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 4), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 5), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 6), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 7), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 8), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 9), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 10), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 11), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 12), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 13), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 14), new PriceInfo(1, 2)), + new ListItemForEmeralds(new ItemStack(Blocks.wool, 1, 15), new PriceInfo(1, 2)) + } + }, + { + { + new EmeraldForItems(Items.string, new PriceInfo(15, 20)), + new ListItemForEmeralds(Items.arrow, new PriceInfo(-12, -8)) + }, + { + new ListItemForEmeralds(Items.bow, new PriceInfo(2, 3)), + new ItemAndEmeraldToItem(Item.getItemFromBlock(Blocks.gravel), new PriceInfo(10, 10), Items.flint, new PriceInfo(6, 10)) + } + } + }, + { + { + { + new EmeraldForItems(Items.paper, new PriceInfo(24, 36)), + new ListEnchantedBookForEmeralds() + }, + { + new EmeraldForItems(Items.book, new PriceInfo(8, 10)), + new ListItemForEmeralds(Items.compass, new PriceInfo(10, 12)), + new ListItemForEmeralds(Item.getItemFromBlock(Blocks.bookshelf), new PriceInfo(3, 4)) + }, + { + new EmeraldForItems(Items.written_book, new PriceInfo(2, 2)), + new ListItemForEmeralds(Items.clock, new PriceInfo(10, 12)), + new ListItemForEmeralds(Item.getItemFromBlock(Blocks.glass), new PriceInfo(-5, -3)) + }, + { + new ListEnchantedBookForEmeralds() + }, + { + new ListEnchantedBookForEmeralds() + }, + { + new ListItemForEmeralds(Items.name_tag, new PriceInfo(20, 22)) + } + } + }, + { + { + { + new EmeraldForItems(Items.rotten_flesh, new PriceInfo(36, 40)), + new EmeraldForItems(Items.gold_ingot, new PriceInfo(8, 10)) + }, + { + new ListItemForEmeralds(Items.redstone, new PriceInfo(-4, -1)), + new ListItemForEmeralds(new ItemStack(Items.dye, 1, EnumDyeColor.BLUE.getDyeDamage()), + new PriceInfo(-2, -1)) + }, + { + new ListItemForEmeralds(Items.ender_eye, new PriceInfo(7, 11)), + new ListItemForEmeralds(Item.getItemFromBlock(Blocks.glowstone), new PriceInfo(-3, -1)) + }, + { + new ListItemForEmeralds(Items.experience_bottle, new PriceInfo(3, 11)) + } + } + }, + { + { + { + new EmeraldForItems(Items.coal, new PriceInfo(16, 24)), + new ListItemForEmeralds(Items.iron_helmet, new PriceInfo(4, 6)) + }, + { + new EmeraldForItems(Items.iron_ingot, new PriceInfo(7, 9)), + new ListItemForEmeralds(Items.iron_chestplate, new PriceInfo(10, 14)) + }, + { + new EmeraldForItems(Items.diamond, new PriceInfo(3, 4)), + new ListEnchantedItemForEmeralds(Items.diamond_chestplate, new PriceInfo(16, 19)) + }, + { + new ListItemForEmeralds(Items.chainmail_boots, new PriceInfo(5, 7)), + new ListItemForEmeralds(Items.chainmail_leggings, new PriceInfo(9, 11)), + new ListItemForEmeralds(Items.chainmail_helmet, new PriceInfo(5, 7)), + new ListItemForEmeralds(Items.chainmail_chestplate, new PriceInfo(11, 15)) + } + }, + { + { + new EmeraldForItems(Items.coal, new PriceInfo(16, 24)), + new ListItemForEmeralds(Items.iron_axe, new PriceInfo(6, 8)) + }, + { + new EmeraldForItems(Items.iron_ingot, new PriceInfo(7, 9)), + new ListEnchantedItemForEmeralds(Items.iron_sword, new PriceInfo(9, 10)) + }, + { + new EmeraldForItems(Items.diamond, new PriceInfo(3, 4)), + new ListEnchantedItemForEmeralds(Items.diamond_sword, new PriceInfo(12, 15)), + new ListEnchantedItemForEmeralds(Items.diamond_axe, new PriceInfo(9, 12)) + } + }, + { + { + new EmeraldForItems(Items.coal, new PriceInfo(16, 24)), + new ListEnchantedItemForEmeralds(Items.iron_shovel, new PriceInfo(5, 7)) + }, + { + new EmeraldForItems(Items.iron_ingot, new PriceInfo(7, 9)), + new ListEnchantedItemForEmeralds(Items.iron_pickaxe, new PriceInfo(9, 11)) + }, + { + new EmeraldForItems(Items.diamond, new PriceInfo(3, 4)), + new ListEnchantedItemForEmeralds(Items.diamond_pickaxe, new PriceInfo(12, 15)) + } + } + }, + { + { + { + new EmeraldForItems(Items.porkchop, new PriceInfo(14, 18)), + new EmeraldForItems(Items.chicken, new PriceInfo(14, 18)) + }, + { + new EmeraldForItems(Items.coal, new PriceInfo(16, 24)), + new ListItemForEmeralds(Items.cooked_porkchop, new PriceInfo(-7, -5)), + new ListItemForEmeralds(Items.cooked_chicken, new PriceInfo(-8, -6)) + } + }, + { + { + new EmeraldForItems(Items.leather, new PriceInfo(9, 12)), + new ListItemForEmeralds(Items.leather_leggings, new PriceInfo(2, 4)) + }, + { + new ListEnchantedItemForEmeralds(Items.leather_chestplate, new PriceInfo(7, 12)) + }, + { + new ListItemForEmeralds(Items.saddle, new PriceInfo(8, 10)) + } + } + } + }; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/toposort/ModSorter.java b/fml/src/main/java/net/minecraftforge/fml/common/toposort/ModSorter.java new file mode 100644 index 000000000..4c0c2a1e2 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/toposort/ModSorter.java @@ -0,0 +1,137 @@ +/* + * The FML Forge Mod Loader suite. Copyright (C) 2012 cpw + * + * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +package net.minecraftforge.fml.common.toposort; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import net.minecraftforge.fml.common.DummyModContainer; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.ModAPIManager; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.toposort.TopologicalSort.DirectedGraph; +import net.minecraftforge.fml.common.versioning.ArtifactVersion; + +import com.google.common.collect.Maps; + +/** + * @author cpw + * + */ +public class ModSorter +{ + private DirectedGraph modGraph; + + private ModContainer beforeAll = new DummyModContainer("BeforeAll"); + private ModContainer afterAll = new DummyModContainer("AfterAll"); + private ModContainer before = new DummyModContainer("Before"); + private ModContainer after = new DummyModContainer("After"); + + public ModSorter(List modList, Map nameLookup) + { + HashMap sortingNameLookup = Maps.newHashMap(nameLookup); + ModAPIManager.INSTANCE.injectAPIModContainers(modList, sortingNameLookup); + buildGraph(modList, sortingNameLookup); + } + + private void buildGraph(List modList, Map nameLookup) + { + modGraph = new DirectedGraph(); + modGraph.addNode(beforeAll); + modGraph.addNode(before); + modGraph.addNode(afterAll); + modGraph.addNode(after); + modGraph.addEdge(before, after); + modGraph.addEdge(beforeAll, before); + modGraph.addEdge(after, afterAll); + + for (ModContainer mod : modList) + { + modGraph.addNode(mod); + } + + for (ModContainer mod : modList) + { + if (mod.isImmutable()) + { + // Immutable mods are always before everything + modGraph.addEdge(beforeAll, mod); + modGraph.addEdge(mod, before); + continue; + } + boolean preDepAdded = false; + boolean postDepAdded = false; + + for (ArtifactVersion dep : mod.getDependencies()) + { + preDepAdded = true; + + String modid = dep.getLabel(); + if (modid.equals("*")) + { + // We are "after" everything + modGraph.addEdge(mod, afterAll); + modGraph.addEdge(after, mod); + postDepAdded = true; + } + else + { + modGraph.addEdge(before, mod); + if (nameLookup.containsKey(modid) || Loader.isModLoaded(modid)) { + modGraph.addEdge(nameLookup.get(modid), mod); + } + } + } + + for (ArtifactVersion dep : mod.getDependants()) + { + postDepAdded = true; + + String modid = dep.getLabel(); + if (modid.equals("*")) + { + // We are "before" everything + modGraph.addEdge(beforeAll, mod); + modGraph.addEdge(mod, before); + preDepAdded = true; + } + else + { + modGraph.addEdge(mod, after); + if (Loader.isModLoaded(modid)) { + modGraph.addEdge(mod, nameLookup.get(modid)); + } + } + } + + if (!preDepAdded) + { + modGraph.addEdge(before, mod); + } + + if (!postDepAdded) + { + modGraph.addEdge(mod, after); + } + } + } + + public List sort() + { + List sortedList = TopologicalSort.topologicalSort(modGraph); + sortedList.removeAll(Arrays.asList(new ModContainer[] {beforeAll, before, after, afterAll})); + return sortedList; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/toposort/ModSortingException.java b/fml/src/main/java/net/minecraftforge/fml/common/toposort/ModSortingException.java new file mode 100644 index 000000000..78b3e8151 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/toposort/ModSortingException.java @@ -0,0 +1,56 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.toposort; + +import java.util.Set; + +public class ModSortingException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public class SortingExceptionData + { + public SortingExceptionData(T node, Set visitedNodes) + { + this.firstBadNode = node; + this.visitedNodes = visitedNodes; + } + + private T firstBadNode; + private Set visitedNodes; + + public T getFirstBadNode() + { + return firstBadNode; + } + public Set getVisitedNodes() + { + return visitedNodes; + } + } + + private SortingExceptionData sortingExceptionData; + + public ModSortingException(String string, T node, Set visitedNodes) + { + super(string); + this.sortingExceptionData = new SortingExceptionData(node, visitedNodes); + } + + @SuppressWarnings("unchecked") + public SortingExceptionData getExceptionData() + { + return (SortingExceptionData) sortingExceptionData; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/toposort/TopologicalSort.java b/fml/src/main/java/net/minecraftforge/fml/common/toposort/TopologicalSort.java new file mode 100644 index 000000000..bfaca5b84 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/toposort/TopologicalSort.java @@ -0,0 +1,207 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.toposort; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; + +import net.minecraftforge.fml.common.FMLLog; + +import com.google.common.collect.Sets; +import com.google.common.collect.Sets.SetView; + +/** + * Topological sort for mod loading + * + * Based on a variety of sources, including http://keithschwarz.com/interesting/code/?dir=topological-sort + * @author cpw + * + */ +public class TopologicalSort +{ + public static class DirectedGraph implements Iterable + { + private final Map> graph = new HashMap>(); + private List orderedNodes = new ArrayList(); + + public boolean addNode(T node) + { + // Ignore nodes already added + if (graph.containsKey(node)) + { + return false; + } + + orderedNodes.add(node); + graph.put(node, new TreeSet(new Comparator() + { + @Override + public int compare(T o1, T o2) { + return orderedNodes.indexOf(o1)-orderedNodes.indexOf(o2); + } + })); + return true; + } + + public void addEdge(T from, T to) + { + if (!(graph.containsKey(from) && graph.containsKey(to))) + { + throw new NoSuchElementException("Missing nodes from graph"); + } + + graph.get(from).add(to); + } + + public void removeEdge(T from, T to) + { + if (!(graph.containsKey(from) && graph.containsKey(to))) + { + throw new NoSuchElementException("Missing nodes from graph"); + } + + graph.get(from).remove(to); + } + + public boolean edgeExists(T from, T to) + { + if (!(graph.containsKey(from) && graph.containsKey(to))) + { + throw new NoSuchElementException("Missing nodes from graph"); + } + + return graph.get(from).contains(to); + } + + public Set edgesFrom(T from) + { + if (!graph.containsKey(from)) + { + throw new NoSuchElementException("Missing node from graph"); + } + + return Collections.unmodifiableSortedSet(graph.get(from)); + } + @Override + public Iterator iterator() + { + return orderedNodes.iterator(); + } + + public int size() + { + return graph.size(); + } + + public boolean isEmpty() + { + return graph.isEmpty(); + } + + @Override + public String toString() + { + return graph.toString(); + } + } + + /** + * Sort the input graph into a topologically sorted list + * + * Uses the reverse depth first search as outlined in ... + * @param graph + * @return The sorted mods list. + */ + public static List topologicalSort(DirectedGraph graph) + { + DirectedGraph rGraph = reverse(graph); + List sortedResult = new ArrayList(); + Set visitedNodes = new HashSet(); + // A list of "fully explored" nodes. Leftovers in here indicate cycles in the graph + Set expandedNodes = new HashSet(); + + for (T node : rGraph) + { + explore(node, rGraph, sortedResult, visitedNodes, expandedNodes); + } + + return sortedResult; + } + + public static DirectedGraph reverse(DirectedGraph graph) + { + DirectedGraph result = new DirectedGraph(); + + for (T node : graph) + { + result.addNode(node); + } + + for (T from : graph) + { + for (T to : graph.edgesFrom(from)) + { + result.addEdge(to, from); + } + } + + return result; + } + + public static void explore(T node, DirectedGraph graph, List sortedResult, Set visitedNodes, Set expandedNodes) + { + // Have we been here before? + if (visitedNodes.contains(node)) + { + // And have completed this node before + if (expandedNodes.contains(node)) + { + // Then we're fine + return; + } + + FMLLog.severe("Mod Sorting failed."); + FMLLog.severe("Visting node %s", node); + FMLLog.severe("Current sorted list : %s", sortedResult); + FMLLog.severe("Visited set for this node : %s", visitedNodes); + FMLLog.severe("Explored node set : %s", expandedNodes); + SetView cycleList = Sets.difference(visitedNodes, expandedNodes); + FMLLog.severe("Likely cycle is in : %s", cycleList); + throw new ModSortingException("There was a cycle detected in the input graph, sorting is not possible", node, cycleList); + } + + // Visit this node + visitedNodes.add(node); + + // Recursively explore inbound edges + for (T inbound : graph.edgesFrom(node)) + { + explore(inbound, graph, sortedResult, visitedNodes, expandedNodes); + } + + // Add ourselves now + sortedResult.add(node); + // And mark ourselves as explored + expandedNodes.add(node); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/versioning/ArtifactVersion.java b/fml/src/main/java/net/minecraftforge/fml/common/versioning/ArtifactVersion.java new file mode 100644 index 000000000..d5883911e --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/versioning/ArtifactVersion.java @@ -0,0 +1,50 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.versioning; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** + * Describes an artifact version in terms of its components, converts it to/from a string and + * compares two versions. + * + * @author Brett Porter + */ +public interface ArtifactVersion + extends Comparable +{ + String getLabel(); + + String getVersionString(); + + boolean containsVersion(ArtifactVersion source); + + String getRangeString(); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/versioning/ComparableVersion.java b/fml/src/main/java/net/minecraftforge/fml/common/versioning/ComparableVersion.java new file mode 100644 index 000000000..1d86ab5cf --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/versioning/ComparableVersion.java @@ -0,0 +1,500 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.versioning; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; +import java.util.ListIterator; +import java.util.Locale; +import java.util.Properties; +import java.util.Stack; + +/** + * Generic implementation of version comparison. + * + *

Features: + *

    + *
  • mixing of '-' (dash) and '.' (dot) separators,
  • + *
  • transition between characters and digits also constitutes a separator: + * 1.0alpha1 => [1, 0, alpha, 1]
  • + *
  • unlimited number of version components,
  • + *
  • version components in the text can be digits or strings,
  • + *
  • strings are checked for well-known qualifiers and the qualifier ordering is used for version ordering. + * Well-known qualifiers (case insensitive) are:
      + *
    • snapshot
    • + *
    • alpha or a
    • + *
    • beta or b
    • + *
    • milestone or m
    • + *
    • rc or cr
    • + *
    • (the empty string) or ga or final
    • + *
    • sp
    • + *
    + * Unknown qualifiers are considered after known qualifiers, with lexical order (always case insensitive), + *
  • + *
  • a dash usually precedes a qualifier, and is always less important than something preceded with a dot.
  • + *

+ * + * @see "Versioning" on Maven Wiki + * @author Kenney Westerhof + * @author Hervé Boutemy + */ +public class ComparableVersion + implements Comparable +{ + private String value; + + private String canonical; + + private ListItem items; + + private interface Item + { + final int INTEGER_ITEM = 0; + final int STRING_ITEM = 1; + final int LIST_ITEM = 2; + + int compareTo( Item item ); + + int getType(); + + boolean isNull(); + } + + /** + * Represents a numeric item in the version item list. + */ + private static class IntegerItem + implements Item + { + private static final BigInteger BigInteger_ZERO = new BigInteger( "0" ); + + private final BigInteger value; + + public static final IntegerItem ZERO = new IntegerItem(); + + private IntegerItem() + { + this.value = BigInteger_ZERO; + } + + public IntegerItem( String str ) + { + this.value = new BigInteger( str ); + } + + @Override + public int getType() + { + return INTEGER_ITEM; + } + + @Override + public boolean isNull() + { + return BigInteger_ZERO.equals( value ); + } + + @Override + public int compareTo( Item item ) + { + if ( item == null ) + { + return BigInteger_ZERO.equals( value ) ? 0 : 1; // 1.0 == 1, 1.1 > 1 + } + + switch ( item.getType() ) + { + case INTEGER_ITEM: + return value.compareTo( ( (IntegerItem) item ).value ); + + case STRING_ITEM: + return 1; // 1.1 > 1-sp + + case LIST_ITEM: + return 1; // 1.1 > 1-1 + + default: + throw new RuntimeException( "invalid item: " + item.getClass() ); + } + } + + @Override + public String toString() + { + return value.toString(); + } + } + + /** + * Represents a string in the version item list, usually a qualifier. + */ + private static class StringItem + implements Item + { + private static final String[] QUALIFIERS = { "alpha", "beta", "milestone", "rc", "snapshot", "", "sp" }; + + private static final List _QUALIFIERS = Arrays.asList( QUALIFIERS ); + + private static final Properties ALIASES = new Properties(); + static + { + ALIASES.put( "ga", "" ); + ALIASES.put( "final", "" ); + ALIASES.put( "cr", "rc" ); + } + + /** + * A comparable value for the empty-string qualifier. This one is used to determine if a given qualifier makes + * the version older than one without a qualifier, or more recent. + */ + private static final String RELEASE_VERSION_INDEX = String.valueOf( _QUALIFIERS.indexOf( "" ) ); + + private String value; + + public StringItem( String value, boolean followedByDigit ) + { + if ( followedByDigit && value.length() == 1 ) + { + // a1 = alpha-1, b1 = beta-1, m1 = milestone-1 + switch ( value.charAt( 0 ) ) + { + case 'a': + value = "alpha"; + break; + case 'b': + value = "beta"; + break; + case 'm': + value = "milestone"; + break; + } + } + this.value = ALIASES.getProperty( value , value ); + } + + @Override + public int getType() + { + return STRING_ITEM; + } + + @Override + public boolean isNull() + { + return ( comparableQualifier( value ).compareTo( RELEASE_VERSION_INDEX ) == 0 ); + } + + /** + * Returns a comparable value for a qualifier. + * + * This method takes into account the ordering of known qualifiers then unknown qualifiers with lexical ordering. + * + * just returning an Integer with the index here is faster, but requires a lot of if/then/else to check for -1 + * or QUALIFIERS.size and then resort to lexical ordering. Most comparisons are decided by the first character, + * so this is still fast. If more characters are needed then it requires a lexical sort anyway. + * + * @param qualifier + * @return an equivalent value that can be used with lexical comparison + */ + public static String comparableQualifier( String qualifier ) + { + int i = _QUALIFIERS.indexOf( qualifier ); + + return i == -1 ? ( _QUALIFIERS.size() + "-" + qualifier ) : String.valueOf( i ); + } + + @Override + public int compareTo( Item item ) + { + if ( item == null ) + { + // 1-rc < 1, 1-ga > 1 + return comparableQualifier( value ).compareTo( RELEASE_VERSION_INDEX ); + } + switch ( item.getType() ) + { + case INTEGER_ITEM: + return -1; // 1.any < 1.1 ? + + case STRING_ITEM: + return comparableQualifier( value ).compareTo( comparableQualifier( ( (StringItem) item ).value ) ); + + case LIST_ITEM: + return -1; // 1.any < 1-1 + + default: + throw new RuntimeException( "invalid item: " + item.getClass() ); + } + } + + @Override + public String toString() + { + return value; + } + } + + /** + * Represents a version list item. This class is used both for the global item list and for sub-lists (which start + * with '-(number)' in the version specification). + */ + private static class ListItem + extends ArrayList + implements Item + { + /** + * + */ + private static final long serialVersionUID = 1L; + + @Override + public int getType() + { + return LIST_ITEM; + } + + @Override + public boolean isNull() + { + return ( size() == 0 ); + } + + void normalize() + { + for( ListIterator iterator = listIterator( size() ); iterator.hasPrevious(); ) + { + Item item = iterator.previous(); + if ( item.isNull() ) + { + iterator.remove(); // remove null trailing items: 0, "", empty list + } + else + { + break; + } + } + } + + @Override + public int compareTo( Item item ) + { + if ( item == null ) + { + if ( size() == 0 ) + { + return 0; // 1-0 = 1- (normalize) = 1 + } + Item first = get( 0 ); + return first.compareTo( null ); + } + switch ( item.getType() ) + { + case INTEGER_ITEM: + return -1; // 1-1 < 1.0.x + + case STRING_ITEM: + return 1; // 1-1 > 1-sp + + case LIST_ITEM: + Iterator left = iterator(); + Iterator right = ( (ListItem) item ).iterator(); + + while ( left.hasNext() || right.hasNext() ) + { + Item l = left.hasNext() ? left.next() : null; + Item r = right.hasNext() ? right.next() : null; + + // if this is shorter, then invert the compare and mul with -1 + int result = l == null ? -1 * r.compareTo( l ) : l.compareTo( r ); + + if ( result != 0 ) + { + return result; + } + } + + return 0; + + default: + throw new RuntimeException( "invalid item: " + item.getClass() ); + } + } + + @Override + public String toString() + { + StringBuilder buffer = new StringBuilder( "(" ); + for( Iterator iter = iterator(); iter.hasNext(); ) + { + buffer.append( iter.next() ); + if ( iter.hasNext() ) + { + buffer.append( ',' ); + } + } + buffer.append( ')' ); + return buffer.toString(); + } + } + + public ComparableVersion( String version ) + { + parseVersion( version ); + } + + public final void parseVersion( String version ) + { + this.value = version; + + items = new ListItem(); + + version = version.toLowerCase( Locale.ENGLISH ); + + ListItem list = items; + + Stack stack = new Stack(); + stack.push( list ); + + boolean isDigit = false; + + int startIndex = 0; + + for ( int i = 0; i < version.length(); i++ ) + { + char c = version.charAt( i ); + + if ( c == '.' ) + { + if ( i == startIndex ) + { + list.add( IntegerItem.ZERO ); + } + else + { + list.add( parseItem( isDigit, version.substring( startIndex, i ) ) ); + } + startIndex = i + 1; + } + else if ( c == '-' ) + { + if ( i == startIndex ) + { + list.add( IntegerItem.ZERO ); + } + else + { + list.add( parseItem( isDigit, version.substring( startIndex, i ) ) ); + } + startIndex = i + 1; + + if ( isDigit ) + { + list.normalize(); // 1.0-* = 1-* + + if ( ( i + 1 < version.length() ) && Character.isDigit( version.charAt( i + 1 ) ) ) + { + // new ListItem only if previous were digits and new char is a digit, + // ie need to differentiate only 1.1 from 1-1 + list.add( list = new ListItem() ); + + stack.push( list ); + } + } + } + else if ( Character.isDigit( c ) ) + { + if ( !isDigit && i > startIndex ) + { + list.add( new StringItem( version.substring( startIndex, i ), true ) ); + startIndex = i; + } + + isDigit = true; + } + else + { + if ( isDigit && i > startIndex ) + { + list.add( parseItem( true, version.substring( startIndex, i ) ) ); + startIndex = i; + } + + isDigit = false; + } + } + + if ( version.length() > startIndex ) + { + list.add( parseItem( isDigit, version.substring( startIndex ) ) ); + } + + while ( !stack.isEmpty() ) + { + list = (ListItem) stack.pop(); + list.normalize(); + } + + canonical = items.toString(); + } + + private static Item parseItem( boolean isDigit, String buf ) + { + return isDigit ? new IntegerItem( buf ) : new StringItem( buf, false ); + } + + @Override + public int compareTo( ComparableVersion o ) + { + return items.compareTo( o.items ); + } + + @Override + public String toString() + { + return value; + } + + @Override + public boolean equals( Object o ) + { + return ( o instanceof ComparableVersion ) && canonical.equals( ( (ComparableVersion) o ).canonical ); + } + + @Override + public int hashCode() + { + return canonical.hashCode(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/versioning/DefaultArtifactVersion.java b/fml/src/main/java/net/minecraftforge/fml/common/versioning/DefaultArtifactVersion.java new file mode 100644 index 000000000..f9f11dd28 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/versioning/DefaultArtifactVersion.java @@ -0,0 +1,106 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.versioning; + +public class DefaultArtifactVersion implements ArtifactVersion +{ + + private ComparableVersion comparableVersion; + private String label; + private boolean unbounded; + private VersionRange range; + + public DefaultArtifactVersion(String versionNumber) + { + comparableVersion = new ComparableVersion(versionNumber); + range = VersionRange.createFromVersion(versionNumber, this); + } + + public DefaultArtifactVersion(String label, VersionRange range) + { + this.label = label; + this.range = range; + } + public DefaultArtifactVersion(String label, String version) + { + this(version); + this.label = label; + } + + public DefaultArtifactVersion(String string, boolean unbounded) + { + this.label = string; + this.unbounded = true; + } + + @Override + public boolean equals(Object obj) + { + return ((DefaultArtifactVersion)obj).containsVersion(this); + } + + @Override + public int compareTo(ArtifactVersion o) + { + return unbounded ? 0 : this.comparableVersion.compareTo(((DefaultArtifactVersion)o).comparableVersion); + } + + @Override + public String getLabel() + { + return label; + } + + @Override + public boolean containsVersion(ArtifactVersion source) + { + if (!source.getLabel().equals(getLabel())) + { + return false; + } + if (unbounded) + { + return true; + } + if (range != null) + { + return range.containsVersion(source); + } + else + { + return false; + } + } + + @Override + public String getVersionString() + { + return comparableVersion == null ? "unknown" : comparableVersion.toString(); + } + + @Override + public String getRangeString() + { + return range == null ? "any" : range.toString(); + } + @Override + public String toString() + { + return label == null ? comparableVersion.toString() : label + ( unbounded ? "" : "@" + range); + } + + public VersionRange getRange() + { + return range; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/versioning/InvalidVersionSpecificationException.java b/fml/src/main/java/net/minecraftforge/fml/common/versioning/InvalidVersionSpecificationException.java new file mode 100644 index 000000000..16339e4f9 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/versioning/InvalidVersionSpecificationException.java @@ -0,0 +1,47 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.versioning; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** + * Occurs when a version is invalid. + * + * @author Brett Porter + */ +public class InvalidVersionSpecificationException extends Exception +{ + private static final long serialVersionUID = 1L; + + public InvalidVersionSpecificationException( String message ) + { + super( message ); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/versioning/Restriction.java b/fml/src/main/java/net/minecraftforge/fml/common/versioning/Restriction.java new file mode 100644 index 000000000..e3a8511c1 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/versioning/Restriction.java @@ -0,0 +1,212 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.versioning; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/** + * Describes a restriction in versioning. + * + * @author Brett Porter + */ +public class Restriction +{ + private final ArtifactVersion lowerBound; + + private final boolean lowerBoundInclusive; + + private final ArtifactVersion upperBound; + + private final boolean upperBoundInclusive; + + public static final Restriction EVERYTHING = new Restriction( null, false, null, false ); + + public Restriction( ArtifactVersion lowerBound, boolean lowerBoundInclusive, ArtifactVersion upperBound, + boolean upperBoundInclusive ) + { + this.lowerBound = lowerBound; + this.lowerBoundInclusive = lowerBoundInclusive; + this.upperBound = upperBound; + this.upperBoundInclusive = upperBoundInclusive; + } + + public ArtifactVersion getLowerBound() + { + return lowerBound; + } + + public boolean isLowerBoundInclusive() + { + return lowerBoundInclusive; + } + + public ArtifactVersion getUpperBound() + { + return upperBound; + } + + public boolean isUpperBoundInclusive() + { + return upperBoundInclusive; + } + + public boolean containsVersion( ArtifactVersion version ) + { + if ( lowerBound != null ) + { + int comparison = lowerBound.compareTo( version ); + + if ( ( comparison == 0 ) && !lowerBoundInclusive ) + { + return false; + } + if ( comparison > 0 ) + { + return false; + } + } + if ( upperBound != null ) + { + int comparison = upperBound.compareTo( version ); + + if ( ( comparison == 0 ) && !upperBoundInclusive ) + { + return false; + } + if ( comparison < 0 ) + { + return false; + } + } + + return true; + } + + @Override + public int hashCode() + { + int result = 13; + + if ( lowerBound == null ) + { + result += 1; + } + else + { + result += lowerBound.hashCode(); + } + + result *= lowerBoundInclusive ? 1 : 2; + + if ( upperBound == null ) + { + result -= 3; + } + else + { + result -= upperBound.hashCode(); + } + + result *= upperBoundInclusive ? 2 : 3; + + return result; + } + + @Override + public boolean equals( Object other ) + { + if ( this == other ) + { + return true; + } + + if ( !( other instanceof Restriction ) ) + { + return false; + } + + Restriction restriction = (Restriction) other; + if ( lowerBound != null ) + { + if ( !lowerBound.equals( restriction.lowerBound ) ) + { + return false; + } + } + else if ( restriction.lowerBound != null ) + { + return false; + } + + if ( lowerBoundInclusive != restriction.lowerBoundInclusive ) + { + return false; + } + + if ( upperBound != null ) + { + if ( !upperBound.equals( restriction.upperBound ) ) + { + return false; + } + } + else if ( restriction.upperBound != null ) + { + return false; + } + + if ( upperBoundInclusive != restriction.upperBoundInclusive ) + { + return false; + } + + return true; + } + + @Override + public String toString() + { + StringBuilder buf = new StringBuilder(); + + buf.append( isLowerBoundInclusive() ? "[" : "(" ); + if ( getLowerBound() != null ) + { + buf.append( getLowerBound().toString() ); + } + buf.append( "," ); + if ( getUpperBound() != null ) + { + buf.append( getUpperBound().toString() ); + } + buf.append( isUpperBoundInclusive() ? "]" : ")" ); + + return buf.toString(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/versioning/VersionParser.java b/fml/src/main/java/net/minecraftforge/fml/common/versioning/VersionParser.java new file mode 100644 index 000000000..6d8b9c654 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/versioning/VersionParser.java @@ -0,0 +1,76 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.versioning; + +import java.util.List; + +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.LoaderException; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.Splitter; +import com.google.common.base.Strings; +import com.google.common.collect.Lists; + +/** + * Parses version strings according to the specification here: + * http://docs.codehaus.org/display/MAVEN/Versioning + * and allows for comparison of versions based on that document. + * Bounded version specifications are defined as + * http://maven.apache.org/plugins/maven-enforcer-plugin/rules/versionRanges.html + * + * Borrows heavily from maven version range management code + * + * @author cpw + * + */ +public class VersionParser +{ + private static final Splitter SEPARATOR = Splitter.on('@').omitEmptyStrings().trimResults(); + public static ArtifactVersion parseVersionReference(String labelledRef) + { + if (Strings.isNullOrEmpty(labelledRef)) + { + throw new RuntimeException(String.format("Empty reference %s", labelledRef)); + } + List parts = Lists.newArrayList(SEPARATOR.split(labelledRef)); + if (parts.size()>2) + { + throw new RuntimeException(String.format("Invalid versioned reference %s", labelledRef)); + } + if (parts.size()==1) + { + return new DefaultArtifactVersion(parts.get(0), true); + } + return new DefaultArtifactVersion(parts.get(0),parseRange(parts.get(1))); + } + + public static boolean satisfies(ArtifactVersion target, ArtifactVersion source) + { + return target.containsVersion(source); + } + + public static VersionRange parseRange(String range) + { + try + { + return VersionRange.createFromVersionSpec(range); + } + catch (InvalidVersionSpecificationException e) + { + FMLLog.log(Level.ERROR, e, "Unable to parse a version range specification successfully %s", range); + throw new LoaderException(e); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/common/versioning/VersionRange.java b/fml/src/main/java/net/minecraftforge/fml/common/versioning/VersionRange.java new file mode 100644 index 000000000..a249d7400 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/common/versioning/VersionRange.java @@ -0,0 +1,576 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.common.versioning; +/* + * Modifications by cpw under LGPL 2.1 or later + */ + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; + +import com.google.common.base.Joiner; + +/** + * Construct a version range from a specification. + * + * @author Brett Porter + */ +public class VersionRange +{ + private final ArtifactVersion recommendedVersion; + + private final List restrictions; + + private VersionRange( ArtifactVersion recommendedVersion, + List restrictions ) + { + this.recommendedVersion = recommendedVersion; + this.restrictions = restrictions; + } + + public ArtifactVersion getRecommendedVersion() + { + return recommendedVersion; + } + + public List getRestrictions() + { + return restrictions; + } + + public VersionRange cloneOf() + { + List copiedRestrictions = null; + + if ( restrictions != null ) + { + copiedRestrictions = new ArrayList(); + + if ( !restrictions.isEmpty() ) + { + copiedRestrictions.addAll( restrictions ); + } + } + + return new VersionRange( recommendedVersion, copiedRestrictions ); + } + + /** + * Factory method, for custom versioning schemes + * @param version version + * @param restrictions restriction list + * @return a new version range + */ + public static VersionRange newRange(ArtifactVersion version, List restrictions) + { + return new VersionRange(version, restrictions); + } + /** + * Create a version range from a string representation + *

+ * Some spec examples are + *

    + *
  • 1.0 Version 1.0
  • + *
  • [1.0,2.0) Versions 1.0 (included) to 2.0 (not included)
  • + *
  • [1.0,2.0] Versions 1.0 to 2.0 (both included)
  • + *
  • [1.5,) Versions 1.5 and higher
  • + *
  • (,1.0],[1.2,) Versions up to 1.0 (included) and 1.2 or higher
  • + *
+ * + * @param spec string representation of a version or version range + * @return a new {@link VersionRange} object that represents the spec + * @throws InvalidVersionSpecificationException + * + */ + public static VersionRange createFromVersionSpec( String spec ) + throws InvalidVersionSpecificationException + { + if ( spec == null ) + { + return null; + } + + List restrictions = new ArrayList(); + String process = spec; + ArtifactVersion version = null; + ArtifactVersion upperBound = null; + ArtifactVersion lowerBound = null; + + while ( process.startsWith( "[" ) || process.startsWith( "(" ) ) + { + int index1 = process.indexOf( ")" ); + int index2 = process.indexOf( "]" ); + + int index = index2; + if ( index2 < 0 || index1 < index2 ) + { + if ( index1 >= 0 ) + { + index = index1; + } + } + + if ( index < 0 ) + { + throw new InvalidVersionSpecificationException( "Unbounded range: " + spec ); + } + + Restriction restriction = parseRestriction( process.substring( 0, index + 1 ) ); + if ( lowerBound == null ) + { + lowerBound = restriction.getLowerBound(); + } + if ( upperBound != null ) + { + if ( restriction.getLowerBound() == null || restriction.getLowerBound().compareTo( upperBound ) < 0 ) + { + throw new InvalidVersionSpecificationException( "Ranges overlap: " + spec ); + } + } + restrictions.add( restriction ); + upperBound = restriction.getUpperBound(); + + process = process.substring( index + 1 ).trim(); + + if ( process.length() > 0 && process.startsWith( "," ) ) + { + process = process.substring( 1 ).trim(); + } + } + + if ( process.length() > 0 ) + { + if ( restrictions.size() > 0 ) + { + throw new InvalidVersionSpecificationException( + "Only fully-qualified sets allowed in multiple set scenario: " + spec ); + } + else + { + version = new DefaultArtifactVersion( process ); + restrictions.add( Restriction.EVERYTHING ); + } + } + + return new VersionRange( version, restrictions ); + } + + private static Restriction parseRestriction( String spec ) + throws InvalidVersionSpecificationException + { + boolean lowerBoundInclusive = spec.startsWith( "[" ); + boolean upperBoundInclusive = spec.endsWith( "]" ); + + String process = spec.substring( 1, spec.length() - 1 ).trim(); + + Restriction restriction; + + int index = process.indexOf( "," ); + + if ( index < 0 ) + { + if ( !lowerBoundInclusive || !upperBoundInclusive ) + { + throw new InvalidVersionSpecificationException( "Single version must be surrounded by []: " + spec ); + } + + ArtifactVersion version = new DefaultArtifactVersion( process ); + + restriction = new Restriction( version, lowerBoundInclusive, version, upperBoundInclusive ); + } + else + { + String lowerBound = process.substring( 0, index ).trim(); + String upperBound = process.substring( index + 1 ).trim(); + if ( lowerBound.equals( upperBound ) ) + { + throw new InvalidVersionSpecificationException( "Range cannot have identical boundaries: " + spec ); + } + + ArtifactVersion lowerVersion = null; + if ( lowerBound.length() > 0 ) + { + lowerVersion = new DefaultArtifactVersion( lowerBound ); + } + ArtifactVersion upperVersion = null; + if ( upperBound.length() > 0 ) + { + upperVersion = new DefaultArtifactVersion( upperBound ); + } + + if ( upperVersion != null && lowerVersion != null && upperVersion.compareTo( lowerVersion ) < 0 ) + { + throw new InvalidVersionSpecificationException( "Range defies version ordering: " + spec ); + } + + restriction = new Restriction( lowerVersion, lowerBoundInclusive, upperVersion, upperBoundInclusive ); + } + + return restriction; + } + + public static VersionRange createFromVersion( String version , ArtifactVersion existing) + { + List restrictions = Collections.emptyList(); + if (existing == null) + { + existing = new DefaultArtifactVersion( version ); + } + return new VersionRange(existing , restrictions ); + } + + /** + * Creates and returns a new VersionRange that is a restriction of this + * version range and the specified version range. + *

+ * Note: Precedence is given to the recommended version from this version range over the + * recommended version from the specified version range. + *

+ * + * @param restriction the VersionRange that will be used to restrict this version + * range. + * @return the VersionRange that is a restriction of this version range and the + * specified version range. + *

+ * The restrictions of the returned version range will be an intersection of the restrictions + * of this version range and the specified version range if both version ranges have + * restrictions. Otherwise, the restrictions on the returned range will be empty. + *

+ *

+ * The recommended version of the returned version range will be the recommended version of + * this version range, provided that ranges falls within the intersected restrictions. If + * the restrictions are empty, this version range's recommended version is used if it is not + * null. If it is null, the specified version range's recommended + * version is used (provided it is non-null). If no recommended version can be + * obtained, the returned version range's recommended version is set to null. + *

+ * @throws NullPointerException if the specified VersionRange is + * null. + */ + public VersionRange restrict( VersionRange restriction ) + { + List r1 = this.restrictions; + List r2 = restriction.restrictions; + List restrictions; + + if ( r1.isEmpty() || r2.isEmpty() ) + { + restrictions = Collections.emptyList(); + } + else + { + restrictions = intersection( r1, r2 ); + } + + ArtifactVersion version = null; + if ( restrictions.size() > 0 ) + { + for ( Restriction r : restrictions ) + { + if ( recommendedVersion != null && r.containsVersion( recommendedVersion ) ) + { + // if we find the original, use that + version = recommendedVersion; + break; + } + else if ( version == null && restriction.getRecommendedVersion() != null + && r.containsVersion( restriction.getRecommendedVersion() ) ) + { + // use this if we can, but prefer the original if possible + version = restriction.getRecommendedVersion(); + } + } + } + // Either the original or the specified version ranges have no restrictions + else if ( recommendedVersion != null ) + { + // Use the original recommended version since it exists + version = recommendedVersion; + } + else if ( restriction.recommendedVersion != null ) + { + // Use the recommended version from the specified VersionRange since there is no + // original recommended version + version = restriction.recommendedVersion; + } +/* TODO: should throw this immediately, but need artifact + else + { + throw new OverConstrainedVersionException( "Restricting incompatible version ranges" ); + } +*/ + + return new VersionRange( version, restrictions ); + } + + private List intersection( List r1, List r2 ) + { + List restrictions = new ArrayList( r1.size() + r2.size() ); + Iterator i1 = r1.iterator(); + Iterator i2 = r2.iterator(); + Restriction res1 = i1.next(); + Restriction res2 = i2.next(); + + boolean done = false; + while ( !done ) + { + if ( res1.getLowerBound() == null || res2.getUpperBound() == null + || res1.getLowerBound().compareTo( res2.getUpperBound() ) <= 0 ) + { + if ( res1.getUpperBound() == null || res2.getLowerBound() == null + || res1.getUpperBound().compareTo( res2.getLowerBound() ) >= 0 ) + { + ArtifactVersion lower; + ArtifactVersion upper; + boolean lowerInclusive; + boolean upperInclusive; + + // overlaps + if ( res1.getLowerBound() == null ) + { + lower = res2.getLowerBound(); + lowerInclusive = res2.isLowerBoundInclusive(); + } + else if ( res2.getLowerBound() == null ) + { + lower = res1.getLowerBound(); + lowerInclusive = res1.isLowerBoundInclusive(); + } + else + { + int comparison = res1.getLowerBound().compareTo( res2.getLowerBound() ); + if ( comparison < 0 ) + { + lower = res2.getLowerBound(); + lowerInclusive = res2.isLowerBoundInclusive(); + } + else if ( comparison == 0 ) + { + lower = res1.getLowerBound(); + lowerInclusive = res1.isLowerBoundInclusive() && res2.isLowerBoundInclusive(); + } + else + { + lower = res1.getLowerBound(); + lowerInclusive = res1.isLowerBoundInclusive(); + } + } + + if ( res1.getUpperBound() == null ) + { + upper = res2.getUpperBound(); + upperInclusive = res2.isUpperBoundInclusive(); + } + else if ( res2.getUpperBound() == null ) + { + upper = res1.getUpperBound(); + upperInclusive = res1.isUpperBoundInclusive(); + } + else + { + int comparison = res1.getUpperBound().compareTo( res2.getUpperBound() ); + if ( comparison < 0 ) + { + upper = res1.getUpperBound(); + upperInclusive = res1.isUpperBoundInclusive(); + } + else if ( comparison == 0 ) + { + upper = res1.getUpperBound(); + upperInclusive = res1.isUpperBoundInclusive() && res2.isUpperBoundInclusive(); + } + else + { + upper = res2.getUpperBound(); + upperInclusive = res2.isUpperBoundInclusive(); + } + } + + // don't add if they are equal and one is not inclusive + if ( lower == null || upper == null || lower.compareTo( upper ) != 0 ) + { + restrictions.add( new Restriction( lower, lowerInclusive, upper, upperInclusive ) ); + } + else if ( lowerInclusive && upperInclusive ) + { + restrictions.add( new Restriction( lower, lowerInclusive, upper, upperInclusive ) ); + } + + //noinspection ObjectEquality + if ( upper == res2.getUpperBound() ) + { + // advance res2 + if ( i2.hasNext() ) + { + res2 = i2.next(); + } + else + { + done = true; + } + } + else + { + // advance res1 + if ( i1.hasNext() ) + { + res1 = i1.next(); + } + else + { + done = true; + } + } + } + else + { + // move on to next in r1 + if ( i1.hasNext() ) + { + res1 = i1.next(); + } + else + { + done = true; + } + } + } + else + { + // move on to next in r2 + if ( i2.hasNext() ) + { + res2 = i2.next(); + } + else + { + done = true; + } + } + } + + return restrictions; + } + + @Override + public String toString() + { + if ( recommendedVersion != null ) + { + return recommendedVersion.toString(); + } + else + { + return Joiner.on(',').join(restrictions); + } + } + + public ArtifactVersion matchVersion( List versions ) + { + // TODO: could be more efficient by sorting the list and then moving along the restrictions in order? + + ArtifactVersion matched = null; + for ( ArtifactVersion version : versions ) + { + if ( containsVersion( version ) ) + { + // valid - check if it is greater than the currently matched version + if ( matched == null || version.compareTo( matched ) > 0 ) + { + matched = version; + } + } + } + return matched; + } + + public boolean containsVersion( ArtifactVersion version ) + { + for ( Restriction restriction : restrictions ) + { + if ( restriction.containsVersion( version ) ) + { + return true; + } + } + return false; + } + + public boolean hasRestrictions() + { + return !restrictions.isEmpty() && recommendedVersion == null; + } + + @Override + public boolean equals( Object obj ) + { + if ( this == obj ) + { + return true; + } + if ( !( obj instanceof VersionRange ) ) + { + return false; + } + VersionRange other = (VersionRange) obj; + + boolean equals = + recommendedVersion == other.recommendedVersion + || ( ( recommendedVersion != null ) && recommendedVersion.equals( other.recommendedVersion ) ); + equals &= + restrictions == other.restrictions + || ( ( restrictions != null ) && restrictions.equals( other.restrictions ) ); + return equals; + } + + @Override + public int hashCode() + { + int hash = 7; + hash = 31 * hash + ( recommendedVersion == null ? 0 : recommendedVersion.hashCode() ); + hash = 31 * hash + ( restrictions == null ? 0 : restrictions.hashCode() ); + return hash; + } + + public boolean isUnboundedAbove() + { + return restrictions.size() == 1 && restrictions.get(0).getUpperBound() == null && !restrictions.get(0).isUpperBoundInclusive(); + } + + public String getLowerBoundString() + { + return restrictions.size() == 1 ? restrictions.get(0).getLowerBound().getVersionString() : ""; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/CoreModManager.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/CoreModManager.java new file mode 100644 index 000000000..c4d63d61e --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/CoreModManager.java @@ -0,0 +1,652 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.relauncher; + +import java.io.File; +import java.io.FilenameFilter; +import java.io.IOException; +import java.lang.reflect.Method; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.jar.Attributes; +import java.util.jar.JarFile; + +import net.minecraft.launchwrapper.ITweaker; +import net.minecraft.launchwrapper.Launch; +import net.minecraft.launchwrapper.LaunchClassLoader; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.asm.ASMTransformerWrapper; +import net.minecraftforge.fml.common.asm.transformers.ModAccessTransformer; +import net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker; +import net.minecraftforge.fml.common.launcher.FMLTweaker; +import net.minecraftforge.fml.common.toposort.TopologicalSort; +import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin.DependsOn; +import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin.MCVersion; +import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin.Name; +import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin.SortingIndex; +import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin.TransformerExclusions; + +import org.apache.logging.log4j.Level; + +import com.google.common.base.Strings; +import com.google.common.base.Throwables; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.ObjectArrays; +import com.google.common.collect.Sets; +import com.google.common.primitives.Ints; + +public class CoreModManager { + private static final Attributes.Name COREMODCONTAINSFMLMOD = new Attributes.Name("FMLCorePluginContainsFMLMod"); + private static final Attributes.Name MODTYPE = new Attributes.Name("ModType"); + private static final Attributes.Name MODSIDE = new Attributes.Name("ModSide"); + private static String[] rootPlugins = { "net.minecraftforge.fml.relauncher.FMLCorePlugin", "net.minecraftforge.classloading.FMLForgePlugin" }; + private static List loadedCoremods = Lists.newArrayList(); + private static Map> transformers = Maps.newHashMap(); + private static List loadPlugins; + private static boolean deobfuscatedEnvironment; + private static FMLTweaker tweaker; + private static File mcDir; + private static List reparsedCoremods = Lists.newArrayList(); + private static List accessTransformers = Lists.newArrayList(); + private static Set rootNames = Sets.newHashSet(); + + static + { + for(String cls : rootPlugins) + { + rootNames.add(cls.substring(cls.lastIndexOf('.') + 1)); + } + } + + private static class FMLPluginWrapper implements ITweaker { + public final String name; + public final IFMLLoadingPlugin coreModInstance; + public final List predepends; + public final File location; + public final int sortIndex; + + public FMLPluginWrapper(String name, IFMLLoadingPlugin coreModInstance, File location, int sortIndex, String... predepends) + { + super(); + this.name = name; + this.coreModInstance = coreModInstance; + this.location = location; + this.sortIndex = sortIndex; + this.predepends = Lists.newArrayList(predepends); + } + + @Override + public String toString() + { + return String.format("%s {%s}", this.name, this.predepends); + } + + @Override + public void acceptOptions(List args, File gameDir, File assetsDir, String profile) + { + // NO OP + } + + @Override + public void injectIntoClassLoader(LaunchClassLoader classLoader) + { + FMLRelaunchLog.fine("Injecting coremod %s {%s} class transformers", name, coreModInstance.getClass().getName()); + List ts = Lists.newArrayList(); + if (coreModInstance.getASMTransformerClass() != null) for (String transformer : coreModInstance.getASMTransformerClass()) + { + FMLRelaunchLog.finer("Registering transformer %s", transformer); + classLoader.registerTransformer(ASMTransformerWrapper.getTransformerWrapper(classLoader, transformer, name)); + ts.add(transformer); + } + if(!rootNames.contains(name)) + { + String loc; + if(location == null) loc = "unknown"; + else loc = location.getName(); + transformers.put(name + " (" + loc + ")", ts); + } + FMLRelaunchLog.fine("Injection complete"); + + FMLRelaunchLog.fine("Running coremod plugin for %s {%s}", name, coreModInstance.getClass().getName()); + Map data = new HashMap(); + data.put("mcLocation", mcDir); + data.put("coremodList", loadPlugins); + data.put("runtimeDeobfuscationEnabled", !deobfuscatedEnvironment); + FMLRelaunchLog.fine("Running coremod plugin %s", name); + data.put("coremodLocation", location); + coreModInstance.injectData(data); + String setupClass = coreModInstance.getSetupClass(); + if (setupClass != null) + { + try + { + IFMLCallHook call = (IFMLCallHook) Class.forName(setupClass, true, classLoader).newInstance(); + Map callData = new HashMap(); + callData.put("runtimeDeobfuscationEnabled", !deobfuscatedEnvironment); + callData.put("mcLocation", mcDir); + callData.put("classLoader", classLoader); + callData.put("coremodLocation", location); + callData.put("deobfuscationFileName", FMLInjectionData.debfuscationDataName()); + call.injectData(callData); + call.call(); + } + catch (Exception e) + { + throw new RuntimeException(e); + } + } + FMLRelaunchLog.fine("Coremod plugin class %s run successfully", coreModInstance.getClass().getSimpleName()); + + String modContainer = coreModInstance.getModContainerClass(); + if (modContainer != null) + { + FMLInjectionData.containers.add(modContainer); + } + } + + @Override + public String getLaunchTarget() + { + return ""; + } + + @Override + public String[] getLaunchArguments() + { + return new String[0]; + } + + } + + public static void handleLaunch(File mcDir, LaunchClassLoader classLoader, FMLTweaker tweaker) + { + CoreModManager.mcDir = mcDir; + CoreModManager.tweaker = tweaker; + try + { + // Are we in a 'decompiled' environment? + byte[] bs = classLoader.getClassBytes("net.minecraft.world.World"); + if (bs != null) + { + FMLRelaunchLog.info("Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation"); + deobfuscatedEnvironment = true; + } + } + catch (IOException e1) + { + } + + if (!deobfuscatedEnvironment) + { + FMLRelaunchLog.fine("Enabling runtime deobfuscation"); + } + + tweaker.injectCascadingTweak("net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker"); + try + { + classLoader.registerTransformer("net.minecraftforge.fml.common.asm.transformers.PatchingTransformer"); + } + catch (Exception e) + { + FMLRelaunchLog.log(Level.ERROR, e, "The patch transformer failed to load! This is critical, loading cannot continue!"); + throw Throwables.propagate(e); + } + + loadPlugins = new ArrayList(); + for (String rootPluginName : rootPlugins) + { + loadCoreMod(classLoader, rootPluginName, new File(FMLTweaker.getJarLocation())); + } + + if (loadPlugins.isEmpty()) + { + throw new RuntimeException("A fatal error has occured - no valid fml load plugin was found - this is a completely corrupt FML installation."); + } + + FMLRelaunchLog.fine("All fundamental core mods are successfully located"); + // Now that we have the root plugins loaded - lets see what else might + // be around + String commandLineCoremods = System.getProperty("fml.coreMods.load", ""); + for (String coreModClassName : commandLineCoremods.split(",")) + { + if (coreModClassName.isEmpty()) + { + continue; + } + FMLRelaunchLog.info("Found a command line coremod : %s", coreModClassName); + loadCoreMod(classLoader, coreModClassName, null); + } + discoverCoreMods(mcDir, classLoader); + + } + + private static void discoverCoreMods(File mcDir, LaunchClassLoader classLoader) + { + ModListHelper.parseModList(mcDir); + FMLRelaunchLog.fine("Discovering coremods"); + File coreMods = setupCoreModDir(mcDir); + FilenameFilter ff = new FilenameFilter() { + @Override + public boolean accept(File dir, String name) + { + return name.endsWith(".jar"); + } + }; + FilenameFilter derpfilter = new FilenameFilter() { + @Override + public boolean accept(File dir, String name) + { + return name.endsWith(".jar.zip"); + } + }; + File[] derplist = coreMods.listFiles(derpfilter); + if (derplist != null && derplist.length > 0) + { + FMLRelaunchLog.severe("FML has detected several badly downloaded jar files, which have been named as zip files. You probably need to download them again, or they may not work properly"); + for (File f : derplist) + { + FMLRelaunchLog.severe("Problem file : %s", f.getName()); + } + } + File[] coreModList = coreMods.listFiles(ff); + File versionedModDir = new File(coreMods, FMLInjectionData.mccversion); + if (versionedModDir.isDirectory()) + { + File[] versionedCoreMods = versionedModDir.listFiles(ff); + coreModList = ObjectArrays.concat(coreModList, versionedCoreMods, File.class); + } + + coreModList = ObjectArrays.concat(coreModList, ModListHelper.additionalMods.values().toArray(new File[0]), File.class); + + coreModList = FileListHelper.sortFileList(coreModList); + + for (File coreMod : coreModList) + { + FMLRelaunchLog.fine("Examining for coremod candidacy %s", coreMod.getName()); + JarFile jar = null; + Attributes mfAttributes; + try + { + jar = new JarFile(coreMod); + if (jar.getManifest() == null) + { + // Not a coremod and no access transformer list + continue; + } + ModAccessTransformer.addJar(jar); + mfAttributes = jar.getManifest().getMainAttributes(); + } + catch (IOException ioe) + { + FMLRelaunchLog.log(Level.ERROR, ioe, "Unable to read the jar file %s - ignoring", coreMod.getName()); + continue; + } + finally + { + if (jar != null) + { + try + { + jar.close(); + } + catch (IOException e) + { + // Noise + } + } + } + String cascadedTweaker = mfAttributes.getValue("TweakClass"); + if (cascadedTweaker != null) + { + FMLRelaunchLog.info("Loading tweaker %s from %s", cascadedTweaker, coreMod.getName()); + Integer sortOrder = Ints.tryParse(Strings.nullToEmpty(mfAttributes.getValue("TweakOrder"))); + sortOrder = (sortOrder == null ? Integer.valueOf(0) : sortOrder); + handleCascadingTweak(coreMod, jar, cascadedTweaker, classLoader, sortOrder); + loadedCoremods.add(coreMod.getName()); + continue; + } + List modTypes = mfAttributes.containsKey(MODTYPE) ? Arrays.asList(mfAttributes.getValue(MODTYPE).split(",")) : ImmutableList.of("FML"); + + if (!modTypes.contains("FML")) + { + FMLRelaunchLog.fine("Adding %s to the list of things to skip. It is not an FML mod, it has types %s", coreMod.getName(), modTypes); + loadedCoremods.add(coreMod.getName()); + continue; + } + String modSide = mfAttributes.containsKey(MODSIDE) ? mfAttributes.getValue(MODSIDE) : "BOTH"; + if (! ("BOTH".equals(modSide) || FMLLaunchHandler.side.name().equals(modSide))) + { + FMLRelaunchLog.fine("Mod %s has ModSide meta-inf value %s, and we're %s. It will be ignored", coreMod.getName(), modSide, FMLLaunchHandler.side.name()); + loadedCoremods.add(coreMod.getName()); + continue; + } + String fmlCorePlugin = mfAttributes.getValue("FMLCorePlugin"); + if (fmlCorePlugin == null) + { + // Not a coremod + FMLRelaunchLog.fine("Not found coremod data in %s", coreMod.getName()); + continue; + } + // Support things that are mod jars, but not FML mod jars + try + { + classLoader.addURL(coreMod.toURI().toURL()); + if (!mfAttributes.containsKey(COREMODCONTAINSFMLMOD)) + { + FMLRelaunchLog.finer("Adding %s to the list of known coremods, it will not be examined again", coreMod.getName()); + loadedCoremods.add(coreMod.getName()); + } + else + { + FMLRelaunchLog.finer("Found FMLCorePluginContainsFMLMod marker in %s, it will be examined later for regular @Mod instances", + coreMod.getName()); + reparsedCoremods.add(coreMod.getName()); + } + } + catch (MalformedURLException e) + { + FMLRelaunchLog.log(Level.ERROR, e, "Unable to convert file into a URL. weird"); + continue; + } + loadCoreMod(classLoader, fmlCorePlugin, coreMod); + } + } + + private static Method ADDURL; + + private static void handleCascadingTweak(File coreMod, JarFile jar, String cascadedTweaker, LaunchClassLoader classLoader, Integer sortingOrder) + { + try + { + // Have to manually stuff the tweaker into the parent classloader + if (ADDURL == null) + { + ADDURL = URLClassLoader.class.getDeclaredMethod("addURL", URL.class); + ADDURL.setAccessible(true); + } + ADDURL.invoke(classLoader.getClass().getClassLoader(), coreMod.toURI().toURL()); + classLoader.addURL(coreMod.toURI().toURL()); + CoreModManager.tweaker.injectCascadingTweak(cascadedTweaker); + tweakSorting.put(cascadedTweaker,sortingOrder); + } + catch (Exception e) + { + FMLRelaunchLog.log(Level.INFO, e, "There was a problem trying to load the mod dir tweaker %s", coreMod.getAbsolutePath()); + } + } + + /** + * @param mcDir + * the minecraft home directory + * @return the coremod directory + */ + private static File setupCoreModDir(File mcDir) + { + File coreModDir = new File(mcDir, "mods"); + try + { + coreModDir = coreModDir.getCanonicalFile(); + } + catch (IOException e) + { + throw new RuntimeException(String.format("Unable to canonicalize the coremod dir at %s", mcDir.getName()), e); + } + if (!coreModDir.exists()) + { + coreModDir.mkdir(); + } + else if (coreModDir.exists() && !coreModDir.isDirectory()) + { + throw new RuntimeException(String.format("Found a coremod file in %s that's not a directory", mcDir.getName())); + } + return coreModDir; + } + + public static List getLoadedCoremods() + { + return loadedCoremods; + } + + public static Map> getTransformers() + { + return transformers; + } + + public static List getReparseableCoremods() + { + return reparsedCoremods; + } + + private static FMLPluginWrapper loadCoreMod(LaunchClassLoader classLoader, String coreModClass, File location) + { + String coreModName = coreModClass.substring(coreModClass.lastIndexOf('.') + 1); + try + { + FMLRelaunchLog.fine("Instantiating coremod class %s", coreModName); + classLoader.addTransformerExclusion(coreModClass); + Class coreModClazz = Class.forName(coreModClass, true, classLoader); + Name coreModNameAnn = coreModClazz.getAnnotation(IFMLLoadingPlugin.Name.class); + if (coreModNameAnn != null && !Strings.isNullOrEmpty(coreModNameAnn.value())) + { + coreModName = coreModNameAnn.value(); + FMLRelaunchLog.finer("coremod named %s is loading", coreModName); + } + MCVersion requiredMCVersion = coreModClazz.getAnnotation(IFMLLoadingPlugin.MCVersion.class); + if (!Arrays.asList(rootPlugins).contains(coreModClass) && (requiredMCVersion == null || Strings.isNullOrEmpty(requiredMCVersion.value()))) + { + FMLRelaunchLog.log(Level.WARN, "The coremod %s does not have a MCVersion annotation, it may cause issues with this version of Minecraft", + coreModClass); + } + else if (requiredMCVersion != null && !FMLInjectionData.mccversion.equals(requiredMCVersion.value())) + { + FMLRelaunchLog.log(Level.ERROR, "The coremod %s is requesting minecraft version %s and minecraft is %s. It will be ignored.", coreModClass, + requiredMCVersion.value(), FMLInjectionData.mccversion); + return null; + } + else if (requiredMCVersion != null) + { + FMLRelaunchLog.log(Level.DEBUG, "The coremod %s requested minecraft version %s and minecraft is %s. It will be loaded.", coreModClass, + requiredMCVersion.value(), FMLInjectionData.mccversion); + } + TransformerExclusions trExclusions = coreModClazz.getAnnotation(IFMLLoadingPlugin.TransformerExclusions.class); + if (trExclusions != null) + { + for (String st : trExclusions.value()) + { + classLoader.addTransformerExclusion(st); + } + } + DependsOn deplist = coreModClazz.getAnnotation(IFMLLoadingPlugin.DependsOn.class); + String[] dependencies = new String[0]; + if (deplist != null) + { + dependencies = deplist.value(); + } + SortingIndex index = coreModClazz.getAnnotation(IFMLLoadingPlugin.SortingIndex.class); + int sortIndex = index != null ? index.value() : 0; + + IFMLLoadingPlugin plugin = (IFMLLoadingPlugin) coreModClazz.newInstance(); + String accessTransformerClass = plugin.getAccessTransformerClass(); + if (accessTransformerClass != null) + { + FMLRelaunchLog.log(Level.DEBUG, "Added access transformer class %s to enqueued access transformers", accessTransformerClass); + accessTransformers.add(accessTransformerClass); + } + FMLPluginWrapper wrap = new FMLPluginWrapper(coreModName, plugin, location, sortIndex, dependencies); + loadPlugins.add(wrap); + FMLRelaunchLog.fine("Enqueued coremod %s", coreModName); + return wrap; + } + catch (ClassNotFoundException cnfe) + { + if (!Lists.newArrayList(rootPlugins).contains(coreModClass)) + FMLRelaunchLog.log(Level.ERROR, cnfe, "Coremod %s: Unable to class load the plugin %s", coreModName, coreModClass); + else + FMLRelaunchLog.fine("Skipping root plugin %s", coreModClass); + } + catch (ClassCastException cce) + { + FMLRelaunchLog.log(Level.ERROR, cce, "Coremod %s: The plugin %s is not an implementor of IFMLLoadingPlugin", coreModName, coreModClass); + } + catch (InstantiationException ie) + { + FMLRelaunchLog.log(Level.ERROR, ie, "Coremod %s: The plugin class %s was not instantiable", coreModName, coreModClass); + } + catch (IllegalAccessException iae) + { + FMLRelaunchLog.log(Level.ERROR, iae, "Coremod %s: The plugin class %s was not accessible", coreModName, coreModClass); + } + return null; + } + + private static void sortCoreMods() + { + TopologicalSort.DirectedGraph sortGraph = new TopologicalSort.DirectedGraph(); + Map pluginMap = Maps.newHashMap(); + for (FMLPluginWrapper plug : loadPlugins) + { + sortGraph.addNode(plug); + pluginMap.put(plug.name, plug); + } + + for (FMLPluginWrapper plug : loadPlugins) + { + for (String dep : plug.predepends) + { + if (!pluginMap.containsKey(dep)) + { + FMLRelaunchLog.log(Level.ERROR, "Missing coremod dependency - the coremod %s depends on coremod %s which isn't present.", plug.name, dep); + throw new RuntimeException(); + } + sortGraph.addEdge(plug, pluginMap.get(dep)); + } + } + try + { + loadPlugins = TopologicalSort.topologicalSort(sortGraph); + FMLRelaunchLog.fine("Sorted coremod list %s", loadPlugins); + } + catch (Exception e) + { + FMLLog.log(Level.ERROR, e, "There was a problem performing the coremod sort"); + throw Throwables.propagate(e); + } + } + + public static void injectTransformers(LaunchClassLoader classLoader) + { + + Launch.blackboard.put("fml.deobfuscatedEnvironment", deobfuscatedEnvironment); + tweaker.injectCascadingTweak("net.minecraftforge.fml.common.launcher.FMLDeobfTweaker"); + tweakSorting.put("net.minecraftforge.fml.common.launcher.FMLDeobfTweaker", Integer.valueOf(1000)); + } + + public static void injectCoreModTweaks(FMLInjectionAndSortingTweaker fmlInjectionAndSortingTweaker) + { + @SuppressWarnings("unchecked") + List tweakers = (List) Launch.blackboard.get("Tweaks"); + // Add the sorting tweaker first- it'll appear twice in the list + tweakers.add(0, fmlInjectionAndSortingTweaker); + for (FMLPluginWrapper wrapper : loadPlugins) + { + tweakers.add(wrapper); + } + } + + private static Map tweakSorting = Maps.newHashMap(); + + public static void sortTweakList() + { + @SuppressWarnings("unchecked") + List tweakers = (List) Launch.blackboard.get("Tweaks"); + // Basically a copy of Collections.sort pre 8u20, optimized as we know we're an array list. + // Thanks unhelpful fixer of http://bugs.java.com/view_bug.do?bug_id=8032636 + ITweaker[] toSort = tweakers.toArray(new ITweaker[tweakers.size()]); + Arrays.sort(toSort, new Comparator() { + @Override + public int compare(ITweaker o1, ITweaker o2) + { + Integer first = null; + Integer second = null; + if (o1 instanceof FMLInjectionAndSortingTweaker) + { + first = Integer.MIN_VALUE; + } + if (o2 instanceof FMLInjectionAndSortingTweaker) + { + second = Integer.MIN_VALUE; + } + + if (o1 instanceof FMLPluginWrapper) + { + first = ((FMLPluginWrapper) o1).sortIndex; + } + else if (first == null) + { + first = tweakSorting.get(o1.getClass().getName()); + } + if (o2 instanceof FMLPluginWrapper) + { + second = ((FMLPluginWrapper) o2).sortIndex; + } + else if (second == null) + { + second = tweakSorting.get(o2.getClass().getName()); + } + if (first == null) + { + first = 0; + } + if (second == null) + { + second = 0; + } + + return Ints.saturatedCast((long)first - (long)second); + } + }); + // Basically a copy of Collections.sort, optimized as we know we're an array list. + // Thanks unhelpful fixer of http://bugs.java.com/view_bug.do?bug_id=8032636 + for (int j = 0; j < toSort.length; j++) { + tweakers.set(j, toSort[j]); + } + } + + public static List getAccessTransformers() + { + return accessTransformers; + } + + public static void onCrash(StringBuilder builder) + { + if(!loadedCoremods.isEmpty() || !reparsedCoremods.isEmpty()) + { + builder.append("\nWARNING: coremods are present:\n"); + for(String coreMod : transformers.keySet()) + { + builder.append(" ").append(coreMod).append('\n'); + } + builder.append("Contact their authors BEFORE contacting forge\n\n"); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLCorePlugin.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLCorePlugin.java new file mode 100644 index 000000000..e86b1eda8 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLCorePlugin.java @@ -0,0 +1,53 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.relauncher; + +import java.util.Map; + +public class FMLCorePlugin implements IFMLLoadingPlugin +{ + @Override + public String[] getASMTransformerClass() + { + return new String[] { + "net.minecraftforge.fml.common.asm.transformers.BlamingTransformer", + "net.minecraftforge.fml.common.asm.transformers.MarkerTransformer", + "net.minecraftforge.fml.common.asm.transformers.SideTransformer", + "net.minecraftforge.fml.common.asm.transformers.EventSubscriptionTransformer", + "net.minecraftforge.fml.common.asm.transformers.EventSubscriberTransformer", + }; + } + + @Override + public String getAccessTransformerClass() + { + return "net.minecraftforge.fml.common.asm.transformers.AccessTransformer"; + } + @Override + public String getModContainerClass() + { + return "net.minecraftforge.fml.common.FMLContainer"; + } + + @Override + public String getSetupClass() + { + return "net.minecraftforge.fml.common.asm.FMLSanityChecker"; + } + + @Override + public void injectData(Map data) + { + // don't care about this data + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLInjectionData.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLInjectionData.java new file mode 100644 index 000000000..5c4626086 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLInjectionData.java @@ -0,0 +1,73 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.relauncher; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; +import org.apache.logging.log4j.Level; + +import net.minecraft.launchwrapper.LaunchClassLoader; + +public class FMLInjectionData +{ + static File minecraftHome; + static String major; + static String minor; + static String rev; + static String build; + static String mccversion; + static String mcpversion; + static String deobfuscationDataHash; + + public static List containers = new ArrayList(); + + static void build(File mcHome, LaunchClassLoader classLoader) + { + minecraftHome = mcHome; + InputStream stream = classLoader.getResourceAsStream("fmlversion.properties"); + Properties properties = new Properties(); + + if (stream != null) + { + try + { + properties.load(stream); + } + catch (IOException ex) + { + FMLRelaunchLog.log(Level.ERROR, ex, "Could not get FML version information - corrupted installation detected!"); + } + } + + major = properties.getProperty("fmlbuild.major.number", "missing"); + minor = properties.getProperty("fmlbuild.minor.number", "missing"); + rev = properties.getProperty("fmlbuild.revision.number", "missing"); + build = properties.getProperty("fmlbuild.build.number", "missing"); + mccversion = properties.getProperty("fmlbuild.mcversion", "missing"); + mcpversion = properties.getProperty("fmlbuild.mcpversion", "missing"); + deobfuscationDataHash = properties.getProperty("fmlbuild.deobfuscation.hash","deadbeef"); + } + + static String debfuscationDataName() + { + return "/deobfuscation_data-"+mccversion+".lzma"; + } + public static Object[] data() + { + return new Object[] { major, minor, rev, build, mccversion, mcpversion, minecraftHome, containers }; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLLaunchHandler.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLLaunchHandler.java new file mode 100644 index 000000000..8a2a3031e --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLLaunchHandler.java @@ -0,0 +1,115 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.relauncher; + +import java.io.File; + +import org.apache.logging.log4j.Level; + +import net.minecraft.launchwrapper.LaunchClassLoader; +import net.minecraftforge.fml.common.launcher.FMLTweaker; + +import com.google.common.base.Throwables; + +public class FMLLaunchHandler +{ + private static FMLLaunchHandler INSTANCE; + static Side side; + private LaunchClassLoader classLoader; + private FMLTweaker tweaker; + private File minecraftHome; + + public static void configureForClientLaunch(LaunchClassLoader loader, FMLTweaker tweaker) + { + instance(loader, tweaker).setupClient(); + } + + public static void configureForServerLaunch(LaunchClassLoader loader, FMLTweaker tweaker) + { + instance(loader, tweaker).setupServer(); + } + + private static FMLLaunchHandler instance(LaunchClassLoader launchLoader, FMLTweaker tweaker) + { + if (INSTANCE == null) + { + INSTANCE = new FMLLaunchHandler(launchLoader, tweaker); + } + return INSTANCE; + + } + + private FMLLaunchHandler(LaunchClassLoader launchLoader, FMLTweaker tweaker) + { + this.classLoader = launchLoader; + this.tweaker = tweaker; + this.minecraftHome = tweaker.getGameDir(); + this.classLoader.addClassLoaderExclusion("net.minecraftforge.fml.relauncher."); + this.classLoader.addClassLoaderExclusion("net.minecraftforge.classloading."); + this.classLoader.addTransformerExclusion("net.minecraftforge.fml.common.asm.transformers.deobf."); + this.classLoader.addTransformerExclusion("net.minecraftforge.fml.common.patcher."); + } + + private void setupClient() + { + FMLRelaunchLog.side = Side.CLIENT; + side = Side.CLIENT; + setupHome(); + } + + private void setupServer() + { + FMLRelaunchLog.side = Side.SERVER; + side = Side.SERVER; + setupHome(); + + } + + private void setupHome() + { + FMLInjectionData.build(minecraftHome, classLoader); + FMLRelaunchLog.minecraftHome = minecraftHome; + FMLRelaunchLog.info("Forge Mod Loader version %s.%s.%s.%s for Minecraft %s loading", FMLInjectionData.major, FMLInjectionData.minor, + FMLInjectionData.rev, FMLInjectionData.build, FMLInjectionData.mccversion, FMLInjectionData.mcpversion); + FMLRelaunchLog.info("Java is %s, version %s, running on %s:%s:%s, installed at %s", System.getProperty("java.vm.name"), System.getProperty("java.version"), System.getProperty("os.name"), System.getProperty("os.arch"), System.getProperty("os.version"), System.getProperty("java.home")); + FMLRelaunchLog.fine("Java classpath at launch is %s", System.getProperty("java.class.path")); + FMLRelaunchLog.fine("Java library path at launch is %s", System.getProperty("java.library.path")); + + try + { + CoreModManager.handleLaunch(minecraftHome, classLoader, tweaker); + } + catch (Throwable t) + { + t.printStackTrace(); + FMLRelaunchLog.log(Level.ERROR, t, "An error occurred trying to configure the minecraft home at %s for Forge Mod Loader", minecraftHome.getAbsolutePath()); + throw Throwables.propagate(t); + } + } + + public static Side side() + { + return side; + } + + + private void injectPostfixTransformers() + { + CoreModManager.injectTransformers(classLoader); + } + + public static void appendCoreMods() + { + INSTANCE.injectPostfixTransformers(); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLRelaunchLog.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLRelaunchLog.java new file mode 100644 index 000000000..b2d8604a5 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLRelaunchLog.java @@ -0,0 +1,115 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.relauncher; + +import java.io.File; +import java.util.Locale; + +import net.minecraftforge.fml.common.TracingPrintStream; + +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.ThreadContext; + +public class FMLRelaunchLog { + + /** + * Our special logger for logging issues to. We copy various assets from the + * Minecraft logger to achieve a similar appearance. + */ + public static FMLRelaunchLog log = new FMLRelaunchLog(); + + static File minecraftHome; + private static boolean configured; + + private Logger myLog; + + static Side side; + + private FMLRelaunchLog() + { + } + + /** + * Configure the FML logger and inject tracing printstreams. + */ + private static void configureLogging() + { + log.myLog = LogManager.getLogger("FML"); + ThreadContext.put("side", side.name().toLowerCase(Locale.ENGLISH)); + configured = true; + + FMLRelaunchLog.fine("Injecting tracing printstreams for STDOUT/STDERR."); + System.setOut(new TracingPrintStream(LogManager.getLogger("STDOUT"), System.out)); + System.setErr(new TracingPrintStream(LogManager.getLogger("STDERR"), System.err)); + } + + public static void log(String targetLog, Level level, String format, Object... data) + { + LogManager.getLogger(targetLog).log(level, String.format(format, data)); + } + + public static void log(Level level, String format, Object... data) + { + if (!configured) + { + configureLogging(); + } + log.myLog.log(level, String.format(format, data)); + } + + public static void log(String targetLog, Level level, Throwable ex, String format, Object... data) + { + LogManager.getLogger(targetLog).log(level, String.format(format, data), ex); + } + + public static void log(Level level, Throwable ex, String format, Object... data) + { + if (!configured) + { + configureLogging(); + } + log.myLog.log(level, String.format(format, data), ex); + } + + public static void severe(String format, Object... data) + { + log(Level.ERROR, format, data); + } + + public static void warning(String format, Object... data) + { + log(Level.WARN, format, data); + } + + public static void info(String format, Object... data) + { + log(Level.INFO, format, data); + } + + public static void fine(String format, Object... data) + { + log(Level.DEBUG, format, data); + } + + public static void finer(String format, Object... data) + { + log(Level.TRACE, format, data); + } + + public Logger getLogger() + { + return myLog; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLSecurityManager.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLSecurityManager.java new file mode 100644 index 000000000..f2cdc0615 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/FMLSecurityManager.java @@ -0,0 +1,38 @@ +package net.minecraftforge.fml.relauncher; + +import java.security.Permission; + +/** + * A custom security manager stopping certain events from happening + * unexpectedly. + * + * @author cpw + * + */ +public class FMLSecurityManager extends SecurityManager { + @Override + public void checkPermission(Permission perm) + { + String permName = perm.getName() != null ? perm.getName() : "missing"; + if (permName.startsWith("exitVM")) + { + Class[] classContexts = getClassContext(); + String callingClass = classContexts.length > 3 ? classContexts[4].getName() : "none"; + String callingParent = classContexts.length > 4 ? classContexts[5].getName() : "none"; + // FML is allowed to call system exit and the Minecraft applet (from the quit button) + if (!(callingClass.startsWith("net.minecraftforge.fml.") || ( "net.minecraft.client.Minecraft".equals(callingClass) && "net.minecraft.client.Minecraft".equals(callingParent)) || ("net.minecraft.server.dedicated.DedicatedServer".equals(callingClass) && "net.minecraft.server.MinecraftServer".equals(callingParent)))) + { + throw new ExitTrappedException(); + } + } + else if ("setSecurityManager".equals(permName)) + { + throw new SecurityException("Cannot replace the FML security manager"); + } + return; + } + + public static class ExitTrappedException extends SecurityException { + private static final long serialVersionUID = 1L; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/FileListHelper.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/FileListHelper.java new file mode 100644 index 000000000..71506ed2c --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/FileListHelper.java @@ -0,0 +1,29 @@ +package net.minecraftforge.fml.relauncher; + +import java.io.File; +import java.io.FilenameFilter; +import java.util.Arrays; +import java.util.Comparator; + +public final class FileListHelper { + private static enum CaseInsensitiveFileComparator implements Comparator + { + INSTANCE; + @Override + public int compare(File o1, File o2) + { + return o1 != null && o2 != null ? o1.getName().compareToIgnoreCase(o2.getName()) : o1 == null ? -1 : 1; + } + + } + public static File[] sortFileList(File[] files) + { + Arrays.sort(files, CaseInsensitiveFileComparator.INSTANCE); + return files; + } + public static File[] sortFileList(File dir, FilenameFilter filter) + { + File[] files = dir.listFiles(filter); + return sortFileList(files); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/IFMLCallHook.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/IFMLCallHook.java new file mode 100644 index 000000000..9eb35d850 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/IFMLCallHook.java @@ -0,0 +1,34 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.relauncher; + +import java.util.Map; +import java.util.concurrent.Callable; + +/** + * This call hook allows for code to execute at the very early stages of + * minecraft initialization. FML uses it to validate that there is a + * safe environment for further loading of FML. + * + * @author cpw + * + */ +public interface IFMLCallHook extends Callable +{ + /** + * Injected with data from the FML environment: + * "classLoader" : The FML Class Loader + * @param data + */ + void injectData(Map data); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/IFMLLoadingPlugin.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/IFMLLoadingPlugin.java new file mode 100644 index 000000000..57eb5d525 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/IFMLLoadingPlugin.java @@ -0,0 +1,136 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.relauncher; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.util.Map; + +/** + * The base plugin that provides class name meta information to FML to + * enhance the classloading lifecycle for mods in FML + * + * @author cpw + * + */ +public interface IFMLLoadingPlugin +{ + /** + * Return a list of classes that implements the IClassTransformer interface + * @return a list of classes that implements the IClassTransformer interface + */ + String[] getASMTransformerClass(); + + /** + * Return a class name that implements "ModContainer" for injection into the mod list + * The "getName" function should return a name that other mods can, if need be, + * depend on. + * Trivially, this modcontainer will be loaded before all regular mod containers, + * which means it will be forced to be "immutable" - not susceptible to normal + * sorting behaviour. + * All other mod behaviours are available however- this container can receive and handle + * normal loading events + */ + String getModContainerClass(); + + /** + * Return the class name of an implementor of "IFMLCallHook", that will be run, in the + * main thread, to perform any additional setup this coremod may require. It will be + * run prior to Minecraft starting, so it CANNOT operate on minecraft + * itself. The game will deliberately crash if this code is detected to trigger a + * minecraft class loading (TODO: implement crash ;) ) + */ + String getSetupClass(); + + /** + * Inject coremod data into this coremod + * This data includes: + * "mcLocation" : the location of the minecraft directory, + * "coremodList" : the list of coremods + * "coremodLocation" : the file this coremod loaded from, + */ + void injectData(Map data); + + /** + * Return an optional access transformer class for this coremod. It will be injected post-deobf + * so ensure your ATs conform to the new srgnames scheme. + * @return the name of an access transformer class or null if none is provided + */ + String getAccessTransformerClass(); + + /** + * Annotate your load plugin with a list of package prefixes that will *not* be + * processed by the ASM transformation stack. + * + * Your plugin, and any transformers should *definitely* be in this list, because + * otherwise you can face problems with the classloader trying to transform classes + * with your transformer, whilst it is *loading* your transformer. Not pretty. + * + * @author cpw + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + public @interface TransformerExclusions + { + public String[] value() default ""; + } + + /** + * Use this to target a specific minecraft version for your coremod. It will refuse to load with an error if + * minecraft is not this exact version. + * + * @author cpw + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + public @interface MCVersion + { + public String value() default ""; + } + + /** + * Name this coremod something other than the "short class name" + * @author cpw + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + public @interface Name + { + public String value() default ""; + } + + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + public @interface DependsOn + { + public String[] value() default {}; + } + + /** + * A simple sorting index, interleaved with other tweakers from other sources, as well as FML + * @author cpw + * + */ + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + public @interface SortingIndex + { + public int value() default 0; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/ModListHelper.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/ModListHelper.java new file mode 100644 index 000000000..5ed884d95 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/ModListHelper.java @@ -0,0 +1,128 @@ +package net.minecraftforge.fml.relauncher; + +import java.io.File; +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.Set; +import net.minecraft.launchwrapper.Launch; +import org.apache.logging.log4j.Level; +import com.google.common.base.Charsets; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.common.io.Files; +import com.google.gson.Gson; +import com.google.gson.JsonSyntaxException; + +public class ModListHelper { + public static class JsonModList { + public String repositoryRoot; + public List modRef; + public String parentList; + } + private static File mcDirectory; + private static Set visitedFiles = Sets.newHashSet(); + public static final Map additionalMods = Maps.newLinkedHashMap(); + static void parseModList(File minecraftDirectory) + { + FMLRelaunchLog.fine("Attempting to load commandline specified mods, relative to %s", minecraftDirectory.getAbsolutePath()); + mcDirectory = minecraftDirectory; + @SuppressWarnings("unchecked") + Map args = (Map) Launch.blackboard.get("launchArgs"); + String listFile = args.get("--modListFile"); + if (listFile != null) + { + parseListFile(listFile); + } + String extraMods = args.get("--mods"); + if (extraMods != null) + { + String[] split = extraMods.split(","); + for (String modFile : split) + { + tryAddFile(modFile, null, modFile); + } + } + } + private static void parseListFile(String listFile) { + File f; + try + { + f = new File(mcDirectory, listFile).getCanonicalFile(); + } catch (IOException e2) + { + FMLRelaunchLog.log(Level.INFO, e2, "Unable to canonicalize path %s relative to %s", listFile, mcDirectory.getAbsolutePath()); + return; + } + if (!f.exists()) + { + FMLRelaunchLog.info("Failed to find modList file %s", f.getAbsolutePath()); + return; + } + if (visitedFiles.contains(f)) + { + FMLRelaunchLog.severe("There appears to be a loop in the modListFile hierarchy. You shouldn't do this!"); + throw new RuntimeException("Loop detected, impossible to load modlistfile"); + } + String json; + try { + json = Files.asCharSource(f, Charsets.UTF_8).read(); + } catch (IOException e1) { + FMLRelaunchLog.log(Level.INFO, e1, "Failed to read modList json file %s.", listFile); + return; + } + Gson gsonParser = new Gson(); + JsonModList modList; + try { + modList = gsonParser.fromJson(json, JsonModList.class); + } catch (JsonSyntaxException e) { + FMLRelaunchLog.log(Level.INFO, e, "Failed to parse modList json file %s.", listFile); + return; + } + visitedFiles.add(f); + // We visit parents before children, so the additionalMods list is sorted from parent to child + if (modList.parentList != null) + { + parseListFile(modList.parentList); + } + File repoRoot = new File(modList.repositoryRoot); + if (!repoRoot.exists()) + { + FMLRelaunchLog.info("Failed to find the specified repository root %s", modList.repositoryRoot); + return; + } + + for (String s : modList.modRef) + { + StringBuilder fileName = new StringBuilder(); + StringBuilder genericName = new StringBuilder(); + String[] parts = s.split(":"); + fileName.append(parts[0].replace('.', File.separatorChar)); + genericName.append(parts[0]); + fileName.append(File.separatorChar); + fileName.append(parts[1]).append(File.separatorChar); + genericName.append(":").append(parts[1]); + fileName.append(parts[2]).append(File.separatorChar); + fileName.append(parts[1]).append('-').append(parts[2]); + if (parts.length == 4) + { + fileName.append('-').append(parts[3]); + genericName.append(":").append(parts[3]); + } + fileName.append(".jar"); + tryAddFile(fileName.toString(), repoRoot, genericName.toString()); + } + } + private static void tryAddFile(String modFileName, File repoRoot, String descriptor) { + File modFile = repoRoot != null ? new File(repoRoot,modFileName) : new File(mcDirectory, modFileName); + if (!modFile.exists()) + { + FMLRelaunchLog.info("Failed to find mod file %s (%s)", descriptor, modFile.getAbsolutePath()); + } + else + { + FMLRelaunchLog.fine("Adding %s (%s) to the mod list", descriptor, modFile.getAbsolutePath()); + additionalMods.put(descriptor, modFile); + } + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/ReflectionHelper.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/ReflectionHelper.java new file mode 100644 index 000000000..ff72524ec --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/ReflectionHelper.java @@ -0,0 +1,185 @@ +/* + * The FML Forge Mod Loader suite. Copyright (C) 2012 cpw + * + * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +package net.minecraftforge.fml.relauncher; + +import java.lang.reflect.Field; +import java.lang.reflect.Method; +/** + * Some reflection helper code. + * + * @author cpw + * + */ +public class ReflectionHelper +{ + public static class UnableToFindMethodException extends RuntimeException + { + private static final long serialVersionUID = 1L; + private String[] methodNames; + + public UnableToFindMethodException(String[] methodNames, Exception failed) + { + super(failed); + this.methodNames = methodNames; + } + + } + + public static class UnableToFindClassException extends RuntimeException + { + private static final long serialVersionUID = 1L; + private String[] classNames; + + public UnableToFindClassException(String[] classNames, Exception err) + { + super(err); + this.classNames = classNames; + } + + } + + public static class UnableToAccessFieldException extends RuntimeException + { + private static final long serialVersionUID = 1L; + private String[] fieldNameList; + + public UnableToAccessFieldException(String[] fieldNames, Exception e) + { + super(e); + this.fieldNameList = fieldNames; + } + } + + public static class UnableToFindFieldException extends RuntimeException + { + private static final long serialVersionUID = 1L; + private String[] fieldNameList; + public UnableToFindFieldException(String[] fieldNameList, Exception e) + { + super(e); + this.fieldNameList = fieldNameList; + } + } + + public static Field findField(Class clazz, String... fieldNames) + { + Exception failed = null; + for (String fieldName : fieldNames) + { + try + { + Field f = clazz.getDeclaredField(fieldName); + f.setAccessible(true); + return f; + } + catch (Exception e) + { + failed = e; + } + } + throw new UnableToFindFieldException(fieldNames, failed); + } + + @SuppressWarnings("unchecked") + public static T getPrivateValue(Class classToAccess, E instance, int fieldIndex) + { + try + { + Field f = classToAccess.getDeclaredFields()[fieldIndex]; + f.setAccessible(true); + return (T) f.get(instance); + } + catch (Exception e) + { + throw new UnableToAccessFieldException(new String[0], e); + } + } + + @SuppressWarnings("unchecked") + public static T getPrivateValue(Class classToAccess, E instance, String... fieldNames) + { + try + { + return (T) findField(classToAccess, fieldNames).get(instance); + } + catch (Exception e) + { + throw new UnableToAccessFieldException(fieldNames, e); + } + } + + public static void setPrivateValue(Class classToAccess, T instance, E value, int fieldIndex) + { + try + { + Field f = classToAccess.getDeclaredFields()[fieldIndex]; + f.setAccessible(true); + f.set(instance, value); + } + catch (Exception e) + { + throw new UnableToAccessFieldException(new String[0] , e); + } + } + + public static void setPrivateValue(Class classToAccess, T instance, E value, String... fieldNames) + { + try + { + findField(classToAccess, fieldNames).set(instance, value); + } + catch (Exception e) + { + throw new UnableToAccessFieldException(fieldNames, e); + } + } + + @SuppressWarnings("unchecked") + public static Class getClass(ClassLoader loader, String... classNames) + { + Exception err = null; + for (String className : classNames) + { + try + { + return (Class) Class.forName(className, false, loader); + } + catch (Exception e) + { + err = e; + } + } + + throw new UnableToFindClassException(classNames, err); + } + + + public static Method findMethod(Class clazz, E instance, String[] methodNames, Class... methodTypes) + { + Exception failed = null; + for (String methodName : methodNames) + { + try + { + Method m = clazz.getDeclaredMethod(methodName, methodTypes); + m.setAccessible(true); + return m; + } + catch (Exception e) + { + failed = e; + } + } + throw new UnableToFindMethodException(methodNames, failed); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/ServerLaunchWrapper.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/ServerLaunchWrapper.java new file mode 100644 index 000000000..6d201da08 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/ServerLaunchWrapper.java @@ -0,0 +1,53 @@ +package net.minecraftforge.fml.relauncher; + +import java.lang.reflect.Method; + +public class ServerLaunchWrapper { + + /** + * @param args + */ + public static void main(String[] args) + { + new ServerLaunchWrapper().run(args); + } + + private ServerLaunchWrapper() + { + + } + + private void run(String[] args) + { + Class launchwrapper = null; + try + { + launchwrapper = Class.forName("net.minecraft.launchwrapper.Launch",true,getClass().getClassLoader()); + Class.forName("org.objectweb.asm.Type",true,getClass().getClassLoader()); + } + catch (Exception e) + { + System.err.printf("We appear to be missing one or more essential library files.\n" + + "You will need to add them to your server before FML and Forge will run successfully."); + e.printStackTrace(System.err); + System.exit(1); + } + + try + { + Method main = launchwrapper.getMethod("main", String[].class); + String[] allArgs = new String[args.length + 2]; + allArgs[0] = "--tweakClass"; + allArgs[1] = "net.minecraftforge.fml.common.launcher.FMLServerTweaker"; + System.arraycopy(args, 0, allArgs, 2, args.length); + main.invoke(null,(Object)allArgs); + } + catch (Exception e) + { + System.err.printf("A problem occurred running the Server launcher."); + e.printStackTrace(System.err); + System.exit(1); + } + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/Side.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/Side.java new file mode 100644 index 000000000..0acd06b8a --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/Side.java @@ -0,0 +1,43 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.relauncher; + +public enum Side { + + /** + * The client side. Specifically, an environment where rendering capability exists. + * Usually in the game client. + */ + CLIENT, + /** + * The server side. Specifically, an environment where NO rendering capability exists. + * Usually on the dedicated server. + */ + SERVER; + + /** + * @return If this is the server environment + */ + public boolean isServer() + { + return !isClient(); + } + + /** + * @return if this is the Client environment + */ + public boolean isClient() + { + return this == CLIENT; + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/relauncher/SideOnly.java b/fml/src/main/java/net/minecraftforge/fml/relauncher/SideOnly.java new file mode 100644 index 000000000..f04b0b682 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/relauncher/SideOnly.java @@ -0,0 +1,41 @@ +/* + * Forge Mod Loader + * Copyright (c) 2012-2013 cpw. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v2.1 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * Contributors: + * cpw - implementation + */ + +package net.minecraftforge.fml.relauncher; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import net.minecraftforge.fml.common.SidedProxy; + + +/** + * Marks the associated element as being only available on a certain {@link Side}. This is + * generally meant for internal Forge and FML use only and should only be used on mod classes + * when other more common mechanisms, such as using a {@link SidedProxy} fail to work. + * + * Note, this will only apply to the direct element marked. This code: + * @SideOnly public MyField field = new MyField(); will not work, as the initializer + * is a separate piece of code to the actual field declaration, and will not be able to find + * it's field on the wrong side. + * + * @author cpw + * + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.CONSTRUCTOR}) +public @interface SideOnly +{ + public Side value(); +} diff --git a/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/ByteBufferSeekableSource.java b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/ByteBufferSeekableSource.java new file mode 100644 index 000000000..46f367d1c --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/ByteBufferSeekableSource.java @@ -0,0 +1,100 @@ +/* + * ByteArraySeekableSource.java + * + * Created on May 17, 2006, 12:41 PM + * Copyright (c) 2006 Heiko Klein + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + */ + +package net.minecraftforge.fml.repackage.com.nothome.delta; + +import java.io.IOException; +import java.nio.ByteBuffer; + +/** + * Wraps a byte buffer as a source + */ +public class ByteBufferSeekableSource implements SeekableSource { + + private ByteBuffer bb; + private ByteBuffer cur; + + /** + * Constructs a new ByteArraySeekableSource. + */ + public ByteBufferSeekableSource(byte[] source) { + this(ByteBuffer.wrap(source)); + } + + /** + * Constructs a new ByteArraySeekableSource. + */ + public ByteBufferSeekableSource(ByteBuffer bb) { + if (bb == null) + throw new NullPointerException("bb"); + this.bb = bb; + bb.rewind(); + try { + seek(0); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public void seek(long pos) throws IOException { + cur = bb.slice(); + if (pos > cur.limit()) + throw new IOException("pos " + pos + " cannot seek " + cur.limit()); + cur.position((int) pos); + } + + @Override + public int read(ByteBuffer dest) throws IOException { + if (!cur.hasRemaining()) + return -1; + int c = 0; + while (cur.hasRemaining() && dest.hasRemaining()) { + dest.put(cur.get()); + c++; + } + return c; + } + + @Override + public void close() throws IOException { + bb = null; + cur = null; + } + + /** + * Returns a debug String. + */ + @Override + public String toString() + { + return "BBSeekable" + + " bb=" + this.bb.position() + "-" + bb.limit() + + " cur=" + this.cur.position() + "-" + cur.limit() + + ""; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/Checksum.java b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/Checksum.java new file mode 100644 index 000000000..55cc03396 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/Checksum.java @@ -0,0 +1,162 @@ +/* + * + * Copyright (c) 2001 Torgeir Veimo + * Copyright (c) 2002 Nicolas PERIDONT + * Copyright (c) 2006 Heiko Klein + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +package net.minecraftforge.fml.repackage.com.nothome.delta; + +import java.io.IOException; +import java.nio.ByteBuffer; +import java.util.Map; + +import com.google.common.collect.Maps; + +/** + * Checksum computation class. + */ +public class Checksum { + + static final boolean debug = false; + + private Map checksums = Maps.newHashMap(); + + private static final char single_hash[] = { + /* Random numbers generated using SLIB's pseudo-random number generator. */ + 0xbcd1, 0xbb65, 0x42c2, 0xdffe, 0x9666, 0x431b, 0x8504, 0xeb46, + 0x6379, 0xd460, 0xcf14, 0x53cf, 0xdb51, 0xdb08, 0x12c8, 0xf602, + 0xe766, 0x2394, 0x250d, 0xdcbb, 0xa678, 0x02af, 0xa5c6, 0x7ea6, + 0xb645, 0xcb4d, 0xc44b, 0xe5dc, 0x9fe6, 0x5b5c, 0x35f5, 0x701a, + 0x220f, 0x6c38, 0x1a56, 0x4ca3, 0xffc6, 0xb152, 0x8d61, 0x7a58, + 0x9025, 0x8b3d, 0xbf0f, 0x95a3, 0xe5f4, 0xc127, 0x3bed, 0x320b, + 0xb7f3, 0x6054, 0x333c, 0xd383, 0x8154, 0x5242, 0x4e0d, 0x0a94, + 0x7028, 0x8689, 0x3a22, 0x0980, 0x1847, 0xb0f1, 0x9b5c, 0x4176, + 0xb858, 0xd542, 0x1f6c, 0x2497, 0x6a5a, 0x9fa9, 0x8c5a, 0x7743, + 0xa8a9, 0x9a02, 0x4918, 0x438c, 0xc388, 0x9e2b, 0x4cad, 0x01b6, + 0xab19, 0xf777, 0x365f, 0x1eb2, 0x091e, 0x7bf8, 0x7a8e, 0x5227, + 0xeab1, 0x2074, 0x4523, 0xe781, 0x01a3, 0x163d, 0x3b2e, 0x287d, + 0x5e7f, 0xa063, 0xb134, 0x8fae, 0x5e8e, 0xb7b7, 0x4548, 0x1f5a, + 0xfa56, 0x7a24, 0x900f, 0x42dc, 0xcc69, 0x02a0, 0x0b22, 0xdb31, + 0x71fe, 0x0c7d, 0x1732, 0x1159, 0xcb09, 0xe1d2, 0x1351, 0x52e9, + 0xf536, 0x5a4f, 0xc316, 0x6bf9, 0x8994, 0xb774, 0x5f3e, 0xf6d6, + 0x3a61, 0xf82c, 0xcc22, 0x9d06, 0x299c, 0x09e5, 0x1eec, 0x514f, + 0x8d53, 0xa650, 0x5c6e, 0xc577, 0x7958, 0x71ac, 0x8916, 0x9b4f, + 0x2c09, 0x5211, 0xf6d8, 0xcaaa, 0xf7ef, 0x287f, 0x7a94, 0xab49, + 0xfa2c, 0x7222, 0xe457, 0xd71a, 0x00c3, 0x1a76, 0xe98c, 0xc037, + 0x8208, 0x5c2d, 0xdfda, 0xe5f5, 0x0b45, 0x15ce, 0x8a7e, 0xfcad, + 0xaa2d, 0x4b5c, 0xd42e, 0xb251, 0x907e, 0x9a47, 0xc9a6, 0xd93f, + 0x085e, 0x35ce, 0xa153, 0x7e7b, 0x9f0b, 0x25aa, 0x5d9f, 0xc04d, + 0x8a0e, 0x2875, 0x4a1c, 0x295f, 0x1393, 0xf760, 0x9178, 0x0f5b, + 0xfa7d, 0x83b4, 0x2082, 0x721d, 0x6462, 0x0368, 0x67e2, 0x8624, + 0x194d, 0x22f6, 0x78fb, 0x6791, 0xb238, 0xb332, 0x7276, 0xf272, + 0x47ec, 0x4504, 0xa961, 0x9fc8, 0x3fdc, 0xb413, 0x007a, 0x0806, + 0x7458, 0x95c6, 0xccaa, 0x18d6, 0xe2ae, 0x1b06, 0xf3f6, 0x5050, + 0xc8e8, 0xf4ac, 0xc04c, 0xf41c, 0x992f, 0xae44, 0x5f1b, 0x1113, + 0x1738, 0xd9a8, 0x19ea, 0x2d33, 0x9698, 0x2fe9, 0x323f, 0xcde2, + 0x6d71, 0xe37d, 0xb697, 0x2c4f, 0x4373, 0x9102, 0x075d, 0x8e25, + 0x1672, 0xec28, 0x6acb, 0x86cc, 0x186e, 0x9414, 0xd674, 0xd1a5 + }; + + /** + * Initialize checksums for source. The checksum for the chunkSize bytes at offset + * chunkSize * i is inserted into a hash map. + */ + public Checksum(SeekableSource source, int chunkSize) throws IOException { + ByteBuffer bb = ByteBuffer.allocate(chunkSize * 2); + int count = 0; + while (true) { + source.read(bb); + bb.flip(); + if (bb.remaining() < chunkSize) + break; + while (bb.remaining() >= chunkSize) { + long queryChecksum = queryChecksum0(bb, chunkSize); + checksums.put(queryChecksum, count++); + } + bb.compact(); + } + } + + /** + * Finds the checksum computed from the buffer. + * Marks, gets, then resets the buffer. + */ + public static long queryChecksum(ByteBuffer bb, int len) { + bb.mark(); + long sum = queryChecksum0(bb, len); + bb.reset(); + return sum; + } + + private static long queryChecksum0(ByteBuffer bb, int len) { + int high = 0; int low = 0; + for (int i = 0; i < len; i++) { + low += single_hash[bb.get()+128]; + high += low; + } + return ((high & 0xffff) << 16) | (low & 0xffff); + } + + /** + * Increments a checksum. + * @param checksum initial checksum + * @param out byte leaving view + * @param in byte entering view + * @param chunkSize size of chunks + * @return new checksum + */ + public static long incrementChecksum(long checksum, byte out, byte in, int chunkSize) { + char old_c = single_hash[out+128]; + char new_c = single_hash[in+128]; + int low = ((int)((checksum) & 0xffff) - old_c + new_c) & 0xffff; + int high = ((int)((checksum) >> 16) - (old_c * chunkSize) + low) & 0xffff; + return (high << 16) | (low & 0xffff); + } + + /** + * 256 random hash values. + */ + public static char[] getSingleHash() { + return single_hash; + } + + /** + * Finds the index of a checksum. + */ + public int findChecksumIndex(long hashf) { + if (!checksums.containsKey(hashf)) + return -1; + return checksums.get(hashf); + } + + /** + * Returns a debug String. + */ + @Override + public String toString() + { + return super.toString() + + " checksums=" + this.checksums; + } + + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/DebugDiffWriter.java b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/DebugDiffWriter.java new file mode 100644 index 000000000..0dff4d453 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/DebugDiffWriter.java @@ -0,0 +1,79 @@ +/* + * + * Copyright (c) 2001 Torgeir Veimo + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + */ + +package net.minecraftforge.fml.repackage.com.nothome.delta; + + +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +/** + * For debugging patch generation. + */ +public class DebugDiffWriter implements DiffWriter { + + private ByteArrayOutputStream os = new ByteArrayOutputStream(); + + /** + * Constructs a new DebugDiffWriter. + */ + public DebugDiffWriter() {} + + @Override + public void addCopy(long offset, int length) throws IOException { + if (os.size() > 0) + writeBuf(); + System.err.println("COPY off: " + offset + ", len: " + length); + } + + @Override + public void addData(byte b) throws IOException { + os.write(b); + writeBuf(); + } + private void writeBuf() { + System.err.print("DATA: "); + byte[] ba = os.toByteArray(); + for (int ix = 0; ix < ba.length; ix++) { + if (ba[ix] == '\n') + System.err.print("\\n"); + else + System.err.print(String.valueOf((char)((char) ba[ix]))); + //System.err.print("0x" + Integer.toHexString(buf[ix]) + " "); // hex output + } + System.err.println(""); + os.reset(); + } + + @Override + public void flush() throws IOException { + System.err.println("FLUSH"); + } + @Override + public void close() throws IOException { + System.err.println("CLOSE"); + } + +} + diff --git a/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/Delta.java b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/Delta.java new file mode 100644 index 000000000..60cc2d56f --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/Delta.java @@ -0,0 +1,447 @@ + /* + * + * Copyright (c) 2001 Torgeir Veimo + * Copyright (c) 2002 Nicolas PERIDONT + * Bug Fixes: Daniel Morrione dan@morrione.net + * Copyright (c) 2006 Heiko Klein + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Change Log: + * iiimmddyyn nnnnn Description + * ---------- ----- ------------------------------------------------------- + * gls100603a Fixes from Torgeir Veimo and Dan Morrione + * gls110603a Stream not being closed thus preventing a file from + * being subsequently deleted. + * gls031504a Error being written to stderr rather than throwing exception + */ + +package net.minecraftforge.fml.repackage.com.nothome.delta; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.RandomAccessFile; +import java.nio.ByteBuffer; +import java.nio.channels.Channels; +import java.nio.channels.ReadableByteChannel; + +/** + * Class for computing deltas against a source. + * The source file is read by blocks and a hash is computed per block. + * Then the target is scanned for matching blocks. + *

+ * This class is not thread safe. Use one instance per thread. + *

+ * This class should support files over 4GB in length, although you must + * use a larger checksum size, such as 1K, as all checksums use "int" indexing. + * Newer versions may eventually support paging in/out of checksums. + */ +public class Delta { + + /** + * Debug flag. + */ + final static boolean debug = false; + + /** + * Default size of 16. + * For "Lorem ipsum" text files (see the tests) the ideal size is about 14. + * Any smaller and the patch size becomes actually be larger. + *

+ * Use a size like 64 or 128 for large files. + */ + public static final int DEFAULT_CHUNK_SIZE = 1<<4; + + /** + * Chunk Size. + */ + private int S; + + private SourceState source; + private TargetState target; + private DiffWriter output; + + /** + * Constructs a new Delta. + * In the future, additional constructor arguments will set the algorithm details. + */ + public Delta() { + setChunkSize(DEFAULT_CHUNK_SIZE); + } + + /** + * Sets the chunk size used. + * Larger chunks are faster and use less memory, but create larger patches + * as well. + * + * @param size + */ + public void setChunkSize(int size) { + if (size <= 0) + throw new IllegalArgumentException("Invalid size"); + S = size; + } + + /** + * Compares the source bytes with target bytes, writing to output. + */ + public void compute(byte source[], byte target[], OutputStream output) + throws IOException { + compute(new ByteBufferSeekableSource(source), + new ByteArrayInputStream(target), + new GDiffWriter(output)); + } + + /** + * Compares the source bytes with target bytes, returning output. + */ + public byte[] compute(byte source[], byte target[]) + throws IOException { + ByteArrayOutputStream os = new ByteArrayOutputStream(); + compute(source, target, os); + return os.toByteArray(); + } + + /** + * Compares the source bytes with target input, writing to output. + */ + public void compute(byte[] sourceBytes, InputStream inputStream, + DiffWriter diffWriter) throws IOException + { + compute(new ByteBufferSeekableSource(sourceBytes), + inputStream, diffWriter); + } + + /** + * Compares the source file with a target file, writing to output. + * + * @param output will be closed + */ + public void compute(File sourceFile, File targetFile, DiffWriter output) + throws IOException { + RandomAccessFileSeekableSource source = new RandomAccessFileSeekableSource(new RandomAccessFile(sourceFile, "r")); + InputStream is = new BufferedInputStream(new FileInputStream(targetFile)); + try { + compute(source, is, output); + } finally { + source.close(); + is.close(); + } + } + + /** + * Compares the source with a target, writing to output. + * + * @param output will be closed + */ + public void compute(SeekableSource seekSource, InputStream targetIS, DiffWriter output) + throws IOException { + + if (debug) { + debug("using match length S = " + S); + } + + source = new SourceState(seekSource); + target = new TargetState(targetIS); + this.output = output; + if (debug) + debug("checksums " + source.checksum); + + while (!target.eof()) { + debug("!target.eof()"); + int index = target.find(source); + if (index != -1) { + if (debug) + debug("found hash " + index); + long offset = (long)index * S; + source.seek(offset); + int match = target.longestMatch(source); + if (match >= S) { + if (debug) + debug("output.addCopy("+offset+","+match+")"); + output.addCopy(offset, match); + } else { + // move the position back according to how much we can't copy + target.tbuf.position(target.tbuf.position() - match); + addData(); + } + } else { + addData(); + } + } + output.close(); + } + + private void addData() throws IOException { + int i = target.read(); + if (debug) + debug("addData " + Integer.toHexString(i)); + if (i == -1) + return; + output.addData((byte)i); + } + + class SourceState { + + private Checksum checksum; + private SeekableSource source; + + public SourceState(SeekableSource source) throws IOException { + checksum = new Checksum(source, S); + this.source = source; + source.seek(0); + } + + public void seek(long index) throws IOException { + source.seek(index); + } + + /** + * Returns a debug String. + */ + @Override + public String toString() + { + return "Source"+ + " checksum=" + this.checksum + + " source=" + this.source + + ""; + } + + } + + class TargetState { + + private ReadableByteChannel c; + private ByteBuffer tbuf = ByteBuffer.allocate(blocksize()); + private ByteBuffer sbuf = ByteBuffer.allocate(blocksize()); + private long hash; + private boolean hashReset = true; + private boolean eof; + + TargetState(InputStream targetIS) throws IOException { + c = Channels.newChannel(targetIS); + tbuf.limit(0); + } + + private int blocksize() { + return Math.min(1024 * 16, S * 4); + } + + /** + * Returns the index of the next N bytes of the stream. + */ + public int find(SourceState source) throws IOException { + if (eof) + return -1; + sbuf.clear(); + sbuf.limit(0); + if (hashReset) { + debug("hashReset"); + while (tbuf.remaining() < S) { + tbuf.compact(); + int read = c.read(tbuf); + tbuf.flip(); + if (read == -1) { + debug("target ending"); + return -1; + } + } + hash = Checksum.queryChecksum(tbuf, S); + hashReset = false; + } + if (debug) + debug("hash " + hash + " " + dump()); + return source.checksum.findChecksumIndex(hash); + } + + public boolean eof() { + return eof; + } + + /** + * Reads a byte. + * @throws IOException + */ + public int read() throws IOException { + if (tbuf.remaining() <= S) { + readMore(); + if (!tbuf.hasRemaining()) { + eof = true; + return -1; + } + } + byte b = tbuf.get(); + if (tbuf.remaining() >= S) { + byte nchar = tbuf.get( tbuf.position() + S -1 ); + hash = Checksum.incrementChecksum(hash, b, nchar, S); + } else { + debug("out of char"); + } + return b & 0xFF; + } + + /** + * Returns the longest match length at the source location. + */ + public int longestMatch(SourceState source) throws IOException { + debug("longestMatch"); + int match = 0; + hashReset = true; + while (true) { + if (!sbuf.hasRemaining()) { + sbuf.clear(); + int read = source.source.read(sbuf); + sbuf.flip(); + if (read == -1) + return match; + } + if (!tbuf.hasRemaining()) { + readMore(); + if (!tbuf.hasRemaining()) { + debug("target ending"); + eof = true; + return match; + } + } + if (sbuf.get() != tbuf.get()) { + tbuf.position(tbuf.position() - 1); + return match; + } + match++; + } + } + + private void readMore() throws IOException { + if (debug) + debug("readMore " + tbuf); + tbuf.compact(); + c.read(tbuf); + tbuf.flip(); + } + + void hash() { + hash = Checksum.queryChecksum(tbuf, S); + } + + /** + * Returns a debug String. + */ + @Override + public String toString() + { + return "Target[" + + " targetBuff=" + dump() + // this.tbuf + + " sourceBuff=" + this.sbuf + + " hashf=" + this.hash + + " eof=" + this.eof + + "]"; + } + + private String dump() { return dump(tbuf); } + + private String dump(ByteBuffer bb) { + return getTextDump(bb); + } + + private void append(StringBuffer sb, int value) { + char b1 = (char)((value >> 4) & 0x0F); + char b2 = (char)((value) & 0x0F); + sb.append( Character.forDigit(b1, 16) ); + sb.append( Character.forDigit(b2, 16) ); + } + + public String getTextDump(ByteBuffer bb) + { + StringBuffer sb = new StringBuffer(bb.remaining() * 2); + bb.mark(); + while (bb.hasRemaining()) { + int val = bb.get(); + if (val > 32 && val < 127) + sb.append(" ").append((char)val); + else + append(sb, val); + } + bb.reset(); + return sb.toString(); + } + + } + + /** + * Creates a patch using file names. + */ + public static void main(String argv[]) throws Exception { + if (argv.length != 3) { + System.err.println("usage Delta [-d] source target [output]"); + System.err.println("either -d or an output filename must be specified."); + System.err.println("aborting.."); + return; + } + DiffWriter output = null; + File sourceFile = null; + File targetFile = null; + if (argv[0].equals("-d")) { + sourceFile = new File(argv[1]); + targetFile = new File(argv[2]); + output = new DebugDiffWriter(); + } else { + sourceFile = new File(argv[0]); + targetFile = new File(argv[1]); + output = + new GDiffWriter( + new DataOutputStream( + new BufferedOutputStream( + new FileOutputStream(new File(argv[2]))))); + } + + if (sourceFile.length() > Integer.MAX_VALUE + || targetFile.length() > Integer.MAX_VALUE) { + System.err.println( + "source or target is too large, max length is " + + Integer.MAX_VALUE); + System.err.println("aborting.."); + output.close(); + return; + } + + Delta d = new Delta(); + d.compute(sourceFile, targetFile, output); + + output.flush(); + output.close(); + if (debug) //gls031504a + System.out.println("finished generating delta"); + } + + private void debug(String s) { + if (debug) + System.err.println(s); + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/DiffWriter.java b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/DiffWriter.java new file mode 100644 index 000000000..a2534e346 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/DiffWriter.java @@ -0,0 +1,58 @@ +/* + * + * Copyright (c) 2001 Torgeir Veimo + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + */ + +package net.minecraftforge.fml.repackage.com.nothome.delta; + +import java.io.Closeable; +import java.io.IOException; + +/** + * Interface for DIFF writers. + */ +public interface DiffWriter extends Closeable { + + /** + * Add a GDIFF copy instruction. + */ + public void addCopy(long offset, int length) throws IOException; + + /** + * Add a GDIFF data instruction. + * Implementors should buffer the data. + */ + public void addData(byte b) throws IOException; + + /** + * Flushes to output, e.g. any data added. + */ + public void flush() throws IOException; + + /** + * Closes this stream. + * Note that {@link DiffWriter} will invoke this method at the end. + */ + @Override + public void close() throws IOException; +} + diff --git a/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/GDiffPatcher.java b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/GDiffPatcher.java new file mode 100644 index 000000000..ee0bfe223 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/GDiffPatcher.java @@ -0,0 +1,246 @@ +/* + * + * Copyright (c) 2001 Torgeir Veimo + * Copyright (c) 2006 Heiko Klein + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + */ + +package net.minecraftforge.fml.repackage.com.nothome.delta; + +import static net.minecraftforge.fml.repackage.com.nothome.delta.GDiffWriter.COPY_INT_INT; +import static net.minecraftforge.fml.repackage.com.nothome.delta.GDiffWriter.COPY_INT_UBYTE; +import static net.minecraftforge.fml.repackage.com.nothome.delta.GDiffWriter.COPY_INT_USHORT; +import static net.minecraftforge.fml.repackage.com.nothome.delta.GDiffWriter.COPY_LONG_INT; +import static net.minecraftforge.fml.repackage.com.nothome.delta.GDiffWriter.COPY_USHORT_INT; +import static net.minecraftforge.fml.repackage.com.nothome.delta.GDiffWriter.COPY_USHORT_UBYTE; +import static net.minecraftforge.fml.repackage.com.nothome.delta.GDiffWriter.COPY_USHORT_USHORT; +import static net.minecraftforge.fml.repackage.com.nothome.delta.GDiffWriter.DATA_INT; +import static net.minecraftforge.fml.repackage.com.nothome.delta.GDiffWriter.DATA_MAX; +import static net.minecraftforge.fml.repackage.com.nothome.delta.GDiffWriter.DATA_USHORT; +import static net.minecraftforge.fml.repackage.com.nothome.delta.GDiffWriter.EOF; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.RandomAccessFile; +import java.nio.ByteBuffer; + +/** + * This class patches an input file with a GDIFF patch file. + * + * The patch file follows the GDIFF file specification available at + * + * http://www.w3.org/TR/NOTE-gdiff-19970901.html. + */ +public class GDiffPatcher { + + private ByteBuffer buf = ByteBuffer.allocate(1024); + private byte buf2[] = buf.array(); + + /** + * Constructs a new GDiffPatcher. + */ + public GDiffPatcher() { + } + + /** + * Patches to an output file. + */ + public void patch(File sourceFile, File patchFile, File outputFile) + throws IOException + { + RandomAccessFileSeekableSource source =new RandomAccessFileSeekableSource(new RandomAccessFile(sourceFile, "r")); + InputStream patch = new FileInputStream(patchFile); + OutputStream output = new FileOutputStream(outputFile); + try { + patch(source, patch, output); + } catch (IOException e) { + throw e; + } finally { + source.close(); + patch.close(); + output.close(); + } + } + + /** + * Patches to an output stream. + */ + public void patch(byte[] source, InputStream patch, OutputStream output) throws IOException { + patch(new ByteBufferSeekableSource(source), patch, output); + } + + /** + * Patches in memory, returning the patch result. + */ + public byte[] patch(byte[] source, byte[] patch) throws IOException { + ByteArrayOutputStream os = new ByteArrayOutputStream(); + patch(source, new ByteArrayInputStream(patch), os); + return os.toByteArray(); + } + + /** + * Patches to an output stream. + */ + public void patch(SeekableSource source, InputStream patch, OutputStream out) throws IOException { + + DataOutputStream outOS = new DataOutputStream(out); + DataInputStream patchIS = new DataInputStream(patch); + + // the magic string is 'd1 ff d1 ff' + the version number + if (patchIS.readUnsignedByte() != 0xd1 || + patchIS.readUnsignedByte() != 0xff || + patchIS.readUnsignedByte() != 0xd1 || + patchIS.readUnsignedByte() != 0xff || + patchIS.readUnsignedByte() != 0x04) { + + throw new PatchException("magic string not found, aborting!"); + } + + while (true) { + int command = patchIS.readUnsignedByte(); + if (command == EOF) + break; + int length; + int offset; + + if (command <= DATA_MAX) { + append(command, patchIS, outOS); + continue; + } + + switch (command) { + case DATA_USHORT: // ushort, n bytes following; append + length = patchIS.readUnsignedShort(); + append(length, patchIS, outOS); + break; + case DATA_INT: // int, n bytes following; append + length = patchIS.readInt(); + append(length, patchIS, outOS); + break; + case COPY_USHORT_UBYTE: + offset = patchIS.readUnsignedShort(); + length = patchIS.readUnsignedByte(); + copy(offset, length, source, outOS); + break; + case COPY_USHORT_USHORT: + offset = patchIS.readUnsignedShort(); + length = patchIS.readUnsignedShort(); + copy(offset, length, source, outOS); + break; + case COPY_USHORT_INT: + offset = patchIS.readUnsignedShort(); + length = patchIS.readInt(); + copy(offset, length, source, outOS); + break; + case COPY_INT_UBYTE: + offset = patchIS.readInt(); + length = patchIS.readUnsignedByte(); + copy(offset, length, source, outOS); + break; + case COPY_INT_USHORT: + offset = patchIS.readInt(); + length = patchIS.readUnsignedShort(); + copy(offset, length, source, outOS); + break; + case COPY_INT_INT: + offset = patchIS.readInt(); + length = patchIS.readInt(); + copy(offset, length, source, outOS); + break; + case COPY_LONG_INT: + long loffset = patchIS.readLong(); + length = patchIS.readInt(); + copy(loffset, length, source, outOS); + break; + default: + throw new IllegalStateException("command " + command); + } + } + outOS.flush(); + } + + private void copy(long offset, int length, SeekableSource source, OutputStream output) + throws IOException + { + source.seek(offset); + while (length > 0) { + int len = Math.min(buf.capacity(), length); + buf.clear().limit(len); + int res = source.read(buf); + if (res == -1) + throw new EOFException("in copy " + offset + " " + length); + output.write(buf.array(), 0, res); + length -= res; + } + } + + private void append(int length, InputStream patch, OutputStream output) throws IOException { + while (length > 0) { + int len = Math.min(buf2.length, length); + int res = patch.read(buf2, 0, len); + if (res == -1) + throw new EOFException("cannot read " + length); + output.write(buf2, 0, res); + length -= res; + } + } + + /** + * Simple command line tool to patch a file. + */ + public static void main(String argv[]) { + + if (argv.length != 3) { + System.err.println("usage GDiffPatch source patch output"); + System.err.println("aborting.."); + return; + } + try { + File sourceFile = new File(argv[0]); + File patchFile = new File(argv[1]); + File outputFile = new File(argv[2]); + + if (sourceFile.length() > Integer.MAX_VALUE || + patchFile.length() > Integer.MAX_VALUE) { + System.err.println("source or patch is too large, max length is " + Integer.MAX_VALUE); + System.err.println("aborting.."); + return; + } + GDiffPatcher patcher = new GDiffPatcher(); + patcher.patch(sourceFile, patchFile, outputFile); + + System.out.println("finished patching file"); + + } catch (Exception ioe) { //gls031504a + System.err.println("error while patching: " + ioe); + } + } +} + diff --git a/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/GDiffWriter.java b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/GDiffWriter.java new file mode 100644 index 000000000..cd47bf1b5 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/GDiffWriter.java @@ -0,0 +1,178 @@ +/* + * + * Copyright (c) 2001 Torgeir Veimo + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + */ + +package net.minecraftforge.fml.repackage.com.nothome.delta; + +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.OutputStream; + +/** + * Outputs a diff following the GDIFF file specification available at + * http://www.w3.org/TR/NOTE-gdiff-19970901.html. + */ +public class GDiffWriter implements DiffWriter { + + /** + * Max length of a chunk. + */ + public static final int CHUNK_SIZE = Short.MAX_VALUE; + + public static final byte EOF = 0; + + /** + * Max length for single length data encode. + */ + public static final int DATA_MAX = 246; + + public static final int DATA_USHORT = 247; + public static final int DATA_INT = 248; + public static final int COPY_USHORT_UBYTE = 249; + public static final int COPY_USHORT_USHORT = 250; + public static final int COPY_USHORT_INT = 251; + public static final int COPY_INT_UBYTE = 252; + public static final int COPY_INT_USHORT = 253; + public static final int COPY_INT_INT = 254; + public static final int COPY_LONG_INT = 255; + + private ByteArrayOutputStream buf = new ByteArrayOutputStream(); + + private boolean debug = false; + + private DataOutputStream output = null; + + /** + * Constructs a new GDiffWriter. + */ + public GDiffWriter(DataOutputStream os) throws IOException { + this.output = os; + // write magic string "d1 ff d1 ff 04" + output.writeByte(0xd1); + output.writeByte(0xff); + output.writeByte(0xd1); + output.writeByte(0xff); + output.writeByte(0x04); + } + + /** + * Constructs a new GDiffWriter. + */ + public GDiffWriter(OutputStream output) throws IOException { + this(new DataOutputStream(output)); + } + + @Override + public void addCopy(long offset, int length) throws IOException { + writeBuf(); + + //output debug data + if (debug) + System.err.println("COPY off: " + offset + ", len: " + length); + + // output real data + if (offset > Integer.MAX_VALUE) { + // Actually, we don't support longer files than int.MAX_VALUE at the moment.. + output.writeByte(COPY_LONG_INT); + output.writeLong(offset); + output.writeInt(length); + } else if (offset < 65536) { + if (length < 256) { + output.writeByte(COPY_USHORT_UBYTE); + output.writeShort((int)offset); + output.writeByte(length); + } else if (length > 65535) { + output.writeByte(COPY_USHORT_INT); + output.writeShort((int)offset); + output.writeInt(length); + } else { + output.writeByte(COPY_USHORT_USHORT); + output.writeShort((int)offset); + output.writeShort(length); + } + } else { + if (length < 256) { + output.writeByte(COPY_INT_UBYTE); + output.writeInt((int)offset); + output.writeByte(length); + } else if (length > 65535) { + output.writeByte(COPY_INT_INT); + output.writeInt((int)offset); + output.writeInt(length); + } else { + output.writeByte(COPY_INT_USHORT); + output.writeInt((int)offset); + output.writeShort(length); + } + } + } + + /** + * Adds a data byte. + */ + @Override + public void addData(byte b) throws IOException { + buf.write(b); + if (buf.size() >= CHUNK_SIZE) + writeBuf(); + } + + private void writeBuf() throws IOException { + if (buf.size() > 0) { + if (buf.size() <= DATA_MAX) { + output.writeByte(buf.size()); + } else if (buf.size() <= 65535) { + output.writeByte(DATA_USHORT); + output.writeShort(buf.size()); + } else { + output.writeByte(DATA_INT); + output.writeInt(buf.size()); + } + buf.writeTo(output); + buf.reset(); + } + } + + /** + * Flushes accumulated data bytes, if any. + */ + @Override + public void flush() throws IOException + { + writeBuf(); + output.flush(); + } + + /** + * Writes the final EOF byte, closes the underlying stream. + */ + @Override + public void close() throws IOException { + this.flush(); + output.write((byte)EOF); + output.close(); + } + +} + diff --git a/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/PatchException.java b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/PatchException.java new file mode 100644 index 000000000..6eff45119 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/PatchException.java @@ -0,0 +1,51 @@ +/* + * PatchException.java + * + * Created on June 6, 2006, 9:34 PM + * Copyright (c) 2006 Heiko Klein + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + */ + +package net.minecraftforge.fml.repackage.com.nothome.delta; + +import java.io.IOException; + +/** + * Thrown when a patch is invalid. + */ +public class PatchException extends IOException { + + private static final long serialVersionUID = 1; + + /** + * Creates a new instance of PatchException without detail message. + */ + public PatchException() { + } + + /** + * Constructs an instance of PatchException with the specified detail message. + * @param msg the detail message. + */ + public PatchException(String msg) { + super(msg); + } +} diff --git a/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/RandomAccessFileSeekableSource.java b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/RandomAccessFileSeekableSource.java new file mode 100644 index 000000000..fad58fc9c --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/RandomAccessFileSeekableSource.java @@ -0,0 +1,78 @@ +/* + * RandomAccessFileSeekableSource.java + * + * Created on May 17, 2006, 1:45 PM + * Copyright (c) 2006 Heiko Klein + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * + */ + +package net.minecraftforge.fml.repackage.com.nothome.delta; + +import java.io.IOException; +import java.io.RandomAccessFile; +import java.nio.ByteBuffer; + +/** + * Wraps a random access file. + */ +public class RandomAccessFileSeekableSource implements SeekableSource { + + private RandomAccessFile raf; + + /** + * Constructs a new RandomAccessFileSeekableSource. + * @param raf + */ + public RandomAccessFileSeekableSource(RandomAccessFile raf) { + if (raf == null) + throw new NullPointerException("raf"); + this.raf = raf; + } + + @Override + public void seek(long pos) throws IOException { + raf.seek(pos); + } + + public int read(byte[] b, int off, int len) throws IOException { + return raf.read(b, off, len); + } + + public long length() throws IOException { + return raf.length(); + } + + @Override + public void close() throws IOException { + raf.close(); + } + + @Override + public int read(ByteBuffer bb) throws IOException { + int c = raf.read(bb.array(), bb.position(), bb.remaining()); + if (c == -1) + return -1; + bb.position(bb.position() + c); + return c; + } + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/SeekableSource.java b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/SeekableSource.java new file mode 100644 index 000000000..a309f02a1 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/repackage/com/nothome/delta/SeekableSource.java @@ -0,0 +1,51 @@ +/* + * SeekableSource.java + * + * Created on May 17, 2006, 12:33 PM + * Copyright (c) 2006 Heiko Klein + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + */ + +package net.minecraftforge.fml.repackage.com.nothome.delta; + +import java.io.Closeable; +import java.io.IOException; +import java.io.RandomAccessFile; +import java.nio.ByteBuffer; + +/** + * For sources of random-access data, such as {@link RandomAccessFile}. + */ +public interface SeekableSource extends Closeable { + + /** + * Sets the position for the next {@link #read(ByteBuffer)}. + */ + void seek(long pos) throws IOException ; + + /** + * Reads up to {@link ByteBuffer#remaining()} bytes from the source, + * returning the number of bytes read, or -1 if no bytes were read + * and EOF was reached. + */ + int read(ByteBuffer bb) throws IOException; + +} diff --git a/fml/src/main/java/net/minecraftforge/fml/server/FMLServerHandler.java b/fml/src/main/java/net/minecraftforge/fml/server/FMLServerHandler.java new file mode 100644 index 000000000..32ff2c3c2 --- /dev/null +++ b/fml/src/main/java/net/minecraftforge/fml/server/FMLServerHandler.java @@ -0,0 +1,275 @@ +/* + * The FML Forge Mod Loader suite. Copyright (C) 2012 cpw + * + * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +package net.minecraftforge.fml.server; + +import java.io.File; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import net.minecraft.command.ServerCommand; +import net.minecraft.network.INetHandler; +import net.minecraft.network.NetHandlerPlayServer; +import net.minecraft.network.NetworkManager; +import net.minecraft.server.MinecraftServer; +import net.minecraft.server.dedicated.DedicatedServer; +import net.minecraft.util.IThreadListener; +import net.minecraft.world.storage.SaveFormatOld; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.common.FMLLog; +import net.minecraftforge.fml.common.IFMLSidedHandler; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.StartupQuery; +import net.minecraftforge.fml.common.eventhandler.EventBus; +import net.minecraftforge.fml.common.functions.GenericIterableFactory; +import net.minecraftforge.fml.common.network.FMLNetworkEvent; +import net.minecraftforge.fml.common.registry.LanguageRegistry; +import net.minecraftforge.fml.relauncher.Side; + +import com.google.common.collect.ImmutableList; + +/** + * Handles primary communication from hooked code into the system + * + * The FML entry point is {@link #beginServerLoading(MinecraftServer)} called from + * {@link net.minecraft.server.dedicated.DedicatedServer} + * + * Obfuscated code should focus on this class and other members of the "server" + * (or "client") code + * + * The actual mod loading is handled at arms length by {@link Loader} + * + * It is expected that a similar class will exist for each target environment: + * Bukkit and Client side. + * + * It should not be directly modified. + * + * @author cpw + * + */ +public class FMLServerHandler implements IFMLSidedHandler +{ + /** + * The singleton + */ + private static final FMLServerHandler INSTANCE = new FMLServerHandler(); + + /** + * A reference to the server itself + */ + private MinecraftServer server; + + private FMLServerHandler() + { + FMLCommonHandler.instance().beginLoading(this); + } + /** + * Called to start the whole game off from + * {@link MinecraftServer#startServer} + * + * @param minecraftServer + */ + @Override + public void beginServerLoading(MinecraftServer minecraftServer) + { + server = minecraftServer; + Loader.instance().loadMods(); + Loader.instance().preinitializeMods(); + } + + /** + * Called a bit later on during server initialization to finish loading mods + */ + @Override + public void finishServerLoading() + { + Loader.instance().initializeMods(); + } + + @Override + public void haltGame(String message, Throwable exception) + { + throw new RuntimeException(message, exception); + } + + @Override + public File getSavesDirectory() + { + return ((SaveFormatOld) server.getActiveAnvilConverter()).savesDirectory; + } + + /** + * Get the server instance + */ + @Override + public MinecraftServer getServer() + { + return server; + } + + /** + * @return the instance + */ + public static FMLServerHandler instance() + { + return INSTANCE; + } + + /* (non-Javadoc) + * @see net.minecraftforge.fml.common.IFMLSidedHandler#getAdditionalBrandingInformation() + */ + @Override + public List getAdditionalBrandingInformation() + { + return ImmutableList.of(); + } + + /* (non-Javadoc) + * @see net.minecraftforge.fml.common.IFMLSidedHandler#getSide() + */ + @Override + public Side getSide() + { + return Side.SERVER; + } + + @Override + public void showGuiScreen(Object clientGuiElement) + { + + } + + @Override + public void queryUser(StartupQuery query) throws InterruptedException + { + if (query.getResult() == null) + { + FMLLog.warning("%s", query.getText()); + query.finish(); + } + else + { + String text = query.getText() + + "\n\nRun the command /fml confirm or or /fml cancel to proceed." + + "\nAlternatively start the server with -Dfml.queryResult=confirm or -Dfml.queryResult=cancel to preselect the answer."; + FMLLog.warning("%s", text); + + if (!query.isSynchronous()) return; // no-op until mc does commands in another thread (if ever) + + boolean done = false; + + while (!done && server.isServerRunning()) + { + if (Thread.interrupted()) throw new InterruptedException(); + + DedicatedServer dedServer = (DedicatedServer) server; + + // rudimentary command processing, check for fml confirm/cancel and stop commands + synchronized (dedServer.pendingCommandList) + { + for (Iterator it = GenericIterableFactory.newCastingIterable(dedServer.pendingCommandList, ServerCommand.class).iterator(); it.hasNext(); ) + { + String cmd = it.next().input.trim().toLowerCase(); + + if (cmd.equals("/fml confirm")) + { + FMLLog.info("confirmed"); + query.setResult(true); + done = true; + it.remove(); + } + else if (cmd.equals("/fml cancel")) + { + FMLLog.info("cancelled"); + query.setResult(false); + done = true; + it.remove(); + } + else if (cmd.equals("/stop")) + { + StartupQuery.abort(); + } + } + } + + Thread.sleep(10L); + } + + query.finish(); + } + } + + @Override + public boolean shouldServerShouldBeKilledQuietly() + { + return false; + } + @Override + public void addModAsResource(ModContainer container) + { + LanguageRegistry.instance().loadLanguagesFor(container, Side.SERVER); + } + + @Override + public String getCurrentLanguage() + { + return "en_US"; + } + + @Override + public void serverStopped() + { + // NOOP + } + @Override + public NetworkManager getClientToServerNetworkManager() + { + throw new RuntimeException("Missing"); + } + @Override + public INetHandler getClientPlayHandler() + { + return null; + } + + @Override + public void fireNetRegistrationEvent(EventBus bus, NetworkManager manager, Set channelSet, String channel, Side side) + { + bus.post(new FMLNetworkEvent.CustomPacketRegistrationEvent(manager, channelSet, channel, side, NetHandlerPlayServer.class)); + } + + @Override + public boolean shouldAllowPlayerLogins() + { + return DedicatedServer.allowPlayerLogins; + } + + @Override + public void allowLogins() { + DedicatedServer.allowPlayerLogins = true; + } + + @Override + public IThreadListener getWorldThread(INetHandler net) + { + // Always the server on the dedicated server, eventually add Per-World if Mojang adds world stuff. + return getServer(); + } + + @Override + public void processWindowMessages() + { + // NOOP + } +} diff --git a/fml/src/main/resources/assets/fml/lang/en_US.lang b/fml/src/main/resources/assets/fml/lang/en_US.lang new file mode 100644 index 000000000..4ba2237a8 --- /dev/null +++ b/fml/src/main/resources/assets/fml/lang/en_US.lang @@ -0,0 +1,87 @@ +fml.config.sample.basicDouble.tooltip=A double property with no defined bounds. +fml.config.sample.basicDouble=Unbounded Double +fml.config.sample.basicInteger.tooltip=An integer property with no defined bounds. +fml.config.sample.basicInteger=Unbounded Integer +fml.config.sample.basicString.tooltip=A basic string property. The user can enter anything in this textbox. +fml.config.sample.basicString=Basic String +fml.config.sample.booleanList.tooltip=A boolean list with no max length and can be lengthened or shortened. +fml.config.sample.booleanList=Basic Boolean List +fml.config.sample.booleanListFixed.tooltip=A boolean list that has a fixed length of 8. +fml.config.sample.booleanListFixed=Fixed Length Boolean List +fml.config.sample.booleanListMax.tooltip=A boolean list that has a max length of 10. +fml.config.sample.booleanListMax=Max Length Boolean List +fml.config.sample.boundedDouble.tooltip=A double property with defined bounds. +fml.config.sample.boundedDouble=Bounded Double +fml.config.sample.boundedInteger.tooltip=An integer property with defined bounds. +fml.config.sample.boundedInteger=Bounded Integer +fml.config.sample.chatColorPicker.tooltip=A special property that allows the user to select a font color code. +fml.config.sample.chatColorPicker=Chat Color Picker +fml.config.sample.ctgy.lists.tooltip=Provides a variety of array-property controls to play with. +fml.config.sample.ctgy.lists=Sample Array Controls +fml.config.sample.ctgy.numbers.tooltip=Provides a listing of the numeric controls for toying with. +fml.config.sample.ctgy.numbers=Sample Numeric Controls +fml.config.sample.ctgy.strings.tooltip=Provides a listing of the different String-type controls to play with. +fml.config.sample.ctgy.strings=Sample String Controls +fml.config.sample.cycleString.tooltip=A string property that has a defined list of valid values that can be cycled through. +fml.config.sample.cycleString=Cycle Value String +fml.config.sample.doubleList.tooltip=A double list with no max length and can be lengthened or shortened. +fml.config.sample.doubleList=Basic Double List +fml.config.sample.doubleListBounded.tooltip=A double list with specific value bounds. +fml.config.sample.doubleListBounded=Double List with Value Bounds +fml.config.sample.doubleListFixed.tooltip=A double list that has a fixed length of 10. +fml.config.sample.doubleListFixed=Fixed Length Double List +fml.config.sample.doubleListMax.tooltip=A double list that has a max length of 15. +fml.config.sample.doubleListMax=Max Length Double List +fml.config.sample.imABoolean.tooltip=Yep, that's pretty much it... I'm a Boolean control. +fml.config.sample.imABoolean=I'm a Boolean +fml.config.sample.imADouble.tooltip=There are two of me. Or maybe I work for both the CIA and the KGB. Not sure. +fml.config.sample.imADouble=I'm a Double +fml.config.sample.imAString.tooltip=Aah. Now, I understand you want us to advertise your washing powder. \n<*String.*> \nString, washing powder, what's the difference? We can sell anything. \n<*Good. Well I have this large quantity of string, 122,000 miles of it to be exact, which I inherited, and I thought if I advertised it...*> \nOf course! A national campaign. Useful stuff, string, no trouble there. \n<*Ah, but there's a snag, you see. Due to bad planning, the 122,000 miles is in three inch lengths. So it's not very useful.*> \nWell, that's our selling point! SIMPSON'S INDIVIDUAL STRINGETTES! THE NOW STRING! READY CUT, EASY TO HANDLE, SIMPSON'S INDIVIDUAL EMPEROR STRINGETTES - JUST THE RIGHT LENGTH! +fml.config.sample.imAString=I'm a String +fml.config.sample.imAnInteger.tooltip=Did I say that I'm an Integer? Oh, I see. +fml.config.sample.imAnInteger=I'm an Integer +fml.config.sample.integerList.tooltip=An integer list with no max length and can be lengthened or shortened. +fml.config.sample.integerList=Basic Integer List +fml.config.sample.integerListBounded.tooltip=An integer list with specific value bounds. +fml.config.sample.integerListBounded=Integer List with Value Bounds +fml.config.sample.integerListFixed.tooltip=An integer list that has a fixed length of 10. +fml.config.sample.integerListFixed=Fixed Length Integer List +fml.config.sample.integerListMax.tooltip=An integer list that has a max length of 15. +fml.config.sample.integerListMax=Max Length Integer List +fml.config.sample.modIDSelector.tooltip=A special property that allows the user to select a mod ID from a list of all installed mods. There are many possibilities for how this could be used with a little custom code: selecting biomes, selecting entities, selecting items, selecting blocks, etc. +fml.config.sample.modIDSelector=Mod ID Selector +fml.config.sample.patternString.tooltip=A string property that is validated using a Pattern object. +fml.config.sample.patternString=Pattern Validated String +fml.config.sample.sliderDouble.tooltip=A double property with defined bounds using a slider control. +fml.config.sample.sliderDouble=Slider Double +fml.config.sample.sliderInteger.tooltip=An integer property with defined bounds using a slider control. +fml.config.sample.sliderInteger=Slider Integer +fml.config.sample.stringList.tooltip=A basic string list with no validation. +fml.config.sample.stringList=Basic String List +fml.config.sample.stringListFixed.tooltip=A string list that has a fixed length of 7. +fml.config.sample.stringListFixed=Fixed Length String List +fml.config.sample.stringListMax.tooltip=A string list that has a max length of 15. +fml.config.sample.stringListMax=Max Length String List +fml.config.sample.stringListPattern.tooltip=A string list that validates each value using a Pattern object. +fml.config.sample.stringListPattern=Pattern Validated String List +fml.config.sample.title=This is for playing with the Config GUI behavior. Changes are not saved. + +fml.configgui.applyGlobally=Apply globally +fml.configgui.confirmRestartMessage=I Understand +fml.configgui.gameRestartRequired=One or more changed settings requires that Minecraft be restarted before taking effect. +fml.configgui.gameRestartTitle=Minecraft Restart Required +fml.configgui.sampletext=Sample Text +fml.configgui.tooltip.addNewEntryAbove=Add New Entry Above +fml.configgui.tooltip.applyGlobally=Apply Undo Changes or Reset to Default globally. +fml.configgui.tooltip.removeEntry=Remove Entry +fml.configgui.tooltip.resetAll=Reset All to Default. If the Apply globally checkbox is checked values on child screens will also be reset. +fml.configgui.tooltip.resetToDefault=Reset to Default +fml.configgui.tooltip.undoAll=Undo All Changes. If the Apply globally checkbox is checked changes to child screens will also be undone. +fml.configgui.tooltip.undoChanges=Undo Changes +fml.configgui.tooltip.default=[default: %s] +fml.configgui.tooltip.defaultNumeric=[range: %s ~ %s, default: %s] + +fml.menu.mods=Mods +fml.menu.mods.normal=Normal +fml.menu.mods.search=Search: +fml.menu.modoptions=Mod Options... diff --git a/fml/src/main/resources/assets/fml/textures/gui/forge.gif b/fml/src/main/resources/assets/fml/textures/gui/forge.gif new file mode 100644 index 000000000..b316837fb Binary files /dev/null and b/fml/src/main/resources/assets/fml/textures/gui/forge.gif differ diff --git a/fml/src/main/resources/assets/fml/textures/gui/forge.png b/fml/src/main/resources/assets/fml/textures/gui/forge.png new file mode 100644 index 000000000..1be137a39 Binary files /dev/null and b/fml/src/main/resources/assets/fml/textures/gui/forge.png differ diff --git a/fml/src/main/resources/assets/fml/textures/gui/icons.png b/fml/src/main/resources/assets/fml/textures/gui/icons.png new file mode 100644 index 000000000..20bb91e9d Binary files /dev/null and b/fml/src/main/resources/assets/fml/textures/gui/icons.png differ diff --git a/fml/src/main/resources/fml.exc b/fml/src/main/resources/fml.exc new file mode 100644 index 000000000..860fdd9ba --- /dev/null +++ b/fml/src/main/resources/fml.exc @@ -0,0 +1 @@ +net/minecraft/server/management/ServerConfigurationManager.initializeConnectionToPlayer(Lnet/minecraft/network/NetworkManager;Lnet/minecraft/entity/player/EntityPlayerMP;Lnet/minecraft/network/NetHandlerPlayServer;)V=|p_72355_1_,p_72355_2_,nethandlerplayserver diff --git a/fml/src/main/resources/fml.srg b/fml/src/main/resources/fml.srg new file mode 100644 index 000000000..e8eb7d47b --- /dev/null +++ b/fml/src/main/resources/fml.srg @@ -0,0 +1 @@ +MD: net/minecraft/server/management/ServerConfigurationManager/initializeConnectionToPlayer (Lnet/minecraft/network/NetworkManager;Lnet/minecraft/entity/player/EntityPlayerMP;Lnet/minecraft/network/NetHandlerPlayServer;)V net/minecraft/server/management/ServerConfigurationManager/func_72355_a (Lnet/minecraft/network/NetworkManager;Lnet/minecraft/entity/player/EntityPlayerMP;Lnet/minecraft/network/NetHandlerPlayServer;)V diff --git a/fml/src/main/resources/fml_at.cfg b/fml/src/main/resources/fml_at.cfg new file mode 100644 index 000000000..713b94536 --- /dev/null +++ b/fml/src/main/resources/fml_at.cfg @@ -0,0 +1,85 @@ +#Main FML Access Transformer configuration file +# TileEntity addMapping +public net.minecraft.tileentity.TileEntity func_145826_a(Ljava/lang/Class;Ljava/lang/String;)V +# EntityList addMappings +public net.minecraft.entity.EntityList func_75618_a(Ljava/lang/Class;Ljava/lang/String;I)V +public net.minecraft.entity.EntityList func_75614_a(Ljava/lang/Class;Ljava/lang/String;III)V +public net.minecraft.entity.EntityList field_75625_b #nameToClassMap +public net.minecraft.entity.EntityList field_75626_c #classToNameMap +public net.minecraft.entity.EntityList field_75623_d #idToClassMap +## RenderManager +public net.minecraft.client.renderer.entity.RenderManager field_78729_o #renderers +## TileEntityRendererDispatcher +public net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher field_147559_m +## CraftingManager - make the add recipe methods public +public net.minecraft.item.crafting.CraftingManager func_92103_a(Lnet.minecraft.item.ItemStack;[Ljava/lang/Object;)Lnet.minecraft.item.crafting.ShapedRecipes; +public net.minecraft.item.crafting.CraftingManager func_77596_b(Lnet.minecraft.item.ItemStack;[Ljava/lang/Object;)V +## WeightedRandomItem +public net.minecraft.util.WeightedRandom$Item field_76292_a #probability +## EntityPlayerMP getNextWindowId +public net.minecraft.entity.player.EntityPlayerMP func_71117_bO()V +public net.minecraft.entity.player.EntityPlayerMP field_71139_cq +## EntityAITaskEntry +public net.minecraft.entity.ai.EntityAITasks$EntityAITaskEntry +## EntityLiving +public net.minecraft.entity.EntityLiving field_70714_bg #tasks +public net.minecraft.entity.EntityLiving field_70715_bh #targetTasks +## EntityVillager - minmax lists +public net.minecraft.entity.passive.EntityVillager func_146091_a(Lnet/minecraft/village/MerchantRecipeList;Lnet/minecraft/item/Item;Ljava/util/Random;F)V # buy +public net.minecraft.entity.passive.EntityVillager func_146089_b(Lnet/minecraft/village/MerchantRecipeList;Lnet/minecraft/item/Item;Ljava/util/Random;F)V # sell +public net.minecraft.entity.passive.EntityVillager field_70958_bB +public net.minecraft.entity.passive.EntityVillager field_70960_bC +# GuiScreen +public net.minecraft.client.gui.GuiScreen field_146297_k # minecraft instance - public because gui's outside access it +# Minecraft +public net.minecraft.client.Minecraft field_71446_o # textureManager +public net.minecraft.client.Minecraft field_110450_ap # mcDefaultResourcePack +public net.minecraft.client.Minecraft func_71370_a(II)V # resize +public net.minecraft.client.Minecraft func_180510_a(Lnet/minecraft/client/renderer/texture/TextureManager;)V # drawSplashScreen +## ItemBlock +public net.minecraft.item.ItemBlock field_150939_a +## DedicatedServer +public net.minecraft.server.dedicated.DedicatedServer field_71341_l # pendingCommandList +## SaveFormatOld +public net.minecraft.world.storage.SaveFormatOld field_75808_a # savesDirectory + +protected net.minecraft.util.ObjectIntIdentityMap field_148749_a # internal map +protected net.minecraft.util.ObjectIntIdentityMap field_148748_b # internal index list +protected-f net.minecraft.util.RegistryNamespaced field_148759_a # identitymap + +# GuiButton +public net.minecraft.client.gui.GuiButton field_146120_f # width - needed for config GUI stuff +public net.minecraft.client.gui.GuiButton field_146121_g # height - needed for config GUI stuff +# GuiTextField +public-f net.minecraft.client.gui.GuiTextField field_146209_f # xPosition - needed for config GUI stuff +public-f net.minecraft.client.gui.GuiTextField field_146210_g # yPosition - needed for config GUI stuff +public-f net.minecraft.client.gui.GuiTextField field_146218_h # width - needed for config GUI stuff +public-f net.minecraft.client.gui.GuiTextField field_146219_i # height - needed for config GUI stuff +# GuiSlot +public net.minecraft.client.gui.GuiSlot field_148149_f # slotHeight - needed for config GUI stuff +public net.minecraft.client.gui.GuiSlot field_148151_d # right - needed for config GUI stuff +public net.minecraft.client.gui.GuiSlot field_148152_e # left - needed for config GUI stuff +public net.minecraft.client.gui.GuiSlot field_148153_b # top - needed for config GUI stuff +public net.minecraft.client.gui.GuiSlot field_148154_c # bottom - needed for config GUI stuff +public net.minecraft.client.gui.GuiSlot field_148155_a # width - needed for config GUI stuff +public net.minecraft.client.gui.GuiSlot field_148158_l # height - needed for config GUI stuff +public net.minecraft.client.gui.GuiSlot field_148160_j # headerPadding - needed for config GUI stuff + +# Villager Traid Classes +public net.minecraft.entity.passive.EntityVillager$EmeraldForItems +public net.minecraft.entity.passive.EntityVillager$ITradeList +public net.minecraft.entity.passive.EntityVillager$ItemAndEmeraldToItem +public net.minecraft.entity.passive.EntityVillager$ListEnchantedBookForEmeralds +public net.minecraft.entity.passive.EntityVillager$ListEnchantedItemForEmeralds +public net.minecraft.entity.passive.EntityVillager$ListItemForEmeralds +public net.minecraft.entity.passive.EntityVillager$PriceInfo + +# Font renderer +protected net.minecraft.client.gui.FontRenderer field_78288_b # FONT_HEIGHT +protected net.minecraft.client.gui.FontRenderer field_78286_d # charWidth +protected net.minecraft.client.gui.FontRenderer field_78287_e # glyphWidth +protected net.minecraft.client.gui.FontRenderer field_111273_g # locationFontTexture +protected net.minecraft.client.gui.FontRenderer field_78295_j # posX +protected net.minecraft.client.gui.FontRenderer field_78296_k # posY +protected net.minecraft.client.gui.FontRenderer func_78266_a(IZ)F # renderDefaultChar +protected net.minecraft.client.gui.FontRenderer func_78277_a(CZ)F # renderUnicodeChar diff --git a/fml/src/main/resources/fml_marker.cfg b/fml/src/main/resources/fml_marker.cfg new file mode 100644 index 000000000..bfd4e9277 --- /dev/null +++ b/fml/src/main/resources/fml_marker.cfg @@ -0,0 +1,3 @@ +# Marker interfaces to add to minecraft - helps in bukkit and client/server unification +# Only runs at runtime because it's not necessary at compile time +# has deobf and obf mappings so it runs OK in mcp diff --git a/fml/src/main/resources/log4j2.xml b/fml/src/main/resources/log4j2.xml new file mode 100644 index 000000000..482e65a91 --- /dev/null +++ b/fml/src/main/resources/log4j2.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fml/src/main/resources/mcplogo.png b/fml/src/main/resources/mcplogo.png new file mode 100644 index 000000000..8ebae880d Binary files /dev/null and b/fml/src/main/resources/mcplogo.png differ diff --git a/fml/src/main/resources/mcpmod.info b/fml/src/main/resources/mcpmod.info new file mode 100644 index 000000000..5dc569b0d --- /dev/null +++ b/fml/src/main/resources/mcpmod.info @@ -0,0 +1,17 @@ +[ +{ + "modid": "mcp", + "name": "Minecraft Coder Pack", + "description": "Modding toolkit to decompile and deobfuscate the Minecraft client and server files.", + "version": "9.05", + "mcversion": "1.7.10", + "logoFile": "/mcplogo.png", + "url": "http://mcp.ocean-labs.de/", + "updateUrl": "", + "authors": ["Searge", "ProfMobius", "IngisKahn", "Fesh0r", "ZeuX", "R4wk", "Others"], + "credits": "Made by the MCP team", + "parent": "", + "screenshots": [], + "dependencies": [] +} +] diff --git a/fml/src/test/java/net/minecraftforge/fml/debug/FaultyCoreMod.java b/fml/src/test/java/net/minecraftforge/fml/debug/FaultyCoreMod.java new file mode 100644 index 000000000..f42d7ed68 --- /dev/null +++ b/fml/src/test/java/net/minecraftforge/fml/debug/FaultyCoreMod.java @@ -0,0 +1,29 @@ +package net.minecraftforge.fml.debug; + +import java.util.Map; + +import net.minecraft.launchwrapper.IClassTransformer; +import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin; + +public class FaultyCoreMod implements IFMLLoadingPlugin { + public static boolean enabled = false; + + public String[] getASMTransformerClass() + { + return new String[] { FaultyTransformer.class.getName() }; + } + + public String getModContainerClass() { return null; } + public String getSetupClass() { return null; } + public void injectData(Map data) {} + public String getAccessTransformerClass() { return null; } + + public static class FaultyTransformer implements IClassTransformer { + + public byte[] transform(String name, String transformedName, byte[] basicClass) + { + if(enabled && name.equals("net.minecraft.client.gui.GuiMainMenu")) throw new RuntimeException("Faulty transformer test exception"); + return basicClass; + } + } +} diff --git a/fml/src/test/java/net/minecraftforge/fml/debug/Java8Debug.java b/fml/src/test/java/net/minecraftforge/fml/debug/Java8Debug.java new file mode 100644 index 000000000..a7dffa226 --- /dev/null +++ b/fml/src/test/java/net/minecraftforge/fml/debug/Java8Debug.java @@ -0,0 +1,26 @@ +/*package net.minecraftforge.fml.debug; + +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.Mod.EventHandler; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; + +@Mod(modid = Java8Debug.MODID, version = Java8Debug.VERSION) +public class Java8Debug implements ITest +{ + public static final String MODID = "Java8Debug"; + public static final String VERSION = "1.0"; + + @EventHandler + public void init(FMLInitializationEvent event) + { + System.out.println("Java8Debug mod loaded"); + } +} + +interface ITest +{ + default int test() + { + return 42; + } +}*/ diff --git a/fml/src/test/java/net/minecraftforge/fml/test/TestNetStuff.java b/fml/src/test/java/net/minecraftforge/fml/test/TestNetStuff.java new file mode 100644 index 000000000..2c52b01f2 --- /dev/null +++ b/fml/src/test/java/net/minecraftforge/fml/test/TestNetStuff.java @@ -0,0 +1,176 @@ +package net.minecraftforge.fml.test; + +import static org.junit.Assert.*; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import net.minecraftforge.fml.common.network.ByteBufUtils; + +import org.junit.Test; + +import com.google.common.base.Strings; + +public class TestNetStuff { + + @Test + public void testByteBufUtilsByteCount() + { + assertEquals("length of 1 is 1", 1, ByteBufUtils.varIntByteCount(1)); + assertEquals("length of 127 is 1", 1, ByteBufUtils.varIntByteCount(127)); + assertEquals("length of 128 is 2", 2, ByteBufUtils.varIntByteCount(128)); + assertEquals("length of 16383 is 2", 2, ByteBufUtils.varIntByteCount(16383)); + assertEquals("length of 16384 is 3", 3, ByteBufUtils.varIntByteCount(16384)); + assertEquals("length of 2097151 is 3", 3, ByteBufUtils.varIntByteCount(2097151)); + assertEquals("length of 2097152 is 4", 4, ByteBufUtils.varIntByteCount(2097152)); + assertEquals("length of 268435455 is 4", 4, ByteBufUtils.varIntByteCount(268435455)); + assertEquals("length of 268435456 is 5", 5, ByteBufUtils.varIntByteCount(268435456)); + assertEquals("length of MIN_VAL is 5", 5, ByteBufUtils.varIntByteCount(Integer.MIN_VALUE)); + assertEquals("length of MAX_VAL is 5", 5, ByteBufUtils.varIntByteCount(Integer.MAX_VALUE)); + assertEquals("length of -1 is 5", 5, ByteBufUtils.varIntByteCount(-1)); + } + + @Test + public void testByteBufUtilsByteArrays() + { + ByteBuf buf = Unpooled.buffer(5, 5); + ByteBufUtils.writeVarInt(buf, 1, 1); + assertArrayEquals("1 as byte[] is [1]", new byte[] { 1, 0, 0, 0, 0 }, buf.array()); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 127, 1); + assertArrayEquals("127 as byte[] is [127]", new byte[] { 127, 0, 0, 0, 0 }, buf.array()); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 128, 2); + assertArrayEquals("128 as byte[] is [-128, 1]", new byte[] { -128, 1, 0, 0, 0 }, buf.array()); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 16383, 2); + assertArrayEquals("16383 as byte[] is [-1, 127]", new byte[] { -1, 127, 0, 0, 0 }, buf.array()); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 16384, 3); + assertArrayEquals("16384 as byte[] is [-1, -128, 1]", new byte[] { -128, -128, 1, 0, 0 }, buf.array()); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 2097151, 3); + assertArrayEquals("2097151 as byte[] is [-1, -1, 127]", new byte[] { -1, -1, 127, 0, 0 }, buf.array()); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 2097152, 4); + assertArrayEquals("16384 as byte[] is [-128, -128, 1]", new byte[] { -128, -128, -128, 1, 0 }, buf.array()); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 268435455, 4); + assertArrayEquals("268435455 as byte[] is [-1, -1, -1, 127]", new byte[] { -1, -1, -1, 127, 0 }, buf.array()); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 268435456, 5); + assertArrayEquals("268435456 as byte[] is [-1, -128, 1]", new byte[] { -128, -128, -128, -128, 1 }, buf.array()); + } + + @Test + public void testByteBufUtilsByteReversals() + { + ByteBuf buf = Unpooled.buffer(5, 5); + ByteBufUtils.writeVarInt(buf, 1, 1); + assertEquals("1 is 1", 1, ByteBufUtils.readVarInt(buf, 1)); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 127, 1); + assertEquals("127 is 127", 127, ByteBufUtils.readVarInt(buf, 1)); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 128, 2); + assertEquals("128 is 128", 128, ByteBufUtils.readVarInt(buf, 2)); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 16383, 2); + assertEquals("16383 is 16383", 16383, ByteBufUtils.readVarInt(buf, 2)); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 16384, 3); + assertEquals("16384 is 16384", 16384, ByteBufUtils.readVarInt(buf, 3)); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 2097151, 3); + assertEquals("2097151 is 2097151", 2097151, ByteBufUtils.readVarInt(buf, 3)); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 2097152, 4); + assertEquals("2097152 is 2097152", 2097152, ByteBufUtils.readVarInt(buf, 4)); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 268435455, 4); + assertEquals("268435455 is 268435455", 268435455, ByteBufUtils.readVarInt(buf, 4)); + + buf.clear(); + ByteBufUtils.writeVarInt(buf, 268435456, 5); + assertEquals("268435456 is 268435456", 268435456, ByteBufUtils.readVarInt(buf, 5)); + } + + @Test + public void testByteBufUtilsStrings() + { + String test = new String("test"); + ByteBuf buf = Unpooled.buffer(20, 20); + ByteBufUtils.writeUTF8String(buf, test); + assertArrayEquals("String bytes", new byte[] { 4, 116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, buf.array()); + + String repeat = Strings.repeat("test", 100); + buf = Unpooled.buffer(420, 420); + ByteBufUtils.writeUTF8String(buf, repeat); + assertArrayEquals("String repeat bytes", new byte[] {-112, 3, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, buf.array()); + } + + + @Test + public void testVarShort() + { + ByteBuf buf = Unpooled.buffer(3,3); + ByteBufUtils.writeVarShort(buf, 32766); + assertArrayEquals("Two byte short written", new byte[] { 127, -2, 0}, buf.array()); + assertEquals("Two byte short written", 2, buf.readableBytes()); + + buf.clear(); + buf.writeZero(3); + buf.clear(); + + buf.writeShort(32766); + assertArrayEquals("Two byte short written", new byte[] { 127, -2, 0}, buf.array()); + int val = ByteBufUtils.readVarShort(buf); + + assertEquals("Two byte short read correctly", 32766, val); + + buf.clear(); + buf.writeZero(3); + buf.clear(); + + ByteBufUtils.writeVarShort(buf, 32768); + assertArrayEquals("Three byte short written", new byte[] { -128, 0, 1}, buf.array()); + assertEquals("Three byte short written", 3, buf.readableBytes()); + + buf.clear(); + buf.writeZero(3); + buf.clear(); + buf.writeShort(-32768); + buf.writeByte(1); + val = ByteBufUtils.readVarShort(buf); + assertEquals("Three byte short read correctly", 32768, val); + + buf.clear(); + buf.writeZero(3); + buf.clear(); + + ByteBufUtils.writeVarShort(buf, 8388607); + assertArrayEquals("Three byte short written", new byte[] { -1, -1, -1}, buf.array()); + assertEquals("Three byte short written", 3, buf.readableBytes()); + + buf.clear(); + buf.writeZero(3); + buf.clear(); + buf.writeShort(-1); + buf.writeByte(-1); + val = ByteBufUtils.readVarShort(buf); + assertEquals("Three byte short read correctly", 8388607, val); + } +} diff --git a/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetHandler1.java b/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetHandler1.java new file mode 100644 index 000000000..47c92d3c5 --- /dev/null +++ b/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetHandler1.java @@ -0,0 +1,14 @@ +package net.minecraftforge.fml.test.simplenet; + +import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; +import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; + +public class SimpleNetHandler1 implements IMessageHandler +{ + @Override + public SimpleNetTestMessage2 onMessage(SimpleNetTestMessage1 message, MessageContext context) + { + return null; + } + +} diff --git a/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetHandler2.java b/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetHandler2.java new file mode 100644 index 000000000..9fa1a75f3 --- /dev/null +++ b/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetHandler2.java @@ -0,0 +1,14 @@ +package net.minecraftforge.fml.test.simplenet; + +import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; +import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; + +public class SimpleNetHandler2 implements IMessageHandler +{ + @Override + public SimpleNetTestMessage1 onMessage(SimpleNetTestMessage2 message, MessageContext context) + { + return null; + } + +} diff --git a/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetTestMessage1.java b/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetTestMessage1.java new file mode 100644 index 000000000..1251531c6 --- /dev/null +++ b/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetTestMessage1.java @@ -0,0 +1,17 @@ +package net.minecraftforge.fml.test.simplenet; + +import net.minecraftforge.fml.common.network.simpleimpl.IMessage; +import io.netty.buffer.ByteBuf; + +public class SimpleNetTestMessage1 implements IMessage { + @Override + public void fromBytes(ByteBuf buf) + { + } + + @Override + public void toBytes(ByteBuf buf) + { + } + +} diff --git a/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetTestMessage2.java b/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetTestMessage2.java new file mode 100644 index 000000000..6814cc54c --- /dev/null +++ b/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetTestMessage2.java @@ -0,0 +1,18 @@ +package net.minecraftforge.fml.test.simplenet; + +import net.minecraftforge.fml.common.network.simpleimpl.IMessage; +import io.netty.buffer.ByteBuf; + +public class SimpleNetTestMessage2 implements IMessage { + + @Override + public void fromBytes(ByteBuf buf) + { + } + + @Override + public void toBytes(ByteBuf buf) + { + } + +} diff --git a/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetTester.java b/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetTester.java new file mode 100644 index 000000000..4d6d65c7e --- /dev/null +++ b/fml/src/test/java/net/minecraftforge/fml/test/simplenet/SimpleNetTester.java @@ -0,0 +1,21 @@ +package net.minecraftforge.fml.test.simplenet; + +import static org.junit.Assert.*; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; +import net.minecraftforge.fml.relauncher.Side; + +import org.junit.Test; + +public class SimpleNetTester { + + @Test + public void test() + { + SimpleNetworkWrapper simpleChannel = NetworkRegistry.INSTANCE.newSimpleChannel("TEST"); + simpleChannel.registerMessage(SimpleNetHandler1.class, SimpleNetTestMessage1.class, 1, Side.SERVER); + simpleChannel.registerMessage(SimpleNetHandler2.class, SimpleNetTestMessage2.class, 2, Side.CLIENT); + assertTrue("Hello", true); + } + +}