Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
057a4b72fc | ||
|
|
9b4fad07aa |
Vendored
+2
-1
@@ -1,3 +1,4 @@
|
||||
{
|
||||
"java.configuration.updateBuildConfiguration": "interactive"
|
||||
"java.configuration.updateBuildConfiguration": "automatic",
|
||||
"java.compile.nullAnalysis.mode": "automatic"
|
||||
}
|
||||
@@ -70,8 +70,8 @@
|
||||
<url>https://oss.sonatype.org/content/groups/public/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>gitlab-maven</id>
|
||||
<url>https://Gitlab.Softwarerat.com/api/v4/projects/16/packages/maven</url>
|
||||
<id>gitea</id>
|
||||
<url>http://heimserver.local:36107/api/packages/minecraft/maven</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
@@ -88,13 +88,11 @@
|
||||
<version>1.20.4-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<dependency>
|
||||
<groupId>com.softwarerat</groupId>
|
||||
<artifactId>GameAPI</artifactId>
|
||||
<version>1.6.4-SNAPSHOT</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/GameAPI-1.6.4-SNAPSHOT.jar</systemPath>
|
||||
</dependency>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains</groupId>
|
||||
<artifactId>annotations</artifactId>
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package de.softwarerat.lobby;
|
||||
|
||||
import com.softwarerat.API.prefix.PrefixAPI;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.softwarerat.API.data.prefix.PrefixAPI;
|
||||
|
||||
public class IPrefix {
|
||||
PrefixAPI prefixAPI;
|
||||
|
||||
|
||||
@@ -1,28 +1,27 @@
|
||||
package de.softwarerat.lobby;
|
||||
|
||||
import com.softwarerat.API.data.GameData;
|
||||
import com.softwarerat.API.listener.BuildBreakListener;
|
||||
import com.softwarerat.API.listener.LobbyInventoryClickListener;
|
||||
import com.softwarerat.API.prefix.PrefixAPI;
|
||||
import com.softwarerat.GameAPI;
|
||||
import de.softwarerat.lobby.commands.FlyCommand;
|
||||
import de.softwarerat.lobby.listener.JoinListener;
|
||||
import de.softwarerat.lobby.listener.QuitListener;
|
||||
import lombok.Getter;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.plugin.messaging.PluginMessageListener;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import com.softwarerat.API.data.GameData;
|
||||
import com.softwarerat.API.data.prefix.PrefixAPI;
|
||||
import com.softwarerat.API.event.listener.BuildBreakListener;
|
||||
import com.softwarerat.API.event.listener.LobbyInventoryClickListener;
|
||||
import com.softwarerat.GameAPI;
|
||||
|
||||
import de.softwarerat.lobby.commands.FlyCommand;
|
||||
import de.softwarerat.lobby.listener.JoinListener;
|
||||
import de.softwarerat.lobby.listener.QuitListener;
|
||||
import lombok.Getter;
|
||||
|
||||
public final class Lobby extends JavaPlugin implements PluginMessageListener {
|
||||
GameAPI gameAPI;
|
||||
@Getter
|
||||
@@ -84,4 +83,10 @@ public final class Lobby extends JavaPlugin implements PluginMessageListener {
|
||||
public void onPluginMessageReceived(@NotNull String s, @NotNull Player player, @NotNull byte[] bytes) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static Lobby getInstance() {
|
||||
return JavaPlugin.getPlugin(Lobby.class);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
package de.softwarerat.lobby.MenuAPI;
|
||||
|
||||
public class TestMenu {
|
||||
|
||||
|
||||
}
|
||||
@@ -1,16 +1,23 @@
|
||||
package de.softwarerat.lobby.listener;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
|
||||
import com.google.common.io.ByteArrayDataOutput;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import com.softwarerat.API.builder.SpigotInventory;
|
||||
import com.softwarerat.API.builder.SpigotItem;
|
||||
|
||||
import de.softwarerat.lobby.IPrefix;
|
||||
import de.softwarerat.lobby.Lobby;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import de.softwarerat.lobby.scoreboard.LobbyScoreboard;
|
||||
|
||||
|
||||
public class JoinListener implements Listener {
|
||||
@@ -41,6 +48,9 @@ public class JoinListener implements Listener {
|
||||
playerInventory.setSlot(new SpigotItem(Material.GRASS_BLOCK).setName(ChatColor.BLUE.toString() + ChatColor.BOLD + "Bauserver Joinen " + ChatColor.RESET + ChatColor.GRAY + "(Click)").build(), 4, (click) -> {
|
||||
sendPlayer(player, "build-1");
|
||||
});
|
||||
|
||||
|
||||
new LobbyScoreboard(player);
|
||||
}
|
||||
|
||||
public void sendPlayer(Player player, String targetServer) {
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package de.softwarerat.lobby.scoreboard;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
|
||||
public enum EntryName {
|
||||
ENTRY_0(0, ChatColor.DARK_PURPLE.toString()),
|
||||
ENTRY_1(1, ChatColor.DARK_GRAY.toString()),
|
||||
ENTRY_2(2, ChatColor.BOLD.toString()),
|
||||
ENTRY_3(3, ChatColor.DARK_RED.toString()),
|
||||
ENTRY_4(4, ChatColor.GRAY.toString()),
|
||||
ENTRY_5(5, ChatColor.DARK_GREEN.toString()),
|
||||
ENTRY_6(6, ChatColor.LIGHT_PURPLE.toString()),
|
||||
ENTRY_7(7, ChatColor.UNDERLINE.toString());
|
||||
|
||||
private final int entry;
|
||||
private final String entryName;
|
||||
|
||||
EntryName(int entry, String entryName) {
|
||||
this.entry = entry;
|
||||
this.entryName = entryName;
|
||||
}
|
||||
|
||||
public int getEntry() {
|
||||
return entry;
|
||||
}
|
||||
|
||||
public String getEntryName() {
|
||||
return entryName;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package de.softwarerat.lobby.scoreboard;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import de.softwarerat.lobby.Lobby;
|
||||
|
||||
public class LobbyScoreboard extends ScoreboardBuilder {
|
||||
|
||||
private int socialId;
|
||||
|
||||
public LobbyScoreboard(Player player) {
|
||||
super(player, ChatColor.DARK_PURPLE.toString() + ChatColor.BOLD + " twitch.tv/DerBanko ");
|
||||
socialId = 0;
|
||||
|
||||
run();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createScoreboard() {
|
||||
setScore("test", 8);
|
||||
setScore(ChatColor.DARK_GRAY.toString(), 7);
|
||||
setScore(ChatColor.GRAY + "Dein Rang" + ChatColor.DARK_GRAY + ":", 6);
|
||||
|
||||
if(player.isOp()) {
|
||||
setScore(ChatColor.RED + "Operator", 5);
|
||||
} else {
|
||||
setScore(ChatColor.GRAY + "Spieler", 5);
|
||||
}
|
||||
|
||||
setScore(ChatColor.GRAY.toString(), 4);
|
||||
setScore(ChatColor.AQUA + "twitter.com/DerBanko", 3);
|
||||
setScore(ChatColor.RED.toString(), 2);
|
||||
setScore(ChatColor.RED + player.getAddress().getHostName(), 1);
|
||||
setScore(ChatColor.AQUA.toString(), 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
|
||||
}
|
||||
|
||||
private void run() {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
switch (socialId) {
|
||||
case 0:
|
||||
setScore(ChatColor.AQUA + "softwarerat.com", 3);
|
||||
break;
|
||||
case 1:
|
||||
setScore(ChatColor.DARK_PURPLE + "twitch.tv/zlavra", 3);
|
||||
break;
|
||||
case 2:
|
||||
setScore(ChatColor.DARK_RED + "@zlavra:matrix.org", 3);
|
||||
break;
|
||||
}
|
||||
|
||||
socialId++;
|
||||
|
||||
if(socialId >= 3) {
|
||||
socialId = 0;
|
||||
}
|
||||
|
||||
}
|
||||
}.runTaskTimer(Lobby.getInstance(), 20, 20);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
package de.softwarerat.lobby.scoreboard;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scoreboard.DisplaySlot;
|
||||
import org.bukkit.scoreboard.Objective;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
import org.bukkit.scoreboard.Team;
|
||||
|
||||
public abstract class ScoreboardBuilder {
|
||||
|
||||
protected final Scoreboard scoreboard;
|
||||
protected final Objective objective;
|
||||
|
||||
protected final Player player;
|
||||
|
||||
public ScoreboardBuilder(Player player, String displayName) {
|
||||
this.player = player;
|
||||
|
||||
if(player.getScoreboard().equals(Bukkit.getScoreboardManager().getMainScoreboard())) {
|
||||
player.setScoreboard(Bukkit.getScoreboardManager().getNewScoreboard());
|
||||
}
|
||||
|
||||
this.scoreboard = player.getScoreboard();
|
||||
|
||||
if(this.scoreboard.getObjective("display") != null) {
|
||||
this.scoreboard.getObjective("display").unregister();
|
||||
}
|
||||
|
||||
this.objective = this.scoreboard.registerNewObjective("display", "dummy", displayName);
|
||||
this.objective.setDisplaySlot(DisplaySlot.SIDEBAR);
|
||||
|
||||
createScoreboard();
|
||||
}
|
||||
|
||||
public abstract void createScoreboard();
|
||||
|
||||
public abstract void update();
|
||||
|
||||
public void setDisplayName(String displayName) {
|
||||
this.objective.setDisplayName(displayName);
|
||||
}
|
||||
|
||||
public void setScore(String content, int score) {
|
||||
Team team = getTeamByScore(score);
|
||||
|
||||
if(team == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
team.setPrefix(content);
|
||||
showScore(score);
|
||||
}
|
||||
|
||||
public void removeScore(int score) {
|
||||
hideScore(score);
|
||||
}
|
||||
|
||||
private EntryName getEntryNameByScore(int score) {
|
||||
for(EntryName name : EntryName.values()) {
|
||||
if(score == name.getEntry()) {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private Team getTeamByScore(int score) {
|
||||
EntryName name = getEntryNameByScore(score);
|
||||
|
||||
if(name == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Team team = scoreboard.getEntryTeam(name.getEntryName());
|
||||
|
||||
if(team != null) {
|
||||
return team;
|
||||
}
|
||||
|
||||
team = scoreboard.registerNewTeam(name.name());
|
||||
team.addEntry(name.getEntryName());
|
||||
return team;
|
||||
}
|
||||
|
||||
private void showScore(int score) {
|
||||
EntryName name = getEntryNameByScore(score);
|
||||
|
||||
if(name == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(objective.getScore(name.getEntryName()).isScoreSet()) {
|
||||
return;
|
||||
}
|
||||
|
||||
objective.getScore(name.getEntryName()).setScore(score);
|
||||
}
|
||||
|
||||
private void hideScore(int score) {
|
||||
EntryName name = getEntryNameByScore(score);
|
||||
|
||||
if(name == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(!objective.getScore(name.getEntryName()).isScoreSet()) {
|
||||
return;
|
||||
}
|
||||
|
||||
scoreboard.resetScores(name.getEntryName());
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
name: Lobby
|
||||
version: '1.0-SNAPSHOT'
|
||||
main: de.softwarerat.lobby.Lobby
|
||||
api-version: '1.20'
|
||||
api-version: '1.21'
|
||||
commands:
|
||||
fly:
|
||||
permission: lobby.fly
|
||||
|
||||
Reference in New Issue
Block a user