this repo has no description

commit

Changed files
+241 -14
.idea
out
artifacts
SSISAuth_jar
src
main
java
com
keii
resources
+124
.idea/uiDesigner.xml
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <project version="4"> 3 + <component name="Palette2"> 4 + <group name="Swing"> 5 + <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> 6 + <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" /> 7 + </item> 8 + <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> 9 + <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" /> 10 + </item> 11 + <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false"> 12 + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" /> 13 + </item> 14 + <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true"> 15 + <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" /> 16 + </item> 17 + <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false"> 18 + <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" /> 19 + <initial-values> 20 + <property name="text" value="Button" /> 21 + </initial-values> 22 + </item> 23 + <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false"> 24 + <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> 25 + <initial-values> 26 + <property name="text" value="RadioButton" /> 27 + </initial-values> 28 + </item> 29 + <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false"> 30 + <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> 31 + <initial-values> 32 + <property name="text" value="CheckBox" /> 33 + </initial-values> 34 + </item> 35 + <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false"> 36 + <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" /> 37 + <initial-values> 38 + <property name="text" value="Label" /> 39 + </initial-values> 40 + </item> 41 + <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> 42 + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> 43 + <preferred-size width="150" height="-1" /> 44 + </default-constraints> 45 + </item> 46 + <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> 47 + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> 48 + <preferred-size width="150" height="-1" /> 49 + </default-constraints> 50 + </item> 51 + <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> 52 + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> 53 + <preferred-size width="150" height="-1" /> 54 + </default-constraints> 55 + </item> 56 + <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true"> 57 + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> 58 + <preferred-size width="150" height="50" /> 59 + </default-constraints> 60 + </item> 61 + <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> 62 + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> 63 + <preferred-size width="150" height="50" /> 64 + </default-constraints> 65 + </item> 66 + <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> 67 + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> 68 + <preferred-size width="150" height="50" /> 69 + </default-constraints> 70 + </item> 71 + <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true"> 72 + <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" /> 73 + </item> 74 + <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false"> 75 + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> 76 + <preferred-size width="150" height="50" /> 77 + </default-constraints> 78 + </item> 79 + <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false"> 80 + <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3"> 81 + <preferred-size width="150" height="50" /> 82 + </default-constraints> 83 + </item> 84 + <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false"> 85 + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> 86 + <preferred-size width="150" height="50" /> 87 + </default-constraints> 88 + </item> 89 + <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false"> 90 + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> 91 + <preferred-size width="200" height="200" /> 92 + </default-constraints> 93 + </item> 94 + <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false"> 95 + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> 96 + <preferred-size width="200" height="200" /> 97 + </default-constraints> 98 + </item> 99 + <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true"> 100 + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> 101 + </item> 102 + <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false"> 103 + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> 104 + </item> 105 + <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> 106 + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" /> 107 + </item> 108 + <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> 109 + <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" /> 110 + </item> 111 + <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false"> 112 + <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1"> 113 + <preferred-size width="-1" height="20" /> 114 + </default-constraints> 115 + </item> 116 + <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> 117 + <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" /> 118 + </item> 119 + <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> 120 + <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" /> 121 + </item> 122 + </group> 123 + </component> 124 + </project>
+6
.idea/vcs.xml
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <project version="4"> 3 + <component name="VcsDirectoryMappings"> 4 + <mapping directory="" vcs="Git" /> 5 + </component> 6 + </project>
out/artifacts/SSISAuth_jar/SSISAuth.jar

This is a binary file and will not be displayed.

+5
pom.xml
··· 70 70 <version>1.19.2-R0.1-SNAPSHOT</version> 71 71 <scope>provided</scope> 72 72 </dependency> 73 + <dependency> 74 + <groupId>com.google.guava</groupId> 75 + <artifactId>guava</artifactId> 76 + <version>31.0.1-jre</version> 77 + </dependency> 73 78 </dependencies> 74 79 </project>
+3
src/main/java/com/keii/ssisauth/SSISAuth.java
··· 1 1 package com.keii.ssisauth; 2 2 3 + import com.keii.ssisauth.commands.CommandMaintenance; 3 4 import com.keii.ssisauth.events.PlayerJoin; 4 5 import org.bukkit.ChatColor; 5 6 import org.bukkit.plugin.java.JavaPlugin; ··· 10 11 11 12 @Override 12 13 public void onEnable() { 14 + 15 + this.getCommand("maintenance").setExecutor(new CommandMaintenance()); 13 16 getServer().getPluginManager().registerEvents(new PlayerJoin(), this); 14 17 getServer().getConsoleSender().sendMessage(ChatColor.GREEN + "SSISAuth Enabled"); 15 18 }
+68
src/main/java/com/keii/ssisauth/commands/CommandMaintenance.java
··· 1 + package com.keii.ssisauth.commands; 2 + 3 + import com.google.common.hash.Hashing; 4 + import org.bukkit.command.Command; 5 + import org.bukkit.command.CommandExecutor; 6 + import org.bukkit.command.CommandSender; 7 + 8 + import java.io.IOException; 9 + import java.net.URI; 10 + import java.net.http.HttpClient; 11 + import java.net.http.HttpRequest; 12 + import java.net.http.HttpResponse; 13 + import java.nio.charset.StandardCharsets; 14 + import java.util.Date; 15 + 16 + import static com.keii.ssisauth.SSISAuth.apiip; 17 + 18 + public class CommandMaintenance implements CommandExecutor { 19 + @Override 20 + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { 21 + if(args.length < 2) { 22 + sender.sendMessage("Not enough arguments!"); 23 + } 24 + if(args[0] == "set") { 25 + boolean setValue; 26 + if(args[1] != "true" && args[1] != "1" && args[1] != "false" && args[1] != "0") { 27 + sender.sendMessage("Invalid argument " + args[1]); 28 + return true; 29 + } else { 30 + if(args[1] == "true" || args[1] == "1") { 31 + setValue = true; 32 + } else { 33 + setValue = false; 34 + } 35 + } 36 + 37 + HttpRequest request; 38 + HttpResponse<String> response; 39 + String responseText; 40 + 41 + Date date = new Date(); 42 + var current = date.getMinutes() + date.getDay() + date.getMonth(); 43 + String sha256hex = Hashing.sha256() 44 + .hashString(String.valueOf(current), StandardCharsets.UTF_8) 45 + .toString(); 46 + 47 + HttpClient client = HttpClient.newHttpClient(); 48 + request = HttpRequest.newBuilder() 49 + .uri(URI.create(apiip + "/api/v1/setmaintenance")) 50 + .headers("Content-Type", "text/plain;charset=UTF-8") 51 + .POST(HttpRequest.BodyPublishers.ofString(setValue ? "true," + sha256hex : "false," + sha256hex)) 52 + .build(); 53 + 54 + try { 55 + response = client.send(request, 56 + HttpResponse.BodyHandlers.ofString()); 57 + } catch (IOException e) { 58 + throw new RuntimeException(e); 59 + } catch (InterruptedException e) { 60 + throw new RuntimeException(e); 61 + } 62 + 63 + responseText = response.body(); 64 + } 65 + 66 + return true; 67 + } 68 + }
+29 -14
src/main/java/com/keii/ssisauth/events/PlayerJoin.java
··· 1 1 package com.keii.ssisauth.events; 2 2 3 + import com.destroystokyo.paper.profile.PlayerProfile; 4 + import com.destroystokyo.paper.profile.ProfileProperty; 5 + import net.kyori.adventure.text.Component; 6 + import net.kyori.adventure.text.TextComponent; 3 7 import org.bukkit.Bukkit; 4 8 import org.bukkit.ChatColor; 5 9 import org.bukkit.entity.Player; ··· 15 19 import java.net.http.HttpClient; 16 20 import java.net.http.HttpRequest; 17 21 import java.net.http.HttpResponse; 22 + import java.util.Set; 18 23 19 24 import static com.keii.ssisauth.SSISAuth.apiip; 20 25 21 26 public class PlayerJoin implements Listener { 22 27 @EventHandler 23 28 public static void onPlayerJoin(PlayerJoinEvent e) throws IOException, InterruptedException { 24 - HttpClient client = HttpClient.newHttpClient(); 25 - HttpRequest request = HttpRequest.newBuilder() 26 - .uri(URI.create(apiip + "/api/v1/checkuserjava?uuid=" + e.getPlayer().getUniqueId().toString())) 27 - .build(); 29 + HttpRequest request; 30 + HttpResponse<String> response; 31 + String responseText; 32 + try { 33 + HttpClient client = HttpClient.newHttpClient(); 34 + request = HttpRequest.newBuilder() 35 + .uri(URI.create(apiip + "/api/v1/checkuserjava?uuid=" + e.getPlayer().getUniqueId().toString())) 36 + .build(); 28 37 29 - HttpResponse<String> response = client.send(request, 30 - HttpResponse.BodyHandlers.ofString()); 38 + response = client.send(request, 39 + HttpResponse.BodyHandlers.ofString()); 40 + 41 + responseText = response.body(); 42 + } catch(Exception error) { 43 + e.getPlayer().kick(Component.text().content("Ser ut som att APIet har lite problem. Kontakta 22widi@stockholmscience.se").build()); 44 + return; 45 + } 31 46 32 - String responseText = response.body(); 47 + Bukkit.getServer().broadcast(Component.text().content(String.valueOf(response.statusCode())).build()); 33 48 34 49 if(response.statusCode() == 401) { 35 - e.getPlayer().kickPlayer("Registrera konto på https://mc.ssis.nu"); 50 + e.getPlayer().kick(Component.text().content("Registrera konto på https://mc.ssis.nu").build()); 36 51 } else if(response.statusCode() == 200) { 37 52 String[] result = responseText.split(","); 38 53 39 54 Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(),"nick " + e.getPlayer().getName() + " " + result[3] + result[4].charAt(0)); 40 55 Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "lp user " + e.getPlayer().getName() + " meta setprefix " + result[2]); 41 56 //e.getPlayer().setPlayerListName(ChatColor.YELLOW + result[2] + " " + ChatColor.WHITE + result[3] + result[4].charAt(0)); 42 - e.getPlayer().setPlayerListName(ChatColor.WHITE + result[3] + result[4].charAt(0)); 57 + e.getPlayer().playerListName(Component.text().content(ChatColor.WHITE + result[3] + result[4].charAt(0)).build()); 43 58 44 - e.getPlayer().getPlayerProfile().setName(ChatColor.WHITE + result[3] + result[4].charAt(0)); 45 - for(Player all : Bukkit.getOnlinePlayers()) { 46 - all.hidePlayer(e.getPlayer()); 47 - all.showPlayer(e.getPlayer()); 48 - } 59 + PlayerProfile oldProfile = e.getPlayer().getPlayerProfile(); 60 + Set<ProfileProperty> old = oldProfile.getProperties(); 61 + var profile = Bukkit.createProfileExact(e.getPlayer().getUniqueId(), "CustomName"); 62 + profile.setProperties(old); // The players previous properties 63 + e.getPlayer().setPlayerProfile(profile); 49 64 } 50 65 } 51 66 }
+6
src/main/resources/plugin.yml
··· 2 2 version: '${project.version}' 3 3 main: com.keii.ssisauth.SSISAuth 4 4 api-version: 1.19 5 + 6 + commands: 7 + maintenance: 8 + description: Configure Maintenance Mode 9 + usage: /maintenance 10 + permission: ssisauth.maintenance