Travis Watkins
5a999a2660
Correct digging behavior. Fixes BUKKIT-2780
...
If a block is air we return immediately so miss the cleanup work that would
normally happen in this case in vanilla. This causes us to get in to a
situation where, due to odd packet sending from the client, we never
properly stop an attempt by the client to break a block and thus it
eventually breaks.
We also use our own variable for block damage and never sync it up with the
vanilla one so damage reporting to other clients is not always correct.
2012-11-13 21:42:36 -06:00
Travis Watkins
7f7192f8fd
Update CraftBukkit to Minecraft 1.4.4.
2012-11-13 16:09:52 -06:00
EvilSeph
f683d5568f
Migrate world data with world when switching from vanilla Minecraft to
...
Bukkit. Fixes BUKKIT-2816 and BUKKIT-2760
2012-11-02 21:12:02 -04:00
md_5
53d24e2b22
[Bleeding] Fix mistranslation affecting time of the server vs time of day.
...
Fixes BUKKIT-2797
2012-11-02 16:36:43 -04:00
Wesley Wolfe
3dd0580d50
Improved the potion test to detect missing PotionType values.
2012-11-02 00:24:11 -05:00
Travis Watkins
87d25c4cc6
Fix compile issue with chunk generation.
2012-11-02 00:12:49 -05:00
feildmaster
a4892dfa72
Delegate recreateStructures to nms provider. Fixes BUKKIT-2760
...
This was a miss when updating to 1.4.2
2012-11-01 21:32:28 -05:00
Wesley Wolfe
1c14586c49
Add CraftArt mappings for Wither. Fixes BUKKIT-2667.
...
The static assertions are not normally evaluated in the JVM, and failed
to fail when the enums went from size 25 to size 26. This meant missing
values would not be detected at runtime and instead return null,
compounding problems later. The switches should never evaluate to null
so will instead throw runtime assertion errors.
Additional unit tests were added to detect new paintings and assure they
have proper, unique mappings. The test checks both that a mapping
exists, is not null, and does not duplicate another mapping.
2012-11-01 03:06:47 -05:00
Wesley Wolfe
9a88e615d4
Change ItemFrame to actually provide a defensive copy. Fixes BUKKIT-2784
...
If a defensive copy is not used in the API, changes to the item are
reflected in memory, but never updated to the client. It also goes
against the general contract provided in Bukkit, where setItem should be
the only way to change the underlying item frame.
2012-11-01 01:34:54 -05:00
EvilSeph
1623bf0f9b
Fire HangingBreakEvent when explosions remove hanging entities. Fixes BUKKIT-2764
2012-10-31 14:24:03 -04:00
Travis Watkins
87a1cd3d43
Add inventory and slot types for new containers. Fixes BUKKIT-2741
2012-10-31 13:25:53 -04:00
Travis Watkins
347fd3cb6e
Fix NPE when blowing up an item frame. Fixes BUKKIT-2763
2012-10-31 13:09:57 -04:00
Travis Watkins
f479aa84a4
Implement API for ambient mob spawn limit. Add spawn-limit.ambient to
...
bukkit.yml. Adds BUKKIT-2765
2012-10-31 13:01:48 -04:00
Travis Watkins
46d7cd1e05
Use BlockCommandSender for dispatching Command block commands
...
Also allow commands that don't start with a / to match vanilla behavior
2012-10-31 06:37:46 -05:00
feildmaster
9e4e2c62af
Expose API for managing and using GameRules. Adds BUKKIT-2757
2012-10-31 03:40:43 -04:00
Travis Watkins
59dc403a61
Hook command block up to ConsoleCommandSender. Fixes BUKKIT-2684
...
This will need to have its own CommandSender but this makes command blocks
work for now with any command console can run.
2012-10-31 02:39:56 -05:00
h31ix
63eaf74d44
Implement the API for ItemFrames. Adds BUKKIT-2668
2012-10-31 01:18:59 -05:00
h31ix
02ca9be079
[Bleeding] Fire damage is no longer a valid reason for hanging entity removal
2012-10-31 00:45:47 -04:00
h31ix
54cce5bf92
[Bleeding] Implement new Hanging events. Adds BUKKIT-2754
2012-10-31 00:21:31 -04:00
EvilSeph
4efd06a6b5
Remove Anvil debug. Fixes BUKKIT-2732
2012-10-30 19:11:34 -04:00
md_5
42391009f7
[Bleeding] Prevent players from appearing to be sneaking after they change dimensions whilst doing so.
2012-10-30 19:11:34 -04:00
EvilSeph
b7886d1421
Disable portal support for entities for now. Restore allowNether check.
...
Relates to:
BUKKIT-2695 BUKKIT-2675
2012-10-30 19:11:33 -04:00
EvilSeph
6bf705dd08
Expose API for clearing a player's inventory with a successful count
...
return. Adds BUKKIT-2745
2012-10-30 04:55:02 -04:00
feildmaster
856fdc2ab6
Update map cursors to reflect 1.4 changes. Fixes BUKKIT-2740
2012-10-29 23:29:40 -04:00
EvilSeph
3047a424bb
Expose API for giving and taking experience levels for use with ExpCommand's new behaviour with Minecraft 1.4. Adds BUKKIT-2739
2012-10-29 23:18:37 -04:00
feildmaster
aba7e2faf1
Revert changing EntityType.FIREBALL to LARGE_FIREBALL
2012-10-29 20:17:52 -05:00
Travis Watkins
216cddb2ab
Get skull data before destroying block. Fixes BUKKIT-2723
...
Skull blocks store their type in a tile entity and use their block data
as rotation. When breaking a block the block data is used for determining
what item to drop. Simply changing this to use the skull method for getting
their drop data is not enough because their tile entity is already gone.
Therefore we have to special case skulls to get the correct data _and_ get
that data before breaking the block.
2012-10-29 12:54:16 -05:00
EvilSeph
14f4bd9024
Fix bug preventing non bed-reliant spawns from being successfully set. Fixes BUKKIT-2708
2012-10-29 04:56:30 -04:00
Travis Watkins
d16f8c5e65
Drop skulls like every other block. Fixes BUKKIT-2678
...
Instead of having a special case for skulls just use the normal logic for
breaking a block. This avoids issues when interacting with API.
2012-10-29 02:28:27 -05:00
EvilSeph
f4cdf8fe98
Add isHardcore API to check if the server is in hardcore mode or not. Adds BUKKIT-2707
2012-10-29 01:46:14 -04:00
EvilSeph
442b7a69f1
Prevent health from wrapping around.
2012-10-28 23:55:40 -04:00
h31ix
db49a57694
Update PotionEffects on player death. Fixes BUKKIT-2673
...
On player death player PotionEffects need to be updated so that a player's
invisibility and other effects are removed, otherwise they will persist
after a respawn. This is a carry-over from our use of persistent player
entities.
2012-10-28 23:27:02 -04:00
Travis Watkins
0fb806c566
Clamp difficulty levels to prevent invalid values
...
Some features added in 1.4.2 use the difficulty value as an index to an
array so while before having it set to an invalid value would do nothing
or maybe cause an odd side effect somewhere it now crashes the server. This
patch ensures difficulty values are clamped between 0 and 3, inclusive.
2012-10-28 10:07:11 -05:00
Travis Watkins
37a0d6757d
Don't filter item data for anvils. Fixes BUKKIT-2640
...
Filtering item data is usually a good idea to make sure we don't have
invalid data or data on items that shouldn't have it. However, anvils
use item data in slightly different way and so running its code for
filtering here causes the data to be corrupted.
2012-10-28 09:37:47 -05:00
Travis Watkins
9841b77009
Use correct variable for squid Y motion. Fixes BUKKIT-2648
2012-10-28 03:23:48 -05:00
Travis Watkins
c675cc0b3b
Fix missed rename for ore exp dropping. Fixes BUKKIT-2662
2012-10-28 02:43:23 -05:00
Travis Watkins
d97d193b91
Add new entities to World.spawn method. Fixes BUKKIT-2658
2012-10-28 02:21:34 -05:00
h31ix
788e9e84cf
Fix incorrect method names missed during update. Fixes BUKKIT-2653
...
A couple method names were changed between 1.3.2 and 1.4.2 but were missed
in the update. One of these affects being able to enchant bows and the
other is used for updating player animations while firing.
2012-10-28 03:06:59 -04:00
EvilSeph
11d65171cd
These books are too powerful!
2012-10-28 03:05:28 -04:00
EvilSeph
784f9e31a8
Remove spawn-radius setting in bukkit.yml in favour of spawn-protection in
...
server.properties. Fixes BUKKIT-2657
2012-10-28 01:55:27 -04:00
EvilSeph
5fe8523023
Fixed generator-settings not being set. Fixes BUKKIT-2652
2012-10-28 01:00:28 -04:00
Travis Watkins
5469311a36
Don't pass vanilla plugin channels to plugins. Fixes BUKKIT-2638
...
Vanilla has its own handlers for plugin channel messages for things like
texture packs, books, and anvils. When vanilla handles one of these messages
we should not also pass it to plugins because they will be duplicating work
and potentially running in to situations our plugin system isn't setup to
handle. This is how 1.3.2 worked but was lost in the 1.4.2 update.
2012-10-27 23:25:10 -05:00
Travis Watkins
60819c6693
Update CraftBukkit to Minecraft 1.4(.2).
2012-10-27 22:19:03 -04:00
EvilSeph
df7f86d028
Made books less powerful, though you should still read them!
2012-10-27 20:44:16 -04:00
Wesley Wolfe
4166af1d3a
Implement chat tab completion API. Fixes BUKKIT-2608. Adds BUKKIT-2607.
...
The chat tab completion implementation also includes a sanity check to
assure type-safety in the list.
2012-10-17 04:31:36 -05:00
Score_Under
3ce954bb86
Delegate tab-completion. Fixes BUKKIT-2181. Adds BUKKIT-2602
...
CommandMap now contains the functionality for tab completion. This
commit replaces the vanilla implementation and simply delegates it to
the Bukkit API.
2012-10-15 03:18:59 -05:00
Wesley Wolfe
05e889f346
Queue tasks from secondary threads. Fixes BUKKIT-2546 and BUKKIT-2600
...
This change affects the old chat compatibility layer from an
implementation only standpoint. It does not queue the 'event' to fire,
but rather queues a runnable that allows the calling thread to wait for
execution to finish.
The other effect of this change is that rcon connects now have their
commands queued to be run on next server tick using the same
implementation.
The internal implementation is in org.bukkit.craftbukkit.util.Waitable.
It is very similar to a Future<T> task, but only contains minimal
implementation with object.wait() and object.notify() calls
under the hood of waitable.get() and waitable.run().
PlayerPreLoginEvent now properly implements thread-safe event execution
by queuing the events similar to chat and rcon. This is still a poor way
albeit proper way to implement thread-safety; PlayerPreLoginEvent will
stay deprecated.
2012-10-14 17:26:53 -05:00
Wesley Wolfe
93a79cd0e6
Implement new scheduler API. Adds BUKKIT-836
...
The implementation for the new methods mimics the old methods. The final
call for the old methods now maps to the new methods with an additional
call to get id.
2012-10-14 01:21:58 -05:00
Travis Watkins
506a1a0765
Ensure entity isn't destroyed when trying to show it. Fixes BUKKIT-2038
...
If two players (or a player and any other entity) are teleported to the
same location in the same tick they will both get added to the other's
destroy queue then have a new entity spawn packet sent. Next tick the
destroy queue will be processed and they will then be invisible to each
other. To prevent this situation we remove the entity from the destroy
queue when sending out a spawn packet for them.
2012-10-13 15:27:45 -05:00
EdGruberman
59d6b60c0a
Update entity target data to reflect current AI status. Fixes BUKKIT-2280
...
The new AI system introduced by Minecraft 1.2 no longer relies on the
target field in the entity so it is frequently out of sync with what the
entity is actually doing. This modifies the AI goal to update the target
so our API can return the correct information.
2012-09-28 15:04:32 -05:00
Travis Watkins
62a9b8815b
Allow data values on mushroom and mob spawner blocks. Fixes BUKKIT-2346
...
In 1.2.5 and older versions of CraftBukkit we allowed the use of data
values on bug mushroom and mob spawner blocks for use with plugins.
For the 1.3 update the mechanism for doing this was changed and I
accidentally used the wrong value when adding these, indicating that
they should not have data instead of our actual intent. This change
corrects this regression.
2012-09-28 15:00:02 -05:00
Travis Watkins
b5580b6d95
Remove player from destroy queue when they go visible. Fixes BUKKIT-2071
...
If a plugin calls player.hidePlayer(other); then player.showPlayer(other);
in the same tick the other player will be added to the entity destroy queue
then a spawn packet will be sent. On the next tick the queue will be
processed and a destroy packet will be sent that renders the other player
invisible. To correct this we ensure the destroy queue is in sync with use
of the vanish API.
2012-09-28 14:53:28 -05:00
Travis Watkins
244a39d209
Use this world instead of the one in the entity. Fixes BUKKIT-2315
...
In some situations an entity or tile entity can be added to the world but
have its own 'world' field be null or otherwise incorrect. As the entity
was added to this world to be ticked assume it actually is in this world.
2012-09-28 14:46:30 -05:00
Wesley Wolfe
fc0e35a67c
Fix typo causing a task to be repeated in debug. Addresses BUKKIT-2549
...
An internal method for making the debug output for CraftScheduler's
async tasks was erroneously using the 'this' reference when the loop
should be referencing the current task.
2012-09-28 02:39:22 -05:00
Wesley Wolfe
03f12497b2
Map org.bukkit.Sound to String values for sending to client.
...
This change was done to remove the internal sound names from the API.
Along with moving the internal names into CraftBukkit, a unit test was
added for any new sounds added in the API to assure they have a non-null
mapping.
2012-09-26 19:02:05 -04:00
Travis Watkins
74b3be57b7
Replace LongObjectHashMap with a more efficient implementation
...
After further testing it appears that while the original LongHashtable
has issues with object creation churn and is severly slower than even
java.util.HashMap in general case benchmarks it is in fact very efficient
for our use case.
With this in mind I wrote a replacement LongObjectHashMap modeled after
LongHashtable. Unlike the original implementation this one does not use
Entry objects for storage so does not have the same object creation churn.
It also uses a 2D array instead of a 3D one and does not use a cache as
benchmarking shows this is more efficient. The "bucket size" was chosen
based on benchmarking performance of the HashMap with contents that would
be plausible for a 200+ player server. This means it uses a little extra
memory for smaller servers but almost always uses less than the normal
java.util.HashMap.
To make up for the original LongHashtable being a poor choice for generic
datasets I added a mixer to the new implementation based on code from
MurmurHash. While this has no noticable effect positive or negative with
our normal use of chunk coordinates it makes the HashMap perform just as
well with nearly any kind of dataset.
After these changes ChunkProviderServer.isChunkLoaded() goes from using
20% CPU time while sampling to not even showing up after 45 minutes of
sampling due to the CPU usage being too low to be noticed.
2012-09-21 11:20:10 -05:00
Wesley Wolfe
9f70c1f386
Set last accessed variables after grabbing chunk. Fixes BUKKIT-1033
...
This fix changes the 'state' of the last accessed variables to be more
accurate. Changing the coordinates of the last accessed chunk should
never precede actually setting the last accessed chunk, as loading a
chunk may at some point call back to getChunkAt with a new set of
coordinates before the chunk has actually been loaded. The coordinates
would have been set, but the actual chunk would not. With no check for
accuracy, this causes fringe case issues such as null block states.
Big thanks to @V10lator for finding where the root of the problem was
occurring.
2012-09-20 23:00:34 -05:00
Wesley Wolfe
cebc8cffec
CraftBukkit comment fixes
2012-09-14 01:53:42 -04:00
mbax
4b1f6aff3f
[Bleeding] Check visibility API for sounds. Fixes BUKKIT-2210
...
This implementation of a visibility API check for sounds
was created by adding extra methods carrying the source entity
in WorldManager and ServerConfigurationManagerAbstract and
adding a test for canSee in the SCMA sendPacketNearby method.
This approach involves no logic copying, just method addition.
I opted to cast to WorldManager as:
1) IWorldAccess is not in CraftBukkit at the moment
2) There is no other IWorldAccess implemented in CraftBukkit,
nor is there likely to be one soon. If that day comes, easy fix.
2012-09-14 01:53:42 -04:00
EvilSeph
349cb0bba6
What is dead may never die.
2012-09-14 01:53:34 -04:00
EvilSeph
412b4624c3
Update the client after a FoodLevelChange event is fired. Fixes BUKKIT-2510
2012-09-12 22:06:36 -04:00
Mike Primm
9a4b85c931
[Bleeding] Avoid spawn checks on empty worlds. Fixes BUKKIT-2508
...
Change a server wide check for players to be world specific. Worlds
without players will not spawn entities.
2012-09-12 22:06:36 -04:00
EvilSeph
4c0dd6964e
Reverted changes to chunk saving behaviour.
2012-09-12 22:06:35 -04:00
Mike Primm
beee3ce2da
[Bleeding] Add autosave interval setting in bukkit.yml. Adds BUKKIT-2507
...
The new setting is located at "ticks-per.autosave". By changing this
value, it affects how often a full save is automatically executed,
measured in ticks.
This value is defaulting to 0 (off) because we believe that the vast
majority of servers already have a third-party solution to automatically
saving the server at set intervals. Having the built in auto-save disabled
by default ensures that we are not saving things twice; doing so leads to
absolutely no benefits, but results in detrimental and noticeable
unnecessary performance decrease.
For servers that do not use an automated external script to perform saves,
this setting can be turned on by setting the value higher than 0, with 900
being the value used in vanilla.
2012-09-12 22:05:52 -04:00
Wesley Wolfe
e2b1514daf
Bulk pending cleanup.
2012-09-09 23:19:28 -05:00
Luke Granger-Brown
b1f6d16bfa
Change local jline checks to not use String literals. Fixes BUKKIT-2455.
...
Refactoring dependencies 'changes' the string literal in the code. This
commit changes the literal to instead use a char[] to initialize a new
String. On a bytecode level, there will not exist a String literal for these
two values; the shade plugin will no longer refactor them.
Refactoring jline also changes the other String literals we use for
notifying jline of the current state. To insure that our local code reflects
the inner logic in jline, the key value was changed to the static final
variable located in TerminalFactory. Likewise, UnsupportedTerminal uses the
explicit class name (as reflection is used later with the value that has
been set).
2012-09-09 17:02:48 -05:00
Wesley Wolfe
27d58a299c
Add information about async tasks to CrashReports. Addresses BUKKIT-2491
...
Async tasks are notorious for causing CMEs and corrupted data when
accessing the API. This change makes a linked list to track recent tasks
that may no longer be running. It is accessed via the toString method on
the scheduler. This behavior is not guaranteed, but it is accessible as
such currently.
Although toString is located in the scheduler, its contract does not
guarantee an accurate or up to date call when accessed from a second
thread.
2012-09-09 00:34:41 -05:00
Wesley Wolfe
4d5894e4cb
Fix crash from console-commands throwing exception. Fixes BUKKIT-2479
...
When 1.3.1 was released, a try-catch block was removed from the tick
loop that called the method in NMS to handle commands. This restores a
try-catch to prevent the console from crashing the server.
2012-09-06 22:11:17 -05:00
feildmaster
c710ca827f
Fix BUKKIT-2419: PlayerAbilities not being updated on teleport/respawn
...
Minecraft resets abilities based on what it knows client side, when someone dies and is in "survival," by default they should be in "survival." However, we allow modification of the PlayerAbilities, so we send this update out to the client.
Oh and, the format of the commit is like this to see if it looks any good. :)
2012-08-27 12:02:25 -05:00
Wesley Wolfe
3307d489da
Fix Future task waiting logic. Fixes BUKKIT-2408
...
Previously, the timeout would erroneously get converted to milliseconds
twice. The second conversion was removed.
Spurious wakeups were not handled properly, and would instead throw a
TimeoutException even if the waited time was not reached..
2012-08-26 10:25:11 -05:00
feildmaster
cb84d6b994
Fix empty chunks not sending biome properly and causing client side issues. Fixes BUKKIT-2396
2012-08-25 08:59:33 -05:00
Travis Watkins
b8cc862083
Update to 1.3.2
2012-08-25 00:54:21 -04:00
feildmaster
35cff16da5
Fix EmptyChunk's not sending to the Client correctly. Fixes BUKKIT-2206
2012-08-23 14:58:23 -05:00
Wesley Wolfe
dcd01bf0c0
Rewrite scheduler. Fixes BUKKIT-1831, and BUKKIT-845
...
The new scheduler uses a non-blocking methodology. Combining volatile
references to make a linked reference chain, with the atomic reference
handling the tail, tasks are queued without waiting for locks. The main
thread will no longer limit the length of time spend for scheduled tasks,
but no task will run twice in the same tick. Scheduling a new task inside of
a synchronous task will always run the new task during the same tick,
assuming there is no supplied delay > 0.
Asynchronous tasks are now run using a thread pool. Any thread-local
implemenation should now account for threads being reused between
executions.
Race conditions were carefully examined and the order of logic is now very
important. Each task is placed in a secondary collection before removal from
primary collections. Thus, by reading tasks from the collections in the same
order they travel, it retains state-safety. This does make modifications
less responsive in some situations, as the task may be transitioning before
the modifier accesses it. This cost outweighs the requirement to synchronize
on the scheduler; previously any conflict would be first-come-first-serve,
with the main thread backing out arbitrarily.
2012-08-22 16:41:46 -05:00
feildmaster
8fdb006143
Use constant Player for EnderPearls
...
Also make sure players are online before proceeding to each event
2012-08-22 14:32:10 -05:00
feildmaster
98c98d0f7a
Fix entities not having valid "isValid" states. Addresses BUKKIT-2366
2012-08-22 14:16:51 -05:00
V10lator
e3ae188ed2
Fix instances where Signs have null lines. Addresses BUKKIT-684
2012-08-21 20:17:29 -05:00
EdGruberman
450edc3004
Use standard format function to format logs. Addresses BUKKIT-2246
...
Also fix "excess" Log Levels.
2012-08-21 19:17:29 -05:00
feildmaster
161ab5edc6
Implement API for Sound, and playing the sounds for Worlds and Players. Adds BUKKIT-1430, BUKKIT-1226 and BUKKIT-2019
2012-08-21 19:13:19 -05:00
Travis Watkins
ccc760d629
Use a dynamic pool size for the iterator cache
...
Many codepaths only end up with one iterator being used at a time and
most of the rest only get up to two being used so using a static pool of
three is wasteful. This also allows us to efficiently handle cases that
exceed 3 iterators in use. Overall this dramatically increases the hit rate
and results in less iterators being created.
2012-08-20 18:44:07 -05:00
feildmaster
e7e643d83a
Implement API to retrieve and open EnderChests. Adds BUKKIT-2016
2012-08-20 16:00:53 -05:00
Travis Watkins
feb0327d22
Check unload queue so we don't accidentally leave a chunk loaded
2012-08-19 16:06:14 -05:00
Mike Primm
7dde6cc566
[Bleeding] Stub out MethodProfiler class
...
Instead of trying to track down every place this class is used we can
simply stub out the entire class so it has no extra overhead.
2012-08-19 09:51:09 -05:00
Mike Primm
e079d9457e
[Bleeding] Strip out unused HashSet in IntHashMap
2012-08-19 09:51:07 -05:00
Mike Primm
eaa3154b0e
[Bleeding] Cache packet ID instead of doing lookups each time it is needed
2012-08-19 09:51:04 -05:00
Mike Primm
627cf2ef8b
[Bleeding] Remove redundant chunkList from ChunkProviderServer
...
This ArrayList duplicates part of the functionality of the much more
efficient chunk map so can be removed as the map can be used in the few
places this was needed.
2012-08-19 09:51:00 -05:00
Travis Watkins
97ac0a3f14
Add LongObjectHashMap and LongHashSet
...
Replace uses of LongHashtable and LongHashset with new implementations.
Remove EntryBase, LongBaseHashtable, LongHashset, and LongHashtable as they
are no longer used.
LongObjectHashMap does not use Entry or EntryBase classes internally for
storage so has much lower object churn and greater performance. LongHashSet
is not as much of performance win for our use case but for general use is
up to seventeen times faster than the old implementation and is in fact
faster than alternatives from "high performance" java libraries. This is
being added so that if someone tries to use it in the future in a place
unrelated to its current use they don't accidentally end up with something
slower than the Java collections HashSet implementation.
2012-08-19 09:51:00 -05:00
Travis Watkins
7b20caf8fe
Use TrigMath in hotspots
...
Use our implementation of atan2 in AI routines as profiling shows these are
hotspots and (for these cases) our implementation is much faster.
2012-08-19 09:51:00 -05:00
Mike Primm
8219081385
[Bleeding] Change Vec3DPool to a stack based pool
...
Avoid overhead of using an ArrayList and resizing it. Also allows for reuse
of objects in the pool during the same tick by explicitly releasing them
back to the pool. This allows for much better cache performance as well
as reduced cache footprint.
2012-08-19 09:50:57 -05:00
Travis Watkins
d628c886d2
Optimize entity AI goal selector
...
Remove redundant ArrayList to avoid excessive object creation and CPU
overhead, the entries are added to the list then immediately iterated through
to run so just run them directly.
Swap order of some conditionals to perform the more efficient check first
as if it fails the list lookup will not be executed.
Remove profiling hooks including some rather expensive calls to getSimpleName.
2012-08-19 09:50:57 -05:00
Travis Watkins
858d36efc9
Add iterator cache to UnsafeList and use it in hotspots
...
Adds a specialized iterator for the list and a pool of iterators to avoid
object churn. Also optimizes the clear() method to reduce object creation.
2012-08-19 09:50:57 -05:00
Mike Primm
6d777ade16
[Bleeding] Optimize chunk loading
...
ChunkSection.e() is called once per chunk section loaded and is quite
expensive (about 20% of CPU time for loading the chunk). This changes the
logic to add a fast path when extended block data is not being used and
reorganizes the loops for more optimal array traversal. Overall this saves
about 20-30% CPU time in this method.
2012-08-19 09:50:45 -05:00
Mike Primm
852602e430
Add files from mc-dev for diff visibility
2012-08-19 09:19:28 -05:00
Mike Primm
5254993510
Fix issues with chunk saving. Fixes BUKKIT-2158, BUKKIT-2018 and BUKKIT-2229
2012-08-19 08:36:47 -04:00
Wesley Wolfe
cacfc71b46
Add more detailed CrashReport for CraftBukkit. Addresses BUKKIT-2319
2012-08-17 23:18:22 -05:00
Wesley Wolfe
acedd049c5
Add CrashReport for diff visiblity
2012-08-17 22:22:20 -05:00
John Driscoll
0bde47a173
Don't extend pistons until data is set. Fixes BUKKIT-2153
2012-08-17 17:06:46 -05:00
Wesley Wolfe
050a9276bc
Removed unneeded mc-dev imports. Fixes BUKKIT-682
2012-08-17 16:37:53 -05:00
Travis Watkins
add387dee3
Call PlayerQuitEvent in correct location. Fixes BUKKIT-2193
2012-08-15 12:22:52 -05:00
feildmaster
fc35d000e4
Use correct SlotType's for merchants. Fixes BUKKIT-2257
2012-08-15 06:00:55 -05:00
feildmaster
b059962a5c
Implement methods for spawning FallingBlocks and add various FallingBlock methods. Adds BUKKIT-2282
2012-08-14 07:38:23 -05:00
feildmaster
8748c8c757
Enable hardcore support. Fixes BUKKIT-2259
...
- Hardcore requires a newly generated world
- You will be banned if you die in a hardcore world
- You will NOT be banned if you die in a non-vanilla world
- Your "heart container" will not change without logging back in. (Vanilla bug)
2012-08-12 16:50:00 -05:00
feildmaster
aa92f0e313
Update CreatureSpawner.setSpawnedType(EntityType) to 1.3
...
They can spawn any valid entities now. What is a "valid" entity? A "valid" entity is an EntityType with a non-null getName(). (for example: PRIMED_TNT, FALLING_BLOCK)
2012-08-12 14:11:36 -05:00
feildmaster
bfc5189818
Fix "block update packet" not being sent to the correct world. Fixes BUKKIT-2023
2012-08-12 14:11:34 -05:00
Wesley Wolfe
342f9c3bd3
Implement player speed API. Addresses BUKKIT-2205
2012-08-10 00:00:04 -05:00
Wesley Wolfe
77cda7e715
Add PlayerAbilities for diff visibility
2012-08-09 23:16:19 -05:00
feildmaster
27c1c85adb
Implement BlockBreakEvent block experience. Adds BUKKIT-2033
2012-08-08 19:49:10 -05:00
feildmaster
8d946b88b3
Add BlockMobSpawner and BlockOre for diff visibility
2012-08-08 19:49:08 -05:00
Wesley Wolfe
a16e0b6323
Change socket traffic class try-catch. Fixes BUKKIT-2093
2012-08-08 07:00:41 -05:00
Wesley Wolfe
25fe93479f
Restore port to the hostname. Fixes BUKKIT-2124
2012-08-08 07:00:29 -05:00
EvilSeph
24809ef986
Re-add support for full chunk saving so the server save-alls on stop. Fixes BUKKIT-2158
2012-08-08 03:08:46 -04:00
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
2bb7a5f94d
Implement new deprecated warning state configuration option
2012-08-06 23:52:49 -05:00
Travis Watkins
bfbdbbd05c
Tripwire isn't redstone, only fire interact events.
2012-08-06 19:47:22 -05:00
Travis Watkins
7a3dfecba0
Don't force chunks to load again, causes chunk leaks with multiworld.
2012-08-06 17:31:03 -05:00
Wesley Wolfe
0792b15887
Pistons no longer extend before they are pistons. Fixes BUKKIT-1999
2012-08-06 09:55:38 -05:00
feildmaster
59aaa6a80a
Fix dispenser removing data from items. Fixes BUKKIT-2045
2012-08-06 09:09:05 -05:00
THDigi
7dc47892a4
Don't rotate ShapedRecipes. Fixes BUKKIT-1334
...
ShapedRecipe's getShape() always returns a 90deg rotated shape of the original shape, this commit fixes it.
2012-08-06 07:11:35 -05:00
Travis Watkins
164c066453
Fix "moved too quickly" detection.
2012-08-05 23:57:22 -05:00
Travis Watkins
e1a4273957
Fire events for tripwire and hooks.
2012-08-05 23:57:22 -05:00
Travis Watkins
982efb8c24
Add BlockTripwire and BlockTripwireHook from mc-dev for diff visibility.
2012-08-05 23:57:22 -05:00
Travis Watkins
304cb019e4
Fire EntityDeathEvent for pigs. Fixes BUKKIT-2100
2012-08-05 23:57:22 -05:00
Wesley Wolfe
9cccb1c89e
Fix Vec3DPool; don't pool objects indefinitely or O(n^2) clear()
2012-08-05 21:36:25 -05:00
Wesley Wolfe
f5777cc0b7
Add Vec3DPool for diff visibility
2012-08-05 21:36:09 -05:00
Wesley Wolfe
44234c47ce
Cease execution if block is AIR. Fixes BUKKIT-2104
2012-08-05 21:32:01 -05:00
Travis Watkins
a574ec54cc
Put forceChunkLoad back to its original value.
2012-08-05 20:03:12 -05:00
Travis Watkins
beb71069b7
Don't use Packet56 and clear client cache on world changes.
2012-08-05 18:42:03 -05:00
Wesley Wolfe
0e013fa4b0
Fixed PlayerManager ConcurrentModificationExceptions. Fixes BUKKIT-1972
2012-08-04 22:12:16 -05:00
Wesley Wolfe
9804665fec
Fix bounding box pool to use a dynamic cache size
...
Also changed insane array copy routine. This should reduce server lag
spikes that occur periodically.
2012-08-04 21:11:28 -05:00
Wesley Wolfe
14a470985d
Add AABBPool for diff visibility
2012-08-04 21:06:17 -05:00
Travis Watkins
e5acb6cf3a
Don't tick chunks or entities on chunks that are queued for unload.
...
Treat chunks in the unload queue as if they are already unloaded to prevent
processing on them removing them from the unload queue and leaking.
2012-08-04 18:08:26 -05:00
Travis Watkins
fdd01feb8c
Avoid CME when lightning strikes by making a copy. Fixes BUKKIT-2055
2012-08-04 18:02:30 -05:00
Wesley Wolfe
a5da834258
Fix chat not being cancellable when not using deprecated API.
2012-08-04 05:44:23 -05:00
feildmaster
9bed5272d3
Re-implement code missing from leaving the end. Fixes BUKKIT-2003
2012-08-04 04:11:21 -05:00
feildmaster
823e3fb0c6
Correctly detect invalid PistonExtension's to allow removal of StickyPistons. Fixes BUKKIT-2059
2012-08-04 04:10:55 -05:00
feildmaster
ab8b7c7e33
Potentially fix chunk leaking, needs further examination
2012-08-04 01:43:17 -05:00
Steve Anton
f90bd7e7cc
Fix PlayerBucketEmptyEvent handling. Fixes BUKKIT-2002 and fixes BUKKIT-1997
...
The method this.a(world, d0, d1, d2, i, j, k) is responsible for
actually placing the lava or water source block in the world. The event
is currently called after this method, thus canceling the event will
cause the player to keep their water/lava bucket but the water/lava will
still appear where they attempted to place it.
In addition, the check for whether a player has creative inventory is
short circuiting before the event fires, so the event will not be called
for these players.
This moves the event call and cancelled check above these two calls to
ensure it always fires and the results of it are honored.
Closes GH-835.
2012-08-03 23:44:45 -05: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
Travis Watkins
4942f5184a
Don't merge items with enchantments. Fixes BUKKIT-2050
2012-08-03 19:30:04 -05:00
feildmaster
8834d1423e
Fix 1.3 changes that prevent nether and the_end to save level data.
2012-08-03 18:58:47 -05:00
md_5
07794300d0
[Bleeding] Fire inventory close event. Fixes BUKKIT-2036
2012-08-03 02:41:48 -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
Travis Watkins
f5794937a9
Print short message on exception to avoid spamming console. Fixes BUKKIT-2018
2012-08-03 01:04:16 -05:00
Travis Watkins
dcf83bc1b5
Restore configurable connection throttle.
2012-08-03 01:04:10 -05:00
Travis Watkins
e156354a60
Add DedicatedServerConnectionThread from mc-dev for diff visibility.
2012-08-03 00:48:07 -05:00
EvilSeph
d5fea5fd0d
Fixed translation issue breaking custom world generation. Fixes BUKKIT-1975
2012-08-02 23:47:41 -04:00
Mike Primm
c711827e94
Fix mapping of ChunkSection nibble data to snapshot. Fixes BUKKIT-1977
2012-08-02 21:45:54 -05:00
Luke Granger-Brown
35a3d701a9
Add trailing / to BukkitDL URLs. Fixes BUKKIT-2015.
...
Also adds CraftBukkit version number to user agent when communicating with
BukkitDL.
2012-08-02 21:38:32 -05:00
Travis Watkins
8dc52123bf
Fix dispenser event handling
2012-08-02 17:55:13 -05:00
feildmaster
d18972eca2
Fix Nether and The End having the same world names.
2012-08-02 11:02:14 -05:00
feildmaster
402b177be4
Add missing callWorldInitEvent on startup.
2012-08-02 10:14:01 -05:00
feildmaster
764c3f24ee
Add test for WorldType's
2012-08-02 09:10:15 -05:00
feildmaster
a43d621c01
Update CraftBukkit to Minecraft 1.3.1
2012-08-02 04:58:50 -05:00
Wesley Wolfe
a4d7691299
Detect and disconnect 1.3 clients properly. Fixes BUKKIT-1952
2012-07-26 01:17:09 -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
Steve Anton
8b9aad8c2b
Add remaining missing setLastDamageCause's
2012-07-14 17:57:31 -05:00
feildmaster
79189c1c13
Add missing setLastDamageCause. Thanks MonsieurApple
2012-07-13 22:57:42 -05:00
feildmaster
46125dc6cf
Implement getExpToLevel method. Fixes BUKKIT-1906
2012-07-11 17:14:07 -05:00
feildmaster
cf9544c1d9
Reuse ItemInWorldManager, and stop applying ability changes. Fixes BUKKIT-1811
2012-07-09 18:07:53 -05:00
Mike Primm
08740d7f91
[Bleeding] Include chunk biome data for refresh chunk. Fixes BUKKIT-1166
2012-07-08 19:11:51 -05:00
feildmaster
dba9349ed4
Factor invulnerableTicks into getNoDamageTicks. Fixes BUKKIT-1324
2012-07-04 15:12:29 -05:00
feildmaster
d7272f42ef
Implement getMotd, and reload the motd. Adds BUKKIT-1799
2012-07-03 18:00:37 -05:00
feildmaster
00efc8c464
Apply setLastDamageCause after processing events and the event has not been canceled. Fixes BUKKIT-1881
...
This allows previous causes to be available during the event, as well as making the damage cause a valid one. If EntityDamageEvent is canceled, then it's not the last DamageCause.
Also prevents setting DamageCause involuntarily through construction.
2012-07-02 22:22:03 -05:00
feildmaster
e4e994f710
Treat ComplexParts as proxies for setLastDamageCause. Fixes BUKKIT-1821
2012-07-02 22:22:03 -05:00
feildmaster
0a0d5ebf20
Clean entity.damage functions. Fixes BUKKIT-1822
2012-07-02 22:22:03 -05:00
Wesley Wolfe
ff09ff07f9
Fix deprecated spawnCreature. Fixes BUKKIT-1880
2012-07-02 15:36:49 -05:00
H31IX
6093bcc445
Fix client crash on InventoryClick cancel. Fixes BUKKIT-1841
2012-06-28 19:34:51 -05:00
Travis Watkins
a21f038fc3
Mark entities as invalid when they get despawned. Addresses BUKKIT-810
2012-06-28 19:34:31 -05:00
Wesley Wolfe
f5b6abfae1
Fix double overflow/underflow calculations with explosions. Fixes BUKKIT-1865
2012-06-27 21:17:20 -05:00
TomyLobo
412b7eaa12
Implement LivingEntity.hasLineOfSight. Addresses BUKKIT-1255
2012-06-23 10:48:08 -05:00
Travis Watkins
78acee359e
Use LinkedHashSet to make redstone update order consistent. Fixes BUKKIT-1850
2012-06-23 10:47:38 -05:00
V10lator
ea4d3662be
Deprecate spawnCreature and add spawnEntity. Addresses BUKKIT-1168
2012-06-23 10:18:50 -05:00
feildmaster
568fae2e86
Trigger EntityBlockChangeEvent for Silverfish. Adds BUKKIT-1560 and BUKKIT-1593
2012-06-23 06:42:08 -05:00
feildmaster
23d5922bbf
Added EntitySilverfish for diff visibility
2012-06-23 06:42:06 -05:00
Wesley Wolfe
57763845d0
Implement plugin channel events. Addresses BUKKIT-1844
2012-06-21 02:39:59 -05:00
Travis Ralston
9f37f70527
Fire PlayerItemBreakEvent. Addresses BUKKIT-1600
2012-06-21 01:10:30 -05:00
Ammar Askar
8bc42ba8c9
Clear animal owner when untamed. Fixes BUKKIT-1482
2012-06-20 12:45:17 -05:00
H31IX
0095add08c
Add query-plugins setting. Addresses BUKKIT-1781
2012-06-20 12:40:12 -05:00
Wesley Wolfe
6bbae461d5
Fix Heisenplayers
2012-06-17 01:25:01 -05:00
Jeff Wardian
ae98a6f051
Changes '/whitelist list' to ignore comments. Addresses BUKKIT-1804
2012-06-14 23:33:21 -05:00
Jeff Wardian
ae94a3308d
Preserve whitelist ordering. Addresses BUKKIT-1805
2012-06-14 23:33:13 -05:00
obnoxint
e35f6f2526
Fire NotePlayEvent. Fixes BUKKIT-1779
2012-06-14 20:58:57 -05:00
obnoxint
72d64b516c
Add TileEntityNote from mc-dev for diff visibility.
2012-06-14 20:58:57 -05:00
Wesley Wolfe
9002690651
Implement asynchronous pre-login event; Addresses BUKKIT-1213
2012-06-13 23:00:46 -05:00
Wesley Wolfe
ed6d4c7759
Support asynchronous events; Addresses BUKKIT-1212
2012-06-13 23:00:46 -05:00
Jake King
f58e514192
Don't send kick message if the message is empty. Fixes BUKKIT-1789
2012-06-13 22:21:40 -05:00
H31IX
01fe76733f
Fire PlayerToggleFlightEvent. Fixes BUKKIT-1696
2012-06-13 22:21:35 -05:00
Wesley Wolfe
478654351a
Check world before checking distance. Fixes BUKKIT-1792
2012-06-12 16:37:47 -04:00
EvilSeph
b7827c4d22
Fixed EnderDragon not dealing damage after it has been hit. Fixes BUKKIT-1751
2012-06-12 16:37:47 -04:00
Wesley Wolfe
0f23a4fe23
Synchronize handler lists
2012-06-11 01:00:35 -05:00
Travis Watkins
0942b1861b
Handle rcon timeouts properly
2012-06-10 22:26:07 -05:00
feildmaster
d836e57871
Kill fireball if velocity isn't present. Fixes BUKKIT-1228
2012-06-09 04:35:55 -05:00
feildmaster
d5ba6c6644
Fix fireballs freezing when the chunk unloads. Addresses BUKKIT-1228
2012-06-09 04:35:32 -05:00
EvilSeph
3df6608a72
Fixed potential infinite loop in RCON handling. Fixes BUKKIT-1570
2012-06-09 02:52:14 -04:00
Wesley Wolfe
873ce288c2
Fixed decompile for loop handling
2012-06-09 02:47:25 -04:00
EvilSeph
282fcb44ed
Added RemoteControlSession for diff visibility.
2012-06-08 20:23:44 -04:00
Travis Watkins
77cc225b83
Don't try to parse directories if we don't have any.
2012-06-06 12:12:42 -05:00
Travis Watkins
6a37511144
Try to make parent directories for --log-pattern path. Fixes BUKKIT-680
2012-06-04 18:05:23 -05:00
Travis Watkins
e385ffaefc
Call ignite event for fireball shot from dispenser.
2012-06-04 17:25:39 -05:00
feildmaster
d8199aaa39
Fix a NullPointerException.
2012-06-04 04:22:22 -05:00
feildmaster
f15785669a
Launch fireballs at eye location. Fixes BUKKIT-1155
2012-06-03 05:34:58 -05:00
feildmaster
e520032205
Further improving ItemStack handling
2012-06-03 05:30:22 -05:00
Travis Watkins
13fcb9e371
Make log-strip-color a simple flag instead of a boolean.
2012-06-02 14:43:38 -05:00
Travis Watkins
70c91c161e
Resize UnsafeList to initial capacity when cleared and implement clone.
2012-06-01 13:03:59 -05:00
Travis Watkins
894ea06567
Reduce default size of path array. Addresses BUKKIT-1469.
...
The Path object creates an array of 1024 PathPoint objects as the backing
for a sorted queue but testing shows we tend to get only 80 or so entries
in the array at most. To save memory this changes the default size of the
array to 128. Changing it to 64 was considered but that triggered too many
resizes which is detremental to performance.
2012-05-31 19:55:28 -05:00
Travis Watkins
9e5d6699f5
Add Path.java from mc-dev for diff visibility
2012-05-31 19:54:31 -05:00
Wesley Wolfe
266212f9f8
Fix bold states while printing; Fixes BUKKIT-1716
2012-05-26 15:32:38 -05:00
Wesley Wolfe
25cfdfa05e
Change mapping of Gold from yellow bold to yellow; Addresses BUKKIT-1717
2012-05-26 15:27:55 -05:00
Wesley Wolfe
5d3c8bfaa4
Removed AnimalTamer cache, fixes BUKKIT-1628
2012-05-24 23:02:02 -05:00
Wesley Wolfe
c43012ef1c
Fixed broken hashCode()
2012-05-24 23:01:33 -05:00
Travis Watkins
c1bc0df718
Add in checks for potential NPEs. Fixes BUKKIT-1706 and BUKKIT-1590.
2012-05-24 19:12:56 -05:00
Charles Daffern
2f16b8ffa3
Don't spam console with errors on unexpected disconnect. Addresses BUKKIT-693
2012-05-23 21:53:02 -05:00
Charles Daffern
c07d4fffb0
Adding NetworkWriterThread for diff visibility
2012-05-23 21:53:01 -05:00
Charles Daffern
8be14b5bb3
Fix inaccurate head yaw. Fixes BUKKIT-1702
2012-05-23 21:52:59 -05:00
Travis Watkins
fdddc681d2
Use jansi's Windows support for terminal colors.
2012-05-23 15:32:42 -05:00
Travis Watkins
478fa4a969
Remove "failed to querty stty columns" spam. Fixes BUKKIT-1669.
...
When trying to execute stty to get terminal properties an
InterruptedException can be triggered even though we've read all of the
output from stty that we need. Instead of printing a warning and returning
-1 in this case try to parse what data we do have and reset the cache timer.
May also address BUKKIT-1627 and BUKKIT-1686.
2012-05-23 15:32:42 -05:00
Travis Watkins
2e744dbf64
Add files from jline for diff visibility
2012-05-23 15:32:42 -05:00
Travis Watkins
94e9543a14
Add fallback for when jline fails to initialize. Fixes BUKKIT-1675.
2012-05-23 15:32:33 -05:00
md_5
21327265f0
[Bleeding] Improve handling of ItemStacks. Addresses BUKKIT-1697
2012-05-23 04:10:49 -05:00
Score_Under
0f984dd9a5
Re-implement World.getTemperature and World.getHumidity
2012-05-23 04:02:15 -05:00
Travis Watkins
af89cc783f
Don't cap food level at 20 when eating. Fixes BUKKIT-1667
...
The amount of food gained when eating is used for calculating the food
saturation value so capping it at 20 at this point causes us to get
incorrect results. FoodMetaData.eat caps it at 20 anyway so we're safe to
not do so here.
Also readds a line from mc-dev that was mistakenly removed.
2012-05-17 21:17:23 -05:00
Travis Watkins
3ee75ab6d3
Replace TextWrapper with simple newline splitting. Fixes BUKKIT-1662
...
TextWrapper used to try to ensure a message would wrap correctly on the
client by counting the width of the characters in pixels and wrapping
before hitting that limit. This was needed because the client would lose
color information when wrapping and could not handle long lines of text.
Now that both of these problems are solved in the client we can replace
TextWrapper with simple code to split the message into multiple packets on
newlines and ensure chat colors carry across to the new packet.
2012-05-16 23:47:14 -05:00
feildmaster
b6d611d9be
Revert obsolete "fix" for Redstone Torches
2012-05-17 00:24:26 -04:00
feildmaster
41b2e89c70
Assert that the block is still present after placement. Fixes BUKKIT-1399
2012-05-17 00:24:10 -04:00
feildmaster
1d361c2f48
Fix block place protection using a larger radius. Fixes BUKKIT-1617
2012-05-16 18:43:44 -05:00
Travis Watkins
4c8f6f2caa
Add option to strip color codes from server.log file
2012-05-16 13:21:23 -05:00
Travis Watkins
e91169ebad
Add ConsoleLogFormatter for diff visibility
2012-05-15 23:29:39 -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
Travis Watkins
cbd20ec9ea
Use a different temp file for each player to avoid corruption. Fixes BUKKIT-1607
2012-05-09 01:40:19 -05:00
Travis Watkins
ef7e14f9ef
Fire events for fireball item usage. Fixes BUKKIT-1566
2012-05-09 01:40:19 -05:00
Travis Watkins
bbc3d31be7
Add ItemFireball from mc-dev for diff visibility
2012-05-09 01:40:19 -05:00
feildmaster
2f976705be
Revert "Fix potential NPE in vanish API. Fixes BUKKIT-1541"
...
This reverts commit ebf121800bd3161e4af0f6d9229ccb39c31fc278.
If the handle ever becomes null we need to know about it so we can debug it further.
2012-04-27 12:48:40 -05:00
feildmaster
99aeb32d0d
Remove Player cache and edit CraftPlayer.equals to account for EntityID. Fixes BUKKIT-1541 and Addresses BUKKIT-761
2012-04-27 12:33:40 -05:00
Travis Watkins
53ed0dad48
Don't call event if getOwner is null. Fixes BUKKIT-1545
2012-04-25 22:43:15 -04:00
md_5
3e382034e9
Fix growing large tress near world height. Fixes BUKKIT-1072
2012-04-25 22:30:42 -04:00
Travis Watkins
0153fe1f33
Check if packet is null before checking priority. Fixes BUKKIT-1579
2012-04-25 10:34:53 -05:00
Travis Watkins
40be9c8403
Optimized a little too much. Update goals every tick again to avoid AI oddness.
2012-04-24 23:20:29 -04:00
Travis Watkins
8f1fc96da0
Fixed per-world spawn limits. I have no idea how we missed this.
2012-04-24 22:28:26 -04:00
Travis Watkins
73ae279e8d
Update players when potion effects are moved from them. Fixes BUKKIT-789
2012-04-24 21:58:35 -04:00
Travis Watkins
e98cfbd992
Remove address from throttle hashmap before killing socket. Fixes BUKKIT-659
2012-04-24 21:58:24 -04:00
Travis Watkins
e3363db0a9
Remove "Fetching addPacket..." spam as it isn't useful. Fixes BUKKIT-32
2012-04-24 21:58:12 -04:00
Travis Watkins
9c12dc0ef8
Fix potential NPE in vanish API. Fixes BUKKIT-1541
2012-04-24 21:57:54 -04:00
feildmaster
0220c1ff74
Remove legacy Chunk cache. Fixes BUKKIT-1400
2012-04-24 15:06:11 -05:00
feildmaster
119b5d18a5
Load player data before calling PlayerLoginEvent. Fixes BUKKIT-1531 and Fixes BUKKIT-601.
2012-04-23 22:12:19 -05:00
EvilSeph
e61a316815
We build for Java 1.5.
2012-04-23 23:05:57 -04:00
Travis Watkins
edfc8ba92f
Add per-world spawn limits with fallback to server-wide bukkit.yml settings.
...
Fixes BUKKIT-1565
2012-04-23 22:54:43 -04:00
Travis Watkins
b7376e0865
Avoid doing unnecessary range checks when we're looping from start to end.
...
Make EntityLiving call AI logic every tick again.
Rework PathfinderGoalSelector logic.
Adds UnsafeList for use in places where we use ArrayList and know we won't
get index out of range errors. Added usage to World's tickEntities, Chunk's
entitySlices to speed up searching for entities, and to PathfinderGoalSelector
to speed up dealing with AI goals.
Reworked logic in PathfinderGoalSelector with help from fullwall. This code
no longer uses an extra ArrayList for setting up goals and only updates which
goals should be run every other time it is called.
Removed only calling PathfinderGoalSelector every other tick from EntityLiving
as we now only setup new goals every other tick. This ensures existing goals
run every tick to properly update mob movement.
2012-04-23 21:52:08 -04:00
Travis Watkins
e8459c1ff6
Optimize AI and EntityLiving ticking
...
Reduce usage of getCubes as it is an expensive call.
Remove iterator usage and object creation from PathfinderGoalSelector
methods as these are called very often.
Update EntityLiving goal selectors less often as this is still quite an
expensive task.
2012-04-21 23:53:10 -04:00
Travis Watkins
343f39b2b3
Add PathfinderGoalSelector for diff visibility
2012-04-21 23:52:38 -04:00
EvilSeph
8f6fe0a643
Rework clipping logic again, now works as well as the original implementation
2012-04-21 00:45:30 -04:00
EvilSeph
3e15a6911f
Added Packet24 for diff visibility.
2012-04-21 00:44:31 -04:00
Wesley Wolfe
e28ae3f2fe
Reworking clipping logic; Fixes BUKKIT-1472
2012-04-15 18:29:02 -05:00
Wesley Wolfe
2e646d2809
Made permissions.yml registration easier; Addresses BUKKIT-1499
...
The permissions.yml now behaves similar to a plugin.yml
2012-04-15 13:24:38 -05:00
feildmaster
748ebae550
Properly call EntityDeathEvent for mobs. Fixes BUKKIT-1519
2012-04-15 09:16:43 -05:00
feildmaster
6307efd2d1
Set current recipe to null when a recipe isn't found. Fixes BUKKIT-1456
2012-04-15 01:53:18 -05:00
feildmaster
27a9b4c907
Filter entity spawning sanely.
2012-04-15 01:52:51 -05:00
feildmaster
0026a08fa8
Use SpawnReason.DEFAULT instead of SpawnReason.CUSTOM, freeing CUSTOM to plugin spawning.
...
This gets used in case we are missing appropriate SpawnReason's for various Entity spawns.
2012-04-14 01:44:01 -05:00
feildmaster
e17d3ece00
Added SpawnReason.SLIME_SPLIT, Fixes BUKKIT-790
2012-04-14 01:38:22 -05:00
feildmaster
1dcb39074d
Persist PlayerDeathEvent values. Fixes BUKKIT-1521
2012-04-14 00:30:39 -05:00
h31ix
7586e7168b
Make the dispenser check if the dispensed item has been changed before removing it. Fixes BUKKIT-316
2012-04-03 21:42:37 -05:00
Wesley Wolfe
6a79e506cf
Implement new address to PlayerLoginEvent; Addresses BUKKIT-431
2012-04-03 21:07:15 -05:00
feildmaster
20dea920c2
Don't spawn conditional mobs if original entity is dead. Fixes BUKKIT-1444
2012-04-03 18:07:46 -05:00
feildmaster
af0018a962
Mark entities as dead when spawning fails. Treat as canceled if entity is dead.
2012-04-03 18:06:51 -05:00
EvilSeph
0c9e1b13a0
Made using RAW_FISH on Ocelots when a player has the ability to instantly build not decrement the stack. Fixes BUKKIT-1439
2012-04-03 14:13:27 -04:00
feildmaster
52d9473e6b
SpawnRadius should only apply to main world. Fixes BUKKIT-1427
2012-04-02 16:40:45 -05:00
feildmaster
bad3979b8f
Make EntityCreatePortalEvent block list Unmodifiable.
2012-04-02 16:32:54 -05:00
feildmaster
470d9f9e1d
Tell clients to update if EntityPortalCreateEvent is canceled. Fixes BUKKIT-1426
2012-04-02 16:32:52 -05:00
EvilSeph
81102479a7
Made Slimes spawn less often in FLAT worlds. Fixes BUKKIT-1441
2012-04-02 17:10:17 -04:00
EvilSeph
7594c91c84
Made item use when a player has the ability to instantly build not decrement the stack. Fixes BUKKIT-1439
2012-04-02 15:25:21 -04:00
Travis Watkins
f4558f5d7d
[Bleeding] Hacky entity clipping fix; Fixes BUKKIT-50
...
Special thanks to 'trunkz' on Minecraft Forums for initial
implementation.
2012-04-02 14:17:20 -05:00
feildmaster
a963880bd8
Add BlockRedstoneEvent to Redstone Lamps, Addresses BUKKIT-1431
2012-04-02 14:11:02 -05:00
feildmaster
ed8cf5196e
Add BlockRedstoneLamp for diff visibility.
2012-04-02 14:08:11 -05:00
feildmaster
058bd748b6
Fixed interacting with Air returning a false block.
2012-04-01 05:10:31 -05:00
feildmaster
7c137d8b19
Added a reason for randomly spawning Ocelot babies. Addresses BUKKIT-1391
2012-03-31 21:30:28 -05:00
feildmaster
c8d4a7c835
Fixed breaking at world height in creative. Fixes BUKKIT-997
2012-03-31 19:21:29 -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
EvilSeph
e0c01154b0
Fixed potential issue when converting worlds. Fixes BUKKIT-1307
2012-03-29 08:41:41 -04:00
EvilSeph
cbab48a7bd
Added OldChunkLoader for diff visibility.
2012-03-29 08:01:57 -04:00
feildmaster
57873b8d05
[Bleeding] Added SpawnReason.BREEDING. Fixes BUKKIT-1356
2012-03-27 20:29:22 -04:00
feildmaster
ec123deb74
Adding PathfinderGoalBreed for diff visibility.
2012-03-27 20:29:03 -04:00
Warren Loo
c100e20d60
Reverting the Drop API for now, we need to re-evalute this as it is causing too many issues and blocking releases.
...
This reverts commits:
- d2d03afc8854394aeefb40ea5ebf224c8032b19f
- 6245746e91123dd8ef70e5f15b7cdfc7e36d8e8c
- 41fae5c613e9e69a8f6bdf33b23bb09d7f407433
- c34bdecab42cf4098054a5ea43e1c2958d44ae92
- d7445084ac9a90fa0b66d8b050b8d0d2a062eaf3
- 6a6ed2e6ae2328a8a791bcc6857c44dc6c6a7030
- a783bc4dc95da8e26c673abe48fad96b550aba28
- cb50fd68766df8e07631ba5be85759f8257e8068
- 34dfff2ad5c407c712b2783f02960aac5e8649f2
- f33b513820de987b49a4338e85df80968217a601
- 5fd9fdfde055e6eb6a83db246d009b69377b7c94
- 2795b116f40d06551fbb7b96d1963c0ddbeac384
2012-03-27 20:04:26 -04:00
feildmaster
c16bf07e85
[Bleeding] Allow CraftItem to be backed by non-EntityItems. Fixes BUKKIT-1351
2012-03-26 16:36:31 -04:00
feildmaster
bdccfd29ec
[Bleeding] Stop filtering out 0 damage for Humans. Fixes BUKKIT-1348
2012-03-26 16:32:42 -04:00
feildmaster
9d0ea52021
[Bleeding] Fixed potions throwing double events. Fixes BUKKIT-1332
2012-03-26 16:05:38 -04:00
feildmaster
b45184fdf8
[Bleeding] Fixed dropping invalid Magma Creams. Fixes BUKKIT-1336
2012-03-25 19:52:44 -04:00
feildmaster
f1a235dcba
[Bleeding] Fixed ocelot dropping leather. Fixes BUKKIT-1333
2012-03-25 19:52:14 -04:00
feildmaster
e66159e21d
[Bleeding] Fix snowball drops. Fixes BUKKIT-1314
2012-03-25 19:47:14 -04:00
feildmaster
80db22b643
Refactor code to be more efficient.
2012-03-25 19:46:55 -04:00
feildmaster
c30e339af6
[Bleeding] Fixed item duping in certain occasions. Fixes BUKKIT-1310
2012-03-25 18:57:27 -04:00
feildmaster
0c9b59e071
[Bleeding] Fixed TNT dropping when it shouldn't. Fixes BUKKIT-1304
2012-03-25 18:57:13 -04:00
Travis Watkins
94d718a146
Check abilities instead of mode for allow flight check. Fixes BUKKIT-1302
2012-03-25 18:23:51 -04:00
feildmaster
9c7ffb6d3c
[Bleeding] Fixed blocks dropping when BlockBreakEvent is canceled. Fixes BUKKIT-1299
2012-03-23 14:51:05 -04:00
Nathan Adams
942c1c6a3e
Fixed incorrect assigning to isFlying when toggling setAllowedFlight(false)
2012-03-23 14:41:53 +00:00
Nathan Adams
6ef9500410
Fixed fatal crash at world generation.
2012-03-23 14:32:00 +00:00
feildmaster
40e0962735
Seriously fix natural drops. Fixes BUKKIT-1297 and fixes BUKKIT-1295
2012-03-23 07:18:20 -04:00
EvilSeph
ff22e4e341
Really fixed Block.breakNaturally(). Fixes BUKKIT-1295
2012-03-23 03:21:20 -04:00
EvilSeph
b60a6743ed
Fixed Block.breakNaturally(). Fixes BUKKIT-1295
2012-03-23 02:37:38 -04:00
EvilSeph
cf2abd20e8
Fixed Doors not dropping when the block they are placed on is removed. Fixes BUKKIT-1292
2012-03-23 01:48:24 -04:00
feildmaster
52ecd60e61
[Bleeding] Add a check for illegal blocks. Addresses BUKKIT-1278. Needs more investigation.
2012-03-22 21:04:06 -04:00
EvilSeph
724b82626a
Reverted to original TextWrapper. Might re-investigate after the RB. Fixes BUKKIT-1275
2012-03-22 19:22:35 -04:00
Nathan Adams
904cf388b4
Re-added TextWrapper, and fixed chat length issues (at cost of it looking not so nice sometimes!) This fixes BUKKIT-1275
2012-03-22 23:03:02 +00:00
EvilSeph
ddaf3c84d3
Fixed Connection Throttle handling. Fixes BUKKIT-1279
2012-03-22 18:57:02 -04:00
Nathan Adams
8fb141bfa0
Implemented new player flight methods. This implements BUKKIT-1281. This also fixes BUKKIT-1146.
2012-03-22 22:04:13 +00:00
EvilSeph
ca8b9a0bb4
Removed temporary hackish fix for the entity interactivity issues, fixed properly in MC1.2.4.
2012-03-22 17:40:07 -04:00
EvilSeph
ccbb4b479a
Made Snowmen use a DamageCause MELTING for melting in hot biomes. Addresses BUKKIT-1244
2012-03-22 17:33:33 -04:00
EvilSeph
f6bcaa6b0a
Fixed minecarts being dropped when crashing a boat. Fixes BUKKIT-1273
2012-03-22 16:58:13 -04:00
EvilSeph
c2cdeac09b
Added configurable Connection Throttle. Addresses BUKKIT-1274
2012-03-22 16:56:15 -04:00
Nathan Adams
dda37aa18c
Nuked TextWrapper. We don't need you anymore, old friend :(
2012-03-22 20:49:05 +00: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
md_5
8dc7417a3d
[Bleeding] Fixed bug involving pistons and powered rails. This fixes BUKKIT-517
2012-03-22 03:09:52 -04:00
md_5
8ad27aa01d
Added BlockMinecartTrack and MinecartTrackLogic for diff visibility.
2012-03-22 03:09:33 -04:00
EvilSeph
8d35caf070
Kick for invalid carried item.
2012-03-22 02:55:50 -04:00
Mike Primm
f188afe794
[Bleeding] Prevent update inconsistencies on generation/decoration that span chunks. Fixes BUKKIT-871
2012-03-22 02:36:38 -04:00
Mike Primm
09a73d352c
[Bleeding] Make sure biome data is initialized during generate - prevent uninitialized data being sent to client. Fixes BUKKIT-871
2012-03-22 02:34:54 -04:00
Mike Primm
6cd2a70803
Added for diff visibility:
...
- ChunkProviderGenerate
- ChunkProviderFlat
- ChunkProviderHell
- ChunkProviderTheEnd
2012-03-22 02:34:41 -04:00
rmichela
0a925ff067
[Bleeding] Added support for custom index help topics in help.yml. Addresses BUKKIT-1263
2012-03-22 00:50:10 -04:00
rmichela
eb3c092ef8
[Bleeding] Added option to completely disable all automatic help topic generation by adding "All" to the ignore-plugins list in help.yml. Addresses BUKKIT-1264
2012-03-22 00:50:09 -04:00
zml2008
31b1bc02ca
[Bleeding] Fixed a StackOverflowError with command alias handling for Help. Addresses BUKKIT-1253
2012-03-22 00:50:09 -04:00
zml2008
8aee4c3f56
[Bleeding] Added support for all TreeType entries to CraftWorld.generateTree(). Addresses BUKKIT-1161
2012-03-21 20:32:17 -04:00
zml2008
27acb4c41e
Added WorldGenSwampTree for diff visibility
2012-03-21 20:32:05 -04:00
aPunch
169c2ee8cb
[Bleeding] Added Ageable interface for Villagers and Animals to extend. Addresses BUKKIT-1232
2012-03-21 16:05:07 -04:00
zerg960
96c4bb7da6
[Bleeding] Account for new rare drops in EntityDeath events. Fixes BUKKIT-1105
2012-03-21 13:24:59 -04:00
Celtic Minstrel
1c95413f49
[Bleeding] Fix for creeper getDrops() not reporting the music disk if it was killed by a skeleton. Addresses BUKKIT-1133
2012-03-21 13:11:47 -04:00
Celtic Minstrel
5ba8928041
[Bleeding] Added getting and setting drops to all appropriate events. Fixes BUKKIT-397 and fixes BUKKIT-1252
...
- Allows drops in creative mode by adding items to the getDrops() list
- Contents of containers are not reported
- Contents of storage minecarts are not reported
2012-03-21 12:42:51 -04:00
Celtic Minstrel
8d62de7055
Added for diff visibility:
...
- BlockBed
- BlockDeadBush
- BlockLongGrass
- BlockVine
2012-03-20 22:17:47 -04:00
Celtic Minstrel
784aa3b602
[Bleeding] Fix the openInventory methods for custom inventories. Fixes BUKKIT-1248
...
Details:
- The attributes of custom inventory views are no longer ignored
- Enchanting or crafting inventories no longer ignore the passed inventory and open a new one
- Inventories associated with tile entities no longer raise a class cast exception if there was no associated tile entity
- InventoryOpenEvent and InventoryCloseEvent (if they already had some other inventory open) now fire in all cases
- If for any reason the inventory failed to open, the method now returns null instead of returned the previous inventory they had open (or the default inventory, if none)
2012-03-20 21:31:42 -04:00
Celtic Minstrel
43001ca2a8
[Bleeding] Only fire CraftItemEvent if there's actually an item there to craft (ie, don't fire it for a click on an empty result slot). Fixes BUKKIT-1250
2012-03-20 21:18:14 -04:00
Celtic Minstrel
93732e21bc
[Bleeding] Fixed NullPointerException in InventoryView.setCursor() if you tried to empty the cursor by setting it to null. Fixes BUKKIT-1043
2012-03-20 20:45:26 -04:00
Celtic Minstrel
288662bfae
[Bleeding] Fix some return types that could lead to ArrayStoreException
2012-03-20 20:43:12 -04:00
Celtic Minstrel
b9a71db046
[Bleeding] Make crafting and enchanting inventories keep track of their owner rather than returning null. Addresses BUKKIT-1209
2012-03-20 20:30:54 -04:00
Celtic Minstrel
4bcbe2d235
[Bleeding] Add Chest.getBlockInventory() for convenience; this always returns a single chest inventory. Addresses BUKKIT-1247
2012-03-20 19:41:35 -04:00
Celtic Minstrel
cd9779196b
[Bleeding] Add iterator() with starting index. Addresses BUKKIT-1246
2012-03-20 19:40:44 -04:00
md_5
7966531113
[Bleeding] Completely fix the tree generation algorithm to make it near identical to vanilla as well as fix potential bugs associated with disappearing saplings.
2012-03-20 06:38:03 -04:00
aPunch
ea60181a87
[Bleeding] Added way to get/set if Iron Golem was player created. Addresses BUKKIT-1229
2012-03-20 05:13:36 -04:00
Wesley Wolfe
68b98d4c8f
[Bleeding] Implement ExpBottleEvent; Addresses BUKKIT-888
2012-03-20 03:24:57 -04:00
Wesley Wolfe
9055a20d71
Added EntityThrownExpBottle for diff visibility.
2012-03-20 03:24:08 -04:00
Celtic Minstrel
71a51b024b
Reverted invalid clone. Fixes BUKKIT-1198
2012-03-16 17:10:42 -04:00
rmichela
82fab5b2d5
[Bleeding] Moved HelpTopicComparator to Bukkit.jar. Addresses BUKKIT-1193
2012-03-16 03:49:36 -04:00
rmichela
4589e943f6
[Bleeding] Added support for color codes in help.yml. Addresses BUKKIT-1191
2012-03-16 03:12:48 -04:00
rmichela
46429c6cb9
[Bleeding] Implemented the command-topics-in-master-index option in help.yml. Addresses BUKKIT-1189
...
When false, help topics that start with a slash are omitted from the mater index.
2012-03-16 03:10:25 -04:00
rmichela
f87e053c66
[Bleeding] Added automatically generated plugin-level sub-indexes to the master help index. Addresses BUKKIT-1180
2012-03-16 02:48:19 -04:00
rmichela
184faf1f29
[Bleeding] Added option to remove entire plugins from the help index using the help.yml file. Addresses BUKKIT-1178
2012-03-16 02:44:05 -04:00
EvilSeph
fc697a4f44
Fixed translation issue in EntityMinecart. Addresses BUKKIT-980
2012-03-16 02:38:57 -04:00
Celtic Minstrel
241cf1c664
[Bleeding] Allow custom inventory views to change their type to BREWING or ENCHANTING, and also allow them to change their title and size. Fixes BUKKIT-1190
2012-03-15 23:54:00 -04:00
Celtic Minstrel
db5f804482
[Bleeding] Check top inventory type when determining whether a click event is a craft event. Fixes BUKKIT-1112
...
- Credit to Taufiq Hoven for locating the root cause of the issue.
2012-03-15 23:24:54 -04:00
Celtic Minstrel
f7da5d2ad7
[Bleeding] Disabled data filtering for mob spawners. Addresses BUKKIT-329
2012-03-15 23:24:34 -04:00
Celtic Minstrel
5c8fd4995f
[Bleeding] Implemented Inventory.{get,set}MaxStackSize(). Addresses BUKKIT-1076
...
- Custom inventories also respect this setting now.
2012-03-15 22:44:10 -04:00
Celtic Minstrel
66e067f373
[Bleeding] Make InventoryView.setItem(-999, item) drop the item on the ground by default.
2012-03-15 22:26:27 -04:00
Celtic Minstrel
83265005f6
[Bleeding] Made ItemStack constructors not default to an amount of 0. Fixes BUKKIT-610
2012-03-15 22:17:09 -04:00
Celtic Minstrel
76cc488402
[Bleeding] DoubleChestInventory.getHolder() no longer returns null. Addresses BUKKIT-995
2012-03-15 22:13:46 -04:00
Celtic Minstrel
f27427ad19
Fix some improper item cloning instances that would have dropped enchantments
2012-03-15 21:47:37 -04:00
Wesley Wolfe
77ceb0002c
Fix losing enchants from stacked items in custom inventories
2012-03-15 21:47:29 -04:00
EvilSeph
42822ddca4
Re-added EntityCombust event to skeletons. Fixes BUKKIT-1188
2012-03-15 18:48:44 -04:00
Celtic Minstrel
92f771a022
[Bleeding] Implemented ProjectileLaunchEvent. Addresses BUKKIT-284
2012-03-15 07:18:59 -04:00
feildmaster
b4c9ad518a
[Bleeding] Call DamageEvent before CombustEvent for Arrows. Fixes BUKKIT-1100
2012-03-15 06:05:49 -04:00
EvilSeph
3054d020d3
Disabled BukkitDLUpdaterServiceTests. Nice to have, but should not be run on every compile as it relies on DLB being up. Addresses BUKKIT-1140
2012-03-15 06:05:36 -04:00
md_5
c90a7a52e7
[Bleeding] Fixed maxStack being incorrectly set to 0 in custom craft inventories. Fixes BUKKIT-1181
2012-03-15 05:30:44 -04:00
feildmaster
4503167283
Fixed EntityDamageByEntityEvent to call for every attackable entity. Fixes BUKKIT-1129, Fixes BUKKIT-1054 and Fixes BUKKIT-147.
2012-03-15 05:11:48 -04:00
EvilSeph
c625d00351
Stop loading the 'flying' setting from player.dat until it is properly implemented and used in NMS. Fixes BUKKIT-1183
2012-03-15 05:00:37 -04:00
EvilSeph
adebd466fb
Added PlayerAbilities for diff visibility.
2012-03-15 04:54:59 -04:00
EvilSeph
5a6878b9b1
Made stepping on Redstone Ore fire PlayerInteract events for players, EntityInteract events for other entities. Fixes BUKKIT-1163 and fixes BUKKIT-1182
...
Note: the client seems to predict redstone ore interacting, so you may see
ore lighting up when it shouldn't be. However, cancelled events should
function as expected.
2012-03-15 04:38:16 -04:00
EvilSeph
16c6cbe5eb
Added BlockRedstoneOre for diff visibility.
2012-03-15 00:33:56 -04:00
zml2008
868eaf571c
[Bleeding] Call a LAVA BlockIgniteEvent in another place in BlockStationary. Fixes BUKKIT-970
...
Also adds CraftEventFactory.callEvent(Event), which returns the event called. Currently only used for n.m.s.BlockStationary's lava
BlockIgniteEvent calls.
2012-03-15 00:33:55 -04:00
EvilSeph
2a4167d8a5
Made snowmen in rain or water fire EntityDamage events with DamageCause DROWNING. Fixes BUKKIT-1165
2012-03-14 01:29:02 -04:00
EvilSeph
373afd1b22
Made snowmen melting fire EntityDamage events with DamageCause FIRE_TICK. Fixes BUKKIT-1164
2012-03-14 01:27:31 -04:00
Celtic Minstrel
f219f0efe9
Implemented Enchantment.conflictsWith(). Addresses BUKKIT-1159
2012-03-13 22:23:33 -04:00
Celtic Minstrel
28c1f571d2
[Bleeding] Added Player.isBlocking(). Addresses BUKKIT-858
2012-03-13 19:43:07 -04:00
EvilSeph
b37872c1a6
Made PlayerInteractEvent fire for digging within spawn for informational purposes only. Fixes BUKKIT-1086
2012-03-13 19:15:20 -04:00
feildmaster
06b814fd7e
[Bleeding] Added EntityBreakDoorEvent. Fixes BUKKIT-1134
2012-03-11 16:31:11 -04:00
feildmaster
69ee00b6f0
Adding PathfinderGoalBreakDoor for diff visibility.
2012-03-11 16:30:44 -04:00
EvilSeph
1b6ca577f5
Fixed translation issue and enderman not spawning when The End is generated. Fixes BUKKIT-1115
2012-03-11 07:04:54 -04:00
EvilSeph
0f659850b2
Made golems spawning respect spawn-animals for real. Fixes BUKKIT-1124
2012-03-11 06:28:03 -04:00
rmichela
8ddd2f0566
[Bleeding] Help index now identifies itself as "Help: Index" rather than "Help: null"
2012-03-11 03:49:27 -04:00
EvilSeph
c84af98ccd
Made World.refreshChunk() refresh the chunk, thanks zerg960! Fixes BUKKIT-1014
2012-03-11 03:38:29 -04:00
feildmaster
4545336fdf
Only remove blocks when golem is successfully spawned. Fixes BUKKIT-1094
2012-03-11 01:30:16 -05:00
EvilSeph
433efec68f
Fixed BlockStateListPopulator in EntityEnderDragon not being populated. Fixes BUKKIT-1130
2012-03-11 00:42:43 -05:00
EvilSeph
2aad49eecc
Made ender pearls use the player's yaw and pitch. Fixes BUKKIT-1056
2012-03-11 00:11:41 -05:00
Kevin Ingersoll
49ff166d15
Fixed potential packet loss issue with vanish API. Fixes BUKKIT-1125
2012-03-10 23:19:15 -05:00
Mike Primm
bdd2139c78
[Bleeding] Add getWorldType() and getGenerateStructures() to CraftServer. Fixes BUKKIT-855
2012-03-10 18:36:28 -05:00
Mike Primm
eaa56941f3
[Bleeding] Make zero (or very small) explosions do no damage. Fixes BUKKIT-931
2012-03-10 18:36:27 -05:00
rmichela
996832ff6c
[Bleeding] Added support for amending help topic visibility permissions in help.yml. Addresses BUKKIT-1113
2012-03-10 18:36:27 -05:00
rmichela
a8b2c6d04e
[Bleeding] Implemented command aliases in help. Addresses BUKKIT-1028
2012-03-10 17:56:20 -05:00
rmichela
03ce67c38c
[Bleeding] Moved DefaultHelpTopic and GenericCommandHelpTopic to public bukkit api.
2012-03-10 17:56:07 -05:00
rmichela
378424a1a1
[Bleeding] Added support for linking custom CommandExecutor types to a HelpTopicFactory. Fixes BUKKIT-1027
2012-03-10 17:55:44 -05:00
EvilSeph
5c757df673
Made iron golems spawning to defend villagers respect spawn-animals. Fixes BUKKIT-1124
2012-03-10 16:56:21 -05:00
EvilSeph
ae6b3711ea
Made zombie invasions respect spawn-monsters setting. Fixes BUKKIT-1123
2012-03-10 16:31:21 -05:00
EvilSeph
f534863552
Make setting slots to AIR set them to null. Addresses BUKKIT-1043
2012-03-10 15:54:10 -05:00
EvilSeph
68c89fcac9
Fixed enchanting in Creative. Fixes BUKKIT-1119
2012-03-10 15:52:56 -05:00
feildmaster
77ef051095
[Bleeding] Added new target events. Fixes BUKKIT-935
2012-03-10 02:08:33 -05:00
feildmaster
a967d6e371
Added PathfinderGoalTarget, PathfinderGoalArrowAttack, PathfinderGoalMeleeAttack for diff visibility.
2012-03-10 02:07:23 -05:00
EvilSeph
08bd33a3ed
Made entering an end portal from The End move the player to their bed spawn if it exists. Fixes BUKKIT-1061
2012-03-10 01:52:45 -05:00
EvilSeph
6f40a22e16
Made feeding wolves fire EntityRegainHealth events. Fixes BUKKIT-1111
2012-03-09 22:45:26 -05:00
EvilSeph
fce3386aa0
Added EntityTame event. Fixes BUKKIT-1109
2012-03-09 22:26:21 -05:00
EvilSeph
e625999f24
Added EntityWolf for diff visibility.
2012-03-09 22:26:21 -05:00
Nathan Adams
36406afa6b
Re-re-fixed block transmutation
2012-03-10 03:18:04 +00:00
Nathan Adams
cf9d00a71a
Re-fixed block transmutation
2012-03-10 03:12:39 +00:00
EvilSeph
848344250d
Fixed sheep not firing events when eating grass. Fixes BUKKIT-1104
2012-03-09 14:36:21 -05:00
EvilSeph
9b5a4d68b9
Added PathfinderGoalEatTile for diff visibility.
2012-03-09 14:25:44 -05:00
EvilSeph
c4b4afa14d
Fixed being unable to use water in The End. Fixes BUKKIT-1002
2012-03-09 13:35:04 -05:00
EvilSeph
ec2713b256
Added WorldProviderTheEnd for diff visibility.
2012-03-09 13:34:27 -05:00
EvilSeph
d1dd96f560
Made Chunk.getEntities() account for the world height increase. Fixes BUKKIT-1059
2012-03-09 13:09:15 -05:00
EvilSeph
45cf927446
(Re)restricted the nether to 128 world height. Fixes BUKKIT-976
2012-03-09 12:08:59 -05:00
SpaceManiac
a602d5c8c1
[Bleeding] Implemented getting the hostname a player used to log in. Addresses BUKKIT-984
2012-03-09 11:46:06 -05:00
Mike Primm
97669f8d90
[Bleeding] Add updated interfaces for custom chunk generation. Addresses BUKKIT-874
2012-03-09 11:46:06 -05:00
Mike Primm
796a9ba8fd
Add vanilla ChunkSection.java from mc-dev for diff visibility.
2012-03-09 01:10:29 -05:00
EvilSeph
cbdcb44a11
Made zombie invasions fire CreatureSpawn event. Fixes BUKKIT-1090
2012-03-08 22:12:54 -05:00
EvilSeph
ec555a71e3
Added VillageSiege for diff visibility.
2012-03-08 22:08:37 -05:00
EvilSeph
ecb00bba85
Made iron golems fire CreatureSpawn event. Fixes BUKKIT-1089
2012-03-08 21:57:46 -05:00
EvilSeph
f5ce8627c6
Added Village for diff visibility.
2012-03-08 21:54:29 -05:00
EvilSeph
43a00954f5
Made PlayerPortalEvent fire when leaving The End. Fixes BUKKIT-478
2012-03-08 19:50:01 -05:00
EvilSeph
f26fbc3bf3
Fixed EnderPearls not being limited to the world they were used in. Fixes BUKKIT-658
2012-03-08 19:31:10 -05:00
EvilSeph
8ecdfe9eed
Added missing filters to addEntity. Fixes BUKKIT-794
2012-03-08 18:09:32 -05:00
Mike Primm
1e06e150b6
[Bleeding] Only do unload-all on tick when last player leaves. Fixes BUKKIT-1060
2012-03-08 16:27:01 -05:00
aPunch
0ba2d285f0
[Bleeding] Made Iron Golems and Ocelots throw EntityDeathEvent. This fixes BUKKIT-1010.
2012-03-08 02:17:46 -05:00
aPunch
1c641ed982
Added EntityIronGolem and EntityOcelot for diff visibility.
2012-03-08 02:14:41 -05:00
Mike Primm
a029f32ccd
[Bleeding] Add APIs for editing biome data, fix existing code to use persistent biome data. Addresses BUKKIT-1075
2012-03-08 01:53:06 -05:00
rmichela
b5e92871eb
[Bleeding] Added ConversationAbandonedEvent and supporting infrastructure. Whenever a conversation exits, the ConversationAbandonedEvent is triggered with details about how the conversation ended and what, if anything caused it to end. Fixes BUKKIT-986
2012-03-08 01:29:49 -05:00
EvilSeph
7a8ef4f6a4
Extremely hackish fix for the entity interactivity issue. Fixes BUKKIT-960
2012-03-07 23:51:55 -05:00
EvilSeph
b5af5adc7e
Fixed the dreaded GSOD crash. Fixes BUKKIT-1040
2012-03-07 22:07:37 -05:00
Tahg
2ff8a8749f
Fixed copy error in DoubleChest's inventory
2012-03-05 15:28:59 -05:00
Eric Stokes
2feb2ea124
Fix worlds loading improperly. Fixes BUKKIT-991
...
This patch fixes an incorrect path being passed to the WorldLoaderListener. It expects the world container, then checks convertable on the name.
2012-03-03 21:04:31 -05:00
Tahg
4ac2b08320
Added missing null check for enchantments. Fixes BUKKIT-897
2012-03-03 05:59:40 -05:00
Nathan Adams
90fae3b579
Fixed leaf decay issue - this fixes BUKKIT-948 and BUKKIT-871
2012-03-03 10:15:26 +00:00
Wesley Wolfe
c6273810a1
[Bleeding] Fixed crafting enchanted items, fixes BUKKIT-602
2012-03-02 21:10:39 -05:00
Tahg
2d5263bfe5
recover from converter issue FIXES BUKKIT-890
2012-03-02 20:59:24 -05:00
Nathan Adams
ec35500c63
Implemented Villager API for getting/setting Profession. This adds BUKKIT-887
2012-03-03 01:58:40 +00:00
Nathan Adams
20c8ae59fc
Slightly changed the Auto Updater error for when it can't find the current version
2012-03-03 01:22:43 +00:00
Nathan Adams
74220205f0
Fixed typo in help.yml header - this fixes BUKKIT-945. Thanks to a PR by turt2live
2012-03-03 00:52:05 +00:00
Nathan Adams
974ff6cb8a
... Comments!
2012-03-02 20:13:53 +00:00
Nathan Adams
61fb069c61
Fixed fatal crashes when there's a block at maxheight at spawn - this fixes BUKKIT-922.
2012-03-02 20:12:53 +00:00
Nathan Adams
ede443234e
Minor optimization getting chest inventories
2012-03-02 20:05:23 +00:00
Nathan Adams
88149dc439
Fixed chest.getInventory for double chests, thanks to Acrobot. This fixes BUKKIT-901
2012-03-02 20:03:21 +00:00
Nathan Adams
8016bf2dd0
Fixed punching out fire in creative - this fixes BUKKIT-914, thanks to md-5
2012-03-02 19:56:03 +00:00
Travis Watkins
4ac8d68c39
Fixed porting issue in World. Now uses correct variable names to add chunks for growth. This fixes BUKKIT-934
2012-03-02 14:34:31 -05: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
Tahg
cb669f72a0
Fixed porting issue with SpawnerCreature. Fixes BUKKIT-921
2012-03-02 11:12:47 -05:00
md_5
5198f2efb4
Allow the new jungle tree type to be grown both as a single sapling and as a group of 4. Fixes BUKKIT-886
2012-03-02 13:32:46 +00:00
Nathan Adams
94d4d68211
Convert contained worlds to Anvil (thanks to Amaranth)
2012-03-02 13:17:49 +00:00
Mike Primm
c51c895cd8
Implemented snapshot support for 1.2.
2012-03-02 00:47:21 -05:00
Tahg
eddefa6c50
Preserve data if possible when dropping Items from entities. Partial solution for BUKKIT-15
2012-03-01 23:02:59 -05:00
EvilSeph
bcf979b2a6
Fixed hunger not behaving correctly. Addresses BUKKIT-907
2012-03-01 22:47:33 -05:00
Tahg
2510af0d1a
Fix porting issue in World.mayPlace Fixes BUKKIT-915
2012-03-01 21:26:21 -05:00
Mike Primm
82f2a2e773
World height related fixes - 128 -> 256. Addresses BUKKIT-889
2012-03-01 20:13:28 -05:00
Nathan Adams
efc9ced128
Fixed sending maxPlayers at initial login
2012-03-01 18:41:20 +00:00
Nathan Adams
f1f9802ded
Implemented new 1.2 entities - this fixes BUKKIT-872 and BUKKIT-885
2012-03-01 18:03:14 +00:00
Tahg
5108569383
Revert filtering by dynamic block range
2012-03-01 12:17:24 -05:00
Nathan Adams
0e7b9834f9
Potentially fixed crash when building at max world height
2012-03-01 17:07:02 +00:00
Nathan Adams
eb934c760d
Made the auto-update-checker suggest channels to server administrators if they're upgrading past their preferred channel.
2012-03-01 16:04:18 +00:00
Nathan Adams
a5be079797
Fixed compile issues with StructureGrowDelegate not implementing the new isEmpty method
2012-03-01 15:38:34 +00:00
Nathan Adams
6f1fecbd31
Fixed cast issues when passing delegates to world generators, and WorldGenMegaTree method exception. This fixes BUKKIT-866, and references BUKKIT-868.
...
Also bumped version to 1.2.2-R0.1-SNAPSHOT to match Bukkit.
2012-03-01 15:35:12 +00:00
Nathan Adams
aa3678a783
Fixed NoSuchMethodError in WorldGenGroundBush
2012-03-01 15:10:06 +00:00
Nathan Adams
543c4879fe
Updated CraftBukkit to 1.2
2012-03-01 14:38:31 +00:00
Nathan Adams
a726f6de3e
Potentially fixed inventory issues. This (should) fix issue BUKKIT-860
2012-03-01 13:35:36 +00:00
EvilSeph
a53afd313e
We build for 1.5.
2012-03-01 04:48:04 -05:00
rmichela
1161de3f63
[Bleeding] Added Conversations API. Addresses BUKKIT-864
2012-03-01 04:33:59 -05:00
rmichela
818a61040e
[Bleeding] Added Help API. Addresses BUKKIT-863
2012-03-01 04:33:58 -05:00
feildmaster
c73adc9533
Fixed AchievementTest.java
2012-03-01 01:01:16 -05:00
Erik Broes
33ba9f0a2f
Updated to rename revision 02
2012-03-01 01:12:41 +00:00
Celtic Minstrel
8524ff8ef7
Fix for Java 1.5
2012-02-29 15:37:35 -05:00
Celtic Minstrel
0842bab48b
[Bleeding] Implementation of inventory framework. Addresses BUKKIT-856
...
See the corresponding Bukkit commit for details.
Implementation details:
- Any packets that include an itemstack will send air stacks as null; maybe this will even eliminate the client crash that occurs if the client receives an air stack
- Better handling of null itemstacks in general (ie less converting them to air stacks)
- Inventory.setContents() can now take an array smaller than the inventory without error
- Player.updateInventory() should now correctly update the result slot in a crafting inventory
Some small credit goes to Afforess (initial implementation of openInventory() methods) and Drakia (initial implementation of InventoryOpenEvent and InventoryCloseEvent).
2012-02-29 15:19:07 -05:00
Celtic Minstrel
10e593649c
Imported from mc-dev:
...
- TileEntity
- Container
- ContainerFurnace
- ContainerDispenser
- ContainerChest
- ContainerEnchantTableSubcontainer
- ContainerEnchantTableInventory
- ContainerBrewingStand
2012-02-29 15:13:08 -05:00
Celtic Minstrel
d20091e64c
Implementation of richer playEffect methods. Addresses BUKKIT-857
2012-02-29 14:59:27 -05:00
ZNickq
bf01e93ab6
Added EntityTargetEvent for Experience Orbs, happens when it starts moving towards a human entity! Addresses BUKKIT-820
2012-02-29 14:45:18 -05:00
James Clarke
cd90cec48c
Implemented TeleportCause enums. Addresses BUKKIT-265
2012-02-29 14:23:12 -05:00
TomyLobo
53e4a034f4
Moved getVehicle, leaveVehicle and isInsideVehicle from CraftLivingEntity to CraftEntity. Addresses BUKKIT-811
2012-02-29 13:30:46 -05:00
rmichela
1394926e53
[Bleeding] Implement Metadata framework for Entities, Blocks, and Worlds
2012-02-29 19:21:25 +01:00
Wesley Wolfe
403f874784
[Bleeding] Fix generics. Addresses BUKKIT-844
2012-02-29 12:15:31 -05:00
Travis Watkins
257fd16242
Added plugin-profiling setting to bukkit.yml.
2012-02-29 10:00:49 -05:00
TomyLobo
92dfb2500b
Adjusted CraftBukkit to work with the entity event convenience patch in Bukkit. Addresses BUKKIT-809
2012-02-29 00:12:26 -05:00
TomyLobo
dcf016822d
Fixed sneaking eye height. Addresses BUKKIT-808
2012-02-27 20:16:25 -05:00
Olof Larsson
f70f99d1a0
Fixed CraftOfflinePlayer.getLastPlayed() returning the wrong result. Addresses BUKKIT-847
2012-02-27 20:16:11 -05:00
EdGruberman
397f25aa24
Added plugin loading log entry
2012-02-26 15:46:07 -05:00
Sam Wilson
cc2e721ffc
Implement PortalCreateEvent reason codes. Addresses BUKKIT-833
...
This commit modifies the construction of PortalCreateEvents to specify
a reason for the event. Reasons are either:
1. FIRE: the portal is being created because a player set fire to an
obsidian frame.
2. DESTINATION: the portal is being created as a destination for an existing portal.
2012-02-26 15:20:09 -05:00
TomyLobo
f2d9d4174f
CraftSign changes. Addresses BUKKIT-824
...
- Removed the useless world field.
- Made it so changes to a CraftSign (which is a Block*State*) no longer reflect into the world without calling sign.update().
2012-02-26 12:15:00 -05:00
Celtic Minstrel
57bd84510f
[Bleeding] Made dragon eggs trigger BlockFromTo events when they teleport. Addresses BUKKIT-828
2012-02-25 19:17:12 -05:00
EvilSeph
5901a74565
Fixed changes made to PlayerCommandPreprocess events having no effect. Fixes BUKKIT-376
2012-02-25 16:53:54 -05:00
Celtic Minstrel
d6c6b18ba9
Fix for shaped recipes stripping enchantments from the result. Fixes BUKKIT-602
2012-02-25 16:43:16 -05:00
steffen
2887f99fe5
Fixed EntityArrow just to use the PVP setting if the destination is a
...
Player. Fixes BUKKIT-803
2012-02-24 16:58:39 -05:00
Wesley Wolfe
078e2511a5
[Bleeding] Override not applicable
2012-02-23 21:33:51 -05:00
Zeerix
7a49e29b55
[Bleeding] Undo changes to the tree WorldGenerators.
...
- All StructureGrowEvent handling for these is in BlockSapling now, using a BlockChangeDelegate to collect the data.
- Moved StructureGrowDelegate into a separate class
2012-02-23 18:27:23 -05:00
Feildmaster
796d4a8a74
[Bleeding] Fixed setTotalExp, any experience update bugs and removed Deprecated Methods. Fixes BUKKIT-798 and fixes BUKKIT-797
2012-02-23 18:27:22 -05:00
Feildmaster
d7f6d2d929
[Bleeding] Use player.getItemInHand(), instead of a new ItemStack. Addresses BUKKIT-767
2012-02-23 18:27:22 -05:00
aPunch
036b5c3956
[Bleeding] Added launchProjectile.
...
Use launchProjectile in place of individual throwSnowball, throwEgg, and shootArrow methods.
2012-02-23 15:07:41 -05:00
Celtic Minstrel
af51313ffb
[Bleeding] Added EntityType to replace CreatureType.
2012-02-22 22:06:29 -05:00
Feildmaster
7792156fb2
[Bleeding] Added BlockGrowEvent. Addresses BUKKIT-104
2012-02-22 21:46:45 -05:00
Feildmaster
847e1c62c5
[Bleeding] Added BlockCrops, BlockReed, BlockStem, BlockNetherWart for diff visibility.
2012-02-22 21:46:44 -05:00
Celtic Minstrel
326091c130
[Bleeding] Recipe API improvements and fixes. Addresses BUKKIT-738 and BUKKIT-624
...
Add a recipe iterator to make it possible to retrieve and remove recipes (BUKKIT-738), and updated the recipe classes to not clip the data to 127 (BUKKIT-624)
2012-02-21 04:24:24 -05:00
Celtic Minstrel
84ecdb5439
Imported from mc-dev:
...
- ShapedRecipes
- ShapelessRecipes
- CraftingRecipe
- FurnaceRecipes
2012-02-20 16:39:33 -05:00
Wesley Wolfe
39048be430
[Bleeding] Cleanup clone method.
2012-02-20 05:49:48 -05:00
EvilSeph
4d89a21a25
Removed EndermanPickup/Place events, replaced with EntityChangeBlock event.
2012-02-19 04:16:46 -05:00
Feildmaster
1922672f14
[Bleeding] Fire EntityDamageByEntityEvent for EnderCrystal. Fixes BUKKIT-776
2012-02-19 01:06:38 -05:00
Feildmaster
b06719dd03
[Bleeding] Moved projectile EntityDamageByEntityEvent's to event factory. Addresses BUKKIT-775
2012-02-19 01:05:11 -05:00
Mike Primm
5316c43a82
Add getEntitesByClass(Class<T>), getEntitiesByClasses(Class<?>...), deprecate getEntitiesByClass(Class<T>...)
2012-02-18 16:34:53 -05:00
Erik Broes
137880b727
Deprecation cleanup.
2012-02-18 13:06:12 -05:00
Nathan Adams
3b634b14f6
Fixed NPE when running a custom build of CraftBukkit. This fixes issue #BUKKIT-765
2012-02-18 14:06:21 +00:00
Nathan Adams
d057ee1e07
Don't print stacktraces on DLB fetching errors. And because I forgot last commit; this adds BUKKIT-760
2012-02-17 00:09:56 +00:00
Nathan Adams
236cfed616
Added a built-in update checker. See http://wiki.bukkit.org/Bukkit.yml#auto-updater for new bukkit.yml options.
2012-02-16 22:32:17 +00:00
EvilSeph
64264f61b8
Revert "Remove tile entities when a block is removed."
...
This reverts commit 1d4347fbaf3c891580a9ee40a8e9632c992f8b08.
2012-02-14 02:37:47 -05:00
Mushroom Hostage
7076ef9de6
Use createNMSItemStack on CraftingManager recipe registration. Fixes BUKKIT-602
2012-02-13 00:44:58 -05:00
EvilSeph
1c28c946fa
Fixed sprinting while breaking a painting edge case. Fixes BUKKIT-740
2012-02-13 00:40:32 -05:00
Aidan Matzko
9b10970f6b
[Bleeding] Fixed EntityChangeBlock event reporting incorrect information
...
for Enderman block placing.
2012-02-10 21:29:21 -05:00
EvilSeph
da1aead88a
Made splash options abide by PVP settings. Fixes BUKKIT-542
2012-02-10 19:23:22 -05:00
fullwall
f52665348e
[Bleeding] Added Potions API. Fixes BUKKIT-389
2012-02-10 17:41:13 -05:00
EvilSeph
63b9ed9ab4
Added configurable animal and monster ticks per spawn setting.
2012-02-10 12:16:06 -05:00
EvilSeph
c38fcb360a
Implemented JOCKEY and CHUNK_GEN SpawnReasons.
2012-02-10 07:17:41 -05:00
EvilSeph
0170ae9523
Cleanup.
2012-02-10 00:43:12 -05:00
EvilSeph
56741552e5
Made damaging EntityEnderCrystals fire EntityDamageByEntity. Fixes BUKKIT-724
2012-02-09 23:31:10 -05:00
Feildmaster
391ac23c9a
[Bleeding] Fire EntityDamageByEntityEvent's for EnderDragon being hit by Projectiles.
2012-02-09 22:20:44 -05:00
Travis Watkins
7ff8c17568
[Bleeding] Make sure we don't keep stale references to vanished players.
2012-02-09 22:03:43 -05:00
Evenprime
d8ca2401ff
[Bleeding] Send new player location after teleports only to nearby players.
2012-02-09 21:30:52 -05:00
Feildmaster
80bae060c6
[Bleeding] Use event values for damage.
2012-02-09 20:30:02 -05:00
Feildmaster
fa6fd24f2a
[Bleeding] Handle EntityHuman attack a bit more properly.
2012-02-09 20:17:03 -05:00
Feildmaster
8ecfca47de
[Bleeding] Fixed EnderDragon suffocation.
2012-02-09 20:12:38 -05:00
Aidan Matzko
6dda89d873
[Bleeding] Deprecate Enderman events in favor of EntityChangeBlock
2012-02-09 11:36:04 -05:00
Tahg
10ab7b96ed
Made steps fire a BlockPlace event. Fixes BUKKIT-394
2012-02-09 11:25:53 -05:00
EvilSeph
6abd178ea7
Added ItemStep for diff visibility.
2012-02-09 11:21:35 -05:00
craftycreeper
ad6bab8c6f
Implemented EntityTeleportEvent. Fixes BUKKIT-366
2012-02-09 03:46:42 -05:00
EvilSeph
be0ecf4670
Pass EntityEnderCrystal to EntityExplode event.
2012-02-08 21:54:22 -05:00
EvilSeph
39002fd39f
Added EntityEnderCrystal for diff visibility.
2012-02-08 20:01:46 -05:00
EvilSeph
ae333ded91
Made flaming arrows respect PVP settings. Fixes BUKKIT-541
2012-02-08 19:06:09 -05:00
EvilSeph
879a87b1e0
Fixed Pumpkins being reported as AIR in BlockPlace event when building snowmen. Fixes BUKKIT-697
2012-02-08 18:30:59 -05:00
EvilSeph
6d67456970
Made BlockPumpkin report an appropriate SpawnReason.BUILD_SNOWMAN when a snowman is spawned.
2012-02-08 18:28:41 -05:00
EvilSeph
8e7e073523
Made Ender Dragons fire EntityRegainHealth events when getting healed by Ender Crystals.
2012-02-08 10:55:15 -05:00
EvilSeph
0a52fd372a
Fixed VehicleBlockCollisionEvent returning the wrong block. Fixes BUKKIT-396
2012-02-08 06:18:04 -05:00
EvilSeph
497a0e247b
Made crafted maps fire MapInitializeEvent. Fixes BUKKIT-143
2012-02-08 05:45:55 -05:00
EvilSeph
274e8a141a
Made flaming arrows fire EntityCombustByEntity events. Fixes BUKKIT-707
2012-02-08 03:27:34 -05:00
EvilSeph
4d563342ba
Added Spawner Egg support to CreatureSpawnEvent.
2012-02-05 02:11:21 -05:00
EvilSeph
54e45b7d66
Prevent the Vanish API from sending unnecessary packets.
2012-02-03 05:12:54 -05:00
Travis Watkins
5ae8f13fde
Fixed items losing their enchantments under certain circumstances.
2012-02-03 03:39:35 -05:00
Travis Watkins
329cf29667
Added BlockFurnace for diff visibility.
2012-02-03 03:38:23 -05:00
Travis Watkins
37c8868532
[Bleeding] Implemented Vanish API.
...
Remove players that cannot see a player from their EntityTrackerEntry and only
send user list updates to players who can see the player they reference.
2012-02-03 03:34:03 -05:00
EvilSeph
028cbb8fe9
Removed MONSTER CreatureType.
2012-02-03 02:42:40 -05:00
Tahg
5479a2ca82
Fixed being unable to cancel TNT placement. Fixes BUKKIT-89.
2012-02-03 01:39:00 -05:00
Tahg
1884f2f763
Added BlockTNT for diff visibility.
2012-02-03 01:32:29 -05:00
Tahg
14bb771957
Allow plugins to change ID and Data during BlockPlace event.
...
Fixes BUKKIT-674
2012-02-03 01:14:47 -05:00
Tahg
1bb011a543
Fixed other types of 'block transmuters'.
2012-02-03 00:51:59 -05:00
Tahg
8bf770c5f9
Added debug to help with diagnosing tile entity issues in the future.
2012-02-03 00:50:35 -05:00
Tahg
2dba592dc4
Remove tile entities when a block is removed.
2012-02-03 00:45:58 -05:00
EvilSeph
8b5289d431
Fixed wrong game type being sent when a player is teleported across worlds. Fixes BUKKIT-510
2012-02-01 01:30:53 -05:00
Tahg
69e766c5f3
Fixed BlockPlace event. Fixes BUKKIT-663
2012-01-30 02:57:58 -05:00
Nathan Adams
875219e28c
Fixed vanilla issue where chunks would be mislocated and corrupt. Big thanks to Wug for the fix.
2012-01-30 04:27:25 +00:00
Nathan Adams
72559fe634
Added ChunkLoader.java and ChunkRegionLoader.java for diff visibility
2012-01-30 04:20:59 +00: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
EvilSeph
f1a35effb0
Added useExactLoginLocation(). Closes BUKKIT-145
...
useExactLoginLocation() looks for settings.use-exact-login-location within bukkit.yml.
If true, we will bypass Vanilla's behaviour of checking for collisions and moving the player if needed when they login.
If false, we will continue to follow Vanilla's behaviour and move players that 'collide' with objects when they login.
2012-01-29 12:33:05 -05:00
Erik Broes
c5a4bfd291
Use OO > new method
2012-01-29 16:06:11 +01:00
Erik Broes
3173b68bbe
Filter null/AIR from items dropped on death. Fixes: BUKKIT-653
2012-01-29 13:37:32 +01:00
Erik Broes
4c2f57592d
Add some testing
2012-01-29 11:22:11 +01:00
EvilSeph
1ea0037f49
Fixed maps crashing/disconnecting the client under certain circumstances.
2012-01-29 01:15:55 -05:00
Tahg
9b635aacc4
Moved BlockPlace event.
2012-01-28 03:09:48 -05:00
EvilSeph
7bdfea4820
Reverted onPlace changes.
2012-01-28 03:09:48 -05:00
Erik Broes
9d90839723
Put statement inside CraftBukkit block
2012-01-28 09:04:16 +01:00
EvilSeph
bb730f0ee7
Cleanup.
2012-01-27 18:23:58 -05:00
Erik Broes
38ad0ea5fd
Prevent (Entity) null to be added to the entity list.
2012-01-27 19:42:14 +01:00
Erik Broes
16d3b705c5
Fix 'Block Transmute'. Bug where you could change the data of a block 'on demand'.
2012-01-27 19:29:33 +01:00
EvilSeph
98fd1a3606
Let's be a little less tricky to the client. Relates to BUKKIT-637
2012-01-26 20:35:20 -05:00
EvilSeph
5900268e7a
Fixed the behaviour of fluid blocks. Fixes BUKKIT-629
2012-01-26 20:04:31 -05:00
EvilSeph
5bcb23502e
Trick the client instead of modifying the world. Fixes BUKKIT-637
2012-01-26 19:36:27 -05:00
EvilSeph
b987d1b052
Really loosened the throttles strictness this time.
2012-01-24 23:43:23 -05:00
EvilSeph
3e0a26f270
Fixed redstone torches not updating indirect neighbors. Fixes BUKKIT-477
2012-01-24 23:38:15 -05:00
Tahg
989acd0afb
Fix invalid data in pistons
2012-01-24 21:42:45 -05:00
EvilSeph
b416dd337f
Loosen throttle strictness.
2012-01-24 18:45:30 -05:00
Tahg
39935eb3f2
Fix diodes not updating indirect neighbors.
2012-01-24 18:03:34 -05:00
Erik Broes
3b46222c54
Persist locking of an animal's age to disk
2012-01-24 22:06:37 +01:00
Mike Primm
94231f1ecf
[Bleeding] Implemented EnchantmentTable API.
2012-01-24 06:15:34 -05:00
Tahg
c7716e1de4
[Bleeding] Audit of onPlace methods, Moved to postPlace as appropriate.
...
Closes BUKKIT-89
2012-01-24 05:18:23 -05:00
Sam Wilson
e92bdab57a
Fixed CraftLivingEntity.damage when the entity is an EntityComplex.
...
Fixes BUKKIT-589: if you call damage on an instance of EnderDragon, no damage
is done.
Reason for bug: damage calls Entity.damageEntity. But EntityComplex
overrides damageEntity to do nothing.
Fix: CraftComplexLiving should call EntityComplex.e instead of
Entity.damageEntity. e is the method that actually does damage to an
instance of EntityComplex.
2012-01-24 04:10:47 -05:00
Zeerix
872dad5540
[Bleeding] Implemented PotionSplashEvent. Closes BUKKIT-307
2012-01-24 02:12:41 -05:00
Travis Watkins
74ead3abd1
Immediately tell client a block is broken, then process the event.
...
In order to avoid clients seeing blocks break, reappear, then break again due
to lag caused by plugins taking too long to process the BlockBreakEvent we
immediately tell the client the block is air then process the event. If the
event ends up being cancelled the client will get another packet telling them
the block still exists.
2012-01-23 23:59:36 -05:00
Travis Watkins
cf521b5a5c
Only truncate player name when sending spawn packet.
2012-01-23 23:32:21 -05:00
EvilSeph
97ce5c4479
Implemented PlayerShearEntityEvent in EntityMushroomCow.
...
Due to the Vanilla client overzealously predicting things, shearing produces
client-side artifacts. See BUKKIT-611 for more information.
2012-01-23 22:41:34 -05:00
Aidan Matzko
93bc8ecd93
[Bleeding] Implemented Sheep, Shear and EntityChangeBlock API. Thanks
...
tips48! Closes BUKKIT-512
2012-01-23 18:58:37 -05:00
Mike Primm
229337bc8f
Use BlockFadeEvents to signal fire blocks burning out
2012-01-22 18:20:01 +01:00
EvilSeph
51b29eff06
Removed accidentally committed change. Needs more investigating
2012-01-21 18:52:32 -05:00
EvilSeph
4f02563c63
Reverted changes to getItem(). Will be reimplemented after RB.
2012-01-20 14:52:32 -05:00
EvilSeph
1bbeec1f75
Accounted for NMS getItem() returning null in recent commit.
2012-01-20 11:46:24 -05:00
Nathan Adams
85ab95cec7
Nullcheck EntityItem's ItemStack where required. This fixes BUKKIT-552
2012-01-20 16:40:27 +00:00
Nathan Adams
51a056ecd5
Disallow colour names in offline-mode. This fixes BUKKIT-439. Thanks to cainfool for the discovery.
2012-01-20 16:03:15 +00:00
EvilSeph
76d7a1ce1d
Properly handle null and air items. Fixes BUKKIT-435 and BUKKIT-550
...
We'll probably want to implement an ItemStack.EMPTY and return that
instead of NULL in the near future.
2012-01-20 05:40:10 -05:00
Tahg
4b0f819af2
Updated timing code for new event system
2012-01-19 18:50:39 -05:00
Nathan Adams
28fcbec3b1
Prevent re-use of internal world dimension IDs. This fixes BUKKIT-448. Thanks to snowleo for the PR.
2012-01-19 16:10:52 +00:00
Nathan Adams
b0f29b1755
Throw PlayerLevelChangeEvent and PlayerExpChangeEvent events. Thanks to feildmaster for the PR.
2012-01-19 16:07:18 +00:00
Nathan Adams
1f1c9c0d4b
Correctly take in ChatColor length when limiting player list size. This should fix BUKKIT-571
2012-01-19 15:10:00 +00:00
Erik Broes
737cf284e3
Fix giving wrong arguments to callEntityDamageEvent. Forgot to update after changing the signature :(
2012-01-18 08:16:38 +01:00
Erik Broes
112e0816b9
Actually close the inventory on a *cross*-world teleport.
2012-01-17 22:50:18 +01:00
Erik Broes
f5f268f939
Implement Player.setBedSpawnLocation(Location). Thanks md_5
2012-01-17 22:35:31 +01:00
Mike Primm
b22e727cda
[Bleeding] Make BaseBiome to Biome mapping faster, detect missing mapping in future updates
2012-01-17 19:51:33 +01:00
Zeerix
bcf6440bc4
[Bleeding] Implement EntityShootBowEvent. Thanks Zeerix.
2012-01-17 19:51:06 +01:00
Erik Broes
edbb7358fc
[Bleeding] Implementation of the brewing stand.
2012-01-17 19:50:29 +01:00
Tahg
387d7319bc
[Bleeding] Prevent BlockSnow from recursively calling a physics update.
2012-01-17 19:50:10 +01:00
Erik Broes
1d4a9e1df5
[Bleeding] Make sure to close any open inventory windows before teleporting. Thanks md_5.
2012-01-17 19:49:52 +01:00
Zeerix
1d04305cea
[Bleeding] Added event calls for healing and harming by potions
2012-01-17 19:49:11 +01:00
Zeerix
2cc70bb055
[Bleeding] Implemented Block.breakNaturally and Block.getDrops
2012-01-17 19:48:44 +01:00
Mike Primm
fb1cfea89e
[Bleeding] Implemented Block.getLightFromSky() and Block.getLightFromBlocks()
2012-01-17 19:45:23 +01:00
Mike Primm
f7585e552d
[Bleeding] Implemented World.getEntitiesByClass(Class<T>... classes)
2012-01-17 19:44:35 +01:00
Erik Broes
29096577b6
[Bleeding] Implement animal breeding API changes.
2012-01-17 19:44:11 +01:00
Nathan Adams
520cb5aa5b
Fixed bug involving pistons and powered rails. This fixes BUKKIT-517.
2012-01-15 20:50:00 +00:00
Nathan Adams
864397d6c8
Added MinecartTrackLogic.java and BlockMinecartTrack.java for diff visibility
2012-01-15 19:05:36 +00:00
Nathan Adams
d3b4375d31
Fixed LongHashset incorrectly using read lock for popAll, and made it use write lock. This fixes BUKKIT-509
2012-01-15 18:49:16 +00:00
Nathan Adams
95a72d1c59
Implemented World.getWorldType
2012-01-15 17:44:15 +00:00
Nathan Adams
65f30fd99d
Dragons now throw events when creating portals
2012-01-15 12:01:11 +00:00
Erik Broes
233de0de2c
Some efficiency updates to hit-mechanics. Thanks mintplant for the PR.
2012-01-15 12:54:58 +01:00
Nathan Adams
a753ee587d
Implemented allowFlight methods. Thanks to Qala for the PR.
2012-01-15 10:56:09 +00:00
Erik Broes
6d49b11338
Made World.playEffect a bit more efficient. Thanks mintplant for the PR.
2012-01-15 11:42:40 +01:00
Erik Broes
9c1534336c
Fix broadcasting to people without permission. Fixes BUKKIT-464. Thanks grandwazir for the PR.
2012-01-15 11:32:00 +01: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
Nathan Adams
25050e38eb
Disallow people spawning invalid entities using monster eggs. Thanks to md-5 for the PR.
2012-01-15 10:01:49 +00:00
Nathan Adams
390a79e098
Added ItemMonsterEgg.java for diff visibility
2012-01-15 10:01:42 +00: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
6495eee0c9
Throw an EntityBlockFormEvent for snowmen. Thanks to feildmaster.
2012-01-15 09:13:30 +00:00
Nathan Adams
93b3c96126
Don't allow explosions at the top of the world to wrap around. This fixes BUKKIT-232, thanks to wilsonsd for the PR.
2012-01-15 07:29:48 +00:00
Nathan Adams
23adb0d02f
Minor optimization in BlockGrass by only checking light once instead of twice. Thanks to oloflarsson for the PR.
2012-01-15 05:58:56 +00:00
Nathan Adams
b369805590
Don't allow players with modded clients to send empty (0 char) chat messages. Thanks to a PR by robin0van0der0v
2012-01-15 05:52:46 +00:00
Nathan Adams
dfbcd36ab7
Fixed a further exploit with players attacking more things that they shouldn't.
2012-01-14 18:12:59 +00:00
Nathan Adams
2ab160e484
Implemented new PlayerDeathEvent methods for exp setting
2012-01-14 18:08:27 +00:00
Nathan Adams
548ccabe2f
Fixed .createWorld not respecting container folder 100%. Thanks to plleg for the PR.
2012-01-14 17:50:31 +00:00
Nathan Adams
366d310186
Added .equals and .hashcode to CraftBlockState
2012-01-14 17:47:15 +00:00
Nathan Adams
657f458ba7
Player.setPlayerListName no longer counts colors towards the 16-char limit. Thanks to an (unfortunately old) PR by ZachBora.
2012-01-14 17:42:18 +00:00
Nathan Adams
d73c29aad7
Implemented entity.playEffect. Thanks to main--
2012-01-14 17:36:47 +00: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
Feildmaster
6cc56b8c2c
Added ItemDespawnEvent
2012-01-14 17:03:38 +00:00
Mike Primm
cc05bea457
Prevent unbounded TickList growth on busy servers (>1000 events/tick). This completes another Bleeding request.
2012-01-14 16:47:57 +00:00
Nathan Adams
52c526f313
Small optimization in EntityPlayer by caching the hashcode. Thanks to a very old PR by Belphemur. In addition, changed and slightly improved the hashcode formula for entities
2012-01-14 15:01:44 +00:00
Nathan Adams
77a12d4dce
Correct casting for creature target typechecking
2012-01-14 14:49:41 +00:00
Nathan Adams
e6bb19f63a
Fixed any chance of creatures .getTarget throwing a class cast exception - thanks to an old PR by garbagemule!
2012-01-14 14:45:56 +00:00
Nathan Adams
3d31c27864
Fixed players attempting to attack item entities - This fixes BUKKIT-341
2012-01-14 13:27:15 +00:00
Nathan Adams
d5438c30b9
Fixed block.getBiome returning null in new 1.1 biomes. This fixes BUKKIT-496
2012-01-14 13:14:14 +00:00
Nathan Adams
9da730c8e1
Made Mycel blocks throw BlockFade and BlockSpread events. This fixes BUKKIT-488. Thanks to tips48 for the pull request.
2012-01-14 12:56:54 +00:00
Nathan Adams
64ac337d4c
Added BlockMycel.java for diff visibility
2012-01-14 12:54:20 +00:00
Nathan Adams
3ee8a2372c
Additional commit to fix #BUKKIT-24
2012-01-14 12:46:23 +00:00
Nathan Adams
84b0310ae8
Fixed items retaining enchantment visual effects after all enchantments are lost
...
Issue #BUKKIT-24 - Upon removing enchantments, visual effect on item does not go away
2012-01-14 12:29:11 +00:00
Nathan Adams
0a2a38c25b
Added NBTTagCompound.java for diff visiblity
2012-01-14 12:27:38 +00:00
Nathan Adams
9ac06e7720
Fixed informing players of supported Plugin Channels
2012-01-14 01:46:22 +00:00
md-5
4dc2065f54
Undo commit cc60920 to allow for proper integration with the new Bukkit enum values
2012-01-14 11:14:43 +11:00
Tahg
24fe96ada8
Add fix for new login protocol
2012-01-13 10:20:30 -05:00
Nathan Adams
b4f215e913
Implemented new Plugin Message API - see http://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/
2012-01-13 08:53:39 +00:00
md-5
d8052a63ed
Fix NPE involving WorldTypes when using CraftServer.createWorld(WorldCreator creator)
2012-01-13 07:33:57 +01: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
42e473783e
Fixed our handling of network packets.
2012-01-10 23:21:38 -05:00
EvilSeph
194f54a90e
Revert "Improved our handling of player interactions."
...
This reverts commit b4d325e0efe44bc74e69371fb11e7c3e1124b2a3.
2012-01-10 22:19:23 -05:00
EvilSeph
bff4d0f696
Improved our handling of player interactions.
2012-01-10 01:17:19 -05:00
Andrew Ardill
67dbe71bd9
Fix calling CombustEvent caused by enchantment
...
The CombustEvent created when an Entity attacks with a fire enchanted weapon
was never raised through the plugin manager. Thanks for pointing it out
EdGruberman!
2012-01-09 10:46:07 +11:00
EvilSeph
93aed40c4f
Fixed filled bottles not appearing in inventory. Fixes BUKKIT-325. Thanks
...
md-5!
2012-01-07 22:06:41 -05:00
EvilSeph
13470ccf79
Inform the client when break events are cancelled. Thanks mrapple!
2012-01-07 20:26:23 -05:00
EvilSeph
86fef037e0
Fixed NPE in World. Fixes BUKKIT-306. Thanks Evenprime!
2012-01-07 19:12:38 -05:00