From e34c8bbfb9fd82556ecfa385128b98fc129a838d Mon Sep 17 00:00:00 2001 From: hashalite <71229440+hashalite@users.noreply.github.com> Date: Tue, 18 May 2021 00:07:12 -0400 Subject: [PATCH] Add files via upload --- .gitignore | 33 + LICENSE | 674 ++++++++++++++++++ README.md | 11 + build.gradle | 65 ++ .../addons/packetfly/PacketFlyAddon.class | Bin 0 -> 1022 bytes .../mixins/ClientPlayerEntityMixin.class | Bin 0 -> 1643 bytes .../addons/packetfly/mixins/EntityMixin.class | Bin 0 -> 1357 bytes .../packetfly/modules/PacketFly$IDtime.class | Bin 0 -> 986 bytes .../addons/packetfly/modules/PacketFly.class | Bin 0 -> 13615 bytes .../addons/packetfly/utils/world/Timer.class | Bin 0 -> 1493 bytes build/classes/java/main/packetfly-refmap.json | 20 + build/libs/packetfly-1.0-dev.jar | Bin 0 -> 37477 bytes build/libs/packetfly-1.0-sources-dev.jar | Bin 0 -> 19669 bytes build/libs/packetfly-1.0-sources.jar | Bin 0 -> 21560 bytes build/libs/packetfly-1.0.jar | Bin 0 -> 39764 bytes .../mixin-map-1.16.5-1.16.5+build.8-v2.0.tiny | 1 + .../resources/main/assets/packetfly/icon.png | Bin 0 -> 14678 bytes build/resources/main/fabric.mod.json | 32 + build/resources/main/packetfly.mixins.json | 12 + .../compileJava/source-classes-mapping.txt | 11 + build/tmp/jar/MANIFEST.MF | 2 + build/tmp/remapJar/MANIFEST.MF | 2 + build/tmp/sourcesJar/MANIFEST.MF | 2 + gradle.properties | 17 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 185 +++++ gradlew.bat | 89 +++ settings.gradle | 10 + .../xolt/addons/packetfly/PacketFlyAddon.java | 19 + .../mixins/ClientPlayerEntityMixin.java | 24 + .../addons/packetfly/mixins/EntityMixin.java | 17 + .../addons/packetfly/modules/PacketFly.java | 311 ++++++++ .../addons/packetfly/utils/world/Timer.java | 46 ++ src/main/resources/assets/packetfly/icon.png | Bin 0 -> 14678 bytes src/main/resources/fabric.mod.json | 32 + src/main/resources/packetfly.mixins.json | 12 + 37 files changed, 1632 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 build.gradle create mode 100644 build/classes/java/main/net/xolt/addons/packetfly/PacketFlyAddon.class create mode 100644 build/classes/java/main/net/xolt/addons/packetfly/mixins/ClientPlayerEntityMixin.class create mode 100644 build/classes/java/main/net/xolt/addons/packetfly/mixins/EntityMixin.class create mode 100644 build/classes/java/main/net/xolt/addons/packetfly/modules/PacketFly$IDtime.class create mode 100644 build/classes/java/main/net/xolt/addons/packetfly/modules/PacketFly.class create mode 100644 build/classes/java/main/net/xolt/addons/packetfly/utils/world/Timer.class create mode 100644 build/classes/java/main/packetfly-refmap.json create mode 100644 build/libs/packetfly-1.0-dev.jar create mode 100644 build/libs/packetfly-1.0-sources-dev.jar create mode 100644 build/libs/packetfly-1.0-sources.jar create mode 100644 build/libs/packetfly-1.0.jar create mode 100644 build/loom-cache/mixin-map-1.16.5-1.16.5+build.8-v2.0.tiny create mode 100644 build/resources/main/assets/packetfly/icon.png create mode 100644 build/resources/main/fabric.mod.json create mode 100644 build/resources/main/packetfly.mixins.json create mode 100644 build/tmp/compileJava/source-classes-mapping.txt create mode 100644 build/tmp/jar/MANIFEST.MF create mode 100644 build/tmp/remapJar/MANIFEST.MF create mode 100644 build/tmp/sourcesJar/MANIFEST.MF create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle create mode 100644 src/main/java/net/xolt/addons/packetfly/PacketFlyAddon.java create mode 100644 src/main/java/net/xolt/addons/packetfly/mixins/ClientPlayerEntityMixin.java create mode 100644 src/main/java/net/xolt/addons/packetfly/mixins/EntityMixin.java create mode 100644 src/main/java/net/xolt/addons/packetfly/modules/PacketFly.java create mode 100644 src/main/java/net/xolt/addons/packetfly/utils/world/Timer.java create mode 100644 src/main/resources/assets/packetfly/icon.png create mode 100644 src/main/resources/fabric.mod.json create mode 100644 src/main/resources/packetfly.mixins.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..09cd281 --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +# gradle + +.gradle/ +build/ +out/ +classes/ + +# eclipse + +*.launch + +# idea + +.idea/ +*.iml +*.ipr +*.iws + +# vscode + +.settings/ +.vscode/ +bin/ +.classpath +.project + +# macos + +*.DS_Store + +# fabric + +run/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, 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 +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If 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 convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "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 PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM 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 PROGRAM (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 PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..58dc3c4 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# Meteor Addon Template + +A template to allow easy usage of the Meteor Addon API. + +### How to use: +- Clone this project +- Use the template and API to create new modules/commands +- Run the mod with Meteor. + +### Documentation +Check the [wiki](https://github.com/MeteorDevelopment/meteor-addon-template/wiki). \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..3fca62b --- /dev/null +++ b/build.gradle @@ -0,0 +1,65 @@ +plugins { + id 'fabric-loom' version '0.6-SNAPSHOT' + id 'maven-publish' +} + +sourceCompatibility = JavaVersion.VERSION_1_8 +targetCompatibility = JavaVersion.VERSION_1_8 + +archivesBaseName = project.archives_base_name +version = project.mod_version +group = project.maven_group + +repositories { + maven { url "https://jitpack.io" } +} + +dependencies { + //Minecraft + minecraft "com.mojang:minecraft:${project.minecraft_version}" + mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" + modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" + + //Meteor + modImplementation "com.github.MeteorDevelopment:meteor-client:master-SNAPSHOT" +} + +processResources { + inputs.property "version", project.version + + filesMatching("fabric.mod.json") { + expand "version": project.version + } +} + +tasks.withType(JavaCompile).configureEach { + it.options.encoding = "UTF-8" + + def targetVersion = 8 + if (JavaVersion.current().isJava9Compatible()) { + it.options.release = targetVersion + } +} + +java { + withSourcesJar() +} + +jar { + from("LICENSE") { + rename { "${it}_${project.archivesBaseName}"} + } +} + +publishing { + publications { + mavenJava(MavenPublication) { + artifact(remapJar) { + builtBy remapJar + } + artifact(sourcesJar) { + builtBy remapSourcesJar + } + } + } +} \ No newline at end of file diff --git a/build/classes/java/main/net/xolt/addons/packetfly/PacketFlyAddon.class b/build/classes/java/main/net/xolt/addons/packetfly/PacketFlyAddon.class new file mode 100644 index 0000000000000000000000000000000000000000..e43d372ebcc19b60b112ad64ebec8b572739bd12 GIT binary patch literal 1022 zcmb7D-EPw`6#m?HO`C@Obii6*w50>m4(3fN7ibd_LK*_4fHX9TORx2^j3h=$iYRXd zNNj+_1MpCYlh&vE?y9G~M~zrX(k(7~385~@X*xK_aR5^iAC#7)!;)J^13 z)k(v|Ei?_R8Mw`mbzVMYXgDfzxp*gfN0R%>b-mElYv-6dl*wqDA;05=Uh;?_c59y@ z_eAw2!-C_5^2H!HkkM;#;L}doQ9a@Bi^$XYcr%wAc`-xV31z}RC_mw%-&bMGN%E~s z4*em2l}5Y%@Ui|wf|d%Ok)kJj?<4URc6$EUfw`v!QBUrAT5tI*aN}6K7Z&ERV8OyA zhSdoP6;&S{u9HkX)iH3#!d=(~S{B+^XIP(YF;M-1FXO3I3-@r}z=j2mO$K{5^sGsS zwSex;6@lD(@Q?>Gkt(9{WSH=7nxy6!YX9jA^}!1d6~h(V(S>tgQ0MlNh-%%|ZQ7iv z6A$A=1~LCzRCiPy_1BdNL&t787sXQ3veZ`%z9=>|+dQw@t_TH9B14hJNiNR= z>Cr`l-b0Dr2SZhl1VvejX+r3`NExS<(K^>Y0sBNj221qKr<+BTDYixju#C%;(REM2 z&r>p>@)?8| zIzBi)`=cB;r$rqF#PQ6WY?4iOzuo;dU%!3&3}6y-Nwi}miBa53V9ZLML=@vmOyGV3 z4-%MUh|jp5YvveUqzj%jyy|+=@kQBiN4e57d{6tT#23QF8#~Vy99`vAy)C>77j?6x z+#-J_s&dWOWmm~;W`iNNpi7dWt3c*n)~iM7zZOMBJ3R&M2(=-6*RETeF|*|c3{OG? z`&t<;N+scQ4(-K>`9m3DRr@O*l4v7r454{F-0$eP}hzASMOP<|{d?t0tOF|PJF1+9t{ z4PR(Y@?Keosbc#KY?1yFrOl;XhS~oz%5ZkwkgF9@Yvs4^Rh@EGl^bs0Qr2^xr;V_% zD2B09`pSo)P@>~iX|^2TuGq!5GLe+^DvFA%U%0Y)CJVz>Jxe+B2 zGlt~4uKSK$CT1~QJEs0)+hSKRTy4df_jZqnbm&B2hdi1%x(%o|h+tH{un~SGV73!y zkW65z6Av-XFk;*27!vDJUCDs2g|uE)4SVHLCm!QT0%T_fvkZ?;xPM|3FiaoW!H3Xu z#lZN&F@J`@FmC(4LQOm|^_WwErS_d>{|Al0$Z9|h-^9Mslnl{|q-sy5GlhS>OLbpN z7i`J6vX97u5FQBpQ9oqZa4iL9)qWI~i7rjV@ZiW%F*M7K3g&ON7h0F9?tSR*2 z3fgcrw8DCEjV6PH)FuD` literal 0 HcmV?d00001 diff --git a/build/classes/java/main/net/xolt/addons/packetfly/mixins/EntityMixin.class b/build/classes/java/main/net/xolt/addons/packetfly/mixins/EntityMixin.class new file mode 100644 index 0000000000000000000000000000000000000000..56ab6f3aefb70b82a2d7dda660dbbd1f84f8f0d9 GIT binary patch literal 1357 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 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/net/xolt/addons/packetfly/utils/world/Timer.class b/build/classes/java/main/net/xolt/addons/packetfly/utils/world/Timer.class new file mode 100644 index 0000000000000000000000000000000000000000..4c8fa1e477c90b6021c1d8c7918b215c16937c81 GIT binary patch literal 1493 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 YQ2}Oav4(S#0|2BsuR>1mK|FW#f4Ua|N&o-= literal 0 HcmV?d00001 diff --git a/build/libs/packetfly-1.0-sources-dev.jar b/build/libs/packetfly-1.0-sources-dev.jar new file mode 100644 index 0000000000000000000000000000000000000000..39456b0a3d6e7fece416bd59c49d4a408ab355f3 GIT binary patch literal 19669 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 X!T15*tZbmh63F|Wz%lNdULYO-(&xDR literal 0 HcmV?d00001 diff --git a/build/libs/packetfly-1.0.jar b/build/libs/packetfly-1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..bde8d468f8bf0c267bda0ee07db0389dd32ef511 GIT binary patch literal 39764 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 literal 0 HcmV?d00001 diff --git a/build/resources/main/fabric.mod.json b/build/resources/main/fabric.mod.json new file mode 100644 index 0000000..8595b55 --- /dev/null +++ b/build/resources/main/fabric.mod.json @@ -0,0 +1,32 @@ +{ + "schemaVersion": 1, + "id": "packetfly-addon", + "version": "1.0", + + "name": "Meteor Packet Fly Addon", + "description": "A Packet Fly module for Meteor Client", + "authors": [ + "xolt" + ], + "contact": { + }, + + "license": "GPL-3.0", + "icon": "assets/packetfly/icon.png", + + "environment": "client", + "entrypoints": { + "meteor": [ + "net.xolt.addons.packetfly.PacketFlyAddon" + ] + }, + "mixins": [ + "packetfly.mixins.json" + ], + "depends": { + "fabricloader": ">=0.7.4", + "fabric": "*", + "minecraft": "1.16.x", + "meteor-client": "*" + } +} diff --git a/build/resources/main/packetfly.mixins.json b/build/resources/main/packetfly.mixins.json new file mode 100644 index 0000000..47f7bf5 --- /dev/null +++ b/build/resources/main/packetfly.mixins.json @@ -0,0 +1,12 @@ +{ + "required": true, + "package": "net.xolt.addons.packetfly.mixins", + "compatibilityLevel": "JAVA_8", + "client": [ + "ClientPlayerEntityMixin", + "EntityMixin" + ], + "injectors": { + "defaultRequire": 1 + } +} diff --git a/build/tmp/compileJava/source-classes-mapping.txt b/build/tmp/compileJava/source-classes-mapping.txt new file mode 100644 index 0000000..2a4a449 --- /dev/null +++ b/build/tmp/compileJava/source-classes-mapping.txt @@ -0,0 +1,11 @@ +net/xolt/addons/packetfly/modules/PacketFly.java + net.xolt.addons.packetfly.modules.PacketFly + net.xolt.addons.packetfly.modules.PacketFly$IDtime +net/xolt/addons/packetfly/utils/world/Timer.java + net.xolt.addons.packetfly.utils.world.Timer +net/xolt/addons/packetfly/PacketFlyAddon.java + net.xolt.addons.packetfly.PacketFlyAddon +net/xolt/addons/packetfly/mixins/ClientPlayerEntityMixin.java + net.xolt.addons.packetfly.mixins.ClientPlayerEntityMixin +net/xolt/addons/packetfly/mixins/EntityMixin.java + net.xolt.addons.packetfly.mixins.EntityMixin diff --git a/build/tmp/jar/MANIFEST.MF b/build/tmp/jar/MANIFEST.MF new file mode 100644 index 0000000..58630c0 --- /dev/null +++ b/build/tmp/jar/MANIFEST.MF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 + diff --git a/build/tmp/remapJar/MANIFEST.MF b/build/tmp/remapJar/MANIFEST.MF new file mode 100644 index 0000000..58630c0 --- /dev/null +++ b/build/tmp/remapJar/MANIFEST.MF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 + diff --git a/build/tmp/sourcesJar/MANIFEST.MF b/build/tmp/sourcesJar/MANIFEST.MF new file mode 100644 index 0000000..58630c0 --- /dev/null +++ b/build/tmp/sourcesJar/MANIFEST.MF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 + diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..5a53c80 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,17 @@ +# Done to increase the memory available to gradle. +org.gradle.jvmargs=-Xmx2G + +# Minecraft +minecraft_version=1.16.5 + +# Fabric Properties +fabric_version=0.34.0+1.16 +yarn_mappings=1.16.5+build.8 +loader_version=0.11.3 + +# Mod Properties +mod_version = 1.0 +maven_group = net.xolt.addons +archives_base_name = packetfly + + diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f GIT binary patch literal 59203 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

K7UpUK$>l@ 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 E2O(~oYXATM literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..be52383 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..4f906e0 --- /dev/null +++ b/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed 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 +# +# https://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. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# 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\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# 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 +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +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" -a "$nonstop" = "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 or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # 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=`expr $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 + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@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 + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@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="-Xmx64m" "-Xms64m" + +@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 execute + +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 execute + +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 + +: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 %* + +: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/settings.gradle b/settings.gradle new file mode 100644 index 0000000..5b60df3 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,10 @@ +pluginManagement { + repositories { + jcenter() + maven { + name = 'Fabric' + url = 'https://maven.fabricmc.net/' + } + gradlePluginPortal() + } +} diff --git a/src/main/java/net/xolt/addons/packetfly/PacketFlyAddon.java b/src/main/java/net/xolt/addons/packetfly/PacketFlyAddon.java new file mode 100644 index 0000000..3b2ec47 --- /dev/null +++ b/src/main/java/net/xolt/addons/packetfly/PacketFlyAddon.java @@ -0,0 +1,19 @@ +package net.xolt.addons.packetfly; + +import net.xolt.addons.packetfly.modules.PacketFly; +import minegame159.meteorclient.MeteorAddon; +import minegame159.meteorclient.systems.modules.Modules; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public class PacketFlyAddon extends MeteorAddon { + + public static final Logger LOG = LogManager.getLogger(); + + @Override + public void onInitialize() { + LOG.info("Initializing Packet Fly Addon"); + Modules.get().add(new PacketFly()); + } + +} \ No newline at end of file diff --git a/src/main/java/net/xolt/addons/packetfly/mixins/ClientPlayerEntityMixin.java b/src/main/java/net/xolt/addons/packetfly/mixins/ClientPlayerEntityMixin.java new file mode 100644 index 0000000..061dda6 --- /dev/null +++ b/src/main/java/net/xolt/addons/packetfly/mixins/ClientPlayerEntityMixin.java @@ -0,0 +1,24 @@ +package net.xolt.addons.packetfly.mixins; + +import com.mojang.authlib.GameProfile; +import net.xolt.addons.packetfly.modules.PacketFly; +import minegame159.meteorclient.systems.modules.Modules; +import net.minecraft.client.network.AbstractClientPlayerEntity; +import net.minecraft.client.network.ClientPlayerEntity; +import net.minecraft.client.world.ClientWorld; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(ClientPlayerEntity.class) +public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity { + public ClientPlayerEntityMixin(ClientWorld world, GameProfile profile) { + super(world, profile); + } + + @Inject(method = "pushOutOfBlocks", at = @At("HEAD"), cancellable = true) + private void onPushOutOfBlocks(double x, double d, CallbackInfo info) { + if (Modules.get().get(PacketFly.class).isActive()) {info.cancel();} + } +} diff --git a/src/main/java/net/xolt/addons/packetfly/mixins/EntityMixin.java b/src/main/java/net/xolt/addons/packetfly/mixins/EntityMixin.java new file mode 100644 index 0000000..7809e56 --- /dev/null +++ b/src/main/java/net/xolt/addons/packetfly/mixins/EntityMixin.java @@ -0,0 +1,17 @@ +package net.xolt.addons.packetfly.mixins; + +import net.xolt.addons.packetfly.modules.PacketFly; +import minegame159.meteorclient.systems.modules.Modules; +import net.minecraft.entity.Entity; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(Entity.class) +public abstract class EntityMixin { + @Inject(method = "pushAwayFrom", at = @At("HEAD"), cancellable = true) + private void onApplyCollision(Entity entity, CallbackInfo info) { + if (Modules.get().get(PacketFly.class).isActive()) {info.cancel();} + } +} \ No newline at end of file diff --git a/src/main/java/net/xolt/addons/packetfly/modules/PacketFly.java b/src/main/java/net/xolt/addons/packetfly/modules/PacketFly.java new file mode 100644 index 0000000..b38001e --- /dev/null +++ b/src/main/java/net/xolt/addons/packetfly/modules/PacketFly.java @@ -0,0 +1,311 @@ +package net.xolt.addons.packetfly.modules; + +import io.netty.util.internal.ConcurrentSet; +import net.xolt.addons.packetfly.utils.world.Timer; +import meteordevelopment.orbit.EventHandler; +import minegame159.meteorclient.events.entity.player.PlayerMoveEvent; +import minegame159.meteorclient.events.entity.player.SendMovementPacketsEvent; +import minegame159.meteorclient.events.packets.PacketEvent; +import minegame159.meteorclient.mixin.PlayerPositionLookS2CPacketAccessor; +import minegame159.meteorclient.settings.*; +import minegame159.meteorclient.systems.modules.Categories; +import minegame159.meteorclient.systems.modules.Module; +import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket; +import net.minecraft.network.packet.c2s.play.TeleportConfirmC2SPacket; +import net.minecraft.network.packet.s2c.play.PlayerPositionLookS2CPacket; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Vec3d; +import net.minecraft.client.gui.screen.DownloadingTerrainScreen; + +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; + +public class PacketFly extends Module { + + private final Set packets = new ConcurrentSet(); + private final Map teleportmap = new ConcurrentHashMap(); + + private int flightCounter = 0; + private int teleportID = 0; + private float yaw; + private float pitch; + + private final SettingGroup sgGeneral = settings.getDefaultGroup(); + + private final Setting flight = sgGeneral.add(new BoolSetting.Builder() + .name("Flight") + .defaultValue(true) + .build() + ); + + private final Setting flightMode = sgGeneral.add(new IntSetting.Builder() + .name("Flight Mode") + .defaultValue(0) + .sliderMin(0) + .sliderMax(1) + .min(0) + .max(1) + .build() + ); + + private final Setting doAntiFactor = sgGeneral.add(new BoolSetting.Builder() + .name("Do AntiFactor") + .defaultValue(true) + .build() + ); + + private final Setting antiFactor = sgGeneral.add(new DoubleSetting.Builder() + .name("AntiFactor") + .defaultValue(2.5) + .sliderMin(0.1) + .sliderMax(3.0) + .min(0.1) + .max(3.0) + .build() + ); + + private final Setting extraFactor = sgGeneral.add(new DoubleSetting.Builder() + .name("ExtraFactor") + .defaultValue(1.0) + .sliderMin(0.1) + .sliderMax(3.0) + .min(0.1) + .max(3.0) + .build() + ); + + private final Setting strafeFactor = sgGeneral.add(new BoolSetting.Builder() + .name("StrafeFactor") + .defaultValue(true) + .build() + ); + + private final Setting loops = sgGeneral.add(new IntSetting.Builder() + .name("Loops") + .defaultValue(1) + .sliderMin(1) + .sliderMax(10) + .min(1) + .max(10) + .build() + ); + + private final Setting clearTeleMap = sgGeneral.add(new BoolSetting.Builder() + .name("Clear Teleport Map") + .defaultValue(true) + .build() + ); + + private final Setting mapTime = sgGeneral.add(new IntSetting.Builder() + .name("Clear Time") + .defaultValue(30) + .sliderMin(1) + .sliderMax(500) + .min(1) + .max(500) + .build() + ); + + private final Setting clearIDs = sgGeneral.add(new BoolSetting.Builder() + .name("Clear IDs") + .defaultValue(true) + .build() + ); + + private final Setting setYaw = sgGeneral.add(new BoolSetting.Builder() + .name("Set Yaw") + .defaultValue(true) + .build() + ); + + private final Setting setID = sgGeneral.add(new BoolSetting.Builder() + .name("Set ID") + .defaultValue(true) + .build() + ); + + private final Setting setMove = sgGeneral.add(new BoolSetting.Builder() + .name("Set Move") + .defaultValue(false) + .build() + ); + + private final Setting noClip = sgGeneral.add(new BoolSetting.Builder() + .name("NoClip") + .defaultValue(false) + .build() + ); + + private final Setting sendTeleport = sgGeneral.add(new BoolSetting.Builder() + .name("Teleport") + .defaultValue(true) + .build() + ); + + private final Setting resetID = sgGeneral.add(new BoolSetting.Builder() + .name("Reset ID") + .defaultValue(true) + .build() + ); + + private final Setting setPos = sgGeneral.add(new BoolSetting.Builder() + .name("Set Pos") + .defaultValue(false) + .build() + ); + + private final Setting invalidPacket = sgGeneral.add(new BoolSetting.Builder() + .name("Invalid Packet") + .defaultValue(true) + .build() + ); + + public PacketFly() { + super(Categories.Movement, "Packet Fly", "Fly using packets."); + } + + @EventHandler + public void onSendMovementPackets(SendMovementPacketsEvent.Pre event) { + mc.player.setVelocity(0.0,0.0,0.0); + double speed = 0.0; + boolean checkCollisionBoxes = checkHitBoxes(); + speed = mc.player.input.jumping && (checkCollisionBoxes || !(mc.player.input.movementForward != 0.0 || mc.player.input.movementSideways != 0.0)) ? (flight.get() && !checkCollisionBoxes ? (flightMode.get() == 0 ? (resetCounter(10) ? -0.032 : 0.062) : (resetCounter(20) ? -0.032 : 0.062)) : 0.062) : (mc.player.input.sneaking ? -0.062 : (!checkCollisionBoxes ? (resetCounter(4) ? (flight.get() ? -0.04 : 0.0) : 0.0) : 0.0)); + if(doAntiFactor.get() && checkCollisionBoxes && (mc.player.input.movementForward != 0.0 || mc.player.input.movementSideways != 0.0) && speed != 0.0) { + speed /= antiFactor.get(); + } + double[] strafing = this.getMotion(strafeFactor.get() != false && checkCollisionBoxes ? 0.031 : 0.26); + for (int i = 1; i < loops.get() + 1; ++i) { + mc.player.setVelocity(strafing[0] * (double) i * extraFactor.get(), speed * (double) i, strafing[1] * (double) i * extraFactor.get()); + sendPackets(mc.player.getVelocity().x, mc.player.getVelocity().y, mc.player.getVelocity().z, sendTeleport.get()); + } + } + + @EventHandler + public void onMove (PlayerMoveEvent event) { + if (setMove.get() && flightCounter != 0) { + event.movement = new Vec3d(mc.player.getVelocity().x, mc.player.getVelocity().y, mc.player.getVelocity().z); + if (noClip.get() && checkHitBoxes()) { + mc.player.noClip = true; + } + } + } + + @EventHandler + public void onPacketSent(PacketEvent.Send event) { + PlayerMoveC2SPacket packet; + if (event.packet instanceof PlayerMoveC2SPacket && !packets.remove(packet = (PlayerMoveC2SPacket) event.packet)) { + event.setCancelled(true); + } + } + + @EventHandler + public void onPacketReceive(PacketEvent.Receive event) { + if (event.packet instanceof PlayerPositionLookS2CPacket && !(mc.player == null || mc.world == null)) { + BlockPos pos = new BlockPos(mc.player.getPos().x, mc.player.getPos().y, mc.player.getPos().z); + PlayerPositionLookS2CPacket packet = (PlayerPositionLookS2CPacket) event.packet; + if (mc.player.isAlive() && mc.world.isChunkLoaded(mc.world.getChunk(pos).getPos().x, mc.world.getChunk(pos).getPos().z) && !(mc.currentScreen instanceof DownloadingTerrainScreen) && clearIDs.get()) { + teleportmap.remove(packet.getTeleportId()); + } + if (setYaw.get()) { + ((PlayerPositionLookS2CPacketAccessor) event.packet).setPitch(mc.player.pitch); + ((PlayerPositionLookS2CPacketAccessor) event.packet).setYaw(mc.player.yaw); + } + if (setID.get()) { + teleportID = packet.getTeleportId(); + } + } + } + + private boolean checkHitBoxes() { + return !(mc.world.getBlockCollisions(mc.player, mc.player.getBoundingBox().expand(-0.0625,-0.0625,-0.0625)).count() == 0); + } + + private boolean resetCounter(int counter) { + if (++flightCounter >= counter) { + flightCounter = 0; + return true; + } + return false; + } + + private double[] getMotion(double speed) { + float moveForward = mc.player.input.movementForward; + float moveStrafe = mc.player.input.movementSideways; + float rotationYaw = mc.player.prevYaw + (mc.player.yaw - mc.player.prevYaw) * mc.getTickDelta(); + if (moveForward != 0.0f) { + if (moveStrafe > 0.0f) { + rotationYaw += (float) (moveForward > 0.0f ? -45 : 45); + } else if (moveStrafe < 0.0f) { + rotationYaw += (float) (moveForward > 0.0f ? 45 : -45); + } + moveStrafe = 0.0f; + if (moveForward > 0.0f) { + moveForward = 1.0f; + } else if (moveForward < 0.0f) { + moveForward = -1.0f; + } + } + double posX = (double) moveForward * speed * -Math.sin(Math.toRadians(rotationYaw)) + (double) moveStrafe * speed * Math.cos(Math.toRadians(rotationYaw)); + double posZ = (double) moveForward * speed * Math.cos(Math.toRadians(rotationYaw)) - (double) moveStrafe * speed * -Math.sin(Math.toRadians(rotationYaw)); + return new double[]{posX,posZ}; + } + + private void sendPackets(double x, double y, double z, boolean teleport) { + Vec3d vec = new Vec3d(x, y, z); + Vec3d position = mc.player.getPos().add(vec); + Vec3d outOfBoundsVec = outOfBoundsVec(vec, position); + packetSender(new PlayerMoveC2SPacket.PositionOnly(position.x, position.y, position.z, mc.player.isOnGround())); + if (invalidPacket.get()) { + packetSender(new PlayerMoveC2SPacket.PositionOnly(outOfBoundsVec.x, outOfBoundsVec.y, outOfBoundsVec.z, mc.player.isOnGround())); + } + if (setPos.get()) { + mc.player.setPos(position.x, position.y, position.z); + } + teleportPacket(position, teleport); + } + + private void teleportPacket(Vec3d pos, boolean shouldTeleport) { + if (shouldTeleport) { + mc.player.networkHandler.sendPacket(new TeleportConfirmC2SPacket(++teleportID)); + teleportmap.put(teleportID, new IDtime(pos, new Timer())); + } + } + + private Vec3d outOfBoundsVec(Vec3d offset, Vec3d position) { + return position.add(0.0, 1337.0, 0.0); + } + + private void packetSender(PlayerMoveC2SPacket packet) { + packets.add(packet); + mc.player.networkHandler.sendPacket(packet); + } + + private void clean() { + teleportmap.clear(); + flightCounter = 0; + if (resetID.get()) { + teleportID = 0; + } + packets.clear(); + } + + public static class IDtime { + private final Vec3d pos; + private final Timer timer; + + public IDtime(Vec3d pos, Timer timer) { + this.pos = pos; + this.timer = timer; + this.timer.reset(); + } + + public Vec3d getPos() { + return this.pos; + } + + public Timer getTimer() { + return this.timer; + } + } +} diff --git a/src/main/java/net/xolt/addons/packetfly/utils/world/Timer.java b/src/main/java/net/xolt/addons/packetfly/utils/world/Timer.java new file mode 100644 index 0000000..d64d2e6 --- /dev/null +++ b/src/main/java/net/xolt/addons/packetfly/utils/world/Timer.java @@ -0,0 +1,46 @@ +package net.xolt.addons.packetfly.utils.world; + +public class Timer { + private long time = -1L; + + public boolean passedS(double s) { + return this.passedMs((long) s * 1000L); + } + + public boolean passedDms(double dms) { + return this.passedMs((long) dms * 10L); + } + + public boolean passedDs(double ds) { + return this.passedMs((long) ds * 100L); + } + + public boolean passedMs(long ms) { + return this.passedNS(this.convertToNS(ms)); + } + + public void setMs(long ms) { + this.time = System.nanoTime() - this.convertToNS(ms); + } + + public boolean passedNS(long ns) { + return System.nanoTime() - this.time >= ns; + } + + public long getPassedTimeMs() { + return this.getMs(System.nanoTime() - this.time); + } + + public Timer reset() { + this.time = System.nanoTime(); + return this; + } + + public long getMs(long time) { + return time / 1000000L; + } + + public long convertToNS(long time) { + return time * 1000000L; + } +} diff --git a/src/main/resources/assets/packetfly/icon.png b/src/main/resources/assets/packetfly/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e6e07a4b2cbdb5efb0e082ef14fed1cd61377dc7 GIT binary patch literal 14678 zcmch-2|QG98#jKR8OAo2EEy3)wi3p^#SBVRn4*x%I`%DlWjRFJL?v3t(r#CZEEz-?|I+nd7tOMysyt^%$ajv_jO;(_rC7yT-P~6w%WgaE+zeC-2WQQ{K^faklnt$nDygxDE{$!BV zg55pz_iZ=(V=d&Dp^R5(Xpp|DYD7eYN`!_=V6dmEnx3AXDnVUUU0oTWP!2g35b6@C z91ybUPY&BDA#TCmL80D(0r)kJF0O%Lp@uSuq`y`05BiI3K*%3vLJX!F=@O)>rb1X# z=@(&;S72yhh*#jhA^&UmpC-Ax{lz>eEZFat#O`jY6hDeTB_K2ep;h~90mQVHmVc4| zOIiH=|Dp~F-4Twc@rObFC3T4Hu^@`-K1xVnSg;#qM>w+Lra!d_3EfBehduv`=?M8> zlS92d{>|LAk$*A(CDQxfkgkpVMH-}U8ccBs4Ggvo4D|aGJLEqtjyE-3!-^hW(at-- zJuo6<^O_oe%%N;|38fgys1wxHlnGkO1Pxm?Eqww(UjzB6iCp|9wM5YA?h@+q&%|mv zwrV>1nrix*y8lER=_3wJ<#K(~K)=9X%RqNT4h?n>#I>~4w+ILcbqR2zSZp_x zL3CB|_IB5IcO&R(yX$%=Q?&G4lr_{fJ(OK2?mEhPF76%#in^w&j*jM^^S1}Og{@(1 zZT{~)>K^EZ@c4&tI$G-59v%ceWgUvHo3fsUrmM26wwkN5uCAJ{uC_XXprb+glbdz0 zHxedX{Qk~$O)B>_sq|d+H1%Axl=aj#wUu>rHFcDAJrGZ*Yv^id=;|Sh=xE8{*N~x) zut7v}S=)<-GKc|w-Lzjrs9)Icn|j&=FKEwcR< zNA=$b{EypzI?)(`R|vA_{*^jL+f4|1Y9_jB###g|f`*Byx}LGFv4+|XO=B}1JvD8@ z?miVv0 z_j`VX7X^Xc|0YoUCJPDl2#s(FrWku7Sp9Ee(cc{S&+>=3g#YiQ*K*NN_t19LPz6fJ z4d!$ob*>D(TNzsECOR|WCG#_xB@W|x#R#`TU z_shu|M>Hf(I?LM=BaS`oZ-Eq3eum5)Z!+a0ZJ6!k{i1=@16)iS3kstv3&A33Y+Md5`1@dLGF(+u zPy{w6*Y|ctXY%o1YsR;DRn2uR%yl^H$x7dHJDKBJn0>;~a?2LXNvhPy4Tq7U53vU5 zkLgK;ZUVNqe}-fz)SHQ^nO{iAxm1{KV6;(k3)jh@thfwu( zajkpT&@>T{t8wqMvvVWKd72q&R(1CCss!MN=wfJI@V;tfcsYLM-99Tmn8Q}H6`#GseG7pESvDcARANmHwz2rR84f8=|Taz&U8vgI1Nopu|Lz+@CFE&HCy4j z0IWV}8g*zYl_%N9$8}8giy#j**Kf;w^LU7EmUPbhedQxh_3Of+=v6}=f zv2|O&Hg_1*0)!UZK9@8J}TU7`X-&|GO zcnc3meow6#y+w}1PwB>%*P_+*xn5eW#_YQW{e=4^K;p_eP|x7y<$bu4wPIFrvEktI z&Zl%g_m*+)+G=few@!Dn^t z`K+o#bsZVr&0XLV_YW@poj3jD0?=OJBA*x4o>8WDK>o&D_nqA}5St((Jv)4f zlRd4hq0a}%KhFwtlFnsaXCn< zk{M%Z7)d8yR=IV{>BW^m`}+0Mb8|0xGb~c8Q2@41%7jQ_D?Sjlb8p@X`_!Ys*-6{N zoCnJr#EwZGT+~nYIlr>N;!s*AwHWbidx$!hS>ce*?z4}d88bIIms;Bh39$@6t8ZJ~ zv)4rYtE+M0Pj+lx70P9gL_45pN|5gwg$;EA&M;yi?2DLV_T6rOTVS0wzFBFTU^M#!H4b`Yv}zse!Ic)~h!_We?)MMi!7i@g*tPM(o?>l5b$&1q`15b2m&hkAHSY^>{Z z4*c-j9d=N>k84)6FlAxHhMXHNU+}>GXi6I8n?|t4`)7>ok9l5C$hMK&^3Gp4SQo<> z46Lh-{5p2*`vm*C{QUg**u#}U(sbu^6c={-bx)CFtYy`qr{4%q=>8nMuLce`lj=c7 zvY-K!DY!or^%c-lBGxq$9q)_{@tdl7)sURpGfMJHVm-f4Y+PB8B8GT;`ZmsCziW`D zO1>azIMP+BPk7sQr65IWZuBds7Na>nC(p;nCzSPk`rV^AwjC`=z8%*zl7cr^@|9ME zOm?IgE#EIHDth)Traqp%tnO_WefZ+0$sB4dTX?+E^gvh_Q~x1#3qo=D@L?1>_Z(Un ze6%95k!pVwh%=3^E@&)N=U->%8Gc_`Hq*12lV3=cR5;olT4Y&3{nnRjxS zD^uI!+gliyDz#iqYdV)ni@imF*(}0Y@1KT*)hUOnI#vWk&phsnKP%LOaRVIaRn#>( z&_W`;TM}X?rLDYESN1USD03>}6(8uxt_xu-XO~uT?+D8J`Zc3)x66eQ>Vw=|Cfg9}X zWlJeyAnHrX!uNt_%)J7-Sgb5tkHaI6EZx^S+Vh)~v||&wN&tgPNqpC1_f|nB57lmY zX)^nBA8S0r31*W-pB~`^@&qE|hftYE|71Zy!Mj*R{PxvCy1Otj#Zz07RS5{;HJGV9~CPI=x=TJYk3YnNqPMKR=9ge$Y4tgk0KWAVdM@%bctb<3%20x zj7JdoB0c||aAY#Bl^f9QF0tdo+4gY2vE&Z}k6W|+6M6ZpFQI8~3+yUGUFY_4=1t3# z)ENbOeR5O;0Be0%&n%j!GTje=aXUIcg%dt?DuPGcyskEeQ7x`>q`bVmR6+Bgp1-mP zYfF|rAQ?{syfAzp0wJsyQnA>P8~y>}8+HkR7~9E@*0jpJk~t=g)+fMJBiLN>o4?{r z;GMuP8d#9C$Kvaf^#s6)KSGhzu;%OG0=sNJUc=rn1$*8-q)g9H9$+sk0Fxi zzPq9C&9n}=_gBn)9B;SIH3`iSU7RzONTu(V!yp{)5?BcIL)g*y8q3t!1G-yyf-!)I z^bzctZd`}~7WqwQM|}?7eH_+#XSel%;zJK8qAnh%yeKi@-2m(gIJMLnhj#jc3Q{vE z{1C5{#8mn^7Bu&5ZmeSHS+vtUaPG_<1I|J8i@cx=I>jP1>3`t~{?1=FGZ&l52h6j? zK-p8VY!)ruxN7ICCtq>pkIOp)tpewiF{B=RzYUn58*yTzeZ8W@Z-WN<$9IDu+uF#Z zLrv%SeSLi&_x8O60u!F)h#ldvpW@;=k1ML#a`N-HNCPS(J7!rmaZ;gfGa59E61M{a z%LSCK3%U-T$KZ?vZe)aPI?GYXdf|6;OX5gg6s{stLYKZWKmVv1lxO5uS67#m%zbRV zyvmd=>0Ko)sN2cpjH;8NY1!}(j}@fHe3&)ruVGlv#9V}Y6$^~LOEAiQH!G&Z{9r9nDh#wq3Jgb zPw4CGA3_uMveDG8CZTBt;vm5V#(>Blp7J24T#<5$FX_Cvw%>vT+|NZeV(Eo=yc7fu zH?;kOc|c_%2b_(rJ@%dd3|c^+-JOGas|VyHn9jdcd3~Whqi#kIlnLb=V!r8r6T*Mi z5s*xX&Jd}ON)-mCrYYw((LU>u?Et5cF&B!u9@+}!#9kc}Z_`rqK@O@uPoU_iQMr0= z2nT03ByQQpAJ7z(CzPA>K;tP2%(<@2qptyyA?g6=TAv$?3YzT5 zLXI$FzT+R7lS6NE zbQH{ksHO3Yz7nUpW8dZbC+24cBj$!{kq-ko-M2;3KfS*7B1MXL?3*kHJ~;hkcc$0r zer3~syO-I-5ggofPPDP4Q~G{YRn^_QW($F@>s~e_28uv9a}-=$?4khR{Zs-c_4)Gz z03Tp#Yyw?}+3@;UgY-V9Sj3`tb|~L!)dO|GDFac=rKJRLzaRun+PRYh1t#L?ogi|N z?!rgfv#4;rc~S4iGzxx`Gx%iYrxa+3WdrzC4R8~Av?GtjFfB~l%)E*?UL?5TctPa% zS2|}lL5uyX@tJ5?E$B79(?NIR#YN|v>p^tA^EEEP&Z1K*E8SUI4#2X#GQ*M|ruLpWhq?iL%6cOc#$khjUd@ExjJzkG$=w>f5bVslYX z%((_&^;ugxVEPjQA}u{j$ya^$$r1&QaVxq3sv$K?mW|}*_Tlxdok$jScW3Bf&>dSY zcV;Ljs?Y9lEdc!$onnB-SX?_=i+cLRJx3q*bK z@xr0=y~T$)GPC<7M3z?B;K+mPI>gG$ryoK&kG^kFVxO|E9^nG_tg`m0q7qPDcWoyi zc-uXq3H{ou8xgwM+GoC;u8Eev`f&3G(I-<=BV`<MeU*H5UDOrZp(-WZ9y_P{gpeIwq&MIJdm;eYy9_TIP)KB==xViQpx6rv>IE<6`gE$`}apLjv7yAW&tGNq{#u&^bo<&&`?z65TQ8D zG)Z6OP^EOn_sJ3|VoW+SSa{_Oek^LY1K$fd54d4gKFRYW3O(78T;}?^H;Jk|-6b8R zgnhP2Qd3j&qZVi&fZ4c>c}N(0aP#I3lczy04<)wUk8UfATV#YEJP}x4=>2rA1*>tq zcC+NfbKZ5xNub9D$Er!9o$ur40NIbDK{TQMu$W!jXrt55ALke5(}fqg(v%&;r)D!p zMH{e%-t;HuLXV`nq~FxzlCURo@Q0HsuuT}SUTsu?8+>PxCryY0XTr-^b;J$?xM;uHU4H;x zIMqZZsbWuxC=K`S(s&7IvF*$m@h?kaH!?o1Q;N$@4dNlWlxttRt`EVn22t`*X_V!b zSXYAXvpSZF6Ap7uRQ1i;Jb`Y^7@vEU^Gn)Ctp`7bH%kLPshb;$9N4Po@6)rzK!PY` z5FPZx%Py8xyE|hS_bS_22F9Rh^*K}PhtF1Jr!>pyti{2jJfssVc76%zY)GzaS90X% zI{3a7>~HUk?avgk(N(LwO|?ccd*fK+JYMikHm7mFr;%jc&t6Au&@}~3`X53EUB7cz z8_;L@*-7n;D-iWvT-?g^^KA$ESq+`MlD_I_Qe>@)ee%`N*F(gJ+4tk^8H2z%mAi@^ zmMb71g7A~XaSoCakE=mA4!zz{y6T;`OH^Do?Sjg(nO7!w@ZiDQU@V`+(R7Ro5_4$>#KpuX#`B)geS#<6_S&z_;^~vAK24|!Abja<>$>Yg;OdG7 zn&hQGoi9)WU%q@P_1ue+Cq*zIKbkqgGXDA8_nyF023NPPI`%>B~B*PSLd(*w|+pLT7%s|*D^A){EBmO=< z2OYZ}QrbVpCYEwHi{!Wl#;sp}{2iC#x%J8irCX=ZjppW!3ziG>b@NH+dIu#geV;5C zQbl)}k&lCxEHL=!43^rYH5DrTBfqh+Gp}v9c4w&XvA6kJp3gQIFy1~6^K}f171b{b zo9Zo6=HA8&iCcfm<-rK1egP&*4dp?jCPO?8f%OZoDPSQ%|7h%q6>sfrZd_kZ%oX*8 z5picCh}o;oiwh{Ye=DaLHM+fW@A^yIR_BW@g-`dVjDKw9*|e#1NnL+gOKFuqS7&kc z`}b+PCxIg`uG9`bDSODV%W=>>ZtuaqYvNh=N=)@aj!*YryqRTSG+23bvYEGV+L?k* z^H3bj)zk@0s*wtil6X>VYi<%9Z8*-ROJ~#^`;PzO)?6ZRLoive|4uF*E=6{y=iaHl zl0aJdC7bWd{;v`ZTq$!mJFUa8bAu-yM)oCc=&uZU(|p)|V8Ccg+JgZ%Er+f4wI`%S zH%g?1^e7M_mHaP8N3EE=d-~l?`@zWYu*!4hefr#Hq_{`rZNYMOYJTHiyl^2#=wR_- zA)bX2xoysq)NWZXj2G5R^0dWPqp+}HHjKTopnW#M!74e1{f-+O_u_}1jK+;lN7(I( z&h;L&N={BD@1@Nx?TB-b?mu}$dRTQ*n1}jp-`gwP#ZNR2R?E%|*H(X6up2#+L$$0g zDm#&IBhm4cc+v*=xU)$7&qnKKB4f*L9iIvVvW10uQZ@H~D!xO~es{sIWp@OtrR8+` z${RF34GI@u{jT&)Be@1CSRGJwbGvwFQS4^YXQuSogxO+8&+6t*6lRB@eSrp2ys~!^ zPJ|?+Inzb3MLaMm9!o9eoKe};xSXYv8VG3OIL55sQGh6=8BsT)9b+Q2J|(7NvB!n4SsfmAvwY;#p#9FRD?DfDMl`$JKw zvWmJ=Q7XJYU?~3ErmK_lGqJTHlh)+fVTO+4!YpHHxHf}{!fOB>Dh_rW6B96}syj=w zW4CclR?m?jERHKU5XL$aQ}=@K4DKOSwwQOzg~2)LCYDlDbL8rsJ2dN;kIrUea*_*e zApsm5sH#Rc9X+tyoErSjoEztkRmrSAA-QWEdYab+r#N9UwR=Zv{3U?*!IB`_Nq!^F zWX79WRkLUhMr-hF@$`wuPd{(eeRBBqvMWvWeaa~EK%j^%J>iVSVL;3@nhh1JC*5Er9cI=Tj%XRc8jz|_qGf??*E{@p45E4>-{N70tq(X~dB+%P1#PxI6l17t^qc=x#HsvfdFuXC`xIGK# zCM(*>p_$#jQ!}0~3i9)PxMe!J8ejA;Q}cG5Q>;Tt1$cRR`TOs{^cFgNpSTg&%pB_; zIE8G(4{mj|nENt{UeS*~Z>}xxGV71J)0+}OOw+dXM#I?WD1mlR4b{j=qAw(P%bF+~ z3Fq3&ny7u6IYz}PI+Gi~6r0g%PHoNZ{3<11Bq#B}k}i8Q#>Se$s5Kv%C&(J)9pnV4 zKtH`e-qnBMv{pXsx9tL@DgTx*EbQ@V6vFzC-_L$d*abh>~13Vh^8*X>O3*SGj=;?H2 zdy=vJnd<(PR8Mfd=C;tMo|w#(hpn%jeed;7@!>_|zj8$MCZgC{` ze#JmM18P0X+zaAp*dv@Dj*n~LU3F;2bDt{c(pm1q*OPy0?&uFc*qap0 zia857KhPSFUV@x;s4fIc6Gg#B72yGKJUTa9yulh|U3u7VO71ahIjY(T>)& zr)!@c%?=^j+TLF|(;=VVgMIjO$ATjYN#j0Zf!N7zgLUSdqb|>_e6Tn)JCNL+1*ZV= zg_`wz$8)!drlhz&@gGVVjcsEX^5ZoL3#NPRN49FWTFNgP`!oCi)r~sTxch0#w)47| zU?`jC@RwNqAuhT@sx_d=ko=4qi3dtn=I1ueOfJ$p-#c-#QWT(1v0JK%yHSgrzgRA0455kAL2u=#@B2Jnr5=K(dRzp#x# zgu`4`eBjXFKI>Cs&#n9(CKz^4Dl9Lp3pxtOmsr~qV>`Z@ysD!M!Tk^kil|cZ%kZnE{-lmq)Vqs}H)5F<~!#R2BiGjk0z$p#-k5@5h3M ztpard9;M=G964q8k*2|&-5Cc_KvcST?%^4H*xdvks_%^_r$O2U_$cDD98T6vbPf)( zh6D_-_qQR{k@;Pow{PFhZx-NGFnw$1{9<9>Ft^5ud5L-9eoZhY+@-+H@{{a8@CRX_)SOZmHbT~n&4Qq7j>)fsN z!%a$n)Ee8(0o+vPnD>WR1Awe;&XWbdB=NyYAbqQYD?#k6P>%Bk4B%k}wKwp*^9D6^ z2(;5xv9UYA`*4&71mE8&v!vrTh%WVer+%`Pyvm2PXI`UVL#Xfy>oyi{q)TzZ(F!yv z(3yo!?K*;A$}+FIoE!Q0X~<+if2pw~um!-Xp^g)7w8A?AnD`zAs||7iKIv5D@}*(A0Q#9zT$30PP0lW>hR#=G0vi8*z*<_G%bv7=_@U6WrkX$p(%DZN%*p zM}uT`;LN;*gLb0n4W{5wBGS+B$byLgyB?z2H6ZuMIVVKiNGH~0u4waQE`P~Jck0ZCb~6A(^E0gWda8TsjX} zp_g#L2NY;RVB{_rxY4x03npSD!2$7?jMoSpxxwTpQ35Dr!FHhZD4}DXfE)>U3}{)? za$>>*Lp>W$hhwFHKtml0X6CJOP%RewFfcO{jsS<4r=XlqY+E7cZ`{C39s>(7-!7$e zf=XT_B+yh;DzcERKm>{nv1U+^2-6ba!%-BroKX4D;}S0i99!ZeG3O!Y!P#q3Xc}W- zgrApn7J@5)E|2V(94{QR57!G-rlcyS=Ruf zd;}Lvg%toj3-|`IArD!&+E3T90qGn-id(DHFAeGO(&E2Qyn3_j+9jjRp1UG4N>p02 zh#aV#VQb?deIkGe!|ie==i{u6mfS=3wx_v1nvPGHJRn_k&`WwTjQP=`rO-JPBHBh3 zR8{F~&--uQ6<#N^8iIIhJ+K=cQ3Ko1F@UTt`W)mC;N#hEJgy_Nml%%Qi?&<|`mtq| zV_v%?YvY68bJ0P9I^GS|?naSHs~Z^HiQn)5&kCzw-cz&kc9due zybR|>#$&bsOcrSgoStSYtu+-x-d-S|d*%)jS`E<1^U1taE{)5{jYr||!U`51q)VaT z0xPNlxQnAX9)1Nbf!WvWq?wq+Pv(kIs`gSn0|WU%v6@H}!XQzo4^TZU;crIJ$uBuQ z>LXQ-a*t1)iQpgXBRi!nN6vN?9V`?y*~n5+;1)T%E`IfbV4=Oh@IWu;yBC`tH8Rgk zG7K_TrJ>ZWS$xxON*gtYC`S1I)*2VvE-H%=bqp z7csjz!Ogg$*JoXGj4vgxjL!?*p5^UP&3E0uVL;q(fBqrxDg2&ALaZm~k3b=(1(sTJ zzes=`_FI;HFICkJF>p2eRv!TEM(c$eaVV$FN}|7nIa{y0(t=GY(?!I~{1q zx9ekgqjLCId<%@Esu4Mmo<+(-;v-$O;?f;l_U1g>`$MLi64lVp&!4vFV^BEokLe{S z{J0g~8zh*?plI(IRcB4&)h&hDN!?*Lx&~D)ak4HzrJvdMVc^qHbj^)~6_FIFy*TQw z-mtptHF4a4`6D6ZL@&eQUd~sB)#VA1dx}aE3Mq^pK$l*v=Ac#zDI)Jr3Az&#`J!$$ z)HU>;&A8OBf$s@A#viqYP;JX_(84?We>S@lzT z)dn(;gR&v>cZ?1(x)@k)vlAR8@`BTEjIRN_)`Ai)XU`>W>>@u&a5US?Zws)9K#l~m z%7TGA61LkUnKmf6n``l%`FL2J5@s7m&iPR%et5e<+>?)TelxbJ!B-6Dt10;T`VA|u zo?M_J`=y)Rh@@ogEg5 ze*uX%^xlcB!9gFmH!&!l_>F5izFKqbA?4nyuc|3cjO|!KSA60GA-t{*^oOE8TW`BZ zW6JN`m5rD&$nk9}isXrZ<;~Ib*-)~IsD}~8-NulPHP(qB+ZB0|efV;X$7kf_L4eVk zt9c^CfwUHH6K7JD7w)}80-fwerau(aLb`6@X*QI-0sZ;;CaJZOgUOBDt+$H%ZT3Wk z5ZTd1Z7B_SEikP#vJ+r&=CM5#T8tL3{M`0-_%j)?7}es_W)0Ac<@8VW$aaKg`)1h6 zapnq=o4*jX7Vh!F*P%9Xo1Q?SeXD1CUneq=whFr0(wWTqA>WlBr3!+saJC**Oi!?H zk|f_m-jRF`zS{bHkPp(G4c-?Q7r1m^2y5a*5}sn-zieI;Rwst`u%z7^ zuO-W}HThN%t|DlUB2pmouIB;|EQ`yzOe*<$AML9#6O)A9u9fip0Nt}!niu$e+j~-* zeCYX^pN64zM}-#ObAQ$}PQ8M6-)t8*;`L5_CD^7%)G1b;YXa?N&%=Vb!>1GNWcd|U4} zYfQ$tnpQSY_nW54Vc8`Q)HV(Tp0~MEHL~CIcJKOepVQRId>vmfMmckDoi^oA`rHTl zJ!QfCZ0dLV%xQEnjyb0Bg5$LchkqXAxTv%LerC<>t>Y8s zRaWt5OBUWQ9}7tn14FwiN}?YT`!wCsbaoB^oZWFBpX)AdH#Yf$nxcifVudw&@z)N` zSw8iM3SrZDG#v6~^3~oL&|R|pe*9R-A}6VPfA$IezzcqWcAGc&!^Eq-df;Q*6?CeS i9UrOq5Z5Ob`WP+jy7gA-DddF(V6nq$d$Eag{Qm$Q*v|C; literal 0 HcmV?d00001 diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json new file mode 100644 index 0000000..16a5434 --- /dev/null +++ b/src/main/resources/fabric.mod.json @@ -0,0 +1,32 @@ +{ + "schemaVersion": 1, + "id": "packetfly-addon", + "version": "${version}", + + "name": "Meteor Packet Fly Addon", + "description": "A Packet Fly module for Meteor Client", + "authors": [ + "xolt" + ], + "contact": { + }, + + "license": "GPL-3.0", + "icon": "assets/packetfly/icon.png", + + "environment": "client", + "entrypoints": { + "meteor": [ + "net.xolt.addons.packetfly.PacketFlyAddon" + ] + }, + "mixins": [ + "packetfly.mixins.json" + ], + "depends": { + "fabricloader": ">=0.7.4", + "fabric": "*", + "minecraft": "1.16.x", + "meteor-client": "*" + } +} diff --git a/src/main/resources/packetfly.mixins.json b/src/main/resources/packetfly.mixins.json new file mode 100644 index 0000000..47f7bf5 --- /dev/null +++ b/src/main/resources/packetfly.mixins.json @@ -0,0 +1,12 @@ +{ + "required": true, + "package": "net.xolt.addons.packetfly.mixins", + "compatibilityLevel": "JAVA_8", + "client": [ + "ClientPlayerEntityMixin", + "EntityMixin" + ], + "injectors": { + "defaultRequire": 1 + } +}