Commit graph

1687 commits

Author SHA1 Message Date
Zach aba1f0337b Merge pull request #2 from DemonWav/master
Add Paperclip support
It's glorious https://www.youtube.com/watch?v=lq50bfQCY-8
2016-01-26 01:46:44 -06:00
DemonWav 729e8e3023 Add Paperclip support 2016-01-26 00:36:28 -06:00
Zach Brown ec7bb38953 Add upstreamMerge.sh and update CB submodule 2016-01-26 00:04:43 -06:00
Byteflux c86923f08f Add submodules and build scripts
These will be made default in 1.9, dropping PaperTools support
2016-01-26 00:00:25 -06:00
Zach Brown 861d6c6247 Java 8 javadoc lint bypass. Until we can fix this properly (massive patch for old bukkit ???!?!?!?!) this will have to do 2016-01-21 17:39:56 -06:00
Literallie 5faccece77 Fix JavaDoc errors introduced in Timings v1 2016-01-21 17:32:34 -06:00
Zach Brown e0cb11b8c6 Simplify README.md for normal end-users 2016-01-21 00:14:24 -06:00
Techcable 39ba8e8f7a Add Contributing.md for developers and advanced users 2016-01-21 00:14:14 -06:00
Zach Brown a26fef50ef Re-introduce an option to limit the height of a flying tnt entity 2016-01-18 16:24:29 -06:00
Zach Brown 56c14f8f07 Force commands to be dispatched synchronously
[22:29:12] <Aikar> just add that
[22:29:17] <Aikar> that forces it fixed
[22:29:31] <Aikar> and then when his users spam him hell fix it :P
2016-01-12 23:02:36 -06:00
Zach Brown 314212b236 Add an option to disable chest's detection of Ocelots/Cats 2016-01-10 20:47:21 -06:00
Zach Brown 85dd26898d Migrate timings classes to new package 2016-01-10 01:33:27 -06:00
Zach Brown 9af2ba76ad Just a bit more information for those skript classes 2016-01-10 01:08:22 -06:00
Zach Brown 414a748893 Skript event executor classes do not have an enclosing method 2016-01-09 18:43:35 -06:00
Zach Brown 9172103531 Migrate PaperSpigot to Timings version 2 2016-01-09 00:32:38 -06:00
Zach Brown e9c23b0c38 Require Java 8 - Tell your shitty hosts to update 2016-01-09 00:13:58 -06:00
Zach Brown e489049520 Revert "Add sexier applyPatches and rebuildPatches scripts"
THE TIME JUST WASN'T RIGHT
This reverts commit 0dd18185d8.
2016-01-04 04:48:00 -06:00
Byteflux 0dd18185d8 Add sexier applyPatches and rebuildPatches scripts 2016-01-04 00:40:04 -06:00
chickeneer 06ada7cc6d Resolve bed issues on unloaded chunks 2016-01-04 00:24:44 -06:00
Aikar d02fb4e971 Entity teleport fix 2016-01-04 00:23:20 -06:00
Zach Brown a55011eb68 Make the duplicate entity UUID warning toggleable 2015-12-28 20:15:28 -06:00
Steve Anton 5063a0613d Add PlayerInitialSpawnEvent 2015-12-22 22:06:43 -06:00
Jedediah Smith 0265f4eaef Fix player leak from entity tracker and item frames
3005a20c5c
2015-12-22 21:55:24 -06:00
Aikar ff621fcb04 EAR: Fix bug with teleporting entities 2015-12-22 18:23:08 -06:00
Zach Brown d709888852 [17:15:29] * Z750 kicks jetbrains right in the scrotum 2015-12-06 17:16:51 -06:00
Zach Brown a7600285a6 Restore a constructor that was removed in EntityFallingBlock 2015-12-06 17:14:41 -06:00
ItsHarry 60136e77fe Also apply the "vanished players don't have rights" patch to Fishing Hook entities. 2015-11-26 19:51:30 -06:00
Aikar 0d986bbce5 Don't create a chunk just to unload it 2015-11-15 19:46:37 -06:00
Aikar a4e0b24594 Don't create region files when checking if a chunk exists 2015-11-15 19:44:34 -06:00
Aikar 61aa4a801b Bump thread count for chunk loading 2015-11-15 19:41:14 -06:00
Aikar fa810f3d47 Don't damage ArmorStands that are already dead 2015-11-15 19:40:53 -06:00
Zach Brown 5be55c33e4 SPIGOT-596: Fix EntityDismountEvent 2015-10-27 22:33:28 -05:00
Zach Brown 4a647dc40b Remove TE/E Removal Optimizations
Causes pistons to eat blocks in certain circumstances, double piston extenders most notably
2015-10-24 02:20:30 -05:00
Aikar 04daf845d4 Update tick limiter removal and TE/E removal optimizations 2015-10-24 02:13:27 -05:00
Aikar c725b9cb96 Implement EMC's optimized entity and tileentity removal 2015-10-16 22:23:28 -05:00
Zach Brown 43c3a7b169 Don't point users at spigotmc when watchdog kills the server 2015-10-16 21:50:04 -05:00
Zach Brown 7d86a674eb Disable spigot tick limiters 2015-10-16 21:43:03 -05:00
Zach Brown 978982edfd Rebuild patch for upstream changes 2015-10-07 21:32:01 -05:00
md_5 6360da3884 Fix incorrect logic in entity tick limiter to match tile entity tick limiter.
Simply a fix to the small performance shortpath.
2015-10-07 21:24:35 -05:00
Aikar 19619f8450 Remove an unused list of TileEntities slowing down removal 2015-10-06 23:36:43 -05:00
Zach Brown 9365b36050 Rebuild patches for upstream changes 2015-10-02 22:58:02 -05:00
md_5 b7124e06be SPIGOT-1208: Don't skip ticks for explosive creepers. 2015-10-02 22:43:17 -05:00
Zach Brown 7aa4900879 Remove our own (outdated) TE handling, for one that's closer to vanilla 2015-09-19 09:34:17 -05:00
Zach Brown ea565eff61 Rebuild patches 2015-09-18 20:44:37 -05:00
vemacs 502ffa0833 Re-add entity/tile entity tick limiters 2015-09-14 20:37:51 -05:00
Zach Brown f243a4024d Remove several broken or unnecessary patches.
Removes PlayerMicroMoveEvent API, the ability to disable the AsyncCatcher, and the TeleportPassengerVehicleWithPlayer patch
2015-09-12 19:57:39 -05:00
Aikar 88826e053a Don't sleep between chunk saves
For some unknown reason, Minecraft is sleeping 10ms between every single chunk being saved to disk.
Under high chunk load/unload activity (lots of movement / teleporting), this causes the chunk unload queue
to build up in size.

This has multiple impacts:
1) Performance of the unload queue itself - The save thread is pretty ineffecient for how it accesses it
   By letting the queue get larger, checking and popping work off the queue can get less performant.
2) Performance of chunk loading - As with #1, chunk loads also have to check this queue when loading
   chunk data so that it doesn't load stale data if new data is pending write to disk.
3) Memory Usage - The entire chunk has been serialized to NBT, and now sits in this queue. This leads to
   elevated memory usage, and then the objects used in the serialization sit around longer than needed,
   resulting in promotion to Old Generation instead of dying young.

If there is work to do, then the thread should be doing its work, and only sleep when it is done.
2015-09-10 15:46:34 -05:00
Aikar c95273f973 Optimize Chunk Saving Memory Allocation and Compression
Minecraft ineffeciently uses OutputStreams by calling .write(int) on the stream.
For Chunks, this is a DeflaterOutputStream, which allocates a single byte EVERY write.

This is causing the server to allocate tons of new byte[1] objects.
Additionally, this is very ineffecient for the Deflate process.

By Buffering Writes the same way it already is Buffering Reads, we will
write to the stream much more effeciently.

Also a more effecient RegionFile zero'ing for new chunks to speed up
new chunk generation.
2015-09-10 15:46:28 -05:00
Zach Brown 1f41387610 Rebuild patches 2015-09-01 20:14:41 -05:00
md_5 ad15d9065d Rebuild patches. 2015-09-01 17:41:42 -05:00