Commit graph

1452 commits

Author SHA1 Message Date
Aikar
05dfa62d32 Paper 1.13.1 Update
Updated Upstream (Bukkit/CraftBukkit/Spigot)

Bukkit Changes:
2dcc44dc SPIGOT-4307: Fix hacky API for banners on shields
e0fc6572 SPIGOT-4309: Add "forced" display of particles
efeeab2f Add index to README.md for easier navigation
f502bc6f Update to Minecraft 1.13.1

CraftBukkit Changes:
d0bb0a1d Fix some tests randomly failing
997d378d Fix client stall in specific teleportation scenarios
b3dc2366 SPIGOT-4307: Fix hacky API for banners on shields
2a271162 SPIGOT-4301: Fix more invalid enchants
5d0d83bb SPIGOT-4309: Add "forced" display of particles
a6772578 Add additional tests for CraftBlockData
ce1af0c3 Update to Minecraft 1.13.1

Spigot Changes:
2440e189 Rebuild patches
4ecffced Update to Minecraft 1.13.1
2018-08-26 14:11:49 -04:00
Automated
338c730c10 [Auto] Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
162bda93 Add note about 1.13.1
2018-08-26 00:04:29 -04:00
Colin Godsey
ae2508995d Re-add Configurable speed for water flowing over lava
Closes GH-1227
2018-08-25 22:57:30 -04:00
Zach Brown
00b551913b Rebuild and simplify map call 2018-08-25 22:48:24 -04:00
Automated
c57bfef1e9 [CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2018-08-25 22:41:32 -04:00
stonar96
eb26c054f7 1.13: Readd Anti-Xray (#1366)
* Decompile fixes for ProtoChunk and DataPaletteBlock

* Do changes

* final change

* more changes

* First Anti-Xray build

* Fixes and cleanups

* Cleanups and renamings

* Cleanups renamings and move OBFHELPERs to 0004-MC-Utils.patch

* Implement obfuscation for newly generated chunks

* Implement chunk edge mode

* Implement block updates

* Cleanups

* Rebuild patches
2018-08-26 04:37:58 +02:00
Aikar
6124bde288 Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
f41aae40 Remove reflection from CraftBlockData
2018-08-25 00:20:58 -04:00
Zach Brown
438e10fb48 Merge branch 'master' into pre/1.13 2018-08-24 11:57:11 -04:00
BillyGalbreath
67eef6701b 1.13: Slime Patherfinder Events (#1246)
Replaces PR #1161 for 1.13

Resolves #930 

Adds new slime pathfinder related events. All events can be cancelled.
- `SlimePathfindEvent` is the base event of all added events. Cancelling this event will cancel all pathfinders.
- `SlimeWanderEvent` is called when slimes wander around by either swimming or moving/jumping forward. Cancelling this event will prevent slimes from moving around and jumping, but they will still look around and target players.
- `SlimeSwimEvent`is called when slimes are swimming in water/lava. Cancelling will prevent the slimes from moving/jumping in water/lava.
- `SlimeChangeDirectionEvent` is called when a slime changes directions. It contains the new `yaw` position the slime wants to change to, and it can be set to another value. Cancelling this event will prevent slimes from changing directions (except for when targeting players).
- `SlimeTargetLivingEntityEvent` is called when a slime targets a player. NMS uses EntityLiving here so it is named this. Contains the LivingEntity the slime has targeted. Cancelling this event will prevent the slime from targeting the entity and will make it lose current focus.

Adds `Slime#canWander()` and `Slime#setWander(boolean)` for a more persistent control (does not persist server restarts) over all 4 pathfinder types without the spammy event having to be cancelled a bajillion times a second.

Video demonstration: https://youtu.be/8hcLqazmO28

Test plugin: https://pastebin.com/cFgcgdWV
2018-08-24 09:40:14 -05:00
cakoyo
067cd73889 Add source block to BlockPhysicsEvent (#1364)
Resolves #1275 

For plants, the source block is itself, because the `changed` type is itself.
2018-08-24 22:38:31 +08:00
MicleBrick
86d8218430 Cached IBlockData to CraftBlockData conversion (#1368)
Avoid using reflection to create CraftBlockData instances. 

Computes the class to use on IBlockData creation and clones it when needed.
2018-08-23 16:44:41 -04:00
Zach Brown
fdef57b439 Allow ProtoChunks to be loaded
Reverts 62d26bf1d2
Fixes GH-1348
2018-08-23 15:40:00 -04:00
BillyGalbreath
7d3b4f409c Fix MC-124320 (#1369) 2018-08-23 12:02:57 -05:00
Christopher White
314acb5d8f Add isChunkGenerated API (#1363)
Resolves #1329
2018-08-22 18:13:03 -07:00
Aikar
4312faeee5 Merge branch 'master' into pre/1.13
* master:
  Fix some false positive warnings printing that shouldnt be
2018-08-20 20:23:06 -04:00
Aikar
bcb9bb64f0 Fix some false positive warnings printing that shouldnt be
reduces some log spam
2018-08-20 20:20:40 -04:00
Aikar
7156bc2260 Merge branch 'master' into pre/1.13
* master:
  Fix false positive on Chunk Entity slice messages #1302
2018-08-20 00:58:08 -04:00
Aikar
0f2aaa4364 Fix false positive on Chunk Entity slice messages #1302
Update links too
2018-08-20 00:54:03 -04:00
Automated
937423506d [Auto] Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
82f4b3b1 SPIGOT-4292: Ignore itemstacks with invalid enchants
2018-08-19 22:54:42 -04:00
Aikar
d99223b6e6 Restore Optimized Hoppers patch
Mojang changed behavior of .cloneItemStack() so that if you clone while
count = 0, it clones as AIR instead of original Item type.

So we needed a flag to keep old behavior.
2018-08-18 18:15:17 -04:00
Aikar
9cfdc487e4 restore vanilla default mob-spawn-range 2018-08-18 12:43:44 -04:00
Aikar
7d5a5ed52f Fix some performance regression in last patch 2018-08-18 12:42:17 -04:00
Aikar
c0ea8846b6 Merge pull request #1315, Closes #1207
Cache Counts by Entity type to optimize mob spawning
2018-08-18 11:12:06 -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
Mystiflow
eb8312e4f9 Send nearby packets from world list instead of server list (#1196) 2018-08-17 23:05:00 +01:00
Automated
72d0717d5d [CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2018-08-17 18:01:37 -04:00
BillyGalbreath
66d52954dc 1.13: Player launch projectile event (#1249)
Replaces PR #1193 for 1.13

I'm pretty sure I got all player launched projectiles (except arrows). Let me know if I missed any.

This fixes a use-case specific issue that was discovered [here](https://www.spigotmc.org/threads/projectilehitevent-doesnt-work-in-survival-mode.327097/page-2#post-3059433). I have a use-case example a few posts down, [here](https://www.spigotmc.org/threads/projectilehitevent-doesnt-work-in-survival-mode.327097/page-2#post-3060204).
2018-08-17 16:55:40 -05:00
searchndstroy
93e3a60a2f Optimize BlockPosition helper methods (#1339)
Resolves #1338
2018-08-17 14:51:56 -07:00
Aikar
dea0ab1e71 Merge remote-tracking branch 'origin/master' into pre/1.13
* origin/master:
  Fix watchdog restarting on short timeout (#1344)
2018-08-17 12:14:56 -04:00
searchndstroy
093dd0a9b9 Fix watchdog restarting on short timeout (#1344) 2018-08-17 09:09:08 -07:00
Aikar
0f8bab7109 Merge branch 'master' into pre/1.13
* master:
  Fix bug in last patch
  Ensure chunks are always loaded on hard position sets
  Improve Watchdog Early Warning Feature - Closes #1319
  Allow disabling armour stand ticking
2018-08-16 18:11:35 -04:00
Aikar
609d6bba6a Fix bug in last patch 2018-08-16 17:52:24 -04:00
Aikar
0661cf198e Ensure chunks are always loaded on hard position sets
Player Movement, Entity Creation and Teleportation move
entities with a very "You are here, no debate" change, making
the server register them as there, regardless if that chunk was
loaded or not.

It appears possible that with hack clients and lag, a player
may be able to move fast enough to move into an unloaded
chunk and get into a buggy state.

To prevent this, we will ensure a chunk is always loaded,
guaranteeing that the entity will be properly registered
into its new home comfortably.

Closes #1316
2018-08-16 17:46:38 -04:00
Colin Godsey
67fb7e9f66 pr changes, flat array 2018-08-15 15:07:30 -06:00
Aikar
48bc16aa4e Fix NPE Potential in CraftBanner - Fixes #1337, #1336 2018-08-15 08:47:34 -04:00
Aikar
061a290937 Fix NPE in CraftBanner due to null world, potentially other things fixed
Banners only load color if the world is set. I don't know why...

For some reason, the world was not set on these, so it was changing behavior.

So if we want an accurate clone, world needs to be set.
2018-08-15 01:21:10 -04:00
Aikar
c235889d4a Ability to get Tile Entities from chunks without snapshots
Also make Timings use said new feature and not create snapshots on it reading data
2018-08-15 01:20:40 -04:00
Automated
e3da794053 [Auto] Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
dde07e23 Update docs for Enderman carrying methods

CraftBukkit Changes:
452a1738 SPIGOT-4271: Fix API error when enderman are not carrying a block
2018-08-14 18:59:40 -04:00
Shane Freeder
b1f15b91ad Merge branch 'master' into pre/1.13 2018-08-14 16:26:01 +01:00
chickeneer
f439f7f20e Add a force option to the ParticleBuilder API (#1322)
Particle packets contain a boolean which marks the particle to either force or show normal to the receiver.
Spigot has been sending all particles with the force boolean which overrides client particle settings.

Related changes in this commit;
- Add a force option to the ParticleBuilder API, which defaults to true to keep spigot consistent with existing api.
- Add a new spawnParticle method to support this mode as a parameter. Of course kept existing api methods the same so as to not break them.

Let me know if changes are needed.
2018-08-14 00:42:31 -05:00
Aikar
9173d9008f Fix NPE in AnvilDamageEvent - Closes #1331 2018-08-13 22:39:50 -04:00
Automated
e6d1d69275 [Auto] Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
4a241086 SPIGOT-4261: Missing turtle / phantom spawn egg meta
2018-08-13 04:29:35 -04:00
Aikar
29da1d351d Improve Watchdog Early Warning Feature - Closes #1319
1) Don't kick in until server has started (the full crash will still kick in before full start)
2) Delay reporting until 10 seconds, then print every 5
3) Make the intervals configurable
4) Make it able to be disabled by setting every interval to <= 0
2018-08-12 13:27:23 -04:00
Riley Park
2053af2fa3 Allow disabling armour stand ticking 2018-08-15 01:26:51 -07:00
Aikar
a892816f2e Improve Watchdog Early Warning Feature - Closes #1319
1) Don't kick in until server has started (the full crash will still kick in before full start)
2) Delay reporting until 10 seconds, then print every 5
3) Make the intervals configurable
4) Make it able to be disabled by setting every interval to <= 0
2018-08-12 13:27:23 -04:00
Aikar
c3b33ee567 Updated Upstream (Bukkit/CraftBukkit) for LootTable API
I have tested that the Replenishing Feature still works as expected.
Lootable API's that now have Bukkit equivalents are now deprecated.

Bukkit Changes:
f0f33981 SPIGOT-1936: LootTable API

CraftBukkit Changes:
c0df4b82 SPIGOT-1936: LootTable API
2018-08-12 13:11:08 -04:00
Aikar
1d6e65ff65 Fix queue patch 2018-08-12 02:36:46 -04:00
Aikar
fb0f1b48ae Merge branch 'master' into pre/1.13
* master:
  Use a Queue for Queueing Commands
2018-08-12 02:34:54 -04:00
Aikar
b15abb2838 Use a Queue for Queueing Commands
Lists are bad as Queues mmmkay.
2018-08-12 02:34:34 -04:00
Aikar
15ef27b665 Restore portal fix 2018-08-12 02:14:31 -04:00
Aikar
47f090a436 Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
c23d391f Update documentation of BlockPhysicsEvent
14fcd896 SPIGOT-4258: Add Player.updateCommands method

CraftBukkit Changes:
15da7067 SPIGOT-4258: Add Player.updateCommands method

Spigot Changes:
2b0e71c7 Rebuild patches
2018-08-12 02:08:09 -04:00
prplz
c5d5c910df Fix PortalCreateEvent again (#1324) 2018-08-12 09:18:30 +10:00
Aikar
f117b03073 [CI-SKIP] Fix duplicate getServer() method in DedicatedPlayerList
This causes CraftServer to show as an error state and other files too..

It's driving me nuts.
2018-08-11 13:48:31 -04:00
prplz
50d88c817f Fix custom permissions reloading (#1325) 2018-08-11 09:39:04 -04:00
Aikar
40edcfed15 Merge remote-tracking branch 'origin/master' into pre/1.13
* origin/master:
  Use ConcurrentHashMap in JsonList & Optimize (#471) (#1309)
2018-08-11 09:31:18 -04:00
egg82
d1f6595317 Use ConcurrentHashMap in JsonList & Optimize (#471) (#1309)
* [CI-SKIP] add .editorconfig for base code style settings

* * Created patch 0349 (fixes #471)

* * Made requested modifications

* * Made requested modifications (x2)

* * Made recommended changes (x3)

* * Moved ConcurrentMap return values to Map as no functions specific to ConcurrentMap were used (backing map is still ConcurrentMap)
* Removed ConcurrentMap import
2018-08-11 06:46:46 -06:00
prplz
a7b0bc2b1b Fix custom permissions reloading (#1325) 2018-08-11 22:45:38 +10:00
Aikar
5a0e553fdd Detect and repair corrupt Region Files - Closes #1317
If the file has partial data written but not the full 8192 bytes,
then the server will be unable to load that region file...

I don't know why mojang only checks for 4096, when anything less than 8192 is a crash.

But to be safe, it will attempt to back up the file.
2018-08-11 00:55:42 -04:00
Aikar
62d26bf1d2 don't try to load protochunks, we don't save them
no reason to try to load them when we don't save them!
2018-08-11 00:12:25 -04:00
Aikar
7c619bbae0 Updated Upstream (Bukkit/CraftBukkit), deprecate SentientNPC API
Upstream has added the equivalent of our SentientNPC API, with exception to the EnderDragon.

We've added Mob to the EnderDragon, and our SentientNPC API should behave the same.

Vex#getOwner has been deprecated and a replacement Vex#getSummoner has been added using Mob.

However, since 1.13 is not production ready, SentientNPC API is subject for removal in 1.13.1 since
1.13 API is not compatible with 1.12.

Please move to the Mob interface ASAP.

This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
c5ab54d8 Expand GameRule API
ab9a606c Improve entity hierarchy by adding Mob interface.

CraftBukkit Changes:
29e75648 Expand GameRule API
50e6858b Improve entity hierarchy by adding Mob interface.
0e1d79b4 Correct error in previous patch
2018-08-10 22:13:00 -04:00
Shane Freeder
3eaefbe3fc Don't reset current tick based on system time 2018-08-10 15:25:45 +01:00
Aikar
4801a0135c Fix JDK compiler issue, apparently eclipse compiles this ambiguityo 2018-08-09 22:50:05 -04:00
Shane Freeder
84c52bd9b1 re: Fixup improve tick loop patch 2018-08-09 14:14:17 +01:00
Shane Freeder
cde57e0819 Fixup improve tick loop patch 2018-08-09 14:02:05 +01:00
Colin Godsey
0cb2135823 clean up, pr fixes 2018-08-09 06:35:13 -06:00
Colin Godsey
bf52fa14d4 reduced down to EnumCreatureType 2018-08-08 20:49:02 -06:00
Colin Godsey
5257373564 pr fixes 2018-08-08 18:07:03 -06:00
Colin Godsey
b473051336 Configurable water over lava #1227 2018-08-08 15:23:54 -06:00
Colin Godsey
ede8ec7387 add entity count cache #1207 2018-08-08 15:22:58 -06:00
Zach Brown
9369909fba Merge branch 'master' into pre/1.13 2018-08-08 16:03:09 -05:00
miclebrick
d1ceb803d3 Add 5 second short dumps to watchdog (#1314) 2018-08-08 15:31:29 -04:00
Automated
0cc81de2d3 [Auto] Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
53d3ac0a SPIGOT-4238: Sometimes buckets are leaky client side when empty event is cancelled
2018-08-07 10:56:06 -04:00
Automated
19b215f3b2 [CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2018-08-07 10:51:42 -04:00
BillyGalbreath
6dd8604bfd [1.13] Hand for bucket events (#1300)
This adds the `getHand()` method to the `PlayerBucketEvent`s
2018-08-07 09:44:44 -05:00
Automated
6d1e70864a [Auto] Updated Upstream (CraftBukkit)
upcommit

CraftBukkit Changes:
200b2398 SPIGOT-4233: Fix some missing handled NBT tags
2018-08-06 06:19:26 -04:00
Brokkonaut
e9cbd7b668 [1.13] Skull block profile api (#1308)
Adds #1307
2018-08-06 07:24:55 +02:00
Automated
6249addbaa [Auto] Update Upstream
Upstream has released updates that appear to apply compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing.

Bukkit Changes:
d2834556 SPIGOT-4219: Event for PigZombies angering.

CraftBukkit Changes:
a9c796f1 SPIGOT-4184: Fix furnaces not matching Vanilla smelt or animations
195f071e SPIGOT-4219: Event for PigZombies angering.
5e3082c7 SPIGOT-4230: Improve legacy block types
2018-08-05 19:46:43 -04:00
Automated
cfa9570036 [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2018-08-05 18:55:03 -04:00
BillyGalbreath
720f7d920e SkeletonHorse Additions (#1283) 2018-08-04 20:12:41 -05:00
Aikar
c44f8e3b57 Fix client rendering skulls from same user
See: https://github.com/PaperMC/Paper/issues/1304

Changes the UUID sent to client to be based on either
the texture payload, or random.

This allows the client to render multiple skull textures from the same user,
for when different skins were used when skull was made.

Closes #1304
2018-08-04 20:42:27 -04:00
Aikar
e9eef0114e [CI-SKIP] Re-add getBukkitEntity methods to child classes
Helps with development to not need to cast as much...

No clue why upstream makes some of the decisions they do....
2018-08-04 17:03:53 -04:00
Aikar
375120437f Merge branch 'master' into pre/1.13
* master:
  Undo a mistaken chunk registration change - Closes #1302
2018-08-04 13:00:26 -04:00
Aikar
dad4f590f0 Undo a mistaken chunk registration change - Closes #1302
I misinterpreted some code as a risk of entity loss, but now
after deeper study, I see how that code was used more and why
it was adding entities to chunks that they shouldn't have been
in during a world transfer process.
2018-08-04 12:53:38 -04:00
Aikar
d8c877daad Merge branch 'master' into pre/1.13
* master:
  Fix ItemStack.removeEnchantment returning wrong value
2018-08-04 01:22:57 -04:00
Aikar
154a6bba21 Fix ItemStack.removeEnchantment returning wrong value 2018-08-04 01:13:10 -04:00
Aikar
fc99b0dc70 Merge branch 'master' into pre/1.13
* master:
  make dupe uuid saferegen delete range configurable
  Entity add to world fixes - #1223
2018-08-04 00:33:21 -04:00
Aikar
7fe1caf23d make dupe uuid saferegen delete range configurable
also ensure we never process already valid entities. this shouldnt be possible as of recent
commits as we made the entity slice array safer, but doesn't hurt for this logic to be safe too
incase that patch got dropped in a future version by accident/necessarily
2018-08-04 00:23:00 -04:00
Aikar
d59b727a40 Entity add to world fixes - #1223
1) Chunk Registration might kill an entity, don't add it to the world if it did!

2) By default, entities are added to the world per slice iteration.
This opens risk of the slices being manipulated during chunk add if an
EntityAddToWorldEvent spawns an entity into this chunk.
Fix this by differing entity add to world for all entities at the same time

3) If a duplicate entity is attempted to add to the world of an entity, and
the original entity is dead, overwrite it as the logic does for unloaod queued entities.

Should hopefully finish up issues with #1223
2018-08-03 23:02:44 -04:00
Aikar
f09645d934 Merge branch 'master' into pre/1.13
* master:
  Fix logic bug in negative XP bug fix - Closes #1169
2018-08-03 21:20:57 -04:00
Aikar
a75c747cd7 Fix logic bug in negative XP bug fix - Closes #1169 2018-08-03 20:59:35 -04:00
Aikar
5148f6bae0 Merge branch 'master' into pre/1.13
* master:
  Fix "MC-135506: Experience should save as Integers" still saving as short" (#1301)
2018-08-03 09:26:56 -04:00
Mark Vainomaa
6116576bf3 Fix "MC-135506: Experience should save as Integers" still saving as short" (#1301) 2018-08-03 16:25:21 +03:00
Aikar
19073d84a4 fix missing | on dupe uuid patch 2018-08-03 08:51:04 -04:00
Aikar
9dde9d710e fix missing | on dupe uuid patch 2018-08-03 08:51:04 -04:00
Zach Brown
d691bec84f Use correct update flag and blockdata for portals
Fixes GH-1286
2018-08-03 03:26:10 -05:00
Aikar
919b04c7b8 Merge branch 'master' into pre/1.13
* master:
  fix missed break statement and enum check on dupe uuid resolve
2018-08-03 01:33:34 -04:00
Aikar
a72b697cbb fix missed break statement and enum check on dupe uuid resolve 2018-08-03 01:32:00 -04:00
Aikar
c4fd14d690 Merge branch 'master' into pre/1.13
* master:
  MC-135506: Experience should save as Integers
  Fix EXP orb merging causing values to go negative - Closes #1169
  Add "Safe Regen" Duplicate UUID resolver and make default
2018-08-03 01:29:20 -04:00
Aikar
e966ee5aef Upstream update 2018-08-03 01:04:28 -04:00