feildmaster
6a499c8589
Fix broken null contract with Jukebox.setPlaying, Fixes BUKKIT-3429
...
The javadocs state that a null may be used to remove the currently
playing sound, however this causes a NullPointerException.
It also doesn't process registering the record correctly, along with
processing non-valid items.
2013-01-19 08:14:17 -06:00
EdGruberman
d834ca4c6c
[Bleeding] Add experimental support for entity portal traveling
2013-01-19 06:20:33 -06:00
Wesley Wolfe
01fc296fef
Improve the item meta deserialization code-style
...
Fixed the ItemMetaFireworkTest
Add set power unit tests for FireworkMeta
2013-01-18 02:58:07 -06:00
feildmaster
e59af9908b
Update CraftBukkit to Minecraft 1.4.7
2013-01-17 03:50:24 -06:00
Wesley Wolfe
dd7ba4a258
Various ItemMeta fixes.
...
Fixes BUKKIT-3408, BUKKIT-3190, BUKKIT-3191, BUKKIT-3407
These changes relate mostly to semantical changes for serialization
contract, exception of changing the map scaling value from byte to boolean,
what it should have been in the first place. Appropriate unit tests were
added for CraftMapMeta, as they were missing.
2013-01-09 05:04:08 -06:00
Wesley Wolfe
182681e384
Update calls to DyeColor getData and getByData. Addresses BUKKIT-2786
...
These two methods are now deprecated and replaced by the strictly
equivalent calls using wool data.
2013-01-05 17:15:49 -06:00
feildmaster
8f0c1aed6b
Fix "setSitting" on tameable animals. Fixes BUKKIT-1534
...
This makes it so animals (tame or not) will sit properly and not move
around.
Wild animals that are sitting may override the sitting position if
they are attacking.
2013-01-01 22:28:44 -06:00
Wesley Wolfe
bb83795815
Return the level, not ID. Fixes BUKKIT-3326
...
CraftItemStack was erroneously using the enchantment ID instead of level
for the return value of remove enchantment.
2012-12-29 20:53:27 -06:00
feildmaster
7b5a8d0c23
Don't teleport entities that are considered dead. Addresses BUKKIT-1331
...
Teleportation should never be processed on dead entities. If you wish
to teleport an entity, do it on a living entity. If you wish to
teleport a player, set their respawn location in PlayerRespawnEvent.
2012-12-29 19:18:36 -06:00
Mike Primm
fb0eed177a
[Bleeding] Implement periodic chunk garbage collector
...
This adds two settings to bukkit.yml, allowing activation and control of
two chunk garbage collection triggering conditions:
chunk-gc/period-in-ticks controls a periodic GC, run once every N ticks
(default is 600); chunk-gc/load-threshold causes the GC to run once
after every N calls to loadChunk() on a given world (this call is an API
call used by plugins, and is distinct from the path taken for routine
player movement-based loading). In both cases, setting to zero will
disable the given GC scheduling strategy.
In either case, the act of doing the GC is simply one of scanning the
loaded chunks, seeing which are NOT being used by one or more players
(due to view-distance) and which are not already queued for unload, and
queueing them for a normal unload. Ultimately, the unload is then
processed the same as if the chunk were unloaded due to leaving the
view-distance range of all players, so the impact on plugins should be
no different (and strategies such as handling the ChunkUnloadEvent in
order to prevent unload will still work).
The initial interval for the periodic GC is randomized on a per-world
basis, in order to avoid all world being GCed at the same time -
minimizing potential lag spikes.
2012-12-29 16:50:05 -06:00
feildmaster
538de63a03
Fix persistence on tamed pets. Fixes BUKKIT-3300
...
With the persistence api introduced, pets did not have their
persistence flag updated to reflect their persistence. This caused
tame ocelots to not persist under specific conditions.
2012-12-28 20:27:41 -06:00
feildmaster
b908c192bf
Fix removing enchantments causing the enchantment tag to remain.
2012-12-27 20:48:56 -06:00
feildmaster
54b2707ba7
Fix discrepancies in NBT and ItemMeta. Fixes BUKKIT-3279
...
An ItemStack gains the tag name "tag" when the stack is serialized
to NBT, however items don't have a tag *until* they are serialized at
least once. So to solve this, we remove the tag name when loading the
NBT data.
Another problem with NBT are TagLists, when transferring tag lists
between the server and the client the names are lost, and so we
simply don't add a name to the tag.
2012-12-27 20:45:21 -06:00
feildmaster
f726d07f11
Fix Skull BlockState setting illegal values on owner.
2012-12-24 14:32:08 -06:00
feildmaster
8292b73f30
Fix fireworks being short lived. Fixes BUKKIT-3291
2012-12-23 17:06:26 -06:00
feildmaster
edd90ccf16
Properly update fireworks. Fixes BUKKIT-3289
2012-12-23 08:59:15 -06:00
feildmaster
ced0646351
Implement entity max health methods. Adds BUKKIT-266
2012-12-23 07:29:06 -06:00
feildmaster
4e1793f363
Report valid health when getting Entity health. Fixes BUKKIT-3210
2012-12-23 07:29:05 -06:00
Wesley Wolfe
ed6aab8200
Remove runner leak on async tasks. Fixes BUKKIT-3288
...
In some situations, an async task could be cancelled with no tasks
pending. This means the finally {} block from run() never gets executed
properly on the last async task to have run, as it expected to be
executed again.
This fix takes the only spot that the task period is set to cancelled
and will check to see if the task should be purged from the runners
list.
2012-12-23 05:13:33 -06:00
Travis Watkins
717fbbeffa
Update firework power when modifying meta. Fixes BUKKIT-3272
2012-12-22 13:07:18 -06:00
feildmaster
dc85940526
Allow fireworks to be created. Adds BUKKIT-3262
2012-12-22 12:24:16 -06:00
feildmaster
2ee62eb580
Implement API to get and set FireworkMeta on Firework entities
2012-12-21 23:56:54 -06:00
meiskam
fdb4b2d911
Implement Skull BlockState. Adds BUKKIT-3259
2012-12-21 22:47:11 -06:00
Wesley Wolfe
78d384de93
Zero is not less than zero. Fixes BUKKIT-3259
2012-12-21 21:48:09 -06:00
feildmaster
ec211ed952
Update enchantment handling to 1.4.6. Fixes BUKKIT-3256
2012-12-21 19:31:28 -06:00
Wesley Wolfe
b870755edb
Use max inventory size for new stack. Fixes BUKKIT-3240
2012-12-21 11:10:23 -06:00
Wesley Wolfe
708252c020
Implement 1.4.6 ItemMeta. Adds BUKKIT-3236, BUKKIT-3237
...
Some meta functionality is refactored into common methods.
CraftItemStack uses the ItemMetaKey identifiers for enchantments.
Refactored unit test to include extra functionality; initially only
checking the presence of the DelegateDeserialization annotation.
2012-12-21 10:36:34 -06:00
Wojciech Stryjewski
f377a7680f
Add API to allow plugins to request players switch to a texture pack. Adds BUKKIT-2579
...
The setTexturePack method causes the player's client to
download and switch to a texture pack specified by a URL.
Note: Players can disable server textures on their client, in which
case this API would not affect them.
2012-12-20 22:09:38 -05:00
Travis Watkins
ca7f67da9d
Fetch correct info for skulls in block.getDrops(). Fixes BUKKIT-3205
2012-12-20 15:06:01 -06:00
Mike Primm
ed2dd31a80
[Bleeding] Fix exception in getChunkSnapshot() - sky light can be null
2012-12-20 14:22:25 -06:00
feildmaster
23b6764374
Update CraftBukkit to Minecraft 1.4.6
2012-12-20 10:43:00 -06:00
feildmaster
d9708d032e
Fix PotionMeta not applying the correct Id. Fixes BUKKIT-3193
2012-12-18 18:43:53 -06:00
feildmaster
d73e5ab469
Add missing name in PotionEffect for Wither
2012-12-18 18:20:11 -06:00
feildmaster
a2d551fafa
Refactor get/setChestPlate to Chestplate. Addresses BUKKIT-3189
2012-12-18 03:46:58 -06:00
Wesley Wolfe
6cec8ba5cb
Change enchantment comparisons to isSimilar. Fixes BUKKIT-3183
...
The purpose of the isSimilar method was designed to consider all NBT
data, not solely enchantments, without the need to have exact stack
size matches. The respective methods in CraftInventory were still
comparing enchantments instead of the ItemMeta.
2012-12-17 16:43:16 -06:00
Wesley Wolfe
d66d3674ea
Clarify functionality in CraftInventory. Fixes BUKKIT-3097
...
Changes some NPEs to IllegalArgumentExceptions for exception consistency.
Contains(ItemStack, int) correctly calculates number of ItemStacks.
Adds a containsAtLeast(ItemStack, int) for finding a combined amount of a
single similar ItemStack.
Makes some utility methods private to prevent ambiguity in use.
2012-12-17 16:39:25 -06:00
Wesley Wolfe
78f48258d8
Implement ItemFactory and ItemMeta values. Adds BUKKIT-15
2012-12-17 01:31:41 -06:00
feildmaster
d20d4dc43a
ItemStack.asBukkitStack(null) should return Air. Fixes BUKKIT-3170
2012-12-15 01:52:42 -06:00
deathmarine
53b064ec79
Fix EntityEquipment positions being reversed. Fixes BUKKIT-3157
2012-12-12 22:20:44 -06:00
Travis Watkins
24143ef6a1
Load chunks asynchronously for players.
...
When a player triggers a chunk load via walking around or teleporting there
is no need to stop everything and get this chunk on the main thread. The
client is used to having to wait some time for this chunk and the server
doesn't immediately do anything with it except send it to the player. At
the same time chunk loading is the last major source of file IO that still
runs on the main thread.
These two facts make it possible to offload chunks loaded for this reason
to another thread. However, not all parts of chunk loading can happen off
the main thread. For this we use the new AsynchronousExecutor system to
split chunk loading in to three pieces. The first is loading data from
disk, decompressing it, and parsing it in to an NBT structure. The second
piece is creating entities and tile entities in the chunk and adding them
to the world, this is still done on the main thread. The third piece is
informing everyone who requested a chunk load that the load is finished.
For this we register callbacks and then run them on the main thread once
the previous two stages are finished.
There are still cases where a chunk is needed immediately and these will
still trigger chunk loading entirely on the main thread. The most obvious
case is plugins using the API to request a chunk load. We also must load
the chunk immediately when something in the world tries to access it. In
these cases we ignore any possibly pending or in progress chunk loading
that is happening asynchronously as we will have the chunk loaded by the
time they are finished.
The hope is that overall this system will result in less CPU time and
pauses due to blocking file IO on the main thread thus giving more
consistent performance. Testing so far has shown that this also speeds up
chunk loading client side although some of this is likely to be because
we are sending less chunks at once for the client to process.
Thanks for @ammaraskar for help with the implementation of this feature.
2012-12-12 19:35:53 -06:00
Wesley Wolfe
29d7cc711b
Add utility class AsynchronousExecutor
...
This class is a general purpose task execution system, that uses stages
to separate processing blocks for asynchronous and synchronous
executions.
2012-12-12 04:05:47 -06:00
feildmaster
3692209fe6
Missed a rename
2012-12-10 19:17:47 -06:00
feildmaster
430d352a5a
Add EntityEquipment API. Adds BUKKIT-3103
...
Adds:
- Getting/Setting equipment
- getting/setting drop rates
- getting/setting ability to pick up items
-- As an added feature, players with this flag start off with a canceled PlayerPickupItemEvent
2012-12-10 19:01:50 -06:00
h31ix
684ba31c39
[Bleeding] Correct getEyeHeight value. Fixes BUKKIT-3130
2012-12-10 01:41:00 -06:00
feildmaster
22b1100001
Only display help aliases when there are aliases. Fixes BUKKIT-1621
2012-12-10 01:40:22 -06:00
feildmaster
dc93da8e34
Pass null help values values as empty strings to HelpTopics
...
Fixes BUKKIT-2618 and BUKKIT-2561
2012-12-10 01:40:21 -06:00
EdGruberman
f18b3cdc76
[Bleeding] Fix NPE with a null bedSpawnLocation. Fixes BUKKIT-1500
2012-12-10 01:40:20 -06:00
EdGruberman
24abdd556d
[Bleeding] Fix NPE in getBedSpawnLocation. Fixes BUKKIT-1949
2012-12-08 02:18:06 -06:00
Dark Arc
090c1a60bd
Correctly shoot arrows with the spawnArrow Method. Fixes BUKKIT-3116
2012-12-08 02:15:15 -06:00
Travis Watkins
846a22304c
Provide a faster way to get a location. Adds BUKKIT-3120
...
Currently when a plugin wants to get the location of something it calls
getLocation() which returns a new Location object. In some scenarios this
can cause enough object creation/destruction churn to be a significant
overhead. For this cases we add a method that updates a provided Location
object so there is no object creation done. This allows well written code
to work on several locations with only a single Location object getting
created.
Providing a more efficient way to set a location was also looked at but
the current solution is the fastest we can provide. You are not required
to create a new Location object every time you want to set something's
location so, with proper design, you can set locations with only a single
Location object being created.
2012-12-07 21:15:05 -06:00
feildmaster
c74fd4196f
Use shooter constructor for Fireballs. Fixes BUKKIT-3121
...
Fixes fireballs exploding in the shooter's face and not having a shooter for the projectile. (Two birds with one stone!)
2012-12-07 05:25:20 -06:00
feildmaster
78bc0ad1d5
Add the ability to launch WitherSkulls. Fixes BUKKIT-3106
2012-12-07 05:25:11 -06:00
feildmaster
6a04fd98ad
Implement API for wolves collar color. Adds BUKKIT-3109
2012-12-05 18:08:31 -06:00
feildmaster
fb6d9e1808
Add a custom shutdown message set in bukkit.yml. Addresses BUKKIT-3031
2012-12-05 06:07:10 -06:00
Travis Watkins
320712aba7
Allow placing blocks in spawn if ops.txt is empty. Fixes BUKKIT-3004
2012-12-05 05:01:15 -06:00
Wesley Wolfe
b854320fc8
Fire EntityFormBlockEvent for FallingBlocks. Adds BUKKIT-3078
2012-12-04 22:38:51 -06:00
Travis Watkins
4dadf0e2b5
Implement API for mob despawn when away from players. Adds BUKKIT-2986
...
As of 1.4 mobs have a flag to determine if they despawn when away from a
player or not. Unfortunately animals still use their own system to prevent
despawning instead of making use of this flag. This change modifies them
to use the new system (defaults to true) and to add API for plugins to adjust
this.
2012-12-04 20:10:23 -06:00
feildmaster
c596093c31
[BREAKING] Update BlockFace directions. Fixes BUKKIT-1567, BUKKIT-3069
...
The answer is 42
2012-12-01 01:14:25 -06:00
Wesley Wolfe
1a6a828156
Add data values to EntityChangeBlockEvent. Adds BUKKIT-3077, BUKKIT-3076
...
This change affects Endermen and Silverfish, adding a data value for the block change event.
2012-11-30 11:59:29 -06:00
feildmaster
71b0510f88
Fix teleporting entities with vehicles/passengers teleporting you illegally. Fixes BUKKIT-2821
...
Also some formatting...
2012-11-20 19:41:56 -05:00
Wesley Wolfe
d039986be7
No teleporting people back into the server. Fixes BUKKIT-2298
...
Stale player references will add a player back into the world when
teleporting them, causing a cascade of issues relating to ghost entities
and servers failing to stop.
2012-11-19 21:38:31 -06:00
Travis Watkins
58636c2dd8
Don't do case lookups when we have the right case already.
...
This is a missed part of the original "[Bleeding] Use case from player data
for OfflinePlayer. Fixes BUKKIT-519" commit. It avoids doing (somewhat
expensive) lookups of player data to find the correct capitalization inside
getOfflinePlayers() as we're already loading their name from the player data
and thus have the correct capitalization.
2012-11-18 10:51:52 -06:00
Karl Fritsche
028860399b
Implement sound changes for Minecraft 1.4.2 changes. Fixes BUKKIT-2849
2012-11-17 15:06:18 -06:00
EdGruberman
293474d99b
[Bleeding] Use case from player data for OfflinePlayer. Fixes BUKKIT-519
...
If a plugin looks up a player that is offline they may not know the correct
capitalization for the name. In this case they're likely to get it wrong
and since we cache the result even after the player joins the server all
future request for an OfflinePlayer will return one with incorrect case.
When looking up a player who has played on the server before we can
get the correct case from the player data file saved by the server. If
the player has never played before this point we cannot do anything and
will still have the same issue but this is not a solvable problem.
2012-11-17 15:06:18 -06:00
Travis Watkins
20c074ec6c
Don't show a player on map if they're vanished. Fixes BUKKIT-1882
2012-11-17 15:06:06 -06:00
James Clarke
bd0868ae1e
Implement API for Skeleton and Zombie types. Fixes BUKKIT-2818
2012-11-17 15:00:14 -06:00
Travis Watkins
dca54ff187
Fire BlockSpreadEvent for vine growth. Fixes BUKKIT-1097
2012-11-17 15:00:14 -06:00
Travis Watkins
df69ea8814
Rework skull dropping. Fixes BUKKIT-2930 and BUKKIT-2820
...
Skulls need their tile entity in order to create an item correctly when
broken unlike every other block. Instead of sprinkling special cases all
over the code just override dropNaturally for skulls to read from their
tile entity and make sure everything that wants to drop them calls this
method before removing the block. There is only one case where this wasn't
already true so we end up with much less special casing.
2012-11-14 20:14:47 -06:00
Wesley Wolfe
092800af26
Fixed some async tasks running synchronously. Fixes BUKKIT-2934
...
Additionally refactored cancel method to be more object-oriented.
2012-11-14 16:47:21 -06:00
Travis Watkins
7f7192f8fd
Update CraftBukkit to Minecraft 1.4.4.
2012-11-13 16:09:52 -06:00
md_5
53d24e2b22
[Bleeding] Fix mistranslation affecting time of the server vs time of day.
...
Fixes BUKKIT-2797
2012-11-02 16:36:43 -04:00
Travis Watkins
87d25c4cc6
Fix compile issue with chunk generation.
2012-11-02 00:12:49 -05:00
feildmaster
a4892dfa72
Delegate recreateStructures to nms provider. Fixes BUKKIT-2760
...
This was a miss when updating to 1.4.2
2012-11-01 21:32:28 -05:00
Wesley Wolfe
1c14586c49
Add CraftArt mappings for Wither. Fixes BUKKIT-2667.
...
The static assertions are not normally evaluated in the JVM, and failed
to fail when the enums went from size 25 to size 26. This meant missing
values would not be detected at runtime and instead return null,
compounding problems later. The switches should never evaluate to null
so will instead throw runtime assertion errors.
Additional unit tests were added to detect new paintings and assure they
have proper, unique mappings. The test checks both that a mapping
exists, is not null, and does not duplicate another mapping.
2012-11-01 03:06:47 -05:00
Wesley Wolfe
9a88e615d4
Change ItemFrame to actually provide a defensive copy. Fixes BUKKIT-2784
...
If a defensive copy is not used in the API, changes to the item are
reflected in memory, but never updated to the client. It also goes
against the general contract provided in Bukkit, where setItem should be
the only way to change the underlying item frame.
2012-11-01 01:34:54 -05:00
Travis Watkins
87a1cd3d43
Add inventory and slot types for new containers. Fixes BUKKIT-2741
2012-10-31 13:25:53 -04:00
Travis Watkins
f479aa84a4
Implement API for ambient mob spawn limit. Add spawn-limit.ambient to
...
bukkit.yml. Adds BUKKIT-2765
2012-10-31 13:01:48 -04:00
Travis Watkins
46d7cd1e05
Use BlockCommandSender for dispatching Command block commands
...
Also allow commands that don't start with a / to match vanilla behavior
2012-10-31 06:37:46 -05:00
feildmaster
9e4e2c62af
Expose API for managing and using GameRules. Adds BUKKIT-2757
2012-10-31 03:40:43 -04:00
h31ix
63eaf74d44
Implement the API for ItemFrames. Adds BUKKIT-2668
2012-10-31 01:18:59 -05:00
EvilSeph
6bf705dd08
Expose API for clearing a player's inventory with a successful count
...
return. Adds BUKKIT-2745
2012-10-30 04:55:02 -04:00
EvilSeph
3047a424bb
Expose API for giving and taking experience levels for use with ExpCommand's new behaviour with Minecraft 1.4. Adds BUKKIT-2739
2012-10-29 23:18:37 -04:00
feildmaster
aba7e2faf1
Revert changing EntityType.FIREBALL to LARGE_FIREBALL
2012-10-29 20:17:52 -05:00
Travis Watkins
216cddb2ab
Get skull data before destroying block. Fixes BUKKIT-2723
...
Skull blocks store their type in a tile entity and use their block data
as rotation. When breaking a block the block data is used for determining
what item to drop. Simply changing this to use the skull method for getting
their drop data is not enough because their tile entity is already gone.
Therefore we have to special case skulls to get the correct data _and_ get
that data before breaking the block.
2012-10-29 12:54:16 -05:00
EvilSeph
f4cdf8fe98
Add isHardcore API to check if the server is in hardcore mode or not. Adds BUKKIT-2707
2012-10-29 01:46:14 -04:00
Travis Watkins
d97d193b91
Add new entities to World.spawn method. Fixes BUKKIT-2658
2012-10-28 02:21:34 -05:00
EvilSeph
784f9e31a8
Remove spawn-radius setting in bukkit.yml in favour of spawn-protection in
...
server.properties. Fixes BUKKIT-2657
2012-10-28 01:55:27 -04:00
Travis Watkins
60819c6693
Update CraftBukkit to Minecraft 1.4(.2).
2012-10-27 22:19:03 -04:00
Wesley Wolfe
4166af1d3a
Implement chat tab completion API. Fixes BUKKIT-2608. Adds BUKKIT-2607.
...
The chat tab completion implementation also includes a sanity check to
assure type-safety in the list.
2012-10-17 04:31:36 -05:00
Score_Under
3ce954bb86
Delegate tab-completion. Fixes BUKKIT-2181. Adds BUKKIT-2602
...
CommandMap now contains the functionality for tab completion. This
commit replaces the vanilla implementation and simply delegates it to
the Bukkit API.
2012-10-15 03:18:59 -05:00
Wesley Wolfe
05e889f346
Queue tasks from secondary threads. Fixes BUKKIT-2546 and BUKKIT-2600
...
This change affects the old chat compatibility layer from an
implementation only standpoint. It does not queue the 'event' to fire,
but rather queues a runnable that allows the calling thread to wait for
execution to finish.
The other effect of this change is that rcon connects now have their
commands queued to be run on next server tick using the same
implementation.
The internal implementation is in org.bukkit.craftbukkit.util.Waitable.
It is very similar to a Future<T> task, but only contains minimal
implementation with object.wait() and object.notify() calls
under the hood of waitable.get() and waitable.run().
PlayerPreLoginEvent now properly implements thread-safe event execution
by queuing the events similar to chat and rcon. This is still a poor way
albeit proper way to implement thread-safety; PlayerPreLoginEvent will
stay deprecated.
2012-10-14 17:26:53 -05:00
Wesley Wolfe
93a79cd0e6
Implement new scheduler API. Adds BUKKIT-836
...
The implementation for the new methods mimics the old methods. The final
call for the old methods now maps to the new methods with an additional
call to get id.
2012-10-14 01:21:58 -05:00
Travis Watkins
506a1a0765
Ensure entity isn't destroyed when trying to show it. Fixes BUKKIT-2038
...
If two players (or a player and any other entity) are teleported to the
same location in the same tick they will both get added to the other's
destroy queue then have a new entity spawn packet sent. Next tick the
destroy queue will be processed and they will then be invisible to each
other. To prevent this situation we remove the entity from the destroy
queue when sending out a spawn packet for them.
2012-10-13 15:27:45 -05:00
Travis Watkins
b5580b6d95
Remove player from destroy queue when they go visible. Fixes BUKKIT-2071
...
If a plugin calls player.hidePlayer(other); then player.showPlayer(other);
in the same tick the other player will be added to the entity destroy queue
then a spawn packet will be sent. On the next tick the queue will be
processed and a destroy packet will be sent that renders the other player
invisible. To correct this we ensure the destroy queue is in sync with use
of the vanish API.
2012-09-28 14:53:28 -05:00
Wesley Wolfe
fc0e35a67c
Fix typo causing a task to be repeated in debug. Addresses BUKKIT-2549
...
An internal method for making the debug output for CraftScheduler's
async tasks was erroneously using the 'this' reference when the loop
should be referencing the current task.
2012-09-28 02:39:22 -05:00
Wesley Wolfe
03f12497b2
Map org.bukkit.Sound to String values for sending to client.
...
This change was done to remove the internal sound names from the API.
Along with moving the internal names into CraftBukkit, a unit test was
added for any new sounds added in the API to assure they have a non-null
mapping.
2012-09-26 19:02:05 -04:00
Travis Watkins
74b3be57b7
Replace LongObjectHashMap with a more efficient implementation
...
After further testing it appears that while the original LongHashtable
has issues with object creation churn and is severly slower than even
java.util.HashMap in general case benchmarks it is in fact very efficient
for our use case.
With this in mind I wrote a replacement LongObjectHashMap modeled after
LongHashtable. Unlike the original implementation this one does not use
Entry objects for storage so does not have the same object creation churn.
It also uses a 2D array instead of a 3D one and does not use a cache as
benchmarking shows this is more efficient. The "bucket size" was chosen
based on benchmarking performance of the HashMap with contents that would
be plausible for a 200+ player server. This means it uses a little extra
memory for smaller servers but almost always uses less than the normal
java.util.HashMap.
To make up for the original LongHashtable being a poor choice for generic
datasets I added a mixer to the new implementation based on code from
MurmurHash. While this has no noticable effect positive or negative with
our normal use of chunk coordinates it makes the HashMap perform just as
well with nearly any kind of dataset.
After these changes ChunkProviderServer.isChunkLoaded() goes from using
20% CPU time while sampling to not even showing up after 45 minutes of
sampling due to the CPU usage being too low to be noticed.
2012-09-21 11:20:10 -05:00
Mike Primm
beee3ce2da
[Bleeding] Add autosave interval setting in bukkit.yml. Adds BUKKIT-2507
...
The new setting is located at "ticks-per.autosave". By changing this
value, it affects how often a full save is automatically executed,
measured in ticks.
This value is defaulting to 0 (off) because we believe that the vast
majority of servers already have a third-party solution to automatically
saving the server at set intervals. Having the built in auto-save disabled
by default ensures that we are not saving things twice; doing so leads to
absolutely no benefits, but results in detrimental and noticeable
unnecessary performance decrease.
For servers that do not use an automated external script to perform saves,
this setting can be turned on by setting the value higher than 0, with 900
being the value used in vanilla.
2012-09-12 22:05:52 -04:00
Wesley Wolfe
e2b1514daf
Bulk pending cleanup.
2012-09-09 23:19:28 -05:00
Luke Granger-Brown
b1f6d16bfa
Change local jline checks to not use String literals. Fixes BUKKIT-2455.
...
Refactoring dependencies 'changes' the string literal in the code. This
commit changes the literal to instead use a char[] to initialize a new
String. On a bytecode level, there will not exist a String literal for these
two values; the shade plugin will no longer refactor them.
Refactoring jline also changes the other String literals we use for
notifying jline of the current state. To insure that our local code reflects
the inner logic in jline, the key value was changed to the static final
variable located in TerminalFactory. Likewise, UnsupportedTerminal uses the
explicit class name (as reflection is used later with the value that has
been set).
2012-09-09 17:02:48 -05:00
Wesley Wolfe
27d58a299c
Add information about async tasks to CrashReports. Addresses BUKKIT-2491
...
Async tasks are notorious for causing CMEs and corrupted data when
accessing the API. This change makes a linked list to track recent tasks
that may no longer be running. It is accessed via the toString method on
the scheduler. This behavior is not guaranteed, but it is accessible as
such currently.
Although toString is located in the scheduler, its contract does not
guarantee an accurate or up to date call when accessed from a second
thread.
2012-09-09 00:34:41 -05:00
Wesley Wolfe
4d5894e4cb
Fix crash from console-commands throwing exception. Fixes BUKKIT-2479
...
When 1.3.1 was released, a try-catch block was removed from the tick
loop that called the method in NMS to handle commands. This restores a
try-catch to prevent the console from crashing the server.
2012-09-06 22:11:17 -05:00
Wesley Wolfe
3307d489da
Fix Future task waiting logic. Fixes BUKKIT-2408
...
Previously, the timeout would erroneously get converted to milliseconds
twice. The second conversion was removed.
Spurious wakeups were not handled properly, and would instead throw a
TimeoutException even if the waited time was not reached..
2012-08-26 10:25:11 -05:00
Wesley Wolfe
dcd01bf0c0
Rewrite scheduler. Fixes BUKKIT-1831, and BUKKIT-845
...
The new scheduler uses a non-blocking methodology. Combining volatile
references to make a linked reference chain, with the atomic reference
handling the tail, tasks are queued without waiting for locks. The main
thread will no longer limit the length of time spend for scheduled tasks,
but no task will run twice in the same tick. Scheduling a new task inside of
a synchronous task will always run the new task during the same tick,
assuming there is no supplied delay > 0.
Asynchronous tasks are now run using a thread pool. Any thread-local
implemenation should now account for threads being reused between
executions.
Race conditions were carefully examined and the order of logic is now very
important. Each task is placed in a secondary collection before removal from
primary collections. Thus, by reading tasks from the collections in the same
order they travel, it retains state-safety. This does make modifications
less responsive in some situations, as the task may be transitioning before
the modifier accesses it. This cost outweighs the requirement to synchronize
on the scheduler; previously any conflict would be first-come-first-serve,
with the main thread backing out arbitrarily.
2012-08-22 16:41:46 -05:00
V10lator
e3ae188ed2
Fix instances where Signs have null lines. Addresses BUKKIT-684
2012-08-21 20:17:29 -05:00
EdGruberman
450edc3004
Use standard format function to format logs. Addresses BUKKIT-2246
...
Also fix "excess" Log Levels.
2012-08-21 19:17:29 -05:00
feildmaster
161ab5edc6
Implement API for Sound, and playing the sounds for Worlds and Players. Adds BUKKIT-1430, BUKKIT-1226 and BUKKIT-2019
2012-08-21 19:13:19 -05:00
Travis Watkins
ccc760d629
Use a dynamic pool size for the iterator cache
...
Many codepaths only end up with one iterator being used at a time and
most of the rest only get up to two being used so using a static pool of
three is wasteful. This also allows us to efficiently handle cases that
exceed 3 iterators in use. Overall this dramatically increases the hit rate
and results in less iterators being created.
2012-08-20 18:44:07 -05:00
feildmaster
e7e643d83a
Implement API to retrieve and open EnderChests. Adds BUKKIT-2016
2012-08-20 16:00:53 -05:00
Mike Primm
627cf2ef8b
[Bleeding] Remove redundant chunkList from ChunkProviderServer
...
This ArrayList duplicates part of the functionality of the much more
efficient chunk map so can be removed as the map can be used in the few
places this was needed.
2012-08-19 09:51:00 -05:00
Travis Watkins
97ac0a3f14
Add LongObjectHashMap and LongHashSet
...
Replace uses of LongHashtable and LongHashset with new implementations.
Remove EntryBase, LongBaseHashtable, LongHashset, and LongHashtable as they
are no longer used.
LongObjectHashMap does not use Entry or EntryBase classes internally for
storage so has much lower object churn and greater performance. LongHashSet
is not as much of performance win for our use case but for general use is
up to seventeen times faster than the old implementation and is in fact
faster than alternatives from "high performance" java libraries. This is
being added so that if someone tries to use it in the future in a place
unrelated to its current use they don't accidentally end up with something
slower than the Java collections HashSet implementation.
2012-08-19 09:51:00 -05:00
Travis Watkins
858d36efc9
Add iterator cache to UnsafeList and use it in hotspots
...
Adds a specialized iterator for the list and a pool of iterators to avoid
object churn. Also optimizes the clear() method to reduce object creation.
2012-08-19 09:50:57 -05:00
Mike Primm
5254993510
Fix issues with chunk saving. Fixes BUKKIT-2158, BUKKIT-2018 and BUKKIT-2229
2012-08-19 08:36:47 -04:00
Wesley Wolfe
cacfc71b46
Add more detailed CrashReport for CraftBukkit. Addresses BUKKIT-2319
2012-08-17 23:18:22 -05:00
feildmaster
fc35d000e4
Use correct SlotType's for merchants. Fixes BUKKIT-2257
2012-08-15 06:00:55 -05:00
feildmaster
b059962a5c
Implement methods for spawning FallingBlocks and add various FallingBlock methods. Adds BUKKIT-2282
2012-08-14 07:38:23 -05:00
feildmaster
aa92f0e313
Update CreatureSpawner.setSpawnedType(EntityType) to 1.3
...
They can spawn any valid entities now. What is a "valid" entity? A "valid" entity is an EntityType with a non-null getName(). (for example: PRIMED_TNT, FALLING_BLOCK)
2012-08-12 14:11:36 -05:00
Wesley Wolfe
342f9c3bd3
Implement player speed API. Addresses BUKKIT-2205
2012-08-10 00:00:04 -05:00
Wesley Wolfe
2bb7a5f94d
Implement new deprecated warning state configuration option
2012-08-06 23:52:49 -05:00
Travis Watkins
a574ec54cc
Put forceChunkLoad back to its original value.
2012-08-05 20:03:12 -05:00
Wesley Wolfe
02d6703da7
Implement new AsyncPlayerChatEvent. Addresses BUKKIT-2064
...
Added two utility collections for use with PlayerChatEvents allowing lazier
initialization of events and less need to synchronize against the player
list.
Provided a hidden queue system for similar logic to pre-1.3 chat. When a
plugin is listening for the deprecated PlayerChatEvent, all chat will be
delayed to be mirror executed from the main thread. All developers are
encouraged to immediately update to the developmental Bukkit chat API as a
minimum transition for server stability.
Additionally, changes were required to bring thread-safety to the flow
logic. CopyOnWriteArrayList is the only viable means to produce thread
safety with minimal diff; using a sane pre-implemented collection would
require reworking of sections of NMS logic.
As a minor change, implemented expected functionality for
PlayerCommandPreProcessEvent. Setting the player should now change the
player executing the command.
2012-08-03 23:44:45 -05:00
Mike Primm
c711827e94
Fix mapping of ChunkSection nibble data to snapshot. Fixes BUKKIT-1977
2012-08-02 21:45:54 -05:00
Luke Granger-Brown
35a3d701a9
Add trailing / to BukkitDL URLs. Fixes BUKKIT-2015.
...
Also adds CraftBukkit version number to user agent when communicating with
BukkitDL.
2012-08-02 21:38:32 -05:00
feildmaster
a43d621c01
Update CraftBukkit to Minecraft 1.3.1
2012-08-02 04:58:50 -05:00
feildmaster
46125dc6cf
Implement getExpToLevel method. Fixes BUKKIT-1906
2012-07-11 17:14:07 -05:00
Mike Primm
08740d7f91
[Bleeding] Include chunk biome data for refresh chunk. Fixes BUKKIT-1166
2012-07-08 19:11:51 -05:00
feildmaster
dba9349ed4
Factor invulnerableTicks into getNoDamageTicks. Fixes BUKKIT-1324
2012-07-04 15:12:29 -05:00
feildmaster
d7272f42ef
Implement getMotd, and reload the motd. Adds BUKKIT-1799
2012-07-03 18:00:37 -05:00
feildmaster
00efc8c464
Apply setLastDamageCause after processing events and the event has not been canceled. Fixes BUKKIT-1881
...
This allows previous causes to be available during the event, as well as making the damage cause a valid one. If EntityDamageEvent is canceled, then it's not the last DamageCause.
Also prevents setting DamageCause involuntarily through construction.
2012-07-02 22:22:03 -05:00
feildmaster
e4e994f710
Treat ComplexParts as proxies for setLastDamageCause. Fixes BUKKIT-1821
2012-07-02 22:22:03 -05:00
feildmaster
0a0d5ebf20
Clean entity.damage functions. Fixes BUKKIT-1822
2012-07-02 22:22:03 -05:00
Wesley Wolfe
ff09ff07f9
Fix deprecated spawnCreature. Fixes BUKKIT-1880
2012-07-02 15:36:49 -05:00
Travis Watkins
a21f038fc3
Mark entities as invalid when they get despawned. Addresses BUKKIT-810
2012-06-28 19:34:31 -05:00
TomyLobo
412b7eaa12
Implement LivingEntity.hasLineOfSight. Addresses BUKKIT-1255
2012-06-23 10:48:08 -05:00
V10lator
ea4d3662be
Deprecate spawnCreature and add spawnEntity. Addresses BUKKIT-1168
2012-06-23 10:18:50 -05:00
feildmaster
568fae2e86
Trigger EntityBlockChangeEvent for Silverfish. Adds BUKKIT-1560 and BUKKIT-1593
2012-06-23 06:42:08 -05:00
Wesley Wolfe
57763845d0
Implement plugin channel events. Addresses BUKKIT-1844
2012-06-21 02:39:59 -05:00
Travis Ralston
9f37f70527
Fire PlayerItemBreakEvent. Addresses BUKKIT-1600
2012-06-21 01:10:30 -05:00
Ammar Askar
8bc42ba8c9
Clear animal owner when untamed. Fixes BUKKIT-1482
2012-06-20 12:45:17 -05:00
H31IX
0095add08c
Add query-plugins setting. Addresses BUKKIT-1781
2012-06-20 12:40:12 -05:00
Jeff Wardian
ae98a6f051
Changes '/whitelist list' to ignore comments. Addresses BUKKIT-1804
2012-06-14 23:33:21 -05:00
Jeff Wardian
ae94a3308d
Preserve whitelist ordering. Addresses BUKKIT-1805
2012-06-14 23:33:13 -05:00
obnoxint
e35f6f2526
Fire NotePlayEvent. Fixes BUKKIT-1779
2012-06-14 20:58:57 -05:00
Wesley Wolfe
ed6d4c7759
Support asynchronous events; Addresses BUKKIT-1212
2012-06-13 23:00:46 -05:00
Wesley Wolfe
478654351a
Check world before checking distance. Fixes BUKKIT-1792
2012-06-12 16:37:47 -04:00
feildmaster
f15785669a
Launch fireballs at eye location. Fixes BUKKIT-1155
2012-06-03 05:34:58 -05:00
Travis Watkins
13fcb9e371
Make log-strip-color a simple flag instead of a boolean.
2012-06-02 14:43:38 -05:00
Travis Watkins
70c91c161e
Resize UnsafeList to initial capacity when cleared and implement clone.
2012-06-01 13:03:59 -05:00
Wesley Wolfe
266212f9f8
Fix bold states while printing; Fixes BUKKIT-1716
2012-05-26 15:32:38 -05:00
Wesley Wolfe
25cfdfa05e
Change mapping of Gold from yellow bold to yellow; Addresses BUKKIT-1717
2012-05-26 15:27:55 -05:00
Wesley Wolfe
5d3c8bfaa4
Removed AnimalTamer cache, fixes BUKKIT-1628
2012-05-24 23:02:02 -05:00
Wesley Wolfe
c43012ef1c
Fixed broken hashCode()
2012-05-24 23:01:33 -05:00
Travis Watkins
c1bc0df718
Add in checks for potential NPEs. Fixes BUKKIT-1706 and BUKKIT-1590.
2012-05-24 19:12:56 -05:00
Score_Under
0f984dd9a5
Re-implement World.getTemperature and World.getHumidity
2012-05-23 04:02:15 -05:00
Travis Watkins
3ee75ab6d3
Replace TextWrapper with simple newline splitting. Fixes BUKKIT-1662
...
TextWrapper used to try to ensure a message would wrap correctly on the
client by counting the width of the characters in pixels and wrapping
before hitting that limit. This was needed because the client would lose
color information when wrapping and could not handle long lines of text.
Now that both of these problems are solved in the client we can replace
TextWrapper with simple code to split the message into multiple packets on
newlines and ensure chat colors carry across to the new packet.
2012-05-16 23:47:14 -05:00
feildmaster
1d361c2f48
Fix block place protection using a larger radius. Fixes BUKKIT-1617
2012-05-16 18:43:44 -05:00
Travis Watkins
4c8f6f2caa
Add option to strip color codes from server.log file
2012-05-16 13:21:23 -05:00
EdGruberman
31d488a386
Update to jline 2. Fixes BUKKIT-717
...
JLine 2 allows for better color matching in the console and support for
colors in console on Windows. Hopefully provides better performance as well.
2012-05-15 23:27:51 -05:00
feildmaster
2f976705be
Revert "Fix potential NPE in vanish API. Fixes BUKKIT-1541"
...
This reverts commit ebf121800bd3161e4af0f6d9229ccb39c31fc278.
If the handle ever becomes null we need to know about it so we can debug it further.
2012-04-27 12:48:40 -05:00
feildmaster
99aeb32d0d
Remove Player cache and edit CraftPlayer.equals to account for EntityID. Fixes BUKKIT-1541 and Addresses BUKKIT-761
2012-04-27 12:33:40 -05:00
Travis Watkins
73ae279e8d
Update players when potion effects are moved from them. Fixes BUKKIT-789
2012-04-24 21:58:35 -04:00
Travis Watkins
9c12dc0ef8
Fix potential NPE in vanish API. Fixes BUKKIT-1541
2012-04-24 21:57:54 -04:00
feildmaster
0220c1ff74
Remove legacy Chunk cache. Fixes BUKKIT-1400
2012-04-24 15:06:11 -05:00
EvilSeph
e61a316815
We build for Java 1.5.
2012-04-23 23:05:57 -04:00
Travis Watkins
edfc8ba92f
Add per-world spawn limits with fallback to server-wide bukkit.yml settings.
...
Fixes BUKKIT-1565
2012-04-23 22:54:43 -04:00
Travis Watkins
b7376e0865
Avoid doing unnecessary range checks when we're looping from start to end.
...
Make EntityLiving call AI logic every tick again.
Rework PathfinderGoalSelector logic.
Adds UnsafeList for use in places where we use ArrayList and know we won't
get index out of range errors. Added usage to World's tickEntities, Chunk's
entitySlices to speed up searching for entities, and to PathfinderGoalSelector
to speed up dealing with AI goals.
Reworked logic in PathfinderGoalSelector with help from fullwall. This code
no longer uses an extra ArrayList for setting up goals and only updates which
goals should be run every other time it is called.
Removed only calling PathfinderGoalSelector every other tick from EntityLiving
as we now only setup new goals every other tick. This ensures existing goals
run every tick to properly update mob movement.
2012-04-23 21:52:08 -04:00
Wesley Wolfe
2e646d2809
Made permissions.yml registration easier; Addresses BUKKIT-1499
...
The permissions.yml now behaves similar to a plugin.yml
2012-04-15 13:24:38 -05:00
feildmaster
748ebae550
Properly call EntityDeathEvent for mobs. Fixes BUKKIT-1519
2012-04-15 09:16:43 -05:00
feildmaster
1dcb39074d
Persist PlayerDeathEvent values. Fixes BUKKIT-1521
2012-04-14 00:30:39 -05:00
feildmaster
52d9473e6b
SpawnRadius should only apply to main world. Fixes BUKKIT-1427
2012-04-02 16:40:45 -05:00
feildmaster
a963880bd8
Add BlockRedstoneEvent to Redstone Lamps, Addresses BUKKIT-1431
2012-04-02 14:11:02 -05:00
feildmaster
058bd748b6
Fixed interacting with Air returning a false block.
2012-04-01 05:10:31 -05:00
feildmaster
c8d4a7c835
Fixed breaking at world height in creative. Fixes BUKKIT-997
2012-03-31 19:21:29 -05:00
Warren Loo
c100e20d60
Reverting the Drop API for now, we need to re-evalute this as it is causing too many issues and blocking releases.
...
This reverts commits:
- d2d03afc8854394aeefb40ea5ebf224c8032b19f
- 6245746e91123dd8ef70e5f15b7cdfc7e36d8e8c
- 41fae5c613e9e69a8f6bdf33b23bb09d7f407433
- c34bdecab42cf4098054a5ea43e1c2958d44ae92
- d7445084ac9a90fa0b66d8b050b8d0d2a062eaf3
- 6a6ed2e6ae2328a8a791bcc6857c44dc6c6a7030
- a783bc4dc95da8e26c673abe48fad96b550aba28
- cb50fd68766df8e07631ba5be85759f8257e8068
- 34dfff2ad5c407c712b2783f02960aac5e8649f2
- f33b513820de987b49a4338e85df80968217a601
- 5fd9fdfde055e6eb6a83db246d009b69377b7c94
- 2795b116f40d06551fbb7b96d1963c0ddbeac384
2012-03-27 20:04:26 -04:00
feildmaster
c16bf07e85
[Bleeding] Allow CraftItem to be backed by non-EntityItems. Fixes BUKKIT-1351
2012-03-26 16:36:31 -04:00
feildmaster
9d0ea52021
[Bleeding] Fixed potions throwing double events. Fixes BUKKIT-1332
2012-03-26 16:05:38 -04:00
feildmaster
80db22b643
Refactor code to be more efficient.
2012-03-25 19:46:55 -04:00
feildmaster
c30e339af6
[Bleeding] Fixed item duping in certain occasions. Fixes BUKKIT-1310
2012-03-25 18:57:27 -04:00
feildmaster
9c7ffb6d3c
[Bleeding] Fixed blocks dropping when BlockBreakEvent is canceled. Fixes BUKKIT-1299
2012-03-23 14:51:05 -04:00
Nathan Adams
942c1c6a3e
Fixed incorrect assigning to isFlying when toggling setAllowedFlight(false)
2012-03-23 14:41:53 +00:00
feildmaster
40e0962735
Seriously fix natural drops. Fixes BUKKIT-1297 and fixes BUKKIT-1295
2012-03-23 07:18:20 -04:00
EvilSeph
ff22e4e341
Really fixed Block.breakNaturally(). Fixes BUKKIT-1295
2012-03-23 03:21:20 -04:00
EvilSeph
b60a6743ed
Fixed Block.breakNaturally(). Fixes BUKKIT-1295
2012-03-23 02:37:38 -04:00
feildmaster
52ecd60e61
[Bleeding] Add a check for illegal blocks. Addresses BUKKIT-1278. Needs more investigation.
2012-03-22 21:04:06 -04:00
EvilSeph
724b82626a
Reverted to original TextWrapper. Might re-investigate after the RB. Fixes BUKKIT-1275
2012-03-22 19:22:35 -04:00
Nathan Adams
904cf388b4
Re-added TextWrapper, and fixed chat length issues (at cost of it looking not so nice sometimes!) This fixes BUKKIT-1275
2012-03-22 23:03:02 +00:00
Nathan Adams
8fb141bfa0
Implemented new player flight methods. This implements BUKKIT-1281. This also fixes BUKKIT-1146.
2012-03-22 22:04:13 +00:00
EvilSeph
c2cdeac09b
Added configurable Connection Throttle. Addresses BUKKIT-1274
2012-03-22 16:56:15 -04:00
Nathan Adams
dda37aa18c
Nuked TextWrapper. We don't need you anymore, old friend :(
2012-03-22 20:49:05 +00:00
Nathan Adams
9d09e7d016
Updated to Minecraft version 1.2.4. Updated version string to 1.2.4-R0.1.
2012-03-22 20:39:39 +00:00
rmichela
0a925ff067
[Bleeding] Added support for custom index help topics in help.yml. Addresses BUKKIT-1263
2012-03-22 00:50:10 -04:00
rmichela
eb3c092ef8
[Bleeding] Added option to completely disable all automatic help topic generation by adding "All" to the ignore-plugins list in help.yml. Addresses BUKKIT-1264
2012-03-22 00:50:09 -04:00
zml2008
31b1bc02ca
[Bleeding] Fixed a StackOverflowError with command alias handling for Help. Addresses BUKKIT-1253
2012-03-22 00:50:09 -04:00
zml2008
8aee4c3f56
[Bleeding] Added support for all TreeType entries to CraftWorld.generateTree(). Addresses BUKKIT-1161
2012-03-21 20:32:17 -04:00
aPunch
169c2ee8cb
[Bleeding] Added Ageable interface for Villagers and Animals to extend. Addresses BUKKIT-1232
2012-03-21 16:05:07 -04:00
Celtic Minstrel
5ba8928041
[Bleeding] Added getting and setting drops to all appropriate events. Fixes BUKKIT-397 and fixes BUKKIT-1252
...
- Allows drops in creative mode by adding items to the getDrops() list
- Contents of containers are not reported
- Contents of storage minecarts are not reported
2012-03-21 12:42:51 -04:00
Celtic Minstrel
784aa3b602
[Bleeding] Fix the openInventory methods for custom inventories. Fixes BUKKIT-1248
...
Details:
- The attributes of custom inventory views are no longer ignored
- Enchanting or crafting inventories no longer ignore the passed inventory and open a new one
- Inventories associated with tile entities no longer raise a class cast exception if there was no associated tile entity
- InventoryOpenEvent and InventoryCloseEvent (if they already had some other inventory open) now fire in all cases
- If for any reason the inventory failed to open, the method now returns null instead of returned the previous inventory they had open (or the default inventory, if none)
2012-03-20 21:31:42 -04:00
Celtic Minstrel
93732e21bc
[Bleeding] Fixed NullPointerException in InventoryView.setCursor() if you tried to empty the cursor by setting it to null. Fixes BUKKIT-1043
2012-03-20 20:45:26 -04:00
Celtic Minstrel
288662bfae
[Bleeding] Fix some return types that could lead to ArrayStoreException
2012-03-20 20:43:12 -04:00
Celtic Minstrel
4bcbe2d235
[Bleeding] Add Chest.getBlockInventory() for convenience; this always returns a single chest inventory. Addresses BUKKIT-1247
2012-03-20 19:41:35 -04:00
Celtic Minstrel
cd9779196b
[Bleeding] Add iterator() with starting index. Addresses BUKKIT-1246
2012-03-20 19:40:44 -04:00
aPunch
ea60181a87
[Bleeding] Added way to get/set if Iron Golem was player created. Addresses BUKKIT-1229
2012-03-20 05:13:36 -04:00
Wesley Wolfe
68b98d4c8f
[Bleeding] Implement ExpBottleEvent; Addresses BUKKIT-888
2012-03-20 03:24:57 -04:00
Celtic Minstrel
71a51b024b
Reverted invalid clone. Fixes BUKKIT-1198
2012-03-16 17:10:42 -04:00
rmichela
82fab5b2d5
[Bleeding] Moved HelpTopicComparator to Bukkit.jar. Addresses BUKKIT-1193
2012-03-16 03:49:36 -04:00
rmichela
4589e943f6
[Bleeding] Added support for color codes in help.yml. Addresses BUKKIT-1191
2012-03-16 03:12:48 -04:00
rmichela
46429c6cb9
[Bleeding] Implemented the command-topics-in-master-index option in help.yml. Addresses BUKKIT-1189
...
When false, help topics that start with a slash are omitted from the mater index.
2012-03-16 03:10:25 -04:00
rmichela
f87e053c66
[Bleeding] Added automatically generated plugin-level sub-indexes to the master help index. Addresses BUKKIT-1180
2012-03-16 02:48:19 -04:00
rmichela
184faf1f29
[Bleeding] Added option to remove entire plugins from the help index using the help.yml file. Addresses BUKKIT-1178
2012-03-16 02:44:05 -04:00
Celtic Minstrel
241cf1c664
[Bleeding] Allow custom inventory views to change their type to BREWING or ENCHANTING, and also allow them to change their title and size. Fixes BUKKIT-1190
2012-03-15 23:54:00 -04:00
Celtic Minstrel
5c8fd4995f
[Bleeding] Implemented Inventory.{get,set}MaxStackSize(). Addresses BUKKIT-1076
...
- Custom inventories also respect this setting now.
2012-03-15 22:44:10 -04:00
Celtic Minstrel
66e067f373
[Bleeding] Make InventoryView.setItem(-999, item) drop the item on the ground by default.
2012-03-15 22:26:27 -04:00
Celtic Minstrel
83265005f6
[Bleeding] Made ItemStack constructors not default to an amount of 0. Fixes BUKKIT-610
2012-03-15 22:17:09 -04:00
Celtic Minstrel
76cc488402
[Bleeding] DoubleChestInventory.getHolder() no longer returns null. Addresses BUKKIT-995
2012-03-15 22:13:46 -04:00
Celtic Minstrel
f27427ad19
Fix some improper item cloning instances that would have dropped enchantments
2012-03-15 21:47:37 -04:00
Wesley Wolfe
77ceb0002c
Fix losing enchants from stacked items in custom inventories
2012-03-15 21:47:29 -04:00
Celtic Minstrel
92f771a022
[Bleeding] Implemented ProjectileLaunchEvent. Addresses BUKKIT-284
2012-03-15 07:18:59 -04:00
md_5
c90a7a52e7
[Bleeding] Fixed maxStack being incorrectly set to 0 in custom craft inventories. Fixes BUKKIT-1181
2012-03-15 05:30:44 -04:00
feildmaster
4503167283
Fixed EntityDamageByEntityEvent to call for every attackable entity. Fixes BUKKIT-1129, Fixes BUKKIT-1054 and Fixes BUKKIT-147.
2012-03-15 05:11:48 -04:00
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
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
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
Stéphan Kochen
f789c9e744
Replace a net.minecraft accessor with a public attr.
2011-02-12 16:17:43 +01:00
afforess
5aa95ee469
Added MaxSpeed methods to minecarts. Added MaxSpeed methods to boats. Added SlowWhenEmpty, FlyingMod, and DerailedMod methods to minecarts.
2011-02-12 16:14:43 +01:00
Andrew Ardill
c097fd9ac5
Added implementation of Colorable to CraftSheep
...
inspired by xpansive
2011-02-12 12:29:22 +11:00
Tahg
524f966ef3
Merge branch 'master' of https://github.com/Bukkit/CraftBukkit
2011-02-10 09:24:14 -05:00
Dinnerbone
1d49e5a4b1
Fixed chunk unloading
2011-02-10 13:27:53 +00:00
Dinnerbone
18efbd82b6
Worlds are now in the order they are loaded, with [0] being default
2011-02-09 20:25:14 +00:00
Dinnerbone
6e58053eb7
Probably fixed getLoadedChunks()
2011-02-09 20:00:17 +00:00
Dinnerbone
7401ee54a3
Added Creature.getTarget
2011-02-09 13:44:46 +00:00
James Logsdon
e3011157b1
Added Creature.setTarget per jlogsdon
2011-02-09 13:27:28 +00:00
Tahg
03be05790e
added method to force an inventory update
2011-02-08 21:52:06 -05:00
Tahg
61b79e8f98
inventory fixes
2011-02-08 19:47:08 -05:00
Alexander Hesse
6ad4ca2a42
Implemented Sneak event
2011-02-08 17:12:51 +01:00
Dinnerbone
1a983aceb3
Just cleaning some commits. Don't mind me.
2011-02-08 15:22:46 +00:00
Dinnerbone
3526a66fbe
Added loadChunk, unloadChunk and unloadChunkRequest.
2011-02-08 14:26:55 +00:00
Dinnerbone
7d1849567a
Implemented WORLD_LOADED
2011-02-08 12:50:36 +00:00
Dinnerbone
6751433a8e
Implemented new Server methods (getWorld + changes to createWorld)
2011-02-08 12:03:36 +00:00
Erik Broes
50e42496e3
@Override interface implementation is 1.6 exclusively
2011-02-07 11:03:56 +01:00
Dinnerbone
172db788b3
I'm quite aware that I fail at merging.
2011-02-07 01:59:06 +00:00
Dinnerbone
919023fe5d
CraftWorld.toString has name
2011-02-07 01:51:07 +00:00
Dinnerbone
3f8d9c0e1f
Fixed inventory transition
2011-02-07 01:51:06 +00:00
Dinnerbone
7bdc190637
Possibly fixed block/chunk leaking
2011-02-07 01:51:06 +00:00
Dinnerbone
8b14c72a8d
Changes to reflect new Environment enum
2011-02-07 01:51:06 +00:00
Dinnerbone
4e6f4e3031
NPE
2011-02-07 01:51:06 +00:00
Dinnerbone
dcabbda57c
Fixed invisibility after cross-world teleportation
2011-02-07 01:51:06 +00:00
Dinnerbone
590b3874a8
Fixed various multiworld teleporting issues
2011-02-07 01:51:05 +00:00
Dinnerbone
4c9f1a2275
Fixed NPE after traveling to another world
2011-02-07 01:51:05 +00:00
Dinnerbone
7e81245caf
Probably definitely fixed mob leaking
2011-02-07 01:51:05 +00:00
Dinnerbone
ac899e51c1
Possibly fixed world leaks (mobs crossing into other worlds)
2011-02-07 01:51:05 +00:00
Erik Broes
550ad6f9d1
Proper 'otherworld' chunkloading
2011-02-07 01:51:05 +00:00
Dinnerbone
b229931ce6
Attempt to clear loaded chunks during multiworld teleportation
2011-02-07 01:51:05 +00:00
Dinnerbone
bf304ddc43
Fixed player teleportation
2011-02-07 01:45:32 +00:00
Dinnerbone
2be5181b0c
Added internal MC support for multiple worlds
2011-02-07 01:44:43 +00:00
Raphfrk
9e7991ab52
Scheduler
2011-02-07 01:03:32 +01:00
Erik Broes
b64667cde4
Remove deprecated [gs]etTime calls
2011-02-06 13:30:50 +01:00
sk89q
4026cd656f
Added CraftBlock.getVector().
2011-02-05 23:19:36 -08:00
Raphfrk
101d01ef64
getLoadedChunks method
2011-02-05 15:06:02 +01:00
EvilSeph
767c15369c
Added version output to CraftBukkit that displays on startup.
...
Add a version display to the startup of CraftBukkit so that we have all
the information we need for support purposes simply by requesting a
server log be pastebinned. I wanted to have it display right after the
official Minecraft version is, but that would require modifying
the server itself.
2011-02-05 03:39:13 -05:00
Animosity
8932430aed
Addded: int getMaxPlayers()
2011-02-05 01:36:41 -05:00
tahg
10f4f33ed0
fixed addItem hopefully
2011-02-04 21:38:15 -08:00
Tahg
2c798a9e9b
Fix for multi-stack adds
2011-02-05 00:02:09 -05:00
Erik Broes
be10e54235
Fixed NPE on missing kick-reason - http://redmine.bukkit.org/issues/359
2011-02-04 23:02:52 +01:00
Warren
dde3f5b474
Removed tab on line 97.
2011-02-03 12:57:17 -08:00
Limb
e77b080d83
Implemented Inventory.contains with a minimum amount of item required. As per feature request #187
2011-02-04 04:04:16 +08:00
Dinnerbone
c1c61b73c9
Totally useless commit to satisfy lukegb's outrageous demands
2011-02-02 18:23:19 +00:00
Erik Broes
04be2b9b31
Generic cleanup/reformat.
2011-02-02 00:39:08 +01:00
Erik Broes
001a45804e
Clean vehicle code.
2011-02-02 00:29:37 +01:00
Erik Broes
1dac92a766
Update chunk handling.
2011-02-02 00:29:37 +01:00
Dinnerbone
21b8ef4435
Added CraftNoteBlock.play
2011-02-01 23:18:25 +00:00
Dinnerbone
e0416ca7fb
Added CraftDispenser.dispense()
2011-02-01 23:18:11 +00:00
Dinnerbone
f8cdbe1d82
Fixed tabs
2011-02-01 21:55:30 +00:00
Luke GB
3a3a0e6169
Introduce better versioning system, mark 2.
2011-02-01 21:48:21 +00:00
Dinnerbone
657913faeb
Dinner time!
2011-02-01 14:53:39 +00:00
Dinnerbone
743ff05b2e
Added setItemStack(ItemStack stack) to CraftItemDrop
2011-02-01 10:43:16 +00:00