Commit graph

1747 Commits

Autor SHA1 Nachricht Datum
feildmaster
4545336fdf Only remove blocks when golem is successfully spawned. Fixes BUKKIT-1094 2012-03-11 01:30:16 -05:00
EvilSeph
433efec68f Fixed BlockStateListPopulator in EntityEnderDragon not being populated. Fixes BUKKIT-1130 2012-03-11 00:42:43 -05:00
EvilSeph
2aad49eecc Made ender pearls use the player's yaw and pitch. Fixes BUKKIT-1056 2012-03-11 00:11:41 -05:00
Kevin Ingersoll
49ff166d15 Fixed potential packet loss issue with vanish API. Fixes BUKKIT-1125 2012-03-10 23:19:15 -05:00
Mike Primm
bdd2139c78 [Bleeding] Add getWorldType() and getGenerateStructures() to CraftServer. Fixes BUKKIT-855 2012-03-10 18:36:28 -05:00
Mike Primm
eaa56941f3 [Bleeding] Make zero (or very small) explosions do no damage. Fixes BUKKIT-931 2012-03-10 18:36:27 -05:00
rmichela
996832ff6c [Bleeding] Added support for amending help topic visibility permissions in help.yml. Addresses BUKKIT-1113 2012-03-10 18:36:27 -05:00
rmichela
a8b2c6d04e [Bleeding] Implemented command aliases in help. Addresses BUKKIT-1028 2012-03-10 17:56:20 -05:00
rmichela
03ce67c38c [Bleeding] Moved DefaultHelpTopic and GenericCommandHelpTopic to public bukkit api. 2012-03-10 17:56:07 -05:00
rmichela
378424a1a1 [Bleeding] Added support for linking custom CommandExecutor types to a HelpTopicFactory. Fixes BUKKIT-1027 2012-03-10 17:55:44 -05:00
EvilSeph
5c757df673 Made iron golems spawning to defend villagers respect spawn-animals. Fixes BUKKIT-1124 2012-03-10 16:56:21 -05:00
EvilSeph
ae6b3711ea Made zombie invasions respect spawn-monsters setting. Fixes BUKKIT-1123 2012-03-10 16:31:21 -05:00
EvilSeph
f534863552 Make setting slots to AIR set them to null. Addresses BUKKIT-1043 2012-03-10 15:54:10 -05:00
EvilSeph
68c89fcac9 Fixed enchanting in Creative. Fixes BUKKIT-1119 2012-03-10 15:52:56 -05:00
feildmaster
77ef051095 [Bleeding] Added new target events. Fixes BUKKIT-935 2012-03-10 02:08:33 -05:00
feildmaster
a967d6e371 Added PathfinderGoalTarget, PathfinderGoalArrowAttack, PathfinderGoalMeleeAttack for diff visibility. 2012-03-10 02:07:23 -05:00
EvilSeph
08bd33a3ed Made entering an end portal from The End move the player to their bed spawn if it exists. Fixes BUKKIT-1061 2012-03-10 01:52:45 -05:00
EvilSeph
6f40a22e16 Made feeding wolves fire EntityRegainHealth events. Fixes BUKKIT-1111 2012-03-09 22:45:26 -05:00
EvilSeph
fce3386aa0 Added EntityTame event. Fixes BUKKIT-1109 2012-03-09 22:26:21 -05:00
EvilSeph
e625999f24 Added EntityWolf for diff visibility. 2012-03-09 22:26:21 -05:00
Nathan Adams
36406afa6b Re-re-fixed block transmutation 2012-03-10 03:18:04 +00:00
Nathan Adams
cf9d00a71a Re-fixed block transmutation 2012-03-10 03:12:39 +00:00
EvilSeph
848344250d Fixed sheep not firing events when eating grass. Fixes BUKKIT-1104 2012-03-09 14:36:21 -05:00
EvilSeph
9b5a4d68b9 Added PathfinderGoalEatTile for diff visibility. 2012-03-09 14:25:44 -05:00
EvilSeph
c4b4afa14d Fixed being unable to use water in The End. Fixes BUKKIT-1002 2012-03-09 13:35:04 -05:00
EvilSeph
ec2713b256 Added WorldProviderTheEnd for diff visibility. 2012-03-09 13:34:27 -05:00
EvilSeph
d1dd96f560 Made Chunk.getEntities() account for the world height increase. Fixes BUKKIT-1059 2012-03-09 13:09:15 -05:00
EvilSeph
45cf927446 (Re)restricted the nether to 128 world height. Fixes BUKKIT-976 2012-03-09 12:08:59 -05:00
SpaceManiac
a602d5c8c1 [Bleeding] Implemented getting the hostname a player used to log in. Addresses BUKKIT-984 2012-03-09 11:46:06 -05:00
Mike Primm
97669f8d90 [Bleeding] Add updated interfaces for custom chunk generation. Addresses BUKKIT-874 2012-03-09 11:46:06 -05:00
Mike Primm
796a9ba8fd Add vanilla ChunkSection.java from mc-dev for diff visibility. 2012-03-09 01:10:29 -05:00
EvilSeph
cbdcb44a11 Made zombie invasions fire CreatureSpawn event. Fixes BUKKIT-1090 2012-03-08 22:12:54 -05:00
EvilSeph
ec555a71e3 Added VillageSiege for diff visibility. 2012-03-08 22:08:37 -05:00
EvilSeph
ecb00bba85 Made iron golems fire CreatureSpawn event. Fixes BUKKIT-1089 2012-03-08 21:57:46 -05:00
EvilSeph
f5ce8627c6 Added Village for diff visibility. 2012-03-08 21:54:29 -05:00
EvilSeph
43a00954f5 Made PlayerPortalEvent fire when leaving The End. Fixes BUKKIT-478 2012-03-08 19:50:01 -05:00
EvilSeph
f26fbc3bf3 Fixed EnderPearls not being limited to the world they were used in. Fixes BUKKIT-658 2012-03-08 19:31:10 -05:00
EvilSeph
8ecdfe9eed Added missing filters to addEntity. Fixes BUKKIT-794 2012-03-08 18:09:32 -05:00
Mike Primm
1e06e150b6 [Bleeding] Only do unload-all on tick when last player leaves. Fixes BUKKIT-1060 2012-03-08 16:27:01 -05:00
aPunch
0ba2d285f0 [Bleeding] Made Iron Golems and Ocelots throw EntityDeathEvent. This fixes BUKKIT-1010. 2012-03-08 02:17:46 -05:00
aPunch
1c641ed982 Added EntityIronGolem and EntityOcelot for diff visibility. 2012-03-08 02:14:41 -05:00
Mike Primm
a029f32ccd [Bleeding] Add APIs for editing biome data, fix existing code to use persistent biome data. Addresses BUKKIT-1075 2012-03-08 01:53:06 -05:00
rmichela
b5e92871eb [Bleeding] Added ConversationAbandonedEvent and supporting infrastructure. Whenever a conversation exits, the ConversationAbandonedEvent is triggered with details about how the conversation ended and what, if anything caused it to end. Fixes BUKKIT-986 2012-03-08 01:29:49 -05:00
EvilSeph
7a8ef4f6a4 Extremely hackish fix for the entity interactivity issue. Fixes BUKKIT-960 2012-03-07 23:51:55 -05:00
EvilSeph
b5af5adc7e Fixed the dreaded GSOD crash. Fixes BUKKIT-1040 2012-03-07 22:07:37 -05:00
Tahg
2ff8a8749f Fixed copy error in DoubleChest's inventory 2012-03-05 15:28:59 -05:00
Eric Stokes
2feb2ea124 Fix worlds loading improperly. Fixes BUKKIT-991
This patch fixes an incorrect path being passed to the WorldLoaderListener. It expects the world container, then checks convertable on the name.
2012-03-03 21:04:31 -05:00
Tahg
4ac2b08320 Added missing null check for enchantments. Fixes BUKKIT-897 2012-03-03 05:59:40 -05:00
Nathan Adams
90fae3b579 Fixed leaf decay issue - this fixes BUKKIT-948 and BUKKIT-871 2012-03-03 10:15:26 +00:00
Wesley Wolfe
c6273810a1 [Bleeding] Fixed crafting enchanted items, fixes BUKKIT-602 2012-03-02 21:10:39 -05:00
Tahg
2d5263bfe5 recover from converter issue FIXES BUKKIT-890 2012-03-02 20:59:24 -05:00
Nathan Adams
ec35500c63 Implemented Villager API for getting/setting Profession. This adds BUKKIT-887 2012-03-03 01:58:40 +00:00
Nathan Adams
20c8ae59fc Slightly changed the Auto Updater error for when it can't find the current version 2012-03-03 01:22:43 +00:00
Nathan Adams
74220205f0 Fixed typo in help.yml header - this fixes BUKKIT-945. Thanks to a PR by turt2live 2012-03-03 00:52:05 +00:00
Nathan Adams
974ff6cb8a ... Comments! 2012-03-02 20:13:53 +00:00
Nathan Adams
61fb069c61 Fixed fatal crashes when there's a block at maxheight at spawn - this fixes BUKKIT-922. 2012-03-02 20:12:53 +00:00
Nathan Adams
ede443234e Minor optimization getting chest inventories 2012-03-02 20:05:23 +00:00
Nathan Adams
88149dc439 Fixed chest.getInventory for double chests, thanks to Acrobot. This fixes BUKKIT-901 2012-03-02 20:03:21 +00:00
Nathan Adams
8016bf2dd0 Fixed punching out fire in creative - this fixes BUKKIT-914, thanks to md-5 2012-03-02 19:56:03 +00:00
Travis Watkins
4ac8d68c39 Fixed porting issue in World. Now uses correct variable names to add chunks for growth. This fixes BUKKIT-934 2012-03-02 14:34:31 -05:00
Nathan Adams
a42e710bbc Updated from 1.2.2 to 1.2.3. This fixes BUKKIT-943 2012-03-02 19:31:06 +00:00
Tahg
cb669f72a0 Fixed porting issue with SpawnerCreature. Fixes BUKKIT-921 2012-03-02 11:12:47 -05:00
md_5
5198f2efb4 Allow the new jungle tree type to be grown both as a single sapling and as a group of 4. Fixes BUKKIT-886 2012-03-02 13:32:46 +00:00
Nathan Adams
94d4d68211 Convert contained worlds to Anvil (thanks to Amaranth) 2012-03-02 13:17:49 +00:00
Mike Primm
c51c895cd8 Implemented snapshot support for 1.2. 2012-03-02 00:47:21 -05:00
Tahg
eddefa6c50 Preserve data if possible when dropping Items from entities. Partial solution for BUKKIT-15 2012-03-01 23:02:59 -05:00
EvilSeph
bcf979b2a6 Fixed hunger not behaving correctly. Addresses BUKKIT-907 2012-03-01 22:47:33 -05:00
Tahg
2510af0d1a Fix porting issue in World.mayPlace Fixes BUKKIT-915 2012-03-01 21:26:21 -05:00
Mike Primm
82f2a2e773 World height related fixes - 128 -> 256. Addresses BUKKIT-889 2012-03-01 20:13:28 -05:00
Nathan Adams
efc9ced128 Fixed sending maxPlayers at initial login 2012-03-01 18:41:20 +00:00
Nathan Adams
f1f9802ded Implemented new 1.2 entities - this fixes BUKKIT-872 and BUKKIT-885 2012-03-01 18:03:14 +00:00
Tahg
5108569383 Revert filtering by dynamic block range 2012-03-01 12:17:24 -05:00
Nathan Adams
0e7b9834f9 Potentially fixed crash when building at max world height 2012-03-01 17:07:02 +00:00
Nathan Adams
eb934c760d Made the auto-update-checker suggest channels to server administrators if they're upgrading past their preferred channel. 2012-03-01 16:04:18 +00:00
Nathan Adams
a5be079797 Fixed compile issues with StructureGrowDelegate not implementing the new isEmpty method 2012-03-01 15:38:34 +00:00
Nathan Adams
6f1fecbd31 Fixed cast issues when passing delegates to world generators, and WorldGenMegaTree method exception. This fixes BUKKIT-866, and references BUKKIT-868.
Also bumped version to 1.2.2-R0.1-SNAPSHOT to match Bukkit.
2012-03-01 15:35:12 +00:00
Nathan Adams
aa3678a783 Fixed NoSuchMethodError in WorldGenGroundBush 2012-03-01 15:10:06 +00:00
Nathan Adams
543c4879fe Updated CraftBukkit to 1.2 2012-03-01 14:38:31 +00:00
Nathan Adams
a726f6de3e Potentially fixed inventory issues. This (should) fix issue BUKKIT-860 2012-03-01 13:35:36 +00:00
EvilSeph
a53afd313e We build for 1.5. 2012-03-01 04:48:04 -05:00
rmichela
1161de3f63 [Bleeding] Added Conversations API. Addresses BUKKIT-864 2012-03-01 04:33:59 -05:00
rmichela
818a61040e [Bleeding] Added Help API. Addresses BUKKIT-863 2012-03-01 04:33:58 -05:00
feildmaster
c73adc9533 Fixed AchievementTest.java 2012-03-01 01:01:16 -05:00
Erik Broes
33ba9f0a2f Updated to rename revision 02 2012-03-01 01:12:41 +00:00
Celtic Minstrel
8524ff8ef7 Fix for Java 1.5 2012-02-29 15:37:35 -05:00
Celtic Minstrel
0842bab48b [Bleeding] Implementation of inventory framework. Addresses BUKKIT-856
See the corresponding Bukkit commit for details.

Implementation details:
- Any packets that include an itemstack will send air stacks as null; maybe this will even eliminate the client crash that occurs if the client receives an air stack
- Better handling of null itemstacks in general (ie less converting them to air stacks)
- Inventory.setContents() can now take an array smaller than the inventory without error
- Player.updateInventory() should now correctly update the result slot in a crafting inventory

Some small credit goes to Afforess (initial implementation of openInventory() methods) and Drakia (initial implementation of InventoryOpenEvent and InventoryCloseEvent).
2012-02-29 15:19:07 -05:00
Celtic Minstrel
10e593649c Imported from mc-dev:
- TileEntity
- Container
- ContainerFurnace
- ContainerDispenser
- ContainerChest
- ContainerEnchantTableSubcontainer
- ContainerEnchantTableInventory
- ContainerBrewingStand
2012-02-29 15:13:08 -05:00
Celtic Minstrel
d20091e64c Implementation of richer playEffect methods. Addresses BUKKIT-857 2012-02-29 14:59:27 -05:00
ZNickq
bf01e93ab6 Added EntityTargetEvent for Experience Orbs, happens when it starts moving towards a human entity! Addresses BUKKIT-820 2012-02-29 14:45:18 -05:00
James Clarke
cd90cec48c Implemented TeleportCause enums. Addresses BUKKIT-265 2012-02-29 14:23:12 -05:00
TomyLobo
53e4a034f4 Moved getVehicle, leaveVehicle and isInsideVehicle from CraftLivingEntity to CraftEntity. Addresses BUKKIT-811 2012-02-29 13:30:46 -05:00
rmichela
1394926e53 [Bleeding] Implement Metadata framework for Entities, Blocks, and Worlds 2012-02-29 19:21:25 +01:00
Wesley Wolfe
403f874784 [Bleeding] Fix generics. Addresses BUKKIT-844 2012-02-29 12:15:31 -05:00
Travis Watkins
257fd16242 Added plugin-profiling setting to bukkit.yml. 2012-02-29 10:00:49 -05:00
TomyLobo
92dfb2500b Adjusted CraftBukkit to work with the entity event convenience patch in Bukkit. Addresses BUKKIT-809 2012-02-29 00:12:26 -05:00
TomyLobo
dcf016822d Fixed sneaking eye height. Addresses BUKKIT-808 2012-02-27 20:16:25 -05:00
Olof Larsson
f70f99d1a0 Fixed CraftOfflinePlayer.getLastPlayed() returning the wrong result. Addresses BUKKIT-847 2012-02-27 20:16:11 -05:00
EdGruberman
397f25aa24 Added plugin loading log entry 2012-02-26 15:46:07 -05:00
Sam Wilson
cc2e721ffc Implement PortalCreateEvent reason codes. Addresses BUKKIT-833
This commit modifies the construction of PortalCreateEvents to specify
a reason for the event.  Reasons are either:
1. FIRE: the portal is being created because a player set fire to an
obsidian frame.
2. DESTINATION: the portal is being created as a destination for an existing portal.
2012-02-26 15:20:09 -05:00
TomyLobo
f2d9d4174f CraftSign changes. Addresses BUKKIT-824
- Removed the useless world field.
- Made it so changes to a CraftSign (which is a Block*State*) no longer reflect into the world without calling sign.update().
2012-02-26 12:15:00 -05:00
Celtic Minstrel
57bd84510f [Bleeding] Made dragon eggs trigger BlockFromTo events when they teleport. Addresses BUKKIT-828 2012-02-25 19:17:12 -05:00
EvilSeph
5901a74565 Fixed changes made to PlayerCommandPreprocess events having no effect. Fixes BUKKIT-376 2012-02-25 16:53:54 -05:00
Celtic Minstrel
d6c6b18ba9 Fix for shaped recipes stripping enchantments from the result. Fixes BUKKIT-602 2012-02-25 16:43:16 -05:00
steffen
2887f99fe5 Fixed EntityArrow just to use the PVP setting if the destination is a
Player. Fixes BUKKIT-803
2012-02-24 16:58:39 -05:00
Wesley Wolfe
078e2511a5 [Bleeding] Override not applicable 2012-02-23 21:33:51 -05:00
Zeerix
7a49e29b55 [Bleeding] Undo changes to the tree WorldGenerators.
- All StructureGrowEvent handling for these is in BlockSapling now, using a BlockChangeDelegate to collect the data.
- Moved StructureGrowDelegate into a separate class
2012-02-23 18:27:23 -05:00
Feildmaster
796d4a8a74 [Bleeding] Fixed setTotalExp, any experience update bugs and removed Deprecated Methods. Fixes BUKKIT-798 and fixes BUKKIT-797 2012-02-23 18:27:22 -05:00
Feildmaster
d7f6d2d929 [Bleeding] Use player.getItemInHand(), instead of a new ItemStack. Addresses BUKKIT-767 2012-02-23 18:27:22 -05:00
aPunch
036b5c3956 [Bleeding] Added launchProjectile.
Use launchProjectile in place of individual throwSnowball, throwEgg, and shootArrow methods.
2012-02-23 15:07:41 -05:00
Celtic Minstrel
af51313ffb [Bleeding] Added EntityType to replace CreatureType. 2012-02-22 22:06:29 -05:00
Feildmaster
7792156fb2 [Bleeding] Added BlockGrowEvent. Addresses BUKKIT-104 2012-02-22 21:46:45 -05:00
Feildmaster
847e1c62c5 [Bleeding] Added BlockCrops, BlockReed, BlockStem, BlockNetherWart for diff visibility. 2012-02-22 21:46:44 -05:00
Celtic Minstrel
326091c130 [Bleeding] Recipe API improvements and fixes. Addresses BUKKIT-738 and BUKKIT-624
Add a recipe iterator to make it possible to retrieve and remove recipes (BUKKIT-738), and updated the recipe classes to not clip the data to 127 (BUKKIT-624)
2012-02-21 04:24:24 -05:00
Celtic Minstrel
84ecdb5439 Imported from mc-dev:
- ShapedRecipes
- ShapelessRecipes
- CraftingRecipe
- FurnaceRecipes
2012-02-20 16:39:33 -05:00
Wesley Wolfe
39048be430 [Bleeding] Cleanup clone method. 2012-02-20 05:49:48 -05:00
EvilSeph
4d89a21a25 Removed EndermanPickup/Place events, replaced with EntityChangeBlock event. 2012-02-19 04:16:46 -05:00
Feildmaster
1922672f14 [Bleeding] Fire EntityDamageByEntityEvent for EnderCrystal. Fixes BUKKIT-776 2012-02-19 01:06:38 -05:00
Feildmaster
b06719dd03 [Bleeding] Moved projectile EntityDamageByEntityEvent's to event factory. Addresses BUKKIT-775 2012-02-19 01:05:11 -05:00
Mike Primm
5316c43a82 Add getEntitesByClass(Class<T>), getEntitiesByClasses(Class<?>...), deprecate getEntitiesByClass(Class<T>...) 2012-02-18 16:34:53 -05:00
Erik Broes
137880b727 Deprecation cleanup. 2012-02-18 13:06:12 -05:00
Nathan Adams
3b634b14f6 Fixed NPE when running a custom build of CraftBukkit. This fixes issue #BUKKIT-765 2012-02-18 14:06:21 +00:00
Nathan Adams
d057ee1e07 Don't print stacktraces on DLB fetching errors. And because I forgot last commit; this adds BUKKIT-760 2012-02-17 00:09:56 +00:00
Nathan Adams
236cfed616 Added a built-in update checker. See http://wiki.bukkit.org/Bukkit.yml#auto-updater for new bukkit.yml options. 2012-02-16 22:32:17 +00:00
EvilSeph
64264f61b8 Revert "Remove tile entities when a block is removed."
This reverts commit 1d4347fbaf3c891580a9ee40a8e9632c992f8b08.
2012-02-14 02:37:47 -05:00
Mushroom Hostage
7076ef9de6 Use createNMSItemStack on CraftingManager recipe registration. Fixes BUKKIT-602 2012-02-13 00:44:58 -05:00
EvilSeph
1c28c946fa Fixed sprinting while breaking a painting edge case. Fixes BUKKIT-740 2012-02-13 00:40:32 -05:00
Aidan Matzko
9b10970f6b [Bleeding] Fixed EntityChangeBlock event reporting incorrect information
for Enderman block placing.
2012-02-10 21:29:21 -05:00
EvilSeph
da1aead88a Made splash options abide by PVP settings. Fixes BUKKIT-542 2012-02-10 19:23:22 -05:00
fullwall
f52665348e [Bleeding] Added Potions API. Fixes BUKKIT-389 2012-02-10 17:41:13 -05:00
EvilSeph
63b9ed9ab4 Added configurable animal and monster ticks per spawn setting. 2012-02-10 12:16:06 -05:00
EvilSeph
c38fcb360a Implemented JOCKEY and CHUNK_GEN SpawnReasons. 2012-02-10 07:17:41 -05:00
EvilSeph
0170ae9523 Cleanup. 2012-02-10 00:43:12 -05:00
EvilSeph
56741552e5 Made damaging EntityEnderCrystals fire EntityDamageByEntity. Fixes BUKKIT-724 2012-02-09 23:31:10 -05:00
Feildmaster
391ac23c9a [Bleeding] Fire EntityDamageByEntityEvent's for EnderDragon being hit by Projectiles. 2012-02-09 22:20:44 -05:00
Travis Watkins
7ff8c17568 [Bleeding] Make sure we don't keep stale references to vanished players. 2012-02-09 22:03:43 -05:00
Evenprime
d8ca2401ff [Bleeding] Send new player location after teleports only to nearby players. 2012-02-09 21:30:52 -05:00
Feildmaster
80bae060c6 [Bleeding] Use event values for damage. 2012-02-09 20:30:02 -05:00
Feildmaster
fa6fd24f2a [Bleeding] Handle EntityHuman attack a bit more properly. 2012-02-09 20:17:03 -05:00
Feildmaster
8ecfca47de [Bleeding] Fixed EnderDragon suffocation. 2012-02-09 20:12:38 -05:00
Aidan Matzko
6dda89d873 [Bleeding] Deprecate Enderman events in favor of EntityChangeBlock 2012-02-09 11:36:04 -05:00
Tahg
10ab7b96ed Made steps fire a BlockPlace event. Fixes BUKKIT-394 2012-02-09 11:25:53 -05:00
EvilSeph
6abd178ea7 Added ItemStep for diff visibility. 2012-02-09 11:21:35 -05:00
craftycreeper
ad6bab8c6f Implemented EntityTeleportEvent. Fixes BUKKIT-366 2012-02-09 03:46:42 -05:00
EvilSeph
be0ecf4670 Pass EntityEnderCrystal to EntityExplode event. 2012-02-08 21:54:22 -05:00
EvilSeph
39002fd39f Added EntityEnderCrystal for diff visibility. 2012-02-08 20:01:46 -05:00
EvilSeph
ae333ded91 Made flaming arrows respect PVP settings. Fixes BUKKIT-541 2012-02-08 19:06:09 -05:00
EvilSeph
879a87b1e0 Fixed Pumpkins being reported as AIR in BlockPlace event when building snowmen. Fixes BUKKIT-697 2012-02-08 18:30:59 -05:00
EvilSeph
6d67456970 Made BlockPumpkin report an appropriate SpawnReason.BUILD_SNOWMAN when a snowman is spawned. 2012-02-08 18:28:41 -05:00
EvilSeph
8e7e073523 Made Ender Dragons fire EntityRegainHealth events when getting healed by Ender Crystals. 2012-02-08 10:55:15 -05:00
EvilSeph
0a52fd372a Fixed VehicleBlockCollisionEvent returning the wrong block. Fixes BUKKIT-396 2012-02-08 06:18:04 -05:00
EvilSeph
497a0e247b Made crafted maps fire MapInitializeEvent. Fixes BUKKIT-143 2012-02-08 05:45:55 -05:00
EvilSeph
274e8a141a Made flaming arrows fire EntityCombustByEntity events. Fixes BUKKIT-707 2012-02-08 03:27:34 -05:00
EvilSeph
4d563342ba Added Spawner Egg support to CreatureSpawnEvent. 2012-02-05 02:11:21 -05:00
EvilSeph
54e45b7d66 Prevent the Vanish API from sending unnecessary packets. 2012-02-03 05:12:54 -05:00
Travis Watkins
5ae8f13fde Fixed items losing their enchantments under certain circumstances. 2012-02-03 03:39:35 -05:00
Travis Watkins
329cf29667 Added BlockFurnace for diff visibility. 2012-02-03 03:38:23 -05:00
Travis Watkins
37c8868532 [Bleeding] Implemented Vanish API.
Remove players that cannot see a player from their EntityTrackerEntry and only
send user list updates to players who can see the player they reference.
2012-02-03 03:34:03 -05:00
EvilSeph
028cbb8fe9 Removed MONSTER CreatureType. 2012-02-03 02:42:40 -05:00
Tahg
5479a2ca82 Fixed being unable to cancel TNT placement. Fixes BUKKIT-89. 2012-02-03 01:39:00 -05:00
Tahg
1884f2f763 Added BlockTNT for diff visibility. 2012-02-03 01:32:29 -05:00
Tahg
14bb771957 Allow plugins to change ID and Data during BlockPlace event.
Fixes BUKKIT-674
2012-02-03 01:14:47 -05:00
Tahg
1bb011a543 Fixed other types of 'block transmuters'. 2012-02-03 00:51:59 -05:00
Tahg
8bf770c5f9 Added debug to help with diagnosing tile entity issues in the future. 2012-02-03 00:50:35 -05:00
Tahg
2dba592dc4 Remove tile entities when a block is removed. 2012-02-03 00:45:58 -05:00
EvilSeph
8b5289d431 Fixed wrong game type being sent when a player is teleported across worlds. Fixes BUKKIT-510 2012-02-01 01:30:53 -05:00
Tahg
69e766c5f3 Fixed BlockPlace event. Fixes BUKKIT-663 2012-01-30 02:57:58 -05:00
Nathan Adams
875219e28c Fixed vanilla issue where chunks would be mislocated and corrupt. Big thanks to Wug for the fix. 2012-01-30 04:27:25 +00:00
Nathan Adams
72559fe634 Added ChunkLoader.java and ChunkRegionLoader.java for diff visibility 2012-01-30 04:20:59 +00:00
Eric Stokes
3a419481ea Added 'generate-structure' setting support and WorldCreator property.
Fixes BUKKIT-655 and BUKKIT-592
2012-01-29 13:07:44 -05:00
EvilSeph
f1a35effb0 Added useExactLoginLocation(). Closes BUKKIT-145
useExactLoginLocation() looks for settings.use-exact-login-location within bukkit.yml.

If true, we will bypass Vanilla's behaviour of checking for collisions and moving the player if needed when they login.

If false, we will continue to follow Vanilla's behaviour and move players that 'collide' with objects when they login.
2012-01-29 12:33:05 -05:00
Erik Broes
c5a4bfd291 Use OO > new method 2012-01-29 16:06:11 +01:00
Erik Broes
3173b68bbe Filter null/AIR from items dropped on death. Fixes: BUKKIT-653 2012-01-29 13:37:32 +01:00
Erik Broes
4c2f57592d Add some testing 2012-01-29 11:22:11 +01:00
EvilSeph
1ea0037f49 Fixed maps crashing/disconnecting the client under certain circumstances. 2012-01-29 01:15:55 -05:00
Tahg
9b635aacc4 Moved BlockPlace event. 2012-01-28 03:09:48 -05:00
EvilSeph
7bdfea4820 Reverted onPlace changes. 2012-01-28 03:09:48 -05:00
Erik Broes
9d90839723 Put statement inside CraftBukkit block 2012-01-28 09:04:16 +01:00
EvilSeph
bb730f0ee7 Cleanup. 2012-01-27 18:23:58 -05:00
Erik Broes
38ad0ea5fd Prevent (Entity) null to be added to the entity list. 2012-01-27 19:42:14 +01:00
Erik Broes
16d3b705c5 Fix 'Block Transmute'. Bug where you could change the data of a block 'on demand'. 2012-01-27 19:29:33 +01:00
EvilSeph
98fd1a3606 Let's be a little less tricky to the client. Relates to BUKKIT-637 2012-01-26 20:35:20 -05:00
EvilSeph
5900268e7a Fixed the behaviour of fluid blocks. Fixes BUKKIT-629 2012-01-26 20:04:31 -05:00
EvilSeph
5bcb23502e Trick the client instead of modifying the world. Fixes BUKKIT-637 2012-01-26 19:36:27 -05:00
EvilSeph
b987d1b052 Really loosened the throttles strictness this time. 2012-01-24 23:43:23 -05:00
EvilSeph
3e0a26f270 Fixed redstone torches not updating indirect neighbors. Fixes BUKKIT-477 2012-01-24 23:38:15 -05:00
Tahg
989acd0afb Fix invalid data in pistons 2012-01-24 21:42:45 -05:00
EvilSeph
b416dd337f Loosen throttle strictness. 2012-01-24 18:45:30 -05:00
Tahg
39935eb3f2 Fix diodes not updating indirect neighbors. 2012-01-24 18:03:34 -05:00
Erik Broes
3b46222c54 Persist locking of an animal's age to disk 2012-01-24 22:06:37 +01:00
Mike Primm
94231f1ecf [Bleeding] Implemented EnchantmentTable API. 2012-01-24 06:15:34 -05:00
Tahg
c7716e1de4 [Bleeding] Audit of onPlace methods, Moved to postPlace as appropriate.
Closes BUKKIT-89
2012-01-24 05:18:23 -05:00
Sam Wilson
e92bdab57a Fixed CraftLivingEntity.damage when the entity is an EntityComplex.
Fixes BUKKIT-589: if you call damage on an instance of EnderDragon, no damage
is done.

Reason for bug: damage calls Entity.damageEntity.  But EntityComplex
overrides damageEntity to do nothing.

Fix: CraftComplexLiving should call EntityComplex.e instead of
Entity.damageEntity.  e is the method that actually does damage to an
instance of EntityComplex.
2012-01-24 04:10:47 -05:00
Zeerix
872dad5540 [Bleeding] Implemented PotionSplashEvent. Closes BUKKIT-307 2012-01-24 02:12:41 -05:00
Travis Watkins
74ead3abd1 Immediately tell client a block is broken, then process the event.
In order to avoid clients seeing blocks break, reappear, then break again due
to lag caused by plugins taking too long to process the BlockBreakEvent we
immediately tell the client the block is air then process the event. If the
event ends up being cancelled the client will get another packet telling them
the block still exists.
2012-01-23 23:59:36 -05:00
Travis Watkins
cf521b5a5c Only truncate player name when sending spawn packet. 2012-01-23 23:32:21 -05:00
EvilSeph
97ce5c4479 Implemented PlayerShearEntityEvent in EntityMushroomCow.
Due to the Vanilla client overzealously predicting things, shearing produces
client-side artifacts. See BUKKIT-611 for more information.
2012-01-23 22:41:34 -05:00
Aidan Matzko
93bc8ecd93 [Bleeding] Implemented Sheep, Shear and EntityChangeBlock API. Thanks
tips48! Closes BUKKIT-512
2012-01-23 18:58:37 -05:00
Mike Primm
229337bc8f Use BlockFadeEvents to signal fire blocks burning out 2012-01-22 18:20:01 +01:00
EvilSeph
51b29eff06 Removed accidentally committed change. Needs more investigating 2012-01-21 18:52:32 -05:00
EvilSeph
4f02563c63 Reverted changes to getItem(). Will be reimplemented after RB. 2012-01-20 14:52:32 -05:00
EvilSeph
1bbeec1f75 Accounted for NMS getItem() returning null in recent commit. 2012-01-20 11:46:24 -05:00
Nathan Adams
85ab95cec7 Nullcheck EntityItem's ItemStack where required. This fixes BUKKIT-552 2012-01-20 16:40:27 +00:00
Nathan Adams
51a056ecd5 Disallow colour names in offline-mode. This fixes BUKKIT-439. Thanks to cainfool for the discovery. 2012-01-20 16:03:15 +00:00
EvilSeph
76d7a1ce1d Properly handle null and air items. Fixes BUKKIT-435 and BUKKIT-550
We'll probably want to implement an ItemStack.EMPTY and return that
instead of NULL in the near future.
2012-01-20 05:40:10 -05:00
Tahg
4b0f819af2 Updated timing code for new event system 2012-01-19 18:50:39 -05:00
Nathan Adams
28fcbec3b1 Prevent re-use of internal world dimension IDs. This fixes BUKKIT-448. Thanks to snowleo for the PR. 2012-01-19 16:10:52 +00:00
Nathan Adams
b0f29b1755 Throw PlayerLevelChangeEvent and PlayerExpChangeEvent events. Thanks to feildmaster for the PR. 2012-01-19 16:07:18 +00:00
Nathan Adams
1f1c9c0d4b Correctly take in ChatColor length when limiting player list size. This should fix BUKKIT-571 2012-01-19 15:10:00 +00:00
Erik Broes
737cf284e3 Fix giving wrong arguments to callEntityDamageEvent. Forgot to update after changing the signature :( 2012-01-18 08:16:38 +01:00
Erik Broes
112e0816b9 Actually close the inventory on a *cross*-world teleport. 2012-01-17 22:50:18 +01:00
Erik Broes
f5f268f939 Implement Player.setBedSpawnLocation(Location). Thanks md_5 2012-01-17 22:35:31 +01:00
Mike Primm
b22e727cda [Bleeding] Make BaseBiome to Biome mapping faster, detect missing mapping in future updates 2012-01-17 19:51:33 +01:00
Zeerix
bcf6440bc4 [Bleeding] Implement EntityShootBowEvent. Thanks Zeerix. 2012-01-17 19:51:06 +01:00
Erik Broes
edbb7358fc [Bleeding] Implementation of the brewing stand. 2012-01-17 19:50:29 +01:00
Tahg
387d7319bc [Bleeding] Prevent BlockSnow from recursively calling a physics update. 2012-01-17 19:50:10 +01:00
Erik Broes
1d4a9e1df5 [Bleeding] Make sure to close any open inventory windows before teleporting. Thanks md_5. 2012-01-17 19:49:52 +01:00
Zeerix
1d04305cea [Bleeding] Added event calls for healing and harming by potions 2012-01-17 19:49:11 +01:00
Zeerix
2cc70bb055 [Bleeding] Implemented Block.breakNaturally and Block.getDrops 2012-01-17 19:48:44 +01:00
Mike Primm
fb1cfea89e [Bleeding] Implemented Block.getLightFromSky() and Block.getLightFromBlocks() 2012-01-17 19:45:23 +01:00
Mike Primm
f7585e552d [Bleeding] Implemented World.getEntitiesByClass(Class<T>... classes) 2012-01-17 19:44:35 +01:00
Erik Broes
29096577b6 [Bleeding] Implement animal breeding API changes. 2012-01-17 19:44:11 +01:00
Nathan Adams
520cb5aa5b Fixed bug involving pistons and powered rails. This fixes BUKKIT-517. 2012-01-15 20:50:00 +00:00
Nathan Adams
864397d6c8 Added MinecartTrackLogic.java and BlockMinecartTrack.java for diff visibility 2012-01-15 19:05:36 +00:00
Nathan Adams
d3b4375d31 Fixed LongHashset incorrectly using read lock for popAll, and made it use write lock. This fixes BUKKIT-509 2012-01-15 18:49:16 +00:00
Nathan Adams
95a72d1c59 Implemented World.getWorldType 2012-01-15 17:44:15 +00:00
Nathan Adams
65f30fd99d Dragons now throw events when creating portals 2012-01-15 12:01:11 +00:00
Erik Broes
233de0de2c Some efficiency updates to hit-mechanics. Thanks mintplant for the PR. 2012-01-15 12:54:58 +01:00
Nathan Adams
a753ee587d Implemented allowFlight methods. Thanks to Qala for the PR. 2012-01-15 10:56:09 +00:00
Erik Broes
6d49b11338 Made World.playEffect a bit more efficient. Thanks mintplant for the PR. 2012-01-15 11:42:40 +01:00
Erik Broes
9c1534336c Fix broadcasting to people without permission. Fixes BUKKIT-464. Thanks grandwazir for the PR. 2012-01-15 11:32:00 +01:00
Erik Broes
d7cec38c38 Adding the option to suppress overload warnings as a bukkit.yml option. Thanks oloflarsson for the PR. 2012-01-15 11:11:41 +01:00
Nathan Adams
25050e38eb Disallow people spawning invalid entities using monster eggs. Thanks to md-5 for the PR. 2012-01-15 10:01:49 +00:00
Nathan Adams
390a79e098 Added ItemMonsterEgg.java for diff visibility 2012-01-15 10:01:42 +00:00
Erik Broes
a4ce846d07 Fix formatting. 2012-01-15 10:54:57 +01:00
Erik Broes
61ec751ca1 Update for 1.1_01 renames.
We know these updates (can) break plugins bypassing Bukkit. They are needed for
smooth updates however. There will be another one right before before 1.1-R1.
2012-01-15 10:52:37 +01:00
Nathan Adams
6495eee0c9 Throw an EntityBlockFormEvent for snowmen. Thanks to feildmaster. 2012-01-15 09:13:30 +00:00
Nathan Adams
93b3c96126 Don't allow explosions at the top of the world to wrap around. This fixes BUKKIT-232, thanks to wilsonsd for the PR. 2012-01-15 07:29:48 +00:00
Nathan Adams
23adb0d02f Minor optimization in BlockGrass by only checking light once instead of twice. Thanks to oloflarsson for the PR. 2012-01-15 05:58:56 +00:00
Nathan Adams
b369805590 Don't allow players with modded clients to send empty (0 char) chat messages. Thanks to a PR by robin0van0der0v 2012-01-15 05:52:46 +00:00
Nathan Adams
dfbcd36ab7 Fixed a further exploit with players attacking more things that they shouldn't. 2012-01-14 18:12:59 +00:00
Nathan Adams
2ab160e484 Implemented new PlayerDeathEvent methods for exp setting 2012-01-14 18:08:27 +00:00
Nathan Adams
548ccabe2f Fixed .createWorld not respecting container folder 100%. Thanks to plleg for the PR. 2012-01-14 17:50:31 +00:00
Nathan Adams
366d310186 Added .equals and .hashcode to CraftBlockState 2012-01-14 17:47:15 +00:00
Nathan Adams
657f458ba7 Player.setPlayerListName no longer counts colors towards the 16-char limit. Thanks to an (unfortunately old) PR by ZachBora. 2012-01-14 17:42:18 +00:00
Nathan Adams
d73c29aad7 Implemented entity.playEffect. Thanks to main-- 2012-01-14 17:36:47 +00:00
Nathan Adams
743c623d53 Modified ConsoleReader to use System.in instead of FileDescriptor.in. Big thanks to escortkeel for the (unfortunately very old) PR. 2012-01-14 17:12:45 +00:00
Feildmaster
6cc56b8c2c Added ItemDespawnEvent 2012-01-14 17:03:38 +00:00
Mike Primm
cc05bea457 Prevent unbounded TickList growth on busy servers (>1000 events/tick). This completes another Bleeding request. 2012-01-14 16:47:57 +00:00
Nathan Adams
52c526f313 Small optimization in EntityPlayer by caching the hashcode. Thanks to a very old PR by Belphemur. In addition, changed and slightly improved the hashcode formula for entities 2012-01-14 15:01:44 +00:00
Nathan Adams
77a12d4dce Correct casting for creature target typechecking 2012-01-14 14:49:41 +00:00
Nathan Adams
e6bb19f63a Fixed any chance of creatures .getTarget throwing a class cast exception - thanks to an old PR by garbagemule! 2012-01-14 14:45:56 +00:00
Nathan Adams
3d31c27864 Fixed players attempting to attack item entities - This fixes BUKKIT-341 2012-01-14 13:27:15 +00:00
Nathan Adams
d5438c30b9 Fixed block.getBiome returning null in new 1.1 biomes. This fixes BUKKIT-496 2012-01-14 13:14:14 +00:00
Nathan Adams
9da730c8e1 Made Mycel blocks throw BlockFade and BlockSpread events. This fixes BUKKIT-488. Thanks to tips48 for the pull request. 2012-01-14 12:56:54 +00:00
Nathan Adams
64ac337d4c Added BlockMycel.java for diff visibility 2012-01-14 12:54:20 +00:00
Nathan Adams
3ee8a2372c Additional commit to fix #BUKKIT-24 2012-01-14 12:46:23 +00:00
Nathan Adams
84b0310ae8 Fixed items retaining enchantment visual effects after all enchantments are lost
Issue #BUKKIT-24 - Upon removing enchantments, visual effect on item does not go away
2012-01-14 12:29:11 +00:00
Nathan Adams
0a2a38c25b Added NBTTagCompound.java for diff visiblity 2012-01-14 12:27:38 +00:00
Nathan Adams
9ac06e7720 Fixed informing players of supported Plugin Channels 2012-01-14 01:46:22 +00:00
md-5
4dc2065f54 Undo commit cc60920 to allow for proper integration with the new Bukkit enum values 2012-01-14 11:14:43 +11:00
Tahg
24fe96ada8 Add fix for new login protocol 2012-01-13 10:20:30 -05:00
Nathan Adams
b4f215e913 Implemented new Plugin Message API - see http://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/ 2012-01-13 08:53:39 +00:00
md-5
d8052a63ed Fix NPE involving WorldTypes when using CraftServer.createWorld(WorldCreator creator) 2012-01-13 07:33:57 +01:00
Nathan Adams
8aaa528763 Fixed version in startup message 2012-01-12 22:33:31 +00:00
Erik Broes
7219d4dd85 Updated to Minecraft 1.1 2012-01-12 23:10:13 +01:00
Erik Broes
7d0e739f96 Fix balance of CraftBukkit start/end. 2012-01-12 19:43:34 +01:00
Nathan Adams
897551e39e Update to mc-dev rename revision 01 2012-01-12 15:27:39 +00:00
Erik Broes
7f079a0cd6 Fix CraftBukkit comments. 2012-01-12 12:07:38 +01:00
EvilSeph
42e473783e Fixed our handling of network packets. 2012-01-10 23:21:38 -05:00
EvilSeph
194f54a90e Revert "Improved our handling of player interactions."
This reverts commit b4d325e0efe44bc74e69371fb11e7c3e1124b2a3.
2012-01-10 22:19:23 -05:00
EvilSeph
bff4d0f696 Improved our handling of player interactions. 2012-01-10 01:17:19 -05:00
Andrew Ardill
67dbe71bd9 Fix calling CombustEvent caused by enchantment
The CombustEvent created when an Entity attacks with a fire enchanted weapon
was never raised through the plugin manager. Thanks for pointing it out
EdGruberman!
2012-01-09 10:46:07 +11:00
EvilSeph
93aed40c4f Fixed filled bottles not appearing in inventory. Fixes BUKKIT-325. Thanks
md-5!
2012-01-07 22:06:41 -05:00
EvilSeph
13470ccf79 Inform the client when break events are cancelled. Thanks mrapple! 2012-01-07 20:26:23 -05:00
EvilSeph
86fef037e0 Fixed NPE in World. Fixes BUKKIT-306. Thanks Evenprime! 2012-01-07 19:12:38 -05:00
Tahg
b74a69041e Fix door physics and revert to pre 1.0 behavior 2012-01-07 18:38:05 -05:00
Andrew Ardill
483a619e8a FIX: CraftServer.getOfflinePlayers was not converting set->array well.
An incorrect method was being used to convert from Set<OfflinePlayer>
to OfflinePlayer[].

Relates to BUKIT-404
2012-01-02 10:25:43 +11:00
Erik Broes
bcdad9f837 Fix snowball not recognizing int damage values properly from Craftbukkit -- Thanks Sleaker 2011-12-29 20:15:06 +01:00
Andrew Ardill
60a2d12250 CraftItemStack: Make sure this.item is not null when cloning.
Fixes BUKKIT-424
2011-12-29 22:44:58 +11:00
Andrew Ardill
5124f8f462 Test cloning of CraftItemStacks created with null nms ItemStacks 2011-12-29 22:44:58 +11:00
EvilSeph
8b735bf47a Made startup completion time actually be reported in seconds. Again. 2011-12-27 20:10:49 -05:00
EvilSeph
8b21a0eeef Disconnected means disconnected. 2011-12-27 19:57:54 -05:00
sunkid
066a95769c fixed double firing of EntityDamageByEntityEvent 2011-12-27 20:21:28 +01:00
sunkid
5adcf526ab moved firing of ProjectileHitEvent for mojang projectiles 2011-12-27 19:33:28 +01:00
Andrew Ardill
fb8a45b648 Teach CraftServer.getOfflinePlayers to also give all online players.
This method is most useful when it gives all the players who have ever
logged on to the server. Previously, it was not distinguishing between
players who had previously logged on, and were currently logged in,
and those who had previously looged on and were not currently logged in.
A distinction was made, however, between those currently logged in,
but who had not logged in previously.

This commit ensures that all players who have ever logged in (and are
listed as either logged in, or they have a player .dat file) will be
returned by the mentioned method.

Fixes BUKKIT-404
2011-12-27 16:48:09 +11:00
Erik Broes
834c420257 Update for cleanup in Bukkit 2011-12-25 15:35:12 +01:00
Tahg
81c751a8a3 Fix for water and lava removal in creative mode BUKKIT-362 2011-12-20 21:20:43 -05:00
Tahg
474b7838a6 Fix for big trees not growing BUKKIT-304 and BUKKIT-365 (thanks M D) 2011-12-20 18:02:39 -05:00
Tahg
299a0d0919 Fixed signs being editable after placement. Fix for BUKKIT-364 2011-12-20 18:02:39 -05:00
Nathan Adams
972b2087f2 Fixed bonemeal not being consumed on failed growth attempts. This fixes BUKKIT-337. Thanks to md-5 for the pull request! 2011-12-19 16:41:55 +00:00
Nathan Adams
246d07482b Fixed world.getHighestBlockYAt(x,z) returning 0 for existing but not loaded chunks. This fixes BUKKIT-327. Thanks for dredhorse for the pull request! 2011-12-19 16:30:26 +00:00
Nathan Adams
bea7b1373e Fixed vanilla->bukkit world migration for The End. This fixes BUKKIT-326. Thanks to chewi for the pull request! 2011-12-19 16:26:11 +00:00
Nathan Adams
3648fb571d Make rcon .sendMessage each write on a new line. This fixes BUKKIT-353. Thanks to ks07 for the pull req. 2011-12-19 16:22:59 +00:00
Andrew Ardill
1c6adc1587 Fix error when cloning enchanted ItemStacks.
The existing method for cloning a Bukkit ItemStack fails to correctly copy
the underlying enchantments. Fix this by overriding .clone() in
CraftItemStack, cloning the underlying nms ItemStack correctly.

Fixes BUKKIT-360
2011-12-20 00:30:54 +11:00
Andrew Ardill
acfb4f2fbe Test cloning enchanted CraftItemStacks 2011-12-20 00:25:15 +11:00
Andrew Ardill
b0ab686964 Avoid some avoidable calls, clean PluginManager accessors 2011-12-19 18:32:35 +11:00
Sam Wilson
a7744ac751 Prevent VehicleEnterEvent being sent when player exits vehicle.
Fix for BUKKIT-223.

Issue BUKKIT-223: When a player exits a minecart or boat, both a
VehicleExitEvent and a VehicleEnterEvent are fired.  Only the
VehicleExitEvent should fire.

Reason for bug: This occurs because the VehicleEnterEvent is fired in
EntityBoat.b and EntityMinecart.b *any* time a player right-clicks on
a vehicle, whether the right-click is to enter the vehicle or exit it.

Fix: By moving the creation of VehicleEnterEvents from EntityBoat.b
and EntityMinecart.b to Entity.setPassengerOf, we can create either a
VehicleEnterEvent or a VehicleExitEvent, depending on whether the
player is entering or exiting a vehicle.
2011-12-19 18:22:38 +11:00
Nathan Adams
e1586e017a ... Fixed dispensers again! 2011-12-12 21:49:35 +00:00
Nathan Adams
5412d6f5a8 Fixed crash with dispensers dispensing dispensables 2011-12-12 21:23:46 +00:00
Nathan Adams
52faa415ef Fixed clients not seeing EXP update immediately after using .setTotalExp and level methods 2011-12-12 19:44:57 +00:00