Commit Graph

448 Commits

Author SHA1 Message Date
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
Tahg
3c9944237a Fixed Compile error 2011-04-06 21:51:20 -04:00
Tahg
e1acd683b4 Fixed some NPE issues caused by previous commit 2011-04-06 21:34:50 -04:00
Tahg
2c1f57e20b Fixed stupidity in CraftInventory return types 2011-04-06 13:20:50 -04:00
Tahg
92e3957a0e getContents now returns null for items whose underlying item is null 2011-04-06 12:45:03 -04:00
Tahg
7a99fd7327 added some API for entities 2011-04-04 01:07:39 -04:00
afforess
0f3f3c552a Added player.saveData and player.loadData. 2011-04-03 15:52:07 -04:00
Erik Broes
c84d51f458 Fix chunk.getEntities 2011-04-02 17:56:06 +02:00
Stephen
5247bcba64 Implemented entity.getNearbyEntities() 2011-04-02 17:22:58 +02:00
afforess
a0b2a26c3a implementation of Entity.isDead 2011-04-02 17:19:39 +02:00
afforess
adb13029bc Forces clients to update to the new time immediately when setTime or setFullTime is called. 2011-04-02 17:17:17 +02:00
William Bowers
325f4e0c22 Implemented the new SpawnChangeEvent in CraftWorld.setSpawnLocation() 2011-04-02 16:58:50 +02:00
Dinnerbone
d5096a0193 Changed default database location to {NAME}.db instead of database.db 2011-04-01 16:52:00 +01:00
Dinnerbone
8b25433982 Implemented ebeans 2011-04-01 16:06:46 +01:00
Dinnerbone
160b54c965 Made Server a singleton 2011-04-01 16:06:46 +01:00
Erik Broes
c16ba1f940 Fix Entity.setVelocity 2011-04-01 12:28:55 +02:00
Erik Broes
09cfbfbf73 Fix world.getFullTime() 2011-04-01 09:24:42 +02:00
Dinnerbone
eb422e4ad4 Capture errors in plugins onLoad 2011-03-31 22:33:06 +01:00
Dinnerbone
baa8c53be0 Implemented Wolf 2011-03-31 22:10:48 +01:00
Dinnerbone
87c36febeb Updated to Minecraft version 1.4 2011-03-31 21:40:00 +01:00
Erik Broes
0635f7c1b8 CreatureSpawnEvent: Fix forgotten inheritance with CreatureType 2011-03-30 08:51:42 +02:00
Erik Broes
e9cc4bbb05 world.spawnCreature cast fix 2011-03-30 00:41:07 +02:00
Erik Broes
c69eac3f3a Add MONSTER to CreatureSpawnEvent 2011-03-29 23:18:48 +02:00
Erik Broes
ec74fe8e37 Move passenger-handling to CraftEntity 2011-03-29 23:14:59 +02:00
Stephen
a31f37262d RegisterInterface reload bug fix 2011-03-29 21:32:24 +01:00
Dinnerbone
2ac43ce223 Ctrl+C saves world before stopping 2011-03-29 21:01:04 +01:00
Drakia
b37dd48ae5 Moved WORLD_LOAD event to after world is actually loaded 2011-03-29 18:41:52 +11:00
Dinnerbone
c47db7092b Line endings, damnit! 2011-03-27 20:57:46 +01:00
Erik Broes
84054ec680 Fix some wrong event creations after previous change 2011-03-26 23:20:35 +01:00
Erik Broes
e24b10dfd9 Updated for the cleanups done in Bukkit 2011-03-26 22:32:56 +01:00
Celtic Minstrel
47497aa3f9 Implement Sheep.get/setSheared. 2011-03-26 17:54:03 +01:00
Celtic Minstrel
9f30c9f8f4 Implement Slime.set/getSize() 2011-03-26 17:53:26 +01:00
Celtic Minstrel
cd50683f78 World.spawnCreature now returns LivingEntity instead of Creature, to allow Ghasts and Slimes to be spawned using the command. 2011-03-26 17:52:04 +01:00
Raphfrk
8e53077efe Switched biome coords from chunk based to block based 2011-03-26 15:05:16 +01:00
sk89q
49955d5a1d Added Server.getServerId() for ID purposes. 2011-03-26 01:40:15 -07:00
Erik Broes
1eb2f75f53 Copy displayname when cross-world teleporting 2011-03-25 21:22:57 +01:00
Erik Broes
9162a654c4 Implement player.getCompassTarget 2011-03-25 21:22:03 +01:00
sk89q
6fc4d9dcfe Fixed CraftWorld.getSpawnLocation() not return the exact spawn location. 2011-03-25 12:24:18 -07:00
Erik Broes
92518f4fc0 Stop GIANT discrimination 2011-03-24 22:51:47 +01:00
Erik Broes
ce714ab329 Fix CreatureType of CreatureSpawn event 2011-03-24 22:44:03 +01:00
Erik Broes
93fff2d5f5 Prevent double CraftWorld for the same world 2011-03-24 22:43:21 +01:00
Erik Broes
3129348866 Implementation of LivingEntity maximumNoDamageTicks, noDamageTicks, lastDamage 2011-03-24 00:32:41 +01:00
Raphfrk
0b05cbb998 Updated SoftMap to be concurrent. 2011-03-23 19:37:12 +01:00
lem21h
fdcf1c3c3a Now also handle entities spawning on a loading a world. (Redacted by Grum) 2011-03-23 19:17:14 +01:00
Byron Shelden
376ac51cea Fixed the PLAYER_TELEPORT event so event.getTo().getWorld() is correct. (#451) 2011-03-23 18:34:53 +01:00
Erik Broes
49043a8aff Re-Implement BlockDamage 2011-03-23 16:51:44 +01:00
Erik Broes
f33de669fb Major overhaul implementing PLAYER_INTERACT, removing PLAYER_ITEM, BLOCK_INTERACT, BLOCK_RIGHT_CLICK 2011-03-23 16:51:43 +01:00
Erik Broes
324efa8224 Fix BlockPlace 2011-03-21 00:31:13 +01:00
Erik Broes
437025a179 Fixing event names 2011-03-21 00:30:00 +01:00
Raphfrk
6ca1f24ee2 Adds an onLoad method to Plugin. The onLoad method is called for all plugins before the onEnable calls 2011-03-14 14:45:33 +00:00
Raphfrk
4a2bc3299a Fixed setTypeIdAndData sending client updates when not using physics 2011-03-14 11:31:43 +00:00
Raphfrk
7242f21a32 This should fix the chunk ghosting bug 2011-03-14 11:31:43 +00:00
Erik Broes
6043797ce0 Fix getDisplayName getting lost when getBukkitEntity is called 2011-03-13 12:52:01 +01:00
stevenh
07c98ea2a4 Added methods to support RemoteBukkit
This means all commands even "default" server commands work within the command structure
returning output to the command sender

Updated default kick command to be compatible with kick + msg used by remote tools that work with hMod
2011-03-12 18:31:44 +00:00
Tahg
ca3d0512f3 Blocks now return power for sources other than redstone dust 2011-03-12 12:28:07 -05:00
Erik Broes
1db4eab7e3 TextWrapper now wraps text at the proper width and also prevent splitting unless it is needed 2011-03-12 16:58:05 +01:00
Erik Broes
7729c8b517 Sourcefiles shouldn't be executable 2011-03-12 16:12:41 +01:00
Erik Broes
22baecaf7f Clean code a bit 2011-03-12 16:12:41 +01:00
sk89q
49a3d5bfb3 Added Player.sendRawMessage(). 2011-03-12 01:06:04 -08:00
Tahg
5c4f1d75b5 stupid ChunkPosition's are relative to the chunk 2011-03-11 17:57:59 -05:00
Tahg
078f48c0fb Code cleanup, fixed doors, chunk entity fetching 2011-03-11 16:25:35 -05:00
Tahg
c06f3e0d76 properly implement locks 2011-03-10 21:37:55 -05:00
Tahg
39acc5817e Additional hooks for chunks 2011-03-10 13:06:59 -05:00
Tahg
df02c501a4 Additional redstone hooks 2011-03-10 13:05:00 -05:00
Tahg
719038fcee Add non updating type/data sets 2011-03-10 13:05:00 -05:00
Tahg
67cf10656c Add locks to Hashset 2011-03-10 13:04:59 -05:00
Dinnerbone
f040900d3c Attempt to fix console crash 2011-03-09 23:34:26 +00:00
Dinnerbone
0df1d1a101 Changed block cache to soft references (should help a lot with memory usage) 2011-03-09 22:12:28 +00:00
Andrew Ardill
b819ffe8a4 Implemented LivingEntity.getEyeLocation() 2011-03-09 19:43:43 +00:00
Dinnerbone
e8e74992cb Purged deprecated MobType and MobSpawner 2011-03-07 16:32:41 +00:00
Dinnerbone
6a99d8c412 Implemented LivingEntity.damage 2011-03-07 15:59:10 +00:00
Raphfrk
03a5bbc612 Regenerate and refresh chunk methods 2011-03-07 12:34:27 +00:00
Raphfrk
528b9b2e09 Fixed isChunkInUse() 2011-03-07 12:29:37 +00:00
Dinnerbone
44c25340dc Velocity now sends updates to players 2011-03-05 18:48:58 +00:00
VictorD
5636eea877 Updated CraftServer to lowercase r in registerInterface method.. 2011-03-05 12:33:11 +01:00
Dinnerbone
9a64d7ec1b Implemented Entity.get/setMomentum 2011-03-04 14:23:45 +00:00
Dinnerbone
770bb9e3b5 Removed Block.getRawData 2011-03-04 14:20:38 +00:00
Morgan Humes
9a264ed666 Implements World.save and Server.savePlayers() 2011-03-02 16:51:31 +01:00
Erik Broes
9d9ad6bd1e Java 1.5 compat. 2011-03-02 15:24:17 +01:00
FrozenCow
9832ce06f1 Synchronized and moved Hash classes 2011-03-01 16:37:19 -05:00
Dinnerbone
3dd60c168b Fixed chat 2011-03-01 19:04:16 +00:00
Erik Broes
f54469f314 Let's handle (bwhaha) the Craft* entities a bit better. 2011-03-01 17:08:18 +01:00
SpeaKeasY
e6583c0d48 Added method to set spawn location 2011-03-01 10:39:26 +01:00
Dinnerbone
d142fabfc1 Sped up teleporting even more, + fixed isSneaking 2011-02-28 20:30:33 +00:00
Tanel Suurhans
df2c0e2308 implement World.getPlayers 2011-02-28 16:20:44 +00:00
Dinnerbone
38c2103ff4 Spiral teleporting! Wheeeee! 2011-02-28 13:21:50 +00:00
Dinnerbone
ec0dde071d Implemented Server.getPluginCommand 2011-02-28 00:31:25 +00:00
Dinnerbone
b396707cb9 Catch errors loading plugins 2011-02-27 14:55:29 +00:00
Dinnerbone
d7114a4f62 Fixed empty console! Oops! 2011-02-26 11:51:31 +00:00
Dinnerbone
07b86b1230 Added command line option 'date-format' to control how dates are printed to console (not to log) 2011-02-26 11:29:37 +00:00
Dinnerbone
685d4dbb3f Added ">" to input command line, separated it from output buffer properly 2011-02-25 19:01:14 +00:00
Dinnerbone
57338bee52 Much better console interaction. History, no more losing the command, colours, inline editing, etc. Shorter log output to console (but not to file). 2011-02-25 16:12:38 +00:00
Dinnerbone
51be9e77c6 Attempt to convert multiworld worlds... world. 2011-02-24 12:07:33 +00:00
Dinnerbone
92cbb2fc23 Fixed CraftItem NPEs 2011-02-23 16:08:28 +00:00
Dinnerbone
bfca34cad4 ConsoleCommandSender no longer has a default constructor, use ConsoleCommandSender(server). Added entity.getServer and updated the version number of mc 2011-02-23 11:33:41 +00:00
Tahg
b8023ac3fa Fix for isOp 2011-02-23 14:08:42 +08:00
Dinnerbone
f759e0b60d Update to Minecraft 1.3 beta 2011-02-23 02:37:56 +00:00
Tahg
96435cfc76 refactor Items 2011-02-21 19:57:23 -05:00
Andrew Ardill
30d1a5d3fd returning if a thread is not alive should happen before any changes to
the list of workers, hence the return statement should be in the
synchronized block.
2011-02-21 16:32:41 +11:00
Andrew Ardill
6269c1e633 implementation of isQueued() 2011-02-21 16:32:40 +11:00
VictorD
bf9a55049e Second part of NPE and arctan update :3 2011-02-20 23:22:28 +01:00
VictorD
cec04a7360 Added null pointer check and switched to a faster arctan method 2011-02-20 23:16:05 +01:00
David Flemström
5121ebb65d Fixed issue with color markers in messages sent to the client.
This fix eliminates crashes related to color markers being at end-of-line, and also makes colors persist across line breaks.

- The broadcast message is split up in multiple packets, one per line
- Color markers are reorganized, so that color 'sticks across lines'
- The wrapping method calculates the *rendered* line length. Thus, if the user has a weird font, it might look weird.
2011-02-20 18:15:21 +01:00
Erik Broes
6e3ee31336 Prevent Blocks from getting lost when a chunk reloads 2011-02-20 17:09:38 +01:00
sk89q
acd0344452 Added Entity.remove() which marks an entity for removal. 2011-02-19 18:02:12 -08:00
Dinnerbone
264b5c331d Redirect System.out and System.err to a Logger 2011-02-20 01:53:06 +00:00
EvilSeph
bddceeaf51 When deprecating, the alternative should be provided. 2011-02-19 06:02:27 -05:00
Raphfrk
41fe211919 Added target block ray trace functionality. 2011-02-18 20:48:56 -05:00
Protected
e97889e80a Added setFireTicks(), getFireTicks() and getMaxFireTicks(). 2011-02-18 17:35:59 -05:00
Dinnerbone
7fe0aa7460 Implemented a whole buncha Location overrides in CraftWorld 2011-02-18 16:35:05 +00:00
Andrew Ardill
da6ce2d80e Implementation of spawnCreature(Location, CreatureType) 2011-02-17 17:59:27 +11:00
Andrew Ardill
0703f4f458 Updated to use CreatureType and CreatureSpawner
Nothing will break as a result of the refactoring of MobType due to
deprecated code being left in. These will be removed after 1 week,
enough time for plugin devs time to migrate.
2011-02-17 17:57:52 +11:00
sk89q
5f940cf764 Added Player.chat(). 2011-02-16 21:47:01 -08:00
Andrew Ardill
dc45946163 implementation of isCurrentlyRunning(int taskId);
Burrows down to the worker thread assigned to this task, and returns
its alive status. If no such thread exists, then the task is not
running!
2011-02-17 13:27:54 +11:00
Raphfrk
973d61c418 Allows calling of functions in the main thread 2011-02-13 22:12:26 -05:00
Raphfrk
9715e77852 Fixes a deadlock issue in CraftScheduler 2011-02-13 00:55:58 -05:00