Commit graph

1556 commits

Author SHA1 Message Date
CraftBukkit/Spigot
79c1790d72 Fix a missed case for weather transitions on join
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-12-02 16:38:16 +00:00
CraftBukkit/Spigot
042816193c Merge pull request #22 in SPIGOT/craftbukkit from ~FEARTHE1337/craftbukkit:fixCraftMetaBanner to master
* commit 'f75756a2e3542f67099dc24b283cc601360a87cf':
  Fix CraftMetaBanner serialization.

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-12-02 16:47:25 +01:00
CraftBukkit/Spigot
10e3879b01 SPIGOT-96/BUKKIT-5016: Fix thunder storms not darkening the sky and transitions being broken.
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-12-02 15:13:07 +00:00
CraftBukkit/Spigot
f75756a2e3 Fix CraftMetaBanner serialization.
By: BuildTools <unconfigured@null.spigotmc.org>
2014-12-02 15:29:04 +01:00
CraftBukkit/Spigot
d1fd719ab3 Merge pull request #21 in SPIGOT/craftbukkit from ~GENAZT/craftbukkit:bugfix/SPIGOT-93 to master
* commit 'b534c74a2093a6bec286c9312172b904ab1743ad':
  Forgot that i work in Bukkit... Screw sun conventions
  Implementation for the new rotation values. Fixes SPIGOT-93

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-12-02 13:23:46 +01:00
CraftBukkit/Spigot
05d746d1e4 [Slightly breaking] setType(Id) will not longer reuse the previous data value
of the block and instead reset the the data value to the block's default

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-12-02 12:03:02 +00:00
CraftBukkit/Spigot
503f116feb Fix tree related crashes due to lazy BlockState updating
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-12-02 11:51:49 +00:00
CraftBukkit/Spigot
b534c74a20 Forgot that i work in Bukkit... Screw sun conventions
By: Fabian Faßbender <fabian.fassbender42@googlemail.com>
2014-12-02 00:20:31 +01:00
CraftBukkit/Spigot
db831ecc70 Implementation for the new rotation values. Fixes SPIGOT-93
By: Fabian Faßbender <fabian.fassbender42@googlemail.com>
2014-12-02 00:13:25 +01:00
CraftBukkit/Spigot
4955ab3981 SPIGOT-85: Fix NPE in monster spawners when right-clicked with invalid spawn eggs
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-12-01 10:08:17 +00:00
CraftBukkit/Spigot
91c612a012 Fix show player
By: Adam Thomas <aet2505@gmail.com>
2014-11-30 20:12:54 +00:00
CraftBukkit/Spigot
e34474ce6a Another attempt of fixing OOB Horses. Just remove them from the world instead of setting it dead.
By: Fabian Faßbender <fabian.fassbender42@googlemail.com>
2014-11-30 19:02:56 +01:00
CraftBukkit/Spigot
939819ae90 Add missing CB comment
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-30 16:35:44 +00:00
CraftBukkit/Spigot
71ba3c651a Force chunk loading in EntityHuman.getBed, Fixes SPIGOT-64
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-30 16:33:02 +00:00
CraftBukkit/Spigot
fa41053bdd Merge pull request #13 in SPIGOT/craftbukkit from ~GENAZT/craftbukkit:bugfix/SPIGOT-20 to master
* commit '6fe435983b69ba2afbb77fd708e2988e6e3e778a':
  Update the correct Scoreboard Criteria when a health change comes in. This fixes SPIGOT-20

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-30 17:10:32 +02:00
CraftBukkit/Spigot
96856d7380 Add a somewhat hacky fix for plugins converting between book types
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-30 15:06:14 +00:00
CraftBukkit/Spigot
6fe435983b Update the correct Scoreboard Criteria when a health change comes in. This fixes SPIGOT-20
By: Fabian Faßbender <fabian.fassbender42@googlemail.com>
2014-11-30 13:34:38 +01:00
CraftBukkit/Spigot
56cceb9b4e Fix Chunk.getTileEntities() (Fixes SPIGOT-62)
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-30 12:15:56 +00:00
CraftBukkit/Spigot
9e7e5be4de Fix LEFT_CLICK_AIR
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-30 12:10:30 +00:00
CraftBukkit/Spigot
15cc288f9a Add a flag to correctly convert signs to 1.8
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-30 11:23:45 +00:00
CraftBukkit/Spigot
a621457aeb Correct the return value of getPlayerListName
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-30 10:30:32 +00:00
CraftBukkit/Spigot
c9b7b858a2 Horses spawned under Y 0 cause CraftBukkit to crash. This happens a lot since people keep using bugged Horses for Holographics
Remove out of bounds horses, fixes an vanilla bug. Fixes SPIGOT-58

By: Fabian Faßbender <fabian.fassbender42@googlemail.com>
2014-11-30 00:53:25 +01:00
CraftBukkit/Spigot
85573908bc Optimize the invalid block fixing
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 23:25:17 +00:00
CraftBukkit/Spigot
f7acac0d40 Treat LeavesDecayEvent as canceled if a plugin changes the block
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 22:31:55 +00:00
CraftBukkit/Spigot
5a1e8c93bd Fix canceling BlockPlaceEvent
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 21:17:57 +00:00
CraftBukkit/Spigot
341e9794bc Remove old debug info
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 21:09:04 +00:00
CraftBukkit/Spigot
beb559e351 Merge pull request #8 in SPIGOT/craftbukkit from ~GENAZT/craftbukkit:bugfix/SPIGOT-46 to master
* commit 'bfac8ebeea3871337381be31c91183c4025174a9':
  Corrected WorldData patch file
  Rewrite the level.dat properly. This fixes SPIGOT-46

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 22:14:27 +02:00
CraftBukkit/Spigot
63af42bb1e Improve the invalid block handling
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 20:00:52 +00:00
CraftBukkit/Spigot
bfac8ebeea Corrected WorldData patch file
By: Fabian Faßbender <fabian.fassbender42@googlemail.com>
2014-11-29 20:36:57 +01:00
CraftBukkit/Spigot
4e7ba83133 Rewrite the level.dat properly. This fixes SPIGOT-46
By: Fabian Faßbender <fabian.fassbender42@googlemail.com>
2014-11-29 20:33:33 +01:00
CraftBukkit/Spigot
be1b43c2bb Just only hold the last BlockState update for the same location. This fixes SPIGOT-44
By: Fabian Faßbender <fabian.fassbender42@googlemail.com>
2014-11-29 19:08:50 +01:00
CraftBukkit/Spigot
f973c68364 Merge pull request #6 in SPIGOT/craftbukkit from ~MIKEPRIMM/craftbukkit:mikeprimm/SPIGOT-30 to master
* commit 'ddd63044a642a7794f92650a4e3b96f10bc29b9f':
  SPIGOT-30: Fix restoring of WorldData when loading worlds

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 19:51:05 +02:00
CraftBukkit/Spigot
739bc35bde Fix a vanilla issue which causes invalid data values on blocks to turn to air
Worlds already loaded in 1.8 can still be saved by this but tile entities will
be lost

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 17:31:40 +00:00
CraftBukkit/Spigot
3bcc7b2868 Fire EntityDamageEvent for armor stands
Somewhat of a lazy way of doing it but it will do for now

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 16:05:55 +00:00
CraftBukkit/Spigot
ddd63044a6 SPIGOT-30: Fix restoring of WorldData when loading worlds
By: Mike Primm <mike@primmhome.com>
2014-11-29 09:34:54 -06:00
CraftBukkit/Spigot
c42ae2c5e4 Implement the Depth Strider enchantment for the API
By: Suddenly <suddenly@suddenly.coffee>
2014-11-29 15:13:43 +00:00
CraftBukkit/Spigot
3d5cd0953f Ignore invalid blocks in ChunkSnapshots
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 15:05:28 +00:00
CraftBukkit/Spigot
6c7602a196 Minecraft by default only uses the World at index 0 for the WorldBorder command. This fixes SPIGOT-12
By: Fabian Faßbender <fabian.fassbender42@googlemail.com>
2014-11-29 00:38:21 +01:00
CraftBukkit/Spigot
827be39e55 Merge pull request #4 in SPIGOT/craftbukkit from ~MIKEPRIMM/craftbukkit:mikeprimm/SPIGOT-29 to master
* commit 'b6f610a49b4c2250e354c986175bee667453d53f':
  Fix chunk snapshot generation (needed for Dynmap)

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 12:41:51 +02:00
CraftBukkit/Spigot
0b357769b5 Fix command blocks
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 00:53:49 +00:00
CraftBukkit/Spigot
b6f610a49b Fix chunk snapshot generation (needed for Dynmap)
By: Mike Primm <mike@primmhome.com>
2014-11-28 18:30:59 -06:00
CraftBukkit/Spigot
a134a4961c Fix setAge and related methods
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 00:17:45 +00:00
CraftBukkit/Spigot
9c86c4b3ce Fix missed case in CraftBlock
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-29 00:14:46 +00:00
CraftBukkit/Spigot
e77d43237c Don't default the universe to the current directory
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-28 23:51:17 +00:00
CraftBukkit/Spigot
37e391acec Re-add the timestamp for spigot
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-28 23:27:09 +00:00
CraftBukkit/Spigot
28d71d3018 Fix interaction issues
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-28 23:06:03 +00:00
CraftBukkit/Spigot
704348fb3f Don't commit unchanged patches
By: GunfighterJ <joseph.jenniges@gmail.com>
2014-11-28 17:06:11 -06:00
CraftBukkit/Spigot
6956c3298f Revert "Remove patch headers"
This reverts commit a8ddf37419.

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-28 23:02:15 +00:00
CraftBukkit/Spigot
a8ddf37419 Remove patch headers
By: GunfighterJ <joseph.jenniges@gmail.com>
2014-11-28 16:54:14 -06:00
CraftBukkit/Spigot
331e10d536 Fix enchanting to match 1.8 behaviour
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-28 22:39:33 +00:00
CraftBukkit/Spigot
930cad64fa Improve vanilla command handling for command blocks
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-28 20:20:03 +00:00
CraftBukkit/Spigot
520089d10e Remove extra color codes at the start from converted json chat
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-28 19:59:41 +00:00
CraftBukkit/Spigot
85c2090056 Only rebuild patches that are changed
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-28 18:26:30 +00:00
CraftBukkit/Spigot
ba8312ff89 Use the right name for the AsyncPlayerPreLoginEvent
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-28 17:43:48 +00:00
CraftBukkit/Spigot
2443e912f8 Fix eating food whilst not facing a block
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-28 11:23:19 +00:00
CraftBukkit/Spigot
a419776f3c Update to Minecraft 1.8
For more information please see http://www.spigotmc.org/

By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-26 08:32:16 +11:00
CraftBukkit/Spigot
2f44d66966 Allow teleportation of entities on vehicles. Fixes BUKKIT-4210
Up until Minecraft version 1.5 it was not possible to teleport entities
within vehicles. With the 1.5 update came the change in the Minecraft
teleportation logic to dismount before teleporting the entity, if
applicable.

This commit ammends the existing CraftBukkit logic for rejecting
teleportation for entities in vehicles to permit the action. Due to this
change, CraftBukkit is now in-line with Minecraft 1.5 teleportation logic.

By: bendude56 <bendude56@gmail.com>
2013-07-07 21:52:41 -06:00
CraftBukkit/Spigot
02fb3fd3d7 Implement ability to keep items on death via plugins. Adds BUKKIT-5724
When a player dies their inventory is normally scattered over the the area
in which they died. Plugins should be able to modify this behaviour by
defining whether or not the player's inventory will be dropped on the ground or waiting for the player when they eventually respawn.

This commit implements the methods included in the Bukkit half for the new
behaviour by acting upon the boolean flag. The boolean flag is tested
prior to clearing the inventory as well as prior to dropping the items on
the ground. If the flag is true (indicating "keep inventory"), the items
are not removed from the player's inventory and are not dropped on the
ground.

By: Jerom van der Sar <jerom.sar@hotmail.com>
2014-07-31 03:05:08 +02:00
CraftBukkit/Spigot
5d8e9e97fd Implement deprecated methods. Adds BUKKIT-5752
By: Wesley Wolfe <wesley.d.wolfe+git@gmail.com>
2014-08-07 19:35:16 -05:00
CraftBukkit/Spigot
82a651c889 Use sensible AssertionError instead of ambiguous RuntimeException
By: Wesley Wolfe <wesley.d.wolfe+git@gmail.com>
2014-08-07 19:29:28 -05:00
CraftBukkit/Spigot
9bf675b0b6 Fix removal of items from Item Frames. Fixes BUKKIT-5736
By: feildmaster <admin@feildmaster.com>
2014-08-02 16:03:50 -05:00
CraftBukkit/Spigot
38f3f4a701 Provide modifier functions to EntityDamageEvent. Fixes BUKKIT-5688
By: Wesley Wolfe <wesley.d.wolfe+git@gmail.com>
2014-07-13 00:04:32 -05:00
CraftBukkit/Spigot
dfb55a6fe4 Put damage modifiers in Functions for event. Fixes BUKKIT-5681
By: Travis Watkins <amaranth@ubuntu.com>
2014-07-09 16:21:06 -05:00
CraftBukkit/Spigot
79e5718f39 Update CraftBukkit to Minecraft 1.7.10
By: Travis Watkins <amaranth@ubuntu.com>
2014-06-26 13:05:08 -05:00
CraftBukkit/Spigot
645fe18f1f Use 4787c23dce0f5ac856d8d398225828971a93a3ff Guava patch for onlinePlayers
This change improves the quality of life for plugin developers using
iterator iteration with side-effects. In the specified Guava patch, the
internal iterator no longer relies on the AbstractList iterator which
iterates by index, and will instead wrap the provided iterator in a
transformer given the Function.

By: Wesley Wolfe <wesley.d.wolfe+git@gmail.com>
2014-07-01 00:47:39 -05:00
CraftBukkit/Spigot
03a390e010 Implement new getOnlinePlayers. Adds BUKKIt-5668
By: Wesley Wolfe <wesley.d.wolfe+git@gmail.com>
2014-06-24 16:11:25 -05:00
CraftBukkit/Spigot
de522b136d [Bleeding] Ignore damage done by LivingEntity.damage(). Fixes BUKKIT-5666
This matches behavior previous to new damage event API of not throwing
events for plugin-triggered damage.

By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-06-22 22:54:05 -04:00
CraftBukkit/Spigot
50c4b76dfa [Bleeding] Implement new damage api. Fixes BUKKIT-5326, BUKKIT-3878.
This commit centralizes event handling to where damage is actually applied
to the entity to avoid bugs that have resulted from nodamageticks,
modifications to damage after the event has been called, and similar
mishaps. This also implements new API for getting and setting of
modifications made to the damage amount actually applied to the entity.
This is done by storing the change in the damage amount as each modifier
is applied by vanilla code.

The method that actually damages the armor worn by an entity has been
relocated beneath the event called as to not apply durability loss when
the event has been cancelled.

By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-06-19 14:38:45 -04:00
CraftBukkit/Spigot
520077f254 Avoid checking for loaded chunks for lighting and entity ticking.
When a chunk is loaded the server tries to ensure it has its initial light
calculations done before sending it to the player. When ticking entities
the server tries to ensure the entity does not walk into an unloaded chunk.
To accomplish these the server checks a one chunk radius around the chunk
to be lit or a two chunk radius around the chunk the entity is in. These
lookups happen every tick even though their result is unlikely to change
that often. To reduce the cost of these checks we replace them with a
system to keep track of what neighbor chunks a chunk has loaded and update
it when chunks load or unload which is a much less frequent action. On a
server with ten players this change removes about 100,000 calls a tick to
LongObjectHashMap's containsKey method.

By: Travis Watkins <amaranth@ubuntu.com>
2014-06-16 19:01:55 -05:00
CraftBukkit/Spigot
3e6636e2b6 Updated version to 1.7.9-R0.3-SNAPSHOT for development towards next release.
By: EvilSeph <evilseph@gmail.com>
2014-06-01 02:36:02 -04:00
CraftBukkit/Spigot
c0343ab5ea Updated version to 1.7.9-R0.2 in pom.xml for Beta.
By: EvilSeph <evilseph@gmail.com>
2014-06-01 01:45:55 -04:00
CraftBukkit/Spigot
151f12627a Use UUIDs in CraftPlayer equals and hashCode methods. Fixes BUKKIT-5634
By: Daniel Naylor <git@drnaylor.co.uk>
2014-05-26 20:33:10 +01:00
CraftBukkit/Spigot
93b3b6a162 Fix polarity of Bat.isAwake() and Bat.setAwake(boolean). Fixes BUKKIT-5624
By: Wesley Wolfe <wesley.d.wolfe+git@gmail.com>
2014-05-20 03:13:35 -05:00
CraftBukkit/Spigot
40a99f5a97 Updated version to 1.7.9-R0.2-SNAPSHOT for development towards next release.
By: EvilSeph <evilseph@gmail.com>
2014-05-14 23:38:50 -04:00
CraftBukkit/Spigot
f0b0b92c39 Updated version to 1.7.9-R0.1 in pom.xml for Beta.
By: EvilSeph <evilseph@gmail.com>
2014-05-14 22:40:51 -04:00
CraftBukkit/Spigot
82a09cfb9f Update CraftBukkit to use new YamlConfiguration encoding changes
By: Wesley Wolfe <wesley.d.wolfe+git@gmail.com>
2014-05-14 05:49:04 -05:00
CraftBukkit/Spigot
f9d2ead6bf Implement awake flag for bats. Adds BUKKIT-5606
By: Wesley Wolfe <wesley.d.wolfe+git@gmail.com>
2014-05-13 20:38:42 -05:00
CraftBukkit/Spigot
5b252941b0 Only set skull profile if it is a player skull. Fixes BUKKIT-5605
By: Travis Watkins <amaranth@ubuntu.com>
2014-05-12 23:19:22 -05:00
CraftBukkit/Spigot
1a9f318959 Avoid using the user cache in skull meta.
To handle changes in 1.7.9 we changed skull meta to use GameProfile
instances instead of strings of player names. This reflects what vanilla is
actually storing for skulls now. As skulls still require a name our API was
not changed and we instead look up the rest of the profile information from
the name. The way this was implemented made it so that deserializing a skull
or setting its name potentially involved a network request. As skull meta
itself does not actually require a complete profile we now simply create one
that only contains a name and leave populating it to the server when it is
actually needed.

By: Travis Watkins <amaranth@ubuntu.com>
2014-05-03 17:42:19 -05:00
CraftBukkit/Spigot
0640242e43 Implement inventory creation by type and title. Fixes BUKKIT-4045
With the current API it is possible to create an inventory with a specific
type, but it is not possible to give such an inventory a title other than
the default.

The commit changes that by adding a method to optionally supply the title
for the given inventory type and holder, creating the functionality to
display any supported inventory type with a 32 character length String.

If the inventory title supplied is larger than 32 characters then an
IllegalArgumentException is thrown stating so.

By: eueln <euelnd@gmail.com>
2013-04-11 14:20:41 -05:00
CraftBukkit/Spigot
f25a347ccd [Bleeding] Allow generation of cocoa trees.
By: GJ <gjmcferrin@gmail.com>
2014-04-28 10:18:55 -04:00
CraftBukkit/Spigot
56003af2f2 [Bleeding] Correct issues with MEGA_REDWOOD trees. Fixes BUKKIT-5568
In commit 6efeddfe57, TALL_REDWOOD was used instead of the proper TreeType
of MEGA_REDWOOD. Additionally, this fixes an issue in CraftWorld with an
improper boolean flag related to the generation of MEGA_REDWOOD trees.

By: GJ <gjmcferrin@gmail.com>
2014-04-28 09:49:33 -04:00
CraftBukkit/Spigot
741ad9885f Refactored BlockPlaceEvent and BlockChangeDelegate. Adds BUKKIT-5558
23 classes have been removed as they are no longer needed using the new
capture logic. This should help quite a bit with future MC updates.

BlockPlaceEvent Refactor

Before calling Item.interactWith, a recording flag is turned on for
setTypeAndData to capture a blockstate for each block that attempts to be set.
When a block place event is cancelled, the recorded blockstate, stack
size, and metadata will revert back to the captured state. If the event is
not cancelled, a notification will be sent to clients and block physics
will be updated.

BlockChangeDelegate Refactor

Now that we have the ability to capture blockstates through world, there
is no need to modify world gen classes with BlockChangeDelegate. Instead
we will simply capture blocks during world generation in order to "replay"
all of the captured blockstates to send back to delegates.
StructureGrowDelegate and BlockSapling.TreeGenerator have also been
removed as part of this change. BlockSapling and BlockMushroom will
capture blockstates the same as block placement and revert back any grow
events if needed.

By: bloodshot <jdroque@gmail.com>
2014-01-06 00:17:16 -05:00
CraftBukkit/Spigot
5c9c366ee5 Make AnvilInventory.getItem() use both containers. Fixes BUKKIT-2788
The AnvilInventory reports its size as the sum of the ingredient and
result inventories, but when trying to access the slots, only the
ingredient inventory is used, leading to an ArrayIndexOutOfBounds exception.

This change overrides getItem(I) and setItem(I) to use both inventories,
with the slot number adjusted based on their size.

By: Andre LeBlanc <andre@norcode.com>
2013-04-06 12:00:31 -04:00
CraftBukkit/Spigot
39e74188e0 Fix setting entity's target. Fixes BUKKIT-1358
Setting the goal target overrides the entity's will to do something
else. This makes it so entities like wolves with attack another player
with .setTarget(), instead of hanging next to their owner.

By: PaulBGD <ultimate@burngames.net>
2013-12-11 21:13:04 -06:00
CraftBukkit/Spigot
74050974c8 Catch exceptions when abandoning conversions. Fixes BUKKIT-5436
If a conversation is abandoned due to a player disconnecting and an
exception is thrown in a ConversationAbandonedListener, the server will
crash. This commit prevents the exception from propagating further up
the stack and instead just logs the error.

By: Devin Ryan <devin@forairan.com>
2014-02-22 21:18:44 -06:00
CraftBukkit/Spigot
b76c55a802 Check that item in hand is not null after book event. Fixes BUKKIT-5443
By: Des Herriott <des.herriott@gmail.com>
2014-02-27 12:32:21 +00:00
CraftBukkit/Spigot
25c4255d7c [Bleeding] Don't allow null display names. Fixes BUKKIT-5254
Currently, plugins can set a player's display name to null, which could
cause issues for other calls to getDisplayName that aren't expecting a null
value. This changes setDisplayName to follow the same logic as
setPlayerListName, which sets the player's name back to their unmodified
"vanilla" name if it receives a null value as a parameter.

By: GJ <gjmcferrin@gmail.com>
2014-01-31 09:42:03 -05:00
CraftBukkit/Spigot
c9d41122d1 [Bleeding] Return correct player SlotType. Fixes BUKKIT-3188
Previously, the SlotType for the last 4 slots in a player's inventory
returned QUICKBAR when it should have returned SlotType.CONTAINER. This
updates the code for determining slot type to return the proper value.

By: GJ <gjmcferrin@gmail.com>
2014-02-10 12:12:39 -05:00
CraftBukkit/Spigot
f94f5c576e [Bleeding] Return correct furnace SlotType. Fixes BUKKIT-5400
Previously, the SlotType for the 0 slot in a furnace returned CONTAINER,
when it should have returned SlotType.CRAFTING. This updates the code for
determining slot type to return the proper value.

By: GJ <gjmcferrin@gmail.com>
2014-02-10 11:26:42 -05:00
CraftBukkit/Spigot
f612d70b0d [Bleeding] Ensure skeletons spawn with equipment. Fixes BUKKIT-2836
Previously, when a skeleton was spawned via the spawn(...) function, the
resulting skeleton had no equipped bow and therefore could not properly
attack. This fix gives all skeletons the proper equipment and ensures that
they are able to attack.

By: GJ <gjmcferrin@gmail.com>
2014-02-11 22:22:39 -05:00
CraftBukkit/Spigot
42f39726c3 Handle profiles in SkullMeta, they don't store a string anymore.
By: Travis Watkins <amaranth@ubuntu.com>
2014-04-17 14:04:12 -05:00
CraftBukkit/Spigot
ee803812e0 Update CraftBukkit to Minecraft 1.7.9
By: Nate Mortensen <nate.richard.mortensen@gmail.com>
2014-04-15 20:45:03 -06:00
CraftBukkit/Spigot
dd2b3d22fd Make bans pretend to use names like before 1.7.8.
Bans require a name and UUID but our API only allows for a single string
identifier for a ban entry. Until this is sorted out go back to the old
name based setup since we can always get a UUID given a name.

By: Travis Watkins <amaranth@ubuntu.com>
2014-04-17 10:45:10 -05:00
CraftBukkit/Spigot
249924e373 Make skulls pretend to only use names like before 1.7.8.
Any new API here needs more thought, skulls require a name but OfflinePlayer
is not guaranteed to have one. There is a Mojang approved way to get a
complete profile from a name but not from a UUID so for now just pretend
this still only uses names.

By: Travis Watkins <amaranth@ubuntu.com>
2014-04-17 08:41:29 -05:00
CraftBukkit/Spigot
a546a14bb1 Fix getting white list, ban list, and op list. Fixes BUKKIT-5538
The getEntries methods on these return player names instead of UUIDs.
As we need the UUIDs for our API we add a getValues method to get at
the data we need. To further ensure we get the most data possible we
also add a way to get at the stored GameProfile to ensure we always
have both the UUID and the name from the list.

By: Travis Watkins <amaranth@ubuntu.com>
2014-04-17 03:31:49 -05:00
CraftBukkit/Spigot
35ef785bd7 Don't do a lookup for obviously invalid usernames
By: Travis Watkins <amaranth@ubuntu.com>
2014-04-17 01:53:13 -05:00
CraftBukkit/Spigot
402973ffef Add methods to use arbitrary entries in scoreboards. Adds BUKKIT-3977
By: Travis Watkins <amaranth@ubuntu.com>
2014-04-13 10:10:32 -05:00
CraftBukkit/Spigot
ed8072818f Fix missed diff and other small things
By: Travis Watkins <amaranth@ubuntu.com>
2014-04-13 04:29:01 -05:00
CraftBukkit/Spigot
9fee5e6bd7 Check actual whitelist for CraftOfflinePlayer too
By: Travis Watkins <amaranth@ubuntu.com>
2014-04-12 07:45:32 -05:00
CraftBukkit/Spigot
baaca718ce Check the actual whitelist for Player#isWhitelisted()
The server's check is for whether or not a player can pass the whitelist
not just if the player is on it. That seems like more useful information
but the API has always just checked if they are on it so this commit
restores that.

By: Travis Watkins <amaranth@ubuntu.com>
2014-04-12 07:21:01 -05:00
CraftBukkit/Spigot
8553d1d462 Use fetched GameProfile for getOfflinePlayer(String)
When getting an OfflinePlayer by name we lookup their UUID and then
use that to fetch the OfflinePlayer. If the player has not played on
this server before the resulting OfflinePlayer will return null for
getName(). As this is unintuitive we now create the OfflinePlayer directly
using the profile we looked up and make OfflinePlayer prefer that data.

By: Travis Watkins <amaranth@ubuntu.com>
2014-04-12 02:38:53 -05:00
CraftBukkit/Spigot
d24dac2c06 Update CraftBukkit to Minecraft 1.7.8
By: Travis Watkins <amaranth@ubuntu.com>
2014-04-10 20:04:38 -05:00
CraftBukkit/Spigot
db3aa0246f Add method to send fake sign updates to players. Adds BUKKIT-2300
By: Patrick Seidel <psycowithespn1@aim.com>
2013-03-21 16:51:35 -04:00
CraftBukkit/Spigot
ee523c5095 Add equals for CraftInventory objects. Adds BUKKIT-4110
When working with inventories you regularly end up with different
Inventory objects that have the same underlying Minecraft inventory.
Currently, even those these point to the same thing, they are not
considered equal. With this commit comparing any Inventory object that
represents the same inventory will result in equals(Object) returning
true.

By: Jeremy Wood <farachan@gmail.com>
2013-04-18 13:08:16 -04:00
CraftBukkit/Spigot
6de31b61d5 Store last known player names in preparation for name changing
By: feildmaster <admin@feildmaster.com>
2014-03-31 14:42:33 -05:00
CraftBukkit/Spigot
ca844c146f Implement API for dealing with player UUIDs. Adds BUKKIT-5071
By: Travis Watkins <amaranth@ubuntu.com>
2014-03-28 23:48:15 -05:00
CraftBukkit/Spigot
05cdc26922 Fix PotionEffect removal.
The method in EntityLiving to remove a potion effect was remapped during
the 1.7.5 update.  The method invocation in CraftLivingEntity was not
updated to invoke the remapped method, which has led to a random method in
LivingEntity being called in its place.

This commit corrects the behavior of removePotionEffect by changing the
method to invoke the remapped method as opposed to EntityLiving#m(float).

Thanks to @gabizou for finding this issue.

By: Nate Mortensen <nate.richard.mortensen@gmail.com>
2014-03-23 20:50:43 -06:00
CraftBukkit/Spigot
419ee888cb Increment loop index whether or not command succeeded. Fixes BUKKIT-5455
When VanillaCommandWrapper dispatches a command containing a
PlayerSelector wtih c>-1 (implicitly true for @a), it loops over the
selected players and exectures the command with each player. However, the
loop index is only incremented if the command fails. As a result, a
successful command is repeated on the same player indefinitely, locking up
the server. This commit fixes the issue by incrementing the loop index
regardless of whether the command succeeds, ensuring the command is only
executed once per player identified by the PlayerSelector.

By: WolfieMario <wolfiemario@hotmail.com>
2014-03-22 13:48:04 -06:00
CraftBukkit/Spigot
e6de9aaa17 Update CraftBukkit to Minecraft 1.7.5
By: Nate Mortensen <nate.richard.mortensen@gmail.com>
2014-03-20 22:26:30 -06:00
CraftBukkit/Spigot
d6c0b864b8 Remove chunks from queue if we don't need them anymore.
By: Travis Watkins <amaranth@ubuntu.com>
2014-02-11 20:48:50 -06:00
CraftBukkit/Spigot
ec79a70954 Updated version to 1.7.2-R0.4-SNAPSHOT for development towards next release.
By: EvilSeph <evilseph@gmail.com>
2014-02-12 01:59:10 -05:00
CraftBukkit/Spigot
d0752f2c5d Updated version to 1.7.2-R0.3 in pom.xml for Beta.
By: EvilSeph <evilseph@gmail.com>
2014-02-12 01:33:33 -05:00
CraftBukkit/Spigot
0232a71622 Update/improve configuration documentation.
By: EvilSeph <evilseph@gmail.com>
2014-02-11 00:39:23 -05:00
CraftBukkit/Spigot
8ae3a07ab2 Rename Minecraft command permission nodes to meet fallback spec.
By: EvilSeph <evilseph@gmail.com>
2014-02-11 00:25:03 -05:00
CraftBukkit/Spigot
4c583ab9df Add method to forget callbacks in AsynchronousExecutor
By: Wesley Wolfe <weswolf@aol.com>
2014-02-10 09:33:20 -06:00
CraftBukkit/Spigot
1a1a4f0757 Match old alias behavior when migrating.
Previously the alias system would pass all arguments from the alias
to its command(s) implicitly. The new system requires arguments to be
explicitly passed so server owners can have more control over where and
how they are passed. To ensure this isn't a breaking change during the
migration from bukkit.yml to commands.yml we now add the $1- argument
to the alias commands to match the previous behavior.

By: Travis Watkins <amaranth@ubuntu.com>
2014-02-08 15:02:44 -06:00
CraftBukkit/Spigot
8227c52d3f [Bleeding] Implement Mojang command fallback system. Adds BUKKIT-5385
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-02-07 18:40:59 -05:00
CraftBukkit/Spigot
f65068829e Implement banning API. Adds BUKKIT-3535
Previously no implementation existed to access various additional
information fields regarding bans. This implementation expands on the
information outlined in the sister Bukkit commit to provide access to
the Minecraft implementation of the ban system.

This implementation of the banning API contains 2 new classes which
provide access to the internal workings of the built-in banning
system within Minecraft.

The CraftBanEntry class simply supports the representation of an internal
Minecraft BanEntry object. The data that may be modified within this new
object must be manually saved to the list contained within the
CraftBanEntry using it's save() method.

The CraftBanList class supports the representation of an internal
Minecraft BanList object through proxy methods. These methods do
validation on the passed objects where needed to ensure safe input to the
backed Minecraft objects.

These changes additionally re-route the existing banning API to the newer,
more detailed, system. Functionality prior to this change still behaves
as documented by the contract defined by the methods changed.

By: mbax <matt@phozop.net>
2014-02-04 20:52:50 -07:00
CraftBukkit/Spigot
7333087027 Update clients when ItemFrame direction is set. Fixes BUKKIT-3371
Hanging entities are placed into the entity tracker and updates are sent
out to clients for the initial placement. Thereafter data watchers are
configured to monitor the item inside the frame. However, if the
direction the ItemFrame facing changes the entity tracker will not send
out updates.

This commit removes and recreates the ItemFrame entity in the same way
that was already done for Painting entities. This causes clients to
be updated appropriately.

By: EdGruberman <ed@rjump.com>
2013-08-30 00:24:26 -07:00
CraftBukkit/Spigot
a216c696e3 Load all already generated chunks via async chunk system
Currently we use the async chunk loading system only when players trigger
chunk loading. If a chunk is loaded for any other reason it goes through
a separate codepath. This means if a player has trigged a chunk load and
before the chunk loads something else wants the same chunk we will load it
twice and throw away the second result. With this change we instead use
the sync processing feature of the AsynchronousExecutor to load the chunk
which will pull it out of the queue if it was already queued to load. This
means we only ever load a chunk once. Because chunk generation is not
thread safe we still fallback to the vanilla chunk loading system if the
chunk does not currently exist.

By: Travis Watkins <amaranth@ubuntu.com>
2014-02-01 17:42:43 -06:00
CraftBukkit/Spigot
4b9b13ab1e Allow AsynchronousExecutor.getSkipQueue() to pull tasks from the queue
By: Wesley Wolfe <weswolf@aol.com>
2014-02-01 17:57:52 -06:00
CraftBukkit/Spigot
145cf2fdde [Bleeding] Fix support for several entities in World.spawn(). Fixes BUKKIT-3284
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-21 22:50:15 -05:00
CraftBukkit/Spigot
eadaffb1b4 [Bleeding] Use correct yaw and pitch when spawning arrows. Fixes BUKKIT-3320
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-21 22:50:15 -05:00
CraftBukkit/Spigot
7179c931c0 [Bleeding] Directly set direction in EntityFireball. Fixes BUKKIT-1154
Because EntityFireball.setDirection() adds a random offset to passed
parameters, it is not appropriate for use in an API method. As such,
the values need to be directly set to remain accurate.

By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-21 22:50:15 -05:00
CraftBukkit/Spigot
9b8c0edb02 [Bleeding] Implement setCharged and getCharged for WitherSkull. Addresses BUKKIT-3060
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-21 22:50:15 -05:00
CraftBukkit/Spigot
115d946d7b [Bleeding] Implement ProjectileSource API. Addresses BUKKIT-1038, BUKKIT-1156
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-20 00:03:21 -05:00
CraftBukkit/Spigot
668c2bffdb Add setCritical and isCritical methods to CraftArrow.java. Adds BUKKIT-5113
By: MorphanOne <morphanone@gmail.com>
2013-12-16 22:30:13 -05:00
CraftBukkit/Spigot
616d88c604 Add methods to get and set arrow knockback. Adds BUKKIT-5103
By: Likaos <romain.rosique@gmail.com>
2013-12-16 22:30:13 -05:00
CraftBukkit/Spigot
97b317368b [Bleeding] Add support for ThrownExpBottle and Fish to launchProjectile(...). Fixes BUKKIT-1536
Previously, trying to launch a ThrownExpBottle or Fish projectile would
result in an IllegalArgumentException. This commit adds support for both
ThrownExpBottle and Fish, which means that all current projectiles are
now properly supported by this method.

By: GJ <gjmcferrin@gmail.com>
2013-12-16 22:40:00 -05:00
CraftBukkit/Spigot
36c8e19946 [Bleeding] Instantiate logger earlier in CraftServer. Fixes BUKKIT-4253.
Previously, if an error occurred during CraftServer initialization before the
logger was instantiated, it would cause an NPE and the server would never
finish loading properly. By instantiating the logger before attempting to
load anything else in CraftServer, we ensure that a logger will always be
available in the case of any errors.

By: GJ <gjmcferrin@gmail.com>
2014-01-21 10:47:18 -08:00
CraftBukkit/Spigot
d04ca26007 Fix stacking for items after setting empty meta. Fixes BUKKIT-5331
ItemStacks do not stack if one has null for a tag, while the other has an
empty tag. In CraftItemStack, if you set an item to an empty ItemMeta, it
will create an empty tag for the internal ItemStack.

This changes the setItemMeta function to check for empty meta, and then
use null for the tag instead of an empty NBTTagCompound.

By: Wesley Wolfe <weswolf@aol.com>
2014-01-23 23:02:40 -06:00
CraftBukkit/Spigot
ba1adfb79b [Bleeding] Account for null in EntityDamageEvent handling. Fixes BUKKIT-5317
Damage caused by explosions will return null for the event as of
6588d6f72bbca74bf150de65593ac575b846111b. As such, a null check is
now necessary when handling non-living entity damage events.

By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-07 00:25:11 -05:00
CraftBukkit/Spigot
a4b581ad13 [Bleeding] Check that vanilla recipes actually exist. Fixes BUKKIT-5277
When falling back to vanilla recipes in the iteration of recipes,
a check is necessary to ensure that vanilla recipes are present.
RecipeIterator has been modified to account for the multi-map setup.

By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-05 00:41:06 -05:00
CraftBukkit/Spigot
e276044e36 [Bleeding] Implement methods for /achievement command. Addresses BUKKIT-4932
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-16 01:48:38 -05:00
CraftBukkit/Spigot
f87c5cd9dd [Bleeding] Fix Achievements and Statistics API. Fixes BUKKIT-5305
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-14 23:42:40 -05:00
CraftBukkit/Spigot
31fccf6d8e Implement UnsafeValues for give command. Addresses BUKKIT-5286
By: Wesley Wolfe <weswolf@aol.com>
2014-01-14 22:38:03 -06:00
CraftBukkit/Spigot
2d7d0e3bf5 [Bleeding] Implement setIdleTimeout and getIdleTimeout. Addresses BUKKIT-4932.
By: t00thpick1 <t00thpick1dirko@gmail.com>
2014-01-07 01:33:16 -05:00
CraftBukkit/Spigot
3f3ce7034c Consider repair cost when checking ItemMeta emptiness. Fixes BUKKIT-5304
By: Wesley Wolfe <weswolf@aol.com>
2014-01-14 18:10:34 -06:00
CraftBukkit/Spigot
75d5bdc98c Add failing unit test for ItemMeta-repairability
By: Wesley Wolfe <weswolf@aol.com>
2014-01-14 17:56:49 -06:00
CraftBukkit/Spigot
2b0c741401 Updated version to 1.7.2-R0.3-SNAPSHOT for development towards next release.
By: EvilSeph <evilseph@gmail.com>
2013-12-21 03:08:41 -05:00
CraftBukkit/Spigot
0cd7bbc140 Updated version to 1.7.2-R0.2 in pom.xml for Beta.
By: EvilSeph <evilseph@gmail.com>
2013-12-21 02:51:50 -05:00
CraftBukkit/Spigot
fda1280bce [Bleeding] Handle custom furnace recipes separately. Fixes BUKKIT-1657, BUKKIT-3846
Due to vanilla blanket comparing data values, and the unspecified
order of hashmap iterators, we need to run through custom recipes
first, and therefore separately, to ensure that they are actually
used. By not adding the custom results to the experience table, we do
not override the experience gains from vanilla smelting recipes.

By: t00thpick1 <t00thpick1dirko@gmail.com>
2013-12-20 18:44:13 -05:00
CraftBukkit/Spigot
815904c481 Updated version to 1.7.2-R0.2-SNAPSHOT for development towards next release.
By: EvilSeph <evilseph@gmail.com>
2013-12-18 01:01:25 -05:00
CraftBukkit/Spigot
d3a98ac1bf Updated version to 1.7.2-R0.1 in pom.xml for Beta.
By: EvilSeph <evilseph@gmail.com>
2013-12-18 00:23:43 -05:00
CraftBukkit/Spigot
a6a6c99078 Add new setResourcePack method. Fixes BUKKIT-5015
Minecraft now uses resource packs instead of texture packs, which broke
the setTexturePack method, as the client no longer listens on the MC|TPack
channel.

This commit fixes the issue by adding in a setResourcePack method, and by
deprecating setTexturePack and rewriting it to call the newly added
setResourcePack.  In order to simplify the method and prevent this from
happening in the future, setResourcePack calls EntityPlayer.a(String) to use
the same logic as minecraft when sending resource packs.

By: Nate Mortensen <nate.richard.mortensen@gmail.com>
2013-12-17 19:23:26 -07:00
CraftBukkit/Spigot
4caf845eae Process URLs as clickable. Adds BUKKIT-4917
In Minecraft 1.7, URL processing was removed from the client while the
server gained the ability to designate a URL to be launched in response to
clicking text. However, this functionality is not implemented in the
vanilla server. This commit adds that functionality to messages sent to
the client, processing URLs as clickable.

Additionally, char array iteration is replaced with regex.

By: mbax <matt@phozop.net>
2013-12-09 22:47:00 -05:00
CraftBukkit/Spigot
8809265f76 Check pending blocks before falling back to world. Fixes BUKKIT-5122
When growing trees we use a BlockChangeDelegate which queues up the block
changes so plugins can modify/block/log tree growing. However, we always
check the actual world when checking for existing blocks. This means when
the tree growing code checks to see if putting a leaf in a block is valid
it may incorrectly overwrite a log block that should exist in that
location. To ensure trees grow correctly we now check the delegate itself
for blocks that match the queried location before checking the world.

By: Travis Watkins <amaranth@ubuntu.com>
2013-12-17 17:26:02 -06:00
CraftBukkit/Spigot
dba782de8d Add missed tree types for Minecraft 1.7. Adds BUKKIT-5042
This commit adds support for the Tree Types that weren't added in the
initial update to Minecraft 1.7.

Pulled from PR #1277

By: BlackHole <black-hole@live.com>
2013-12-14 22:54:24 -07:00
CraftBukkit/Spigot
ac80608acd Fix generation of jungle trees. Fixes BUKKIT-5043
Due to changes in the generation of trees, the name of the class responsible
for the generation of jungle trees has changed from WorldGenMegaTree to
WorldGenJungleTree.  As such, references to WorldGenMegaTree need to be
updated to WorldGenJungleTree to generate the correct type of tree.

Pulled from PR #1277

By: BlackHole <black-hole@live.com>
2013-12-14 17:54:55 -07:00
CraftBukkit/Spigot
25e34d34b1 [Bleeding] Correct naming of sounds for 1.7. Fixes BUKKIT-5065
Several sounds were renamed in Minecraft 1.7, and have been updated
accordingly. Additionally, two sounds, HURT and BREATH, were removed from
Minecraft.

By: GJ <gjmcferrin@gmail.com>
2013-12-06 10:36:20 -05:00
CraftBukkit/Spigot
d16ad07aa3 [Bleeding] Return correct drops for Cocoa blocks. Fixes BUKKIT-5159
For Cocoa Blocks, Block.getDropType() returns the item form of the Cocoa
block, rather than the Cocoa Bean item. Because of this, Cocoa blocks need
to have explicit handling in order to return the proper drop contents.

By: t00thpick1 <t00thpick1dirko@gmail.com>
2013-12-12 12:40:42 -05:00
CraftBukkit/Spigot
fcdf051fa5 Do not fire EntityDamageEvent for explosions twice. Fixes BUKKIT-5156
Explosions directly caused by LivingEntities, such as creepers and tnt lit
by players, have their EntityDamageEvent explicitely handled within
the Explosion class.  In order to prevent double events when damage
is handled for other DamageSources, we need return null for explosion
based damage sources.

By: t00thpick1 <t00thpick1dirko@gmail.com>
2013-12-09 23:03:13 -05:00
CraftBukkit/Spigot
b79e797434 Show fall particles while in creative mode. Fixes BUKKIT-5009
Relocate CraftBukkit patch to fall damage when changing
gamemode from creative mode.

By: t00thpick1 <t00thpick1dirko@gmail.com>
2013-12-13 19:31:59 -05:00
CraftBukkit/Spigot
e06ae795b0 Print message on startup before loading log4j
Log4j takes a long time to load on startup. Before it loads, the server
appears to have frozen as there is no output until after. We now print
a loading message before this happens to let the user know the server
is actually working.

By: Travis Watkins <amaranth@ubuntu.com>
2013-12-09 14:12:34 -06:00
CraftBukkit/Spigot
672d7e3316 Implement Firework.detonate(). Adds BUKKIT-4538
This implements the detonate method from bukkit by setting the fuse
timer to 0. This makes a firework explode using the normal codepath,
but without waiting for the fuse.

By: Wesley Wolfe <weswolf@aol.com>
2013-12-06 00:05:23 -06:00
CraftBukkit/Spigot
76c6e0cb14 Correctly register Furnace Recipies. Fixes BUKKIT-5044
We should also use items, not blocks. :)

By: feildmaster <admin@feildmaster.com>
2013-12-04 14:21:17 -06:00
CraftBukkit/Spigot
647164a75d Add new fishing enchants. Fixes BUKKIT-5035
By: GJ <gjmcferrin@gmail.com>
2013-12-03 22:02:59 -05:00
CraftBukkit/Spigot
8cc0d0c782 Correctly validate map colors. Fixes BUKKIT-4984
The validation check in CraftMapView.render(CraftPlayer) filters out any
values less than 0. As of Minecraft 1.7, -128 through -113 are valid colors,
so filtering them out prevents some of the new colors from being sent.

This commit fixes the issue by adjusting the validation check to include
any values less than or equal to -113.  As the minimum value for a byte is
-128, no invalid colors are included.

By: t00thpick1 <t00thpick1dirko@gmail.com>
2013-12-03 13:27:12 -05:00
CraftBukkit/Spigot
2d51679452 Maintain old setType method in WorldGenerator. Fixes BUKKIT-4915
WorldGenerator setType and setTypeAndData have their arguments changed to
add in support for CraftBlockChangeDelegate, which changes the method
signature. This change in the method signature breaks any WorldGenerators
that aren't modified to use CraftBlockChangeDelegate.

This commit fixes the issue by readding the old method and maintaining the
CraftBlockChangeDelegate method.  This makes it so that there is a
compatible method for both  CraftBlockChangeDelegate WorldGenerators and
unmodified WorldGenerators.

Additionally, this commit reduces and corrects the diffs in
WorldGenerator, moving the fix for layering violations to
CraftBlockChangeDelegate.

By: Nate Mortensen <nate.richard.mortensen@gmail.com>
2013-12-02 19:41:51 -07:00
CraftBukkit/Spigot
2217dbe212 Catch all exceptions in jansi initialization. Fixes BUKKIT-4936
Both log4j and our own jline/jansi initialization attempt to catch
errors caused by jansi's use of native libraries. However both of them use
the Exception type which does not catch all errors. On Windows Server 2008
R2 Enterprise without installing extra software the required C++ libraries
are not available which causes an error that does not extend Exception. To
ensure we catch all errors I've changed both of these to catch Throwable
instead which gets us a working console minus jansi functionality.

By: Travis Watkins <amaranth@ubuntu.com>
2013-12-02 15:43:55 -06:00
CraftBukkit/Spigot
503d91b89d Add ConsoleAppender from log4j for diff visibility
By: Travis Watkins <amaranth@ubuntu.com>
2013-12-02 15:43:29 -06:00
CraftBukkit/Spigot
9383c67217 Handle ChatColor-ending messages FIXES BUKKIT-4924
Now adds the component upon creation, eliminating issues where the
created component was discarded.

By: mbax <matt@phozop.net>
2013-12-01 11:09:47 -05:00
CraftBukkit/Spigot
512db9b878 Make console work on Windows again. Fixes BUKKIT-4956
Something the log4j ConsoleAppender does makes the console work correctly
on Windows. After trying to pull pieces of it out and run them manually
I decided to just put the appender back. We now once again start with the
ConsoleAppender then remove it immediately after starting.

By: Travis Watkins <amaranth@ubuntu.com>
2013-12-01 13:21:22 -06:00
CraftBukkit/Spigot
884ca363b6 Handle JUL logger formatting
By: Travis Watkins <amaranth@ubuntu.com>
2013-12-01 12:28:20 -06:00
CraftBukkit/Spigot
7537956dec Forward exceptions to log4j, cleanup logger handling. Fixes BUKKIT-4948
By: Travis Watkins <amaranth@ubuntu.com>
2013-12-01 11:15:18 -06:00
CraftBukkit/Spigot
5783df9d13 Update CraftBukkit to Minecraft 1.7.2
By: mbax <matt@phozop.net>
2013-11-04 07:07:38 -06:00
CraftBukkit/Spigot
5961c3b788 Updated version to 1.6.4-R2.1-SNAPSHOT for development towards next release.
By: EvilSeph <evilseph@gmail.com>
2013-10-30 19:44:34 -04:00
CraftBukkit/Spigot
d290f63e9f Updated version to 1.6.4-R2.0 in pom.xml for RB.
By: EvilSeph <evilseph@gmail.com>
2013-10-30 19:22:17 -04:00
CraftBukkit/Spigot
4ac5fcd821 Don't share WorldMapCollection. Fixes BUKKIT-4871
WorldMapCollection stores scoreboard, map (item), structure, and
village information. Scoreboards are explicitly handled globally,
while villages and structures are erroneously shared.

This commit separates the WorldMapCollections to not be shared among
custom worlds. Maps are special-cased to maintain the previous shared
behavior.

By: Wesley Wolfe <weswolf@aol.com>
2013-10-30 04:22:00 -05:00
CraftBukkit/Spigot
804dc8f841 Fix our versioning system.
By: Luke GB <git@lukegb.com>
2013-10-16 00:47:38 +01:00
CraftBukkit/Spigot
e3eec022cb Updated version to 1.6.4-R1.1-SNAPSHOT for development towards next release.
By: EvilSeph <evilseph@gmail.com>
2013-10-24 02:28:24 -04:00
CraftBukkit/Spigot
ae80b018c5 Updated version to 1.6.4-R1.0 in pom.xml for RB.
By: EvilSeph <evilseph@gmail.com>
2013-10-24 01:50:38 -04:00
CraftBukkit/Spigot
c99e77d534 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.

By: Wesley Wolfe <weswolf@aol.com>
2013-09-23 16:43:21 -05:00
CraftBukkit/Spigot
d6140ccc93 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.

By: EvilSeph <evilseph@gmail.com>
2013-10-23 19:29:05 -04:00
CraftBukkit/Spigot
5d69eea73d 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

By: Wesley Wolfe <weswolf@aol.com>
2013-10-15 03:52:52 -05:00
CraftBukkit/Spigot
88ea700cf9 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.

By: feildmaster <admin@feildmaster.com>
2013-10-10 17:54:29 -05:00
CraftBukkit/Spigot
68620f46d3 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.

By: Wesley Wolfe <weswolf@aol.com>
2013-10-05 13:21:15 -05:00
CraftBukkit/Spigot
46b65df5ae Update CraftBukkit to 1.6.4
By: feildmaster <admin@feildmaster.com>
2013-09-19 13:25:08 -05:00
CraftBukkit/Spigot
278aee6f0d Updated version to 1.6.2-R1.1-SNAPSHOT for development towards next release.
By: EvilSeph <evilseph@gmail.com>
2013-09-11 00:54:59 -04:00
CraftBukkit/Spigot
63fb8c8635 Updated version to 1.6.2-R1.0 in pom.xml for RB.
By: EvilSeph <evilseph@gmail.com>
2013-09-10 22:47:04 -04:00
CraftBukkit/Spigot
36da362790 Update for 1.6.2_01 renames.
By: EvilSeph <evilseph@gmail.com>
2013-09-10 22:46:40 -04:00
CraftBukkit/Spigot
cb0c007ec3 Fix villager death sound
By: feildmaster <admin@feildmaster.com>
2013-09-10 21:51:26 -05:00
CraftBukkit/Spigot
7dc16db513 Add missing villager sounds. Addresses BUKKIT-4756
By: feildmaster <admin@feildmaster.com>
2013-09-10 21:29:58 -05:00
CraftBukkit/Spigot
6a8d0de50c Provide a tab completion handler for JLine. Adds BUKKIT-4168
By: Phillip Schichtel <quick_wango@code-infection.de>
2013-08-17 18:49:27 -06:00
CraftBukkit/Spigot
84e8935a22 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.

By: FrozenBrain <carstenbamsti@googlemail.com>
2013-08-27 00:04:48 +02:00
CraftBukkit/Spigot
441c36767b Update and add new sound mappings. Fixes BUKKIT-4756
By: feildmaster <admin@feildmaster.com>
2013-09-10 20:00:26 -05:00
CraftBukkit/Spigot
35ef74ad46 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.

By: Wesley Wolfe <weswolf@aol.com>
2013-08-28 00:51:55 -05:00
CraftBukkit/Spigot
9680b8dcdb 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.

By: Roger Baumgartner <rogermarcbaumgartner@hotmail.com>
2013-08-17 16:13:31 +02:00
CraftBukkit/Spigot
2436b7abb8 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.

By: Wesley Wolfe <weswolf@aol.com>
2013-08-14 02:31:18 -05:00
CraftBukkit/Spigot
78dfcd38b3 Return instance of CraftInventoryBeacon for Beacons. Fixes BUKKIT-4521
By: T00thpick1 <t00thpick1dirko@gmail.com>
2013-07-18 18:37:20 -04:00
CraftBukkit/Spigot
71ba627b21 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.

By: Wesley Wolfe <weswolf@aol.com>
2013-08-07 04:05:56 -05:00
CraftBukkit/Spigot
3d604166e8 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.

By: riking <rikingcoding@gmail.com>
2013-04-18 17:50:05 -07:00
CraftBukkit/Spigot
a5280f8caa Fix javac workaround in ItemStackTest
By: Wesley Wolfe <weswolf@aol.com>
2013-08-06 20:09:42 -05:00
CraftBukkit/Spigot
cb196c424a Add BukkitObjectIOStream tests on top of ItemMeta tests
By: Wesley Wolfe <weswolf@aol.com>
2013-05-19 01:17:32 -05:00
CraftBukkit/Spigot
33c7445582 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.

By: Wesley Wolfe <weswolf@aol.com>
2013-08-06 17:11:30 -05:00
CraftBukkit/Spigot
6f3af92b3d Updated version to 1.6.2-R0.2-SNAPSHOT for development towards next release.
By: EvilSeph <evilseph@gmail.com>
2013-08-04 00:44:27 -04:00
CraftBukkit/Spigot
dd04730e8b Updated version to 1.6.2-R0.1 in pom.xml for Beta.
By: EvilSeph <evilseph@gmail.com>
2013-08-03 19:59:29 -04:00
CraftBukkit/Spigot
7ff6d4cf4c Fix off by 1 error for spawn protection. Fixes BUKKIT-4154
By: Jonatan Noponen <jonatan.noponen@gmail.com>
2013-07-31 19:43:10 +03:00
CraftBukkit/Spigot
ed3c404bc3 Fix mistranslation in isPlayerCreated() for IronGolems. Fixes BUKKIT-4543
By: Kai Dederichs <kai.dederichs@gmx.de>
2013-07-13 11:56:59 +02:00