Commit Graph
100 Commits
Author SHA1 Message Date
Zach Brown 8f9f852bb3 Revert "Dont strip explicit leading color codes in chat components (#1512)"
This reverts commit cd4848b2e6.

Fixes GH-1525
Reintroduces GH-1484
2018-10-03 18:15:22 -04:00
Zach Brown ecde88a5f5 Do not allow null in CanPlaceDestroy NBT API
Fixes GH-1523
2018-10-02 22:53:27 -04:00
Zach Brown 10d1ebb3ab Fix slime pathfinding when loaded from NBT
GH-1507

The canWander property is initialized to true by default, however when
loaded from NBT, if the key doesn't exist the property will be set to
false. The correct solution is to ensure the key exists before setting
the property.
2018-09-29 16:00:55 -04:00
Zach Brown 5561f5dfdf Add support for Java 11 to deprecated Timings API
In Java 11 the internal reflection method used to determine the calling
class in the legacy and deprecated Timings API, that no one should be
using anymore, was removed.

This means plugins that try and use it will all fail to enable and we
can't compile the server with JDK 11.

The solution to the removal of this internal reflection class is
to just use reflection to call it if its available and fall back to
the unnamed handler system if it isnt.

Update to the newer API if you use Timings already...
2018-09-29 14:05:24 -04:00
Zach Brown 9d830d36ce Allow zero revive health when it matches maxHealth
Apparently a zero max health attribute is perfectly fine in vanilla and
our own revive handling code appears to handle the case fine, even when
EntityDeathEvent is cancelled. So we should allow it to avoid issues
when these mobs are killed.
2018-09-24 20:48:21 -04:00
Zach Brown 1f324dd35b Make bad custom name resolution more specific
Avoids interfering with other places in vanilla where these issues
are tolerated and expected.
2018-09-23 20:10:24 -04:00
Zach Brown 241aecab11 Return null if we get a ParseException in IChatBaseComponent
Fixes GH-1471, GH-1474

As a result, data that no longer parses correctly will not crash the server
instead just logging the exception and continuing (and in most cases should
fix the data)

Player data is fixed pretty much immediately but some block data (like
Shulkers) may need to be modified in-game in order for it to re-save
properly

No more crashing though.
2018-09-22 15:58:13 -04:00
Zach Brown 5cfcc66b4f Fix up maven stuff hopefully 2018-09-22 12:58:09 -04:00
Zach Brown 9ff95e76f7 Update branch name for GitHub version checking 2018-09-13 12:17:01 -04:00
Zach Brown da68155e24 [CI-SKIP] Add note on 1.12.2 status to CONTRIBUTING.md 2018-09-11 18:11:28 -04:00
Zach Brown f9d11c8af7 Merge branch 'master' into pre/1.13 2018-09-11 17:48:17 -04:00
Zach Brown 463e6dac06 Ensure entity is always dying before Death Event
Prior to this it was possible for plugins to put the server into a never
ending recursive loop until it eventually killed itself.

Fixes GH-1432
2018-09-11 17:38:57 -04:00
Zach Brown 366d300450 Stop using transaction id in tab completions
Fixes GH-1417, GH-1424 (probably).

There are other issues in this area, including just how much a mess it
is but we will get to those when we get to those.
2018-09-09 17:51:25 -04:00
Zach Brown 09ca94cb13 Merge branch 'master' into pre/1.13 2018-09-08 19:12:58 -04:00
Zach Brown 2d541bf948 Update again so the dumb bot stops breaking things 2018-09-07 23:51:16 -04:00
Zach Brown 3d0c4bd860 MC-2025 - Save entity AABB to prevent fp wobble
This work is largely a result of the analysis done on the Mojang issue
tracker. See patch header for additional information.
2018-09-04 19:18:06 -04:00
Zach Brown 8eef3b43f3 Ensure Creeper fuseTicks are still incremented
Fixes GH-1389

Because we are no longer enabling creepers to rapidly change status
every tick, in order to prevent event spam, their datawatcher value
ends up negative.

This datawatcher value is used to increment the fuseTicks within the
creeper tick. Because the value is negative, it is constantly zero'd
and therefore never incremented, instead acting the same as creepers
that aren't ignited.

We can just as easily increment this ourselves when the creeper is
ignited, so that's what we'll do.
2018-08-29 22:55:21 -04:00
Zach Brown 34033480d7 Add Inventory#removeItemAnySlot
Closes GH-1360

This behaves identically to Inventory#removeItem, except it
searches all slots rather than just the storage contents.
2018-08-29 21:41:39 -04:00
Zach Brown 4cc2b3eea5 Update upstream CB 2018-08-27 11:07:22 -04:00
Zach Brown 00b551913b Rebuild and simplify map call 2018-08-25 22:48:24 -04:00
Zach Brown 438e10fb48 Merge branch 'master' into pre/1.13 2018-08-24 11:57:11 -04:00
Zach Brown fdef57b439 Allow ProtoChunks to be loaded
Reverts 62d26bf1d2
Fixes GH-1348
2018-08-23 15:40:00 -04:00
Zach Brown ce5d16d58d Merge branch 'master' into pre/1.13 2018-08-18 03:59:57 -05:00
Zach Brown 9920287a0f Don't iterate twice - Fixes GH-1346 2018-08-18 03:58:53 -05:00
Zach Brown 9369909fba Merge branch 'master' into pre/1.13 2018-08-08 16:03:09 -05:00
Zach Brown d691bec84f Use correct update flag and blockdata for portals
Fixes GH-1286
2018-08-03 03:26:10 -05:00
Zach Brown 631614f5bd Update upstream B/CB 2018-08-02 18:29:34 -05:00
Zach Brown 506745daf8 Update upstream B/CB 2018-08-02 18:12:29 -05:00
Zach Brown 5d5faf3cc6 Make portal teleportation adjustment math more accurate
Fixes GH-1295

Non-standard sized portals exacerbate a flaw in the vanilla
portal teleportation adjustment logic.
As a result, an entity can end up slightly inside of the surrounding
portal blocks. In vanilla, this issue is minor and you are adjusted out
as if it never happened. In CraftBukkit and derivatives, the
anti-suffocation behavior activates and players end up teleported on top
of their portals.

This improves the offset so as to keep the issue from ever occurring in
the first place.

Special thanks to CarpetMod who appears to have had this fixed for some
time, and has licensed their code such that we can use it as needed.
2018-07-31 20:13:40 -05:00
Zach Brown fdb8141a2b Add decompile fix for ChunkSection 2018-07-31 16:55:57 -05:00
Zach Brown 34186ac1a2 Update upstream CB 2018-07-31 16:45:04 -05:00
Zach Brown f17ce0acb2 Merge branch 'master' into pre/1.13 2018-07-31 16:44:46 -05:00
Zach Brown 8930ecd00e [CI-SKIP] Add paper comment to last patch edit 2018-07-31 16:41:33 -05:00
Zach Brown cc597bfd1d Ensure players are not marked to be removed after re-add 2018-07-31 16:39:15 -05:00
Zach Brown 1e737abf13 Re-add GH-1286 fix for portals
Accidentally removed in 897d804c62

Also added to End Portals
2018-07-31 15:16:12 -05:00
Zach Brown 452f012665 Update upstream B/CB 2018-07-30 20:19:41 -05:00
Zach Brown 5368b241ab Fix i18n String API
In 1.13 the method previously used now returns translatable keys.
`block.minecraft.cobblestone` instead of `Cobblestone`

We just need to make sure we're translating those keys.
2018-07-30 16:07:36 -05:00
Zach Brown 8d4ed37c3b Update upstream B/CB 2018-07-27 13:10:30 -05:00
Zach Brown b41dde0d2b Move part of last change into proper file 2018-07-25 21:55:25 -05:00
Zach Brown 0b2b5ecc33 Remove deprecated AuthLib API from Paper-API
Use the PlayerProfile API as a replacement
2018-07-25 21:49:43 -05:00
Zach Brown f899206b89 Merge branch 'master' into pre/1.13 2018-07-20 14:15:12 -05:00
Zach Brown 1bac6d6d0b Use 1.13 branch and builds for versioning 2018-07-19 17:33:29 -05:00
Zach Brown 77f54129b4 Move decomp fix from last up to fixes patch 2018-07-19 16:55:27 -05:00
Zach Brown c17484979e Fix crash in RegionLimitedWorldAccess 2018-07-19 16:51:32 -05:00
Zach Brown 55aca74394 Update paperclip for new Mojang download URLs 2018-07-19 15:51:04 -05:00
Zach Brown ef420aa25f Add an asterisk to plugins onEnable and in command
Easy visual indicator for server admins to tell which plugins are
operating under the legacy compat mode, and which have been updated.
2018-07-19 15:08:07 -05:00
Zach Brown c89e4105d2 Update upstream B/CB 2018-07-13 02:39:44 -05:00
Zach Brown 8e0411a1d3 Tie PlayerList#moveToWorld safety to existing config
Also renames patch file to better express what it's doing.

It is presumed that those using this config option intend for
suffocation checks to be disabled in all instances. In doing so, they
inherently assume the advantages and issues associated with removing
said safety check.

If the community expresses a desire for more specific options regarding
the handling of this safety feature, we can investigate providing them.

Fixes GH-1149
2018-06-18 16:27:33 -05:00
Zach Brown 9c32d79355 Fix config key on last commit 2018-05-30 15:38:27 -05:00
Zach Brown 0576336943 Update upstream CB 2018-05-27 23:39:08 -05:00
Zach Brown 0a3f646a94 [CI-SKIP] Add newlines in templates for readability
GitHub still just dumps people into an editor. It's not quite the forms
we hoped for. Better to add newlines and hope it makes things even a
tiny bit clearer for people reporting issues.
2018-05-22 16:37:23 -05:00
Zach Brown ce4b691d81 Update issue templates (#1128)
https://blog.github.com/2018-05-02-issue-template-improvements/
2018-05-22 16:32:27 -05:00
Zach Brown 4b7080388e Update URLs
Redirects are in place (or will be shortly). This is mostly
housekeeping.

Maven repo URLs already redirect however we can't deploy through them.
Jenkins URLs do not currently redirect but will within 24 hours.

Also adds a Discord link to the README, because apparently that's what
people want.

Documentation will be updated and announcements made once all redirects
are in place, until then, consider this advanced notice.
2018-05-19 01:29:05 -05:00
Zach Brown 88b9c8af6b Update upstream B 2018-05-19 00:58:46 -05:00
Zach Brown cf82968f35 Apply workaround for patch application on Windows (#1122)
This is not a perfect workaround but it seems to be the best solution
for the moment.

On Windows, this means that when a patch fails to apply, you would now
need to fix that patch, finish the apply (AM), then rebuild all patches,
and then finally re-run the patch apply procedure in order to continue.

This adds a small amount of overhead compared to the traditional method
(which will still work on *nix environments, including WSL). However, it
seems preferable to the build not working on Windows at all.
2018-05-16 20:41:10 -05:00
Zach Brown 9fa30854a7 Merge pull request #1105 from stonar96/hotfix/anti-xray-cme
Fix Anti-Xray ConcurrentModificationException
2018-05-03 17:37:57 -04:00
Zach Brown 4e4f7912da Remove patches that got added back in merge
Fix build
2018-04-22 15:29:03 -04:00
Zach Brown c072993a5c Update upstream CB/S 2018-04-17 22:25:50 -04:00
Zach Brown 973fefe4e5 Be more specific with prior fix 2018-04-17 22:06:24 -04:00
Zach Brown 53c4a446eb Handle bad chunks more gracefully
Prior to this change the server would crash when attempting to load a
chunk from a region with bad data.

After this change the server will defer back to vanilla behavior. At
this time, that means attempting to generate a chunk in its place
(and occasionally just not generating anything and leaving small
holes in the world).

Should Mojang choose to alter this behavior in the future, this change
will simply defer to whatever that new behavior is.
2018-04-17 22:00:51 -04:00
Zach Brown 40edc359b7 Make version command use the direct link
It was using a redirect, but apparently a small portion of systems,
networks, some mess, are having problems with that redirect.

Just use the direct link and skip the hassle.
2018-04-09 16:13:08 -04:00
Zach Brown a1f968c8a6 Update BD to allow building on Java 10 2018-04-08 16:19:44 -04:00
Zach Brown e121df5775 Update upstream CB 2018-04-08 16:15:23 -04:00
Zach Brown 8f4f4bdb16 Merge pull request #1070 from mikroskeem/feature/open-placed-sign
Add method to open already placed sign
2018-04-05 21:08:27 -04:00
Zach Brown a080350652 Update upstream CB 2018-04-04 20:33:43 -04:00
Zach Brown 36e3e1cffb Update CB 2018-04-02 16:33:04 -04:00
Zach Brown 2caf69d5ab Silly rabbits, eggs are for chickens 2018-04-02 16:30:24 -04:00
Zach Brown 3229f3b8b8 > not even using java8 time API
Gotta get this rocketship up to speed I guess...
2018-03-31 23:30:19 -04:00
Zach Brown 3b99722641 Easter and April Fools fall on the same day
¯\_(ツ)_/¯
2018-03-31 22:50:11 -04:00
Zach Brown 9bafd0634e Stop explicitly blocking Vanilla Method Profiler
At the time this was re-added, there was concern around how the JIT
would handle the system property that enabled it.

This shouldn't be a problem, and as such we no longer need to block
access to it.

The Vanilla Method Profiler will not provide much to most users however
there is no harm in providing it as an option. For most users, the
recommended and supported method for determining performance issues with
Paper will continue to be Timings.
2018-03-31 14:51:21 -04:00
Zach Brown 815161544f Update upstream B/CB 2018-03-22 23:58:50 -04:00
Zach Brown 83d069ba65 [CI-SKIP] macOS filesystem dust made it past gitignore! 2018-03-13 18:43:13 -04:00
Zach Brown 8c988cacd7 [CI-SKIP] Clarify project licensing
* THIS IS NOT A RELICENSE *

This commit adds explicit clarification as to the state of this
project's licensing as it has always been. Nothing has changed here.

It also adds a note about how specific authors have chosen to release
their work under a more permissive license. Any past contributors who
want their name added to this list should submit a pull request here.

We will not be adding anyone's names to this list ourselves.
2018-03-06 20:41:03 -05:00
Zach Brown 7c577df97d Update upstream B/CB 2018-03-04 18:32:38 -05:00
Zach Brown 3d54d86de2 Merge pull request #1016 from ShelLuser/master
Allowing Paper to be build on FreeBSD
2018-02-22 10:47:58 -05:00
Zach Brown d793872ffd Update parent pom
Switch repos to use HTTPS (@demonwav)
Add destroystokyo public
Add note that screwing with this file sucks
Remove outdated parent
2018-02-18 19:37:12 -05:00
Zach Brown 963ddeb6ed Properly flag profile events as async as needed 2018-02-01 23:24:27 -05:00
Zach Brown 5ea311d92f Fix ArmorStand Item serialization
Broken in 690c955207
2018-02-01 22:24:37 -05:00
Zach Brown 690c955207 Add ArmorStand Item Meta
This is adds basic item meta for armor stands. It does not add all
possible metadata however.

There are armor, hand, and equipment types, as well as position data
that can also be added here. This initial implementation should serve as
a starting point for future additions in this area.

Fixes GH-559
2018-01-27 20:40:42 -05:00
Zach Brown 07af79adb4 Make push based hoppers imitate vanilla bounds
This is vanilla behavior https://i.imgur.com/zMIpRcQ.png
So we have to allow that sort of thing.

Fixes GH-993
2018-01-26 21:28:34 -05:00
Zach Brown bf11c1fabb Add file import and patch notes to CONTRIBUTING.md
Also does some minor cleanup for broken formatting
2018-01-24 22:47:00 -05:00
Zach Brown 4303c3b48d Re-add config option for max squid spawn height
Apparently not only do people actually use it, but upstream missed it.
2018-01-11 16:50:27 -06:00
Zach Brown c93e1ee068 Update upstream B/CB/S 2018-01-10 23:31:19 -06:00
Zach Brown 5513c9377d Update upstream B/CB 2018-01-08 15:22:44 -06:00
Zach Brown cea113cb77 Update README badge for CI URL change 2018-01-06 02:08:23 -06:00
Zach Brown a088a9fa51 Update patches that slipped through last 2018-01-05 01:30:03 -06:00
Zach Brown 03ce426ddf Update upstream CB/S 2018-01-05 00:46:00 -06:00
Zach Brown ef505a9a32 Update upstream B/CB/S 2018-01-04 02:04:31 -06:00
Zach Brown fa8db475d6 Update upstream B/CB/S 2017-12-27 22:45:33 -06:00
Zach Brown 9ba62bc998 Restructure lighting queue runnable handling
Instead of overriding add within the queue, never add runnables to the
queue if the light queue is disabled.

This change is made to make timings reports and stacktraces less
confusing for administrators, who prior to this change, would have seen
the lighting queue referenced in both, regardless of whether or not it
was enabled.

This change should not affect performance, nor is it made with the
intent to.
2017-12-22 15:25:01 -06:00
Zach Brown efc08694d8 Update upstream CB 2017-12-12 21:34:50 -05:00
Zach Brown 4966489929 Fix view distance API handling on negative values
Prior to this change, if a player was ever set to have a negative view
distance, an attempt to set them back to the default would fail, leading
to them appearing to be stuck in that state.

Now we just interpret that negative value as a "reset" to default.
2017-11-18 21:45:22 -05:00
Zach Brown 0c011b87c5 Merge pull request #935 from avatarmc/prevent-disconnected-logins
Prevent logins from being processed when the player has disconnected
2017-11-15 22:36:56 -05:00
Zach Brown dfab59dfc7 Fix logic for unconditional xp orb merging
Fixes GH-936
2017-11-13 20:30:45 -05:00
Zach Brown 9650c9dddc Add Obfuscation helper for armor change impl
Also alphabetize the importmcdev script... heathens, all of you
2017-11-11 00:07:45 -05:00
Zach Brown f141bae102 Update B/CB/S 2017-11-10 17:31:39 -05:00
Zach Brown 7cbc4cd377 Merge pull request #918 from Zbob750/port/entity-list-command
Add command for listing entities in a world
2017-10-15 19:07:03 -04:00
Zach Brown 689fdea2c7 Add command for listing entities in a world
Port of https://github.com/MinecraftForge/MinecraftForge/commit/303a775fc34f104b2374c750ef0672f0495c995e

Will display a list of all entities in a world, as well as which chunks
they are in. Hopefully, this will make tracking down chunks with lots of
entities easier.

Only real change from the forge version is that instead of dimension
IDs, we accept world names in the form of a string.

/paper entity list - Lists all entities in the player's current world
/paper entity list minecraft:zombie - Lists all zombies in the player's
current world

/paper entity list * world_nether - Lists all entities in the nether
/paper entity list minecraft:ghast world_nether - Lists all ghasts in
the nether
2017-10-15 17:43:16 -04:00
Zach Brown 91e639e718 Update documentation around PlayerJumpEvent 2017-09-29 14:58:24 -04:00
Zach Brown 563ee0f840 Fix build 2017-09-28 18:54:38 -04:00