Commit graph

3153 commits

Author SHA1 Message Date
EvilSeph
6cf9820c70 Updated version to 1.6.4-R1.0 in pom.xml for RB. 2013-10-24 01:50:38 -04:00
Wesley Wolfe
bd1389895b Add auto-save plugin redundancy detection.
This change will print a warning when a plugin induces a forced save. A
player or console forcing a save (via a command) is ignored for purposes
of printing a warning.
2013-10-23 20:22:30 -04:00
EvilSeph
de16ba6eec Re-enable built in auto-save. Fixes BUKKIT-4800
When Minecraft first introduced an auto-save feature, we
were taken by surprise by how much of an impact it actually had on the performance
of the server. After investigating the potential causes of the significant
slow-downs we saw at the time, we came to the conclusion that it was a
combination of the auto-save interval being incredibly frequent and
servers already having an auto-save solution that was conflicting with the
newly added built-in one.

Since we noticed that most servers already had their own auto-save
solution, we decided to completely disable the built in auto-save by
default. In hindsight, however, we were so happy that we discovered and
squashed the cause of the performance issues that we forgot to consider
the future and, as a result, some servers have unfortunately been caught
by surprise when they ran their servers without any auto-save plugins.

Without the auto-save plugin conflict, however, Minecraft's default save
interval of 45 seconds is not suitable for the types of servers that run
Bukkit, to the point where it was negatively impacting performance. As
such, we've decided to re-enable the built in auto-save at an interval of
5 minutes for newly created servers.
2013-10-23 19:29:05 -04:00
Nate Mortensen
6430c868c7 Remove redundant call to worldMaps.a(). Addresses BUKKIT-4828
The WorldMapCollection object for SecondaryWorldServers(Nether, End) is
shared with the main world, so saving it again for each SecondaryWorldServer
is redundant.

This commit removes the redundant call by checking if the WorldServer is an
instanceof SecondaryWorldServer before invoking worldMaps.a().
2013-10-19 20:01:52 -06:00
Wesley Wolfe
42e7fdee92 Update maven compiler to 2.3.2
This change removes a redundant addition of source encoding and makes our
compiler match the current maven default. This amends the commit
4775b25a5932a2a24da2c55356936e2f98bff98c

Upstream issue http://jira.codehaus.org/browse/MCOMPILER-70
2013-10-15 04:09:24 -05:00
feildmaster
f4277d7105 Force item data to use a tag name. Fixes BUKKIT-4809
The recent Minecraft update rendered the
e20e50f85083dc53cb5456254bcf5781ef750daa fix incorrect by adding a
compound name to the base tag in some code. This fix changes all uses
of tag changes to explicitly use a name.
2013-10-12 03:18:45 -05:00
Phil Watson
159403e085 Call BlockFadeEvent for fire on inflammable block. Fixes BUKKIT-4835
This adds a call to fireExtinguished for fire burning out on inflamable
blocks, similar to other causes of fire fading.
2013-10-09 16:34:10 -05:00
Wesley Wolfe
ca5e0c6db0 Add exception-resilience to reading UUID. Fixes BUKKIT-4833
When a "uid.dat" file is corrupt (empty or <16 bytes), WorldNBTStorage
will silently fail to read and return null. Non-null behavior is
expected everywhere that this value is used.

This change will force a random UUID when the previous UUID cannot be
read, and getUUID to no longer silently ignore read/write exceptions.
2013-10-06 22:37:44 -05:00
Wesley Wolfe
cfa5490a58 Clarify exception message for bad hanging location. Fixes BUKKIT-4824
This change adds the location and a more specific message to the
IllegalArgumentException that gets thrown when a hanging entity is being
spawned in a location that it cannot survive.
2013-10-05 13:21:15 -05:00
Wesley Wolfe
90e8aa008a Initialize hostname on handshake. Fixes BUKKIT-4793
This restores a lost CraftBukkit diff that initializes the hostname
field used during login events.
2013-09-20 09:13:48 -05:00
feildmaster
dcb9d6a5ef Update CraftBukkit to 1.6.4 2013-09-19 20:01:02 -05:00
EvilSeph
e20ef1f606 Updated version to 1.6.2-R1.1-SNAPSHOT for development towards next release. 2013-09-11 00:54:59 -04:00
EvilSeph
8656d6917a Updated version to 1.6.2-R1.0 in pom.xml for RB. 2013-09-10 22:59:18 -04:00
EvilSeph
79bc53fe97 Update for 1.6.2_01 renames. 2013-09-10 22:59:18 -04:00
feildmaster
7ad5d6098d Fix villager death sound 2013-09-10 21:55:42 -05:00
feildmaster
ac73522ecf Add missing villager sounds. Addresses BUKKIT-4756 2013-09-10 21:30:36 -05:00
EvilSeph
6d700c3320 Use correct spawn reason for Zombie reinforcements. Fixes BUKKIT-4744 2013-09-10 22:24:00 -04:00
EvilSeph
b8feaf059c Remove unnecessary error logging. Fixes BUKKIT-4406 2013-09-10 22:23:59 -04:00
Phillip Schichtel
ffcd0f4502 Provide a tab completion handler for JLine. Adds BUKKIT-4168 2013-09-10 20:57:31 -05:00
FrozenBrain
5f65cd9a1c Add support for custom Hopper inventories. Fixes BUKKIT-4722
Opening a hopper inventory created by Server.createInventory will
currently have no effect as proper handling code is missing in
CraftEntityHuman for hopper inventories that aren't associated with a tile
entity or minecart. Initialization logic for hoppers is also missing from
CraftContainer, which is necessary for the opening of custom hopper
inventories.

This commit fixes the two aforementioned by adding proper handling to
CraftHumanEntity for opening inventories not associated with a tile
entity, and by adding initialization logic for hoppers to CraftContainer.
2013-09-10 20:51:35 -05:00
feildmaster
600e1524a9 Update and add new sound mappings. Fixes BUKKIT-4756 2013-09-10 20:24:34 -05:00
Brokkonaut
5f43109c0e Correct location of fire from lightning strikes. Fixes BUKKIT-4707
Previously fires spawned by lightning strikes were in the wrong locations.
This introduced the possibility of having blocks replaced when they should
not be.

EntityLightning now uses the correct locations as defined to spawn the
fires when needed.
2013-09-10 20:53:48 -04:00
feildmaster
8ae8957d15 Properly set persistence flag for bred animals. Fixes BUKKIT-4751 2013-09-10 19:42:08 -05:00
Nate Mortensen
c62375f95e Check that a vehicle is a Vehicle before casting. Fixes BUKKIT-4749
When an entity is being moved as the passenger of an entity from one
entity to another, a VehicleExitEvent is fired, but it is assumed that the
current entity is a Vehicle. However, entities can be passengers of more than
just Vehicles, which causes a ClassCastException to be thrown.

This commit fixes the issue by checking that the current entity's vehicle's
bukkitEntity is an instance of Vehicle before casting it to Vehicle.
2013-09-09 22:07:27 -05:00
Wesley Wolfe
5c861fe864 Fix improperly initialized usernames 2013-09-02 16:51:14 -05:00
T00thpick1
cd593fb1ee Set current recipe to null when a recipe isn't found. Fixes BUKKIT-2311
This commit restores the diff from 84dbc21aa71b96fd1d2ea40d624b536309118cde
that has since been lost.
2013-08-28 08:14:01 -06:00
Wesley Wolfe
4667e9493c Add source encoding to the maven compiler plugin.
This change adds the source encoding to the maven compiler plugin, which
will strictly enforce build consistency on multiple platforms and address
possible compilation issues on some of the source files. The source
encoding unintuitively is system-specified by default.
2013-08-28 01:45:58 -05:00
Roger Baumgartner
2e7f66787d Return correct hasLineOfSight value for players. Fixes BUKKIT-4634
Prior to this change when a plugin called Player.hasLineOfSite() the
method would always return false because EntityHuman does not extend
EntityInsentient. This commit changes that by explicitly checking for
line of sight between two entities and returning that value.
2013-08-26 08:43:51 -06:00
T00thpick1
6482b6f0bd Fire FoodLevelChangeEvent when eating cake. Fixes BUKKIT-2242 2013-08-15 11:59:47 -06:00
T00thpick1
3fb4ccb62c Add BlockCake for diff visibility. 2013-08-15 11:59:46 -06:00
Wesley Wolfe
f481c9ee07 Make ItemFactoryTest.java platform agnostic. Fixes BUKKIT-4695
Maven paths that include spaces (and possible other characters) get
improperly translated when using a file handle from a URL. This changes
the unit test to open a stream directly from the URL, providing proper
file resolution on multiple platforms.
2013-08-14 02:37:24 -05:00
T00thpick1
ea39ca187b Return instance of CraftInventoryBeacon for Beacons. Fixes BUKKIT-4521 2013-08-07 13:42:23 -06:00
Wesley Wolfe
92f111cfed Fix missed diff for chat packets. Fixes BUKKIT-4666
This commit removes chat wrapping. It is no longer needed, as clients
properly render lines with line breaks.

This commit also changes an outgoing chat message to use the vanilla
behavior for indicating a client cannot chat with commands-only setting.
2013-08-07 04:05:56 -05:00
riking
0506b709fe Wrap plugin.getDefaultWorldGenerator in try-catch. Fixes BUKKIT-4116
If a plugin generates an exception when returning a world generator, the
server will crash. This change adds a try-catch block to keep the server
from crashing on plugin defined world generators.
2013-08-07 01:01:12 -05:00
Wesley Wolfe
71a6a56572 Fix javac workaround in ItemStackTest 2013-08-06 20:09:42 -05:00
Wesley Wolfe
9ba5c79c30 Add BukkitObjectIOStream tests on top of ItemMeta tests 2013-08-06 20:00:29 -05:00
Wesley Wolfe
066fcfe79f Validate title for custom inventories. Fixes BUKKIT-4616, BUKKIT-4663
Custom inventories currently do not validate the titles provided. Null values
cause NPEs when writing packets. Values longer than 32 characters
disconnect clients.

This change throws and IllegalArgumentException for null titles or titles
longer than 32 characters.
2013-08-06 17:11:30 -05:00
T00thpick1
5e8dd7d57d Use correct spawn reason for Villagers Breeding. Fixes BUKKIT-4113 2013-08-06 13:03:14 -06:00
T00thpick1
485e9ad93f Add PathfinderGoalMakeLove for diff visibility 2013-08-06 13:03:13 -06:00
T00thpick1
4aeb3ff63d Call unleash event for non-sitting animals. Fixes BUKKIT-4658
The unleash event is only called for animals that are sitting - ones that
receive no movement vector. This adds the missing event call for
non-sitting animals.
2013-08-06 00:38:44 -05:00
EvilSeph
e489840ca9 Updated version to 1.6.2-R0.2-SNAPSHOT for development towards next release. 2013-08-04 00:44:27 -04:00
EvilSeph
ff60299af3 Updated version to 1.6.2-R0.1 in pom.xml for Beta. 2013-08-03 19:59:29 -04:00
Jonatan Noponen
6d0d33b9d2 Fix off by 1 error for spawn protection. Fixes BUKKIT-4154 2013-08-03 18:23:38 -04:00
Kai Dederichs
e7539378fa Fix mistranslation in isPlayerCreated() for IronGolems. Fixes BUKKIT-4543 2013-08-03 18:23:37 -04:00
Wesley Wolfe
da5d494b36 Update players when coming into view of vehicle. Fixes BUKKIT-4628
When only considering trackers from player perspective, attach entity
packet could be sent before a packet for a respective vehicle is in view
and will, in turn, be ignored.

This adds another notification when the vehicle comes into view to cover
all cases.
2013-08-03 17:03:49 -05:00
T00thpick1
54672a75f6 Implement Leash API. Adds BUKKIT-4459, BUKKIT-4583 2013-08-03 15:03:41 -05:00
T00thpick1
f7ca953ff1 Add EntityLeash and ItemLeash for diff visibility 2013-08-03 14:48:40 -05:00
Wesley Wolfe
8a7c582d54 Ignore null sound by contract. Fixes BUKKIT-4641 2013-08-02 20:05:22 -05:00
Wesley Wolfe
93cfe3961f Indicate help is a command. Fixes BUKKIT-4642 2013-08-02 20:03:50 -05:00
EvilSeph
720a8d706a Revert to 1.5 despawning behaviour for Ocelots and Wolves. Fixes BUKKIT-4449 2013-08-02 19:21:35 -04:00