Commit graph

863 Commits

Autor SHA1 Nachricht Datum
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
Dinnerbone
a679e7f380 Update to Minecraft 1.7 2011-06-30 15:19:25 +01:00
Erik Broes
a98c7ba2c7 Massive renaming update in nms. If you bypassed Bukkit, you will likely break.
Also minimized all the nms diffs and generic cleanups all around.
2011-06-27 00:47:03 +02:00
Dinnerbone
528e8c7221 Don't register commands only on init 2011-06-26 02:46:04 +01:00
Dinnerbone
b94bb27663 Delayed alias registration until postworld 2011-06-24 00:57:46 +01:00
EvilSeph
22c28e593e We build for JDK 1.5. 2011-06-23 15:41:07 -04:00
sunkid
6e746ef79a Made bukkit settings reload on reload(). 2011-06-23 14:35:05 -04:00
Dinnerbone
98098481e9 Fixed default command alias to do an array 2011-06-22 19:20:14 +01:00
Dinnerbone
0a3b89c8f8 Implemented new alias system 2011-06-22 19:10:29 +01:00
Dinnerbone
7f0126a364 You may now set a generator to a default world using plugin.yml 2011-06-22 18:27:52 +01:00
Dinnerbone
d647e2098e Implemented startup plugin loading 2011-06-22 18:27:51 +01:00
EvilSeph
79337d3aab Added SpawnReasons to CreatureSpawn events. Thanks winsock! 2011-06-21 16:37:07 -04:00
EvilSeph
faab690dc7 Added Sky biome for the Skylands. Thanks robin0van0der0v! 2011-06-21 15:46:02 -04:00
Rigby
138c70183d Changed Nether portals to be handled by a customiseable PortalTravelAgent and updated the PlayerPortalEvent 2011-06-20 18:33:21 -04:00
sunkid
214d412505 Added the abitility to spawn fireballs. 2011-06-20 16:26:22 -04:00
sunkid
6cf0fc4a7b No more ghastly pigs! 2011-06-19 18:39:47 -04:00
sk89q
57d677d1e8 Fixed CraftWorld.spawn() having all the inheritance checks backwards. 2011-06-19 12:59:36 -07:00
EvilSeph
cb7b82d452 Added API to allow plugins to set the world's spawn flags. 2011-06-19 06:34:22 -04:00
EvilSeph
89a524678a Added getOnlineMode() for the Server. Thanks Rigby! 2011-06-19 06:34:21 -04:00
sunkid
155874eec9 Implemented the concept of a projectile. 2011-06-18 22:21:02 -04:00
sunkid
546e1306d8 Fix for spawnMinecart. 2011-06-18 21:56:42 -04:00
EvilSeph
4cefee5be7 Added world seed display to 'Preparing level' log message for each world 2011-06-18 00:29:34 -04:00
sunkid
fadd962b9c Added the implementation of the concept of an Explosive. 2011-06-17 16:55:00 -04:00
EvilSeph
10fb5dc843 Added ChunkSnapShot improvements. Thanks mikeprimm!
Added support for biome data to chunk snapshot
Added method for returning empty chunk snapshot (for ungenerated chunks)
2011-06-17 09:23:19 -04:00
EvilSeph
39332e5c87 Added Instrument enum, Note class and get/setNote functions. Thanks xZise! 2011-06-17 03:16:18 -04:00
EvilSeph
cc1b0a005c Added per player time support. Thanks eisental, Shamebot and needspeed10! 2011-06-17 02:29:16 -04:00
sunkid
a70a5abc3d Added implementation of general spawn method. 2011-06-17 01:57:33 -04:00
sunkid
a8817b7bd1 Implemented extended createExplosion methods. 2011-06-17 01:44:32 -04:00
Dinnerbone
7aadc3d666 Moved spawn-protection from server.properties into (settings.)spawn-radius in bukkit.yml 2011-06-17 04:49:58 +01:00
Dinnerbone
c0244eda04 Implemented bukkit.yml command aliases 2011-06-17 04:09:43 +01:00
Dinnerbone
7e22faf9d6 Moved some craftbukkit stuff down from WorldServer to World; should fix a few NPEs during generation, and saves on a lot of casting 2011-06-17 03:06:45 +01:00
EvilSeph
6f1d6a4ca8 Fixed EntityTame event. 2011-06-15 15:01:09 -04:00
Erik Broes
9adc03abab Generic cleanup of the org.bukkit.craftbukkit classes. 2011-06-12 12:51:54 +02:00
EvilSeph
73e34c2fe3 Added ItemSpawnEvent. Thanks myers! 2011-06-11 02:00:05 -04:00
EvilSeph
5b93f5565a Fixed from and to worlds being the same for a PlayerTeleportEvent for crossworld teleports. Thanks for the help Rigby and Verrier! Tahg is responsible for the mess. 2011-06-11 01:33:37 -04:00
sk89q
e5c6b329d5 Whoops, need this commit too. 2011-06-09 23:56:42 -07:00
sk89q
bf4a4a767c Added some missing @Override. 2011-06-09 23:30:38 -07:00
sk89q
ccabbcbf0a Added World.createExplosion() that takes a Location, instead of just raw X, Y, Z values. 2011-06-09 23:13:38 -07:00
sk89q
a25ab644df Cleaned up some Javadocs. 2011-06-09 23:11:37 -07:00
sk89q
e45c502ec1 Moved playSound/Effect(Player, ...) to Player.playEffect(Location, ...) to be consistent, and because the code didn't really do what the Javadoc said. 2011-06-09 23:08:00 -07:00
sk89q
846bd468d4 Changed sound playing to effect dispatching, since these seem more like more like encompassing effect than mere sounds. 2011-06-09 22:57:32 -07:00
sk89q
baf9a9f501 Merge branch 'sound' of https://github.com/sunkid/CraftBukkit 2011-06-09 22:38:44 -07:00
sunkid
5fe9ac362b implementations of the playSound methods 2011-06-09 12:37:27 -07:00
EvilSeph
4a0eb0a4a1 Added method to create an explosion in world. Thanks Zaraza107! 2011-06-09 04:17:19 -04:00
EvilSeph
b0714775e1 Added EntityTame event. Thanks halvors! 2011-06-09 04:03:15 -04:00
raphfrk
8320917363 Adds update chunk method for sending fake chunk updates to the client. This is to match the sendBlockChange method. 2011-06-08 19:05:01 -04:00
Tahg
5296f97cde Portal changes. 2011-06-08 16:57:46 -04:00
Dinnerbone
864f8d2f0d Fixed nether's identity crises 2011-06-07 19:25:44 +01:00
EvilSeph
d33c06ead2 Added UniqueId to entities. Thanks Afforess! 2011-06-07 04:21:33 -04:00
EvilSeph
95c19d5f22 Added ChunkSnapshot for efficient, thread-safe copies of Chunk data. Thanks mikeprimm! 2011-06-07 03:34:23 -04:00
EvilSeph
68608169cd Implemented unloadWorld(). Thanks Rigby! 2011-06-07 03:16:07 -04:00
Dinnerbone
d40c690c8f Fix for generator stuff now being class 2011-06-06 21:12:03 +01:00
Dinnerbone
fedcbdf256 Implemented custom chunk generators and block populators 2011-06-06 18:38:47 +01:00
EvilSeph
891dfbcef8 Possible fix for some chunk loading issues experienced when teleporting. Thanks akrieger! 2011-06-05 12:38:56 -04:00
Tahg
5f684ef163 fixed environments 2011-06-03 18:36:14 -04:00
Tahg
ebc478388c fixed cross world teleport 2011-06-01 18:35:57 -04:00
Tahg
8835cb905f More multiworld fixes 2011-05-31 21:19:37 +02:00
Erik Broes
62b5da4e3a Update for 1.6.6 2011-05-31 15:56:05 +02:00
Erik Broes
6dbd710bbf Update for 1.6.5 2011-05-30 22:37:34 -04:00
Dinnerbone
1784e42d5f Fixed a bunch of multiworld issues (entity tracking etc) 2011-05-27 00:11:45 +01:00
Dinnerbone
9934dd8561 Version fix 2011-05-26 15:21:54 +01:00
Dinnerbone
dc76d3a64a Update for 1.6.3 2011-05-26 14:30:16 +01:00
Dinnerbone
6903f20242 Implemented 1.6! 2011-05-26 13:48:22 +01:00
EvilSeph
949634ad67 Fixed animals not spawning when spawn-monsters is set to false. 2011-05-22 15:33:34 -04:00
stevenh
8b0924bbb4 Fixed duplicate console and player messages when built in server commands where used or an unknown command was issued 2011-05-22 20:30:01 +01:00
Dinnerbone
6319a19073 Possible fix for -nojline printing blank lines 2011-05-19 21:46:47 +01:00
EvilSeph
480c1b9877 Fixed -nojline. 2011-05-19 14:15:13 -04:00
EvilSeph
eac5b9623d Added -nojline CLI option to emulate vanilla console behaviours. Added JLine disabling compatibility (removes the '>').
-nojline disables JLine, removes the '>', sets the timestamp to vanilla's and sets the language to English.

-Djline.terminal=jline.UnsupportedTerminal disables JLine and removes the '>'.
2011-05-18 21:36:30 -04:00
EvilSeph
7f73594aa8 Added get/setLastDamageCause. Thanks sunkid! 2011-05-16 00:26:22 -04:00
EvilSeph
3439b7f9d9 Made setHealth(0) trigger EntityDeathEvent and drops. Thanks yetanotherx! 2011-05-15 22:16:46 -04:00
Erik Broes
309846d732 Whitespace + general cleanup 2011-05-15 13:41:46 +02:00
Andrew Ardill
25a74b624c Edited src/main/java/org/bukkit/craftbukkit/entity/CraftPig.java via GitHub 2011-05-11 17:42:42 -07:00
Andrew Ardill
88d0171c43 Merge pull request #268 from xPaw/master
Implemented hasSaddle/setSaddle
2011-05-11 17:40:13 -07:00
sk89q
6cbd4cdf9e Added World.strikeLightningEffect() that does no damage. 2011-05-06 19:25:44 -07:00
EvilSeph
99a7b91ef1 Added an update on load feature for plugins. Thanks Raphfrk!
Any files placed in the configurable update folder are automatically copied into the plugins directory the next time a reload happens. This allows safe updating of the plugin .jar files. The name of the update folder is configurable through bukkit.yml.
2011-05-05 17:56:52 -04:00
EvilSeph
54e2254904 Made teleporting between worlds 'smoother'. Thanks Raphfrk! 2011-05-04 22:16:26 -04:00
sk89q
93708cb748 Added services manager framework. 2011-05-02 11:31:33 -07:00
sk89q
bdcee9025c Added method to fake a block change request for a player. 2011-05-02 11:31:33 -07:00
sk89q
80a1a4ac82 Added Player.playNote(). 2011-05-02 11:31:32 -07:00
sk89q
98cea5cd15 Added NoteBlock.play(instrument, note). 2011-05-02 11:31:32 -07:00
Andrew Ardill
83eecfbd4e AnimalTamer implementations, refactor and clean-up of code 2011-05-03 00:46:38 +10:00
Mike Primm
02d7f32e8f Fix isSitting()/setSitting(), add isTame()/setTame()/getOwner()/setOwner() methods 2011-05-02 23:55:46 +10:00
Andrew Ardill
cd3c8fcfc8 We build for Java 1.5, so no @Override for interface implementations 2011-05-02 23:55:18 +10:00
Raphfrk
fdb077e814 Improved the Scheduler.
Adds nag message when async tasks are not properly shut down and adds a limiter for sync tasks. Once they use 35ms in a single tick, any remaining tasks are not executed until later ticks. Adds a method to report the pending tasks and one to report active worker threads
2011-05-02 02:40:07 -04:00
Raphfrk
aa70240917 Added a setArmorContents method to PlayerInventory.
It handles error checking.  Null item stacks and air item stacks are both converted to clear slot calls to prevent crashing the client.
2011-05-02 02:09:24 -04:00
Rigby
f342db744a Added per world PVP setting support. 2011-05-02 00:32:26 -04:00
Celtic Minstrel
5a5ce79035 Implemented addRecipe method in CraftServer and associated recipe classes. 2011-05-01 23:40:48 -04:00
xPaw
73aa3ac03c Added hasSaddle/getSaddle 2011-04-26 07:29:25 -07:00
EvilSeph
d2a4c510b3 Added events related to weather in 1.5. Thanks wizjany! 2011-04-25 19:47:25 -04:00
Rigby
5fff84c5a9 Added the ability to retrieve a world's Seed. 2011-04-25 16:49:24 -04:00
Erik Broes
88ebcc8db5 Fix TextWrapping issues; Now limits the packets send to the client to either: 119 chars or 320 width. This will strip disallowed characters, propagate colors properly to the next line and not 'eat' multiple color-codes. 2011-04-25 22:17:07 +02:00
sk89q
a042ee1e26 Add methods to control thunder. 2011-04-22 03:13:21 -07:00
sk89q
c3ce6ce3ab Added weather control methods. 2011-04-22 02:18:13 -07:00
sk89q
6739d6d75c Added World.strikeLightning(). Also renamed WeatherStorm -> LightningStrike. 2011-04-22 01:25:55 -07:00
sk89q
4ecbf5f590 Changed Block.setTypeId() back to old behavior before the new translation process. 2011-04-21 23:31:09 -07:00
Dinnerbone
3afe2df241 Implemented stats/achievement giving 2011-04-21 20:57:34 +01:00
EvilSeph
4d78c45d8b Made reload support allow-flight. 2011-04-21 15:40:22 -04:00
Dinnerbone
4ae695a176 Fixed the fix of Creeper.setPowered 2011-04-21 18:55:20 +01:00
Dinnerbone
f1b40ed4e3 Fixed creeper.setPowered 2011-04-21 18:41:47 +01:00
Dinnerbone
d5ee48a0c8 Implemented Weather and WeatherStorm 2011-04-21 16:51:58 +01:00
Dinnerbone
1a68a2aafe Implemented Creeper.is/setPowered 2011-04-21 16:15:44 +01:00
Dinnerbone
7c455380a9 Java compat 2011-04-21 15:43:09 +01:00
Erik Broes
a6c8a36dce Update for 1.5_02. 2011-04-21 04:25:46 -04:00
EvilSeph
2fd3f8d299 Reapplying changes lost with our new system in CraftInventory and CraftInventoryPlayer. 2011-04-21 00:24:27 -04:00
Erik Broes
483a878b8b Update for 1.4_00_01 -- if you bypassed Bukkit, you will most likely break. 2011-04-20 19:05:14 +02:00
sk89q
ac9f297445 Don't want the scheduler taking invalid arguments as well. 2011-04-18 23:52:19 -07:00
sk89q
a450dcbb83 Fixed CraftScheduler to catch exceptions thrown by tasks, rather than crash the server. 2011-04-18 23:48:16 -07:00
Andrew Ardill
dc6c906e1a The @Override annotation should only be used when overriding a method.
Not when implementing an interface.
2011-04-14 12:58:04 +10:00
sk89q
7baf5fa484 Made fauxSleeping persist on death and cross-world teleport. 2011-04-11 17:10:17 -07:00
sk89q
86c467cb50 Fixin' the problem of AFK people not in bed. 2011-04-11 11:48:31 -07:00
EvilSeph
2685de187a Made what should be the last change missed in translation that might cause chunk issues. 2011-04-07 19:51:29 -04:00
sk89q
27d3396a35 Added bed events and methods. 2011-04-07 11:26:51 -07:00
EvilSeph
e2480e1347 Fixed firstEmpty() by making it search for the first null instead of Material.AIR. 2011-04-07 13:06:55 -04:00
alron
270310a3a5 Made another change that was missed in translation that might cause chunk issues. This should address one of the chunk issues experienced when teleporting. 2011-04-07 01:56:39 -04:00