Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
TehBrian committed May 29, 2020
0 parents commit dfbf944
Show file tree
Hide file tree
Showing 17 changed files with 672 additions and 0 deletions.
74 changes: 74 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# Generated files
.idea/**/contentModel.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
.idea/artifacts
.idea/compiler.xml
.idea/jarRepositories.xml
.idea/modules.xml
.idea/*.iml
.idea/modules
*.iml
*.ipr

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser

# Maven output
target/
7 changes: 7 additions & 0 deletions .idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2020 TehBrian

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
50 changes: 50 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# YetAnotherSignEditor
Easily edit signs with support for colors.

## .. Another one?
Yeah yeah, I know. We didn't need another sign editing plugin floating around.
I have good reason for creating this one, though! All the available sign editing
plugins were either outdated, ugly, or they didn't work how I wanted them to.
This plugin is not outdated, not ugly, and it works just how I want it to!

## What makes this plugin better?
Try it out for yourself and see if you like it, but I'll list off the reasons
that I would personally use this plugin over others:

* The interface is clean, intuitive, and easy on the eyes.
* Each player can individually toggle plugin features on and off.
* Sign coloring and sign editing can be toggled separately. Want to edit signs
but need to use "&5" without it being turned into a color? Go ahead.
* Editing a sign reverts text colors back into color codes for easy editing.
* **All** plugin messages are easily configurable in the config.
* There are separate permissions for sign coloring and sign editing.

Above all, though, it just feels good to use! No bloat, no extra features. Just
install the plugin and you're good to go!

## Cool! How do I get it?
First and foremost, you'll need to use Paper. Sorry to anyone who uses Spigot,
but Paper has an API feature that this plugin requires in order to work. If
there's enough demand, I'll see about porting it to Spigot. ~~or boycotting
them till they add that freakin API method~~

Once you're using Paper, just drag and drop the plugin jar into your plugins
folder! The jar can be found [here](https://github.com/ItsTehBrian/YetAnotherSignEditor/releases).

If you'd like to build the jar yourself, it's quite easy. I'm a bit too lazy
to write it up again, so just follow the tutorial from my other plugin's
README, found [here](https://github.com/ItsTehBrian/BuildersUtilities#how-do-i-build-it-myself).
You don't need BuildTools for this plugin, though, so just start at step 3.

## What are the permissions and commands?
You can do /yase in-game to find a list of all commands. The permissions
can be found [here](https://github.com/ItsTehBrian/YetAnotherSignEditor/blob/master/src/main/resources/plugin.yml).

## Screenshots?
![Help Menu](https://raw.githubusercontent.com/ItsTehBrian/YetAnotherSignEditor/master/images/help-menu.png)
![Commands](https://raw.githubusercontent.com/ItsTehBrian/YetAnotherSignEditor/master/images/commands.png)

## Can I help at all?
Sure! If you find an issue or have a suggestion, feel free to file an issue. If
you prefer to contribute code, go ahead and submit a pull-request! Make sure to
follow the code style.
Binary file added images/commands.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/help-menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
100 changes: 100 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>xyz.tehbrian</groupId>
<artifactId>yetanothersigneditor</artifactId>
<!-- Version is used in plugin.yml -->
<version>1.0.0</version>
<packaging>jar</packaging>

<!-- Name, Description, and URL are used in plugin.yml -->
<name>YetAnotherSignEditor</name>
<description>Easily edit signs with support for colors.</description>
<url>https://github.com/ItsTehBrian/YetAnotherSignEditor</url>

<licenses>
<license>
<name>MIT License</name>
<url>https://opensource.org/licenses/MIT</url>
<comments>Copyright (c) 2020 TehBrian

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</comments>
</license>
</licenses>

<developers>
<developer>
<name>TehBrian</name>
<url>https://tehbrian.xyz</url>
</developer>
</developers>

<properties>
<!-- Author, and MainClass are used in plugin.yml -->
<author>TehBrian</author>
<mainClass>xyz.tehbrian.yetanothersigneditor.YetAnotherSignEditor</mainClass>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
</properties>

<repositories>
<repository>
<id>papermc</id>
<url>https://papermc.io/repo/repository/maven-public/</url>
</repository>
</repositories>

<dependencies>
<dependency>
<groupId>com.destroystokyo.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.15.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>

<build>
<finalName>${project.name}-${project.version}</finalName>
<sourceDirectory>src/main/java</sourceDirectory>
<defaultGoal>clean install</defaultGoal>
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- Filtering replaces things like ${version} to the version in the POM.
We use that for plugin.yml to reduce redundancy, having only to update the POM. -->
<filtering>true</filtering>
<includes>
<include>plugin.yml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<!-- But filtering could mess up other things, so disable it for everything else. -->
<filtering>false</filtering>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package xyz.tehbrian.yetanothersigneditor;

import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import xyz.tehbrian.yetanothersigneditor.commands.YaseCommand;
import xyz.tehbrian.yetanothersigneditor.listeners.SignListener;
import xyz.tehbrian.yetanothersigneditor.player.PlayerDataManager;

public final class YetAnotherSignEditor extends JavaPlugin {

private static YetAnotherSignEditor instance;

private PlayerDataManager playerDataManager;

public static YetAnotherSignEditor getInstance() {
return instance;
}

@Override
public void onEnable() {
instance = this;

setupConfig();
setupEvents();
setupCommands();
}

private void setupConfig() {
saveDefaultConfig();
}

private void setupEvents() {
PluginManager pluginManager = getServer().getPluginManager();

pluginManager.registerEvents(new SignListener(this), this);
}

private void setupCommands() {
YaseCommand yaseCommand = new YaseCommand(this);
getCommand("yase").setExecutor(yaseCommand);
getCommand("yase").setTabCompleter(yaseCommand);
}

public PlayerDataManager getPlayerDataManager() {
if (playerDataManager == null) {
playerDataManager = new PlayerDataManager();
}
return playerDataManager;
}
}
Loading

0 comments on commit dfbf944

Please sign in to comment.