mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-25 22:56:45 +01:00
Fix json relocation issue. Make plot areas dump their default flags and add progress output for flag conversion.
This commit is contained in:
parent
546b857b9d
commit
7931390ae4
@ -6,6 +6,12 @@
|
|||||||
<artifactId>PlotSquared-Bukkit</artifactId>
|
<artifactId>PlotSquared-Bukkit</artifactId>
|
||||||
<version>latest</version>
|
<version>latest</version>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.json</groupId>
|
||||||
|
<artifactId>json</artifactId>
|
||||||
|
<version>20190722</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.intellectualsites.plotsquared</groupId>
|
<groupId>com.github.intellectualsites.plotsquared</groupId>
|
||||||
<artifactId>Core</artifactId>
|
<artifactId>Core</artifactId>
|
||||||
|
@ -4,7 +4,6 @@ repositories {
|
|||||||
def textVersion = "3.0.2"
|
def textVersion = "3.0.2"
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile group: 'org.json', name: 'json', version: '20190722'
|
|
||||||
implementation("org.yaml:snakeyaml:1.25")
|
implementation("org.yaml:snakeyaml:1.25")
|
||||||
implementation("com.google.code.gson:gson:2.8.6") {
|
implementation("com.google.code.gson:gson:2.8.6") {
|
||||||
because("Minecraft uses GSON 2.8.0")
|
because("Minecraft uses GSON 2.8.0")
|
||||||
|
@ -1675,13 +1675,26 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|||||||
//
|
//
|
||||||
try (final PreparedStatement preparedStatement =
|
try (final PreparedStatement preparedStatement =
|
||||||
this.connection.prepareStatement("INSERT INTO `" + SQLManager.this.prefix + "plot_flags`(`plot_id`, `flag`, `value`) VALUES(?, ?, ?)")) {
|
this.connection.prepareStatement("INSERT INTO `" + SQLManager.this.prefix + "plot_flags`(`plot_id`, `flag`, `value`) VALUES(?, ?, ?)")) {
|
||||||
|
|
||||||
|
long timeStarted = System.currentTimeMillis();
|
||||||
|
int flagsProcessed = 0;
|
||||||
|
int plotsProcessed = 0;
|
||||||
|
|
||||||
|
int totalFlags = 0;
|
||||||
|
for (final Map<String, String> flags : flagMap.values()) {
|
||||||
|
totalFlags += flags.size();
|
||||||
|
}
|
||||||
|
|
||||||
for (final Map.Entry<Integer, Map<String, String>> plotFlagEntry : flagMap.entrySet()) {
|
for (final Map.Entry<Integer, Map<String, String>> plotFlagEntry : flagMap.entrySet()) {
|
||||||
for (final Map.Entry<String, String> flagEntry : plotFlagEntry.getValue().entrySet()) {
|
for (final Map.Entry<String, String> flagEntry : plotFlagEntry.getValue().entrySet()) {
|
||||||
preparedStatement.setInt(1, plotFlagEntry.getKey());
|
preparedStatement.setInt(1, plotFlagEntry.getKey());
|
||||||
preparedStatement.setString(2, flagEntry.getKey());
|
preparedStatement.setString(2, flagEntry.getKey());
|
||||||
preparedStatement.setString(3, flagEntry.getValue());
|
preparedStatement.setString(3, flagEntry.getValue());
|
||||||
preparedStatement.addBatch();
|
preparedStatement.addBatch();
|
||||||
|
flagsProcessed += 1;
|
||||||
}
|
}
|
||||||
|
plotsProcessed += 1;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
preparedStatement.executeBatch();
|
preparedStatement.executeBatch();
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
@ -1689,6 +1702,12 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (System.currentTimeMillis() - timeStarted >= 1000L || plotsProcessed >= flagMap.size()) {
|
||||||
|
timeStarted = System.currentTimeMillis();
|
||||||
|
PlotSquared.log(Captions.PREFIX.getTranslated() + "... Flag conversion in progress. " + String.format("%.1f", ((float) flagsProcessed / totalFlags) * 100) + "% Done");
|
||||||
|
}
|
||||||
|
|
||||||
PlotSquared.debug(Captions.PREFIX.getTranslated() + "- Finished converting flags for plot with entry ID: " + plotFlagEntry.getKey());
|
PlotSquared.debug(Captions.PREFIX.getTranslated() + "- Finished converting flags for plot with entry ID: " + plotFlagEntry.getKey());
|
||||||
}
|
}
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
|
@ -48,7 +48,7 @@ public abstract class BlockTypeListFlag<F extends ListFlag<BlockTypeWrapper, F>>
|
|||||||
|
|
||||||
@Override public F parse(@NotNull String input) throws FlagParseException {
|
@Override public F parse(@NotNull String input) throws FlagParseException {
|
||||||
final List<BlockTypeWrapper> parsedBlocks = new ArrayList<>();
|
final List<BlockTypeWrapper> parsedBlocks = new ArrayList<>();
|
||||||
final String[] split = input.split(",(?![^\\(\\[]*[\\]\\)])");
|
final String[] split = input.replaceAll("\\s+", "").split(",(?![^\\(\\[]*[\\]\\)])");
|
||||||
if (split.length == 0) {
|
if (split.length == 0) {
|
||||||
return this.flagOf(parsedBlocks);
|
return this.flagOf(parsedBlocks);
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,7 @@ package com.github.intellectualsites.plotsquared.plot.object;
|
|||||||
|
|
||||||
import com.github.intellectualsites.plotsquared.configuration.ConfigurationSection;
|
import com.github.intellectualsites.plotsquared.configuration.ConfigurationSection;
|
||||||
import com.github.intellectualsites.plotsquared.plot.PlotSquared;
|
import com.github.intellectualsites.plotsquared.plot.PlotSquared;
|
||||||
|
import com.github.intellectualsites.plotsquared.plot.config.CaptionUtility;
|
||||||
import com.github.intellectualsites.plotsquared.plot.config.Captions;
|
import com.github.intellectualsites.plotsquared.plot.config.Captions;
|
||||||
import com.github.intellectualsites.plotsquared.plot.config.Configuration;
|
import com.github.intellectualsites.plotsquared.plot.config.Configuration;
|
||||||
import com.github.intellectualsites.plotsquared.plot.config.ConfigurationNode;
|
import com.github.intellectualsites.plotsquared.plot.config.ConfigurationNode;
|
||||||
@ -337,6 +338,22 @@ public abstract class PlotArea {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.getFlagContainer().addAll(parseFlags(flags));
|
this.getFlagContainer().addAll(parseFlags(flags));
|
||||||
|
|
||||||
|
StringBuilder flagBuilder = new StringBuilder();
|
||||||
|
Collection<PlotFlag<?, ?>> flagCollection = this.getFlagContainer().getFlagMap().values();
|
||||||
|
if (flagCollection.isEmpty()) {
|
||||||
|
flagBuilder.append(Captions.NONE.getTranslated());
|
||||||
|
} else {
|
||||||
|
String prefix = " ";
|
||||||
|
for (final PlotFlag<?, ?> flag : flagCollection) {
|
||||||
|
Object value = flag.toString();
|
||||||
|
flagBuilder.append(prefix).append(CaptionUtility.format(null, Captions.PLOT_FLAG_LIST.getTranslated(),
|
||||||
|
flag.getName(), CaptionUtility.formatRaw(null, value.toString(), "")));
|
||||||
|
prefix = ", ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PlotSquared.log(Captions.PREFIX + "&3 - default flags: &7" + flagBuilder.toString());
|
||||||
this.spawnEggs = config.getBoolean("event.spawn.egg");
|
this.spawnEggs = config.getBoolean("event.spawn.egg");
|
||||||
this.spawnCustom = config.getBoolean("event.spawn.custom");
|
this.spawnCustom = config.getBoolean("event.spawn.custom");
|
||||||
this.spawnBreeding = config.getBoolean("event.spawn.breeding");
|
this.spawnBreeding = config.getBoolean("event.spawn.breeding");
|
||||||
@ -1027,7 +1044,7 @@ public abstract class PlotArea {
|
|||||||
flags.add(flagInstance.parse(split[1]));
|
flags.add(flagInstance.parse(split[1]));
|
||||||
} catch (final FlagParseException e) {
|
} catch (final FlagParseException e) {
|
||||||
PlotSquared.log(Captions.PREFIX.getTranslated() +
|
PlotSquared.log(Captions.PREFIX.getTranslated() +
|
||||||
String.format("§2Failed to parse default flag with key §6'%s'§c and value: §6'%s'§c."
|
String.format("§cFailed to parse default flag with key §6'%s'§c and value: §6'%s'§c."
|
||||||
+ " Reason: %s. This flag will not be added as a default flag.",
|
+ " Reason: %s. This flag will not be added as a default flag.",
|
||||||
e.getFlag().getName(), e.getValue(), e.getErrorMessage()));
|
e.getFlag().getName(), e.getValue(), e.getErrorMessage()));
|
||||||
}
|
}
|
||||||
|
@ -78,6 +78,8 @@ subprojects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
compile group: 'org.json', name: 'json', version: '20190722'
|
||||||
|
|
||||||
implementation("com.sk89q.worldedit:worldedit-core:7.0.0") {
|
implementation("com.sk89q.worldedit:worldedit-core:7.0.0") {
|
||||||
exclude(module: "bukkit-classloader-check")
|
exclude(module: "bukkit-classloader-check")
|
||||||
exclude(module: "mockito-core")
|
exclude(module: "mockito-core")
|
||||||
@ -117,6 +119,7 @@ subprojects {
|
|||||||
|
|
||||||
shadowJar {
|
shadowJar {
|
||||||
dependencies {
|
dependencies {
|
||||||
|
include(dependency("org.json:json:20190722"))
|
||||||
include(dependency("net.kyori:text-api:3.0.2"))
|
include(dependency("net.kyori:text-api:3.0.2"))
|
||||||
}
|
}
|
||||||
relocate("io.papermc.lib", "com.github.intellectualsites.plotsquared.bukkit.paperlib")
|
relocate("io.papermc.lib", "com.github.intellectualsites.plotsquared.bukkit.paperlib")
|
||||||
|
Loading…
Reference in New Issue
Block a user