summaryrefslogtreecommitdiffstats
path: root/src/main/java/net
Commit message (Collapse)AuthorAgeLines
* Make command blocks only select players on its world. Fixes BUKKIT-3515feildmaster2013-01-28-0/+3
|
* Target default world when returning from The End; Fixes BUKKIT-3494EdGruberman2013-01-28-7/+15
| | | | | | | Due to the having to generate new logic to avoid using the customized PlayerConnection.moveToWorld, entities returning from The End were not properly calculating their exit target. This commit corrects that logic.
* Update Fireballs to account for ExplosionPower. Fixes BUKKIT-3460feildmaster2013-01-27-1/+15
| | | | Adds BUKKIT-3516
* Ignore block functions for skulls on BlockPlace. Fixes BUKKIT-3495feildmaster2013-01-27-1/+2
| | | | | Skulls don't normally get block data applied to them, so we shouldn't apply it either.
* Direct all BlockPlaceEvents to a singular location. Fixes BUKKIT-3438feildmaster2013-01-27-141/+57
| | | | | | | | | | By having a single function to process BlockPlacement logic, we make it so that there is consistent behavior throughout all BlockPlace events. This should allow for easier troubleshooting and less diffs in source. This also fixes BUKKIT-3463 by including the correct coordinates that were clicked to the event.
* Fix TileEntities and Blocks getting out of sync. Fixes BUKKIT-3501feildmaster2013-01-27-11/+9
| | | | | | | | | | Also fixes: BUKKIT-3477 and BUKKIT-3488 Minecraft likes to double check that tile entities get set after they are placed, however we didn't set tile entities until after our event was called. This caused the world to have multiple tile entities in a single block location; to fix this we now set tile entities before the event.
* Call BlockGrowEvent for Cocoa plants. Fixes BUKKIT-2525QuarterAnimal2013-01-24-1/+1
|
* Add BlockCocoa for diff visibility.QuarterAnimal2013-01-24-0/+121
|
* Preserve source block in mushroom spread event. Fixes BUKKIT-3354QuarterAnimal2013-01-24-1/+7
|
* Properly calculate level cost for books. Fixes BUKKIT-3410feildmaster2013-01-24-0/+4
|
* Call BlockPlaceEvent for skulls the same as other blocks. BUKKIT-3406feildmaster2013-01-23-16/+7
| | | | | | | | | | When the skull BlockPlaceEvent was added it was made so the event would be called after all the data has been set, however this is a behavior change that is inconsistent with other BlockPlaceEvents. Instead, if people wish to get the block data they should schedule a task. Relates to: BUKKIT-3438
* Compensate for allow-nether/allow-end as false; Fixes BUKKIT-3466EdGruberman2013-01-23-10/+32
| | | | | | | | | | | | | When either of those settings are false, the worlds are not loaded and therefore will not be targeted for portal exits. Existing worlds are iterated directly to avoid defaulting to the first world if a direct dimension match is not found. Plugins must also specify exit from custom Bukkit worlds to comply with original commit: https://github.com/Bukkit/CraftBukkit/commit/2dc2af0 This commit introduces a constant to clarify the dependency on the CraftBukkit implementation of custom worlds having a dimension offset.
* Return the valid max value for piston direction. Fixes BUKKIT-2191feildmaster2013-01-23-3/+3
| | | | | | By returning the following value (7) we remove the need to special case pistons in any way (other than the original purpose of this check, which is to ensure pistons have valid data)
* Refactor processBlockPlace logic. Fixes BUKKIT-3406 and BUKKIT-3454feildmaster2013-01-19-8/+14
| | | | | | | The previous logic was faulty since it lost the logic of "placing" the block. It was also taking into account data that could have been changed outside of the processing of this event, which is irrelevant to the processing of this event.
* [Bleeding] Add experimental support for entity portal travelingEdGruberman2013-01-19-131/+348
|
* Add BlockEnderPortal for diff visibilityEdGruberman2013-01-19-0/+56
|
* Always call PotionSplashEvent. Fixes BUKKIT-3363Zloteanu Nikita2013-01-17-1/+1
| | | | | This change allows plugins to add recipients to a PotionSplashEvent when it would have otherwise had none.
* Place beds with the correct data. Fixes BUKKIT-3447feildmaster2013-01-17-1/+1
|
* Update CraftBukkit to Minecraft 1.4.7feildmaster2013-01-17-337/+71
|
* Initialize entity data before spawning them. Fixes BUKKIT-3209feildmaster2013-01-16-5/+6
| | | | | | Vanilla does the initialize before spawning everywhere except in the SpawnerCreature, our spawn event depends on this behavior to be consistent.
* Fix entities traveling sideways. Addresses BUKKIT-3443bloodmc2013-01-16-2/+2
| | | | Original: Update mappings to correct 1.4.6 version.
* Get the BlockState before changing the block. Fixes BUKKIT-3441feildmaster2013-01-16-2/+4
|
* Handle beds and doors the same way as other blocks. Fixes BUKKIT-3437feildmaster2013-01-16-19/+14
| | | | Relates to: BUKKIT-3438
* Throw BlockPlaceEvent when placing double slabs. Fixes BUKKIT-2469feildmaster2013-01-16-39/+61
|
* Spawn monsters without prematurely exiting. Fixes BUKKIT-3425cexikitin2013-01-14-1/+1
| | | | | | | By using return 0, we exit the loop prematurely preventing other creature types from being spawned if one type is set to 0. By using continue we move on to the other types and allow them to spawn properly.
* Update calls to DyeColor getData and getByData. Addresses BUKKIT-2786Wesley Wolfe2013-01-05-1/+1
| | | | | These two methods are now deprecated and replaced by the strictly equivalent calls using wool data.
* Implement fishing experience. Adds BUKKIT-3348feildmaster2013-01-01-1/+3
|
* Move the tile entity with the falling block. Adds BUKKIT-3349feildmaster2013-01-01-0/+27
| | | | Allows for interesting things to be done with world.spawn()
* Fix "setSitting" on tameable animals. Fixes BUKKIT-1534feildmaster2013-01-01-1/+1
| | | | | | | | This makes it so animals (tame or not) will sit properly and not move around. Wild animals that are sitting may override the sitting position if they are attacking.
* Add PathfinderGoalSit for diff visibilityfeildmaster2013-01-01-0/+39
|
* [Bleeding] Fix corruption due to thread safety issues. Fixes BUKKIT-3333Mike Primm2012-12-30-3/+3
| | | | | | | | | | | | | | | | | | | | The 'tag' NBTTagCompound field of the ItemStack assumes that it is OK to save a reference to an NBT supplied via load() and assumes it is OK to supply a reference to the internal field during a save(). Neither is true, as Chunk NBT structures are required to be read-only once created (due to being written asynchronously off the server thread AND due to the potential to be passed to a new Chunk if the same chunk is reloaded before the writing of the NBT is completed by the File I/O thread). Keeping a live reference to the NBT copy passed in, or to the NBT value passed back during saving, creates serious thread safety issues which can result in corrupted data being written to the world data files. The specific issue here was uncovered by the recent change to use setName("") on the ItemStack.tag object. When a chunk is being loaded again before its save is completed, this results in name of the field in the NBT being set to "". This causes it to be saved as "" instead of "tag" resulting in it not being properly reloaded in the future which results in the itemstack losing all of its metadata.
* /dev/null does not accept EnchantmentThornsWesley Wolfe2012-12-29-1/+5
|
* [Bleeding] Implement periodic chunk garbage collectorMike Primm2012-12-29-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | This adds two settings to bukkit.yml, allowing activation and control of two chunk garbage collection triggering conditions: chunk-gc/period-in-ticks controls a periodic GC, run once every N ticks (default is 600); chunk-gc/load-threshold causes the GC to run once after every N calls to loadChunk() on a given world (this call is an API call used by plugins, and is distinct from the path taken for routine player movement-based loading). In both cases, setting to zero will disable the given GC scheduling strategy. In either case, the act of doing the GC is simply one of scanning the loaded chunks, seeing which are NOT being used by one or more players (due to view-distance) and which are not already queued for unload, and queueing them for a normal unload. Ultimately, the unload is then processed the same as if the chunk were unloaded due to leaving the view-distance range of all players, so the impact on plugins should be no different (and strategies such as handling the ChunkUnloadEvent in order to prevent unload will still work). The initial interval for the periodic GC is randomized on a per-world basis, in order to avoid all world being GCed at the same time - minimizing potential lag spikes.
* Fix persistence on tamed pets. Fixes BUKKIT-3300feildmaster2012-12-28-2/+8
| | | | | | With the persistence api introduced, pets did not have their persistence flag updated to reflect their persistence. This caused tame ocelots to not persist under specific conditions.
* Update maxhealth for entities that have variable max health. Fixes BUKKIT-3308feildmaster2012-12-27-4/+27
| | | | | | | | Slimes and wolves have health that can change based on certain conditions. So we check if their max health should be updated, and if it has been customized in any way. We also scale the wolf's health for their tail
* Fix discrepancies in NBT and ItemMeta. Fixes BUKKIT-3279feildmaster2012-12-27-1/+2
| | | | | | | | | | | An ItemStack gains the tag name "tag" when the stack is serialized to NBT, however items don't have a tag *until* they are serialized at least once. So to solve this, we remove the tag name when loading the NBT data. Another problem with NBT are TagLists, when transferring tag lists between the server and the client the names are lost, and so we simply don't add a name to the tag.
* Fire BlockRedstoneEvent for repeaters. Fixes BUKKIT-1157Travis Watkins2012-12-27-0/+14
|
* Add BlockDiode from mc-dev for diff visibility.Travis Watkins2012-12-27-0/+214
|
* Don't update physics until after the place event. Fixes BUKKIT-3316Wizjany2012-12-27-3/+9
| | | | | | If you cancel a BlockPlaceEvent for a sign the world is updated as if the block was placed and then destroyed. To avoid this we set the block without updating physics then apply the update after the event.
* Never remove players when unloading chunks. Fixes BUKKIT-3129cexikitin2012-12-27-3/+1
| | | | | | | | When unloading chunks we have a check to ensure we do not remove players from the world due to the issues this would cause. However, our check to see if the player is in this chunk is reversed and is in fact entirely wrong. Even if the player isn't currently in this chunk we do not want to remove them as that will still cause the same issues.
* Fix fireballs being motionless (again). Fixes BUKKIT-3299feildmaster2012-12-25-7/+10
| | | | | | The key "direction" incorrectly mapped to variables that were already set in the entity. In order to prevent loading incorrect data we renamed "direction" to "power."
* Perform permission removals after the quit event. Fixes BUKKIT-3303feildmaster2012-12-24-4/+1
| | | | | | | The player would have no permissions (other than their OP status) when checked in the Quit event. This is because we removed permissions before the event occurred. By calling it afterwards, we can persist the data until the server finally removes the player.
* Implement entity max health methods. Adds BUKKIT-266feildmaster2012-12-23-17/+38
|
* Update firework power when modifying meta. Fixes BUKKIT-3272Travis Watkins2012-12-22-1/+1
|
* Fire BlockDispenseEvent for fireworks. Adds BUKKIT-3246Travis Watkins2012-12-22-2/+38
|
* Add DispenseBehaviorFireworks and EntityFireworks for diff visibilityTravis Watkins2012-12-22-0/+147
|
* One record per JukeBox.Wesley Wolfe2012-12-22-0/+1
|
* Add BlockJukeBox for diff visibilityWesley Wolfe2012-12-22-0/+76
|
* Implement Skull BlockState. Adds BUKKIT-3259meiskam2012-12-21-0/+6
|
* Added TileEntitySkull for diff visibilitymeiskam2012-12-21-0/+50
|