commit de0eca4da78197f7cab31efd3eb4846a5d005a75 Author: Laura Date: Sun Aug 9 15:17:09 2026 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..af665ab --- /dev/null +++ b/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store diff --git a/gamedesign.md b/gamedesign.md new file mode 100644 index 0000000..65509b8 --- /dev/null +++ b/gamedesign.md @@ -0,0 +1,32 @@ +# Ghosthunt +Ghosthunt ist an den damaligen Uroria Modus Ghosthouse angelehnt welcher auch von Kenjih und seinen Zuschauern massiv gefeiert wurde. Er ist zudem wie damals eine Anlehnung an den Grundstein von Alle gegen einen das nur eine kleine gruppe von Spielern gegen die große Gruppe spielen, wie auch damals wird es 3-4 verschiedene Farben von Schlüsseln geben welche in einen Passeneden Block gesteckt gehören. + +Zudem wird es ein zusätzliches Map design plugin geben womit diese Schlüsselblöcke gesetzt & exportiert werden können für die jeweilige Map da ja jede Map verschiedenst gebaut sein werden kann. +## Game Design + +### Teams + +- Geisterjäger +- Geist + + +### Geisterjäger +Name ist auch das Programm. +als gegenstück zur Spielerzahl kann man unterschiedlich starke Waffen auswählen. bei einer Sehr großen Spielerzahl würd ich sowieso die Stärkste empfehlen weil die Geister vor den Jägern Flüchten werden. + +### Geist +Geister bekommen eine eingeschränkte sichtweite durch den Warden effekt und am Anfang einen Zufälligen Schlüssel mit einen von x vielen Farben bekommen. + +### ItemsAdder +da ich durch das custom Texturepack davon ausgehe das ihr(wie viele andere auch) Itemsadder verwendet, hab ich den Modus an dieses Plugin geschneidert. + + +### Eventsystem backend verknüpfung +Da ich selbst erstmal mit den neuen Funktionen von Spigot klarkommen muss bleibt das Einstellsystem vorerst ein Inventar. + +Weitere Backendanbindungen bleiben offen, daher wird aktuell über eine Berechtigung die Host Rolle verliehen. +(ich hab früher vieles mit Inventaren wie damals so üblich gearbeitet) + + +### Weitere Backends von mir +Da ich selbst während meiner Berufsschulzeit viel Programmiert hab(weil ich trotzdem lustigerweise die besten noten von mir selbst geschrieben habe) hab ich ein paar Backend helfersysteme welche dadurch ebenfalls zugänglich sind, wo es hauptsächlich um 1000x den selben code für 1000e minispiele geht, und ich es damals als wrote once use everywhere bedacht habe. \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..7710f4e --- /dev/null +++ b/pom.xml @@ -0,0 +1,64 @@ + + + 4.0.0 + + com.softwarerat.ghosthunt + ghosthunt + 1.0.0-SNAPSHOT + + ghosthunt + https://softwarerat.com + + + UTF-8 + 21 + 21 + + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + + gitea + http://heimserver.local:36107/api/packages/minecraft/maven + + + + + + + org.spigotmc + spigot-api + 1.21.11-R0.1-SNAPSHOT + provided + + + com.softwarerat + GameAPI + 1.6.7-SNAPSHOT + + + com.softwarerat + KitAPI + 1.3-SNAPSHOT + + + + + + ${project.basedir}/src/main/java + + + ${project.basedir}/src/main/resources + + plugin.yml + + + + + \ No newline at end of file diff --git a/src/main/java/com/softwarerat/ghosthunt/gameState/EndingState.java b/src/main/java/com/softwarerat/ghosthunt/gameState/EndingState.java new file mode 100644 index 0000000..2e06c8f --- /dev/null +++ b/src/main/java/com/softwarerat/ghosthunt/gameState/EndingState.java @@ -0,0 +1,20 @@ +package com.softwarerat.ghosthunt.gameState; + +import com.softwarerat.API.data.gameState.GameStateManager; +import com.softwarerat.API.data.gameState.IGameState; + +public class EndingState implements IGameState { + + @Override + public void Start(GameStateManager arg0) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'Start'"); + } + + @Override + public void Stop() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'Stop'"); + } + +} diff --git a/src/main/java/com/softwarerat/ghosthunt/gameState/IngameState.java b/src/main/java/com/softwarerat/ghosthunt/gameState/IngameState.java new file mode 100644 index 0000000..6ad9ca1 --- /dev/null +++ b/src/main/java/com/softwarerat/ghosthunt/gameState/IngameState.java @@ -0,0 +1,20 @@ +package com.softwarerat.ghosthunt.gameState; + +import com.softwarerat.API.data.gameState.GameStateManager; +import com.softwarerat.API.data.gameState.IGameState; + +public class IngameState implements IGameState { + + @Override + public void Start(GameStateManager arg0) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'Start'"); + } + + @Override + public void Stop() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'Stop'"); + } + +} diff --git a/src/main/java/com/softwarerat/ghosthunt/gameState/LobbyState.java b/src/main/java/com/softwarerat/ghosthunt/gameState/LobbyState.java new file mode 100644 index 0000000..a1295f5 --- /dev/null +++ b/src/main/java/com/softwarerat/ghosthunt/gameState/LobbyState.java @@ -0,0 +1,20 @@ +package com.softwarerat.ghosthunt.gameState; + +import com.softwarerat.API.data.gameState.GameStateManager; +import com.softwarerat.API.data.gameState.IGameState; + +public class LobbyState implements IGameState { + + @Override + public void Start(GameStateManager arg0) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'Start'"); + } + + @Override + public void Stop() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'Stop'"); + } + +} diff --git a/src/main/java/com/softwarerat/ghosthunt/ghosthunt.java b/src/main/java/com/softwarerat/ghosthunt/ghosthunt.java new file mode 100644 index 0000000..a04da7f --- /dev/null +++ b/src/main/java/com/softwarerat/ghosthunt/ghosthunt.java @@ -0,0 +1,43 @@ +package com.softwarerat.ghosthunt; + +import org.bukkit.plugin.java.JavaPlugin; + +import com.softwarerat.API.data.GameData; +import com.softwarerat.GameAPI; +import com.softwarerat.KitAPi.KitAPI; +import com.softwarerat.Main; + + +public class ghosthunt extends JavaPlugin { + // ik shitty name HAHAHAAHAH + Main main; + // Load GameAPI and GameData + KitAPI kitAPI; + GameAPI gameAPI; + GameData gameData; + + + @Override + public void onEnable() { + + // Initialize KitAPI, GameAPI and GameData + main = new Main(); + + main.enableAPI("yamlPath", "yamlFileName"); + kitAPI = main.getKitAPI(); + gameAPI = new GameAPI(); + gameData = gameAPI.getGameData(); + + + gameAPI.enableAPI(this); + + + getLogger().info("ghosthunt has been enabled!"); + } + + @Override + public void onDisable() { + getLogger().info("ghosthunt has been disabled!"); + } + +} \ No newline at end of file diff --git a/src/main/java/com/softwarerat/ghosthunt/listener/JoinListener.java b/src/main/java/com/softwarerat/ghosthunt/listener/JoinListener.java new file mode 100644 index 0000000..92bc50d --- /dev/null +++ b/src/main/java/com/softwarerat/ghosthunt/listener/JoinListener.java @@ -0,0 +1,5 @@ +package com.softwarerat.ghosthunt.listener; + +public class JoinListener { + +} diff --git a/src/main/java/com/softwarerat/ghosthunt/listener/QuitListener.java b/src/main/java/com/softwarerat/ghosthunt/listener/QuitListener.java new file mode 100644 index 0000000..c063757 --- /dev/null +++ b/src/main/java/com/softwarerat/ghosthunt/listener/QuitListener.java @@ -0,0 +1,5 @@ +package com.softwarerat.ghosthunt.listener; + +public class QuitListener { + +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..6b2bc91 --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,5 @@ +main: com.softwarerat.ghosthunt.ghosthunt +version: 1.0.0-SNAPSHOT +name: ghosthunt +author: Laura Fraushcer +api-version: 1.21 \ No newline at end of file