Commit graph

1625 commits

Author SHA1 Message Date
Travis Watkins
ee4a919469 Add API for dealing with player UUIDs. Adds BUKKIT-5071, BUKKIT-5501 2014-03-29 16:49:09 -05:00
Wesley Wolfe
7c4a4dc3b2 Pulling all pending Bukkit-JavaDoc changes 2014-03-24 13:20:52 -05:00
t00thpick1
e6be37d9e3 [Bleeding] Add direct addresses for command aliases. 2014-03-22 16:45:34 -04:00
t00thpick1
71a5f8b835 [Bleeding] Plugin aliases should have higher priority than fallbacks. Fixes BUKKIT-5442 2014-03-22 16:42:39 -04:00
mbax
9ae1dd5737 Update Bukkit to 1.7.5 2014-03-22 16:24:08 -04:00
Wesley Wolfe
3e3373e224 Update data folder migration for spaces in plugin names. Fixes BUKKIT-5417
This change drops the previous plugin data folder migration based on the
plugin's file name, and adapts the migration to now instead consider
plugins that have spaces in their original name.
2014-02-15 12:16:07 -06:00
Wesley Wolfe
a41b54d1fb Provide warnings for spaces in plugin names. Addresses BUKKIT-5419 2014-02-15 12:16:03 -06:00
Wesley Wolfe
7b04f0a6cd Fix loadbefore, soft, and normal dependencies with spaces. Fixes BUKKIT-5418
This change makes the lists of loadbefore, softdependency, and dependency
replace the spaces in the names with underscored to reflect the behavior
used with names.
2014-02-15 12:12:13 -06:00
EvilSeph
b18e28ab4f Updated version to 1.7.2-R0.4-SNAPSHOT for development towards next release. 2014-02-12 01:58:55 -05:00
EvilSeph
2c41694753 Updated version to 1.7.2-R0.3 in pom.xml for Beta. 2014-02-12 01:33:04 -05:00
t00thpick1
cc8bac3616 [Bleeding] Update Tell and Help aliases to use alias system. 2014-02-10 17:19:39 -06:00
Travis Watkins
256070fc59 Remove extra events from alias execution.
When executing an alias we already call an event for the alias itself. The
extra events are not needed for logging purposes as the alias itself is
logged and the events cause issues for plugins trying to do spam checking
on their own.
2014-02-10 16:18:36 -06:00
Travis Watkins
45d2e3ff20 Clean up alias handling.
There is no need to print a stacktrace when an alias fails, we do not do
this for normal commands. We also now give error messages when attempting
to register an alias instead of having them just silently not function.
2014-02-09 23:16:19 -06:00
t00thpick1
c9836819df [Bleeding] Support any number of arguments in aliases 2014-02-09 20:12:04 -05:00
t00thpick1
bab6db48cc [Bleeding] Implement escape sequence for aliases. 2014-02-09 19:25:46 -05:00
t00thpick1
4c35c61ca9 [Bleeding] Fix getCommand for conflicting plugin commands. 2014-02-09 19:25:46 -05:00
t00thpick1
8fb03c1da7 [Bleeding] Also blacklist ":" in plugin command aliases. 2014-02-08 15:50:59 -05:00
t00thpick1
a9bd79aa0d [Bleeding] Fix formatting of optional arguments. 2014-02-08 15:50:58 -05:00
Wesley Wolfe
b5f5619834 Pulling all pending Bukkit-JavaDoc changes 2014-02-08 06:05:41 -05:00
t00thpick1
9d0d46dee3 [Bleeding] Improve alias system.
Adds a large expansion of the aliases system. Aliases can now take arguments,
reorder their arguments, and only pass certain arguments to certain commands.
New syntax added to the aliases are $1 for optional arguments, $$1 for
required arguments, $1- for optionally using all the arguments from the
specified position onward, and $$1- to do the same thing but require at least
the specified position exist. These exist for numbers 1 through 9. You are
able to pass arguments to one command of a multiple command argument and not
others. You can also use the argument as a prefix and/or suffix. A raw $ can
be represented in the arguments by using \$.

Examples:

aliases:
# Usage: /testobjective score_deaths 1 5
testobjective:
- "testfor @p[$$1=$$3,$$1_min=$$2]"

# Usage: /ban Amaranthus Because reasons
ban:
- ban $$1 $2-
- say Banned $$1

# Usage: /icanhasbukkit
icanhasbukkit:
- version

# Usage: /icanhasplugin HomeBukkit
icanhasplugin:
- version $$1

One change from the previous aliases system is that commands are no longer
passed all arguments implicitly. You must explicitly pass the arguments
you want to pass to the command.
2014-02-08 03:11:46 -06:00
t00thpick1
9080288a36 [Bleeding] Simplify command handling.
Instead of duplicating code to handle two pools of commands
we can instead just add the fallback commands after all
plugin commands are loaded and achieve the same effect. We
also now always register the direct address of a command
to ensure it is always possible to access it.

In addition, aliases can be determined by whether or not
the command label of the command matches the command address,
thereby rendering the aliases HashSet redundant.
2014-02-08 03:11:46 -06:00
t00thpick1
0c3527bfd2 [Bleeding] Blacklist ":" in command names. 2014-02-08 03:11:46 -06:00
t00thpick1
f2328f933e [Bleeding] Blacklist certain plugin names 2014-02-08 03:11:46 -06:00
mbax
f5689165ad Add banning API and resolve associated command issues. Adds BUKKIT-3535.
Fixes BUKKIT-5371 and BUKKIT-4285

Prior to this commit, ban reasons were not supported by banning commands.
Additionally, the player(s) affected by the ban-ip command would not have
been removed from the server via a kick.

The Bukkit API lacked support for modifying various attributes associated
with bans, such as the reason and expiration date. This caused various plugins
to use external or other means to store a ban reason, making the built-in
banning system on the server partially useless.

Now the ban commands will accept reasons for the bans as well as kick the
player from the server once banned. That means that if an IP is banned
that all players using that IP will be removed from the server.

The API provided now supports editing the ban reason, creation date,
expiration date and source. The ban list has also been created to
provide this information more easily. Editing the data requires an
implementing plugin to manually save the information with the provided
method in BanEntry or BanList once changes have been made.

The addition of this API has deprecated the use of OfflinePlayer#setBanned()
as it has been replaced by BanList#addBan().
2014-02-07 23:49:44 -07:00
Kodekpl
21b8ff719e Added SpawnReasons for nether portals and dispensers. Fixes BUKKIT-3148
Previously any entities spawned through dispensers (monster eggs) or
by nether portals were given the incorrect SpawnReason of SPAWNER_EGG.
This made it impossible to distinguish what exactly happened in regards
to the creature being spawned.

With the additional two SpawnReasons, plugins can identify sources of
creature spawning more easily and accuratly.
2014-02-01 22:08:48 -07:00
t00thpick1
cd783276fb [Bleeding] Add setCharged and getCharged to WitherSkull. Adds BUKKIT-3060 2014-01-30 21:58:48 -07:00
t00thpick1
a64d07ea71 [Bleeding] Add ProjectileSource interface. Addresses BUKKIT-1038, BUKKIT-1156 2014-01-30 21:58:48 -07:00
MorphanOne
739f08b9b3 Add setCritical and isCritical methods to Arrow.java. Adds BUKKIT-5113 2014-01-30 21:58:48 -07:00
Likaos
51eba0f1bd Add methods to get and set knockback strength in Arrow. Adds BUKKIT-5103 2014-01-30 21:58:47 -07:00
GJ
10a28d123b [Bleeding] Fix logic for calculating slot in Creative mode. Fixes BUKKIT-4715
Previously, hotbar slots for player inventory would return 9 - 18 while in
Creative mode, rather than 0 - 9. This commit fixes the logic used for
calculating the returned slot based on the raw slot.
2014-01-25 18:14:52 -06:00
Wesley Wolfe
2a2e90233e Add ServerListPingEvent player list API. Adds BUKKIT-5121, BUKKIT-2465 2014-01-19 15:56:09 -06:00
t00thpick1
520168827c [Bleeding] Add /achievement command. Addresses BUKKIT-4932 2014-01-16 00:50:49 -06:00
t00thpick1
74fc9d0778 [Bleeding] Fix Achievement and Statistic API. Fixes BUKKIT-5305 2014-01-16 00:50:43 -06:00
Wesley Wolfe
0b67deaef2 Modify give command to support 1.7 features. Fixes BUKKIT-5286
Necessary additions include an interface to add internal value conversions
that are inappropriate for proper API design. This acts as a substitute
for properly formed, user-friendly commands in an effort to maintain
relatively vanilla behavior.
2014-01-14 22:37:00 -06:00
t00thpick1
78343b669c [Bleeding] Add 1.7 setworldspawn and setidletimeout commands. Addresses BUKKIT-4932 2014-01-14 19:05:14 -05:00
Wesley Wolfe
c83a338553 Fix some messages
Addresses BUKKIT-5272, BUKKIT-5282, and BUKKIT-5283
2014-01-06 14:20:22 -06:00
Wesley Wolfe
f383b6c490 Use region matching instead of sub-strings. Addresses BUKKIT-5275 2014-01-04 12:50:19 -06:00
Wesley Wolfe
81d3f6367e Add unit tests for org.bukkit.util.StringUtil 2014-01-04 12:43:49 -06:00
Wesley Wolfe
aa4f909324 Add method to get plugin by its class. Adds BUKKIT-5240
Currently, the only way to get a plugin is by name or using a static
variable. This adds two methods to get a plugin based on its classes,
utilizing the plugin classloader.
2013-12-24 22:20:20 -06:00
Wesley Wolfe
f8984c4486 [BREAKING] Shift plugin initialization; Addresses BUKKIT-1788
This reverts commit ae4f1c05d825e232d7fc0483639ba65ad54d2db4, restoring
commit 27cb5e7c9c6b2cfc5419262df75d89bc6bfe7879 (mostly).

Shared class loading was removed as an explicit feature in the plugin.yml,
as all plugins implicitly share class loaders already.

Some deprecated, internal functionality is now (package) private, namely
some sections pointed out in 203de4180b40f069d2c175d763476bd4ce338c76.
2013-12-24 22:18:52 -06:00
EvilSeph
cb05cc7a6b Updated version to 1.7.2-R0.3-SNAPSHOT for development towards next release. 2013-12-21 03:08:33 -05:00
EvilSeph
060d7eccef Updated version to 1.7.2-R0.2 in pom.xml for Beta. 2013-12-21 02:51:08 -05:00
EvilSeph
e85dc57851 Handle commandBlockOutput GameRule for Command Minecarts.
Fixes BUKKIT-5207
2013-12-20 23:35:10 -05:00
EvilSeph
0136d2b31e Updated version to 1.7.2-R0.2-SNAPSHOT for development towards next release. 2013-12-18 01:01:04 -05:00
EvilSeph
e5ab592962 Updated version to 1.7.2-R0.1 in pom.xml for Beta. 2013-12-18 00:23:20 -05:00
Nate Mortensen
3d8bb1aabf Add new setResourcePack method. Fixes BUKKIT-5015
Minecraft now uses resource packs instead of texture packs.

This commit adds a new method specific for resource packs, and deprecates
setTexturePack.
2013-12-17 20:15:16 -07:00
Peter Olson
1ac427113f Specify MaterialData for Acacia and Dark Oak stairs. Fixes BUKKIT-5037
When Minecraft 1.7 was released, Acacia and Dark Oak Stairs were added.
While Bukkit added them to Material.java, it did not add the MaterialData
mapping of them to Stairs.class.

Currently getAscendingDirection() and other stair-specific functions can
not be used on these new stairs. This commit fixes that by adding the
mapping needed.

Pulled from PR #977
2013-12-16 19:48:17 -07:00
BlackHole
ecd5a02753 Add missed tree types for Minecraft 1.7. Adds BUKKIT-5042
The Minecraft 1.7 update added two new types of trees that weren't added
in the initial update to 1.7: MEGA_REDWOOD and TALL_BIRCH.

Pulled from PR #979
2013-12-16 19:48:16 -07:00
GJ
be55b4f5b8 [Bleeding] Correct naming of sounds for Minecraft 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.
2013-12-16 19:48:16 -07:00
Wesley Wolfe
d8b48c2ec9 Pulling all pending Bukkit-JavaDoc changes
A special thanks goes to @aerouk for almost all of the changes found here.
2013-12-15 01:09:18 -05:00