Commit Graph

9828 Commits

Author SHA1 Message Date
samczsun
fbaeffc96e Remove EventHandler annotation 2017-01-11 15:11:57 -06:00
samczsun
99211d5d89 Fix particles 2017-01-11 15:11:57 -06:00
samczsun
cb13fb1ccc 1.8 titles! 2017-01-11 15:11:57 -06:00
samczsun
bcea0044e8 Animated Titles! 2017-01-11 15:11:57 -06:00
Nate Mortensen
e803df6884 Fix Blink ability with Spectators
When using blink, players are teleported away from other players
within a one block radius of them.  However, if a player happens
to have the exact same position(only can occur when a player is
spectating them), division by 0 occurs, resulting in the player
being teleported to NaN, as any operation with NaN is also NaN.

To fix this, Blink now ignores players in Spectator mode.  This
change could also address the hypothetical scenario where a
spectator is within the one block radius and results in a blinking
player getting teleported in a weird direction.
2017-01-11 15:07:48 -06:00
Nate Mortensen
9583c7abcb Run Minestrike in Adventure Mode 2017-01-11 15:07:48 -06:00
Nate Mortensen
0bb01d39b6 Fix PP-Bizon skin 2017-01-11 15:07:48 -06:00
Nate Mortensen
afaed17071 Fix kill reward for skinned knives 2017-01-11 15:07:48 -06:00
Nate Mortensen
e1aeaa8714 Add damage metadata system to CombatLog and CustomDamageEvent
This adds a system whereby plugins can associate metadata with individual
damage events and then retrieve that metadata later from the CombatLog.
One example use case for this is Minestrike.  Players are rewarded according
to the weapon that they used to kill another player, however the weapons
are frequently renamed.  Minestrike can now associate a "gunType" key
to the name of the weapon used to kill the player, regardless of the skin
that the gun currently has applied to it.
2017-01-11 15:07:47 -06:00
Nate Mortensen
8384c47e53 Create Lifetime system for managing Listeners with a defined duration.
This commit introduces a Component system focused around Games, which is completely
backwards compatible, as well as designed to be flexible enough for later improvements
such as dependency injection. Each GameState is associated with a phase of the
PhasedLifetime that each Game has. Components can be registered with a specific phased
or the entirety of the Lifetime. Refer to the javadocs for Lifetime and PhasedLifetime
for more details.  Currently the main two Component types are ICommand and
ListenerComponent.

This commit includes the first refactoring into using this system, which is replacing
the Wizards minigame's usage of Miniplugin with a Lifetimed Component, allowing for
the shop to be appropriately registered and unregistered.  This change allows for
Wizards to be run more than once on the same server instance.  Previously, attempting
to register the Miniplugin twice would result in the minigame failing to start after
the initial registration.

This commit additionally includes slight refactoring within GameCreationManager as
required for the Lifetime system to function correctly.  These changes ensure that
Games are only disabled once, whereas before they could be repeatedly disabled.
The previous implementation of disable(), along with the classes that override it,
functioned correctly despite being called several times.

Finally, this commit adds in changes to the pom to allow for unit testing.
2017-01-11 15:07:47 -06:00
cnr
990c548e7b Disable Thanksgiving chickens 2017-01-06 01:06:10 -07:00
cnr
cbc5ed491c Check two-factor status for every player on login 2017-01-05 19:16:28 -07:00
cnr
96c15376aa Use default 2FA window size (3) 2017-01-05 15:20:10 -07:00
cnr
435abbba08 Allow builders to use 2FA 2017-01-05 10:48:56 -07:00
cnr
a2472f45b4 Cancel commands when authenticating with 2FA 2017-01-05 10:44:03 -07:00
cnr
fa6a60981c Return to normal hub type 2017-01-04 20:36:16 -07:00
cnr
f08068c717 Revert "Enable double XP + gems for the holidays"
This reverts commit d3bcc77e01.
2017-01-04 20:34:09 -07:00
cnr
3af401ee8f Implement two-factor authentication 2017-01-04 20:33:09 -07:00
cnr
efea2b0c1d Merge branch 'feature/dinnerbone-morph' into develop 2016-12-28 15:19:06 -07:00
cnr
c7d5e149f8 Fix NullPointerException in speed builders 2016-12-28 15:18:59 -07:00
Sam
3a6cef32a4 Add Gem Hunters as a catagory for the build server 2016-12-26 22:45:18 -07:00
cnr
d3bcc77e01 Enable double XP + gems for the holidays 2016-12-26 22:43:32 -07:00
cnr
0b4d217303 Reduce number of redis requests by communities 2016-12-26 22:34:09 -07:00
LCastr0
246db919d9 Changed permissions for Unlock Cosmetics 2016-12-25 15:35:53 -02:00
LCastr0
de73307754 Added morph to january ppc prize 2016-12-25 15:35:25 -02:00
LCastr0
140da98922 Merge branch 'develop' into feature/dinnerbone-morph 2016-12-25 15:34:00 -02:00
samczsun
10bed92a6a Change morph description 2016-12-24 17:38:29 -05:00
samczsun
fe8823c134 Re-order morphs 2016-12-24 17:38:09 -05:00
samczsun
81d769db5b Fix issues regarding disguising 2016-12-24 14:18:33 -05:00
samczsun
eacbdfdb02 Convert morph to packets 2016-12-24 14:07:41 -05:00
cnr
73cefb69c9 Use redis pipeline for community player statuses 2016-12-24 00:39:59 -07:00
cnr
08d65f3662 Load communities with 4 queries instead of 3n+1 2016-12-23 21:33:17 -07:00
LCastr0
0aec8889fa Added lore 2016-12-23 23:56:43 -02:00
AlexTheCoder
35a9eabf74 Use UUID object instead of String for PlayerStatus and FriendStatus, as well as update CommunityJoinRequestInfo on a task 2016-12-23 18:34:52 -05:00
AlexTheCoder
74a6071d4e Refactor Redis PlayerStatus to use UUID as a key instead of Name, and make communities not force every server to subscribe to join publishes from proxies 2016-12-23 18:03:08 -05:00
AlexTheCoder
4ae21e66c9 Delete new communities if the leader has been transferred a new community during creation 2016-12-23 18:03:08 -05:00
LCastr0
675642a100 Disable on tp and do not allow mounts 2016-12-23 19:53:49 -02:00
LCastr0
9fad633b88 Ops, lava, not water 2016-12-23 19:13:50 -02:00
LCastr0
c0afad0723 Fixed morph with lava, water, void and ender pearls 2016-12-23 18:15:26 -02:00
LCastr0
7f6f3464a1 Fixed chest pages again 2016-12-23 17:48:37 -02:00
William Burns
1e0ba62557 To many typos. 2016-12-23 11:15:46 -07:00
AlexTheCoder
7a482c3386 Implement system to run code when an SQL error occurs, and ensure that duplicate key errors on community creation inform the community creator 2016-12-22 22:32:04 -07:00
AlexTheCoder
ac8d8aa69c Prevent Name value in info classes from being null 2016-12-22 22:32:04 -07:00
AlexTheCoder
0a69562579 Improve communities member page sorter to base on role as well as name and online status 2016-12-22 22:32:04 -07:00
AlexTheCoder
09e711e202 Properly get online player key from redis 2016-12-22 22:32:04 -07:00
AlexTheCoder
8e9336ad23 Make community button refresh with join requests 2016-12-22 22:32:04 -07:00
AlexTheCoder
9acd6b7832 Ensure comparison of ints with == instead of Integers 2016-12-22 22:32:04 -07:00
AlexTheCoder
286a9fe246 Fix various synchronization issues and make community creation load the new community through redis instead of a database call 2016-12-22 22:32:04 -07:00
AlexTheCoder
66c6f66768 Fix threading of community create command and make invite loader run on a LoginProcessor 2016-12-22 22:32:04 -07:00
AlexTheCoder
36f671d944 Use UtilPlayer.message instead of sender.sendMessage to fit standards 2016-12-22 22:32:04 -07:00