mirror of
https://github.com/songoda/EpicFarming.git
synced 2024-11-27 13:05:11 +01:00
1.14 support
This commit is contained in:
parent
24e544d471
commit
74f170b777
185
.gitignore
vendored
185
.gitignore
vendored
@ -1,166 +1,31 @@
|
||||
# Compiled class file
|
||||
*.class
|
||||
|
||||
out/
|
||||
# Log file
|
||||
*.log
|
||||
|
||||
\.idea/
|
||||
# BlueJ files
|
||||
*.ctxt
|
||||
|
||||
EpicFarming\.iml
|
||||
/src/main/resources/META-INF/MANIFEST.MF
|
||||
/target/
|
||||
# Mobile Tools for Java (J2ME)
|
||||
.mtj.tmp/
|
||||
|
||||
EpicFarming-API/src/main/EpicFarming-API\.iml
|
||||
|
||||
EpicFarming-Plugin/src/main/EpicFarming-Plugin\.iml
|
||||
|
||||
EpicFarming-Parent\.iml
|
||||
# Package Files #
|
||||
*.jar
|
||||
*.war
|
||||
*.nar
|
||||
*.settings
|
||||
*.ear
|
||||
*.zip
|
||||
*.tar.gz
|
||||
*.rar
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
/.gradle/
|
||||
/.settings/
|
||||
.idea/
|
||||
build/
|
||||
target/
|
||||
*.iml
|
||||
|
||||
EpicFarming-API/target/classes/com/songoda/epicfarming/api/EpicFarming\.class
|
||||
|
||||
EpicFarming-API/target/classes/com/songoda/epicfarming/api/EpicFarmingAPI\.class
|
||||
|
||||
EpicFarming-API/target/classes/com/songoda/epicfarming/api/farming/Farm\.class
|
||||
|
||||
EpicFarming-API/target/classes/com/songoda/epicfarming/api/farming/FarmManager\.class
|
||||
|
||||
EpicFarming-API/target/classes/com/songoda/epicfarming/api/farming/Level\.class
|
||||
|
||||
EpicFarming-API/target/classes/com/songoda/epicfarming/api/farming/LevelManager\.class
|
||||
|
||||
EpicFarming-API/target/classes/com/songoda/epicfarming/api/farming/UpgradeType\.class
|
||||
|
||||
EpicFarming-Plugin/pom\.xml
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/boost/BoostData\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/boost/BoostManager\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/command/AbstractCommand\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/command/AbstractCommand\$ReturnType\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/command/CommandManager\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/command/commands/CommandBoost\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/command/commands/CommandEpicFarming\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/command/commands/CommandGiveFarmItem\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/command/commands/CommandReload\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/command/commands/CommandSettings\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/EpicFarmingPlugin\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/farming/Crop\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/farming/EFarm\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/farming/EFarmManager\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/farming/ELevel\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/farming/ELevelManager\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/hook/HookManager\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/hook/hooks/HookASkyBlock\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/hook/hooks/HookFactions\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/hook/hooks/HookGriefPrevention\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/hook/hooks/HookKingdoms\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/hook/hooks/HookPlotSquared\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/hook/hooks/HookRedProtect\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/hook/hooks/HookSkyBlockEarth\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/hook/hooks/HookTowny\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/hook/hooks/HookUSkyBlock\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/hook/hooks/HookWorldGuard\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/hook/HookType\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/hook/ProtectionPluginHook\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/listeners/BlockListeners\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/listeners/InteractListeners\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/listeners/InventoryListeners\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/Locale\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/player/PlayerActionManager\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/player/PlayerData\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/References\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/storage/Storage\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/storage/StorageItem\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/storage/StorageRow\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/storage/types/StorageMysql\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/storage/types/StorageYaml\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/tasks/EntityTask\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/tasks/EntityTask\$1\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/tasks/FarmTask\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/tasks/GrowthTask\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/tasks/GrowthTask\$1\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/tasks/HopperTask\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/ConfigWrapper\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/CropType\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Debugger\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/EntityInfo\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Methods\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Metrics\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Metrics\$1\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Metrics\$2\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Metrics\$AdvancedBarChart\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Metrics\$AdvancedPie\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Metrics\$CustomChart\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Metrics\$DrilldownPie\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Metrics\$MultiLineChart\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Metrics\$SimpleBarChart\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Metrics\$SimplePie\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Metrics\$SingleLineChart\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/MySQLDatabase\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/Serializers\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/SettingsManager\.class
|
||||
|
||||
EpicFarming-Plugin/target/classes/com/songoda/epicfarming/utils/SettingsManager\$settings\.class
|
||||
/bin/
|
||||
|
@ -4,7 +4,7 @@ stages:
|
||||
variables:
|
||||
name: "EpicFarming"
|
||||
path: "/builds/$CI_PROJECT_PATH"
|
||||
version: "2.1.6"
|
||||
version: "2.2"
|
||||
|
||||
build:
|
||||
stage: build
|
||||
|
@ -1,22 +1,19 @@
|
||||
package com.songoda.epicfarming.storage.types;
|
||||
|
||||
import com.songoda.epicfarming.EpicFarmingPlugin;
|
||||
import com.songoda.epicfarming.storage.Storage;
|
||||
import com.songoda.epicfarming.storage.StorageItem;
|
||||
import com.songoda.epicfarming.storage.StorageRow;
|
||||
import com.songoda.epicfarming.EpicFarmingPlugin;
|
||||
import com.songoda.epicfarming.utils.Debugger;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.MemorySection;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
|
||||
public class StorageYaml extends Storage {
|
||||
|
||||
private static final Map<String, Object> toSave = new HashMap<>();
|
||||
private static final Map<String, Object> lastSave = new HashMap<>();
|
||||
private static Map<String, Object> lastSave = null;
|
||||
|
||||
public StorageYaml(EpicFarmingPlugin instance) {
|
||||
super(instance);
|
||||
@ -66,12 +63,13 @@ public class StorageYaml extends Storage {
|
||||
@Override
|
||||
public void doSave() {
|
||||
this.updateData(instance);
|
||||
|
||||
if (lastSave == null)
|
||||
lastSave = new HashMap<>(toSave);
|
||||
|
||||
if (toSave.isEmpty()) return;
|
||||
Map<String, Object> nextSave = new HashMap<>(toSave);
|
||||
|
||||
if (lastSave.isEmpty())
|
||||
lastSave.putAll(toSave);
|
||||
|
||||
this.makeBackup();
|
||||
this.save();
|
||||
|
||||
@ -87,9 +85,9 @@ public class StorageYaml extends Storage {
|
||||
if (toSave.containsKey(entry.getKey())) {
|
||||
Object newValue = toSave.get(entry.getKey());
|
||||
if (!entry.getValue().equals(newValue)) {
|
||||
dataFile.getConfig().set(entry.getKey(), entry.getValue());
|
||||
dataFile.getConfig().set(entry.getKey(), newValue);
|
||||
}
|
||||
toSave.remove(newValue);
|
||||
toSave.remove(entry.getKey());
|
||||
} else {
|
||||
dataFile.getConfig().set(entry.getKey(), null);
|
||||
}
|
||||
@ -101,7 +99,7 @@ public class StorageYaml extends Storage {
|
||||
|
||||
dataFile.saveConfig();
|
||||
} catch (NullPointerException e) {
|
||||
Debugger.runReport(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@ -110,9 +108,9 @@ public class StorageYaml extends Storage {
|
||||
File data = new File(instance.getDataFolder(), "data.yml");
|
||||
File dataClone = new File(instance.getDataFolder(), "data-backup-" + System.currentTimeMillis() + ".yml");
|
||||
try {
|
||||
FileUtils.copyFile(data, dataClone);
|
||||
copyFile(data, dataClone);
|
||||
} catch (IOException e) {
|
||||
Debugger.runReport(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
Deque<File> backups = new ArrayDeque<>();
|
||||
for (File file : Objects.requireNonNull(instance.getDataFolder().listFiles())) {
|
||||
@ -129,4 +127,21 @@ public class StorageYaml extends Storage {
|
||||
public void closeConnection() {
|
||||
dataFile.saveConfig();
|
||||
}
|
||||
|
||||
private static void copyFile(File source, File dest) throws IOException {
|
||||
InputStream is = null;
|
||||
OutputStream os = null;
|
||||
try {
|
||||
is = new FileInputStream(source);
|
||||
os = new FileOutputStream(dest);
|
||||
byte[] buffer = new byte[1024];
|
||||
int length;
|
||||
while ((length = is.read(buffer)) > 0) {
|
||||
os.write(buffer, 0, length);
|
||||
}
|
||||
} finally {
|
||||
is.close();
|
||||
os.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -48,14 +48,14 @@ public class SettingsManager implements Listener {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.getInventory().getTitle().equals(pluginName + " Settings Manager")) {
|
||||
if (event.getView().getTitle().equals(pluginName + " Settings Manager")) {
|
||||
event.setCancelled(true);
|
||||
if (clickedItem.getType().name().contains("STAINED_GLASS")) return;
|
||||
|
||||
String type = ChatColor.stripColor(clickedItem.getItemMeta().getDisplayName());
|
||||
this.cat.put((Player) event.getWhoClicked(), type);
|
||||
this.openEditor((Player) event.getWhoClicked());
|
||||
} else if (event.getInventory().getTitle().equals(pluginName + " Settings Editor")) {
|
||||
} else if (event.getView().getTitle().equals(pluginName + " Settings Editor")) {
|
||||
event.setCancelled(true);
|
||||
if (clickedItem.getType().name().contains("STAINED_GLASS")) return;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user