Skip to content

Commit

Permalink
Initial 2023 rewrite (#64)
Browse files Browse the repository at this point in the history
* yeet all

* Start new structure

* More stuff, add kotlin mui frontend

* Progress

* Kinda fix routing

* Reorganize

* Add sample data to server page

* I did not just spend 2 hours on a search bar and a button

* Fix margin -> flex gap

* Prepare for ktor

* Add state

* Step 1 & 2 of server create

* Start domain model and organizing submodules

* Add kontour and fix other stuff

* Progress

* Renamed some stuff and fix dependencies

* Upgradle to v8.1

* Work more on domain and commands

* Lots of refactoring and cleanup

* Clean up and fix publishing

* Improve API for creating GameApiBindings

* Fix dependency on infra

* Work on db subsystem

* Fix DbUserScope

* Kotlin 1.9

* Write db repositories

* Get velocity plugin working

* Clean up some AnvilApi stuff

* Get some commands working

* Start working on paper and sponge implementation

* AAAaa

* Get commands working on paper

* fix copy paste error

* Update for paper changes

* Simplify module structure

* Work on stuff

* Clean stuff up

* Massive cleanup, it compiles again

* Fix formatting and add Player.id

* Fix creation of AnvilApi and other compile errors

* Add minimessage

* Add registry stuff

* Add add method to registry

* Add KeyBuilder dsl

* Add Key.building PropertyDelegateProvider

* Add NamedKeyBuilder

* Fix some parameter names and add Registry.Scope

* Add PlayerService

* Fix printer name

* Update PlayerService.getAll

* Add LoggerScope

* Fix paper subdir and add lots of command stuff

* Add CommandExecutor.withLogging

* Add username and displayname to Player

* Add guava

* Add Server

* Use better method names in Key

* Rework registry system with better support for List and Map types

* Fix builder methods

* Add QOL inline methods for Key building

* Add broadcastAudience to Server

* Add latencyMs to Player

* Replace context receiver DI with koin

* Fix velocity api redundant code

* Fix some issues in AnvilVelocityPluginBootstrap

* CommandBuilder -> CommandFactory

* Add velocity ArgumentExtension

* Make these jvmstatic

* Work on Key serialization

* Fix weird kotlin bug and fix typetokens

* Small fixes, add prefix to EnvironmentRegistry

* Add MutableRepository.getOrCreate

* Rename getOrCreate -> put

* Update copyright headers

* Add anvil nexus instance and fix paper dependency

* Fix style and compilation error

* Update paper artifact version to -brigadier-
  • Loading branch information
alexstaeding committed Dec 9, 2023
1 parent 5384d41 commit ca1249f
Show file tree
Hide file tree
Showing 293 changed files with 3,992 additions and 19,645 deletions.
2 changes: 2 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
ij_kotlin_allow_trailing_comma_on_call_site = true
ij_kotlin_allow_trailing_comma = true

[{*.json,*.yml}]
indent_size = 2
9 changes: 4 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
### Intellij ###
.idea/
*.iws
/out/
out/
*.iml
.idea_modules/
atlassian-ide-plugin.xml
Expand Down Expand Up @@ -72,11 +72,10 @@ $RECYCLE.BIN/

### Gradle ###
.gradle
/build/
out/
# build/ already defined under netbeans
gradle-app.setting
!gradle-wrapper.jar
.gradletasknamecache

.git/

### Kotlin/JS ###
yarn.lock
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@

[CI](http://ci.anvilpowered.org) (Release candidate jars)

Anvil is a mineraft plugin api that aims to help developers create structured cross-platform plugins. Included is an entity framework and many services that abstract platform-specific actions so that they can be used in common code.
Anvil is a mineraft plugin api that aims to help developers create structured cross-platform plugins.
Included is an entity framework and many services that abstract platform-specific actions so that they can be used in common code.

Anvil is not only cross-platform in the context of plugin platforms, but also in the context of databases. Currently, MongoDB and Xodus are supported, with SQL on the way. With Anvil, you can write a central abstract set of logic that applies to several database types.
Anvil is not only cross-platform in the context of plugin platforms, but also in the context of databases.
Currently, MongoDB and Xodus are supported, with SQL on the way.
With Anvil, you can write a central abstract set of logic that applies to several database types.

## Quick start

Expand All @@ -17,4 +20,4 @@ repositories {
dependencies {
implementation 'org.anvilpowered:anvil-api:0.1'
}
```
```
90 changes: 0 additions & 90 deletions anvil-api/src/main/java/org/anvilpowered/anvil/api/Anvil.java

This file was deleted.

227 changes: 0 additions & 227 deletions anvil-api/src/main/java/org/anvilpowered/anvil/api/Environment.java

This file was deleted.

Loading

0 comments on commit ca1249f

Please sign in to comment.