Skip to content

Commit

Permalink
If forgot to push LOL!
Browse files Browse the repository at this point in the history
  • Loading branch information
GatitoUwU committed Aug 20, 2020
1 parent 79eae6d commit bd8f0e5
Show file tree
Hide file tree
Showing 20 changed files with 660 additions and 0 deletions.
111 changes: 111 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# 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

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/
80 changes: 80 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
<?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>me.gatogamer</groupId>
<artifactId>Collector</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>

<name>Collector</name>

<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<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>spigotmc-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
<repository>
<id>sonatype</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
</repository>
</repositories>

<dependencies>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.8.8-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
69 changes: 69 additions & 0 deletions src/main/java/me/gatogamer/collector/Collector.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package me.gatogamer.collector;

import lombok.Getter;
import lombok.Setter;
import me.gatogamer.collector.collectors.CollectorManager;
import me.gatogamer.collector.config.ConfigCreator;
import me.gatogamer.collector.listeners.Listeners;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;

import java.io.File;

/**
* This code has been created by
* gatogamer#1111 A.K.A gatogamer.
* If you want to use my code, please
* don't remove this message, and give
* me the credits. Arigato! n.n
*/

@Getter
@Setter
public final class Collector extends JavaPlugin {

private static Collector instance;
private FileConfiguration data;
private CollectorManager collectorManager;

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

ConfigCreator.get().setup(this, "config");
ConfigCreator.get().setup(this, "data");

data = getConfigOrDie("data");

setCollectorManager(new CollectorManager());

Bukkit.getPluginManager().registerEvents(new Listeners(), this);

new BukkitRunnable() {
@Override
public void run() {
ConfigCreator.get().saveConfig(Collector.getInstance(), data, "data");
}
}.runTaskTimer(this, 0L, 60L);
}

@Override
public void onDisable() {
// Plugin shutdown logic
}

public static Collector getInstance() {
return instance;
}

public FileConfiguration getData() {
return data;
}

public FileConfiguration getConfigOrDie(String configName) {
return YamlConfiguration.loadConfiguration(new File(getDataFolder(), configName + ".yml"));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package me.gatogamer.collector.collectors;

import lombok.Getter;
import me.gatogamer.collector.Collector;
import me.gatogamer.collector.messages.MessageAPI;
import me.gatogamer.collector.utils.Utils;
import org.bukkit.Chunk;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.configuration.file.FileConfiguration;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

@Getter
public class CollectorManager {
private Map<Chunk, CollectorObject> collectors = new HashMap<>();

public CollectorManager() {
FileConfiguration data = Collector.getInstance().getData();
Set<String> dataSet = null;
try {
dataSet = data.getConfigurationSection("Collectors").getKeys(true);
} catch (Exception e) {
MessageAPI.sendMessage(true, false, "&cThere are no collectors, nothing to load.");
}
if (dataSet != null) {
dataSet.forEach(collectorCfg -> {
Location collectorLoc = Utils.stringToLocation(data.getString("Collectors."+collectorCfg));
collectors.put(collectorLoc.getChunk(), new CollectorObject(collectorLoc.getChunk(), collectorLoc));
});
}
}

public void addCollector(CollectorObject collector) {
Collector.getInstance().getData().set("Collectors." + collector.getChunk().getX()+"<->"+collector.getChunk().getZ(), Utils.locationToString(collector.getChestLocation()));
collectors.put(collector.getChunk(), collector);
}

public void removeCollector(CollectorObject collector) {
Collector.getInstance().getData().set("Collectors." + collector.getChunk().getX()+"<->"+collector.getChunk().getZ(), null);
collectors.remove(collector.getChunk());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package me.gatogamer.collector.collectors;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.Chunk;
import org.bukkit.Location;

@Getter
@Setter
@AllArgsConstructor
public class CollectorObject {
private Chunk chunk;
private Location chestLocation;
}
55 changes: 55 additions & 0 deletions src/main/java/me/gatogamer/collector/config/ConfigCreator.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package me.gatogamer.collector.config;

import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.Plugin;

import java.io.File;
import java.io.IOException;

/**
* This code has been created by
* gatogamer#1111 A.K.A gatogamer.
* If you want to use my code, please
* don't remove this message, and give
* me the credits. Arigato! n.n
*/

public class ConfigCreator {

private static ConfigCreator instance;
private File pluginDir;
private File configFile;

public static ConfigCreator get() {
if (instance == null) {
instance = new ConfigCreator();
}
return instance;
}

public void setup(Plugin p, String configname) {
this.pluginDir = p.getDataFolder();
this.configFile = new File(this.pluginDir, configname + ".yml");
if (!this.configFile.exists()) {
p.saveResource(configname + ".yml", false);
}
}

public void saveFile(Plugin p, String filename) {
this.pluginDir = p.getDataFolder();
this.configFile = new File(this.pluginDir, filename);
if (!this.configFile.exists()) {
p.saveResource(filename, false);
}
}

public void saveConfig(Plugin p, FileConfiguration config, String fileName) {
File configFile = new File(p.getDataFolder(), fileName+".yml");
try {
config.save(configFile);
} catch (IOException ex) {
ex.printStackTrace();
}
}

}
Loading

0 comments on commit bd8f0e5

Please sign in to comment.