summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeLines
* Account for different reach limit in Survival/Creative. Fixes BUKKIT-4257EvilSeph2013-12-20-4/+6
| | | | | | | | | When we first added the reach limiter in CraftBukkit there was no difference between how far the client could reach in vanilla while in Survival or Creative. At some point in Minecraft's cycle Creative was given a block extra to work with and our protection was not updated to account for this. We need to respect the possibility of different game modes in Minecraft providing the client with varying reach distances.
* Fix attributes not clearing on death. Fixes BUKKIT-5213EvilSeph2013-12-20-1/+1
| | | | | | | | Due to an incorrect mapping of this method to a friendly name, we're unfortunately calling the wrong method within EntityPlayer.reset() to reset attributes. Instead of what we've mapped as "removeAllEffects", we should be calling EntityLiving.aP(). This mapping should be corrected in the next naming version.
* [Bleeding] Correctly generate torches on portal. Fixes BUKKIT-746t00thpick12013-12-17-4/+4
| | | | | | | In the CraftBlockState implementation, updating the blockstate onto a block will force the block state data value onto the block. Unlike vanilla which relied on block data being set when the type changed, we must instead explicitely set the data in the blockstate.
* Add new setResourcePack method. Fixes BUKKIT-5015Nate Mortensen2013-12-17-4/+6
| | | | | | | | | | | | Minecraft now uses resource packs instead of texture packs, which broke the setTexturePack method, as the client no longer listens on the MC|TPack channel. This commit fixes the issue by adding in a setResourcePack method, and by deprecating setTexturePack and rewriting it to call the newly added setResourcePack. In order to simplify the method and prevent this from happening in the future, setResourcePack calls EntityPlayer.a(String) to use the same logic as minecraft when sending resource packs.
* Process URLs as clickable. Adds BUKKIT-4917mbax2013-12-17-26/+39
| | | | | | | | | | In Minecraft 1.7, URL processing was removed from the client while the server gained the ability to designate a URL to be launched in response to clicking text. However, this functionality is not implemented in the vanilla server. This commit adds that functionality to messages sent to the client, processing URLs as clickable. Additionally, char array iteration is replaced with regex.
* Check pending blocks before falling back to world. Fixes BUKKIT-5122Travis Watkins2013-12-17-0/+14
| | | | | | | | | | When growing trees we use a BlockChangeDelegate which queues up the block changes so plugins can modify/block/log tree growing. However, we always check the actual world when checking for existing blocks. This means when the tree growing code checks to see if putting a leaf in a block is valid it may incorrectly overwrite a log block that should exist in that location. To ensure trees grow correctly we now check the delegate itself for blocks that match the queried location before checking the world.
* Fix mistranslation issue for PlayerToggleFlightEvent. Fixes BUKKIT-5172EvilSeph2013-12-17-1/+1
| | | | Thanks for pointing it out RingOfStorms!
* Remove references to chunklist. Fixes BUKKIT-5190frymaster2013-12-17-3/+0
| | | | | | | | | | Commit c576054539790bdeb35285f62863d74b48c0782d removed the chunklist collection stored in ChunkProviderServer, however it has been partially restored in some places by 7e1ac0a77129b169704c1e222ff2deb3ab6cd2d2. As not all references to this were restored, this has caused the chunklist and chunks collections to become out of sync, resulting in a memory leak. This commit removes chunklist from ChunkProviderServer again.
* [Bleeding] Fix incorrect Cocoa Bean orientation. Addresses BUKKIT-5182t00thpick12013-12-17-1/+6
| | | | | | | When ItemDye is used to place a Cocoa Block, the postPlace() method should not be called, as data is handled within the ItemDye class. However, if Cocoa is placed via its block item, postPlace() should still be called to mirror vanilla behavior.
* Add missed tree types for Minecraft 1.7. Adds BUKKIT-5042BlackHole2013-12-16-0/+6
| | | | | | | This commit adds support for the Tree Types that weren't added in the initial update to Minecraft 1.7. Pulled from PR #1277
* Fix generation of jungle trees. Fixes BUKKIT-5043BlackHole2013-12-16-1/+1
| | | | | | | | | Due to changes in the generation of trees, the name of the class responsible for the generation of jungle trees has changed from WorldGenMegaTree to WorldGenJungleTree. As such, references to WorldGenMegaTree need to be updated to WorldGenJungleTree to generate the correct type of tree. Pulled from PR #1277
* [Bleeding] Correct naming of sounds for 1.7. Fixes BUKKIT-5065GJ2013-12-16-30/+30
| | | | | | Several sounds were renamed in Minecraft 1.7, and have been updated accordingly. Additionally, two sounds, HURT and BREATH, were removed from Minecraft.
* Don't try to teleport to a null world. Fixes BUKKIT-5145Travis Watkins2013-12-14-1/+1
|
* [Bleeding] Return correct drops for Cocoa blocks. Fixes BUKKIT-5159t00thpick12013-12-13-0/+7
| | | | | | For Cocoa Blocks, Block.getDropType() returns the item form of the Cocoa block, rather than the Cocoa Bean item. Because of this, Cocoa blocks need to have explicit handling in order to return the proper drop contents.
* [Bleeding] Fix witches dropping empty ItemStacks on death. Fixes BUKKIT-3554GJ2013-12-13-1/+3
|
* [Bleeding] Fix Blazes not firing death events. Fixes BUKKIT-4898GJ2013-12-13-5/+6
| | | | | | | Previously, due to the way that death events were called, Blazes only fired death events when they dropped loot. This change fixes that, enabling death events for Blazes whenever they die, regardless of loot drops.
* [Bleeding] Call EntityTargetEvent for EnderDragons. Fixes BUKKIT-5160t00thpick12013-12-13-1/+14
| | | | | | EnderDragons did not call an EntityTargetEvent when they were targeting random players in the End. This commit adds that event call into the targeting code.
* Do not fire EntityDamageEvent for explosions twice. Fixes BUKKIT-5156t00thpick12013-12-13-1/+4
| | | | | | | | Explosions directly caused by LivingEntities, such as creepers and tnt lit by players, have their EntityDamageEvent explicitely handled within the Explosion class. In order to prevent double events when damage is handled for other DamageSources, we need return null for explosion based damage sources.
* Throw event when EnderCrystals harm EnderDragon. Fixes BUKKIT-4052t00thpick12013-12-13-1/+10
| | | | | | | The EntityLiving dealDamage method will not call an event for the entity damage caused by an explosion without an associated entity cause, therefore, the explosion caused by EnderCrystals needs to be explicitely handled within the EnderDragon class.
* Re-add WorldLoadEvent lost in 314051580a0a8e4745d3a539f232b552916eb302 ↵t00thpick12013-12-13-0/+4
| | | | | | | | Fixes BUKKIT-5125 In the 1.4.2 update for CraftBukkit, a missed diff resulted in the WorldLoadEvent no longer being fired for the worlds loaded on startup.
* Alter fall particles to respect visibility API. Fixes BUKKIT-5158t00thpick12013-12-13-1/+8
| | | | | | | Bukkits Visibility API should prevent players from seeing fall particles of players that they cannot see. This commit alters the handling to provide an EntityPlayer argument that is later used to determine if they are visible.
* Show fall particles while in creative mode. Fixes BUKKIT-5009t00thpick12013-12-13-1/+1
| | | | | Relocate CraftBukkit patch to fall damage when changing gamemode from creative mode.
* Only filter data from block items, not all of them. Fixes BUKKIT-5047Travis Watkins2013-12-13-7/+8
|
* Call interact event if block cannot be punched. Fixes BUKKIT-5126Travis Watkins2013-12-12-0/+10
| | | | | | | | We do ray tracing on arm swings to filter out swings that hit blocks since punching blocks has its own event handling. However, some blocks cannot be punched so the air interact type is still valid for them. Luckily these blocks all have a means to query them so add an additional check for this and don't fail the check for them.
* Rework furnace result log. Fixes BUKKIT-5115Wesley Wolfe2013-12-10-8/+10
| | | | | | | 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.
* Print message on startup before loading log4jTravis Watkins2013-12-09-0/+1
| | | | | | | Log4j takes a long time to load on startup. Before it loads, the server appears to have frozen as there is no output until after. We now print a loading message before this happens to let the user know the server is actually working.
* Call event when pistons push an item frame/painting. Fixes BUKKIT-5110Travis Watkins2013-12-09-2/+12
| | | | | | | 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.
* Handle null damage events for item frames. Fixes BUKKIT-5114Travis Watkins2013-12-09-2/+4
| | | | | | | 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.
* Don't consume bonemeal if there is no crop present. Fixes BUKKIT-3790Alex Ciuba2013-12-08-5/+2
| | | | | | | Bonemeal dispense behavior already took care of decrementing the item stack, therefore we shouldn't manage the size manually. Pulled from PR #1172
* [Bleeding] Ignore Block Physics in Chunk population. Fixes BUKKIT-4923t00thpick12013-12-08-2/+13
| | | | | | Suppressing physics updates during Chunk population prevents infinite recursion due to custom Block Populators editing border blocks on chunks.
* Call BlockPlaceEvent for cocoa beans planted on log. Adds BUKKIT-5039BlackHole2013-12-08-1/+7
| | | | | | The behavior of cocoa are now aligned to be the same as other plants. Pulled from PR #1281
* Call EntityDamageEvent on ItemFrame item removal. Fixes BUKKIT-5020Starbuck Johnson2013-12-08-0/+5
| | | | | | | | 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
* Added EntityItemFrame.java for diff visibilityStarbuck Johnson2013-12-08-0/+146
|
* Set proper position of snow block. Fixes BUKKIT-5004Kodekpl2013-12-08-1/+1
| | | | | | Missed diffs when updating to 1.7. Pulled from PR #1278
* Fix BlockPhysicsEvent having incorrect changed type. Fixes BUKKIT-5063AlphaBlend2013-12-07-1/+1
| | | | | This change updates the reference to the local variable representing the block being checked when calling BlockPhysicsEvent.
* [Bleeding] Correctly generate giant mushrooms. Fixes BUKKIT-5066t00thpick12013-12-07-1/+1
| | | | | This change fixes the reference to the local variables representing the block position during large mushroom generation.
* Reintroduce disconnection flag that was removed in 1.7 update.feildmaster2013-12-06-1/+8
|
* Follow vanilla settings behavior. Fixes BUKKIT-5069Wesley Wolfe2013-12-06-59/+57
| | | | | | 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.
* Implement Firework.detonate(). Adds BUKKIT-4538Wesley Wolfe2013-12-06-0/+8
| | | | | | This implements the detonate method from bukkit by setting the fuse timer to 0. This makes a firework explode using the normal codepath, but without waiting for the fuse.
* Correctly register Furnace Recipies. Fixes BUKKIT-5044feildmaster2013-12-05-1/+2
| | | | We should also use items, not blocks. :)
* Add new fishing enchants. Fixes BUKKIT-5035GJ2013-12-04-0/+6
|
* Correctly validate map colors. Fixes BUKKIT-4984t00thpick12013-12-03-1/+3
| | | | | | | | | | The validation check in CraftMapView.render(CraftPlayer) filters out any values less than 0. As of Minecraft 1.7, -128 through -113 are valid colors, so filtering them out prevents some of the new colors from being sent. This commit fixes the issue by adjusting the validation check to include any values less than or equal to -113. As the minimum value for a byte is -128, no invalid colors are included.
* Finish kicking player before letting their clone in. Fixes BUKKIT-4960Travis Watkins2013-12-03-0/+2
|
* Try to detect when to disable jline automatically. Fixes BUKKIT-5028Travis Watkins2013-12-03-0/+6
|
* Maintain old setType method in WorldGenerator. Fixes BUKKIT-4915Nate Mortensen2013-12-02-11/+25
| | | | | | | | | | | | | | | | 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.
* Fix BlockCanBuildEvent returning null. Fixes BUKKIT-4972toastedtruth2013-12-02-1/+2
| | | | | | | | | | 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.
* Fix written books crashing the server. Fixes BUKKIT-4945toastedtruth2013-12-02-1/+7
| | | | | | | | | | | 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.
* Added RecipeBookClone from nms for diff visibilitytoastedtruth2013-12-02-0/+62
|
* Use strict lookup for op permission refresh. Fixes BUKKIT-4698Aikar2013-12-02-2/+2
| | | | | | | | | 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.
* Use correct packet data for toggling flying. Fixes BUKKIT-4989Travis Watkins2013-12-02-3/+3
|