-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 0b4398b
Showing
9 changed files
with
730 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
# User-specific stuff | ||
.idea/ | ||
|
||
*.iml | ||
*.ipr | ||
*.iws | ||
|
||
# IntelliJ | ||
out/ | ||
|
||
# Compiled class file | ||
*.class | ||
|
||
# Log file | ||
*.log | ||
|
||
# BlueJ files | ||
*.ctxt | ||
|
||
# Package Files # | ||
*.jar | ||
*.war | ||
*.nar | ||
*.ear | ||
*.zip | ||
*.tar.gz | ||
*.rar | ||
|
||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml | ||
hs_err_pid* | ||
|
||
*~ | ||
|
||
# temporary files which can be created if a process still has a handle open of a deleted file | ||
.fuse_hidden* | ||
|
||
# KDE directory preferences | ||
.directory | ||
|
||
# Linux trash folder which might appear on any partition or disk | ||
.Trash-* | ||
|
||
# .nfs files are created when an open file is removed but is still being accessed | ||
.nfs* | ||
|
||
# General | ||
.DS_Store | ||
.AppleDouble | ||
.LSOverride | ||
|
||
# Icon must end with two \r | ||
Icon | ||
|
||
# Thumbnails | ||
._* | ||
|
||
# Files that might appear in the root of a volume | ||
.DocumentRevisions-V100 | ||
.fseventsd | ||
.Spotlight-V100 | ||
.TemporaryItems | ||
.Trashes | ||
.VolumeIcon.icns | ||
.com.apple.timemachine.donotpresent | ||
|
||
# Directories potentially created on remote AFP share | ||
.AppleDB | ||
.AppleDesktop | ||
Network Trash Folder | ||
Temporary Items | ||
.apdisk | ||
|
||
# Windows thumbnail cache files | ||
Thumbs.db | ||
Thumbs.db:encryptable | ||
ehthumbs.db | ||
ehthumbs_vista.db | ||
|
||
# Dump file | ||
*.stackdump | ||
|
||
# Folder config file | ||
[Dd]esktop.ini | ||
|
||
# Recycle Bin used on file shares | ||
$RECYCLE.BIN/ | ||
|
||
# Windows Installer files | ||
*.cab | ||
*.msi | ||
*.msix | ||
*.msm | ||
*.msp | ||
|
||
# Windows shortcuts | ||
*.lnk | ||
|
||
target/ | ||
|
||
pom.xml.tag | ||
pom.xml.releaseBackup | ||
pom.xml.versionsBackup | ||
pom.xml.next | ||
|
||
release.properties | ||
dependency-reduced-pom.xml | ||
buildNumber.properties | ||
.mvn/timing.properties | ||
.mvn/wrapper/maven-wrapper.jar | ||
.flattened-pom.xml | ||
|
||
# Common working directory | ||
run/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
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>com.github.lapis0875</groupId> | ||
<artifactId>simpletsethome</artifactId> | ||
<version>1.5.1</version> | ||
<packaging>jar</packaging> | ||
|
||
<name>SimpleHome</name> | ||
|
||
<description>Simple set home utility.</description> | ||
<properties> | ||
<java.version>1.8</java.version> | ||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
</properties> | ||
<url>https://lapis0875.github.io</url> | ||
|
||
<build> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-compiler-plugin</artifactId> | ||
<version>3.8.1</version> | ||
<configuration> | ||
<source>${java.version}</source> | ||
<target>${java.version}</target> | ||
</configuration> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-shade-plugin</artifactId> | ||
<version>3.2.4</version> | ||
<executions> | ||
<execution> | ||
<phase>package</phase> | ||
<goals> | ||
<goal>shade</goal> | ||
</goals> | ||
<configuration> | ||
<createDependencyReducedPom>false</createDependencyReducedPom> | ||
</configuration> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
</plugins> | ||
<resources> | ||
<resource> | ||
<directory>src/main/resources</directory> | ||
<filtering>true</filtering> | ||
</resource> | ||
</resources> | ||
</build> | ||
|
||
<repositories> | ||
<repository> | ||
<id>papermc-repo</id> | ||
<url>https://papermc.io/repo/repository/maven-public/</url> | ||
</repository> | ||
<repository> | ||
<id>sonatype</id> | ||
<url>https://oss.sonatype.org/content/groups/public/</url> | ||
</repository> | ||
</repositories> | ||
|
||
<dependencies> | ||
<dependency> | ||
<groupId>io.papermc.paper</groupId> | ||
<artifactId>paper-api</artifactId> | ||
<version>1.17.1-R0.1-SNAPSHOT</version> | ||
<scope>provided</scope> | ||
</dependency> | ||
</dependencies> | ||
</project> |
16 changes: 16 additions & 0 deletions
16
src/main/java/com/github/lapis0875/simplesethome/Constants.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
package com.github.lapis0875.simplesethome; | ||
|
||
public class Constants { | ||
// Plugin Info | ||
public static final String PLUGIN_NAME = "SimpleHome"; | ||
// Commands | ||
public static final String WAYPOINT_CMD = "waypoint"; | ||
public static final String DEATH_LOCATION_CMD = "deathlocation"; | ||
public static final String REGISTER_CMD = "register"; | ||
public static final String TELEPORT_CMD = "teleport"; | ||
public static final String SHOW_CMD = "show"; | ||
public static final String CLEAR_CMD = "clear"; | ||
// NBT Tag Keys | ||
public static final String DEATH_LOCATION = "deathlocation"; | ||
public static final String WAYPOINT = "waypoint"; | ||
} |
25 changes: 25 additions & 0 deletions
25
src/main/java/com/github/lapis0875/simplesethome/SimpleHome.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
package com.github.lapis0875.simplesethome; | ||
|
||
import com.github.lapis0875.simplesethome.commands.SetHomeCommandsExecutor; | ||
import com.github.lapis0875.simplesethome.listeners.PlayerEventListener; | ||
import org.bukkit.plugin.java.JavaPlugin; | ||
|
||
public final class SimpleHome extends JavaPlugin { | ||
|
||
public static SimpleHome instance() { | ||
return SimpleHome.getPlugin(SimpleHome.class); | ||
} | ||
@Override | ||
public void onEnable() { | ||
// Plugin startup logic | ||
getCommand(Constants.WAYPOINT_CMD).setExecutor(new SetHomeCommandsExecutor()); | ||
getServer().getPluginManager().registerEvents(new PlayerEventListener(), this); | ||
getSLF4JLogger().info("Loaded."); | ||
} | ||
|
||
@Override | ||
public void onDisable() { | ||
// Plugin shutdown logic | ||
getSLF4JLogger().info("Unloaded."); | ||
} | ||
} |
51 changes: 51 additions & 0 deletions
51
src/main/java/com/github/lapis0875/simplesethome/Waypoint.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
package com.github.lapis0875.simplesethome; | ||
|
||
import org.bukkit.Bukkit; | ||
import org.bukkit.Location; | ||
import org.bukkit.NamespacedKey; | ||
import org.bukkit.World; | ||
import org.bukkit.persistence.PersistentDataContainer; | ||
import org.bukkit.persistence.PersistentDataType; | ||
|
||
import java.io.Serializable; | ||
|
||
public class Waypoint implements Serializable { | ||
public final String name; | ||
public final double x; | ||
public final double y; | ||
public final double z; | ||
public final String worldName; | ||
|
||
public Waypoint(String name, Location location) { | ||
this.name = name; | ||
this.worldName = location.getWorld().getName(); | ||
this.x = location.getX(); | ||
this.y = location.getY(); | ||
this.z = location.getZ(); | ||
} | ||
|
||
public Waypoint(String name, String worldName, double x, double y, double z) { | ||
this.name = name; | ||
this.worldName = worldName; | ||
this.x = x; | ||
this.y = y; | ||
this.z = z; | ||
} | ||
|
||
public World getWorld() { | ||
return Bukkit.getWorld(this.worldName); | ||
} | ||
|
||
public PersistentDataContainer toNBTTag(PersistentDataContainer tag) { | ||
tag.set(new NamespacedKey(SimpleHome.getPlugin(SimpleHome.class), "x"), PersistentDataType.DOUBLE, this.x); | ||
tag.set(new NamespacedKey(SimpleHome.getPlugin(SimpleHome.class), "y"), PersistentDataType.DOUBLE, this.y); | ||
tag.set(new NamespacedKey(SimpleHome.getPlugin(SimpleHome.class), "z"), PersistentDataType.DOUBLE, this.z); | ||
tag.set(new NamespacedKey(SimpleHome.getPlugin(SimpleHome.class), "name"), PersistentDataType.STRING, this.name); | ||
tag.set(new NamespacedKey(SimpleHome.getPlugin(SimpleHome.class), "worldName"), PersistentDataType.STRING, this.worldName); | ||
return tag; | ||
} | ||
|
||
public NamespacedKey getNamespacedKey() { | ||
return new NamespacedKey(SimpleHome.instance(), this.name); | ||
} | ||
} |
59 changes: 59 additions & 0 deletions
59
src/main/java/com/github/lapis0875/simplesethome/WaypointDataType.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
package com.github.lapis0875.simplesethome; | ||
|
||
import org.bukkit.NamespacedKey; | ||
import org.bukkit.persistence.PersistentDataAdapterContext; | ||
import org.bukkit.persistence.PersistentDataContainer; | ||
import org.bukkit.persistence.PersistentDataType; | ||
import org.jetbrains.annotations.NotNull; | ||
|
||
public class WaypointDataType implements PersistentDataType<PersistentDataContainer, Waypoint> { | ||
/** | ||
* Returns the primitive data type of this tag. | ||
* | ||
* @return the class | ||
*/ | ||
@Override | ||
public @NotNull Class<PersistentDataContainer> getPrimitiveType() { | ||
return PersistentDataContainer.class; | ||
} | ||
|
||
/** | ||
* Returns the complex object type the primitive value resembles. | ||
* | ||
* @return the class type | ||
*/ | ||
@Override | ||
public @NotNull Class<Waypoint> getComplexType() { | ||
return Waypoint.class; | ||
} | ||
|
||
/** | ||
* Returns the primitive data that resembles the complex object passed to | ||
* this method. | ||
* | ||
* @param complex the complex object instance | ||
* @param context the context this operation is running in | ||
* @return the primitive value | ||
*/ | ||
public @NotNull PersistentDataContainer toPrimitive(@NotNull Waypoint complex, @NotNull PersistentDataAdapterContext context) { | ||
return complex.toNBTTag(context.newPersistentDataContainer()); | ||
} | ||
|
||
/** | ||
* Creates a complex object based of the passed primitive value | ||
* | ||
* @param primitive the primitive value | ||
* @param context the context this operation is running in | ||
* @return the complex object instance | ||
*/ | ||
public @NotNull Waypoint fromPrimitive(@NotNull PersistentDataContainer primitive, @NotNull PersistentDataAdapterContext context) { | ||
return new Waypoint( | ||
primitive.get(new NamespacedKey(SimpleHome.instance(), "name"), PersistentDataType.STRING), | ||
primitive.get(new NamespacedKey(SimpleHome.instance(), "worldName"), PersistentDataType.STRING), | ||
primitive.get(new NamespacedKey(SimpleHome.instance(), "x"), PersistentDataType.DOUBLE), | ||
primitive.get(new NamespacedKey(SimpleHome.instance(), "y"), PersistentDataType.DOUBLE), | ||
primitive.get(new NamespacedKey(SimpleHome.instance(), "z"), PersistentDataType.DOUBLE) | ||
); | ||
} | ||
} | ||
|
Oops, something went wrong.