Commit Graph

1952 Commits

Author SHA1 Message Date
Shane Freeder 026210202b
Fix MCUtils and other calls to postTaskOnMain
Method changed changed it's role to providing a TickTask object which
isn't automatically scheduled onto the server
2019-05-10 18:42:33 +01:00
Spottedleaf 994679a0c9 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 16:48:58 +01:00
Shane Freeder a72509fbe1
Fix accidental reversion of patches, oops 2019-05-09 15:23:52 +01:00
Shane Freeder 7f9b65035a
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 8191255cfa 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 4ebd1808aa 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 427078900e
Fix a ClassCastException from shooting fireworks 2019-05-07 19:56:32 +01:00
Shane Freeder 39bcf78e87
Fix RegionFileCache write logic 2019-05-07 16:26:55 +01:00
Spottedleaf 9db83af2ab Fix foxes not dropping items 2019-05-07 08:20:32 -07:00
Spottedleaf cf17353783 Fix tracking dead entities 2019-05-07 06:50:02 -07:00
Shane Freeder 725cf24308
Don't double set air in BlockFire 2019-05-07 13:16:22 +01:00
Spottedleaf c3534f1340 Fix entities refusing to die and portal search not working 2019-05-07 05:00:51 -07:00
Spottedleaf bc024aec6e Update upstream 2019-05-06 17:33:26 -07:00
Spottedleaf b5b481da62 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 a189bdc0fc Fix some runtime issues 2019-05-06 13:45:02 -07:00
Spottedleaf e9439e7655 It compiles 2019-05-06 12:30:27 -07:00
Zach Brown 27c7749f42
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 8dfd5dc0c4 Fix some more compile errors 2019-05-05 20:53:47 -07:00
Spottedleaf eeb2ecd789 Update Upstream 2019-05-05 19:58:04 -07:00
Spottedleaf cb24079b77 More compile error fixes 2019-05-05 17:57:14 -07:00
Spottedleaf 87759ffbb4 Fix some compile errors 2019-05-05 16:24:37 -07:00
Spottedleaf 027575df7f Fix some issues on the list 2019-05-05 14:39:51 -07:00
Spottedleaf 096e29ccfe Shove decompile fixes into the proper patch 2019-05-05 11:09:29 -07:00
Spottedleaf fede947c28 More 1.14 patches
now we can rebase
2019-05-05 10:19:34 -07:00
Spottedleaf 1fee2081f1 Correct patches 2019-05-05 04:33:40 -07:00
William Blake Galbreath 9673aebba1 more 1.14 stuffs yay! 2019-05-05 06:12:32 -05:00
William Blake Galbreath 997e1c2ad3 More patches for 1.14 2019-05-05 03:33:44 -05:00
Shane Freeder eb25d664df Even more patches for 1.14 2019-05-05 03:23:25 +01:00
Spottedleaf acd2bd3c2c More 1.14 patches 2019-04-30 15:51:03 -07:00
Shane Freeder df6c35d757 Even more patches for 1.14 2019-04-30 02:20:24 +01:00
Spottedleaf 9d3524b908 More 1.14 patches 2019-04-28 20:14:31 -07:00
Spottedleaf 4296582054 More 1.14 patches 2019-04-28 10:59:47 -07:00
Zach Brown 799f6af357
More patches for 1.14
Chunk related stuff will need to be revisted later
2019-04-27 19:24:00 -04:00
Spottedleaf b4b181a1fb
More 1.14 work 2019-04-27 17:35:50 -04:00
Spottedleaf 36873bf2d6 More 1.14 updates (#1995) 2019-04-26 23:05:36 -04:00
Shane Freeder 818e88dbc5 More work for 1.14 2019-04-26 02:24:00 +01:00
Shane Freeder 7e6db27085 Aim towards real 1.14 2019-04-25 07:53:51 +01:00
Shane Freeder ab34e2751e A bit more work for 1.14 2019-04-24 03:34:11 +01:00
Shane Freeder a64c1a03c9 More work towards 1.14 pre5 2019-04-24 02:00:24 +01:00
Shane Freeder 6c3f04049d Initial work on 1.14 pre-5 2019-04-23 10:35:52 +01:00
Shane Freeder fb25dc17c6 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 10d58504f7 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 faf59c3242 Only store oversized values on spawners if needed, and ensure that vanilla values are read when applicable 2019-04-20 19:33:53 +01:00
William Blake Galbreath f6a78c9715 Mob Spawner API Enhancements 2019-04-19 13:14:10 -05:00
Shane Freeder 90d8377b59 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 9c79f489ed Don't try to read the data outside of the try-catch 2019-04-15 05:09:57 +01:00
Shane Freeder 41c86a6548 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 05:05:14 +01:00
Spottedleaf 237250c08d Add Heightmap API (#1724)
Resolves #1672 
This API is intended to expose useful heightmaps found in the server to API. This exposes all of the live world heightmaps currently in the server. 
If a heightmap becomes impossible to implement, api spec allows the implementation to throw UnsupportedOperationException (far better than returning some weird unexpected value).

Tested via:
https://gist.github.com/Spottedleaf/5d47f67c55a9fb870251ff344bfeb6b3
2019-04-10 23:36:31 -04:00
Aikar 84386e1631
[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:
7c395d42 SPIGOT-4681: Note about additional world creation on STARTUP
2019-04-08 06:51:36 -04:00
Aikar 2cb75d6cce
[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:
812f66aa SPIGOT-4684: Update persistence of converting zombie villagers
2019-04-08 06:31:50 -04:00