Skip to content

Commit 063b6a9

Browse files
authored
Add support for Passky login plugin (#1289)
2 parents 1b45b8d + e1ba698 commit 063b6a9

File tree

4 files changed

+71
-1
lines changed

4 files changed

+71
-1
lines changed

bukkit/pom.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,14 @@
348348
</exclusions>
349349
</dependency>
350350

351+
<dependency>
352+
<groupId>com.github.zigazajc007</groupId>
353+
<artifactId>Passky</artifactId>
354+
<version>v3.0.0</version>
355+
<scope>provided</scope>
356+
<optional>true</optional>
357+
</dependency>
358+
351359
<!--No maven repository :(-->
352360
<dependency>
353361
<groupId>de.st_ddt.crazy</groupId>
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/*
2+
* SPDX-License-Identifier: MIT
3+
*
4+
* The MIT License (MIT)
5+
*
6+
* Copyright (c) 2015-2024 games647 and contributors
7+
*
8+
* Permission is hereby granted, free of charge, to any person obtaining a copy
9+
* of this software and associated documentation files (the "Software"), to deal
10+
* in the Software without restriction, including without limitation the rights
11+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12+
* copies of the Software, and to permit persons to whom the Software is
13+
* furnished to do so, subject to the following conditions:
14+
*
15+
* The above copyright notice and this permission notice shall be included in all
16+
* copies or substantial portions of the Software.
17+
*
18+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24+
* SOFTWARE.
25+
*/
26+
package com.github.games647.fastlogin.bukkit.hook;
27+
28+
import com.github.games647.fastlogin.core.hooks.AuthPlugin;
29+
import com.rabbitcomapny.Passky;
30+
import com.rabbitcomapny.api.Identifier;
31+
import com.rabbitcomapny.api.LoginResult;
32+
import com.rabbitcomapny.api.PasskyAPI;
33+
import com.rabbitcomapny.api.RegisterResult;
34+
import org.bukkit.entity.Player;
35+
36+
public class PasskyHook implements AuthPlugin<Player> {
37+
38+
private final Passky plugin;
39+
40+
public PasskyHook(Passky plugin) {
41+
this.plugin = plugin;
42+
}
43+
44+
@Override
45+
public boolean forceLogin(Player player) {
46+
LoginResult result = PasskyAPI.forceLogin(new Identifier(player), true);
47+
return result.success;
48+
}
49+
50+
@Override
51+
public boolean forceRegister(Player player, String password) {
52+
RegisterResult result = PasskyAPI.forceRegister(new Identifier(player), password, true);
53+
return result.success;
54+
}
55+
56+
@Override
57+
public boolean isRegistered(String playerName) throws Exception {
58+
return PasskyAPI.isRegistered(new Identifier(playerName));
59+
}
60+
}

bukkit/src/main/java/com/github/games647/fastlogin/bukkit/task/DelayedAuthHook.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import com.github.games647.fastlogin.bukkit.hook.LoginSecurityHook;
3333
import com.github.games647.fastlogin.bukkit.hook.UltraAuthHook;
3434
import com.github.games647.fastlogin.bukkit.hook.XAuthHook;
35+
import com.github.games647.fastlogin.bukkit.hook.PasskyHook;
3536
import com.github.games647.fastlogin.core.hooks.AuthPlugin;
3637
import org.bukkit.Bukkit;
3738
import org.bukkit.entity.Player;
@@ -94,7 +95,7 @@ private AuthPlugin<Player> getAuthHook() {
9495
try {
9596
List<Class<? extends AuthPlugin<Player>>> hooks = Arrays.asList(AuthMeHook.class,
9697
CrazyLoginHook.class, LogItHook.class, LoginSecurityHook.class, UltraAuthHook.class,
97-
XAuthHook.class);
98+
XAuthHook.class, PasskyHook.class);
9899

99100
for (Class<? extends AuthPlugin<Player>> clazz : hooks) {
100101
String pluginName = clazz.getSimpleName();

bukkit/src/main/resources/plugin.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ softdepend:
3030
- LogIt
3131
- UltraAuth
3232
- xAuth
33+
- Passky
3334

3435
commands:
3536
${project.parent.name}:

0 commit comments

Comments
 (0)