Commit graph

1275 commits

Author SHA1 Message Date
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