Commit graph

976 Commits

Autor SHA1 Nachricht Datum
zml2008
868eaf571c [Bleeding] Call a LAVA BlockIgniteEvent in another place in BlockStationary. Fixes BUKKIT-970
Also adds CraftEventFactory.callEvent(Event), which returns the event called. Currently only used for n.m.s.BlockStationary's lava
BlockIgniteEvent calls.
2012-03-15 00:33:55 -04:00
Celtic Minstrel
f219f0efe9 Implemented Enchantment.conflictsWith(). Addresses BUKKIT-1159 2012-03-13 22:23:33 -04:00
Celtic Minstrel
28c1f571d2 [Bleeding] Added Player.isBlocking(). Addresses BUKKIT-858 2012-03-13 19:43:07 -04:00
feildmaster
06b814fd7e [Bleeding] Added EntityBreakDoorEvent. Fixes BUKKIT-1134 2012-03-11 16:31:11 -04:00
rmichela
8ddd2f0566 [Bleeding] Help index now identifies itself as "Help: Index" rather than "Help: null" 2012-03-11 03:49:27 -04:00
EvilSeph
c84af98ccd Made World.refreshChunk() refresh the chunk, thanks zerg960! Fixes BUKKIT-1014 2012-03-11 03:38:29 -04:00
feildmaster
4545336fdf Only remove blocks when golem is successfully spawned. Fixes BUKKIT-1094 2012-03-11 01:30:16 -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
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
f534863552 Make setting slots to AIR set them to null. Addresses BUKKIT-1043 2012-03-10 15:54:10 -05:00
feildmaster
77ef051095 [Bleeding] Added new target events. Fixes BUKKIT-935 2012-03-10 02:08:33 -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
Mike Primm
97669f8d90 [Bleeding] Add updated interfaces for custom chunk generation. Addresses BUKKIT-874 2012-03-09 11:46:06 -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
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
Wesley Wolfe
c6273810a1 [Bleeding] Fixed crafting enchanted items, fixes BUKKIT-602 2012-03-02 21:10:39 -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
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
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
Mike Primm
82f2a2e773 World height related fixes - 128 -> 256. Addresses BUKKIT-889 2012-03-01 20:13:28 -05:00
Nathan Adams
f1f9802ded Implemented new 1.2 entities - this fixes BUKKIT-872 and BUKKIT-885 2012-03-01 18:03:14 +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
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
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
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
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
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
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
Wesley Wolfe
39048be430 [Bleeding] Cleanup clone method. 2012-02-20 05:49:48 -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
Mushroom Hostage
7076ef9de6 Use createNMSItemStack on CraftingManager recipe registration. Fixes BUKKIT-602 2012-02-13 00:44:58 -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
Travis Watkins
7ff8c17568 [Bleeding] Make sure we don't keep stale references to vanished players. 2012-02-09 22:03:43 -05:00
EvilSeph
54e45b7d66 Prevent the Vanish API from sending unnecessary packets. 2012-02-03 05:12:54 -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
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
3173b68bbe Filter null/AIR from items dropped on death. Fixes: BUKKIT-653 2012-01-29 13:37:32 +01:00
EvilSeph
bb730f0ee7 Cleanup. 2012-01-27 18:23:58 -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
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
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
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
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
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
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
Erik Broes
a4ce846d07 Fix formatting. 2012-01-15 10:54:57 +01: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
Feildmaster
6cc56b8c2c Added ItemDespawnEvent 2012-01-14 17:03:38 +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
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
3ee8a2372c Additional commit to fix #BUKKIT-24 2012-01-14 12:46:23 +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
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
Erik Broes
7219d4dd85 Updated to Minecraft 1.1 2012-01-12 23:10:13 +01:00
Nathan Adams
897551e39e Update to mc-dev rename revision 01 2012-01-12 15:27:39 +00: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
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
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
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
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
Nathan Adams
52faa415ef Fixed clients not seeing EXP update immediately after using .setTotalExp and level methods 2011-12-12 19:44:57 +00:00
Nathan Adams
b653ce3c1c Implemented (offline)player date methods 2011-12-12 17:39:52 +00:00
Nathan Adams
91ff0b059d Made OfflinePlayer and Player share the same .equals and .hashcode 2011-12-12 15:34:49 +00:00
Andrew Ardill
82965eb10f Stop converting ItemStack to nms ItemStack by hand
This should fix many issues with enchantments being lost, as the method used takes care of enchantments.
Additionally, use the new nms ItemStack constructor in places where appropriate.

Fixes (at least part of) BUKKIT-7. Need to identify any further places to fix.
2011-12-13 01:46:55 +11:00
Andrew Ardill
d7d48d8229 Teach CraftWorld.spawn how to spawn a Giant
Fixes BUKKIT-235
2011-12-12 14:36:13 +11:00
Nathan Adams
b2af70e5c7 Implemented getKiller in LivingEntity 2011-12-11 16:05:27 +00:00
EvilSeph
32a913a222 Linked thundering and storming. 2011-12-10 12:20:24 -05:00
Erik Broes
f7649724fe Implemented CraftServer.getAllowEnd(). Thanks codename-B! 2011-12-09 18:55:36 +01:00
Nathan Adams
5e43c61fad Implemented onStructureGrow event, thanks to md-5. 2011-12-09 16:11:56 +00:00
Andrew Ardill
a25151306c Fix NPE as described in BUKKIT-245. Thanks snowleo 2011-12-08 10:26:39 +11:00
Andrew Ardill
b08b85bd26 Teach EnderDragon how to throw EntityExplosionEvents when it breaks blocks
We also teach CraftWorld how to explode an event, taken from
Explosion.a(boolean) (the code that breaks blocks and drops them on the ground).

The EnderDragon has a flag that slows it down when it hits unbreakable blocks:
Obsidian, White Stone or Bedrock. It might be useful to extend the event so that
plugins can set this.

Letting the API set the default yield for an explosion event has been
deprecated, so we now set the default yield using the appropriate constructor.
2011-12-08 00:31:21 +11:00
Andrew Ardill
4e318dd1c8 Implement new interface ConsoleCommandSender.
Also use abstracted ServerCommandSender to reduce complexity! Yay!
2011-12-07 17:46:30 +11:00
Andrew Ardill
93a4a9ba8c Teach MinecraftServer how to handle Remote Console commands.
This fixes BUKKIT-220. Thanks for the help bawoodruff!
2011-12-07 17:45:50 +11:00
Tahg
e4a839cbbc Fix for entity spawning and some code cleanup 2011-12-06 19:21:10 -05:00
Tahg
bc8f02788f Performance update to remove several very high counts of temp object creation 2011-12-06 08:52:45 -05:00
Tahg
eead44a692 fix NPE issue with CB inventory 2011-12-06 08:48:45 -05:00
Andrew Ardill
b1a3aa602a Clean-up some events to maintain general style 2011-12-05 19:23:40 +11:00
Nathan Adams
8363eadcab CraftInventory.remove shouldn't care about amount (BUKKIT-138) 2011-12-05 01:51:33 +00:00
Nathan Adams
dbd3ff71fc Implemented server.getOfflinePlayers 2011-12-04 17:57:00 +00:00
Nathan Adams
c6d182286c Fixed some various CraftInventory bugs related to dropping Enchantments 2011-12-04 13:22:50 +00:00
Nathan Adams
1185ca75fc Fixed player teleporting not working with a certain method. This fixes BUKKIT-198 2011-12-04 13:22:31 +00:00
Nathan Adams
55a532c251 Indicate when a teleport event was triggered by ender pearls or unknown internal teleports 2011-12-04 11:04:14 +00:00
Andrew Ardill
c298c104ea Remove unused import 2011-12-02 21:38:50 +11:00
Nathan Adams
6ea3cec762 Made world.spawnCreature just delegate to world.spawn. This fixes BUKKIT-57 2011-12-01 21:50:23 +00:00
Erik Broes
da6b412fd2 Fix CraftBlock toString. 2011-12-01 21:03:23 +01:00
Nathan Adams
d02a2eb49d Fixed rare NPEs with CraftItemStack. This fixes BUKKIT-51 2011-12-01 05:21:03 +00:00
Nathan Adams
a513406005 Fixed exp methods returning wrong values 2011-11-30 22:31:03 +00:00
Nathan Adams
8fbe78a2c3 Updated to use mc-dev rename revision 1 2011-11-30 21:46:19 +00:00
Erik Broes
8665161eaa Fixed multiworld loading of some worlds, yay for 1 letter fixes :D 2011-11-30 21:48:16 +01:00
Andrew Ardill
c6af919114 Fix CraftEnderCrystal so that it implements EnderCrystal, not EnderSignal.
Thanks zhuowei!
2011-11-30 09:21:54 +11:00
Andrew Ardill
2759809ecb Fix Craft Entity constructors and toStrings.
Also, standardise getHandle and clean up in general.
getHandle is now using the 'entity' member variable instead of
super.getHandle, as this reduces the number of chained calls needed.
2011-11-29 21:22:35 +11:00
Andrew Ardill
0c88f05c0d Fix CraftVillager constructor to only take an EntityVillager 2011-11-29 09:46:20 +11:00
Andrew Ardill
89338db181 BUKKIT-57 Fix using Bukkit interface instead of nmc Entity for type check.
Thanks nidefawl!
2011-11-29 09:42:09 +11:00
Nathan Adams
fe3756f7a0 Fixed Enchantments being lost on inventory.setItem 2011-11-28 05:17:05 +00:00
Nathan Adams
99771b7b72 Fixed magma slimes from being nonspawnable 2011-11-28 05:08:28 +00:00
Andrew Ardill
4b87704c5a Add new Entity types to CreatureSpawnEvent 2011-11-28 11:21:43 +11:00
Andrew Ardill
c0073e466d Add CraftMagmaCube 2011-11-28 11:17:04 +11:00
Nathan Adams
8d49f500ec Fixed NPE in CraftPlayer.getBedSpawnLocation 2011-11-27 04:09:34 +00:00
Nathan Adams
402e3c26e1 Clone item enchantments unchecked 2011-11-27 03:58:43 +00:00
Nathan Adams
894ab9f949 Fixed issue with enchantments reseting under certain conditions 2011-11-27 02:45:34 +00:00
Nathan Adams
eb7bd5f23b Implemented Enchantment API 2011-11-27 01:37:00 +00:00
Nathan Adams
ef75a286ac Implemented world.getWorldFolder 2011-11-25 03:47:12 +00:00
Nathan Adams
20a0b0a9be Changed Entity.isDead to be aware of health for living entities 2011-11-25 00:32:44 +00:00
Nathan Adams
e31cedf583 Fixed NPE in player inventory + don't ignore the cancel state of world unloads 2011-11-24 20:27:16 +00:00
Nathan Adams
a7664a104f Implemented new age methods in animals, and made spawned animals via eggs properly age back to children 2011-11-24 20:16:43 +00:00
Nathan Adams
47b4406b7e I've either fixed going to The End, or made it worse. I'm sure we'll find out soon! 2011-11-24 20:00:55 +00:00
Nathan Adams
61edd36378 Made BlockStates inform playes upon update 2011-11-24 18:48:23 +00:00
Nathan Adams
c6beae8872 Fixed allow-nether being ignored 2011-11-24 18:48:01 +00:00
Nathan Adams
929e5ff6c7 Implemented new biome values 2011-11-22 21:21:33 +00:00
Nathan Adams
a83fc1d6a2 Implemented new EnderCrystal entity class 2011-11-21 22:39:33 +00:00
sunkid
0a8bd56f16 fixed spawn method for projectiles 2011-11-20 18:21:21 -08:00
Erik Broes
345ea36c7b Update for 1.0.0 2011-11-20 00:01:33 -08:00
Nathan Adams
589f66bd1b Added new --noconsole command argument, thanks to mkurzeja for the idea 2011-11-05 20:15:19 +00:00
Nathan Adams
b1671be875 Implemented bukkit versioning 2011-10-31 04:03:47 +00:00
Erik Broes
2f1513cae0 Add missing CraftBlock hashCode() 2011-10-20 23:20:26 +02:00
Tahg
8c02599256 fixed mapping of Art <-> EnumArt in Paintings 2011-10-12 14:13:11 -04:00
Nathan Adams
75d9b04deb Added new bukkit.yml entry (settings -> world-container) to control the directory worlds are stored in 2011-10-12 04:25:03 +01:00
Nathan Adams
f4229fcadd Implemented getPlayer of OfflinePlayer 2011-10-11 14:52:07 +01:00
Nathan Adams
af1838305c Implemented entity age methods 2011-10-11 02:23:10 +01:00
Nathan Adams
7e005474b6 Added hashCode and equals to CraftWorld 2011-10-10 22:45:52 +01:00
Nathan Adams
1195944c90 Removed deprecated ConcurrentSoftMap 2011-10-10 22:05:35 +01:00
Nathan Adams
c818414fd5 Updated to the new Configuration api 2011-10-10 21:10:48 +01:00
Erik Broes
255778b388 Fix CraftBlock.equals as they are not singletons anymore 2011-10-07 11:48:14 +02:00
Tahg
696349884b don't store weak references for EmptyChunks or cache CraftBlocks 2011-10-05 11:36:03 -04:00
EvilSeph
9177c205b4 Revert "Added callback line of sight methods. Thanks xZise!"
This reverts commit 49cf586f969626bdb59632bb2fd5adfe79d38057.
2011-10-03 15:17:34 -04:00
EvilSeph
11b388ff39 Fixed multiworld difficulty.
World difficulty was incorrectly being set to 0 or 1 on reload depending
on spawn-monsters instead of the difficulty server property.
2011-10-03 10:53:17 -04:00
EvilSeph
7c5007c016 Added Difficulty API. 2011-10-03 10:29:24 -04:00
EvilSeph
3b2347093f Added missing call for WorldUnload event. 2011-10-02 23:16:58 -04:00
EvilSeph
aaefd4ecb5 Added callback line of sight methods. Thanks xZise! 2011-10-02 23:04:03 -04:00
Dinnerbone
80c2bc266a Minimal diffs! Move methods for the new list-name away from nms 2011-10-03 00:37:44 +01:00
EvilSeph
22baa13894 Painting improvements. Thanks CelticMinstrel!
Implement get/setArt and facing direction for paintings; expanded painting break causes; added painting support to World.spawn
2011-10-01 13:37:03 -04:00
Mike Primm
aa66851119 Correct biome data in ChunkSnapshot - wrong API used 2011-09-30 23:31:37 -04:00
Dinnerbone
935313dea7 Fixed players not receiving broadcasts (and other similar issues) after signing out and in rapidly 2011-09-27 23:14:53 +01:00
sk89q
afd95b7e30 Added server list ping event. 2011-09-26 15:32:05 -07:00
sk89q
87494d46f8 Added Player.get/setListName to change the name of the player on the player list. 2011-09-26 15:10:35 -07:00
Tahg
d226e551ae data improvements 2011-09-26 03:07:46 -04:00
sk89q
b7c43fbff1 Boat get/set (double) occupied acceleration, (double) unoccupied deceleration, (boolean) work on land. Good values to maximize boat utility: 0.6 (fast accel.), 0.99 (no loss of boat), true/false, respectively. 2011-09-25 11:20:51 -07:00
Dinnerbone
8f8c62b71b Ensure there's only one OfflinePlayer object per actual offline player 2011-09-25 04:21:35 +01:00
Celtic Minstrel
aece687d01 Implementation of the Jukebox BlockState 2011-09-25 03:54:51 +01:00
Dinnerbone
6c6eef8759 Implemented get/setPickupDelay on Item entities, thanks robin0van0der0v 2011-09-25 03:40:28 +01:00
Dinnerbone
ceba082703 Implemented getOperators 2011-09-25 03:28:00 +01:00
Dinnerbone
cb49379b24 Adds a method that returns the File representation of the update folder. Thanks raphfrk 2011-09-25 02:22:06 +01:00
Dinnerbone
fad2656c63 Implemented world.getSeaLevel, made getHeight load from world instead of hardcoded 2011-09-25 01:05:55 +01:00
Dinnerbone
1fbd439dc5 Implemented new createWorld method 2011-09-25 01:05:10 +01:00
Dinnerbone
44136f2e7d Blocked access to ColouredConsoleSenders constructor, implemented getConsoleSender 2011-09-24 23:14:13 +01:00
Dinnerbone
0118a20d6a Update to mcdev rename revision 01 for 1.8.1 2011-09-24 22:05:22 +01:00
Rigby
e6e9cec1e9 Added PlayerToggleSprint event and sprinting related API. 2011-09-21 16:25:26 -04:00
Rigby
1da2d1f5b6 Implements the ability to customise and remove Player death messages. 2011-09-21 16:55:27 +01:00
Dinnerbone
20ddc944bb Refactored a bunch of death code into the event factory 2011-09-21 15:41:24 +01:00
EvilSeph
905b977670 Added getBedSpawnLocation to CraftPlayer. Thanks fernferret! 2011-09-20 23:44:44 -04:00
Dinnerbone
a0216584b0 Return OfflinePlayer for offline wolf tamers. Thanks robinjam 2011-09-20 19:10:06 +01:00
Wizjany
2ae6b431b3 Added event for endermen picking up and placing blocks and methods to get/set what an enderman is holding. 2011-09-20 18:49:47 +01:00
Dinnerbone
914a8a0c04 Nullchex! 2011-09-19 14:26:46 +01:00
sunkid
af6ba0f026 implementation of PlayerGameModeChangeEvent call 2011-09-18 11:19:08 +02:00
Mike Primm
3f4ee9ab56 Added support back in for biome temperature and rainfall in snapshots. 2011-09-17 17:12:44 -04:00
EvilSeph
392e2a4272 Implemented configurable ping packet limit. 2011-09-16 22:26:49 -04:00
EvilSeph
096672b3c1 Added toString overrides to new Craft entities. 2011-09-16 22:26:11 -04:00
EvilSeph
820c51ab97 Added new entity mappings to CreatureSpawnEvent factory. 2011-09-16 20:10:49 -04:00
Dinnerbone
9252230e3a Update for Minecraft 1.8.1 2011-09-15 18:01:13 +01:00
Dinnerbone
2b5a61f03d Rename revision 2 2011-09-15 17:39:17 +01:00
Dinnerbone
965b185c5c Setting exp shouldn't add, it should set 2011-09-15 06:27:55 +01:00
Dinnerbone
8b08696177 Implemented food methods + fixed dying resetting food 2011-09-15 06:24:45 +01:00
Dinnerbone
7eff773769 Fixed spawning the new entities 2011-09-15 05:53:19 +01:00
Dinnerbone
548ecfdec8 Implemented Exp Orb methods 2011-09-15 05:48:31 +01:00
Dinnerbone
1c95476a00 Implemented player experience methods 2011-09-15 05:13:10 +01:00
Dinnerbone
ca4810e8d4 Implemented new entities 2011-09-15 02:33:50 +01:00
Dinnerbone
a9b3a90dc9 Implemented gamemode methods 2011-09-15 02:22:20 +01:00
Dinnerbone
5b2c774edc Update for Minecraft 1.8 2011-09-15 01:23:52 +01:00
Top-Cat
54bcd1c1f3 Indentation is important, ok? 2011-09-12 19:40:30 +08:00
Dinnerbone
f36bca9fb7 Implemented new GameMode methods (hint: You can't set game mode yet. Sorry.) 2011-09-09 01:19:23 +01:00
Dinnerbone
59babb2c31 Fixed issue with console being subscribed multiple times to permissions 2011-09-04 00:24:32 +01:00
Dinnerbone
c8d77561b1 Added new Server.getPlayerExact() method, added whitelist methods and don't use vanilla commands 2011-09-03 15:57:54 +01:00
Dinnerbone
09d90e639b Implemented new ban and unban methods 2011-09-03 02:13:07 +01:00
Dinnerbone
598be22800 Implemented IP-banning methods 2011-09-03 01:59:28 +01:00
Dinnerbone
2547c46099 Actually push the CraftOfflinePlayer implementation! 2011-09-03 00:49:10 +01:00
Dinnerbone
0206757029 Implemented OfflinePlayer 2011-09-03 00:41:48 +01:00
Dinnerbone
fe0cd5405b Implemented new broadcast method 2011-09-02 22:24:28 +01:00
Dinnerbone
db691ff5c8 Fixed player.setOp not deopping players 2011-09-02 21:30:16 +01:00
Dinnerbone
7c491b7bc7 Fixed world.save, implemented autosave methods 2011-09-02 20:46:26 +01:00
Dinnerbone
0c20045964 Implemented Server.shutdown() 2011-09-02 20:18:35 +01:00
Dinnerbone
d69bbd38c2 Commands are now "bukkit.command.x" instead of "craftbukkit.command.x", added legacy perms for compat 2011-09-02 19:19:50 +01:00
Dinnerbone
3915c15ef5 Version message doesn't need to be printed manually now 2011-09-02 16:56:10 +01:00
Dinnerbone
f165d4082d Refactored some code from nms to ob for minimal diffs 2011-08-29 16:09:13 +01:00
EvilSeph
e4a2177281 Fixed memory leak Chunk Compression handling. Thanks Zeerix! 2011-08-27 01:16:53 -04:00
Tahg
6e4b12cdf1 safety check (and hopeful fix) for chunk saving 2011-08-19 23:17:48 -04:00
Dinnerbone
90d1afb748 Refactored default permission registration. Added "craftbukkit" and "craftbukkit.command" parent perms, and fixed whitelist adding 2011-08-18 14:04:59 +01:00
EvilSeph
26bd45c233 Made suiciding through the /kill command not reliant on pvp being allowed. 2011-08-15 14:30:27 -04:00
EvilSeph
8ea590bbcc Revert "Implements interface for changing the view distance." 2011-08-15 14:27:02 -04:00
Andrew Ardill
12e377501e Implements interface for changing the view distance.
Uses default view distance if player's view distance is not set

Throws an illegal argument exception if view distance is set too high
or too low.

Pushes notifications of server and world view distance changes to the player.
Move view distance functions from PlayerManger to WorldServer.
Set player minimum view distance to 1 for now.
Reset player's 'last known' position when recalculating visible chunks.

Use per-player view distance in chunk distance checks
2011-08-15 14:57:25 +10:00
EvilSeph
748a6288e4 Added API for manipulating map items. Thanks SpaceManiac, codename_B, sk89q and dested! 2011-08-12 23:06:02 -04:00
Dinnerbone
e6876a97da Added permissions for each vanilla command - see http://wiki.bukkit.org/Vanilla_permissions. Removed op requirement for all server commands :o 2011-08-13 03:15:32 +01:00
Rigby
96a0e87068 Fixed chunks being overwritten with empty chunks when the memory setting is immediately changed after a world loads. 2011-08-12 21:19:53 -04:00
EvilSeph
c1e85002b6 Added missed colors to ColouredConsoleSender. Thanks flames! 2011-08-12 21:19:52 -04:00
EvilSeph
831d97c8de Added "getViewDistance()", "getAllowNether()", "hasWhitelist()" and "getAllowFlight()". Thanks robin0van0der0v! 2011-08-08 16:01:34 -04:00
Rigby
4117d6b65e Implemented per world setting to keep the spawn in memory or not. 2011-08-05 15:52:38 -04:00
Rigby
6ae23e3f03 Chunk Compression on seperate thread. Thanks to Zeerix. 2011-08-03 20:55:44 -04:00
sunkid
7d4ec8b183 Retiring EntityDamageByProjectileEvent in favor of EntityDamageEvent. 2011-07-28 01:51:09 -04:00
EvilSeph
6b9c7fa678 Added Version startup argument to Main. Thanks cyberdudedk! 2011-07-28 00:58:37 -04:00
EvilSeph
5b7b46593c Added various utility methods to make chunk handling easier. Thanks Meaglin! 2011-07-28 00:32:58 -04:00
EvilSeph
226318d8af Removed deprecated methods.
getNote() that returns a byte has been replaced by getRawNote().
teleportTo(Location) has been replaced by teleport(location).
teleportTo(Entity) has been replaced by teleport(Entity).
SnowForm event has been replaced by BlockForm event.
2011-07-27 23:25:21 -04:00
Dinnerbone
7ad853a51b Implemented maxheight 2011-07-20 00:03:47 +01:00
Dinnerbone
5d2a195835 Implemented new permission system 2011-07-17 17:19:41 +01:00
Erik Broes
cc9ccc8976 Removed some old deprecated code and clean up javadocs + warnings 2011-07-17 18:14:45 +02:00
Erik Broes
fd260b0f4d Allow colorchar to be uppercase 2011-07-17 18:14:45 +02:00
Erik Broes
f7712eb20c Deprecated Block.getFace(Face) and Block.getFace(Face,int); use getRelative() 2011-07-17 18:14:45 +02:00
Erik Broes
f3a86eaaca Implemented BLOCK_PISTON_CONTRACT/EXPAND 2011-07-17 18:14:45 +02:00
Dinnerbone
e4edbf288d Don't use weak/soft references for keys, attempt to lessen memory impact further 2011-07-16 02:55:54 +01:00
Dinnerbone
c101c3553b Readded ConcurrentSoftMap because apparently some plugins need this. (They really, really shouldn't be using it. At all.) 2011-07-15 21:49:53 +01:00
Dinnerbone
a507add4ea Fixed huge memory leak (gigabytes/hour!) by placing a bukkit under the ceiling. 2011-07-15 20:52:54 +01:00
Dinnerbone
43492ab6af Revert "Do not immediately re-queue repeating tasks, or they may simply keep repeating on this tick, until the 35ms time limit runs out." See 3632d99122 (commitcomment-478252)
This reverts commit 3632d99122e8795cadb8f94e14e42eb4aa6d7c4c.
2011-07-14 23:21:28 +01:00
Afforess
4a932c11de Do not immediately re-queue repeating tasks, or they may simply keep repeating on this tick, until the 35ms time limit runs out. 2011-07-14 15:49:23 -04:00
EvilSeph
3c5ecd0854 Fixed missing BiomeBase.SKY to Biome.SKY mapping. Thanks mikeprimm! 2011-07-14 15:05:43 -04:00
Celtic Minstrel
cc94325b28 Implemented pig zombie get/set anger functions. 2011-07-14 14:58:12 -04:00
EvilSeph
185d590146 Fixed the accounting for world UID conflicts. 2011-07-13 15:40:31 -04:00
Dinnerbone
3d28c67c08 Implemented helper methods + new biome methods 2011-07-13 10:44:03 +01:00
EvilSeph
7f6e7060d7 Account for world UID conflicts. 2011-07-13 03:29:43 -04:00
Rigby
9e49127c7d Made the order of aliases matter. We may or may not re-do this in a later build. 2011-07-13 00:31:05 -04:00
Tahg
d0f904fc50 uuid changes 2011-07-13 00:06:07 -04:00
stevenh
83fd8fad69 Added command line logging configuration which enables log file:
* Size limiting (--log-limit <size in bytes>)
* Rotation (--log-count <count of files>)
* Custom naming (--log-pattern <filename pattern>)
* Append (--log-append <true|false>)
Note: This is done via command line and not bukkit-settings as that would require lots of refactoring of both core server and CraftBukkit due to the current initialisation ordering and depenencies.
All settings default to that of the standard server
2011-07-10 18:28:57 +01:00
Dinnerbone
c56d0c0842 Use generators from bukkit.yml if none was specified at createWorld 2011-07-08 19:01:03 +01:00
Dinnerbone
2f218ba6b1 Update for 1.7.3 2011-07-08 13:25:53 +01:00
Dinnerbone
0993e6cbd1 Okay, back to arbitrary offsets! 2011-07-07 20:29:57 +01:00
Dinnerbone
83abbfe4d6 Cleaned up this worlduid stuff a little. 2011-07-07 19:47:42 +01:00
Rigby
4cab8635db Made maps support MultiWorld worlds. 2011-07-07 14:40:27 -04:00
Rigby
9ced39421f Implements a World UID. 2011-07-07 14:20:05 -04:00
Erik Broes
68506e2a4a Forgot version in CraftBukkit 2011-07-01 14:24:59 +02:00
EvilSeph
49df44ad6c Possible fix for cancelled CraftScheduler tasks still running. 2011-06-30 13:42:18 -04:00
Dinnerbone
61a7a0633c Update to minecraft 1.7_01 2011-06-30 15:47:36 +01:00