mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper, Tuinity, & Airplane)
Upstream has released updates that appear to apply and compile correctly Paper Changes: bca97a8f7 replace spaces in world key (touches #5397) de94f6485 Refactor chat message composition (#5396) e27f334bb [CI-SKIP] Fix makemcdevsrc.sh for nms relocations (#5389) ae15e85da Updated Upstream (CraftBukkit) 26fe0ac5a Only set despawnTimer for Wandering Traders spawned by MobSpawnerTrader (#5391) b748eb7b8 Fix VanillaMobGoalTest#testBukkitMap (#5390) 18dbbb578 [Auto] Updated Upstream (CraftBukkit) fac9cc5d5 [CI-SKIP] Ignore .gitignore 087aa70e7 Deprecate ItemStack#setLore(List<String>) and ItemStack#getLore, add Component based alternatives 9889c651c apply fixup c310f0a61 Updated Upstream (Bukkit/CraftBukkit) f17560ab0 wtf is this t file -jmp 347f3a9b8 fix compile 700e9e6a5 rebase cf4dc464a Revert de5f4e469...c270abe96 6870db613 script & POM fix 743c6533c Replace ** with * (BSD/macOS) 376d7b097 Don't remove the .java fcb3fd42a Fix macOS/BSD support 8cfc05249 Link correctly ba1031ca7 Rename work dir c8d844ab7 Actually fix preloading this time e62aa5e3e Fix class preloading 1c03cf898 It's mojang math, not minecraft math 1034873df Apply fixups 39b125771 Use revision file 956150da7 Welcome to 1.16.5-R0.2 ccb217c01 Change cache keys 0d217001c more work f6d820f07 It compiles 0f78e9525 More work 1718f61bf Updated Upstream (CraftBukkit/Spigot) b28d46114 Update scripts for NMS repackaging Tuinity Changes: 9bdcb9b8e Delete work dir when running jar 6351d7ca7 Update Upstream (Paper) 932c199a6 Generate md-dev correctly bf3e73778 Make packet limiter work from IDE 1686f3861 Fix packet limiter config f40f7b425 Update README.md styling (#264) da1c3ace5 GH Actions Changes (#213) 5f325ecf1 Update Upstream (Paper) 0f83fe48d Update Upstream (Paper) Airplane Changes: f94d39947 Merge pull request #18 from notOM3GA/upstream/nms-repackage 0fc622631 Force build for Flare update 08439d6a9 Update Upstream (Tuinity)
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -58,3 +58,4 @@ mc-dev
|
|||||||
purpurclip.jar
|
purpurclip.jar
|
||||||
*clip.jar
|
*clip.jar
|
||||||
last-paper
|
last-paper
|
||||||
|
mcdevimports.conf
|
||||||
|
|||||||
2
Paper
2
Paper
Submodule Paper updated: d4532f7e70...bca97a8f73
@@ -52,3 +52,7 @@ subprojects {
|
|||||||
credentials(PasswordCredentials::class)
|
credentials(PasswordCredentials::class)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.withType<xyz.jpenilla.toothpick.task.ApplyPatches> {
|
||||||
|
applyCommand("am", "--no-3way", "--ignore-whitespace", "--reject", "-C0")
|
||||||
|
}
|
||||||
|
|||||||
30
mcdevimports.conf
Normal file
30
mcdevimports.conf
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# Extra mc-dev imports. Configure extra sources to import from NMS or decompiled libraries.
|
||||||
|
|
||||||
|
# Example library-imports
|
||||||
|
#
|
||||||
|
# library-imports=[
|
||||||
|
# {
|
||||||
|
# file=Bicontravariant
|
||||||
|
# group="com.mojang"
|
||||||
|
# library=datafixerupper
|
||||||
|
# prefix="com/mojang/datafixers/optics/profunctors"
|
||||||
|
# },
|
||||||
|
# {
|
||||||
|
# file=CommandSyntaxException
|
||||||
|
# group="com.mojang"
|
||||||
|
# library=brigadier
|
||||||
|
# prefix="com/mojang/brigadier/exceptions"
|
||||||
|
# }
|
||||||
|
# ]
|
||||||
|
library-imports=[]
|
||||||
|
# Example nms-imports
|
||||||
|
#
|
||||||
|
# nms-imports=[
|
||||||
|
# "com.mojang.math.Quaternion",
|
||||||
|
# "net.minecraft.network.syncher.DataWatcherRegistry",
|
||||||
|
# "net.minecraft.network.chat.IChatMutableComponent",
|
||||||
|
# "net.minecraft.network.protocol.game.PacketPlayOutAdvancements",
|
||||||
|
# "net.minecraft.world.entity.ai.goal.PathfinderGoalFishSchool",
|
||||||
|
# "net.minecraft.world.level.levelgen.feature.WorldGenFlowers"
|
||||||
|
# ]
|
||||||
|
nms-imports=[]
|
||||||
@@ -3,173 +3,9 @@ From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
|||||||
Date: Fri, 14 Dec 2018 21:52:29 -0800
|
Date: Fri, 14 Dec 2018 21:52:29 -0800
|
||||||
Subject: [PATCH] Tuinity API Changes
|
Subject: [PATCH] Tuinity API Changes
|
||||||
|
|
||||||
GNU LESSER GENERAL PUBLIC LICENSE
|
|
||||||
Version 3, 29 June 2007
|
|
||||||
|
|
||||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
This version of the GNU Lesser General Public License incorporates
|
|
||||||
the terms and conditions of version 3 of the GNU General Public
|
|
||||||
License, supplemented by the additional permissions listed below.
|
|
||||||
|
|
||||||
0. Additional Definitions.
|
|
||||||
|
|
||||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
|
||||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
|
||||||
General Public License.
|
|
||||||
|
|
||||||
"The Library" refers to a covered work governed by this License,
|
|
||||||
other than an Application or a Combined Work as defined below.
|
|
||||||
|
|
||||||
An "Application" is any work that makes use of an interface provided
|
|
||||||
by the Library, but which is not otherwise based on the Library.
|
|
||||||
Defining a subclass of a class defined by the Library is deemed a mode
|
|
||||||
of using an interface provided by the Library.
|
|
||||||
|
|
||||||
A "Combined Work" is a work produced by combining or linking an
|
|
||||||
Application with the Library. The particular version of the Library
|
|
||||||
with which the Combined Work was made is also called the "Linked
|
|
||||||
Version".
|
|
||||||
|
|
||||||
The "Minimal Corresponding Source" for a Combined Work means the
|
|
||||||
Corresponding Source for the Combined Work, excluding any source code
|
|
||||||
for portions of the Combined Work that, considered in isolation, are
|
|
||||||
based on the Application, and not on the Linked Version.
|
|
||||||
|
|
||||||
The "Corresponding Application Code" for a Combined Work means the
|
|
||||||
object code and/or source code for the Application, including any data
|
|
||||||
and utility programs needed for reproducing the Combined Work from the
|
|
||||||
Application, but excluding the System Libraries of the Combined Work.
|
|
||||||
|
|
||||||
1. Exception to Section 3 of the GNU GPL.
|
|
||||||
|
|
||||||
You may convey a covered work under sections 3 and 4 of this License
|
|
||||||
without being bound by section 3 of the GNU GPL.
|
|
||||||
|
|
||||||
2. Conveying Modified Versions.
|
|
||||||
|
|
||||||
If you modify a copy of the Library, and, in your modifications, a
|
|
||||||
facility refers to a function or data to be supplied by an Application
|
|
||||||
that uses the facility (other than as an argument passed when the
|
|
||||||
facility is invoked), then you may convey a copy of the modified
|
|
||||||
version:
|
|
||||||
|
|
||||||
a) under this License, provided that you make a good faith effort to
|
|
||||||
ensure that, in the event an Application does not supply the
|
|
||||||
function or data, the facility still operates, and performs
|
|
||||||
whatever part of its purpose remains meaningful, or
|
|
||||||
|
|
||||||
b) under the GNU GPL, with none of the additional permissions of
|
|
||||||
this License applicable to that copy.
|
|
||||||
|
|
||||||
3. Object Code Incorporating Material from Library Header Files.
|
|
||||||
|
|
||||||
The object code form of an Application may incorporate material from
|
|
||||||
a header file that is part of the Library. You may convey such object
|
|
||||||
code under terms of your choice, provided that, if the incorporated
|
|
||||||
material is not limited to numerical parameters, data structure
|
|
||||||
layouts and accessors, or small macros, inline functions and templates
|
|
||||||
(ten or fewer lines in length), you do both of the following:
|
|
||||||
|
|
||||||
a) Give prominent notice with each copy of the object code that the
|
|
||||||
Library is used in it and that the Library and its use are
|
|
||||||
covered by this License.
|
|
||||||
|
|
||||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
|
||||||
document.
|
|
||||||
|
|
||||||
4. Combined Works.
|
|
||||||
|
|
||||||
You may convey a Combined Work under terms of your choice that,
|
|
||||||
taken together, effectively do not restrict modification of the
|
|
||||||
portions of the Library contained in the Combined Work and reverse
|
|
||||||
engineering for debugging such modifications, if you also do each of
|
|
||||||
the following:
|
|
||||||
|
|
||||||
a) Give prominent notice with each copy of the Combined Work that
|
|
||||||
the Library is used in it and that the Library and its use are
|
|
||||||
covered by this License.
|
|
||||||
|
|
||||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
|
||||||
document.
|
|
||||||
|
|
||||||
c) For a Combined Work that displays copyright notices during
|
|
||||||
execution, include the copyright notice for the Library among
|
|
||||||
these notices, as well as a reference directing the user to the
|
|
||||||
copies of the GNU GPL and this license document.
|
|
||||||
|
|
||||||
d) Do one of the following:
|
|
||||||
|
|
||||||
0) Convey the Minimal Corresponding Source under the terms of this
|
|
||||||
License, and the Corresponding Application Code in a form
|
|
||||||
suitable for, and under terms that permit, the user to
|
|
||||||
recombine or relink the Application with a modified version of
|
|
||||||
the Linked Version to produce a modified Combined Work, in the
|
|
||||||
manner specified by section 6 of the GNU GPL for conveying
|
|
||||||
Corresponding Source.
|
|
||||||
|
|
||||||
1) Use a suitable shared library mechanism for linking with the
|
|
||||||
Library. A suitable mechanism is one that (a) uses at run time
|
|
||||||
a copy of the Library already present on the user's computer
|
|
||||||
system, and (b) will operate properly with a modified version
|
|
||||||
of the Library that is interface-compatible with the Linked
|
|
||||||
Version.
|
|
||||||
|
|
||||||
e) Provide Installation Information, but only if you would otherwise
|
|
||||||
be required to provide such information under section 6 of the
|
|
||||||
GNU GPL, and only to the extent that such information is
|
|
||||||
necessary to install and execute a modified version of the
|
|
||||||
Combined Work produced by recombining or relinking the
|
|
||||||
Application with a modified version of the Linked Version. (If
|
|
||||||
you use option 4d0, the Installation Information must accompany
|
|
||||||
the Minimal Corresponding Source and Corresponding Application
|
|
||||||
Code. If you use option 4d1, you must provide the Installation
|
|
||||||
Information in the manner specified by section 6 of the GNU GPL
|
|
||||||
for conveying Corresponding Source.)
|
|
||||||
|
|
||||||
5. Combined Libraries.
|
|
||||||
|
|
||||||
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 that are not Applications and are not covered by this
|
|
||||||
License, and convey such a combined library under terms of your
|
|
||||||
choice, if you do both of the following:
|
|
||||||
|
|
||||||
a) Accompany the combined library with a copy of the same work based
|
|
||||||
on the Library, uncombined with any other library facilities,
|
|
||||||
conveyed under the terms of this License.
|
|
||||||
|
|
||||||
b) Give prominent notice with the combined library that part of it
|
|
||||||
is a work based on the Library, and explaining where to find the
|
|
||||||
accompanying uncombined form of the same work.
|
|
||||||
|
|
||||||
6. Revised Versions of the GNU Lesser General Public License.
|
|
||||||
|
|
||||||
The Free Software Foundation may publish revised and/or new versions
|
|
||||||
of the GNU 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 as you received it specifies that a certain numbered version
|
|
||||||
of the GNU Lesser General Public License "or any later version"
|
|
||||||
applies to it, you have the option of following the terms and
|
|
||||||
conditions either of that published version or of any later version
|
|
||||||
published by the Free Software Foundation. If the Library as you
|
|
||||||
received it does not specify a version number of the GNU Lesser
|
|
||||||
General Public License, you may choose any version of the GNU Lesser
|
|
||||||
General Public License ever published by the Free Software Foundation.
|
|
||||||
|
|
||||||
If the Library as you received it specifies that a proxy can decide
|
|
||||||
whether future versions of the GNU Lesser General Public License shall
|
|
||||||
apply, that proxy's public statement of acceptance of any version is
|
|
||||||
permanent authorization for you to choose that version for the
|
|
||||||
Library.
|
|
||||||
|
|
||||||
diff --git a/pom.xml b/pom.xml
|
diff --git a/pom.xml b/pom.xml
|
||||||
index bba9d7a8a61018f2fc8b9059ad012d43810599dc..feaa36dc9a113c5b0c45eed2c3b8a3d10e8b4ca7 100644
|
index e66661eb84308dc13faa0d39b7487f40c1180443..6c200882954adc4831307f3d6dfa3202571fb30b 100644
|
||||||
--- a/pom.xml
|
--- a/pom.xml
|
||||||
+++ b/pom.xml
|
+++ b/pom.xml
|
||||||
@@ -3,18 +3,18 @@
|
@@ -3,18 +3,18 @@
|
||||||
|
|||||||
@@ -3,627 +3,6 @@ From: Paul Sauve <paul@technove.co>
|
|||||||
Date: Sat, 19 Dec 2020 19:06:37 -0600
|
Date: Sat, 19 Dec 2020 19:06:37 -0600
|
||||||
Subject: [PATCH] Airplane API Changes
|
Subject: [PATCH] Airplane API Changes
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
Version 3, 29 June 2007
|
|
||||||
|
|
||||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
|
||||||
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
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||||
index 7760be3e34fa20825faf145d9fb5b2855c1a4602..79d839034d38c941745c6b91f973f908d6cdb8ee 100644
|
index 7760be3e34fa20825faf145d9fb5b2855c1a4602..79d839034d38c941745c6b91f973f908d6cdb8ee 100644
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Player invulnerabilities
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||||
index 023ca23e8c91a6525cc31d483d873dfe14e97da3..88bda8c25ad746ccc584c7d490bd3257a74a6a20 100644
|
index 023ca23e8c91a6525cc31d483d873dfe14e97da3..3dd208c763a71f4211b89a32a936a2317555f265 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
@@ -2136,5 +2136,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
@@ -2136,5 +2136,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ index 0a31a5321ac519568db936c94394f71b2e2fcec1..42a77a5f5b8968351a737cb1fd7cebf1
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
|
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||||
index 878f09d5e587bc4bd70443fbdb89dac29e5a538d..f0c17f1342d9c70cb4fe1fc46dd8b9006037e860 100644
|
index 58f99e3ebac9a01ebffe4d208e16cbee474d4aa3..314658c7dac1b1fbb440ec85133e6670e52ba684 100644
|
||||||
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
|
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||||
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
|
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||||
@@ -17,6 +17,18 @@ import org.bukkit.inventory.meta.ItemMeta;
|
@@ -17,6 +17,18 @@ import org.bukkit.inventory.meta.ItemMeta;
|
||||||
@@ -68,7 +68,7 @@ index 878f09d5e587bc4bd70443fbdb89dac29e5a538d..f0c17f1342d9c70cb4fe1fc46dd8b900
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a stack of items.
|
* Represents a stack of items.
|
||||||
@@ -810,4 +822,627 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor
|
@@ -843,4 +855,627 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor
|
||||||
return itemMeta != null && itemMeta.hasItemFlag(flag);
|
return itemMeta != null && itemMeta.hasItemFlag(flag);
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity#broadcastItemBreak
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
index 4ccbb3ef3c597ef9da2c6744f410283a1dc2538c..50c26609aadf8d4a51cd81cc0c8952e4cfeee738 100644
|
index 4ccbb3ef3c597ef9da2c6744f410283a1dc2538c..42811d18ff304082f74f45794344891208599c04 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||||
@@ -865,5 +865,12 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
@@ -865,5 +865,12 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Item entity immunities
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Item.java b/src/main/java/org/bukkit/entity/Item.java
|
diff --git a/src/main/java/org/bukkit/entity/Item.java b/src/main/java/org/bukkit/entity/Item.java
|
||||||
index 0ee072645ecf1bf5feb74de6960947ef76db366e..cf3eb7a57e28a76c40e5efa192204766fc037bf5 100644
|
index 0ee072645ecf1bf5feb74de6960947ef76db366e..69dae9157053c521a9e2bbdd7f89c17fc8d24840 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Item.java
|
--- a/src/main/java/org/bukkit/entity/Item.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Item.java
|
+++ b/src/main/java/org/bukkit/entity/Item.java
|
||||||
@@ -120,4 +120,48 @@ public interface Item extends Entity {
|
@@ -120,4 +120,48 @@ public interface Item extends Entity {
|
||||||
|
|||||||
@@ -419,6 +419,37 @@ index 5bb677ce585b856b3d3e589e29786a29619c56a7..613f00fa387dcc5af3191e550dea9d4d
|
|||||||
public class CachedSizeConcurrentLinkedQueue<E> extends ConcurrentLinkedQueue<E> {
|
public class CachedSizeConcurrentLinkedQueue<E> extends ConcurrentLinkedQueue<E> {
|
||||||
private final LongAdder cachedSize = new LongAdder();
|
private final LongAdder cachedSize = new LongAdder();
|
||||||
|
|
||||||
|
diff --git a/src/main/java/io/papermc/paper/event/player/AsyncChatEvent.java b/src/main/java/io/papermc/paper/event/player/AsyncChatEvent.java
|
||||||
|
index a0f748957f4472103dd27fc95a711a42de7fae89..c66b49f05be7a9cc26ba595829d7751d38aebeb1 100644
|
||||||
|
--- a/src/main/java/io/papermc/paper/event/player/AsyncChatEvent.java
|
||||||
|
+++ b/src/main/java/io/papermc/paper/event/player/AsyncChatEvent.java
|
||||||
|
@@ -19,6 +19,11 @@ public final class AsyncChatEvent extends AbstractChatEvent {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
+ * @param async Async
|
||||||
|
+ * @param player Player
|
||||||
|
+ * @param recipients Recipients
|
||||||
|
+ * @param formatter Formatter
|
||||||
|
+ * @param message Message
|
||||||
|
* @deprecated use {@link #AsyncChatEvent(boolean, Player, Set, ChatComposer, Component)}
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
diff --git a/src/main/java/io/papermc/paper/event/player/ChatEvent.java b/src/main/java/io/papermc/paper/event/player/ChatEvent.java
|
||||||
|
index 13c5df5fb8ce1d0203d99e88dd691019146a8f52..558d6531e9c06e25369074932fd9f0ab00e9e2c8 100644
|
||||||
|
--- a/src/main/java/io/papermc/paper/event/player/ChatEvent.java
|
||||||
|
+++ b/src/main/java/io/papermc/paper/event/player/ChatEvent.java
|
||||||
|
@@ -24,6 +24,10 @@ public final class ChatEvent extends AbstractChatEvent {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
+ * @param player Player
|
||||||
|
+ * @param recipients Recipients
|
||||||
|
+ * @param formatter Formatter
|
||||||
|
+ * @param message Message
|
||||||
|
* @deprecated use {@link #ChatEvent(Player, Set, ChatComposer, Component)}
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
diff --git a/src/main/java/io/papermc/paper/inventory/ItemRarity.java b/src/main/java/io/papermc/paper/inventory/ItemRarity.java
|
diff --git a/src/main/java/io/papermc/paper/inventory/ItemRarity.java b/src/main/java/io/papermc/paper/inventory/ItemRarity.java
|
||||||
index 74ef8395cc040ce488c2acaa416db20272cc2734..b974627a415cd6897b245275e953cc907a5929d8 100644
|
index 74ef8395cc040ce488c2acaa416db20272cc2734..b974627a415cd6897b245275e953cc907a5929d8 100644
|
||||||
--- a/src/main/java/io/papermc/paper/inventory/ItemRarity.java
|
--- a/src/main/java/io/papermc/paper/inventory/ItemRarity.java
|
||||||
@@ -566,7 +597,7 @@ index afb7b136b461202026290624836446cff9f9e45d..087579fdff09237409c9f80446e7a15a
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
diff --git a/src/main/java/org/bukkit/WorldCreator.java b/src/main/java/org/bukkit/WorldCreator.java
|
diff --git a/src/main/java/org/bukkit/WorldCreator.java b/src/main/java/org/bukkit/WorldCreator.java
|
||||||
index 1d93a6c42d6c93ffd50c6054e74f3ff75d745b58..0dc013530b39618a7282a094b0bdb4c024f23712 100644
|
index e6a83252f42da31ad38f8dc1beccc7aa2c3f54b8..f3b107210473f1707b051c15771ce3bf2a62f171 100644
|
||||||
--- a/src/main/java/org/bukkit/WorldCreator.java
|
--- a/src/main/java/org/bukkit/WorldCreator.java
|
||||||
+++ b/src/main/java/org/bukkit/WorldCreator.java
|
+++ b/src/main/java/org/bukkit/WorldCreator.java
|
||||||
@@ -71,6 +71,8 @@ public class WorldCreator {
|
@@ -71,6 +71,8 @@ public class WorldCreator {
|
||||||
@@ -963,7 +994,7 @@ index a6a7429ed2e1eefb2b12b7480ed74fcc3963a864..e8027e1d505dda6effbb1698550016e8
|
|||||||
|
|
||||||
NORMAL(false),
|
NORMAL(false),
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||||
index 88bda8c25ad746ccc584c7d490bd3257a74a6a20..1f667efd4b9bf00c0be8707849a6927483aef7ca 100644
|
index 3dd208c763a71f4211b89a32a936a2317555f265..2ed61f79fc7a625d00b86ee434d591232518ca3c 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
@@ -1938,6 +1938,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
@@ -1938,6 +1938,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ index 6ea9b54d95d80070c01a612c0ce2ab37f0b4ad41..fe9ec9cb7875df4a40d1c4155e13cca9
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||||
index 1f667efd4b9bf00c0be8707849a6927483aef7ca..3821db949b890434857cbc8469f9416056f01093 100644
|
index 2ed61f79fc7a625d00b86ee434d591232518ca3c..c0b75477ab8af71e73b37a66568693a84c5bce74 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
@@ -72,7 +72,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
@@ -72,7 +72,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/pom.xml b/pom.xml
|
diff --git a/pom.xml b/pom.xml
|
||||||
index 1c8ff351df082c4afe8c722b3132e4446e9b42e7..37569029a241a7b3439325392e21a35b719a0067 100644
|
index fc2c3714b6c772d67e258be269aa92dda80cdb12..cf6e53e9f483d21b17e2782816be4403fa5be717 100644
|
||||||
--- a/pom.xml
|
--- a/pom.xml
|
||||||
+++ b/pom.xml
|
+++ b/pom.xml
|
||||||
@@ -27,8 +27,10 @@
|
@@ -27,8 +27,10 @@
|
||||||
@@ -22,7 +22,7 @@ index 1c8ff351df082c4afe8c722b3132e4446e9b42e7..37569029a241a7b3439325392e21a35b
|
|||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||||
index 74ed02fa9296583977bb721014b10ff8b708b43c..c1280478ee4565003883df9607d4a8a0e8fe4faa 100644
|
index 89eeb9d202405747409e65fcf226d95379987e29..4d9e685c691a37078ff7452e50ab8c13999dbe10 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
--- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
+++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||||
@@ -17,7 +17,7 @@ public final class PaperConsole extends SimpleTerminalConsole {
|
@@ -17,7 +17,7 @@ public final class PaperConsole extends SimpleTerminalConsole {
|
||||||
@@ -47,10 +47,10 @@ index f4976428bc721319d2926e97cbe0f64c6e9e503c..044ad28bd1fd1c1e25061f9f811fc10b
|
|||||||
};
|
};
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EULA.java b/src/main/java/net/minecraft/server/EULA.java
|
diff --git a/src/main/java/net/minecraft/server/EULA.java b/src/main/java/net/minecraft/server/EULA.java
|
||||||
index 229c3b0f0c650b501f31147adaa17194af57fedd..f88cf526d272fe47b5a474c0b344b748ee4009fa 100644
|
index 3bc5cd1e53dd7c94b948e7f57f0dc8e073e349b0..87891161f5b06bb8be0e2016b490484e6daca9d7 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EULA.java
|
--- a/src/main/java/net/minecraft/server/EULA.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EULA.java
|
+++ b/src/main/java/net/minecraft/server/EULA.java
|
||||||
@@ -70,7 +70,7 @@ public class EULA {
|
@@ -72,7 +72,7 @@ public class EULA {
|
||||||
Properties properties = new Properties();
|
Properties properties = new Properties();
|
||||||
|
|
||||||
properties.setProperty("eula", "false");
|
properties.setProperty("eula", "false");
|
||||||
@@ -60,10 +60,10 @@ index 229c3b0f0c650b501f31147adaa17194af57fedd..f88cf526d272fe47b5a474c0b344b748
|
|||||||
throwable = throwable1;
|
throwable = throwable1;
|
||||||
throw throwable1;
|
throw throwable1;
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index ec6ef20e93af2298bdb3953b15e1ec24e8c72261..576a344b8bd66d69e3fd438b254f772b678471ba 100644
|
index 7cbbc1b1161f26f22a7f7832395af0d4a781cb1a..9301d93ffb5a961cb68a5c37c30b656087c1b45c 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1524,7 +1524,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1636,7 +1636,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getServerModName() {
|
public String getServerModName() {
|
||||||
@@ -198,7 +198,7 @@ index 0000000000000000000000000000000000000000..cabfcebf9f944f7a2a2a1cffc7401435
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index ea91e1a9b99a42c462befa8245dea029ea536e01..ffafb7d67f66a60a7d65cb353f24c5f9a9e15154 100644
|
index aec6c036ed42078a6cc3540f1f6e46a551e87a2f..f9913d7bd66935f975b756f31e26153ec160b3b1 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -232,7 +232,7 @@ import javax.annotation.Nullable; // Paper
|
@@ -232,7 +232,7 @@ import javax.annotation.Nullable; // Paper
|
||||||
@@ -211,7 +211,7 @@ index ea91e1a9b99a42c462befa8245dea029ea536e01..ffafb7d67f66a60a7d65cb353f24c5f9
|
|||||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||||
private final Logger logger = Logger.getLogger("Minecraft");
|
private final Logger logger = Logger.getLogger("Minecraft");
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
index 57d56ff1b41582f0d249b24165d5b08b02b0f9fe..81cff601a5161c30df90de3cefc18d72cd7ee347 100644
|
index 712a32c0b64dace1f3e3d6f8acb8cbef1736b1f9..eba28b9c5cb87dea09bf8430d253725f585f87b9 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
@@ -377,7 +377,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
@@ -377,7 +377,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||||
|
|||||||
@@ -44,11 +44,11 @@ index f39452535b2807a226ada095f5c21b19ea238e5c..ad7df9e8a2cfc6fe65b193adfb65c7b3
|
|||||||
try {
|
try {
|
||||||
config.save(CONFIG_FILE);
|
config.save(CONFIG_FILE);
|
||||||
} catch (IOException ex) {
|
} catch (IOException ex) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
index 665d2d03676fde8d7e7d09fef3fd9cc13110d98d..b8a45c80b6691214e513286262f31b7b5b1dd5eb 100644
|
index 24a46ad36613faa5f5a1a12b70f7af886e1608ae..28d47ef97939309ce26b6e4cae14925b510755fd 100644
|
||||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
@@ -173,6 +173,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
@@ -212,6 +212,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
com.destroystokyo.paper.PaperConfig.registerCommands();
|
com.destroystokyo.paper.PaperConfig.registerCommands();
|
||||||
@@ -64,11 +64,11 @@ index 665d2d03676fde8d7e7d09fef3fd9cc13110d98d..b8a45c80b6691214e513286262f31b7b
|
|||||||
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now
|
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now
|
||||||
// Paper end
|
// Paper end
|
||||||
com.tuinity.tuinity.config.TuinityConfig.init((java.io.File) options.valueOf("tuinity-settings")); // Tuinity - Server Config
|
com.tuinity.tuinity.config.TuinityConfig.init((java.io.File) options.valueOf("tuinity-settings")); // Tuinity - Server Config
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
|
||||||
index 996fa5b4652f847f4e64d4cd191fe5a597471afe..068d303853572519efc16bb9cd3b799e458e39e7 100644
|
index e3f1f20608cab7067674b2cdd2759a34902b6626..cef8e9b379c4205386d1001e86abc7dcb0b18eb6 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/world/level/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/world/level/World.java
|
||||||
@@ -95,6 +95,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
@@ -157,6 +157,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||||
public final ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
public final ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
||||||
|
|
||||||
public final com.tuinity.tuinity.config.TuinityConfig.WorldConfig tuinityConfig; // Tuinity - Server Config
|
public final com.tuinity.tuinity.config.TuinityConfig.WorldConfig tuinityConfig; // Tuinity - Server Config
|
||||||
@@ -76,14 +76,11 @@ index 996fa5b4652f847f4e64d4cd191fe5a597471afe..068d303853572519efc16bb9cd3b799e
|
|||||||
|
|
||||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||||
public static BlockPosition lastPhysicsProblem; // Spigot
|
public static BlockPosition lastPhysicsProblem; // Spigot
|
||||||
@@ -185,8 +186,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
@@ -249,6 +250,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||||
protected World(WorldDataMutable worlddatamutable, ResourceKey<World> resourcekey, final DimensionManager dimensionmanager, Supplier<GameProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper
|
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.WorldDataServer) worlddatamutable).getName(), this.spigotConfig); // Paper
|
||||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((WorldDataServer) worlddatamutable).getName()); // Spigot
|
this.chunkPacketBlockController = this.paperConfig.antiXray ? new ChunkPacketBlockControllerAntiXray(this, executor) : ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
|
||||||
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((WorldDataServer) worlddatamutable).getName(), this.spigotConfig); // Paper
|
this.tuinityConfig = new com.tuinity.tuinity.config.TuinityConfig.WorldConfig(((net.minecraft.world.level.storage.WorldDataServer)worlddatamutable).getName()); // Tuinity - Server Config
|
||||||
- this.chunkPacketBlockController = this.paperConfig.antiXray ? new ChunkPacketBlockControllerAntiXray(this, executor) : ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
|
+ this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((net.minecraft.world.level.storage.WorldDataServer)worlddatamutable).getName())); // Purpur
|
||||||
this.tuinityConfig = new com.tuinity.tuinity.config.TuinityConfig.WorldConfig(((WorldDataServer)worlddatamutable).getName()); // Tuinity - Server Config
|
|
||||||
+ this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((WorldDataServer)worlddatamutable).getName())); // Purpur
|
|
||||||
+ this.chunkPacketBlockController = this.paperConfig.antiXray ? new ChunkPacketBlockControllerAntiXray(this, executor) : ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
|
|
||||||
this.generator = gen;
|
this.generator = gen;
|
||||||
this.world = new CraftWorld((WorldServer) this, gen, env);
|
this.world = new CraftWorld((WorldServer) this, gen, env);
|
||||||
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||||
@@ -290,14 +287,14 @@ index 0000000000000000000000000000000000000000..361f7857e461578e90cb71e15027dada
|
|||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java
|
diff --git a/src/main/java/net/pl3x/purpur/command/PurpurCommand.java b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..4904be939c7a4b1d1583fd7b6232c930b79caba6
|
index 0000000000000000000000000000000000000000..536955124afaec5c8a070249c7432cb99bf43d67
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java
|
+++ b/src/main/java/net/pl3x/purpur/command/PurpurCommand.java
|
||||||
@@ -0,0 +1,65 @@
|
@@ -0,0 +1,65 @@
|
||||||
+package net.pl3x.purpur.command;
|
+package net.pl3x.purpur.command;
|
||||||
+
|
+
|
||||||
+import net.minecraft.server.MinecraftServer;
|
+import net.minecraft.server.MinecraftServer;
|
||||||
+import net.minecraft.server.WorldServer;
|
+import net.minecraft.server.level.WorldServer;
|
||||||
+import net.pl3x.purpur.PurpurConfig;
|
+import net.pl3x.purpur.PurpurConfig;
|
||||||
+import org.bukkit.ChatColor;
|
+import org.bukkit.ChatColor;
|
||||||
+import org.bukkit.Location;
|
+import org.bukkit.Location;
|
||||||
@@ -360,7 +357,7 @@ index 0000000000000000000000000000000000000000..4904be939c7a4b1d1583fd7b6232c930
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index ffafb7d67f66a60a7d65cb353f24c5f9a9e15154..e48298f9ca28be83c3441afd8a8f0a6033ae0781 100644
|
index f9913d7bd66935f975b756f31e26153ec160b3b1..3e0b92259ad00541a8da595a918275c1a5b2bc39 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -865,6 +865,7 @@ public final class CraftServer implements Server {
|
@@ -865,6 +865,7 @@ public final class CraftServer implements Server {
|
||||||
@@ -407,10 +404,10 @@ index ffafb7d67f66a60a7d65cb353f24c5f9a9e15154..e48298f9ca28be83c3441afd8a8f0a60
|
|||||||
public void restart() {
|
public void restart() {
|
||||||
org.spigotmc.RestartCommand.restart();
|
org.spigotmc.RestartCommand.restart();
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
index 0f6cb508a170360b6479f9c34048412453fbb89d..a92721dff5c2a9a2a167b36c23d1ef22d2bbd3e1 100644
|
index 2774abda3dd1390ae904bf2b177bdd0f11968f40..d28088d510a4a40f3948f224a40a63de4645fa42 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
@@ -146,6 +146,14 @@ public class Main {
|
@@ -148,6 +148,14 @@ public class Main {
|
||||||
.describedAs("Yml file");
|
.describedAs("Yml file");
|
||||||
/* Conctete End - Server Config */
|
/* Conctete End - Server Config */
|
||||||
|
|
||||||
|
|||||||
@@ -4,43 +4,11 @@ Date: Thu, 23 May 2019 21:50:37 -0500
|
|||||||
Subject: [PATCH] Barrels and enderchests 6 rows
|
Subject: [PATCH] Barrels and enderchests 6 rows
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/BlockEnderChest.java b/src/main/java/net/minecraft/server/BlockEnderChest.java
|
diff --git a/src/main/java/net/minecraft/world/inventory/InventoryEnderChest.java b/src/main/java/net/minecraft/world/inventory/InventoryEnderChest.java
|
||||||
index 896d99d404419fef5bdf6f9083e07dfc978f4e67..9ab8336df4f1702e9cabefb63f279034fdd57486 100644
|
index 85b9eba1dba3de69ab65b0e1c5ebb8740ce6e9e5..97f6ba97a4b2a35c0b8a003e1e27ad38831d859d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BlockEnderChest.java
|
--- a/src/main/java/net/minecraft/world/inventory/InventoryEnderChest.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BlockEnderChest.java
|
+++ b/src/main/java/net/minecraft/world/inventory/InventoryEnderChest.java
|
||||||
@@ -48,6 +48,27 @@ public class BlockEnderChest extends BlockChestAbstract<TileEntityEnderChest> im
|
@@ -28,11 +28,34 @@ public class InventoryEnderChest extends InventorySubcontainer {
|
||||||
|
|
||||||
inventoryenderchest.a(tileentityenderchest);
|
|
||||||
entityhuman.openContainer(new TileInventory((i, playerinventory, entityhuman1) -> {
|
|
||||||
+ // Purpur start
|
|
||||||
+ if (net.pl3x.purpur.PurpurConfig.enderChestSixRows) {
|
|
||||||
+ if (net.pl3x.purpur.PurpurConfig.enderChestPermissionRows) {
|
|
||||||
+ org.bukkit.craftbukkit.entity.CraftHumanEntity player = entityhuman.getBukkitEntity();
|
|
||||||
+ if (player.hasPermission("purpur.enderchest.rows.six")) {
|
|
||||||
+ return new ContainerChest(Containers.GENERIC_9X6, i, playerinventory, inventoryenderchest, 6);
|
|
||||||
+ } else if (player.hasPermission("purpur.enderchest.rows.five")) {
|
|
||||||
+ return new ContainerChest(Containers.GENERIC_9X5, i, playerinventory, inventoryenderchest, 5);
|
|
||||||
+ } else if (player.hasPermission("purpur.enderchest.rows.four")) {
|
|
||||||
+ return new ContainerChest(Containers.GENERIC_9X4, i, playerinventory, inventoryenderchest, 4);
|
|
||||||
+ } else if (player.hasPermission("purpur.enderchest.rows.three")) {
|
|
||||||
+ return new ContainerChest(Containers.GENERIC_9X3, i, playerinventory, inventoryenderchest, 3);
|
|
||||||
+ } else if (player.hasPermission("purpur.enderchest.rows.two")) {
|
|
||||||
+ return new ContainerChest(Containers.GENERIC_9X2, i, playerinventory, inventoryenderchest, 2);
|
|
||||||
+ } else if (player.hasPermission("purpur.enderchest.rows.one")) {
|
|
||||||
+ return new ContainerChest(Containers.GENERIC_9X1, i, playerinventory, inventoryenderchest, 1);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return new ContainerChest(Containers.GENERIC_9X6, i, playerinventory, inventoryenderchest, 6);
|
|
||||||
+ }
|
|
||||||
+ // Purpur end
|
|
||||||
return ContainerChest.a(i, playerinventory, inventoryenderchest);
|
|
||||||
}, BlockEnderChest.e));
|
|
||||||
entityhuman.a(StatisticList.OPEN_ENDERCHEST);
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/InventoryEnderChest.java b/src/main/java/net/minecraft/server/InventoryEnderChest.java
|
|
||||||
index 8e167a664431b48875a7466be3a440eae089092b..df11848a03d2c08e935624e46489a62bc56de1da 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/InventoryEnderChest.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/InventoryEnderChest.java
|
|
||||||
@@ -21,11 +21,34 @@ public class InventoryEnderChest extends InventorySubcontainer {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public InventoryEnderChest(EntityHuman owner) {
|
public InventoryEnderChest(EntityHuman owner) {
|
||||||
@@ -76,11 +44,59 @@ index 8e167a664431b48875a7466be3a440eae089092b..df11848a03d2c08e935624e46489a62b
|
|||||||
public void a(TileEntityEnderChest tileentityenderchest) {
|
public void a(TileEntityEnderChest tileentityenderchest) {
|
||||||
this.a = tileentityenderchest;
|
this.a = tileentityenderchest;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/TileEntityBarrel.java b/src/main/java/net/minecraft/server/TileEntityBarrel.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/BlockEnderChest.java b/src/main/java/net/minecraft/world/level/block/BlockEnderChest.java
|
||||||
index 31d0b40fb7b30b89be1aa923c54af77e40b90b19..e5703b7d37c5f37c850328e9c8bf186d15934bdb 100644
|
index 70d10c492b6ba893d56a463c0e71ac6aa8707f81..34ea9d2aeb9d606d487be796283c9d5ed614a6af 100644
|
||||||
--- a/src/main/java/net/minecraft/server/TileEntityBarrel.java
|
--- a/src/main/java/net/minecraft/world/level/block/BlockEnderChest.java
|
||||||
+++ b/src/main/java/net/minecraft/server/TileEntityBarrel.java
|
+++ b/src/main/java/net/minecraft/world/level/block/BlockEnderChest.java
|
||||||
@@ -49,7 +49,7 @@ public class TileEntityBarrel extends TileEntityLootable {
|
@@ -11,6 +11,7 @@ import net.minecraft.world.TileInventory;
|
||||||
|
import net.minecraft.world.entity.monster.piglin.PiglinAI;
|
||||||
|
import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
import net.minecraft.world.inventory.ContainerChest;
|
||||||
|
+import net.minecraft.world.inventory.Containers;
|
||||||
|
import net.minecraft.world.inventory.InventoryEnderChest;
|
||||||
|
import net.minecraft.world.item.context.BlockActionContext;
|
||||||
|
import net.minecraft.world.level.GeneratorAccess;
|
||||||
|
@@ -81,6 +82,27 @@ public class BlockEnderChest extends BlockChestAbstract<TileEntityEnderChest> im
|
||||||
|
|
||||||
|
inventoryenderchest.a(tileentityenderchest);
|
||||||
|
entityhuman.openContainer(new TileInventory((i, playerinventory, entityhuman1) -> {
|
||||||
|
+ // Purpur start
|
||||||
|
+ if (net.pl3x.purpur.PurpurConfig.enderChestSixRows) {
|
||||||
|
+ if (net.pl3x.purpur.PurpurConfig.enderChestPermissionRows) {
|
||||||
|
+ org.bukkit.craftbukkit.entity.CraftHumanEntity player = entityhuman.getBukkitEntity();
|
||||||
|
+ if (player.hasPermission("purpur.enderchest.rows.six")) {
|
||||||
|
+ return new ContainerChest(Containers.GENERIC_9X6, i, playerinventory, inventoryenderchest, 6);
|
||||||
|
+ } else if (player.hasPermission("purpur.enderchest.rows.five")) {
|
||||||
|
+ return new ContainerChest(Containers.GENERIC_9X5, i, playerinventory, inventoryenderchest, 5);
|
||||||
|
+ } else if (player.hasPermission("purpur.enderchest.rows.four")) {
|
||||||
|
+ return new ContainerChest(Containers.GENERIC_9X4, i, playerinventory, inventoryenderchest, 4);
|
||||||
|
+ } else if (player.hasPermission("purpur.enderchest.rows.three")) {
|
||||||
|
+ return new ContainerChest(Containers.GENERIC_9X3, i, playerinventory, inventoryenderchest, 3);
|
||||||
|
+ } else if (player.hasPermission("purpur.enderchest.rows.two")) {
|
||||||
|
+ return new ContainerChest(Containers.GENERIC_9X2, i, playerinventory, inventoryenderchest, 2);
|
||||||
|
+ } else if (player.hasPermission("purpur.enderchest.rows.one")) {
|
||||||
|
+ return new ContainerChest(Containers.GENERIC_9X1, i, playerinventory, inventoryenderchest, 1);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ return new ContainerChest(Containers.GENERIC_9X6, i, playerinventory, inventoryenderchest, 6);
|
||||||
|
+ }
|
||||||
|
+ // Purpur end
|
||||||
|
return ContainerChest.a(i, playerinventory, inventoryenderchest);
|
||||||
|
}, BlockEnderChest.e));
|
||||||
|
entityhuman.a(StatisticList.OPEN_ENDERCHEST);
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntityBarrel.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntityBarrel.java
|
||||||
|
index 7a6f150490bc3ef8a5ed43c401fd70bcc67f40f0..449d2c38abdd35b782a6732006eebb381815bcba 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/block/entity/TileEntityBarrel.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/block/entity/TileEntityBarrel.java
|
||||||
|
@@ -14,6 +14,7 @@ import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
import net.minecraft.world.entity.player.PlayerInventory;
|
||||||
|
import net.minecraft.world.inventory.Container;
|
||||||
|
import net.minecraft.world.inventory.ContainerChest;
|
||||||
|
+import net.minecraft.world.inventory.Containers;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.level.block.BlockBarrel;
|
||||||
|
import net.minecraft.world.level.block.Blocks;
|
||||||
|
@@ -68,7 +69,7 @@ public class TileEntityBarrel extends TileEntityLootable {
|
||||||
|
|
||||||
private TileEntityBarrel(TileEntityTypes<?> tileentitytypes) {
|
private TileEntityBarrel(TileEntityTypes<?> tileentitytypes) {
|
||||||
super(tileentitytypes);
|
super(tileentitytypes);
|
||||||
@@ -89,7 +105,7 @@ index 31d0b40fb7b30b89be1aa923c54af77e40b90b19..e5703b7d37c5f37c850328e9c8bf186d
|
|||||||
}
|
}
|
||||||
|
|
||||||
public TileEntityBarrel() {
|
public TileEntityBarrel() {
|
||||||
@@ -78,7 +78,7 @@ public class TileEntityBarrel extends TileEntityLootable {
|
@@ -97,7 +98,7 @@ public class TileEntityBarrel extends TileEntityLootable {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getSize() {
|
public int getSize() {
|
||||||
@@ -98,7 +114,7 @@ index 31d0b40fb7b30b89be1aa923c54af77e40b90b19..e5703b7d37c5f37c850328e9c8bf186d
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -98,6 +98,7 @@ public class TileEntityBarrel extends TileEntityLootable {
|
@@ -117,6 +118,7 @@ public class TileEntityBarrel extends TileEntityLootable {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Container createContainer(int i, PlayerInventory playerinventory) {
|
protected Container createContainer(int i, PlayerInventory playerinventory) {
|
||||||
@@ -143,7 +159,7 @@ index 00eb196f8caa2e4f2478972c14f4596071adbd2a..cb7e34924cb5dbff25d1ffe05cfe5bc2
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||||
index 9c49d9c21630c48ae6783bfc0f9cbe455862d686..613912e014070382d66d1e3a2e805af1bc741966 100644
|
index 614ab2d73db2293116f2272f6cd5c16da446132d..2885dc250f171917393c0356a005b476b23f9c5f 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||||
@@ -212,8 +212,10 @@ public class CraftContainer extends Container {
|
@@ -212,8 +212,10 @@ public class CraftContainer extends Container {
|
||||||
@@ -159,10 +175,10 @@ index 9c49d9c21630c48ae6783bfc0f9cbe455862d686..613912e014070382d66d1e3a2e805af1
|
|||||||
case DISPENSER:
|
case DISPENSER:
|
||||||
case DROPPER:
|
case DROPPER:
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||||
index bba9bddc1c0aacade9b7ad56afb1e630caa078fc..c2802c5bfb5ec82daad32d3a3375f4428ae76dfd 100644
|
index c3fa97ac34e1fc61ae02f224f8afe5a0b486fb4d..40e5a2fae032445467ac453f1fab7e366e911283 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||||
@@ -81,7 +81,7 @@ public class CraftInventory implements Inventory {
|
@@ -82,7 +82,7 @@ public class CraftInventory implements Inventory {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setContents(ItemStack[] items) {
|
public void setContents(ItemStack[] items) {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Fri, 31 May 2019 21:24:33 -0500
|
|||||||
Subject: [PATCH] Advancement API
|
Subject: [PATCH] Advancement API
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Advancement.java b/src/main/java/net/minecraft/server/Advancement.java
|
diff --git a/src/main/java/net/minecraft/advancements/Advancement.java b/src/main/java/net/minecraft/advancements/Advancement.java
|
||||||
index c405047c00d354bbc1449fd2f917b73f980ef1a5..384d4090f8ff1ea718de16affa5c146a2f58d28a 100644
|
index e3d5d55a2fe5d86db621d3e0c9322f553386d731..8bfd20ff9a3c96fa9ff5cc618ca7e858e62943a0 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Advancement.java
|
--- a/src/main/java/net/minecraft/advancements/Advancement.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Advancement.java
|
+++ b/src/main/java/net/minecraft/advancements/Advancement.java
|
||||||
@@ -64,7 +64,7 @@ public class Advancement {
|
@@ -77,7 +77,7 @@ public class Advancement {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -17,11 +17,11 @@ index c405047c00d354bbc1449fd2f917b73f980ef1a5..384d4090f8ff1ea718de16affa5c146a
|
|||||||
return this.display;
|
return this.display;
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/AdvancementDisplay.java b/src/main/java/net/minecraft/server/AdvancementDisplay.java
|
diff --git a/src/main/java/net/minecraft/advancements/AdvancementDisplay.java b/src/main/java/net/minecraft/advancements/AdvancementDisplay.java
|
||||||
index b0d4b7a67679a35fa8f88c241193c0f3814f1e7b..ac4fac89837f4e77dcaec6f9ca90c5aa8a78c4be 100644
|
index 721d7fbab447117349994f710338ca616ab11067..35b84373da154a070f691b0049086cc788f7de4d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/AdvancementDisplay.java
|
--- a/src/main/java/net/minecraft/advancements/AdvancementDisplay.java
|
||||||
+++ b/src/main/java/net/minecraft/server/AdvancementDisplay.java
|
+++ b/src/main/java/net/minecraft/advancements/AdvancementDisplay.java
|
||||||
@@ -15,10 +15,11 @@ public class AdvancementDisplay {
|
@@ -25,10 +25,11 @@ public class AdvancementDisplay {
|
||||||
private final MinecraftKey d;
|
private final MinecraftKey d;
|
||||||
private final AdvancementFrameType e;
|
private final AdvancementFrameType e;
|
||||||
private final boolean f;
|
private final boolean f;
|
||||||
@@ -35,7 +35,7 @@ index b0d4b7a67679a35fa8f88c241193c0f3814f1e7b..ac4fac89837f4e77dcaec6f9ca90c5aa
|
|||||||
|
|
||||||
public AdvancementDisplay(ItemStack itemstack, IChatBaseComponent ichatbasecomponent, IChatBaseComponent ichatbasecomponent1, @Nullable MinecraftKey minecraftkey, AdvancementFrameType advancementframetype, boolean flag, boolean flag1, boolean flag2) {
|
public AdvancementDisplay(ItemStack itemstack, IChatBaseComponent ichatbasecomponent, IChatBaseComponent ichatbasecomponent1, @Nullable MinecraftKey minecraftkey, AdvancementFrameType advancementframetype, boolean flag, boolean flag1, boolean flag2) {
|
||||||
this.a = ichatbasecomponent;
|
this.a = ichatbasecomponent;
|
||||||
@@ -36,22 +37,29 @@ public class AdvancementDisplay {
|
@@ -46,22 +47,29 @@ public class AdvancementDisplay {
|
||||||
this.j = f1;
|
this.j = f1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,12 +65,13 @@ index b0d4b7a67679a35fa8f88c241193c0f3814f1e7b..ac4fac89837f4e77dcaec6f9ca90c5aa
|
|||||||
public boolean j() {
|
public boolean j() {
|
||||||
return this.h;
|
return this.h;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/AdvancementFrameType.java b/src/main/java/net/minecraft/server/AdvancementFrameType.java
|
diff --git a/src/main/java/net/minecraft/advancements/AdvancementFrameType.java b/src/main/java/net/minecraft/advancements/AdvancementFrameType.java
|
||||||
index 90b78e49c0688dc2fb02df0b6784cd82fad4bc07..9a3a53cf3576c299629a84ba76cb5b9b86a14491 100644
|
index f5d24950d317c78a971472821595fc1b44befc6e..f096ecf8d77b085e6c2ef4c3b64f0b65409bb287 100644
|
||||||
--- a/src/main/java/net/minecraft/server/AdvancementFrameType.java
|
--- a/src/main/java/net/minecraft/advancements/AdvancementFrameType.java
|
||||||
+++ b/src/main/java/net/minecraft/server/AdvancementFrameType.java
|
+++ b/src/main/java/net/minecraft/advancements/AdvancementFrameType.java
|
||||||
@@ -1,15 +1,26 @@
|
@@ -4,16 +4,27 @@ import net.minecraft.EnumChatFormat;
|
||||||
package net.minecraft.server;
|
import net.minecraft.network.chat.ChatMessage;
|
||||||
|
import net.minecraft.network.chat.IChatBaseComponent;
|
||||||
|
|
||||||
+import org.bukkit.advancement.FrameType; // Purpur
|
+import org.bukkit.advancement.FrameType; // Purpur
|
||||||
+
|
+
|
||||||
@@ -98,11 +99,11 @@ index 90b78e49c0688dc2fb02df0b6784cd82fad4bc07..9a3a53cf3576c299629a84ba76cb5b9b
|
|||||||
this.d = s;
|
this.d = s;
|
||||||
this.e = i;
|
this.e = i;
|
||||||
this.f = enumchatformat;
|
this.f = enumchatformat;
|
||||||
diff --git a/src/main/java/net/minecraft/server/CriterionTrigger.java b/src/main/java/net/minecraft/server/CriterionTrigger.java
|
diff --git a/src/main/java/net/minecraft/advancements/CriterionTrigger.java b/src/main/java/net/minecraft/advancements/CriterionTrigger.java
|
||||||
index cfb420a9c7e64ec240fff81d2e3fd32f607847b3..6fd3671c37a4fc42aa438a93d5a749b52f618b1e 100644
|
index f2d74473caf96ca6e871311ef87afa128cd4d0bf..851e69a2f5155d9fa2e5652abdea9aee59e4b20a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/CriterionTrigger.java
|
--- a/src/main/java/net/minecraft/advancements/CriterionTrigger.java
|
||||||
+++ b/src/main/java/net/minecraft/server/CriterionTrigger.java
|
+++ b/src/main/java/net/minecraft/advancements/CriterionTrigger.java
|
||||||
@@ -26,6 +26,7 @@ public interface CriterionTrigger<T extends CriterionInstance> {
|
@@ -29,6 +29,7 @@ public interface CriterionTrigger<T extends CriterionInstance> {
|
||||||
this.c = s;
|
this.c = s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,7 +112,7 @@ index cfb420a9c7e64ec240fff81d2e3fd32f607847b3..6fd3671c37a4fc42aa438a93d5a749b5
|
|||||||
return this.a;
|
return this.a;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
|
||||||
index a5aadf2850f273e258f84b6c7bc9ca3649fb884d..b0a7092d623adccd61fd3e094f1ec5e8d95c3691 100644
|
index 77abcd6de43302985cdbb2085abece4f621068d4..c859fc16c263e0c50cb01fc722b6f6723d682481 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
|
--- a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
|
||||||
@@ -27,4 +27,11 @@ public class CraftAdvancement implements org.bukkit.advancement.Advancement {
|
@@ -27,4 +27,11 @@ public class CraftAdvancement implements org.bukkit.advancement.Advancement {
|
||||||
@@ -128,13 +129,13 @@ index a5aadf2850f273e258f84b6c7bc9ca3649fb884d..b0a7092d623adccd61fd3e094f1ec5e8
|
|||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..1cbb1e67b64a7e830cfabcd1fc07e998434476c3
|
index 0000000000000000000000000000000000000000..0b4ff544e04ec314e78a7a48b5bf90ee699b2ad6
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java
|
||||||
@@ -0,0 +1,47 @@
|
@@ -0,0 +1,47 @@
|
||||||
+package org.bukkit.craftbukkit.advancement;
|
+package org.bukkit.craftbukkit.advancement;
|
||||||
+
|
+
|
||||||
+import net.minecraft.server.AdvancementDisplay;
|
+import net.minecraft.advancements.AdvancementDisplay;
|
||||||
+import org.bukkit.advancement.FrameType;
|
+import org.bukkit.advancement.FrameType;
|
||||||
+import org.bukkit.craftbukkit.util.CraftChatMessage;
|
+import org.bukkit.craftbukkit.util.CraftChatMessage;
|
||||||
+
|
+
|
||||||
|
|||||||
@@ -4,11 +4,40 @@ Date: Fri, 18 Oct 2019 22:50:12 -0500
|
|||||||
Subject: [PATCH] Llama API
|
Subject: [PATCH] Llama API
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
|
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/PathfinderGoalLlamaFollow.java b/src/main/java/net/minecraft/world/entity/ai/goal/PathfinderGoalLlamaFollow.java
|
||||||
index d9e1b43283bee15c659dd3a99e45d9412aedd0bc..e61f53816cbf09e775762403d97e9c591fb405a6 100644
|
index 4fd1744f13b87c79ae3f46b28a56daeaba343aa6..34a854131dd939693a6df4d52103714ebe373dc3 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLlama.java
|
--- a/src/main/java/net/minecraft/world/entity/ai/goal/PathfinderGoalLlamaFollow.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
|
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/PathfinderGoalLlamaFollow.java
|
||||||
@@ -13,7 +13,8 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
@@ -11,7 +11,7 @@ import net.minecraft.world.phys.Vec3D;
|
||||||
|
|
||||||
|
public class PathfinderGoalLlamaFollow extends PathfinderGoal {
|
||||||
|
|
||||||
|
- public final EntityLlama a;
|
||||||
|
+ public final EntityLlama a; public EntityLlama getLlama() { return a; } // Purpur
|
||||||
|
private double b;
|
||||||
|
private int c;
|
||||||
|
|
||||||
|
@@ -23,6 +23,7 @@ public class PathfinderGoalLlamaFollow extends PathfinderGoal {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean a() {
|
||||||
|
+ if (!getLlama().shouldJoinCaravan) return false; // Purpur
|
||||||
|
if (!this.a.isLeashed() && !this.a.fC()) {
|
||||||
|
List<Entity> list = this.a.world.getEntities(this.a, this.a.getBoundingBox().grow(9.0D, 4.0D, 9.0D), (entity) -> {
|
||||||
|
EntityTypes<?> entitytypes = entity.getEntityType();
|
||||||
|
@@ -82,6 +83,7 @@ public class PathfinderGoalLlamaFollow extends PathfinderGoal {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean b() {
|
||||||
|
+ if (!getLlama().shouldJoinCaravan) return false; // Purpur
|
||||||
|
if (this.a.fC() && this.a.fD().isAlive() && this.a(this.a, 0)) {
|
||||||
|
double d0 = this.a.h((Entity) this.a.fD());
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/EntityLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/EntityLlama.java
|
||||||
|
index 2005cb484ba6b5929ad81d3d120521f247f3d4cf..1c6435bf2cd870b795f87368057d8dfc1e1c938a 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/EntityLlama.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/EntityLlama.java
|
||||||
|
@@ -63,7 +63,8 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||||
@Nullable
|
@Nullable
|
||||||
private EntityLlama bB;
|
private EntityLlama bB;
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -18,7 +47,7 @@ index d9e1b43283bee15c659dd3a99e45d9412aedd0bc..e61f53816cbf09e775762403d97e9c59
|
|||||||
|
|
||||||
public EntityLlama(EntityTypes<? extends EntityLlama> entitytypes, World world) {
|
public EntityLlama(EntityTypes<? extends EntityLlama> entitytypes, World world) {
|
||||||
super(entitytypes, world);
|
super(entitytypes, world);
|
||||||
@@ -42,6 +43,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
@@ -92,6 +93,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||||
nbttagcompound.set("DecorItem", this.inventoryChest.getItem(1).save(new NBTTagCompound()));
|
nbttagcompound.set("DecorItem", this.inventoryChest.getItem(1).save(new NBTTagCompound()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,7 +55,7 @@ index d9e1b43283bee15c659dd3a99e45d9412aedd0bc..e61f53816cbf09e775762403d97e9c59
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -53,6 +55,11 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
@@ -103,6 +105,11 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||||
this.inventoryChest.setItem(1, ItemStack.a(nbttagcompound.getCompound("DecorItem")));
|
this.inventoryChest.setItem(1, ItemStack.a(nbttagcompound.getCompound("DecorItem")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,7 +67,7 @@ index d9e1b43283bee15c659dd3a99e45d9412aedd0bc..e61f53816cbf09e775762403d97e9c59
|
|||||||
this.fe();
|
this.fe();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -387,19 +394,24 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
@@ -437,19 +444,24 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,7 +92,7 @@ index d9e1b43283bee15c659dd3a99e45d9412aedd0bc..e61f53816cbf09e775762403d97e9c59
|
|||||||
public boolean fB() {
|
public boolean fB() {
|
||||||
return this.bC != null;
|
return this.bC != null;
|
||||||
}
|
}
|
||||||
@@ -410,7 +422,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
@@ -460,7 +472,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -72,37 +101,8 @@ index d9e1b43283bee15c659dd3a99e45d9412aedd0bc..e61f53816cbf09e775762403d97e9c59
|
|||||||
return this.bB;
|
return this.bB;
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java b/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
|
|
||||||
index 1b29ca2ca0bc5d17673de43bdc854d5b4c96b8b6..47ffa669681da7512ee594ecb643f28576dee444 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
|
|
||||||
@@ -6,7 +6,7 @@ import java.util.List;
|
|
||||||
|
|
||||||
public class PathfinderGoalLlamaFollow extends PathfinderGoal {
|
|
||||||
|
|
||||||
- public final EntityLlama a;
|
|
||||||
+ public final EntityLlama a; public EntityLlama getLlama() { return a; } // Purpur
|
|
||||||
private double b;
|
|
||||||
private int c;
|
|
||||||
|
|
||||||
@@ -18,6 +18,7 @@ public class PathfinderGoalLlamaFollow extends PathfinderGoal {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean a() {
|
|
||||||
+ if (!getLlama().shouldJoinCaravan) return false; // Purpur
|
|
||||||
if (!this.a.isLeashed() && !this.a.fC()) {
|
|
||||||
List<Entity> list = this.a.world.getEntities(this.a, this.a.getBoundingBox().grow(9.0D, 4.0D, 9.0D), (entity) -> {
|
|
||||||
EntityTypes<?> entitytypes = entity.getEntityType();
|
|
||||||
@@ -77,6 +78,7 @@ public class PathfinderGoalLlamaFollow extends PathfinderGoal {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean b() {
|
|
||||||
+ if (!getLlama().shouldJoinCaravan) return false; // Purpur
|
|
||||||
if (this.a.fC() && this.a.fD().isAlive() && this.a(this.a, 0)) {
|
|
||||||
double d0 = this.a.h((Entity) this.a.fD());
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
||||||
index 71faa1b38f613db468ee939a7ffac7aaed733d20..43536b0744e5618c10790ae9db399c0506567f2a 100644
|
index 818034c62893a71808e3af0aa33393605611acdd..71536b6ae6a423e33667efcf584a0020f36fb189 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
||||||
@@ -66,4 +66,48 @@ public class CraftLlama extends CraftChestedHorse implements Llama, CraftRangedE
|
@@ -66,4 +66,48 @@ public class CraftLlama extends CraftChestedHorse implements Llama, CraftRangedE
|
||||||
|
|||||||
@@ -4,31 +4,11 @@ Date: Thu, 8 Aug 2019 15:29:15 -0500
|
|||||||
Subject: [PATCH] AFK API
|
Subject: [PATCH] AFK API
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
diff --git a/src/main/java/net/minecraft/server/level/EntityPlayer.java b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
index 48a820e34d45623432a3dc3b01d0bba8824c6414..a3aa2c8760b43e09f77f2790d6e21b8a2dc9dd3c 100644
|
index 534c7266fe9d6f60b74a71e5e61ed248e515dffd..f30dcbd26ed56ba8f1a99260722a0b395c220954 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
--- a/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
+++ b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
@@ -85,6 +85,15 @@ public abstract class EntityHuman extends EntityLiving {
|
@@ -2070,8 +2070,54 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
}
|
|
||||||
// CraftBukkit end
|
|
||||||
|
|
||||||
+ // Purpur start
|
|
||||||
+ public void setAfk(boolean setAfk){
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public boolean isAfk() {
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ // Purpur end
|
|
||||||
+
|
|
||||||
public EntityHuman(World world, BlockPosition blockposition, float f, GameProfile gameprofile) {
|
|
||||||
super(EntityTypes.PLAYER, world);
|
|
||||||
this.bL = ItemStack.b;
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
||||||
index 90d64eb2a7e318c8501b7efb2314d2049441bd6f..9be41dab47230046e576f4472c4c1c23523aa28c 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
||||||
@@ -1940,8 +1940,54 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
|
||||||
|
|
||||||
public void resetIdleTimer() {
|
public void resetIdleTimer() {
|
||||||
this.ca = SystemUtils.getMonotonicMillis();
|
this.ca = SystemUtils.getMonotonicMillis();
|
||||||
@@ -83,11 +63,117 @@ index 90d64eb2a7e318c8501b7efb2314d2049441bd6f..9be41dab47230046e576f4472c4c1c23
|
|||||||
public ServerStatisticManager getStatisticManager() {
|
public ServerStatisticManager getStatisticManager() {
|
||||||
return this.serverStatisticManager;
|
return this.serverStatisticManager;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||||
index ad286848ddb7803640ef7eeea46b58473dd1d0c4..2e514b8291a544a88667fbca2389bde4c2ecb109 100644
|
index 9d97e2ea5c207c42f1cc9aa14bc87dc8e0a1bb1e..984a90a0a69f60315536d60eff597f65b6d49c57 100644
|
||||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||||
@@ -174,28 +174,18 @@ public interface IEntityAccess {
|
@@ -1000,7 +1000,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
|
// CraftBukkit end
|
||||||
|
|
||||||
|
if (this.everyoneSleeping && this.players.stream().noneMatch((entityplayer) -> {
|
||||||
|
- return !entityplayer.isSpectator() && !entityplayer.isDeeplySleeping() && !entityplayer.fauxSleeping; // CraftBukkit
|
||||||
|
+ return !entityplayer.isSpectator() && !entityplayer.isDeeplySleeping() && !entityplayer.fauxSleeping && !(purpurConfig.idleTimeoutCountAsSleeping && entityplayer.isAfk()); // CraftBukkit // Purpur
|
||||||
|
})) {
|
||||||
|
// CraftBukkit start
|
||||||
|
long l = this.worldData.getDayTime() + 24000L;
|
||||||
|
@@ -1368,7 +1368,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
|
||||||
|
|
||||||
|
- if (entityplayer.isSpectator() || (entityplayer.fauxSleeping && !entityplayer.isSleeping())) { // CraftBukkit
|
||||||
|
+ if (entityplayer.isSpectator() || (entityplayer.fauxSleeping && !entityplayer.isSleeping()) || (purpurConfig.idleTimeoutCountAsSleeping && entityplayer.isAfk())) { // CraftBukkit // Purpur
|
||||||
|
++i;
|
||||||
|
} else if (entityplayer.isSleeping()) {
|
||||||
|
++j;
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
|
index b7e72fe1cd04219391c75beb7d67a1e32e393a16..789cf1652fec8346c1ea3ca47d9ac43c0765528a 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
|
@@ -397,6 +397,12 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.player.F() > 0L && this.minecraftServer.getIdleTimeout() > 0 && SystemUtils.getMonotonicMillis() - this.player.F() > (long) (this.minecraftServer.getIdleTimeout() * 1000 * 60)) {
|
||||||
|
+ // Purpur start
|
||||||
|
+ this.player.setAfk(true);
|
||||||
|
+ if (!this.player.world.purpurConfig.idleTimeoutKick) {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ // Purpur end
|
||||||
|
this.player.resetIdleTimer(); // CraftBukkit - SPIGOT-854
|
||||||
|
this.disconnect(new ChatMessage("multiplayer.disconnect.idling"));
|
||||||
|
}
|
||||||
|
@@ -666,6 +672,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||||
|
this.lastYaw = to.getYaw();
|
||||||
|
this.lastPitch = to.getPitch();
|
||||||
|
|
||||||
|
+ if (!to.getWorld().getUID().equals(from.getWorld().getUID()) || to.getBlockX() != from.getBlockX() || to.getBlockY() != from.getBlockY() || to.getBlockZ() != from.getBlockZ() || to.getYaw() != from.getYaw() || to.getPitch() != from.getPitch()) this.player.resetIdleTimer(); // Purpur
|
||||||
|
+
|
||||||
|
// Skip the first time we do this
|
||||||
|
if (true) { // Spigot - don't skip any move events
|
||||||
|
Location oldTo = to.clone();
|
||||||
|
@@ -1402,7 +1410,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||||
|
|
||||||
|
if (!this.player.H() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.playerInteractManager.isCreative() && this.player.playerInteractManager.getGameMode() != EnumGamemode.SPECTATOR) { // Spigot
|
||||||
|
flag1 = true; // Tuinity - diff on change, this should be moved wrongly
|
||||||
|
- PlayerConnection.LOGGER.warn("{} moved wrongly!", this.player.getDisplayName().getString());
|
||||||
|
+ PlayerConnection.LOGGER.warn("{} moved wrongly! ({})", this.player.getDisplayName().getString(), d11); // Purpur
|
||||||
|
}
|
||||||
|
|
||||||
|
this.player.setLocation(d4, d5, d6, f, f1);
|
||||||
|
@@ -1452,6 +1460,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||||
|
this.lastYaw = to.getYaw();
|
||||||
|
this.lastPitch = to.getPitch();
|
||||||
|
|
||||||
|
+ if (!to.getWorld().getUID().equals(from.getWorld().getUID()) || to.getBlockX() != from.getBlockX() || to.getBlockY() != from.getBlockY() || to.getBlockZ() != from.getBlockZ() || to.getYaw() != from.getYaw() || to.getPitch() != from.getPitch()) this.player.resetIdleTimer(); // Purpur
|
||||||
|
+
|
||||||
|
// Skip the first time we do this
|
||||||
|
if (from.getX() != Double.MAX_VALUE) {
|
||||||
|
Location oldTo = to.clone();
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/IEntitySelector.java b/src/main/java/net/minecraft/world/entity/IEntitySelector.java
|
||||||
|
index f5e32faeb6d937cf90b1f3ea251b5cfc91f2338d..f9908fb7cc27a8947030c2100dccf1dc1a4e24f7 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/IEntitySelector.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/IEntitySelector.java
|
||||||
|
@@ -15,6 +15,7 @@ import net.minecraft.world.scores.ScoreboardTeamBase;
|
||||||
|
public final class IEntitySelector {
|
||||||
|
|
||||||
|
public static final Predicate<Entity> a = Entity::isAlive;
|
||||||
|
+ public static Predicate<EntityLiving> isLivingAlive() { return b; } // Purpur - OBFHELPER
|
||||||
|
public static final Predicate<EntityLiving> b = EntityLiving::isAlive;
|
||||||
|
public static final Predicate<Entity> c = (entity) -> {
|
||||||
|
return entity.isAlive() && !entity.isVehicle() && !entity.isPassenger();
|
||||||
|
@@ -35,6 +36,7 @@ public final class IEntitySelector {
|
||||||
|
return !entity.isSpectator();
|
||||||
|
};
|
||||||
|
public static Predicate<EntityHuman> isInsomniac = (player) -> MathHelper.clamp(((EntityPlayer) player).getStatisticManager().getStatisticValue(StatisticList.CUSTOM.get(StatisticList.TIME_SINCE_REST)), 1, Integer.MAX_VALUE) >= 72000; // Paper
|
||||||
|
+ public static Predicate<EntityHuman> notAfk = (player) -> !player.isAfk(); // Purpur
|
||||||
|
|
||||||
|
// Paper start
|
||||||
|
public static final Predicate<Entity> affectsSpawning = (entity) -> {
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/player/EntityHuman.java b/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
|
||||||
|
index ad85dda5c50b797904824a08513fbcec042128ea..8f9d0769e7855c3565a34927f3f3741c43e45f35 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
|
||||||
|
@@ -182,6 +182,15 @@ public abstract class EntityHuman extends EntityLiving {
|
||||||
|
}
|
||||||
|
// CraftBukkit end
|
||||||
|
|
||||||
|
+ // Purpur start
|
||||||
|
+ public void setAfk(boolean setAfk){
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public boolean isAfk() {
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+ // Purpur end
|
||||||
|
+
|
||||||
|
public EntityHuman(World world, BlockPosition blockposition, float f, GameProfile gameprofile) {
|
||||||
|
super(EntityTypes.PLAYER, world);
|
||||||
|
this.bL = ItemStack.b;
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/IEntityAccess.java b/src/main/java/net/minecraft/world/level/IEntityAccess.java
|
||||||
|
index a7f2304acf8ee0a15d6eae8c42060e003be13ae7..fd56b2f15e570f266a79c25823a3b3530a693510 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/IEntityAccess.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/IEntityAccess.java
|
||||||
|
@@ -183,28 +183,18 @@ public interface IEntityAccess {
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
@@ -128,101 +214,15 @@ index ad286848ddb7803640ef7eeea46b58473dd1d0c4..2e514b8291a544a88667fbca2389bde4
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
|
|
||||||
index b5e1a860a2569d7668330827614d221b60f3fc78..5f85a1d513f4fdc21b64e1a2b6882e3325b98ddd 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
|
|
||||||
@@ -7,6 +7,7 @@ import javax.annotation.Nullable;
|
|
||||||
public final class IEntitySelector {
|
|
||||||
|
|
||||||
public static final Predicate<Entity> a = Entity::isAlive;
|
|
||||||
+ public static Predicate<EntityLiving> isLivingAlive() { return b; } // Purpur - OBFHELPER
|
|
||||||
public static final Predicate<EntityLiving> b = EntityLiving::isAlive;
|
|
||||||
public static final Predicate<Entity> c = (entity) -> {
|
|
||||||
return entity.isAlive() && !entity.isVehicle() && !entity.isPassenger();
|
|
||||||
@@ -27,6 +28,7 @@ public final class IEntitySelector {
|
|
||||||
return !entity.isSpectator();
|
|
||||||
};
|
|
||||||
public static Predicate<EntityHuman> isInsomniac = (player) -> MathHelper.clamp(((EntityPlayer) player).getStatisticManager().getStatisticValue(StatisticList.CUSTOM.get(StatisticList.TIME_SINCE_REST)), 1, Integer.MAX_VALUE) >= 72000; // Paper
|
|
||||||
+ public static Predicate<EntityHuman> notAfk = (player) -> !player.isAfk(); // Purpur
|
|
||||||
|
|
||||||
// Paper start
|
|
||||||
public static final Predicate<Entity> affectsSpawning = (entity) -> {
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
||||||
index 9146b60cff0aa06e2f6b6003bfe9e2be9d2f0d56..bba8dc8fd10dc34179ca3c8cf471fbb3739fa7b4 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
||||||
@@ -252,6 +252,12 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.player.F() > 0L && this.minecraftServer.getIdleTimeout() > 0 && SystemUtils.getMonotonicMillis() - this.player.F() > (long) (this.minecraftServer.getIdleTimeout() * 1000 * 60)) {
|
|
||||||
+ // Purpur start
|
|
||||||
+ this.player.setAfk(true);
|
|
||||||
+ if (!this.player.world.purpurConfig.idleTimeoutKick) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ // Purpur end
|
|
||||||
this.player.resetIdleTimer(); // CraftBukkit - SPIGOT-854
|
|
||||||
this.disconnect(new ChatMessage("multiplayer.disconnect.idling"));
|
|
||||||
}
|
|
||||||
@@ -521,6 +527,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
||||||
this.lastYaw = to.getYaw();
|
|
||||||
this.lastPitch = to.getPitch();
|
|
||||||
|
|
||||||
+ if (!to.getWorld().getUID().equals(from.getWorld().getUID()) || to.getBlockX() != from.getBlockX() || to.getBlockY() != from.getBlockY() || to.getBlockZ() != from.getBlockZ() || to.getYaw() != from.getYaw() || to.getPitch() != from.getPitch()) this.player.resetIdleTimer(); // Purpur
|
|
||||||
+
|
|
||||||
// Skip the first time we do this
|
|
||||||
if (true) { // Spigot - don't skip any move events
|
|
||||||
Location oldTo = to.clone();
|
|
||||||
@@ -1257,7 +1265,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
||||||
|
|
||||||
if (!this.player.H() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.playerInteractManager.isCreative() && this.player.playerInteractManager.getGameMode() != EnumGamemode.SPECTATOR) { // Spigot
|
|
||||||
flag1 = true; // Tuinity - diff on change, this should be moved wrongly
|
|
||||||
- PlayerConnection.LOGGER.warn("{} moved wrongly!", this.player.getDisplayName().getString());
|
|
||||||
+ PlayerConnection.LOGGER.warn("{} moved wrongly! ({})", this.player.getDisplayName().getString(), d11); // Purpur
|
|
||||||
}
|
|
||||||
|
|
||||||
this.player.setLocation(d4, d5, d6, f, f1);
|
|
||||||
@@ -1307,6 +1315,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
||||||
this.lastYaw = to.getYaw();
|
|
||||||
this.lastPitch = to.getPitch();
|
|
||||||
|
|
||||||
+ if (!to.getWorld().getUID().equals(from.getWorld().getUID()) || to.getBlockX() != from.getBlockX() || to.getBlockY() != from.getBlockY() || to.getBlockZ() != from.getBlockZ() || to.getYaw() != from.getYaw() || to.getPitch() != from.getPitch()) this.player.resetIdleTimer(); // Purpur
|
|
||||||
+
|
|
||||||
// Skip the first time we do this
|
|
||||||
if (from.getX() != Double.MAX_VALUE) {
|
|
||||||
Location oldTo = to.clone();
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
|
||||||
index a2b8aa9ebef69535a8560e4eef42471e58e84e7f..2d72803f1c52acf8bc069777351a3ef4d75f6e6c 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
|
||||||
@@ -887,7 +887,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
||||||
// CraftBukkit end
|
|
||||||
|
|
||||||
if (this.everyoneSleeping && this.players.stream().noneMatch((entityplayer) -> {
|
|
||||||
- return !entityplayer.isSpectator() && !entityplayer.isDeeplySleeping() && !entityplayer.fauxSleeping; // CraftBukkit
|
|
||||||
+ return !entityplayer.isSpectator() && !entityplayer.isDeeplySleeping() && !entityplayer.fauxSleeping && !(purpurConfig.idleTimeoutCountAsSleeping && entityplayer.isAfk()); // CraftBukkit // Purpur
|
|
||||||
})) {
|
|
||||||
// CraftBukkit start
|
|
||||||
long l = this.worldData.getDayTime() + 24000L;
|
|
||||||
@@ -1255,7 +1255,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
|
|
||||||
|
|
||||||
- if (entityplayer.isSpectator() || (entityplayer.fauxSleeping && !entityplayer.isSleeping())) { // CraftBukkit
|
|
||||||
+ if (entityplayer.isSpectator() || (entityplayer.fauxSleeping && !entityplayer.isSleeping()) || (purpurConfig.idleTimeoutCountAsSleeping && entityplayer.isAfk())) { // CraftBukkit // Purpur
|
|
||||||
++i;
|
|
||||||
} else if (entityplayer.isSleeping()) {
|
|
||||||
++j;
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
index cb7e34924cb5dbff25d1ffe05cfe5bc22e4a90ed..406e840499e09638e8b325d0e52b764e80acc777 100644
|
index cb7e34924cb5dbff25d1ffe05cfe5bc22e4a90ed..ee99289165cab9f58b689a7e07aa01622e203863 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
@@ -1,6 +1,7 @@
|
@@ -1,6 +1,7 @@
|
||||||
package net.pl3x.purpur;
|
package net.pl3x.purpur;
|
||||||
|
|
||||||
import com.google.common.base.Throwables;
|
import com.google.common.base.Throwables;
|
||||||
+import net.minecraft.server.LocaleLanguage;
|
+import net.minecraft.locale.LocaleLanguage;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.pl3x.purpur.command.PurpurCommand;
|
import net.pl3x.purpur.command.PurpurCommand;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
@@ -263,10 +263,10 @@ index 361f7857e461578e90cb71e15027dadaf794cb69..2578a4677d1ee060f687be531e696b7c
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index b3636032fd36efe2e7e546dbebdfd5c1208f9951..abf2a6b9d18f04baa077ededa3562a30dbaa4fe4 100644
|
index 45e786565ac988abadffda2e7ba3ff1e2880b786..f4052aaa2235894b996d65c569a083f1a09b59a3 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -2482,4 +2482,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -2491,4 +2491,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
return spigot;
|
return spigot;
|
||||||
}
|
}
|
||||||
// Spigot end
|
// Spigot end
|
||||||
@@ -289,10 +289,10 @@ index b3636032fd36efe2e7e546dbebdfd5c1208f9951..abf2a6b9d18f04baa077ededa3562a30
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||||
index b72f55c4b34ec7a91cdfdfa1c7efe4225bb2d791..c8ef3856d398fc7a966385c04cadeb1e8e8504f7 100644
|
index 6c4c4580faef39e48de5af4db003cf2e3b8a99b5..dc2d880ded328f8377c207ce15f604ec5c25176c 100644
|
||||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||||
@@ -209,6 +209,7 @@ public class ActivationRange
|
@@ -207,6 +207,7 @@ public class ActivationRange
|
||||||
{
|
{
|
||||||
|
|
||||||
player.activatedTick = MinecraftServer.currentTick;
|
player.activatedTick = MinecraftServer.currentTick;
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sun, 26 May 2019 15:19:14 -0500
|
|||||||
Subject: [PATCH] Bring back server name
|
Subject: [PATCH] Bring back server name
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/DedicatedServerProperties.java
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
index 15a4f921b1ae2bbc66b7d58238b60151123a7eb3..fe5937d890762ab37a90f189c4992af389d2c41d 100644
|
index 1fab9b9c7d41a0d2a551096c2c15f741a887fa2d..f33309f4c1ad92960d0634f3f5b8105c284f26a2 100644
|
||||||
--- a/src/main/java/net/minecraft/server/DedicatedServerProperties.java
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
+++ b/src/main/java/net/minecraft/server/DedicatedServerProperties.java
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
@@ -14,6 +14,7 @@ public class DedicatedServerProperties extends PropertyManager<DedicatedServerPr
|
@@ -20,6 +20,7 @@ public class DedicatedServerProperties extends PropertyManager<DedicatedServerPr
|
||||||
public final boolean onlineMode = this.getBoolean("online-mode", true);
|
public final boolean onlineMode = this.getBoolean("online-mode", true);
|
||||||
public final boolean preventProxyConnections = this.getBoolean("prevent-proxy-connections", false);
|
public final boolean preventProxyConnections = this.getBoolean("prevent-proxy-connections", false);
|
||||||
public final String serverIp = this.getString("server-ip", "");
|
public final String serverIp = this.getString("server-ip", "");
|
||||||
@@ -17,7 +17,7 @@ index 15a4f921b1ae2bbc66b7d58238b60151123a7eb3..fe5937d890762ab37a90f189c4992af3
|
|||||||
public final boolean spawnNpcs = this.getBoolean("spawn-npcs", true);
|
public final boolean spawnNpcs = this.getBoolean("spawn-npcs", true);
|
||||||
public final boolean pvp = this.getBoolean("pvp", true);
|
public final boolean pvp = this.getBoolean("pvp", true);
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index e48298f9ca28be83c3441afd8a8f0a6033ae0781..e5fd26a42b3f7ca11005d3311c5f6b25f193c850 100644
|
index 3e0b92259ad00541a8da595a918275c1a5b2bc39..f200827a22acc6f6dd454b4c309a5b1e149f9c46 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -2525,4 +2525,11 @@ public final class CraftServer implements Server {
|
@@ -2525,4 +2525,11 @@ public final class CraftServer implements Server {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 576a344b8bd66d69e3fd438b254f772b678471ba..eafff4dcf1088b77ecae317a28b5d65dec997a7b 100644
|
index 9301d93ffb5a961cb68a5c37c30b656087c1b45c..2af7c84167f75f1d16d0fd74a4c8156502325446 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1524,7 +1524,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1636,7 +1636,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getServerModName() {
|
public String getServerModName() {
|
||||||
@@ -18,7 +18,7 @@ index 576a344b8bd66d69e3fd438b254f772b678471ba..eafff4dcf1088b77ecae317a28b5d65d
|
|||||||
|
|
||||||
public CrashReport b(CrashReport crashreport) {
|
public CrashReport b(CrashReport crashreport) {
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
index 406e840499e09638e8b325d0e52b764e80acc777..4627261562a1482aecf4034b8717ecccc2dd9eb0 100644
|
index ee99289165cab9f58b689a7e07aa01622e203863..5fa51d5cdd55003b94ed41294b6b3b800e79c525 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
@@ -139,6 +139,11 @@ public class PurpurConfig {
|
@@ -139,6 +139,11 @@ public class PurpurConfig {
|
||||||
|
|||||||
@@ -4,44 +4,19 @@ Date: Sun, 5 May 2019 12:58:45 -0500
|
|||||||
Subject: [PATCH] LivingEntity safeFallDistance
|
Subject: [PATCH] LivingEntity safeFallDistance
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
index 702242653a47051c9ed32304c427c27652af6157..9f4f56c47ecd4b35ebf33ca0bf9a040074ababf2 100644
|
index 1a7866bed9cb7f0431454d3af4733de05c0cba78..30aabde3d6703eefcb6d57bab43666b97197ba1f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
@@ -4,6 +4,7 @@ public class EntityGiantZombie extends EntityMonster {
|
@@ -228,6 +228,7 @@ public abstract class EntityLiving extends Entity {
|
||||||
|
|
||||||
public EntityGiantZombie(EntityTypes<? extends EntityGiantZombie> entitytypes, World world) {
|
|
||||||
super(entitytypes, world);
|
|
||||||
+ this.safeFallDistance = 10.0F; // Purpur
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
|
||||||
index acbdaa097dfd1cba18add0a09ad54ca78d3e0c24..784819d252d94e8040a87f53431fcf2c7a19d1a7 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
|
||||||
@@ -211,7 +211,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected int e(float f, float f1) {
|
|
||||||
- return MathHelper.f((f * 0.5F - 3.0F) * f1);
|
|
||||||
+ return MathHelper.f((f * 0.5F - this.safeFallDistance) * f1); // Purpur
|
|
||||||
}
|
|
||||||
|
|
||||||
protected int getChestSlots() {
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
||||||
index 58af082b95a7eff44e2c71c3609a288a31d28d01..c3f36275943c1cd03b65a1c7c6fbb22d1af3a6e3 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
||||||
@@ -133,6 +133,7 @@ public abstract class EntityLiving extends Entity {
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
public int expToDrop;
|
public int expToDrop;
|
||||||
public int maxAirTicks = 300;
|
public int maxAirTicks = 300;
|
||||||
+ public float safeFallDistance = 3.0F; // Purpur
|
+ public float safeFallDistance = 3.0F; // Purpur
|
||||||
boolean forceDrops;
|
public boolean forceDrops;
|
||||||
ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
public ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
||||||
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
||||||
@@ -227,8 +228,8 @@ public abstract class EntityLiving extends Entity {
|
@@ -322,8 +323,8 @@ public abstract class EntityLiving extends Entity {
|
||||||
this.cR();
|
this.cR();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,7 +27,7 @@ index 58af082b95a7eff44e2c71c3609a288a31d28d01..c3f36275943c1cd03b65a1c7c6fbb22d
|
|||||||
|
|
||||||
if (!iblockdata.isAir()) {
|
if (!iblockdata.isAir()) {
|
||||||
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
||||||
@@ -1695,7 +1696,7 @@ public abstract class EntityLiving extends Entity {
|
@@ -1790,7 +1791,7 @@ public abstract class EntityLiving extends Entity {
|
||||||
MobEffect mobeffect = this.getEffect(MobEffects.JUMP);
|
MobEffect mobeffect = this.getEffect(MobEffects.JUMP);
|
||||||
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
|
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
|
||||||
|
|
||||||
@@ -61,11 +36,36 @@ index 58af082b95a7eff44e2c71c3609a288a31d28d01..c3f36275943c1cd03b65a1c7c6fbb22d
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void playBlockStepSound() {
|
protected void playBlockStepSound() {
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseAbstract.java b/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseAbstract.java
|
||||||
|
index 1e41c45af6dbcf097d7d6104e63db637f199301a..cb6e2053d1315b65812e7bff8a17988b5b8ab0e4 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseAbstract.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/EntityHorseAbstract.java
|
||||||
|
@@ -272,7 +272,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int e(float f, float f1) {
|
||||||
|
- return MathHelper.f((f * 0.5F - 3.0F) * f1);
|
||||||
|
+ return MathHelper.f((f * 0.5F - this.safeFallDistance) * f1); // Purpur
|
||||||
|
}
|
||||||
|
|
||||||
|
protected int getChestSlots() {
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityGiantZombie.java b/src/main/java/net/minecraft/world/entity/monster/EntityGiantZombie.java
|
||||||
|
index 3b004160da9a2aed440a3ccda538d78f91c61e87..5e6a92dcdbca686d5a8cfc4aaff72b70b81b111f 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityGiantZombie.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityGiantZombie.java
|
||||||
|
@@ -13,6 +13,7 @@ public class EntityGiantZombie extends EntityMonster {
|
||||||
|
|
||||||
|
public EntityGiantZombie(EntityTypes<? extends EntityGiantZombie> entitytypes, World world) {
|
||||||
|
super(entitytypes, world);
|
||||||
|
+ this.safeFallDistance = 10.0F; // Purpur
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
index c1350bbf62fc5c5e18509f378edf16e8b210cfe8..84aeffac2c2c12d98e9cec05314668a93bb5ed91 100644
|
index 3d497f69f89455b88fba423de8effb3db83e7af4..b5040de9885556561416bf3282476f3b33925a62 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
@@ -833,4 +833,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
@@ -843,4 +843,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||||
getHandle().setHurtDirection(hurtDirection);
|
getHandle().setHurtDirection(hurtDirection);
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index eafff4dcf1088b77ecae317a28b5d65dec997a7b..5e647afa74950bcb09de630ac641b9d178ef71c2 100644
|
index 2af7c84167f75f1d16d0fd74a4c8156502325446..34793bc4bd14dc7a34f32ccfec05cf50eb77cee2 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -167,6 +167,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -279,6 +279,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
public static final int TICK_TIME = 1000000000 / TPS;
|
public static final int TICK_TIME = 1000000000 / TPS;
|
||||||
private static final int SAMPLE_INTERVAL = 20; // Paper
|
private static final int SAMPLE_INTERVAL = 20; // Paper
|
||||||
public final double[] recentTps = new double[ 3 ];
|
public final double[] recentTps = new double[ 3 ];
|
||||||
@@ -16,7 +16,7 @@ index eafff4dcf1088b77ecae317a28b5d65dec997a7b..5e647afa74950bcb09de630ac641b9d1
|
|||||||
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
||||||
// Spigot end
|
// Spigot end
|
||||||
|
|
||||||
@@ -992,6 +993,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1104,6 +1105,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
recentTps[1] = tps5.getAverage();
|
recentTps[1] = tps5.getAverage();
|
||||||
recentTps[2] = tps15.getAverage();
|
recentTps[2] = tps15.getAverage();
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -25,7 +25,7 @@ index eafff4dcf1088b77ecae317a28b5d65dec997a7b..5e647afa74950bcb09de630ac641b9d1
|
|||||||
}
|
}
|
||||||
// Tuinity - replace logic
|
// Tuinity - replace logic
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
index 4627261562a1482aecf4034b8717ecccc2dd9eb0..a34ed978596f1a466b0b48e7db92ac4f1345a996 100644
|
index 5fa51d5cdd55003b94ed41294b6b3b800e79c525..b54ea480321a3d9153a89e842787b27875e43ef4 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
@@ -150,6 +150,11 @@ public class PurpurConfig {
|
@@ -150,6 +150,11 @@ public class PurpurConfig {
|
||||||
@@ -41,7 +41,7 @@ index 4627261562a1482aecf4034b8717ecccc2dd9eb0..a34ed978596f1a466b0b48e7db92ac4f
|
|||||||
public static boolean enderChestSixRows = false;
|
public static boolean enderChestSixRows = false;
|
||||||
public static boolean enderChestPermissionRows = false;
|
public static boolean enderChestPermissionRows = false;
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index e5fd26a42b3f7ca11005d3311c5f6b25f193c850..d73e68689a5dab8efd3e5d84cffa9ae67a40518c 100644
|
index f200827a22acc6f6dd454b4c309a5b1e149f9c46..b770d3a11fde20dddacd2ea9c317f1f187f76e6d 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -2531,5 +2531,10 @@ public final class CraftServer implements Server {
|
@@ -2531,5 +2531,10 @@ public final class CraftServer implements Server {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Fri, 5 Jul 2019 16:36:55 -0500
|
|||||||
Subject: [PATCH] ItemFactory#getMonsterEgg
|
Subject: [PATCH] ItemFactory#getMonsterEgg
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemMonsterEgg.java b/src/main/java/net/minecraft/server/ItemMonsterEgg.java
|
diff --git a/src/main/java/net/minecraft/world/item/ItemMonsterEgg.java b/src/main/java/net/minecraft/world/item/ItemMonsterEgg.java
|
||||||
index a236e0441fc20270b4c44ed5a7d5b94297949226..eeac4aeaf21b43647aa643ec55a1ae842a7ac197 100644
|
index 4d965e504a40eb52777575df839856c825a0900a..addddb64956c63563fc072b35cc511d31c9afd45 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ItemMonsterEgg.java
|
--- a/src/main/java/net/minecraft/world/item/ItemMonsterEgg.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemMonsterEgg.java
|
+++ b/src/main/java/net/minecraft/world/item/ItemMonsterEgg.java
|
||||||
@@ -9,7 +9,7 @@ import javax.annotation.Nullable;
|
@@ -35,7 +35,7 @@ import net.minecraft.world.phys.Vec3D;
|
||||||
|
|
||||||
public class ItemMonsterEgg extends Item {
|
public class ItemMonsterEgg extends Item {
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ index a236e0441fc20270b4c44ed5a7d5b94297949226..eeac4aeaf21b43647aa643ec55a1ae84
|
|||||||
private final int c;
|
private final int c;
|
||||||
private final EntityTypes<?> d;
|
private final EntityTypes<?> d;
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
||||||
index c79623339cfe8fb8484bcc2a8c3eb119b9e83093..3a6a1f8ce0a30f2bdc08ec36fe9a2381439e7fa4 100644
|
index 6966b9d1ce674232d3f867798fa58bd0933ff69e..1cc473eb4d346b1b498a7b170973fb44d8b8aea6 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
||||||
@@ -396,4 +396,18 @@ public final class CraftItemFactory implements ItemFactory {
|
@@ -396,4 +396,18 @@ public final class CraftItemFactory implements ItemFactory {
|
||||||
@@ -33,10 +33,10 @@ index c79623339cfe8fb8484bcc2a8c3eb119b9e83093..3a6a1f8ce0a30f2bdc08ec36fe9a2381
|
|||||||
+ return null;
|
+ return null;
|
||||||
+ }
|
+ }
|
||||||
+ String name = type.getKey().toString();
|
+ String name = type.getKey().toString();
|
||||||
+ net.minecraft.server.MinecraftKey key = new net.minecraft.server.MinecraftKey(name);
|
+ net.minecraft.resources.MinecraftKey key = new net.minecraft.resources.MinecraftKey(name);
|
||||||
+ net.minecraft.server.EntityTypes types = net.minecraft.server.EntityTypes.getFromKey(key);
|
+ net.minecraft.world.entity.EntityTypes types = net.minecraft.world.entity.EntityTypes.getFromKey(key);
|
||||||
+ net.minecraft.server.ItemMonsterEgg egg = net.minecraft.server.ItemMonsterEgg.a.get(types);
|
+ net.minecraft.world.item.ItemMonsterEgg egg = net.minecraft.world.item.ItemMonsterEgg.a.get(types);
|
||||||
+ return new net.minecraft.server.ItemStack(egg).asBukkitMirror();
|
+ return new net.minecraft.world.item.ItemStack(egg).asBukkitMirror();
|
||||||
+ }
|
+ }
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Fri, 5 Jul 2019 18:21:00 -0500
|
|||||||
Subject: [PATCH] PlayerSetSpawnerTypeWithEggEvent
|
Subject: [PATCH] PlayerSetSpawnerTypeWithEggEvent
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityTypes.java b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
index 4410939423a75357cc2d16bc4a3b96a504942320..9575d5a8a9cf0beddc6d10da86a089b5425f2320 100644
|
index 7f70dda656ff9d802200f18139d2695e58c551c7..e858e41e046665016327f0ef3f19cf5db765fe3b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityTypes.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
@@ -145,6 +145,16 @@ public class EntityTypes<T extends Entity> {
|
@@ -276,6 +276,16 @@ public class EntityTypes<T extends Entity> {
|
||||||
return (EntityTypes) IRegistry.a((IRegistry) IRegistry.ENTITY_TYPE, s, (Object) entitytypes_builder.a(s));
|
return (EntityTypes) IRegistry.a((IRegistry) IRegistry.ENTITY_TYPE, s, (Object) entitytypes_builder.a(s));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ index 4410939423a75357cc2d16bc4a3b96a504942320..9575d5a8a9cf0beddc6d10da86a089b5
|
|||||||
public static MinecraftKey getName(EntityTypes<?> entitytypes) {
|
public static MinecraftKey getName(EntityTypes<?> entitytypes) {
|
||||||
return IRegistry.ENTITY_TYPE.getKey(entitytypes);
|
return IRegistry.ENTITY_TYPE.getKey(entitytypes);
|
||||||
}
|
}
|
||||||
@@ -303,6 +313,16 @@ public class EntityTypes<T extends Entity> {
|
@@ -441,6 +451,16 @@ public class EntityTypes<T extends Entity> {
|
||||||
return this.bg;
|
return this.bg;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ index 4410939423a75357cc2d16bc4a3b96a504942320..9575d5a8a9cf0beddc6d10da86a089b5
|
|||||||
public String getDescriptionId() { return f(); } // Paper - OBFHELPER
|
public String getDescriptionId() { return f(); } // Paper - OBFHELPER
|
||||||
public String f() {
|
public String f() {
|
||||||
if (this.bo == null) {
|
if (this.bo == null) {
|
||||||
@@ -312,6 +332,7 @@ public class EntityTypes<T extends Entity> {
|
@@ -450,6 +470,7 @@ public class EntityTypes<T extends Entity> {
|
||||||
return this.bo;
|
return this.bo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,13 +50,13 @@ index 4410939423a75357cc2d16bc4a3b96a504942320..9575d5a8a9cf0beddc6d10da86a089b5
|
|||||||
public IChatBaseComponent g() {
|
public IChatBaseComponent g() {
|
||||||
if (this.bp == null) {
|
if (this.bp == null) {
|
||||||
this.bp = new ChatMessage(this.f());
|
this.bp = new ChatMessage(this.f());
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemMonsterEgg.java b/src/main/java/net/minecraft/server/ItemMonsterEgg.java
|
diff --git a/src/main/java/net/minecraft/world/item/ItemMonsterEgg.java b/src/main/java/net/minecraft/world/item/ItemMonsterEgg.java
|
||||||
index eeac4aeaf21b43647aa643ec55a1ae842a7ac197..d66acf90d0b1bcd5c6481d2a2ee753c7693995b0 100644
|
index addddb64956c63563fc072b35cc511d31c9afd45..5e2d0246146af8bf1de1038f6a1953451b99f0f5 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ItemMonsterEgg.java
|
--- a/src/main/java/net/minecraft/world/item/ItemMonsterEgg.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemMonsterEgg.java
|
+++ b/src/main/java/net/minecraft/world/item/ItemMonsterEgg.java
|
||||||
@@ -7,6 +7,13 @@ import java.util.Objects;
|
@@ -33,6 +33,13 @@ import net.minecraft.world.phys.MovingObjectPosition;
|
||||||
import java.util.Optional;
|
import net.minecraft.world.phys.MovingObjectPositionBlock;
|
||||||
import javax.annotation.Nullable;
|
import net.minecraft.world.phys.Vec3D;
|
||||||
|
|
||||||
+// Purpur start
|
+// Purpur start
|
||||||
+import net.pl3x.purpur.event.PlayerSetSpawnerTypeWithEggEvent;
|
+import net.pl3x.purpur.event.PlayerSetSpawnerTypeWithEggEvent;
|
||||||
@@ -68,7 +68,7 @@ index eeac4aeaf21b43647aa643ec55a1ae842a7ac197..d66acf90d0b1bcd5c6481d2a2ee753c7
|
|||||||
public class ItemMonsterEgg extends Item {
|
public class ItemMonsterEgg extends Item {
|
||||||
|
|
||||||
public static final Map<EntityTypes<?>, ItemMonsterEgg> a = Maps.newIdentityHashMap(); // Purpur - private -> public
|
public static final Map<EntityTypes<?>, ItemMonsterEgg> a = Maps.newIdentityHashMap(); // Purpur - private -> public
|
||||||
@@ -41,6 +48,15 @@ public class ItemMonsterEgg extends Item {
|
@@ -67,6 +74,15 @@ public class ItemMonsterEgg extends Item {
|
||||||
MobSpawnerAbstract mobspawnerabstract = ((TileEntityMobSpawner) tileentity).getSpawner();
|
MobSpawnerAbstract mobspawnerabstract = ((TileEntityMobSpawner) tileentity).getSpawner();
|
||||||
EntityTypes<?> entitytypes = this.a(itemstack.getTag());
|
EntityTypes<?> entitytypes = this.a(itemstack.getTag());
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sat, 20 Jul 2013 22:40:56 -0400
|
|||||||
Subject: [PATCH] EMC - MonsterEggSpawnEvent
|
Subject: [PATCH] EMC - MonsterEggSpawnEvent
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityTypes.java b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
index 9575d5a8a9cf0beddc6d10da86a089b5425f2320..eea7cf2121f447e0eb172224ae6a7d5c8fa4b10b 100644
|
index e858e41e046665016327f0ef3f19cf5db765fe3b..acf4cbfd9780f186880c595c8fac8d91b8f56e68 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityTypes.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityTypes.java
|
||||||
@@ -189,13 +189,20 @@ public class EntityTypes<T extends Entity> {
|
@@ -320,13 +320,20 @@ public class EntityTypes<T extends Entity> {
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public Entity spawnCreature(WorldServer worldserver, @Nullable ItemStack itemstack, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1) {
|
public Entity spawnCreature(WorldServer worldserver, @Nullable ItemStack itemstack, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1) {
|
||||||
@@ -27,22 +27,23 @@ index 9575d5a8a9cf0beddc6d10da86a089b5425f2320..eea7cf2121f447e0eb172224ae6a7d5c
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
- return this.spawnCreature(worldserver, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG);
|
- return this.spawnCreature(worldserver, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG);
|
||||||
+ return this.spawnCreature(worldserver, itemstack, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG); // Purpur
|
+ return this.spawnCreature(worldserver, itemstack, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG, null); // Purpur
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -214,8 +221,28 @@ public class EntityTypes<T extends Entity> {
|
@@ -351,9 +358,29 @@ public class EntityTypes<T extends Entity> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ return spawnCreature(worldserver, null, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1, spawnReason);
|
+ return spawnCreature(worldserver, null, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1, spawnReason, op);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Nullable
|
+ @Nullable
|
||||||
+ public T spawnCreature(WorldServer worldserver, @Nullable ItemStack itemstack, @Nullable NBTTagCompound nbttagcompound, @Nullable IChatBaseComponent ichatbasecomponent, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) {
|
+ public T spawnCreature(WorldServer worldserver, @Nullable ItemStack itemstack, @Nullable NBTTagCompound nbttagcompound, @Nullable IChatBaseComponent ichatbasecomponent, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason, @Nullable java.util.function.Consumer<T> op) {
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
T t0 = this.createCreature(worldserver, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1);
|
T t0 = this.createCreature(worldserver, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1);
|
||||||
|
if (t0 != null && op != null) op.accept(t0); // Paper
|
||||||
|
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ if (spawnReason == org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG && itemstack != null && t0 != null) {
|
+ if (spawnReason == org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG && itemstack != null && t0 != null) {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sat, 2 May 2020 20:55:44 -0500
|
|||||||
Subject: [PATCH] Player invulnerabilities
|
Subject: [PATCH] Player invulnerabilities
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/EntityPlayer.java b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
index 9be41dab47230046e576f4472c4c1c23523aa28c..2660a87fcfbed135c834acc13db6c758a66ccf8c 100644
|
index f30dcbd26ed56ba8f1a99260722a0b395c220954..7cd1ae92768164b657af9febe9b4feb7fd02f55a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
@@ -154,6 +154,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -284,6 +284,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
this.canPickUpLoot = true;
|
this.canPickUpLoot = true;
|
||||||
this.maxHealthCache = this.getMaxHealth();
|
this.maxHealthCache = this.getMaxHealth();
|
||||||
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
|
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
|
||||||
@@ -17,7 +17,7 @@ index 9be41dab47230046e576f4472c4c1c23523aa28c..2660a87fcfbed135c834acc13db6c758
|
|||||||
}
|
}
|
||||||
// Paper start
|
// Paper start
|
||||||
public BlockPosition getPointInFront(double inFront) {
|
public BlockPosition getPointInFront(double inFront) {
|
||||||
@@ -989,6 +991,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -1119,6 +1121,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ index 9be41dab47230046e576f4472c4c1c23523aa28c..2660a87fcfbed135c834acc13db6c758
|
|||||||
@Override
|
@Override
|
||||||
public boolean damageEntity(DamageSource damagesource, float f) {
|
public boolean damageEntity(DamageSource damagesource, float f) {
|
||||||
if (this.isInvulnerable(damagesource)) {
|
if (this.isInvulnerable(damagesource)) {
|
||||||
@@ -996,7 +1004,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -1126,7 +1134,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
} else {
|
} else {
|
||||||
boolean flag = this.server.j() && this.canPvP() && "fall".equals(damagesource.translationIndex);
|
boolean flag = this.server.j() && this.canPvP() && "fall".equals(damagesource.translationIndex);
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ index 9be41dab47230046e576f4472c4c1c23523aa28c..2660a87fcfbed135c834acc13db6c758
|
|||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
if (damagesource instanceof EntityDamageSource) {
|
if (damagesource instanceof EntityDamageSource) {
|
||||||
@@ -1172,6 +1180,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -1302,6 +1310,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ index 9be41dab47230046e576f4472c4c1c23523aa28c..2660a87fcfbed135c834acc13db6c758
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2358,9 +2367,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -2488,9 +2497,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isFrozen() { // Paper - protected > public
|
public boolean isFrozen() { // Paper - protected > public
|
||||||
@@ -66,11 +66,11 @@ index 9be41dab47230046e576f4472c4c1c23523aa28c..2660a87fcfbed135c834acc13db6c758
|
|||||||
@Override
|
@Override
|
||||||
public Scoreboard getScoreboard() {
|
public Scoreboard getScoreboard() {
|
||||||
return getBukkitEntity().getScoreboard().getHandle();
|
return getBukkitEntity().getScoreboard().getHandle();
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
index bba8dc8fd10dc34179ca3c8cf471fbb3739fa7b4..c586005b34c59710cf398e30924ff3653e0d62fd 100644
|
index 789cf1652fec8346c1ea3ca47d9ac43c0765528a..a056adcae8c4c46ede25fdd33aeab616a1af3a76 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
@@ -1737,6 +1737,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
@@ -1882,6 +1882,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||||
PlayerConnectionUtils.ensureMainThread(packetplayinresourcepackstatus, this, this.player.getWorldServer());
|
PlayerConnectionUtils.ensureMainThread(packetplayinresourcepackstatus, this, this.player.getWorldServer());
|
||||||
// Paper start
|
// Paper start
|
||||||
PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packetplayinresourcepackstatus.status.ordinal()];
|
PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packetplayinresourcepackstatus.status.ordinal()];
|
||||||
@@ -78,11 +78,11 @@ index bba8dc8fd10dc34179ca3c8cf471fbb3739fa7b4..c586005b34c59710cf398e30924ff365
|
|||||||
player.getBukkitEntity().setResourcePackStatus(packStatus);
|
player.getBukkitEntity().setResourcePackStatus(packStatus);
|
||||||
this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), packStatus));
|
this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), packStatus));
|
||||||
// Paper end
|
// Paper end
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index a12e58668e74f2287ddff5bedc00daf2b0a416c1..7f784709ab8c560fd2dae551b6c8c234a2d134c6 100644
|
index ac98a3122ee30971b31761f3bc564b41d5ac879f..49acc6e43748a2d2a68f1b134421831b2feedd7b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -914,6 +914,8 @@ public abstract class PlayerList {
|
@@ -998,6 +998,8 @@ public abstract class PlayerList {
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
@@ -108,10 +108,10 @@ index 2578a4677d1ee060f687be531e696b7c7be89e84..c441fcea9b2b5a77b801c8a69541cf42
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index abf2a6b9d18f04baa077ededa3562a30dbaa4fe4..8bf29aca4b5aa0d51ed3cda25b37d30e6c986848 100644
|
index f4052aaa2235894b996d65c569a083f1a09b59a3..1ff48eae5e5b732fbd1e720c55e08a30669bebfa 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -2498,5 +2498,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -2507,5 +2507,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
public void resetIdleTimer() {
|
public void resetIdleTimer() {
|
||||||
getHandle().resetIdleTimer();
|
getHandle().resetIdleTimer();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,25 @@ Date: Sun, 19 Apr 2020 00:17:56 -0500
|
|||||||
Subject: [PATCH] Anvil API
|
Subject: [PATCH] Anvil API
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ContainerAnvil.java b/src/main/java/net/minecraft/server/ContainerAnvil.java
|
diff --git a/src/main/java/net/minecraft/world/inventory/ContainerAnvil.java b/src/main/java/net/minecraft/world/inventory/ContainerAnvil.java
|
||||||
index fc2038df89f25c07f6f853f6df41fe9b203c3585..4aa6b035a6a8ea39401c6566cd286de39f60e942 100644
|
index ae5674ae9c539720a657838a640050cd3b4dc5b5..1b2d633f3d5d735039f18f27fb1387bd5a74f0d8 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ContainerAnvil.java
|
--- a/src/main/java/net/minecraft/world/inventory/ContainerAnvil.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ContainerAnvil.java
|
+++ b/src/main/java/net/minecraft/world/inventory/ContainerAnvil.java
|
||||||
@@ -20,6 +20,8 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
@@ -2,8 +2,13 @@ package net.minecraft.world.inventory;
|
||||||
|
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.Map;
|
||||||
|
+
|
||||||
|
+import net.minecraft.nbt.NBTTagInt;
|
||||||
|
import net.minecraft.network.chat.ChatComponentText;
|
||||||
|
import net.minecraft.network.chat.IChatBaseComponent;
|
||||||
|
+import net.minecraft.network.protocol.game.PacketPlayOutSetSlot;
|
||||||
|
+import net.minecraft.network.protocol.game.PacketPlayOutWindowData;
|
||||||
|
+import net.minecraft.server.level.EntityPlayer;
|
||||||
|
import net.minecraft.tags.Tag;
|
||||||
|
import net.minecraft.tags.TagsBlock;
|
||||||
|
import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
@@ -33,6 +38,8 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
||||||
public int maximumRepairCost = 40;
|
public int maximumRepairCost = 40;
|
||||||
private CraftInventoryView bukkitEntity;
|
private CraftInventoryView bukkitEntity;
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
@@ -17,7 +31,7 @@ index fc2038df89f25c07f6f853f6df41fe9b203c3585..4aa6b035a6a8ea39401c6566cd286de3
|
|||||||
|
|
||||||
public ContainerAnvil(int i, PlayerInventory playerinventory) {
|
public ContainerAnvil(int i, PlayerInventory playerinventory) {
|
||||||
this(i, playerinventory, ContainerAccess.a);
|
this(i, playerinventory, ContainerAccess.a);
|
||||||
@@ -38,12 +40,14 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
@@ -51,12 +58,14 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean b(EntityHuman entityhuman, boolean flag) {
|
protected boolean b(EntityHuman entityhuman, boolean flag) {
|
||||||
@@ -33,7 +47,7 @@ index fc2038df89f25c07f6f853f6df41fe9b203c3585..4aa6b035a6a8ea39401c6566cd286de3
|
|||||||
entityhuman.levelDown(-this.levelCost.get());
|
entityhuman.levelDown(-this.levelCost.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,6 +98,12 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
@@ -107,6 +116,12 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void e() {
|
public void e() {
|
||||||
@@ -46,7 +60,7 @@ index fc2038df89f25c07f6f853f6df41fe9b203c3585..4aa6b035a6a8ea39401c6566cd286de3
|
|||||||
ItemStack itemstack = this.repairInventory.getItem(0);
|
ItemStack itemstack = this.repairInventory.getItem(0);
|
||||||
|
|
||||||
this.levelCost.set(1);
|
this.levelCost.set(1);
|
||||||
@@ -170,7 +180,7 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
@@ -183,7 +198,7 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
||||||
int i2 = (Integer) map1.get(enchantment);
|
int i2 = (Integer) map1.get(enchantment);
|
||||||
|
|
||||||
i2 = l1 == i2 ? i2 + 1 : Math.max(i2, l1);
|
i2 = l1 == i2 ? i2 + 1 : Math.max(i2, l1);
|
||||||
@@ -55,7 +69,7 @@ index fc2038df89f25c07f6f853f6df41fe9b203c3585..4aa6b035a6a8ea39401c6566cd286de3
|
|||||||
|
|
||||||
if (this.player.abilities.canInstantlyBuild || itemstack.getItem() == Items.ENCHANTED_BOOK) {
|
if (this.player.abilities.canInstantlyBuild || itemstack.getItem() == Items.ENCHANTED_BOOK) {
|
||||||
flag3 = true;
|
flag3 = true;
|
||||||
@@ -182,7 +192,7 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
@@ -195,7 +210,7 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
||||||
Enchantment enchantment1 = (Enchantment) iterator1.next();
|
Enchantment enchantment1 = (Enchantment) iterator1.next();
|
||||||
|
|
||||||
if (enchantment1 != enchantment && !enchantment.isCompatible(enchantment1)) {
|
if (enchantment1 != enchantment && !enchantment.isCompatible(enchantment1)) {
|
||||||
@@ -64,7 +78,7 @@ index fc2038df89f25c07f6f853f6df41fe9b203c3585..4aa6b035a6a8ea39401c6566cd286de3
|
|||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -253,6 +263,13 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
@@ -266,6 +281,13 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
||||||
this.levelCost.set(maximumRepairCost - 1); // CraftBukkit
|
this.levelCost.set(maximumRepairCost - 1); // CraftBukkit
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,7 +92,7 @@ index fc2038df89f25c07f6f853f6df41fe9b203c3585..4aa6b035a6a8ea39401c6566cd286de3
|
|||||||
if (this.levelCost.get() >= maximumRepairCost && !this.player.abilities.canInstantlyBuild) { // CraftBukkit
|
if (this.levelCost.get() >= maximumRepairCost && !this.player.abilities.canInstantlyBuild) { // CraftBukkit
|
||||||
itemstack1 = ItemStack.b;
|
itemstack1 = ItemStack.b;
|
||||||
}
|
}
|
||||||
@@ -274,6 +291,12 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
@@ -287,6 +309,12 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
||||||
|
|
||||||
org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(getBukkitView(), itemstack1); // CraftBukkit
|
org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(getBukkitView(), itemstack1); // CraftBukkit
|
||||||
this.c();
|
this.c();
|
||||||
@@ -92,7 +106,7 @@ index fc2038df89f25c07f6f853f6df41fe9b203c3585..4aa6b035a6a8ea39401c6566cd286de3
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java
|
||||||
index 9374c27061280e51bcbae24573eb5d36736c3e4f..d45f356be39cbe271cd2a257b9dac66b88a346fd 100644
|
index fd59f77d78a97898657919a77405b39ca24cddc9..151c478c6cb19d88000da46b6fbb952e97e58c95 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java
|
||||||
@@ -9,7 +9,7 @@ import org.bukkit.inventory.AnvilInventory;
|
@@ -9,7 +9,7 @@ import org.bukkit.inventory.AnvilInventory;
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Tue, 23 Jul 2019 08:28:21 -0500
|
|||||||
Subject: [PATCH] Configurable villager brain ticks
|
Subject: [PATCH] Configurable villager brain ticks
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java b/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||||
index 98b26a2f537594facb4ef32f9e3b6a81e41d6545..4491b2199acd4ba9706d82c7e69d80fbc6083344 100644
|
index d8028675fc82883d716bcfb44431ca6ac7dfda36..5539c4cbea46398e92ab6ec56bb9b821e5f01e02 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||||
@@ -56,6 +56,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
@@ -127,6 +127,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||||
}, MemoryModuleType.MEETING_POINT, (entityvillager, villageplacetype) -> {
|
}, MemoryModuleType.MEETING_POINT, (entityvillager, villageplacetype) -> {
|
||||||
return villageplacetype == VillagePlaceType.s;
|
return villageplacetype == VillagePlaceType.s;
|
||||||
});
|
});
|
||||||
@@ -16,7 +16,7 @@ index 98b26a2f537594facb4ef32f9e3b6a81e41d6545..4491b2199acd4ba9706d82c7e69d80fb
|
|||||||
|
|
||||||
public EntityVillager(EntityTypes<? extends EntityVillager> entitytypes, World world) {
|
public EntityVillager(EntityTypes<? extends EntityVillager> entitytypes, World world) {
|
||||||
this(entitytypes, world, VillagerType.PLAINS);
|
this(entitytypes, world, VillagerType.PLAINS);
|
||||||
@@ -68,6 +69,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
@@ -139,6 +140,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||||
this.getNavigation().d(true);
|
this.getNavigation().d(true);
|
||||||
this.setCanPickupLoot(true);
|
this.setCanPickupLoot(true);
|
||||||
this.setVillagerData(this.getVillagerData().withType(villagertype).withProfession(VillagerProfession.NONE));
|
this.setVillagerData(this.getVillagerData().withType(villagertype).withProfession(VillagerProfession.NONE));
|
||||||
@@ -24,7 +24,7 @@ index 98b26a2f537594facb4ef32f9e3b6a81e41d6545..4491b2199acd4ba9706d82c7e69d80fb
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -166,6 +168,10 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
@@ -237,6 +239,10 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||||
protected void mobTick() { mobTick(false); }
|
protected void mobTick() { mobTick(false); }
|
||||||
protected void mobTick(boolean inactive) {
|
protected void mobTick(boolean inactive) {
|
||||||
this.world.getMethodProfiler().enter("villagerBrain");
|
this.world.getMethodProfiler().enter("villagerBrain");
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Fri, 11 Oct 2019 00:17:39 -0500
|
|||||||
Subject: [PATCH] Alternative Keepalive Handling
|
Subject: [PATCH] Alternative Keepalive Handling
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java b/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java
|
diff --git a/src/main/java/net/minecraft/network/protocol/game/PacketPlayInKeepAlive.java b/src/main/java/net/minecraft/network/protocol/game/PacketPlayInKeepAlive.java
|
||||||
index 8e93f1540ba5f995489c1fbcec70d10b011cd9c3..470f92c4fb0919d052b19acff8dff533724fbcc1 100644
|
index b4c37287362907b8507d156b978ba5b9d961bb7b..9e6e6636539702507abb78515e002819661027af 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java
|
--- a/src/main/java/net/minecraft/network/protocol/game/PacketPlayInKeepAlive.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java
|
+++ b/src/main/java/net/minecraft/network/protocol/game/PacketPlayInKeepAlive.java
|
||||||
@@ -22,6 +22,7 @@ public class PacketPlayInKeepAlive implements Packet<PacketListenerPlayIn> {
|
@@ -24,6 +24,7 @@ public class PacketPlayInKeepAlive implements Packet<PacketListenerPlayIn> {
|
||||||
packetdataserializer.writeLong(this.a);
|
packetdataserializer.writeLong(this.a);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -16,11 +16,11 @@ index 8e93f1540ba5f995489c1fbcec70d10b011cd9c3..470f92c4fb0919d052b19acff8dff533
|
|||||||
public long b() {
|
public long b() {
|
||||||
return this.a;
|
return this.a;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
index c586005b34c59710cf398e30924ff3653e0d62fd..be29ecfa00d53ad2067015a5261184b4157c604b 100644
|
index a056adcae8c4c46ede25fdd33aeab616a1af3a76..68200fe85fc4e66bb58dd35df306ba37604b6b94 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
@@ -86,6 +86,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
@@ -231,6 +231,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||||
private long lastKeepAlive = SystemUtils.getMonotonicMillis(); private void setLastPing(long lastPing) { this.lastKeepAlive = lastPing;}; private long getLastPing() { return this.lastKeepAlive;}; // Paper - OBFHELPER
|
private long lastKeepAlive = SystemUtils.getMonotonicMillis(); private void setLastPing(long lastPing) { this.lastKeepAlive = lastPing;}; private long getLastPing() { return this.lastKeepAlive;}; // Paper - OBFHELPER
|
||||||
private boolean awaitingKeepAlive; private void setPendingPing(boolean isPending) { this.awaitingKeepAlive = isPending;}; private boolean isPendingPing() { return this.awaitingKeepAlive;}; // Paper - OBFHELPER
|
private boolean awaitingKeepAlive; private void setPendingPing(boolean isPending) { this.awaitingKeepAlive = isPending;}; private boolean isPendingPing() { return this.awaitingKeepAlive;}; // Paper - OBFHELPER
|
||||||
private long h; private void setKeepAliveID(long keepAliveID) { this.h = keepAliveID;}; private long getKeepAliveID() {return this.h; }; // Paper - OBFHELPER
|
private long h; private void setKeepAliveID(long keepAliveID) { this.h = keepAliveID;}; private long getKeepAliveID() {return this.h; }; // Paper - OBFHELPER
|
||||||
@@ -28,7 +28,7 @@ index c586005b34c59710cf398e30924ff3653e0d62fd..be29ecfa00d53ad2067015a5261184b4
|
|||||||
// CraftBukkit start - multithreaded fields
|
// CraftBukkit start - multithreaded fields
|
||||||
private volatile int chatThrottle;
|
private volatile int chatThrottle;
|
||||||
private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle");
|
private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle");
|
||||||
@@ -220,6 +221,21 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
@@ -365,6 +366,21 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||||
long currentTime = SystemUtils.getMonotonicMillis();
|
long currentTime = SystemUtils.getMonotonicMillis();
|
||||||
long elapsedTime = currentTime - this.getLastPing();
|
long elapsedTime = currentTime - this.getLastPing();
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ index c586005b34c59710cf398e30924ff3653e0d62fd..be29ecfa00d53ad2067015a5261184b4
|
|||||||
if (this.isPendingPing()) {
|
if (this.isPendingPing()) {
|
||||||
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
||||||
PlayerConnection.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getName()); // more info
|
PlayerConnection.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getName()); // more info
|
||||||
@@ -2908,6 +2924,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
@@ -3053,6 +3069,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void a(PacketPlayInKeepAlive packetplayinkeepalive) {
|
public void a(PacketPlayInKeepAlive packetplayinkeepalive) {
|
||||||
@@ -68,7 +68,7 @@ index c586005b34c59710cf398e30924ff3653e0d62fd..be29ecfa00d53ad2067015a5261184b4
|
|||||||
if (this.awaitingKeepAlive && packetplayinkeepalive.b() == this.h) {
|
if (this.awaitingKeepAlive && packetplayinkeepalive.b() == this.h) {
|
||||||
int i = (int) (SystemUtils.getMonotonicMillis() - this.lastKeepAlive);
|
int i = (int) (SystemUtils.getMonotonicMillis() - this.lastKeepAlive);
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
index a34ed978596f1a466b0b48e7db92ac4f1345a996..9593ac057ef5b79fb54501d7cce1e69e49102918 100644
|
index b54ea480321a3d9153a89e842787b27875e43ef4..c856e5bd83f0b6582efdad036262511ff89ec49f 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
@@ -155,6 +155,11 @@ public class PurpurConfig {
|
@@ -155,6 +155,11 @@ public class PurpurConfig {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Silk touch spawners
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
diff --git a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
||||||
index c45d48cef53476fa1602cebaa57c72894bba10d3..d563694540fd22c89ada65787d9e996eecee26f4 100644
|
index 71938ad7b3494e803beca7e4022aad12a51f2096..0b77884d8134c328f8fd1bbb8230d260606dc5ee 100644
|
||||||
--- a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
--- a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
||||||
+++ b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
+++ b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
|
||||||
@@ -81,6 +81,7 @@ public final class PaperAdventure {
|
@@ -81,6 +81,7 @@ public final class PaperAdventure {
|
||||||
@@ -16,12 +16,92 @@ index c45d48cef53476fa1602cebaa57c72894bba10d3..d563694540fd22c89ada65787d9e996e
|
|||||||
public static final PlainComponentSerializer PLAIN = PlainComponentSerializer.builder().flattener(FLATTENER).build();
|
public static final PlainComponentSerializer PLAIN = PlainComponentSerializer.builder().flattener(FLATTENER).build();
|
||||||
static final GsonComponentSerializer GSON = GsonComponentSerializer.builder()
|
static final GsonComponentSerializer GSON = GsonComponentSerializer.builder()
|
||||||
.legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.INSTANCE)
|
.legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.INSTANCE)
|
||||||
diff --git a/src/main/java/net/minecraft/server/BlockMobSpawner.java b/src/main/java/net/minecraft/server/BlockMobSpawner.java
|
diff --git a/src/main/java/net/minecraft/server/ItemSpawner.java b/src/main/java/net/minecraft/server/ItemSpawner.java
|
||||||
index 81e145ff0759322f74888c81df8d2133fece7144..567a6a064254d99ae6a931b91e6bdd94badb19fc 100644
|
new file mode 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BlockMobSpawner.java
|
index 0000000000000000000000000000000000000000..599672ed4d0fc412ad3c0fa2e9d9df7035694fa2
|
||||||
+++ b/src/main/java/net/minecraft/server/BlockMobSpawner.java
|
--- /dev/null
|
||||||
@@ -1,5 +1,17 @@
|
+++ b/src/main/java/net/minecraft/server/ItemSpawner.java
|
||||||
package net.minecraft.server;
|
@@ -0,0 +1,35 @@
|
||||||
|
+package net.minecraft.server;
|
||||||
|
+
|
||||||
|
+import net.minecraft.core.BlockPosition;
|
||||||
|
+import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
+import net.minecraft.world.entity.EntityTypes;
|
||||||
|
+import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
+import net.minecraft.world.item.ItemBlock;
|
||||||
|
+import net.minecraft.world.item.ItemStack;
|
||||||
|
+import net.minecraft.world.level.World;
|
||||||
|
+import net.minecraft.world.level.block.Block;
|
||||||
|
+import net.minecraft.world.level.block.entity.TileEntity;
|
||||||
|
+import net.minecraft.world.level.block.entity.TileEntityMobSpawner;
|
||||||
|
+import net.minecraft.world.level.block.state.IBlockData;
|
||||||
|
+
|
||||||
|
+public class ItemSpawner extends ItemBlock {
|
||||||
|
+ public ItemSpawner(Block block, Info info) {
|
||||||
|
+ super(block, info);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ protected boolean a(BlockPosition blockposition, World world, EntityHuman entityhuman, ItemStack itemstack, IBlockData iblockdata) {
|
||||||
|
+ boolean handled = super.a(blockposition, world, entityhuman, itemstack, iblockdata);
|
||||||
|
+ if (world.purpurConfig.silkTouchEnabled && entityhuman.getBukkitEntity().hasPermission("purpur.place.spawners")) {
|
||||||
|
+ TileEntity spawner = world.getTileEntity(blockposition);
|
||||||
|
+ if (spawner instanceof TileEntityMobSpawner && itemstack.hasTag()) {
|
||||||
|
+ NBTTagCompound tag = itemstack.getTag();
|
||||||
|
+ if (tag.hasKey("Purpur.mob_type")) {
|
||||||
|
+ EntityTypes.getByName(tag.getString("Purpur.mob_type")).ifPresent(type ->
|
||||||
|
+ ((TileEntityMobSpawner) spawner).getSpawner().setMobName(type));
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ return handled;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
|
||||||
|
index fc5cc610e7ea584ce72600b9d9f47543265725bb..8e9a25495d76251a86268d3059e2960a86dc46b3 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/item/Items.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/item/Items.java
|
||||||
|
@@ -2,6 +2,7 @@ package net.minecraft.world.item;
|
||||||
|
|
||||||
|
import net.minecraft.core.IRegistry;
|
||||||
|
import net.minecraft.resources.MinecraftKey;
|
||||||
|
+import net.minecraft.server.ItemSpawner;
|
||||||
|
import net.minecraft.sounds.SoundEffects;
|
||||||
|
import net.minecraft.world.entity.EntityTypes;
|
||||||
|
import net.minecraft.world.entity.EnumItemSlot;
|
||||||
|
@@ -193,7 +194,7 @@ public class Items {
|
||||||
|
public static final Item ct = a(Blocks.PURPUR_BLOCK, CreativeModeTab.b);
|
||||||
|
public static final Item cu = a(Blocks.PURPUR_PILLAR, CreativeModeTab.b);
|
||||||
|
public static final Item cv = a(Blocks.PURPUR_STAIRS, CreativeModeTab.b);
|
||||||
|
- public static final Item cw = a(Blocks.SPAWNER);
|
||||||
|
+ public static final Item cw = a(Blocks.SPAWNER, new ItemSpawner(Blocks.SPAWNER, new Item.Info().a(EnumItemRarity.EPIC))); // Purpur
|
||||||
|
public static final Item cx = a(Blocks.OAK_STAIRS, CreativeModeTab.b);
|
||||||
|
public static final Item cy = a(Blocks.CHEST, CreativeModeTab.c);
|
||||||
|
public static final Item cz = a(Blocks.DIAMOND_ORE, CreativeModeTab.b);
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/block/BlockMobSpawner.java b/src/main/java/net/minecraft/world/level/block/BlockMobSpawner.java
|
||||||
|
index 287dd5f1b2b913df4029966860cd1a426947b187..af3c1a6307fb9e244226794508382d2ffa2aeb4b 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/block/BlockMobSpawner.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/block/BlockMobSpawner.java
|
||||||
|
@@ -1,14 +1,35 @@
|
||||||
|
package net.minecraft.world.level.block;
|
||||||
|
|
||||||
|
import net.minecraft.core.BlockPosition;
|
||||||
|
+import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
+import net.minecraft.nbt.NBTTagList;
|
||||||
|
+import net.minecraft.nbt.NBTTagString;
|
||||||
|
+import net.minecraft.resources.MinecraftKey;
|
||||||
|
import net.minecraft.server.level.WorldServer;
|
||||||
|
+import net.minecraft.world.entity.EntityTypes;
|
||||||
|
+import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
+import net.minecraft.world.item.enchantment.EnchantmentManager;
|
||||||
|
+import net.minecraft.world.item.enchantment.Enchantments;
|
||||||
|
import net.minecraft.world.level.IBlockAccess;
|
||||||
|
+import net.minecraft.world.level.World;
|
||||||
|
import net.minecraft.world.level.block.entity.TileEntity;
|
||||||
|
import net.minecraft.world.level.block.entity.TileEntityMobSpawner;
|
||||||
|
import net.minecraft.world.level.block.state.BlockBase;
|
||||||
|
import net.minecraft.world.level.block.state.IBlockData;
|
||||||
|
|
||||||
+// Purpur start
|
+// Purpur start
|
||||||
+import io.papermc.paper.adventure.PaperAdventure;
|
+import io.papermc.paper.adventure.PaperAdventure;
|
||||||
@@ -38,7 +118,7 @@ index 81e145ff0759322f74888c81df8d2133fece7144..567a6a064254d99ae6a931b91e6bdd94
|
|||||||
public class BlockMobSpawner extends BlockTileEntity {
|
public class BlockMobSpawner extends BlockTileEntity {
|
||||||
|
|
||||||
protected BlockMobSpawner(BlockBase.Info blockbase_info) {
|
protected BlockMobSpawner(BlockBase.Info blockbase_info) {
|
||||||
@@ -11,6 +23,59 @@ public class BlockMobSpawner extends BlockTileEntity {
|
@@ -20,6 +41,59 @@ public class BlockMobSpawner extends BlockTileEntity {
|
||||||
return new TileEntityMobSpawner();
|
return new TileEntityMobSpawner();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,7 +178,7 @@ index 81e145ff0759322f74888c81df8d2133fece7144..567a6a064254d99ae6a931b91e6bdd94
|
|||||||
@Override
|
@Override
|
||||||
public void dropNaturally(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, ItemStack itemstack) {
|
public void dropNaturally(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, ItemStack itemstack) {
|
||||||
super.dropNaturally(iblockdata, worldserver, blockposition, itemstack);
|
super.dropNaturally(iblockdata, worldserver, blockposition, itemstack);
|
||||||
@@ -23,6 +88,7 @@ public class BlockMobSpawner extends BlockTileEntity {
|
@@ -32,6 +106,7 @@ public class BlockMobSpawner extends BlockTileEntity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getExpDrop(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, ItemStack itemstack) {
|
public int getExpDrop(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, ItemStack itemstack) {
|
||||||
@@ -106,59 +186,17 @@ index 81e145ff0759322f74888c81df8d2133fece7144..567a6a064254d99ae6a931b91e6bdd94
|
|||||||
int i = 15 + worldserver.random.nextInt(15) + worldserver.random.nextInt(15);
|
int i = 15 + worldserver.random.nextInt(15) + worldserver.random.nextInt(15);
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemSpawner.java b/src/main/java/net/minecraft/server/ItemSpawner.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..5c7f73918542bbdbc8d8f97671f24091fc6cb83b
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemSpawner.java
|
|
||||||
@@ -0,0 +1,23 @@
|
|
||||||
+package net.minecraft.server;
|
|
||||||
+
|
|
||||||
+public class ItemSpawner extends ItemBlock {
|
|
||||||
+ public ItemSpawner(Block block, Info info) {
|
|
||||||
+ super(block, info);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ protected boolean a(BlockPosition blockposition, World world, EntityHuman entityhuman, ItemStack itemstack, IBlockData iblockdata) {
|
|
||||||
+ boolean handled = super.a(blockposition, world, entityhuman, itemstack, iblockdata);
|
|
||||||
+ if (world.purpurConfig.silkTouchEnabled && entityhuman.getBukkitEntity().hasPermission("purpur.place.spawners")) {
|
|
||||||
+ TileEntity spawner = world.getTileEntity(blockposition);
|
|
||||||
+ if (spawner instanceof TileEntityMobSpawner && itemstack.hasTag()) {
|
|
||||||
+ NBTTagCompound tag = itemstack.getTag();
|
|
||||||
+ if (tag.hasKey("Purpur.mob_type")) {
|
|
||||||
+ EntityTypes.getByName(tag.getString("Purpur.mob_type")).ifPresent(type ->
|
|
||||||
+ ((TileEntityMobSpawner) spawner).getSpawner().setMobName(type));
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return handled;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Items.java b/src/main/java/net/minecraft/server/Items.java
|
|
||||||
index 1c861bccc2652057cb154667a5bf7269092b2db4..67ebcbe4daa1ef3cef6ca43ec92befbe4156842e 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/Items.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/Items.java
|
|
||||||
@@ -180,7 +180,7 @@ public class Items {
|
|
||||||
public static final Item ct = a(Blocks.PURPUR_BLOCK, CreativeModeTab.b);
|
|
||||||
public static final Item cu = a(Blocks.PURPUR_PILLAR, CreativeModeTab.b);
|
|
||||||
public static final Item cv = a(Blocks.PURPUR_STAIRS, CreativeModeTab.b);
|
|
||||||
- public static final Item cw = a(Blocks.SPAWNER);
|
|
||||||
+ public static final Item cw = a(Blocks.SPAWNER, new ItemSpawner(Blocks.SPAWNER, new Item.Info().a(EnumItemRarity.EPIC))); // Purpur
|
|
||||||
public static final Item cx = a(Blocks.OAK_STAIRS, CreativeModeTab.b);
|
|
||||||
public static final Item cy = a(Blocks.CHEST, CreativeModeTab.c);
|
|
||||||
public static final Item cz = a(Blocks.DIAMOND_ORE, CreativeModeTab.b);
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index c7fb5a737cab0083c39732247acb8f4e87562894..ba89efb3159ab04a6239865967f93055cb6be7a9 100644
|
index c7fb5a737cab0083c39732247acb8f4e87562894..10a6fcd70869719ed2b2d1442a83ab912e00c898 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -1,6 +1,12 @@
|
@@ -1,6 +1,12 @@
|
||||||
package net.pl3x.purpur;
|
package net.pl3x.purpur;
|
||||||
|
|
||||||
+import net.minecraft.server.IRegistry;
|
+import net.minecraft.core.IRegistry;
|
||||||
+import net.minecraft.server.Item;
|
+import net.minecraft.world.item.Item;
|
||||||
+import net.minecraft.server.Items;
|
+import net.minecraft.world.item.Items;
|
||||||
+import net.minecraft.server.MinecraftKey;
|
+import net.minecraft.resources.MinecraftKey;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
+
|
+
|
||||||
+import java.util.ArrayList;
|
+import java.util.ArrayList;
|
||||||
|
|||||||
@@ -4,11 +4,27 @@ Date: Thu, 6 Jun 2019 22:15:46 -0500
|
|||||||
Subject: [PATCH] MC-168772 Fix - Add turtle egg block options
|
Subject: [PATCH] MC-168772 Fix - Add turtle egg block options
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/BlockTurtleEgg.java b/src/main/java/net/minecraft/server/BlockTurtleEgg.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/BlockTurtleEgg.java b/src/main/java/net/minecraft/world/level/block/BlockTurtleEgg.java
|
||||||
index 00c37493c28805558dea06a20973f32ab0359016..0f147dc938cef428452bd3137c68b52a78f9fbde 100644
|
index 6093d4c7431a286477c9be97163ea8d64168c3b0..04504901b1933ed760b34b8abb994de8ec340a4e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BlockTurtleEgg.java
|
--- a/src/main/java/net/minecraft/world/level/block/BlockTurtleEgg.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BlockTurtleEgg.java
|
+++ b/src/main/java/net/minecraft/world/level/block/BlockTurtleEgg.java
|
||||||
@@ -163,6 +163,23 @@ public class BlockTurtleEgg extends Block {
|
@@ -9,12 +9,15 @@ import net.minecraft.sounds.SoundEffects;
|
||||||
|
import net.minecraft.tags.Tag;
|
||||||
|
import net.minecraft.tags.TagsBlock;
|
||||||
|
import net.minecraft.world.entity.Entity;
|
||||||
|
+import net.minecraft.world.entity.EntityExperienceOrb;
|
||||||
|
import net.minecraft.world.entity.EntityLiving;
|
||||||
|
import net.minecraft.world.entity.EntityTypes;
|
||||||
|
import net.minecraft.world.entity.ambient.EntityBat;
|
||||||
|
import net.minecraft.world.entity.animal.EntityTurtle;
|
||||||
|
+import net.minecraft.world.entity.item.EntityItem;
|
||||||
|
import net.minecraft.world.entity.monster.EntityZombie;
|
||||||
|
import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
+import net.minecraft.world.entity.vehicle.EntityMinecartAbstract;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.item.context.BlockActionContext;
|
||||||
|
import net.minecraft.world.level.GameRules;
|
||||||
|
@@ -189,6 +192,23 @@ public class BlockTurtleEgg extends Block {
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean a(World world, Entity entity) {
|
private boolean a(World world, Entity entity) {
|
||||||
@@ -34,7 +50,7 @@ index 00c37493c28805558dea06a20973f32ab0359016..0f147dc938cef428452bd3137c68b52a
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index ba89efb3159ab04a6239865967f93055cb6be7a9..f403f9dc6cd148b9f9c901f27ce6a77d4225a53f 100644
|
index 10a6fcd70869719ed2b2d1442a83ab912e00c898..2f18ca7ae23e913155f25fd07627f376e401ab0f 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -104,6 +104,15 @@ public class PurpurWorldConfig {
|
@@ -104,6 +104,15 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix vanilla command permission handler
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/mojang/brigadier/tree/CommandNode.java b/src/main/java/com/mojang/brigadier/tree/CommandNode.java
|
diff --git a/src/main/java/com/mojang/brigadier/tree/CommandNode.java b/src/main/java/com/mojang/brigadier/tree/CommandNode.java
|
||||||
index d9c47f3fc18266df3be1f564c01dfc3e26941380..cf35c9d545582173f81347a656faf1940892716f 100644
|
index c0fac7369b111e65b896a15848ae22457e5e8914..5278997e522b495b83e53cac5968388d6eca45e4 100644
|
||||||
--- a/src/main/java/com/mojang/brigadier/tree/CommandNode.java
|
--- a/src/main/java/com/mojang/brigadier/tree/CommandNode.java
|
||||||
+++ b/src/main/java/com/mojang/brigadier/tree/CommandNode.java
|
+++ b/src/main/java/com/mojang/brigadier/tree/CommandNode.java
|
||||||
@@ -35,6 +35,7 @@ public abstract class CommandNode<S> implements Comparable<CommandNode<S>> {
|
@@ -35,6 +35,7 @@ public abstract class CommandNode<S> implements Comparable<CommandNode<S>> {
|
||||||
@@ -17,7 +17,7 @@ index d9c47f3fc18266df3be1f564c01dfc3e26941380..cf35c9d545582173f81347a656faf194
|
|||||||
public void removeCommand(String name) {
|
public void removeCommand(String name) {
|
||||||
children.remove(name);
|
children.remove(name);
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
||||||
index f34461460049a80c5ff57805927053a36a4db426..8d89e671eb9081f9198f2b2b2ae0b7bd186c1522 100644
|
index 5702f18cd39c1e7b5614c28a628108e2204b2ec1..b069ee845b2011b2c669b6c75d0a773f52e06e10 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
||||||
@@ -87,6 +87,7 @@ public final class VanillaCommandWrapper extends BukkitCommand {
|
@@ -87,6 +87,7 @@ public final class VanillaCommandWrapper extends BukkitCommand {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Logger settings (suppressing pointless logs)
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
|
||||||
index c680319e4040be2b60795b22a5e65d6444cc67ed..eaa1063ff2bc5621e93043c4de41ca62f1323fde 100644
|
index 7a8a1960882e291c46301d07da3e1c5415516893..59d781b5e61c5d2c004bc92300d8d42e81821308 100644
|
||||||
--- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
|
--- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
|
+++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
|
||||||
@@ -170,6 +170,7 @@ public class AdvancementDataPlayer {
|
@@ -189,6 +189,7 @@ public class AdvancementDataPlayer {
|
||||||
if (advancement == null) {
|
if (advancement == null) {
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
if (entry.getKey().getNamespace().equals("minecraft")) {
|
if (entry.getKey().getNamespace().equals("minecraft")) {
|
||||||
@@ -17,7 +17,7 @@ index c680319e4040be2b60795b22a5e65d6444cc67ed..eaa1063ff2bc5621e93043c4de41ca62
|
|||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
index 9593ac057ef5b79fb54501d7cce1e69e49102918..ec8efc913f8f0bf6ff559a3a5b439a3d24f3a9b6 100644
|
index c856e5bd83f0b6582efdad036262511ff89ec49f..d3c51f1083c4d4df8e413f47d0636ec829dc37a4 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
@@ -178,4 +178,11 @@ public class PurpurConfig {
|
@@ -178,4 +178,11 @@ public class PurpurConfig {
|
||||||
@@ -33,7 +33,7 @@ index 9593ac057ef5b79fb54501d7cce1e69e49102918..ec8efc913f8f0bf6ff559a3a5b439a3d
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||||
index b14333ce9e6921024bc93c2847b84f1fb40a5508..d25204f7d4af1ddd37005ccbcbe6c03d8eefcf47 100644
|
index b86604cbf3543b978df000d8f74c6185aa2ae7ec..5df82b0409278bd298e837aa43941247de3f94fe 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
--- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||||
@@ -254,6 +254,7 @@ public final class CraftLegacy {
|
@@ -254,6 +254,7 @@ public final class CraftLegacy {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Disable outdated build check
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
index a92721dff5c2a9a2a167b36c23d1ef22d2bbd3e1..b10873022efc8f01ef172e86cad07831d7bf0d5e 100644
|
index d28088d510a4a40f3948f224a40a63de4645fa42..a471a3a4191872dae5da7e4f7b41de4491040d5d 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
@@ -259,7 +259,7 @@ public class Main {
|
@@ -261,7 +261,7 @@ public class Main {
|
||||||
System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper
|
System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sun, 12 May 2019 00:43:12 -0500
|
|||||||
Subject: [PATCH] Giants AI settings
|
Subject: [PATCH] Giants AI settings
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 1d718095cf29ee70dd031b0c374e772774b8e11b..bc80d583104528a9cb3ffd1ea87e7b4dfc14c168 100644
|
index c6b4af810fe3bda7797ab94316b2357178c9cd49..b7c72eaf5715a30bb8f82891f9830f9f62ec03c9 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -136,7 +136,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
@@ -228,7 +228,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
|
||||||
public double D;
|
public double D;
|
||||||
public double E;
|
public double E;
|
||||||
public double F;
|
public double F;
|
||||||
@@ -17,11 +17,94 @@ index 1d718095cf29ee70dd031b0c374e772774b8e11b..bc80d583104528a9cb3ffd1ea87e7b4d
|
|||||||
public boolean noclip;
|
public boolean noclip;
|
||||||
public float I;
|
public float I;
|
||||||
protected final Random random;
|
protected final Random random;
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityInsentient.java b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
index 9f4f56c47ecd4b35ebf33ca0bf9a040074ababf2..565c938d879940d8e12fe320ea8524d2cf679c1f 100644
|
index f4440a5c4aedb1d7d303517f86a07c856dd1309b..7443fe924486404931c11793acc67e2f03de4e41 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
@@ -4,9 +4,66 @@ public class EntityGiantZombie extends EntityMonster {
|
@@ -1020,6 +1020,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ protected void setEquipmentBasedOnDifficulty(DifficultyDamageScaler difficultydamagescaler) { a(difficultydamagescaler); } // Purpur - OBFHELPER
|
||||||
|
protected void a(DifficultyDamageScaler difficultydamagescaler) {
|
||||||
|
if (this.random.nextFloat() < 0.15F * difficultydamagescaler.d()) {
|
||||||
|
int i = this.random.nextInt(2);
|
||||||
|
@@ -1127,6 +1128,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ protected void setEnchantmentBasedOnDifficulty(DifficultyDamageScaler difficultydamagescaler) { b(difficultydamagescaler); } // Purpur - OBFHELPER
|
||||||
|
protected void b(DifficultyDamageScaler difficultydamagescaler) {
|
||||||
|
float f = difficultydamagescaler.d();
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
|
index 30aabde3d6703eefcb6d57bab43666b97197ba1f..ffc5ca763a22a1c4d06ffdb72c30482c13ec0a7b 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
|
@@ -261,6 +261,7 @@ public abstract class EntityLiving extends Entity {
|
||||||
|
this.activeItem = ItemStack.b;
|
||||||
|
this.by = Optional.empty();
|
||||||
|
this.attributeMap = new AttributeMapBase(AttributeDefaults.a(entitytypes));
|
||||||
|
+ this.initAttributes(); // Purpur
|
||||||
|
this.craftAttributes = new CraftAttributeMap(attributeMap); // CraftBukkit
|
||||||
|
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
|
||||||
|
this.datawatcher.set(EntityLiving.HEALTH, (float) this.getAttributeInstance(GenericAttributes.MAX_HEALTH).getValue());
|
||||||
|
@@ -276,6 +277,8 @@ public abstract class EntityLiving extends Entity {
|
||||||
|
this.bg = this.a(new Dynamic(dynamicopsnbt, dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), dynamicopsnbt.emptyMap()))));
|
||||||
|
}
|
||||||
|
|
||||||
|
+ protected void initAttributes() {} // Purpur
|
||||||
|
+
|
||||||
|
public BehaviorController<?> getBehaviorController() {
|
||||||
|
return this.bg;
|
||||||
|
}
|
||||||
|
@@ -2276,7 +2279,7 @@ public abstract class EntityLiving extends Entity {
|
||||||
|
this.enderTeleportTo(vec3d.x, vec3d.y, vec3d.z);
|
||||||
|
}
|
||||||
|
|
||||||
|
- protected float dJ() {
|
||||||
|
+ protected float dJ() { return getJumpHeight(); } public float getJumpHeight() { // Purpur - OBFHELPER
|
||||||
|
return 0.42F * this.getBlockJumpFactor();
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityGiantZombie.java b/src/main/java/net/minecraft/world/entity/monster/EntityGiantZombie.java
|
||||||
|
index 5e6a92dcdbca686d5a8cfc4aaff72b70b81b111f..a188a89143cb1b0243dacdec33c446ca4120219f 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityGiantZombie.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityGiantZombie.java
|
||||||
|
@@ -1,21 +1,99 @@
|
||||||
|
package net.minecraft.world.entity.monster;
|
||||||
|
|
||||||
|
import net.minecraft.core.BlockPosition;
|
||||||
|
+import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
+import net.minecraft.world.DifficultyDamageScaler;
|
||||||
|
+import net.minecraft.world.EnumDifficulty;
|
||||||
|
import net.minecraft.world.entity.EntityPose;
|
||||||
|
import net.minecraft.world.entity.EntitySize;
|
||||||
|
import net.minecraft.world.entity.EntityTypes;
|
||||||
|
+import net.minecraft.world.entity.EnumItemSlot;
|
||||||
|
+import net.minecraft.world.entity.EnumMobSpawn;
|
||||||
|
+import net.minecraft.world.entity.GroupDataEntity;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.AttributeProvider;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.GenericAttributes;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.PathfinderGoalFloat;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.PathfinderGoalLookAtPlayer;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.PathfinderGoalMeleeAttack;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.PathfinderGoalMoveTowardsRestriction;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.PathfinderGoalRandomLookaround;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.PathfinderGoalRandomStrollLand;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.target.PathfinderGoalHurtByTarget;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.target.PathfinderGoalNearestAttackableTarget;
|
||||||
|
+import net.minecraft.world.entity.animal.EntityIronGolem;
|
||||||
|
+import net.minecraft.world.entity.animal.EntityTurtle;
|
||||||
|
+import net.minecraft.world.entity.npc.EntityVillager;
|
||||||
|
+import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
+import net.minecraft.world.item.ItemStack;
|
||||||
|
+import net.minecraft.world.item.Items;
|
||||||
|
import net.minecraft.world.level.IWorldReader;
|
||||||
|
import net.minecraft.world.level.World;
|
||||||
|
+import net.minecraft.world.level.WorldAccess;
|
||||||
|
|
||||||
|
public class EntityGiantZombie extends EntityMonster {
|
||||||
|
|
||||||
public EntityGiantZombie(EntityTypes<? extends EntityGiantZombie> entitytypes, World world) {
|
public EntityGiantZombie(EntityTypes<? extends EntityGiantZombie> entitytypes, World world) {
|
||||||
super(entitytypes, world);
|
super(entitytypes, world);
|
||||||
@@ -89,7 +172,7 @@ index 9f4f56c47ecd4b35ebf33ca0bf9a040074ababf2..565c938d879940d8e12fe320ea8524d2
|
|||||||
@Override
|
@Override
|
||||||
protected float b(EntityPose entitypose, EntitySize entitysize) {
|
protected float b(EntityPose entitypose, EntitySize entitysize) {
|
||||||
return 10.440001F;
|
return 10.440001F;
|
||||||
@@ -18,6 +75,6 @@ public class EntityGiantZombie extends EntityMonster {
|
@@ -27,6 +105,6 @@ public class EntityGiantZombie extends EntityMonster {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float a(BlockPosition blockposition, IWorldReader iworldreader) {
|
public float a(BlockPosition blockposition, IWorldReader iworldreader) {
|
||||||
@@ -97,58 +180,8 @@ index 9f4f56c47ecd4b35ebf33ca0bf9a040074ababf2..565c938d879940d8e12fe320ea8524d2
|
|||||||
+ return super.a(blockposition, iworldreader); // Purpur - fix light requirements for natural spawns
|
+ return super.a(blockposition, iworldreader); // Purpur - fix light requirements for natural spawns
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
||||||
index 81a91d63dd26a940c381b5a4f18eb60d42bbd61e..257f349217c55f6c02b42676bcd708c14e4a5fb8 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
||||||
@@ -952,6 +952,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ protected void setEquipmentBasedOnDifficulty(DifficultyDamageScaler difficultydamagescaler) { a(difficultydamagescaler); } // Purpur - OBFHELPER
|
|
||||||
protected void a(DifficultyDamageScaler difficultydamagescaler) {
|
|
||||||
if (this.random.nextFloat() < 0.15F * difficultydamagescaler.d()) {
|
|
||||||
int i = this.random.nextInt(2);
|
|
||||||
@@ -1059,6 +1060,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ protected void setEnchantmentBasedOnDifficulty(DifficultyDamageScaler difficultydamagescaler) { b(difficultydamagescaler); } // Purpur - OBFHELPER
|
|
||||||
protected void b(DifficultyDamageScaler difficultydamagescaler) {
|
|
||||||
float f = difficultydamagescaler.d();
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
||||||
index c3f36275943c1cd03b65a1c7c6fbb22d1af3a6e3..57f2db9a975216408e4d7e646b0f907c11310502 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
||||||
@@ -166,6 +166,7 @@ public abstract class EntityLiving extends Entity {
|
|
||||||
this.activeItem = ItemStack.b;
|
|
||||||
this.by = Optional.empty();
|
|
||||||
this.attributeMap = new AttributeMapBase(AttributeDefaults.a(entitytypes));
|
|
||||||
+ this.initAttributes(); // Purpur
|
|
||||||
this.craftAttributes = new CraftAttributeMap(attributeMap); // CraftBukkit
|
|
||||||
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
|
|
||||||
this.datawatcher.set(EntityLiving.HEALTH, (float) this.getAttributeInstance(GenericAttributes.MAX_HEALTH).getValue());
|
|
||||||
@@ -181,6 +182,8 @@ public abstract class EntityLiving extends Entity {
|
|
||||||
this.bg = this.a(new Dynamic(dynamicopsnbt, dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), dynamicopsnbt.emptyMap()))));
|
|
||||||
}
|
|
||||||
|
|
||||||
+ protected void initAttributes() {} // Purpur
|
|
||||||
+
|
|
||||||
public BehaviorController<?> getBehaviorController() {
|
|
||||||
return this.bg;
|
|
||||||
}
|
|
||||||
@@ -2181,7 +2184,7 @@ public abstract class EntityLiving extends Entity {
|
|
||||||
this.enderTeleportTo(vec3d.x, vec3d.y, vec3d.z);
|
|
||||||
}
|
|
||||||
|
|
||||||
- protected float dJ() {
|
|
||||||
+ protected float dJ() { return getJumpHeight(); } public float getJumpHeight() { // Purpur - OBFHELPER
|
|
||||||
return 0.42F * this.getBlockJumpFactor();
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index f403f9dc6cd148b9f9c901f27ce6a77d4225a53f..3207b8b6166bd28796cb9c199c3ab466f7c0a02e 100644
|
index 2f18ca7ae23e913155f25fd07627f376e401ab0f..1c87c929aaae17631100d1aa30b3e7ecce52686f 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -113,6 +113,28 @@ public class PurpurWorldConfig {
|
@@ -113,6 +113,28 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Fri, 5 Jul 2019 11:09:25 -0500
|
|||||||
Subject: [PATCH] Illusioners AI settings
|
Subject: [PATCH] Illusioners AI settings
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/world/entity/monster/EntityIllagerIllusioner.java
|
||||||
index 50442b3a498d1bab4270e69952a79f5182153ece..c57bf5091430709778dc21d70c8a32819c9d6639 100644
|
index fee9a5140f097225b5da58b18bfbd528dffdc77b..cb092bee9d6827d4b0276bfa9b033cf7ca86ead4 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityIllagerIllusioner.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityIllagerIllusioner.java
|
||||||
@@ -19,6 +19,15 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan
|
@@ -56,6 +56,15 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ index 50442b3a498d1bab4270e69952a79f5182153ece..c57bf5091430709778dc21d70c8a3281
|
|||||||
protected void initPathfinder() {
|
protected void initPathfinder() {
|
||||||
super.initPathfinder();
|
super.initPathfinder();
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 3207b8b6166bd28796cb9c199c3ab466f7c0a02e..5c716a6b4f9ff33912ebb274b36eef70679ea87b 100644
|
index 1c87c929aaae17631100d1aa30b3e7ecce52686f..d6bd971a62af7341f8dc8b3afe32786ced6fcd41 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -135,6 +135,20 @@ public class PurpurWorldConfig {
|
@@ -135,6 +135,20 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,19 @@ Date: Sun, 7 Jul 2019 19:52:16 -0500
|
|||||||
Subject: [PATCH] Zombie horse naturally spawn
|
Subject: [PATCH] Zombie horse naturally spawn
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||||
index 2d72803f1c52acf8bc069777351a3ef4d75f6e6c..1421c3036c9a374f65f30ebfb2ccc015560ee04c 100644
|
index 984a90a0a69f60315536d60eff597f65b6d49c57..bdc1aaa02836cb675224062e59cd635c6fe6e28a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||||
@@ -1128,12 +1128,18 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -96,6 +96,7 @@ import net.minecraft.world.entity.ai.village.poi.VillagePlace;
|
||||||
|
import net.minecraft.world.entity.ai.village.poi.VillagePlaceType;
|
||||||
|
import net.minecraft.world.entity.animal.EntityAnimal;
|
||||||
|
import net.minecraft.world.entity.animal.EntityWaterAnimal;
|
||||||
|
+import net.minecraft.world.entity.animal.horse.EntityHorseAbstract;
|
||||||
|
import net.minecraft.world.entity.animal.horse.EntityHorseSkeleton;
|
||||||
|
import net.minecraft.world.entity.boss.EntityComplexPart;
|
||||||
|
import net.minecraft.world.entity.boss.enderdragon.EntityEnderDragon;
|
||||||
|
@@ -1241,12 +1242,18 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
boolean flag1 = this.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance; // Paper
|
boolean flag1 = this.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance; // Paper
|
||||||
|
|
||||||
if (flag1) {
|
if (flag1) {
|
||||||
@@ -34,7 +42,7 @@ index 2d72803f1c52acf8bc069777351a3ef4d75f6e6c..1421c3036c9a374f65f30ebfb2ccc015
|
|||||||
|
|
||||||
EntityLightning entitylightning = (EntityLightning) EntityTypes.LIGHTNING_BOLT.a((World) this);
|
EntityLightning entitylightning = (EntityLightning) EntityTypes.LIGHTNING_BOLT.a((World) this);
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 5c716a6b4f9ff33912ebb274b36eef70679ea87b..04dfb820053925c2835bdcec702d5a467a9fe48e 100644
|
index d6bd971a62af7341f8dc8b3afe32786ced6fcd41..81b0e17a4bc5022ea757f03c2546808148d6e957 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -155,4 +155,9 @@ public class PurpurWorldConfig {
|
@@ -155,4 +155,9 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,36 @@ Date: Fri, 29 Nov 2019 22:37:44 -0600
|
|||||||
Subject: [PATCH] Charged creeper naturally spawn
|
Subject: [PATCH] Charged creeper naturally spawn
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityCreeper.java b/src/main/java/net/minecraft/world/entity/monster/EntityCreeper.java
|
||||||
index b2f028422d9a7a84e49e383b78032feb887a85c0..ff80ac7db73b7c7dd6ac62ac128af1cab961d075 100644
|
index 9c8abb18c0ed850939b6691396f5d551e13c7af9..1986f6a672b97c1f0366bdb76e185815b8ca3bd6 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityCreeper.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityCreeper.java
|
||||||
@@ -24,6 +24,17 @@ public class EntityCreeper extends EntityMonster {
|
@@ -9,6 +9,7 @@ import net.minecraft.network.syncher.DataWatcherRegistry;
|
||||||
|
import net.minecraft.server.level.WorldServer;
|
||||||
|
import net.minecraft.sounds.SoundEffect;
|
||||||
|
import net.minecraft.sounds.SoundEffects;
|
||||||
|
+import net.minecraft.world.DifficultyDamageScaler;
|
||||||
|
import net.minecraft.world.EnumHand;
|
||||||
|
import net.minecraft.world.EnumInteractionResult;
|
||||||
|
import net.minecraft.world.damagesource.DamageSource;
|
||||||
|
@@ -17,6 +18,8 @@ import net.minecraft.world.entity.Entity;
|
||||||
|
import net.minecraft.world.entity.EntityAreaEffectCloud;
|
||||||
|
import net.minecraft.world.entity.EntityLightning;
|
||||||
|
import net.minecraft.world.entity.EntityTypes;
|
||||||
|
+import net.minecraft.world.entity.EnumMobSpawn;
|
||||||
|
+import net.minecraft.world.entity.GroupDataEntity;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.AttributeProvider;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.GenericAttributes;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalAvoidTarget;
|
||||||
|
@@ -39,6 +42,7 @@ import net.minecraft.world.level.IMaterial;
|
||||||
|
import net.minecraft.world.level.World;
|
||||||
|
|
||||||
|
// CraftBukkit start
|
||||||
|
+import net.minecraft.world.level.WorldAccess;
|
||||||
|
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||||
|
import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||||
|
import org.bukkit.event.entity.ExplosionPrimeEvent;
|
||||||
|
@@ -59,6 +63,17 @@ public class EntityCreeper extends EntityMonster {
|
||||||
super(entitytypes, world);
|
super(entitytypes, world);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,7 +52,7 @@ index b2f028422d9a7a84e49e383b78032feb887a85c0..ff80ac7db73b7c7dd6ac62ac128af1ca
|
|||||||
protected void initPathfinder() {
|
protected void initPathfinder() {
|
||||||
this.goalSelector.a(1, new PathfinderGoalFloat(this));
|
this.goalSelector.a(1, new PathfinderGoalFloat(this));
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 04dfb820053925c2835bdcec702d5a467a9fe48e..5b8961a061c4a877cfa856f6d9f6d77060060829 100644
|
index 81b0e17a4bc5022ea757f03c2546808148d6e957..638ee71a78d9e75de6ddd7f0aec67a023bb8c06a 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -113,6 +113,11 @@ public class PurpurWorldConfig {
|
@@ -113,6 +113,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sat, 31 Aug 2019 17:47:11 -0500
|
|||||||
Subject: [PATCH] Rabbit naturally spawn toast and killer
|
Subject: [PATCH] Rabbit naturally spawn toast and killer
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityRabbit.java b/src/main/java/net/minecraft/world/entity/animal/EntityRabbit.java
|
||||||
index 80a4a71753a1fd9f62e75f0b4ea9307ed7072c4f..25a9b7906be35e981566610c7d08aa8df5050d74 100644
|
index dcbb07fb6ab799d4526a2da0614c193c7abba715..180fc927074dc683ad4d482a00dd4e04ff7923d0 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityRabbit.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/EntityRabbit.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityRabbit.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityRabbit.java
|
||||||
@@ -297,6 +297,10 @@ public class EntityRabbit extends EntityAnimal {
|
@@ -352,6 +352,10 @@ public class EntityRabbit extends EntityAnimal {
|
||||||
if (!this.hasCustomName()) {
|
if (!this.hasCustomName()) {
|
||||||
this.setCustomName(new ChatMessage(SystemUtils.a("entity", EntityRabbit.bp)));
|
this.setCustomName(new ChatMessage(SystemUtils.a("entity", EntityRabbit.bp)));
|
||||||
}
|
}
|
||||||
@@ -19,7 +19,7 @@ index 80a4a71753a1fd9f62e75f0b4ea9307ed7072c4f..25a9b7906be35e981566610c7d08aa8d
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.datawatcher.set(EntityRabbit.bo, i);
|
this.datawatcher.set(EntityRabbit.bo, i);
|
||||||
@@ -318,6 +322,16 @@ public class EntityRabbit extends EntityAnimal {
|
@@ -373,6 +377,16 @@ public class EntityRabbit extends EntityAnimal {
|
||||||
}
|
}
|
||||||
|
|
||||||
private int a(GeneratorAccess generatoraccess) {
|
private int a(GeneratorAccess generatoraccess) {
|
||||||
@@ -37,7 +37,7 @@ index 80a4a71753a1fd9f62e75f0b4ea9307ed7072c4f..25a9b7906be35e981566610c7d08aa8d
|
|||||||
int i = this.random.nextInt(100);
|
int i = this.random.nextInt(100);
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 5b8961a061c4a877cfa856f6d9f6d77060060829..f51f60110dd6117979b9d9b230065ad21135824c 100644
|
index 638ee71a78d9e75de6ddd7f0aec67a023bb8c06a..6dcfbebd850d71587da5a78a3acf09d8ae413072 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -154,6 +154,13 @@ public class PurpurWorldConfig {
|
@@ -154,6 +154,13 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -5,11 +5,11 @@ Subject: [PATCH] Fix 'outdated server' showing in ping before server fully
|
|||||||
boots
|
boots
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PacketStatusListener.java b/src/main/java/net/minecraft/server/PacketStatusListener.java
|
diff --git a/src/main/java/net/minecraft/server/network/PacketStatusListener.java b/src/main/java/net/minecraft/server/network/PacketStatusListener.java
|
||||||
index d0fad346dd4511722f958a8c0bda67492184fb62..1df22ad7b35d6bd974e7fe805920542654c1b9d0 100644
|
index e1997563984540e6edf5d3b697d029dc5f3c40e1..847c91305d23b99e612b9e5f988df14d3fb84a8c 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PacketStatusListener.java
|
--- a/src/main/java/net/minecraft/server/network/PacketStatusListener.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PacketStatusListener.java
|
+++ b/src/main/java/net/minecraft/server/network/PacketStatusListener.java
|
||||||
@@ -133,6 +133,7 @@ public class PacketStatusListener implements PacketStatusInListener {
|
@@ -146,6 +146,7 @@ public class PacketStatusListener implements PacketStatusInListener {
|
||||||
|
|
||||||
this.networkManager.sendPacket(new PacketStatusOutServerInfo(ping));
|
this.networkManager.sendPacket(new PacketStatusOutServerInfo(ping));
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -4,11 +4,19 @@ Date: Sat, 15 Jun 2019 03:12:15 -0500
|
|||||||
Subject: [PATCH] Make Iron Golems Swim
|
Subject: [PATCH] Make Iron Golems Swim
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityIronGolem.java b/src/main/java/net/minecraft/world/entity/animal/EntityIronGolem.java
|
||||||
index 0a5c27e732540e03c87e6da0fbdc6e3c2e382810..bdff2368836dca230a6622a205d5772834afc6ee 100644
|
index 5e2b49d120b724cb5a7ae00940ded4f4875ea8a1..62cff5faafa076d05ebc59ad5c4fb020bea0509e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityIronGolem.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/EntityIronGolem.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityIronGolem.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityIronGolem.java
|
||||||
@@ -24,6 +24,7 @@ public class EntityIronGolem extends EntityGolem implements IEntityAngerable {
|
@@ -30,6 +30,7 @@ import net.minecraft.world.entity.EntityTypes;
|
||||||
|
import net.minecraft.world.entity.IEntityAngerable;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.AttributeProvider;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.GenericAttributes;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.PathfinderGoalFloat;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalLookAtPlayer;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalMeleeAttack;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalMoveTowardsTarget;
|
||||||
|
@@ -70,6 +71,7 @@ public class EntityIronGolem extends EntityGolem implements IEntityAngerable {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void initPathfinder() {
|
protected void initPathfinder() {
|
||||||
@@ -17,7 +25,7 @@ index 0a5c27e732540e03c87e6da0fbdc6e3c2e382810..bdff2368836dca230a6622a205d57728
|
|||||||
this.goalSelector.a(2, new PathfinderGoalMoveTowardsTarget(this, 0.9D, 32.0F));
|
this.goalSelector.a(2, new PathfinderGoalMoveTowardsTarget(this, 0.9D, 32.0F));
|
||||||
this.goalSelector.a(2, new PathfinderGoalStrollVillage(this, 0.6D, false));
|
this.goalSelector.a(2, new PathfinderGoalStrollVillage(this, 0.6D, false));
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index f51f60110dd6117979b9d9b230065ad21135824c..3ec33a96396e49d1ddb9f7eea804e4ae8080efbd 100644
|
index 6dcfbebd850d71587da5a78a3acf09d8ae413072..decd0e755deede2b092866a8f7f6b46520435bbe 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -154,6 +154,11 @@ public class PurpurWorldConfig {
|
@@ -154,6 +154,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,32 @@ Date: Sat, 6 Jul 2019 17:00:04 -0500
|
|||||||
Subject: [PATCH] Dont send useless entity packets
|
Subject: [PATCH] Dont send useless entity packets
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
diff --git a/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutEntity.java b/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutEntity.java
|
||||||
index 4b7e83e4f64a8bc4bf5b4ca569c32efefb0b3149..9f6d767ce8139999032d4c51221da743c694cb09 100644
|
index 0eed10a6c4e0c7245f219d19ed1e2e5c94364db9..2b54a5f3347f788b751892105f888663bb349629 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
--- a/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
+++ b/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutEntity.java
|
||||||
@@ -180,6 +180,7 @@ public class EntityTrackerEntry {
|
@@ -9,11 +9,11 @@ import net.minecraft.world.phys.Vec3D;
|
||||||
|
public class PacketPlayOutEntity implements Packet<PacketListenerPlayOut> {
|
||||||
|
|
||||||
|
protected int a;
|
||||||
|
- protected short b;
|
||||||
|
- protected short c;
|
||||||
|
- protected short d;
|
||||||
|
- protected byte e;
|
||||||
|
- protected byte f;
|
||||||
|
+ protected short b; public short getX() { return b; } // Purpur - OBFHELPER
|
||||||
|
+ protected short c; public short getY() { return c; } // Purpur - OBFHELPER
|
||||||
|
+ protected short d; public short getZ() { return d; } // Purpur - OBFHELPER
|
||||||
|
+ protected byte e; public byte getYaw() { return e; } // Purpur - OBFHELPER
|
||||||
|
+ protected byte f; public byte getPitch() { return f; } // Purpur - OBFHELPER
|
||||||
|
protected boolean g;
|
||||||
|
protected boolean h;
|
||||||
|
protected boolean i;
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java
|
||||||
|
index c830b257054b7f8153aa9225c1f61f49a6ea0a84..3a66a34db2b8ac612431131cea80e57ee72de05f 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java
|
||||||
|
@@ -209,6 +209,7 @@ public class EntityTrackerEntry {
|
||||||
this.o = 0;
|
this.o = 0;
|
||||||
packet1 = new PacketPlayOutEntityTeleport(this.tracker);
|
packet1 = new PacketPlayOutEntityTeleport(this.tracker);
|
||||||
}
|
}
|
||||||
@@ -16,7 +37,7 @@ index 4b7e83e4f64a8bc4bf5b4ca569c32efefb0b3149..9f6d767ce8139999032d4c51221da743
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((this.e || this.tracker.impulse || this.tracker instanceof EntityLiving && ((EntityLiving) this.tracker).isGliding()) && this.tickCounter > 0) {
|
if ((this.e || this.tracker.impulse || this.tracker instanceof EntityLiving && ((EntityLiving) this.tracker).isGliding()) && this.tickCounter > 0) {
|
||||||
@@ -273,6 +274,22 @@ public class EntityTrackerEntry {
|
@@ -302,6 +303,22 @@ public class EntityTrackerEntry {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,29 +60,8 @@ index 4b7e83e4f64a8bc4bf5b4ca569c32efefb0b3149..9f6d767ce8139999032d4c51221da743
|
|||||||
public void a(EntityPlayer entityplayer) {
|
public void a(EntityPlayer entityplayer) {
|
||||||
this.tracker.c(entityplayer);
|
this.tracker.c(entityplayer);
|
||||||
entityplayer.c(this.tracker);
|
entityplayer.c(this.tracker);
|
||||||
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutEntity.java b/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
|
|
||||||
index 8e48407fd405ac4c3eece7762b8155c5d0f00fa0..91c4e658230bb8bbce9d0f56db0768a7c09f0095 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
|
|
||||||
@@ -5,11 +5,11 @@ import java.io.IOException;
|
|
||||||
public class PacketPlayOutEntity implements Packet<PacketListenerPlayOut> {
|
|
||||||
|
|
||||||
protected int a;
|
|
||||||
- protected short b;
|
|
||||||
- protected short c;
|
|
||||||
- protected short d;
|
|
||||||
- protected byte e;
|
|
||||||
- protected byte f;
|
|
||||||
+ protected short b; public short getX() { return b; } // Purpur - OBFHELPER
|
|
||||||
+ protected short c; public short getY() { return c; } // Purpur - OBFHELPER
|
|
||||||
+ protected short d; public short getZ() { return d; } // Purpur - OBFHELPER
|
|
||||||
+ protected byte e; public byte getYaw() { return e; } // Purpur - OBFHELPER
|
|
||||||
+ protected byte f; public byte getPitch() { return f; } // Purpur - OBFHELPER
|
|
||||||
protected boolean g;
|
|
||||||
protected boolean h;
|
|
||||||
protected boolean i;
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
index ec8efc913f8f0bf6ff559a3a5b439a3d24f3a9b6..a2f3c5c81d93814f89a778c8c58d36b416ea1efc 100644
|
index d3c51f1083c4d4df8e413f47d0636ec829dc37a4..d12749a8084ede08d8efa80db279511f3c84b044 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
@@ -179,6 +179,11 @@ public class PurpurConfig {
|
@@ -179,6 +179,11 @@ public class PurpurConfig {
|
||||||
|
|||||||
@@ -4,11 +4,20 @@ Date: Sat, 13 Jul 2019 15:56:22 -0500
|
|||||||
Subject: [PATCH] Tulips change fox type
|
Subject: [PATCH] Tulips change fox type
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityFox.java b/src/main/java/net/minecraft/world/entity/animal/EntityFox.java
|
||||||
index 56c119e8d11c5ffb1f90ac4249bce434b3e78884..8845afd83d47902d5192ec1a9146b6f20c5667d3 100644
|
index a3b714a9d63c6bb33a2731fb9293c9d155754b17..cea46348c0876e168376061fbaf258048e9358cb 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityFox.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/EntityFox.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityFox.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityFox.java
|
||||||
@@ -37,9 +37,9 @@ public class EntityFox extends EntityAnimal {
|
@@ -30,6 +30,8 @@ import net.minecraft.tags.Tag;
|
||||||
|
import net.minecraft.tags.TagsFluid;
|
||||||
|
import net.minecraft.util.MathHelper;
|
||||||
|
import net.minecraft.world.DifficultyDamageScaler;
|
||||||
|
+import net.minecraft.world.EnumHand;
|
||||||
|
+import net.minecraft.world.EnumInteractionResult;
|
||||||
|
import net.minecraft.world.damagesource.DamageSource;
|
||||||
|
import net.minecraft.world.entity.Entity;
|
||||||
|
import net.minecraft.world.entity.EntityAgeable;
|
||||||
|
@@ -107,9 +109,9 @@ public class EntityFox extends EntityAnimal {
|
||||||
private static final Predicate<Entity> bv = (entity) -> {
|
private static final Predicate<Entity> bv = (entity) -> {
|
||||||
return !entity.bx() && IEntitySelector.e.test(entity);
|
return !entity.bx() && IEntitySelector.e.test(entity);
|
||||||
};
|
};
|
||||||
@@ -21,7 +30,7 @@ index 56c119e8d11c5ffb1f90ac4249bce434b3e78884..8845afd83d47902d5192ec1a9146b6f2
|
|||||||
private float bz;
|
private float bz;
|
||||||
private float bA;
|
private float bA;
|
||||||
private float bB;
|
private float bB;
|
||||||
@@ -227,6 +227,11 @@ public class EntityFox extends EntityAnimal {
|
@@ -297,6 +299,11 @@ public class EntityFox extends EntityAnimal {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializePathFinderGoals() {
|
private void initializePathFinderGoals() {
|
||||||
@@ -33,7 +42,7 @@ index 56c119e8d11c5ffb1f90ac4249bce434b3e78884..8845afd83d47902d5192ec1a9146b6f2
|
|||||||
if (this.getFoxType() == EntityFox.Type.RED) {
|
if (this.getFoxType() == EntityFox.Type.RED) {
|
||||||
this.targetSelector.a(4, this.bw);
|
this.targetSelector.a(4, this.bw);
|
||||||
this.targetSelector.a(4, this.bx);
|
this.targetSelector.a(4, this.bx);
|
||||||
@@ -259,6 +264,7 @@ public class EntityFox extends EntityAnimal {
|
@@ -329,6 +336,7 @@ public class EntityFox extends EntityAnimal {
|
||||||
|
|
||||||
public void setFoxType(EntityFox.Type entityfox_type) {
|
public void setFoxType(EntityFox.Type entityfox_type) {
|
||||||
this.datawatcher.set(EntityFox.bo, entityfox_type.b());
|
this.datawatcher.set(EntityFox.bo, entityfox_type.b());
|
||||||
@@ -41,7 +50,7 @@ index 56c119e8d11c5ffb1f90ac4249bce434b3e78884..8845afd83d47902d5192ec1a9146b6f2
|
|||||||
}
|
}
|
||||||
|
|
||||||
private List<UUID> fa() {
|
private List<UUID> fa() {
|
||||||
@@ -576,6 +582,27 @@ public class EntityFox extends EntityAnimal {
|
@@ -646,6 +654,27 @@ public class EntityFox extends EntityAnimal {
|
||||||
return this.fa().contains(uuid);
|
return this.fa().contains(uuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,11 +78,11 @@ index 56c119e8d11c5ffb1f90ac4249bce434b3e78884..8845afd83d47902d5192ec1a9146b6f2
|
|||||||
@Override
|
@Override
|
||||||
protected org.bukkit.event.entity.EntityDeathEvent d(DamageSource damagesource) { // Paper
|
protected org.bukkit.event.entity.EntityDeathEvent d(DamageSource damagesource) { // Paper
|
||||||
ItemStack itemstack = this.getEquipment(EnumItemSlot.MAINHAND).cloneItemStack(); // Paper
|
ItemStack itemstack = this.getEquipment(EnumItemSlot.MAINHAND).cloneItemStack(); // Paper
|
||||||
diff --git a/src/main/java/net/minecraft/server/Items.java b/src/main/java/net/minecraft/server/Items.java
|
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
|
||||||
index 67ebcbe4daa1ef3cef6ca43ec92befbe4156842e..4c379916d8d7797038d2980761c49f44c010dea8 100644
|
index 8e9a25495d76251a86268d3059e2960a86dc46b3..993a88a5937417016821ef9d7cd58e4ee097491c 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Items.java
|
--- a/src/main/java/net/minecraft/world/item/Items.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Items.java
|
+++ b/src/main/java/net/minecraft/world/item/Items.java
|
||||||
@@ -119,8 +119,8 @@ public class Items {
|
@@ -133,8 +133,8 @@ public class Items {
|
||||||
public static final Item bk = a(Blocks.ALLIUM, CreativeModeTab.c);
|
public static final Item bk = a(Blocks.ALLIUM, CreativeModeTab.c);
|
||||||
public static final Item bl = a(Blocks.AZURE_BLUET, CreativeModeTab.c);
|
public static final Item bl = a(Blocks.AZURE_BLUET, CreativeModeTab.c);
|
||||||
public static final Item bm = a(Blocks.RED_TULIP, CreativeModeTab.c);
|
public static final Item bm = a(Blocks.RED_TULIP, CreativeModeTab.c);
|
||||||
@@ -85,7 +94,7 @@ index 67ebcbe4daa1ef3cef6ca43ec92befbe4156842e..4c379916d8d7797038d2980761c49f44
|
|||||||
public static final Item bq = a(Blocks.OXEYE_DAISY, CreativeModeTab.c);
|
public static final Item bq = a(Blocks.OXEYE_DAISY, CreativeModeTab.c);
|
||||||
public static final Item br = a(Blocks.CORNFLOWER, CreativeModeTab.c);
|
public static final Item br = a(Blocks.CORNFLOWER, CreativeModeTab.c);
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 3ec33a96396e49d1ddb9f7eea804e4ae8080efbd..459ff8ffe7c0bf09fe93d89b3433bc930bb52f06 100644
|
index decd0e755deede2b092866a8f7f6b46520435bbe..081675005077c5070f7745e24fd2ee7400fe2320 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -118,6 +118,11 @@ public class PurpurWorldConfig {
|
@@ -118,6 +118,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,33 @@ Date: Thu, 26 Mar 2020 19:46:44 -0500
|
|||||||
Subject: [PATCH] Breedable Polar Bears
|
Subject: [PATCH] Breedable Polar Bears
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityPolarBear.java b/src/main/java/net/minecraft/world/entity/animal/EntityPolarBear.java
|
||||||
index 914c6e48d60ac8feadc08e52e050899fe1396a8d..99f0bd8f82520778d469ec51745034e6ebd3238a 100644
|
index 49f26d487229a732902d5bf48d305b0864e90d63..f25f5ced218555af0d62844a78842cfc7599d608 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPolarBear.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/EntityPolarBear.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPolarBear.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityPolarBear.java
|
||||||
@@ -23,6 +23,30 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
@@ -34,6 +34,7 @@ import net.minecraft.world.entity.GroupDataEntity;
|
||||||
|
import net.minecraft.world.entity.IEntityAngerable;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.AttributeProvider;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.GenericAttributes;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.PathfinderGoalBreed;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalFloat;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalFollowParent;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalLookAtPlayer;
|
||||||
|
@@ -41,11 +42,13 @@ import net.minecraft.world.entity.ai.goal.PathfinderGoalMeleeAttack;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalPanic;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalRandomLookaround;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalRandomStroll;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.PathfinderGoalTempt;
|
||||||
|
import net.minecraft.world.entity.ai.goal.target.PathfinderGoalHurtByTarget;
|
||||||
|
import net.minecraft.world.entity.ai.goal.target.PathfinderGoalNearestAttackableTarget;
|
||||||
|
import net.minecraft.world.entity.ai.goal.target.PathfinderGoalUniversalAngerReset;
|
||||||
|
import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
+import net.minecraft.world.item.crafting.RecipeItemStack;
|
||||||
|
import net.minecraft.world.level.GeneratorAccess;
|
||||||
|
import net.minecraft.world.level.World;
|
||||||
|
import net.minecraft.world.level.WorldAccess;
|
||||||
|
@@ -68,6 +71,30 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||||
super(entitytypes, world);
|
super(entitytypes, world);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,7 +61,7 @@ index 914c6e48d60ac8feadc08e52e050899fe1396a8d..99f0bd8f82520778d469ec51745034e6
|
|||||||
@Override
|
@Override
|
||||||
public EntityAgeable createChild(WorldServer worldserver, EntityAgeable entityageable) {
|
public EntityAgeable createChild(WorldServer worldserver, EntityAgeable entityageable) {
|
||||||
return (EntityAgeable) EntityTypes.POLAR_BEAR.a((World) worldserver);
|
return (EntityAgeable) EntityTypes.POLAR_BEAR.a((World) worldserver);
|
||||||
@@ -30,7 +54,7 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
@@ -75,7 +102,7 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean k(ItemStack itemstack) {
|
public boolean k(ItemStack itemstack) {
|
||||||
@@ -48,7 +70,7 @@ index 914c6e48d60ac8feadc08e52e050899fe1396a8d..99f0bd8f82520778d469ec51745034e6
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -39,6 +63,12 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
@@ -84,6 +111,12 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||||
this.goalSelector.a(0, new PathfinderGoalFloat(this));
|
this.goalSelector.a(0, new PathfinderGoalFloat(this));
|
||||||
this.goalSelector.a(1, new EntityPolarBear.c());
|
this.goalSelector.a(1, new EntityPolarBear.c());
|
||||||
this.goalSelector.a(1, new EntityPolarBear.d());
|
this.goalSelector.a(1, new EntityPolarBear.d());
|
||||||
@@ -61,7 +83,7 @@ index 914c6e48d60ac8feadc08e52e050899fe1396a8d..99f0bd8f82520778d469ec51745034e6
|
|||||||
this.goalSelector.a(4, new PathfinderGoalFollowParent(this, 1.25D));
|
this.goalSelector.a(4, new PathfinderGoalFollowParent(this, 1.25D));
|
||||||
this.goalSelector.a(5, new PathfinderGoalRandomStroll(this, 1.0D));
|
this.goalSelector.a(5, new PathfinderGoalRandomStroll(this, 1.0D));
|
||||||
this.goalSelector.a(6, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 6.0F));
|
this.goalSelector.a(6, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 6.0F));
|
||||||
@@ -180,10 +210,12 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
@@ -225,10 +258,12 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||||
return flag;
|
return flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,7 +97,7 @@ index 914c6e48d60ac8feadc08e52e050899fe1396a8d..99f0bd8f82520778d469ec51745034e6
|
|||||||
this.datawatcher.set(EntityPolarBear.bo, flag);
|
this.datawatcher.set(EntityPolarBear.bo, flag);
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 459ff8ffe7c0bf09fe93d89b3433bc930bb52f06..09b66b9ca3185528d0bc5f0a1d811c5a42039339 100644
|
index 081675005077c5070f7745e24fd2ee7400fe2320..fa43c015976aabaae8843983976c9c939a49016f 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -164,6 +164,14 @@ public class PurpurWorldConfig {
|
@@ -164,6 +164,14 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,24 @@ Date: Sun, 12 Apr 2020 13:19:34 -0500
|
|||||||
Subject: [PATCH] Chickens can retaliate
|
Subject: [PATCH] Chickens can retaliate
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityChicken.java b/src/main/java/net/minecraft/world/entity/animal/EntityChicken.java
|
||||||
index 182469fd39cb23633a3225cf1a64ab6b291e4cdf..8fb5d5c75e79a81ab46af3fbb96ebc41804113c4 100644
|
index cd6fb8efb20a2d32de59d479b1dbf5ee69d5df37..600d6ebdf554dbaa8ca46a22a12d8b4e3255d987 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityChicken.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/EntityChicken.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityChicken.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityChicken.java
|
||||||
@@ -17,16 +17,33 @@ public class EntityChicken extends EntityAnimal {
|
@@ -20,10 +20,12 @@ import net.minecraft.world.entity.ai.goal.PathfinderGoalBreed;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalFloat;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalFollowParent;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalLookAtPlayer;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.PathfinderGoalMeleeAttack;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalPanic;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalRandomLookaround;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalRandomStrollLand;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalTempt;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.target.PathfinderGoalHurtByTarget;
|
||||||
|
import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.item.Items;
|
||||||
|
@@ -51,16 +53,33 @@ public class EntityChicken extends EntityAnimal {
|
||||||
this.a(PathType.WATER, 0.0F);
|
this.a(PathType.WATER, 0.0F);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,7 +56,7 @@ index 182469fd39cb23633a3225cf1a64ab6b291e4cdf..8fb5d5c75e79a81ab46af3fbb96ebc41
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -35,7 +52,7 @@ public class EntityChicken extends EntityAnimal {
|
@@ -69,7 +88,7 @@ public class EntityChicken extends EntityAnimal {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AttributeProvider.Builder eK() {
|
public static AttributeProvider.Builder eK() {
|
||||||
@@ -53,7 +66,7 @@ index 182469fd39cb23633a3225cf1a64ab6b291e4cdf..8fb5d5c75e79a81ab46af3fbb96ebc41
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 09b66b9ca3185528d0bc5f0a1d811c5a42039339..c2a13de7f0cafc8c93c5255e0f65f5e8ad439c7a 100644
|
index fa43c015976aabaae8843983976c9c939a49016f..78218f2d59203b8f2b286fd09b3f6bdebb47565c 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -113,6 +113,11 @@ public class PurpurWorldConfig {
|
@@ -113,6 +113,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sun, 6 Oct 2019 12:46:35 -0500
|
|||||||
Subject: [PATCH] Add option to set armorstand step height
|
Subject: [PATCH] Add option to set armorstand step height
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
diff --git a/src/main/java/net/minecraft/world/entity/decoration/EntityArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/EntityArmorStand.java
|
||||||
index 0ef9516fbe9283cb1aca71eb9dbdbec0d98c8fa4..9e37bf25689691f9640b294c482978e8e3b6e627 100644
|
index c0e0750adef0ae6aff7635c84f6585f06c5fc38d..89d3734489b65245e815376edf4e2d9baea1563a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
--- a/src/main/java/net/minecraft/world/entity/decoration/EntityArmorStand.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
+++ b/src/main/java/net/minecraft/world/entity/decoration/EntityArmorStand.java
|
||||||
@@ -625,6 +625,7 @@ public class EntityArmorStand extends EntityLiving {
|
@@ -660,6 +660,7 @@ public class EntityArmorStand extends EntityLiving {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void tick() {
|
public void tick() {
|
||||||
@@ -17,7 +17,7 @@ index 0ef9516fbe9283cb1aca71eb9dbdbec0d98c8fa4..9e37bf25689691f9640b294c482978e8
|
|||||||
if (!this.canTick) {
|
if (!this.canTick) {
|
||||||
if (this.noTickPoseDirty) {
|
if (this.noTickPoseDirty) {
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index c2a13de7f0cafc8c93c5255e0f65f5e8ad439c7a..0fa01267fa35f1afdc81c2636f9efa8506bcebb6 100644
|
index 78218f2d59203b8f2b286fd09b3f6bdebb47565c..90f367f2f04f9bf66b7f54ffe784db16c7ca868b 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -63,6 +63,11 @@ public class PurpurWorldConfig {
|
@@ -63,6 +63,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,23 +4,44 @@ Date: Thu, 26 Dec 2019 18:52:55 -0600
|
|||||||
Subject: [PATCH] Cat spawning options
|
Subject: [PATCH] Cat spawning options
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
diff --git a/src/main/java/net/minecraft/world/entity/ai/village/poi/VillagePlace.java b/src/main/java/net/minecraft/world/entity/ai/village/poi/VillagePlace.java
|
||||||
index 2e514b8291a544a88667fbca2389bde4c2ecb109..288105ae657ade252032aa0ac9c191a8e8ebf549 100644
|
index 13d94ecd703b3cd0412e138532d2dd74e5bf250d..6082eed2d28f3be65daa7e7eb6f2c2a89bb28ff1 100644
|
||||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
--- a/src/main/java/net/minecraft/world/entity/ai/village/poi/VillagePlace.java
|
||||||
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
+++ b/src/main/java/net/minecraft/world/entity/ai/village/poi/VillagePlace.java
|
||||||
@@ -47,6 +47,7 @@ public interface IEntityAccess {
|
@@ -191,6 +191,7 @@ public class VillagePlace extends RegionFileSection<VillagePlaceSection> {
|
||||||
}
|
((VillagePlaceSection) this.e(SectionPosition.a(blockposition).s())).a(blockposition);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ default <T extends Entity> List<T> getEntitiesInAABB(Class<? extends T> oclass, AxisAlignedBB axisalignedbb) { return a(oclass, axisalignedbb); } // Purpur - OBFHELPER
|
+ public long count(Predicate<VillagePlaceType> predicate, BlockPosition blockposition, int i, VillagePlace.Occupancy villageplace_occupancy) { return a(predicate, blockposition, i, villageplace_occupancy); } // Purpur - OBFHELPER
|
||||||
default <T extends Entity> List<T> a(Class<? extends T> oclass, AxisAlignedBB axisalignedbb) {
|
public long a(Predicate<VillagePlaceType> predicate, BlockPosition blockposition, int i, VillagePlace.Occupancy villageplace_occupancy) {
|
||||||
return this.a(oclass, axisalignedbb, IEntitySelector.g);
|
return this.c(predicate, blockposition, i, villageplace_occupancy).count();
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/MobSpawnerCat.java b/src/main/java/net/minecraft/server/MobSpawnerCat.java
|
diff --git a/src/main/java/net/minecraft/world/entity/ai/village/poi/VillagePlaceType.java b/src/main/java/net/minecraft/world/entity/ai/village/poi/VillagePlaceType.java
|
||||||
index 5e17868a76ea8e3f105c11d496d6da12afa0da41..5a0f8779672a9e34f6970045361630ab5af3990b 100644
|
index db1ddce5774754891dc8a3ea5b66951ebc3a07a8..6a45ab049a4beeeaf7b3b5acf2946767f6e1198f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MobSpawnerCat.java
|
--- a/src/main/java/net/minecraft/world/entity/ai/village/poi/VillagePlaceType.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MobSpawnerCat.java
|
+++ b/src/main/java/net/minecraft/world/entity/ai/village/poi/VillagePlaceType.java
|
||||||
@@ -16,7 +16,7 @@ public class MobSpawnerCat implements MobSpawner {
|
@@ -53,7 +53,7 @@ public class VillagePlaceType {
|
||||||
|
public static final VillagePlaceType o = a("shepherd", a(Blocks.LOOM), 1, 1);
|
||||||
|
public static final VillagePlaceType p = a("toolsmith", a(Blocks.SMITHING_TABLE), 1, 1);
|
||||||
|
public static final VillagePlaceType q = a("weaponsmith", a(Blocks.GRINDSTONE), 1, 1);
|
||||||
|
- public static final VillagePlaceType r = a("home", VillagePlaceType.z, 1, 1);
|
||||||
|
+ public static final VillagePlaceType r = a("home", VillagePlaceType.z, 1, 1); public static VillagePlaceType home() { return r; } // Purpur - OBFHELPER
|
||||||
|
public static final VillagePlaceType s = a("meeting", a(Blocks.BELL), 32, 6);
|
||||||
|
public static final VillagePlaceType t = a("beehive", a(Blocks.BEEHIVE), 0, 1);
|
||||||
|
public static final VillagePlaceType u = a("bee_nest", a(Blocks.BEE_NEST), 0, 1);
|
||||||
|
@@ -92,6 +92,7 @@ public class VillagePlaceType {
|
||||||
|
return this.D;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ public Predicate<VillagePlaceType> predicate() { return c(); } // Purpur - OBFHELPER
|
||||||
|
public Predicate<VillagePlaceType> c() {
|
||||||
|
return this.E;
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/MobSpawnerCat.java b/src/main/java/net/minecraft/world/entity/npc/MobSpawnerCat.java
|
||||||
|
index 7a495cf88d723790ee3f63645cb4792052284f32..2f54c26151c049df9d071c887dd33e48df041437 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/npc/MobSpawnerCat.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/npc/MobSpawnerCat.java
|
||||||
|
@@ -34,7 +34,7 @@ public class MobSpawnerCat implements MobSpawner {
|
||||||
if (this.a > 0) {
|
if (this.a > 0) {
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
@@ -29,7 +50,7 @@ index 5e17868a76ea8e3f105c11d496d6da12afa0da41..5a0f8779672a9e34f6970045361630ab
|
|||||||
EntityPlayer entityplayer = worldserver.q_();
|
EntityPlayer entityplayer = worldserver.q_();
|
||||||
|
|
||||||
if (entityplayer == null) {
|
if (entityplayer == null) {
|
||||||
@@ -50,10 +50,12 @@ public class MobSpawnerCat implements MobSpawner {
|
@@ -68,10 +68,12 @@ public class MobSpawnerCat implements MobSpawner {
|
||||||
}
|
}
|
||||||
|
|
||||||
private int a(WorldServer worldserver, BlockPosition blockposition) {
|
private int a(WorldServer worldserver, BlockPosition blockposition) {
|
||||||
@@ -46,7 +67,7 @@ index 5e17868a76ea8e3f105c11d496d6da12afa0da41..5a0f8779672a9e34f6970045361630ab
|
|||||||
|
|
||||||
if (list.size() < 5) {
|
if (list.size() < 5) {
|
||||||
return this.a(blockposition, worldserver);
|
return this.a(blockposition, worldserver);
|
||||||
@@ -64,9 +66,11 @@ public class MobSpawnerCat implements MobSpawner {
|
@@ -82,9 +84,11 @@ public class MobSpawnerCat implements MobSpawner {
|
||||||
}
|
}
|
||||||
|
|
||||||
private int b(WorldServer worldserver, BlockPosition blockposition) {
|
private int b(WorldServer worldserver, BlockPosition blockposition) {
|
||||||
@@ -61,41 +82,20 @@ index 5e17868a76ea8e3f105c11d496d6da12afa0da41..5a0f8779672a9e34f6970045361630ab
|
|||||||
return list.size() < 1 ? this.a(blockposition, worldserver) : 0;
|
return list.size() < 1 ? this.a(blockposition, worldserver) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/VillagePlace.java b/src/main/java/net/minecraft/server/VillagePlace.java
|
diff --git a/src/main/java/net/minecraft/world/level/IEntityAccess.java b/src/main/java/net/minecraft/world/level/IEntityAccess.java
|
||||||
index 245bdedd17b844dcd13aa0b60dffb1cac6a5bdb8..64e251fb63e67b9ebf11779580b1bff6def6d1c6 100644
|
index fd56b2f15e570f266a79c25823a3b3530a693510..18a5d11cce748695c8f03be565d2ea37a276a981 100644
|
||||||
--- a/src/main/java/net/minecraft/server/VillagePlace.java
|
--- a/src/main/java/net/minecraft/world/level/IEntityAccess.java
|
||||||
+++ b/src/main/java/net/minecraft/server/VillagePlace.java
|
+++ b/src/main/java/net/minecraft/world/level/IEntityAccess.java
|
||||||
@@ -178,6 +178,7 @@ public class VillagePlace extends RegionFileSection<VillagePlaceSection> {
|
@@ -56,6 +56,7 @@ public interface IEntityAccess {
|
||||||
((VillagePlaceSection) this.e(SectionPosition.a(blockposition).s())).a(blockposition);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+ public long count(Predicate<VillagePlaceType> predicate, BlockPosition blockposition, int i, VillagePlace.Occupancy villageplace_occupancy) { return a(predicate, blockposition, i, villageplace_occupancy); } // Purpur - OBFHELPER
|
+ default <T extends Entity> List<T> getEntitiesInAABB(Class<? extends T> oclass, AxisAlignedBB axisalignedbb) { return a(oclass, axisalignedbb); } // Purpur - OBFHELPER
|
||||||
public long a(Predicate<VillagePlaceType> predicate, BlockPosition blockposition, int i, VillagePlace.Occupancy villageplace_occupancy) {
|
default <T extends Entity> List<T> a(Class<? extends T> oclass, AxisAlignedBB axisalignedbb) {
|
||||||
return this.c(predicate, blockposition, i, villageplace_occupancy).count();
|
return this.a(oclass, axisalignedbb, IEntitySelector.g);
|
||||||
}
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/VillagePlaceType.java b/src/main/java/net/minecraft/server/VillagePlaceType.java
|
|
||||||
index a5718af9b614ae505067131f04ebb490617d6aa4..b6b4c8c491d692f93d2c38d602ff99b0611b72aa 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/VillagePlaceType.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/VillagePlaceType.java
|
|
||||||
@@ -44,7 +44,7 @@ public class VillagePlaceType {
|
|
||||||
public static final VillagePlaceType o = a("shepherd", a(Blocks.LOOM), 1, 1);
|
|
||||||
public static final VillagePlaceType p = a("toolsmith", a(Blocks.SMITHING_TABLE), 1, 1);
|
|
||||||
public static final VillagePlaceType q = a("weaponsmith", a(Blocks.GRINDSTONE), 1, 1);
|
|
||||||
- public static final VillagePlaceType r = a("home", VillagePlaceType.z, 1, 1);
|
|
||||||
+ public static final VillagePlaceType r = a("home", VillagePlaceType.z, 1, 1); public static VillagePlaceType home() { return r; } // Purpur - OBFHELPER
|
|
||||||
public static final VillagePlaceType s = a("meeting", a(Blocks.BELL), 32, 6);
|
|
||||||
public static final VillagePlaceType t = a("beehive", a(Blocks.BEEHIVE), 0, 1);
|
|
||||||
public static final VillagePlaceType u = a("bee_nest", a(Blocks.BEE_NEST), 0, 1);
|
|
||||||
@@ -83,6 +83,7 @@ public class VillagePlaceType {
|
|
||||||
return this.D;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public Predicate<VillagePlaceType> predicate() { return c(); } // Purpur - OBFHELPER
|
|
||||||
public Predicate<VillagePlaceType> c() {
|
|
||||||
return this.E;
|
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 0fa01267fa35f1afdc81c2636f9efa8506bcebb6..9c5de125a6ed207f238dff1e17e38a4083c4c251 100644
|
index 90f367f2f04f9bf66b7f54ffe784db16c7ca868b..9e935668147d1cd822f33c9e8d41e9541022aa8a 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -118,6 +118,15 @@ public class PurpurWorldConfig {
|
@@ -118,6 +118,15 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Thu, 2 Jan 2020 01:23:22 -0600
|
|||||||
Subject: [PATCH] MC-147659 - Fix non black cats spawning in swamp huts
|
Subject: [PATCH] MC-147659 - Fix non black cats spawning in swamp huts
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MobSpawnerCat.java b/src/main/java/net/minecraft/server/MobSpawnerCat.java
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/MobSpawnerCat.java b/src/main/java/net/minecraft/world/entity/npc/MobSpawnerCat.java
|
||||||
index 5a0f8779672a9e34f6970045361630ab5af3990b..25bb494350cd771166a78a7b14726cee8f01b02e 100644
|
index 2f54c26151c049df9d071c887dd33e48df041437..5d0da07970bfe304debe244e5df39981f90161f6 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MobSpawnerCat.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/MobSpawnerCat.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MobSpawnerCat.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/MobSpawnerCat.java
|
||||||
@@ -80,8 +80,9 @@ public class MobSpawnerCat implements MobSpawner {
|
@@ -98,8 +98,9 @@ public class MobSpawnerCat implements MobSpawner {
|
||||||
if (entitycat == null) {
|
if (entitycat == null) {
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sat, 4 May 2019 01:10:30 -0500
|
|||||||
Subject: [PATCH] Cows eat mushrooms
|
Subject: [PATCH] Cows eat mushrooms
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index bc80d583104528a9cb3ffd1ea87e7b4dfc14c168..983ed53eed9e15a14d83c68d72f004417cee2657 100644
|
index b7c72eaf5715a30bb8f82891f9830f9f62ec03c9..c8071e2909c03bd8eafb92fbf8fd8701642df1f9 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -2794,6 +2794,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
@@ -2886,6 +2886,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
|
||||||
this.invulnerable = flag;
|
this.invulnerable = flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -16,11 +16,40 @@ index bc80d583104528a9cb3ffd1ea87e7b4dfc14c168..983ed53eed9e15a14d83c68d72f00441
|
|||||||
public void u(Entity entity) {
|
public void u(Entity entity) {
|
||||||
this.setPositionRotation(entity.locX(), entity.locY(), entity.locZ(), entity.yaw, entity.pitch);
|
this.setPositionRotation(entity.locX(), entity.locY(), entity.locZ(), entity.yaw, entity.pitch);
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
index 42e6761c8b18b79ffd3f4d5e853ea87a2c153c23..cfb009c811bd2908d38da1b0007cb7aaed4e42c3 100644
|
index ffc5ca763a22a1c4d06ffdb72c30482c13ec0a7b..1902b706345ff0031aaa8babde8cabffced99b78 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityCow.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityCow.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
@@ -16,6 +16,7 @@ public class EntityCow extends EntityAnimal {
|
@@ -176,7 +176,7 @@ public abstract class EntityLiving extends Entity {
|
||||||
|
public int maxNoDamageTicks;
|
||||||
|
public final float ay;
|
||||||
|
public final float az;
|
||||||
|
- public float aA;
|
||||||
|
+ public float aA; public float getRenderYawOffset() { return this.aA; } public void setRenderYawOffset(float f) { this.aA = f; } // Purpur - OBFHELPER
|
||||||
|
public float aB;
|
||||||
|
public float aC;
|
||||||
|
public float aD;
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityCow.java b/src/main/java/net/minecraft/world/entity/animal/EntityCow.java
|
||||||
|
index 1b43688ad232620410aa924cef02b54630ab1313..962dde5fcc617bc39b7d06a1e295370b9d60696c 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/animal/EntityCow.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityCow.java
|
||||||
|
@@ -1,6 +1,7 @@
|
||||||
|
package net.minecraft.world.entity.animal;
|
||||||
|
|
||||||
|
import net.minecraft.core.BlockPosition;
|
||||||
|
+import net.minecraft.core.particles.Particles;
|
||||||
|
import net.minecraft.server.level.WorldServer;
|
||||||
|
import net.minecraft.sounds.SoundEffect;
|
||||||
|
import net.minecraft.sounds.SoundEffects;
|
||||||
|
@@ -28,6 +29,7 @@ import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.item.Items;
|
||||||
|
import net.minecraft.world.item.crafting.RecipeItemStack;
|
||||||
|
import net.minecraft.world.level.World;
|
||||||
|
+import net.minecraft.world.level.block.Blocks;
|
||||||
|
import net.minecraft.world.level.block.state.IBlockData;
|
||||||
|
|
||||||
|
// CraftBukkit start
|
||||||
|
@@ -46,6 +48,7 @@ public class EntityCow extends EntityAnimal {
|
||||||
this.goalSelector.a(0, new PathfinderGoalFloat(this));
|
this.goalSelector.a(0, new PathfinderGoalFloat(this));
|
||||||
this.goalSelector.a(1, new PathfinderGoalPanic(this, 2.0D));
|
this.goalSelector.a(1, new PathfinderGoalPanic(this, 2.0D));
|
||||||
this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D));
|
this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D));
|
||||||
@@ -28,7 +57,7 @@ index 42e6761c8b18b79ffd3f4d5e853ea87a2c153c23..cfb009c811bd2908d38da1b0007cb7aa
|
|||||||
this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.25D, RecipeItemStack.a(Items.WHEAT), false));
|
this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.25D, RecipeItemStack.a(Items.WHEAT), false));
|
||||||
this.goalSelector.a(4, new PathfinderGoalFollowParent(this, 1.25D));
|
this.goalSelector.a(4, new PathfinderGoalFollowParent(this, 1.25D));
|
||||||
this.goalSelector.a(5, new PathfinderGoalRandomStrollLand(this, 1.0D));
|
this.goalSelector.a(5, new PathfinderGoalRandomStrollLand(this, 1.0D));
|
||||||
@@ -70,11 +71,80 @@ public class EntityCow extends EntityAnimal {
|
@@ -100,11 +103,80 @@ public class EntityCow extends EntityAnimal {
|
||||||
|
|
||||||
entityhuman.a(enumhand, itemstack1);
|
entityhuman.a(enumhand, itemstack1);
|
||||||
return EnumInteractionResult.a(this.world.isClientSide);
|
return EnumInteractionResult.a(this.world.isClientSide);
|
||||||
@@ -109,21 +138,8 @@ index 42e6761c8b18b79ffd3f4d5e853ea87a2c153c23..cfb009c811bd2908d38da1b0007cb7aa
|
|||||||
@Override
|
@Override
|
||||||
public EntityCow createChild(WorldServer worldserver, EntityAgeable entityageable) {
|
public EntityCow createChild(WorldServer worldserver, EntityAgeable entityageable) {
|
||||||
return (EntityCow) EntityTypes.COW.a((World) worldserver);
|
return (EntityCow) EntityTypes.COW.a((World) worldserver);
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
||||||
index 57f2db9a975216408e4d7e646b0f907c11310502..0eae140eb55526e5eb88dab0e267b45fdef43ff6 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
||||||
@@ -81,7 +81,7 @@ public abstract class EntityLiving extends Entity {
|
|
||||||
public int maxNoDamageTicks;
|
|
||||||
public final float ay;
|
|
||||||
public final float az;
|
|
||||||
- public float aA;
|
|
||||||
+ public float aA; public float getRenderYawOffset() { return this.aA; } public void setRenderYawOffset(float f) { this.aA = f; } // Purpur - OBFHELPER
|
|
||||||
public float aB;
|
|
||||||
public float aC;
|
|
||||||
public float aD;
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 9c5de125a6ed207f238dff1e17e38a4083c4c251..0c841b824a93d5e43bad171d1ca828eca3e891df 100644
|
index 9e935668147d1cd822f33c9e8d41e9541022aa8a..277cc8361e8faf54b95be1e9f1467a97de14ecc4 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -132,6 +132,11 @@ public class PurpurWorldConfig {
|
@@ -132,6 +132,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Fri, 3 May 2019 23:53:16 -0500
|
|||||||
Subject: [PATCH] Fix cow rotation when shearing mooshroom
|
Subject: [PATCH] Fix cow rotation when shearing mooshroom
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityMushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/EntityMushroomCow.java
|
||||||
index c9112f783c81d58570e622a0e784da1e2a93d0ff..91cfe60f764a573e3724b48a9ae02e806c1e4fb8 100644
|
index 9face4480dcc89d9106ebe596020c1888350ef2d..d28d4d2c1eff2c130f49c2bce3c19da212dba5dc 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/EntityMushroomCow.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityMushroomCow.java
|
||||||
@@ -136,7 +136,13 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
|
@@ -172,7 +172,13 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
|
||||||
|
|
||||||
entitycow.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, this.pitch);
|
entitycow.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, this.pitch);
|
||||||
entitycow.setHealth(this.getHealth());
|
entitycow.setHealth(this.getHealth());
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sun, 12 May 2019 01:14:46 -0500
|
|||||||
Subject: [PATCH] Pigs give saddle back
|
Subject: [PATCH] Pigs give saddle back
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntityPig.java b/src/main/java/net/minecraft/world/entity/animal/EntityPig.java
|
||||||
index 01ca5983cade997b1f0d27fdf495c74c6daa0922..6ea3e4ffc3f42f4282adf3554944f24d92ca2079 100644
|
index 676ca381a5e111fc15f319e73504e4e60dbf0d2b..1a540e41e6161d011ca4ed30c68ae9df4567b8db 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPig.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/EntityPig.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPig.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/EntityPig.java
|
||||||
@@ -109,6 +109,18 @@ public class EntityPig extends EntityAnimal implements ISteerable, ISaddleable {
|
@@ -156,6 +156,18 @@ public class EntityPig extends EntityAnimal implements ISteerable, ISaddleable {
|
||||||
|
|
||||||
if (!flag && this.hasSaddle() && !this.isVehicle() && !entityhuman.eq()) {
|
if (!flag && this.hasSaddle() && !this.isVehicle() && !entityhuman.eq()) {
|
||||||
if (!this.world.isClientSide) {
|
if (!this.world.isClientSide) {
|
||||||
@@ -28,7 +28,7 @@ index 01ca5983cade997b1f0d27fdf495c74c6daa0922..6ea3e4ffc3f42f4282adf3554944f24d
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 0c841b824a93d5e43bad171d1ca828eca3e891df..24ef91788ff69004eed1b136a0ceb6176db00e76 100644
|
index 277cc8361e8faf54b95be1e9f1467a97de14ecc4..5ac1aba522151c42255caf9d29c5b780218ccd32 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -188,6 +188,11 @@ public class PurpurWorldConfig {
|
@@ -188,6 +188,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Fri, 3 May 2019 23:58:44 -0500
|
|||||||
Subject: [PATCH] Snowman drop and put back pumpkin
|
Subject: [PATCH] Snowman drop and put back pumpkin
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntitySnowman.java b/src/main/java/net/minecraft/world/entity/animal/EntitySnowman.java
|
||||||
index a11c599a9779aa084a1d7d1b6b3485d5b9c23906..c39f3c06eb199a24f32a5c581e877073b580502c 100644
|
index b1e2892c7c9f0e35f69332e93917593d97c304a8..44119f52a4f169ffcea53fb69393bfedfd1a62a7 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntitySnowman.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/EntitySnowman.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/EntitySnowman.java
|
||||||
@@ -124,6 +124,14 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
|
@@ -160,6 +160,14 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
|
||||||
}
|
}
|
||||||
|
|
||||||
return EnumInteractionResult.a(this.world.isClientSide);
|
return EnumInteractionResult.a(this.world.isClientSide);
|
||||||
@@ -23,7 +23,7 @@ index a11c599a9779aa084a1d7d1b6b3485d5b9c23906..c39f3c06eb199a24f32a5c581e877073
|
|||||||
} else {
|
} else {
|
||||||
return EnumInteractionResult.PASS;
|
return EnumInteractionResult.PASS;
|
||||||
}
|
}
|
||||||
@@ -134,6 +142,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
|
@@ -170,6 +178,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
|
||||||
this.world.playSound((EntityHuman) null, (Entity) this, SoundEffects.ENTITY_SNOW_GOLEM_SHEAR, soundcategory, 1.0F, 1.0F);
|
this.world.playSound((EntityHuman) null, (Entity) this, SoundEffects.ENTITY_SNOW_GOLEM_SHEAR, soundcategory, 1.0F, 1.0F);
|
||||||
if (!this.world.s_()) {
|
if (!this.world.s_()) {
|
||||||
this.setHasPumpkin(false);
|
this.setHasPumpkin(false);
|
||||||
@@ -32,7 +32,7 @@ index a11c599a9779aa084a1d7d1b6b3485d5b9c23906..c39f3c06eb199a24f32a5c581e877073
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 24ef91788ff69004eed1b136a0ceb6176db00e76..609307a409365829e61430da47aa75125afcb8c4 100644
|
index 5ac1aba522151c42255caf9d29c5b780218ccd32..fa01ef3c0cc723acaaf348066cddf91f1deb3c72 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -208,6 +208,13 @@ public class PurpurWorldConfig {
|
@@ -208,6 +208,13 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sat, 24 Aug 2019 14:42:54 -0500
|
|||||||
Subject: [PATCH] Ender dragon always drop full exp
|
Subject: [PATCH] Ender dragon always drop full exp
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
|
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderDragon.java
|
||||||
index 50b93c93cfede2d64a996a22b811994b352149af..de025a48c7ca08d8ae71d2d9239121dc4a86a339 100644
|
index 07160de8725787551df327c0790b2d6e0876524f..3fff101637708a1a12f9a457bd3512ae94a8f884 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
|
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderDragon.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
|
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderDragon.java
|
||||||
@@ -564,7 +564,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
|
@@ -613,7 +613,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
|
||||||
boolean flag = this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT);
|
boolean flag = this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT);
|
||||||
short short0 = 500;
|
short short0 = 500;
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ index 50b93c93cfede2d64a996a22b811994b352149af..de025a48c7ca08d8ae71d2d9239121dc
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 609307a409365829e61430da47aa75125afcb8c4..66c0725c3dc28e49387d2b9f1a15aa0758763c08 100644
|
index fa01ef3c0cc723acaaf348066cddf91f1deb3c72..bab91f0416f31a8273593bb7725658674eb41621 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -142,6 +142,11 @@ public class PurpurWorldConfig {
|
@@ -142,6 +142,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,19 @@ Date: Fri, 24 May 2019 02:39:25 -0500
|
|||||||
Subject: [PATCH] Signs editable on right click
|
Subject: [PATCH] Signs editable on right click
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/BlockSign.java b/src/main/java/net/minecraft/server/BlockSign.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/BlockSign.java b/src/main/java/net/minecraft/world/level/block/BlockSign.java
|
||||||
index 3585fd82c14338a82302ca403e91e6cfe65e1c19..770ad5edfb44acb69e7da33226ca6bf7c01a77b7 100644
|
index 6b461080439dd9ce5b8d34b79d446558bbd5c1f1..19f4403b9f1142c71e7b2c7c0fd5a78027d4ffe4 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BlockSign.java
|
--- a/src/main/java/net/minecraft/world/level/block/BlockSign.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BlockSign.java
|
+++ b/src/main/java/net/minecraft/world/level/block/BlockSign.java
|
||||||
@@ -56,6 +56,17 @@ public abstract class BlockSign extends BlockTileEntity implements IBlockWaterlo
|
@@ -6,6 +6,7 @@ import net.minecraft.world.EnumHand;
|
||||||
|
import net.minecraft.world.EnumInteractionResult;
|
||||||
|
import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
import net.minecraft.world.item.ItemDye;
|
||||||
|
+import net.minecraft.world.item.ItemSign;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.level.GeneratorAccess;
|
||||||
|
import net.minecraft.world.level.IBlockAccess;
|
||||||
|
@@ -80,6 +81,17 @@ public abstract class BlockSign extends BlockTileEntity implements IBlockWaterlo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,11 +34,11 @@ index 3585fd82c14338a82302ca403e91e6cfe65e1c19..770ad5edfb44acb69e7da33226ca6bf7
|
|||||||
return tileentitysign.b(entityhuman) ? EnumInteractionResult.SUCCESS : EnumInteractionResult.PASS;
|
return tileentitysign.b(entityhuman) ? EnumInteractionResult.SUCCESS : EnumInteractionResult.PASS;
|
||||||
} else {
|
} else {
|
||||||
return EnumInteractionResult.PASS;
|
return EnumInteractionResult.PASS;
|
||||||
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntitySign.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntitySign.java
|
||||||
index 3c7847b1156a486e253a0e9f74a857e841d90619..1e6bb566c0a718bba289b2e727a832e0aa6b7f15 100644
|
index 7f78f388584899b13ff983f0dc37c679bfb1507e..96d0524482281f8570464962c0fd5319199440d7 100644
|
||||||
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
|
--- a/src/main/java/net/minecraft/world/level/block/entity/TileEntitySign.java
|
||||||
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
|
+++ b/src/main/java/net/minecraft/world/level/block/entity/TileEntitySign.java
|
||||||
@@ -112,6 +112,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
|
@@ -132,6 +132,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
|
||||||
return this.isEditable;
|
return this.isEditable;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,7 +47,7 @@ index 3c7847b1156a486e253a0e9f74a857e841d90619..1e6bb566c0a718bba289b2e727a832e0
|
|||||||
// Paper start
|
// Paper start
|
||||||
//this.c = entityhuman;
|
//this.c = entityhuman;
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 66c0725c3dc28e49387d2b9f1a15aa0758763c08..8393a0253ac16a8f15f78288d6cc31f8688c403c 100644
|
index bab91f0416f31a8273593bb7725658674eb41621..ea95a4116371d58eb36be51093af7f0fa28e3dfd 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -109,6 +109,11 @@ public class PurpurWorldConfig {
|
@@ -109,6 +109,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Thu, 6 Jun 2019 17:40:30 -0500
|
|||||||
Subject: [PATCH] Signs allow color codes
|
Subject: [PATCH] Signs allow color codes
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/EntityPlayer.java b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
index 2660a87fcfbed135c834acc13db6c758a66ccf8c..e03c80f4b61e211c104e809d52d16a400b713f00 100644
|
index 7cd1ae92768164b657af9febe9b4feb7fd02f55a..fe583fbc58309564d35d4cdd56fafc4de8ba31c8 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
@@ -1449,6 +1449,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -1579,6 +1579,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void openSign(TileEntitySign tileentitysign) {
|
public void openSign(TileEntitySign tileentitysign) {
|
||||||
@@ -16,11 +16,11 @@ index 2660a87fcfbed135c834acc13db6c758a66ccf8c..e03c80f4b61e211c104e809d52d16a40
|
|||||||
tileentitysign.a((EntityHuman) this);
|
tileentitysign.a((EntityHuman) this);
|
||||||
this.playerConnection.sendPacket(new PacketPlayOutOpenSignEditor(tileentitysign.getPosition()));
|
this.playerConnection.sendPacket(new PacketPlayOutOpenSignEditor(tileentitysign.getPosition()));
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
index be29ecfa00d53ad2067015a5261184b4157c604b..4d0dcbcc00e44c4912302dd0e7331471f33cb370 100644
|
index 68200fe85fc4e66bb58dd35df306ba37604b6b94..bbb3b44bdceb8fb0363f771b8cf1b8245b5c8d3d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
@@ -2902,6 +2902,15 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
@@ -3047,6 +3047,15 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -36,19 +36,19 @@ index be29ecfa00d53ad2067015a5261184b4157c604b..4d0dcbcc00e44c4912302dd0e7331471
|
|||||||
lines.add(net.kyori.adventure.text.Component.text(SharedConstants.filterAllowedChatCharacters(currentLine))); // Paper - Replaced with anvil color stripping method to stop exploits that allow colored signs to be created.
|
lines.add(net.kyori.adventure.text.Component.text(SharedConstants.filterAllowedChatCharacters(currentLine))); // Paper - Replaced with anvil color stripping method to stop exploits that allow colored signs to be created.
|
||||||
}
|
}
|
||||||
SignChangeEvent event = new SignChangeEvent(org.bukkit.craftbukkit.block.CraftBlock.at(worldserver, blockposition), this.getPlayer(), lines);
|
SignChangeEvent event = new SignChangeEvent(org.bukkit.craftbukkit.block.CraftBlock.at(worldserver, blockposition), this.getPlayer(), lines);
|
||||||
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntitySign.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntitySign.java
|
||||||
index 1e6bb566c0a718bba289b2e727a832e0aa6b7f15..b2afbf72ccf467d01449d75bc5123eb1816afd03 100644
|
index 96d0524482281f8570464962c0fd5319199440d7..a87a2fa507dc3bd6d9979db5868e7ef6ea1eddbd 100644
|
||||||
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
|
--- a/src/main/java/net/minecraft/world/level/block/entity/TileEntitySign.java
|
||||||
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
|
+++ b/src/main/java/net/minecraft/world/level/block/entity/TileEntitySign.java
|
||||||
@@ -1,6 +1,7 @@
|
@@ -1,6 +1,7 @@
|
||||||
package net.minecraft.server;
|
package net.minecraft.world.level.block.entity;
|
||||||
|
|
||||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||||
+import io.papermc.paper.adventure.PaperAdventure; // Purpur
|
+import io.papermc.paper.adventure.PaperAdventure; // Purpur
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
import net.minecraft.commands.CommandListenerWrapper;
|
||||||
public class TileEntitySign extends TileEntity implements ICommandListener { // CraftBukkit - implements
|
import net.minecraft.commands.ICommandListener;
|
||||||
@@ -92,6 +93,18 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
|
@@ -112,6 +113,18 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
|
||||||
this.g[i] = null;
|
this.g[i] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ index 1e6bb566c0a718bba289b2e727a832e0aa6b7f15..b2afbf72ccf467d01449d75bc5123eb1
|
|||||||
@Override
|
@Override
|
||||||
public PacketPlayOutTileEntityData getUpdatePacket() {
|
public PacketPlayOutTileEntityData getUpdatePacket() {
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 8393a0253ac16a8f15f78288d6cc31f8688c403c..484da2bf267cab4e4569c98111398af64c834eed 100644
|
index ea95a4116371d58eb36be51093af7f0fa28e3dfd..b67f87f38d0ff99ff62d2103ecc737317a435102 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -109,8 +109,10 @@ public class PurpurWorldConfig {
|
@@ -109,8 +109,10 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Fri, 21 Jun 2019 14:37:10 -0500
|
|||||||
Subject: [PATCH] Allow soil to moisten from water directly under it
|
Subject: [PATCH] Allow soil to moisten from water directly under it
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/BlockSoil.java b/src/main/java/net/minecraft/server/BlockSoil.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/BlockSoil.java b/src/main/java/net/minecraft/world/level/block/BlockSoil.java
|
||||||
index a315e2628c35ee713b68741c6e52c4b140c05f27..8dd48669c29dd51ed4d535dad0b0319f4bb2250c 100644
|
index 3bedb1c6a0f221c7b40ee0a50f676e8b05bd37a7..2bbaa2fb426869223a9b2f07406496c1b0daff3f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BlockSoil.java
|
--- a/src/main/java/net/minecraft/world/level/block/BlockSoil.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BlockSoil.java
|
+++ b/src/main/java/net/minecraft/world/level/block/BlockSoil.java
|
||||||
@@ -116,19 +116,14 @@ public class BlockSoil extends Block {
|
@@ -139,19 +139,14 @@ public class BlockSoil extends Block {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean a(IWorldReader iworldreader, BlockPosition blockposition) {
|
private static boolean a(IWorldReader iworldreader, BlockPosition blockposition) {
|
||||||
@@ -36,7 +36,7 @@ index a315e2628c35ee713b68741c6e52c4b140c05f27..8dd48669c29dd51ed4d535dad0b0319f
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 484da2bf267cab4e4569c98111398af64c834eed..56793a9e8f963b63a22aac5337299fbfb07389f0 100644
|
index b67f87f38d0ff99ff62d2103ecc737317a435102..2e4a928a3e88fb3d961d9530695cd7154321c79b 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -109,6 +109,11 @@ public class PurpurWorldConfig {
|
@@ -109,6 +109,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,19 @@ Date: Sat, 29 Jun 2019 02:32:40 -0500
|
|||||||
Subject: [PATCH] Controllable Minecarts
|
Subject: [PATCH] Controllable Minecarts
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
|
diff --git a/src/main/java/net/minecraft/core/BlockPosition.java b/src/main/java/net/minecraft/core/BlockPosition.java
|
||||||
index 72ee5fe0ca25844cbcd8f1bbbbd6a7f8ced24bc4..f38382cc681f03d9a6a0efa85f045e3770398739 100644
|
index 73ec17dea5d5668e49c9a6ad679bd3a362960c72..54e97ae219d49a595441af6c5bae8ecef6bfc1ad 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BlockPosition.java
|
--- a/src/main/java/net/minecraft/core/BlockPosition.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
|
+++ b/src/main/java/net/minecraft/core/BlockPosition.java
|
||||||
@@ -36,6 +36,12 @@ public class BlockPosition extends BaseBlockPosition {
|
@@ -11,6 +11,7 @@ import java.util.stream.StreamSupport;
|
||||||
|
import javax.annotation.concurrent.Immutable;
|
||||||
|
import net.minecraft.SystemUtils;
|
||||||
|
import net.minecraft.util.MathHelper;
|
||||||
|
+import net.minecraft.world.entity.Entity;
|
||||||
|
import net.minecraft.world.level.block.EnumBlockRotation;
|
||||||
|
import net.minecraft.world.level.levelgen.structure.StructureBoundingBox;
|
||||||
|
import net.minecraft.world.phys.AxisAlignedBB;
|
||||||
|
@@ -42,6 +43,12 @@ public class BlockPosition extends BaseBlockPosition {
|
||||||
private static final int m = 38;
|
private static final int m = 38;
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
@@ -21,11 +29,31 @@ index 72ee5fe0ca25844cbcd8f1bbbbd6a7f8ced24bc4..f38382cc681f03d9a6a0efa85f045e37
|
|||||||
public BlockPosition(int i, int j, int k) {
|
public BlockPosition(int i, int j, int k) {
|
||||||
super(i, j, k);
|
super(i, j, k);
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
diff --git a/src/main/java/net/minecraft/server/level/EntityPlayer.java b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
index 0eae140eb55526e5eb88dab0e267b45fdef43ff6..65dfe107566244b96a9eb1520336caa8cc79361d 100644
|
index fe583fbc58309564d35d4cdd56fafc4de8ba31c8..4a2ea4c83107e957bda69604ca0ae98c504cf962 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
--- a/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
+++ b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
@@ -99,9 +99,9 @@ public abstract class EntityLiving extends Entity {
|
@@ -106,6 +106,7 @@ import net.minecraft.world.entity.monster.EntityMonster;
|
||||||
|
import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
import net.minecraft.world.entity.player.EnumChatVisibility;
|
||||||
|
import net.minecraft.world.entity.projectile.EntityArrow;
|
||||||
|
+import net.minecraft.world.entity.vehicle.EntityMinecartAbstract;
|
||||||
|
import net.minecraft.world.inventory.Container;
|
||||||
|
import net.minecraft.world.inventory.ContainerHorse;
|
||||||
|
import net.minecraft.world.inventory.ICrafting;
|
||||||
|
@@ -1132,6 +1133,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
|
if (this.isInvulnerable(damagesource)) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
+ if (damagesource == DamageSource.FALL && getRootVehicle() instanceof EntityMinecartAbstract && world.purpurConfig.controllableMinecarts && !world.purpurConfig.controllableMinecartsFallDamage) return false; // Purpur
|
||||||
|
boolean flag = this.server.j() && this.canPvP() && "fall".equals(damagesource.translationIndex);
|
||||||
|
|
||||||
|
if (!flag && isSpawnInvulnerable() && damagesource != DamageSource.OUT_OF_WORLD) { // Purpur
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
|
index 1902b706345ff0031aaa8babde8cabffced99b78..c3acf0de92f1dbbcfbe7a9673c843107a6bd00b7 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
|
@@ -194,9 +194,9 @@ public abstract class EntityLiving extends Entity {
|
||||||
protected int aO;protected int getKillCount() { return this.aO; } // Paper - OBFHELPER
|
protected int aO;protected int getKillCount() { return this.aO; } // Paper - OBFHELPER
|
||||||
public float lastDamage;
|
public float lastDamage;
|
||||||
public boolean jumping; // Paper protected -> public
|
public boolean jumping; // Paper protected -> public
|
||||||
@@ -38,11 +66,11 @@ index 0eae140eb55526e5eb88dab0e267b45fdef43ff6..65dfe107566244b96a9eb1520336caa8
|
|||||||
protected int aU;
|
protected int aU;
|
||||||
protected double aV;
|
protected double aV;
|
||||||
protected double aW;
|
protected double aW;
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/EntityMinecartAbstract.java b/src/main/java/net/minecraft/world/entity/vehicle/EntityMinecartAbstract.java
|
||||||
index be859a1b41254b299a507d03e453dc8efee6f3dd..4de2877f30a9b231a5c8bbd1739416991e9d7633 100644
|
index 75a88ab5d5b0fdb98ea8d61bb6b82049b21101f3..3cd9a7956f9cbb3f66764adfede12b3b25024c41 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
--- a/src/main/java/net/minecraft/world/entity/vehicle/EntityMinecartAbstract.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
+++ b/src/main/java/net/minecraft/world/entity/vehicle/EntityMinecartAbstract.java
|
||||||
@@ -445,16 +445,62 @@ public abstract class EntityMinecartAbstract extends Entity {
|
@@ -484,16 +484,62 @@ public abstract class EntityMinecartAbstract extends Entity {
|
||||||
|
|
||||||
public void a(int i, int j, int k, boolean flag) {}
|
public void a(int i, int j, int k, boolean flag) {}
|
||||||
|
|
||||||
@@ -52,11 +80,11 @@ index be859a1b41254b299a507d03e453dc8efee6f3dd..4de2877f30a9b231a5c8bbd173941699
|
|||||||
+ public double getControllableSpeed() {
|
+ public double getControllableSpeed() {
|
||||||
+ BlockPosition position = new BlockPosition(this);
|
+ BlockPosition position = new BlockPosition(this);
|
||||||
+ Block block = world.getType(position).getBlock();
|
+ Block block = world.getType(position).getBlock();
|
||||||
+ if (!block.material.isSolid()) {
|
+ if (!block.getMaterial().isSolid()) {
|
||||||
+ block = world.getType(position.shift(EnumDirection.DOWN)).getBlock();
|
+ block = world.getType(position.shift(EnumDirection.DOWN)).getBlock();
|
||||||
+ }
|
+ }
|
||||||
+ Double speed = world.purpurConfig.controllableMinecartsBlockSpeeds.get(block);
|
+ Double speed = world.purpurConfig.controllableMinecartsBlockSpeeds.get(block);
|
||||||
+ if (!block.material.isSolid()) {
|
+ if (!block.getMaterial().isSolid()) {
|
||||||
+ speed = lastSpeed;
|
+ speed = lastSpeed;
|
||||||
+ } else if (speed == null) {
|
+ } else if (speed == null) {
|
||||||
+ speed = world.purpurConfig.controllableMinecartsBaseSpeed;
|
+ speed = world.purpurConfig.controllableMinecartsBaseSpeed;
|
||||||
@@ -105,23 +133,11 @@ index be859a1b41254b299a507d03e453dc8efee6f3dd..4de2877f30a9b231a5c8bbd173941699
|
|||||||
|
|
||||||
this.move(EnumMoveType.SELF, this.getMot());
|
this.move(EnumMoveType.SELF, this.getMot());
|
||||||
if (!this.onGround) {
|
if (!this.onGround) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/world/item/ItemMinecart.java b/src/main/java/net/minecraft/world/item/ItemMinecart.java
|
||||||
index e03c80f4b61e211c104e809d52d16a400b713f00..b05137eb7de2d5b236d9195db37b613733b99cf2 100644
|
index 527f3ed664854cdd938c34f00a064bc2f77148cc..d50a1093aa9b6d7187b59566309a3abd05125e07 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/world/item/ItemMinecart.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/world/item/ItemMinecart.java
|
||||||
@@ -1002,6 +1002,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -121,8 +121,10 @@ public class ItemMinecart extends Item {
|
||||||
if (this.isInvulnerable(damagesource)) {
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
+ if (damagesource == DamageSource.FALL && getRootVehicle() instanceof EntityMinecartAbstract && world.purpurConfig.controllableMinecarts && !world.purpurConfig.controllableMinecartsFallDamage) return false; // Purpur
|
|
||||||
boolean flag = this.server.j() && this.canPvP() && "fall".equals(damagesource.translationIndex);
|
|
||||||
|
|
||||||
if (!flag && isSpawnInvulnerable() && damagesource != DamageSource.OUT_OF_WORLD) { // Purpur
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemMinecart.java b/src/main/java/net/minecraft/server/ItemMinecart.java
|
|
||||||
index ceef7aaf923026ff1044d6feba4297279eb44157..002651aaf3b8a9b489fe323756cd1ad13f9874e8 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/ItemMinecart.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemMinecart.java
|
|
||||||
@@ -103,8 +103,10 @@ public class ItemMinecart extends Item {
|
|
||||||
IBlockData iblockdata = world.getType(blockposition);
|
IBlockData iblockdata = world.getType(blockposition);
|
||||||
|
|
||||||
if (!iblockdata.a((Tag) TagsBlock.RAILS)) {
|
if (!iblockdata.a((Tag) TagsBlock.RAILS)) {
|
||||||
@@ -134,7 +150,7 @@ index ceef7aaf923026ff1044d6feba4297279eb44157..002651aaf3b8a9b489fe323756cd1ad1
|
|||||||
ItemStack itemstack = itemactioncontext.getItemStack();
|
ItemStack itemstack = itemactioncontext.getItemStack();
|
||||||
|
|
||||||
if (!world.isClientSide) {
|
if (!world.isClientSide) {
|
||||||
@@ -131,6 +133,6 @@ public class ItemMinecart extends Item {
|
@@ -149,6 +151,6 @@ public class ItemMinecart extends Item {
|
||||||
|
|
||||||
itemstack.subtract(1);
|
itemstack.subtract(1);
|
||||||
return EnumInteractionResult.a(world.isClientSide);
|
return EnumInteractionResult.a(world.isClientSide);
|
||||||
@@ -142,19 +158,39 @@ index ceef7aaf923026ff1044d6feba4297279eb44157..002651aaf3b8a9b489fe323756cd1ad1
|
|||||||
+ //} // Purpur - place minecarts anywhere
|
+ //} // Purpur - place minecarts anywhere
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
|
index 596b4597313b87296d39027b13555b5ad1cba9e6..5ea059cde9e1a089c2ade12512e4a7abd07c5b8a 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
|
@@ -41,6 +41,7 @@ import net.minecraft.world.level.block.entity.TileEntity;
|
||||||
|
import net.minecraft.world.level.block.state.BlockBase;
|
||||||
|
import net.minecraft.world.level.block.state.BlockStateList;
|
||||||
|
import net.minecraft.world.level.block.state.IBlockData;
|
||||||
|
+import net.minecraft.world.level.material.Material;
|
||||||
|
import net.minecraft.world.level.storage.loot.LootTableInfo;
|
||||||
|
import net.minecraft.world.level.storage.loot.parameters.LootContextParameters;
|
||||||
|
import net.minecraft.world.phys.Vec3D;
|
||||||
|
@@ -83,6 +84,7 @@ public class Block extends BlockBase implements IMaterial {
|
||||||
|
return timing;
|
||||||
|
}
|
||||||
|
// Paper end
|
||||||
|
+ public Material getMaterial() { return material; } // Purpur - OBFHELPER
|
||||||
|
@Nullable
|
||||||
|
private String name;
|
||||||
|
@Nullable
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 56793a9e8f963b63a22aac5337299fbfb07389f0..c6682064ff5d653d14f658396a6a5461d4554fab 100644
|
index 2e4a928a3e88fb3d961d9530695cd7154321c79b..3a6a19bd4e952a6deb1def80755387cab75bbad8 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -1,5 +1,7 @@
|
@@ -1,13 +1,18 @@
|
||||||
package net.pl3x.purpur;
|
package net.pl3x.purpur;
|
||||||
|
|
||||||
+import net.minecraft.server.Block;
|
import net.minecraft.core.IRegistry;
|
||||||
+import net.minecraft.server.Blocks;
|
+import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.server.IRegistry;
|
+import net.minecraft.world.level.block.Blocks;
|
||||||
import net.minecraft.server.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.server.Items;
|
import net.minecraft.world.item.Items;
|
||||||
@@ -7,7 +9,10 @@ import net.minecraft.server.MinecraftKey;
|
import net.minecraft.resources.MinecraftKey;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Wed, 3 Jul 2019 23:58:31 -0500
|
|||||||
Subject: [PATCH] Disable loot drops on death by cramming
|
Subject: [PATCH] Disable loot drops on death by cramming
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
index 65dfe107566244b96a9eb1520336caa8cc79361d..3745bf3de3fc4e8096feb247b64b53c66a93d7d4 100644
|
index c3acf0de92f1dbbcfbe7a9673c843107a6bd00b7..1602c00e04cccdee4e9eb4f4512145e8b1aeaf57 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
@@ -1503,8 +1503,10 @@ public abstract class EntityLiving extends Entity {
|
@@ -1598,8 +1598,10 @@ public abstract class EntityLiving extends Entity {
|
||||||
|
|
||||||
this.dropInventory(); // CraftBukkit - from below
|
this.dropInventory(); // CraftBukkit - from below
|
||||||
if (this.cW() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
|
if (this.cW() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
|
||||||
@@ -20,7 +20,7 @@ index 65dfe107566244b96a9eb1520336caa8cc79361d..3745bf3de3fc4e8096feb247b64b53c6
|
|||||||
// CraftBukkit start - Call death event
|
// CraftBukkit start - Call death event
|
||||||
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper
|
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index c6682064ff5d653d14f658396a6a5461d4554fab..8d1ad37f17935331ee867c15f91842cdc53d4450 100644
|
index 3a6a19bd4e952a6deb1def80755387cab75bbad8..b16ea97f4119fe2cd7c218f3fecbb7202c362665 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -112,6 +112,11 @@ public class PurpurWorldConfig {
|
@@ -112,6 +112,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sun, 21 Jul 2019 18:01:46 -0500
|
|||||||
Subject: [PATCH] Players should not cram to death
|
Subject: [PATCH] Players should not cram to death
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/EntityPlayer.java b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
index b05137eb7de2d5b236d9195db37b613733b99cf2..ec5248d7d472aa6868a5a3763ded267a919b3e58 100644
|
index 4a2ea4c83107e957bda69604ca0ae98c504cf962..e129480fa1045fbeaafa97045d53696b44952bcf 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
@@ -1426,7 +1426,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -1557,7 +1557,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isInvulnerable(DamageSource damagesource) {
|
public boolean isInvulnerable(DamageSource damagesource) {
|
||||||
|
|||||||
@@ -4,11 +4,20 @@ Date: Wed, 10 Jul 2019 20:43:05 -0500
|
|||||||
Subject: [PATCH] Option to toggle milk curing bad omen
|
Subject: [PATCH] Option to toggle milk curing bad omen
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemMilkBucket.java b/src/main/java/net/minecraft/server/ItemMilkBucket.java
|
diff --git a/src/main/java/net/minecraft/world/item/ItemMilkBucket.java b/src/main/java/net/minecraft/world/item/ItemMilkBucket.java
|
||||||
index fcf254bbaeb3c0ffdb6834a8d5ad2c3cf4235e5b..79554e18fc39ecd9db87618a59d2e6709049820e 100644
|
index 6085c5f75bd85cca3462613c18c2e2bf26205d1b..e20452f55c531f76ecaae9ba5d0ea3f8edf96127 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ItemMilkBucket.java
|
--- a/src/main/java/net/minecraft/world/item/ItemMilkBucket.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemMilkBucket.java
|
+++ b/src/main/java/net/minecraft/world/item/ItemMilkBucket.java
|
||||||
@@ -20,7 +20,9 @@ public class ItemMilkBucket extends Item {
|
@@ -5,6 +5,8 @@ import net.minecraft.server.level.EntityPlayer;
|
||||||
|
import net.minecraft.stats.StatisticList;
|
||||||
|
import net.minecraft.world.EnumHand;
|
||||||
|
import net.minecraft.world.InteractionResultWrapper;
|
||||||
|
+import net.minecraft.world.effect.MobEffect;
|
||||||
|
+import net.minecraft.world.effect.MobEffects;
|
||||||
|
import net.minecraft.world.entity.EntityLiving;
|
||||||
|
import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
import net.minecraft.world.level.World;
|
||||||
|
@@ -29,7 +31,9 @@ public class ItemMilkBucket extends Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!world.isClientSide) {
|
if (!world.isClientSide) {
|
||||||
@@ -19,7 +28,7 @@ index fcf254bbaeb3c0ffdb6834a8d5ad2c3cf4235e5b..79554e18fc39ecd9db87618a59d2e670
|
|||||||
|
|
||||||
return itemstack.isEmpty() ? new ItemStack(Items.BUCKET) : itemstack;
|
return itemstack.isEmpty() ? new ItemStack(Items.BUCKET) : itemstack;
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 8d1ad37f17935331ee867c15f91842cdc53d4450..bec457e5aac17b0db0788110ceda778c81f26042 100644
|
index b16ea97f4119fe2cd7c218f3fecbb7202c362665..a892d9af3753c4ca8f3733c64bece1cd1ed468c6 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -113,8 +113,10 @@ public class PurpurWorldConfig {
|
@@ -113,8 +113,10 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sat, 21 Mar 2020 18:33:05 -0500
|
|||||||
Subject: [PATCH] End gateway should check if entity can use portal
|
Subject: [PATCH] End gateway should check if entity can use portal
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/TileEntityEndGateway.java b/src/main/java/net/minecraft/server/TileEntityEndGateway.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntityEndGateway.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntityEndGateway.java
|
||||||
index b740c9b66a77df1ff20fba794c49a1de4292ba88..e616b3759561e0d6e471f914f3dc843fe7464f2e 100644
|
index 855c49164277ca96ca08fb204d851a5ad6789990..d918194e45953764fa3fd286b715714330a60941 100644
|
||||||
--- a/src/main/java/net/minecraft/server/TileEntityEndGateway.java
|
--- a/src/main/java/net/minecraft/world/level/block/entity/TileEntityEndGateway.java
|
||||||
+++ b/src/main/java/net/minecraft/server/TileEntityEndGateway.java
|
+++ b/src/main/java/net/minecraft/world/level/block/entity/TileEntityEndGateway.java
|
||||||
@@ -128,6 +128,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick
|
@@ -153,6 +153,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick
|
||||||
|
|
||||||
public void b(Entity entity) {
|
public void b(Entity entity) {
|
||||||
if (this.world instanceof WorldServer && !this.f()) {
|
if (this.world instanceof WorldServer && !this.f()) {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Fri, 6 Mar 2020 13:37:26 -0600
|
|||||||
Subject: [PATCH] Fix the dead lagging the server
|
Subject: [PATCH] Fix the dead lagging the server
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 983ed53eed9e15a14d83c68d72f004417cee2657..88598f55da691ce880d7fb8044c87c10f372aefd 100644
|
index c8071e2909c03bd8eafb92fbf8fd8701642df1f9..7c9fc120d2b58ca969b8a0ff9619e96f4f34b1c4 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -1539,6 +1539,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
@@ -1631,6 +1631,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
|
||||||
this.pitch = MathHelper.a(f1, -90.0F, 90.0F) % 360.0F;
|
this.pitch = MathHelper.a(f1, -90.0F, 90.0F) % 360.0F;
|
||||||
this.lastYaw = this.yaw;
|
this.lastYaw = this.yaw;
|
||||||
this.lastPitch = this.pitch;
|
this.lastPitch = this.pitch;
|
||||||
@@ -16,11 +16,11 @@ index 983ed53eed9e15a14d83c68d72f004417cee2657..88598f55da691ce880d7fb8044c87c10
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void f(double d0, double d1, double d2) {
|
public void f(double d0, double d1, double d2) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
index 3745bf3de3fc4e8096feb247b64b53c66a93d7d4..d0c73d296a3ab5f65835de0cf226d72174f6902d 100644
|
index 1602c00e04cccdee4e9eb4f4512145e8b1aeaf57..c540886511261303d2266ac97353e1b98c1f9601 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
@@ -2502,7 +2502,7 @@ public abstract class EntityLiving extends Entity {
|
@@ -2597,7 +2597,7 @@ public abstract class EntityLiving extends Entity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sat, 4 Apr 2020 03:07:59 -0500
|
|||||||
Subject: [PATCH] Skip events if there's no listeners
|
Subject: [PATCH] Skip events if there's no listeners
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/CommandDispatcher.java b/src/main/java/net/minecraft/server/CommandDispatcher.java
|
diff --git a/src/main/java/net/minecraft/commands/CommandDispatcher.java b/src/main/java/net/minecraft/commands/CommandDispatcher.java
|
||||||
index e56ff365118c50486f36cb15a4ca062c5a481674..17753c8a997aa286460be5d8eb6508e2eaed18ce 100644
|
index a70e0761aeddee8fafff971b5cbd0422ab560fb5..6fc5ee06c3bed8d9aa0e13dd7fa8d70ff6711f85 100644
|
||||||
--- a/src/main/java/net/minecraft/server/CommandDispatcher.java
|
--- a/src/main/java/net/minecraft/commands/CommandDispatcher.java
|
||||||
+++ b/src/main/java/net/minecraft/server/CommandDispatcher.java
|
+++ b/src/main/java/net/minecraft/commands/CommandDispatcher.java
|
||||||
@@ -278,6 +278,7 @@ public class CommandDispatcher {
|
@@ -362,6 +362,7 @@ public class CommandDispatcher {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void runSync(EntityPlayer entityplayer, Collection<String> bukkit, RootCommandNode<ICompletionProvider> rootcommandnode) {
|
private void runSync(EntityPlayer entityplayer, Collection<String> bukkit, RootCommandNode<ICompletionProvider> rootcommandnode) {
|
||||||
@@ -16,7 +16,7 @@ index e56ff365118c50486f36cb15a4ca062c5a481674..17753c8a997aa286460be5d8eb6508e2
|
|||||||
// Paper end - Async command map building
|
// Paper end - Async command map building
|
||||||
new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandListenerWrapper>(entityplayer.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper
|
new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandListenerWrapper>(entityplayer.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper
|
||||||
PlayerCommandSendEvent event = new PlayerCommandSendEvent(entityplayer.getBukkitEntity(), new LinkedHashSet<>(bukkit));
|
PlayerCommandSendEvent event = new PlayerCommandSendEvent(entityplayer.getBukkitEntity(), new LinkedHashSet<>(bukkit));
|
||||||
@@ -290,6 +291,7 @@ public class CommandDispatcher {
|
@@ -374,6 +375,7 @@ public class CommandDispatcher {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sat, 28 Dec 2019 04:21:54 -0600
|
|||||||
Subject: [PATCH] Add permission for F3+N debug
|
Subject: [PATCH] Add permission for F3+N debug
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index 7f784709ab8c560fd2dae551b6c8c234a2d134c6..f9043744ad0a622c6aa5e5bd3986fb9f60cab4c3 100644
|
index 49acc6e43748a2d2a68f1b134421831b2feedd7b..54e009ee763a689125eb521f9144951aac53a4c0 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -1073,6 +1073,7 @@ public abstract class PlayerList {
|
@@ -1157,6 +1157,7 @@ public abstract class PlayerList {
|
||||||
} else {
|
} else {
|
||||||
b0 = (byte) (24 + i);
|
b0 = (byte) (24 + i);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Tue, 14 Jan 2020 19:43:40 -0600
|
|||||||
Subject: [PATCH] Add wither skeleton takes wither damage option
|
Subject: [PATCH] Add wither skeleton takes wither damage option
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonWither.java b/src/main/java/net/minecraft/server/EntitySkeletonWither.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntitySkeletonWither.java b/src/main/java/net/minecraft/world/entity/monster/EntitySkeletonWither.java
|
||||||
index 1ae9910fefece1a3fe6410b27642da6edd8f296d..c872be77a6cd767520d5412b38ec4ed4fa87ac2f 100644
|
index 85ba95615963fd6b28c454b25992e7c5b7019ae5..a90ac635ef7aef5289d21f948db7b170b23160d3 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntitySkeletonWither.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntitySkeletonWither.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntitySkeletonWither.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntitySkeletonWither.java
|
||||||
@@ -97,6 +97,6 @@ public class EntitySkeletonWither extends EntitySkeletonAbstract {
|
@@ -122,6 +122,6 @@ public class EntitySkeletonWither extends EntitySkeletonAbstract {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean d(MobEffect mobeffect) {
|
public boolean d(MobEffect mobeffect) {
|
||||||
@@ -17,7 +17,7 @@ index 1ae9910fefece1a3fe6410b27642da6edd8f296d..c872be77a6cd767520d5412b38ec4ed4
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index bec457e5aac17b0db0788110ceda778c81f26042..d6a95f47c42538b574ec55c0cfffe064b80fdef0 100644
|
index a892d9af3753c4ca8f3733c64bece1cd1ed468c6..28ac3fcfb73acddd13712f5c625bd61be99cb7c5 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -279,6 +279,11 @@ public class PurpurWorldConfig {
|
@@ -279,6 +279,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 5e647afa74950bcb09de630ac641b9d178ef71c2..bbc92489fd2e9037834fdea3a4514b5687ae86d7 100644
|
index 34793bc4bd14dc7a34f32ccfec05cf50eb77cee2..5367c3b7bdfb6951986e5c844fb978f42a0bfec5 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1010,7 +1010,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1122,7 +1122,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
this.a(this::canSleepForTick);
|
this.a(this::canSleepForTick);
|
||||||
this.methodProfiler.exitEnter("nextTickWait");
|
this.methodProfiler.exitEnter("nextTickWait");
|
||||||
this.X = true;
|
this.X = true;
|
||||||
@@ -24,7 +24,7 @@ index 5e647afa74950bcb09de630ac641b9d178ef71c2..bbc92489fd2e9037834fdea3a4514b56
|
|||||||
this.methodProfiler.exit();
|
this.methodProfiler.exit();
|
||||||
this.methodProfiler.b();
|
this.methodProfiler.b();
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
index a2f3c5c81d93814f89a778c8c58d36b416ea1efc..10900ef825f88657f287c8c5b71a89338ba54c11 100644
|
index d12749a8084ede08d8efa80db279511f3c84b044..8572cc59ad94cb5ac8b7625587c4dc23a1efbd4d 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
@@ -190,4 +190,9 @@ public class PurpurConfig {
|
@@ -190,4 +190,9 @@ public class PurpurConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Thu, 19 Mar 2020 19:39:34 -0500
|
|||||||
Subject: [PATCH] Add option to allow loyalty on tridents to work in the void
|
Subject: [PATCH] Add option to allow loyalty on tridents to work in the void
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityThrownTrident.java b/src/main/java/net/minecraft/server/EntityThrownTrident.java
|
diff --git a/src/main/java/net/minecraft/world/entity/projectile/EntityThrownTrident.java b/src/main/java/net/minecraft/world/entity/projectile/EntityThrownTrident.java
|
||||||
index 8026a55d462a646d6b39db21d52ba0871dfbc4d3..2acbe7437df71fc27580deddee8eb7655a297b70 100644
|
index 646043987e1102ae8e9becc9820e6c6d86ef844d..7aadfe6598f0d3d41b94cfc003fcc9d075ee6ae5 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityThrownTrident.java
|
--- a/src/main/java/net/minecraft/world/entity/projectile/EntityThrownTrident.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityThrownTrident.java
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityThrownTrident.java
|
||||||
@@ -38,7 +38,7 @@ public class EntityThrownTrident extends EntityArrow {
|
@@ -60,7 +60,7 @@ public class EntityThrownTrident extends EntityArrow {
|
||||||
|
|
||||||
Entity entity = this.getShooter();
|
Entity entity = this.getShooter();
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ index 8026a55d462a646d6b39db21d52ba0871dfbc4d3..2acbe7437df71fc27580deddee8eb765
|
|||||||
|
|
||||||
if (b0 > 0 && !this.z()) {
|
if (b0 > 0 && !this.z()) {
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index d6a95f47c42538b574ec55c0cfffe064b80fdef0..4a0bbc0cd41b4a50ebad9b4569e07d727fc3e482 100644
|
index 28ac3fcfb73acddd13712f5c625bd61be99cb7c5..5d4432177aabbfd72e549b3bb5cf5381f71ce07a 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -114,9 +114,11 @@ public class PurpurWorldConfig {
|
@@ -114,9 +114,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sun, 26 Apr 2020 16:28:38 -0500
|
|||||||
Subject: [PATCH] Add enderman and creeper griefing controls
|
Subject: [PATCH] Add enderman and creeper griefing controls
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityCreeper.java b/src/main/java/net/minecraft/world/entity/monster/EntityCreeper.java
|
||||||
index ff80ac7db73b7c7dd6ac62ac128af1cab961d075..36bf307985624a3567eb1196e034470bd7002e1e 100644
|
index 1986f6a672b97c1f0366bdb76e185815b8ca3bd6..f1ff9a323eaa636b21e64860d2a83a2ba6c164ea 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityCreeper.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityCreeper.java
|
||||||
@@ -216,7 +216,7 @@ public class EntityCreeper extends EntityMonster {
|
@@ -255,7 +255,7 @@ public class EntityCreeper extends EntityMonster {
|
||||||
|
|
||||||
public void explode() {
|
public void explode() {
|
||||||
if (!this.world.isClientSide) {
|
if (!this.world.isClientSide) {
|
||||||
@@ -17,11 +17,11 @@ index ff80ac7db73b7c7dd6ac62ac128af1cab961d075..36bf307985624a3567eb1196e034470b
|
|||||||
float f = this.isPowered() ? 2.0F : 1.0F;
|
float f = this.isPowered() ? 2.0F : 1.0F;
|
||||||
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java b/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java
|
||||||
index a192400f0ea4517c56c473d39e4bd04396b4eb72..5914c50e5e254d391a5b83581d100c566243d1c5 100644
|
index 4d7b5d47ab6bd3b1408811c3b9c157b1eb5c30ae..72142f5c777c6218050bc2b69891072d256ea57d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java
|
||||||
@@ -376,6 +376,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
@@ -431,6 +431,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean a() {
|
public boolean a() {
|
||||||
@@ -29,7 +29,7 @@ index a192400f0ea4517c56c473d39e4bd04396b4eb72..5914c50e5e254d391a5b83581d100c56
|
|||||||
return this.enderman.getCarried() != null ? false : (!this.enderman.world.getGameRules().getBoolean(GameRules.MOB_GRIEFING) ? false : this.enderman.getRandom().nextInt(20) == 0);
|
return this.enderman.getCarried() != null ? false : (!this.enderman.world.getGameRules().getBoolean(GameRules.MOB_GRIEFING) ? false : this.enderman.getRandom().nextInt(20) == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -409,7 +410,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
@@ -464,7 +465,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||||||
|
|
||||||
static class PathfinderGoalEndermanPlaceBlock extends PathfinderGoal {
|
static class PathfinderGoalEndermanPlaceBlock extends PathfinderGoal {
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@ index a192400f0ea4517c56c473d39e4bd04396b4eb72..5914c50e5e254d391a5b83581d100c56
|
|||||||
|
|
||||||
public PathfinderGoalEndermanPlaceBlock(EntityEnderman entityenderman) {
|
public PathfinderGoalEndermanPlaceBlock(EntityEnderman entityenderman) {
|
||||||
this.a = entityenderman;
|
this.a = entityenderman;
|
||||||
@@ -417,6 +418,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
@@ -472,6 +473,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean a() {
|
public boolean a() {
|
||||||
@@ -47,7 +47,7 @@ index a192400f0ea4517c56c473d39e4bd04396b4eb72..5914c50e5e254d391a5b83581d100c56
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 4a0bbc0cd41b4a50ebad9b4569e07d727fc3e482..236b4f51ea805c671b905c1b081538b67cee7f57 100644
|
index 5d4432177aabbfd72e549b3bb5cf5381f71ce07a..ab703cbb1b4322b62246d974e3efa08884496ede 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -191,8 +191,10 @@ public class PurpurWorldConfig {
|
@@ -191,8 +191,10 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Fri, 24 Apr 2020 09:33:11 -0500
|
|||||||
Subject: [PATCH] Entities pick up loot bypass mob-griefing gamerule
|
Subject: [PATCH] Entities pick up loot bypass mob-griefing gamerule
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityInsentient.java b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
index 257f349217c55f6c02b42676bcd708c14e4a5fb8..6e1599537adaf923e5ceb05ce18d41fe2b02fc2c 100644
|
index 7443fe924486404931c11793acc67e2f03de4e41..d8a627ed1fad1fca37d8f8a3a344b80a60fc5e2f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
@@ -546,7 +546,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -614,7 +614,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
public void movementTick() {
|
public void movementTick() {
|
||||||
super.movementTick();
|
super.movementTick();
|
||||||
this.world.getMethodProfiler().enter("looting");
|
this.world.getMethodProfiler().enter("looting");
|
||||||
@@ -18,7 +18,7 @@ index 257f349217c55f6c02b42676bcd708c14e4a5fb8..6e1599537adaf923e5ceb05ce18d41fe
|
|||||||
Iterator iterator = list.iterator();
|
Iterator iterator = list.iterator();
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 236b4f51ea805c671b905c1b081538b67cee7f57..2fae60a6fd767cc6d0aed7a6241ba5a6bf05eaca 100644
|
index ab703cbb1b4322b62246d974e3efa08884496ede..29cab794e485b8e07b9e56f8cfb917934364121b 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -113,10 +113,12 @@ public class PurpurWorldConfig {
|
@@ -113,10 +113,12 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Fri, 24 Apr 2020 09:37:29 -0500
|
|||||||
Subject: [PATCH] Villagers farming can bypass mob-griefing gamerule
|
Subject: [PATCH] Villagers farming can bypass mob-griefing gamerule
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/BehaviorFarm.java b/src/main/java/net/minecraft/server/BehaviorFarm.java
|
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorFarm.java b/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorFarm.java
|
||||||
index 54a555509e3d83e9749609dc35897ad151bca681..0ff202c0d77681f7e0d55d57c69dd0e455336eba 100644
|
index bd998ea93d7e8748b0a938f0a76b4ccf388c7b27..42c70a6c2972ac38e889a6d42fe2d7d4f6017d57 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BehaviorFarm.java
|
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorFarm.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BehaviorFarm.java
|
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/BehaviorFarm.java
|
||||||
@@ -18,7 +18,7 @@ public class BehaviorFarm extends Behavior<EntityVillager> {
|
@@ -38,7 +38,7 @@ public class BehaviorFarm extends Behavior<EntityVillager> {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean a(WorldServer worldserver, EntityVillager entityvillager) {
|
protected boolean a(WorldServer worldserver, EntityVillager entityvillager) {
|
||||||
@@ -18,7 +18,7 @@ index 54a555509e3d83e9749609dc35897ad151bca681..0ff202c0d77681f7e0d55d57c69dd0e4
|
|||||||
} else if (entityvillager.getVillagerData().getProfession() != VillagerProfession.FARMER) {
|
} else if (entityvillager.getVillagerData().getProfession() != VillagerProfession.FARMER) {
|
||||||
return false;
|
return false;
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 2fae60a6fd767cc6d0aed7a6241ba5a6bf05eaca..edcbec38dfb5b32f4b8ba40c7a1ac6e26f0a4c3b 100644
|
index 29cab794e485b8e07b9e56f8cfb917934364121b..c51628f1f30bcd0206fc2b04ed83aca4ab7fd51a 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -285,9 +285,11 @@ public class PurpurWorldConfig {
|
@@ -285,9 +285,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,19 @@ Date: Fri, 29 Nov 2019 22:10:12 -0600
|
|||||||
Subject: [PATCH] Villagers follow emerald blocks
|
Subject: [PATCH] Villagers follow emerald blocks
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java b/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||||
index 4491b2199acd4ba9706d82c7e69d80fbc6083344..244b36c9efd9d57fdcda2367a909c2fc280ab045 100644
|
index 5539c4cbea46398e92ab6ec56bb9b821e5f01e02..2464f1a5a922a5557e2d00233033714533acad76 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||||
@@ -72,6 +72,13 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
@@ -59,6 +59,7 @@ import net.minecraft.world.entity.ai.BehaviorController;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.AttributeProvider;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.GenericAttributes;
|
||||||
|
import net.minecraft.world.entity.ai.behavior.Behaviors;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.PathfinderGoalTempt;
|
||||||
|
import net.minecraft.world.entity.ai.gossip.Reputation;
|
||||||
|
import net.minecraft.world.entity.ai.gossip.ReputationType;
|
||||||
|
import net.minecraft.world.entity.ai.memory.MemoryModuleType;
|
||||||
|
@@ -143,6 +144,13 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||||
this.brainTickOffset = getRandom().nextInt(100); // Purpur
|
this.brainTickOffset = getRandom().nextInt(100); // Purpur
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -22,11 +30,25 @@ index 4491b2199acd4ba9706d82c7e69d80fbc6083344..244b36c9efd9d57fdcda2367a909c2fc
|
|||||||
@Override
|
@Override
|
||||||
public BehaviorController<EntityVillager> getBehaviorController() {
|
public BehaviorController<EntityVillager> getBehaviorController() {
|
||||||
return (BehaviorController<EntityVillager>) super.getBehaviorController(); // CraftBukkit - decompile error
|
return (BehaviorController<EntityVillager>) super.getBehaviorController(); // CraftBukkit - decompile error
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/EntityVillagerAbstract.java b/src/main/java/net/minecraft/world/entity/npc/EntityVillagerAbstract.java
|
||||||
index e0cc45a7494cd6f06169b64ee8ffc16aa1932f8f..baf74566ec8569677e6f03aef96645c13ec94d89 100644
|
index 49821f0f26864c35be84a4a4288857a04668fbba..91142526187f96615b5cbd3ed3b68d9175cb9f8b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/EntityVillagerAbstract.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/EntityVillagerAbstract.java
|
||||||
@@ -18,6 +18,8 @@ import io.papermc.paper.event.player.PlayerTradeEvent;
|
@@ -25,11 +25,13 @@ import net.minecraft.world.entity.EnumMobSpawn;
|
||||||
|
import net.minecraft.world.entity.GroupDataEntity;
|
||||||
|
import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
+import net.minecraft.world.item.crafting.RecipeItemStack;
|
||||||
|
import net.minecraft.world.item.trading.IMerchant;
|
||||||
|
import net.minecraft.world.item.trading.MerchantRecipe;
|
||||||
|
import net.minecraft.world.item.trading.MerchantRecipeList;
|
||||||
|
import net.minecraft.world.level.World;
|
||||||
|
import net.minecraft.world.level.WorldAccess;
|
||||||
|
+import net.minecraft.world.level.block.Blocks;
|
||||||
|
import net.minecraft.world.level.pathfinder.PathType;
|
||||||
|
|
||||||
|
// CraftBukkit start
|
||||||
|
@@ -45,6 +47,8 @@ import io.papermc.paper.event.player.PlayerTradeEvent;
|
||||||
|
|
||||||
public abstract class EntityVillagerAbstract extends EntityAgeable implements NPC, IMerchant {
|
public abstract class EntityVillagerAbstract extends EntityAgeable implements NPC, IMerchant {
|
||||||
|
|
||||||
@@ -35,11 +57,19 @@ index e0cc45a7494cd6f06169b64ee8ffc16aa1932f8f..baf74566ec8569677e6f03aef96645c1
|
|||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
private CraftMerchant craftMerchant;
|
private CraftMerchant craftMerchant;
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/EntityVillagerTrader.java b/src/main/java/net/minecraft/world/entity/npc/EntityVillagerTrader.java
|
||||||
index 250a4e5ddd626794482678a64023f0f5459520e1..d990aae60e5a6056b44249cb7039470c6757b7fb 100644
|
index 37e1b2bf33510c3603efadf219b462e667f573c2..6c13a34a7ab220a3bba1c091f4f6a9e1340212f6 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/EntityVillagerTrader.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/EntityVillagerTrader.java
|
||||||
@@ -42,6 +42,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
|
@@ -26,6 +26,7 @@ import net.minecraft.world.entity.ai.goal.PathfinderGoalLookAtTradingPlayer;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalMoveTowardsRestriction;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalPanic;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalRandomStrollLand;
|
||||||
|
+import net.minecraft.world.entity.ai.goal.PathfinderGoalTempt;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalTradeWithPlayer;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoalUseItem;
|
||||||
|
import net.minecraft.world.entity.monster.EntityEvoker;
|
||||||
|
@@ -85,6 +86,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
|
||||||
this.goalSelector.a(1, new PathfinderGoalPanic(this, 0.5D));
|
this.goalSelector.a(1, new PathfinderGoalPanic(this, 0.5D));
|
||||||
this.goalSelector.a(1, new PathfinderGoalLookAtTradingPlayer(this));
|
this.goalSelector.a(1, new PathfinderGoalLookAtTradingPlayer(this));
|
||||||
this.goalSelector.a(2, new EntityVillagerTrader.a(this, 2.0D, 0.35D));
|
this.goalSelector.a(2, new EntityVillagerTrader.a(this, 2.0D, 0.35D));
|
||||||
@@ -48,7 +78,7 @@ index 250a4e5ddd626794482678a64023f0f5459520e1..d990aae60e5a6056b44249cb7039470c
|
|||||||
this.goalSelector.a(8, new PathfinderGoalRandomStrollLand(this, 0.35D));
|
this.goalSelector.a(8, new PathfinderGoalRandomStrollLand(this, 0.35D));
|
||||||
this.goalSelector.a(9, new PathfinderGoalInteract(this, EntityHuman.class, 3.0F, 1.0F));
|
this.goalSelector.a(9, new PathfinderGoalInteract(this, EntityHuman.class, 3.0F, 1.0F));
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index edcbec38dfb5b32f4b8ba40c7a1ac6e26f0a4c3b..a1f85ef007f2ed410f1662405b0b1175c544e0b6 100644
|
index c51628f1f30bcd0206fc2b04ed83aca4ab7fd51a..7d66e253391522d754146275024ffb017a685e6f 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -286,10 +286,17 @@ public class PurpurWorldConfig {
|
@@ -286,10 +286,17 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,19 @@ Date: Thu, 3 Oct 2019 18:08:03 -0500
|
|||||||
Subject: [PATCH] Allow leashing villagers
|
Subject: [PATCH] Allow leashing villagers
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityInsentient.java b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
index 6e1599537adaf923e5ceb05ce18d41fe2b02fc2c..82d2c2ced979ebe6c683e8b3c18ea34defcfe7db 100644
|
index d8a627ed1fad1fca37d8f8a3a344b80a60fc5e2f..1a1561ab4276bd3654adc2cc2219f3bdb3924b88 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
@@ -1149,6 +1149,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -49,6 +49,7 @@ import net.minecraft.world.entity.item.EntityItem;
|
||||||
|
import net.minecraft.world.entity.monster.EntityBlaze;
|
||||||
|
import net.minecraft.world.entity.monster.EntityEnderman;
|
||||||
|
import net.minecraft.world.entity.monster.IMonster;
|
||||||
|
+import net.minecraft.world.entity.npc.EntityVillagerAbstract;
|
||||||
|
import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
import net.minecraft.world.entity.vehicle.EntityBoat;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
@@ -1217,6 +1218,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
if (!this.isAlive()) {
|
if (!this.isAlive()) {
|
||||||
return EnumInteractionResult.PASS;
|
return EnumInteractionResult.PASS;
|
||||||
} else if (this.getLeashHolder() == entityhuman) {
|
} else if (this.getLeashHolder() == entityhuman) {
|
||||||
@@ -16,11 +24,11 @@ index 6e1599537adaf923e5ceb05ce18d41fe2b02fc2c..82d2c2ced979ebe6c683e8b3c18ea34d
|
|||||||
// CraftBukkit start - fire PlayerUnleashEntityEvent
|
// CraftBukkit start - fire PlayerUnleashEntityEvent
|
||||||
// Paper start - drop leash variable
|
// Paper start - drop leash variable
|
||||||
PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, entityhuman, !entityhuman.abilities.canInstantlyBuild);
|
PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, entityhuman, !entityhuman.abilities.canInstantlyBuild);
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java b/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||||
index 244b36c9efd9d57fdcda2367a909c2fc280ab045..f731894a10988945db7205501432ca9cb92771a3 100644
|
index 2464f1a5a922a5557e2d00233033714533acad76..aeb3c82afeda3f1688b1b6617c6d05da2e7a3c76 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||||
@@ -77,6 +77,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
@@ -149,6 +149,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||||
protected void initPathfinder() {
|
protected void initPathfinder() {
|
||||||
if (world.purpurConfig.villagerFollowEmeraldBlock) this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.0D, false, TEMPT_ITEMS));
|
if (world.purpurConfig.villagerFollowEmeraldBlock) this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.0D, false, TEMPT_ITEMS));
|
||||||
}
|
}
|
||||||
@@ -32,11 +40,11 @@ index 244b36c9efd9d57fdcda2367a909c2fc280ab045..f731894a10988945db7205501432ca9c
|
|||||||
// Purpur end
|
// Purpur end
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/EntityVillagerTrader.java b/src/main/java/net/minecraft/world/entity/npc/EntityVillagerTrader.java
|
||||||
index d990aae60e5a6056b44249cb7039470c6757b7fb..432956d9d5f2706014d67232b88e6b86011484f3 100644
|
index 6c13a34a7ab220a3bba1c091f4f6a9e1340212f6..e0324cdb2d4c85714eaad490a7a5c826b38e6b16 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/EntityVillagerTrader.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/EntityVillagerTrader.java
|
||||||
@@ -49,6 +49,13 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
|
@@ -93,6 +93,13 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
|
||||||
this.goalSelector.a(10, new PathfinderGoalLookAtPlayer(this, EntityInsentient.class, 8.0F));
|
this.goalSelector.a(10, new PathfinderGoalLookAtPlayer(this, EntityInsentient.class, 8.0F));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,7 +59,7 @@ index d990aae60e5a6056b44249cb7039470c6757b7fb..432956d9d5f2706014d67232b88e6b86
|
|||||||
@Override
|
@Override
|
||||||
public EntityAgeable createChild(WorldServer worldserver, EntityAgeable entityageable) {
|
public EntityAgeable createChild(WorldServer worldserver, EntityAgeable entityageable) {
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index a1f85ef007f2ed410f1662405b0b1175c544e0b6..a9e7ddd55aa2b9b2c8f172069353b070c427b806 100644
|
index 7d66e253391522d754146275024ffb017a685e6f..b6d6685f135ee66a25f29c0f00a63bbe78d0c3a5 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -285,17 +285,21 @@ public class PurpurWorldConfig {
|
@@ -285,17 +285,21 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -5,11 +5,11 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn
|
|||||||
iron golems
|
iron golems
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java b/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||||
index f731894a10988945db7205501432ca9cb92771a3..1563791a0193dcd0a00968d2bb6275716742dc19 100644
|
index aeb3c82afeda3f1688b1b6617c6d05da2e7a3c76..2fad37812bfa39872e99c4432e1982d62f65efb7 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||||
@@ -898,6 +898,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
@@ -970,6 +970,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private EntityIronGolem d(WorldServer worldserver) {
|
private EntityIronGolem d(WorldServer worldserver) {
|
||||||
@@ -18,7 +18,7 @@ index f731894a10988945db7205501432ca9cb92771a3..1563791a0193dcd0a00968d2bb627571
|
|||||||
|
|
||||||
for (int i = 0; i < 10; ++i) {
|
for (int i = 0; i < 10; ++i) {
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index a9e7ddd55aa2b9b2c8f172069353b070c427b806..0de099d29b5e351822e59af6e389dc91c67eb2b2 100644
|
index b6d6685f135ee66a25f29c0f00a63bbe78d0c3a5..81f0538f6e5ab48a07459b102ea1f4533a63d031 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -288,12 +288,16 @@ public class PurpurWorldConfig {
|
@@ -288,12 +288,16 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sat, 23 Nov 2019 17:55:42 -0600
|
|||||||
Subject: [PATCH] Implement infinite lava
|
Subject: [PATCH] Implement infinite lava
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/FluidTypeFlowing.java b/src/main/java/net/minecraft/server/FluidTypeFlowing.java
|
diff --git a/src/main/java/net/minecraft/world/level/material/FluidTypeFlowing.java b/src/main/java/net/minecraft/world/level/material/FluidTypeFlowing.java
|
||||||
index cf9d3faabe8732d27c436f4806c727592e475f81..46bdeca19a0da06a1fcbd7043a26689b64459d67 100644
|
index 6bb4ec00e40795ced73648fefcd1f5027e0113cd..963b7edab813cd32f04c51fd2c6c137988e2a754 100644
|
||||||
--- a/src/main/java/net/minecraft/server/FluidTypeFlowing.java
|
--- a/src/main/java/net/minecraft/world/level/material/FluidTypeFlowing.java
|
||||||
+++ b/src/main/java/net/minecraft/server/FluidTypeFlowing.java
|
+++ b/src/main/java/net/minecraft/world/level/material/FluidTypeFlowing.java
|
||||||
@@ -196,7 +196,7 @@ public abstract class FluidTypeFlowing extends FluidType {
|
@@ -217,7 +217,7 @@ public abstract class FluidTypeFlowing extends FluidType {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ index cf9d3faabe8732d27c436f4806c727592e475f81..46bdeca19a0da06a1fcbd7043a26689b
|
|||||||
IBlockData iblockdata2 = iworldreader.getType(blockposition.down());
|
IBlockData iblockdata2 = iworldreader.getType(blockposition.down());
|
||||||
Fluid fluid1 = iblockdata2.getFluid();
|
Fluid fluid1 = iblockdata2.getFluid();
|
||||||
|
|
||||||
@@ -267,6 +267,17 @@ public abstract class FluidTypeFlowing extends FluidType {
|
@@ -288,6 +288,17 @@ public abstract class FluidTypeFlowing extends FluidType {
|
||||||
return (Fluid) this.e().h().set(FluidTypeFlowing.FALLING, flag);
|
return (Fluid) this.e().h().set(FluidTypeFlowing.FALLING, flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,11 +35,11 @@ index cf9d3faabe8732d27c436f4806c727592e475f81..46bdeca19a0da06a1fcbd7043a26689b
|
|||||||
protected abstract boolean f();
|
protected abstract boolean f();
|
||||||
|
|
||||||
protected void a(GeneratorAccess generatoraccess, BlockPosition blockposition, IBlockData iblockdata, EnumDirection enumdirection, Fluid fluid) {
|
protected void a(GeneratorAccess generatoraccess, BlockPosition blockposition, IBlockData iblockdata, EnumDirection enumdirection, Fluid fluid) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/FluidTypeLava.java b/src/main/java/net/minecraft/server/FluidTypeLava.java
|
diff --git a/src/main/java/net/minecraft/world/level/material/FluidTypeLava.java b/src/main/java/net/minecraft/world/level/material/FluidTypeLava.java
|
||||||
index 29930e801cdcb97bec2fb113ec478fe9c4a63b63..ffab2391925f577420ee52f3aa05041afa61464e 100644
|
index b362a728b5d17256768847ab09e2505a9cc1918b..86f2e969d98c833700f0f48baf7610ad95b3f8a1 100644
|
||||||
--- a/src/main/java/net/minecraft/server/FluidTypeLava.java
|
--- a/src/main/java/net/minecraft/world/level/material/FluidTypeLava.java
|
||||||
+++ b/src/main/java/net/minecraft/server/FluidTypeLava.java
|
+++ b/src/main/java/net/minecraft/world/level/material/FluidTypeLava.java
|
||||||
@@ -147,6 +147,18 @@ public abstract class FluidTypeLava extends FluidTypeFlowing {
|
@@ -163,6 +163,18 @@ public abstract class FluidTypeLava extends FluidTypeFlowing {
|
||||||
generatoraccess.triggerEffect(1501, blockposition, 0);
|
generatoraccess.triggerEffect(1501, blockposition, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ index 29930e801cdcb97bec2fb113ec478fe9c4a63b63..ffab2391925f577420ee52f3aa05041a
|
|||||||
protected boolean f() {
|
protected boolean f() {
|
||||||
return false;
|
return false;
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 0de099d29b5e351822e59af6e389dc91c67eb2b2..37bc3033b3b7281da4f8783d3fbe9a0a4d33a9de 100644
|
index 81f0538f6e5ab48a07459b102ea1f4533a63d031..29bb808b1efe392157971a1a21c66eb9b85579d8 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -158,6 +158,13 @@ public class PurpurWorldConfig {
|
@@ -158,6 +158,13 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Thu, 2 Jan 2020 11:31:36 -0600
|
|||||||
Subject: [PATCH] Make lava flow speed configurable
|
Subject: [PATCH] Make lava flow speed configurable
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/FluidTypeLava.java b/src/main/java/net/minecraft/server/FluidTypeLava.java
|
diff --git a/src/main/java/net/minecraft/world/level/material/FluidTypeLava.java b/src/main/java/net/minecraft/world/level/material/FluidTypeLava.java
|
||||||
index ffab2391925f577420ee52f3aa05041afa61464e..d981aa5a5f001333675eabd50497bbfa2dcf1df3 100644
|
index 86f2e969d98c833700f0f48baf7610ad95b3f8a1..e706695d42d7557f818595aa30fb3cfc35ba9f6b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/FluidTypeLava.java
|
--- a/src/main/java/net/minecraft/world/level/material/FluidTypeLava.java
|
||||||
+++ b/src/main/java/net/minecraft/server/FluidTypeLava.java
|
+++ b/src/main/java/net/minecraft/world/level/material/FluidTypeLava.java
|
||||||
@@ -129,7 +129,7 @@ public abstract class FluidTypeLava extends FluidTypeFlowing {
|
@@ -145,7 +145,7 @@ public abstract class FluidTypeLava extends FluidTypeFlowing {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int a(IWorldReader iworldreader) {
|
public int a(IWorldReader iworldreader) {
|
||||||
@@ -18,7 +18,7 @@ index ffab2391925f577420ee52f3aa05041afa61464e..d981aa5a5f001333675eabd50497bbfa
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 37bc3033b3b7281da4f8783d3fbe9a0a4d33a9de..d5adf653c6a561fe1de9e340d85c9439f8c559f5 100644
|
index 29bb808b1efe392157971a1a21c66eb9b85579d8..d51ee6ff1b73f0bafec88fd5445df37a1182c5d0 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -160,9 +160,13 @@ public class PurpurWorldConfig {
|
@@ -160,9 +160,13 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Thu, 26 Dec 2019 22:08:37 -0600
|
|||||||
Subject: [PATCH] Add player death exp control options
|
Subject: [PATCH] Add player death exp control options
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
diff --git a/src/main/java/net/minecraft/world/entity/player/EntityHuman.java b/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
|
||||||
index a3aa2c8760b43e09f77f2790d6e21b8a2dc9dd3c..0f7b60642c44630000d47f0e1fdebad15e14a810 100644
|
index 8f9d0769e7855c3565a34927f3f3741c43e45f35..2ee7daa155d812af8f84ba646106d801d2fb0fec 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
--- a/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
+++ b/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
|
||||||
@@ -86,6 +86,8 @@ public abstract class EntityHuman extends EntityLiving {
|
@@ -183,6 +183,8 @@ public abstract class EntityHuman extends EntityLiving {
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
// Purpur start
|
// Purpur start
|
||||||
@@ -17,7 +17,7 @@ index a3aa2c8760b43e09f77f2790d6e21b8a2dc9dd3c..0f7b60642c44630000d47f0e1fdebad1
|
|||||||
public void setAfk(boolean setAfk){
|
public void setAfk(boolean setAfk){
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1717,9 +1719,18 @@ public abstract class EntityHuman extends EntityLiving {
|
@@ -1814,9 +1816,18 @@ public abstract class EntityHuman extends EntityLiving {
|
||||||
@Override
|
@Override
|
||||||
protected int getExpValue(EntityHuman entityhuman) {
|
protected int getExpValue(EntityHuman entityhuman) {
|
||||||
if (!this.world.getGameRules().getBoolean(GameRules.KEEP_INVENTORY) && !this.isSpectator()) {
|
if (!this.world.getGameRules().getBoolean(GameRules.KEEP_INVENTORY) && !this.isSpectator()) {
|
||||||
@@ -40,7 +40,7 @@ index a3aa2c8760b43e09f77f2790d6e21b8a2dc9dd3c..0f7b60642c44630000d47f0e1fdebad1
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index d5adf653c6a561fe1de9e340d85c9439f8c559f5..c5574ac52d050cc1b89ab2dbd4dad5ce5e331f83 100644
|
index d51ee6ff1b73f0bafec88fd5445df37a1182c5d0..e10aa8ddbcea3588b2da08de929eed18cb9f022c 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -123,6 +123,13 @@ public class PurpurWorldConfig {
|
@@ -123,6 +123,13 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,23 +4,11 @@ Date: Tue, 18 Feb 2020 20:07:08 -0600
|
|||||||
Subject: [PATCH] Add canSaveToDisk to Entity
|
Subject: [PATCH] Add canSaveToDisk to Entity
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 68538ae94806d5980cd531e61fa52a01a5cc8997..e77da341b765725771726283d3a8249b514b40da 100644
|
index 7c9fc120d2b58ca969b8a0ff9619e96f4f34b1c4..4e6ec59c982fe0870f514b59082ab0a7de4d93ef 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -538,6 +538,7 @@ public class ChunkRegionLoader {
|
@@ -416,6 +416,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
|
||||||
|
|
||||||
while (iterator1.hasNext()) {
|
|
||||||
Entity entity = (Entity) iterator1.next();
|
|
||||||
+ if (!entity.canSaveToDisk()) continue; // Purpur
|
|
||||||
final EntityTypes<?> entityType = entity.getEntityType();
|
|
||||||
final int saveLimit = worldserver.paperConfig.entityPerChunkSaveLimits.getOrDefault(entityType, -1);
|
|
||||||
if (saveLimit > -1) {
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
|
||||||
index 88598f55da691ce880d7fb8044c87c10f372aefd..a9020ef4ebccc4d5497dae5ad1b2ecad20ed4075 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
|
||||||
@@ -324,6 +324,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
|
||||||
this.headHeight = this.getHeadHeight(EntityPose.STANDING, this.size);
|
this.headHeight = this.getHeadHeight(EntityPose.STANDING, this.size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,3 +21,15 @@ index 88598f55da691ce880d7fb8044c87c10f372aefd..a9020ef4ebccc4d5497dae5ad1b2ecad
|
|||||||
public boolean isSpectator() {
|
public boolean isSpectator() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java
|
||||||
|
index bf96f9e538fc29ca914536e8a7ce727ebe43a8b2..5997f3e47f3d509c271f38eb2785f126066f5c6e 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java
|
||||||
|
@@ -582,6 +582,7 @@ public class ChunkRegionLoader {
|
||||||
|
|
||||||
|
while (iterator1.hasNext()) {
|
||||||
|
Entity entity = (Entity) iterator1.next();
|
||||||
|
+ if (!entity.canSaveToDisk()) continue; // Purpur
|
||||||
|
final EntityTypes<?> entityType = entity.getEntityType();
|
||||||
|
final int saveLimit = worldserver.paperConfig.entityPerChunkSaveLimits.getOrDefault(entityType, -1);
|
||||||
|
if (saveLimit > -1) {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Thu, 27 Feb 2020 21:42:19 -0600
|
|||||||
Subject: [PATCH] Configurable void damage height
|
Subject: [PATCH] Configurable void damage height
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index a9020ef4ebccc4d5497dae5ad1b2ecad20ed4075..e93d028a3908aa4d0c1daf7929acc2a426bbb0df 100644
|
index 4e6ec59c982fe0870f514b59082ab0a7de4d93ef..b114d12d9d17071fb96f5ab225b85cdd5ad06861 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -627,7 +627,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
@@ -719,7 +719,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
|
||||||
|
|
||||||
// Paper start
|
// Paper start
|
||||||
protected void performVoidDamage() {
|
protected void performVoidDamage() {
|
||||||
@@ -18,7 +18,7 @@ index a9020ef4ebccc4d5497dae5ad1b2ecad20ed4075..e93d028a3908aa4d0c1daf7929acc2a4
|
|||||||
&& this.locY() >= world.paperConfig.netherVoidTopDamageHeight)) {
|
&& this.locY() >= world.paperConfig.netherVoidTopDamageHeight)) {
|
||||||
this.doVoidDamage();
|
this.doVoidDamage();
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index c5574ac52d050cc1b89ab2dbd4dad5ce5e331f83..4d34957c6255af571e593e015fa9dcafa733aceb 100644
|
index e10aa8ddbcea3588b2da08de929eed18cb9f022c..ef5a691861cdf249f0430fca7f7bbe241479926e 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -116,11 +116,13 @@ public class PurpurWorldConfig {
|
@@ -116,11 +116,13 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,19 @@ Date: Sun, 25 Aug 2019 00:09:52 -0500
|
|||||||
Subject: [PATCH] Dispenser curse of binding protection
|
Subject: [PATCH] Dispenser curse of binding protection
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityInsentient.java b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
index 82d2c2ced979ebe6c683e8b3c18ea34defcfe7db..4e3af139712323a12066728426615e0faa274e4b 100644
|
index 1a1561ab4276bd3654adc2cc2219f3bdb3924b88..462bcb7cfe2daa27c10a7a0318bef9b739e586f4 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
@@ -998,6 +998,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -65,6 +65,7 @@ import net.minecraft.world.item.ItemSword;
|
||||||
|
import net.minecraft.world.item.ItemTool;
|
||||||
|
import net.minecraft.world.item.Items;
|
||||||
|
import net.minecraft.world.item.enchantment.EnchantmentManager;
|
||||||
|
+import net.minecraft.world.item.enchantment.Enchantments;
|
||||||
|
import net.minecraft.world.level.GameRules;
|
||||||
|
import net.minecraft.world.level.GeneratorAccess;
|
||||||
|
import net.minecraft.world.level.IBlockAccess;
|
||||||
|
@@ -1067,6 +1068,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -22,11 +30,11 @@ index 82d2c2ced979ebe6c683e8b3c18ea34defcfe7db..4e3af139712323a12066728426615e0f
|
|||||||
public static EnumItemSlot j(ItemStack itemstack) {
|
public static EnumItemSlot j(ItemStack itemstack) {
|
||||||
Item item = itemstack.getItem();
|
Item item = itemstack.getItem();
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemArmor.java b/src/main/java/net/minecraft/server/ItemArmor.java
|
diff --git a/src/main/java/net/minecraft/world/item/ItemArmor.java b/src/main/java/net/minecraft/world/item/ItemArmor.java
|
||||||
index 669a5041184846ca8430a7f0d3197025fe6d437e..7cd2e871b5a429a86dbc3c4208d247a4246ea1a8 100644
|
index 7962808aebf67cf9bc1dc4c1e106e943536fdced..d072b604a1cd8835c1fe658831cdaf9f27d02cd5 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ItemArmor.java
|
--- a/src/main/java/net/minecraft/world/item/ItemArmor.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemArmor.java
|
+++ b/src/main/java/net/minecraft/world/item/ItemArmor.java
|
||||||
@@ -35,7 +35,7 @@ public class ItemArmor extends Item implements ItemWearable {
|
@@ -54,7 +54,7 @@ public class ItemArmor extends Item implements ItemWearable {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
EntityLiving entityliving = (EntityLiving) list.get(0);
|
EntityLiving entityliving = (EntityLiving) list.get(0);
|
||||||
@@ -35,7 +43,7 @@ index 669a5041184846ca8430a7f0d3197025fe6d437e..7cd2e871b5a429a86dbc3c4208d247a4
|
|||||||
ItemStack itemstack1 = itemstack.cloneAndSubtract(1);
|
ItemStack itemstack1 = itemstack.cloneAndSubtract(1);
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
World world = isourceblock.getWorld();
|
World world = isourceblock.getWorld();
|
||||||
@@ -94,6 +94,7 @@ public class ItemArmor extends Item implements ItemWearable {
|
@@ -113,6 +113,7 @@ public class ItemArmor extends Item implements ItemWearable {
|
||||||
this.m = builder.build();
|
this.m = builder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,7 +52,7 @@ index 669a5041184846ca8430a7f0d3197025fe6d437e..7cd2e871b5a429a86dbc3c4208d247a4
|
|||||||
return this.b;
|
return this.b;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 4d34957c6255af571e593e015fa9dcafa733aceb..26df95f502d117398c7c9c65b298b97b62021700 100644
|
index ef5a691861cdf249f0430fca7f7bbe241479926e..5b42e8347a42a16f79fbbc122e5cd82533e53b8c 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -162,6 +162,11 @@ public class PurpurWorldConfig {
|
@@ -162,6 +162,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sat, 7 Sep 2019 22:47:59 -0500
|
|||||||
Subject: [PATCH] Add option for boats to eject players on land
|
Subject: [PATCH] Add option for boats to eject players on land
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
|
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/EntityBoat.java b/src/main/java/net/minecraft/world/entity/vehicle/EntityBoat.java
|
||||||
index 15ce9f90306d062f36d1651d7426813e897523bf..05c702bbdb8addea5c69faa0479609e8959945f1 100644
|
index 5e2c13bd6e52ffe182ef034e05ba6fe1cb301005..01839c7319e175477ded7001e00e5937734ff516 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityBoat.java
|
--- a/src/main/java/net/minecraft/world/entity/vehicle/EntityBoat.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityBoat.java
|
+++ b/src/main/java/net/minecraft/world/entity/vehicle/EntityBoat.java
|
||||||
@@ -442,6 +442,7 @@ public class EntityBoat extends Entity {
|
@@ -487,6 +487,7 @@ public class EntityBoat extends Entity {
|
||||||
|
|
||||||
if (f > 0.0F) {
|
if (f > 0.0F) {
|
||||||
this.aw = f;
|
this.aw = f;
|
||||||
@@ -17,7 +17,7 @@ index 15ce9f90306d062f36d1651d7426813e897523bf..05c702bbdb8addea5c69faa0479609e8
|
|||||||
} else {
|
} else {
|
||||||
return EntityBoat.EnumStatus.IN_AIR;
|
return EntityBoat.EnumStatus.IN_AIR;
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 26df95f502d117398c7c9c65b298b97b62021700..5eae6c99e35d53f5340bc81034823a2f1ed85544 100644
|
index 5b42e8347a42a16f79fbbc122e5cd82533e53b8c..f443fadcafdbc3d69c86730e3fb1a71078d7fdf5 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -112,12 +112,14 @@ public class PurpurWorldConfig {
|
@@ -112,12 +112,14 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Wed, 1 Jan 2020 20:12:39 -0600
|
|||||||
Subject: [PATCH] Add obfhelpers for plugin use
|
Subject: [PATCH] Add obfhelpers for plugin use
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||||
index afa1dc693bc2e2e68294a1d3dec1c078ea95b286..7f3df9ba37076c0a982803148d21b0985f62f12c 100644
|
index fee862951f2767d4a3c5268dff157c185378a939..91a1b2e955b04f0cc1ca05d7ee4d832d9efb97cb 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||||
@@ -639,6 +639,7 @@ public final class ItemStack {
|
@@ -694,6 +694,7 @@ public final class ItemStack {
|
||||||
return this.tag;
|
return this.tag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,48 @@ Date: Sun, 14 Jul 2019 19:52:47 -0500
|
|||||||
Subject: [PATCH] Mending mends most damages equipment first
|
Subject: [PATCH] Mending mends most damages equipment first
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityExperienceOrb.java b/src/main/java/net/minecraft/world/entity/EntityExperienceOrb.java
|
||||||
index 7b263594304a9b745f583fe7178ac16936cbd93b..33e2dc3a1003fe95fa71999fc24df84131238a6a 100644
|
index a7551e95185895a290be70d501496279eaf884ae..31d36ead273e8397ba2c826b791a2cf59306ff7f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EnchantmentManager.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityExperienceOrb.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EnchantmentManager.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityExperienceOrb.java
|
||||||
@@ -251,7 +251,30 @@ public class EnchantmentManager {
|
@@ -236,7 +236,7 @@ public class EntityExperienceOrb extends Entity {
|
||||||
|
if (this.d == 0 && entityhuman.bu == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((EntityPlayer) entityhuman).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper
|
||||||
|
entityhuman.bu = 2;
|
||||||
|
entityhuman.receive(this, 1);
|
||||||
|
- Entry<EnumItemSlot, ItemStack> entry = EnchantmentManager.a(Enchantments.MENDING, (EntityLiving) entityhuman, ItemStack::f);
|
||||||
|
+ Entry<EnumItemSlot, ItemStack> entry = world.purpurConfig.useBetterMending ? EnchantmentManager.getMostDamagedEquipment(Enchantments.MENDING, entityhuman) : EnchantmentManager.a(Enchantments.MENDING, entityhuman, ItemStack::isDamaged); // Purpur
|
||||||
|
|
||||||
|
if (entry != null) {
|
||||||
|
ItemStack itemstack = (ItemStack) entry.getValue();
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||||
|
index 91a1b2e955b04f0cc1ca05d7ee4d832d9efb97cb..fcc6ee9481d577d39339cd0ac24dab06bd76e5c6 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||||
|
@@ -468,10 +468,19 @@ public final class ItemStack {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ public boolean isDamaged() { return f(); } // Purpur - OBFHELPER
|
||||||
|
public boolean f() {
|
||||||
|
return this.e() && this.getDamage() > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ public float getDamagePercent() {
|
||||||
|
+ if (isDamaged()) {
|
||||||
|
+ return (float) getDamage() / (float) getItem().getMaxDurability();
|
||||||
|
+ } else {
|
||||||
|
+ return 0F;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
public int getDamage() {
|
||||||
|
return this.tag == null ? 0 : this.tag.getInt("Damage");
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentManager.java b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentManager.java
|
||||||
|
index 72afbf8f537770540e90a2880ea81de137ea10f5..b2d28c2bf0a9e93d38583e2d734c12fed4f63d5d 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentManager.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentManager.java
|
||||||
|
@@ -269,7 +269,30 @@ public class EnchantmentManager {
|
||||||
return getEnchantmentLevel(Enchantments.CHANNELING, itemstack) > 0;
|
return getEnchantmentLevel(Enchantments.CHANNELING, itemstack) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,45 +77,8 @@ index 7b263594304a9b745f583fe7178ac16936cbd93b..33e2dc3a1003fe95fa71999fc24df841
|
|||||||
@Nullable public static Entry<EnumItemSlot, ItemStack> b(Enchantment enchantment, EntityLiving entityliving) {
|
@Nullable public static Entry<EnumItemSlot, ItemStack> b(Enchantment enchantment, EntityLiving entityliving) {
|
||||||
return a(enchantment, entityliving, (itemstack) -> {
|
return a(enchantment, entityliving, (itemstack) -> {
|
||||||
return true;
|
return true;
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
|
|
||||||
index 4a94ce72d559263ef5fa4fb16dc286f531f51d55..4aee11c980105a523bdcb35470053aae51b002df 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
|
|
||||||
@@ -221,7 +221,7 @@ public class EntityExperienceOrb extends Entity {
|
|
||||||
if (this.d == 0 && entityhuman.bu == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((EntityPlayer) entityhuman).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper
|
|
||||||
entityhuman.bu = 2;
|
|
||||||
entityhuman.receive(this, 1);
|
|
||||||
- Entry<EnumItemSlot, ItemStack> entry = EnchantmentManager.a(Enchantments.MENDING, (EntityLiving) entityhuman, ItemStack::f);
|
|
||||||
+ Entry<EnumItemSlot, ItemStack> entry = world.purpurConfig.useBetterMending ? EnchantmentManager.getMostDamagedEquipment(Enchantments.MENDING, entityhuman) : EnchantmentManager.a(Enchantments.MENDING, entityhuman, ItemStack::isDamaged); // Purpur
|
|
||||||
|
|
||||||
if (entry != null) {
|
|
||||||
ItemStack itemstack = (ItemStack) entry.getValue();
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
|
||||||
index 7f3df9ba37076c0a982803148d21b0985f62f12c..e747ee83f1a69a4a4bad87e720abc9b085fb6149 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
|
||||||
@@ -413,10 +413,19 @@ public final class ItemStack {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public boolean isDamaged() { return f(); } // Purpur - OBFHELPER
|
|
||||||
public boolean f() {
|
|
||||||
return this.e() && this.getDamage() > 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public float getDamagePercent() {
|
|
||||||
+ if (isDamaged()) {
|
|
||||||
+ return (float) getDamage() / (float) getItem().getMaxDurability();
|
|
||||||
+ } else {
|
|
||||||
+ return 0F;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public int getDamage() {
|
|
||||||
return this.tag == null ? 0 : this.tag.getInt("Damage");
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 5eae6c99e35d53f5340bc81034823a2f1ed85544..66e74ee74b56e25ca46704ca6cec403f15126c33 100644
|
index f443fadcafdbc3d69c86730e3fb1a71078d7fdf5..e66b79218e960d11da4759187e4473685ccb9a9e 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -112,6 +112,7 @@ public class PurpurWorldConfig {
|
@@ -112,6 +112,7 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add 5 second tps average in /tps
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index bbc92489fd2e9037834fdea3a4514b5687ae86d7..e46705e7ab5d5c69e5d2bdd29d5066c4b2d60675 100644
|
index 5367c3b7bdfb6951986e5c844fb978f42a0bfec5..c6c4349954cb302e933739870814f54e426bd825 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -166,7 +166,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -278,7 +278,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
public static final int TPS = 20;
|
public static final int TPS = 20;
|
||||||
public static final int TICK_TIME = 1000000000 / TPS;
|
public static final int TICK_TIME = 1000000000 / TPS;
|
||||||
private static final int SAMPLE_INTERVAL = 20; // Paper
|
private static final int SAMPLE_INTERVAL = 20; // Paper
|
||||||
@@ -17,7 +17,7 @@ index bbc92489fd2e9037834fdea3a4514b5687ae86d7..e46705e7ab5d5c69e5d2bdd29d5066c4
|
|||||||
public boolean lagging = false; // Purpur
|
public boolean lagging = false; // Purpur
|
||||||
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
||||||
// Spigot end
|
// Spigot end
|
||||||
@@ -893,6 +893,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1005,6 +1005,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
|
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
|
||||||
private long lastTick = 0;
|
private long lastTick = 0;
|
||||||
private long catchupTime = 0;
|
private long catchupTime = 0;
|
||||||
@@ -25,7 +25,7 @@ index bbc92489fd2e9037834fdea3a4514b5687ae86d7..e46705e7ab5d5c69e5d2bdd29d5066c4
|
|||||||
public final RollingAverage tps1 = new RollingAverage(60);
|
public final RollingAverage tps1 = new RollingAverage(60);
|
||||||
public final RollingAverage tps5 = new RollingAverage(60 * 5);
|
public final RollingAverage tps5 = new RollingAverage(60 * 5);
|
||||||
public final RollingAverage tps15 = new RollingAverage(60 * 15);
|
public final RollingAverage tps15 = new RollingAverage(60 * 15);
|
||||||
@@ -985,13 +986,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1097,13 +1098,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
{
|
{
|
||||||
final long diff = curTime - tickSection;
|
final long diff = curTime - tickSection;
|
||||||
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
|
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
|
||||||
@@ -47,7 +47,7 @@ index bbc92489fd2e9037834fdea3a4514b5687ae86d7..e46705e7ab5d5c69e5d2bdd29d5066c4
|
|||||||
lagging = recentTps[0] < net.pl3x.purpur.PurpurConfig.laggingThreshold; // Purpur
|
lagging = recentTps[0] < net.pl3x.purpur.PurpurConfig.laggingThreshold; // Purpur
|
||||||
tickSection = curTime;
|
tickSection = curTime;
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index d73e68689a5dab8efd3e5d84cffa9ae67a40518c..e717f880a1e5f0d0ad6208e6d3c6969a7617afd6 100644
|
index b770d3a11fde20dddacd2ea9c317f1f187f76e6d..d57292e524cad6306c99c1cf6c5790fe1d07d815 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -2311,6 +2311,7 @@ public final class CraftServer implements Server {
|
@@ -2311,6 +2311,7 @@ public final class CraftServer implements Server {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Thu, 25 Jul 2019 18:07:37 -0500
|
|||||||
Subject: [PATCH] Implement elytra settings
|
Subject: [PATCH] Implement elytra settings
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
index d0c73d296a3ab5f65835de0cf226d72174f6902d..4b7909a0c7e41cf41d4219ba7dda79519c0ee3c6 100644
|
index c540886511261303d2266ac97353e1b98c1f9601..5a060b98fe9f3edc199cd520a636505c653556e9 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
@@ -2860,7 +2860,16 @@ public abstract class EntityLiving extends Entity {
|
@@ -2955,7 +2955,16 @@ public abstract class EntityLiving extends Entity {
|
||||||
if (itemstack.getItem() == Items.ELYTRA && ItemElytra.d(itemstack)) {
|
if (itemstack.getItem() == Items.ELYTRA && ItemElytra.d(itemstack)) {
|
||||||
flag = true;
|
flag = true;
|
||||||
if (!this.world.isClientSide && (this.be + 1) % 20 == 0) {
|
if (!this.world.isClientSide && (this.be + 1) % 20 == 0) {
|
||||||
@@ -26,11 +26,19 @@ index d0c73d296a3ab5f65835de0cf226d72174f6902d..4b7909a0c7e41cf41d4219ba7dda7951
|
|||||||
entityliving.broadcastItemBreak(EnumItemSlot.CHEST);
|
entityliving.broadcastItemBreak(EnumItemSlot.CHEST);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemFireworks.java b/src/main/java/net/minecraft/server/ItemFireworks.java
|
diff --git a/src/main/java/net/minecraft/world/item/ItemFireworks.java b/src/main/java/net/minecraft/world/item/ItemFireworks.java
|
||||||
index e775fe69ee7e555721bc73e7cb0dd3136736bc9c..990eb656699d9ead26b42fbb305530b7ae860ee8 100644
|
index e7f958d137257da912ce9b83db017b4423959943..210b95f1d67ec12566d6fc93b8234e11ad132d1a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ItemFireworks.java
|
--- a/src/main/java/net/minecraft/world/item/ItemFireworks.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemFireworks.java
|
+++ b/src/main/java/net/minecraft/world/item/ItemFireworks.java
|
||||||
@@ -43,6 +43,14 @@ public class ItemFireworks extends Item {
|
@@ -7,6 +7,7 @@ import net.minecraft.server.level.EntityPlayer;
|
||||||
|
import net.minecraft.world.EnumHand;
|
||||||
|
import net.minecraft.world.EnumInteractionResult;
|
||||||
|
import net.minecraft.world.InteractionResultWrapper;
|
||||||
|
+import net.minecraft.world.entity.EnumItemSlot;
|
||||||
|
import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
import net.minecraft.world.entity.projectile.EntityFireworks;
|
||||||
|
import net.minecraft.world.item.context.ItemActionContext;
|
||||||
|
@@ -53,6 +54,14 @@ public class ItemFireworks extends Item {
|
||||||
// Paper start
|
// Paper start
|
||||||
com.destroystokyo.paper.event.player.PlayerElytraBoostEvent event = new com.destroystokyo.paper.event.player.PlayerElytraBoostEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Firework) entityfireworks.getBukkitEntity());
|
com.destroystokyo.paper.event.player.PlayerElytraBoostEvent event = new com.destroystokyo.paper.event.player.PlayerElytraBoostEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Firework) entityfireworks.getBukkitEntity());
|
||||||
if (event.callEvent() && world.addEntity(entityfireworks)) {
|
if (event.callEvent() && world.addEntity(entityfireworks)) {
|
||||||
@@ -45,11 +53,11 @@ index e775fe69ee7e555721bc73e7cb0dd3136736bc9c..990eb656699d9ead26b42fbb305530b7
|
|||||||
if (event.shouldConsume() && !entityhuman.abilities.canInstantlyBuild) {
|
if (event.shouldConsume() && !entityhuman.abilities.canInstantlyBuild) {
|
||||||
itemstack.subtract(1);
|
itemstack.subtract(1);
|
||||||
} else ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory();
|
} else ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory();
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||||
index e747ee83f1a69a4a4bad87e720abc9b085fb6149..a4edfb02fd350433020b0f3699726b6127ab9933 100644
|
index fcc6ee9481d577d39339cd0ac24dab06bd76e5c6..81e2ccfa4f6cf6a4ad9236cf0ce94df8dc3ec5b6 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||||
@@ -445,7 +445,7 @@ public final class ItemStack {
|
@@ -500,7 +500,7 @@ public final class ItemStack {
|
||||||
int j;
|
int j;
|
||||||
|
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
@@ -58,7 +66,7 @@ index e747ee83f1a69a4a4bad87e720abc9b085fb6149..a4edfb02fd350433020b0f3699726b61
|
|||||||
int k = 0;
|
int k = 0;
|
||||||
|
|
||||||
for (int l = 0; j > 0 && l < i; ++l) {
|
for (int l = 0; j > 0 && l < i; ++l) {
|
||||||
@@ -491,6 +491,12 @@ public final class ItemStack {
|
@@ -546,6 +546,12 @@ public final class ItemStack {
|
||||||
if (this.isDamaged(i, t0.getRandom(), t0 instanceof EntityPlayer ? (EntityPlayer) t0 : null)) {
|
if (this.isDamaged(i, t0.getRandom(), t0 instanceof EntityPlayer ? (EntityPlayer) t0 : null)) {
|
||||||
consumer.accept(t0);
|
consumer.accept(t0);
|
||||||
Item item = this.getItem();
|
Item item = this.getItem();
|
||||||
@@ -71,11 +79,11 @@ index e747ee83f1a69a4a4bad87e720abc9b085fb6149..a4edfb02fd350433020b0f3699726b61
|
|||||||
// CraftBukkit start - Check for item breaking
|
// CraftBukkit start - Check for item breaking
|
||||||
if (this.count == 1 && t0 instanceof EntityHuman) {
|
if (this.count == 1 && t0 instanceof EntityHuman) {
|
||||||
org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent((EntityHuman) t0, this);
|
org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent((EntityHuman) t0, this);
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemTrident.java b/src/main/java/net/minecraft/server/ItemTrident.java
|
diff --git a/src/main/java/net/minecraft/world/item/ItemTrident.java b/src/main/java/net/minecraft/world/item/ItemTrident.java
|
||||||
index 4eeeecef51cedcd0fe46ac4983472e214ccc9dad..0109d8db4f154802daef570e6d8b479cb5a49dab 100644
|
index 9896477b54cf91a88bdfc3d85018a59193b32859..0711d195c654edef5875f587e391bacfdea096da 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ItemTrident.java
|
--- a/src/main/java/net/minecraft/world/item/ItemTrident.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemTrident.java
|
+++ b/src/main/java/net/minecraft/world/item/ItemTrident.java
|
||||||
@@ -101,6 +101,16 @@ public class ItemTrident extends Item implements ItemVanishable {
|
@@ -123,6 +123,16 @@ public class ItemTrident extends Item implements ItemVanishable {
|
||||||
f2 *= f6 / f5;
|
f2 *= f6 / f5;
|
||||||
f3 *= f6 / f5;
|
f3 *= f6 / f5;
|
||||||
f4 *= f6 / f5;
|
f4 *= f6 / f5;
|
||||||
@@ -93,7 +101,7 @@ index 4eeeecef51cedcd0fe46ac4983472e214ccc9dad..0109d8db4f154802daef570e6d8b479c
|
|||||||
entityhuman.r(20);
|
entityhuman.r(20);
|
||||||
if (entityhuman.isOnGround()) {
|
if (entityhuman.isOnGround()) {
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 66e74ee74b56e25ca46704ca6cec403f15126c33..ef977c50ab987f0762e1f9efd8ac6f559c38aaef 100644
|
index e66b79218e960d11da4759187e4473685ccb9a9e..7f6b028f32af113e5898a0f2f39e0ec6c4e4dd11 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -129,6 +129,19 @@ public class PurpurWorldConfig {
|
@@ -129,6 +129,19 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,61 @@ Date: Sat, 22 Feb 2020 15:54:08 -0600
|
|||||||
Subject: [PATCH] Item entity immunities
|
Subject: [PATCH] Item entity immunities
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
diff --git a/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java
|
||||||
index e93d028a3908aa4d0c1daf7929acc2a426bbb0df..3ba980830d6ecab81aa4c07f4804e1c30c7a12d6 100644
|
index 3a66a34db2b8ac612431131cea80e57ee72de05f..70a1ff235690a5990f94bd9cf97d670b2f4c2aea 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
--- a/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
+++ b/src/main/java/net/minecraft/server/level/EntityTrackerEntry.java
|
||||||
@@ -1488,6 +1488,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
@@ -31,6 +31,7 @@ import net.minecraft.world.entity.EntityLiving;
|
||||||
|
import net.minecraft.world.entity.EnumItemSlot;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.AttributeModifiable;
|
||||||
|
import net.minecraft.world.entity.decoration.EntityItemFrame;
|
||||||
|
+import net.minecraft.world.entity.item.EntityItem;
|
||||||
|
import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
import net.minecraft.world.entity.projectile.EntityArrow;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
@@ -67,7 +68,7 @@ public class EntityTrackerEntry {
|
||||||
|
private boolean q;
|
||||||
|
private boolean r;
|
||||||
|
// CraftBukkit start
|
||||||
|
- final Set<EntityPlayer> trackedPlayers; // Paper - private -> package
|
||||||
|
+ public final Set<EntityPlayer> trackedPlayers; // Paper - private -> public
|
||||||
|
// Paper start
|
||||||
|
private java.util.Map<EntityPlayer, Boolean> trackedPlayerMap = null;
|
||||||
|
|
||||||
|
@@ -143,6 +144,15 @@ public class EntityTrackerEntry {
|
||||||
|
this.c();
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Purpur start - respawn burning item entities on client (client kills them)
|
||||||
|
+ if (tracker.fireTicks > 0 && tracker instanceof EntityItem) {
|
||||||
|
+ EntityItem item = (EntityItem) tracker;
|
||||||
|
+ if (item.immuneToFire && !item.dead) {
|
||||||
|
+ item.respawnOnClient();
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ // Purpur end
|
||||||
|
+
|
||||||
|
if (this.tickCounter % this.d == 0 || this.tracker.impulse || this.tracker.getDataWatcher().a()) {
|
||||||
|
int i;
|
||||||
|
int j;
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
|
||||||
|
index c9d6ddd8874195c07b3573c6b1f61ffdcff2dddd..4f11a19137531a0406a5214cd0cce0bea06d0088 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
|
||||||
|
@@ -2487,7 +2487,7 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
|
||||||
|
|
||||||
|
public class EntityTracker {
|
||||||
|
|
||||||
|
- final EntityTrackerEntry trackerEntry; // Paper - private -> package private
|
||||||
|
+ public final EntityTrackerEntry trackerEntry; // Paper - private -> public
|
||||||
|
public final Entity tracker; // Airplane - public for chunk
|
||||||
|
private final int trackingDistance;
|
||||||
|
private SectionPosition e;
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
index b114d12d9d17071fb96f5ab225b85cdd5ad06861..7f897bebdc1fe2b7ce9528db9a7dd0fc0cf6c008 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
@@ -1580,6 +1580,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -16,11 +66,24 @@ index e93d028a3908aa4d0c1daf7929acc2a426bbb0df..3ba980830d6ecab81aa4c07f4804e1c3
|
|||||||
public boolean a(Tag<FluidType> tag) {
|
public boolean a(Tag<FluidType> tag) {
|
||||||
return this.O == tag;
|
return this.O == tag;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
|
diff --git a/src/main/java/net/minecraft/world/entity/item/EntityItem.java b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
|
||||||
index 9a8b7e06f14f17dfea08d7031c83f77491aaca65..c25dce9a75b0e79f9b59f31892d863f46e2565e9 100644
|
index 5dc3670f35b04d933e96c4b42aa9fbcf941e69c7..3b84039a76843a0784e2d71bb66dc322450c2cab 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityItem.java
|
--- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityItem.java
|
+++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
|
||||||
@@ -24,6 +24,9 @@ public class EntityItem extends Entity {
|
@@ -10,10 +10,12 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.network.chat.ChatMessage;
|
||||||
|
import net.minecraft.network.chat.IChatBaseComponent;
|
||||||
|
import net.minecraft.network.protocol.Packet;
|
||||||
|
+import net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata;
|
||||||
|
import net.minecraft.network.protocol.game.PacketPlayOutSpawnEntity;
|
||||||
|
import net.minecraft.network.syncher.DataWatcher;
|
||||||
|
import net.minecraft.network.syncher.DataWatcherObject;
|
||||||
|
import net.minecraft.network.syncher.DataWatcherRegistry;
|
||||||
|
+import net.minecraft.server.level.EntityPlayer;
|
||||||
|
import net.minecraft.server.level.WorldServer;
|
||||||
|
import net.minecraft.sounds.SoundEffects;
|
||||||
|
import net.minecraft.stats.StatisticList;
|
||||||
|
@@ -50,6 +52,9 @@ public class EntityItem extends Entity {
|
||||||
public final float b;
|
public final float b;
|
||||||
private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit
|
private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit
|
||||||
public boolean canMobPickup = true; // Paper
|
public boolean canMobPickup = true; // Paper
|
||||||
@@ -30,7 +93,7 @@ index 9a8b7e06f14f17dfea08d7031c83f77491aaca65..c25dce9a75b0e79f9b59f31892d863f4
|
|||||||
|
|
||||||
public EntityItem(EntityTypes<? extends EntityItem> entitytypes, World world) {
|
public EntityItem(EntityTypes<? extends EntityItem> entitytypes, World world) {
|
||||||
super(entitytypes, world);
|
super(entitytypes, world);
|
||||||
@@ -275,6 +278,16 @@ public class EntityItem extends Entity {
|
@@ -301,6 +306,16 @@ public class EntityItem extends Entity {
|
||||||
return false;
|
return false;
|
||||||
} else if (!this.getItemStack().getItem().a(damagesource)) {
|
} else if (!this.getItemStack().getItem().a(damagesource)) {
|
||||||
return false;
|
return false;
|
||||||
@@ -47,7 +110,7 @@ index 9a8b7e06f14f17dfea08d7031c83f77491aaca65..c25dce9a75b0e79f9b59f31892d863f4
|
|||||||
} else {
|
} else {
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
if (org.bukkit.craftbukkit.event.CraftEventFactory.handleNonLivingEntityDamageEvent(this, damagesource, f)) {
|
if (org.bukkit.craftbukkit.event.CraftEventFactory.handleNonLivingEntityDamageEvent(this, damagesource, f)) {
|
||||||
@@ -455,6 +468,9 @@ public class EntityItem extends Entity {
|
@@ -481,6 +496,9 @@ public class EntityItem extends Entity {
|
||||||
com.google.common.base.Preconditions.checkArgument(!itemstack.isEmpty(), "Cannot drop air"); // CraftBukkit
|
com.google.common.base.Preconditions.checkArgument(!itemstack.isEmpty(), "Cannot drop air"); // CraftBukkit
|
||||||
this.getDataWatcher().set(EntityItem.ITEM, itemstack);
|
this.getDataWatcher().set(EntityItem.ITEM, itemstack);
|
||||||
this.getDataWatcher().markDirty(EntityItem.ITEM); // CraftBukkit - SPIGOT-4591, must mark dirty
|
this.getDataWatcher().markDirty(EntityItem.ITEM); // CraftBukkit - SPIGOT-4591, must mark dirty
|
||||||
@@ -57,7 +120,7 @@ index 9a8b7e06f14f17dfea08d7031c83f77491aaca65..c25dce9a75b0e79f9b59f31892d863f4
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -536,4 +552,15 @@ public class EntityItem extends Entity {
|
@@ -562,4 +580,15 @@ public class EntityItem extends Entity {
|
||||||
super.setPositionRaw(x, y, z);
|
super.setPositionRaw(x, y, z);
|
||||||
}
|
}
|
||||||
// Paper end - fix MC-4
|
// Paper end - fix MC-4
|
||||||
@@ -73,28 +136,8 @@ index 9a8b7e06f14f17dfea08d7031c83f77491aaca65..c25dce9a75b0e79f9b59f31892d863f4
|
|||||||
+ }
|
+ }
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
|
||||||
index 9f6d767ce8139999032d4c51221da743c694cb09..63bcd1b61d0485b064d619ddfa0e201034087772 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
|
||||||
@@ -114,6 +114,15 @@ public class EntityTrackerEntry {
|
|
||||||
this.c();
|
|
||||||
}
|
|
||||||
|
|
||||||
+ // Purpur start - respawn burning item entities on client (client kills them)
|
|
||||||
+ if (tracker.fireTicks > 0 && tracker instanceof EntityItem) {
|
|
||||||
+ EntityItem item = (EntityItem) tracker;
|
|
||||||
+ if (item.immuneToFire && !item.dead) {
|
|
||||||
+ item.respawnOnClient();
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ // Purpur end
|
|
||||||
+
|
|
||||||
if (this.tickCounter % this.d == 0 || this.tracker.impulse || this.tracker.getDataWatcher().a()) {
|
|
||||||
int i;
|
|
||||||
int j;
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index ef977c50ab987f0762e1f9efd8ac6f559c38aaef..1e38e2e87ad30a908d9cf8d1455bb9250e281e55 100644
|
index 7f6b028f32af113e5898a0f2f39e0ec6c4e4dd11..54ec01c01026f14f1f91aad2639109af853e10e4 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -101,6 +101,39 @@ public class PurpurWorldConfig {
|
@@ -101,6 +101,39 @@ public class PurpurWorldConfig {
|
||||||
@@ -138,7 +181,7 @@ index ef977c50ab987f0762e1f9efd8ac6f559c38aaef..1e38e2e87ad30a908d9cf8d1455bb925
|
|||||||
public boolean idleTimeoutTickNearbyEntities = true;
|
public boolean idleTimeoutTickNearbyEntities = true;
|
||||||
public boolean idleTimeoutCountAsSleeping = false;
|
public boolean idleTimeoutCountAsSleeping = false;
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||||
index bcbaad11852a51436a00c8e172bdd841ba93ec3c..8c0b618ac66688f1fef42ae292745c2844aa12df 100644
|
index 7a78ef2f6f673568c0528fa46168c69d21f51a66..0418291a69216081353c05c99d11dcd913b6b8cb 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||||
@@ -114,4 +114,36 @@ public class CraftItem extends CraftEntity implements Item {
|
@@ -114,4 +114,36 @@ public class CraftItem extends CraftEntity implements Item {
|
||||||
|
|||||||
@@ -4,28 +4,11 @@ Date: Fri, 13 Mar 2020 22:29:10 -0500
|
|||||||
Subject: [PATCH] Add /ping command
|
Subject: [PATCH] Add /ping command
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ArgumentEntity.java b/src/main/java/net/minecraft/server/ArgumentEntity.java
|
diff --git a/src/main/java/net/minecraft/commands/CommandDispatcher.java b/src/main/java/net/minecraft/commands/CommandDispatcher.java
|
||||||
index 1194f91a51f87bc461af039fe0819aaf3e5c8bdd..9141976d1d6c5cef9eb4d415df2ad3b8f14ce913 100644
|
index 6fc5ee06c3bed8d9aa0e13dd7fa8d70ff6711f85..e8fe4984fdc67536561a1ad08b328a30b30b8717 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ArgumentEntity.java
|
--- a/src/main/java/net/minecraft/commands/CommandDispatcher.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ArgumentEntity.java
|
+++ b/src/main/java/net/minecraft/commands/CommandDispatcher.java
|
||||||
@@ -69,10 +69,12 @@ public class ArgumentEntity implements ArgumentType<EntitySelector> {
|
@@ -191,6 +191,7 @@ public class CommandDispatcher {
|
||||||
return ((EntitySelector) commandcontext.getArgument(s, EntitySelector.class)).c((CommandListenerWrapper) commandcontext.getSource());
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static ArgumentEntity players() { return d(); } // Purpur - OBFHELPER
|
|
||||||
public static ArgumentEntity d() {
|
|
||||||
return new ArgumentEntity(false, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static Collection<EntityPlayer> getPlayers(CommandContext<CommandListenerWrapper> commandcontext, String s) throws CommandSyntaxException { return f(commandcontext, s); } // Purpur - OBFHELPER
|
|
||||||
public static Collection<EntityPlayer> f(CommandContext<CommandListenerWrapper> commandcontext, String s) throws CommandSyntaxException {
|
|
||||||
List<EntityPlayer> list = ((EntitySelector) commandcontext.getArgument(s, EntitySelector.class)).d((CommandListenerWrapper) commandcontext.getSource());
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/CommandDispatcher.java b/src/main/java/net/minecraft/server/CommandDispatcher.java
|
|
||||||
index 17753c8a997aa286460be5d8eb6508e2eaed18ce..d080bf58ebc9c1dc9d41fae7d515547bc3f26d54 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/CommandDispatcher.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/CommandDispatcher.java
|
|
||||||
@@ -107,6 +107,7 @@ public class CommandDispatcher {
|
|
||||||
CommandIdleTimeout.a(this.b);
|
CommandIdleTimeout.a(this.b);
|
||||||
CommandStop.a(this.b);
|
CommandStop.a(this.b);
|
||||||
CommandWhitelist.a(this.b);
|
CommandWhitelist.a(this.b);
|
||||||
@@ -33,7 +16,7 @@ index 17753c8a997aa286460be5d8eb6508e2eaed18ce..d080bf58ebc9c1dc9d41fae7d515547b
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (commanddispatcher_servertype.d) {
|
if (commanddispatcher_servertype.d) {
|
||||||
@@ -338,10 +339,12 @@ public class CommandDispatcher {
|
@@ -422,10 +423,12 @@ public class CommandDispatcher {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,7 +29,7 @@ index 17753c8a997aa286460be5d8eb6508e2eaed18ce..d080bf58ebc9c1dc9d41fae7d515547b
|
|||||||
public static <T> RequiredArgumentBuilder<CommandListenerWrapper, T> a(String s, ArgumentType<T> argumenttype) {
|
public static <T> RequiredArgumentBuilder<CommandListenerWrapper, T> a(String s, ArgumentType<T> argumenttype) {
|
||||||
return RequiredArgumentBuilder.argument(s, argumenttype);
|
return RequiredArgumentBuilder.argument(s, argumenttype);
|
||||||
}
|
}
|
||||||
@@ -357,6 +360,7 @@ public class CommandDispatcher {
|
@@ -441,6 +444,7 @@ public class CommandDispatcher {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,11 +37,11 @@ index 17753c8a997aa286460be5d8eb6508e2eaed18ce..d080bf58ebc9c1dc9d41fae7d515547b
|
|||||||
public com.mojang.brigadier.CommandDispatcher<CommandListenerWrapper> a() {
|
public com.mojang.brigadier.CommandDispatcher<CommandListenerWrapper> a() {
|
||||||
return this.b;
|
return this.b;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/CommandListenerWrapper.java b/src/main/java/net/minecraft/server/CommandListenerWrapper.java
|
diff --git a/src/main/java/net/minecraft/commands/CommandListenerWrapper.java b/src/main/java/net/minecraft/commands/CommandListenerWrapper.java
|
||||||
index 31543b38a7c46d93333c5f96fdb718b0a7a087b2..8a605b88584a574d5814e97d83c63661b56cf753 100644
|
index 8402af32cc476d7f468842eb4f34c7521d72bcc8..4480fe75cfad35a5104b5116c5ec2c80d18f15f5 100644
|
||||||
--- a/src/main/java/net/minecraft/server/CommandListenerWrapper.java
|
--- a/src/main/java/net/minecraft/commands/CommandListenerWrapper.java
|
||||||
+++ b/src/main/java/net/minecraft/server/CommandListenerWrapper.java
|
+++ b/src/main/java/net/minecraft/commands/CommandListenerWrapper.java
|
||||||
@@ -190,6 +190,7 @@ public class CommandListenerWrapper implements ICompletionProvider, com.destroys
|
@@ -211,6 +211,7 @@ public class CommandListenerWrapper implements ICompletionProvider, com.destroys
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,8 +49,25 @@ index 31543b38a7c46d93333c5f96fdb718b0a7a087b2..8a605b88584a574d5814e97d83c63661
|
|||||||
public EntityPlayer h() throws CommandSyntaxException {
|
public EntityPlayer h() throws CommandSyntaxException {
|
||||||
if (!(this.k instanceof EntityPlayer)) {
|
if (!(this.k instanceof EntityPlayer)) {
|
||||||
throw CommandListenerWrapper.a.create();
|
throw CommandListenerWrapper.a.create();
|
||||||
|
diff --git a/src/main/java/net/minecraft/commands/arguments/ArgumentEntity.java b/src/main/java/net/minecraft/commands/arguments/ArgumentEntity.java
|
||||||
|
index bbad2b1399d9d2e16bfa77563bd564f7c6f640d7..a85c4525335fa46bc23a6dd57cfaea1f697b3daa 100644
|
||||||
|
--- a/src/main/java/net/minecraft/commands/arguments/ArgumentEntity.java
|
||||||
|
+++ b/src/main/java/net/minecraft/commands/arguments/ArgumentEntity.java
|
||||||
|
@@ -78,10 +78,12 @@ public class ArgumentEntity implements ArgumentType<EntitySelector> {
|
||||||
|
return ((EntitySelector) commandcontext.getArgument(s, EntitySelector.class)).c((CommandListenerWrapper) commandcontext.getSource());
|
||||||
|
}
|
||||||
|
|
||||||
|
+ public static ArgumentEntity players() { return d(); } // Purpur - OBFHELPER
|
||||||
|
public static ArgumentEntity d() {
|
||||||
|
return new ArgumentEntity(false, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ public static Collection<EntityPlayer> getPlayers(CommandContext<CommandListenerWrapper> commandcontext, String s) throws CommandSyntaxException { return f(commandcontext, s); } // Purpur - OBFHELPER
|
||||||
|
public static Collection<EntityPlayer> f(CommandContext<CommandListenerWrapper> commandcontext, String s) throws CommandSyntaxException {
|
||||||
|
List<EntityPlayer> list = ((EntitySelector) commandcontext.getArgument(s, EntitySelector.class)).d((CommandListenerWrapper) commandcontext.getSource());
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
index 10900ef825f88657f287c8c5b71a89338ba54c11..ebf74ddb9786d3bcccb62c85352bb6c2278433f3 100644
|
index 8572cc59ad94cb5ac8b7625587c4dc23a1efbd4d..33c135aa02bbbaebbc503aaf665d8d00998b6b40 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
@@ -133,10 +133,12 @@ public class PurpurConfig {
|
@@ -133,10 +133,12 @@ public class PurpurConfig {
|
||||||
@@ -85,16 +85,16 @@ index 10900ef825f88657f287c8c5b71a89338ba54c11..ebf74ddb9786d3bcccb62c85352bb6c2
|
|||||||
public static String serverModName = "Purpur";
|
public static String serverModName = "Purpur";
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/command/PingCommand.java b/src/main/java/net/pl3x/purpur/command/PingCommand.java
|
diff --git a/src/main/java/net/pl3x/purpur/command/PingCommand.java b/src/main/java/net/pl3x/purpur/command/PingCommand.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..3d4762c4a179aaf4e270af018b940f93f1a7d9cd
|
index 0000000000000000000000000000000000000000..1d636d7c541d127a473d5be2509e5db29936e8ad
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/net/pl3x/purpur/command/PingCommand.java
|
+++ b/src/main/java/net/pl3x/purpur/command/PingCommand.java
|
||||||
@@ -0,0 +1,37 @@
|
@@ -0,0 +1,37 @@
|
||||||
+package net.pl3x.purpur.command;
|
+package net.pl3x.purpur.command;
|
||||||
+
|
+
|
||||||
+import net.minecraft.server.ArgumentEntity;
|
+import net.minecraft.commands.arguments.ArgumentEntity;
|
||||||
+import net.minecraft.server.CommandDispatcher;
|
+import net.minecraft.commands.CommandDispatcher;
|
||||||
+import net.minecraft.server.CommandListenerWrapper;
|
+import net.minecraft.commands.CommandListenerWrapper;
|
||||||
+import net.minecraft.server.EntityPlayer;
|
+import net.minecraft.server.level.EntityPlayer;
|
||||||
+import net.pl3x.purpur.PurpurConfig;
|
+import net.pl3x.purpur.PurpurConfig;
|
||||||
+import org.bukkit.craftbukkit.util.CraftChatMessage;
|
+import org.bukkit.craftbukkit.util.CraftChatMessage;
|
||||||
+
|
+
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Thu, 26 Mar 2020 21:39:32 -0500
|
|||||||
Subject: [PATCH] Configurable jockey options
|
Subject: [PATCH] Configurable jockey options
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityDrowned.java b/src/main/java/net/minecraft/world/entity/monster/EntityDrowned.java
|
||||||
index 9ae0897bfd6a4577901d9189d0dba22f3ec2110c..1a102816921fa3b40f6d364bb826db4459f68eb2 100644
|
index e4794760fc918cccbdc3f8d10ab21dd9b6f29e8e..ea776755767f29e49de2792afa30f79420d0fa4c 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityDrowned.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityDrowned.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityDrowned.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityDrowned.java
|
||||||
@@ -21,6 +21,23 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
|
@@ -72,6 +72,23 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
|
||||||
this.navigationLand = new Navigation(this, world);
|
this.navigationLand = new Navigation(this, world);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,11 +32,11 @@ index 9ae0897bfd6a4577901d9189d0dba22f3ec2110c..1a102816921fa3b40f6d364bb826db44
|
|||||||
@Override
|
@Override
|
||||||
protected void m() {
|
protected void m() {
|
||||||
this.goalSelector.a(1, new EntityDrowned.c(this, 1.0D));
|
this.goalSelector.a(1, new EntityDrowned.c(this, 1.0D));
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityPigZombie.java b/src/main/java/net/minecraft/world/entity/monster/EntityPigZombie.java
|
||||||
index 65bae8c9f28c23b0b5dd5d048e7fc7daf328075c..32b75f710b12efbcecec2c8d72d4d8cb725870fe 100644
|
index cc1bff409cad2eb6264d4b691599576960080ccd..af00a4245ca39f208810d1ec758e512cbf5648f3 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPigZombie.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityPigZombie.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPigZombie.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityPigZombie.java
|
||||||
@@ -21,6 +21,23 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable {
|
@@ -55,6 +55,23 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable {
|
||||||
this.a(PathType.LAVA, 8.0F);
|
this.a(PathType.LAVA, 8.0F);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,11 +60,11 @@ index 65bae8c9f28c23b0b5dd5d048e7fc7daf328075c..32b75f710b12efbcecec2c8d72d4d8cb
|
|||||||
@Override
|
@Override
|
||||||
public void setAngerTarget(@Nullable UUID uuid) {
|
public void setAngerTarget(@Nullable UUID uuid) {
|
||||||
this.br = uuid;
|
this.br = uuid;
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java b/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java
|
||||||
index c081dfa775dc93afd96eff88953c9a5f21f2adb9..291748b3436c18653fa959cfd8c92240aa17508c 100644
|
index 634416c354184bc6a2348c27c55e9868009ccd28..5ac950614fc90d02a568bb38f71faee124584c16 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java
|
||||||
@@ -3,6 +3,7 @@ package net.minecraft.server;
|
@@ -3,6 +3,7 @@ package net.minecraft.world.entity.monster;
|
||||||
import com.mojang.serialization.DynamicOps;
|
import com.mojang.serialization.DynamicOps;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.temporal.ChronoField;
|
import java.time.temporal.ChronoField;
|
||||||
@@ -72,7 +72,7 @@ index c081dfa775dc93afd96eff88953c9a5f21f2adb9..291748b3436c18653fa959cfd8c92240
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
@@ -44,6 +45,20 @@ public class EntityZombie extends EntityMonster {
|
@@ -106,6 +107,20 @@ public class EntityZombie extends EntityMonster {
|
||||||
this(EntityTypes.ZOMBIE, world);
|
this(EntityTypes.ZOMBIE, world);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,7 +93,7 @@ index c081dfa775dc93afd96eff88953c9a5f21f2adb9..291748b3436c18653fa959cfd8c92240
|
|||||||
@Override
|
@Override
|
||||||
protected void initPathfinder() {
|
protected void initPathfinder() {
|
||||||
if (world.paperConfig.zombiesTargetTurtleEggs) this.goalSelector.a(4, new EntityZombie.a(this, 1.0D, 3)); // Paper
|
if (world.paperConfig.zombiesTargetTurtleEggs) this.goalSelector.a(4, new EntityZombie.a(this, 1.0D, 3)); // Paper
|
||||||
@@ -444,19 +459,19 @@ public class EntityZombie extends EntityMonster {
|
@@ -506,19 +521,19 @@ public class EntityZombie extends EntityMonster {
|
||||||
if (object instanceof EntityZombie.GroupDataZombie) {
|
if (object instanceof EntityZombie.GroupDataZombie) {
|
||||||
EntityZombie.GroupDataZombie entityzombie_groupdatazombie = (EntityZombie.GroupDataZombie) object;
|
EntityZombie.GroupDataZombie entityzombie_groupdatazombie = (EntityZombie.GroupDataZombie) object;
|
||||||
|
|
||||||
@@ -119,7 +119,7 @@ index c081dfa775dc93afd96eff88953c9a5f21f2adb9..291748b3436c18653fa959cfd8c92240
|
|||||||
EntityChicken entitychicken1 = (EntityChicken) EntityTypes.CHICKEN.a(this.world);
|
EntityChicken entitychicken1 = (EntityChicken) EntityTypes.CHICKEN.a(this.world);
|
||||||
|
|
||||||
entitychicken1.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, 0.0F);
|
entitychicken1.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, 0.0F);
|
||||||
@@ -464,6 +479,7 @@ public class EntityZombie extends EntityMonster {
|
@@ -526,6 +541,7 @@ public class EntityZombie extends EntityMonster {
|
||||||
entitychicken1.setChickenJockey(true);
|
entitychicken1.setChickenJockey(true);
|
||||||
this.startRiding(entitychicken1);
|
this.startRiding(entitychicken1);
|
||||||
worldaccess.addEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit
|
worldaccess.addEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit
|
||||||
@@ -127,7 +127,7 @@ index c081dfa775dc93afd96eff88953c9a5f21f2adb9..291748b3436c18653fa959cfd8c92240
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -566,7 +582,7 @@ public class EntityZombie extends EntityMonster {
|
@@ -628,7 +644,7 @@ public class EntityZombie extends EntityMonster {
|
||||||
|
|
||||||
public static class GroupDataZombie implements GroupDataEntity {
|
public static class GroupDataZombie implements GroupDataEntity {
|
||||||
|
|
||||||
@@ -136,11 +136,11 @@ index c081dfa775dc93afd96eff88953c9a5f21f2adb9..291748b3436c18653fa959cfd8c92240
|
|||||||
public final boolean b;
|
public final boolean b;
|
||||||
|
|
||||||
public GroupDataZombie(boolean flag, boolean flag1) {
|
public GroupDataZombie(boolean flag, boolean flag1) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityZombieHusk.java b/src/main/java/net/minecraft/server/EntityZombieHusk.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityZombieHusk.java b/src/main/java/net/minecraft/world/entity/monster/EntityZombieHusk.java
|
||||||
index 2d2830adc5229a8db7fc4b1170ea4c6f263e7182..ce6d79780197eb9300130036a8ed84648a17f9cf 100644
|
index ce08413134de6101420ccb957da925ea1e3b0884..5d3e5873f19aaf8389eb5525693b9378ea9f94ee 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityZombieHusk.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityZombieHusk.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityZombieHusk.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityZombieHusk.java
|
||||||
@@ -8,6 +8,23 @@ public class EntityZombieHusk extends EntityZombie {
|
@@ -22,6 +22,23 @@ public class EntityZombieHusk extends EntityZombie {
|
||||||
super(entitytypes, world);
|
super(entitytypes, world);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,11 +164,11 @@ index 2d2830adc5229a8db7fc4b1170ea4c6f263e7182..ce6d79780197eb9300130036a8ed8464
|
|||||||
public static boolean a(EntityTypes<EntityZombieHusk> entitytypes, WorldAccess worldaccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) {
|
public static boolean a(EntityTypes<EntityZombieHusk> entitytypes, WorldAccess worldaccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) {
|
||||||
return b(entitytypes, worldaccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || worldaccess.e(blockposition));
|
return b(entitytypes, worldaccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || worldaccess.e(blockposition));
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/EntityZombieVillager.java
|
||||||
index b90605c463d378cea06c3cb84aad4c97145d00ce..5a71381c9f1832710001b6bfa63d6815c3cd1ab0 100644
|
index c03f4655dcca3d9635a7e13244b7977425a3f291..167ea96ec4072a9415a2ae9d7a0db118bfb94e19 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityZombieVillager.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityZombieVillager.java
|
||||||
@@ -28,6 +28,23 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
|
@@ -70,6 +70,23 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
|
||||||
this.setVillagerData(this.getVillagerData().withProfession((VillagerProfession) IRegistry.VILLAGER_PROFESSION.a(this.random)));
|
this.setVillagerData(this.getVillagerData().withProfession((VillagerProfession) IRegistry.VILLAGER_PROFESSION.a(this.random)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -193,7 +193,7 @@ index b90605c463d378cea06c3cb84aad4c97145d00ce..5a71381c9f1832710001b6bfa63d6815
|
|||||||
protected void initDatawatcher() {
|
protected void initDatawatcher() {
|
||||||
super.initDatawatcher();
|
super.initDatawatcher();
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 1e38e2e87ad30a908d9cf8d1455bb9250e281e55..dd6a86d5765008f98e59b54a365d824e390fdf94 100644
|
index 54ec01c01026f14f1f91aad2639109af853e10e4..1ebc8d04020aec7e36dfed5196dde9e9fe6ada0f 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -275,6 +275,15 @@ public class PurpurWorldConfig {
|
@@ -275,6 +275,15 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Thu, 9 May 2019 18:26:06 -0500
|
|||||||
Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
|
Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/DamageSource.java b/src/main/java/net/minecraft/server/DamageSource.java
|
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
||||||
index 6fe5678cffc2487fe00c953d772f764bb37a4b11..bd0267ee4b3782f6d1ec39cba7966ba4f62f1adf 100644
|
index 53ea8a6d90faf4f7f8fd0819be4499422bdd4cbe..6ba14f603b8ec69597c70677cc317f802d6afae9 100644
|
||||||
--- a/src/main/java/net/minecraft/server/DamageSource.java
|
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
||||||
+++ b/src/main/java/net/minecraft/server/DamageSource.java
|
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
|
||||||
@@ -88,6 +88,7 @@ public class DamageSource {
|
@@ -99,6 +99,7 @@ public class DamageSource {
|
||||||
return (new EntityDamageSourceIndirect("thrown", entity, entity1)).c();
|
return (new EntityDamageSourceIndirect("thrown", entity, entity1)).c();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -16,11 +16,11 @@ index 6fe5678cffc2487fe00c953d772f764bb37a4b11..bd0267ee4b3782f6d1ec39cba7966ba4
|
|||||||
public static DamageSource c(Entity entity, @Nullable Entity entity1) {
|
public static DamageSource c(Entity entity, @Nullable Entity entity1) {
|
||||||
return (new EntityDamageSourceIndirect("indirectMagic", entity, entity1)).setIgnoreArmor().setMagic();
|
return (new EntityDamageSourceIndirect("indirectMagic", entity, entity1)).setIgnoreArmor().setMagic();
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 3ba980830d6ecab81aa4c07f4804e1c30c7a12d6..13217b14834f4aaf3eddba8da3c3bc4a97cb27c6 100644
|
index 7f897bebdc1fe2b7ce9528db9a7dd0fc0cf6c008..5ac6b7759cf43dbbad1bcf74d5d86efd69883cf5 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -2154,8 +2154,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
@@ -2246,8 +2246,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, ne
|
||||||
return this.a(new ItemStack(imaterial), (float) i);
|
return this.a(new ItemStack(imaterial), (float) i);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -31,11 +31,19 @@ index 3ba980830d6ecab81aa4c07f4804e1c30c7a12d6..13217b14834f4aaf3eddba8da3c3bc4a
|
|||||||
return this.a(itemstack, 0.0F);
|
return this.a(itemstack, 0.0F);
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderCrystal.java b/src/main/java/net/minecraft/server/EntityEnderCrystal.java
|
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.java
|
||||||
index 362ca695d88a7c788421cc557b8110b954d8153a..1942fae27051af79b6eb1d790a219da100bf889e 100644
|
index 9658d93615a51375204481cfe0a1fce6f105fd70..2c983e6a092464d1867fcbe875b2e1461ec8556b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityEnderCrystal.java
|
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityEnderCrystal.java
|
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderCrystal.java
|
||||||
@@ -13,6 +13,12 @@ public class EntityEnderCrystal extends Entity {
|
@@ -14,6 +14,7 @@ import net.minecraft.server.level.WorldServer;
|
||||||
|
import net.minecraft.world.damagesource.DamageSource;
|
||||||
|
import net.minecraft.world.entity.Entity;
|
||||||
|
import net.minecraft.world.entity.EntityTypes;
|
||||||
|
+import net.minecraft.world.entity.monster.EntityPhantom;
|
||||||
|
import net.minecraft.world.level.Explosion;
|
||||||
|
import net.minecraft.world.level.IBlockAccess;
|
||||||
|
import net.minecraft.world.level.World;
|
||||||
|
@@ -30,6 +31,12 @@ public class EntityEnderCrystal extends Entity {
|
||||||
private static final DataWatcherObject<Optional<BlockPosition>> c = DataWatcher.a(EntityEnderCrystal.class, DataWatcherRegistry.m);
|
private static final DataWatcherObject<Optional<BlockPosition>> c = DataWatcher.a(EntityEnderCrystal.class, DataWatcherRegistry.m);
|
||||||
private static final DataWatcherObject<Boolean> d = DataWatcher.a(EntityEnderCrystal.class, DataWatcherRegistry.i);
|
private static final DataWatcherObject<Boolean> d = DataWatcher.a(EntityEnderCrystal.class, DataWatcherRegistry.i);
|
||||||
public int b;
|
public int b;
|
||||||
@@ -48,7 +56,7 @@ index 362ca695d88a7c788421cc557b8110b954d8153a..1942fae27051af79b6eb1d790a219da1
|
|||||||
|
|
||||||
public EntityEnderCrystal(EntityTypes<? extends EntityEnderCrystal> entitytypes, World world) {
|
public EntityEnderCrystal(EntityTypes<? extends EntityEnderCrystal> entitytypes, World world) {
|
||||||
super(entitytypes, world);
|
super(entitytypes, world);
|
||||||
@@ -51,7 +57,50 @@ public class EntityEnderCrystal extends Entity {
|
@@ -68,7 +75,50 @@ public class EntityEnderCrystal extends Entity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,11 +107,32 @@ index 362ca695d88a7c788421cc557b8110b954d8153a..1942fae27051af79b6eb1d790a219da1
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void saveData(NBTTagCompound nbttagcompound) {
|
protected void saveData(NBTTagCompound nbttagcompound) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityPhantom.java b/src/main/java/net/minecraft/world/entity/monster/EntityPhantom.java
|
||||||
index 3a70900c73e3a6c4f40cf74406534f4bfd3eb67b..dfce36368da9bdd9285c490a802f7a0cc4a339f6 100644
|
index 42cf3fa42b73739182d26fbb524ee5b304c799b2..daf738e8f0987aa6ab200189d7a26d166918b8fc 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityPhantom.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityPhantom.java
|
||||||
@@ -9,9 +9,10 @@ import javax.annotation.Nullable;
|
@@ -12,6 +12,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.network.syncher.DataWatcher;
|
||||||
|
import net.minecraft.network.syncher.DataWatcherObject;
|
||||||
|
import net.minecraft.network.syncher.DataWatcherRegistry;
|
||||||
|
+import net.minecraft.server.level.WorldServer;
|
||||||
|
import net.minecraft.sounds.SoundCategory;
|
||||||
|
import net.minecraft.sounds.SoundEffect;
|
||||||
|
import net.minecraft.sounds.SoundEffects;
|
||||||
|
@@ -36,18 +37,23 @@ import net.minecraft.world.entity.ai.control.EntityAIBodyControl;
|
||||||
|
import net.minecraft.world.entity.ai.goal.PathfinderGoal;
|
||||||
|
import net.minecraft.world.entity.ai.targeting.PathfinderTargetCondition;
|
||||||
|
import net.minecraft.world.entity.animal.EntityCat;
|
||||||
|
+import net.minecraft.world.entity.boss.enderdragon.EntityEnderCrystal;
|
||||||
|
import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
+import net.minecraft.world.item.ItemStack;
|
||||||
|
+import net.minecraft.world.item.Items;
|
||||||
|
import net.minecraft.world.level.World;
|
||||||
|
import net.minecraft.world.level.WorldAccess;
|
||||||
|
import net.minecraft.world.level.levelgen.HeightMap;
|
||||||
|
+import net.minecraft.world.level.storage.loot.LootTableInfo;
|
||||||
|
import net.minecraft.world.phys.Vec3D;
|
||||||
|
|
||||||
public class EntityPhantom extends EntityFlying implements IMonster {
|
public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
|
|
||||||
private static final DataWatcherObject<Integer> b = DataWatcher.a(EntityPhantom.class, DataWatcherRegistry.b);
|
private static final DataWatcherObject<Integer> b = DataWatcher.a(EntityPhantom.class, DataWatcherRegistry.b);
|
||||||
@@ -117,7 +146,7 @@ index 3a70900c73e3a6c4f40cf74406534f4bfd3eb67b..dfce36368da9bdd9285c490a802f7a0c
|
|||||||
|
|
||||||
public EntityPhantom(EntityTypes<? extends EntityPhantom> entitytypes, World world) {
|
public EntityPhantom(EntityTypes<? extends EntityPhantom> entitytypes, World world) {
|
||||||
super(entitytypes, world);
|
super(entitytypes, world);
|
||||||
@@ -30,11 +31,37 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
@@ -66,11 +72,37 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void initPathfinder() {
|
protected void initPathfinder() {
|
||||||
@@ -159,8 +188,8 @@ index 3a70900c73e3a6c4f40cf74406534f4bfd3eb67b..dfce36368da9bdd9285c490a802f7a0c
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void initDatawatcher() {
|
protected void initDatawatcher() {
|
||||||
@@ -198,6 +225,136 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
@@ -235,6 +267,136 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
}
|
public void setSpawningEntity(java.util.UUID entity) { this.spawningEntity = entity; }
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
@@ -296,7 +325,7 @@ index 3a70900c73e3a6c4f40cf74406534f4bfd3eb67b..dfce36368da9bdd9285c490a802f7a0c
|
|||||||
class b extends PathfinderGoal {
|
class b extends PathfinderGoal {
|
||||||
|
|
||||||
private final PathfinderTargetCondition b;
|
private final PathfinderTargetCondition b;
|
||||||
@@ -210,6 +367,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
@@ -247,6 +409,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean a() {
|
public boolean a() {
|
||||||
@@ -304,7 +333,7 @@ index 3a70900c73e3a6c4f40cf74406534f4bfd3eb67b..dfce36368da9bdd9285c490a802f7a0c
|
|||||||
if (this.c > 0) {
|
if (this.c > 0) {
|
||||||
--this.c;
|
--this.c;
|
||||||
return false;
|
return false;
|
||||||
@@ -238,6 +396,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
@@ -275,6 +438,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean b() {
|
public boolean b() {
|
||||||
@@ -312,7 +341,7 @@ index 3a70900c73e3a6c4f40cf74406534f4bfd3eb67b..dfce36368da9bdd9285c490a802f7a0c
|
|||||||
EntityLiving entityliving = EntityPhantom.this.getGoalTarget();
|
EntityLiving entityliving = EntityPhantom.this.getGoalTarget();
|
||||||
|
|
||||||
return entityliving != null ? EntityPhantom.this.a(entityliving, PathfinderTargetCondition.a) : false;
|
return entityliving != null ? EntityPhantom.this.a(entityliving, PathfinderTargetCondition.a) : false;
|
||||||
@@ -252,6 +411,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
@@ -289,6 +453,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean a() {
|
public boolean a() {
|
||||||
@@ -321,7 +350,7 @@ index 3a70900c73e3a6c4f40cf74406534f4bfd3eb67b..dfce36368da9bdd9285c490a802f7a0c
|
|||||||
|
|
||||||
return entityliving != null ? EntityPhantom.this.a(EntityPhantom.this.getGoalTarget(), PathfinderTargetCondition.a) : false;
|
return entityliving != null ? EntityPhantom.this.a(EntityPhantom.this.getGoalTarget(), PathfinderTargetCondition.a) : false;
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index dd6a86d5765008f98e59b54a365d824e390fdf94..88cac6394f67ec113a781a552261f760fc95eb16 100644
|
index 1ebc8d04020aec7e36dfed5196dde9e9fe6ada0f..d5e1ca888c6fe0910f54e30b3b59af4dfde86cb3 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -349,6 +349,15 @@ public class PurpurWorldConfig {
|
@@ -349,6 +349,15 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Fri, 3 Jul 2020 00:03:52 -0500
|
|||||||
Subject: [PATCH] Add phantom spawning options
|
Subject: [PATCH] Add phantom spawning options
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/DifficultyDamageScaler.java b/src/main/java/net/minecraft/server/DifficultyDamageScaler.java
|
diff --git a/src/main/java/net/minecraft/world/DifficultyDamageScaler.java b/src/main/java/net/minecraft/world/DifficultyDamageScaler.java
|
||||||
index 75745af3435434bddd420536ca3bbea3a9f181d6..84c0ec1b50758b433980765d087e15d8a8eaaaf7 100644
|
index c2fe4329576e6dcd5df435bc580d79a2b6db1fcd..44f19d8c8f5d344b2659cf01eb4be40f5510a2c2 100644
|
||||||
--- a/src/main/java/net/minecraft/server/DifficultyDamageScaler.java
|
--- a/src/main/java/net/minecraft/world/DifficultyDamageScaler.java
|
||||||
+++ b/src/main/java/net/minecraft/server/DifficultyDamageScaler.java
|
+++ b/src/main/java/net/minecraft/world/DifficultyDamageScaler.java
|
||||||
@@ -13,6 +13,7 @@ public class DifficultyDamageScaler {
|
@@ -14,6 +14,7 @@ public class DifficultyDamageScaler {
|
||||||
this.b = this.a(enumdifficulty, i, j, f);
|
this.b = this.a(enumdifficulty, i, j, f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ index 75745af3435434bddd420536ca3bbea3a9f181d6..84c0ec1b50758b433980765d087e15d8
|
|||||||
public EnumDifficulty a() {
|
public EnumDifficulty a() {
|
||||||
return this.a;
|
return this.a;
|
||||||
}
|
}
|
||||||
@@ -21,6 +22,7 @@ public class DifficultyDamageScaler {
|
@@ -22,6 +23,7 @@ public class DifficultyDamageScaler {
|
||||||
return this.b;
|
return this.b;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -24,11 +24,11 @@ index 75745af3435434bddd420536ca3bbea3a9f181d6..84c0ec1b50758b433980765d087e15d8
|
|||||||
public boolean a(float f) {
|
public boolean a(float f) {
|
||||||
return this.b > f;
|
return this.b > f;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EnumDifficulty.java b/src/main/java/net/minecraft/server/EnumDifficulty.java
|
diff --git a/src/main/java/net/minecraft/world/EnumDifficulty.java b/src/main/java/net/minecraft/world/EnumDifficulty.java
|
||||||
index e0e72779c0f4e4856ed5682122fedf0321db11cb..386eae71a146e06ca60f8bf11429fe2131232a21 100644
|
index 53fac6aa71938805264b7cc4769e63a9d4a66114..a1a80aab7ef6fdb2a35082fa452d0b46c1fcdcbe 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EnumDifficulty.java
|
--- a/src/main/java/net/minecraft/world/EnumDifficulty.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EnumDifficulty.java
|
+++ b/src/main/java/net/minecraft/world/EnumDifficulty.java
|
||||||
@@ -19,6 +19,7 @@ public enum EnumDifficulty {
|
@@ -21,6 +21,7 @@ public enum EnumDifficulty {
|
||||||
this.g = s;
|
this.g = s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,11 +36,11 @@ index e0e72779c0f4e4856ed5682122fedf0321db11cb..386eae71a146e06ca60f8bf11429fe21
|
|||||||
public int a() {
|
public int a() {
|
||||||
return this.f;
|
return this.f;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/IBlockLightAccess.java b/src/main/java/net/minecraft/server/IBlockLightAccess.java
|
diff --git a/src/main/java/net/minecraft/world/level/IBlockLightAccess.java b/src/main/java/net/minecraft/world/level/IBlockLightAccess.java
|
||||||
index 03a89301f2b3d29e39c6c9d05ee072527f652efc..fa5eb188da64cc1409cc614515e8c70b0a341dd0 100644
|
index 8b2e57c833c03940f2e0727e00decce59f263269..642bf019d32a2fdc18718337ecfe45d24022f8bd 100644
|
||||||
--- a/src/main/java/net/minecraft/server/IBlockLightAccess.java
|
--- a/src/main/java/net/minecraft/world/level/IBlockLightAccess.java
|
||||||
+++ b/src/main/java/net/minecraft/server/IBlockLightAccess.java
|
+++ b/src/main/java/net/minecraft/world/level/IBlockLightAccess.java
|
||||||
@@ -12,6 +12,7 @@ public interface IBlockLightAccess extends IBlockAccess {
|
@@ -15,6 +15,7 @@ public interface IBlockLightAccess extends IBlockAccess {
|
||||||
return this.e().b(blockposition, i);
|
return this.e().b(blockposition, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,15 +48,56 @@ index 03a89301f2b3d29e39c6c9d05ee072527f652efc..fa5eb188da64cc1409cc614515e8c70b
|
|||||||
default boolean e(BlockPosition blockposition) {
|
default boolean e(BlockPosition blockposition) {
|
||||||
return this.getBrightness(EnumSkyBlock.SKY, blockposition) >= this.K();
|
return this.getBrightness(EnumSkyBlock.SKY, blockposition) >= this.K();
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java
|
diff --git a/src/main/java/net/minecraft/world/level/SpawnerCreature.java b/src/main/java/net/minecraft/world/level/SpawnerCreature.java
|
||||||
index 4e3f01bc79b6ed2a322155f29f1d0dcf298c8b82..ac1ea2f0c15bccf94f203194a5a7b10ec125ffb8 100644
|
index d98526785ff2fa3b72e8ffffcb89a57a2203a5c8..7859d84471436b427138593776ebd30a0429b6b4 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java
|
--- a/src/main/java/net/minecraft/world/level/SpawnerCreature.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java
|
+++ b/src/main/java/net/minecraft/world/level/SpawnerCreature.java
|
||||||
@@ -1,85 +1,99 @@
|
@@ -431,6 +431,7 @@ public final class SpawnerCreature {
|
||||||
package net.minecraft.server;
|
return new BlockPosition(i, l, j);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ public static boolean canSpawn(IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, EntityTypes entitytypes) { return a(iblockaccess, blockposition, iblockdata, fluid, entitytypes); } // Purpur - OBFHELPER
|
||||||
|
public static boolean a(IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, EntityTypes<?> entitytypes) {
|
||||||
|
return iblockdata.r(iblockaccess, blockposition) ? false : (iblockdata.isPowerSource() ? false : (!fluid.isEmpty() ? false : (iblockdata.a((Tag) TagsBlock.PREVENT_MOB_SPAWNING_INSIDE) ? false : !entitytypes.a(iblockdata))));
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
|
||||||
|
index cef8e9b379c4205386d1001e86abc7dcb0b18eb6..4fa0f6ce7f8e6f5fba68d66a2c81ad4a53ca2146 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/World.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/World.java
|
||||||
|
@@ -1749,6 +1749,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||||
|
return new DifficultyDamageScaler(this.getDifficulty(), this.getDayTime(), i, f);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ public int getSkyDarkness() { return c(); } // Purpur - OBFHELPER
|
||||||
|
@Override
|
||||||
|
public int c() {
|
||||||
|
return this.d;
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/levelgen/MobSpawnerPhantom.java b/src/main/java/net/minecraft/world/level/levelgen/MobSpawnerPhantom.java
|
||||||
|
index e4f5e570636862481aac92ec9b74d6cf5723eb6e..e954adeff4fbfc1aa85ac3785c0c4c86bde24cdb 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/levelgen/MobSpawnerPhantom.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/levelgen/MobSpawnerPhantom.java
|
||||||
|
@@ -1,9 +1,6 @@
|
||||||
|
package net.minecraft.world.level.levelgen;
|
||||||
|
|
||||||
-import java.util.Iterator;
|
-import java.util.Iterator;
|
||||||
-import java.util.Random;
|
-import java.util.Random;
|
||||||
|
import net.minecraft.core.BlockPosition;
|
||||||
|
-import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.server.MCUtil;
|
||||||
|
import net.minecraft.server.level.EntityPlayer;
|
||||||
|
import net.minecraft.server.level.WorldServer;
|
||||||
|
@@ -15,92 +12,103 @@ import net.minecraft.world.entity.EntityTypes;
|
||||||
|
import net.minecraft.world.entity.EnumMobSpawn;
|
||||||
|
import net.minecraft.world.entity.GroupDataEntity;
|
||||||
|
import net.minecraft.world.entity.monster.EntityPhantom;
|
||||||
|
-import net.minecraft.world.entity.player.EntityHuman;
|
||||||
|
import net.minecraft.world.level.GameRules;
|
||||||
|
-import net.minecraft.world.level.IBlockAccess;
|
||||||
|
import net.minecraft.world.level.MobSpawner;
|
||||||
|
import net.minecraft.world.level.SpawnerCreature;
|
||||||
|
-import net.minecraft.world.level.World;
|
||||||
|
-import net.minecraft.world.level.block.state.IBlockData;
|
||||||
|
-import net.minecraft.world.level.material.Fluid;
|
||||||
+import com.destroystokyo.paper.event.entity.PhantomPreSpawnEvent;
|
+import com.destroystokyo.paper.event.entity.PhantomPreSpawnEvent;
|
||||||
+import org.bukkit.event.entity.CreatureSpawnEvent;
|
+import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||||
|
|
||||||
@@ -132,7 +173,7 @@ index 4e3f01bc79b6ed2a322155f29f1d0dcf298c8b82..ac1ea2f0c15bccf94f203194a5a7b10e
|
|||||||
- }
|
- }
|
||||||
- // Paper end
|
- // Paper end
|
||||||
- EntityPhantom entityphantom = (EntityPhantom) EntityTypes.PHANTOM.a((World) worldserver);
|
- EntityPhantom entityphantom = (EntityPhantom) EntityTypes.PHANTOM.a((World) worldserver);
|
||||||
- entityphantom.spawningEntity = entityhuman.uniqueID; // Paper
|
- entityphantom.setSpawningEntity(entityhuman.getUniqueID()); // Paper
|
||||||
- entityphantom.setPositionRotation(blockposition1, 0.0F, 0.0F);
|
- entityphantom.setPositionRotation(blockposition1, 0.0F, 0.0F);
|
||||||
- groupdataentity = entityphantom.prepare(worldserver, difficultydamagescaler, EnumMobSpawn.NATURAL, groupdataentity, (NBTTagCompound) null);
|
- groupdataentity = entityphantom.prepare(worldserver, difficultydamagescaler, EnumMobSpawn.NATURAL, groupdataentity, (NBTTagCompound) null);
|
||||||
- worldserver.addAllEntities(entityphantom, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit
|
- worldserver.addAllEntities(entityphantom, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit
|
||||||
@@ -207,7 +248,7 @@ index 4e3f01bc79b6ed2a322155f29f1d0dcf298c8b82..ac1ea2f0c15bccf94f203194a5a7b10e
|
|||||||
+ continue;
|
+ continue;
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
+ phantom.spawningEntity = player.uniqueID; // Paper
|
+ phantom.setSpawningEntity(player.getUniqueID()); // Paper
|
||||||
+ phantom.setPositionRotation(spawnPos, 0.0F, 0.0F);
|
+ phantom.setPositionRotation(spawnPos, 0.0F, 0.0F);
|
||||||
+ groupData = phantom.prepare(world, dmgScaler, EnumMobSpawn.NATURAL, groupData, null);
|
+ groupData = phantom.prepare(world, dmgScaler, EnumMobSpawn.NATURAL, groupData, null);
|
||||||
+ world.addEntity(phantom, CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit
|
+ world.addEntity(phantom, CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit
|
||||||
@@ -220,32 +261,8 @@ index 4e3f01bc79b6ed2a322155f29f1d0dcf298c8b82..ac1ea2f0c15bccf94f203194a5a7b10e
|
|||||||
+ // Purpur end - rewrite entire thing
|
+ // Purpur end - rewrite entire thing
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
|
||||||
index c7573e1271288bd2b9dfe9801ea8f8804089f6ce..b5b0f295d63eb245a6221f88110f1bb1694c641c 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
|
||||||
@@ -397,6 +397,7 @@ public final class SpawnerCreature {
|
|
||||||
return new BlockPosition(i, l, j);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean canSpawn(IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, EntityTypes entitytypes) { return a(iblockaccess, blockposition, iblockdata, fluid, entitytypes); } // Purpur - OBFHELPER
|
|
||||||
public static boolean a(IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, EntityTypes<?> entitytypes) {
|
|
||||||
return iblockdata.r(iblockaccess, blockposition) ? false : (iblockdata.isPowerSource() ? false : (!fluid.isEmpty() ? false : (iblockdata.a((Tag) TagsBlock.PREVENT_MOB_SPAWNING_INSIDE) ? false : !entitytypes.a(iblockdata))));
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
|
||||||
index 068d303853572519efc16bb9cd3b799e458e39e7..ad7360cd5ae79e4d031ae866bf911fb87a2c0cdf 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
|
||||||
@@ -1687,6 +1687,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
|
||||||
return new DifficultyDamageScaler(this.getDifficulty(), this.getDayTime(), i, f);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public int getSkyDarkness() { return c(); } // Purpur - OBFHELPER
|
|
||||||
@Override
|
|
||||||
public int c() {
|
|
||||||
return this.d;
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 88cac6394f67ec113a781a552261f760fc95eb16..fedc39bdbbd328296c5c08d220d6695fe08fdf91 100644
|
index d5e1ca888c6fe0910f54e30b3b59af4dfde86cb3..104947fbf7c68c94e5b0b72b13307197e041ae1c 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -352,10 +352,34 @@ public class PurpurWorldConfig {
|
@@ -352,10 +352,34 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sat, 4 Jul 2020 13:12:43 -0500
|
|||||||
Subject: [PATCH] Implement bed explosion options
|
Subject: [PATCH] Implement bed explosion options
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/BlockBed.java b/src/main/java/net/minecraft/server/BlockBed.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/BlockBed.java b/src/main/java/net/minecraft/world/level/block/BlockBed.java
|
||||||
index 24a5c64b65f0098b1395d352cc2f99bbbbaf9c94..738535d01adf8bfd895b5057e595042253f32f87 100644
|
index eca84595342756e3550883551e487aaf79574fde..d81c05c092173b7e74045cfab1018d2eed28c401 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BlockBed.java
|
--- a/src/main/java/net/minecraft/world/level/block/BlockBed.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BlockBed.java
|
+++ b/src/main/java/net/minecraft/world/level/block/BlockBed.java
|
||||||
@@ -88,7 +88,7 @@ public class BlockBed extends BlockFacingHorizontal implements ITileEntity {
|
@@ -127,7 +127,7 @@ public class BlockBed extends BlockFacingHorizontal implements ITileEntity {
|
||||||
world.a(blockposition1, false);
|
world.a(blockposition1, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -18,17 +18,17 @@ index 24a5c64b65f0098b1395d352cc2f99bbbbaf9c94..738535d01adf8bfd895b5057e5950422
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index fedc39bdbbd328296c5c08d220d6695fe08fdf91..35e4f4160358b12b61d2763b8d2f5ff51022b666 100644
|
index 104947fbf7c68c94e5b0b72b13307197e041ae1c..5486dd15752e9c260275a6b3d5ed702e6bf14a81 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -2,6 +2,7 @@ package net.pl3x.purpur;
|
@@ -1,6 +1,7 @@
|
||||||
|
package net.pl3x.purpur;
|
||||||
|
|
||||||
import net.minecraft.server.Block;
|
import net.minecraft.core.IRegistry;
|
||||||
import net.minecraft.server.Blocks;
|
+import net.minecraft.world.level.Explosion;
|
||||||
+import net.minecraft.server.Explosion;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.server.IRegistry;
|
import net.minecraft.world.level.block.Blocks;
|
||||||
import net.minecraft.server.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.server.Items;
|
|
||||||
@@ -12,6 +13,7 @@ import java.util.ArrayList;
|
@@ -12,6 +13,7 @@ import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Sat, 4 Jul 2020 13:23:19 -0500
|
|||||||
Subject: [PATCH] Implement respawn anchor explosion options
|
Subject: [PATCH] Implement respawn anchor explosion options
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/BlockRespawnAnchor.java b/src/main/java/net/minecraft/server/BlockRespawnAnchor.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/BlockRespawnAnchor.java b/src/main/java/net/minecraft/world/level/block/BlockRespawnAnchor.java
|
||||||
index 21c5ad83a95bcd23071423c0e8336656b760fcde..521d161a3d015b641b61de21401c79ac20eb73a7 100644
|
index 028e98decf8b0496b4ebcd1aad3aa474e5c4e7c1..9b7a7f1ae50baf53d314bbf1588afeb8e61dae5d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BlockRespawnAnchor.java
|
--- a/src/main/java/net/minecraft/world/level/block/BlockRespawnAnchor.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BlockRespawnAnchor.java
|
+++ b/src/main/java/net/minecraft/world/level/block/BlockRespawnAnchor.java
|
||||||
@@ -83,10 +83,7 @@ public class BlockRespawnAnchor extends Block {
|
@@ -115,10 +115,7 @@ public class BlockRespawnAnchor extends Block {
|
||||||
|
|
||||||
private void d(IBlockData iblockdata, World world, final BlockPosition blockposition) {
|
private void d(IBlockData iblockdata, World world, final BlockPosition blockposition) {
|
||||||
world.a(blockposition, false);
|
world.a(blockposition, false);
|
||||||
@@ -20,7 +20,7 @@ index 21c5ad83a95bcd23071423c0e8336656b760fcde..521d161a3d015b641b61de21401c79ac
|
|||||||
return a(blockposition1, world);
|
return a(blockposition1, world);
|
||||||
});
|
});
|
||||||
final boolean flag1 = flag || world.getFluid(blockposition.up()).a((Tag) TagsFluid.WATER);
|
final boolean flag1 = flag || world.getFluid(blockposition.up()).a((Tag) TagsFluid.WATER);
|
||||||
@@ -97,7 +94,7 @@ public class BlockRespawnAnchor extends Block {
|
@@ -129,7 +126,7 @@ public class BlockRespawnAnchor extends Block {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ index 21c5ad83a95bcd23071423c0e8336656b760fcde..521d161a3d015b641b61de21401c79ac
|
|||||||
|
|
||||||
public static boolean a(World world) {
|
public static boolean a(World world) {
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 35e4f4160358b12b61d2763b8d2f5ff51022b666..07e60861c99db1ee1ba7a01c7a666a83e644aa2a 100644
|
index 5486dd15752e9c260275a6b3d5ed702e6bf14a81..a366742e8d11513b469ffb8dafd98a4c0d8ab30a 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -251,6 +251,22 @@ public class PurpurWorldConfig {
|
@@ -251,6 +251,22 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,33 +4,11 @@ Date: Sun, 5 Jul 2020 23:40:16 -0500
|
|||||||
Subject: [PATCH] Add allow water in end world option
|
Subject: [PATCH] Add allow water in end world option
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/BlockIce.java b/src/main/java/net/minecraft/server/BlockIce.java
|
diff --git a/src/main/java/net/minecraft/world/item/ItemBucket.java b/src/main/java/net/minecraft/world/item/ItemBucket.java
|
||||||
index aba5c6b8713c04302632bd1d289fd968c9e0607a..b75f6ded5d4bd3150789fba773a2c76c3e55bb90 100644
|
index d126f668828e0788e369294c0b376ef52b344f2c..154a76b1b77a97bdf65153250c41275f72f6f73f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BlockIce.java
|
--- a/src/main/java/net/minecraft/world/item/ItemBucket.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BlockIce.java
|
+++ b/src/main/java/net/minecraft/world/item/ItemBucket.java
|
||||||
@@ -13,7 +13,7 @@ public class BlockIce extends BlockHalfTransparent {
|
@@ -152,7 +152,7 @@ public class ItemBucket extends Item {
|
||||||
public void a(World world, EntityHuman entityhuman, BlockPosition blockposition, IBlockData iblockdata, @Nullable TileEntity tileentity, ItemStack itemstack) {
|
|
||||||
super.a(world, entityhuman, blockposition, iblockdata, tileentity, itemstack);
|
|
||||||
if (EnchantmentManager.getEnchantmentLevel(Enchantments.SILK_TOUCH, itemstack) == 0) {
|
|
||||||
- if (world.getDimensionManager().isNether()) {
|
|
||||||
+ if (world.isNether() || (world.isTheEnd() && !net.pl3x.purpur.PurpurConfig.allowWaterPlacementInTheEnd)) { // Purpur
|
|
||||||
world.a(blockposition, false);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
@@ -41,7 +41,7 @@ public class BlockIce extends BlockHalfTransparent {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// CraftBukkit end
|
|
||||||
- if (world.getDimensionManager().isNether()) {
|
|
||||||
+ if (world.isNether() || (world.isTheEnd() && !net.pl3x.purpur.PurpurConfig.allowWaterPlacementInTheEnd)) { // Purpur
|
|
||||||
world.a(blockposition, false);
|
|
||||||
} else {
|
|
||||||
world.setTypeUpdate(blockposition, Blocks.WATER.getBlockData());
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ItemBucket.java b/src/main/java/net/minecraft/server/ItemBucket.java
|
|
||||||
index 223361a1a8b41ebe91e0db39f40cf12a4968b1b4..07f23572bdf15c57a53e32646f2fc64fff404948 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/ItemBucket.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/ItemBucket.java
|
|
||||||
@@ -123,7 +123,7 @@ public class ItemBucket extends Item {
|
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
if (!flag1) {
|
if (!flag1) {
|
||||||
return movingobjectpositionblock != null && this.a(entityhuman, world, movingobjectpositionblock.getBlockPosition().shift(movingobjectpositionblock.getDirection()), (MovingObjectPositionBlock) null, enumdirection, clicked, itemstack, enumhand); // CraftBukkit // Paper - add enumhand
|
return movingobjectpositionblock != null && this.a(entityhuman, world, movingobjectpositionblock.getBlockPosition().shift(movingobjectpositionblock.getDirection()), (MovingObjectPositionBlock) null, enumdirection, clicked, itemstack, enumhand); // CraftBukkit // Paper - add enumhand
|
||||||
@@ -39,7 +17,7 @@ index 223361a1a8b41ebe91e0db39f40cf12a4968b1b4..07f23572bdf15c57a53e32646f2fc64f
|
|||||||
int i = blockposition.getX();
|
int i = blockposition.getX();
|
||||||
int j = blockposition.getY();
|
int j = blockposition.getY();
|
||||||
int k = blockposition.getZ();
|
int k = blockposition.getZ();
|
||||||
@@ -131,7 +131,7 @@ public class ItemBucket extends Item {
|
@@ -160,7 +160,7 @@ public class ItemBucket extends Item {
|
||||||
world.playSound(entityhuman, blockposition, SoundEffects.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 0.5F, 2.6F + (world.random.nextFloat() - world.random.nextFloat()) * 0.8F);
|
world.playSound(entityhuman, blockposition, SoundEffects.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 0.5F, 2.6F + (world.random.nextFloat() - world.random.nextFloat()) * 0.8F);
|
||||||
|
|
||||||
for (int l = 0; l < 8; ++l) {
|
for (int l = 0; l < 8; ++l) {
|
||||||
@@ -48,11 +26,11 @@ index 223361a1a8b41ebe91e0db39f40cf12a4968b1b4..07f23572bdf15c57a53e32646f2fc64f
|
|||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
|
||||||
index ad7360cd5ae79e4d031ae866bf911fb87a2c0cdf..404fcc307454e7f00dcc180dda53677c5a0f43e8 100644
|
index 4fa0f6ce7f8e6f5fba68d66a2c81ad4a53ca2146..93cbdcd641762e3ab00258fd94ac381ebe47fb79 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/world/level/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/world/level/World.java
|
||||||
@@ -1762,4 +1762,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
@@ -1824,4 +1824,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||||
public final boolean isDebugWorld() {
|
public final boolean isDebugWorld() {
|
||||||
return this.debugWorld;
|
return this.debugWorld;
|
||||||
}
|
}
|
||||||
@@ -67,19 +45,33 @@ index ad7360cd5ae79e4d031ae866bf911fb87a2c0cdf..404fcc307454e7f00dcc180dda53677c
|
|||||||
+ }
|
+ }
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/block/BlockIce.java b/src/main/java/net/minecraft/world/level/block/BlockIce.java
|
||||||
|
index 461c85b426aab30c34529897e55aa842b45d0555..486a03f2582d6ece2775cb2db127953d31d041f8 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/block/BlockIce.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/block/BlockIce.java
|
||||||
|
@@ -27,7 +27,7 @@ public class BlockIce extends BlockHalfTransparent {
|
||||||
|
public void a(World world, EntityHuman entityhuman, BlockPosition blockposition, IBlockData iblockdata, @Nullable TileEntity tileentity, ItemStack itemstack) {
|
||||||
|
super.a(world, entityhuman, blockposition, iblockdata, tileentity, itemstack);
|
||||||
|
if (EnchantmentManager.getEnchantmentLevel(Enchantments.SILK_TOUCH, itemstack) == 0) {
|
||||||
|
- if (world.getDimensionManager().isNether()) {
|
||||||
|
+ if (world.isNether() || (world.isTheEnd() && !net.pl3x.purpur.PurpurConfig.allowWaterPlacementInTheEnd)) { // Purpur
|
||||||
|
world.a(blockposition, false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
@@ -55,7 +55,7 @@ public class BlockIce extends BlockHalfTransparent {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// CraftBukkit end
|
||||||
|
- if (world.getDimensionManager().isNether()) {
|
||||||
|
+ if (world.isNether() || (world.isTheEnd() && !net.pl3x.purpur.PurpurConfig.allowWaterPlacementInTheEnd)) { // Purpur
|
||||||
|
world.a(blockposition, false);
|
||||||
|
} else {
|
||||||
|
world.setTypeUpdate(blockposition, Blocks.WATER.getBlockData());
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
index ebf74ddb9786d3bcccb62c85352bb6c2278433f3..c12146fe8ac1d89c6c1051a8f64ea29a9214e64b 100644
|
index 33c135aa02bbbaebbc503aaf665d8d00998b6b40..c7962b45e818bbfa841a1249156472dc750d6194 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
@@ -1,7 +1,6 @@
|
@@ -186,6 +186,11 @@ public class PurpurConfig {
|
||||||
package net.pl3x.purpur;
|
|
||||||
|
|
||||||
import com.google.common.base.Throwables;
|
|
||||||
-import net.minecraft.server.LocaleLanguage;
|
|
||||||
import net.minecraft.server.MinecraftServer;
|
|
||||||
import net.pl3x.purpur.command.PurpurCommand;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
@@ -186,6 +185,11 @@ public class PurpurConfig {
|
|
||||||
dontSendUselessEntityPackets = getBoolean("settings.dont-send-useless-entity-packets", dontSendUselessEntityPackets);
|
dontSendUselessEntityPackets = getBoolean("settings.dont-send-useless-entity-packets", dontSendUselessEntityPackets);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Tue, 3 Nov 2020 01:25:06 -0600
|
|||||||
Subject: [PATCH] Allow color codes in books
|
Subject: [PATCH] Allow color codes in books
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
index 4d0dcbcc00e44c4912302dd0e7331471f33cb370..70cb98b3db5f9966e91da0ccd81e7610455a4f4e 100644
|
index bbb3b44bdceb8fb0363f771b8cf1b8245b5c8d3d..c2d9b76a915bbfaa3382512b3f9ab906e058c0f9 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
@@ -1058,7 +1058,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
@@ -1203,7 +1203,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||||
if (itemstack.getItem() == Items.WRITABLE_BOOK) {
|
if (itemstack.getItem() == Items.WRITABLE_BOOK) {
|
||||||
NBTTagList nbttaglist = new NBTTagList();
|
NBTTagList nbttaglist = new NBTTagList();
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ index 4d0dcbcc00e44c4912302dd0e7331471f33cb370..70cb98b3db5f9966e91da0ccd81e7610
|
|||||||
ItemStack old = itemstack.cloneItemStack(); // CraftBukkit
|
ItemStack old = itemstack.cloneItemStack(); // CraftBukkit
|
||||||
itemstack.a("pages", (NBTBase) nbttaglist);
|
itemstack.a("pages", (NBTBase) nbttaglist);
|
||||||
CraftEventFactory.handleEditBookEvent(player, i, old, itemstack); // CraftBukkit
|
CraftEventFactory.handleEditBookEvent(player, i, old, itemstack); // CraftBukkit
|
||||||
@@ -1076,13 +1077,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
@@ -1221,13 +1222,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||||
itemstack1.setTag(nbttagcompound.clone());
|
itemstack1.setTag(nbttagcompound.clone());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ index 4d0dcbcc00e44c4912302dd0e7331471f33cb370..70cb98b3db5f9966e91da0ccd81e7610
|
|||||||
ChatComponentText chatcomponenttext = new ChatComponentText(s1);
|
ChatComponentText chatcomponenttext = new ChatComponentText(s1);
|
||||||
String s2 = IChatBaseComponent.ChatSerializer.a((IChatBaseComponent) chatcomponenttext);
|
String s2 = IChatBaseComponent.ChatSerializer.a((IChatBaseComponent) chatcomponenttext);
|
||||||
|
|
||||||
@@ -1094,6 +1096,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
@@ -1239,6 +1241,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,23 @@ Date: Sat, 11 Jul 2020 19:41:34 -0500
|
|||||||
Subject: [PATCH] Entity lifespan
|
Subject: [PATCH] Entity lifespan
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
index 4e3af139712323a12066728426615e0faa274e4b..37902ee004a7c5aa18165237e75c77117c2eec81 100644
|
index c2d9b76a915bbfaa3382512b3f9ab906e058c0f9..319d9d2ba8ce3b5311746938b06999702847ce0b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||||
@@ -54,7 +54,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -2443,6 +2443,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||||
|
boolean triggerLeashUpdate = itemInHand != null && itemInHand.getItem() == Items.LEAD && entity instanceof EntityInsentient;
|
||||||
|
Item origItem = this.player.inventory.getItemInHand() == null ? null : this.player.inventory.getItemInHand().getItem();
|
||||||
|
PlayerInteractEntityEvent event;
|
||||||
|
+ if (entity instanceof EntityInsentient) ((EntityInsentient) entity).ticksSinceLastInteraction = 0; // Purpur
|
||||||
|
if (packetplayinuseentity.b() == PacketPlayInUseEntity.EnumEntityUseAction.INTERACT) {
|
||||||
|
event = new PlayerInteractEntityEvent((Player) this.getPlayer(), entity.getBukkitEntity(), (packetplayinuseentity.c() == EnumHand.OFF_HAND) ? EquipmentSlot.OFF_HAND : EquipmentSlot.HAND);
|
||||||
|
} else {
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityInsentient.java b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
|
index 462bcb7cfe2daa27c10a7a0318bef9b739e586f4..c9136f1b54ff0620a621b703b4e7487f4a63b01d 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||||
|
@@ -124,7 +124,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
private NBTTagCompound by;
|
private NBTTagCompound by;
|
||||||
private BlockPosition bz;
|
private BlockPosition bz;
|
||||||
private float bA;
|
private float bA;
|
||||||
@@ -17,7 +29,7 @@ index 4e3af139712323a12066728426615e0faa274e4b..37902ee004a7c5aa18165237e75c7711
|
|||||||
public boolean aware = true; // CraftBukkit
|
public boolean aware = true; // CraftBukkit
|
||||||
|
|
||||||
protected EntityInsentient(EntityTypes<? extends EntityInsentient> entitytypes, World world) {
|
protected EntityInsentient(EntityTypes<? extends EntityInsentient> entitytypes, World world) {
|
||||||
@@ -206,6 +206,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -276,6 +276,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
entityliving = null;
|
entityliving = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -25,7 +37,7 @@ index 4e3af139712323a12066728426615e0faa274e4b..37902ee004a7c5aa18165237e75c7711
|
|||||||
this.goalTarget = entityliving;
|
this.goalTarget = entityliving;
|
||||||
return true;
|
return true;
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
@@ -250,10 +251,35 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -320,10 +321,35 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
this.m();
|
this.m();
|
||||||
this.F();
|
this.F();
|
||||||
}
|
}
|
||||||
@@ -62,7 +74,7 @@ index 4e3af139712323a12066728426615e0faa274e4b..37902ee004a7c5aa18165237e75c7711
|
|||||||
@Override
|
@Override
|
||||||
protected void c(DamageSource damagesource) {
|
protected void c(DamageSource damagesource) {
|
||||||
this.m();
|
this.m();
|
||||||
@@ -427,6 +453,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -497,6 +523,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
}
|
}
|
||||||
|
|
||||||
nbttagcompound.setBoolean("Bukkit.Aware", this.aware); // CraftBukkit
|
nbttagcompound.setBoolean("Bukkit.Aware", this.aware); // CraftBukkit
|
||||||
@@ -70,7 +82,7 @@ index 4e3af139712323a12066728426615e0faa274e4b..37902ee004a7c5aa18165237e75c7711
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -497,6 +524,11 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -567,6 +594,11 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
this.aware = nbttagcompound.getBoolean("Bukkit.Aware");
|
this.aware = nbttagcompound.getBoolean("Bukkit.Aware");
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
@@ -82,7 +94,7 @@ index 4e3af139712323a12066728426615e0faa274e4b..37902ee004a7c5aa18165237e75c7711
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1555,7 +1587,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -1625,7 +1657,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
this.a((EntityLiving) this, entity);
|
this.a((EntityLiving) this, entity);
|
||||||
this.z(entity);
|
this.z(entity);
|
||||||
}
|
}
|
||||||
@@ -91,20 +103,8 @@ index 4e3af139712323a12066728426615e0faa274e4b..37902ee004a7c5aa18165237e75c7711
|
|||||||
return flag;
|
return flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
||||||
index 70cb98b3db5f9966e91da0ccd81e7610455a4f4e..48d032ed74effcfd66e1ab01548913964bca4d19 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
|
||||||
@@ -2298,6 +2298,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
||||||
boolean triggerLeashUpdate = itemInHand != null && itemInHand.getItem() == Items.LEAD && entity instanceof EntityInsentient;
|
|
||||||
Item origItem = this.player.inventory.getItemInHand() == null ? null : this.player.inventory.getItemInHand().getItem();
|
|
||||||
PlayerInteractEntityEvent event;
|
|
||||||
+ if (entity instanceof EntityInsentient) ((EntityInsentient) entity).ticksSinceLastInteraction = 0; // Purpur
|
|
||||||
if (packetplayinuseentity.b() == PacketPlayInUseEntity.EnumEntityUseAction.INTERACT) {
|
|
||||||
event = new PlayerInteractEntityEvent((Player) this.getPlayer(), entity.getBukkitEntity(), (packetplayinuseentity.c() == EnumHand.OFF_HAND) ? EquipmentSlot.OFF_HAND : EquipmentSlot.HAND);
|
|
||||||
} else {
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 07e60861c99db1ee1ba7a01c7a666a83e644aa2a..2e3fee6bc4f3af7ad07a0db5657ffb3238e77e96 100644
|
index a366742e8d11513b469ffb8dafd98a4c0d8ab30a..021dbb20793dd365c181c4d8a2ebc429af85778b 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -103,6 +103,11 @@ public class PurpurWorldConfig {
|
@@ -103,6 +103,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -4,23 +4,11 @@ Date: Mon, 13 Jul 2020 11:40:00 -0500
|
|||||||
Subject: [PATCH] Add option to teleport to spawn if outside world border
|
Subject: [PATCH] Add option to teleport to spawn if outside world border
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
diff --git a/src/main/java/net/minecraft/server/level/EntityPlayer.java b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
index 4b7909a0c7e41cf41d4219ba7dda79519c0ee3c6..2de7fbd9651a7143802507d9cbed148458c74e7b 100644
|
index e129480fa1045fbeaafa97045d53696b44952bcf..9de660f0c679f101512bddf7c6582ca6cd18ca5b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
--- a/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
+++ b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
||||||
@@ -281,6 +281,7 @@ public abstract class EntityLiving extends Entity {
|
@@ -2556,4 +2556,26 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
double d1 = this.world.getWorldBorder().getDamageAmount();
|
|
||||||
|
|
||||||
if (d1 > 0.0D) {
|
|
||||||
+ if (world.purpurConfig.teleportIfOutsideBorder && this instanceof EntityPlayer) { ((EntityPlayer) this).teleport(MCUtil.toLocation(world, world.getSpawn())); return; } // Purpur
|
|
||||||
this.damageEntity(DamageSource.STUCK, (float) Math.max(1, MathHelper.floor(-d0 * d1)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
||||||
index ec5248d7d472aa6868a5a3763ded267a919b3e58..c69ff970f4afe5c860fa8794b9be1f6b818ac395 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
|
||||||
@@ -2425,4 +2425,26 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
|
||||||
return (CraftPlayer) super.getBukkitEntity();
|
return (CraftPlayer) super.getBukkitEntity();
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
@@ -47,8 +35,28 @@ index ec5248d7d472aa6868a5a3763ded267a919b3e58..c69ff970f4afe5c860fa8794b9be1f6b
|
|||||||
+ }
|
+ }
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
|
index 5a060b98fe9f3edc199cd520a636505c653556e9..e453502c34f717797c4b67a7149d2e0da1b1232d 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||||
|
@@ -45,6 +45,7 @@ import net.minecraft.network.syncher.DataWatcher;
|
||||||
|
import net.minecraft.network.syncher.DataWatcherObject;
|
||||||
|
import net.minecraft.network.syncher.DataWatcherRegistry;
|
||||||
|
import net.minecraft.resources.MinecraftKey;
|
||||||
|
+import net.minecraft.server.MCUtil;
|
||||||
|
import net.minecraft.server.level.ChunkProviderServer;
|
||||||
|
import net.minecraft.server.level.EntityPlayer;
|
||||||
|
import net.minecraft.server.level.WorldServer;
|
||||||
|
@@ -376,6 +377,7 @@ public abstract class EntityLiving extends Entity {
|
||||||
|
double d1 = this.world.getWorldBorder().getDamageAmount();
|
||||||
|
|
||||||
|
if (d1 > 0.0D) {
|
||||||
|
+ if (world.purpurConfig.teleportIfOutsideBorder && this instanceof EntityPlayer) { ((EntityPlayer) this).teleport(MCUtil.toLocation(world, world.getSpawn())); return; } // Purpur
|
||||||
|
this.damageEntity(DamageSource.STUCK, (float) Math.max(1, MathHelper.floor(-d0 * d1)));
|
||||||
|
}
|
||||||
|
}
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 2e3fee6bc4f3af7ad07a0db5657ffb3238e77e96..5d35651f43de81c8cf047479ad9c88c4b3f1c38c 100644
|
index 021dbb20793dd365c181c4d8a2ebc429af85778b..b9e252c3db715c288493d5b98fc20d84de46c4e4 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -196,6 +196,11 @@ public class PurpurWorldConfig {
|
@@ -196,6 +196,11 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Squid EAR immunity
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 5d35651f43de81c8cf047479ad9c88c4b3f1c38c..32bb2524641722d16b6bafcc6b1af2793c1d9a45 100644
|
index b9e252c3db715c288493d5b98fc20d84de46c4e4..cdb7a97ecececa78a200acc898535d33c950a668 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -453,6 +453,11 @@ public class PurpurWorldConfig {
|
@@ -453,6 +453,11 @@ public class PurpurWorldConfig {
|
||||||
@@ -21,14 +21,22 @@ index 5d35651f43de81c8cf047479ad9c88c4b3f1c38c..32bb2524641722d16b6bafcc6b1af279
|
|||||||
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||||
public boolean villagerCanBeLeashed = false;
|
public boolean villagerCanBeLeashed = false;
|
||||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||||
index c8ef3856d398fc7a966385c04cadeb1e8e8504f7..7cc27df3c9429ccd840b394fcc3b96215a8449ac 100644
|
index dc2d880ded328f8377c207ce15f604ec5c25176c..5881497825b3c11ce5d23e4f609fd769ba6a76e1 100644
|
||||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||||
@@ -388,6 +388,7 @@ public class ActivationRange
|
@@ -11,6 +11,7 @@ import net.minecraft.world.entity.EntityLiving;
|
||||||
|
import net.minecraft.world.entity.ambient.EntityAmbient;
|
||||||
|
import net.minecraft.world.entity.animal.EntityAnimal;
|
||||||
|
import net.minecraft.world.entity.animal.EntitySheep;
|
||||||
|
+import net.minecraft.world.entity.animal.EntitySquid;
|
||||||
|
import net.minecraft.world.entity.boss.EntityComplexPart;
|
||||||
|
import net.minecraft.world.entity.boss.enderdragon.EntityEnderCrystal;
|
||||||
|
import net.minecraft.world.entity.boss.enderdragon.EntityEnderDragon;
|
||||||
|
@@ -386,6 +387,7 @@ public class ActivationRange
|
||||||
*/
|
*/
|
||||||
public static boolean checkIfActive(Entity entity)
|
public static boolean checkIfActive(Entity entity)
|
||||||
{
|
{
|
||||||
+ if (entity.world.purpurConfig.squidImmuneToEAR && entity instanceof net.minecraft.server.EntitySquid) return true; // Purpur
|
+ if (entity.world.purpurConfig.squidImmuneToEAR && entity instanceof EntitySquid) return true; // Purpur
|
||||||
// Never safe to skip fireworks or entities not yet added to chunk
|
// Never safe to skip fireworks or entities not yet added to chunk
|
||||||
if ( !entity.inChunk || entity instanceof EntityFireworks ) {
|
if ( !entity.inChunk || entity instanceof EntityFireworks ) {
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Wed, 15 Jul 2020 11:49:36 -0500
|
|||||||
Subject: [PATCH] Configurable end spike seed
|
Subject: [PATCH] Configurable end spike seed
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldGenEnder.java b/src/main/java/net/minecraft/server/WorldGenEnder.java
|
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/WorldGenEnder.java b/src/main/java/net/minecraft/world/level/levelgen/feature/WorldGenEnder.java
|
||||||
index 00a1707209b21fc0163960c957864f798da15554..5eb9b3d35e12c2d3dc5f158cbed0b0a0853ee116 100644
|
index dd623702131eaa1a65937a19a0e986e865322258..54ac8444702c3cfc2bcbaa6c8bc40398fd8eedb7 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldGenEnder.java
|
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/WorldGenEnder.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldGenEnder.java
|
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/WorldGenEnder.java
|
||||||
@@ -23,12 +23,14 @@ public class WorldGenEnder extends WorldGenerator<WorldGenFeatureEndSpikeConfigu
|
@@ -36,12 +36,14 @@ public class WorldGenEnder extends WorldGenerator<WorldGenFeatureEndSpikeConfigu
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<WorldGenEnder.Spike> a(GeneratorAccessSeed generatoraccessseed) {
|
public static List<WorldGenEnder.Spike> a(GeneratorAccessSeed generatoraccessseed) {
|
||||||
@@ -25,7 +25,7 @@ index 00a1707209b21fc0163960c957864f798da15554..5eb9b3d35e12c2d3dc5f158cbed0b0a0
|
|||||||
List<WorldGenEnder.Spike> list = worldgenfeatureendspikeconfiguration.c();
|
List<WorldGenEnder.Spike> list = worldgenfeatureendspikeconfiguration.c();
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
index c12146fe8ac1d89c6c1051a8f64ea29a9214e64b..c86f5178590f0b496f018858e21086a594de5dce 100644
|
index c7962b45e818bbfa841a1249156472dc750d6194..4eaf0857339a10570a23259e802b65677a2aa018 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
@@ -1,5 +1,6 @@
|
@@ -1,5 +1,6 @@
|
||||||
@@ -33,9 +33,9 @@ index c12146fe8ac1d89c6c1051a8f64ea29a9214e64b..c86f5178590f0b496f018858e21086a5
|
|||||||
|
|
||||||
+import co.aikar.timings.TimingsManager;
|
+import co.aikar.timings.TimingsManager;
|
||||||
import com.google.common.base.Throwables;
|
import com.google.common.base.Throwables;
|
||||||
|
import net.minecraft.locale.LocaleLanguage;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.pl3x.purpur.command.PurpurCommand;
|
@@ -141,6 +142,13 @@ public class PurpurConfig {
|
||||||
@@ -140,6 +141,13 @@ public class PurpurConfig {
|
|
||||||
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ Date: Wed, 15 Jul 2020 12:40:25 -0500
|
|||||||
Subject: [PATCH] Configurable dungeon seed
|
Subject: [PATCH] Configurable dungeon seed
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldGenDungeons.java b/src/main/java/net/minecraft/server/WorldGenDungeons.java
|
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/WorldGenDungeons.java b/src/main/java/net/minecraft/world/level/levelgen/feature/WorldGenDungeons.java
|
||||||
index 07f7b69fefe66ec4f26ca7b4fb3b752e80aeed07..6aa1626f38df0cd8ae8a417dc4fca213b82664c9 100644
|
index 4a2e3af98ef3383678445c1bdf535203097558ee..363de0352804e6a778d4e6ee34609a9491744aaf 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldGenDungeons.java
|
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/WorldGenDungeons.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldGenDungeons.java
|
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/WorldGenDungeons.java
|
||||||
@@ -11,12 +11,21 @@ public class WorldGenDungeons extends WorldGenerator<WorldGenFeatureEmptyConfigu
|
@@ -27,12 +27,21 @@ public class WorldGenDungeons extends WorldGenerator<WorldGenFeatureEmptyConfigu
|
||||||
private static final Logger LOGGER = LogManager.getLogger();
|
private static final Logger LOGGER = LogManager.getLogger();
|
||||||
private static final EntityTypes<?>[] ab = new EntityTypes[]{EntityTypes.SKELETON, EntityTypes.ZOMBIE, EntityTypes.ZOMBIE, EntityTypes.SPIDER};
|
private static final EntityTypes<?>[] ab = new EntityTypes[]{EntityTypes.SKELETON, EntityTypes.ZOMBIE, EntityTypes.ZOMBIE, EntityTypes.SPIDER};
|
||||||
private static final IBlockData ac = Blocks.CAVE_AIR.getBlockData();
|
private static final IBlockData ac = Blocks.CAVE_AIR.getBlockData();
|
||||||
@@ -31,10 +31,10 @@ index 07f7b69fefe66ec4f26ca7b4fb3b752e80aeed07..6aa1626f38df0cd8ae8a417dc4fca213
|
|||||||
int i = random.nextInt(2) + 2;
|
int i = random.nextInt(2) + 2;
|
||||||
int j = -i - 1;
|
int j = -i - 1;
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
index c86f5178590f0b496f018858e21086a594de5dce..d0b4a9a1a9dea069ea543aa63b950fc5d08c9d02 100644
|
index 4eaf0857339a10570a23259e802b65677a2aa018..6faa180bb2a5aa3bd8c4b4845848a63b9366f1eb 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||||
@@ -141,10 +141,13 @@ public class PurpurConfig {
|
@@ -142,10 +142,13 @@ public class PurpurConfig {
|
||||||
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user