summaryrefslogtreecommitdiffstats
path: root/src/main
Commit message (Collapse)AuthorAgeLines
* 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
|
* Correctly drop BlockBreakEvent experience. Fixes BUKKIT-4942feildmaster2013-12-02-1/+1
| | | | This was a missed diff from the update.
* Catch all exceptions in jansi initialization. Fixes BUKKIT-4936Travis Watkins2013-12-02-2/+2
| | | | | | | | | | 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
|
* Fix missed doors diff. Fixes BUKKIT-4908Nate Mortensen2013-12-01-1/+1
| | | | | | | 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.
* Fix fishing ignoring event experience.feildmaster2013-12-01-1/+1
|
* 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.
* Correctly send player names for the tab list. Fixes BUKKIT-4925feildmaster2013-12-01-1/+1
|
* Make console work on Windows again. Fixes BUKKIT-4956Travis Watkins2013-12-01-0/+8
| | | | | | | 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.
* Handle JUL logger formattingTravis Watkins2013-12-01-3/+3
|
* Forward exceptions to log4j, cleanup logger handling. Fixes BUKKIT-4948Travis Watkins2013-12-01-79/+88
|
* Update CraftBukkit to Minecraft 1.7.2mbax2013-11-30-11188/+14208
|
* Ensure maps are stored only in the main world. Fixes BUKKIT-4872feildmaster2013-10-30-5/+9
|
* Don't share WorldMapCollection. Fixes BUKKIT-4871Wesley Wolfe2013-10-30-2/+1
| | | | | | | | | | 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-1/+26
| | | | | | 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.
* Re-enable built in auto-save. Fixes BUKKIT-4800EvilSeph2013-10-23-1/+1
| | | | | | | | | | | | | | | | | | | | | | | When Minecraft first introduced an auto-save feature, we were taken by surprise by how much of an impact it actually had on the performance of the server. After investigating the potential causes of the significant slow-downs we saw at the time, we came to the conclusion that it was a combination of the auto-save interval being incredibly frequent and servers already having an auto-save solution that was conflicting with the newly added built-in one. Since we noticed that most servers already had their own auto-save solution, we decided to completely disable the built in auto-save by default. In hindsight, however, we were so happy that we discovered and squashed the cause of the performance issues that we forgot to consider the future and, as a result, some servers have unfortunately been caught by surprise when they ran their servers without any auto-save plugins. Without the auto-save plugin conflict, however, Minecraft's default save interval of 45 seconds is not suitable for the types of servers that run Bukkit, to the point where it was negatively impacting performance. As such, we've decided to re-enable the built in auto-save at an interval of 5 minutes for newly created servers.
* Remove redundant call to worldMaps.a(). Addresses BUKKIT-4828Nate Mortensen2013-10-19-1/+5
| | | | | | | | | 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().
* Force item data to use a tag name. Fixes BUKKIT-4809feildmaster2013-10-12-6/+12
| | | | | | | 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.
* Call BlockFadeEvent for fire on inflammable block. Fixes BUKKIT-4835Phil Watson2013-10-09-1/+1
| | | | | This adds a call to fireExtinguished for fire burning out on inflamable blocks, similar to other causes of fire fading.
* Add exception-resilience to reading UUID. Fixes BUKKIT-4833Wesley Wolfe2013-10-06-17/+33
| | | | | | | | | 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.
* 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.
* Initialize hostname on handshake. Fixes BUKKIT-4793Wesley Wolfe2013-09-20-0/+1
| | | | | This restores a lost CraftBukkit diff that initializes the hostname field used during login events.
* Update CraftBukkit to 1.6.4feildmaster2013-09-19-674/+710
|
* Fix villager death soundfeildmaster2013-09-10-1/+1
|
* Add missing villager sounds. Addresses BUKKIT-4756feildmaster2013-09-10-0/+6
|
* Use correct spawn reason for Zombie reinforcements. Fixes BUKKIT-4744EvilSeph2013-09-10-1/+1
|
* Remove unnecessary error logging. Fixes BUKKIT-4406EvilSeph2013-09-10-1/+1
|
* Provide a tab completion handler for JLine. Adds BUKKIT-4168Phillip Schichtel2013-09-10-0/+48
|
* 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
|
* Correct location of fire from lightning strikes. Fixes BUKKIT-4707Brokkonaut2013-09-10-1/+1
| | | | | | | | | 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.
* Properly set persistence flag for bred animals. Fixes BUKKIT-4751feildmaster2013-09-10-0/+5
|
* Check that a vehicle is a Vehicle before casting. Fixes BUKKIT-4749Nate Mortensen2013-09-09-1/+1
| | | | | | | | | | 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.
* Fix improperly initialized usernamesWesley Wolfe2013-09-02-0/+3
|
* Set current recipe to null when a recipe isn't found. Fixes BUKKIT-2311T00thpick12013-08-28-0/+1
| | | | | This commit restores the diff from 84dbc21aa71b96fd1d2ea40d624b536309118cde that has since been lost.
* 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.
* Fire FoodLevelChangeEvent when eating cake. Fixes BUKKIT-2242T00thpick12013-08-15-1/+11
|
* Add BlockCake for diff visibility.T00thpick12013-08-15-0/+88
|
* 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-33/+1
| | | | | | | | 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.
* Use correct spawn reason for Villagers Breeding. Fixes BUKKIT-4113T00thpick12013-08-06-1/+1
|
* Add PathfinderGoalMakeLove for diff visibilityT00thpick12013-08-06-0/+90
|
* Call unleash event for non-sitting animals. Fixes BUKKIT-4658T00thpick12013-08-06-1/+3
| | | | | | The unleash event is only called for animals that are sitting - ones that receive no movement vector. This adds the missing event call for non-sitting animals.
* Fix off by 1 error for spawn protection. Fixes BUKKIT-4154Jonatan Noponen2013-08-03-1/+1
|