Skip to content

Commit

Permalink
release: tags 2.0
Browse files Browse the repository at this point in the history
* spigot yawn

* Remove PAPI and use Adventure chat event

* chore: update dependencies / move to h2

* feature: update to modern MiniMessage

* fix: shade h2

* fix: use h2 connector properly

* not sure

* cleanup and some work on menus

* chore:build changes

* fix: i love gradle ^__^

* feature: intial work on gui

* feature: more work on gui

* feature: more work on menu

* chore: reformat project

* chore: more reformatting

* feature: work on menu

* feature: download dependencies

* move to gremlin :)

* improve gremlin usage (#11)

* add excludes and fix repo

* relocate gremlin

* more excludes

* rename bukkit module to paper and use shared ci

* rename workflow file

* work on tags menu, fix some import ordering

* cleanup gremlin usage

* chore: update flyway and papi

* fix: update main file in paper-plugin.yml

* fix: install paper interface listeners earlier

* feature: minor menu improvements

* fix: close example tags styling

* fix: return correct status in ActionService#select

* fix: close all tags inserted in messages

* bump version

---------

Co-authored-by: broccoli <[email protected]>
Co-authored-by: Jason Penilla <[email protected]>
  • Loading branch information
3 people committed Oct 31, 2023
1 parent fb51096 commit 8ac49a6
Show file tree
Hide file tree
Showing 84 changed files with 1,149 additions and 821 deletions.
375 changes: 222 additions & 153 deletions .checkstyle/checkstyle.xml

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ indent_style = space
insert_final_newline = true
max_line_length = 130
tab_width = 4
ij_continuation_indent_size = 8
ij_continuation_indent_size = 4
ij_formatter_off_tag = @formatter:off
ij_formatter_on_tag = @formatter:on
ij_formatter_tags_enabled = false
Expand Down Expand Up @@ -137,7 +137,7 @@ ij_java_for_statement_wrap = off
ij_java_generate_final_locals = true
ij_java_generate_final_parameters = true
ij_java_if_brace_force = always
ij_java_imports_layout = *, |, javax.**, java.**, |, $*
ij_java_imports_layout = *, |, $*
ij_java_indent_case_from_switch = true
ij_java_insert_inner_class_imports = false
ij_java_insert_override_annotation = true
Expand Down
16 changes: 16 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: "build"

on:
push:
branches: [ "**" ]
tags-ignore: [ "**" ]
pull_request:
release:
types: [ released ]

jobs:
call-build:
uses: "broccolai/actions/.github/workflows/shared-ci.yml@master"
secrets: inherit
with:
artifacts-path: 'paper/build/libs/tags-paper.jar'
30 changes: 0 additions & 30 deletions .github/workflows/gradle.yml

This file was deleted.

44 changes: 0 additions & 44 deletions .github/workflows/publish.yml

This file was deleted.

3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -155,5 +155,4 @@ gradle-app.setting
# Custom Ignores
build.sh
.env

bukkit/run
paper/run
1 change: 1 addition & 0 deletions api/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ dependencies {
api(libs.guice.core)
api(libs.minimessage)
api(libs.event.api)
api(libs.configurate)
}
2 changes: 1 addition & 1 deletion api/src/main/java/broccolai/tags/api/TagsApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public static void register(final @NonNull Injector injector) {
INJECTOR = injector;
}

public static <T extends Service> T getService(final @NonNull Class<T> clazz) {
public static <T extends Service> T service(final @NonNull Class<T> clazz) {
return INJECTOR.getInstance(clazz);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package broccolai.tags.api.events.event;

import broccolai.tags.api.events.Event;
import broccolai.tags.api.model.tag.Tag;
import broccolai.tags.api.model.tag.ConstructedTag;
import broccolai.tags.api.model.user.TagsUser;
import net.kyori.event.Cancellable;
import org.checkerframework.checker.nullness.qual.NonNull;
Expand All @@ -10,9 +10,9 @@
public final class TagChangeEvent extends Cancellable.Impl implements Event {

private final @NonNull TagsUser user;
private final @NonNull Tag tag;
private final @NonNull ConstructedTag tag;

public TagChangeEvent(final @NonNull TagsUser user, final @NonNull Tag tag) {
public TagChangeEvent(final @NonNull TagsUser user, final @NonNull ConstructedTag tag) {
this.user = user;
this.tag = tag;
}
Expand All @@ -23,7 +23,7 @@ public TagChangeEvent(final @NonNull TagsUser user, final @NonNull Tag tag) {
}

@Pure
public @NonNull Tag tag() {
public @NonNull ConstructedTag tag() {
return this.tag;
}

Expand Down
21 changes: 21 additions & 0 deletions api/src/main/java/broccolai/tags/api/model/tag/ConstructedTag.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package broccolai.tags.api.model.tag;

import broccolai.tags.api.model.Permissible;
import net.kyori.adventure.text.Component;
import org.checkerframework.checker.nullness.qual.NonNull;

public record ConstructedTag(
int id,
@NonNull String name,
boolean secret,
@NonNull Component component,
@NonNull String reason,
@NonNull TagDisplayInformation displayInformation
) implements Permissible {

@Override
public @NonNull String permission() {
return "tags.tag." + this.id();
}

}
54 changes: 0 additions & 54 deletions api/src/main/java/broccolai/tags/api/model/tag/Tag.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package broccolai.tags.api.model.tag;

import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.spongepowered.configurate.objectmapping.ConfigSerializable;

//todo(josh): split tag into an interface and hide this in the implementation
// and remove configurate as a dependency in for api project
@ConfigSerializable
public record TagDisplayInformation(
@NonNull String material,
@Nullable Integer customModelData
) {
}
9 changes: 4 additions & 5 deletions api/src/main/java/broccolai/tags/api/model/user/TagsUser.java
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
package broccolai.tags.api.model.user;

import broccolai.tags.api.model.tag.Tag;
import broccolai.tags.api.model.tag.ConstructedTag;
import broccolai.tags.api.model.user.impl.ConsoleTagsUser;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;

import java.util.Optional;
import java.util.UUID;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;

public interface TagsUser {

TagsUser CONSOLE = new ConsoleTagsUser();

@NonNull UUID uuid();

void setCurrent(@Nullable Tag tag);
void current(@Nullable ConstructedTag tag);

@NonNull Optional<Integer> current();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package broccolai.tags.api.model.user.impl;

import broccolai.tags.api.model.tag.Tag;
import broccolai.tags.api.model.tag.ConstructedTag;
import broccolai.tags.api.model.user.TagsUser;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;

import java.util.Optional;
import java.util.UUID;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;

public final class ConsoleTagsUser implements TagsUser {

Expand All @@ -20,7 +19,7 @@ public final class ConsoleTagsUser implements TagsUser {
}

@Override
public void setCurrent(final @Nullable Tag tag) {
public void current(final @Nullable ConstructedTag tag) {
this.currentTag = tag != null ? tag.id() : null;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package broccolai.tags.api.model.user.impl;

import broccolai.tags.api.model.tag.Tag;
import broccolai.tags.api.model.tag.ConstructedTag;
import broccolai.tags.api.model.user.TagsUser;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;

import java.util.Optional;
import java.util.UUID;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;

public final class PlayerTagsUser implements TagsUser {

Expand All @@ -27,7 +26,7 @@ public PlayerTagsUser(
}

@Override
public void setCurrent(final @Nullable Tag tag) {
public void current(final @Nullable ConstructedTag tag) {
this.current = tag != null ? tag.id() : null;
}

Expand Down
13 changes: 13 additions & 0 deletions api/src/main/java/broccolai/tags/api/service/ActionService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package broccolai.tags.api.service;

import broccolai.tags.api.model.tag.ConstructedTag;
import broccolai.tags.api.model.user.TagsUser;
import org.checkerframework.checker.nullness.qual.NonNull;

public interface ActionService {

boolean select(@NonNull TagsUser user, @NonNull ConstructedTag tag);

void remove(@NonNull TagsUser user);

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@

import broccolai.tags.api.model.Service;
import broccolai.tags.api.model.user.TagsUser;
import org.checkerframework.checker.nullness.qual.NonNull;

import java.util.Optional;
import java.util.UUID;
import org.checkerframework.checker.nullness.qual.NonNull;

public interface DataService extends Service {

Expand Down
19 changes: 9 additions & 10 deletions api/src/main/java/broccolai/tags/api/service/MessageService.java
Original file line number Diff line number Diff line change
@@ -1,31 +1,30 @@
package broccolai.tags.api.service;

import broccolai.tags.api.model.Service;
import broccolai.tags.api.model.tag.Tag;
import broccolai.tags.api.model.tag.ConstructedTag;
import broccolai.tags.api.model.user.TagsUser;
import java.util.Collection;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
import org.checkerframework.checker.nullness.qual.NonNull;

import java.util.Collection;

public interface MessageService extends Service {

TagResolver prefix();

Component commandSelect(@NonNull Tag tag);
Component commandSelect(@NonNull ConstructedTag tag);

Component commandList(@NonNull Collection<Tag> tags);
Component commandList(@NonNull Collection<ConstructedTag> tags);

Component commandInfo(@NonNull Tag tag);
Component commandInfo(@NonNull ConstructedTag tag);

Component commandAdminGive(@NonNull Tag tag, @NonNull TagsUser target);
Component commandAdminGive(@NonNull ConstructedTag tag, @NonNull TagsUser target);

Component commandAdminRemove(@NonNull Tag tag, @NonNull TagsUser target);
Component commandAdminRemove(@NonNull ConstructedTag tag, @NonNull TagsUser target);

Component commandAdminList(@NonNull Collection<Tag> tags);
Component commandAdminList(@NonNull Collection<ConstructedTag> tags);

Component commandAdminSet(@NonNull Tag tag, @NonNull TagsUser target);
Component commandAdminSet(@NonNull ConstructedTag tag, @NonNull TagsUser target);

Component commandErrorUserNotFound(@NonNull String input);

Expand Down
Loading

0 comments on commit 8ac49a6

Please sign in to comment.