Integrated ChunkArchive & added a test for it #13
7 changed files with 118 additions and 9 deletions
11
.idea/misc.xml
Normal file
11
.idea/misc.xml
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
|
||||
</project>
|
26
.travis.yml
Normal file
26
.travis.yml
Normal file
|
@ -0,0 +1,26 @@
|
|||
cache:
|
||||
directories:
|
||||
- $HOME/.m2/repository/org/
|
||||
before_install: | # Wget BuildTools and run if cached folder not found
|
||||
if [ ! -d "$HOME/.m2/repository/org/spigotmc/spigot/1.12.2-R0.1-SNAPSHOT" ]; then
|
||||
wget -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
|
||||
# grep so that download counts don't appear in log files
|
||||
java -jar BuildTools.jar --rev 1.12.2 # | grep -vE "[^/ ]*/[^/ ]*\s*KB\s*$" | grep -v "^\s*$"
|
||||
fi
|
||||
language: java
|
||||
jdk:
|
||||
- oraclejdk8
|
||||
sudo: required
|
||||
deploy:
|
||||
# deploy develop to the staging environment
|
||||
- provider: script
|
||||
script: chmod +x deploy.sh && sh deploy.sh staging
|
||||
on:
|
||||
branch: dev
|
||||
skip_cleanup: true
|
||||
# deploy master to production
|
||||
- provider: script
|
||||
script: chmod +x deploy.sh && sh deploy.sh production
|
||||
on:
|
||||
branch: master
|
||||
skip_cleanup: true
|
2
README_ChunkArchive.md
Normal file
2
README_ChunkArchive.md
Normal file
|
@ -0,0 +1,2 @@
|
|||
# ChunkArchive
|
||||
Archives chunks as they're populated
|
11
deploy.sh
Normal file
11
deploy.sh
Normal file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
FILENAME=$(find target/ ! -name '*original*' -name '*.jar')
|
||||
echo Found file: $FILENAME
|
||||
|
||||
if [ $1 = 'production' ]; then
|
||||
echo Production mode
|
||||
echo $UPLOAD_KEY > upload_key
|
||||
chmod 400 upload_key
|
||||
yes | scp -B -i upload_key -o StrictHostKeyChecking=no $FILENAME travis@server.figytuna.com:/minecraft/main/TBMC/pluginupdates
|
||||
fi
|
||||
|
8
pom.xml
8
pom.xml
|
@ -34,8 +34,8 @@
|
|||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.0</version>
|
||||
<configuration>
|
||||
<source>1.7</source>
|
||||
<target>1.7</target>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
@ -63,8 +63,8 @@
|
|||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot-api</artifactId>
|
||||
<version>1.11-R0.1-SNAPSHOT</version>
|
||||
<artifactId>spigot</artifactId>
|
||||
<version>1.12.2-R0.1-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.TBMCPlugins.ButtonCore</groupId>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
package buttondevteam.presents;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.bukkit.plugin.PluginDescriptionFile;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import buttondevteam.presents.components.chunkarchive.ChunkArchiveComponent;
|
||||
import buttondevteam.presents.components.magic.MagicComponent;
|
||||
import buttondevteam.presents.components.research.ResearchComponent;
|
||||
import buttondevteam.presents.components.research.dictionary.DictionaryComponent;
|
||||
import buttondevteam.presents.components.spawn.SpawnComponent;
|
||||
import org.bukkit.plugin.PluginDescriptionFile;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class ButtonPresents extends JavaPlugin{
|
||||
|
||||
|
@ -23,6 +23,7 @@ public class ButtonPresents extends JavaPlugin{
|
|||
new SpawnComponent().register(this);
|
||||
new MagicComponent().register(this);
|
||||
new ResearchComponent().register(this);
|
||||
new ChunkArchiveComponent().register(this);
|
||||
|
||||
logger.info(pdfFile.getName() + " has fully registered (V." + pdfFile.getVersion()+ ").");
|
||||
}
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
package buttondevteam.presents.components.chunkarchive;
|
||||
|
||||
import buttondevteam.lib.TBMCCoreAPI;
|
||||
import buttondevteam.presents.architecture.Component;
|
||||
import net.minecraft.server.v1_12_R1.ChunkRegionLoader;
|
||||
import net.minecraft.server.v1_12_R1.ExceptionWorldConflict;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.craftbukkit.v1_12_R1.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_12_R1.CraftServer;
|
||||
import org.bukkit.craftbukkit.v1_12_R1.CraftWorld;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.world.ChunkPopulateEvent;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
// @formatter:off
|
||||
public class ChunkArchiveComponent extends Component implements Listener {
|
||||
private final File dataFolder = new File("plugins", "ChunkArchive");
|
||||
@Override
|
||||
public void register(JavaPlugin plugin) {
|
||||
try {
|
||||
this.registerListener(plugin, this);
|
||||
File testFolder = new File(dataFolder, "test");
|
||||
testFolder.mkdirs();
|
||||
Logger logger = plugin.getLogger();
|
||||
logger.info("Starting chunk save test...");
|
||||
ChunkRegionLoader testcrl = new ChunkRegionLoader(testFolder,
|
||||
((CraftServer) Bukkit.getServer()).getServer().dataConverterManager);
|
||||
CraftWorld mainWorld=(CraftWorld) Bukkit.getWorlds().get(0);
|
||||
testcrl.saveChunk(mainWorld.getHandle(),
|
||||
((CraftChunk) mainWorld.getLoadedChunks()[0]).getHandle(), false);
|
||||
logger.info("Test complete");
|
||||
}
|
||||
catch(Exception e) {
|
||||
TBMCCoreAPI.SendException("ChunkArchive loading/testing failed!", e);
|
||||
}
|
||||
}
|
||||
/*------------------------------------------------------------*/
|
||||
|
||||
private final ChunkRegionLoader chunkRegionLoader =
|
||||
|
||||
new ChunkRegionLoader(dataFolder,
|
||||
((CraftServer) Bukkit.getServer()).getServer().dataConverterManager);
|
||||
|
||||
/*------------------------------------------------------------*/
|
||||
|
||||
@EventHandler
|
||||
public void onChunkPopulate(ChunkPopulateEvent event) throws IOException, ExceptionWorldConflict
|
||||
{
|
||||
if (event.getWorld().getName().equals("world"))
|
||||
chunkRegionLoader.saveChunk(((CraftWorld) event.getWorld()).getHandle(),
|
||||
((CraftChunk) event.getChunk()).getHandle(), false);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue