satoshinm / WebSandboxMC

Bukkit plugin providing a web-based interface with an interactive WebGL 3D preview or glimpse of your server 🕷⏳📦 ⛺
https://www.spigotmc.org/resources/websandboxmc.39415/
MIT License
19 stars 5 forks source link

Add the beginnings of Sponge API support, for GH-51 #65

Closed satoshinm closed 7 years ago

satoshinm commented 7 years ago

Allow running as a plugin for Sponge: https://www.spongepowered.org

satoshinm commented 7 years ago

Added the repo and dep following https://forums.spongepowered.org/t/how-to-setup-maven-with-sponge/4423/2 but it fails to build:

WebSandboxMC $ mvn package
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building WebSandboxMC 1.6.0
[INFO] ------------------------------------------------------------------------
Downloading: https://repo.spongepowered.org/Sponge/maven/org/spigotmc/spigot-api/1.11-R0.1-SNAPSHOT/maven-metadata.xml
[WARNING] Could not transfer metadata org.spigotmc:spigot-api:1.11-R0.1-SNAPSHOT/maven-metadata.xml from/to sponge-repo (https://repo.spongepowered.org/Sponge/maven/): Failed to transfer file: https://repo.spongepowered.org/Sponge/maven/org/spigotmc/spigot-api/1.11-R0.1-SNAPSHOT/maven-metadata.xml. Return code is: 308 , ReasonPhrase:Permanent Redirect.
[WARNING] Failure to transfer org.spigotmc:spigot-api:1.11-R0.1-SNAPSHOT/maven-metadata.xml from https://repo.spongepowered.org/Sponge/maven/ was cached in the local repository, resolution will not be reattempted until the update interval of sponge-repo has elapsed or updates are forced. Original error: Could not transfer metadata org.spigotmc:spigot-api:1.11-R0.1-SNAPSHOT/maven-metadata.xml from/to sponge-repo (https://repo.spongepowered.org/Sponge/maven/): Failed to transfer file: https://repo.spongepowered.org/Sponge/maven/org/spigotmc/spigot-api/1.11-R0.1-SNAPSHOT/maven-metadata.xml. Return code is: 308 , ReasonPhrase:Permanent Redirect.
Downloading: https://repo.spongepowered.org/Sponge/maven/net/md-5/bungeecord-chat/1.10-SNAPSHOT/maven-metadata.xml
[WARNING] Could not transfer metadata net.md-5:bungeecord-chat:1.10-SNAPSHOT/maven-metadata.xml from/to sponge-repo (https://repo.spongepowered.org/Sponge/maven/): Failed to transfer file: https://repo.spongepowered.org/Sponge/maven/net/md-5/bungeecord-chat/1.10-SNAPSHOT/maven-metadata.xml. Return code is: 308 , ReasonPhrase:Permanent Redirect.
[WARNING] Failure to transfer net.md-5:bungeecord-chat:1.10-SNAPSHOT/maven-metadata.xml from https://repo.spongepowered.org/Sponge/maven/ was cached in the local repository, resolution will not be reattempted until the update interval of sponge-repo has elapsed or updates are forced. Original error: Could not transfer metadata net.md-5:bungeecord-chat:1.10-SNAPSHOT/maven-metadata.xml from/to sponge-repo (https://repo.spongepowered.org/Sponge/maven/): Failed to transfer file: https://repo.spongepowered.org/Sponge/maven/net/md-5/bungeecord-chat/1.10-SNAPSHOT/maven-metadata.xml. Return code is: 308 , ReasonPhrase:Permanent Redirect.
Downloading: https://repo.spongepowered.org/Sponge/maven/net/md-5/bungeecord-parent/1.10-SNAPSHOT/maven-metadata.xml
[WARNING] Could not transfer metadata net.md-5:bungeecord-parent:1.10-SNAPSHOT/maven-metadata.xml from/to sponge-repo (https://repo.spongepowered.org/Sponge/maven/): Failed to transfer file: https://repo.spongepowered.org/Sponge/maven/net/md-5/bungeecord-parent/1.10-SNAPSHOT/maven-metadata.xml. Return code is: 308 , ReasonPhrase:Permanent Redirect.
Downloading: https://repo.spongepowered.org/Sponge/maven/org/spongepowered/spongeapi/6.0.0/spongeapi-6.0.0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.881 s
[INFO] Finished at: 2017-05-20T22:37:22-07:00
[INFO] Final Memory: 11M/258M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project WebSandboxMC: Could not resolve dependencies for project io.github.satoshinm:WebSandboxMC:jar:1.6.0: Failed to collect dependencies at org.spongepowered:spongeapi:jar:6.0.0: Failed to read artifact descriptor for org.spongepowered:spongeapi:jar:6.0.0: Could not transfer artifact org.spongepowered:spongeapi:pom:6.0.0 from/to sponge-repo (https://repo.spongepowered.org/Sponge/maven/): Failed to transfer file: https://repo.spongepowered.org/Sponge/maven/org/spongepowered/spongeapi/6.0.0/spongeapi-6.0.0.pom. Return code is: 308 , ReasonPhrase:Permanent Redirect. -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

I can download https://repo.spongepowered.org/Sponge/maven/org/spongepowered/spongeapi/6.0.0/spongeapi-6.0.0.pom from my browser so not sure why Maven cannot.

satoshinm commented 7 years ago
WebSandboxMC/sponge/WebSandboxSpongePlugin.java:[4,40] package com.sun.javafx.beans.annotations does not exist
satoshinm commented 7 years ago

Current status: the Sponge plugin is able to load, load/save config, and serve the web socket / http server. But the bridges and listeners are Bukkit-specific, not yet ported / factored out. Notes on Bukkit-specific deps:

where Bukkit Sponge
BlockBridge Material, for translation (config as strings, but looked up as Material) BlockType
BlockBridge BlockState for metadata wool and sign BlockState
BlockBridge Sign for text DataManipulator
PlayersBridge Location for coordinates Location
PlayersBridge, WebPlayerBridge Entity for sheep Entity
PlayersBridge Player for locating other players Player
satoshinm commented 7 years ago

Since there are a lot of changes/refactoring, although it isn't complete (only runs the ws/http server, no bridging to the world), going to merge this to master to avoid divergence.