Commit graph

126 Commits

Autor SHA1 Nachricht Datum
EvilSeph
a133bc7182 Make periodic chunk saving less aggressive and fixed double player data saving. Fixes BUKKIT-1994 and fixes BUKKIT-2144 2012-08-07 18:52:53 -04:00
Wesley Wolfe
02d6703da7 Implement new AsyncPlayerChatEvent. Addresses BUKKIT-2064
Added two utility collections for use with PlayerChatEvents allowing lazier
initialization of events and less need to synchronize against the player
list.

Provided a hidden queue system for similar logic to pre-1.3 chat. When a
plugin is listening for the deprecated PlayerChatEvent, all chat will be
delayed to be mirror executed from the main thread. All developers are
encouraged to immediately update to the developmental Bukkit chat API as a
minimum transition for server stability.

Additionally, changes were required to bring thread-safety to the flow
logic. CopyOnWriteArrayList is the only viable means to produce thread
safety with minimal diff; using a sane pre-implemented collection would
require reworking of sections of NMS logic.

As a minor change, implemented expected functionality for
PlayerCommandPreProcessEvent. Setting the player should now change the
player executing the command.
2012-08-03 23:44:45 -05:00
Mike Primm
fe8fc6b90e Process entity ticks on worlds without players. Fixes BUKKIT-2031
Both the CB 1.3.1 code, and vanilla 1.3.1 code, have modified the
behavior of entity tick processing in a way that can lead to disabling
of entity cleanup. Specifically, the tickEntities() call in n.m.s.World,
which processes both the entity cleanup (removing from the world entity
list) and tile entity tick processing (furnaces and such) does not get
called by n.m.s.MinecraftServer's q() method (which drives tick
processing calls in general) when no players are on the given world.
This causes a serious memory leak when automation processes, like dynmap
mapping, load and unload chunks - as entities on unloaded chunks are
only cleaned up during entity tick processing. It also will cause issues
with any mods that use persistent chunk loading (that is, keeping chunks
loaded so that tile entities will continue being processed), since such
processing will no longer function without at least one player on the
given world.

In any case, the tickEntities() call should be called in the same
fashion as under 1.2.x (each tick, independent of player population, as
opposed to being suspended indefinitely when no players are on the given
world). The specific memory leak observed, with removing the unloaded
entites from the world, requires this call be made regularly (or, at
least, whenever the entity unload queue (world.g) is not empty.

Closes GH-832
2012-08-03 01:19:10 -05:00
feildmaster
402b177be4 Add missing callWorldInitEvent on startup. 2012-08-02 10:14:01 -05:00
feildmaster
a43d621c01 Update CraftBukkit to Minecraft 1.3.1 2012-08-02 04:58:50 -05:00
Wesley Wolfe
b00de5f176 Cleaned up CraftBukkit comments in NMS.
Added newlines at the end of files
Fixed improper line endings on some files
Matched start - end comments
Added some missing comments for diffs
Fixed syntax on some spots
Minimized some diff
Removed some no longer used files
Added comment on some required files with no changes
Fixed imports of items used once
Added imports for items used more than once
2012-07-23 23:55:31 -05:00
H31IX
0095add08c Add query-plugins setting. Addresses BUKKIT-1781 2012-06-20 12:40:12 -05:00
Wesley Wolfe
ed6d4c7759 Support asynchronous events; Addresses BUKKIT-1212 2012-06-13 23:00:46 -05:00
Travis Watkins
94e9543a14 Add fallback for when jline fails to initialize. Fixes BUKKIT-1675. 2012-05-23 15:32:33 -05:00
EdGruberman
31d488a386 Update to jline 2. Fixes BUKKIT-717
JLine 2 allows for better color matching in the console and support for
colors in console on Windows. Hopefully provides better performance as well.
2012-05-15 23:27:51 -05:00
Dinnerbone (Laptop)
fdab1db7c5 Added missing //CB comment 2012-03-30 23:43:52 +02:00
Dinnerbone (Laptop)
1fa4d8430e Updated version to 1.2.5-R0.1-SNAPSHOT 2012-03-30 23:33:51 +02:00
Nathan Adams
9d09e7d016 Updated to Minecraft version 1.2.4. Updated version string to 1.2.4-R0.1. 2012-03-22 20:39:39 +00:00
Nathan Adams
a42e710bbc Updated from 1.2.2 to 1.2.3. This fixes BUKKIT-943 2012-03-02 19:31:06 +00:00
Nathan Adams
94d4d68211 Convert contained worlds to Anvil (thanks to Amaranth) 2012-03-02 13:17:49 +00:00
Nathan Adams
543c4879fe Updated CraftBukkit to 1.2 2012-03-01 14:38:31 +00:00
rmichela
1161de3f63 [Bleeding] Added Conversations API. Addresses BUKKIT-864 2012-03-01 04:33:59 -05:00
Erik Broes
33ba9f0a2f Updated to rename revision 02 2012-03-01 01:12:41 +00:00
Erik Broes
137880b727 Deprecation cleanup. 2012-02-18 13:06:12 -05:00
Eric Stokes
3a419481ea Added 'generate-structure' setting support and WorldCreator property.
Fixes BUKKIT-655 and BUKKIT-592
2012-01-29 13:07:44 -05:00
Erik Broes
d7cec38c38 Adding the option to suppress overload warnings as a bukkit.yml option. Thanks oloflarsson for the PR. 2012-01-15 11:11:41 +01:00
Erik Broes
a4ce846d07 Fix formatting. 2012-01-15 10:54:57 +01:00
Erik Broes
61ec751ca1 Update for 1.1_01 renames.
We know these updates (can) break plugins bypassing Bukkit. They are needed for
smooth updates however. There will be another one right before before 1.1-R1.
2012-01-15 10:52:37 +01:00
Nathan Adams
743c623d53 Modified ConsoleReader to use System.in instead of FileDescriptor.in. Big thanks to escortkeel for the (unfortunately very old) PR. 2012-01-14 17:12:45 +00:00
Nathan Adams
8aaa528763 Fixed version in startup message 2012-01-12 22:33:31 +00:00
Erik Broes
7219d4dd85 Updated to Minecraft 1.1 2012-01-12 23:10:13 +01:00
Erik Broes
7d0e739f96 Fix balance of CraftBukkit start/end. 2012-01-12 19:43:34 +01:00
Nathan Adams
897551e39e Update to mc-dev rename revision 01 2012-01-12 15:27:39 +00:00
Erik Broes
7f079a0cd6 Fix CraftBukkit comments. 2012-01-12 12:07:38 +01:00
EvilSeph
8b735bf47a Made startup completion time actually be reported in seconds. Again. 2011-12-27 20:10:49 -05:00
Nathan Adams
bea7b1373e Fixed vanilla->bukkit world migration for The End. This fixes BUKKIT-326. Thanks to chewi for the pull request! 2011-12-19 16:26:11 +00:00
Erik Broes
f7649724fe Implemented CraftServer.getAllowEnd(). Thanks codename-B! 2011-12-09 18:55:36 +01:00
Andrew Ardill
93a4a9ba8c Teach MinecraftServer how to handle Remote Console commands.
This fixes BUKKIT-220. Thanks for the help bawoodruff!
2011-12-07 17:45:50 +11:00
Tahg
bc8f02788f Performance update to remove several very high counts of temp object creation 2011-12-06 08:52:45 -05:00
Nathan Adams
062d94d6bc Implemented 1.0.1 fixes. This fixes BUKKIT-3, BUKKIT-39, BUKKIT-150 2011-12-01 21:43:54 +00:00
Nathan Adams
8fbe78a2c3 Updated to use mc-dev rename revision 1 2011-11-30 21:46:19 +00:00
Nathan Adams
9907638130 Fixed ancient vanilla typo in offline mode warnings. Thanks to Alexitaly92 for catching it. 2011-11-26 01:09:04 +00:00
Nathan Adams
c6beae8872 Fixed allow-nether being ignored 2011-11-24 18:48:01 +00:00
Nathan Adams
246ff3b352 Made the new Status info list plugins (test it out at http://dinnerbone.com/minecraft/tools/status/ ) 2011-11-20 00:01:57 -08:00
Erik Broes
345ea36c7b Update for 1.0.0 2011-11-20 00:01:33 -08:00
Nathan Adams
75d9b04deb Added new bukkit.yml entry (settings -> world-container) to control the directory worlds are stored in 2011-10-12 04:25:03 +01:00
Dinnerbone
44136f2e7d Blocked access to ColouredConsoleSenders constructor, implemented getConsoleSender 2011-09-24 23:14:13 +01:00
Dinnerbone
0118a20d6a Update to mcdev rename revision 01 for 1.8.1 2011-09-24 22:05:22 +01:00
Erik Broes
a2957c7b8f Stop sending multiple time packets to each client 2011-09-23 20:20:18 +02:00
Dinnerbone
900c541246 Bunchafixes which may or may not have any end result 2011-09-16 20:10:11 +01:00
Dinnerbone
9252230e3a Update for Minecraft 1.8.1 2011-09-15 18:01:13 +01:00
Dinnerbone
5b2c774edc Update for Minecraft 1.8 2011-09-15 01:23:52 +01:00
Tahg
6e4b12cdf1 safety check (and hopeful fix) for chunk saving 2011-08-19 23:17:48 -04:00
tahg
effc6c8559 Fix placement of scheduler tick 2011-08-07 00:45:56 -03:00
Rigby
4117d6b65e Implemented per world setting to keep the spawn in memory or not. 2011-08-05 15:52:38 -04:00