summaryrefslogtreecommitdiffstats
path: root/src/main/java/org
Commit message (Collapse)AuthorAgeLines
* [Bleeding] Handle custom furnace recipes separately. Fixes BUKKIT-1657, ↵t00thpick12013-12-20-1/+3
| | | | | | | | | | BUKKIT-3846 Due to vanilla blanket comparing data values, and the unspecified order of hashmap iterators, we need to run through custom recipes first, and therefore separately, to ensure that they are actually used. By not adding the custom results to the experience table, we do not override the experience gains from vanilla smelting recipes.
* 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.
* 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.
* [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.
* 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.
* Show fall particles while in creative mode. Fixes BUKKIT-5009t00thpick12013-12-13-0/+1
| | | | | Relocate CraftBukkit patch to fall damage when changing gamemode from creative mode.
* 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.
* 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.
* Maintain old setType method in WorldGenerator. Fixes BUKKIT-4915Nate Mortensen2013-12-02-2/+8
| | | | | | | | | | | | | | | | 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.
* Catch all exceptions in jansi initialization. Fixes BUKKIT-4936Travis Watkins2013-12-02-1/+1
| | | | | | | | | | 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.
* Add ConsoleAppender from log4j for diff visibilityTravis Watkins2013-12-02-0/+245
|
* Handle ChatColor-ending messages FIXES BUKKIT-4924mbax2013-12-01-14/+10
| | | | | Now adds the component upon creation, eliminating issues where the created component was discarded.
* Handle JUL logger formattingTravis Watkins2013-12-01-3/+3
|
* Forward exceptions to log4j, cleanup logger handling. Fixes BUKKIT-4948Travis Watkins2013-12-01-71/+54
|
* Update CraftBukkit to Minecraft 1.7.2mbax2013-11-30-400/+1076
|
* Don't share WorldMapCollection. Fixes BUKKIT-4871Wesley Wolfe2013-10-30-1/+0
| | | | | | | | | | 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.
* Add auto-save plugin redundancy detection.Wesley Wolfe2013-10-23-0/+16
| | | | | | 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.
* Force item data to use a tag name. Fixes BUKKIT-4809feildmaster2013-10-12-4/+5
| | | | | | | 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.
* Clarify exception message for bad hanging location. Fixes BUKKIT-4824Wesley Wolfe2013-10-05-1/+1
| | | | | | This change adds the location and a more specific message to the IllegalArgumentException that gets thrown when a hanging entity is being spawned in a location that it cannot survive.
* Update CraftBukkit to 1.6.4feildmaster2013-09-19-20/+20
|
* Fix villager death soundfeildmaster2013-09-10-1/+1
|
* Add missing villager sounds. Addresses BUKKIT-4756feildmaster2013-09-10-0/+6
|
* Provide a tab completion handler for JLine. Adds BUKKIT-4168Phillip Schichtel2013-09-10-0/+47
|
* Add support for custom Hopper inventories. Fixes BUKKIT-4722FrozenBrain2013-09-10-0/+30
| | | | | | | | | | | | | Opening a hopper inventory created by Server.createInventory will currently have no effect as proper handling code is missing in CraftEntityHuman for hopper inventories that aren't associated with a tile entity or minecart. Initialization logic for hoppers is also missing from CraftContainer, which is necessary for the opening of custom hopper inventories. This commit fixes the two aforementioned by adding proper handling to CraftHumanEntity for opening inventories not associated with a tile entity, and by adding initialization logic for hoppers to CraftContainer.
* Update and add new sound mappings. Fixes BUKKIT-4756feildmaster2013-09-10-160/+204
|
* Return correct hasLineOfSight value for players. Fixes BUKKIT-4634Roger Baumgartner2013-08-26-1/+1
| | | | | | | Prior to this change when a plugin called Player.hasLineOfSite() the method would always return false because EntityHuman does not extend EntityInsentient. This commit changes that by explicitly checking for line of sight between two entities and returning that value.
* Return instance of CraftInventoryBeacon for Beacons. Fixes BUKKIT-4521T00thpick12013-08-07-2/+2
|
* Fix missed diff for chat packets. Fixes BUKKIT-4666Wesley Wolfe2013-08-07-24/+0
| | | | | | | | 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.
* Wrap plugin.getDefaultWorldGenerator in try-catch. Fixes BUKKIT-4116riking2013-08-07-3/+7
| | | | | | If a plugin generates an exception when returning a world generator, the server will crash. This change adds a try-catch block to keep the server from crashing on plugin defined world generators.
* Validate title for custom inventories. Fixes BUKKIT-4616, BUKKIT-4663Wesley Wolfe2013-08-06-0/+3
| | | | | | | | | Custom inventories currently do not validate the titles provided. Null values cause NPEs when writing packets. Values longer than 32 characters disconnect clients. This change throws and IllegalArgumentException for null titles or titles longer than 32 characters.
* Fix off by 1 error for spawn protection. Fixes BUKKIT-4154Jonatan Noponen2013-08-03-1/+1
|
* Fix mistranslation in isPlayerCreated() for IronGolems. Fixes BUKKIT-4543Kai Dederichs2013-08-03-1/+1
|
* Implement Leash API. Adds BUKKIT-4459, BUKKIT-4583T00thpick12013-08-03-10/+89
|
* Ignore null sound by contract. Fixes BUKKIT-4641Wesley Wolfe2013-08-02-0/+3
|
* Indicate help is a command. Fixes BUKKIT-4642Wesley Wolfe2013-08-02-1/+5
|
* Add raw sound string playSound method. Adds BUKKIT-2443h31ix2013-08-02-1/+5
| | | | A method has been added to Player which allows the server to send a sound string to the client. Assuming the client has the specified sound, it will be played. This is needed by the implementation of the /playsound command.
* Fix NBT token for attribute names. Addresses BUKKIT-4483Wesley Wolfe2013-07-28-1/+7
|
* Store item attributes. Addresses BUKKIT-4523Wesley Wolfe2013-07-27-1/+89
|
* Add API to control scaled health. Adds BUKKIT-4590T00thpick12013-07-23-6/+61
| | | | | | | | | | | | | | | | | | | | | | | This commit implements the ability to set the scale of hearts that the client renders. When the Packet44UpdateAttributes packet is sent, the max health attribute is replaced with a scaled version, to preserve the scaled health illusion clientside. In order to accurately display the scaled health for players, a true health is stored within CraftPlayer, and the datawatcher now stores the scaled health. The getHealth() method for players still returns their true health. Changed setHealth() within EntityLiving to appropriately handle health for instances of EntityPlayer. Inlined a call to setHealth(getMaxHealth()) within the EntityLiving constructor to work around CraftEntity instantiation. Additionally fixes the health values sent when eating food within FoodMetaData and ItemFood, which previously sent the unscaled health; this commit alters them to send the properly scaled health. Additionally fixes BUKKIT-4535, BUKKIT-4536, and BUKKIT-4127
* Use ambient setting of potion effects. Fixes BUKKIT-4357 and BUKKIT-3653Jim Bilbrey2013-07-13-2/+2
| | | | | | | | | This changes livingEntity.addPotionEffect(PotionEffect, boolean) to construct the MobEffect using the constructor that includes the ambient setting as supplied by the PotionEffect This also changes livingEntity.getActivePotionEffects() to construct the PotionEffects using the ambient setting supplied by the MobEffects.
* Return inGround when checking Arrow's OnGround state. Fixes BUKKIT-4439EvilSeph2013-07-10-0/+3
|
* Implement Horse API. Adds BUKKIT-4424h31ix2013-07-10-33/+159
| | | | | | | | API has been added to interface with Horses and to modify their inventories. Horse entities will now be recognized with the type EntityType.HORSE, and will no longer be UNKNOWN. HorseJumpEvent, EntityDamageEvent, and EntityTameEvent are all correctly fired for horses. This commit fixes BUKKIT-4393.
* Update CraftBukkit to 1.6.2mbax2013-07-08-1/+7
|