Commit Graph

1483 Commits

Author SHA1 Message Date
Travis Watkins
8652e1ff28 Update Bukkit for Minecraft 1.7.9 2014-04-17 13:44:58 -05:00
Travis Watkins
76d7dff75e Revert changes to ban API from 1.7.8 2014-04-17 10:44:02 -05:00
Travis Watkins
f13accabe1 Revert additions to skull BlockState API from 1.7.8 2014-04-17 08:40:04 -05:00
Travis Watkins
ec19988db3 Add methods to use arbitrary entries in scoreboards. Adds BUKKIT-3977 2014-04-13 23:09:40 -05:00
Travis Watkins
8c0271cf92 Update Bukkit for Minecraft 1.7.8 2014-04-11 22:29:37 -05:00
Patrick Seidel
5011115726 Add method to send fake sign updates to players. Adds BUKKIT-2300 2014-04-02 18:04:05 -05:00
BlackHole
e5f17c41f4 Add player unique ID to (Async)PlayerPreLoginEvent. Adds BUKKIT-5108 2014-04-02 17:31:48 -05:00
Wesley Wolfe
1741b91175 Deprecate missed magic values from 1f83111208 2014-04-01 20:51:17 -05:00
Travis Watkins
4bc86be459 Add API for dealing with player UUIDs. Adds BUKKIT-5071, BUKKIT-5501 2014-03-29 16:49:09 -05:00
Wesley Wolfe
55c8f0a007 Pulling all pending Bukkit-JavaDoc changes 2014-03-24 13:20:52 -05:00
t00thpick1
4a47cf3e83 [Bleeding] Add direct addresses for command aliases. 2014-03-22 16:45:34 -04:00
t00thpick1
fa88ff4138 [Bleeding] Plugin aliases should have higher priority than fallbacks. Fixes BUKKIT-5442 2014-03-22 16:42:39 -04:00
mbax
c687bbc113 Update Bukkit to 1.7.5 2014-03-22 16:24:08 -04:00
Wesley Wolfe
18064cc277 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
37da49c4c3 Provide warnings for spaces in plugin names. Addresses BUKKIT-5419 2014-02-15 12:16:03 -06:00
Wesley Wolfe
543b253dd8 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
66daa8a96c Updated version to 1.7.2-R0.4-SNAPSHOT for development towards next release. 2014-02-12 01:58:55 -05:00
EvilSeph
f2b4a4c32b Updated version to 1.7.2-R0.3 in pom.xml for Beta. 2014-02-12 01:33:04 -05:00
t00thpick1
d45788bbf9 [Bleeding] Update Tell and Help aliases to use alias system. 2014-02-10 17:19:39 -06:00
Travis Watkins
c9581cec84 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
fa7b3c26c8 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
18a2a9f5bf [Bleeding] Support any number of arguments in aliases 2014-02-09 20:12:04 -05:00
t00thpick1
3dfe3d1594 [Bleeding] Implement escape sequence for aliases. 2014-02-09 19:25:46 -05:00
t00thpick1
72a6f60a53 [Bleeding] Fix getCommand for conflicting plugin commands. 2014-02-09 19:25:46 -05:00
t00thpick1
64481e3e24 [Bleeding] Also blacklist ":" in plugin command aliases. 2014-02-08 15:50:59 -05:00
t00thpick1
ca3433b1bd [Bleeding] Fix formatting of optional arguments. 2014-02-08 15:50:58 -05:00
Wesley Wolfe
9fc4d38e14 Pulling all pending Bukkit-JavaDoc changes 2014-02-08 06:05:41 -05:00
t00thpick1
5023fe375e [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
d7e0197e9d [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
a2b5d6a907 [Bleeding] Blacklist ":" in command names. 2014-02-08 03:11:46 -06:00
t00thpick1
1d11e1d940 [Bleeding] Blacklist certain plugin names 2014-02-08 03:11:46 -06:00
mbax
75427e084d 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
574f7a8c6c 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
a621d1683a [Bleeding] Add setCharged and getCharged to WitherSkull. Adds BUKKIT-3060 2014-01-30 21:58:48 -07:00
t00thpick1
d8a295202c [Bleeding] Add ProjectileSource interface. Addresses BUKKIT-1038, BUKKIT-1156 2014-01-30 21:58:48 -07:00
MorphanOne
018048333e Add setCritical and isCritical methods to Arrow.java. Adds BUKKIT-5113 2014-01-30 21:58:48 -07:00
Likaos
9510913a19 Add methods to get and set knockback strength in Arrow. Adds BUKKIT-5103 2014-01-30 21:58:47 -07:00
GJ
43d61f134c [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
4b0e6ba611 Add ServerListPingEvent player list API. Adds BUKKIT-5121, BUKKIT-2465 2014-01-19 15:56:09 -06:00
t00thpick1
fe360273a5 [Bleeding] Add /achievement command. Addresses BUKKIT-4932 2014-01-16 00:50:49 -06:00
t00thpick1
d4802061ec [Bleeding] Fix Achievement and Statistic API. Fixes BUKKIT-5305 2014-01-16 00:50:43 -06:00
Wesley Wolfe
ce94a3555c 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
bff28d83d9 [Bleeding] Add 1.7 setworldspawn and setidletimeout commands. Addresses BUKKIT-4932 2014-01-14 19:05:14 -05:00
Wesley Wolfe
ccc56c8f7e Fix some messages
Addresses BUKKIT-5272, BUKKIT-5282, and BUKKIT-5283
2014-01-06 14:20:22 -06:00
Wesley Wolfe
10d8fe58d3 Use region matching instead of sub-strings. Addresses BUKKIT-5275 2014-01-04 12:50:19 -06:00
Wesley Wolfe
45ed9a3ab1 Add unit tests for org.bukkit.util.StringUtil 2014-01-04 12:43:49 -06:00
Wesley Wolfe
3fcbcaf427 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
bc77402b9b [BREAKING] Shift plugin initialization; Addresses BUKKIT-1788
This reverts commit ae4f1c05d8, restoring
commit 27cb5e7c9c (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 203de4180b.
2013-12-24 22:18:52 -06:00
EvilSeph
1227b64c8a Updated version to 1.7.2-R0.3-SNAPSHOT for development towards next release. 2013-12-21 03:08:33 -05:00
EvilSeph
53c6314428 Updated version to 1.7.2-R0.2 in pom.xml for Beta. 2013-12-21 02:51:08 -05:00