Commit Graph

3995 Commits

Author SHA1 Message Date
Spottedleaf 396186a950 Fix patch "Faster redstone torch rapid clock removal" (#2014)
Tux pointed out the patch still has O(n^2) time complexity since
the sublist class in arraylist does not override clear() from
AbstractList, which uses a forward moving iterator to clear
the list.

Resolved by using a peek and poll from ArrayDeque.

This patch also removes the useless WeakHashMap which holds
the list (it mapped world->list) and replaces it with a
field on World.
2019-05-10 08:48:58 -07:00
Shane Freeder 69ca68db14 fix missing reversion of api patch
(Let's pretend you didn't see this)
2019-05-09 15:36:43 +01:00
Shane Freeder eb03bf7e66 Fix accidental reversion of patches, oops 2019-05-09 15:23:52 +01:00
Shane Freeder a17bbb4560 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:
fe0cadf0 Add BlockShearEntityEvent for Dispensers shearing Sheep
90e5cca3 SPIGOT-4892: Allow to set the currently viewed page of a book on a lectern inventory
a30337f7 SPIGOT-4887: Villager level minimum is 1
d88d828c SPIGOT-4886: Villager type SNOWY should be named SNOW

CraftBukkit Changes:
6ceffb0d SPIGOT-4895: Bed doesn't explode in Nether and The End
ee881847 SPIGOT-4888: setSleepingIgnored resets the night even when there is no one in a bed
15e02b40 SPIGOT-4890: EntityDeathEvent fires twice when breaking an armor stand in survival mode
b38a3c33 Add BlockShearEntityEvent for Dispensers shearing Sheep
70ebefca SPIGOT-4891: LecternInventory.getType() should return InventoryType.LECTERN
0036d1b7 SPIGOT-4887: Villager level minimum is 1
2019-05-09 08:20:01 +01:00
Spottedleaf c0f92870ab Use WorldServer#entitesById for entity iteration
WorldServer#globalEntityList is not the actual list of entities in a world
2019-05-07 18:49:41 -07:00
Spottedleaf 54388d8715 Fix legacy checks for plugins 2019-05-07 18:43:07 -07:00
Spottedleaf 665bb10aaa Actually write to the tracker field on entity
perhaps we can also look into removing this modification altogether
2019-05-07 18:13:24 -07:00
Shane Freeder ca0b6b5337 Fix a ClassCastException from shooting fireworks 2019-05-07 19:56:32 +01:00
Shane Freeder b7281b6dfc Fix TimingsExport throwing an IAE due to legacy API usage 2019-05-07 18:13:52 +01:00
Shane Freeder 2d085853c6 make version command track the correct version 2019-05-07 16:45:01 +01:00
Shane Freeder aa5d287e4f Fix RegionFileCache write logic 2019-05-07 16:26:37 +01:00
Spottedleaf e052a9deff Fix foxes not dropping items 2019-05-07 08:20:32 -07:00
Spottedleaf f1e494aba9 Fix tracking dead entities 2019-05-07 06:50:02 -07:00
Shane Freeder 55b60646bc Don't double set air in BlockFire 2019-05-07 13:16:22 +01:00
Spottedleaf 71b1db46b1 Fix entities refusing to die and portal search not working 2019-05-07 05:00:51 -07:00
Spottedleaf 5a6ef6ed50 Update upstream 2019-05-06 17:33:26 -07:00
Spottedleaf 96b32aa6bc Fix more runtime stuff
Remove chunk neighbour system until we can figure out the chunk system
2019-05-06 17:05:41 -07:00
Spottedleaf b372f891aa Fix some runtime issues 2019-05-06 13:45:02 -07:00
Spottedleaf b64ce880b7 It compiles 2019-05-06 12:30:27 -07:00
Zach Brown 1fa1246a1e More compile fixes
- Re-removes Bukkit#getServerName - This was (hopefully?) only added back
  for Timings v2. It should be kept in that scope.

- Intend to let PlayerViewDistance API slip. Given the scope of the
  changes in this area it seems best to let this slip past initial
  release. It can be re-added when there is additional time to focus on it
  and the changed systems it relies on. If it is fixed prior to release
  this is implemented as a single shim patch that can be dropped.
2019-05-06 03:20:16 -04:00
Spottedleaf 6281fc8f11 Fix some more compile errors 2019-05-05 20:53:47 -07:00
Spottedleaf f9f71eb14e Update Upstream 2019-05-05 19:58:04 -07:00
Spottedleaf 52cd8744e0 More compile error fixes 2019-05-05 17:57:14 -07:00
Spottedleaf fad9f189b6 Fix some compile errors 2019-05-05 16:24:37 -07:00
Spottedleaf e80bd49c80 Fix some issues on the list 2019-05-05 14:39:51 -07:00
Spottedleaf d42c203adc Shove decompile fixes into the proper patch 2019-05-05 11:09:29 -07:00
Spottedleaf 670fbcd29e More 1.14 patches
now we can rebase
2019-05-05 10:19:34 -07:00
Spottedleaf 70e4947867 Correct patches 2019-05-05 04:32:20 -07:00
William Blake Galbreath 8cfdd708e9 more 1.14 stuffs yay! 2019-05-05 06:12:32 -05:00
William Blake Galbreath 3f43b7abe8 More patches for 1.14 2019-05-05 03:33:44 -05:00
Shane Freeder f542bdef09 Even more patches for 1.14 2019-05-05 03:23:25 +01:00
Spottedleaf be2fdf029f More 1.14 patches 2019-04-30 15:51:03 -07:00
Shane Freeder 86e7cee50c Even more patches for 1.14 2019-04-30 02:20:24 +01:00
Spottedleaf cab9529fe8 More 1.14 patches 2019-04-28 20:14:31 -07:00
Spottedleaf 567bd0fcac More 1.14 patches 2019-04-28 10:59:47 -07:00
Zach Brown 10c24a8e61 More patches for 1.14
Chunk related stuff will need to be revisted later
2019-04-27 19:23:53 -04:00
Spottedleaf 9c7e369607 More 1.14 work 2019-04-26 23:26:04 -07:00
Spottedleaf f7dfbc078c More 1.14 updates (#1995) 2019-04-26 20:05:36 -07:00
Shane Freeder aa701c743f More work for 1.14 2019-04-26 02:24:00 +01:00
Shane Freeder 29a22e708f Aim towards real 1.14 2019-04-25 07:53:51 +01:00
Shane Freeder 024f92b2bb A bit more work for 1.14 2019-04-24 03:34:11 +01:00
Shane Freeder 43b4755c1b More work towards 1.14 pre5 2019-04-24 02:00:24 +01:00
Shane Freeder a84170f6a0 Initial work on 1.14 pre-5 2019-04-23 05:47:07 +01:00
Shane Freeder 85e05732b2 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:
da08d022 SPIGOT-4700: Add PlayerFishEvent.State.REEL_IN
0cef14e4 Remove draft API from selectEntities

CraftBukkit Changes:
a46fdbc6 Remove outdated build delay.
3697519b SPIGOT-4708: Fix ExactChoice recipes neglecting material
9ead7009 SPIGOT-4677: Add minecraft.admin.command_feedback permission
c3749a23 Remove the Damage tag from items when it is 0.
f74c7b95 SPIGOT-4706: Can't interact with active item
494eef45 Mention requirement of JIRA ticket for bug fixes
51d62dec SPIGOT-4702: Exception when middle clicking certain slots
be557e69 SPIGOT-4700: Add PlayerFishEvent.State.REEL_IN
2019-04-22 22:36:14 +01:00
Shane Freeder 3a49574188 don't NPE on dimensionmanager toString
CraftBukkit uses vanillas DimensionManager, but does not actually
register its own dimension types, etc, due to vanilla

This causes issues because anything, e.g. command feedback, trying
to print information about the world will often attempt to print out
the dimension name, which ends up throwing an NPE due to the lack of
a registered type, we work around this by just returning the world name,
this is not super elegant, but is the only route that promises not to
break stuff.
2019-04-22 20:20:22 +01:00
Shane Freeder 480bf44b1b Only store oversized values on spawners if needed, and ensure that vanilla values are read when applicable 2019-04-20 19:22:43 +01:00
William Blake Galbreath 599213f4b4 Mob Spawner API Enhancements 2019-04-19 12:41:38 -05:00
Shane Freeder af2e88fbb9 Fix NPE from sign placement (Closes #1963) (Fixes #1917)
This fixes issues with upstreams changes to solve a private issue on
their side, as signs are placed, they may replace existing blocks, e.g.
grass, which breaks upstreams assumption that the sign is always placed
adjacent to a surface
2019-04-17 00:53:55 +01:00
Shane Freeder 9cc93b1229 Don't try to read the data outside of the try-catch 2019-04-15 05:06:43 +01:00
Shane Freeder 1a74c62cf3 Handle bad chunks more gracefully
Brought this patch back from the graveyard, 1.13.x changed how chunks
where loaded and the patch was dropped.

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 (This might not be accurate as of 1.13.x)).

Should Mojang choose to alter this behavior in the future, this change
will simply defer to whatever that new behavior is.
2019-04-15 02:27:39 +01:00