Commit graph

1590 Commits

Autor SHA1 Nachricht Datum
Wesley Wolfe
ca4c118994 Rework furnace result log. Fixes BUKKIT-5115
This changes the logic for furnace smelt event to consider a result of
null (read: air / invalid), which will still consume an item. It also
properly considers item meta in the result, instead of only checking the
item data value.
2013-12-10 16:21:09 -06:00
Travis Watkins
772867eb51 Call event when pistons push an item frame/painting. Fixes BUKKIT-5110
When pistons push/pull blocks they call Entity.move(float, float) to move
entities out of their path. For hanging entities this code path makes them
simply die and drop as an item. We now call an event in this scenario so
plugins can control this behavior.
2013-12-09 13:43:02 -06:00
Travis Watkins
305e5f4f08 Handle null damage events for item frames. Fixes BUKKIT-5114
Some types of damage are handled specially so do not end up returning an
event in handleEntityDamageEvent. To ensure we don't have problems with
these we need to check for them and simply ignore them, as they've been
handled already.
2013-12-09 13:40:52 -06:00
Alex Ciuba
80935e5c2b Don't consume bonemeal if there is no crop present. Fixes BUKKIT-3790
Bonemeal dispense behavior already took care of decrementing the item
stack, therefore we shouldn't manage the size manually.

Pulled from PR #1172
2013-12-08 23:21:11 -06:00
t00thpick1
0aa187f151 [Bleeding] Ignore Block Physics in Chunk population. Fixes BUKKIT-4923
Suppressing physics updates during Chunk population prevents
infinite recursion due to custom Block Populators editing border
blocks on chunks.
2013-12-08 22:39:50 -06:00
BlackHole
c7b4514ad3 Call BlockPlaceEvent for cocoa beans planted on log. Adds BUKKIT-5039
The behavior of cocoa are now aligned to be the same as other plants.

Pulled from PR #1281
2013-12-08 21:47:26 -06:00
Starbuck Johnson
36ef37b982 Call EntityDamageEvent on ItemFrame item removal. Fixes BUKKIT-5020
Calling this event allows plugins to react to the situation by simply
handling a normal damage event, possibly using existing code to
handle other entity damage.

Pulled from PR #1279
2013-12-08 20:58:27 -06:00
Starbuck Johnson
3cf569a33f Added EntityItemFrame.java for diff visibility 2013-12-08 20:31:38 -06:00
Kodekpl
431e5ea442 Set proper position of snow block. Fixes BUKKIT-5004
Missed diffs when updating to 1.7.

Pulled from PR #1278
2013-12-08 20:26:37 -06:00
AlphaBlend
ff0da6bad5 Fix BlockPhysicsEvent having incorrect changed type. Fixes BUKKIT-5063
This change updates the reference to the local variable representing the
block being checked when calling BlockPhysicsEvent.
2013-12-07 21:34:50 -07:00
t00thpick1
6f4d9bea2b [Bleeding] Correctly generate giant mushrooms. Fixes BUKKIT-5066
This change fixes the reference to the local variables representing the
block position during large mushroom generation.
2013-12-07 20:31:04 -06:00
feildmaster
97cb46f9f8 Reintroduce disconnection flag that was removed in 1.7 update. 2013-12-06 21:34:06 -06:00
Wesley Wolfe
70747ca28b Follow vanilla settings behavior. Fixes BUKKIT-5069
A vanilla server does a series of checks for the client black-listing
certain chat types (commands or chat). This change changes a CB
whitelist to the vanilla blacklist behavior.
2013-12-06 16:44:32 -06:00
Travis Watkins
169fd46960 Finish kicking player before letting their clone in. Fixes BUKKIT-4960 2013-12-03 19:21:27 -06:00
Travis Watkins
bc0ac48074 Try to detect when to disable jline automatically. Fixes BUKKIT-5028 2013-12-03 11:21:26 -06:00
Nate Mortensen
39719fff74 Maintain old setType method in WorldGenerator. Fixes BUKKIT-4915
WorldGenerator setType and setTypeAndData have their arguments changed to
add in support for CraftBlockChangeDelegate, which changes the method
signature. This change in the method signature breaks any WorldGenerators
that aren't modified to use CraftBlockChangeDelegate.

This commit fixes the issue by readding the old method and maintaining the
CraftBlockChangeDelegate method.  This makes it so that there is a
compatible method for both  CraftBlockChangeDelegate WorldGenerators and
unmodified WorldGenerators.

Additionally, this commit reduces and corrects the diffs in
WorldGenerator, moving the fix for layering violations to
CraftBlockChangeDelegate.
2013-12-02 21:03:57 -07:00
toastedtruth
a721fe8473 Fix BlockCanBuildEvent returning null. Fixes BUKKIT-4972
A Block object is now passed in place of the previous id value, so the
obfuscated name for all subsequent arguments was shifted.  As such,
BlockCanBuildEvent was using the incorrect values for both the material
and the location of the event.

This is corrected by swapping the values into the correct order and
providing an id based upon the Block passed into the method.
2013-12-02 21:03:57 -07:00
toastedtruth
803268867e Fix written books crashing the server. Fixes BUKKIT-4945
CraftBukkit modifies the IRecipe interface, adding new methods, so all
classes that implement IRecipe need to be imported and modified to add the
new methods.

Extending ShapelessRecipes implements the added methods and allows
RecipeBookClone to work with the Recipes API in a way that is consistent
with similar recipes, even if the recipe information present in the API
isn't technically correct.
2013-12-02 21:03:56 -07:00
toastedtruth
579b203347 Added RecipeBookClone from nms for diff visibility 2013-12-02 21:03:56 -07:00
Aikar
9969a86e83 Use strict lookup for op permission refresh. Fixes BUKKIT-4698
Adding or removing operators was mistakenly using a loose player lookup
method, which would cause a permission refreshes on an online player whos
name starts with the name of the (offline) opped player.

Add/Remove op operations are exact name match only and the permission
refresh will behave the same way.
2013-12-02 20:34:01 -06:00
Travis Watkins
c5d8b4393a Use correct packet data for toggling flying. Fixes BUKKIT-4989 2013-12-02 20:13:07 -06:00
feildmaster
8c444f275a Correctly drop BlockBreakEvent experience. Fixes BUKKIT-4942
This was a missed diff from the update.
2013-12-02 17:29:12 -06:00
Travis Watkins
963cd5438a Catch all exceptions in jansi initialization. Fixes BUKKIT-4936
Both log4j and our own jline/jansi initialization attempt to catch
errors caused by jansi's use of native libraries. However both of them use
the Exception type which does not catch all errors. On Windows Server 2008
R2 Enterprise without installing extra software the required C++ libraries
are not available which causes an error that does not extend Exception. To
ensure we catch all errors I've changed both of these to catch Throwable
instead which gets us a working console minus jansi functionality.
2013-12-02 15:46:34 -06:00
Nate Mortensen
5b6f271037 Fix missed doors diff. Fixes BUKKIT-4908
l previously was the block id, however Minecraft's refactoring means that
the method is now passed a Block reference rather than the id.  l is now
the data value of the block, so the block retrieved with that value is not
the correct block to be testing.
2013-12-01 14:54:51 -07:00
feildmaster
f0af95505b Fix fishing ignoring event experience. 2013-12-01 14:46:41 -06:00
feildmaster
72b36b8b07 Correctly send player names for the tab list. Fixes BUKKIT-4925 2013-12-01 14:15:59 -06:00
Travis Watkins
6aafe7c5a1 Make console work on Windows again. Fixes BUKKIT-4956
Something the log4j ConsoleAppender does makes the console work correctly
on Windows. After trying to pull pieces of it out and run them manually
I decided to just put the appender back. We now once again start with the
ConsoleAppender then remove it immediately after starting.
2013-12-01 13:21:22 -06:00
Travis Watkins
c098854591 Forward exceptions to log4j, cleanup logger handling. Fixes BUKKIT-4948 2013-12-01 11:15:18 -06:00
mbax
2726696652 Update CraftBukkit to Minecraft 1.7.2 2013-11-30 19:26:12 -06:00
feildmaster
1c7698fab2 Ensure maps are stored only in the main world. Fixes BUKKIT-4872 2013-10-30 17:00:41 -04:00
Wesley Wolfe
7aabcb2ab3 Don't share WorldMapCollection. Fixes BUKKIT-4871
WorldMapCollection stores scoreboard, map (item), structure, and
village information. Scoreboards are explicitly handled globally,
while villages and structures are erroneously shared.

This commit separates the WorldMapCollections to not be shared among
custom worlds. Maps are special-cased to maintain the previous shared
behavior.
2013-10-30 04:22:00 -05:00
Wesley Wolfe
bd1389895b Add auto-save plugin redundancy detection.
This change will print a warning when a plugin induces a forced save. A
player or console forcing a save (via a command) is ignored for purposes
of printing a warning.
2013-10-23 20:22:30 -04:00
Nate Mortensen
6430c868c7 Remove redundant call to worldMaps.a(). Addresses BUKKIT-4828
The WorldMapCollection object for SecondaryWorldServers(Nether, End) is
shared with the main world, so saving it again for each SecondaryWorldServer
is redundant.

This commit removes the redundant call by checking if the WorldServer is an
instanceof SecondaryWorldServer before invoking worldMaps.a().
2013-10-19 20:01:52 -06:00
feildmaster
f4277d7105 Force item data to use a tag name. Fixes BUKKIT-4809
The recent Minecraft update rendered the
e20e50f85083dc53cb5456254bcf5781ef750daa fix incorrect by adding a
compound name to the base tag in some code. This fix changes all uses
of tag changes to explicitly use a name.
2013-10-12 03:18:45 -05:00
Phil Watson
159403e085 Call BlockFadeEvent for fire on inflammable block. Fixes BUKKIT-4835
This adds a call to fireExtinguished for fire burning out on inflamable
blocks, similar to other causes of fire fading.
2013-10-09 16:34:10 -05:00
Wesley Wolfe
ca5e0c6db0 Add exception-resilience to reading UUID. Fixes BUKKIT-4833
When a "uid.dat" file is corrupt (empty or <16 bytes), WorldNBTStorage
will silently fail to read and return null. Non-null behavior is
expected everywhere that this value is used.

This change will force a random UUID when the previous UUID cannot be
read, and getUUID to no longer silently ignore read/write exceptions.
2013-10-06 22:37:44 -05:00
Wesley Wolfe
90e8aa008a Initialize hostname on handshake. Fixes BUKKIT-4793
This restores a lost CraftBukkit diff that initializes the hostname
field used during login events.
2013-09-20 09:13:48 -05:00
feildmaster
dcb9d6a5ef Update CraftBukkit to 1.6.4 2013-09-19 20:01:02 -05:00
EvilSeph
6d700c3320 Use correct spawn reason for Zombie reinforcements. Fixes BUKKIT-4744 2013-09-10 22:24:00 -04:00
EvilSeph
b8feaf059c Remove unnecessary error logging. Fixes BUKKIT-4406 2013-09-10 22:23:59 -04:00
Phillip Schichtel
ffcd0f4502 Provide a tab completion handler for JLine. Adds BUKKIT-4168 2013-09-10 20:57:31 -05:00
Brokkonaut
5f43109c0e Correct location of fire from lightning strikes. Fixes BUKKIT-4707
Previously fires spawned by lightning strikes were in the wrong locations.
This introduced the possibility of having blocks replaced when they should
not be.

EntityLightning now uses the correct locations as defined to spawn the
fires when needed.
2013-09-10 20:53:48 -04:00
feildmaster
8ae8957d15 Properly set persistence flag for bred animals. Fixes BUKKIT-4751 2013-09-10 19:42:08 -05:00
Nate Mortensen
c62375f95e Check that a vehicle is a Vehicle before casting. Fixes BUKKIT-4749
When an entity is being moved as the passenger of an entity from one
entity to another, a VehicleExitEvent is fired, but it is assumed that the
current entity is a Vehicle. However, entities can be passengers of more than
just Vehicles, which causes a ClassCastException to be thrown.

This commit fixes the issue by checking that the current entity's vehicle's
bukkitEntity is an instance of Vehicle before casting it to Vehicle.
2013-09-09 22:07:27 -05:00
Wesley Wolfe
5c861fe864 Fix improperly initialized usernames 2013-09-02 16:51:14 -05:00
T00thpick1
cd593fb1ee Set current recipe to null when a recipe isn't found. Fixes BUKKIT-2311
This commit restores the diff from 84dbc21aa71b96fd1d2ea40d624b536309118cde
that has since been lost.
2013-08-28 08:14:01 -06:00
T00thpick1
6482b6f0bd Fire FoodLevelChangeEvent when eating cake. Fixes BUKKIT-2242 2013-08-15 11:59:47 -06:00
T00thpick1
3fb4ccb62c Add BlockCake for diff visibility. 2013-08-15 11:59:46 -06:00
Wesley Wolfe
92f111cfed Fix missed diff for chat packets. Fixes BUKKIT-4666
This commit removes chat wrapping. It is no longer needed, as clients
properly render lines with line breaks.

This commit also changes an outgoing chat message to use the vanilla
behavior for indicating a client cannot chat with commands-only setting.
2013-08-07 04:05:56 -05:00
T00thpick1
5e8dd7d57d Use correct spawn reason for Villagers Breeding. Fixes BUKKIT-4113 2013-08-06 13:03:14 -06:00